uawdijnntqw1x1x1
IP : 216.73.216.110
Hostname : 6.87.74.97.host.secureserver.net
Kernel : Linux 6.87.74.97.host.secureserver.net 4.18.0-553.83.1.el8_10.x86_64 #1 SMP Mon Nov 10 04:22:44 EST 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
emeraadmin
/
www
/
node_modules
/
liftup
/
..
/
map-cache
/
..
/
..
/
4d695
/
nano.tar
/
/
usr/bin/nano000075500000757700151677751040007043 0ustar00ELF>i@�@8@@@@hh���(�(� p�p�#p�#�x `�`�#`�# ��� ���DDS�td��� P�td�)�)�)llQ�tdR�tdp�p�#p�#� � /lib64/ld-linux-x86-64.so.2GNU�GNUGNU��>�և-L��ב�m�S�������(�BE���|fUa'�|�+��qX �� 9��gS�2������6�N]����V��� ~Me��D����� (�Y����U��$���M6k<EK �����a���0��des��vv�{��kw|�;+ �)�<�,����27l<s(��XF��������_�Ck�{[TTUM�4����,t�Zdh����'��mQ��sh�P: [��@�rm���"A^2�.�oh�#�Q�#��#}p�#���#���#�Q�#���#!��#�`�#�x�#��#libmagic.so.1_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablemagic_openmagic_closemagic_filemagic_errormagic_loadlibncursesw.so.6curscrCOLSstdscrLINEStigetstrdelwininitscrhas_colorswattr_onwscrlwgetchscrollokwenclosemousemaskbeepwaddchungetchwrefreshgetmouseisendwinnonlmouseintervalset_escdelaywmovestart_colornoechomvwprintwuse_default_colorsnewwinwnoutrefreshdoupdatewaddnstrwmouse_trafowattr_offinit_pairlibtinfo.so.6napmsnodelayrawkeypadkey_definedcurs_setlibc.so.6iswalphastrcasestr__xpg_basenamegetcfflushstrcpyfchmod__printf_chkexitexeclreaddirsetlocaleiswblanktowlowerfopenstrncmpdcngettextoptindgetpwentstrrchrwaitregexecpipeperrordcgettextgetpwuidclosedirstrncpyputsmbstowcsforksigprocmaskregfreesigfillsettime__stack_chk_fail__lxstatunlinkputcharmkdirreallocrewinddirstdinstrpbrkgetpidkillstrdupiswalnummkstemp__ctype_get_mb_cur_maxstrtokendpwentstrtolexeclpfutimensstrlensigemptysetmemsetdirnameglobstrstr__errno_locationtcsetattrchdirmbtowcttynamedup2__fprintf_chksigaddsetfchownstdoutfputcfpathconfregerrorstrnlenmemcpyfclose__vsnprintf_chkmallocstrcatumaskstrcasecmpremove__strncpy_chknl_langinfoopendir__ctype_b_locgetenvregcompoptargstderrwcwidthioctl__snprintf_chkgetopt_longexecvpstrncasecmpstrncatfilenogethostnamegetcwd__getdelimfwritefreadsigactiongeteuidwaitpidstrchr__vfprintf_chkmblenfdopenqsorttcgetattrsleep__ctype_toupper_loc__ctype_tolower_loc__cxa_finalizefcntl__sprintf_chk__xstatiswpunctmemmovebindtextdomainaccessstrcmpstrerror__libc_start_mainferrorstpcpyglobfreewctomb_edata__bss_start_endGLIBC_2.27GLIBC_2.6GLIBC_2.14GLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5GLIBC_2.3����ii �����ii �ti �ui �ii p�#�ix�#�i��#��#��#���#���#� Т#H�#Y�#| �#��#� �#&0�#�@�#�P�#/`�#�p�#5��#���#� ��#���#$��#{ У#� �#��#���#H�#� �#-0�#R@�#�P�#�`�#8p�#� ��#Y ��#���#M��#����#NФ#��#i �#\�#O�#� �#�0�#B@�#" P�#�`�#9 p�##��#��#���#`��#���#� Х#W�#:�#E�#Q�#_ �#k0�#v@�#�#�X�#pi �#�(�#f0�#�@�#�EH�#�bP�#��X�#��`�# p�#�\x�#p���#p_��#0��#����#P_��#�X��#0���#�i��#p���#`Ȯ#��Ю#i�#`[�#��#���#��#PS�#`��#� �#��0�#@�8�#�b@�#@�H�#�TP�#`_X�#��`�#Ih�#��p�#��x�#`���#����#���#P���#(��#g��#�d��# ���#�Hȯ#��Я#cد#@��#@�8�#��@�#��H�#��P�#��X�#�`�#����#���#&��#��#��#� �#�@�#�`�#$��#, ��#-��#{ �#� �#� �#� @�#� `�#" ��#O ��#| ��#� �#� �#5 �#� @�#B`�#H��#H��#R��#��#��#� �#�@�#�`�#���#M��#��#O�#Y�#� �#�@�#9 `�#� ��#W��#� ��#Y �#i �#` �#�@�##��#8!��#�ȶ#c"ж#t"ض#�"�#�"�#�"�#�"��#�"�#�"�#�"�#�"�## �# #(�##0�#"#8�#7#@�#E#H�#O#P�#]#X�#h#`�#�p�#t#x�#�#��#�#��#�#��#�#��#�#��#�#��#�#ȷ# $з#$ط#$$�#3$��#��#��#��#��#C$ �#�)(�#�0�#�8�#�@�#�H�#L$8�#h�#%خ#O��#X(�#l��#��#�`�#�h�#�p�#�x�#���#���#���#���#���#���#��#��#��#��#��#Ȩ#Ш#ب# �# �#�#��# �#�#�#�# �#(�#0�#8�#@�#H�#P�#X�#`�#h�#p�#x�#��#��# ��#!��#"��##��#$��#%��#&��#'ȩ#(Щ#)ة#*�#+�#,�#-��#.�#/�#0�#1�#2 �#3(�#40�#58�#6@�#7H�#8P�#9X�#:`�#;h�#<p�#=x�#>��#?��#@��#A��#B��#C��#D��#E��#F��#GȪ#HЪ#Iت#J�#K�#L�#M��#N�#P�#Q�#R�#S �#T(�#U0�#V8�#W@�#YH�#ZP�#[X�#\`�#]h�#^p�#_x�#`��#a��#b��#c��#d��#e��#f��#g��#h��#iȫ#jЫ#kث#l�#m�#n�#o��#p�#q�#r�#s�#t �#u(�#v0�#w8�#x@�#yH�#zP�#{X�#|`�#}h�#~p�#x�#���#���#���#���#���#���#���#���#���#�Ȭ#�Ь#�ج#��#��#��#���#��#��#��#��#� �#�(�#�0�#�8�#�@�#�H�#�P�#�X�#�`�#�h�#�p�#�x�#���#���#���#���#���#���#���#���#���#�ȭ#�Э#�ح#��#��#��#���#��#��#���H��H�ij#H��t��H����5�c#�%�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����������%�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���%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#DH�%H�%`f.�f���AW��AVAUATU��SH��H�5�U#H��dH�%(H��$x1�L�|$pH�T$:L���H�1��V���H�54b#���Lc#1����1�1�1���d������t��1���1��L���H�5[�����H��t!����H�5ȱH����������H�5��H�=���r���H�=���������H����H�;�_��8ru � p_#�E1�E1�L�5�E1�L��H�ƪH�މ������������$��V�(Ic�L�>�� '_#뾃 _#뵃 _# E1�멁 _#�띃 �^# 딁 �^#�H�54\#H�==^#�H�1^#�i���H�=\#H�5�S#�9�A�Ą��!A���C���� �^# �4���H�5�[#H�=�]#�DH��]#����� u^#� ���� b^#���� W^#���� D^#����� 8^#@�����1������ !^#����� ^#����� ^#���� �]#���� �]#����H�5+[#H�=$]#�H�]#�`���H�5[#H�=5]#�pH�)]#�A���� �]# �2����&1��i���� ]#����H�=�Z#H�5LR#����tH�=;R#��H��Z#�H�52���� 3]#@����� $]#����H�5hZ#H�=�\#��H��\#���� �\#���� �\#���� �\#�s���� �\#@�g���� �\#@�X���� �\#�I�����^#�=���� �\#@�.���� �\#�"���� {\# ����� l\#����� ]\#����H�5�Y#H�=�[#�H��[#����� /\#����� \#���� \#���H��H�5@�1���H��H��1�����������H�=aY#�H�m���1�����0�����[#��t%���%�[#���]#��[#�<��=�]#�vE��t�%s[#߃=l[#�����[[#�Y[#������@ �t<�����uH���������H!,[#�'[#@t���[#t�@�� [#�tH�=kZ#t���BH�=NZ#t��kH�=wZ#�pH�=aZ#�|H�=KZ#�:H�5>Z#�H�=R^#���^#����1�1�H�54^#����H��I���2��=�^#L��H�5^#H��H��Y#��NZ#�uH�=�Y#��H�=�Y#��H�=�Y#�~1�H�5�����%Z#��H�=�N#�H�Z#uH��N#���H�����5D�}�L�t$H�*L�l$@L�d$X�L1��5����W#��N#�$�/�H�=��~-�H�=ݫ��]#�g-�H�=̫�a]#�P-�H�=����\#�9-�H�=����]#�"-�H�=���(]#�-�H�=���-]#��,�H�=u��&\#��,�H�=d���\#��,�H�=R��d]#�,�H�=@���\#�,�H�=/���\#�,�!H�=��\#�j,�"H�= ���[#�S,�#H�=���]#�<,�$H�=��z\#�%,�1H�=ت�\#�,�2H�=Ǫ�D\#�+�3H�=����[#��+�4H�=���\#��+�2��[#��H�D$PH�D$� U#9���H�D$@Hc�H�D$HH�ÍAA9�~ �:+�H�H��H�=�s��T#����������'��t�H�|$@H�t$HH��H ����@W#�w���H��V#H��8�d���HcdT#H�t$L��H�|��z����C���H�t$XH�|$P1�1�蟂�+���H�=sV#��H�cV#�{�����K# �Y���� ����1�1��\�����H���Ji���9�������H��S#�H�5��1��s�H�=�S#�H��H��1��Z�H�5�S#� �i����H�zL��L��wS#����OHccS#H��H�Ӄ����H��U#H��� H���H��U#�)QH�RT#H��t%�H�5��1����H�ڿH��1���H�qU#H��:uH�x(�qH��U#�@D�=�T#uw�9H�=kU#�v�����eJ#��6��0�)�=%J#t�2U��U#�1J#�t��H��u�1��kU�=\T#t�f��kR�H��I#L�=cT#H�XT#�o�T#L�5QT#H�FT#H�D$H�JT#)D$`H�D$H�IT#H�.T#H�D$H�T#H�'T#H�D$ H�kI#H��S#H�D$(�mM��tH�=�S#�%�L�=�S#E��tH�D$H�EI#M��tH�=�S#��L�5�S#L�|$M��tH�=�S#���L�=�S#L�|$M��tH�=�S#���L�=�S#L�t$ M��tH�=JS#��L�5>S#H�D$(H���tH��H#H��S#1�H�L$`�4�H�� 2H��H��u��'���H�=ݥ��H���U���H��1��G�H��R#�?���H�5��1��-�H��R#���H�5u�1���H��R#�v���H�5_�1��H��R#�j���H;��������S#�u���1��H�5����H���h$�U����H�=]��e�%�R#������1��H�5�����H��1�������d������tEH�5ߤ1��K�H�,R#H�H�W#�N���H�5��1�� �H� R#�&���H�5��1���H��Q#H�H��V#� ���f���1�I��^H��H���PTL��[H� o[H�=x��E#�H�=O#H� O#H9�tH��D#H��t �����H�=�N#H�5�N#H)�H��H��H��?H�H�tH�F#H��t��fD�����= O#u+UH�=F#H��tH�=�8#���d�����N#]������w������H��N#���H��N#H��H��N#�f���AWAVAUATUSH��H�=�P#dH�%(H��$�1���H�=�P#1�1����Hc �P#1�H�-GN#�D$H��H� DN#H���D$H��H)�H;-4N#������H�D$1�E1�H�$��H�J�H9���H)�1�L��H�p�JH;-�M#I���:� �M#H�= P#��D���H�=�O#��D�������tH�=�O#�����H�5g��u��SH�=�O#D��������tH�=�O#�����L���J�L���r�L-kM#H�$�I�u@M#�������j�D$(%�=��V=@���L���H�=ծ������ H�5KY1�A��4�1�H�����I��L����I9��I��H�=�N#D��)������tH�=�N#�����L���z�H9-�L#��L�����Hc;L#Hc�H+iL#H9�vA��1�H��H9-cL#��D9%�N#��H�QL#L�,�H�<��`�H��I���e��=�K#H�L#� ���1�1�L���eH;-�K#I���� �K#H�=(N#��D���� ���E����H�$I�u������t�D$(%�=@��1�H�5ejA���I��L����I9������L��L���r�A�DL�����@�L�t$@�a�A� I��H�D$@H=�~H=����I�� A�KI���|M��H� yWL��1�H������A���������H�58W1�A��'�1�H�����I�����D�5�K#H�=�L#1��|�������H�5W1�A����L��H����I�����@H�=�L#��L#�u`��H��$�dH3%(��H�ĸ[]A\A]A^A_�f�H=���?I��A�M��f�I��A�G������T$�t$�S����H�="L#뀋5�J#H�=L#1���� �I#��D��H�=�K#��\$��D�d$�����p��5�J#H�=�K#1����� ~I#��D��H�=�K#�e�\$D�d$������AWAVAUI��ATUH��S1�H����H�.I#H�D$�$�H�x�_�H9I#sH�I#H��H�����H��u�H��H#H�� H���IH��H#Hc�H#H9�sH��H#H��L�%�g���H�5�H#H�=�H#�]�H�<�H��H#1���H��H#H���x�H����H;�H#sL�x�L��L�������t�L�����H�]H#L�4�H�T$H�|�J�M��M��I�H�5H#H� �WH�����H�<�1�H����H�����H���x���H� �8H�=�G#�H��H��G#����G#H� �G#1҃�H��H�H��H��G#H��[]A\A]A^A_�@H��G#����ff.����=N#u#��� ��XwH��THc�H�>����k�H���H�����H��}��H� ���H����H����H��k��H�����H�)k����AUATUSH��H�-�F#H��tvI��L�-�F#1���H��H9�t/I�|�L���*���u�H�_F#H9�tH��[]A\A]��H�AF#H��H9�sH�1F#H��[]A\A]�fDH��H�-F#H��[]A\A]�f.���H�=mH#ATUS�?��� �E#�VUUU1������)�1�Hc��8H��I���M��H�x���H�=%H#H����� oE#H��M��H��L� l������H�W���H�����)�H� �QHc�H9�LC�1���L���q��1��H�5�Q���H��1�1�U1�L� �����PH��TL��F#P1��8H�� H����"�����t%��x-��[]A\�f�H�5��1���H���DH�IG#�8u,�H�5VQ1����H�����[]A\�f.�1ۉ�[]A\����AUL�-#QATI��U��SH���o�F#H�gD#�%�F#��)$�Z�H�aD#H�KH��H9���H��H��H�FD#H�<�]�L��H��H�����H��uzH9D#��@��u�H��tH��H���DH��C#�L��1�H�X��&��H���H���@�L��1�1����H���g1��c���H9�C#t7fo$H�{C# �E#H��[]A\A]�f�L���xf��fD1��H�5�O���H����H��H�=�D#H��E#�?u)H���1�H��H��D#�?u0�H���d���@H��H����H�=�D#H�OE#�?t�H��H�=XD#�C�H�=�D#�H������ff.���H�������uH���V���fDH���ff.���H��D#�8u(H��1��H�5O���H��H��� D@��H�����ff.����SH��1��1��/H��H���a��H��t�H��[�@��AWAVAUI��ATUSH���dH�%(H��$�1�1�L����EL��H���=�I��H����H�����H��H����L��H���2���H������H����H�����H�����H�=�C#L��L�d$$H������f�L��H��C#��H�D$0H�-�BH�D$�8�H;�6#��H;$8#��H;o7#��H;�6#��H;56#��H;�6#��H;6#��H;66#��H;7#�H;�5#�FH;g7#�aH;:6#�H;m6#�=H;�6#��H;6#��H� ��H9���H� ��H9��$H;�5#��H;�6#�H;�5#�JH;�5#�B�|$$��������|$$�t~��B#��H9�?#u �*B#%�t��B#H��?#%�1�H�=�A#��@����@�D$$=�tiL������H9��X����A�D$$����H�d?#H�}?#1�H�4��r�H�����f.�������A�����+��D$$����붐L�t$(L�|$,�L��L���&�������H�=GA#1�L��L������������H��>#Hc|$(1�H�5�>#HcL$,L�@H��Lc�@#L� �>#I��H��1�L��H�L��I��L�H��H)�H��I��H9�vH��H� �>#H�v>#H�Q�H9�s H�f>#H��H9��q���1��W�.��`���f��;������C�������9���f�H�>#H��� ���H��H�>#����1��������@H�>#H��=#H��H9����H��H��=#����DH� �=#1�H��H�5�=#H)�H� �=#���fDH��=#H�5�=#1�H�L�H��H��H� �=#H)�H�Q�H9�HC�H�a=#�l���@H�Q=#H�Z=#H9��Q���H)�H�7=#�B���f�H� A=#H�2=#H=#H�Q�H9�������@����8����H�5�I1�H���F��H��H��1��DH�-�<#H���H�5-?#L�����H��<#H��I��H��<#H�4���H��H������H��<#����L��<#Hc �>#1�H�5e<#I��H��H��H��1�H��H��I��H��H�H� ?<#�J���H�=C<#Hc5p>#1�L�#<#H��L��H��1�H�HL��L�!<#H��H��H)�H�H� �;#L9������L��1�H��1�H��H��H��H��H�I9������H)�H��;#����H��;#H� �;#H9�r%Hc�=#H��H9��P���1�H��H��;#���H�u;#���H�i;#H�5r;#H� s;#H�<2H�A�H9�����Hc�=#H��H�H9������H)�1�H)�H��H�H� ;#�)���H�*;#���H�&;#H��:#�H�=HH��H��������|1�H���CO����H��:#H��:#�L��H�T$I�0L�D$���L�D$�����D$HI�8%�=@�G���H�=J�H�����1ۄ��rH�Q:#H�j:#L��H�4��^�I���v����H�5)G1����H��1ɺPL� p�E1�1��1��-ZY����H�=�;#�<L��H���n��8/I��t]H�=?<#�Z��H�=�;#H�D$�I��H�T$L��H�t��L� x;#L� <#H� JII��H�Ǿ1�H��������1�L����M��tSH�,;#�H�5gF1�I�����L��H��1��H�5�;#L���M�I���<���I�D��8/u�L�����H��w�H�-9#L�%9#1�H���1���I�<�L�������uH��8#H��H9�u�����H�ƿ�ozH�x(���������'��L���B;#���H�����H��$�dH3%(H���OH���[]A\A]A^A_�1��H�5}E����H��1���Q���H��9#1��H�54EI���}��L���H��1��{����1��H�5�D�S��H������H��7#H��7#H�<����H���o���1�1��N��y7L������H�5�7#H�=�7#�^�H��7#H��7#���L�D$� ���8�2��L�D$1��H�5�DH�D$M�0���H�L$�H��L��1���M���H��1��L�H���_������ff.�@��USH��dH�%(H��$�1�H���9H��H��H���������t�D$%�=@teH����H��H���=�H��H��H��������t�D$%�=@t*���H��H������H���c��H��H��tS1�H���J��u-H���U�H��H��$�dH3%(H��u_H�Ĩ[]�f�H�5�7#H���1�H���@H��� ���1�H�5�D�M���H��1��N������O�������H��H���dH�%(H�D$1�H�|$������x.�|$�������D�H�L$dH3%(uH���D1�1�1��������1������m5#�@���]5#�@��AUI��ATI��USH��H�tH�����L��L��H�<H���� ��L�����H��H��[]A\A]�@����������f���1�1�1�������SH��H��dH�%(H�D$1��=�4#u3�&���H��Pf�� ��H�L$dH3%(uDH��[��H�|$�H�������x�|$�Y�������f�1�1�1����1�����ff.����SH��H��dH�%(H�D$1��=%4#u3����H��Pf����H�L$dH3%(uDH��[��H�|$�H�������x�|$���������f�1�1�1�����1���l��ff.����SH��H��dH�%(H�D$1��=�3#u+�����H��P��H�L$dH3%(uHH��[�H�|$�H���n����x�|$��������f.�1�1�1��E��1������ff.���������D��@��`������ ��ff.�����=�2#�t����������t ����`������ ��f����uۀ����AUATI��UH���SH��H�����A�Ņ���H��tA�M�1��H����TH�PH9�u�M��t�; t"H���R�����t^I�$H��D��[]A\A]�I�$H�5)#1�H�0H��D��H)�I�$H��[]A\A]��1�1�A�� ���l���@�=�1#�uI$H��D��[]A\A]����H�I$��AUATUSH��H��vH�7�x��|fH�^��1�H9�vEH��I��D�-c1#�f�H�H9�v$H�øE��t�I�<1�1����H�H�H9�w�H��H��[]A\A]�fD�x��H�^�}��x��H�^�}��x��H�^�}��w���ff.�f���SH��H��dH�%(H�D$1��=�0#u3�&���H��Pf����H�L$dH3%(uDH��[��H�|$�H�������x�|$��������f�1�1�1����1�����ff.����ATUSH��dH�%(H�D$1��?uH�L$dH3%(��H��[]A\�f�H����A�������u�H�=�1#H��t�?u@��u D���@H�����A�����=�/#u/�H�l$�D$�H�H���D����H�����m���@H�l$H��1�H�����H�=/1#���(�����@��t@���t �W�G@@��H���?�f.��=�f.������ tD�=/#t#��y_�W��tn���ty�J�B@��H��D��tS���t^�Є�y@�B��@�@@��u(�=�%#uM�=�.#� t�B@��?��u��D��@�@�?�f.��=�f.��ff.�@��US�H��dH�%(H�D$1��=B.#u H�L$dH3%(����H��[]�H�D$H���H��H���0���Å�xj�|$�� ��=�v1����v)����= v����=��w'��=��D������HE�i�������`����1�1�1����������C����6��fD���=m-#u��D�s�����UH��SH���=D-#H�|$t}��+��t$H��H�������E��x=H�D$�� �����v:=��v3������ v%��������vO�1�1�����EH��H��[]�fD��H�t$1��1�H��H��H��[]�@��=��~��@���=},#H��u8H��t��H��t�H��� t6��`t��uH��H�������H��H���H�=9##1�H�4H���H)�H�1�@���=�+#t�^���fDH�F�H���HD������=�+#S�H��u H�[�DH�1�1��$���H�H�[�ff.�f���AWAVAUATI��UH��SH��H��dH�%(H�D$1��=f+#�H����M�>�DH���SI��L�l$�z��H��L���P�������<$����|$A�����A)���H��1�1�I���k���H��1�1�H�H��Z���H�H��E�����;��M�����H��L���������o���1�1�1������H��L����������E�A�8�tD��A)�@H�L$dH3%(D����H��[]A\A]A^A_�f.�1�1�1��U���E�8�u�A���@�+��A���fDM��tD���A)���E1��1�1�1�����E�8������Y������ff.�@��H��������� ���ff.�f���AUI��H��ATI��USH��H������H��H������H��H)�H�H9�HG�I9�v�7�H��I9�w'H��L��H�������u�H��H��[]A\A]��H��1�[]A\A]�ff.���AUI��H��ATI��USH��H���Q��H��H���F��H��H)�H�H9�HG�I9�v�7�H��I9�w'H��L��H�������u�H��H��[]A\A]��H��1�[]A\A]�ff.����=m(#ATI��USH��t91�?t)H��u �"I9�t1�1�H��H�����H�HÀ;u�H��[]A\Ð[]A\�������H���������=�'#ATUH��SH��u []A\�p��H�����H���a����;I��u�7�1�1�H���4���H�HÀ;tL��H��H��������u�H��[]A\�[1�]A\�f���AUATI��UH��SH��H���=j'#uH��[]A\A]�Q����H�����L������H��H�����I�����H��L)�H�L9�HB�H9�s"�H�H9�t;H��H��H)��m���H�\L��L��H���Z�����u�H��H��[]A\A]��H��1�[]A\A]���AWAVAUATUH��SH��H��8dH�%(H�D$(1���&#�D$��u1H�D$(dH3%(�+�6H��8[]A\A]A^A_�_����H�|$�E1��v������������T$E1�H�l$"L�t$��L�������&#��uW�D$"A�L��H��L�������xSE8�uƋD$9D$u��;t_H��H�L$(dH3%(urH��8[]A\A]A^A_�D1�H��H����Lc��fD1�1�1�����D�d$�D$�fD1��@1�1�1�����ED�l$�D$��������D��UH��SH��H���=1%#u(�5DH��H���U���H��u0H��1�1���H�HÀ;u�H��1�[]ÐH��[]���DH��H��[]�fD���:ATI��UH��SH��u H9�t=H��H9�v�2f.�H��H9�w�3L��茾��H��t�H��[]A\��1���@���=m$#ATI��UH��Sty�:tDH����H9�tSH)�H��H����H�\H��L���e���H��t�H��[]A\��H9�tH)�H���p�H�T�f�1�H��[]A\�fD[]A\�������USH�����t/H���'��H��f�H���]��t�Xt�H���[]�f�H��1�[]����ATUSH��H���-r##dH�%(H�D$1�@�����L�d$��u0�L��D$����u@�-1##�@��uOH����t]@��t�1�H��L����L���[���t��H�L$dH3%(u7H��[]A\��H��1�1��D�H�H����u�1���@������d���@���� ��=����������u������ w��D��������w����������ff.�f����=="#u��DH��H��1�1�診��H�����H���f.�f�H��##SH��H���Hcx@H����H��##H�C H����R@��~��H�TP������H��f�H�H9�u�[�ff.����AWA�����AVAUL�-U"#ATL�%h"#US�H���л���+���A���L�E�Uf���th��A���uf���tv���º������}t I�<�A�D��$���H��t_H��I�,�H��u�H�C�H��t>H�����#A�D���D��A���u���f�Mf���u�1�1�f�E���!#L�P"#M��tnI�p8�H��H��tQ�H9�t � H��;u�X�9tLH�@8H9�u���B���z��t �BH�R8H��u�M�@HM��u�H��[]A\A]A^A_�fD�@뽺��藹��H�= !#�� # ��������ff.����ATUS�C�����u[]A\�f.�苷��H��!#����L�����M��t@DA�4$A�T$f���u��E�f���u �۸E�A�|$���M�d$8M��u�[]�� #A\Ð��ATUSH��PdH�%(H�D$H1�H��t_H��I��H���@�{���H�[H��tBH�;� ��H��H���Z���H��E1�1�1�L���x���H��u��<�����D1�H�L$HdH3%(u H��P[]A\�耸����AUATUSH��H�@ #dH�%(H��$�1�H���|H�- #H�����H�=6-H�������tRf�H�;H���������H�[HH��u�=� #�SH�0 #Hǀ�Hǀ�f.�H��$�dH3%(��H�Ĩ[]A\A]�H��#L��H�0艷��I��H����H�^#H��u�@H�[HH����H�{L���?�����t�H��#H��H�0�T�����uL���H����H�i#H���H�[8H���H��u%�=���DH�{(tH�{0tBH�[8H������H�{ u@��H�{�kH�C �H�{ ��H���N����@�@��H�{(�kH�C0�ξH�{0��H��� ����fD�=9#��������H��H��職���H���I��H����H��#I��L��H� W+H������L�1����L���V H��H���K���H��tLH��#H��u�DH�[HH��tH�{H�������t�L������H���������H�����H��#1�H�0���H���1��H�5�*����H��H��1����=0#������v���DL��蠲��H��蘲���= #�T���H�#H��u�;DH�[HH��t H�h#H�{H�@H�0�����t������=�#����H�;#H��E1�H��H�0�����tqH�#H��H�0�ڷ�������=s#�����H��#H�������H��)�@H�[HH�������H�3�H�������u��@�������I��H��t1�H��脲�������������8� ���1��H�5[)H��誳��H�ڿH��1����2���L�������D���L���~���1��H�51)I��H�&#H��^���L��H��H��1��Y����迳��ff.�@��AUATUSH��(H��#dH�%(H�D$1�H���H�����@@����H���H����H��L�d$L�l$H�{0��H�} �%H�uH�{ E1�L�����H�u��u}HcD$H�{0L��E1��H����HcK@H�U �Jf��tf��tf�� ����u�D$9D$|q���#H�D$dH3%(��H��([]A\A]�f.�H�{0L��E1��L���HcK@H�U �Jf��tBf��t<f�� t�f��u���u�@H�[8H������눐f���v���f���l���@���`���H�[8H�������U���fDH���P�����������fD��H� t�@�+���ff.���AVAUATUSH�� dH�%(H�D$1�H��#L���M����$#� L�l$L�d$f�I�~0��H��#H�XH����H�C H����IcV@�H�PH�Cf�)H��tH�@ f�<P@��H�;1��E1�Hc���L��A��H�I�~ ��д����u_E1�I�~0l$L��A��Hc��H3誴����uvH�C IcV@A� H�;�L$fD�P�D$�9L$u�;D$u�Hc��<7�eH�[H���/���M�v8M������H�D$dH3%(�FH�� []A\A]A^�f�H�kH��u�f�H�mH����I�~0H�uE1�L�������u�IcN@H�C �H�[Hc�f�4PH9�u!�@�H�[Hc�A�fD�PH9�t!H�C H��u�H���(�H�C IcN@��fDH�E H��toA��l$H�;fD�H����H�kH�C IcV@�@H��f�<P����A�@H�[fD�����DH����H�C �����H����H�E IcN@�|�����H�;��� ����4���@���}#�@���m#�@��H�E#SH�X H;Xt:L�CE1�H��1�H�57#H�=8#��H�#H�@@[�f.�H�;�h���I��I�����SI��H��0H�L$ H�T$dH�%(H�D$(1�H�t$H�|$�+�L�L$ L�D$H�5�#H�L$H�T$H�=�#��H��#蘾H�C@H�D$(dH3%(uH��0[��)���f���USH��H�-O#H�] H�;賭��H�M8H9�r:H;]t-L�CH��E1�H�53#H�=4#��H�#��H�C@H��[]�H��I��H��I��[H�5�#H�=�#]���ff.���USH��H��#H�kH�}�"���H�K8H�S I��H��I��H�5�#[H�=�#]�{�ff.���AWA��AVAUATU��SH��D�%�#dH�%(H�D$1�H�K#�=\#�D$L�h(��@����H�=#H����H�%#H�;�}���I��D�� @�<#E����H��#H�x`��H�|$���H��#H�@`@����H�=�#H��t"H���L3H����L)3�|$��A��@u �%�#������#H�D$dH3%(��H��[]A\A]A^A_�@H�=a#�T��U#H�J#@��ueE1�1�E���,����J���@���R���H� #L9h(t��/�|���f.��*#t�������D�������fD�#E1�1�����H��#贻H�C@� ��������I���D��E1��w���ff.���H��� �nd1�1������ H���m���H�5#AVAUATUSH�x`H�P trH�H1��L�bL�h0H�h8�#H�Y�{���L�5�#H��#H���q�H��#L��I�FL�k0�Z�H�C H��#H�h8[]A\A]A^�f�H;�#t��#1������H��#[]A\H�@ A]A^H��#�f���H����nc1�������H���l@��H�=L#��U�S1�H��H�#H�@ H�h�c�J#uTH�=#����^lH��H���#��t�#H��#�ܹH�C@���D#H��[]�DH��#H�X 谹H��H��� H����f.�D��ATUSH��H�/L�&�dH�%(H��$�1�H��H��H���������t�D$%�=@t`H��L�������t�T$������@tL��H���I�H��$�dH3%(uBH�Ġ[]A\�f.�H��L��萫�����tD$%�=@t��������_���ff.�@��ATH��1�USH��dH�%(H��$�1��d�H��H��詨��H��H��H������������D$%�=@t]�H�5p1��Z���H�ڿ1�H��1��V�H�������H��$�dH3%(��H�Ġ[]A\�f��H�����H�5#���t���#ua��f������H�5��8���c��������H�5�1�I��試��H��L��H��1�1����G���D�H���k������u��H�5�1��c���H�ڿ1�H��1��_������Ŧ��D��S1�H��#��H�5�[1�H�CH��#H�X�гH�H��#H�PH�@0H�@8H�PH�PH�P H�@([�ff.����S���H��H�|#H���H���H����=�#H���H���H���H��#H���H��#H�P�����#H�5�Z1�H�#� �H�����H�� #H�H�@@H�@H�@PH�@`H�@tH�@|Hǀ�H���H�@XHǀ�Hǀ�Hǀ�[���� #�O���@H���H���H�S #�7���fD��UH��S�H��蹢����x H����[]�@蓢���8��t�跫���H�5�1�H���A���H��H��H��1�������7�H����[]�ff.���AWAVAUATI���USH���H�4$�T$dH�%(H��$�1�蓯H���;������$������}���H����L��$��I��L���\�����y�á���8��$��Ƅ$�H�T$L�����������_#��L��%���1�����A��������H�5s����I��H���pH�{H�ى�1�H���H�L� rH)���Hǃ�L�+������H��b0H�����H�{f��D��)Ѕ�C���Iʼn���������) 퍅��IňS����������) 퍅���H�S1����@�k����I�uH�{�萠��L��H�{D�����H�4$H��tH�{l��h����|$��H��L�������L��H=��!脡�����t7H�� #H��L���艟����[f�L���(������K����=fD�ӟ���8����H�5�1�H��膡��H��L��H��1���H���)���1�H��$�dH3%(��H���[]A\A]A^A_�fDƃ�U����@1��H�5������H��1����@�[���1��H�5�H�����H��H��1�����]���fD蓟��1��H�5���讠����L��H��1���L���2��������������AWH��AVAUI��1�ATUSH���dH�%(H��$�1���L��1�H�D$�L��H�D$I���\���H�=U�"H���M���H�=>�"H���>���H�\H�H��辫L��L�=�"I���L���H�|$H�-�"I�����H��H��L��AWI��1��ATL�H�����U�\���H�� L���H�T$ �&��������1�L��1��a����Ņ��� E1�A� �$�H�ÐL��J�4;��L)�����I�H��t I���vމ����I��/��H�s� H�=u#�h����k�CH�sD�C�H�=;#����D�D�C��D��0���H��蘜���莪A��H� H��H��H�����1�����1�H�5 ���"葞���-�#H��I���p�H�=�#��I���^�H�=�#D)�H�D$�J�+l$H��I���;���D)�)���H�5�#1���H��L���R���H��H�D$�E���H�T$H�|�ƩSL� >#I��I��H�I#L��H�����P�L��1�����H��菛��H��臛��1�XL��Z�;�L�����q�������1�L��L�����H�|$���P���H�|$�F�������H��$�dH3%(���/H���[]A\A]A^A_�L��Hc��5�H9���L���$�H��1�L��H)�H�p�0�H��I���E���H�x�̨L���...H�xH��臛��L��诚�������H�|$�����薚��H�|$茚��@L��耚���=���H��1�1�L����H���w���1��H�5�莜��L��H��1���H���4����蝚���8�ƣ��1��H�5pH���P���H��L��H��1��K��Q���豜�����UH��SH��H��H�H��t8H��蛟����uH��[]�H�;踙��H�H��[]�f.���薧H��H��ff.���H���=�#t?H�h#H���H��t�@@��~H�BH�x t*��#��#H����1���������f���H�#SH���H9���@��tH��#�%#tO�Z����=K#uWH��#��"��H��;th�H�5q1����H��1�[H��1����DH�@0�����=�#t�[��H���H�b#��#�v������H�5�1��}���H���}���D�=�#�/���1��H�5��P���[H�������1����D�������f���H��#H;����H���#uC����H��#H����>��=#tEH��#�H;��t@H���胪H� l#H�PH�A H�9H�p�h��fD1�����H��#H� ��"H�JH���f�1��ff.�f���UH��SH��H���;��+H��H��1�[]�����AUI��ATUSH��H��dH�%(H��$�1��!���L��H������H�H�}蚤M��I�ؾI��H��H� 1�H�����1�I��L�����7f.�H��H����tYI��H� H��1�H������賠��L��L�������u�H��$�dH3%(L��uH�Ĩ[]A\A]�A�$��讘��ff.���H�5M�"SH��H��t �g�����t9�H�5�1���1�H���f�H�=�"H�މ�"葥H��"��"[�f���AVAUATUSH��H�$H��H�$H��dH�%(H��$ 1�I��I������L�5h�"H��DL�� �H��蓖��H��H��usL�������Å���L��1ҾH������L��迖��L��������D�A�փ�������D�H��$ dH3%(��uXH�� []A\A]A^�fDL��H�¾H��赝��H9��T���������DL�5��"�4���@������o�����������?~��AUATUSH���G�����</u���H���DH�ZH�,</t��u�H����H��H��1��x�I���L�`�H�8L���m��������@���H��H��u��#���L������H��H������H�|薡I��M��H��H��1�H�����H� ��L���h���H��H��[]A\A]�f.�H��1��F�fDH�o�w�H�5�"1��)�I���n����苙��H�s L����I���T������AVAUATUSH��dH�%(H��$�1�H���qI����Ġ�H��I��蔖��H��H��u:1�L�-a]L����5����L���h���H��H��u��~�H���"�H�=^H���������L�����H��H��H��� ������t�D$%�=@���/H���S���I��H����H��I��H��A��E��t.H���]���L��H���R���H��H�t蕠L��H��H��跚��L��近��H��$�dH3%(H����H�Ġ[]A\A]A^�DH�����H��H�p�<�H��H������/f�t����f�H���ȓ���|�/t H��H�p��H��H��誓���/f��/H���d���I��H���2A�E1�A�D$H��術��H�߃��ti������H��I��躔��H��H����H�ƹH�=����A�����|H���D���H��蜐������苐��H��1�聐�����@I�t$1�E1��i�I���R����1����f�1�H�5�G�B�L��H���7�������f�H��蘒��H��H�p�ܞH��H��聒���/f��W���L�����H��蓒��H���������I��H������薒��fD��H��"�xPt�fDS1��@P����"tKH���"H�8�?t<H���t2����H��H�v�"H��H�����H��[�^���fD[�fDATUH��SH��dH�%(H��$�1��*���H��teH��H�ƿH��������tM���AH��1�����E1�Ń��u?H�����D��H��$�dH3%(uRH�Ġ[]A\�DH��1�趞H��뤐H�5�H��貕��H��tH��A��o����D��聒����:���f.������"�t��D������AWAVAUI����ATUS��H��HH�-�"�t$(H�@ H�T$ �L$H�@H�D$8��I�Ą��#H�D$0�7�"�}1�1�E1�1��ߧH�D$�H�D$I��fDL���З�������H�������� Ȁ� ��������"��M����I�w�I�4�8 ����ML��H�����T$,A�L��>���L��I��C��T$,L��I�FI��A�$�<�������l����L���(�������L������D$(���D$A�Ń�A ��=A�M���I�w�I�4�8 ��L��L��H�����I�L��賌��H�|$艮L�%��"譟�=�"I�D$@��E���:�����������A�H��H�HH�5P1�詔��1�H��H��1���|$�H�t$0H�|$8�`���t�V�"��{Q�H�" ��H��H[]A\A]A^A_��C�<I��L9|$� ���H�l$�H�D$L��H����I������H����t(��"u!M��t!I�w�I�4�8 ��L��� @1�M��u)1�L��E1��\�L��I��a�I�FI�����DI�w�I�4�8 u��~�"u��D�k�"�V�������UL��L�H����L��I���H�5�B1�I�FI����I��(������F�����H�5B1��I����f.��|$(觎����"������H�|$ �@�����A�����DH�|$ �V��a����H�i�"H�X �p�H��H����H�D$0�^���1��H�5�u���H�T$ �H��1��q��|$����S�" ����H��"�@tH��H[]A\A]A^A_�@H���"A�H��H��H�5�@t�n���fD��������.���A�H��H��H�5��9���H���"A�H��H�H�5C�@t����ff.�@��AWA��AVA��AUI��ATI��USH��8dH�%(H��$(1�H������H��H���.H��H�ƿ�Ȏ�������H��H�诎���Ń����D$��%����= ����@��1�H��1�����Ń��taH�5���蛏��I�EH���V�=��"��H���i���H��$(dH3%(����H��8[]A\A]A^A_�fD裈���8�̑��1��H�5B�I���V���L��L��H��1��Q���H��$�L��賍��������H��L���ϗH�������E��t[E��tH�߽����詇���;���@1��H�5��͉��H���5���1��H�5�證��H�������1��H�5i草��L��H��1�苻H���3�������fD蓇���8輐��1��H�52�I���F���L��L��H��1��A�������t���D��@�t2H�51�����H��L��1�������H��覆���8���H�5�1��ӈ��H�����I���f���U1��H��SH��dH�%(H�D$1�H��������x6��H�G�"H�x�N��9�H�<$H��1ɉ�����H�"�"H�PH�P H�D$dH3%(uH��[]�辈��ff.���AWI��AVI�ֺAUI��1�ATUH��SH��8D�%�"L�D$H�L$dH�%(H�D$(1�H�D$H�D$ �C�����xPL�D$H�t$ L��L��H�|$�Á ��"@M��M���S�H�|$�i�H�|$1�H������A��@tH�D$(dH3%(uH��8[]A\A]A^A_Á%V�"�������χ��ff.�@��S��H��H��t �H��������uH���E����|�/uH��[�f�H��1�趄��H��[Ð��ATUH��H�=�S�Y���H����H�����H��H���|H�����H��H�p�(�H��H���͆��1�H�nano.XXXH�H��@XXX�?����?A���2���H��躊�����tUH�5�����'���D��H�E����H��[]A\�H�=e���H��H���l���H�5R�1��ړH���V���f�H��1��ƃ��D��辈��H��[]A\�fD��H��H�=I�"��H�==�"H���H�.�"H��t!H���������tH�=�"H��鄒@�H�5�1�荅��H��1��3�H�=��"H���S�AUA��ATUSH����H��tYL�%��"H��H��L���T���H9�@��E��uH����H����[]A\A]�H��L���%���I9ĸD����H��D��[��]A\A]���H�=L�"t@���i���f�1��ff.�f���SH�=$�"�o�H�=�"H���ГH� �"H��tH��H��蹄���|�/t1��H�5��o���H��1���H�=��"[�8����AUA��ATUSH��H��dH�%(H��$�1�H�=��"��"t1��������H���n��;H����E��tc���D�%�"E���g���t ���"�H�|�"H��H�;�q�H�H�g�"H�PH�@8H�@@H�P ���H��A��<���H��$�dH3%(D����H�ĸ[]A\A]�@H�T$H�ƿ�Ά����uj�D$(%�=�tZ�'�"t=tJ�H�5��=@tH�5r�1�E1����H��H��1���H��蜀���[����E�������;�4������"�'������"H�L$A��H��� ����Å��������E�����������H��������������Z�"�|����������H�������a�����H���������fDH���"�H�55�1������E1�H��H��1����p���@D��H�|$��H������@�H���"H�xX�/���H�pXH��������DE��������������D��AWH�5�61�AVAUATU1�SH��8dH�%(H�D$(1�L�d$���R�"H��H��"�@t�D$�;�"% �@��������H�5i�1�����I��H�=�"H�5��輎L��"��H���"H�J�"H���PL� 1�H�پAU�1�����D$$ZY��������u ���" ��H�S�"L��H�P L�p8L�j�O)H�5��"H��I���-�L;=��"H���eL;=��"��L;=��"��L;=��"��T$���Z�$�"�� ����������@���H�=z�"�m�H�=n�"H�����5��"H��H�V�"�� �����1����" ����"t���S���H���f}��H�D$(dH3%(�RH��8[]A\A]A^A_���tlH�5�1��n��I��H�=t�"H�5���E1�H�^�"H���"H��tj�@�_����H�5��1��"��I������f.�H�5��1����I���D���"��� �� ���"���@H�]���H�M����@�����"�o���f.�H�=�"�$���H��H�D$�H�=��"�:|��H�L$L;=��"�D$H� ��"��H��H�L$�|~��H�L$�9|��H��H�p貊H��I��H���"�P~��I�}L��H�P�@���H���"�|H���"H�5o�"H��诋H�Ë��"�����[������"���@����������" ��H�=+�"�?�H�c�"H�P L9juL9p8t�~�H�G�"�L$���"�Ht����@�j�"�*���DH�=��"H�T$ H�t$躂�������H�t$ H�|$1�1����w���f.�H� ��"���@1��H�58��|��H���e��B���H�=_2����H�=P�"�?uCH���"���" ����H�PH�@8H�@@H�P ����������EH�5��"H�=��"�q�fDH�PH�qH��萁��H�A�"H���R���H��H�-�"�B����|��ff.����&�"��u?%� =�t�~���fDH��1��H�5����{��H��H���U�D點ff.���AWAVAUATUSH����L$D�D$dH�%(H��$�1�H�X�"�?H�t$(H�X��OA��I��H��A��A�����i���H�L$0�H��H��H�L$I���{��H��H�L$u �����H��L���~�����H���"��H�PXH���gH�����|$��H�D$E1��D$H���E1��8@�@t�����aH�t$(� �"}������H�[I��H��tfL�;L���z��L��H��趂H�;H�L$(H���a���H�;H��I���c�L9���H��"H9X�y���H�H�[�8I��H��u��|$�{ �\$���Y�|$�NH���"H�@XH��t"�p���~��H���"��H�@X�P �p����H�|$(�xy�����mD��E��u{A�L��H���1�H�5������L��1�H��1�諫��G@�w���8����H�5��1�H���ny��H��L��H�ƿ1��i�H�|$(��x��1�L��D$�w��H�|$�v���D$H��$�dH3%(��H���[]A\A]A^A_�f�1��)�L���a�H�=Q�"I��t1�H���j���#H�T$0L���P|�����H�v�"@��H�PX��H�������"�����E����������{����t$H�JX��uH�x`��H�BHH� ��"H�l�"H����H�=��"L������I��H�������tf.���/u�!H�����u�H�=v�"�1x��L��H�D$�$x��H�T$H�|襃L�N�"M��H� ,�H������H��I��1����L���su��H�5��L������8I���sL���Pu��L����u�����~�z�"%�������A��L��1��5}��A�Dž���H�5�����|��H�D$H�����x����u"H���"D��H�@X�P �p�}�������H���"D��H�@X�p��{�����u ���"�sH�t$H�|$(1�� �����xD��H�5��"�#}��H�|$���u ���"���7v��L���Ot���H���~���1��8y��A��D���-y���m�H�t$(� �x����������H��"�xt������q���f�E1�H�|$(�H�|$(�'�H�D$H����H���0�+t���8�T}���H�5��1�H����u��H�ڿH��1��ܧH�|$�t��1��n���E�������@�������H�pXL���j�����"����H�F�"H�PXH�������@H�5~�L���q{��H�D$(H�������~s���8�|���H�5�1�I���1u��L��L��H��1��,�@1���w��A��E��������?�w���|$�����|$�.H�D$�Zf.����@L��1��z���Ń�������H�5�����sy��H����H�t$(�H�������������A��L�ﺶ�1������?z��D��A�ljD$�w��A����M�|$H�5�����|$�x��H�D$(H����H���;���E1�����@H�5�L��� z��H�D$H�D$(H�������r���8�:{���H�5��H���~H�|$(�\s�����Q�D$�������|$����D��E���D���H�J�"L��H�+H����u������H���H���8L��H��L�0��H��N�������H��"H�5�(H���H��tH�0L���u����t6H�[H��tH�{ ��p��H�C H�[H��u�����9�"H���"L��H�sX���H���"1�H����@Pǀ�H��������H��"�H�5W�1��r���H��H��1�蓤1�H�D$�&���H�D$1������p���8�y���H�5W�H��1��Ar��H��L��H��1��<�1������H�5��1��r���H�5��1�H���q��H��L��1�H��1��L���o��L���o��1�H�D$�}���H9�$��4����I���L��1����A�w��D��A�ljD$�Tt��A����>H�D$H�5k��A����p�"�e���H�|$�p��L���6���������yo���8�x���H�5�1�H���,q��H��L��1�H��1��*�L����n��1�H�D$����-o��H���"%�:�q����A���u���L��H�T$���H�T$���7����:�q����H�|$���@1��zv���Ã����H�5�����Qu��H����H�t$(1�H������������H�|$�n���p����}p��H�x�|M��H� !�I��H��H�����1��ax������Gn���8�pw���H�5��1�H���o��H�ڿH��1��1�������q���n���8�.w���H�5��1�H���o��H��H�T$�C���L���v1�H���Y}I������m���8��v���H�5��1�H���oo��H��L��H��1��j��|$�q��1����H�|$��n���km���8�v���H�5�H��1��o��H��L��H��1���1�H�D$����$m���8�Mv���H�5��1�H����n��H��L��H��1��ҠH�D$H���J���H����l��1��X�����l���8�u���H�5q�1�H���n��H��L��H��1��~����'p��H�|$(�m��H�|$�l��1����wl���8�u���H�5@�H������L��H��L�5�#��{H������ݴ��H���"H���H�����������m��L���������T����l���8�0u���H�5��1�H���m��H��L��1�H��1�踟1�H�D$�K��n����AUE1�A��ATI��UH��S����H��8H�L$ H�T$dH�%(H�D$(1�H�t$H�|$�xH�L$ H�T$H�t$H�|$�o�H���"�$�"@uH���"H�@H��8uD��E1�D��L��H���)��H�=��"�+���H�T$(dH3%(u2H��8[]A\A]�fD�3~��E1�D��L��H�������y~��"m��f���AWAVAUATUSH����t$@�t$�|$@�|$dH�%(H��$�1�H��"H�0�>�R�"�D$H�x`t@��H��!HD�1�H�-/�"E1���yH�L$,H��H���"H�L$�@t�D$,���SL�-n!���L�%^!�E��H���"H�x`t}�|$uv�E�um�A���~A���H�56�1��k��I��H�=��"H�5��@y�|$H���"uf�H�)�"H�0�>���E�h��E���RA����H�5��1��*k��I��H�=0�"H�5����x�|$H��"t��E��t�|$u�����tH���"1�H��8@��H� �ATE1�H��AU� �L� �AVP1�����D$LH�� ����H�|$�[H;��"I����H�5��"H���,xL;%��"H���<L;%=�"��L;%�"�RL;%��"��L;%��"�(L;%��"�kL;%$�"�G�=��"L�%x�"t�|$��E���L�����I��H���"H�8���M��L��H�T$0HD55�"�I���@m��A��H�f�"H�0�>�JA����D$L���Ig��L���Ag���|$���E����|$u"�|$��H��"H�x`���D$A������H�5!�1��#i��Lc%��"H��I���zI�T$1�1�H�=y�"H)�� �L��I���i��L��I���i��I�|�tM��L��H�����I��H��1��p��L��1��0�L��D$,�df��L���\f���D$,����H�I�"L�%��"H�x`t�|$t�|$t �h�"���A�D��1�1�L���{�D��H���e��H��$�dH3%(D���NH���[]A\A]A^A_��H�5`�1��g��I������DH�5��1���g��I�����f.��D$�D$H���"�@t�D$,��������H�5��1��g��I������H�=�"�DuH���"�D$,����@H�5�1��bg��I���3���f.�M��L��IE�M��HD=��"�i�����D$���f.�H�=��"褖��I��H���A���H�=y�"�d��L�-m�"����H���"�xt���@t�D$,�H�5�1��f��I������DH�i�"1��zt���Bt����1�H�5����}f��1�H��������+������fDH��"�u�@t�:���f.��E�@���H�5�L���d�����)���A�������"����A��H���"A��E���@tE�����f��H�5��1���e��H����H�~�"�@t���fDA��H�e�"A��E���@t���DH�5 �1��e��I�����f.�D��1�1�L������D��������@tL�-��D$,�F���DH�5��1��"e��I�����f.��H�5:�1�E1��d��H���b����DH��A��b�����H���"�G���H���"A����/���H�PXH���"���H��$�H9JX| H�L$0H9 tk�H�5��1��d��H���Ƞ1��H�5���ed��1�H���������N�"t�|$u,�������H��A���a�����H�L$8H9Ju����H��E1���a����A��E������H���"1�1�1�A�H�8��D������Rd��f���H��1��������tH���f�H������H��1�1������t H���DH���Ǖ���U1�SH��dH�%(H��$�1����H��H��H����f�����t�D$%�=@@��H����`����H��$�dH3%(u H�Ĩ[]��sc����AWAVE1�AUI��ATI��UH�j�SH��H���H�;I�t$H��� a����t,��e��H��H��u���f��H��L��[]A\A]A^A_��H�=��"tH�{ ������u�I�EL��H�4���nH�;I���ub��I�UH�xM�<���mH� [��H�����I�I�EL�I�<�1��Lj��I�E�V���f���AWI��AVAUATUH��SH��(@�t$H��1��oI��/�(H��H���b��H���51�I��H�p�goA�D$H��H������8/I��H�D$��H���=_��H�|$�#a��I��H���H���a��H�D$I��L����d��H����H�XL��H��H���_����uـ}.t4�H��H�=�������t��H��H�=x)�����t�H�|$�a��H��I��� a��I�|�lL�D$I��H� �H��I�ƾ1�H�������h��H�=�"t^�L���!����tML���E^��L���d��H���5���@L���Xb��H�|$�^��H���^��H�D$H��([]A\A]A^A_�f��|$��L����]��I�H�|$H�4��lH��1�H��H�D$I�L�4��mI�I����H�=��"�`��H��I��� `��L��I�t�LlL���"I��H� �H�D$H�Ǿ1�H�������g������L��� ������S������H�5��"1�H���/mH�D$�����a��H���]��H�|$�]��H�D$�����AWAVAUATUS��H��xH�*H�|$L�d$PH�T$ H�L$0L�D$(L�L$dH�%(H�L$h1�A�H�D$PH��tH�D$�8~��H�|$��H��L������I��H�|$PtH�|$��^��H�L$ H�D$8H9���a��H�l$H�t$PL����fH�D$�8t/H�L$hdH3%(H����H��x[]A\A]A^A_�f�H�D$(������/H��I����^��H��t I�/H9��C���L�d$PH�|$H��L������I��H���8���H�D$ H�(����H�\$H�T$8H�l$bH�5��H�H�����I�>H��H)�H��H���HE�E1�H�D$@H�D$\H�D$@H�t$L�1��ї��H�|$PLc�vP�Mc��&@H�|$L��H����[��H�T$P��u$H��H9�s I�<�1�H��L�腗��A9�t�H�T$PH9�rI�>B�</tM���H�l$@I�\-L�cL����hH�t$H��H��I��H�D$@�B[��I�6H��L��L�I�,�-[���EH�=��"�\��L��I����\��I�|�xhL���"M���H�D$HH��1�H� ��H�������d��H�t$PH���^H�D$ H�H����H9���H�D$0�8��H�l$H����H� ~����L���![��L�|$PM��t"E1�1�f�I�<��mI9�LB�H��H9\$Pw�o�"�P�Hc�L9�LF���1�E1�H�I�OL�|$E1�H��I��H����1��Gc��H�=��"1�1���b��H�l$L���JDI�<�H�T$1�1�H��袂H�={�"�����I��H���[��L���3Y��1�H��H��H��A��H�=L�"H9l$P�Q1�H��D��H��I��D��A���Gb��M��u���"��D9��x���H�D$PH)�H9��g����H�55�1�H�l$�Z��H�=��"�����H���sZ��H�=��"��^��H�D$���E]��H�D$ H�H9���L�|$8H�|$J�t;H)��gL�l$ L��H��I�EH�|H)�H�tH���_��H�t$@H��H���X��H�D$0I�]�H�t$P������H�D$0�H�|$H�W��H�|$@��W�����H�D$0H�l$���H�|$@�����t�E/L��H�t$P���H�l$����H�|$H�|�����u�H�t$P�a����YZ��f����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.���H� �"H��tRL��"1��DH�I0H��t8�yt�H�1M��t�L���DH�R0H��tׅzt�H;ru�H�I0H��H��u��1��ff.���AWI���8AVA��AUI��ATE��UH��SD��H����cH�=B�"tHH��"H�B0H�@0D�pL�hD�`!H�h�X H���"L�8H��[]A\A]A^A_�f�H��"����H��"H��t�xtH9pt H�@0H��u��ff.���H���"�� I�"H��t-��JtH;zt H�R0H��u���B�z�"�B�f.���H���c|H��tH�@H���D1�H���f���S�H��<^tq<Mt=<F��H�5f���T���K��tH�5U�H���T���J������[�H�5)��T��� ��t�{-ue�^���S[H������f�H�5���dT��� �t�H���V��H��u0�S[��@���D1�H�� � Y����?w���|���������r���fD��H�71��>Mu�~����G��t�W�SH��H�����C[�ff.�@��AVA���8AUI��ATA��UH��SD���{aH�=�"tQH��"H�B0H���"H�@0D�pL�h�X ��t�5־"�N� ;"�H$[D��H��H��]A\A]A^�@���H���"����AWE1�A���^AVH� ��H���AUATUSH��(H�=�H����A�A�H� ��H������H�=0������H�t�E1�H���"A�H� ���H�����H��"E1�H�ϲ"A�H� u��H��H��"�N���E1�E1��H�=��H� }�H�\��)����d�"���!H�%��A�A�H� ��H�3��H��H�D$���H��9H�D$H�=&�A�E1�H� ��H�'�����E1�E1��H�=3�H� ��H� ����H�=��E1�A�H� ��H�����h���A�H�=��A�H� ��H�����=���A�E1�H� ��H����H�=��������A�H�=��A�H� ��H�������H�=s�E1�A�H� �H��������E1��H��H��"A�H� ����H�=��E1�A�H� nH�����v���H�=��E1�A�H� FH�����N���E1�E1��H�=̧��H� ]�H���)���H�r�"E1�H�=ب��A�H� s������H�J�"H�3�"�.�"���!H��BH�D$H�=�E1�A�H� ��H�������A�H�=e�A�H� ��H�������E1�E1��H�=H� ��H����b���H�=�E1�A�H� s�H�����:���H�=��E1�A�H� k�H�u������H�=˦��E1�A�H� s�H�W�����E1�A�H� ��H�@��H�=7�������E1�A�H� ��H�"��H�=/������E1�A�H� ��H���H�=����r���A�A�H� W�H����H�=�����G���A�A�H� ��H����H�=�������E1�E1��H�=�5H� ��H������A�A�H� ��H� ��H�=��������A�H�=��A�H� h�H�|�����H�=��E1�A�H� �H����y���H�=b�E1�A�H� ��H�7���Q���A�H�=T�A�H� ��H�����&���H�=?fE1�A�H� ��H������H�=wfE1�A�H� ��H��������H�=�eE1�A�H� 7�H�������H�='fE1�A�H� 7�H�������H�=?_E1�A�H� ��H�����^���H�=7_E1�A�H� ��H�����6���H�=?_E1�A�H� ��H�������A�H�=�`A�H� N�H�������H�=�aE1�A�H� @�H�M�����H�=�bE1�A�H� 6�H�?�����H�=�cE1�A�H� \�H�!���k���A�H�=dA�H� i�H����@���H�=�ZE1�A�H� ��H�������H�=1[E1�A�H� ��H�������H�=IZE1�A�H� 1�H�������A�H�=+ZA�H� F�H������H�-VE1�A�H� ��H����H���r�L�5WE1�A�H� ��H����L���G�H�=SE1�A�H� �H������A�L�=SA�H� ��H�k��L�����H�=��E1�A�H� ��H�J�����A�H�=̱��A�H� ��H�)����E1�E1��H�=��H� ��H����y�H�=�!E1�A�H� ��H�����Q�E1�E1��H�=oH� ��H����,�E1�E1��H�=ZH� ��H�����E1�E1��H�=%�H� ��H������E1�E1��H�=�H� ��H�m���H�=F���E1�A�H� �H�T����E1�E1��H�=s0H� �H� ��p�H�=JE1�A�H� ��H����H�H�=�KE1�A�H� �H����� �H�=��E1�A�H� �H������A�H�=�~A�H� ��H�������E1�E1��H�=H� �H�����H�=Q E1�A�H� �H�r����E1�E1��H�=� H� �H�V��[�H�=TLE1�A�H� ,�H�A���3�H�=�E1�A�H� )�H�?����A�H�=n�A�H� "�H�7�����A�H�=C�A�H� ��H�����H�=N�E1�A�H� ��H�����H�=�?E1�A�H� ��H�����e�A�H�=X?A�H� ��H�����:�A�A�H� ��H����H�=����E1�E1�� H� ��H���H�=�����E1�E1�� H� ��H���H�=�������"��8E1�A�H��H� ��H�����E1��L��A�H� ��H����p�L�-y_��E1�A�H� ��H����L���E�A�L�%X_��A�H� {�H����L����H�=�WE1�A�H� ��H�������H�=�WE1�A�H� ��H�������H�=@TE1�A�H� �H������A�H�=�TA�H� h�H����t�E1�A�H� ��H�i�� H�=���L�E1��@H��A�H� O�H�b��(�E1��@L��A�H� S�H�b���E1�1ҿ��H� H�5S��G�H� �E1��WH�5\�����'�E1�1ҿ��H� �H�5�� �H� �E1��H�5�������E1�1ҿ��H� �H�5�����E1�1ҿ��H� �H�5!���E1�1ҿ��H� ��H�5����H� |�E1�� H�5M�����s�E1�1ҿ�^H� �8H�5r��V�E1�1ҿ�^H� �8H�5X��9�E1�1�H��H�5G��� �E1�1�H��H�51����E1�1ҿH� 6�H�5����E1�1ҿH� ��H�5�����E1�1ҿH� ��H�5����H�L$E1�1�H�5�����H�L$E1�1�H�5����z�H�L$E1�1�H�5���_�E1�1ҿH� ^�H�5y��B�E1�1ҿH� !�H�5_��%�E1�1ҿH� �H�5E���E1�1ҿH� '�H�5+����E1�1ҿH� �H�5����E1�1ҿH� ��H�5����E1�1ҿ��H� И��H�5����E1�1ҿ��H� ����H�5���w�H� Й��E1�H�5��1ҿ���Z�E1�1ҿ��H� ����H�5���=�H�L$E1�1�H�5���"�H�L$E1�1�H�5g����H�L$E1�1�H�5O�����H�L$E1�1�H�57�����E1�1ҿH� ��H�5���E1�1ҿH� c�H�5����E1�1ҿH� ��H�5���z�E1�1ҿH� ��H�5���]�1�E1��H� ��H�5���@�E1�H��1�H�5���E�'�E1�1�H��H�5���E��E1�H��SH�5t��E���E1�H��H�5������E1�1�L��H�5D��E��E1�1�L��H�5.��E��E1�L��RH�5��E��E1�1ҿH� �GH�5���k�H� �GE1��H�5����K�E1�1ҿH� �GH�5���.�E1�1�L��H�5�����E1�L���H�5�����E1�L��1�H�5������E1�1ҿH� ��H�5k����E1�1ҿH� ��H�5R���E1�1ҿH� �H�59���E1�1ҿH� ��H�5 ��l�E1�1ҿH� k�H�5��O�E1�1ҿH� N�H�5���2�E1�1ҿH� 1�H�5����E1�1ҿH� d���H�5����E1�1ҿH� G���H�5�����1�E1��H� �H�5����H� ��E1�� H�5x����E1�1ҿH� �H�5O���H� �E1��_H�58���a�E1�1ҿH� �yH�5��D�E1�1ҿH� CzH�5��'�E1�1ҿH� F�H�5��� �E1�1ҿH� 9�H�5�����E1�1ҿH� |AH�5�����E1�1ҿH� �H�5����E1�1ҿ��H� bUH�5����1�E1����H� �UH�5l��y��o��E1��H� %U���} H�5������L�H� eUE1��H�5������,�H� �NE1��H�5)������H� �NE1��H�5�������H� ENE1�1�H�59�������E1�1ҿ��H� >NH�5���E1�1ҿ��H� QNH�5����H� >NE1��H�5�����u�E1�1ҿ��H� �OH�5���X�H� �OE1��hH�5�����8�E1�1ҿH� �PH�5F���E1�1ҿH� �QH�5,����9n��E1��H� �P���� H�5�����H� zQE1��H�5����H� �IE1��H�5����H� JJE1��H�5����q�H� �IE1�1�H�5����T�E1�1ҿH� JH�5���7�E1�1ҿH� &IH�5g���E1�1ҿH� IH�5N���E1�1ҿH� �HH�55����E1�1ҿH� �HH�5����E1�1ҿH� �QH�5���E1�1ҿH� eQH�5���E1�1ҿH� �QH�5��l�E1�1ҿH� �QH�5���O�E1�1ҿH� ޠ��H�5���2�E1�1ҿH� ����H�5����E1�1ҿH� ����H�5m���E1�1ҿH� ����H�5T����E1�1ҿ��H� �;H�5;���E1�1ҿH� ݐ��H�5"���E1�1ҿH� �9H�5 ���E1�1ҿH� H�5��g�E1�1ҿH� ��H�5�J�E1�1ҿH� �nH�5���-�1�A�H� ��H�5���� �A�1�H� ��H�5������1�A�H� n�H�5m�����1�A�H� N�H�5Q����1�A�!H� .�H�55����1�A�(H� �H�5���m�1�A�H� ���H�5����M�1�A�H� ���H�5���-�1�A�H� ���H�5ž�� �1�A�H� ���H�5������1�A�H� n��H�5������1�A�H� N��H�5q����1�A�H� .��H�5U����1�A�H� ��H�59���m�1�A� H� ���H�5���M�1�A�H� ���H�5���-�1�A�H� ���H�5��� �1�A�H� ���H�5ɽ����E1����1�H� ���H�55����E1�1ҿH� ���H�5J���E1�1ҿH� ���H�5ٻ��E1�1ҿH� ���H�5@��y�E1�1ҿH� ���H�5���\�E1�1ҿ�H� �=H�5���?�E1�1�L��H�5�����&�E1�1ҿH� DH�5C�� �E1�1ҿH� DH�5����E1�1ҿH� ;��H�5-����E1�1ҿ��H� n-H�5ݻ��E1�1ҿ��H� A-H�5û����g��E1��H� 1-����H�5{�����h�H� -E1��H�5a�����H�E1�1�L��H�5���/�E1�1�L��H�5�����E1�1�L��H�5������E1�1�L��H�5�������E1�L��H�5_������E1�L��hH�5Q�����E1�1�L��H�5/�����E1�1�L��H�5#���z��E1�L��H�5���^��E1�L��H�5���B��E1�1ҿH� ���H�5���%��1�E1��H� ���H�5w����E1��1�H� w��H�5^������ŝ"�E1�1�H� r��� H�5F����E1�1ҿ H� `��H�5s������"���H��E1�1ҿH�5��~��H��E1�1�H�5ȸ��e��H��E1�1�H�5m���L��H��E1�1�H�5W���3��H� �:E1��H�5������H��(L��E1�[�h]�A\H�5��A]A^A_����f�H�5ָ�������H� �JE1��H�5��������H� DE1��H�5��������H� DE1��H�5o�����o��H� ���E1��!H�5T���O��H� ����E1��"H�5:���/��H� ��E1��#H�5 �����H� ��E1��$H�5��������f.�H�YE1�A�H� ��H�°�H��H�D$�P��H�Y���H�D$�b���H�5�������H� )E1��H�5β����g������f�H�5����O��H� �FE1��H�5����/��H� H?E1��H�5O�����H� �?E1��H�53�������y���f.�E1�E1�H� f�� H�k�H�=����[��E1�E1�� H� T�H�_�H�=k���6��E1�A�H� ��H�D�� H�=S������I�"��I�E1�E1�H� %��@H�2�H�=1������E1�E1���H� J�H���H�=�������"����E1�E1�H� e���H�K�H�=���������"����E1�E1�H� S���H���H�=����S�����"����A�E1�H� ���`H���H�=�������a�f�H�|$E1�E1��H� ;�H�R�����E1�E1��H�� H� l�H���H��H�D$���E1�E1��H�=#H� g�H������H�=$,E1�A�H� d�H�z���s�����fDE1�1�H� |��� H�5_����E1�1ҿ H� j��H�59����E1�1ҿ H� ]��H�58��q��E1�1ҿ�H� P��H�5v��T���/�"������E1�1�H� K����H�5���*��E1�1ҿ�H� ��H�5��� ����"��i���E1�H� f��1ҿ`H�5A������G���fDE1�H� ���1ҿ H�5��������fD��H�Ŗ"H��u�"fDH�@0H��tH9xu�H�pH�@0H��u��ff.���H��"H�~�"H���H�z(txH��tkH��H� ��H�R0H��tH9Ju�H�5R*H�rH�R0H��u�H�!� @H�@0H��tH9Pu�H� "*H�HH�@0H��u��@��H��t�H��H� ���H�R0H��tH9Ju�H�5� H�rH�R0H��u�H��)� @H�@0H��t�H9Pu�H� � H�H��@��H���"H��tcH��H� �)� @H�R0H��tH9Ju�H�5�H�rH�R0H��u�H�6 � @H�@0H��tH9Pu�H� �H�HH�@0H��u��ff.����H���"H��tH�W�f.�H�@0H��tH9u�Ð����(�3H�(���Hc�H�>��H�o���H����H�9���H�����H�����H�����H�A���H� ���H�I���H�M���H�����H����H�ʱ��H�A���H�����H�I���H����H�پ��H�ѿ����UH���8SH���6H�5Q�H���@ H���)����uH��H�CH��H��[]��H�5��H����(����uH�&��H�CH��H��[]��H�5��H���(����t%H�5V�H���(����u*H����H�C�DH�!]H�CH��H��[]�H�5'�H���a(����t-H�5�H���N(����u*H����H�C�9���f.�H�i��H�C����H�5��H���(����uH���H�C���H�5ưH����'����uH��H�C����H�5��H����'����uH��H�C���H�5��H���'����uH���H�C���H�5z�H���'����uH�:�H�C�p���H�5d�H���b'����uH�7�H�C�M���H�5��H���?'����uH���H�C�*���H�5��H���'����uH�q~��H�C����H�5��H���&����uH�~��H�C���H�5�H����&����uH�+��H�C���H�5̯H���&����uH�8~��H�C���H�5��H���&����uH���H�C�{���H�5��H���m&����t6H�5��H���Z&����t#H�5v�H���G&����u H�|H�C�2���H�H�C�"���H�5J�H���&����uH���H�C���H�5.�H����%����uH�v�H�C����H�5�H����%����uH�s H�C���H�5�H���%����uH�` H�C���H�5ڮH���%����uH��4H�C�s���H�5��H���e%����uH��4H�C�P���H�5��H���B%����uH�w�H�C�-���H�5��H���%����uH��)H�C� ���H�5f�H���$����uH�!�H�C���H�5F�H����$����uH�N�H�C����H�5,�H���$����uH���H�C���H�5�H���$����uH���H�C�~���H�5��H���p$����uH��H�C�[���H�5�H���M$����uH��%H�C�8���H�5ϭH���*$����uH��`H�C����H�5��H���$����uH�<aH�C��H�5��H����#����uH�9�H�C����H�5��H���#����uH�&�H�C���H�5�H���#����tH�5O�H���#����uH�p<H�C�v���H�5�H���h#����tH�5�H���U#����uH��<H�C�@���H�5?�H���2#����tH�5�H���#����uH��8H�C� ���H�5'�H���"����tH�5ìH����"����uH��9H�C����H�5��H����"����uH��:H�C���H�5��H���"����uH�;H�C���H�5w�H���"����uH�5H�C�k���H�5]�H���]"����uH�5H�C�H���H�5��H���:"����uH�5H�C�%���H�5��H���"����uH��6H�C����H�5��H����!����uH�91H�C����H�5�H����!����uH��1H�C���H�5˫H���!����tH�5��H���!����uH��,H�C���H�5��H���x!����tH�5��H���e!����uH��-H�C�P���H�5��H���B!����uH��)H�C�-���H�5h�H���!����uH��)H�C� ���H�5N�H��� ����uH�����H�C���H�53�H���� ����uH�����H�C����H�5�H��� ����uH��#H�C���H�5��H��� ����uH���H�C�~���H�5ߪH���p ����uH�E�H�C�[���H�5��H���M ����uH�B�H�C�8���H�5��H���* ����uH�/�H�C����H�5��H��� ����uH�\�H�C��H�5��H��������uH��VH�C����H�5H�H�������uH����H�C���H�5.�H�������uH����H�C���H�5�H���{����uH����H�C�f���H�5��H���X����uH����H�C�C���H�5�H���5����tH�5ةH���"����uH����H�C� ���H�5��H�������uH��H�C���H�5��H��������uH��H�C����H�5��H�������uH�~��H�C���H�5w�H�������uH�k��H�C���H�5^�H���s����uH�X��H�C�^���H�5B�H���P����uH�E��H�C�;���H�5��H���-����uH�2��H�C����H�5�H��� ����uH���H�C��H�5�H��������uH���H�C���H�5ӨH��������uH����H�C��H�5��H�������tH�5��H�������uH�#��H�C�y�H�5��H���k����uH���H�C�V�H�5u�H���H����uH�7��H�C�3�H�5\�H���%����uH� 7��H�C��H����H�5��H��H�C�����u�C ���H�5��H��������tH�5�H��������u�C ��H�5r�H�������u�C ��H�5ӧH�������u�C �v�H�5s�H���h����u�C !�W�H�5��H���I����u�C (�8�H�5��H���*����u�C ��H�5v�H�������u�C ��H�5��H��������u�C ���H�5�H��������u�C ��H�5��H�������tH�5�H�������u�C ��H�5 �H���|����u�C �k�H�5\�H���]����u�C �L�H�5��H���>����u�C �-�H�5-�H�������u�C ��H�5��H�������u�C ���H�5��H��������u�C ���H�5J�H��������u�C ��H��1��x������UH�5"����SH��H���������H�5�H�߽�f�����pH�5��H�߽�J�����TH�5��H�߽�.�����8H�5��H�߽������H�58�H�߽������H�5��H�߽ ��������H�5a�H�߽@�������H�5R�H�߽��������H�5B�H���������H�5��H�߽�o����t}H�5��H�߽�W����teH�5s�H�߽@�?����tMH�5*�H�߽�'����t5H�5ҤH�߽�����tH�5!�H�����������H����[]�D��AWAVAUATUSH����x"�P���t ����H�@�H�5��1�E1�����H��1�I�����L��H�����I��H��tH��E1����I��H���"�?x"H��u�>@H�[0H��t1�Ct�H�s�1��:��H���b��H�[0M�lb��w"H��uσ��[I�}��%L��H��H��H�|�"����H��tH��H���w��M��tL��H��� ��H�����H�-�"��w"L�$L�%'�"H��� L�5���DH�m0H�����Ut�H�ǁ"H���1��f.�H�[0H��tg�=w"�St�H�MH9Ku�L�����L��L��H������p!��H�;�������H����H�[0I���H��u��I�\$ ����H�u1������H� ��H��I��H�����1��!��Lc�I܀} uwH�m0��v"H����������H�=�"���L9���H��[]A\A]A^A_��I�����f�A� A�D$I�\$fE�$�R���DA� I��fE�D$��t���H� ��H�����L��1���K ��Hc�L�� ����H�5������@���H�5���� ���H�5��=��=���=��H�5T�=��H�5�=���H�50�1��i���H�5ս1�I���S���H�57�1�H���=��L��I���b��I��H��tH���R��I�M�������L���>��I����H�?"H���[���H��E1��x ��t �P$A9�DL�H�@0H��u�E���2���1���H��t�s ��t9k$t$H�[0H��u�A9�����H��~"��f��H�5ī1��}���{ I�����1��H���c���{L���I��uL�H��H� ��L��1�AWH�������m��ZYH�IċC ��t ���j���� I��fA�D$��V���H��H�5���1�[]A\A]A^A_��GH�5i�1�1�E1�����H��I������I���J����H�5�1����H������H��}"H���z���H��L�=4���H�D$�DH�[0H���V���L9{u�{ ���1�H���N��H���v��Ll$I���H���H�5���p���H�b�H�5���]���fD���=A�"u#��� ��XwH��Hc�H�>���髽��H�A�H����H�ɱ��H�9G��H�I���H�������AU�ATUH��SH����z"��M��H9=�}"Hc�v��JrL�n�H��1���I���E��u#�%f.�H��H���O��H���D��t< u�H��H���:$L9�vM��IO�H��H��[]A\A]�A�K�J�ff.���AVA��H�=}"H�5�AUATUSH�}"���H���I���L�-����tFH�����H��L��Hc�H��H��L���; ��L���L���.�����u�L������E����H�=|"�1��Î����$�Iw��L�%�{"L�-c|"I�\$ � @H�[I�\$ H�;���H�I9�s�I�\$[]A\A]A^�f�H��L�������CH�kH��< t�������kx���`�������8�����H�5^�1�H���d��H�ڿ[H��]1�A\A]A^�ZDf.���AWAVAUATUSH��hdH�%(H�D$X1���o"�D$D�����D$��z"�D$H��o"H�D$H�?z"H�D$H�[z"H�$H��tH�����H�$�Y8H�|$P�ϊ��H�{"H����H�|$P�E���o�z"��z")D$ ���%��1��%}z"���sz"��w"�Cz"�Mo"H�̦H�+o"H��y"����J�����fz"H��z"�Az"�dNH�=�y"������H�=wz"��Hc�H�{�H�5_z"H��H��H�z"���H��y"�H�=�y"��<H�/z"H8 H�z"uH��H��H���x� t�H�z"1�L�d$D�����vH�D$LH�-�xL�-4$H�D$0H�D$HH�D$8D1�H�=7y"�=hy"�~y"@���,n"�xL���Ay"�D$D����H9��GL9��NH;gm"�H;�l"�>H;l"�;H;�k"�8H;3l"�5H;nm"�2H;�l"�9H;�k"�6H;k"�3H;l"�0�|$D���t#����:H;�k"�F�MD�"m"E1��uH��w"H��x"H�XL�xI9�����H�;�@��H�[I�L�5jx"I9�u�����H��w"Hc�w"H�JH�RHAH;B��;%�v���fD�v�f���fD�$�V������L�����B�����8����C�.����y���K�����u������������!����H�5�%�苶��H�x(��%����H�t$0H�|$8���0������s��1�����L$�nt"foL$ )ȉ �v"��k"H�D$ �v"H��k"H�D$H�v"�s����v"���|$�KH�=�v"�d���L$��v"H��v"�����������������uH�=�u"� ��H�$H�=�v"H��u"���H�=�v"� ��H�=�v"�� ��H�D$XdH3%(��H��h[]A\A]A^A_ËD$��j"�3�J����=ss"�c������u"�o3��u"�J�����$���^���� ���8���1��H�5��H�����H�ڿH��1��>H�D$XdH3%(uH�<$H��h[]A\A]A^A_�/ ������f.����������S1��$H�5��1�H��H�at"��1�H�H�Pt"H�1t"H�"t"��#H�5|�1�H��H�t"�1�H�H� t"H��s"H��s"�#H�5E�1�H��H��s"�~H�H��s"[H��s"H��s"�@��H9=�s"t#H9=�s"t H9=�s"t!�H�ys"H��s"ÐH�ys"H��s"ÐH�Is"H�zs"Ð��AUATUSH��H�nH��tIH��I��I��H9�u�9f�H�[H9�t'H��t"H�;L��L���t ����u�H��H��[]A\A]�f�H��1�[]A\A]���AWAVAUATUSH��H�H;�r"��H;�r"��H;�r"���H��r"L�5�r"M�>H�+H��I��H��������I��L��H���"���H��H��tH�hI9����8#H���@$H�+H�}e��H�}L���H�;H�E��!H�;H���"H�H�5��1�H�hH�+���@t"H�EH�I�$H��[]A\A]A^A_�fDH��q"L�5�q"�7���DH��q"L�5�q"����DI�.�K����I�>H�GI��q"I�>�y#H�+�?������H�H�@H��tH�H��f���H�H�@H��tH�H��f����ff.����ff.���AWAVAUATUSH��H��H�<$H����L�7L;5$q"I����L;5q"�.H�D$E1�L;5�p"��I�~�!�H�(H��H��� ������I�L��H��L���@���I��H��u�H�|$L��H��L���%���H��H��u�CH�}L��H��L������H��H��t&L�mH��L��� ����t�H�$L��H�(�)�H��H��[]A\A]A^A_�fDH�$H��L�8H��H��[]A\A]A^A_�H��o"L�-�o"H�D$�����H��o"L�-�o"H�D$���H��o"L�-�o"H�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�D$1�H�D$ �$�D$0H�D$����H�=um"H��H�������H�5�1�����H�=Km"�H��1�� ��@H�=�l"�l���� u�H�D$dH3%(uH�������f.���SH��dH�%(H��$�1��LH�=�m"H����H�5���P�H��H��H��m"� ��H�=�m"��������H�=���y��H�=rm"H����H����H�5z�H����H��H��H�7m"�J ��������D$H�=m"%�=@�VH�5��H�o"�H��$�dH3%(�?H�Ġ[�fD�D$%�=@�:����f�H�5ͯ�TH��H��H��l"�������c���H�=�l"H�5���!��H��H�����H�����H�=bl"H�5�����H��H���f��H���~��fDH�=)l"���G��H�=l"������������8����H�5�k"H�=m�H��1����1����@H�=�k"�R���@H���o���1������H��1�H�=�����1���������AWH�5ѮAVAUATUSH��8H�=xk"dH�%(H�D$(1��H�5�zH��H�D$�� ��H����L�%�k"H��L�t$ H�D$L��L�l$H�D$ L�=�k"fDH�� L��L������H��~HH�T$�D�H��H��uL9�H��k"ID���DH�|$�NH�t$H���a�����H������H�|$����H�|$�Zm"����H�D$(dH3%(uHH��8[]A\A]A^A_�fD����8t��%�k"�����8�5 ��H�t$H�=�vH��1��/�����8�����H����AUI��ATUSH��H����L�� �������t7H�[H��tEL�#L�����L��H��� H�;L��H���< ��H9�v�H��1�[]A\A]�f.�H���[]A\A]ø�f.����=El"u�f�ATH�=oi"H�5��US� H�5*xH��H������H��H������H������H�=�i"H�������u[�����8����H�5`�1�I�����M��H�پH�=h"H��1��m��H�����H��[]A\����f�H�=Qi"H�������t�H�=.i"H���~������{����@�K����8�t���H�5ի1�H�����I��H�پH�=|g"H��1�����H��[]A\���fD��AWH�5�wAVAUATUSH��HH�=@j"dH�%(H�D$81����H����H��H�D$(H�D$(E1�H�D$0L�t$0H�ȕH�D$H�D$H�|$H�� L�����I��H���H�|$(L���)H�|$(H��J�T?��G=��I��H��t�H�|$(H�P�H���.=��H��t�A�E� �H�D$�H�t$(1�I��� H�T$1�I�H�z� ���1�I�}� H�I�G���H�=�g"I�GH�I�GtMH�D$L�xI��I���L�|$����DL�-Ig"I�UI�}H�:g"� ���L��������L�=!g"��H������H�|$(����H�5�h"�H��h"���H�D$8dH3%(uHH��H[]A\A]A^A_�������8tЃ%�g"��8�(��H�5Qh"H�=�rH��1�� �����)���f���AWH�5�tAVAUATUSH��H�=h"���H���BH�=�g"��I���~��H�?f"H����L�5*��DH�����H�[H����H�;�S���H�x,�� H��L�K�sL�H��L��H�����H��1��0��H������H��I��XZ�L��L��B�D%� H�����I9��y�������8� ��L�%6g"1��H�5e�I�����M��L��H�=d"H��1��t���/����L������H�5�f"H��H��f"[�]A\A]A^A_����f.��[����8���H��f"�1�H�5ܧH������I��H�پH�=�c"H��H��1�[]A\A]A^A_����ff.�f���U�SH��H�5Gf"dH�%(H��$�1�H���,��H��f"H9D$Xt:H�od"H��tf�H�;H�k�4���H��H���)���H��u�H�Ad"���H��$�dH3%(u H�Ĩ[]����f���AWI��AVI��AUATUSH����f��H��H��tH���3����|�/t �=-e"tH��H��[]A\A]A^A_���D����H��c"H����E1��fDI��H����H��L�#H��L�����H�S��u�I��u-I��u'M����I�UL���2���H���*��������m���H��t+M����I�UH�SH���DH��H�RH��u�H�XL�sH��L�{H�C����H��[]A\A]A^A_�e���DI��u I�������� �1�H��I���H�=�b"I�$t L�cL���L�%�b"L���fDH��b"�Z���H��b"�������AUI��ATI��USH��H�]b"�0e��H��1�H��tK���H��u�Jf.�H�[H��t7H�;H�������u�H����H�CI�EH�CI�$�H��[]A\A]�H������H��1�[]A\A]�f.��AUATI��UH��SH��H��W"Hc�W"H�H��H��H��H�~b"L�h � H��L����ZH�cb"Hc �W"I�$HZ@H��H)�H��1�H��H�UH��[]A\A]����H�%b"��a"H�PH�@8H�@@H�P �D��SH��a"H�CH�C H�8�T���H�C8�� H��a"�Ua"H�C@��a"��V"��H�H�BH[Ð����a"uH��a"H�H�@@H��D������AWI��AVM��AUA��ATI��H��UH��SH��H�?�DD��a"H��A��t!H�}�< t*H���H��H���YI�$H��H��[]A\A]A^A_ÐE��uKH�5$V"L��1�M�$H��1�I��I�A�H��I9�u�HcV"1�I�D�H��I9�s�H��M��uL�fDH���8I9$w"D��`"A��E���{���H�}�[���DD��`"H��A��M��t�A���fD��AWAVAUATA��UH��E��SH��H��L�?dH�%(H�D$1��D$L�t$L���|YM��D��H��L�-`"H��I�} ����|$I�E8H�}u9L9�r4H��_"H�H�X@H�D$dH3%(uDH��[]A\A]A^A_��H���YM��D��H��L�-�_"H��I�} �$���I�E8H�}��U���D��US�H��(dH�%(H�D$1��=�_"M�_"����_"@��H�5L_"H�l$H�D$H�FH�FHH�F H�F0H�D$H�� H�����R��~sH�_"��^"H�PH�@8H�@@H�P H�D$dH3%(�H��([]�f�� _"uOH�5�^"H�l$H�D$H�F@H�D$��H�t$1�H���!������Y�^"�fDH�l$H�t$H�����H�5_^"�5�������D��US�H��(dH�%(H�D$1��=N^"MG^"���Z^"@uH�5^"H�l$H�D$H�FH�FHH�F H�F0H�D$H�� H�����?��oH�t$�H���U�����X�<]"H�D$dH3%(ubH��([]�D��]"u/H�5�]"H�l$H�D$H�F@H�D$���c���뭐H�l$H�t$H�����H�5G]"�Y�����ff.�f���U��SH��H�]"H�X H��H9XtH�{H�x �fDH�P H�zH�x 1������H��\"t�H�@8@��u H��[]�fDH��H��1�[]�Y���ATA��USH��\"H�k H�CH��H9�u.��f�H�y\"H�C H�xH�CH�{ H9����;���t�H�P\"H�S H9Su<��H�9\"1�H�@ H�x� ���u)H�\"H�C H�PH�CH�S H9�tZH�z�����u�H��["H�S H�CH9�t9H�BH�C8H�C E��u[]A\��[H��1�]A\� XH���H�8��H�C8��f�����b���f��������f���USH��H�5o["H�^ H�SH��ty1��fD!�̈́�u)H�V H�:�4�H�5=["��H�~ ����H�W �H��u�H�tH�?��H�5["��tH�F H�@H�F H�F8H��H��1�[]�9WH���@��USH��H��Z"H�h H�}貘H� �Z"��H�A H�PH��u�6f.��ރ�@�t"H�Q H�:�z�H� �Z" �H�Q H�RH��u�H�A8H��H��1�[]�Vff.����AWAVA��AUATE1�U@��SH��H�-Z"L�k H�s8L���H��ttA��H�C H��uH�@H��t_L�8H�C L���g�H�C8H��L����+����H�C8H��Y"H�P H�x8H:�'��H��Y"H�s8��u�E��t�H�C H�8��+��H�C8E��uH��[]A\A]A^A_�L�8�H��L��[]A\A]A^A_�Uff.�f���AWAVAUATU��S@�މ�H��H�?Y"�T$H�H H�x8H9H�L$��&��A��A��A��A��f�L�= Y"I�G I�w8H�8�<7th�#+��H��X"I�G8H�B H�z8H8��@��t.�&����u]E��t��|$ulH��D��[]A\A]A^A_���c&����t?E��t����H�@H��t�I�G 1�A�I�G8두A���X����A��E���H�|$��T�@���=vX"���������fD���5VX"�=TX"������������f.���AUATUSH��dH�%(H�D$1�H��W"L�h ��H�$H���W"����W"uQH��W"H�C8�H�C@��W"���L���SH�D$dH3%(�H��[]A\A]�E1�H�FW"H�@ H�8�J�H�3W"H�S H��<���_W"�{���H�S8I9��n���H�4$L�c8H�s@H���7��t�H��V"H�p8H�x �,I�h����H��V"H��H�p �OH��V"H��E1�H��H�$H�z 1�����H��V"I���V"�e����5���f�H�yV"H�p@�t���H�S8H9�������V"t L9��@���H�C8�������AVAUATUSH��dH�%(H�D$1�H�V"L�p � �H� V"I��H�k H�}�i�I��3V"uML�k8��H�C@�V"���L���RH�D$dH3%(��H��[]A\A]A^�DH��L���D$��MH� �U"H�T$H��H�I H�9��5�|$H��H�fU"H��H�@ H��H�8�C�H�LU"H9C8�U���H�C8H�k@H��L���O5���a���H� U"H�p8H�x �cG�H���fDH�U"H�h@���fD��USH��(H�5�T"dH�%(H�D$1�H�n �U"��H�F@H�\$H�D$H�D$H�� H�ڿ�FH��~"H�D$dH3%(��H��([]��H�t$1�H�����H�ZT"H�xHu ��T"@uJ�H���PH�6T"H�D$HD$H�B@�fDH�\$H�t$H���^�H�5T"�[���f�1��9J���f���USH��(H�5�S"dH�%(H�D$1�H�n �T"��H�F@H�\$H�D$H�D$H�� H�ڿ�5��~"H�D$dH3%(��H��([]��H�t$�H�����|S"H�QS"��H�H9BHu ��S"@uM�H���OH�)S"H�D$HD$H�B@�f�H�\$H�t$H���N�H�5�R"�K���f���&I���ff.�@��H��R"H�BH�xt*� �R"�A�H�H9BHt)���1���Hf�H�z0u����H������ �R"��H����1�H���HD��H�ER"SH�xHtH�pH�~t)�[�gH��+���H�R"H�pH�~u�H�x0�@JH��H��Q"H�x�JH9�r�[�fD��USH��H��Q"H�s8H�k H��u2H9ktH�EH�C H�8��H�C8H��H��[]��MDH�}�#��H�C8�ِ��USH��H�oQ"H�k H�s8H�}�<7u-H9ktH�EH�C8H�C H��H��[]�M@�[#��H�C8��D����R"�@����Q"Ð��SH���(����H�H�XH�@H��tH�SH��H�PH�@ [�ff.���UH���(SH����H�u1�H���H�H�EH�CH�EH�CH�EH�C H�CH��H��[]�ff.���H�GH�~H�FH��tH�pH�0P"H�wH��tH9xt�H�p�ff.���SH��H�?��H�{ ��H��[���ff.���H�WH�GH��tH�BH�GH��tH�PH��O"H��tH9xt�f.�H�WH�P�fDSH�_H��u �$@H��H�{�d���H�CH��u�H��[�R���f�H��H��[�D���@��ATUSH�����H�[I��H�@H��t(H��f�H���h���H�EH�[H�hH��H��u�H�@L��[]A\�@��H��t�R���f��ff.�@��H��t/H�W1�H��tH�B�H��H�GH�H��u��fDH�5���1���D��AVI��AUI��ATI���0UH��S�^�H��H�TN"H�PL9���H�H�PL�`L9���H�SL�hI�D$I�4$H�U1�H�CI�D$��1�H�C�(I�EI�uH�C I�EL����H�C(I�EB�0M�$$L���;�I�4,L��H)�H�P�(�H��[]A\A]A^�@H�PH�L9��a���H�C�\������AVH�sM"AUATUSH�H��H�hH�BH�EH��tH�hH�z��L�eI��L����L��I�t���H�EH�"M"H�@H�(H����I��H�H�x�t�H��I�T$H�|�b�H�H�hH���S�H��L"H��H�JH��H�9�Z�H�H�x��L�+H��L"H�hI�E H�EH��tH�hL�eL����I�}(I����L��I�t�:�H�EH�H�p(H�hL"H�@H�8�L�H�H�x(�P�H�;H�H��tH�>L"H�BH�GH��tH�*L"H�B�!�H�[]A\A]A^Ð��AWAVAUATUSH��(L9���L9��� �tH��([]A\A]A^A_��L��L�L$H��I��H��L��I��I��H��L��L�D$E1�L�L$�&���L�L$L�D$H��K"H��K"H�PH�HH�RH�qH9�|H�xE1�H;WA��H�P`E1�H��tH�zH9���H9�A��L��L���O�H�8K"H)B(I�}��M�,$H�T$I�MH��H�L$��H�T$H�D$H�BH�8�i�H�L$H�t$H��H�t��I�EH��J"H�PI�$H�2H�8��H��J"I�$H�xH�OH�JI�$H�QH��tH�JH�PI�$H�x�{���L�����L�%|J"�(�r�H�5!�1�H�@H�H�@H�@H�@ I�D$H�6J"L�`�-�I�$H�"J"L�`H�h8L�`L�` ��t^L�``H�hhH�=J"�z���E����L�������%J"@���H��I"H�@H��8����H��([]A\A]A^A_�b�f�E��t�L�``�DH�pH;~�A���H9�t]�H9��.���H�\$H9Xh������fD��D��H"�a���f�H�BI�EH�BI�$I�}�g������f�H9hh�����@��AWAVAUATUSH��H��HdH�%(H�D$81�H��H"�D$H�x`L�p8�`H�t$(H�L$0H�T$ H�|$L�D$�2�H�D$ H9D$H��H"@��H�p8H�x H��H������L�-�H"H��H"M�eI�EH�D$M��tL�����L�-kH"I�}`L�{I�]��I�]!�M��u��I��I�GH��u�M�}I�?M�} ���H��I�E8L9���@��uH��L����H�H"HB(H�ZL9d$��H�=�G"�f���H�������H"@uH��G"H�@H��8��H�D$8dH3%(��H��H[]A\A]A^A_��|$tqI�]`�q����L��1�����fDH�Z�u����I�] H�;I�����I�E8H��@��uEI�M�u8�"���f�����h���fDI�MhM�}`L)�H�I�Eh��f��|$M�}`u�IMh����f.���H�����H��H������������f���SH��H�?���H�{H��t����H�{X���H����}��H��1��讖H��[�e��D��H9=MF"H���t$H���H���H���H����{���H�F"��ff.�@��H��1��H�5��5��H��H���f���H���H�5�1����H���mH���t��@��PXH���q�H�=�E"�����F���1�1�H��G"�Q���E"@u��E"u1��x�������\�H� EE"H�PH�A H�9H�p�A���ff.�@��UH�O�H�5M�SH���?HD��C���8H��uT�H�5�S1��!���H�52�1�H�����H��H�=�B"H�¾1����H��H��[]���@E1�1���H���_����uU�;t������8���H�5�1�H�����I��H�پH�=B"H��1���H��H��[]�4��@�H�5j�1��]��H���M���D��UH��SH���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��H��C"�K���H��E"1�1��V�H��H��H��$�H�=,A"�$H�-VC"H�D$H�D$ �D$0H�D$���H�+C"�fD�]C"tH���H��t�5��H��B"�xPt5�4C"�u,H�=�B"tH���^���H��B"H�pXH�8���H��B"H���H��B"H��B"H9�tH��u�������PX1��H�5�H�����H��1��Y���f���SH�5����1������H��1��*���f.���USH��H�=OB"H��t,H�KB"H��tH���F��H�=/B"�:��H�=B"�.����?"�5�?"����B"���o����a���H����:)؉�1�1�)��A"� ���57?"��1ɋ=�A"H��A"�����A"1ɉ�5?"��H��A"����H�tA"�7���A"tFH�o6"H��A"H��~H��[]�@Hc�>"H�H�oA"y�H�bA"H��[]�H�=)A"����H�=A"�����H�=�@"������1�1ҿH��@"��@"����5G>"1ɿH��@"�C>"�P����H��@"�#��������fD����ff.���H��1�1��_���=�;"H�������H��������="H�=�="1ҍp��L������H�5}�1��$���H��1����H�=F="���1�1�H�B"����1�H���9��f���H��1���������2����;"H������H����?"u��?"�H�����������f����f?"t끐����ff.���AT1�I��H��UH���SH��H�5�����H����H��v{�1�H��H�5z����H�����H��w7H�5d��1�����L��1������[]H��A\���f�H����H��wο �����fD� �v���v������S�1�H�5��x���H��1��Y���1�H�5+��V���H��1��7���1�H�5���4���H��1�����1�H�5������H��1�����H�s�H�5��H�=�Y�����="���H���H�5��H�=hZ�r���H���H�5��H�=�Y�X�����="���H���H�5��H�=Y�1����|="���H��H�5ŊH�=6Z� ���H�+�H�5��H�= Z��H�9�H�5��H�=Z����H�G�H�5��H�=Z���H���H�5��H�=�Y�����<"���1��H�5������1��H�5��H�����H�-�H��H���Z�����<"��mH�6�H�5��H�=CY�3���1��H�5���p��1��H�5��H���Z��H��H��H�����H�n�H�5��H�=0X����H��H�5v�H�=�X����H�%�H�5f�H�=�W���1��H�5Y�����1��H�5X�H������H� �H��H���o�����;"��BH�;�H�5F�H�=J��H���H�I�H�5:�H�=B��.���H�O�H�52�H�=:������_;"���H�P�H�5f�H�=f����H�6�H�5V�H�=\�����H�<�H�5L�H�=U����H�B�H�5E�H�=L����H�C�H�5X�H�=Y����H�6�H�5I�H�=K��k���1��H�5;����1��H�5=�H�����H��H�4�H���0���H� �H�56�H�=:�����1��H�5*��S��1��H�5&�H���=��H��H��H�������&:"��NH���H�50�H�=4����H���H�5$�H�=$����H��H�5*�H�=*����H�!�H�55�H�=7��f���H�.�H�5E�H�=G��L���H���H�57�H�=<��2����}9"���H�E�H�5X�[H�=V� ���f.�H�~H�5ۅH�=V���1��H�5ʅ�#��1��H�5ɅH��� ��H��}H��H���������fDH���H�5��H�=������\����1��H�5�����1��H�5��H�����H���H��H���E����r���H�]�H�5r�H�=x��&��������1��H�5��]��1��H�5�H���G��H��H��H������~���H��H�5�H�=zS�����t����H�Y~H�5��H�=�T��������H�a}H�5 �H�=�T�����7"��U���H���H�5 �H�=�T�_����6���f.�H��|H�5��H�=rT�6���������H���H�5h�1��e��H�f��H��1��?��H�=������H�5ǀ1��0��H�@��H��1�� ���H�5ƀ1�����H��1������H�5��1������H��1������H�5�1����� H�����D��H����6"tH�X6"H���H��t�(���b3����tH�����@��H�%6"�zP��H���Q6"H�%�:tT����1�H�5+���)��1�H���)��tS��tf1��H�5>@���H��H���g���t�1��H�5�����H���! ��H��������������`�����H������SH��6"1��H��1�H�s�H��6"�H���l��1�H�s���\��1�H�s��H�j�H��6"�>��1�H�s���.��1�H�s��H���H�u6"�����4"tWH�����1�H�s��H�}�H�F6"����1�H�s��H����H�(6"����H�=��'��H��t"[�1ҿH�56"H��5"�����H���1ҁ e6"��H�5�5"H��5"�e��1�H�5�5"[��Q������54"t1����@H���H�5h�1����H���yH�������US��H��dH�%(H��$�1�H��H���s���H�����1���H���Y��H��$�dH3%(u H�Ę[]���������3"�t��vVAV�AUATL�%l3"UHc�SH��H��A��D�k�A��D����A3�A��A��wDH� o�D��Hc�H�>��fD� H��s����1��9�A���F2"D�����A�������ҺtNH�59�1�����H�ʼn��&����1�H�����[H��H�5�]H��A\1�A]1�A^�f�H�5�1����H���D�u2"uH�(2"H�B0��1"D��������_����U�������A����D���%'"�o1A������fD��A���D���ff.����Sf�1�H��PdH�%(H�D$H1�H��)$H��)D$)D$ H�D$0�D$8�7��1�1�H�ځd$����d$��.��H�D$HdH3%(uH��P[�������Sf�1�H��PdH�%(H�D$H1�H��)$H��)D$)D$ H�D$0�D$8���1�1�H�ڃd$����H�D$HdH3%(uH��P[��{��ff.���Sf�1�H��PdH�%(H�D$H1�H��)$H��)D$)D$ H�D$0�D$8�7��1�1�H�ڃL$�6��H�D$HdH3%(uH��P[����ff.���S1�H��PdH�%(H�D$H1�H��H������1�1�H�ځ$$��������H�D$HdH3%(uH��P[����ff.����S1�H��PdH�%(H�D$H1�H��H���z��1�1�H�ځ$�w��H�D$HdH3%(uH��P[��<��ff.����H������N����������/" uH������f��k���H������f���USH��XdH�%(H��$H1�H��$����1�1�H�H1"����1��H�5]y� ��H�=�,"�H��1�� ������1�H�ڿ�������=H����H�T$H�H��$���������1�H�5�<H�=6����H��H���Z�H�={�AA��H�߹1�H�y���4��H�4."H� �+"�H�=�zH�PH�P��?��1�H�=�1�����Å��91��������������=~/"��@����Z���������-"�t'H��$HdH3%(��H��X[]�fDH��-"H�z(tˈD$�2���D$�f�H�="���������f.�1�H�t$��������g���H�=�~����V���DH�5i/"1������5���D�s����������������H�5�~1�H�����H�ڿH��1���1�� ����|��1��H�5fw����H��1���ff.�@��U1�SH��dH�%(H�D$1��_����,"H��ttH�Ǿ1��q���Ã��t^��H��1��T�����߉��0�����t?�D$�$��)"+6,"��)"�:!"��$�������������|+H�D$dH3%(uH��[]������U��SH���O��H��H��H���vH����[]�f�H�������t�H��H��[]���fD��H��H�q+"H�@H�x��1��+"t�P�)"��9иN�9]+"t ��("�O+")ЉW "�$��*"H���fD��SHc߉���H�5�|��te�=f/"t8��[tK���=vf�H�5�|1�����ڿ[H��1������~[�=�"u?[�D�H�5�|1������[H��1����D����H�����H�5�|�f��H�5f|1��}����S@�[H��1��z�f.���AV�AUATUSH�� dH�%(H�D$1�H�l$H�\$H��H�������t"H�L$dH3%(�H�� []A\A]A^ÐH�=�)"H��1�H������¸��t�H��)"Lcd$H�hHL��L�h L�p8H)��)"����H����H�D$H�])"H�T$��H�p H��x}�XHct$H�|$�"H�2)"H��H�S H�:��H�C8I9�u H�)"L9p8tM���1�L���N%�����@��L��H���@!H�D$�r���fD���y�|���@�+a��t���@��H;=�"��H;=�"�� �H;=�"�� �H;=3"�� �H;=W"�� �H;=#"�� �H;=�"�� �H;=�"�� �H;=�"�� �H;=�"�� �H;=�"�� �H;=�"�� �H;="�� �H;=�"�� �H;="�� �H;=�"�� ��ff.�f���H���C���1�H��t�P!��H��Ð��AWAVAUATUSH��HH��'"H�|$H�k H�t$�T$H�}dH�%(H�D$81����I���'"��H�D$(��'"��H�H9CH��H���H�|$H�D$ �U1�L�t$2�@H9l$�=H�D$L�,(A�}uA�E 1�L��L���{���Hc�H݀|$uA�}����u�H��&"N�,#I�uL�x I�?��H��&"I�H�B8H�R H�:�H)�H�4H�L�H����H��&"L��H�P H�x8H:H��� ���H�r&"H�@(�+��1��qwH�Z&"H�P H;P`��H;P�HX81�觀H�0&"H�H H9H�b&"�M�� ���H� &"H�x �!��������z%"H9l$�����H��%"�&"t �=Q%"�����=?%"H�C@��H�D$8dH3%(�oH��H[]A\A]A^A_�f.�H�D$ H�|$H�D$(�-����H�HhH9H8����H�H�HhH;P������H�x0�����$"H�"%"����D�@�����"%"��~�$"�1%"����@H��$"H�x �����=Y$"����H��$"H�p8H�x �����f�H�{ �WH;D$ t=�!$"H��$"����D��H��H���H�D$(H�l$"H�h ������$"H�V$"��H�H9CH�����H�[ �N�H��H���sH;D$(u�����D��AV�AUATU��SH��H�=2$"dH�%(H�D$1��#�D$�����=��=H�|$�K�H��H���O�D$@���z�����H����H�=)%"H��t4H�5%%"1��7����H�=%"�v���H��$"H��$"��#"��3H�CH;x"��H;�"�� �H;�"@�� �H;}"tH��#"H;�"�{H;�"��H��""�=`&"L�r L�j8M�ftH�z`uL�r`L�jh�Bp@��H� �""H�y`H�q �L�=&"�3�Ap���(I9���H�A`�""L;f��;��|$�g��|$��u �=�&"���=����D$����@��u@�����H�L$dH3%(��H��[]A\A]A^��H���g�����+�H��u@H�=#"H��t4H�5{#"1��7����H�=a#"�̶��H�Q#"H�N#"H�+""�6 ���D$�e���D�s������J���H�=�!"1�� �D$���I9�t��!"L9ftH�CH;�"tH;b"t�3��=� "��@��u�� ���f.�H��舋��H��t �x!��������������1!"�������H�� "H�x`�����Pp������H�@`�B "���DH������H�����x!���= "�R���H�CH;�"t H;"�8���H�g "H�p8H�x �����D�{ ���{ ���������f�H��!"H�=�!"H�p���H��!"H��!"H�JH� �!"�L$�����@H��"H�x �����F���L9i8�?���H�{�������Y����)������������|$�H���f.�H�{(�w��*�E����8������H�5�"H�="���f���USH��H�W"H�8觶��H�=�"H��蘶��H�|��H�?"H�5�"H��H��蕴��H�"H�="H��H�0H��y���H�= "H�5�"H�H�H�蝴��H�=~"���H�-r"H�"H��[]�ff.����1�H9�t;Hc>"�J�Hc�H9�w)H�OH�F�H9�vH)�H�J�1�H��H)�H��H��H��H)��f���H��������H�c"�f.���AVH�=� "AUATU1�S�F�H�57"H�=�"H�XI���|�H�H9�t$Hc�"�r�Hc�H9�rI�t$H�i�H9���H�=�"E1����H�H�p�H9�t$Hc]"�J�Hc�H9�rI�L$L�h�H9��x�5Z"H�=�"1�輳���G�H�=�"1�1�跻�����tH�5�"H�=|"���������H�=k"�:詳��H��H�=V"�����<葳��Hc�"1�H��H�=�"H��H)��R�H�=#"�����H��I��軳��L�����L9�H�="����� �<����5�"H�=�"1��x���H�=�"1�1����H�=�"茴��H�5�"H�=F"� �H�4��H9�t=Hc '"�y�Hc�H9�r+I���L9�vH�x�H��1�H)�H��H��H��H)Љ�)�H�=b"1�胺��H�=T"[]A\A]A^�_����I��H�J�1�I��H)�I�L��H��I)��h����H�h�H�J�1�H��H)�H��H)�����D��AT�USH��dH�%(H�D$1�L�d$H��L��H�����Å�t&H�L$dH3%(����H��[]A\��H�=�"1�L��H���l�����t�H�=�"�|�H�ŋ$��u�HcD$L�eL9�r�H�5U"H�=�"��1�I�4L9�t8Hc�"�z�Hc�H9�r&H��H�N�H9�vH�p�H�J�1�L)�H��H��H��H)�Hct$H�=�"L)�H��H��"���� ����q������AWE1�AVAUATUH��H�~SH��H��(�T$dH�%(H�D$1��x�I��H����@B�D�C�<I��L9�u�C�<1�L�l$f.�M�4,A�>uA� 1�L��L����Hc�H݀|$t A�>����uoL�5�"L���l���L��H�t诽H��I��H��"�M���H�=�"�I�4>H)�H�H�L��,���H�=�"H��L��H=`"�3���H�"I9��S���L��苮���V���H�D$dH3%(uH��([]A\A]A^A_��"���f���SH��H�=x"dH�%(H�D$1�H�����H�4$1�H��H���w���H������H�D$dH3%(uH��[��İ��@��H�"���ff.����H��H�=�"�<���H�� "H�����ff.����H�5� "H��u��H��H�=E"��H�� "H���H������H�="H�5� "�<7u��H���w�H�h "H���������H�=M "H=�"�?u ��U1�1�SH����H�-�"��H���`���H�= "Hc�H)�H�PH)�H�H�H��>���H��[]�����H�5�"H��u��H��H�=U"��H��"H���X������H��"��"u H��"1�H�"�����ff.�@��U1�SH��H�=U"H=�"����ʼnÃ�f.�H�=�"H�5*"�<7t.�'�1�H�"H�"H��""t����u2��t�H��[]����{���t@��t�H��[]�w�������@�끐��S1�f�H�5�"H��tFH�=%"�h�1�H��"H"H������u,��t�H�5i"H�=�"�e�H�V"[�������ff.����UH���SH��dH�%(H�D$1��H�="��D$����N=��gH�|$�=�H��H���yH�=:"H��t3H�56"����H�="H�"�}���H�"H�CH;� "��H; "��H;- "��H;h"�BH;�"��H;n "��H;� "��H;� "���@"���t �= " �SH;�"��H;�"��H;�"��H;-"��H;H"��H;�"�����y���E�D$H�L$dH3%(��H��[]�f�������:H�=s"1��t�D$�t����|$�/����u �=�"�6�٭���D$�����<�H���{���H�=�"H���k���H�5�"��2���H�=k"H�h"�˨��H�P"�3��������&���fD��������fDH� �"H� �9�����H;�"��H;�"@�� �H;g"@�� �H;�"@��@�����H;�"�����H;�"�����H�{(�����������H���0����y���H�C�n��������f���fD�|$������������|$�������"�t �=�" tBH�K"H�=<"H�pH�59"H���X��L$H�%"H�"�L���l���DH�q"H��8�T������������fDH�m"������S������fD�������fD��������fD����v���fDH�="�b������X��������N���葩�����AWAVA��AUATUSL��H��HH�|$H�=d"H�L$L�L$@�t$(dH�%(H�D$81��D$4�����D$3���H;�"sH��"�6�H�D$3E1������H�D$ A��L�d$2L�l$4H�$�D$,�H�H;�"�D$3�H;�"�iH;Z"�M�|$2�����l$4L�������D$4����L����P��H;�"I��twH;h"tnH;�"u�H���l� L���_P��9�tH�=L"���I��M��t�H�58"L��H��蕞��H��H�#"�֧���|$2H��"�[���@H��tH�;���H�<$�:����D$4H�L$�H�L$8dH3%(L���gH��H[]A\A]A^A_�f�H����H�H�x��H��衝��H��t%H�=�"H���ʹH��H�{"�.���H��"�D$2���DH�������H���w���H��t%H�=C"H��胴H��H�1"���H��"H�H�xu�H�="�?u�H�$H��t�H���t���fD�|$(�1���L�L$L�D$H�L"H�L$ �t$,H�=�"�G��H��"���H�5�"�>����H�<$��H�$���fD�D$(H�D$E1���H�T$�D$(H�<$�趣������l���ff.����AWAVAUI��ATA��UL��S��H��L�D$L��$P��t@)�$�)�$�)�$�)�$�)�$�)�$�)�$�)�$dH�%(H�D$X1�H�@"���D$;L�5�"H�D$(��H�=� "H��tL9�tL����H�� "A��L��$XA��$�ÉD$H�D$@H�D$ H�D$;H�D$H�D$<H�D$fD�J"�@�|Hc�苰�5"L�L$ M��H�L$`H��H�"�4RH�L$P�H�������D$@0Hc��D$D0L�l$H����=� "D��M5� "H��"��H��Hc���L�D$�$I��H�L$�t$�H�|$�#���H�=�"H������|$<�L�5x"�2���H;s"H�DJ��tBH9�t=���|$;t��H�L$XdH3%(�D$<uPH��[]A\A]A^A_�f�H�L$(H� �"H9�u�D$<�����DH�"�8���D$<�����fD��AW�AVAUA��ATUS��1�H��xH�t$0H�5baH�l$`dH�%(H�D$h1��<����H�5?a1�H�$�%����H�5+a1�H�D$� ���H�D$(�ػ���D$;���D$H�EH�D$HH�D$TH�D$ H�D$\H�D$H��"����0 "�� �������H�$�H��H� �]�D�1��ʪ��H�=k"1Ҿ臩��1��H�5~`�d�����H��H�����H�D$1�H�=1"���D$a�H���1��H�5C`�%�����H��H����E���OH�=� "�ھ�����H�5�1������H�=`&H���X�H�a "H�=� "1ҋ0����L�H�=� "1�1�輨�����t*�"L�t$0�p�L��Hc��>�H�=o "L����� ���H� "H�=W "1�A��0���H�=A "�T����t$H�=1 "��! �* �D$T�D$`�����t�D$T��@�����7��H�<$Ic�H���D`����H����H�|$H�����H���E��tH�|$(H�����H����D�d$TH�=�^D���t���H����D��H�=�^�\���H����E��tD��H�=�^�?���H����H�|$ �<I��H;�!���|$T��q���L�|$L�d$X1�L��L�������R���H�= "1�L��L��������6����D$X�9��'����L$\���������������ڍP)ȃ���u�|$;�������������H�D$(H�=�"�ھ��D$a豦��1��H�5�]莟����H��H�����m���@A�ĉ\$<A��H�l$@�l$A��=���E1���L��L�|$HA�Mc��f�L9�t*H�="���A�H����L��D�sH)�H9�vы\$<H�l$@����H�\$hdH3%(u2H��x[]A\A]A^A_�@1���@���f��������4���@��ATUH��SH���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��$�1��H��H�D$H�D$ �$�D$0H�D$���H�=p"H��H�����H�5Y"� �ߟ��H�D$dH3%(ugH���[]A\�L�% "1��H�5�[膝��H�="I�ؾH��L��1��j����I���DH�=�"脤��H��"�����Ý����SH���c���H�0�fD��tDH����Nt��t3�H�H�S�C�At�H����Au�H��[�fDH��[H������S1ۀ?"H��uQ�H�����"t<��u�H��tA�H���Ϥ��H��f.�H����Bu�H��[�fDH���[�*���H��1�H�=�]��������UH��SH�����tl�]<"t@H����tX���]<"u��I����ӄ�tH��Qu H�����ې�EH�MH�� H����Pu�H��H��[]�f�H�=)]1�����1���ff.���AVAUATUS��H��PdH�%(H�D$H1�H���6���H��H��I��膝���Å�u0H���x�������H�L$HdH3%(u]H��P[]A\A]A^�fD1�1�H����b���H��I����L��H���I��H���D���L��L��1�H�=?Y�P���L��踘����q������H;=��!��H;=�!�� �H;=o�!�� �H;=;�!�� �H;=�!�� �H;=��!�� �H;=�!�� �H;=�!�� �H;=w�!�� �H;=;�!�� �H;=o�!�� �H;=�!�� �H;=/�!�� �Ð���?�AWAVAUATU��SH��H��(���1�H��I���ާH��H���C���H���i�t����I��H�D�4��SD�3I�D�$�D�cA��Mu A��-��H�5VH��趗�����N�١��A��H����CL��@��������A�}I����H����H���<���A�>�^A�}"��L���n��I��H����L���|��A�Dž��pH�q"I�|$E1�H��u�%f.�H�R0H��tH9:u�DBH�R0H��u�H� �?���H9�H�L$DD�H;=f�!���DD����H�L$�����DE�E!��E�|$1�H��L��H�L$�B��A�|$H�L$��A�|$[��I�4$H�=0[1������t�H�5�H���Q����������A�F�<� H�=�Y1�E1�����7f.�H�=vV1��r���f�����A�}u4H�=Z1�E1��S���L��軕��H��(H��[]A\A]A^A_饕��DL���({��A�Dž���H�"E1�H�D$H�D$H����D��L�l$�ЉD$f�E�uE��tI�}H�������u�L$D!�A�MM�m0M��u�@���g���L�l$H� >��I9L$tRA�D$$M�l$0L�%��!H��([]A\A]A^A_�A�t$ 9p u�@$A�D$$fDH�D$H�@0H�D$H��t�H�D$H9Hu����H������H��vB�SI����C���H� �!H�D$H�D$H������E1�I9L$�Q����U���H�=�T1�E1��������f.��8�6�I�u1�I��H��I�D$��A�D$ I�D$(���f���H�����H���)?�����u���H��H�=�T1�E1��]��������H�=�W1�E1��?������f.�E1�����M��E1�f�L��H�=&X1��������f.�L��L��H�=#X1��������L��H�=�W1������w���f.���S�H��H��dH�%(H��$�1��4���1҅�t&H��$�dH3%(����H�Ġ[�@H��H�蘘������t��D$%��������t7=`u�1��H�5��͔��H��H��1�����1��{���f�=@u�1��H�5�薔��H��������ff.��UH��SH��H��H�=�!�(���H��H���}�H��!H��H��[]�������U�H��H�5�RSH��H�����1҅�u H����UH�5�RH����������H�5oTH���ґ�������H�5fRH��趑�������H�5ORH��蚑�����tuH�5=RH��肑�����t]H�5,RH���j������tEH�5RH���R������t-H�5 RH���:���1҅�tH�5�QH���%����������uH����[]�H��H�=�Q1��_����������AVI���,AUI��ATI��UH��S螓��H��tIH�xL��H�������fA�EA�$��uZf���t�H9�u&�����fA��[]A\A]A^�D�����fA�UL��H���;���[]f���fA�A\��A]A^��1�H�=7U��[1�]A\A]A^����AWAVAUATUSH��(�t$dH�%(H�D$1��=��!���?H���a��H�L$H�T$H��H�t$H�����A�ń����;u5�}DH�=!S1�� �H���b���H��H�����;���H�5�PH��E1��f�����uH��E��;"u�L�{L������H��H��tr�{��H�=IP1�1�E1���E�����H�5;PH��������u!�}"�H�=sR1�H�]�X��T���H�=dT1��E�DH�D$dH3%(��H��([]A\A]A^A_�DH�=�O1�L�����H��������t$L��E1����Ä��B����H�=�L��1�I���D$fA��D$fA�F�D$A�F�D$A�F��I�F I�FH���!I�F(I�F0I�F8H����L�p8L�5u�!�����L�eL����I��H��������}����H�ń��#����t$L�����uSH�,�!L��H��B@A�F@���B@���@H�=wN1�������DH�5�OH�=�R������L��1��&�I�F(�H��!L�p8�<���H�5rOH�=�R1����F���豏�����UH���HSH���ٚH��H�HH�PH��H������H��t跌��H��H��[]�D裌��H��1�虌��H��H��[]�ff.�@���=-�!I���<H��!AV�H�=rAUI��ATUSH��H�0������������I�UH���L�bM��u �f�I��I�T$H��u�<"t2[H�=�O]1�A\A]A^�y�f�M�t$M�����t^<"u�H�kH����H��H��tF� H���<��tп螙H��1�I��葛I�FI�M��u�M�u�M��u�[]A\A]A^�f.�L��H�=.Q��u L��H�=�P[1�]A\A]A^���f�H��1�H�=lP��E1��F���I���>���ff.�@��ATUS����!���^H��<"u�G���K<"�CH�����D�#H��H���$���A��"�|�"��8���A��"uL�cL������L��H�=>H���������P�\�H��1�I��H���!�H�H��!1�H�5<I�$H�CH�CH�CH�C H�C(��H���!�H�=H�C0H���!H�B8H�2H�BH�B@H�d�!H�i�!�r�!�����u?�}ui[]A\�@[H�=�J]1�A\��fD[H�=�J]1�A\��fD�}t�[H��H��]H�=�JA\����[H�=�J]A\���[H�=HO]A\����UH��SH���=�!tZ���tsH��<"u1H��H�t$�o���H�t$H��DH��H9�t_�8"u��H��H�;�ӘH�H��[]�f�H��H��H�=�M1�[]�9�f�H��H��H�=<J[]��H��H��H�=�N1�[]�����AWAVAUATI��USH��H@�t$L�t$0dH�%(H�D$81�H�D$(H�D$(H�D$0H�D$DH�|$L�� L��蛌��H���rH�\$(H�D��8 u�H�\$(H���!�N���H�� f�H����Qu��t���#t�H����H�5qIH��H���Ї����tLH�5aIH��轇�������=6�!�HH���p���H��!H9�!�<���� �!�0���H���H�L�-��!H��M��u�@M�mHM����I�}H��跋����u�I�E8L�-��!���!H���!H��t(H�P8H��u�f.�H��H�B8H��u�H�u�!H�����H�5�HH��H��������{H�5tHH���Ɇ������H�5dHH��貆������H�5LPH��蛆������H�5�HH��脆������H�5%HH���m�������H�5�H���V�������H�5�GH���?��������|$��H�5�GH����������H�5$OH����������H�w�!H9X�!�D$t�g�!�}��H�=�G1��'��r���f��=A�!tH�='�!�H�|$(�%�!�h���L���@���H��!H�D$8dH3%(�+H��H[]A\A]A^A_�f�H�=��!�����H���!H�=|KH�01������H���!H��H�=�FH�P�k����v���H���!H��H�=�FH�P�L����W���H�p�!H��H�=�NH�P0�}����8����H�����&���H�?�!H��H�=� H�P �L�������H� �!H�=�JH�01��������H���M�����H���!H��H�=FH�P(������H��H�=_K1������H�5FH���4�������H�5�EH����������H�5�EH����������1�H�����O����H��L�-n�!1���L�=�;H�D$�f�I��M�}�H��M����L��H��蠃����u�H��H��!�|$�H�L�.H���H�D$����gH�|$1�<"��H���1�H����H��H���������JH�5JEL���(�������H�5>EL���������-H�53EL��������@H�5*EL��������=H�5EL���̂�����]H�5EL��赂�����ZH�5EL��螂�����&H�5�@L��臂�����sH���!�#���H��H�v�!�H���� �����H����H�θH�K�!H�����!�����H������H���!����H��H�=�D1��f����L��H�=�H�R����H�=�H�A����H����H���!�x���L��H�=�C1����b���H����H�s�!�N���H���v�H�g�!�:���H��H�=�G1��������H���\����H���?�H�8�!����H���+�H�,�!���H���!H9��!�D$�����=����?����H������l���H�5-?L���������H�5[CL���������H�5pCL���π�����MH�5dCL��踀������H�5CL��血�����H�5�>L��芀������H��!�&���fDH���H�H�Q�!����H��H�=(B1�������т��H��H���!���������H�=�B1��|�H�=��!����H���!���H�5�!H��聉���9�%��!�H��������H�5�=L����������H�7�!�b���H��������H�K�!�F���H����������H�'�!�*���H��H�(�!�+���H��tIH�=FF1���H�=�!���H���!���H�5k=L���,����uTH���!����H�=��!��H��u�H�=��!1�1��J���1�1����!H�H��!H���/������!���H�5�9L����~����uKH�*�!�e���DH��H�=�4��H���!�������H�=A1����H���K~���&���H�5|<L���g~��������H�5H�!H������tH�=4�!�\���H��H�=441���H��!�����;���ff.�f���AWAVAUATUS1�H��hL�=��!dH�%(H�D$X1��?"H�s�!L�t$��H�H�$��H���?�1�L��H��I��芆������1�H�|$L�%��tP�H�D$H�,�H������t/L��H��萅��H��ts�H��H�-��!H���!��H��H9\$w�L����|��L���}��H�$L�=��!H���!H�D$XdH3%(��H��h[]A\A]A^A_�@�3}���8�\���1��H�5��H�D$��~��H�T$H��H��1��"��q���D��|���8����1��H�5\?H���~��H��H��H��1������@������ff.����H��H�=��!����uH���H�=��!H�5g��]���H��t1�H��H����f.��[|���8��t�����H�5��!H��H�=��H��1��S����H��t�r�f�1��ff.�f���AUH�5�>ATUSH��XH�=D�!dH�%(H�D$H1��o�H�(�!�#���螋H�=h>�{��H�=�!H��H���H�5Y>�����u?H���&H�5Q>H�������u#H�=��!H��tH�5*>����t����H������D$H��L�d$ L�mH�D$ H�D$(H�?#��H�D$0H�D$8H�D$@H�H�$H�H�D$H��!H��t+I�4$� �H�[0H��tH93u�}�{t��$��H����H��I��L9�u�H�D$HdH3%(uoH�=��!H��X[]A\A]�)z��f�H����H�=xA1��������@H�=��!H��t�H�5=������H�=��!�����|��H�[�H�5KA1���{��H�=}�!�H��H��1��ۂ���H�5_A1���{��H�=Q�!�H��1�貂���舂�����AUATUH��SH�����!������,���H�=��!��H�Ɖ��u}����u!���!H���[]A\A]�f.�1�1�H�5��!�lj��\~��H��I����L���H�5e�!H��I���:~���H�5891��z��L��H��H��1���L���x��H��1�[]A\A]�ff.�f����=E�!u#H�l�!H�x`t ���!�D��H��H�=��!�z��H�9�!��!H�x`t���!H���ff.�@��AWE��AVM��AUATUSH��XH�|$ �T$<H�L$(L�L$0@�t$;dH�%(H�D$H1��;z��1�H�D$H���!H�X H�h8H+�]}��H�D$���M���z�D$E1�L�l$D1��3}��H+D$H����E�������!�L�3I9�t"H��L��L)��I���H�t$ H�;I��I��M����f�!t���!+��!H�H�D$H�L��H)׀|$;��H�t$����� L��H++�/��=��!tE1� �!��H9�$�w?@H���!H�X H�h8H�D$(H��tH�L$H��D$A���~�t�� �!H�L$HdH3%(D���WH��X[]A\A]A^A_���}����1�H���l���H�t$ H�;H�T��I��M����fD�=��!���E�!H�S%HESH��H���[H;\$0��H�+��tH���Ax��H�E1��<���fDH�t$ H�;H���p�I���s����H�=��!��1��D$D�9{���|$D�H�D$��L�5����1����D$D�����L���d ��L9�uߺH�5��1�A������vw��H���ޱ�y����@���!�z���@H9�$�������|$<�?���H9�$��l����,���@1�L������I�,���D�D$�D$���B���1��H�5�<��v��H���L��"�����t$<��tk�|$;udH�y�!��H�ZHDZ���{����H�5��1��v��H������!�D$����%�H������!�D���H���8����g�E1������v��f.������!AT1�1�UH�-�+��S������Hc��#�H�Ëz�!H�߉����Hc��6�H��H��蛅L�a>�H�5�;�<I��IE�1���u��H��L��1�I��H��1��H��[]A\�es��D��U1�1�A�S1�H��H�C�!H�=��!��!H�h8H�X UI������ZY���!��t7��tH��H��1�[]�S�H�=Q�!��H��H��1�[]�4�@H���!H9X u�H9h8u�1��H�5N��t��H���b����H��H�=��!�?u'H���!H�@H��tDH�0脂H���!�8H��t-���!t ������tC�u�!��H������1��H�5���ut��H��H���ٮf�H���ff.���� B�!�M���ff.�f����%"�!���-���ff.�f���AWI��AVL�5N�!AUA��ATA��U1�SH��H�]�!��A��CI��H��H����tY�S<\tE��u܉�����ʍqσ�w��0Hc�H; �!w�Ic�E�|�H�KA)�Mc�L�E��u+�CH�˄�u�E��tA�H����[]A\A]A^A_�fDH� �!L��H�L$H�R HL��H���q��H�L$I���CM�H���K������USH��H��H���!H�@ H�8� s��H�h���!��H���s��H�=H�!H���r��H�<(H)��|~H��H�r�!H��H�P8H�@ H�0��p��H�X�!H�x8H���!t8��n���H�7�!H��H�P HX8H�2H��y��H��[]�f.�H�5��!��p����f����!1�+��!1�����Hc�H��H)�H�H��W������AWAVAUATU��SH�����!H�<$H�T$��H�L$��dH�%(H�D$x1�H���!�D$O�D$ L�``M��tTH�L$pH�T$`H�t$hH�|$XL�D$O�ăH�M�!H�@`��!�H�T$X�D$ H�P H�T$hH�P8@�����!H�����L�=E�!�D$$H�D$P�D$H�D$(f�H��D��H�D$ �0L�L$ H�L$8�T$0�t$4H�|$���ZY����M��t?H�=��!H�L$`H�G H�PH;Q�(H�t$XH;V�H9���H9��gH����HD�|$�/��e*H�<$�|���H��I���p��H�:�!I��H�J H�T$8H�9H�L$0�p��H�L$0H�T$8I)�M���s�t$OH�D$PL9��@���vH;L$��A�H���/H�<$�?^u���E���uL�HB8L��蜮��I��H���!H�@ H�8膮��H���!I)�H�B Lr(H�8�|m��H�u�!�|$H�x L�/u H���t A���H�p8���r��H���w�!�B���f��;�H�t$PH��H��!Hp8H�@ H�8�I����L��H��D��1�H�55�!o���H�����1�L��H��A����A���tX�E�������A�A�F������������A���D$�-���@H�T$PHW8H;T$p��@H����xH��t���!H�S�!L�``���!@�H�\$xdH3%(H���KH�Ĉ[]A\A]A^A_�f�H�D$hH9G8�������@������H;L$����H�|$H�J8H�7H9����H�H9�HB�L�H�H�L$pA�H������fD�����fDH�D$P���fD�#��7���fDH�rhH�J8H9������L�J�<6L9�HC�H�JhH�L$p�g���f.�H�@H��8�����~���fDH�T$`�D$ H�P H�T$pH�P8���������H��������H�<$�������m��ff.���AU�H�5 31�ATUSH��dH�%(H�D$1���l��H��1ɺPL� ,�1�1�L���!1�����ZY��t4���t��~>�����H�D$dH3%(��H��[]A\A]�H�5��!H�=��!�a��H�&�!H�=w�!H��1�H�X L�hL�`0H�@8H��H�$�.���H�$�{�!H��H���!L�hL�`0H�X H�P8H���n���1�A�H��H�2H�5,2�r��H��1�H��1����<���fD1��H�5���k��H���-������3l����SH�d�!H�CH�C H��~%H�SH9�u �H9�tH��H�@H��u�H�C H�s8�8|���!H�C@[�ff.���US��H��8H�|$H�4$dH�%(H�D$(1�����H�|$H�-��!u H�E H�@H�D$H�4$H��uH�E@H�pH�4$H�D$H����H��� H�UH�U H���\H�MH9�t:H���f.�H��H9���H�RH��H��u�H�U H��H�D$H�9H����H����H���zH� !�!H�E8H�$H��H�A@�N�!������H�AH�xH�A +x��!�����9�~ ��!@�=1���H�D$(dH3%(��H��8[]�H�UHBH��H�D$H����H�D$H�MH�M H�9H���7����zH�$H�-a�!H�tH�E H�4$H�8H������H�$1�����f�1���H�550��[i��@��HE ��!H��L� ��E1�1�P�1�1��L���D$0ZY���vH�|$ ����H;��!��D$ �������H�=l�!H�t$H���gwH�-��!H�4$�����1��H�5�$�h���H��1�����DH�M H�|$����f.�Hc5y�!1�H��H��H�A H�8�eyHc ^�!1�H��H9�vH�-�!H�E H�8�AyH�E@��t1��B����!�0���fDH� ��!H�Y �"�!����H�\$��xH��H���#����!H�T$ H�t$H�D$ ���߉����謲)É������)��Hc�H�|�!H�BH�����fD1��H�5���g��H�������1��%w�!����g���H��������g����AWAVAUA��ATUSH��8dH�%(H�D$(1�@���rH�=C�!�?�B� ��!�VUUU1������)�1�Hc���H��H���'g��H�x�rH�=��!I��H�D$��w� D�!L��I��H��L� A/�����H�,)�H� ��Hc�H9�H������LC�1���n��H���Hd��H�D$$H�-|�!H�D$H��I��E��t(H�!�!�H�x`��H�5�,1��Cf��I�ċEI�����I����EI�ب�^�1�L�D$H�56��f����L�D$�=)�!H� b�!uA��҃��H��L� 1�1�1��t$ATAWAVAPL���!PH�Q,P1��ʿ���D$dH��@����i���t\��thH�|$�V��H;_�!��H;��!��H;��!�H;��!�A��I��E����������DH�I�!�8��H�5��!�>����!��E���b�]��8�H�|$�b����f��H�5W+1���d��I��I�ƋE�������H�5=+1��d��I�������H�5 +1��d��I�NjE�Q���f��u������u��@H�5�*1��Rd��I��� ���f.��u����@�H�5Z�1��d��H��腞�P�H�|$��a��H�D$(dH3%(��H��8[]A\A]A^A_�H�5O1��qH�D$�@����H�=1�!1��rqH�#�!�t���fD������H�=��!�JqH�5��!H�=��!H���!�X���j�!�X���H�=t�!�����D����M���H;ۿ!�@���H���!�H�H@H�@ H�xH�q����������c��ff.�f���1�1�������%��!��1�1��y���f���� ��!1�1��Y���f������!��t �M���D���1�����!�#�����H�5�!�H�P@H�@ H�xH�r1�� ���f���AUATI��U��SH��H���!@��H�X H�H8L�+I�D �I�T HE�f.�L9�v)�z�u#@��tmH�[H��tL�+L���b��I�TL9�w�L9�r�L��@��t5L������H��t�H���!H+H�B8�H�Z H��[]A\A]�fDH������H��u�H�[H��tH�I���o����H��1�[]A\A]�ff.���AWAVAUATUSH��HH�=��!dH�%(H�D$81�H���!H�P H�p8H2� ���H����H��H���!H�=��!H�H H�@8H�L$H�D$蟟��H��H����E1�E1�DH�=��!1�1�I��L�����H�I�L9�u�I��L+-]�!I��M9��D$�L�=I�!L��L)�L���K���M�4H��tM9�s�L��1��b���I�H��u�D�l$1�1�H��藚��L��1�1���艚��Lc�l$H��H�l$+A�ǹ L��H����d��L��Ic�J�|%�g^���D$F�48Mc�B�D4+A��6fDH���!H��H�P H�x8H:L���K^����H���M�t�M��thH��D���m�����u��H�5g&1��_��H����H�W�!H�L$H�H H�L$H�H8H�D$8dH3%(u[H��H[]A\A]A^A_�fDH�|$��a����1��H�5�%�5_��H��蝙�I��A�����_��D��H���=V�!� �Hb�����tH���fDH�=�%H���xj���H��H���!H�x`t2H�@`�H�5�%1��^��H�������!H���H�P H�5s%1�H�P`H�P8H�Ph��e^��H���͘H��!�@pH���f.���AT�H�58%I��U1�S�"^��H��H���G^��L��H���<^��H�|��iM��H��H��H��H�����1��#f��H��[]A\�ff.���AUATUSH��H�{�!H�-��!H���!H�r�!H�g�!L�h L�`8���!����@��tV1�����k��H�.�!H�P L�h H�P`H�P8L�`8H�Ph衲��H�="�!�w��H�-�!H��!H��[]A\A]�@1҉�1��}l���ff.�����2���f���1��%���D�����!tkUSH��H���!H�x�hH���!H���m1�H�� H�5��!H)�H����]���DH��H�荝��H��H��[]�?Z�����H�=��b���f���AVAUATI��UH��H��S�v\��H��u[]A\A]A^��L�uH��L���Q\��L��H�tI���hI�UH�EH�<H���-a��H�}L��H���>Z��L�%��!I\$(I9l$`t+I9l$ u�I�D$8H��t�H�I�\$8�lI�D$@�r���I�D$hH��t�H�I�D$h�ff.�����< tA< uCH�Z�!H��t/��D�� uH��H9�t��� u�H�B�@H��ø�1��ff.���SH���!H9{`t6H9{ t[�fDH�S8H��H)�H9�HB�H�C8�kH�C@[�H�Sh�H��H)�H9�HC�H�Ch�ff.����H��u�fDATUH��SL�'H��L����Z��I�4L��H)�H�P�_��H�A�!H��H��H)X([]A\�>���ff.���AWAVI��AUA��ATA��U��SH��L�8I�?�mI�H��tH�5�#�1��*�E����H����H�CI;G~)�f�H�����H�[H��t?H�CI;G5I�WI+H�4�A8�u�H����Y��H��H����H�[H��u�f�E��u;��!H��[]A\A]A^A_�DI�vI�>���H��t�H�CI9G}���I�vI�>���f������t3SH���H���X�����u�< uH��1�����H����uل�[��Ä����ff.����AWA��H��AVI��AUATUH��SH��(� Y���|H��H���Y��H����I��I)�H��H�D$��H��L)�M�.L����X��H�D$���!@uH�H�!L9p��A�� ��H��L��L��1���V����u)H��tH�|$H�t$H)�L��Z����uA��u4�H��(��[]A\A]A^A_�fDH�D$I��1��e���DH�l$K�t%L��L)�H��H)�L��]��I�L��L���(H���!�H)X(����fD1��@H�D$H�KL��H�L$N�< I�4�dH�L$I�J�< H��H�Q�\��I�>L��H���\��H��H�L$uJH�-#�!L�H](L9u`tNL9u ����H�E8H������L�H�E8�hH�E@���f.�I�>H�t$H��L��=\���H�EhH��t�L�H�Eh�1��G���ff.�@��AVA��AUATI��US��H�o8@��t|H����E1�A8�A��A�� @H�}��iH��H��t2H�@H9E}�&H�EH9CI�T$H��D���n���H�[H��u�H�mH��u�E��u'[]���!A\A]A^�H�wH�?��H���x�����I�t$I�<$�r�[]�a�!A\A]A^�f���H�@tUSH��H�P�{0t7H�sX�>�H�{@��w���{0 t�{u [��H�sXH�{P[��f�1�� �����ff.�@��H�@��AUATUSH��H��H�wH�?L�%N�!H�-?�!H�<�!H�)�!��H�{PL�- �!�hI�E`1��{0tH�CXH��!1�1�H�Bh�`���H�=�!��n��L�%�!H�-ֽ!H��[]A\A]���AWAVAUATUSH��H���!H���H���6H�-�!�CE1�v!H�sH�r8����HcD�H�>��DH�{P��gI��H�����CH�9�!��H�;��H�!�!H���H�Z`ǀ��{H���t�J���H��!H����{u�H�5P1��T��H��H��tH�=C�!��H�-��!H���H�@`H�E`Dž�H����dH�S H�E@H�~�!H�P(H���H9���FH��[]A\A]A^A_����H�51��}S��H�{PL�52�!L�-C�!L�%4�!H��H�.�!H��!�fH�SXH�sI�F`H��!H�;H�Ph�w�1���H�{@��l��H��!L�-�!H�C@H�λ!L�%ǻ!H�CH����fD�H�5i1���R��H�����DH���H�@`H���������H�e�!H���H������1��H�5��R��H��[H��]A\A]A^A_�܌@1��H�5��UR���{0H���8I�<$�oR��H�{I���cR��I�}H)���]H�SI�4$H��I���dP��H�{L�s�7R��K�|5I�4I4$�P��I�<$�O��H�sH�;M�,$�,������I�|$���H�5�1��Q��L�sH��M����L�kXM�<$L���Q��H�{H�D$L��Q��H�T$L��H�t��]H�sI�$H��L��X��I�|$�1j��L���9k��H�;L�����)���f�1��H�5x�Q���{0H���@��!@�3H���!1�H�@H�x�=�������H�541���P��H�sH�;H����H�CI�$H�SI�$���f��H�5�1��P��I�<$H���P��H�{I���P��I�|�+\H�SI�4$H��I���N��H�{H�sL���N��H�{L�k�kP��I�4$I�|L�L��N��I�<$��M��M�4$H�sXH�{P�]�������H�������H�5{1���O��H������1ҾH������H�5L1��O��H�����fD1��H�5��O��H��H���r����m���D1��H�5��eO��H��H������E���D��H�����H�5��1��+O��H������1ҾH����H�5Z�1��N��H�����fDH�5�1��������L���f��H�s1�I���z\1�I�EH�CXI�4$H�P��[I��H�CXA�I�<$�NL��M�4$L��L����f��L���gh��H�sH�;���V���fD�@PH��1�[]A\A]A^A_�wz�1��H�5��-N��H��1�H��1��.�����f���!@�������_���f�H�5��1��������L�sXE1��'���H��[]A\A]A^A_�D��������H�U�!AVAUATUSH�XxH����H���H9���H�-���H��H����U��H�C`H9�u�CE1�v���"HcD�H�>��@H�{P�o`I��H���]�C��H�sH�;�R�H���!ǀ��{H���t�?���H���!H����{u�H�sH�;���H�5�1��L��H��f�H��t"�H�5T1��L��H��1�H��1��~H�-2�!H���Dž�H�E`�$]H�S(H�E@H��!H�P(H���H9���5[]A\A]A^�����1�H����H�5W�1��K��H���V���H���!H����C����>���H���!H�XxH��tH���H9��j���1��H�5c�K��[]H��A\A]A^���H�51��K��H�����1��H�5��mK���{0H���{I�<$�K��H�{I���{K��I�|�WH�SI�4$H��I���~I��H�{H�sL��I��H�{L�k�AK��I�4$I�|L�L��I��I�<$�H��M�4$H�sXH�{P�3���>����H�51���J��L��H���b��H�s1�I���rX1�I�EH�CI�4$H�P��WI��H�CA�I�<$�FH��M�4$L��L����b��L���_d��H�H�sXH�x������1�1�H���n�H�5�1��;J��H�����1��H�5�� J��H��H���u��p���1��H�5x�I��H��H������M����H�5b1���I��H�sH�;H�����H�{@�k��H�{@�c��H�C@����1�1�H���@��H�5��1��I��H������1�H����H�51��cI��H������H�5�1��HI��I�<$H���lI��H�{I���`I��I�|��TH�SI�4$H��I���cG��H�{L�s�6I��K�|5I�4I4$�G��I�<$�F��H�sH�;M�,$�+���6���I�|$��1��H�5�H���{0H��u ���!@tGM�,$L����H��H�{I���H��L��I�t�UH�sI�$H��� O��I�|$�Fa��L���Nb��H�sXH�{P������1��H�5��9H��I�$H�sH��H�CH�;H�SI�$�j���u���H�5~�1��z���D�@P1�[]A\A]A^�t��!@�x����CY�n���H�5�1���y�=���[]A\A]A^�ff.�f���AVAUATUSH����H�5�SL��H��tnH��L�%�L�5�L�-��H��u$�?�L��H��1��FN��H�[H��tH�{H�M��u9tM����fD[H��]A\A]A^�F��[]A\A]A^����AWA��AVI��AUI��ATUSH��L�fxI9�tvM��tq�I�D$`I�|$I�Ex�}D��I�|$@�`��I�\$8H��t-f�H�{H�sH�kH+3��NH���DD��H��H��u�L���4D��M�exM��tM9�u�M���ADž�E��uIDž��H��[]A\A]A^A_�D��ATU��SH��H�5ۮ!H���H��tH�F H�@H9GP�5����h�QH�ÉhH�@H�@@H�@HH���!H�x H�p8L�H(H�WH�sH�sXH�H�SPH�PxL�K �C0H�C8����H�S`H�XxH�����wL���Ic�L�>��fDH�5��1��UwH���!fD���H��[]A\�f�H�WH��t)��uH�BH�CH�H�21��RH�CH���!�C��H�J`�jH�K`H�Z`��9����������|�� ������ ������0�����H�|$������S���H�5>�!H�|$�w���@H�71��&RH�CH��!����fD蛕��H��!H�P`H���OH�RH�SPH�Ph�C0H�SX���H�=�!�|]��H�ݬ!H�C@H�ʬ!H�@H+BHH���!����+���H���!����H;x��I��L�K �y����H�H�HH9O���<2�u�����KOH�{1�I��H�;�!L��H�@ H8�}��H�A��{L�c����HCXH��!�����H���G���0���H�F8H9GX�"������f.��:�h����C0�\����C0�.���@��!�����H�C�C0������AUI��ATI��USH��H�e�!H���H�k8H��t H�EH��H9�th� �>N�H��H�C8H�EH�k8L�mL�m�NL��1�H�EH�C8H�h�PH�EH���!H�@(H�C(H��[]A\A]�f�H�EH+EL�,�H�}L���NL��1�H�EH�C8H�@J�l(��OH�E���AUATUSH��(dH�%(H�D$1�H�t$H�|$�STH�D$H�HH�D$H9�u�H�@H�D$H9���H��:t�H�W�!H�x�.MI��g�!��� fA�$�����H�D$H�\$H;Xt=L�-��H�L��H�߀8IE�H����H�{H���L���H�D$H�[H9Xu�L���>������1�!��!H�D$dH3%(u7H��([]A\A]��H���!� L���A��H���!A��G����A��fD��ATUSH�� dH�%(H�D$1�H�|$H�t$�SH�D$H�|$L�@L9�tXH�5+�!H��< ta< u2H��tW��D�� uH��H9�t ��� u�H��H��u+H�H�|$L9�u�H�D$dH3%(�H�� []A\ÿ ���H�D$H�l$H;h���H�u�< ��< ��H� z�!�H��u�f.�< uH��H9�tt�H�S< u�H�CH��H��1��LH��H���I����H�}L���y���L����<��H�D$H�mH9h�f���� ����Z�!�;�!����fDH�R뜺�됺1�뇺��Y?��f���AUATUSH��(dH�%(H�D$1�H�k�!H���H���cL�h0A�}txH�t$H�|$�!QH�\$H�D$H9��FA�H;Xu�>H�D$A!�H�[H9XtvH�;���ń�u�L��H��0���u̽ E��tT� �M1��H�5��>��H���mxH�D$dH3%(�H��([]A\A]�fD�E��u���L�%;����H�y�!L��1�H����hKH�CH�D$H�\$H;Xu�=f�H�D$H�[H9Xt,L��H�މ��t���t�H�{L�����H�D$H�[H9Xu��@������!�r�!�@���DL�-�����@H��!H;XtA�H;[����������!@u�1��H�5���<��H���Rw����X=�����H���!9��ua��wH� H��s=AUATUSH��H�XxH�P(�{H�S(�=�SH� g Hc�H�>��f�H���H�H H�2H9qt��'����H�= �!��H�{@� V��H�= �!�U���{0H�C@�oH�HH�CHH��u �DH��H�QH��u�H�KHH�iL�cPL�H+h��!H�+�����{��H���!H�rH9r u�@tH�9��;��H�CH��[]A\A]�fD��NGH�{X1�I��H�>�!L��H�@ H8�u��L�k1�Hc�M��tL���;��H��H��L��L���l��H�CH���!H�P H�RH�SPH�@8H�CXH��[]A\A]�fDH�P8H�@ H�@H�SH��W�����FI��H���!L��H�P H�x8H:1��u��Hc�H���!H�P8H�CH9���H)�H9���L�kL����:��L��H��L��H���l��H�CH�H�!H�@8H�C����H�@ 1�H�0�*HH�CH��!H�@8H�CX���f�H��H�5]�1�[]A\A]�ClL����7���{H��[]A\A]���fDH�9�8:��H�CI9��R���HCXH�C�E���fDL�kL���:��Hc�L��L��H���;k��H�CH���!H�@8H�CX� ���H�H�SPH9�t})H�KH�sXH�sH�KXH�H�CP����H�KH�sXH9�r��C0 ����H���m���D��AUATU��SH��H� �!�JH�C@H���!H�P H�H8H�:Hπ?��H�@H9���H�ZH��t H9��{�����H���!H�h L�eL���9��H�;I��� 9��L��I�t�MEH�EH���!H�3H�@ H�8�c?��H�l�!H�H(H�Q�H���H�P(H�Q(H9X`��H���cQ��H�<�!H�x �cR�����!H��[]A\A]�M���D1�1�E1��r��Lc�H��!H�P H�x8H:�b8����H���X����%�!��H�Ԡ!H�P H�@8H�:I�tH�SL)�H�H��"=��H���!H�z H9z`��H�j(�ՠ!�_����=�!�R����)�I9��D�����!�8���@H�P H�P`H�P8HPh�������!@�x�����uH���[]A\A]�2�f�H��[]A\A]�DH� �!H�x 谘I�������H�BhH;B8�E���L)�H�Bh�9���fD������f���H���!H�PH9P tH����M���H���t���@H�x8u�����ATI��USH��P�/dH�%(H��$H1�H���p8������:@��|�H�=k���3��H��H��H�;�HD��K>�����!���b�|$�8���=��!���@��|��H���!H��!��! ������H���!H�x`��� ��H���!1�H�x`@��1������ ����=���|$��u8�s7��H�=��!�t$H�������|$�Q7��1��j<��f.��;7���|$�27���l�! �=H�=6�!�)O��H�*�!�]m��H��$�1��H���F4�������H���H�T$H�H��$��4�������1ۋ<$H�5���9��H���9�H��1�H���C���@��|��1��r<������I�����m���H��$HdH3%(��H��P[]A\�@H�=����@�i���f.�H�|$�66����������H�5 �1��:4��H���n1��fD���H�ܜ!H�x`�L���1���E����;������! �*����������@1�H�t$���2���������H�=8��Z?����D��1���8�;��1��H�5��I���3��L��H��1��e����H�=���?�����H�5G�1��E3��H���m�<$�4��1����fD�����fDH�PH�@8H�P ����H���!H�x�Q����k3���<$�4��H�=�!�W6���|$���l3��H�=U�!�@6���|$���U3��@��|t,H���9H��E1�L��H��H�S�1��9����c9��H�=��!I����5���|$���3���|$�4���ff.�f�����!�@��AWI��AVAUI��ATUSH��(�T$�T$dH�%(H�D$1��?H�D$��H����1�1�L�t$I������A�|$t A�? tK1�L��L���l��Hc�Hc�I�H�A�?��L9l$��L���d����t�A�? tI���H�D$I��L9�+H�L$dH3%(L���!H��([]A\A]A^A_�DH��L��I����"D$H�ӄ�ugM��x�rf�M���L��1�1��_k��H�I�H�A�?��L���%d����t�I����@H��H�D$L��I���e���DM����"D$��t�H)�I���L����L��H)�H��L��f�H����c�����%���I�1�1�H����j��Hc�H�;u������I��������1�1�E1�H���������|$u1�I������?���1�1��q����0��ff.���AUATUSH��dH�%(H�D$1��?tUH��E1�L�l$�Hc�H�IĀ}t1�H��L���$j��L����b����u�H�L$dH3%(L��uH��[]A\A]�E1����.0��ff.���AWI��AVE1�AUI��ATU1�SH��H�?dH�%(H�D$1�H�7�/��H�x�;I�uL��H��H�$�-��L�$$�M����tuH���Tb������H�=ŗ!H���o��1�1�H��H���=�Hi����~4�p�1�H��� f.�H���A�H�JH9�u�H�H��I�HÀ;�?A�$H�<$I�M9���A�|$� ��L�����x� �FH��H��H)�L�I9�u�H�����6,��H�D$dH3%(��H��[]A\A]A^A_�H��1�1�I���h��A�D$� H�H�D�;�`���H���?a����t;1�H��1��Oh��H�Ȗ!H�H�H�L9j`u�H��I+MH9Jhr�I���������h��1ҍH�H�΅� ��DH���A�H�BH9�u�Hc�H�V�D3I�H��M���DH�=�!H���ym��H���8�;�����H���`�������;�����H���f`������fD�;�h���H���G`�����?���1�H��1��Sg��H�̕!H�H�H�L9j`u�H��I+MH9Jhr�I��@H���!L��H)�H��H)P(��9I�}�*��H�$H�{�!I�UL9h`�7���H�HhI)�L)�L9�LF�L�xh����H��1�1�I���f��A�D$� H�H��8���H��1�1�I���f��A�D$� H�H����I��H�������W����1�1�H���lf����������p�1�H��� f.�H���A�H�PH9�u�Hc�H��I�H��z���H��M��H���`�������Q,�����H��H���E1�dH�%(H�D$1�H��H�=S�!��/��1҃�t�<$�tHcT$H�|$dH3<%(H��uH�����+��ff.�@��H��!H9xt1����~�@�fD��f�AVAUA��ATUSH��H�?�J���H�;H��H�����I��H�H�B�< u1�[]A\A]A^ÐH�CH�8����H9�uH�CH�;H��L�0L���:)����t[�]A\A]A^��I�<.�w���L�sI�>H�<t�I9�uH�3L��H���(����t�A�uL���������r���ff.����SH��H�?���HH��H�������<[���f���AUATUSH��H�ے!H�x ��A��H�˒!H�Ë�!L�b �@��H�z8L��E1�1�H8�*��H�|�5H���!H�H�<(H�J H�r8H1�J(�����!@��H�f�!H�p8H�x �6��_�H�H�!H�x H9x`��H����A��H���ZC��L�%#�!I�\$ I�l$8�$:I�D$@H��!H�@(�.�����d��u�!�'�!H��[]A\A]�� u4I�|$H��t*�����t!H���!I�|$H;xt1��������I�<$���H��H���!H�x8H9�slH�@ H��E1�����DI�4$H�;H����&��H�Z�!E��tMH�@81����fDH�PhH�H8H9������H)�H�X`H�H�Ph���@A��H�@ �a���Hh(H�p8���M�d$�N���ff.���AWAVAUATUSH��H��H�/H���0(��H�5�!1�H��I��H���!L�h8L�p ���H���tH�;I��Hǀ?uH��1�[]A\A]A^A_��1��b��H�;I�B�<'t���!@t �^���I9�t���O�H�8�!�=A�!H�X tfH9Xt`H�L��L)�L�H��H��H�T$� b��H� �!H�T$L�y8H�<�PZ�����8H�CH�8�L'��H�H;-2�!��H�ŏ!L�`8���!@uh����M9�w>H���!M)����!Lk8�7�H�C@��H���[]A\A]A^A_�f�H�i�!�r�!L�k8L�s ��H�;L���Ea��H�;L��H���7a��I��H9�u;�r���f.�H��!�H�h8���H�;H���a��H��I9��<���H�;H��IY����u��(������H�ώ!H�x8H;�#Y����u����f.�1�H�����H�;I�w�Y21�H�B�8 H�B�D8H��!H�@(H�@8������ff.���AWH��AVAUATU1�SH��H��(H�?�!H�HH�x8L�h`L�aH�H H�|$L�qM��tI�mL�xhH���/H�HI��H9���I����I9���M�@I��u�1�H�5Ԑ!H�=Ր!�A��H�=ɐ!��F��H� ��!H�Q H�AH9�tH�BM��t H9j��H��tGH��tBM��@��@H�PL9�uH�AL9�uH�A H9�u @��tH�A`L�yhH�@H��tH��u�H�D$H�A8H��([]A\A]A^A_�]���DI��u:H�9H�T$H�L$�$��H�L$H�T$I��I������H�Q`L�yh�V���I��E1�����I��1�H�5я!E1�H�=Ϗ!�@��H�=Ï!��E��H� ��!H�Q H;Q�X���H�BM��������F���ff.�@��AUATUSH����!���,H�]�!I��I��H�k H;k��H���!�������H�2�!H�x H�@H9�t1��.������6H��!H�@ H�8�s���1�H��H���!H�X �>/��H� �!H�A H�PH+SH�Y �H�y8I�mH��I�$H��[]A\A]�fDH�}�#��H9C8�T���H��1�[]A\A]�1���.��H���!H�x8��H�@ H�xH��t��E�����t�H�Z�!H�J H�BH9��>���H�yH�z ����@H�-��!H���!�1�H�5~��W"��H��H�ڿH��1��RTH��1�[]A\A]�DH�x H�@���1��-�����@��AWAVAUATUSH���|$X@�|$]dH�%(H�D$x1�H���!H�PH�T$(H�P0H�T$0H�P H�T$8H�P8H�@8H�T$@H�P`H�T$HH�PhH�T$P�PP�T$_@��tH�PH�P H�D$p�D$^H�D$ H�D$hH�D$H�D$fDH�t$ H�|$�������H��!H�t$pH�H H�@H�L$H�PH�IH�zL�1I9��D$^H�|$�LH�D$H��H��tH�XH�|$hH;��H�3HD$h1�H�PH���'.�(H�|$pI��H���!wD�D@L9`�%L���9��H�_�!H��H��HB(H�D$pH��H�D$pH���H�B L�`H�8� ��I�,$H��H��� ��H�|$hI��H���HD$hH��H���!L�x I�?H��tO�|� tHH�s�,I�H�و!H�@ H�� H�Lj!H�@ H��DH���!H��L�x H�@(I�?H��H)�J�t0�T,I�H���!I�4$H�@ H�H�8�g&��H�p�!L9``���HXhH�P H)�H�P`H�XhL9`����H�P H�P����@H�B H�|$hH8�7�HD$hH��H��!H�x ��H�|$p�H���!H�P H�EH�$�:fD�%�!@�{H���3,H�̇!H�P H�RH�P H�l$p��H�:��/H��!H9���H���!H�@ L� L�����H��L��I���.H��1�H)�H�i�!H�@ H�8H��Z�H����PH�L9��DH�XH�9�!I��H�x �-6��H�&�!H��H�z ��6��H��!H�@ L�pH�$J�<8H)��)H��L��I�H��!H�@ H�@H�8�k��H�Ԇ!H�@ H�0H�@H�8H�H����H���!H�P(H�x H�TH�P(H�D$pH9x`�����H�PhH9������H�OH�H)�H�H`H�Ph���!@������H��#�{���fDH�I�!I��H�h(H�x H��t0H�I�\$�H�H���P����u�H��!L��H�x �3���fD1��&����L�����H��!H�C H;C��H�@H�C H�|$�7���|$]�����1�H�|$H���!tH�h H�x`t�Pp��uH�@`�6�H�ω!H��z!H���H�P訅�D$d�����H��1����H��� W�i1��-a���D$d���t�H�|$d�ą!�C��H����H9��H;y!��5��!�|$d��3H���!� -H�5�!1�1�H�C@�&��H�=�!��5��H�ׇ!�BH��!H�z!��y!��H�PH�D$xdH3%(�sH�Ĉ[]A\A]A^A_���|$]tH��8��H)���H�4H�|$���H�U�!H�t$pH�@ H�D$H�D$�q���DH�8���H�C8�L���H�|$���|$X��H� �!�O���H�|$����H�D$hE1ɀ|$^H�D$p��H�T$H�t$ 1�I��H�|$�7��H�|$h��4��H�=��!�:��H���!H�L$(H�HH�L$0H�x`H�H0H�L$8H�H H�L$@H�H8tH�L$HH�H`H�L$PH�Hh�L$_�HP��t)�ڂ!�s���H�}���I���d������!���1��F������f���1��E���D����2���f���AVAUI��ATI��1�US��'H�5�H���X ��H��tcH�ŻL�5c��f�H��I�<$H���q&L��1�I�$H�l�� ��H��H�CH��u�H�S�H��I�$L�,H�[]A\A]A^Ð�1������AWH��AVAUATUSH��1�H��XL�-��!dH�%(H�D$H1�H�(�!�D$H�P8H�h0L�`L�x H�T$ � 'H�Z�!H���!H�x`��H�L$@H�T$0H�t$8H�|$(L�D$�B+�|$�H��1ɾE1�jE1��H��藞��Y^��� �H�5�1�A�����H�ڿH��1���J�� ��!���H�W�!H�P`H�����|$H�t$(H�L$8uYH�p H�H8H�=��!�%��H��!L�-o�!L�`H�h0D��H�L$HdH3%(��H��X[]A\A]A^A_�f�H�P H�PhH�p`H�P8H�Hh�f.�H���!H�T$(H�P H�T$8H�P8H�T$0H�P`H�T$@H�Ph�����(H��I���(L�H�$H�r�!H�P`H�@`H�T$�}H�T$L��H�M�!�H�P`H�$苄�H�5��1��h��H��E1�H��PL� �}�1�1�1��fq��L��1�E1��D$XZH�$�?��D$��������H�5�!H��A��m�����g���H�L$ L���H������H�5X�1�����H���EQ������H��!H�P`H���-����H�T$ L�x H�P8�-���fDH�PH�@8H�P �|������ff.���AWAVAUATUH��SH��HdH�%(H�D$81�H�|$ �!�������H�|$(��������H�|$0���������H�5N�1����H���gP�����Å����|$ ���1�H��1�����Ã����1����_���������p���|$$��B�������|$$�P��1�H�5��H��1�������S���H�5C�1��]��H�L$8dH3%(�mH��H[]A\A]A^A_�f.��|$$��������Ņ�u|�|$ 1������u �|$ �����|$,�������������������|$ ����|$$����|$(����|$,�}���|$0�t���|$4�k��������|$ �W���|$,�N���y���D$����|$(�4���|$4�+���ډ��������w�D$���k�|$0�����I��H���L�hE1�L����H��I���"f.�M�L��I�L��� I��J�0�|$0H��L��H�$���H�$H��u���|$0M�l$�����|!L�������|!A�$��u"���< tA�EI������M��< u�I�E�A�E�H9�t ��������L����@�|$(1�������`����|$(����|$4��������@����|$4����1�H�5�����fD�|$,����H�5��1�1�H��H�s��=��������|$0����H�5��1������b���L9�t����L���m�����1�H�t$����z!���1�H�t$������|$1�H�t$�����D$�ԃ� �u[�D$�ԃ� �ue�T$1��� �����H�5��1��2�������|$0�����H�5��1��������H�5��1��������H�5��1����������W�����AWH��AVAUATUSH���H��dH�%(H��$�1�H�Vz!L�d$PL��H�h8L�h@H�@ L�xH�D�4(���H��$���H��$�H�D$���H�5�y!H��H�=�|!����%��������1�� F��H�|$,��������\J���D$,�ԃ� �tFH�=Wy!貲��H��$�dH3%(��H��[]A\A]A^A_�f�1���@H�qy!H�@`H���LH�@H�L$HH�T$8H�t$@H�|$0L�D$+H�D$�"H�6y!H�T$@H��L�D$HH�L$8H�@`H�t$0�"����|$+H�y!��H�j8H�|$H�T$�}#H�T$H�B`H��L���i���H�-�x!H�E H�8E�����-��H�E8L�m@���sL��H��k��H�D$H9�$�t�}��H�5�x!1�1������D��1����fD�H�5��1�����������H9E8�x����o���@H�B8H�Bh����H��萆���'�������H��z!H�8H�������� ��f.���USH��(dH�%(H�D$1��x!���H�|$���H��H����H��w!�o�w!� �w!@H�t$H�x`)$�1ɺH�����������z51��H�5,����H����HH�=�v!H���&���H��H�����H�����fo$ Jw!�vH����g���8����1��H�5�����H��H��1��@�fD��0��H�D$dH3%(�H��([]�����8�4��1��H�5��H��� ��H��H��1��?H���d���f�A�1ɺH��軑������fD����1��H�5[�H���e ��H��H��H��1��`?�P�������H������1��H�56��% ��H���G������;���8�d��1��H�5�H������H�ڿH��1���>�����R ��f���AWAVAUATUSH���dH�%(H��$�1���u!��#H�Tu!H���H����H�x ��H�B`��rH�%u!�xPt/1�H�5N���L��1�H����h�����������H�|$8��������2�H�53�1���i!@���H���cFH��t!H�=�w!H���H�r H�������$���R�|$<�y ���$�����|$8��0��I��H����H�XE1�H���EI��H���DL�H��M�H����H��N�<(�|$8L��L��� ��I��H��u�A��|$8I��I��1�����H�D$A����,I��< t< u�I�G�A�G�I9��.1�L���H�5$�H��I������H���1H�5ȏL��� ��1�H�5��H�D$���H��H�D$��1�H�5������H��H�D$ ��L�T$1�� L���Y ��L�T$L�\$ H��H�D$(�*1�� L��L�T$ �- ��L�T$ H��H�D$��0I����I��H�@ H�D$I�F(H��tL�p L��1���H�t$1�I�FH�D$(I�H�D$I�F�L�t$I�FH��uL��M������1��H�5z�� ��H���DH��$�dH3%(��H���[]A\A]A^A_�@�S,���̐�|$8�'���|$<�� ����u.�|$<��� ����u�|$<� ��H��t!H�8H������ ���@1��H�5��� ��H���mC�S�����<$H�t$01��Q���D$0�u�ă�~QH��q!H���H�x �z���H���"C����DL���`������1�1����������Q����H���8��M�����@H��L�l$@E1��EH�D$4H�D$H�sL���������t#H� �p!H�AXH����H�t$HH9p��I9�t;H�CH�;H�p��R���1��+41���k�/E���JnH�{�QB�@�'E�RTH�=�p!����H�=�p!��o�D$4����X���H�|$�n���H;d!��H;�c!��H;�c!�H; d!H����I��H������@H���H� p!H9�t8H�|$H1�fDH�PXH��t H9z��H����H9�u�H��o!H�@XH��tH�@H9D$H����H�{���H���L�{1��H�5�I������M���L��H��H�����1�����1�L��� c��L��A���U��A�����H�{A������#����W���fDH�S H�����H�5��1��H��H���@H�������@������H��n!�����|$8����1��H�5�����H���d@�J�����|$8���1��H�5I�����H���4@������S���H��1��B���f�H�S(H���,����H�5���3���f�H��1�I��1��1H�$�FL9�tcI�G(L�p M�w M��tI�G(I�F(I�M�����I����L��M������M��t-I�H�4$�x��M�w ��t�H��ID�M����@L���H��������H�5k�1�����H���D?�` �����u+�$H�}H�] �s��H�}�j��H��H���_��H��u���D1��H�5�w�}��H����>����H�)m!1��H�5{�H���H�X �K��1�H��H��1��L6���L����������L��H�5���[ ��H�5��1��M ��H�D$H�������� 1�H������H�D$���1��H�5 w����H���7>�#����=��ff.�f���AVAUATUSH�� dH�%(H�D$1�H�Il!H�x(�NH�P H�h8H�|$L�h@H�L�bD�4(�l|��H��H��� H�t$1�A�H��H��k!�H�@`�W�������)�H�5��1����H���o=H��k!H��H�=�n!H���H�p(���� ����� ��1���7��H�|$�j ���D$�ԃ� ��H�ak!H���H�x(�Q���H��H������H���>����t7��H����<�D$����jH�D$dH3%(��H�� []A\A]A^�f.�1��H�5�����H���<��;���8�d ��1��H�5�yH������H��H��1���3H������t�����ă��\�����R ���M���DH����x��H��L�����H�-Nj!H�E H�8E�������H9E8vH�E8L�m@��ae�Lo��H�5j!1�1��L����H�5��1��9��H�������[����8���1��H�5yH�����H�ڿH��1��3�����H�5��1�����H���E;H��� ���H������e��������C����1��H�Bl!H�8H���/����u��D��AWAVAUATUSH��HdH�%(H�D$81�H�'i!H�h`L�p8L�h@L�x H��tKH�L$0H�T$ E1�H�t$(H�|$�fH�L$0H�T$ H�t$(H�|$�]��H��h!H��h!H�@`H�pH�@81�H�@@H�p �"1Ҿ1��:��<H��h!H��H�p H9pu�H�H�P8�<u�L�fH����H�xM��L+GM�`�eH�=Vh!H�D$����H�=h!�1�H�5��H�h`L�x L�p8L�h@�Z���H��1��H�5!��D���L�L$1�M��H��H��1�H���:1H�D$8dH3%(u0H��H[]A\A]A^A_�H�H(L�x H�-o�L�p8H�L$L�h@��e���D��U�H�5a�1�SH��dH�%(H�D$1����H���9�&KH�=�g!H���7H���g!t{��g!H�$H�x�7 H�<$H��tm1��L��H��H9$w�H��H��� ���H�4$�H���8?��H����H�D$dH3%(u%H��[]�f��$�f�H����v���fD��AVLc�AUE1�ATUD��SH���fDL��H���8����)��A�Lc�1�J�<#�.4����u�A�}Hc��^ E��~9A�u�1�L�� fDH����H�JH9�u�Mc�I�A�E[]A\A]A^ÐI��A�E[]A\A]A^�ff.�@��AWAVAUATUSH���(f!H�=`f!�D$��!���H��e!H�X8H��u�g@H��H��t8H�@ H��H�8�7��1�Hc�H��e!H�@ H�8H��F3����H�}e!u�H��H�@8H9��H)�H�x�_I��H�Ue!H;h8�,1�f�H�@ H��H��(H��A�D�H�!e!H9h8w�I�D���L�%�e!��D��g!�D$M���VI�<$D�T$�V����t$Lct$�,M��D9�� DE��M��D9���I�$M�~A�MB80u�J�<8H��v4A�M8u�I�4J�T0I�MH����1H��H��@87u�H��H9�u�1�D�T$�2��L�%�d!D�T$��t�M����H�<d!L9` uH�@8H)�L9��^���I�<$D���j���L�%g!I��M��u��fDM�d$M����I�<$L�������u�L��M������L�%Pd!E��D9�����@M�d$E1���f!L�%'d!M�������H�=�f!�{�H�5e�1�����H��1��,��b!�f�M�$$L��D�T$L���L5��1�I�<�1��L�%�c!D�T$������`������H��e!L��L�0H�PH��e!� 7c! �b���1�I�<H)�H���!;���D$ ��D�=�e!H��L��[]A\A]A^A_���H��e!H��t(DH�kH�;H�-�e!���H��H�����H��u�H�~b!�le!ǀ�H�@H��b!�J ���H��b!H��[]A\A]A^A_�H�4b!�%mb!�H�x �D���I���L��1����1��H�5���B����H��1��C+����f.�@��S�/H������H�xH��H��[HE��ff.���H����3H���1�H��c�����D1�H��'������H����1�H��?B������1�H�����������ATI��UH��SH��dH�%(H�D$1����� H��H���H��� ���1҃;"t�}tH�$�9u I�$�H�L$dH3%(��u H��[]A\�������H��tH�@�?u� H��H9�u��ff.����f.�< u�H�����u��ff.�f���H��t?UH��SH��H��H��tfDH��H�|��2���H��u�H��H��[]���������H������AUATL�$7H��UH��H��SH��H��(dH�%(H�D$1�L�l$��1��1�L��H�<L�L�d$�21��1�L��H���%1��H��u(�;�u>H�L$dH3%(u;H��([]A\A]�L���(����1���uҀ;�t�fDL���p(���������fD��AWAVAUATUSH��H���>��\_!H�����������E1�H���H� ~c!H�=wb!�b������jH��H)��?���Hc5Xc!H�D$H9��JD�t$E1�L�%;c!�f�M��H9�tDH���0��A��H��H� c!H�=b!I��A�$D�5�b!�����u Ic4$H9�v�D�-�b!�D$�m��������H��H��[]A\A]A^A_�j���f.�1�H�5w���M'H��H��[]A\A]A^A_�H)��ob!�J���A�H� ]b!� H��H�=Na!�Lb!�3�����u?Hc8b!H��H�D[]A\A]A^A_�@��t4H��H��[]A\A]A^A_�3��fDH��1�[]A\A]A^A_��H��H��[]A\A]A^A_�B3��f�H��H��[]A\A]A^A_�1��f.���SH�����H���{���[���D��UH��SH�����H��H��uH��uH��H��[]���H�5��1���H��1����H��H��[]�f���AUI��ATI��USH����L��H�����H�|�r���L��H��H���4�H�|L���'�H��H��[]A\A]�f���UH��SH���.���H��H��uH��uH��H��[]���H�5 �1��=�H��1�����H��H��[]�f���USH��H�/H��tH��H���3�H��H�p�w���H�H��[]�ff.�f���UH��SH��H�vH��H�?�D���H�E�H��[]�D��ATH��H��I��UH��SH��HD�H9�t$H��L������H��H��H�����[]A\�fDH� �X!�:�H�=���;����f���U�H��SH��H��H��tH���N�H�PH��H��H��[]�Y���f���H�=tY!tÐSH�=w��c�H��H��t+�6��u�-����H��t H�X H��t�;u[Ð����d�H��u���DH��1��N���[H�Y!�D��AVI��AUATI��US�? H��ufDH���; t�H�5-�H�����H��H��tPL��H�x���A��H9�t*H��1�H)�����L���(I��H�����L��A!����[D��]A\A]A^�fDL��H��[]A\A]A^�]���ff.�f���SH����H��[�ff.���� �N!1��Q�Hc�H9�w3��Y!u(H��t#��~&H����1�Hc�H��H��H��H)��D1��D��H��Hc�H)����AUATUSH��dH�%(H�D$1��?H�$tSI��H��H��I����H�HÀ;t1�L��H���9*��H9,$v�H��L)�H�L$dH3%(uH��[]A\A]�1����I�f���ATUSH��dH�%(H�D$1�H�$H��t:�?H��t2H��I����H�H)ŀ;tL��1�H���)��H�H9�r�H�$H�L$dH3%(u H��[]A\���ff.�@��H��W!H�p8H�@ H�8�U���D��USH��dH�%(H�D$1��?H�$tAH��H��1�H��H���)��H�HÀ;u�H�$H�L$dH3%(uH��[]�fD1�����ff.�@��H�EW!SH�XH���8��H�5�1�H�CH�$W!H�@H�X����H�H� W!H�PH�RH�@(H�P[�f.���H��V!H�PH� �9u9H;Pt3H��H�RH�PH�z����H��V!H�PH�BH�h(H��Ð�ff.�@��H��V!SL�H`L�X L�PhI�YI9[t&~*L�L�H�p H�@8H�2H�M��tA�[�DL9P8w�L� H�P L�H�@8H�H�M��t�A�[���USH��H��(dH�%(H�D$1�H��U!H�x`teE1�H�L$H�t$H���P���H�|$t(�=V!H�D$dH3%(u=H��([]�f.�H�H;tЀ= V!u�H�@H���fDH�@ H�H���?�ff.�@��H�eU!H�@ H�PH9�| �fDH�@H��t.H�PH9�u��DH�@H��t�H9xt�H�@H��u�H��1��H�5��R1�H���ff.���ATUSH��H;~t?I��1�f.�H�;�*��H�[H�l(I9\$u�H��[H��H��]A\��1�H��[H��H��]A\�f.�@�G̓�w�G��@��8t#��?t�G���w�D�G���G��fD��f���H�mW!S��H�=kW!H�pH�5XW!H������H�HW!H�IW!�\��[���H�-W!H�P�H�"W!H��t2H� W!�|��u$H����H�P��<�uH��H��u�H��V!�f�H��V!����AUATUH��SH���j�=�V!�}E1�L�-��H����Ë�S!��������1���H�=�V!����H��V!H��V!�������H���]��FH�����Ã��tSH�JV!H�=KV!H�pH�58V!H�����H�(V!H�)V!�\���=V!t����u���H���M��Ã��u��=�O!tRH��H��1�[]A\A]���f���%��1��4�H�=�U!��#���H��U!H��U!�����H��[]A\A]À=�O!tGI��I��������1��L���W�H��1�� ����������t����H��1�[]A\A]��ff.�@��H�U!�@��H�5 U!H���tgUH����SH��H�=�T!H�5�T!H���L���H��H��T!H��T!H��w �+H��[]�@H�{H��H����������+H��[]�����S���t�����u[�fD�[�]���ff.�f���UH��SH���n���~+HcЃ�H�\�H�l�H)���;H������H9�u�H��[]����AUATUSH��H��H�5T!H��tH��t^H��tjH9�HG�H�,�H����L�-�S!H��H��I��L�����H��S!H)�H��S!u?H��L��[]A\A]�f����H�5�S!H��u�H��E1�[L��]A\A]�fDI�t-L��H���w�H��L��[]A\A]�f������=w?H���|$�2�Hc|$H��<��������a��v H���DH�ټ��H��Ð��a�������wH��������ff.�@��H��������[t��oth��Ot;������D1��9�����D�GA�@σ�3��H� ��Hc�H�>��D�GA�@σ�H��H� H�Hc�H�>��fD�W��bt`~���ct ���du;�f���au,�ËW��B�����"��Ctϸ!��DtŸ�����f���f.��K�f.��h�f.��^øH���q�����W��Qt#���R�T����������S�F����ø ø øJø_�H��t;��G��A�������H�D�Hc�H�>��H��t�~�J���������H��t�~�hu��H��t�O�SA��A���A��^�����H��vÃ�;u��2u��~u����Q!�H��t��O�RA��A���A��^�m���H��v���;�w����2�m����~�c�����hQ!�D�������^øhøR�H���2����G��~����$���^� ��@������P!�H��������G��~����$����^����@�����RP!�H���q�~���~�K�����øø�H��������G��~�^H���|����~��H���h�����;�_�����G��2�������H�|�Hc�H�>��øRøSøøøhøøS�D��� O!���� øøøø�H��������G��Q���K��R����S�.��H���������G��B������C�p��D���ø øøøøøøø*ø+ø,ø-øJø/øKøøøRøøSøøø øøø øW�D�����H��������;�������G��2�_��5������G��B�����Ã�A�p��������ø ø øø øËG��A�������H���Hc�H�>��G��A���I���H���Hc�H�>��W��B����V��C�����U��D� ���Ë��F�����G��������L!�~����Ë�M!Ë/M!Ë�L!Ë�M!Ë�M!ËN!øøøø�fD��P����Ã�P���������H��������B�����G��������H�´Hc�H�>��ø��-L!��������G��0�� ����H�ʴHc�H�>��øøøøøøø���G��1�������H���Hc�H�>��øøø øøø øW��A�o���ø#��A�`���øU��H�Q���øøøhøVøUøøøXø$øV�����J!�P��J!��tp��tC�������t ���WЃ��������9�t���J!���qJ!�@�fJ!�GЁ��~O��wƍ<�=MJ!���>J!�GЁ���� w����B�"J!�����Ã�w���f��� v��r���k�d��I!�ff.�����OЃ� vdAT��I��UH�Ս��S����v�H�HcÃ�v#[]A\�fD���Hc�H��4�����fD��WH�����Hc�I��Hu�ƐHc�H��HH������ff.����� t��2t��/t���1��D��f���AUATA��UH��SH��H��(dH�%(H�D$1�H���������tG�t$�D$+�E!H�=�E!��u��+��A�ŋD$�t@1�E��t��E!u E����1�H�L$dH3%(��H��([]A\A]�fD�!ti��uH�=}E!����A��E��u0��tL�1��D$@�ǁ��a��u��DH�=1E!1�H��H����E��u��E��t���a���fDH�=E!1�H��H������E��u�T$+�D!��T$�U�(���D�=�9!�-����=GB!�gfffI���w(����)���Hc�L9�IG�H����H��H��Hcǃ�H��H�1�H��H�Ƌ���A�ЋU�,BHc�H9�v�����A9��9�����Hc�H9��*���H��C!H�����f.��=9!�{tH�3�}���H��t��tH�[0H��u����D��������w���H�3�=�8!�F����X�x��������������w����N��ff.���� �G!��u ��`t=�~5H��B!H��t"�n8!� H�@0H��t�Pt�p97u�:Hu��D�1��ff.����UH��S��H���\���~�� H���c����u�H��[]��H��� �@!1ҾH�=�B!���� m@!1�H�=�B!�H���f���� F@!H�=�B!1�1��f���fD����B!��~2S1��� @!H�=�B!1҉ރ��/���9mB!�[�D�ff.�@��� �?!H�=GB!1�1����fD��H��H�=)B!1�1�� �?!����H�=B!H���"��f����B!u �=�?! �f�����ff.���AWA��AVAUATI��UH��SH��H�H��8�L$�L$dH�%(H�D$(1��b�L��I��H�����M�L��I��H�D$���H�5j6!H�~H��H���9�I��A�E��t=< t9L9���M��t+E��t&�SA!uL���5������A�EE1��E1�H�t$$H�4$�}f��D$$< ��< ��H�4$L���\��L��A������K�4I�~����I�EE������I�NH��I��A�<�A��A���}Ic�H�DI��A�E����H9��t���L����������A�E�D$$< �_����k@!��C�4 I��H��I�����^�t$I�<L��H�D$I��H������H�t$Ic�IՈ�k���D�@!t9M�����|$����?!��H��1�H�5�4!H��tuH;l$tnC�4 I�vH�M1�H��H�5�4!H���H9��H)�I�<4�f.�H9�v�D� L�4H��1�H��H�5R4!H��u�I��H������E1�� �C!1�M�~K�<4H��C!L�����v���H� �>!I�4��H��9��T���f�A�w�1�I���DH��A�D�H�BH9�u�HcD$$Mc�O�lM�48H��(���f�A�}tH9����|$��DM�A�L��H�\$(dH3%(�|H��8[]A\A]A^A_��5&C!H�C!� C!������Hc�M��D)�L)�f�J�H�=!I���B�<C�D���B!9��M��������>!�c���L��L������M�4H��L���I�����C���A�>M�t,�5���f�L��������uSL������������L��A��<L��1�1�H������H�I�A�E�k����I��I��H�������t$L��H��A�� ��L��1�1�A�$���H�I�A�E����L��� ���������H;l$�l���A�$ H��I�D$A��\���������H��<!�H9�tH�����H9�u����ff.�@��AWAVI��AUATUSH��8H�=�<!H�����55;!1����� :!1�1�H�=�<!�(����=�<!�z1!��H��E1�H�D$(H�D$H�D$ H�D$H�|$�8�H�|$ H�X�*�H��I��H��tI��J�#L��H�T$� �H�|$H����H�T$L�xI���K�L=H�L$L�Hc V9!H�L�H9���H�t$I�T,H�H9��L�H9���H�|$(H�D$E1�1��a��H�D$Hc 9!1�I��I�,H�=};!1�H�L�I�I9����|������kM����f.�H�D$Hc�8!H�H9���I�GH�=%;!H9���M��t,Hc�8!H��L9���1�1��������rH�=�:!�5}9!1��f��H�=�:!H��8[]A\A]A^A_�|��@M��tC�H�5Š1�E1����H�D$(H�D$ H��H�D$H�D$�7���f�H�x��=�:!H�D$�WH� :!H��;��xP��H���H�D$�7:!���H�5@�1����H����L�t$(I��L�hH�y�H�D$ ���f�������fDH��L�|$E1������H��8[]A\A]A^A_�L�|$E1�H�|$(��a��Hc 7!H��L)�L)�H)�H)�L)�H�����D1�H��1�L���y���H�=Z9!�����H��H������H��� ��H�=;9!����fDH�=)9!1���5�����uhH�|$(����H���l���Hc v6!1��o����H�t$ H�=�8!������r��M�������H�=�8!�����H�5%e�Q���l���@H�=�8!H�t$������2��H�|$(�X��H������DH�\$Hc5�5!H���$��H�=e8!H�މ������d���fD�H�5g�1��E��H�D$� ����H�5�E1��%��H��H��7!����fD�����H��7!A�H�D$H���H9�t�H���A��H9�u�H��7!A�H9�tfDH���A��H9�u�L�t$H� ��H�����1��L����������������H�5����Hc�4!1�H��H)�L)�I�t/���D)�1��V������C���H�=.7!H�t$��������H�=7!�(����H�50�1����H�D$����ff.���AUI��ATU��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��u6!�$�D$0��%�����Y6!H��$H�D$H�D$ H�D$�=�����5�w6!���������������<��8!D�%�4!� e3!1�1��-36!H�=�5!��I3!�|@�Hc����M��I��H�ŋ'3!H�����H��t@�Hc����Hc3!1�1�H����H��I���A��Hc-�2!L���b��H)�H��H��H����H�=@5!��1��^��H�=/5!1�D���=��H�=5!�����H�5S����H�=5!�����L�����L������H�=�4!�����H�5"����H�=�4!1�D���`����4!�����^H�=�4!�r�����5!��4!t ��4!%���������7!H�D$dH3%(�SH���[]A\A]�f.���tЃ��Q�������u��=7! �@4!���7!����6!��~[�4!��D�%�2!� ����H�5�1!� ���H��L��H�=m1!�����G�����6!�A����H�=�3!1����H�=�3!1�D�����H�=z3!�����L�����L���=������H�=Q3!1�1��p��������n������f��H�54�1��-��I�����������UH��SH����5!dH�%(H�D$1��S��5!���H� $���Hc�H�>���H��5!���H�����D��5!H�t$dH34%(�nH��[]�D�N�A���"Hc�H���u�H9-Z2!��H��������0t H�=+5!u�H�"5!��8��fDH� 5!����DH��4!����DH��4!�����s���f.�H;-�1!�o���L� �4!�..�sH�\$�f�D$H��Hc��L�җ1��D$�D$....�?��Hcp4!1��H�5���D.�p��H��1�H��1��q������@A��H;-=1!Mc�L� #4!�����l����H� 4!������ff.�@��AV�4!AUATI��UH��S��H������H��H��t�8��I�$�%��������3H�����H�������3!f�H���X����H�����H��H��t�0H���Q���H���t�L��H������I�$I�ƅ�~/Hc�I�l�H��H)�M�,��}H���+��L9�u�L�������@�;���H������H�=3!wI�4$[1�]A\A]A^����@H�3!�8u݃xu׃x[u�I�$���H���y��[I�$1�]A\A]A^�fD��UH��SH��H����/!� �����H��H���Y���H��H��t��� t:��u�=O$!t6D�B/!� u>�tIH��H��[]�f.��=$!t�H�E����/!� t������.!�u�H�=�.!����H�=�.!����H��H��[]��1�H���~���5���f��+�����.!������H��1�1������H���5y1!uoH�`1!H�P�H�U1!H��t5H� Q1!�|��u'H���@H�P��<�uVH��H��u�H�1!�H�5s�1����1�H��H��1�����H��0!�H�50����H��0!����H���=�0!uH�5�0!H��tKH�=�0!H���#��H�5�0!H��0!H�5�0!H��tH�=�0!1ҋ���H��H9�u�H���@H�5ϓ1���U��1�H��H��1��U���D�H�5\�1��-��1�H��1��1���H�0!H�P�H�0!H��t�H� 0!�|��u�H���fDH�P��<�uH��H��u�H��/!�]���fDH��/!�K���ff.����H��H��1�1��������H�����f���ATI��5+!UH��H�=N,!S��1��\��Hc�H�����H�=2,!H��������5�*!H�=,!1����H�����)Ã�~]H�=�+!� ���9���5�*!H�=�+!1����Hc�L�����H�=�+!L����i���5{*![1�H�=�+!]A\�A���[]A\�ff.����=� !��+!u �=)!�AWAVAUA��ATUSH����i��Lc5�(!�gfffH��A�N(�����)ʍ,Hc�H9�HG�I��H��I���I�M9����/+!��H�Z*!H����H����L��1�I��E1�I��f�D�ktiH�3D���?j��I��H��tVL��D��H�=�*!I��H���A�փ�����Hc-(!1�1�H�sI��A���D$����T$I�?H������H�[0I9�sH��u�H�=d*!1�1����H�=T*!H��[]A\A]A^A_� ��f�H��[]A\A]A^A_Ð�=�'!� ���������f���AWAVAUATUH��SH��H��H�?�T$@H�t$H��H�L$(dH�%(H�D$x1����H�}H�D$Hc�!H�t��r����)!H��H�D$8�����t$@H�=�)!������tH�t$H�=z)!���������H�9)!H���H�����d)!��H���D�`@E��~H������H�D$pL�d$hH�D$H�D$`H�D$0H�=)!�s1�L�m����H�{0H���vHcC@H�U A�fD�BM���JI�U H��tb�B�P�f����Cf��@�9�P�f����f�� u2�@H�{0I�uE1�1�1���������M�mM����H�{ I�uE1�L�������t�I�E H����HcS@�Pf����E1�L�t$f�� u!�H�{ A�L���Y����ttHcD$lI�uE1�L��H�{0�I�A��L��-�����THcT$tI�}�L$lI�J�4?9L$hu�;T$pu��>�+L�����I�uI��H��t���@E1�H�}M��E1�J�4?M��H�{ A��L�����A�ƅ����t$hD|$lE1�D��t$hHc�H;t$�L�|$L��L������Hct$lE1�H�{0L�H�L$���H�D$ A��Hu�N�������T$l�D$tT$p�L$h�H�}�D$tLc�L;|$v9���9��<���9D$p�2���B�<?�M�sH�=�&!1��,���H�[8H���w���H�X&!H�P`H��tH�MH;JEtMH�@ H;H}Cf�H�D$xdH3%(�7H�Ĉ[]A\A]A^A_�f.�H�@ H;H�H�T$`H�L$pE1�H�t$hH�|$X�J��H�T$XH�EH9B��H�L$H�L$hH��H�T$`H;B��H�D$8H�D$pH9t$8�f���H�D$H9D$p�V���H�}�A���������+D$(L�d$I�L��Lc�L���H��H�t$pI�H;t$8�1�5$!H�=h%!1��q���K%!�t$@H�=P%!���i��������5�#!H�=3%!1�輽�������H�}�g��A��D+t$(Mc������L���H��Ll$(L�|$ L)�H��L�������$!�t$@H�=�$!I��D��������tH�=�$!D��L���M���HcS@H�E � Lc|$t�L$hf�<P�T$lL��H�}���H�{0I��L�t$�f�H�{0I�uE1�L��訿����u#M�mM��u�HcS@H�E �@f�P���@L9����$!�t$@H�=$!�1�����tH�t$H�=$!�����薺��HcS@H�E A�fD�P�1���fD�5v"!H�=�#!1��Թ����#!t H������#!L�MH� 2�D�@��t$@H�=�#!1�1��Y����5'"!H�=|#!1������_#!����f.�L���X���H�}I������@Hct$tH�}H;t$�>HcS@H�E A�fD�PE1�M�����fDL�}E��M��u����M�M�������H�{0I�7E1�1�1��(�����tۋ�"!�t$@H�=�"!D��������tH�t$ H�=�"!������?���HcS@H�E �f�4P����f�L�t$8E1�M������L�d$HL�|$M���DH�|$L��T$D���Hct$dH�}HD$H�D$ ���H�|$ H��H+t$(L)������t$@H�="!�T$D�!!I���������tH�t$ H�=�!!D��脸��@M9���H�uE1�H�{ M��H�L$0A���L������ �u]Hct$`�L$d9��F�!D�Mc�t$`D�L$dM9�s�Hc�L9�s�E1�L9�����H�}�����+T$(Lc�����f�L�d$H���fDH�D$8H9D$p�_����P���H�t$hH;t$�.��������� !L� uMH� ��D�@��Y����A��L�t$H+D$(H��L������� !�t$@H�=� !I��������uOHcS@H�E A�H�}fD�PE���~LcL$tM�������H�}L���I�����E1�L�t$�k���H�=h !D��L������H�=T !D��L���������H�}���Ll$(L��L)�H������A�����E1�M�����蠷����H��!H�z`t���USH��H���B��H��H���7��H9���H��[]�f.���AWI��AVAUATUSH��(Hc-�!dH�%(H�D$1�H�D$H�D$H��?�>H��I��L�d$H��u�m@L9�s[1�H��L����H�H�H�D$�;u�H9���H9�I��A�H�L$dH3%(L����H��([]A\A]A^A_�fDH9���E1��-f��; I��tL�l$1�H��L���&�H�HÀ;t4H9l$w;��!t�H�������t�H�D$H9�s�H�D$I���@H�D$H9��T���M��t!H�T$1�L�����H�D$H9�v,A�> LD�=]!�+���H�D$L�h�����I����@I������1����輵��ff.����AVAUA��ATUH��SH��dH�%(H�D$1��!uY����H���H�@H��u�f�H�@H��t H�E��u�H�t$dH34%(����H��[]A\A]A^�I��H�����~�L�d$�H�ML��H���D$H�9����|$tH� +!H�UH;Qt!H�BH�E1���u�I��|���f.�A9��i�����D���[���褴��@��AWI��AVI��AUATI��U1�S1�H��dH�%(H�D$1�L�l$�D$�DL9�wL9�wH��H��I�>L��H�����|$t�M��tI�H�L$dH3%(H��uH��[]A\A]A^A_�����ff.���ATUSH��dH�%(H�D$1��/��I��H�!�R!t|H�XH�x01�H������H��H��H����H��!H�r �fDH�[H�lH�r H����H9���1���!t�1�H��H��������H��!�@H�P H�@L��H�jH+h���I)�Hc�!H9�WH�b!H�hHH�D$dH3%(uUH��[]A\�H�>!H�p f.�L��H���E���L+$$H�Hc;!H9�~��,!H�=5!��D��K����贲��@��AUATI����US�H��dH�%(H�D$1����H�=!HF!1�H������H��H�T$��H��H���#��A��;\$|Hc���|�H�����9\$~�H���e���A���tH�L$dH3%(D��ubH��[]A\A]ÐL9%i!u�1��H�5��d����H��1��e��=*!��!��!u�����謸���襱��D��AT�UH��SH��dH�%(H�D$1��1!�!����H����HcH��蕮������$��!��������~2���i����H�=�!��|!�fD���������9�!��9Y!�9�!��9�!��9A!�n9Q!�X9U!�y9-!�~9�!�G9!�v9�!�o9y!��9!��9}!�79!�59�!�39�!��9�!��9�!�/9�!���=�!�D$�"�� ����{�V����]�� ��O�e����Q�8���E!��nfD�=!!tW��H������H��t���������!������!H�=�!�����!@�����H�L$dH3%(���KH��[]A\���!��Ӊ�H���9����� ����2����/� �����������=)!����A��#�mH�|�Hc�H�>��fD���u����� �~��߃�Ot ��[�LH�=�!�>H��!�8�.��H��������*�����!���������fDH�=�!����!��/���2��������j!��������1�1�H�T$�T訮���������D$�t�� ���G!������N������}������C�����t���t��h�b�����%����������[uH��!���߃�A���P��H���d�����!�w!��������!������U!1������!�=!�7!�����,!��P!�ڋP!���!��!�����!���!�����!�h��!�f�����!���!�K�����!�������!����=�!t�C�^w��!���=���葳��H���������\�����������uU��@!������H�="t���J�S����������a��2��_�)�R�[����N������B����E���D��c���&�����z��������D�����J����������������$���������!�������U��B���t����������������H�=������R�����z���f.���W��}�+!�h�Q�����X�E����!�R�4������tʁ��u��!��������\���������!�����!�����j!�_���������������� �����2������/����z���������\!�����!�x����� < �����������������������p����h�3���H��!H�x`�!����=�!����H�5�f�����P���P�X��!����"����#�����$������9�������� ��������!�S����_����+!�����S������U���1��a����<!��b���H�=;N����qP�����J����!��9���H�=�+���K�HP�����!������������� ���H�t$Hc����L$I�ą�~'Hc�H�Z�H�l��Q�H)�H��}H���w���H9�u�L����'����Q!����R����7!�����躧��f.���AWAVAUATI��USH��8dH�%(H�D$(1�H��!H�XH�h0H9�����!����E1�H��u#�[f.�H�[A�I9�t<H��t7��!���t�H��1�H������~�H�[��A�I9�u��E���?1�D9-Z!�0H�D$'D��H�D$��D9==!D��L����H�T$I�<$H��D�{�D$'�c�� �!1҉�H�=!I�����M��I�<$H��I)�L��L�L$���H���L��H��H�D$���H�D$H��虣���|$'ub��!�e���Hc�!L�L$I9��P���D��H�=�!��)�譬������4���H�=}!�>D��L��譤��D9=Z!�#���D��D)��@�1�H��H���3�A��A������1�D��H�5{�:��1�H�L$(dH3%(u H��8[]A\A]A^A_�f�E1��{����s������� !��AUATI��UH��SH��H�� !H�_H�@+Xx9� !#��1�H�5@{����H��1�[]A\A]Ð� � !H�=s !1҉����H�}L��讴��H��足��HcO!H�}�H��I���[��H��L���I��H����L����M��u3H�}����Hc!I�I9�rKH���[]A\A]�������!H�=�!�������t�H�=�!�$����@�2 !H�=�!�ލP�������t�H�=�!�$�ˢ���f���AUATUH��S��H��dH�%(H�D$1��k!�uS����H�H�P��H��u�H�RH��t H�U��u�H�L$dH3%(�H��[]A\A]��I��H�:����I��������H�6�?H��!I�$1�H9rtQH��������)�H�v��!�[�H�uM�,$��~d�t�1���Hc�I�$H9�v)H�R!H�uH9ru�H��������I9$t���;������L��H��)��1��&����Z!fD��1҅�tH��������H����H�$I�$����H��������H9�u�H�u��茢��ff.����AUATUH��SH��(dH�%(H�D$1�H�� !H�X �� !u;H�CHc� !H)�H9���H�L$dH3%(��H��([]A\A]��I��H�\$�S����� !uR1�L�l$H�D$�L !L��H�t$�x������¸���H�T$H9jr��u�L9d$���w���fDL�l$H��H��L����H�D$�艡��f���U��SH��(H�5� !dH�%(H�D$1�H�V0H��@���u+�6�������H�=� !����������)fD�k�����H�=| !��¥���H�=f !����H�=Z !1�裥��H� !H�x`�1ۃ=, !�Ã�H�xH�@0H�|$H�D$@��u{�( !t#�D�#���)�H�D$H�xH�|$��~2H��t-H��!1�H9x u�H�p8��DH�5�v�1�����H�D$dH3%(��H��([]�f��=�!H�T$H�t$)��i�H�|$��!t�H��H�|$1��\�H�t$�H�.!H9ptHH�|$���\����f�H�x@藮��1�H��荮��H9�H��!���������!t�H�x01����)��胟������!u1��1����f���H��dH�%(H�D$1���!tH����H�$H�L$dH3%(uH�������f�����!u1��H��1�H������O�ff.�@��SH��H�!dH�%(H�D$1��=!tH�sH�{0H����H�$H�C0�� H�D$dH3%(uH��[��}���ff.�f���UH��SH��H��dH�%(H�D$1���!uH�L$dH3%(H�+u7H��[]�@H�a!H��H�T$H�@ H�8���|$H�H9�HG��������H�%!H�P H�@H�JH�P�R!t4�H9�}Ð�u�H������H��!H;B0��H���DH9���Ð��SH�� Hc=�!dH�%(H�D$1�H��!H�P��!u,H�@ HzH9x��H�L$dH3%(��H�� [�H�@0H�$��H�T$H��H�D$�c���u H�H!H�$H�X �H�sH9r|�t1���3����`!t�H�T$H��H���*�H�D$H9D$���k���賜����H�������tH���f.�H��������ATUSH��dH�%(H�D$1���t��u[��!����H��!�H�h H�h��!udH�P0H�p������H�D$dH3%(��H��[]A\��������uo�U!�X�H�'!�DH�!�XH�@����L�%!�A!uL��1�I�T$0�x���@H��H��H����H�$H��!��DH��!1��5����u���D��AUA��ATUH��SH��H��!L�c@蜫��H�C@�������H�t!H��H�z`H�B uoH9���L�����H����H�E!DH�z`tyH�r8H�z H��[]A\A]�r���f�1�H���f���H�!H�sH�KH�B H;pHOKH��H9�u��*!@�DD�D�������Y!H��[]A\A]�fDL�j@L���D���L��H���9���H9�uH��!H9h t�H�x@����H��t�H��!�D���1�H������"���ff.���USH���=�!���T�����t1��=x� ���l���H�%!�C!1�H�hH��t\��.�VfDH��1��N�H�m�!�H��t59�~1H��!H9h u�H�p8H��� �H�m��!�H��u��9�}'@� Z� 1҉ލkH�=�!���u���9-�!��H�H�=�!輜����!H��[]�fD�=�!�����&�����[�����fD����!��t���=D� �n!t��t�=� t+�f��I!u�u�H������=�� tH���@���H���w������SH��H��@�5!DH��������t�H9�!t H��[�@�D$�O����D$H��[�D��H�=� �`�����H��H�=� �L����r� ���������t=u!�=�!uX�#����=I� H�����@H�=�!����=�!u+�!� ���������t�=t�����f���V����@��H��H��� H���H��t$H�x(t�h���H���+��H�x u��|i���H�����ff.���AWAVAUATA��USH��(�f���H�XH�K� H�@ H�8�o����=� H�hu E���)H�"� H�P H�@8HD� �H� � H�p H�x����1�I��H�� H�P H�@8H�D�$H�5� H�V H�FL�f(L�jH9�L�x@��E1�K�D�I)�H��H��H�I��H�D$H��H��H��1�H��H�D$M��uc�H�5�l1�D�D$諕��H��I��L��D�D$$H��1�1�APATAV�L$0QL��UD�D$8���H��0��� H��([]A\A]A^A_�f�K��1�H��H��I��I���f.���� H��([]A\A]A^A_�f.�����b���f���H�=�� ��� ����@��H�=� 1���� ������AWAVA��AUI��ATUSH��1�H��(dH�%(H�D$1�H�\� H�hH��� tH�p H�T$H���^�H�t$HcV� �D$H9��DH�D$H�D$�DH� � L��H��1�H)�L��H�@ H�8�?���I��E����H��L���ȣ��H�=� L���藓��L��近���|$��H��H�=� 1҉���Hc�� H��H9���H��� H�T$H�@ H�8����I��L9�r�D$M��L9��L���H�5�(1�H���J���I��E���[����5� H�=a� 1��j���H��L������H�=H� L����ޒ���5� H�=1� 1�躔��L�����|$�3����H�= � ����H�D$dH3%(uH��([]A\A]A^A_��p�����AVI��AUATA��USH���V���� ��I9���H�y� H��1�L��L)�H�@ H�8貹��H��H��臣��Hc�� L��I���ա��L)�H�I9�wJE���!H��H������H�=O� H������H��� ���H�=6� []A\A]A^�9���f�H��E��uwH��H���̡��H�=� H���蛑��I9�v�H�=� �$�%����H�5H'1�袟��H���;���f.�A��H��L��[]A\A]A^���f��5B� H�=�� 1�蜐��H��H���A���H�=z� H�������I9�vH�=d� �$蚐���5�� H�=M� 1��֒�������5� H�=3� 1��<���H��H�����H�=� H���谐���ff.���AWH�5s� �6H�OHAVAUATUSH��(dH�%(H��$1�L�d$`�� H�T$L��H�z`�H�H� H`��H�T$(H�L$H� J`H��g��H�L$ H� Z`H�L$0H� k`H�L$@H� �`H�L$P��H�T$8��H�S`�\$H�T$H�L$������H�=%� ��;���� �� 1�1�H�=� 赵���P���� z� 1�1�H�=� 蚵��H�=� 螐��H�=� 蒐��H�=� 膐��������=�� ���1�E1�A������A��� L������胠���� o� H�=t� Hc�H��H�S��q�H)�����)�)��q������tH�=E� D��L���ڎ��H�=3� ���H�='� 蒔������ ���?���H�=� ��N���H�=�� �荖��H�=� 1��/���H�=� 蓏��H�=� �7����������H�����H�=�� ����H�=�� ��.���H�=�� 1��Г��H�=y� �4����b� �������59�|UH�=W� ������u=H��5� ���M�<�M�������J�t��1�A�]Lc��.���I���~���fD��艒���T$��u �%� �����D$��u�%�� �胴��H�=� 1����H��$dH3%(u/H��([]A\A]A^A_����@ ��� �8����g�������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���(dir)(parent dir)%4ju %cB(huge) [%s%s]SearchCancelledSearch WrappedThis is the only occurrenceNo current search patternCannot open directory: %sGo To DirectoryCan't go outside of %s/..Can't move up a directoryError reading %s: %sl���d���d���d���d���d���d���d���d���d���d���d���d���t���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�����������The working directory has disappearednoneUnknown syntax name: %s%s/%smagic_load() failed: %smagic_file(%s) failed: %sdefaultDirectory '%s' does not existPath '%s': %sPath '%s' is not a directoryPath '%s' is not accessiblewbnano %s%s/%s%s%s%uNo more open file buffersNew BufferSwitched to %s.%luFile '%s' is unwritableRead %zu linesRead %zu lineNew FileFile "%s" not found"%s" is a directory"%s" is a device filerbReading FileTMPDIR/tmp/tmp/r+bInvalid operating directory Invalid backup directory "%s" is not a normal file./Command to executeFile to insert [from %s]Can't write outside of %sToo many backup files?%s~Error writing temp file: %sError writing %s: %sWrote %zu linesWrote %zu line [DOS Format] [Mac Format] [Backup]Prepend Selection to FileAppend Selection to FileWrite Selection to FileFile Name to Prepend toFile Name to Append toFile Name to WritezzyFile "%s" exists; OVERWRITE? File on disk has changed~%s(more)Directory '%s' is not writableError deleting lock file %s: %sCouldn't determine my identity for lock file (getpwuid() failed)Couldn't determine hostname for lock file: %sError writing lock file %s: %sError opening lock file %s: %sError reading lock file %s: Not enough data readFile %s is being edited (by %s with %s, PID %s); continue?Failed to write backup file; continue saving? (Say N if unsure.) Read %zu lines (Converted from DOS and Mac format)Read %zu line (Converted from DOS and Mac format)Read %zu lines (Converted from Mac format)Read %zu line (Converted from Mac format)Read %zu lines (Converted from DOS format)Read %zu line (Converted from DOS format)Can't read file from outside of %sCommand to execute in new bufferFile to insert into new buffer [from %s]Key invalid in non-multibuffer modeError writing backup file %s: %sFile exists -- cannot overwriteSave file under DIFFERENT NAME? File was modified since you opened it; continue saving? ^SpaceM-SpaceInsDelDisplay this help textGet HelpCancel the current functionCancelExit from the file browserWrite OutRead FileJustify the current paragraphJustifyWhere IsSearch for a stringRepeat the last searchWhereIs NextGo to directoryGo To DirRefresh the file listRefreshCut TextTo SpellTo LinterFormatterCur PosGo to line and column numberGo To LineUndo the last operationUndoRedoMark TextCopy TextCase SensRegexpBackwardsNo ReplaceJustify the entire fileFullJstifyGo to the matching bracketTo BracketPreviousGo back one characterBackGo forward one characterForwardGo back one wordPrev WordGo forward one wordNext WordGo to end of current lineGo to previous linePrev LineGo to next lineNext LineScroll UpScroll DownGo to previous block of textPrev BlockGo to next block of textNext BlockBeg of ParEnd of ParGo one screenful upPrev PageGo one screenful downNext PageFirst LineLast LinePrev FileNext FileEnterDeleteBackspaceCut LeftCut RightCutTillEndWord CountVerbatimSuspendIndent TextUnindent TextComment LinesCompleteStart/stop recording a macroRecordRun the last recorded macroRun MacroWhere WasSave file without promptingSavePrevHstoryNextHstoryGo To TextToggle the use of DOS formatDOS FormatToggle the use of Mac formatMac FormatToggle appendingAppendToggle prependingPrependBackup FileExecute external commandExecute CommandPipe TextGo to file browserTo FilesFirst FileLast FileGo to lefthand columnLeft ColumnGo to righthand columnRight ColumnTop RowGo to last row in this columnBottom RowDiscard bufferGo to previous linter msgPrev Lint MsgGo to next linter msgNext Lint Msg^M^HBsp^D^I^GF1^XF2^S^OF3^RF5^Q^WF6^\M-RF14^KF9^UF10^JF4^TF12^CF11^_M-GF13^YF7PgUp^VF8PgDnM-\^HomeM-|M-/^EndM-?M-WF16M-]M-A^6^^F15M-6M-^M-}M-{Sh-TabM-:M-;M-UM-E^]M-3^B^F^◀^▶M-◀M-▶M-▲M-▼^Left^Right^A^E^P^N^▲^▼^Up^DownM-7M-8M-(M-9M-)M-0M--M-_M-+M-=M-<M-,M->M-.M-VM-TM-DM-J^L^ZM-XM-CM-OM-SM-$M-#M-PM-YM-HM-IM-KM-LM-QM-BM-FM-MM-NM-ZHelp modeSmooth scrollingWhitespace displayColor syntax highlightingSmart home keyAuto indentCut to endBackup filesMouse supportSuspensionLine numberingcanceldiscardbufferwriteoutsavefilewhereiswherewassearchagainfindpreviousfindnextcutrestoffilecopytextmarktospelllintercurposgotolinefulljustifybeginparaendparacompleteunindentcutwordleftcutwordrightfindbracketwordcountrecordmacrorunmacroundoredobackforwardprevlinenextlinescrollupscrolldownprevwordnextwordprevblocknextblockpageupprevpagepagedownnextpagefirstlinelastlineprevbufnextbufverbatimtabenterbackspacerefreshcasesensregexpbackwardsflipreplaceflipgotogototextprevhistorynexthistorydosformatmacformatappendprependflipexecuteflippipeflipnewbuffertofilesgotodirfirstfilelastfileconstupdatesmoothscrollwhitespacedisplaynosyntaxcuttoendbackupfilesuspendenableallmainreplacewithexternalcmdextcmdwhereisfileUnjustifyUncut TextCloseExit.swpClose the current buffer / Exit from nanoWrite the current buffer (or the marked region) to diskInsert another file into current buffer (or into new buffer)Search forward for a string or a regular expressionReplace a string or a regular expressionCut current line (or marked region) and store it in cutbufferUncut from the cutbuffer into the current lineInvoke the spell checker, if availableInvoke the linter, if availableInvoke formatter, if availableDisplay the position of the cursorRedo the last undone operationMark text starting from the cursor positionCopy current line (or marked region) and store it in cutbufferToggle the case sensitivity of the searchToggle the use of regular expressionsReverse the direction of the searchSearch next occurrence backwardSearch next occurrence forwardGo to the previous file in the listGo to the next file in the listGo to beginning of current lineScroll up one line without moving the cursor textuallyScroll down one line without moving the cursor textuallyGo to beginning of paragraph; then of previous paragraphGo just beyond end of paragraph; then of next paragraphGo to the first line of the fileGo to the last line of the fileSwitch to the previous file bufferSwitch to the next file bufferInsert a tab at the cursor positionInsert a newline at the cursor positionDelete the character under the cursorDelete the character to the left of the cursorCut backward from cursor to word startCut forward from cursor to next word startCut from the cursor position to the end of the fileCount the number of words, lines, and charactersInsert the next keystroke verbatimRefresh (redraw) the current screenSuspend the editor (if suspension is enabled)Indent the current line (or marked lines)Unindent the current line (or marked lines)Comment/uncomment the current line (or marked lines)Try and complete the current wordSearch backward for a string or a regular expressionRecall the previous search/replace stringRecall the next search/replace stringToggle backing up of the original fileToggle the use of a new bufferPipe the current buffer (or marked region) to the commandGo to the first file in the listGo to the last file in the listGo to first row in this columnClose buffer without saving itConstant cursor position displayUse of one more line for editingSoft wrapping of overlong linesHard wrapping of overlong linesConversion of typed tabs to spacesReading file into separate bufferNo conversion from DOS/Mac formatBad toggle -- please report a bug@��@���?���>���>��?��?��@��$?��@��@��4?��@��D?��T?��@��@��d?��t?��@���?��@��@��@���?���?���?���?��@��@��@��@��@���?��@��@��@��@��@��@���?��enable/disable%s (%s) %s %s %s w+bnanohelpIf you have selected text with the mark and then search to replace, only matches in the selected text will be replaced. The following function keys are available in Search mode: Search Command Help Text Enter the words or characters you would like to search for, and then press Enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string. The previous search string will be shown in brackets after the search prompt. Hitting Enter without entering any text will perform the previous search. If you need another blank buffer, do not enter any filename, or type in a nonexistent filename at the prompt and press Enter. The following function keys are available in Insert File mode: Insert File Help Text Type in the name of a file to be inserted into the current file buffer at the current cursor location. If you have compiled nano with multiple file buffer support, and enable multiple file buffers with the -F or --multibuffer command line flags, the Meta-F toggle, or a nanorc file, inserting a file will cause it to be loaded into a separate buffer (use Meta-< and > to switch between file buffers). The following function keys are available in Browser Search mode: Browser Search Command Help Text Enter the words or characters you would like to search for, and then press Enter. If there is a match for the text you entered, the screen will be updated to the location of the nearest match for the search string. The previous search string will be shown in brackets after the search prompt. Hitting Enter without entering any text will perform the previous search. Go To Line Help Text Enter the line number that you wish to go to and hit Enter. If there are fewer lines of text than the number you entered, you will be brought to the last line of the file. The following function keys are available in Go To Line mode: Write File Help Text Type the name that you wish to save the current file as and press Enter to save the file. If you have selected text with the mark, you will be prompted to save only the selected portion to a separate file. To reduce the chance of overwriting the current file with just a portion of it, the current filename is not the default in this mode. The following function keys are available in Write File mode: File Browser Help Text The file browser is used to visually browse the directory structure to select a file for reading or writing. You may use the arrow keys or Page Up/Down to browse through the files, and S or Enter to choose the selected file or enter the selected directory. To move up one level, select the directory called ".." at the top of the file list. The following function keys are available in the file browser: Browser Go To Directory Help Text Enter the name of the directory you would like to browse to. If tab completion has not been disabled, you can use the Tab key to (attempt to) automatically complete the directory name. The following function keys are available in Browser Go To Directory mode: Spell Check Help Text The spell checker checks the spelling of all text in the current file. When an unknown word is encountered, it is highlighted and a replacement can be edited. It will then prompt to replace every instance of the given misspelled word in the current file, or, if you have selected text with the mark, in the selected text. The following function keys are available in Spell Check mode: Execute Command Help Text This mode allows you to insert the output of a command run by the shell into the current buffer (or a new buffer in multiple file buffer mode). If you need another blank buffer, do not enter any command. The following function keys are available in Execute Command mode: Help text spilled over -- please report a bugMain nano help text The nano editor is designed to emulate the functionality and ease-of-use of the UW Pico text editor. There are four main sections of the editor. The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows important messages. The bottom two lines show the most commonly used shortcuts in the editor. Shortcuts are written as follows: Control-key sequences are notated with a '^' and can be entered either by using the Ctrl key or pressing the Esc key twice. Meta-key sequences are notated with 'M-' and can be entered using either the Alt, Cmd, or Esc key, depending on your keyboard setup. Also, pressing Esc twice and then typing a three-digit decimal number from 000 to 255 will enter the character with the corresponding value. The following keystrokes are available in the main editor window. Alternative keys are shown in parentheses: 8B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��@B��0B��PB��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��`B��0B��0B��0B��0B��0B��0B��0B��0B��pB��0B��0B��`B��0B��0B��0B��0B��0B��PB��`B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��0B��`B��0B��0B��0B��0B��0B��0B��0B��0B���B��0B��0B��`B��0B��0B��0B��0B��0B��PB��`B�� Press Enter to continue /.nano/filepos_historyXDG_DATA_HOME/.local/share/nano//.local/.local/sharesearch_historyError writing %s: %s %s %zd %zd Unable to create directory %s: %s It is required for saving/loading search history or cursor positions. Path %s is not a directory and needs to be. Nano will be unable to load or save search history or cursor positions. Trying to renumber nothing -- please report a bugThis function is disabled in restricted mode Buffer not written to %s: %s Sorry! Nano crashed! Code: %d. Please report a bug. Usage: nano [OPTIONS] [[+LINE[,COLUMN]] FILE]... To place the cursor on a specific line of a file, put the line number with a '+' before the filename. The column number can be added after a comma. When a filename is '-', nano reads data from standard input. Option GNU long option Meaning Save backups of existing filesDirectory for saving unique backup filesUse bold instead of reverse video textRead a file into a new buffer by defaultLog & read search/replace string historyFix numeric keypad key confusion problemDon't add newlines to the ends of filesTrim tail spaces when hard-wrappingDon't convert files from DOS/Mac formatLog & read location of cursor positionRegular expression to match quotingScroll by line instead of half-screenSet width of a tab to #cols columnsPrint version information and exitDetect word boundaries more accuratelyWhich other characters are word partsSyntax definition to use for coloringWhen soft-wrapping, do it at whitespaceConstantly show cursor positionFix Backspace/Delete confusion problemAutomatically indent new linesCut from cursor to end of lineShow line numbers in front of the textDo not read the file (only write it)Preserve XON (^Q) and XOFF (^S) keysSet hard-wrapping point at column #colsAuto save on exit, don't promptSave a file by default in Unix formatMake Ctrl+Right stop at word ends (C) 1999-2011, 2013-2018 Free Software Foundation, Inc. (C) 2014-%s the contributors to nano Email: nano@nano-editor.org Web: https://nano-editor.org/Save modified buffer? (Answering "No" will DISCARD changes.) Reading from standard input; type ^D or ^D^D to finish. Couldn't reopen stdin from keyboard, sorry Unexpected large character size: %i bytes -- please report a bug Requested tab size "%s" is invalidRequested fill size "%s" is invalidType '%s -h' for a list of available options. ABC:DEFGHIKLMNOPQ:RST:UVWX:Y:abcdefghijklmno:pqr:s:tuvwxyz$Welcome to nano. For basic help, type Ctrl+G.Key is invalid in view modenano.save Buffer written to %s Buffer not written: %s Received SIGHUP or SIGTERM Use "fg" to return to nano. %s Enable smart home key--smarthome--backup--backupdir=<dir>-C <dir>--boldtextConvert typed tabs to spaces--tabstospaces--multibufferUse (vim-style) lock files--locking--historylogDon't look at nanorc files--ignorercfiles--rebindkeypad--nonewlines--trimblanks--noconvertUse one more line for editing--morespace--positionlog--quotestr=<regex>-Q <regex>Restricted mode--restricted--smooth--tabsize=<#cols>-T <#cols>Do quick statusbar blanking--quickblank--version--wordbounds--wordchars=<str>-X <str>--syntax=<name>-Y <name>--atblanks-a--constantshow-c--rebinddelete-dShow cursor in file browser--showcursor-gShow this help text and exit--help-h--autoindent-i--cutfromcursor-k--linenumbers-lEnable the use of the mouse--mouse-m--noread-n--operatingdir=<dir>-o <dir>Set operating directory--preserve-p--fill=<#cols>-r <#cols>--speller=<prog>-s <prog>Enable alternate speller--tempfile-t--unix-uView mode (read-only)--view-vDon't hard-wrap long lines--nowrap-wDon't show the two help lines--nohelp-x--afterends-yEnable suspension--suspend-zEnable soft line wrapping--softwrap GNU nano, version %s Compiled options: --enable-utf8No file nameNANO_NOCATCHSuspension is not enableddisabled%s %ssigaction/dev/stdinFailed to open stdin: %s/dev/ttyUnbound keyUnbindable key: M-[Unbound key: M-%cUnbound key: ^%cUnbound key: %cUTF-8/usr/share/locale!.?"')>]}^([ ]*([#:>|}]|/{2}))+SPELL(<[{)>]}»·>.kLFT5kRIT5kUP5kDN5kHOM5kEND5kLFT6kRIT6kUP6kDN6kHOM6kEND6kLFT3kRIT3kUP3kDN3kLFT4kRIT4kUP4kDN4Invalid line or column numberMistakes in '%s'quotestrtabsizeoperatingdirquietfillbackupdirwordchars�z���z���y���y���y���z���y���y���y���y���y���y���y���y���y���y���y���y���y���y���y���y���y���z���y���y���y���y���y���y��Tz��5P��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��AP��&P��P���O���O���O���O���O���O���O��AP���O���O��zO��kO��\O��PO��1O��"O��O���N���N���N���N���N��nN��AP��AP��AP��AP��AP��AP��AP��_N���L��GN��8N���L���L��)N��N��N���L��N���M���M���M���M���M���L���M��eM��YM��PM��DM��8M��/M��#M��SN��YyNnAaYesNoAllError in %s on line %zu: Bad regex "%s": %sMissing key nameKey name is too shortKey name %s is invalidbrightgreenbluewhiteyellowcyanmagentablacknormalColor "%s" not understoodMissing color namestart=Empty regex stringend=Missing syntax nameUnpaired quote in syntax nameThe "none" syntax is reservedextensionMissing argument after '%s'extendsyntaxheadermagicicolorformatterincludeunsetunbindCommand "%s" not understoodMissing optionCannot unset option "%s"titlecolornumbercolorselectedcolorstatuscolorerrorcolorkeycolorfunctioncolormatchbracketsNon-blank characters requiredwhitespacepunctUnknown option "%s"Error expanding %s: %s/etc/nanorcXDG_CONFIG_HOME/.nanorc/.config/nano/nanorcnopausesallow_insecure_backupcasesensitivejustifytrimArgument '%s' has an unterminated "Regex strings must begin and end with a " characterKey name must begin with "^", "M", or "F"Must specify a function to bind the key toMust specify a menu (or "all") in which to bind/unbind the keyCannot map name "%s" to a functionCannot map name "%s" to a menuFunction '%s' does not exist in menu '%s'Sorry, keystroke "%s" may not be reboundA background color cannot be brightA '%s' command requires a preceding 'syntax' commandMissing regex string after '%s' command"start=" requires a corresponding "end="The "default" syntax does not accept '%s' regexesThe "default" syntax does not accept extensionsArgument of '%s' lacks closing "Syntax "%s" has no color commandsCommand "%s" not allowed in included fileOption "%s" requires an argumentArgument is not a valid multibyte stringTwo single-column characters requiredCould not find syntax "%s" to extendI can't find my home directory! Wah!Fatal error: no keys mapped for function "%s". Exiting. If needed, use nano with the -I option to adjust your nanorc settings. Searching..."%.*s%s" not foundReplace this instance?Replace withReplaced %zd occurrencesReplaced %zd occurrence (to replace) in selection (to replace) [Backwards] [Regexp] [Case Sensitive]%s%s%s%s%s%sNot a bracketNo matching bracketEnter line number, column numberkillMark SetMark UnsetError invoking "%s"Nothing in undo buffer!text addline breaktext deleteline jointext replacetext cuttext uncuttext insertfilteringuncommentUndid action (%s)Nothing to re-do!Redid action (%s)/bin/shCould not create pipeSHELLCould not forkFailed to open pipe: %sBad quote string %s: %sCan now UnJustify!Unfindable word: %sEdit a replacementNext word...-fsortuniqError invoking "spell"Error invoking "sort -f"Error invoking "uniq"Spell checking failed: %sSpell checking failed: %s: %sFinished checking spellingInvoking linter, please waitAt last messageAt first messageFinishedFinished formattingIn Selection: Verbatim InputNo further matchesNo matchesMultiple groups -- please report a bugMissing break line -- please report a bugWrong undo type -- please report a bugMissing join line -- please report a bugWrong redo type -- please report a bugWrong undo adding type -- please report a bugCommenting is not supported for this file typeCannot comment past end of fileWrong undo update type -- please report a bugCreating misspelled word list, please wait...Could not get size of pipe bufferInvoking spell checker, please waitNo linter defined for this type of file!Save modified buffer before linting?Got 0 parsable lines from command: %sThis message is for unopened file %s, open it in a new buffer?No more errors in unopened files, cancellingInvoking formatter, please wait%sWords: %zu Lines: %zd Chars: %zu��0�`�`��� ������������0��`�`���p���8�4���Y�Y���h��������/�Z����������������0���(�H����0�0�0�0�0�����P�0�0�0���������������s������s���s������������������������������s���s���Searching for nothing -- please report a bug *** Copying a string to itself -- please report a bug ***Gone undo line -- please report a bugnano is out of memory!m,. /;Too many errors from stdinGNU nano 2.9.8DIR:[%i/%i]ModifiedView[ ]%06lXUnicode Input: %sRecording a macro...Stopped recordingMacro is empty%*s%*zdUnknown sequenceThe nano text editorBrought to you by:Special thanks to:The Free Software FoundationFor ncurses:and anyone else we forgot...Thank you for using nano!Chris AllegrettaBenno SchulenbergDavid Lawrence RamseyJordi MallachDavid BenbennickRocco CorsiMike FrysingerAdam RogoyskiRob SiemborskiMark MajeresKen TylerSven GuckesBill SoudanChristian WeisgerberErik AndersenBig GauteJoshua JensenRyan KrebsAlbert ChinMonique, Brielle & JosephPlattsburgh State UniversityBenet LaboratoriesAmy AllegrettaLinda YoungJeremy RobichaudRichard Kolb IILinus TorvaldsThomas DickeyPavel CurtisZeyd Ben-HalimEric S. Raymond(C) 2018https://nano-editor.org/3J��J���H���H���H��*I���I���I���H���G���G���G���G���G���G��H��yI��yI��yI��yI���I���I���I���J���J���G���G��H��|H��vH��6H��pH���J���J��'J��-J���J���J���J���J���J���H���H���G���G���G���G���G���J���J���J���J��;K��#J���K���K��]J���K���K���K���K���K���K���K���K���K���K���K��3K��3K��3K��3K��`G��PG���K���J���K���K���K���K��-K���K���K���J��K��K��!K��'K��J��J��J��J���J���K���K���K���K���K���K���K���J���J���J���J���K���K���K���K���K���J���J���J���J���J���J���J��PG���J���J���J��`G�� K��K���J��K��gJ��mJ��sJ��J��yJ���J���E���J���J��qJ��-E��-E���E��K��K��K���J�� E���J�� E���J��}E��K��K��K���E���J���E���J��TK��TK��TK��TK���I���I���I���I���I���I���I���I���I���I���I��K��NK��HK���H��jK��dK��=E��^K��XK��RK��LK��=E��FK��@K��I���K���K���K���K��E��zK��tK��nK���a��8a��ha���a���a���a���`���~���~���~��~~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~���~��v~��n~��f~��J~��Further warnings were suppressedCannot run macro while recordingBadness: tried to display a chunk on row %i -- please report a bugBadness: tried to display a line on row %i -- please report a bugCould not scroll -- please report a bugline %zd/%zd (%d%%), col %zu/%zu (%d%%), char %zu/%zu (%d%%)the many translators and the TPFree Software Foundation, Inc.;l������%����0��4,�0��N�0���<X?���H@���X@���x@���E��X�G���hH���I���J��h�K���xL����L����L���(M��X��xXY����Y����Y����Y���8Z��$HZ��8XZ��L�Z��p�[���8\���H\���h\����\����]��TX^����^����_���`����`���a��<�a��P�b���8c���hc����c����e���e��08f��|�f���(g��8g���g��Xxh����i��hj��X�j���hk����k����l��0�l��D8m��`�m��|Ho����o��xp��4Hu��p�v���w����y���y���y��0Hz��L�z��ph{����{����}���}��0�~��|�~������������8���0����L��lh���������H���d�����(����8����H����X���(���(X���PX������������8���< h���� ��� ȗ��� ��� ��X!�����!H����!8���"����<"����t"����"�����"�����"(���#��L#H����#�����#��$ػ��L$����$����$���$���%x��h%8���%���&���&���(&���<&���P&���d&��x&���&(���&8���&H���&X���&h���&x��'���'���,'���@'���T'���h'8��|'����'����'H���'x��(X��<(���X((���(���((����((���)���� )���4)(���H)����)� ���)h��,*���@*���|*8���*��4+(��H+���d+(��x+����+���H,��\,8��p,H���,X���,� ���,"��-X$��D-�%���-h&���-�'�� .�)��p.�+���.H,��/�-��p/�.���//���/8/��0�/��(0�/��<0�0���0�1���0�2��14��,1�4��`1�5���1�5���1�5���1X6���1�6��2�7��x2�8���29���2H9���2�:��(3H<��l3H=���3h>���3�>���3X?��4�?��04@��`4(@��t48@���4�@���4�@���4(A���4XA���4�A��5�A��05HB��\5hB��p5�B���5�C���5(E��6H��d6XJ���6xJ���6�J���6�J���6(K��7XK��(7�K��@7L��\7(M���7�N���7�N���7O���7�P�� 8Q��88�Q��P8�Q��h8R���8(R���8�R���8�Y���8�Z��9[��9�[��@98]��d9x]��|9�]���9�_��:`��$:�`��H:a��l:ha���:�a���:b���:�d��;he��0;�e��d;(f��|;g���;�h���;Xi��<xi��<m��h<�q���<�q���<�r��=�r��0=s��D=hu���=�v���=�w��>8x��(>Xx��<>�x��T>�x��l>y���>xy���>�y���>�y���>�z��?({��4?h��`?�����?����@ȉ��P@8����@�����@(����@Ȍ���@����8A(���LA����A�����A8���Bx���HB8����BH����B����(C8����C���Dȝ��TDX����D�����Dx���E����(Eج��hE�����E(����E8���Fز��HF�����F(����FH����Fh����Fh��� Gh���LGh����Gȼ���G(���H���LHx���H����H����H����H���I(�� I��lIh���I����I8��J���,Jh��hJx��|J����J���J����JH��K���0K��\K(���Kx���K���Lh��\L����L����L���\M���pM��Nx�hNH��N���N�� O��\O���O���O�\Ph�Px��P���P(��� Q8���4QH����Q����Q����R���$RH���8R����RH����RX���R���DS����Sh���S��@T(��TT8��hT����T��U���hUX���U����U�$��0V�'��tV�)���V�*���V8+��<WX/���W�/���W�/���Wx0��X�0�� X�0��4X(1��`X81��tX�1���X4���Y84���Y�4���Y�4��ZX5��HZ�5��pZ�5���Z86���Zx6���Z�6��[�7��X[�7��t[(8���[�8���[H9���[h9��\�9��8\H:��T\�:��l\;���\�;���\H<���\�<��]�<��]8=��8]�=��L]h?���]x?���]�?���](@��^x@��@^HA���^�A���^�I���^xJ���^K��_8K��,_�M��h_N��|_XN���_�N���_�N���_O���_(O��`XO��`�O��,`hT��x`�T���`�Z���`X^��4ah`��`a�a���a�b���a�b���a�c��b�d��8b�d��Pb�e���bXg���bXq��Dc�q��lcHs���cXt���c�t��HdHv��|dXw���dH����d����8e���ex����ex���fx���8f����Lf��hf���|f�����f����fh����fH���gx���(g����\g؎���g�����gh����g���� hȐ��4hh���Phȑ��phX����hh����h����i����$i����pih����i��jX���XjzRx��/��/D$4@��FJw�?:*3$"\��� t`0���\0��L�h0��IF�B�B �B(�A0�A8�G�^ 8A0A(B BBBCH�h5���F�B�B �E(�A0�D8�FP� 8A0A(B BBBE8�6���XL�7���F�B�A �A(�D0L (A ABBH[ (A ABBGO(A ABBP��7��iM�A�A ��(E0O8O@K V ABCB ABKEAB8�9��]F�I�D �C(�D@ (A ABBJ8<:���Ds I}X�:��%HM KDx�:��DTW��:��,E�f\�;��� F�B�B �E(�A0�A8�G���H�Y�A�� 8A0A(B BBBA,�E��HE�A�G�� AAC<�F��oD N FX�F��l�F��4��F��LF�E�D �A(�L0f(D ABB�G���G�� �G���E�G C AH �G���E�G C AH (�G���E�G ADLxH��`tH��t�H��M\��H���B�B�D �I(�G0S (D ABBDb (A ABBHn (D ABBA8�LI���B�B�A �A(�D0f (D ABBG $�I���E�G C AH0H<J���F�A�A �D0m AABC|�J��6�K���(��K���E�A�I0s AAD��L��4��L���E�D�D0 DAG[ GAE(M��|0�M��)D�M��3L�N FRHd�M���F�B�B �B(�D0�D8�GP0 8A0A(B BBBK�dO��H�pO���F�H�D �A(�G0M (D ABBHD(C ABBH�O���F�H�D �A(�G0M (D ABBHD(C ABB4\�O��YM�D�A �y ABBAAB� P�� @�P��wM�A�D �F ABEL ABAACBX�XP���F�B�D �D(�G0M (A ABBFn (D ABBID(C ABB`H�P��{F�B�B �B(�A0�D8�Gpz 8A0A(B BBBL� 8A0A(B BBBF<��Q��jE�D�G z CABD AAJDDA(�R��\I�D�D �| ABH@ <R���M�D�D � ABIf ABGAAB0\ �R��IE�A�D l FACDCA0� �R���F�A�A �G0� AABH� `S��S� �S��4\W� �S��TH�KH T���F�H�B �I(�H0�A8�I@4 8A0A(B BBBG4\ xU���F�A�A �J ABKdAI0� �U���F�A�A �Dp� AABA8� <V���F�B�A �A(�G�� (A ABBA8�Z���F�B�A �A(�DP� (A ABBK@D\��DTP\���F�B�B �A(�A0�DPU 0A(A BBBC��^����^����^��`L�y K ��^���E�G@t AA0`_���E�A�D S AAADJO$8�_��EE�A�D cKHH`�_��F�E�B �B(�A0�C8�DP 8A0A(B BBBE��a��)H\H��a���M�B�B �A(�A0�s (A BBBCd(A BFB Db��,H_0( \b���S�F�F i AAF`��0\ �b���F�A�A �G�� AABK0� �c���F�F�A �G�� AABJ� e��dE�^� Te��:E� I0tf��rE�D�I M CAEECAL4�f���F�B�B �B(�I0�A8�G�� 8A0A(B BBBGp�j��OF�E�B �G(�A0�A8�G���H�L�O�I���_�b�D�b 8A0A(B BBBD4��m��bE�D�G ] AAAS AAK0n��gH@ H$Lhn�� L�e OW IatPo���Lo���Ho���\H DN$��o��)E�D�G MFA8�p���F�E�A �A(�J�� (A ABBA �p��^L�QH<q��/F�B�B �A(�A0�G� L�@I�@� 0A(A BBBGD��q��IO�B�A �A(�D0�(D ABBK����P0����D��r��*F�B�B �A(�A0�G�O 0A(A BBBF �u��zY�T �KA0<8v���B�A�D �G�x AABFp�v��d��v���F�B�B �J(�A0�A8�F�: 8A0A(B BBBH� 8A0A(B BBBEH��{���F�E�E �E(�D0�A8�G�� 8A0A(B BBBG(8~���E�K�D0f AAAHdp~���F�E�J �G(�A0�D8�Dp� 8A0A(B BBBA���OE�q JN4�D���F�A�K �� ABDFAB���}H IhH(l����B�E�A �A(�D0w (C ABBDd(D CBBt����#�����hE�^8�����F�E�A �A(�J�� (A ABBEX�����UF�K�B �B(�A0�C8�Dp�xQ�QxAp' 8A0A(B BBBD<����UlWLT��=F�B�B �B(�A0�A8�G�� 8A0A(B BBBJ8�Ж���F�H�D �D(�I`� (A ABBG`������F�B�B �B(�A0�A8�G���H�S�A�O� 8A0A(B BBBDD�)HU CDd���)HR FD(����}E�C�G�f AAAH�d����F�B�E �E(�D0�E8�D@{ 8D0A(B BBBIH�����F�E�B �B(�A0�D8�D`� 8A0A(B BBBCHH|���gF�B�B �B(�A0�A8�F�� 8A0A(B BBBJ���������������������������������� ����4����H|���\x���pt����p����l����h����d����`����\����X���eH�����F�J�E �E(�D0�D8�G@C 8A0A(B BBBJ\����%p���F�P���'HR FF(�`����E�J Ae Ke K����1a�O<�8����F�J�E �D(�D0�N (J BBBEH,�����&F�P�P �B(�A0�A8�D`3! 8G0F(G IBBNx���5�(������t����/����H@�����E�I�D q DAHb DAIG DAD( 4��E�M�G �CApL���F�B�B �B(�A0�A8�DP\ 8A0A(B BBBH$XN`RXAPn 8O0A(B BBBE�4��8����F�G�A �D(�D0� (D ABBDL4�vF�S�B �A(�A0�� (A BBBJe(D DBBd`d��F�B�B �B(�A0�A8�D� 8A0A(B BBBA� 8A0A(B BBBE��� ���E���l�OH��mF�B�A �A(�D0F (D ABBCD(C ABBHX��_F�B�B �B(�A0�A8�D@� 8A0A(B BBBG zRx�@������(��� ����������`,��F�B�B �B(�A0�A8�GP� 8D0A(B BBBGN 8D0A(B BBBE���K� A$���ME�G� AGH����hF�I�B �B(�A0�A8�Dp 8A0A(B BBBGL$0����O�E�A �A(�G0P (C ABBKD(F ABBA����<t����:R�O�A �� �A�B�Nr�A�B�L�����'F�I�B �B(�A0�A8�D�� 8A0A(B BBBHl`����F�I�B �B(�A0�A8�D@qHGPnHA@� 8H0F(B BBBO8F0A(B BBB(t�����E�F�G�� AAA`�4����F�E�E �B(�A0�A8�D@i 8D0A(B BBBJ� 8A0A(B BBBJL p����F�E�D �A(�D0e (A ABBAL(C ABB4T ����yB�B�D �D(�D0b(A ABB� ���+� $���OE�I� X���-H� t��� F�E�E �E(�G0�D8�D@} 8D0A(B BBBBH!8���F�B�B �B(�D0�H8�GPw 8A0A(B BBBH(h!���;E�A�I@� AAC(�!���E�A�I@� AAF0�!���xE�C�D S AAGDFA8�! ��F�D�A �� ABHA FBE0"���D"���(X"����E�A�D � FAE$�"`���E�A�D nFA\�"����F�B�E �B(�D0�E8�D@� 8A0A(B BBBDL8I0A(B BBBH#X��F�B�B �B(�A0�C8�JP� 8D0A(B BBBHX#,��l#8��&8�#T���F�B�A �A(�D@� (A ABBA@�#���JF�B�B �A(�A0�D@� 0A(A BBBF($����E�A�D@l AAH(,$� ��E�A�D@l AAHX$� ��{TT HFx$� ��jL�X Ly(�$L��_E�A�D r IAJ,�$���[E�A�D s IAI�$���%���%���EE�$8%���RE�I�D zDA`%��5t%@��"E�X�%T��J�%���<A�h GG(�%���\F�A�A �PAB�%���&���K<&, ���F�E�E �I(�D0�� (A BBBE8X&� ��oF�I�B �A(�A0�T(A BBB`�& ���F�B�B �B(�A0�A8�D`T 8A0A(B BBBH 8A0A(B BBBGL�&���6F�B�B �B(�A0�A8�G�e 8A0A(B BBBDH'���HI`'���t'���KE�A�'���A�'��'HW�'(��,H_�'@���EAD4�'���E�O�D Z DAIb DAI((���yE�D�G�H(���'EARd(��&E�4|(���E�A�D � AAEb AAD�(��� HS�(���wHj�(@��)H`�(X��7H\ L)|��,,)����F�I�I �d AEN\)��E�% V|)!���H��)�!��<Hn A �)�!���YX OlTW �)�"��OE�� AU�)�#��@\_(*�#��iE�A�I�R AAAT<*8$���T�G�B �H(�D0������X0�����Z �(K� E�D�D�N �*�%��}E�J`g AA �*�%��uE�J`_ AA �*8&��uE�J`_ AA +�&��TE�F`B AA $+�&��TE�F`B AAH+'��>Ha GI,h+,'���E�A�G�� AAG(�+�)���E�C�D0� AAA0�+0*��JE�C�D V CAJPDA�+L*��jHa(,�*���E�P KR FY O|@<,h+��lF�G�B �A(�A0�DPA 0A(A BBBB�,�,����,P-��HVL�,X-���F�B�B �B(�A0�A8�D� 8A0A(B BBBK@�,�0���F�G�B �A(�C0�D@� 0A(A BBBH0@-D�WF�G�B �B(�A0�C8�Q� t-�4��$�-�4���E�A�D �AA�-t5��G�-�5��<�-�5��[F�I�B �A(�C0�� (A BBBL0.�7��F�F�A �D0C AABHHL.�8��NF�E�B �B(�A0�H8�G` 8A0A(B BBBA �.�9��\E�D L AA�.:���.:��$HW�.,:��8\W/T:��9dP(/|:��ma�E�D |A�A�D/�:��8\W\/�:��14p/;���E�C�D j AAHR AAL�/�;��tE�^ M(�/�;��?E�I�D0� AAJL�/@��$F�B�E �B(�A0�A8�G�� 8A0A(B BBBJLD0�B��ZF�B�B �E(�D0�D8�I�� 8A0A(B BBBJL�0�D���F�G�B �E(�A0�A8�H�{ 8A0A(B BBBE0�0pI��mF�A�D �G�� AABD1�J��hE�T GD 81�J��yE�L GI E(\1XK���E�D�D d DAJ@�1�K���F�B�B �A(�A0�F�O 0A(A BBBG�1HL�����1�L���O�B�B �B(�A0�C8�G`������P`������i 8D�0A�(B� B�B�B�J� 8A0A(B BBBD d20Q���E�O�~ AE$�2�Q��8A�D�G bDA(�2R��8E�P�G � CAD\�2(S���F�J�E �D(�D0�F (A BBBFV (A JEBHO(C BBBH<3�S��F�B�B �B(�A0�A8�D`V 8A0A(B BBBF0�3LV��aE�I�D k DAFSDAt�3�V��q]�N�E �A(�A0�P �(H� D�B�B�Nn (A BBBKY�(C� B�B�B�_0�����d44�W���F�A�A �P ABEA HDKA HDKG HIHA HBEAHBH�4�X���E�D�D0W AAJD MAND KAHDMAL�4lY��� F�B�B �B(�D0�A8�D� 8A0A(B BBBCH85�c���F�B�B �B(�A0�A8�F�� 8A0A(B BBBE �5e��}HT Da O\�5\e��<�5he��8F�I�A �A(�D�W (A ABBNH�5hg���F�B�A �D(�D0y (F ABBKj(C ABBH6�g��atlL`6Th��F�E�E �B(�A0�A8�D�� 8A0A(B BBBH(�6l���L�E�J �xAB<�6�l���E�K�F(^0I(A S FAHP FAI 7�l���HX HW QD@7tm��T7�m��Hh7�m���F�E�I �E(�D0�C8�DP� 8C0A(B BBBG(�7@n���E�A�G � AAK\�7o���F�B�B �B(�A0�C8�G���K�]�A�� 8A0A(B BBBJD@8�s��]F�P�A �A(�D@YHHPZHA@n (A ABBD�8�t��UE�O8�8u���E�A�FPV AAD�XM`SXAPl�8�x��SF�B�B �E(�A0�A8�DpsxO�B�B�B�B�H�H�Op� 8A0A(B BBBDP9�|�� d9�|��x9�|���9�|��-�9�|��'H�9}���F�B�D �C(�D0� (A ABBGl(C ABBP:�}��KF�B�B �B(�A0�A8�D�� 8A0A(B BBBGT:���8HY GKt:����H| D}(�:0���eF�P�C �HAB8�:t����F�B�A �A(�D0� (A ABBE�:����;�($;��N�A�D TD�A�8P;T����F�B�B �D(�G0�K (A BBBI�;��U �;4���dE�T Gd D(�;����RR�A�D �s�A�B�H�;����F�B�E �E(�D0�C8�D@� 8A0A(B BBBF<<x���DL�nD�HX<����F�H�E �B(�A0�D8�D`� 8C0A(B BBBGH�<�����F�E�B �D(�A0�x (A IBBAf(A IBB$�<���aL�l HI �GP�<=L����Q�B�A �A(�G0�(A ABBD�����X=����;B�B�B �B(�A0�A8�DP@ 8A0A(B BBBH 8A0D(B BBBI 8C0A(B BBBL�8A0A(B BBB�=d��� p>`����M�B�B �A(�A0�a (A BBBEv (A EBBE� (A BBBEp(A BBB zRx�0�����(�� H�>�����F�B�B �A(�A0�u (D BBBEA(A BBBD�>����F�E�E �E(�A0�A8�D@�8A0A(B BBB0D?����iF�A�C �D0� AABJ8x?̖���F�E�D �A(�D0| (A ABBJ8�?p���JF�B�A �A(�DP (A ABBH0�?�����F�A�A �D@� AABA8$@����F�B�A �A(�DP� (A ABBG�`@ԛ��ke�B�A �A(�D0s����`0����� (A ABBGs (A ABBG� (O� A�B�B�HO (A� A�B�B�K\�@����JF�B�A �C(�D0� (A ABBJ� (F ABBGD (A ABBFPA����dA����8YN4|AȠ��cF�D�A �G�% AABE�A���H�A����F�E�B �E(�A0�A8�D`� 8A0A(B BBBF8B�����F�B�A �A(�D@c (A ABBAHPB����F�E�E �E(�A0�C8�DP% 8A0A(B BBBD�B����aH S A�B��.L�B����B�B�E �A(�A0�l (A BBBBk (F BBBIC����'E�^88C����F�B�A �A(�D0 (A ABBD`tCp���uF�B�B �B(�A0�A8�GPF 8C0A(B BBBI� 8F0A(B BBBCH�C�����F�E�B �B(�A0�C8�G` 8A0A(B BBBJ\$D ����F�B�A �A(�D0� (A ABBGW (C ABBA� (C ABBFL�Dp����F�B�B �B(�A0�A8�G�( 8A0A(B BBBI�Dй���D̹��<�Dȹ���F�B�E �F(�A0�s (A BBBBl<E(���"F�E�B �B(�A0�A8�I���L�Q�A�� 8A0A(B BBBJ��G�d�A�L�E���F�B�B �B(�A0�D8�D� 8A0A(B BBBKH�E8����F�E�B �B(�A0�A8�O�� 8A0A(B BBBJ(HF���NE�A�D@3 AAALtF��� F�B�B �B(�A0�A8�G�4 8A0A(B BBBE@�F���F�B�B �A(�A0�DP] 0A(A BBBKLGl���F�B�B �B(�A0�A8�D�h 8A0A(B BBBD(XG����E�O�D0� AAJH�G����F�E�E �A(�D0�r (A BBBBI(A BBBh�G���F�B�B �B(�A0�A8�DP# 8D0A(B BBBEs 8A0A(B BBBA<H���"E�XXH���p0lH��F�D�D �D0c AABA�Hd��"�H���#(�H���IJ�D�G bD�A��H���8I����F�B�H �G(�GP` (A ABBD�DI@��F�B�B �B(�A0�A8�GP� 8D0A(B BBBOW 8D0A(B BBBDD 8F0A(B BBBEH 8D0A(B BBBKD 8C0A(B BBBHD 8D0A(B BBBGD8D0A(B BBB J���E�Q0<J���WE�D�D V DAHaDA4pJ���WF�E�D �A(�D0y(D ABB0�J���WE�D�D V DAHaDA$�J��3E�A�D fAA$K ��+E�D�K TAA(,K(��gF�N�D �f ABG$XKl��7E�I�G UGA�K���{Q�} BcH�K����F�E�B �D(�A0�m (D BBBGG(A BBB�KH��E�LLL��]8L����F�B�A �A(�D@i (A ABBA0XL����F�A�A �D0k AABA�LH��(�LT��qE�A�D0U AAG�L���VL�I�L���QamM4��mL�v Fd( M����E�A�G@V AAKLM��u[Y4dMp��bF�A�A �u HBIGHB�M���>�M���=L�p�M���X\�MD��F�B�A �D(�D0� (F ABBNy (A ABBAT(C ABB@N��4TN��yR�G�D t AAEZAAD���N��#E�L GF$�N�HE�D�D xAAX�N0��F�B�A �A(�G0\ (D ABBJU (D DBBGU(D ABB0O��qU e FNPO��dO���0xO���N�H�J �V ABGp����O��.8�O�rF�B�D �D(�GP| (A ABBG�OH�T$P��9E�D�F gAA8P��7DqPP��dP��AO�kF��P��P �.Ha�P8�%H�PT��F�E�B �B(�D0�D8�JpA 8A0A(B BBBDQ��1d Q��F�B�E �B(�A0�A8�Dp� 8A0A(B BBBI 8A0A(B BBBA<�Q�����F�E�A �C(�G�i (A ABBK(�Q���E�D�D0� AADH�Q���jF�I�B �D(�D0�� (C BBBIp(K BBB4@R$��E�D�G ` DAK[ DAHxR����R����Hn J �R���H[ EY O�R���'HZ4�R����F�J�K �� JBFAABhS8���b�B�B �E(�A0�A8�DP 8A�0A�(B� B�B�B�ND 8A0A(B BBBBL�S\�� F�B�B �B(�A0�D8�J�� 8A0A(B BBBK$�S��Fa�A�G ZAAHT4���F�E�B �B(�A0�A8�D`� 8A0A(B BBBG@LT���F�B�E �A(�D0�D@f 0A(A BBBDH�TT���F�E�E �B(�D0�C8�FPf 8A0A(B BBBA0�T���LF�A�A �D0� AABA8U���F�B�F �A(�I@� (A ABBB0LU���� F�F�D �D0� AABAH�UT��=F�B�B �B(�D0�A8�Dp 8A0A(B BBBJX�UH��WS�B�D �D(�D0u (C ABBB�(F ABBD����H0����8(VL���F�B�A �D(�F@_ (A ABBH8dV� ���F�B�A �D(�DPP (A ABBI(�Vd!���E�C�D@? AAC�V8#���VD#��GH y A�Vx#��! W�#��cE�D S AA(4W�#��yE�D�G0q AAE`W4$��_{W xW|$���E�D0R AD�W8%��)HM KD0�WH%��F�A�A �D0g AABIL�W$&��BF�E�A �D(�D0o (A ABBGS (A ABBG(@X$'��E�A�D � AAGlX(��iARMD$�Xh(��KE�G f AEQA�X�(���X�(���H I�X)��RHh HUtYP)���F�B�B �B(�D0�A8�D`�hTpBxB�E�D�N`K 8A0A(B BBBCk8A0A(B BBB|Yh*���Yd*���Yp*��H�Y|*���F�B�E �E(�A0�A8�I`� 8A0A(B BBBALZ,���F�E�B �D(�A0�� (A BBBNk (A BBBNLTZ�-��rF�U�B �B(�A0�A8�G� 8A0A(B BBBID�Z�0��eF�E�E �E(�H0�H8�G@n8A0A(B BBB�Z�0���i�i��#��� HY| (�� & ��/)�5�"� �${ � ��� H�-R ��+8� *Y �M��N�i \&O#��B " '�9 #!�&`%�� W:EQ_kv���D �p�#x�#���o0�� ��#h4�x ���o���o ���o�o����o�`�#�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�Xpi�f��E�b���� �\p�p_0��P_�X0��ip�`��i`[����PS`����@��b@��T`_��I����`����P�(g�d ��H��c@�@������������������������������������������D&F�I�K�L�M�O$Q, R-T{ U� V�Y� c� d" gO h| l� m� n5o� pBqHrHsRt�v�w�x�z�A�BMCEOGYH�N�P9 S� WWX� aY ii k`u�y#$��������8!�c"t"�"�"�"�"�"�"�"�"# ##"#7#E#O#]#h#�t#�#�#�#�#�#�#�# $$$$3$����C$�)����L$GA$3a1�D?iGA$3p1113�Z�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*�ZbfGA*GOW*�GA$3a1@i%�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*���GA*GOW* GA*FORTIFYj�fGA+GLIBCXX_ASSERTIONS GA*FORTIFY��GA+GLIBCXX_ASSERTIONSnano-2.9.8-3.el8_10.x86_64.debug�^}��7zXZ�ִF!t/��X�']?�E�h=��ڊ�2N��r��[/������x:%�#�>23z R����M�z�Ǣ���Z���ft!NO9Zw�p���}:ꭼ?�?���h�?��X����k�"A��R& YSe��+ Rf�Kw�Sז�rr]L��j����j�Lw���hh��|�[7m�&��D^�N��s��/�}{�D����h�4�}Qf. 9�-V��, �P�%��g�Y���0�˄����B�G��jK�[���t�ں���EE�M%�~������>����E1�I�b2�~9�&�<}Ep���K�����-����!�&�ǩT���!2\a�]��{"��7`�cN��O�Ai&U�$�NW��e�Jew!ř��sz�.&%�G��mAg��?��cI>���Ì�7�0^�rIz*�I����?���%ݘO���0�ݱeL��@�7k���ۃ]O����B��^�Q��έ��.� ��0���!v��ˊ���p��P���<Ӛ�|�Y W�����۪�7��4,��p?���TWI�`x�����v�|���cc��Ƨ̽��E��� d� :7��}����I��7˖�L/���ꌁ������T坯��ۈeN���\dh���n�u]Q���1�gFs��*��/�+e[C}�3�d�q��7� ���,A�t�=��J��3}*�,>���a��5��� ]��o�|`]�`��hw��ݠ�,\s0������Z(#{����L@a{��X�ǵ�;�IΗ��Xb@��8���q<�N�8������U `"d����ĭ�_�u���_��O���C����8֑�MD�~9�9� ���(O�}^s�B ��j���鳆�D�h%�:m��D�0;˂�������_��J,����;���^����B [{� �!]�0r���o��+�ܗ���Oa�/�:w .�L#�Н �ƍ�▀�k�LU��2/� �,��y�j�M��J��cA��Ӭ�����6�3z��מ�H�}�bM3y��Ϗ�0;0ݺ�*�TZ�Xr�mǑ�?���!�� ;�Uʉ��&^���5���'�7%��0YoWr4m��b�DHu����ӓݿH�-��b��f·��M)h�{�v����$lS�x��-#d�p�=����C����du� ���Z� yx%-$���扖N��7�~� ���]}uj�L`;C�0+u/@���K�"k9ۤ��ω���G�X���-��$�S�F���[k~�u�j�O�u��|`c@FL%�V�> z��wuK3�wW�15����TX{U������<D.�%���@�XٳX����{c�'xɯ�o�r�9�a�����8������w2']���I �V�N��.V����7Tg��+sy�5��Y�=.�ޣ�r55 �+m��A� ��G]�:J0����|�؟)���| %7z��nW� t�8�a!;�l��0����;�Az�^�&�N-�VE���N*�e�� �?*��x��?�b ���u�Ϙ�j��nJ�]Ğ�)��l�n�l̮�ѫ>�F����N�n�7`�d��$��*o7�`g]�[�o�nة���ޒ;,��'T����i�ش� �1 lo�3稣�L�NֻĔ��bK�W�X�7���W-��݁5�����q�#ɅӒh2����Y��g���8D��� �$��Ek��J<ȿ��xF���H���r3�$o�^E*�x �1(R�1(�&lแ��:#��I�W�H�I�ɮ�|�Iz������tcB���<쥇иq4��Q�d�ϰL��ut����6��';ht�cT�9YDjf���Y7���:����K�;����r5���@s$E��x� J�������X녕���b�ȴ��De)B0"���x���x@M�xÏ����f�e[b�EƩ�=nˑ��'��-ma�x:ىO������l=x��7�#Lx:Z��d�O6�<����CO�)�������ͼg�Bcd���abj��q7�2Sʃ��~S�CSi_����J)f %/kf4)�C/���w�&���B&�������2�g�^0����i��3��ukd!�5�;�LB.F:ڶ��Rqۘ��wK�4�jl�Xn�� X��v ���*�o����kAz=,���dS���d�����E�P��{���IU���;cii��_:/g(�����AR�DWl!"u �'�Z� �S��}�_ �/wwL�\�~�4`Z;�rX�DԧW~��z�y�+�+�b�)O�� L��:'9p������\��'x���*}d�(�V7W����&�n GV&�ج �ψ��Y�M:H&�1�� (S?ךּ-MX5;����^����i������w�s��� ���&���4dX@I{iIҭ)^�sQ�:�0�A�nƄ�&��4��GǨ�C5DH��9�s�N���[}� ���T�m��,����@�n���yznH8+���mˇ��0�˃bm�3ٹ�;�WPQE�;����h�w�]��F���&�VuI����Y��p�>�A��!iPݤ�:��d�$��^�hbq��������n%�i�IQ�"[2~��]�O��wt����bx���E.P-��94�s��_a��t����B��������R/�`cn��|��I�]B�Ut�{�8"3������ؖ��^iz�n�V���9��rnL�#��nj]�>��1��y�9���Wp�sW;j �[�|���c@�鸽Oo�-��֜u���<GfZ�r!���g4�>�#g{�#&$��R�l�z��T�|��Y�ub |-ne��u��4��fCF��h` Y�͛��oEpl.����Hn� ~��o�l����ś]�e�X���{a�k��D dP�8 ���ׂ���D�;}�����ʯ�,�̒����b���`+A.S1�f�E �(\�l���iw` �� ��+�:���&+>��]�#p&�&�ɅO��"���:6��*G�Q�{�A��!��-�8����Ng��͚� ����Q��U�����;c>��,r`������t�W�y�� Xl��*�_�5��IE���F�1�B=m�_��܌_x�+�C� 4v{����i�X��K\?�͕��0�>�G5�w������.�Ƶ�V7~�|⍞��,�q֧�53@�������M����&���< z+(9_�r��L�IJV}̨��l����Q��w��W�e�,@���)ۧ�X�r����i���Hk��A8j��WK��i��9M(>��=�u����n���TK�<1TEȰɛN�N��a$"�0y/��s�ƞ��@/=�Ia���NQ�IHڮQ���L���rcA^ln݅z��#�¢������� k<��w|��.�Wsj5s�Ȇ�y��m���%u��֜Ij���o��~ ~��|���a�]XJG�O����S��X�_dDչ��[�!IT�����{YR:�J���p���� 2ډ�+�?��X89�L`�O:�"���9��8�f� ��L��*����,/�l̪�O� Yė0��aQȀ��_��^�!v��F �1wMIZc\ɗA�}7 �Daz����j��B^�uV��y?Y�+�MԤp�m�P7~��$7�HV>(�J�ܐ�G3��x�r��zN��0"%�ۅ�͕ˌS��3�tԄ�H��������،�xn�h4Iᶓ]���M���>�� �j���j�\��VU�?�en�]�2���]�dj�\@����E�9-Db1̕|p=�� �;9���´����0n�=�f�O`բE�D<[d�9�,6A�n�>�>�Ze��EW��{H��(�'�����0i�ӽ9�BU؊V���"����C6�@�� �+�f��P���2�lƸ�Z����N�2}�B֛|9R�y�Z�����{B� 7����Ȓk�b�!q�ڦ�� �ѷ(%��BC��7H�h2������@����T>����^j�����,1��a qKmI�����Ԑ�BR},ۋU~=Dg�E��A&W�V��a2�_�Xv!�6k$1�^d������5�(��0$���B� 2!GG�դ�l�����*�W08�%�_$�P+�h�}ܪ���O�e����|h�#�dͲ=�Uܘ�ÝI}G!b;e���;�P��)l�IыܪB+��U[a&��#�.a�EQ�^f&b�4=��I�@x{�����LeC��"�~u���t v6�,�q澽G����M���6����6m��!�^�ˏ�Ģ��!����y 0�Q�0Ips��O���L�@��ĥ��i>�u�(����ͷ���RK-:��ѵ�D�dvu���Z-pvN�=8���kb|���(o9L��t�P�}�+��$X�j��yЖZ�&�!��m���]ś*t��8�`���f<�)j�(���hUn^h�4�1��Ơ��_�k�1��/M9��S�,<��El�N�1��N;��x���*m�b#k����Q���U�K���w�g6��K�n�c��lue;R+��O�x�!�&��]C�� {+�Q�L���G��~��r<���v�M�R����ܛޕf�S�%B�p}�;��\�J�q��E�z\喨��.�߰��6�K*"�UH��R���-���y�`�n�H��t�$�H�*� �듀(y�'���4!@b�ځ�'�a�}�ur�@��;ੳ����,�� ���G0��6ʖ`� �H�Y7<�����~���eyT�J(��]��,=mFb,Ù}��lK�� ����|��n+���#|�~�6�%��&1R.!7�(GU:D�g��]m�l#�t����2@�H�-U�]�*17���c&a�m��7e٬�g����75"�,L/B<�wR�fq{��"�@'�! �"��C�\�n� #���)���0Gܪ��3/�/6{`�L^bɁ�8�ca�A����}���Z4�;����, �)��/\��x+��V#�B�{���Z�7j7wfj�G�rꄁ��]�ts�u]��;Mf�����:[�/դ���X������m�:^���&�yeNe𠁩�l)�K1�sNhx���\���gy�7��I�ĩ�¯2T��ډw.yLlȸ�{�"Z�0�@ϕԋ���ȷc�Î��ڨ��4��yg"]N[�Bu>)8���+�KQ5f��4o���^�G � _ӳ��Ωa�ӆ�m��� �[:o�� B�oa�{��ʝS�Ne���pݥ�t�M,�1���&4�n�Ӊ=��Mɭ��ޘ\��Ws������G{�W�Խ�L+��lN/�^%�m=���զ��MU��ʬhÛ�@'���'H�SoW�T���?{�η���o�P�?�mh�̧R��`= �����hP��?S-�� teD.�yC��k��o}�2��a�s)��3 ���~�6�:�z��M-����{�>vw��_1}��"�j�|Ĵ0J�v��}=�g��x��ϫ>S�n�NA��t�sڱ�ݨ���G-�H�76��p�8�g�o����,E�m����,&<48Kq�E���jM��n�!�o҈���)��*�>^�s�tó3�5�2��9�L�7�wO �����p�B��^�l����E|�ۡ��5���%MJ�}�t[�'[�F�ck��sϖy��vjE�L��q������'����f�<��bK��P��<_�&�Q��CZu�⣏8��S�-���e_[���8����[�jQ����s�kg*WIᛖU���U�e�-wu0Ċ��X��ћ�R�B�!l��,����˪�2v���C�����i܋:P���wQeY(5Uk�Jڤn���8#�(ܰ�-�:]�nb��a�C����m*�k^Z,T��v�E�݃6���&�mř XH�B}T���y�m>p��j��bԪ�iٸ���sUx���(�T_�YH��8���85����r�����J�F $Y�ß��n�1�YGd���DX��}s��}'|J�����/9�Z��ھ�>4�G�������ܼ,����~5F5��om�"'D]-ԫI��,��,�4`�U��m�|u���� ����t�cl�\V��vI�9@u�Vp��#�%�"�y2���%���kv.ͨa���l�y��h��=�|���I��s3���:�'�\��76��_��? �h�$��2��V�2��ȝ��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\Q��Y��a���o���n���o �}��x�B44h��D�D��D�D��O�O� ��Z�Z�j��� �0�0��d��)�)l�(9(9[�p�#p��x�#x����#��� �`�#`� ���#��p��#�Q `�#Q�� �cT�� 0�(/X�h��>postgresql.nanorc000064400000005777151701014140010163 0ustar00## Here is an example for PostgreSQL. syntax sql "\.sql[2345s~]?$" comment "-- " # Functions. color white "\<[a-z_]*\(" # Types. color green "\<(int2|smallint|int4|int|integer|int8|bigint|decimal|numeric|real|double precision|(small|big)?serial)\>" color green "\<(bit( varying)?|boolean|bytea|enum|money|tsvector|uuid)\>" color green "\<(char|varchar|character( varying)?|text)\>" color green "\<(date|interval|time(stamp)?( with time zone| without time zone)?)\>" color green "\<(point|line|lseg|path|box|polygon|circle)\>" color green "\<(cidr|inet|macaddr)\>" color green "\<(daterange|int4range|int8range|numrange|tsrange|tstzrange)\>" # Structure. color brightyellow "\<(CASE|CLASS|DEFAULT|DO|ELSE|ELSEIF|FOR|FOREACH|FUNCTION|IF|IS NULL)\>" color brightyellow "\<(NEW|PRIVATE|PUBLIC|RETURN|RETURNS|SETOF|SWITCH|THEN|WHEN|WHILE)>" # Control flow. color magenta "\<(EXCEPTION|NOTICE|RAISE|RETURN)\>" # SQL keywords. color blue "\<(ABORT|AGGREGATE|ALTER|ANALYZE|AND|AS|AUTHORIZATION|BEGIN|CAST|CHECKPOINT|CLASS|CLOSE)\>" color blue "\<(CLUSTER|COLLATION|COMMENT|COMMIT|CONFIGURATION|CONSTRAINTS|CONVERSION|COPY|CREATE)\>" color blue "\<(DATA|DATABASE|DEALLOCATE|DECLARE|DEFAULT|DELETE|DICTIONARY|DISCARD|DO|DOMAIN|DROP)\>" color blue "\<(END|EVENT|EXECUTE|EXPLAIN|EXTENSION|FAMILY|FETCH|FOREIGN|FROM|FUNCTION)\>" color blue "\<(GRANT|GROUP|IF NOT EXISTS|IMMUTABLE|INDEX|INSERT|INTO|LABEL|LANGUAGE|LARGE|LOAD|LOCK)\>" color blue "\<(MAPPING FOR|MATERIALIZED|MOVE|NOTIFY|OBJECT|OPERATOR|OPTIONS|OWNED|OWNER)\>" color blue "\<(PARSER|PREPARED?|PRIVILEGES|REASSIGN|REFRESH|RELEASE|RESET|REVOKE|ROLE|ROLLBACK|RULE)\>" color blue "\<(SAVEPOINT|SCHEMA|SEARCH|SECURITY|SELECT|SEQUENCE|SERVER|SESSION|SET|SHOW|SPACE|START|SYSTEM)\>" color blue "\<(TABLE|TEXT|TO|TRANSACTION|TYPE|UPDATE|USER|VACUUM|VALUES|VIEW|WHERE|WITH|WRAPPER)\>" # Strings. color brightyellow "<[^= ]*>" ""(\.|[^"])*"" # Trailing whitespace. color ,green "[[:space:]]+$" # Regular expressions. color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*" # Shell command expansion is in `backticks` or like %x{this}. These are # "double-quotish" (to use a perlism). color brightblue "`[^`]*`" "%x\{[^}]*\}" # Strings, double-quoted. color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" color green "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!" # Expression substitution. These go inside double-quoted strings, # "like #{this}". color brightgreen "#\{[^}]*\}" # Strings, single-quoted. color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" color green "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!" # Comments. color red "#[^{].*$" "#$" color red "--[^{].*$" "#$" color red "##[^{].*$" "##$" color brightblue "//.*" color brightblue start="/\*" end="\*/" # PostgreSQL markings. color red "(--)" # PostgreSQL default schemas. color brightred "(pg_catalog|public)" # PostgreSQL PLs. color brightblue "(pljava|plperlu?|plpgsql|plpy|plpythonu?|plr|plruby|plsh|pltcl|plscheme)" pov.nanorc000064400000001170151701014140006543 0ustar00## Here is an example for POV-Ray. syntax pov "\.(pov|POV|povray|POVRAY)$" comment "//" color brightcyan "^[[:space:]]*#[[:space:]]*(declare)" color brightyellow "\<(sphere|cylinder|translate|matrix|rotate|scale)\>" color brightyellow "\<(orthographic|location|up|right|direction|clipped_by)\>" color brightyellow "\<(fog_type|fog_offset|fog_alt|rgb|distance|transform)\>" color brightred "\<(background|camera|fog|light_source|object|texture)\>" color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" color brightmagenta "\<(union|group|subgroup)\>" # Comments. color brightblue "//.*" color brightblue start="/\*" end="\*/" python.nanorc000064400000001706151701014140007265 0ustar00## Here is an example for Python. syntax python "\.py$" header "^#!.*python[-0-9._]*" magic "Python script" linter pyflakes comment "#" # Function definitions. icolor brightblue "def [0-9A-Z_]+" # Keywords. color brightcyan "\<(and|as|assert|async|await|break|class|continue)\>" color brightcyan "\<(def|del|elif|else|except|exec|finally|for|from)\>" color brightcyan "\<(global|if|import|in|is|lambda|nonlocal|not|or)\>" color brightcyan "\<(pass|print|raise|return|try|while|with|yield)\>" # Single-quoted strings. color brightgreen "'([^'\]|\\.)+'" color brightgreen ""([^"\]|\\.)+"" # Comments. color brightred "(^|[[:blank:]])#.*$" # Triple-quoted strings. color brightgreen start="'''([^'),]|$)" end="(^|[^(\])'''" color brightgreen start="\"\"\"([^"),]|$)" end="(^|[^(\])\"\"\"" # Special values. color brightmagenta "\<(False|None|True)\>" # Reminders. color brightwhite,yellow "(FIXME|TODO|XXX)" # Trailing whitespace. color ,green "[[:space:]]+$" ruby.nanorc000064400000002755151701014140006732 0ustar00## Here is an example for Ruby. syntax ruby "\.rb$" header "^#!.*ruby[-0-9._]*" magic "Ruby script" linter ruby -w -c comment "#" # Reserved words. color yellow "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module)\>" color yellow "\<(next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>" # Constants. color brightblue "(\$|@|@@)?\<[A-Z]+[0-9A-Z_a-z]*" # Ruby "symbols". icolor magenta "([ ]|^):[0-9A-Z_]+\>" # Some unique things we want to stand out. color brightyellow "\<(__FILE__|__LINE__)\>" # Regular expressions. color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*" # Shell command expansion is in `backticks` or like %x{this}. These are # "double-quotish" (to use a perlism). color brightblue "`[^`]*`" "%x\{[^}]*\}" # Strings, double-quoted. color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!" # Expression substitution. These go inside double-quoted strings, # "like #{this}". color brightgreen "#\{[^}]*\}" # Strings, single-quoted. color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!" # Comments. color cyan "#[^{].*$" "#$" color brightcyan "##[^{].*$" "##$" # "Here" docs. color green start="<<-?'?EOT'?" end="^EOT" # Some common markers. color brightcyan "(XXX|TODO|FIXME|\?\?\?)" rust.nanorc000064400000002134151701014140006735 0ustar00## Syntax highlighting for Rust. ## Copyright 2015 Luke Francl. ## Licensed under GPL version 3. ## NOTE: Rules are applied in order: later rules re-colorize matching text. syntax rust "\.(rlib|rs)$" comment "//" # Function definitions color magenta "fn [a-z_0-9]+" # Reserved words color yellow "\<(abstract|alignof|as|become|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\>" # Macros color red "[a-z_]+!" # Constants color magenta "[A-Z][A-Z_0-9]+" # Traits/Enums/Structs/Types/... color magenta "[A-Z][A-Za-z0-9]+" # Strings color green "\".*\"" color green start="\".*\\$" end=".*\"" ## NOTE: This isn't accurate, but matching "#{0,} for the end of the string is too liberal. color green start="r#+\"" end="\"#+" # Comments color blue "//.*" color blue start="/\*" end="\*/" # Attributes color magenta start="#!\[" end="\]" # Some common markers color brightcyan "(XXX|TODO|FIXME|\?\?\?)" sh.nanorc000064400000002565151701014140006362 0ustar00## Here is an example for Bourne shell scripts. syntax sh "\.sh$" header "^#!.*((ba|da|k|pdk)?sh[-0-9_]*|openrc-run|runscript)" magic "(POSIX|Bourne-Again) shell script.*text" linter dash -n comment "#" # Function declarations. color brightgreen "^[A-Za-z0-9_-]+\(\)" # Keywords, symbols, and comparisons. color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>" color green "\<(declare|eval|exec|export|let|local)\>" color green "[{}():;|`$<>!=&\\]" "(\]|\[)" color green "-(eq|ne|gt|lt|ge|le|ef|ot|nt)\>" # Short and long options. color brightmagenta "[[:blank:]]-[A-Za-z]\>" "[[:blank:]]--[A-Za-z-]+\>" # Common commands. color brightblue "\<(awk|cat|cd|ch(grp|mod|own)|cp|cut|echo|env|grep|head|install|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|sort|tail|tar|touch|umask|unset)\>" color normal "[.-]tar\>" # Basic variable names (no braces). color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*" # More complicated variable names; handles braces and replacements and arrays. color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:space:]]*[[:alnum:]_]+[[:space:]]*|@)\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})" # Comments. color cyan "(^|[[:space:]])#.*$" # Strings. color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" # Trailing whitespace. color ,green "[[:space:]]+$" spec.nanorc000064400000003605151701014140006676 0ustar00## Syntax highlighting for RPM spec files. syntax spec "\.spec(\.[^/]+)?$" comment "#" # Main tags. color brightblue "((Icon|ExclusiveOs|ExcludeOs)[[:space:]]*:)" color brightblue "((BuildArch|BuildArchitectures|ExclusiveArch|ExcludeArch)[[:space:]]*:)" color brightblue "((Conflicts|Obsoletes|Provides|Requires|Requires\(.*\)|Enhances|Suggests|BuildConflicts|BuildRequires|Recommends|PreReq|Supplements)[[:space:]]*:)" color brightblue "((Epoch|Serial|Nosource|Nopatch)[[:space:]]*:)" color brightblue "((AutoReq|AutoProv|AutoReqProv)[[:space:]]*:)" color brightblue "((Copyright|License|Summary|Summary\(.*\)|Distribution|Vendor|Packager|Group|Source\d*|Patch\d*|BuildRoot|Prefix)[[:space:]]*:)" color brightblue "((Name|Version|Release|Url|URL)[[:space:]]*:)" color brightblue start="^Source" end=":" start="^Patch" end=":" # Architectures. color brightred "(i386|i486|i586|i686|athlon|ia64|alpha|alphaev5|alphaev56|alphapca56|alphaev6|alphaev67|sparc|sparcv9|sparc64armv3l|armv4b|armv4lm|ips|mipsel|ppc|ppc|iseries|ppcpseries|ppc64|m68k|m68kmint|Sgi|rs6000|i370|s390x|s390|noarch)" # Architecture conditionals. color brightred "(ifarch|ifnarch)" # OS conditionals. color brightred "(ifos|ifnos)" # %* strings. color green "%([A-Z_a-z_0-9_]*)" color magenta "%_([A-Z_a-z_0-9_]*)" color yellow start="%__" end="\ " color magenta start="%\{" end="\}" color yellow start="%\{__" end="\}" # Sections. color red "^%(build$|changelog|check$|clean$|description|files|install$|package|pre|prep$|pretrans|preun)" color red "^%(post|posttrans|postun|trigger|triggerin|triggerpostun|triggerun|verifyscript)" # Conditionals and defines. color brightred "%(if|else|endif|define|global|undefine)" # Comments. color cyan "#.*$" # Special case: "# norootforbuild" is handled as main tag. color brightblue "^# norootforbuild" # %changelog date entries. color brightyellow "^\* .*\)$" # Trailing whitespace. color ,green "[[:space:]]+$" tcl.nanorc000064400000004205151701014140006523 0ustar00## Syntax highlighting for Tcl files. syntax tcl "\.tcl$" magic "Tcl(/Tk)? script" comment "#" # Standard Tcl [info commands]: color green "\<(after|append|array|auto_execok|auto_import|auto_load|auto_load_index|auto_qualify|binary|break|case|catch|cd|clock|close|concat|continue|encoding|eof|error|eval|exec|exit|expr|fblocked|fconfigure|fcopy|file|fileevent|flush|for|foreach|format|gets|glob|global|history|if|incr|info|interp|join|lappend|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|namespace|open|package|pid|puts|pwd|read|regexp|regsub|rename|return|scan|seek|set|socket|source|split|string|subst|switch|tclLog|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait|while)\>" # Basic Tcl subcommands: color green "\<(array anymore|array donesearch|array exists|array get|array names|array nextelement|array set|array size|array startsearch|array statistics|array unset)\>" color green "\<(string bytelength|string compare|string equal|string first|string index|string is|string last|string length|string map|string match|string range|string repeat|string replace|string to|string tolower|string totitle|string toupper|string trim|string trimleft|string trimright|string will|string wordend|string wordstart)\>" # Extended TclX [info commands]: color green "\<(alarm|auto_load_pkg|bsearch|catclose|catgets|catopen|ccollate|cconcat|cequal|chgrp|chmod|chown|chroot|cindex|clength|cmdtrace|commandloop|crange|csubstr|ctoken|ctype|dup|echo|execl|fcntl|flock|fork|fstat|ftruncate|funlock|host_info|id|infox|keyldel|keylget|keylkeys|keylset|kill|lassign|lcontain|lempty|lgets|link|lmatch|loadlibindex|loop|lvarcat|lvarpop|lvarpush|max|min|nice|pipe|profile|random|readdir|replicate|scancontext|scanfile|scanmatch|select|server_accept|server_create|signal|sleep|sync|system|tclx_findinit|tclx_fork|tclx_load_tndxs|tclx_sleep|tclx_system|tclx_wait|times|translit|try_eval|umask|wait)\>" # Syntax: color brightblue "proc[[:space:]]" "(\{|\})" color green "(\(|\)|\;|`|\\|\$|<|>|!|=|&|\|)" color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?" color ,green "[[:space:]]+$" color ,magenta "^[[:space:]]*#.*" tex.nanorc000064400000000310151701014140006532 0ustar00## Here is a short example for TeX files. syntax tex "\.tex$" magic "(La)?TeX document" linter chktex -v0 -q -I comment "%" icolor green "\\.|\\[A-Z]*" color magenta "[{}]" color blue "(^|[^\])%.*" texinfo.nanorc000064400000000721151701014140007414 0ustar00## Here is an example for Texinfo files. syntax texinfo "\.texi$" header "^\\input texinfo" magic "Texinfo source" comment "@c " # Command arguments, trailing and enclosed. color cyan "^@[a-z]+[[:space:]]+.*$" color brightmagenta "@[a-zA-Z]+\{[^}]*\}" # Commands themselves. color yellow "@[a-zA-Z]+\{?" "\}" # Menu items. color brightred "^\*[[:space:]]+.*::.*$" # Comments. color green "@c[[:space:]]+.*$" # Trailing whitespace. color ,green "[[:space:]]+$" xml.nanorc000064400000001017151701014140006537 0ustar00## Here is an example for XML files. syntax xml "\.([jrsx]html?|jnlp|mml|pom|rng|sgml?|svg|w[as]dl|wsdd|xjb|xml|xs(d|lt?)|xul)$" header "<\?xml.*version=.*\?>" magic "(XML|SGML) (sub)?document" comment "<!--|-->" # The entire content of the tag: color green start="<" end=">" # The start and the end of the tag: color cyan "<[^> ]+" ">" # The strings inside the tag: color magenta "\"[^"]*\"" # Comments: color yellow start="<!DOCTYPE" end="[/]?>" color yellow start="<!--" end="-->" # Escapes: color red "&[^;]*;" asm.nanorc000064400000001562151701014140006524 0ustar00## Here is an example for assembler. syntax asm "\.(S|s|asm)$" magic "assembler source" comment "//" color red "\<[A-Z_]{2,}\>" color brightgreen "\.(data|subsection|text)" color green "\.(align|file|globl|global|hidden|section|size|type|weak)" color brightyellow "\.(ascii|asciz|byte|double|float|hword|int|long|short|single|struct|word)" icolor brightred "^[[:space:]]*[.0-9A-Z_]*:" color brightcyan "^[[:space:]]*#[[:space:]]*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)" # Strings. color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" # Multiline strings. This regex is VERY resource intensive, # and sometimes colours things that shouldn't be coloured. ###color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" # Comments. color brightblue "//.*" color brightblue start="/\*" end="\*/" # Trailing whitespace. color ,green "[[:space:]]+$" autoconf.nanorc000064400000001053151701014140007555 0ustar00## Here is an example for Autoconf. syntax autoconf "\.(ac|m4)$" comment "#" # Keywords: color yellow "\<(if|test|then|elif|else|fi|for|in|do|done)\>" color yellow "(=|!=|&&|\|\|)" # Macros: color cyan "\<[[:upper:]_[:digit:]]+\>" # Version numbers: color red "\<[-_.0-9]+\>" # Strings: color red "\"[^"]*\"" "\'[^']*\'" # Backticks: color green "`[^`]*`" # Error lines: color brightred "^\*\*\*.*" # Brackets: color magenta "\[|\]|\(|\)" # Comments: color blue "^[[:blank:]]*#.*" "\<dnl.*" # Trailing whitespace: color ,green "[[:space:]]+$" awk.nanorc000064400000002506151701014140006525 0ustar00## Here is an example for awk. syntax awk "\.awk$" magic "awk script" comment "#" # Records. icolor brightred "\$[0-9A-Z_!@#$*?-]+" # Awk-set variables. color red "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>" color red "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>" color red "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>" # Function declarations and special patterns. color brightgreen "\<(function|extension|BEGIN|END)\>" # Operators. color green "(\{|\}|\(|\)|\;|\]|\[|\\|<|>|!|=|&|\+|-|\*|%|/|\?:|\^|\|)" # Flow control. color brightyellow "\<(for|if|while|do|else|in|delete|exit)\>" color brightyellow "\<(break|continue|return)\>" # I/O statements. color brightgreen "\<(close|getline|next|nextfile|print|printf)\>" color brightgreen "\<(system|fflush)\>" # Standard functions. color magenta "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>" color magenta "\<(asort|asorti|gensub|gsub|index|length|match)\>" color magenta "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>" color magenta "\<(mktime|strftime|systime)\>" color magenta "\<(and|compl|lshift|or|rshift|xor)\>" color magenta "\<(bindtextdomain|dcgettext|dcngettext)\>" # Strings. color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" # Comments. color brightblue "(^|[[:space:]])#.*$" # Trailing whitespace. color ,green "[[:space:]]+$" c.nanorc000064400000003324151701014140006164 0ustar00## Here is an example for C/C++. syntax c "\.([ch](pp|xx)?|C|cc|c\+\+|H|hh|ii?)$" magic "^(C|C\+\+) (source|program)" comment "//" # Constants. color brightred "\<[A-Z_][0-9A-Z_]+\>" # Labels. color brightmagenta "^[[:space:]]*[A-Z_a-z]+:[[:space:]]*$" color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|auto|static|const|struct|union|typedef|extern|(un)?signed|inline)\>" color green "\<((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\>" color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|override|using|mutable|volatile|register|explicit)\>" color brightyellow "\<(for|if|while|do|else|case|default|switch)\>" color brightyellow "\<(try|throw|catch|operator|new|delete)\>" color magenta "\<(goto|continue|break|return)\>" color brightcyan "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)" color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" # GCC builtins. color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" # Strings. In general you will want your strings and comments to come last, # because highlighting rules are applied in the order they are read in. color brightyellow ""([^"]|\\")*"" "<[^[:blank:]=]*>" # Multiline strings. This regex is VERY resource intensive, # and sometimes colours things that shouldn't be coloured. ###color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" # Comments. color brightblue "//.*" color brightblue start="/\*" end="\*/" # Reminders. color brightwhite,yellow "\<(FIXME|TODO|XXX)\>" # Trailing whitespace. color ,green "[[:space:]]+$" changelog.nanorc000064400000001311151701014140007663 0ustar00## Colouring for Changelogs. syntax changelog "Change[Ll]og[^/]*$" # Author lines. color green "^(19|20).*$" # Dates. color red "^(19|20)[0-9-]{8}" # Email addresses. color yellow "<[^>]*@[^>]*>" # Command-line options. color cyan "[[:space:]]-[a-zA-Z\$]" "--[8a-z-]+" # Bug and patch numbers. color cyan "(BZ|bug|patch) #[0-9]+" "PR [[:alnum:]]+/[0-9]+" # Probable constants, for variety. color brightred "\<[A-Z_][0-9A-Z_]+\>" # Key sequences. color brightblue "\^[A-Z^\]" "\<M-." "\<F1?[0-9]" "(\^|M-)Space" # Changed files. color magenta start="^( | {8})\* " end="(:( |$)|^$)" # Release markers. color brightblue "^(GNU )?nano[- ][0-9]\.[0-9]\.[^ ]+" # Trailing whitespace. color ,green "[[:space:]]+$" cmake.nanorc000064400000001471151701014140007023 0ustar00## Syntax highlighting for CMake files. syntax cmake "(CMakeLists\.txt|\.cmake)$" comment "#" icolor green "^[[:space:]]*[A-Z0-9_]+" icolor brightyellow "^[[:space:]]*(include|include_directories|include_external_msproject)\>" icolor brightgreen "^[[:space:]]*((else|end)?if|else|(end)?while|(end)?foreach|break)\>" color brightgreen "\<(NOT|COMMAND|POLICY|TARGET|EXISTS|IS_(DIRECTORY|ABSOLUTE)|DEFINED)[[:space:]]" color brightgreen "[[:space:]](OR|AND|IS_NEWER_THAN|MATCHES|(STR|VERSION_)?(LESS|GREATER|EQUAL))[[:space:]]" icolor brightred "^[[:space:]]*((end)?(function|macro)|return)" icolor cyan start="\$(\{|ENV\{)" end="\}" color magenta "\<(APPLE|UNIX|WIN32|CYGWIN|BORLAND|MINGW|MSVC(_IDE|60|71|80|90)?)\>" icolor brightblue "^([[:space:]]*)?#.*" icolor brightblue "[[:space:]]#.*" color ,green "[[:space:]]+$" css.nanorc000064400000000530151701014140006526 0ustar00## Here is an example for CSS files. syntax css "\.css$" comment "/*|*/" color brightred "." color brightyellow start="\{" end="\}" color brightwhite start=":" end="([;^\{]|$)" color brightblue ":active|:focus|:hover|:link|:visited|:link|:after|:before|$" color brightblue start="\/\*" end="\\*/" color green ";|:|\{|\}" debian.nanorc000064400000001365151701014140007167 0ustar00## Here is an example for apt's sources.list. syntax sources.list "sources\.list(\.d/.*\.list)?(~|\.old|\.save)?$" comment "#" # Coloring the deb lines, working from tail to head. First the # components -- well, everything, and thus also the components. color brightmagenta "^deb.*" # Distribution -- well, everything, except the components. color brightred "^deb(-src)?\s+.*((ftp|https?|rsh|ssh|copy|file|spacewalk|tor):/\S+|cdrom:\[.+\]/)\s+\S+" # URIs. color brightgreen "^deb(-src)?\s+.*(ftp|https?|rsh|ssh|copy|file|spacewalk|tor):/\S+" # CDroms. color brightgreen "^deb(-src)?\s+.*cdrom:\[.+\]/" # Options. color brightcyan "^deb(-src)?\s+\[.+\]\s+" # And finally the initial deb tag. color yellow "^deb(-src)?" # Comments. color brightblue "#.*" default.nanorc000064400000000643151701014140007367 0ustar00## An example of a default syntax. The default syntax is used for ## files that do not match any other syntax. syntax default comment "#" # Comments. color cyan "^[[:space:]]*#.*" # Spaces in front of tabs. color ,red " + +" # Nano's name, including version. color brightred "(GNU )?nano [1-9]\.[0-9]\.[^[:space:][:punct:]]+" # Email addresses. color magenta "<[[:alnum:].%_+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,}>" elisp.nanorc000064400000002125151701014140007054 0ustar00## Here is an example for Emacs Lisp. syntax elisp "\.el$" magic "Lisp/Scheme program" comment ";" # Basic functions/macros color brightcyan "\<(if|when|unless|cond|and|or|lambda|let|progn|while|dolist|dotimes)\>" color brightcyan "\<save-((window-)?excursion|restriction)\>" color brightcyan "\<eval-(and|when)-compile\>" # Defining functions color brightcyan "\<def(un|macro|subst|generic|alias)\>" color brightcyan "\<cl-def(un|macro|subst|generic|struct|type)\>" color brightcyan "\<define-(derived|minor|generic)-mode\>" # Defining variables color brightcyan "\<def(class|const|var(-local|alias)?)\>" # Customization functions color brightcyan "\<def(custom|face|group|theme)\>" # Setting values color brightcyan "\<(setq(-default|-local)?|setf|push|pop|declare(-function)?)\>" # Feature functions color brightcyan "\<(require|provide)\>" # Quoted symbols color brightyellow "#?'\<(\w|-)+\>" # Booleans color brightred "\<(t|nil)\>" # Keywords color blue ":(\w|[?-])+" # Strings color yellow start="^[[:blank:]]+\"" end="[^\]\"" color yellow ""(\\.|[^"])*"" # Comments color cyan "(^|[[:space:]]);.*$" fortran.nanorc000064400000003657151701014140007426 0ustar00## Here is an example for Fortran 90/95. syntax fortran "\.(f|f90|f95)$" comment "!" color red "\<[0-9]+\>" icolor green "\<(action|advance|all|allocatable|allocated|any|apostrophe)\>" icolor green "\<(append|asis|assign|assignment|associated|character|common)\>" icolor green "\<(complex|data|default|delim|dimension|double precision)\>" icolor green "\<(elemental|epsilon|external|file|fmt|form|format|huge)\>" icolor green "\<(implicit|include|index|inquire|integer|intent|interface)\>" icolor green "\<(intrinsic|iostat|kind|logical|module|none|null|only)>" icolor green "\<(operator|optional|pack|parameter|pointer|position|private)\>" icolor green "\<(program|public|real|recl|recursive|selected_int_kind)\>" icolor green "\<(selected_real_kind|subroutine|status)\>" icolor cyan "\<(abs|achar|adjustl|adjustr|allocate|bit_size|call|char)\>" icolor cyan "\<(close|contains|count|cpu_time|cshift|date_and_time)\>" icolor cyan "\<(deallocate|digits|dot_product|eor|eoshift|function|iachar)\>" icolor cyan "\<(iand|ibclr|ibits|ibset|ichar|ieor|iolength|ior|ishft|ishftc)\>" icolor cyan "\<(lbound|len|len_trim|matmul|maxexponent|maxloc|maxval|merge)\>" icolor cyan "\<(minexponent|minloc|minval|mvbits|namelist|nearest|nullify)\>" icolor cyan "\<(open|pad|present|print|product|pure|quote|radix)\>" icolor cyan "\<(random_number|random_seed|range|read|readwrite|replace)\>" icolor cyan "\<(reshape|rewind|save|scan|sequence|shape|sign|size|spacing)\>" icolor cyan "\<(spread|sum|system_clock|target|transfer|transpose|trim)\>" icolor cyan "\<(ubound|unpack|verify|write|tiny|type|use|yes)\>" icolor yellow "\<(.and.|case|do|else|else?if|else?where|end|end?do|end?if)\>" icolor yellow "\<(end?select|.eqv.|forall|if|lge|lgt|lle|llt|.neqv.|.not.)\>" icolor yellow "\<(.or.|repeat|select case|then|where|while)\>" icolor magenta "\<(continue|cycle|exit|go?to|result|return)\>" # Strings. icolor yellow "<[^= ]*>" ""(\\.|[^"])*"" # Comments. icolor blue "!.*" gentoo.nanorc000064400000010206151701014140007232 0ustar00## Here is an example for Gentoo ebuilds/eclasses, ## and (further down) one for Portage control files. syntax ebuild "\.e(build|class|blit)$" comment "#" ## All the standard portage functions: color brightgreen "(^|\<default_)src_(unpack|prepare|configure|compile|install|test)\>" color brightgreen "^pkg_(config|nofetch|info|pretend|setup|(pre|post)(inst|rm))\>" color brightgreen "\<default(_pkg_nofetch|_src_(unpack|prepare|configure|compile|test))?\>" ## Bash-related syntax: color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>" color green "\<(declare|eval|exec|export|let|local)\>" color green "[{}():;|`$<>!=&\\]" "(\]|\[)" color green "-[defhnrsuwxzL]\>" color green "-(eq|ne|gt|lt|ge|le)\>" ## Variables... official portage ones in red, all others in bright red: color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*" color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:digit:]]|@)+\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})" color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|[HPR]?DEPEND|PROVIDE|PROPERTIES|REQUIRED_USE|RESTRICT|USERLAND)\>" color red "\<(S|E?D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|EPREFIX|E?ROOT|WORKDIR)\>" color red "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>" "\<(MERGE_TYPE|REPLACING_VERSIONS|REPLACED_BY_VERSION)\>" color red "\<EBUILD_PHASE(_FUNC)?\>" color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>" color red "\<(PATCHES|(HTML_)?DOCS)\>" "\<WANT_(AUTO(CONF|MAKE)|LIBTOOL)\>" "\<AT_M4DIR\>" ## Portage commands: color magenta "\<(use(_(with|enable|if_iuse)|x)?|in_iuse) [!a-zA-Z0-9_+ -]*" "inherit.*" color brightblue "\<e(begin|end|conf|install|make|qmake4|ant|(qa)?warn|infon?|error|log|patch(_user)?|new(group|user))\>" color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make)|libtoolize)\>" color brightblue "\<e(stack|shopts|umask)_(push|pop)\>" "\<version_is_at_least\>" color brightblue "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>" color brightblue "\<(die|hasv?|inherit|nonfatal)\>" "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\>" "\<(has|best)_version\>" color brightblue "\<(do|new)(ins|(games)?s?bin|doc|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>" color brightblue "\<do(compress|header|python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>" color brightblue "\<prepall(docs|info|man|strip)?\>" "\<prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)\>" color brightblue "\<(doc|ins|exe)?into\>" "\<(f|games)(owners|perms)\>" "\<(exe|ins|dir)opts\>" color brightblue "\<tc-get(BUILD_)?(AR|AS|CC|CPP|CXX|LD|NM|OBJCOPY|PKG_CONFIG|RANLIB)\>" color brightblue "\<tc-(arch(-kernel)?|export|has-(tls|openmp))\>" ## Common commands used in ebuilds: color blue "\<(awk|cat|cd|chmod|chown|cp|echo|env|find|e?grep|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|unset|xargs)\>" ## Comments (doesn't work that well): color yellow "(^|[[:space:]])#.*$" ## Strings (doesn't work that well): color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'" ## Trailing space is bad! color ,green "[[:space:]]+$" ## Mixed whitespace is also bad. color ,green " " syntax /etc/portage "\.(accept_keywords|env|keywords|mask|unmask|use)(/.+)?$" comment "#" ## Base text: color green "^.+$" ## Likely version and slot numbers: color magenta "-[[:digit:].]+(_(alpha|beta|pre|rc|p)[[:digit:]]*)*(-r[[:digit:]]+)?([:[:space:]]|$)" color magenta ":[^[:space:]]+([[:space:]]|$)" ## Use flags (must come after version/slot): color brightred "[[:space:]]+\+?[A-Za-z0-9+_@-]+" color brightblue "[[:space:]]+-[A-Za-z0-9+_@-]+" ## Accepted arches: color white "[~-]?\<(alpha|amd64|arm(64)?|hppa|ia64|m68k|mips|nios2|ppc(64)?|riscv|s390|sh|sparc|x86)(-(aix|(f|free|net|open)bsd|cygwin|hpux|interix|linux|macos|mint|solaris|winnt))?\>" color white "[[:space:]][*~-]?\*" ## Categories: color cyan "^[[:space:]]*[^/]*/" ## Masking regulators: color brightmagenta "^[[:space:]]*(=|~|<|<=|>|>=)" ## Comments: color yellow "#.*$" ## Trailing space is bad! color ,green "[[:space:]]+$" ## Mixed whitespace is also bad. color ,green " " go.nanorc000064400000002564151701014140006354 0ustar00## Here is an example for Go. syntax go "\.go$" comment "//" # Set up a formatter since spelling is probably useless... formatter gofmt -w # Types. color green "\<(bool|u?int(8|16|32|64)?|float(32|64)|complex(64|128)|byte|rune|uintptr|string|error)\>" color green "\<((<-[[:space:]]*)chan|chan[[:space:]]*<-|const|func|interface|map|struct|type|var)\>" # Predefined functions. color blue "\<(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)\>" # Control structures. color brightyellow "\<(case|default|defer|else|for|go|if|range|select|switch)\>" # Control flow. color magenta "\<(break|continue|fallthrough|goto|return)\>" # Declarations. color brightcyan "\<(package|import)\>" color brightcyan "//[[:space:]]*\+build[[:space:]]+(([a-zA-Z_0-9]+[[:space:]]*)+,[[:space:]]*)*[a-zA-Z_0-9]+" # Literals. color red "\<([1-9][0-9]*|0[0-7]*|0[xX][0-9A-Fa-f]+)\>" color red "\<[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?i?\>" color red "\<[0-9]+[eE][+-]?[0-9]+i?\>" color red "\B\.[0-9]+([eE][+-]?[0-9]+)?i?\>" color red "\<[0-9]+i\>" # Strings and characters; slightly fuzzy. color red "\<(true|false|nil|iota|_)\>" color red "'(\\.|[^'])+'" color red ""(\\.|[^"])*"" color red start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" # Comments. color brightblue "//.*" color brightblue start="/\*" end="\*/" # Trailing whitespace. color ,green "[[:space:]]+$" groff.nanorc000064400000001307151701014140007044 0ustar00## Here is an example for groff. syntax groff "(/tmac\.[^/]+$|\.(m[ems]|rof|tmac)$)" comment ".\"" # The argument of .ds or .nr color cyan "^\.(ds|nr) [^[:space:]]*" # Single-character escapes color brightmagenta "\\." # The argument of \f or \s in the same color color brightmagenta "\\f." "\\f\(.." "\\s(\+|\-)?[0-9]" # Newlines color cyan "(\\|\\\\)n(.|\(..)" color cyan start="(\\|\\\\)n\[" end="]" # Requests color brightgreen "^\.[[:space:]]*[^[:space:]]*" # Comments color yellow "^\.\\".*$" # Strings color green "(\\|\\\\)\*(.|\(..)" color green start="(\\|\\\\)\*\[" end="]" # Characters color brightred "\\\(.." color brightred start="\\\[" end="]" # Macro arguments color brightcyan "\\\\\$[1-9]" guile.nanorc000064400000001114151701014140007042 0ustar00## Here is an example for Guile Scheme. syntax guile "\.scm$" header "^#!.*guile" comment ";" # Basic scheme functions color green "\<(do|if|lambda|let(rec)?|map|unless|when)\>" # Defining things color brightcyan "\<define(-macro|-module|-public|-syntax)?\>" # Quoted symbols color brightyellow "'\<(\w|-)+\>" # Chars color brightmagenta "#\\." color brightmagenta "#\\\w+\>" # Booleans color brightred "(#t|#f)\>" # Keywords color blue "#?:(\w|[?-])+" # Strings color yellow start="^[[:blank:]]+\"" end="[^\]\"" color yellow ""(\\.|[^"])*"" # Comments color cyan "(^|[[:space:]]);.*$" html.nanorc000064400000002273151701014140006710 0ustar00## Here is an example for HTML. syntax html "\.html?$" magic "HTML document" comment "<!--|-->" # Tags: color cyan "<[[:alpha:]/!?][^>]*>" # Bold, italic, and underlined: color brightmagenta "</?[biu]>" # Named character references: color red "&[^;[:space:]]*;" # Strings: color green ""(\\.|[^"])*"" # Attributes: color red "(abbr|accept(-charset)?|accesskey|action|alink|align|alt|archive|axis|background|bgcolor|border)=" color red "(cell(padding|spacing)|char(off|set)?|checked|cite|class(id)?|compact|code(base|tag)?|cols(pan)?)=" color red "(content(editable)?|contextmenu|coords|data|datetime|declare|defer|dir|disabled|enctype)=" color red "(for|frame(border)?|headers|height|hidden|href(lang)?|hspace|http-equiv|id|ismap)=" color red "(label|lang|link|longdesc|margin(height|width)|maxlength|media|method|multiple)=" color red "(name|nohref|noresize|noshade|object|onclick|onfocus|onload|onmouseover|profile|readonly|rel|rev)=" color red "(rows(pan)?|rules|scheme|scope|scrolling|selected|shape|size|span|src|standby|start|style|summary)=" color red "(tabindex|target|text|title|type|usemap|valign|value(type)?|vlink|vspace|width|xmlns|xml:space)=" # Comments: color yellow start="<!--" end="-->" java.nanorc000064400000001215151701014140006660 0ustar00## Here is an example for Java. syntax java "\.java$" magic "Java " comment "//" color green "\<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\>" color red "\<(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\>" color cyan "\<(abstract|class|extends|final|implements|import|instanceof|interface|native)\>" color cyan "\<(package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)\>" color red ""[^"]*"" color yellow "\<(true|false|null)\>" color blue "//.*" color blue start="/\*" end="\*/" color brightblue start="/\*\*" end="\*/" color ,green "[[:space:]]+$" javascript.nanorc000064400000001373151701014140010112 0ustar00## Syntax highlighting for Javascript. syntax javascript "\.js$" comment "//" # Declarational stuff. color green "\<(async|class|const|extends|function|let|this|typeof|var|void)\>" # Flow control and special keywords. color brightyellow "\<(do|while|if|else|switch|case|default|for|each|in|of|with)\>" color brightyellow "\<(await|export|import|throw|try|catch|finally|new|delete)\>" # "Exit" points. color magenta "\<(break|continue|return|yield)\>" # Octal/decimal and hexadecimal numbers. color cyan "\<[0-9]+\>" "\<0x[0-9A-Fa-f]+\>" # Strings. color brightmagenta ""(\\.|[^"])*"" "'(\\.|[^'])*'" "`(\\.|[^`])*`" # Comments. color brightblue "(^|[[:space:]])//.*" color brightblue start="/\*" end="\*/" # Trailing whitespace. color ,green "[[:space:]]+$" json.nanorc000064400000001557151701014140006721 0ustar00## Syntax highlighting for JSON files. # See: http://www.json.org/ # Original author: Aapo Rantalainen # License: GPLv3 or newer syntax json "\.json$" # No comments are permitted in JSON. comment "" # Numbers (used as value). color green ":[[:space:]]*\-?(0|[1-9][0-9]*)(\.[0-9]+)?([Ee]?[-+]?[0-9]+)?" # Values (well, any string). color brightmagenta "\".+\"" # Hex numbers (used as value). color green ":[[:space:]]*\"#[0-9abcdefABCDEF]+\"" # Escapes. color green "\\\\" "\\\"" "\\[bfnrt]" "\\u[0-9abcdefABCDEF]{4})" # Special words. color green "(true|false|null)" # Names (very unlikely to contain a quote). color brightblue "\"[^"]+\"[[:space:]]*:" # Brackets, braces, and separators. color brightblue "\[" "\]" color brightred "\{" "\}" color brightred "," ":" # Comments. color cyan "(^|[[:space:]]+)(//|#).*$" # Trailing whitespace. color ,green "[[:space:]]+$" lua.nanorc000064400000004473151701014140006531 0ustar00## Syntax highlighting for Lua. # ## Original author: Matthew Wild <mwild1 (at) gmail.com> ## License: GPL 3 or later syntax lua "\.lua$" magic "Lua script" comment "--" color brightwhite "\[\[.*\]\]" # Operators color brightyellow ":|\*|/|%|\+|-|\^|>|>=|<|<=|~=|=|\.\.|\<(not|and|or)\>" # Statements color brightblue "\<(do|end|while|repeat|until|if|elseif|then|else|for|in|function|local|return|break)\>" # Keywords color brightyellow "\<(_G|_VERSION|assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|load|loadfile|module|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\s*\(" # Standard library color brightyellow "\<coroutine\.(create|isyieldable|resume|running|status|wrap|yield)\>" color brightyellow "\<debug\.(debug|(get|set)(fenv|hook|local|metatable|(up|user)value)|getinfo|getregistry|traceback|upvalue(id|join))\>" color brightyellow "\<io\.(close|flush|input|lines|output|p?open|read|tmpfile|type|write|std(in|out|err))\>" color brightyellow "\<math\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|huge|ldexp|log10|log)\>" color brightyellow "\<math\.((max|min)(integer)?|modf?|pi|pow|rad|random(seed)?|sinh?|sqrt|tan|tointeger|type|ult)\>" color brightyellow "\<os\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)\>" color brightyellow "\<package\.(config|cpath|loaded|loadlib|path|preload|searchers|searchpath|seeall)\>" color brightyellow "\<string\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)\>" color brightyellow "\<table\.(concat|insert|maxn|move|pack|remove|sort|unpack)\>" color brightyellow "\<utf8\.(char|charpattern|codepoint|codes|len|offset)\>" # File handle methods color brightyellow ":(close|flush|lines|read|seek|setvbuf|write)\>" # External files color brightgreen "\<(dofile|require)\>" # Special words color brightmagenta "\<(false|nil|true)\>" # Decimal and hexadecimal numbers color red "\<[0-9]+(\.[0-9]*)?([Ee][+-]?[0-9]+)?\>" icolor red "\<0x[0-9a-f]+(\.[0-9a-f]*)?(p[+-]?[0-9]+)?\>" # Brackets color brightmagenta "\(|\)|\[|\]|\{|\}" # Shebang color brightcyan "^#!.*" # Simple comments and multiline comments color green "--.*" color green start="--\[\[" end="\]\]" # Strings color red ""(\\.|[^"\])*"|'(\\.|[^'\])*'" makefile.nanorc000064400000001027151701014140007515 0ustar00## Here is an example for Makefiles. syntax makefile "(/((GNU)?m|M)akefile[^/]*$|\.(make|mk)$)" magic "makefile script" comment "#" # Assignments. color red " (:?:|\+|\?)?= " # Keywords. color magenta "^(if|ifn?def|ifn?eq|else|endif|(-|s)?include)\>" color magenta "^((override +)?(un)?define|endef|(un)?export|private|vpath)\>" # Variable expansions. color blue "\$+[{(][a-zA-Z0-9_-]+[})]" # Targets. color brightblue "^[^ ]+:" # Comments. color green "(^|[[:space:]]+)#.*" # Trailing whitespace. color ,green "[[:space:]]+$" man.nanorc000064400000000710151701014140006511 0ustar00## Here is an example for manpages. syntax man "\.[1-9]x?$" magic "troff or preprocessor input" comment ".\"" color green "\.(SH|SS|TH) .*$" color brightgreen "\.(SH|SS|TH) " "\.([HIT]P)" color brightred "\.(B[IR]?|I[BR]?|R[BI]|S[BM]) .*$" color brightblue "\.(B[IR]?|I[BR]?|R[BI]|S[BM]) " "\.([LP]?P)$" color magenta "\\f[BIPR]" color yellow "\.(br|DT|RS|RE|PD)" # Comments. color cyan "\.?\\\".*$" # Trailing whitespace. color ,green "[[:space:]]+$" mgp.nanorc000064400000000345151701014140006525 0ustar00## Here is an example for Magicpoint presentations. syntax mgp "\.mgp$" header "^%include.*" comment "#" icolor green "^%[a-z].*$" color cyan "(^|[[:space:]])#.*$" color cyan "(^|[[:space:]])%%.*$" color ,green "[[:space:]]+$" mutt.nanorc000064400000000271151701014140006731 0ustar00## Here is an example for quoted emails (under e.g. mutt). syntax mutt # Quoted lines. color green "^>.*" # Signatures, even quoted ones. color yellow start="^>* ?-- $" end="^>* ?$" nanohelp.nanorc000064400000000606151701014140007546 0ustar00## This is meant for highlighting key combos in a nano help text. # It should not apply to any normal file, so no fileregex. syntax nanohelp # Key combos: color cyan "\^[]4-8A-Z^\_◀▶▲▼]" "[◀▶▲▼]" "(\^|M-)Space" "\<M-." "\<F1?[0-9]" color cyan "\<(Tab|Sh-Tab|Enter|Ins|Del|Bsp|Up|Down|Left|Right|Home|End|PgUp|PgDn)\>" # Quoted indicators: color brightred "'(\^|M-)'" nanorc.nanorc000064400000005223151701014140007222 0ustar00## Here is an example for nanorc files. syntax nanorc "\.?nanorc$" comment "#" # Possible errors and parameters icolor brightred "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic|comment|linter|formatter|i?color|extendsyntax).*$" # Keywords icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(afterends|allow_insecure_backup|atblanks|autoindent|backup|backwards|boldtext|casesensitive|constantshow|cutfromcursor|fill[[:space:]]+-?[[:digit:]]+|historylog|linenumbers|locking|morespace|mouse|multibuffer|noconvert|nohelp|nopauses|nonewlines|nowrap|positionlog|preserve|quickblank|quiet|rebinddelete|rebindkeypad|regexp|showcursor|smarthome|smooth|softwrap|suspend|tabsize[[:space:]]+[1-9][0-9]*|tabstospaces|tempfile|trimblanks|unix|view|wordbounds)\>" icolor yellow "^[[:space:]]*set[[:space:]]+((error|function|key|number|selected|status|title)color)[[:space:]]+(bright)?(white|black|red|blue|green|yellow|magenta|cyan|normal)?(,(white|black|red|blue|green|yellow|magenta|cyan|normal))?\>" icolor brightgreen "^[[:space:]]*set[[:space:]]+(backupdir|brackets|errorcolor|functioncolor|keycolor|matchbrackets|numbercolor|operatingdir|punct|quotestr|selectedcolor|speller|statuscolor|titlecolor|whitespace|wordchars)[[:space:]]+" icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^([[:alpha:]]|[]0-9\^_]|Space)|M-([[:alpha:]]|[]!"#$%&'()*+,./0-9:;<=>?@\^_`{|}~-]|Space))|F([1-9]|1[0-6])|Ins|Del)[[:space:]]+([[:alpha:]]+|".*")[[:space:]]+(all|main|search|replace(with)?|gotoline|writeout|insert|ext(ernal)?cmd|help|spell|linter|browser|whereisfile|gotodir)([[:space:]]+#|[[:space:]]*$)" icolor brightgreen "^[[:space:]]*unbind[[:space:]]+((\^([[:alpha:]]|[]0-9\^_]|Space)|M-([[:alpha:]]|[]!"#$%&'()*+,./0-9:;<=>?@\^_`{|}~-]|Space))|F([1-9]|1[0-6])|Ins|Del)[[:space:]]+(all|main|search|replace(with)?|gotoline|writeout|insert|ext(ernal)?cmd|help|spell|linter|browser|whereisfile|gotodir)([[:space:]]+#|[[:space:]]*$)" icolor brightgreen "^[[:space:]]*extendsyntax[[:space:]]+[[:alpha:]]+[[:space:]]+(i?color|header|magic|comment|linter|formatter)[[:space:]]+.*$" icolor brightgreen "^[[:space:]]*(syntax|linter|formatter)[[:space:]]+[^[:blank:]]+" icolor green "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic|comment|linter|formatter|extendsyntax)\>" # Strings color brightmagenta "".+"([[:space:]]|$)" # Colors icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan|normal)?(,(white|black|red|blue|green|yellow|magenta|cyan|normal))?\>" icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)=" # Comments color brightblue "(^|[[:space:]]+)#.*$" color cyan "^[[:space:]]*##.*$" # Trailing whitespace color ,green "[[:space:]]+$" nftables.nanorc000064400000001430151701014140007534 0ustar00## Here is an example for nftables. syntax nftables "\.(nft|nftables)$" header "^#!.*(nft|nftables)" comment "#" # Objects and operations color green "\<(chain|hook|policy|priority|ruleset|set|table|type|v?map)\>" color green "\<(define|include)\>" color red "\<(add|delete|flush|insert|remove|replace)\>" # Families color yellow "\<(arp|bridge|inet|ingress|ip6?|netdev)\>" # Terminal statements color red "\<(drop|reject)\>" color brightblue "\<(accept|continue|(d|s)nat|goto|jump|masquerade|return)\>" # Comments color cyan "(^|[[:space:]])#.*$" # Trailing whitespace color ,green "[[:space:]]+$" # Strings and others color yellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" color green "[{}():;|`$<>!=&\\]" "(\]|\[)" # Basic variable names color brightred "(\$|@)[[:alpha:]_-][[:alnum:]_.-]*" objc.nanorc000064400000003410151701014140006653 0ustar00## Here is an example for C/C++/Obj-C. syntax m "\.m$" magic "Objective-C source" comment "//" # Stuffs, color brightwhite "\<[A-Z_][0-9A-Z_]+\>" color green "\<(float|double|BOOL|bool|char|int|short|long|id|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline)\>" color green "\<[[:alpha:]_][[:alnum:]_]*_t\>" color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>" color brightgreen "\<(for|if|while|do|else|case|default|switch)\>" color brightgreen "\<(try|throw|catch|operator|new|delete)\>" color brightgreen "\<(goto|continue|break|return)\>" color brightgreen "@(encode|end|implementation|interface)|selector)\>" # GCC builtins. color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" # Selector/method. color brightmagenta "(^|[[:space:]])\[.*[[:space:]].*\]" color white ":[[:alnum:]]*" color magenta "[[:alnum:]]*:" color white "\[[^][:space:]]*\]" # Strings. color brightblack "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" color brightblack "<[^= ]*>" ""(\\.|[^"])*"" color brightblue "@"(\\.|[^"])*"" # Multiline strings. This regex is VERY resource intensive, # and sometimes colours things that shouldn't be coloured. ###color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" # Preprocessor commands. color brightblue "^[[:space:]]*#[[:space:]]*(define|include|import|(un|ifn?)def|endif|el(if|se)|if|warning|error)" # Comments. color yellow "//.*" color yellow start="/\*" end="\*/" # Trailing whitespace. color ,green "[[:space:]]+$" ocaml.nanorc000064400000001533151701014140007035 0ustar00## Syntax highlighting for OCaml. syntax ocaml "\.mli?$" magic "OCaml" comment "(*|*)" # Uid: color red "\<[A-Z][0-9a-z_]{2,}\>" # Declarations: color green "\<(let|val|method|in|and|rec|private|virtual|constraint)\>" # Structure items: color red "\<(type|open|class|module|exception|external)\>" # Patterns: color blue "\<(fun|function|functor|match|try|with)\>" # Pattern modifiers: color yellow "\<(as|when|of)\>" # Conditions: color cyan "\<(if|then|else)\>" # Blocks: color magenta "\<(begin|end|object|struct|sig|for|while|do|done|to|downto)\>" # Constants: color green "\<(true|false)\>" # Modules/classes: color green "\<(include|inherit|initializer)\>" # Expression modifiers: color yellow "\<(new|ref|mutable|lazy|assert|raise)\>" # Comments: color white start="\(\*" end="\*\)" # Strings: (no multiline handling yet) color brightblack ""[^\"]*"" patch.nanorc000064400000001116151701014140007036 0ustar00## Here is an example for patch files. syntax patch "\.(patch|diff|debdiff)$" magic "diff output" # There is no official support for comments in patch files. comment "" # Added lines. color brightgreen "^\+.*" # Show trailing whitespace only on added lines. color ,green "[[:space:]]+$" # Context lines. color brightblue "^ .*" # Deleted lines. color brightred "^-.*" # Header lines. color magenta "^(Index:|diff)[[:blank:]].*" # File names and dates. color red "^---.*" color green "^\+\+\+.*" # Line numbers. color brightyellow "^@@.*" # Statistics. color cyan start="^---$" end="^$" perl.nanorc000064400000002672151701014140006711 0ustar00## Here is an example for Perl. syntax perl "\.p[lm]$" header "^#!.*perl[-0-9._]*" magic "Perl script" comment "#" color red "\<(accept|alarm|atan2|bin(d|mode)|c(aller|h(dir|mod|op|own|root)|lose(dir)?|onnect|os|rypt)|d(bm(close|open)|efined|elete|ie|o|ump)|e(ach|of|val|x(ec|ists|it|p))|f(cntl|ileno|lock|ork))\>" "\<(get(c|login|peername|pgrp|ppid|priority|pwnam|(host|net|proto|serv)byname|pwuid|grgid|(host|net)byaddr|protobynumber|servbyport)|([gs]et|end)(pw|gr|host|net|proto|serv)ent|getsock(name|opt)|gmtime|goto|grep|hex|index|int|ioctl|join)\>" "\<(keys|kill|last|length|link|listen|local(time)?|log|lstat|m|mkdir|msg(ctl|get|snd|rcv)|next|oct|open(dir)?|ord|pack|pipe|pop|printf?|push|q|qq|qx|rand|re(ad(dir|link)?|cv|do|name|quire|set|turn|verse|winddir)|rindex|rmdir|s|scalar|seek(dir)?)\>" "\<(se(lect|mctl|mget|mop|nd|tpgrp|tpriority|tsockopt)|shift|shm(ctl|get|read|write)|shutdown|sin|sleep|socket(pair)?|sort|spli(ce|t)|sprintf|sqrt|srand|stat|study|substr|symlink|sys(call|read|tem|write)|tell(dir)?|time|tr(y)?|truncate|umask)\>" "\<(un(def|link|pack|shift)|utime|values|vec|wait(pid)?|wantarray|warn|write)\>" color magenta "\<(continue|else|elsif|do|for|foreach|if|unless|until|while|eq|ne|lt|gt|le|ge|cmp|x|my|sub|use|package|can|isa)\>" icolor cyan start="[$@%]" end="( |[^0-9A-Z_]|-)" color yellow "".*"|qq\|.*\|" color white "[sm]/.*/" color white start="(^use| = new)" end=";" color green "#.*" color yellow start="<< 'STOP'" end="STOP" php.nanorc000064400000002056151701014140006532 0ustar00## Here is an example for PHP. syntax php "\.ph(p[23457s~]?|tml)$" magic "PHP script" comment "//" # PHP markings. color brightgreen "(<\?(php)?|\?>)" # Function names. color white "\<[A-Za-z_][A-Za-z_0-9]*\(" # Variable names. color cyan "\$[A-Za-z_][A-Za-z_0-9]*" # Types. color green "\<(array|bool|callable|const|float|global|int|object|string|var)\>" # Directives and structure. color brightcyan "\<(abstract|as|class|clone|(end)?declare|extends|function|implements|include(_once)?|inst(ance|ead)of|interface|namespace|new|private|protected|public|require(_once)?|static|trait|use|yield)\>" color brightcyan "\<(case|catch|default|do|echo|else(if)?|end(for(each)?|if|switch|while)|final(ly)?|for(each)?|if|print|switch|throw|try|while)\>" # Operators. color brightcyan "\<(and|or|xor)\>" # Control flow. color magenta "\<(break|continue|goto|return)\>" # Strings. color brightyellow ""(\.|[^"])*"" "'(\.|[^'])*'" # Comments. color brightblue "(^|[[:space:]]+)//.*" color brightblue start="/\*" end="\*/" # Trailing whitespace. color ,green "[[:space:]]+$" po.nanorc000064400000001630151701014140006356 0ustar00## Colouring for PO files. syntax po "\.pot?$" comment "#" # Comments. color green "^#.*$" color yellow "Copyright|\(C\)" # Header fields. color brightred "^\"X-Bugs:.*\"$" color brightmagenta "\<(Project\-Id\-Version|Report\-Msgid\-Bugs\-To|Last\-Translator|Language(\-Team)?|X-Bugs|X-Generator|Plural\-Forms)\>" color cyan "\<(POT\-Creation\-Date|PO\-Revision\-Date|MIME\-Version|Content\-Type|Content\-Transfer\-Encoding)\>" # Encodings and numbers. color yellow "\<(UTF|ISO|Windows|Mac|IBM)-[0-9]+" color yellow "[0-9]|pre[0-9]|[0-9]bit" # Msgids. color brightblue "^(msgid|msgid_plural|msgstr)\>" # Tags. color red " fuzzy(,|$)" color yellow " (no-)?[-[:alpha:]]+-format(,|$)" # Format specifiers. color brightmagenta "%([1-9]\$)?[a-z]*" # Quotes and escaped characters. color yellow "\"" color cyan "\\[abcefnrtv"\]" # Reminders. color brightwhite,yellow "(FIXME|TODO|XXX)" # Obsolete strings. color red "#~.*$" AUTHORS000064400000005115151702644640005627 0ustar00This file lists people who have made significant contributions to the nano editor. Please see the ChangeLog for specific changes by author. ---------------------------------------------------------------------- Chris Allegretta <chrisa@asty.org> * Original program author and long-time maintainer. Benno Schulenberg <bensberg@telfort.nl> * An array of small bug fixes, the cut-word and block-jump routines, text selection by holding Shift, macro recording and replay, plus some key bindings. Current maintainer. David Lawrence Ramsey <pooka109@gmail.com> * Former stable series maintainer. Multiple buffer support, operating dir (-o) option, bug fixes for display routines, wrapping code, spelling fixes, constantshow mode, parts of UTF-8 support, softwrap overhaul, and various other fixes. Jordi Mallach <jordi@gnu.org> * Debian package maintainer, fellow bug squasher. * Internationalization support head, ca.po maintainer. Adam Rogoyski <rogoyski@cs.utexas.edu> * New write_file() function, read_file() optimization, mouse support, resize support, nohelp (-x) option, justify function, follow symlink option and bugfixes, and much more. Robert Siemborski <rjs3@andrew.cmu.edu> * Miscellaneous cut, display, replace, and other bug fixes, original and new "magic line" code, read_line() function, new edit display routines. Rocco Corsi <rocco.corsi@sympatico.ca> * Internal spelling code, many optimizations and bug fixes for findnextstr() and search-related functions, various display and file handling fixes. David Benbennick <dbenbenn@math.cornell.edu> * Wrap and justify bugfixes/enhancements, new color syntax code, memleak fixes, parts of the UTF-8 support, and other miscellaneous fixes. Mike Frysinger <vapier@gentoo.org> * Gentoo package maintainer. Whitespace display mode, --enable-utf8/--disable-utf8 configure options for ncurses, many new color regexes and improvements to existing color regexes in syntax/*.nanorc, the move from svn to git, the conversion to gnulib, and miscellaneous bug fixes. Mark Majeres <mark@engine12.com> * A functional undo/redo system, and coloring nano's interface. Mahyar Abbaspour <mahyar.abaspour@gmail.com> * Improved handling of SIGWINCH. Mike Scalora <mike@scalora.org> * The comment/uncomment feature. Faissal Bensefia <faissaloo@gmail.com> * Line numbers. Sumedh Pendurkar <sumedh.pendurkar@gmail.com> * The word-completion feature. Rishabh Dave <rishabhddave@gmail.com> * Searchable help. Marco Diego Aurélio Mesquita <marcodiegomesquita@gmail.com> * Filtering text through an external command. COPYING000064400000104374151702644640005621 0ustar00 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS 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 state 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) <year> <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 3 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, see <http://www.gnu.org/licenses/>. Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: <program> Copyright (C) <year> <name of author> This program 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, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <http://www.gnu.org/licenses/>. The GNU 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 Lesser General Public License instead of this License. But first, please read <http://www.gnu.org/philosophy/why-not-lgpl.html>. ChangeLog000064400000355403151702644640006341 0ustar00Changes between v2.9.7 and v2.9.8: ---------------------------------- Benno Schulenberg (64): build: fix compilation failure when configured with --enable-tiny build: fix compilation when configured with --disable-justify build: fix compilation when configured with --disable-multibuffer build: fix compilation with --enable-{tiny,help,multibuffer} bump version numbers and add a news item for the 2.9.8 release copyright: update the years for significantly changed files credits: sort the names roughly according to amount of influence docs: add a missing double quote in the default brackets string docs: describe what constitutes a paragraph docs: improve description of 'speller' and related bindable functions docs: improve the description of --nonewlines, and properly sort it docs: improve the description of the --autoindent option docs: make quotes around regexes bold, as they are part of the command docs: mark the filtering of text through an external command as done docs: register Marco as the author of the filtering feature docs: remove mention of the quotestr for when regex support is lacking docs: remove quotes around the name of a syntax -- they are not needed docs: thank Kamil for his bug fixes, and update an email address docs, usage: make it clear that the argument of --quotestr is a regex files: give feedback during writeout also when prepending or appending filtering: pair the cut and the insert, so they can be undone together gnulib: update to its current upstream state justification: find the beginning of a paragraph in a better way justification: limit the amount of recursion to prevent a stack overflow justification: recognize indented paragraphs also without --autoindent justification: when leading whitespace exceeds fill width, wrap anyway linter: don't try to access absent stat info, as that gives a crash linter: make sure that the margin is updated before displaying a buffer linter: make sure the shortcuts bar will redrawn when exiting early main: add "/" to the quoting regex, to allow justifying //-comments main: interpret only a double slash (//) as quoting, not a single one rcfile: don't crash when a bind to a string lacks the closing quote startup: provide a hint for people unfamiliar with the ^char convention syntaxes: condense and/or correct some extension regexes syntax: makefile: color all keywords that GNU make recognizes tweaks: adjust a translator hint tweaks: avoid an unused-variable warning with --enable-tiny tweaks: avoid a warning with --enable-{tiny,help,multibuffer} tweaks: condense a comment, and elide an unneeded 'if' tweaks: condense some repetitious comments, and check before assigning tweaks: condense two statements into one, and elide a 'break' tweaks: elide a function that is called just once tweaks: elide another function that is called just once tweaks: exclude an unneeded 'if' from the single-buffer version tweaks: frob a couple of comments tweaks: frob some comments, and rename two parameters to make sense tweaks: give some continuation lines a more obvious indentation tweaks: improve a couple of comments, and reshuffle a group of lines tweaks: make better use of an existing variable tweaks: make better use of an intermediate variable tweaks: reduce the abundance of the word 'toggle' in the Info manual tweaks: remove a superfluous assignment -- the lead length never changes tweaks: remove two superfluous checks, after making one of them so tweaks: rename a function, for more aptness and extra contrast tweaks: rename a variable, for contrast, and improve two comments tweaks: rename a variable, to give it some meaning tweaks: rename two variables, to better fit their tasks tweaks: reshuffle a condition, and adjust a comment and some indentation tweaks: reshuffle a couple of assignments tweaks: simplify the determining of the prefix for justified lines tweaks: stop decreasing both the iterator and the limit of a loop tweaks: use a more meaningful variable name, and avoid a distant 'else' wrapping: use "smart" autoindenting only when hard-wrapping is enabled wrapping: when autoindenting, use indentation of next line as example Brand Huntsman (1): tweaks: avoid two unused variable warnings when NLS is disabled Cristian Caloghera (1): syntax: makefile: recognize also an all-lowercase makefile name David Lawrence Ramsey (3): bindings: add the "flippipe" bindable function tweaks: avoid an unused variable warning with --enable-tiny tweaks: fix some grammar plus a typo in the comments Marco Diego Aurélio Mesquita (2): linter: check all open buffers, instead of just the next one new feature: allow piping (selected) text to an external command Changes between v2.9.6 and v2.9.7: ---------------------------------- Benno Schulenberg (21): bindings: add the 'linenumbers' bindable function bindings: rename constupdate to constantshow, cuttoend to cutfromcursor bump version numbers and add a news item for the 2.9.7 release docs: add notes about deprecated options and function names docs: break down some old improvements further per version docs: note a small difference with Pico in the default hard-wrapping docs: say thanks to three recent translators, and re-sort two others docs: slightly improve the description of the file browser in the manual main: clear a spurious error number, to avoid irrelevant messages later prompt: when asking for Yes/No/All, recognize also UTF-8 letters scrolling: only do a scroll when the edit window has more than one row signals: don't trap segfault/abort when envvar NANO_NOCATCH is defined signals: exclude the crash handler from the tiny version startup: suggest using ^D to finish reading from standard input tweaks: improve a couple of comments tweaks: normalize indentation and whitespace after previous changes tweaks: put check for -h and -l options in their alphabetical positions tweaks: put Yes/No/All in a consistent order (for the translators) tweaks: rename two variables, to be more descriptive tweaks: sort an option better, and reschedule a removal tweaks: use symbolic names instead of puzzling TRUE and FALSE Devin Hussey (1): signals: upon a crash, save changed buffers and reset terminal state Mark-Weston (1): new feature: an option to make the 'nextword' function stop at word ends Changes between v2.9.5 and v2.9.6: ---------------------------------- Benno Schulenberg (39): build: do not prefix an alternative rcfilename with a dot build: fix compilation when configured with --disable-help bump version numbers and add a news item for the 2.9.6 release command-execution: do not crash when opening the pipe would fail completion: correctly do a signed comparison, to avoid a segfault files: prevent a hang when a call to sigaction() would fail formatting, linting: redetermine the argument list for every run gnulib: update to its current upstream state memory: use a reallocation to reduce the amount of leakage prompt: recognize Yes/No/All in English when the locale gives no match rcfile: skip color commands where some color name is invalid scrolling: don't redraw entire edit window when cursor goes offscreen search: always go forward by default, also when coming from Goto-Line search: use a better value to mean "nothing was typed" speller: don't add an extra newline when saving the text to a tempfile syntax: po: highlight also other escaped characters, not just \n syntax: sh: colorize options only when they are preceded by whitespace tweaks: adjust the translator hint about Yes/No/All tweaks: correct or improve a couple of comments tweaks: elide a function that is called just once tweaks: fix a typo, remove a blank line, and improve some comments tweaks: frob a couple of comments tweaks: group some more of the empty functions together tweaks: improve some comments, and exit with nonzero status upon error tweaks: improve the ordering of a couple of functions tweaks: invert two conditions and reshuffle, to reduce duplication tweaks: move a function to its proper location tweaks: move a function to its proper location tweaks: rearrange a few if statements more symmetrically tweaks: remove the group handling for undoing/redoing (un)indents tweaks: rename a function, to be more distinct from its caller tweaks: rename a function, to be more fitting and descriptive tweaks: rename a variable, for clarity tweaks: rename a variable, to be a bit more fitting tweaks: rename a variable, to be more clear and to match another tweaks: rename a variable, to match another and to be more visible tweaks: reshuffle two declarations tweaks: set the correct flags just once for each spell-fixing session tweaks: use meaningful names instead of puzzling values Liu Hao (1): replacing: always clear the backwards flag for ^\, just like for ^W Changes between v2.9.4 and v2.9.5: ---------------------------------- Benno Schulenberg (45): build: exclude more things when configured with --disable-multibuffer build: fix compilation again when configured with --enable-tiny build: fix compilation when configured with --disable-multibuffer build: fix compilation with --enable-{tiny,help,multibuffer} bump version numbers and add a news item for the 2.9.5 release cut: avoid calling renumber() on what might be NULL docs: clarify how the Linux console is deficient: in the arrow keys docs: clarify what the scrollup and scrolldown bindable functions do docs: document the newly added color name "normal" docs: mention in the FAQ that <Shift+Insert> pastes from the clipboard files: prevent an infinite loop when reading from standard input fails files: prevent the undo of reading a file into a new buffer help: describe the Scroll-Up and Scroll-Down commands more precisely help: do not reserve space for line numbers, as they are absent linting: drop messages for other files when configured for one buffer memory: plug a leak, by actually freeing a discarded undo struct scrolling: first move the cursor before pushing current chunk offscreen scrolling: let Scroll-Up/Down keep the cursor in the same text position selecting: don't cancel a softmark when just scrolling the screen small addition: understand color name "normal" to mean the default color syntax: sh: color also the 'cut', 'head', 'tail', and 'sort' commands syntax: sh: color options distinctively, and color also long options syntax: sh: uncolor "tar" when it's part of a filename tweaks: adjust a couple of types, to reduce the number of warnings tweaks: adjust or correct some comments, and rename a function tweaks: adjust the indentation after the previous changes tweaks: bundle some settings for a new buffer tweaks: change a parameter of open_buffer() and invert its logic tweaks: condense some code, to remove a bit of duplication tweaks: drop a handful of unhelpful asserts tweaks: elide an unneeded and shadowing variable tweaks: elide a parameter, as it's always the inverse of another tweaks: elide a parameter that is always 1 tweaks: elide two parameters and thus a pair of wrapper functions tweaks: factor out the check for 'viewok' into its own function tweaks: fix a typo and adjust some wording and formatting in the FAQ tweaks: frob some comments plus miscellaneous other stuff tweaks: fuse two ifs into one tweaks: move an 'if' and then remove an unneeded label tweaks: reduce the font size of the questions in the FAQ tweaks: remove an inconsistent space from two pointer declarations tweaks: remove unneeded settings and unsettings of MULTIBUFFER tweaks: reshuffle some movement code, to reduce the number of conditions tweaks: revert commit c88a2fd9 -- the extra variable is needed tweaks: rewrap and amend some lines in the NEWS file David Lawrence Ramsey (1): tweaks: correct several parameter types Kamil Dudka (1): input: do not crash if sctofunc() returns NULL Liu Hao (1): build: fix compilation error when configured with --disable-justify Changes between v2.9.3 and v2.9.4: ---------------------------------- Benno Schulenberg (65): bindings: make a key defined as string work also in browser and viewer bindings: rename the bindable function 'gototext' to 'flipgoto' bindings: revert the ^/ changes, as ^/ is not always Go-To-Line bindings: show ^/ instead of ^_ for Go-To-Line build: fix compilation when configured with --enable-tiny bump version numbers and add a news item for the 2.9.4 release docs: mention that a key can be bound to a string docs: note also in the Info manual that text can be selected with Shift editing: when --smooth is used, make <Enter>-at-bottom scroll one row general: detect in a better way whether we're running on a Linux console gnulib: update to its current upstream state goto: avoid a segfault, by initializing 'answer' when it is NULL help: mention that some keys work on a region when the mark is on help: tweak the descriptions of ^X and ^R input: handle the implant() function separately also for the prompt input: handle the implant() function separately, as it is special memory: avoid a leak when toggling from Search to Goto memory: squeal when there is something wrong, instead of stumbling on new feature: allow binding a key to a string (in a nanorc file) prompt: disallow pasting when in restricted mode rcfile: allow a syntax name to be unquoted search: clear the existing answer when starting a new search search: get rid of some unneeded recursion when just toggling things selecting: cancel the softmark upon any attempt to move the cursor small addition: allow customizing the color of an error message syntax: color also ^/ in nano's help texts and in nanorc files syntaxes: remove quotes from each syntax name, and color it differently syntax: nanorc: color also bindings to a string as valid tweaks: adjust comments and indentation after the previous change tweaks: adjust two comments, move two declarations, rewrap three lines tweaks: appease valgrind concerning syscalls with uninitialized values tweaks: condense a comment and elide an 'if' tweaks: correct a typo in NEWS tweaks: correct a typo that broke binding a key to a string tweaks: do not needlessly renumber the lines in the buffer tweaks: don't call strcmp() to determine whether a string is empty tweaks: drop an assert, add a warning, and change a 'for' to a 'while' tweaks: drop some debugging stuff, and adjust what remains of it tweaks: elide another variable, to call a function less often tweaks: elide an unneeded variable tweaks: elide an unneeded variable tweaks: elide an unneeded variable tweaks: elide an unused variable and parameter tweaks: elide two unneeded booleans tweaks: exclude an unlikely error message from the tiny version tweaks: exclude an unlikely warning from the tiny version tweaks: fix a copy-and-paste error tweaks: make the fsfromline() call only for the undo types that need it tweaks: plug a memory leak when using Verbatim Input at a prompt tweaks: refactor the implanting of a key expansion tweaks: remove another superfluous check tweaks: remove a superfluous check tweaks: remove two deprecated options and six rebindable function names tweaks: remove two superfluous checks, and restrict two others tweaks: rename a parameter and a variable, to be more fitting tweaks: rename a variable to be more distinct and greppable tweaks: rename two variables, to be more meaningful tweaks: reshuffle some code, to be slightly less ugly tweaks: reshuffle some of the search-and-replace cleanup calls tweaks: reshuffle the undo types into mostly the same order everywhere tweaks: shorten the name of two record elements tweaks: slightly rewrap the FAQ's table of contents tweaks: transform a 'do' to a 'while', and reshuffle a comment tweaks: unabbreviate two variable names undo: when redoing, don't try to find a line number that might not exist Brand Huntsman (1): color: remove unneeded bright comparision to prevent duplicate pairs David Lawrence Ramsey (3): docs: mention that errorcolor does have default colors input: don't stop prepending when the user adds text via a shortcut tweaks: fix typo in rebindable function name Tom Levy (1): syntax: go: highlight also floats with leading zeroes as valid Changes between v2.9.2 and v2.9.3: ---------------------------------- Benno Schulenberg (65): build: fix compilation when configured with --enable(tiny,color,nanorc} build: fix compilation with --enable-tiny --enable-justify build: let ./configure fail (not just warn) when curses.h is missing bump version numbers and add a news item for the 2.9.3 release copyright: update the years for the FSF display: wipe the status bar when doing a total refresh docs: remove the note about needing a recent ncurses for macros to work docs: update the FAQ for the changed default location of history files docs: update the TODO file to the current state of affairs gnulib: update to its current upstream state help: don't get stuck when there is an unwrappable piece of text input: consume only the actual length of an escape sequence input: fully reset state when a three-digit character code is cut short input: make <Shift+Tab> do an unindent also on a Manjaro console input: recognize escape sequences for <Shift+PageUp> and <Shift+PageDown> input: recognize more escape sequences for <Shift+Home> and <Shift+End> input: recognize the deviant keycode for <Ctrl+End> in urxvt options: recognize -M and --trimblanks on the command line painting: look for an end match only after a start match, if any prompt: show whitespace only in the filename, not in the whole line replacing: don't skip the first character of a backwards-marked region search: suppress the occurrence at the cursor only when replacing startup: allow a named pipe as file argument when --noread is used startup: make an error message succinct and to the point startup: move the initialization of colors, so any error gets printed syntax: go: colorize only valid octal numbers syntax: lua: do not color debug.setinfo as it doesn't exist syntax: nanohelp: color also the Sh-Tab key combo tweaks: change a 'do' to a 'while', and return early to elide an 'if' tweaks: check for the type of terminal far earlier tweaks: condense a condition and a comment, and reshuffle a line tweaks: condense and rewrap some comments, and reindent two lines tweaks: condense the conditional compilation of shortcut reassignments tweaks: don't bother freeing the key buffer, just reallocate it tweaks: don't bother to reallocate when the keybuffer size decreases tweaks: drop a superfluous parameter, as it is always 1 tweaks: drop a useless assert, and don't abort over an unhandled option tweaks: drop two unneeded initializations, and trim a comment tweaks: elide a tiny intermediate buffer, and rename two variables tweaks: exclude --trimblanks when no wrapping or justifying is configured tweaks: fully include Savefile and Wherewas in the tiny version tweaks: indenting text files with tabs is not a good idea tweaks: mark the two blocks that have a deviant indentation tweaks: move a bunch of comments to the lines that they refer to tweaks: move two functions to their proper place, orderingwise tweaks: remove a fragment of dead code tweaks: remove a handful of redundant (because always true) asserts tweaks: remove a superfluous case -- there can never be four digits tweaks: remove a superfluous check, as we insert always one code tweaks: rename a function, for aptness, and drop a superfluous check tweaks: rename a function, to be more distinct tweaks: rename a variable, and further condense some comments tweaks: rename a variable, for more contrast tweaks: rename a variable, to better fit its usage tweaks: rename two variables, and swap their declaration order tweaks: rename two variables, for preciseness and shortness tweaks: reshuffle a couple of lines tweaks: reshuffle a couple of lines, to make a bit more sense tweaks: reshuffle some stuff, and avoid a memory leak tweaks: reshuffle two condition series, to look better tweaks: rewrap a bunch of lines in the NEWS file tweaks: set a modifier in a single place, for conciseness tweaks: swap the row and col parameters to a more consistent order tweaks: transform a parameter, from a pointer to the value itself wrapping: don't trim a blank character that the user just typed Brand Huntsman (1): startup: parse interface colors when they are read, not when initialized Changes between v2.9.1 and v2.9.2: ---------------------------------- Benjamin Mintz (1): syntax: python: add 'async', 'await', and 'nonlocal' as keywords Benno Schulenberg (62): bump version numbers and add a news item for the 2.9.2 release display: ensure that cursor is visible when compiled with --with-slang docs: mention that the source code is best viewed with a tab size of 4 docs: say thanks to some fairly recent translators, and rename one gnulib: pull in the fix for the missing stat include gnulib: update to its current upstream state help: show that "Tab" will indent, just like "Sh-Tab" will unindent help: swap the order of the Complete and Comment functions indenting: don't exclude last line of region when region is empty indenting: keep affecting last line of marked region if it was at first input: allow using <Tab> and <Shift+Tab> to (un)indent selected region input: make <Ctrl+Shift+Arrow> work also when using --rebindkeypad input: optimize a bit for non-shortcut keys, as they are most frequent options: rename 'justifytrim' to 'trimblanks', because it has morphed prompt: blank the bar when a "continue?" is answered with No or ^C syntaxes: remove redundant word-boundary markers syntax: javascript: add some comments, and color explicit numbers too syntax: javascript: add some keywords, and sort them more logically syntax: javascript: color strings differently from major keywords syntax: javascript: require that a comment is preceded by whitespace syntax: lua: condense some regexes, tweak comments, reorder things syntax: nanorc: don't color parts of valid strings as if invalid syntax: python: color also the special values 'False', 'None', 'True' text: allow unindenting when not all lines are indented text: keep cursor at left edge when it IS there when indenting/commenting text: let a Shift-selection persist when indenting and commenting text: let indenting/commenting skip the last line if its x is zero text: set and reset the Modified state correctly when undoing/redoing tweaks: add a separate function that actually wipes the status bar tweaks: avoid incrementing a variable that won't be used again later tweaks: condense or rewrap a bunch of repetitious comments tweaks: condense, reword, and rewrap a bunch of comments tweaks: condense some debugging code, and rewrap a line tweaks: convert the indentation of the NEWS file too tweaks: convert the indentation to use only tabs tweaks: drop some old debugging code plus a superfluous comment tweaks: elide two parameters from the get_region() function tweaks: elide two variables that are used just once tweaks: factor out a piece of common code tweaks: fix some whitespace errors, and convert alignment tabs to spaces tweaks: fold some regexes into one another, for conciseness tweaks: frob four comments, and rewrap two lines tweaks: invert the logic of a variable, and rename it tweaks: limit the resetting of "Modified" to writing a full buffer tweaks: move some frequently-used keystrokes to the top of the list tweaks: remove a redundant call of renumber() tweaks: remove a superfluous condition tweaks: remove a superfluous placing of a terminating nul byte tweaks: remove some unneeded parentheses, and shorten two function calls tweaks: remove two irrelevant conditions tweaks: rename three variables, for more contrast and variety tweaks: reshuffle a bit of common code, moving it to an existing function tweaks: reshuffle another bit of code, for conciseness tweaks: rewrap some lines and some comments, and trim two others tweaks: slightly rename four functions, for aptness and variety tweaks: strip some debugging stuff, and condense a bit of code tweaks: trim another placing of a terminating nul byte tweaks: use for git the more faithful "less -x1,5" suggested by Brand tweaks: use spaces for alignment also in the THANKS file wrapping: delete trailing blanks upon hardwrapping, when requested wrapping: keep prepending to the same next line as long as possible wrapping: we're still on the same line if the next line has not changed David Lawrence Ramsey (3): input: support backtab when Slang and/or --rebindkeypad is used tweaks: use printf's z modifier for (s)size_t, instead of casting undo: when adding text adds a magicline, an undo should remove both Liu Hao (1): syntax: c: increase the color contrast of reminders like FIXME Michael Francis (1): syntax: php: function and variable names can contain uppercase and digits Mike Frysinger (1): syntax: javascript: add newer keywords and string syntax Tom Levy (6): syntax: go: fix word boundary before dot in number literal syntax: go: sign of exponent in number literal is optional syntax: lua: add new and missing standard library functions syntax: lua: correct the word boundaries on standard library functions syntax: lua: require at least one digit for hexadecimal numbers syntax: lua: support fractional part and exponent for decimal and hex Changes between v2.9.0 and v2.9.1: ---------------------------------- Benno Schulenberg (20): build: fix compilation with --disable-browser --disable-tabcomp bump version numbers and add a news item for the 2.9.1 release files: always update the stat info when the entire file is written files: save the marked region only when we've prompted for a file name gnulib: update to its current upstream state history: create the path '~/.local/share/' when it is needed history: make nano's state directory accessible for the user only history: save the positions file also when a record was deleted input: make the macro key discoverable by giving feedback when undefined linting: switch the mark off when the linter starts selecting: do not cancel the softmark when the cursor is not moved selecting: let a justification cancel a softmark syntax: adjust the magic strings for the changes since file-5.10 tweaks: adjust indentation after previous change tweaks: elide the 'mark_set' boolean -- the 'mark' pointer is enough tweaks: rename, rewrap, and reshuffle some stuff, and frob some comments tweaks: reshuffle a couple of lines, and frob a comment or two tweaks: reshuffle a couple of lines, to put similar things together undo: clear the Modified state when the very first edit is undone undo: discarding the stack does not always lose information Changes between v2.8.7 and v2.9.0: ---------------------------------- Benno Schulenberg (103): bindings: don't allow calling help when searching in the help viewer bindings: make ^Q and ^S do something useful by default bindings: make the search function rebindable again in help and browser bindings: make ^W start always a forward search (as there is ^Q now) browser: place the cursor properly on the selected file when -g is used build: let git ignore also the generated PDF file bump version numbers and add a news item for the 2.9.0 release copyright: update some years, and standardize on the dashed format display: keep the cursor switched on when resizing the screen display: rework the switching on and off of the cursor display: stop the help viewer from turning on the multibuffer indicator display: switch off the cursor early on during startup docs: make it clearer that a Signed-off-by is wanted on patches docs: mention that macros work correctly only on terminal emulators docs: remove another remark about indenting lacking undo capability docs: update references to the nanorc files for the XDG changes files: avoid an abortion when excuting a command in a new buffer gnulib: update to its current upstream state help: don't fall back to other syntaxes if there is no nanohelp one history: after loading the lists, mark them as unchanged history: remove the migration service for the old searches file input: recognize Option+Arrow keys on iTerm2 in "xterm mode" moving: don't slither and slide over tabs when they are overlong moving: prevent the cursor sticking on or skipping over overwide tabs new feature: a bindable function that starts always a backward search options: remove '--quiet' and 'set quiet', because they hide problems options: retire 'set backwards' -- it's still recognized but a no-op organization: move all history-related stuff to its own file ouch: set the positions-file name also when using the legacy state dir painting: evade an ncurses bug by adding the A_PROTECT attribute search: suppress the "not found" message when replacements were made search: suppress the "Search Wrapped" message when doing replacements search: wipe reassuring feedback as soon as searching has finished startup: don't ask the user to press Enter upon an rcfile error startup: don't produce more than three consecutive beeps startup: when an rcfile contains errors, report this on the status bar syntax: default: use colors that are readable also on dark backgrounds titlebar: don't reshow version when dropping back to a single buffer titlebar: don't show nano's name and version when in the file browser titlebar: drop the prefix "File: " from before the filename tweaks: add a translator hint, and adjust two others tweaks: adjust a comment, and condense a fragment of code tweaks: adjust indentation and comments after the previous change tweaks: adjust two comments, and correct and a few cosmetic mistakes tweaks: avoid an unused-variable warning with --disable-nanorc tweaks: change some mayday messages, to urge the user to report a bug tweaks: change the arrows to triangles also for searching in file browser tweaks: change the help-text arrows to triangles, to be more visible tweaks: chuck a bunch of asserts -- they have lost their usefulness tweaks: chuck an assert, and then condense the code and a comment tweaks: constify the result strings of getenv(), as a reminder tweaks: correct two minor things in the documentation tweaks: discard another set of useless asserts tweaks: discard some obsolete debugging stuff tweaks: don't construct the positions-history filename time and again tweaks: drop a bunch of outdated asserts tweaks: drop the ineffective cgitrc -- sorting by "age" does not work tweaks: elide a comment, and improve a couple of others tweaks: elide an unneeded check tweaks: elide an unneeded function now that stuff is grouped together tweaks: elide a superfluous allocation tweaks: elide two variables by using a pointer instead of an index tweaks: fix compilation when configured with --disable-histories tweaks: fix compilation when configured with --enable-tiny tweaks: fix compilation with --enable-tiny --enable-histories tweaks: frob a couple of comments tweaks: frob some comments and rename a few variables and a function tweaks: get rid of some cluttering conditional compilation tweaks: improve some comments, and rename a variable for symmetry tweaks: make the switching on and off of the cursor a bit more compact tweaks: move a general function to the utils.c file tweaks: reduce a bit of code duplication tweaks: remove a comment from the docs that is no longer accurate tweaks: remove another bit of conditional compilation tweaks: remove a superfluous no-op function call tweaks: remove a useless prefix from a hundred constants tweaks: rename a function and swap its two parameters tweaks: rename a function plus two parameters, to be more fitting tweaks: rename a macro, to make a little more sense tweaks: rename a variable, to avoid a possible confusion tweaks: rename a variable, to make more sense tweaks: rename one variable once more tweaks: rename some constants, to follow the same underscoreless scheme tweaks: rename three functions, to be shorter or clearer tweaks: rename three variables, for more contrast tweaks: rename two variables, for contrast, and frob some comments tweaks: rename two variables, to be more indicative of what they do tweaks: rename two variables, to make a little more sense tweaks: reshuffle a bit of code and elide an unneeded variable tweaks: reshuffle a couple of lines, and trim some comments tweaks: reshuffle some code, and rename a variable tweaks: reshuffle some code in order to elide a variable tweaks: reshuffle some regexes, for order and compactness tweaks: strip four unneeded checks tweaks: transform the token DISABLE_COLOR to ENABLE_COLOR tweaks: transform the token DISABLE_EXTRA to ENABLE_EXTRA tweaks: transform the token DISABLE_HISTORIES to ENABLE_HISTORIES tweaks: transform the token DISABLE_JUSTIFY to ENABLE_JUSTIFY tweaks: transform the token DISABLE_OPERATINGDIR to ENABLE_OPERATINGDIR tweaks: transform the token DISABLE_SPELLER to ENABLE_SPELLER tweaks: transform the token DISABLE_WRAPJUSTIFY to ENABLED_WRAPORJUSTIFY tweaks: transform the token DISABLE_WRAPPING to ENABLE_WRAPPING tweaks: use mnemonic constants instead of TRUE and FALSE Brand Huntsman (3): bindings: allow exiting from the help viewer with F1, like with ^G history: prevent overwriting of positions between multiple instances syntax: nanohelp: colorize Up, Down, Left and Right (when not in UTF-8) David Lawrence Ramsey (18): build: add history.c to the list of files with translatable strings display: don't cut off zero-width characters at the end of a chunk docs: decribe the bindable functions 'recordmacro' and 'runmacro' docs: document the more everyday names of three bindable functions docs: remove man page reference to indent/unindent lacking undo/redo files: don't change file format when inserting into an existing buffer help: allow firstline and lastline to work at the search prompt history: fix the check for an existing $HOME/.nano/ directory moving: set the preferred column properly when doing a smart home search: don't bother saving and restoring the search direction search: trim a failed search string for width instead of length softwrap: break before multi-column Unicode blanks when they overshoot syntax: nanorc: properly color valid arguments of 'selectedcolor' text: hook up indenting and unindenting to the undo/redo code text: move the indenting of a single line into its own function text: move the unindenting of a single line into its own function tweaks: use printf's z modifier for most of the size_t/ssize_t types undo: generalize update_comment_undo() into update_multiline_undo() Lion Yang (1): input: ensure that standard input uses blocking mode Marco Diego Aurélio Mesquita (5): general: do not free strings gotten from getenv(), to avoid a crash history: remember the commands that were executed during this session history: remember the list of executed commands across sessions new feature: show current and total number of open buffers in title bar new feature: the ability to record and play back a series of keystrokes Simon Ochsenreither (1): startup: look for nanorc and history files also in the XDG directories Viorel Bota (1): files: check for a changed disk file also for 'savefile' and --tempfile Changes between v2.8.6 and v2.8.7: ---------------------------------- Benno Schulenberg (54): bindings: hard-bind Alt+Up and Alt+Down to findprevious and findnext browser: correct the inverted search behavior for Alt+Up/Alt+Down bump version numbers and add a news item for the 2.8.7 release display: catch all cases where the cursor can be pushed offscreen display: don't doubly show tabs that cross a chunk boundary files: do not silently ignore an invalid backup directory, but die files: don't close a file descriptor when opening failed [coverity scan] files: don't try to open a negative file descriptor [coverity scan] gnulib: update to its current upstream state linting: don't try to put the cursor at a negative x position linting: skip the introductory message produced by 'gcc -fshow-column' mouse: one click of the wheel should move three lines, not three pages moving: don't push x forward when backward movement lands on a split tab moving: get <Up> unstuck when trying to pass over a sprawling tab moving: improve retention of the target column somewhat moving: the current chunk is always 0 when not in softwrap mode moving: use the correct formula for pushing the index forward rcfile: don't leak a shortcut when something goes wrong [coverity scan] softwrap: properly move up and down over tabs that are split over rows syntax: c: give labels some color too syntax: html: don't bother coloring tags that cross line boundaries syntax: python: don't require a character after an opening triple quote text: properly unindent lines that consist of only whitespace tweaks: a comma does not end a sentence, and is not part of a variable tweaks: adjust the indentation after the previous change tweaks: adjust the indentation after the previous change tweaks: adjust the indentation after the previous change tweaks: allow enough space for the Y/N/A characters [coverity scan] tweaks: avoid trying to stat a file that might be NULL [coverity scan] tweaks: close a file also in the error path [coverity scan] tweaks: condense or improve some comments tweaks: condense some logic, to elide a variable and a comment tweaks: do not leak the indentation when all lines are empty tweaks: don't close a descriptor when its stream has already been closed tweaks: drop some debugging stuff tweaks: drop some debugging stuff, and frob two comments tweaks: elide an unneeded pointer tweaks: elide the global variable 'full_operating_dir' tweaks: fix compilation with --enable-{tiny,help,multibuffer} tweaks: group all movement routines in corresponding pairs tweaks: keep the const qualifier of the syntax name [coverity scan] tweaks: remove includes that appear to be superfluous tweaks: rename a function, to let it make more sense tweaks: rename a label, to better match its task tweaks: renumber the special key codes, to be in sequence and grouped tweaks: reshuffle code and frob comments, to reduce the number of lines tweaks: reshuffle some code to harmonize two related functions tweaks: reshuffle some declarations and trim a few comments tweaks: restore an include that is necessary on some platforms tweaks: show "where is next" in the help lines of the file browser tweaks: simply set the proper scrolling mode, instead of imitating it tweaks: snip a superfluous clearing of the bottom bars after help tweaks: sort the includes, so it's a little easier to see what is there tweaks: specify more directly in what manner to move the viewport David Lawrence Ramsey (23): browser: allow backward/forward re-searches with Alt+Up/Alt+Down display: constrain line numbers on softwrapped lines with sprawling tabs display: do show the visible character for a tab when it starts a row display: revamp how screen updates are done in the movement code moving: redraw not just the new current line but also the prior one small addition: allow customizing the color of selected text softwrap: correctly move vertically through overwide tabs softwrap: don't push a straddling tab to the next chunk softwrap: improve left/right navigation across line boundaries softwrap: make sure char_len is set when a tab is wider than a chunk softwrap: properly update the viewport when adding text at firstcolumn text: make indenting add to the beginning of the line text: make unindenting remove from the beginning of the line tweaks: adjust spacing and wording in sample.nanorc tweaks: correct a comment typo and an indentation error tweaks: harmonize some prototypes with their functions tweaks: remove unneeded parentheses and blank line and braces tweaks: replace a misplaced tab with a space tweaks: set the target row for smooth scrolling more directly tweaks: use charalloc() instead of (char *)nmalloc() * sizeof(char) weeding: drop the forreal parameter from place_the_cursor() weeding: remove redundant casts of nmalloc() weeding: remove the unused be_clever parameter from do_home()/do_end() Rishabh Dave (1): new feature: allow pasting at all input prompts Urja Rannikko (1): bindings: hard-bind Alt+Left and Alt+Right to buffer switching Changes between v2.8.5 and v2.8.6: ---------------------------------- Benno Schulenberg (58): build: for Solaris, tell the linker to use a threading lib bump version numbers and add a news item for the 2.8.6 release display: avoid a jumpy cursor by redrawing bottom bars only when needed display: when back in the main loop, always redraw the help lines display: wipe stale messages from the status bar straightaway docs: add some more mark-up to the Info document docs: be more precise about when a dash is given instead of a filename docs: drop the cluttering Info-style links from the HTML manual docs: improve cross references and mark-up in the Info document docs: improve some spacing, especially of the synopsis in the PDF docs: make the guillemot and the middle dot appear correctly in HTML docs: move the descriptions of 'header' and 'magic' next to 'syntax' docs: remove the mention of backslashes for the argument of 'comment' docs: reword the explanation of the 'syntax' command docs: use real cross references in the Info document docs: use the @command and @option mark-up more consistently files: don't bother counting rows when opening a fresh buffer files: warn more conspicuously when the file on disk has changed gnulib: update to its current state input: recognize the Ctrl+Arrow key sequences from Haiku's Terminal options: recognize -a and --atblanks on the command line options: rename --cut to --cutfromcursor, to be clearer pasting: restore the cap on the number of chunks to move backward rcfile: don't require backslashing in the argument of 'comment' screen: defeat a VTE/Konsole bug also for the case of --constantshow screen: retain the same help-line tags when the window is resized softwrap: when possible, go back a whole bunch of chunks at a time startup: don't try parsing color names that were not specified startup: in default mode, display the tail of the file as Pico does suspension: prevent entering an invalid byte upon resume (with S-Lang) syntax: gentoo: make it clearer that the file contains two syntaxes syntax: man, groff: fix the string that introduces a comment syntax: nanorc: don't color numeric arguments specially syntax: nanorc: don't color the argument of 'linter' as if invalid syntax: texinfo: cover also some special cases like @U, @OE and @TeX tweaks: adjust an error message so it fits all possible cases tweaks: avoid a clang warning about an expression being treated as NULL tweaks: avoid a failure with black diamonds in a PDF tweaks: avoid an unused-variable warning for the tiny version tweaks: chuck some debugging stuff tweaks: chuck two useless asserts, and elide a call to strncasecmp() tweaks: correct two conditions for conditional compilation tweaks: drop a bunch of useless asserts tweaks: elide unneeded calls of get_last_chunk_leftedge() tweaks: fix compilation with --enable-tiny tweaks: move an include to the file that actually makes use of it tweaks: put declarations always first, so it will compile on Haiku tweaks: recognize the empty string as comment inhibitor, instead of NULL tweaks: remove two superfluous includes tweaks: rename a constant, to match the corresponding option tweaks: rename another constant, to be more precise tweaks: rename a variable, to have more contrast tweaks: rename four functions, to be more distinct tweaks: rename two variables, to make a little sense tweaks: reshuffle some things to condense the code tweaks: simplify the parsing of color combinations tweaks: spell an option correctly in NEWS tweaks: swap ^X and ^L in the help lines of the help viewer David Lawrence Ramsey (29): display: when converting tabs, don't go beyond the screen width docs: consistently describe the -U/-c and -r/-w overrides docs: mention that boldtext can be overridden also for function tags docs: mention the default values for comment and whitespace directives moving: fix the cursor jumping back and forth with non-smooth paging moving: make vertical movement account for varying chunk width new feature: allow lines to be softwrapped at whitespace replacing: make spotlight() account for varying chunk width softwrap: add new functions for chunks of varying width softwrap: don't flag EOL too early, nor break continuous text too early softwrap: in do_mouse(), keep the cursor before a softwrap breakpoint softwrap: make the changes to actually allow the chunk width to vary softwrap: prepare for allowing the chunk width to vary softwrap: remove unneeded caps on the number of chunks to move syntax: nanorc: properly color a "fill" option with a negative value text: adjust the comments in do_indent() and do_unindent() text: make do_unindent() an exact copy of do_indent() text: make sure commenting is disabled when comment "" was specified text: normalize the indentation in do_indent() and do_unindent() text: remove indent-related code from do_unindent() text: remove the last usage of cols in do_indent() and do_unindent() text: remove unindent-related code from do_indent() text: remove unneeded references to cols from the indentation routines text: update placewewant properly when indenting/unindenting tweaks: correct a parameter type, and correct two empty initializations tweaks: fix a typo in NEWS tweaks: only compensate for a partially-offscreen line in softwrap mode tweaks: remove unneeded braces, and mark empty parameter list as void usage: a dash doesn't have to come first among the filenames Changes between v2.8.4 and v2.8.5: ---------------------------------- Benno Schulenberg (35): bindings: in the tiny version exclude word jumping from the prompts bump version numbers and add a news item for the 2.8.5 release display: don't let a SIGCONT write anything to the screen display: don't show the cursor while we are busy calculating its position display: redraw title bar and edit window only when needed display: show the cursor position also when searching took a while docs: avoid a double "see" for cross references in the HTML manual docs: spell "title bar" and "status bar" correctly gnulib: update to its current state input: give an appropriate message when there are too many errors startup: allow negative line and column numbers on the command line startup: allow positioning the cursor also when reading standard input startup: always open with the file that was mentioned first startup: don't crash when opening standard input would fail startup: don't mark the buffer as modified when in view mode startup: don't mark the buffer as modified when nothing was read startup: don't try placing the cursor when reading standard input failed startup: don't use position history when reading from standard input suspension: fake a SIGWINCH when coming back out of the background suspension: remove a duplicate setting of the HUP and TERM handler syntax: default: allow leading whitespace before a hash comment tweaks: adjust indentation after preceding changes tweaks: avoid compiler warning about implicit type tweaks: be consistent in the spelling of title bar and status bar tweaks: don't bother calculating the position when we won't show it tweaks: elide a function that should not be a separate one tweaks: elide a variable tweaks: frob a few comments, and elide and #ifndef tweaks: reduce the scope of three variables, and rename them besides tweaks: reduce the scope of two variables, and rename them too tweaks: rename a function and a variable, to better match what they do tweaks: rename a variable, and frob a couple of comments tweaks: rename two functions and a variable, and invert its logic tweaks: reshuffle some stuff, to put related things closer together tweaks: unglobalize the nodelay_mode variable Changes between v2.8.3 and v2.8.4: ---------------------------------- Benno Schulenberg (11): build: correct the inverted logic for the nanorc man page bump version numbers and add a news item for the 2.8.4 release gnulib: update to its current state syntax: default: color also hash comments and email addresses syntax: php: color "static" again as "function", like it used to be tweaks: adjust the indentation after the preceding change tweaks: avoid an unused-variable warning when using --disable-comment tweaks: do actual screen refreshes in a single call, when possible tweaks: remove the no-op x$disable tests tweaks: reorder three items in the Info document tweaks: reshuffle a few things to reduce duplication Changes between v2.8.2 and v2.8.3: ---------------------------------- Benno Schulenberg (34): bindings: allow toggling a new buffer when multiple buffers are enabled build: don't use a dummy dependency, as it breaks non-GNU makes build: for Solaris, tell the linker where to find clock_gettime() build: use backticks to avoid a warning during autoreconf build: use the "force" mechanism to always run the revision rule bump version numbers and add a news item for the 2.8.3 release chars: optimize moving a character left in the non-UTF-8 case chars: probe for a valid UTF-8 starter byte, instead of overstepping chars: valid UTF-8 codes are at most 4 bytes long, so look only that far display: keep the cursor put, also when toggling nohelp or morespace files: don't ask "save anyway" when user orders to discard the buffer history: don't save the cursor position for temporary help files moving: limit the target column when it is beyond the last chunk replacing: don't let placewewant influence the placement of the cursor startup: don't call delwin() with NULL, to avoid crashing on Solaris syntax: makefile: color comments only at start of line or after whitespace syntax: nanohelp: color also ^6 as a shortcut keystroke syntax: php: color also variable names, and color more reserved words syntax: php: recognize also the .phtml and .php7 extensions syntax: xml: recognize an XML file also by its first line tweaks: add another warning for an impossible condition tweaks: adjust whitespace and comments after the preceding change tweaks: avoid an empty function call in tiny version with line numbers tweaks: exclude from the tiny version five error-betraying messages tweaks: exclude from the tiny version two messages that will never occur tweaks: fix compilation with --enable-tiny ...-help and ...-multibuffer tweaks: remove an old fault-catching message tweaks: remove five dummy function definitions from the tiny version tweaks: rename three empty functions, and reshuffle some others tweaks: rewrap a couple of old items in NEWS, and fix an article tweaks: swap a comparison, to be clearer tweaks: transform the token DISABLE_BROWSER to ENABLE_BROWSER tweaks: transform the token DISABLE_NANORC to ENABLE_NANORC tweaks: transform the token DISABLE_TABCOMP to ENABLE_TABCOMP David Lawrence Ramsey (2): display: ensure smooth scrolling when the edit window is resized tweaks: fix several whitespace irregularities Changes between v2.8.1 and v2.8.2: ---------------------------------- Benno Schulenberg (64): bindings: allow using <Backspace> to scroll back up in the help viewer bindings: allow using '/' to start a search in the help viewer bindings: show Home and End in browser help text, instead of M-| and M-? browser: make ^End work properly by fixing a paste error build: make --enable-help properly depend on --enable-multibuffer bump version numbers and add a news item for the 2.8.2 release display: initialize the colors only when starting to draw the content display: push the titlebar to the screen as soon as it has been drawn docs: add an item to the FAQ, about pasting from Windows to a remote nano docs: harmonize the nanorc man page and Info document a bit docs: in the FAQ, extend the answer to the pasting problem docs: reword the main paragraph of the man page docs: update the list of who authored what gnulib: update to its current state in git help: after a search, show the cursor only when something was found help: allocate enough space for the descriptions, so we don't crash help: don't crash when nano was started with --noread help: don't cycle forward in the buffers when exiting from help help: keep the same position also after M-\ or M-/ has been used help: keep the text at the same position when the screen is resized help: remove the final blank line, so <End> does the same as all <Down> help: set tabsize to the default width while showing a help text help: suppress nano's name and number to make it clearer this is help help: use a dedicated syntax to color shortcuts in a help text help: when searching, do it forward, without case, and without regexes input: avoid crashing when resizing the window during verbatim input options: allow -U (--quickblank) to be used in the tiny version scrolling: don't bother to limit the number of lines to step back startup: warn about a strange character size only in the UTF-8 case syntax: nanohelp: change the hue of the keystrokes to match sample.nanorc tweaks: add a warning for a condition that should never occur tweaks: add three warnings for conditions that should never occur tweaks: avoid an unused-variable warning tweaks: be more precise about what --disable-extra does tweaks: check for an empty needle in a central place tweaks: complete the exclusion of backups and such from the tiny version tweaks: condense two bits of code, and drop two asserts tweaks: distinguish (in the comments) between buffers and linestructs tweaks: drop a bunch of asserts tweaks: elide a function that is used just once tweaks: fix compilation with --enable-tiny --enable-color --enable-speller tweaks: fix two typos tweaks: remove a superfluous check tweaks: remove a superfluous strlen() call from the reverse searches tweaks: remove some superfluous placements of the cursor tweaks: remove two superfluous calls of wnoutrefresh() tweaks: rename a constant, to match the corresponding option tweaks: rename a function, to be more accurate tweaks: rename a function, to better suit what it does tweaks: rename another function, to better describe what it does tweaks: rename a parameter, to be more imperative tweaks: rename a variable, use a faster comparison, and reshuffle a bit tweaks: rename one variable again tweaks: rename some more of these 'rev_start' variables tweaks: rename three variables, elide another, and reshuffle some stuff tweaks: rename two variables, because this 'rev_start' is irksome tweaks: reshuffle a couple of lines to avoid a duplicate call tweaks: reshuffle help-text initialization, to elide a save-and-restore tweaks: reshuffle some more stuff, and rename two more variables tweaks: swap the names of two variables, to make more sense tweaks: transform the token DISABLE_MOUSE to ENABLE_MOUSE tweaks: transform the token DISABLE_MULTIBUFFER to ENABLE_MULTIBUFFER tweaks: use the logic from revstrstr() also in mbrevstrcasestr() tweaks: use the logic from revstrstr() also in revstrcasestr() David Lawrence Ramsey (1): docs: mention that also numbercolor overrides boldtext Rishabh Dave (1): new feature: add a search facility to the help viewer Changes between v2.8.0 and v2.8.1: ---------------------------------- Benno Schulenberg (33): bindings: make ^Home and ^End go to top and tail of buffer bindings: make ^Up/^Down go to first/last row in the file browser bindings: use arrows instead of words to designate the cursor keys bump version numbers and add a news item for the 2.8.1 release copyright: update the year in --version, and use the standard hyphen copyright: update the years, use ranges, and explain this usage display: check the correct character for being double-width display: with softwrap, show the cursor where the eye expects it docs: correct an answer to a question in the FAQ docs: mention another difference with Pico in the Info document docs: remove the self-referencing stuff and the changelog from the FAQ docs: trim the TODO file a bit, and put the more important items first editing: avoid creating blank lines when using autoindent files: check also for write errors when prepending, not just read errors gnulib: update to current state linting: treat a tab as one "column", not eight linting: when no is said to a file, remove all corresponding entries moving: when determining where we are on the screen, use placewewant tweaks: adjust a couple of comments tweaks: again use memory on the stack instead of malloc() and free() tweaks: close the backup file also when we skip making a backup tweaks: delete a function that hasn't been used since 2005 tweaks: delete unnecessary function prototypes tweaks: elide a variable and a pair of braces tweaks: fix some inconsistencies in an old Changelog tweaks: fix two typos in the NEWS file tweaks: group ^D and ^H together in the help lines tweaks: keep the help text aligned, also with the narrow arrows tweaks: put M-A before ^6, to look better above M-6 in the help lines tweaks: put unshifted shortcuts ^6 and M-6 first, instead of ^^ and M-^ tweaks: reduce the number of additions that actual_x() performs tweaks: replace a function call or a macro with a hard number tweaks: use memory on the stack instead of calling malloc() and free() David Lawrence Ramsey (5): bindings: use arrows instead of words for search history too display: show '<' and '>' placeholders for characters that get split input: support escape sequences for ^Home and ^End scrolling: properly compensate for the onscreen chunks tweaks: avoid a compilation warning Kamil Dudka (1): backup: prevent a symlink attack by operating on the file descriptor Mike Frysinger (2): configure: fix up word boundary regex logic now that we have gnulib configure: ignore the REG_ENHANCED test when we use gnulib Changes between v2.7.5 and v2.8.0: ---------------------------------- Benno Schulenberg (56): bindings: accept "q" and "x" to exit from help viewer and file browser bindings: group the three search-again shortcuts together bump version numbers and add a news item for the 2.8.0 release docs: mention some more differences with Pico in the Info document files: drop the pointless "[from ./]" from the insert-file prompt files: on second thought... keep the "[from ./]" input: count a manually entered unicode as one character moving: don't try to redraw lines that have gone outside the viewport moving: /do/ redraw the prior line when the viewport hasn't changed moving: the current chunk cannot be beyond the last chunk of a line oops -- that's what you get when you don't test things before pushing painting: don't try to start highlighting before column zero screen: don't push the longer-line indicator ($) to the next row spelling: keep the cursor at end-of-line if it was there startup: add option 'nopauses' to disable pausing after a warning tweaks: add a warning for a condition that should never occur tweaks: avoid a few needless reallocations tweaks: chuck some debugging stuff and some useless asserts tweaks: condense some declarations by reshuffling tweaks: correct some formatting irregularities in the FAQ tweaks: don't loop over an initializer tweaks: don't optimize for the wrong case tweaks: don't turn the mark off before it's needed tweaks: ehm... the warning is more important for the softwrap case tweaks: elide an intermediate variable tweaks: elide a small intermediate buffer tweaks: elide a variable tweaks: elide two variables, and condense some statements tweaks: factor out a bit of common code tweaks: fix compilation with --enable-tiny --enable-help tweaks: frob a couple of comments tweaks: frob some parentheses and other things, to be more consistent tweaks: gettextize a forgotten error message tweaks: make WhereIsNext available in browser in tiny version tweaks: mark a message for translation tweaks: optimize determining the number of columns that a text spans tweaks: reduce the scope of five variables, and frob some comments tweaks: remove a disabled warning, and adjust a translator hint tweaks: rename and shorten a small helper function tweaks: rename a variable and invert its logic tweaks: rename a variable, drop a false assert, and reshuffle a bit tweaks: rename three variables, to better distinguish bytes from columns tweaks: rename two variables, to be more distinctive tweaks: reshuffle some lines and adjust some comments tweaks: reshuffle some more lines and improve four comments tweaks: reshuffle some statements, to avoid double assignments tweaks: reshuffle the bindings to group things more logically tweaks: reshuffle three statements, and shorten a comment tweaks: reshuffle two declarations for a more consistent order tweaks: shorten a bit of logic tweaks: simplify and correct a computation tweaks: suggest a separate color scheme for root tweaks: trim a displayable string in a more efficient manner tweaks: use two extra variables to make it clearer what is being done usage: don't mention +LINE,COLUMN as an option, because it isn't wrapping: add the correct char length when skipping consecutive blanks David Lawrence Ramsey (52): configure: don't check for the existence of iswspace() anymore display: don't compensate for chunks before firstcolumn display: don't draw more chunks than the screen can hold display: limit an optimization to non-softwrap mode display: make PageUp/PageDown use the correct beginning of the viewport docs: update README.GIT for gnulib-related changes files: revamp the insertion of a file, to be more like pasting text moving: determine the correct leftedge when paging up/down too replacing: fix spotlight() to highlight words properly in softwrap mode softwrap: account for firstcolumn in reset_cursor() softwrap: account for firstcolumn when checking for offscreen current softwrap: account for firstcolumn when scrolling up a line softwrap: account for softwrap in get_page_start() softwrap: account for softwrapped chunks when adding text softwrap: account for softwrap when checking whether current is offscreen softwrap: add two chunk-iterator functions softwrap: adjust firstcolumn when the window width changes softwrap: count softwrapped chunks properly in do_gotolinecolumn() softwrap: count softwrapped chunks properly in do_uncut_text() softwrap: count softwrapped chunks properly in read_file() softwrap: improve End's behavior with softwrapped chunks softwrap: improve Home's behavior with softwrapped lines softwrap: improve Left and Right's behavior with softwrapped chunks softwrap: improve PageUp and PageDown's behavior with softwrapped chunks softwrap: improve Up and Down's behavior with softwrapped chunks softwrap: iterate through softwrapped chunks better in do_mouse() softwrap: iterate through softwrapped chunks in adjust_viewport() softwrap: iterate through softwrapped chunks in edit_scroll() softwrap: move the updating of a softwrapped line to a new function softwrap: prepare for a more flexible viewport softwrap: remove and replace workarounds for firstcolumn softwrap: save and restore firstcolumn when copying text softwrap: save and restore firstcolumn when internally spell-fixing text softwrap: save and restore firstcolumn when replacing text softwrap: save firstcolumn when justifying, restore it when unjustifying speller: fix replacing marked text in the alternate spell checker syntax: nanorc: color also the option "linenumbers" as being valid tweaks: add a parameter to do_home() and do_end() tweaks: fix a comment typo tweaks: mention nano's ability to read from standard input in usage() tweaks: move comments outside of if blocks in break_line() tweaks: prepare for improvements to do_home() and do_end() tweaks: remove cluttering #ifdefs from break_line() tweaks: rename need_horizontal_scroll() to line_needs_update() tweaks: slightly optimize an allocation in display_string() tweaks: stop converting text once we overshoot span columns undo: fix undoing/redoing insertions, since they no longer do partitioning usage: mention the -g/--showcursor option weeding: remove ensure_line_is_visible() weeding: remove maxlines and related code weeding: remove partitioning and related stuff from do_insertfile() weeding: remove partitioning and related stuff from do_justify() Hans-Bernhard Broeker (1): tweaks: make sure calls to <ctype.h> functions/macros use "unsigned char" Mike Frysinger (19): add an explicit test for set_escdelay() add support for gnulib assume getopt_long support is always available assume regex.h support is always available configure: require autoconf-2.69/automake-1.14 configure: require gettext-0.18.3, and drop our bundled m4 files drop the getdelim/getline fallback functions drop the glib fallback for snprintf/vsnprintf drop the isblank/iswblank fallback functions drop the wchar.h/wctype.h/stdarg.h checks drop various str fallback functions fix build on systems without pwd.h handle builds on systems without termios.h handle deficient signal systems pull in the glob module from gnulib pull in the lstat module from gnulib pull in the nl_langinfo & wcwidth modules from gnulib pull in the sys_wait module from gnulib tweaks: disable gnulib's workaround for the globbing of broken symlinks Changes between v2.7.4 and v2.7.5: ---------------------------------- Benno Schulenberg (65): bump version numbers and add a news item for the 2.7.5 release files: leave out the confusing "[from ./]" when prompting for a command general: stop the spell checker from crashing after the changes in search justify: reduce the character count when trimming trailing spaces painting: account for index maybe being zero after the preceding change painting: advance only when both start /and/ end match are zero-length painting: do not bluntly ignore zero-length start matches -- handle them painting: do not let a match for 'end' overlap a match for 'start' painting: don't look at the current multidata when coloring a line painting: make use of the multidata of the preceding line painting: mark an unpaired start match as CWOULDBE painting: properly detect a change in start/end matches painting: properly look for a new start match only after the end match painting: stay within the line when skipping zero-length matches painting: when skipping a zero-length match, skip a character, not a byte rcfile: don't accept empty regexes for syntax coloring replacing: compensate cursor position only for replacements /before/ it replacing: detect when the whole region has already been covered replacing: don't go outside of the selected region replacing: ignore the first match when the user said no replacing: start at the region's edge instead of one step before it replacing: stop searching in a region when edge of buffer is reached screen: don't compare a character index with a column position screen: ehm... no, that was wrong: page_start /is/ a column position search: begin from where we are, to be able to find the first \B search: make the \b and \B anchors work correctly in both directions spelling: correctly adjust the length of a single-line region spelling: don't unnecessarily fiddle with the viewport startup: report an error when the given line or column number is invalid statusbar: display at most three consecutive alert messages tweaks: adjust some comments, reshuffle a line, and use a while loop tweaks: adjust two comments, to be more accurate tweaks: adjust whitespace after preceding changes tweaks: and rename another variable, to keep in style tweaks: chuck some obscuring debugging stuff tweaks: condense a comment, rename a variable, and use a while loop tweaks: differentiate single-regex matches from paired-regex matches tweaks: discard the now unused multidata-resetting routine tweaks: elide a variable plus its corresponding dark logic tweaks: fiddle with some wordings in the texinfo document tweaks: free an option string also when it was invalid tweaks: move a comment and rewrap a line tweaks: normalize some paragraph formatting in the FAQ tweaks: rearrange some code to separate softwrap and normal mode more tweaks: rename a function, and drop an unneeded parameter tweaks: rename a function, to show it refers to screen rows tweaks: rename another variable, to be shorter tweaks: rename a variable and condense an if tweaks: rename a variable -- lines refers to buffer, rows to screen tweaks: rename a variable, to be more general tweaks: rename a variable, to be more general and match one elsewhere tweaks: rename some variables, to better distinguish rows from lines tweaks: rename some variables, to show they refer to screen rows tweaks: rename two variables, and always pass a valid result back tweaks: rename two variables, to avoid double negatives tweaks: reshuffle an assignment and trim some comments tweaks: reshuffle a test to a better place tweaks: reshuffle three variables tweaks: scrap a bunch of debugging lines -- they obscure the logic tweaks: scrap some debugging stuff tweaks: slightly speed up the change detection for multiline matches tweaks: swap two blocks of code to reduce the number of #ifdefs tweaks: update some copyright years tweaks: use a cheaper way to detect an end-of-line tweaks: use a subtraction instead of a counter David Lawrence Ramsey (16): docs: mention the ability to read from stdin screen: don't hide two-column characters at left edge in softwrap mode tweaks: adjust and correct some comments tweaks: always directly do a refresh when the margin changes tweaks: do a comparison a bit differently in do_output() and do_deletion() tweaks: fix compilation when configured with --enable-tiny tweaks: improve comments and formatting in update_line() tweaks: let update_line() return the correct value on error tweaks: reduce duplicate code in new_magicline() and move_to_filestruct() tweaks: rename a variable and adjust some types in edit_scroll() tweaks: rename a variable in edit_redraw(), to make sense tweaks: rename a variable in edit_scroll(), to make sense tweaks: rename mouse_x & mouse_y to mouse_col & mouse_row in do_mouse() tweaks: rename the functions for moving to and copying from a buffer tweaks: rewrap two lines and fix two typos tweaks: split the grafting code off from copy_from_buffer() Mike Frysinger (3): syntax: c++: add override keyword syntax: gentoo: flag mixed whitespace syntax: gentoo: match .eblit files too Changes between v2.7.3 and v2.7.4: ---------------------------------- Benno Schulenberg (48): build: check for GNU-style word-boundary support also in the tiny version build: include the old Changelogs in the tarball build: install the Info and Html manuals even when 'makeinfo' is missing build: move all documentation into a single directory build: move the syntax files out of the doc/ directory build: rename the sample config file, so it will be colored like a nanorc bump version numbers and add a news item for the 2.7.4 release copy: properly set preferred x position when region was marked backwards cut: indicate a buffer as modified only if actually something was deleted docs: add a new Changelog -- a list of the short commit messages docs: bring some air into the FAQ, so that <Ctrl+Up/Down> become useful docs: fix some spellos and trim some trailing tabs in the old Changelog docs: rename the Changelogs to indicate which periods they cover docs: snip some obsolete items from the FAQ, and normalize its dates docs: standardize the dates in the old Changelog inserting: adjust the desired x position (don't restore the old one) screen: examine the whole line when painting, to set the correct info search: make a regex with a beginning-of-word anchor work correctly softwrap: don't scroll half a page when just a few lines will do softwrap: when pasting an overlong line, ensure it is fully visible softwrap: when typing M-/, ensure the last line is fully visible syntax: html: be more precise with tags, and paint attribute names tweaks: adjust whitespace after the previous change tweaks: chuck a couple of useless asserts tweaks: condense two ifs to a single one tweaks: discard some conditional compilation tweaks: don't compare a character offset with a column position tweaks: don't use a variable for two different purposes tweaks: fix compilation when configured with --disable-wrapping tweaks: frob some comments, and transform one variable tweaks: frob some comments, elide a variable, and use 'while' loops tweaks: if there is no end match, there is nothing to paint tweaks: miscellaneous frobbings tweaks: rearrange and reindent some lines in the painting routines tweaks: remove the cluttering conditional compilation of a parameter tweaks: rename another variable, to show it refers to columns not chars tweaks: rename a variable, chuck an assert, and frob a comment tweaks: rename three painting variables, to be more distinct tweaks: rename two variables, for distinguishing characters from columns tweaks: rename two variables to be just one as they play the same role tweaks: rename two variables, to be more telling tweaks: reshuffle a statement to a better place and condense some comments tweaks: set the length of a search match in a clearer manner tweaks: slightly condense a function and its comment tweaks: terminate lots of sentences with a period in the old Changelog tweaks: the starting point for painting /cannot/ be offscreen tweaks: when allow_tabs is FALSE, allow_files is irrelevant undo: properly create separate items for deletes at different positions David Lawrence Ramsey (7): screen: properly place the cursor after inserting a file softwrap: ensure the current line is fully visible after inserting a file tweaks: avoid an unnecessary fiddling with current_y in do_mouse() tweaks: line numbers are ssize_t, not int tweaks: move a setting, fix a type, and rearrange a line in do_mouse() weeding: remove another unnecessary setting of openfile->current_y weeding: remove unnecessary settings of openfile->current_y Felix Janda (1): speller: fix build when tiny build is enabled Changes between v2.7.2 and v2.7.3: ---------------------------------- Arturo Borrero González (1): syntax: nftables: add two new families, and add set references Benno Schulenberg (62): binding: use plain codes instead of function calls for the jumping keys binding: use the code for the Enter directly instead of a function call bump version numbers and add a news item for the 2.7.3 release chars: optimize for the most common case chars: use memory on the stack instead of calling malloc() and free() docs: clarify the difference between "Esc Esc ddd" and "M-V xxxxxx" files: don't change embedded newlines into nulls in filenames files: show newlines in filenames as ^J also in error messages general: simplify the detection of a SIGWINCH history: avoid crashing when the positionlog file is malformed history: don't bother encoding search items -- they cannot contain newlines history: encode newlines in filenames as nulls history: search for the two position numbers from EOL instead of BOL history: search items *can* contain newlines -- encoded NUL bytes input: detect again when both Shift and Ctrl are being held on a VT input: discard a verbatim 0x0A or 0x00 byte, depending on the mode input: don't crash when receiving a KEY_CANCEL locking: disable an annoying warning memory: don't bother making a snug fit for things that will be freed soon oops: forgot to add and amend this to the previous commit po: update translations and regenerate POT file and PO files prompt: do not treat a leading newline in a filename specially prompt: represent newlines as ^J instead of breaking the bar screen: display byte value 0x0A in the right places as ^@ or as ^J screen: draw new content immediately, to prevent color flashes screen: show an embedded newline in filenames as ^J instead of ^@ text: avoid a crash when a spell-checked line has gotten shorter text: discard the undo stack after formatting and after spell checking titlebar: always pass a pathname through display_string() tweaks: adjust some comments and indentation and ordering tweaks: chuck a special case, and reduce the scope of two variables tweaks: condense the setting of three flags tweaks: conditionalize a function that is not used in the tiny version tweaks: delete a bunch of unneeded asserts tweaks: don't bother making the next line of an end point NULL tweaks: don't bother reallocating a string of which there is only one tweaks: don't bother trimming the final newline from a position item tweaks: drive closer to the edge tweaks: elide a counter and a comparison tweaks: elide a function that is called just once tweaks: move a setting to a better place -- it needs setting just once tweaks: put some prototypes in the proper order, and move a bit of code tweaks: remove pointless or obscuring asserts tweaks: rename a function to describe what it does tweaks: rename a function to something less abbrevy tweaks: rename a variable and rewrap two lines tweaks: rename a variable to be shorter and clearer tweaks: rename five variables, for uniformity with a few others tweaks: rename four variables, for density and aptness tweaks: rename three variables, for visibility tweaks: rename three variables, to be more fitting tweaks: rename two variables, for self-documentation tweaks: retype, rename, and reshuffle a function tweaks: start searching at a better place tweaks: use a faster comparison tweaks: use a slightly faster comparison tweaks: use memory on the stack instead of calling malloc() and free() tweaks: write two pieces of conditionalized code like all others undo: there are just two forms of deletion: backspacing and deleting utils: go on to parse the line number even if the column number is bad utils: slightly speed up the calculation of the size of a buffer version: properly mention --disable-wordcomp if it was used David Lawrence Ramsey (2): tweaks: adjust the type of two arguments tweaks: elide two unneeded variables from line numbering mode Changes between v2.7.1 and v2.7.2: ---------------------------------- Benno Schulenberg (53): binding: allow to rebind the word-completion function, and document it binding: always initialize some keycode variables to a standard value build: add configure option --disable-wordcomp to disable word completion build: clean out the revision.h file, to make 'make distcheck' pass bump version numbers and add a news item for 2.7.2 docs: correct and improve the description of --disable-wrapping docs: harmonize the indentation of the README, and tweak some wordings docs: mention that a foreground color can be bright docs: mention that libncursesw5-dev is needed for building from git docs: note Sumedh as the author of the word-completion feature docs: tweak some lines in the NEWS file files: trying to open a non-existent file will never succeed input: add the shifted PageUp and PageDown keycodes produced by VTE input: distinguish <Alt+Left> from <Alt+Right> on an rxvt terminal input: distinguish <Shift+Home> from <Home> on an rxvt terminal mouse: use the correct screen width for calculating the cursor position oops: the yesno prompt for replacing does not want a visible cursor po: update translations and regenerate POT file and PO files prompt: remove two fragments of dead code rcfile: actually avoid opening directories and devices rcfile: actually don't try to open things that cannot be syntax files rcfile: check the vital shortcuts just once, not for every included file rcfile: let a 'set fill' reenable hardwrapping screen: do a refresh before changing the value of 'focusing' screen: don't hide the cursor when --constantshow is used screen: don't request an update of the edit window for every yesno prompt screen: don't restore the previous menu after a yesno prompt screen: remove an unneeded blanking of the statusbar screen: switch the cursor back on only in the main loop screen: use the correct width to determine whether a softwrap occurred spelling: correctly restore the selected region startup: activate restricted mode earlier, so --help will reflect it syntax: don't leave the number after 'fill' and 'tabsize' in red syntax: give the statistics part of a git patch a different color tweaks: add a few translator hints tweaks: correct the wording of a string tweaks: delete some obscuring debugging stuff tweaks: factor out a small function tweaks: fix compilation when configured with --enable-tiny tweaks: get rid of some spurious textual references to edit_refresh() tweaks: miscellaneous frobbings and rewrappings tweaks: move a cursor-on switch to a more logical place (again) tweaks: move a switching on of the cursor to a more logical place tweaks: remove a bit of obscuring conditional compilation tweaks: remove an annoying conditional compilation of an argument tweaks: remove a superfluous cleanup call tweaks: remove some cluttering conditional compilation tweaks: remove some more annoying conditional compilation tweaks: rename two variables to make more sense tweaks: replace some unneeded direct calls of edit_refresh() tweaks: reshuffle some things in a more linear manner tweaks: reshuffle three initializations and trim some comments tweaks: use a while loop when the end point is not known in advance David Lawrence Ramsey (8): docs: add info about Slang to README.GIT, and improve info about glib2 files: give feedback when restricted mode prevents overwriting a file general: gettextize three overlooked statusbar messages input: make Shift+Alt+Arrow work properly on rxvt and Eterm terminals input: properly check the full escape sequences for all keys moving: always account for the margin when in line numbering mode tweaks: adjust the type of four lockfile variables tweaks: conditionalize a bit of softwrap code Mike Frysinger (3): configure: fix ncurses lib symbol checking syntax: avoid using black colors syntax: gentoo: various updates Sumedh Pendurkar (1): new feature: complete a fragment to a longer word found in the buffer Changes between v2.7.0 and v2.7.1: ---------------------------------- Benno Schulenberg (71): binding: fix some duplicated carets and too restrictive menus binding: properly conditionalize the UTF-8 parts binding: supply the keycode for most special keys directly binding: use arrows instead of words to designate the cursor keys browser: add the option showcursor, to place the cursor on the highlight build: avoid an annoying warning at configure time build: avoid updated PO files being remerged upon every make bump version numbers and add a news item for 2.7.1 docs: add 'linenumbers' and 'numbercolor' to the sample nanorc docs: add 'set linenumbers' and '--linenumbers' to the texinfo document docs: brush up the TODO list docs: mark some rebindable function names as deprecated docs: mention the existence of the toggles in the man page docs: refresh some info in the FAQ docs: remove a reference that was only valid on Debian systems files: alert about an unwritable file also in the tiny version files: mark a new buffer as modified after inserting command output general: add the option -g/--showcursor, to match Pico general: include word-jumping and block-jumping into the tiny version history: slate the search-history migration for removal input: don't return zero when some function is completely unbound input: handle the "resize key" in a better way input: keep the Ctrl+Arrow keys working when their synonyms are unbound moving: adjust the Y position to correspond with the changed X position po: update translations and regenerate POT file and PO files rcfile: add an option to customize the color of line numbers screen: defeat a VTE bug by doing an extra cursor move and update screen: keep the help items aligned in more configurations screen: keep the help items nicely lined up also in the tiny version screen: move the margin determination to the main loop screen: refresh when a new magicline is added in line-numbering mode screen: repaint the edit window in a single place -- the main loop screen: suppress line numbers when the terminal is very narrow scrolling: don't put the last line at the bottom when softwrap in on scrolling: use a comparison that will work also in softwrap mode softwrap: ensure the current line is fully visible when moving in it softwrap: initialize 'editwincols' early, for computing the number of wraps softwrap: scroll 'enough' whenever it surpasses 'amount' softwrap: scroll the current line fully into view when jumping words softwrap: scroll when searching lands on an overlong bottom line startup: allow to rebind the RegExp toggle also in the tiny version startup: always initialize 'margin' and 'editwincols' syntax: make the contents of the X-Bugs field in a PO file stand out syntax: show another deprecated keyword (replace2) in red syntax: show deprecated keywords in red, and 'wordchars' in green tweaks: adjust some comments and reduce the scope of some variables tweaks: adjust some indentation tweaks: adjust some whitespace and a comment tweaks: compile two parameters unconditionally tweaks: don't bother redrawing some lines when whole screen will be redrawn tweaks: don't spread a statement over multiple lines unnecessarily tweaks: elide an unneeded variable tweaks: elide a parameter that is always FALSE tweaks: fix compilation when configured with --enable-tiny tweaks: frob a few comments tweaks: make several small adjustments to the documentation tweaks: make tiny nano a teeny bit smaller tweaks: move a variable that doesn't need to be global tweaks: preen some comments, and reshuffle a few ifdefs tweaks: remove a band-aid condition that is no longer needed tweaks: remove a bit of duplication tweaks: remove a superfluous blanking of the statusbar tweaks: remove a superfluous setting, and add a comment tweaks: remove a useless cursor movement tweaks: rename a function to better describe what it does tweaks: rename a variable, for consistency tweaks: reshuffle a couple of items tweaks: reshuffle an if statement tweaks: reshuffle some ifdefs, for less fragmentation tweaks: stop compiling the whole_word_only parameter conditionally tweaks: use hard-baked keycodes where possible Faissal Bensefia (1): new feature: the ability to show line numbers before the text Rishabh Dave (2): rcfile: reject key names that are wrong or too long rcfile: reject rebindings that have no effect or have side effects Changes between v2.6.3 and v2.7.0: ---------------------------------- Benno Schulenberg (47): AUTHORS: add Mahyar Abbaspour and Mike Scalora for their contributions bottombar: only count help items that have a shortcut bound to them bump version numbers and add a news item for 2.7.0 docs: explain how to contribute code files: close a lockfile after reading it input: ignore the resize "key", to prevent reporting an unbound key input: look at the modifier keys only when compiled on Linux input: unset a softmark whenever a character is typed moving: make PgUp and PgDown functional also in very flat terminals new feature: allow text selection by holding Shift with the cursor keys po: update translations and regenerate POT file and PO files prompt: don't crash when the terminal is less than four columns wide prompt: leave always at least the last character of the answer visible prompt: mouse clicks that moved the cursor need no further processing prompt: recompose the statusbar text whenever the window size changes prompt: set up the prepared answer before allowing to change it prompt: show a trailing $ when the tail of the answer is offscreen prompt: use angular brackets as continuation mark, as Pico does prompt: work around a VTE bug by outdancing an ncurses optimization restore the GNU marker in nano's name screen: continue to function also in a terminal with very few lines screen: don't die when the window is narrower than four columns screen: retain the placewewant also when using an alternate speller startup: don't crash when dying early statusbar: leave out the brackets when the message is very long tweaks: adjust indentation after previous change tweaks: adjust indentation after previous change tweaks: adjust some braces and indentations tweaks: adjust some comments and remove needless asserts tweaks: don't bother avoiding unneeded rewrites of the promptbar tweaks: don't bother trimming the prompt again tweaks: elide a variable and rename some others tweaks: fix compilation when configured with --with-slang tweaks: fix compilation with --disable-histories tweaks: fix compilation with --enable-tiny again tweaks: improve some indentation and reshuffle a few lines tweaks: make a call in one place instead of in four different ones tweaks: remove an unneeded check, reshuffle some things, add a comment tweaks: rename a function and adjust indentation tweaks: rename three variables tweaks: rename two variables, to make some sense tweaks: reshuffle some stuff in a more logical order tweaks: reshuffle some things, and remove a misplaced comment tweaks: simplify the determination of the number of shown help items tweaks: use a separate function to ask ncurses for keycodes update the copyright notices update the license text to the preferred version Changes between v2.6.2 and v2.6.3: ---------------------------------- Benno Schulenberg (53): bump version numbers and add a news item for 2.6.3 chars: don't persist when only one of the compared sequences is invalid chars: make searching case-insensitively some ten percent faster chars: properly compare strings of different lengths chars: remove a special case that never occurs chars: remove superfluous afterchecks chars: straighten out the flow of a loop, so it is easier to follow debug: add a timing instrument to the main search routine docs: tweak some spacing and spelling files: avoid a warning about not being able to write a lockfile files: make allowances for 32-bit PIDs input: after an Esc, don't discard starter byte of a multibyte sequence input: be more strict in recognizing certain escape sequences input: don't bother putting a keycode into byte range input: don't use a function call when a literal value will do input: fix a pasto from eight years ago, from commit e347efb input: ingest as verbatim just one control code or one or two escapes input: make the Ctrl+Arrow keys work on a Linux console locking: remove any lock files when dying po: update translations and regenerate POT file and PO files screen: don't look at placewewant but at where we actually were and are screen: remove redundant redrawings of the entire edit window shortcuts: group the setting of key string and keycode into one function shortcuts: remove any unnecessary classifying of keys spelling: don't abort when a misspelled word isn't found, just note it spelling: don't consider digits as word parts, because GNU spell doesn't tweaks: add a variable, in preparation for making returning easier tweaks: adjust indentation after previous changes tweaks: adjust indentation after the previous changes tweaks: check earlier on for sufficient length of the sequence tweaks: compile a parameter unconditionally tweaks: condense three asserts into a single one tweaks: consistently use a parameter instead of a struct element tweaks: correct one comment, and adjust another tweaks: don't bother setting meta_key to false when a key is invalid tweaks: don't optimize for a special case -- it is far too seldom tweaks: don't use a function call when reference to the variable will do tweaks: elide the global variable 'func_key' tweaks: move some debugging stuff, and move modified editing keys too tweaks: move the modified editing keys again tweaks: normalize some indentation tweaks: normalize some whitespace and adjust several comments tweaks: reduce two comparisons to a single one tweaks: remove some unnecessary keycodes from a switch statement tweaks: rename a function, and adjust some comments tweaks: rename a struct element, to be more fitting tweaks: rename three constants, for clarity, and hardcode two others tweaks: replace a three-case switch with an if and an else tweaks: reshuffle two ifs for a little more speed tweaks: restore earlier conditions to prevent superfluous redrawings tweaks: return quicker from the key parsing routine tweaks: unconditionally compile a couple of parameters usage: show that the option --wordchars needs an argument Rishabh Dave (1): shortcuts: zero the value of 'toggle' for keys that are not toggles Changes between v2.6.1 and v2.6.2: ---------------------------------- Benno Schulenberg (81): browser: elide another call of opendir() browser: trim all trailing slashes (just in case there are more) build: refresh the git description whenever something is recompiled build-sys: ignore the revision header file bump version numbers and add a news item for 2.6.2 chars: delete a now-unused function chars: don't try to see a character in an empty line chars: invalid sequences are not blank, nor text, nor punctuation chars: look at bytes in their context, so only valid sequences are accepted chars: measure invalid sequences and unassigned codepoints more quickly chars: plug a gushing memory leak chars: represent the high-bit controls more intelligibly chars: speed up the determination whether something is a control character chars: speed up two reverse-searching routines a bit chars: the representation of a control character is always two bytes color: forget about aborting the precalculation for multiline regexes color: integrate the hilite attribute into the pair number color: push the resets further when start and end match are equal color: refresh the screen whenever the active syntax changes credits: don't bother blanking the second line nor the help lines debug: remove duplicate information files: beep whenever writing out a file fails input: accept only the four iTerm sequences that actually get handled input: add some missing keycodes to the parsing routine input: consider only O, o and [ as starters of multi-character sequences input: don't crash when the window is resized during verbatim input input: don't drop a keystroke on the floor when the terminal resizes input: don't drop the first byte when user starts typing during loading input: elide an extra buffer for inserting stuff into the text input: plug a memory leak input: report keystroke M-[ as being unbindable instead of just unbound input: treat Ctrl+Alt+key different from Esc followed by Ctrl+key moving: don't do an automatic smart home with Ctrl+Up and Ctrl+Down new feature: add the option --wordchars, to set extra word characters new feature: functions to jump to previous or following block of text po: update translations and regenerate POT file and PO files screen: again, look at the bytes in their context screen: avoid converting each character twice from multibyte to wide screen: avoid looking up the width of whitespace and control codes screen: don't check for every character whether there is still enough space screen: don't simulate a sigwinch but directly reinitialize the screen screen: elide another intermediate buffer for every visible character screen: elide the intermediate buffer for every single character screen: include a workaround only when compiling against older ncurses search: match a beginning-of-line anchor just once per line tweaks: adjust a comment for removed definitions tweaks: adjust a couple of comments tweaks: adjust indentation after the previous change, and edit comments tweaks: avoid a runtime error when compiled with -fsanitize=undefined tweaks: avoid two compiler warnings tweaks: compute the sizes of the subwindows in a more direct manner tweaks: correct a comment tweaks: delete an element that is always FALSE and never used tweaks: don't bother resetting the Unicode code holder tweaks: don't call a thing malloc... when it doesn't call malloc() tweaks: elide a bit of code duplication tweaks: elide a typedef, as it now has just one element tweaks: elide two unneeded variables tweaks: factor out a common condition tweaks: fix compilation with --enable-tiny tweaks: fuse two handlings of a delete key, and fix a comment tweaks: improve a few comments tweaks: improve two comments tweaks: move a debug statement to its proper place, and improve aspect tweaks: put all the movement functions together tweaks: put similar things together tweaks: put some case labels closer to their statements tweaks: put the case labels (the keycodes) in a more sensible order tweaks: rearrange a function in my style, and rename a variable tweaks: reduce the scope of two variables tweaks: rename another variable, for aptness tweaks: rename a variable and a type, to be less confusing tweaks: rename a variable to be more accurate tweaks: rename a variable, to clarify it refers to columns, not to bytes tweaks: rename a variable -- to match others and to be more concise tweaks: rename two variables, to match others tweaks: shuffle the resetting of a counter to the tail of the routine tweaks: straighten out the flow of a loop tweaks: trim some comments, and simplify a condition tweaks: use mallocstrcpy() instead of strdup(), for a graceful death utils: don't bother to check line and column for NULL David Lawrence Ramsey (1): input: provide feedback on the Unicode digits typed so far Dirkjan Ochtman (1): syntax: allow capital letters in Rust struct/trait names Rishabh Dave (4): browser: elide a variable by fusing the uses of 'newpath' and 'path' browser: select an inaccessible directory also when tabbed tweaks: reduce the number of wattron/wattrof calls utils: accept mistypings and common separators between line and column Changes between v2.6.0 and v2.6.1: ---------------------------------- Benno Schulenberg (20): browser: don't use a term that is not explained in the documentation bump version numbers and add a news item for 2.6.1 docs: adjust the description of the verbatim function linter: refresh the edit window in order to actually place the cursor main: let the main loop restore the main menu, if needed moving: allow specifying negative numbers in "Go To Line" moving: ignore any number when ^Y or ^V is given po: make the linguas script regenerate the POT file po: update translations and regenerate POT file and PO files tabs: compute the number of required spaces without iterating tweaks: add a reporter's name tweaks: add a translator hint tweaks: elide an impossible case tweaks: elide an intermediate copy of some line data tweaks: elide an unneeded variable tweaks: fix a date and an email address tweaks: normalize a type, and rewrap a line tweaks: reshuffle two lines and improve two comments tweaks: rewrap a bunch of lines and some comments tweaks: try to distinguish between keystrokes and characters Jordi Mallach (2): docs: bump pointers to the newest version available docs: use https for nano-editor.org, and drop the www Luke Francl (1): syntaxes: add highlighting rules for Rust Rishabh Dave (1): browser: don't seem to enter a directory when it is inaccessible Changes between v2.5.3 and v2.6.0 since 2016 April 1: ----------------------------------------------------- Benno Schulenberg (192): all: eradicate SVN's $Id$ tags backups: take an unlikely condition into account browser: add a binding for the refresh function browser: after getting a mouse click, don't try any further interpretation browser, files: use full path in error message when in confined mode browser: fix a memory leak browser: keep the highlight in the same spot or column, when possible browser: make Ctrl+Left and Ctrl+Right jump to left and right column browser: make the calculation of files-per-line a straightforward one browser: provide tab completion also outside of the working directory browser: rearrange the search loop to elide two unneeded variables browser: show a message when getcwd() fails, instead of just beeping browser: show an error message when selecting an inaccessible directory browser: use the reselection mechanism also after resizing and after help browser: when nothing was found, restore the global search flags build-sys: detect a build from git and show its short commit hash build-sys: identify a build from git not as one from svn build-sys: ignore .patch, .orig and .swp files chars: a control character can never be an invalid multibyte sequence chars: ensure that files are sorted also when strncasecmp() is strange chars: make comparing multibyte strings twice as fast chars: the representation of control characters is always two columns wide docs: add a list of the important changes since version 2.2.6 docs: mention that pkg-config is needed when building from git docs: rename a file, to be less confusing docs: update the version number for the upcoming release files: allocate enough space for the prompt when finding a lock file files: do not call free on the result of dirname files: do not use two variables for two different purposes each files: don't reuse a variable that may have been modified by dirname() files: fix a memory leak files: free all the multidata when a file is saved, then recompute it files: handle systems that disallow NULL as first parameter of getcwd files: it is fine to "change" the name of a nameless buffer files: limit the number of attempts at climbing up the directory tree files: make an 'if' more transparent and snip an unneeded condition files: miscellaneous tweaks of braces, comments, and variable names files: prevent dereferencing a possible (although very unlikely) NULL files: prune a message to be less than 76 characters files: recompute the multidata only when the applicable syntax changed files: remove a redundant condition files: remove a superfluous condition, and do not ignore a "No" files: remove the special 'quiet' mechanism for not overwriting messages files: report an unwritable file in a separate message files: rewrap en reindent some lines files: tweak the function tail() and rename two variables files: upgrade the locking errors, so they will not be overwritten files: when opening a buffer, make sure to expand a tilde in its name files: when the requested operating directory cannot be set, fail files: when writing a lockfile fails, continue loading the file help: add an extra blank line to the lists of searching shortcuts help: bring some air into the lists of shortcuts, giving the eye a hold help: only speak of Control and Meta sequences i18n: advise the translators about the maximum length of some strings i18n: gather three more translatable strings into the POT file input: after an unknown sequence, reenable cursor only when in main menu input: distinguish an unknown escape sequence from an unbound key input: don't allocate too much, and don't move too many input: don't take multiple keystrokes to be a single sequence input: give more detailed feedback when an unbound key is struck input: properly restore waiting mode, or retain non-waiting mode input: simplify a bit of code, reducing a four-case switch to a single if input: trim some oververbose comments input: write a few ifs more compactly inserting: differentiate not finding a file from not finding a string inserting: don't bother zero-terminating every single character inserting: prune a duplicate variable inserting: prune some superfluous settings, and do one differently inserting: reshuffle some conditions for a teeny bit more speed inserting: strip a carriage return before copying the line inserting: treat also the final \r of a Mac file as a newline justify: enable cursor display also for the first keystroke afterward keyboard: reshuffle some lines to avoid an empty while locking: don't try to read more bytes than the buffer can hold po: correctly advertise whether new PO files have arrived po: delete an obsolete script po: regenerated POT file, and updated PO files from TP prompt: properly save and restore the x position in the statusbar rcfile: disallow 'bind' and 'unbind' in an included file rcfile: make an error message equal to another, and more informative README.GIT: reformat the text a bit remove the GNU marker from nano's name replacing: properly detect when we've rereached the starting position screen: a full refresh is only needed when softwrap is on screen: avoid redrawing a line twice screen: catch a window resize also when the keyboard is in nodelay mode screen: check for the most frequent character first: a space screen: concentrate the setting of placewewant screen: displaying the cursor position should not suppress it next time screen: don't always set 'edit_refresh_needed' when adjusting edittop screen: don't redraw some lines when doing a full refresh anyway screen: don't redraw the current line unnecessarily screen: elide a variable and serialize some logic for clarity screen: fix compilation when configured with --enable-tiny screen: improve the conditional placement of a help-line item screen: make better use of the available space in the titlebar screen: rename a variable, because 'disable' sounds too permanent screen: rename 'edit_refresh_needed' to 'refresh_needed' screen: when using positionlog, show as much of the file as possible scrolling: catch the special case of reading a file from standard input scrolling: center the cursor when inserted stuff does not fit on screen scrolling: don't scroll too much when having to bridge blank lines scrolling: elide a variable, to make clearer that edittop is being moved search: avoid saving and restoring placewewant when bracket matching search: don't set placewewant when we are just iterating search: elide an unneeded function search: find, and thus delete, only exact matches from history search: fix compilation when configured with --enable-tiny searching: don't keep track of current_y, but calculate it at the end search: modify a function to take a length as parameter instead of a word search: rename a variable and a function, for clarity and contrast search: terminate the loop a tiny bit earlier when spell checking search: untangle two lines and tweak two comments search: when looking for whole words, examine the entire line search: when polling the keyboard, consume all waiting keystrokes softwrap: adjust for current_x when computing the amount to scroll speller: don't proceed when the user aborts the searching speller: simplify the calculation of the width of the misspelled word spelling: don't partition the file for replacements in a marked region spelling: gettextize the next-word message spelling: if rereading the file fails, don't destroy the current buffer spelling: pass the correct position of the cursor spelling: retreat one x position, to not miss the first word spelling: separate the fixing of different words with a short pause startup: show an error message when argument of --operatingdir is invalid statusbar: add a non-beeping message type that does not get overwritten statusbar: prevent error messages from overwriting each other syntax: don't call getcwd() with a NULL pointer tabbing: avoid recalculating the length of the first match every time tabbing: don't null-terminate a directory name on the slash but after it tabbing: don't refresh the edit window when nothing was printed on it tabbing: fix erroneous use of strnlenpt() tabbing: make sure to refresh the edit window when returning to it tabbing: refresh the edit window in case a previous tab listed names tabbing: refresh the window also when Goto-Dir in browser was cancelled tabbing: rename four variables, snipping a redundant part text: add an undo item before starting to comment or uncomment lines text: after undoing or redoing something, unset the mark text: remove a pointless setting of an undo element; it is never used text: remove a redundant undo element text: store the new file size in the undo item also when joining lines titlebar: snip two superfluous tests for having enough space TODO: tidy up the punctuation tweaks: add come comments and rename a variable tweaks: adjust a couple of comments tweaks: a few last tiny adjustments before release tweaks: avoid a warning when configured with --disable-wrapping tweaks: do an assignment in a more transparent way tweaks: elide an unneeded variable tweaks: elide four #ifdefs, improve one comment and unwrap some others tweaks: elide unneeded intermediate assignments tweaks: fix compilation when configured with --enable-tiny tweaks: fix compilation when configured with --enable-tiny --enable-browser tweaks: harmonize some indentations, elide an #ifdef, and rewrap a line tweaks: harmonize the routine for tabs with the one for spaces tweaks: improve a couple of comments tweaks: improve a few comments tweaks: improve a few comments tweaks: make advancing and retreating more symmetrical tweaks: make the conditions for statusbar blanking more transparent tweaks: more consistently use * instead of [0] when checking for '\0' tweaks: normalize some whitespace tweaks: normalize some whitespace tweaks: put some conditions in a better order: the main one first tweaks: rearrange some key reading stuff in a clearer way tweaks: reindent and rewrap a few lines, and shorten a comment tweaks: remove an unnecessary intermediate assignment tweaks: remove a redundant assignment tweaks: remove a superfluous call of 'wnoutrefresh' tweaks: remove a superfluous condition tweaks: remove a superfluous setting of 'refresh_needed' tweaks: remove the fiddling with an unrelated setting tweaks: remove two redundant assignments tweaks: rename a function, and move the sorting there too tweaks: rename a variable, because nothing is returned there tweaks: rename a variable, for aptness tweaks: rename a variable, to indicate better what it contains tweaks: rename a variable, to indicate what it contains tweaks: rename some variables for contrast tweaks: rename some variables to be more readable tweaks: rename two more variables tweaks: rename two variables, and elide a third tweaks: rename two variables, to avoid using a name for different purposes tweaks: reshuffle a few things tweaks: trim or improve some comments, and rewrap two lines tweaks: use an available macro to silence a compiler warning undo: start renumbering from the head of the paste, not from its tail utils: distinguish between width (columns) and length (bytes) utils: provide a failure message for all uses of 'fsfromline' utils: rename some variables, to match those in strnlenpt() utils: snip a superfluous check for NULL version: cover the copyrights that are not assigned to the FSF Chris Allegretta (2): add /intl to gitignore rename README.SVN -> README.GIT and take out the branch details Mike Frysinger (3): more svn->git updates README.GIT: update a few more points to match current tree syntax: changelog: support more bug/issue styles Mike Scalora (3): keyboard: recognize four escape sequences produced by iTerm2 new feature: comment/uncomment current line or selected lines text: keep the file size correct when undoing/redoing a comment/uncomment Rishabh Dave (2): browser: keep the same file selected when the directory contents change browser: move all openings and closings of a directory to the same function INSTALL000064400000036614151702644640005620 0ustar00Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell command './configure && make && make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the 'README' file for instructions specific to this package. Some packages provide this 'INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The 'configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a 'Makefile' in each directory of the package. It may also create one or more '.h' files containing system-dependent definitions. Finally, it creates a shell script 'config.status' that you can run in the future to recreate the current configuration, and a file 'config.log' containing compiler output (useful mainly for debugging 'configure'). It can also use an optional file (typically called 'config.cache' and enabled with '--cache-file=config.cache' or simply '-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how 'configure' could check whether to do them, and mail diffs or instructions to the address given in the 'README' so they can be considered for the next release. If you are using the cache, and at some point 'config.cache' contains results you don't want to keep, you may remove or edit it. The file 'configure.ac' (or 'configure.in') is used to create 'configure' by a program called 'autoconf'. You need 'configure.ac' if you want to change it or regenerate 'configure' using a newer version of 'autoconf'. The simplest way to compile this package is: 1. 'cd' to the directory containing the package's source code and type './configure' to configure the package for your system. Running 'configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type 'make' to compile the package. 3. Optionally, type 'make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type 'make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the 'make install' phase executed with root privileges. 5. Optionally, type 'make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior 'make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing 'make clean'. To also remove the files that 'configure' created (so you can compile the package for a different kind of computer), type 'make distclean'. There is also a 'make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type 'make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide 'make distcheck', which can by used by developers to test that all other targets like 'make install' and 'make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the 'configure' script does not know about. Run './configure --help' for details on some of the pertinent environment variables. You can give 'configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU 'make'. 'cd' to the directory where you want the object files and executables to go and run the 'configure' script. 'configure' automatically checks for the source code in the directory that 'configure' is in and in '..'. This is known as a "VPATH" build. With a non-GNU 'make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use 'make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple '-arch' options to the compiler but only a single '-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the 'lipo' tool if you have problems. Installation Names ================== By default, 'make install' installs the package's commands under '/usr/local/bin', include files under '/usr/local/include', etc. You can specify an installation prefix other than '/usr/local' by giving 'configure' the option '--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option '--exec-prefix=PREFIX' to 'configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like '--bindir=DIR' to specify different values for particular kinds of files. Run 'configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of '${prefix}', so that specifying just '--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to 'configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the 'make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, 'make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of '${prefix}'. Any directories that were specified during 'configure', but not in terms of '${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the 'DESTDIR' variable. For example, 'make install DESTDIR=/alternate/directory' will prepend '/alternate/directory' before all installation names. The approach of 'DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of '${prefix}' at 'configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving 'configure' the option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. Some packages pay attention to '--enable-FEATURE' options to 'configure', where FEATURE indicates an optional part of the package. They may also pay attention to '--with-PACKAGE' options, where PACKAGE is something like 'gnu-as' or 'x' (for the X Window System). The 'README' should mention any '--enable-' and '--with-' options that the package recognizes. For packages that use the X Window System, 'configure' can usually find the X include and library files automatically, but if it doesn't, you can use the 'configure' options '--x-includes=DIR' and '--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of 'make' will be. For these packages, running './configure --enable-silent-rules' sets the default to minimal output, which can be overridden with 'make V=1'; while running './configure --disable-silent-rules' sets the default to verbose, which can be overridden with 'make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX 'make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as 'configure' are involved. Use GNU 'make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its '<wchar.h>' header file. The option '-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put '/usr/ucb' early in your 'PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in '/usr/bin'. So, if you need '/usr/ucb' in your 'PATH', put it _after_ '/usr/bin'. On Haiku, software installed for all users goes in '/boot/common', not '/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features 'configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, 'configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the '--build=TYPE' option. TYPE can either be a short name for the system type, such as 'sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file 'config.sub' for the possible values of each field. If 'config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option '--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with '--host=TYPE'. Sharing Defaults ================ If you want to set default values for 'configure' scripts to share, you can create a site shell script called 'config.site' that gives default values for variables like 'CC', 'cache_file', and 'prefix'. 'configure' looks for 'PREFIX/share/config.site' if it exists, then 'PREFIX/etc/config.site' if it exists. Or, you can set the 'CONFIG_SITE' environment variable to the location of the site script. A warning: not all 'configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to 'configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the 'configure' command line, using 'VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified 'gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash 'configure' Invocation ====================== 'configure' recognizes the following options to control how it operates. '--help' '-h' Print a summary of all of the options to 'configure', and exit. '--help=short' '--help=recursive' Print a summary of the options unique to this package's 'configure', and exit. The 'short' variant lists options used only in the top level, while the 'recursive' variant lists options also present in any nested packages. '--version' '-V' Print the version of Autoconf used to generate the 'configure' script, and exit. '--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally 'config.cache'. FILE defaults to '/dev/null' to disable caching. '--config-cache' '-C' Alias for '--cache-file=config.cache'. '--quiet' '--silent' '-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to '/dev/null' (any error messages will still be shown). '--srcdir=DIR' Look for the package's source code in directory DIR. Usually 'configure' can determine that directory automatically. '--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. '--no-create' '-n' Run the configure checks, but stop before creating any output files. 'configure' also accepts some other, not widely useful, options. Run 'configure --help' for more details. NEWS000064400000316012151702644640005257 0ustar002018.06.02 - GNU nano 2.9.8 "Espresso" brings the ability to filter the buffer (or the marked region) through an external command (^R^X and prefix the command with the pipe symbol, "|"), is better at detecting and maintaining paragraphs, is able to justify //-style comments, fixes a crash when the binding of a key to a string lacks a closing quote, gives feedback about the number of lines written also when prepending or appending, and fixes a couple of bugs with the linter. 2018.05.15 - GNU nano 2.9.7 "Hvide Sande" adds the option '--afterends' for making Ctrl+Right (the nextword function) stop at word ends instead of beginnings, accepts multibyte letters for the Yes/No/All answers, does emergency saves of changed buffers in the unlikely event that nano crashes, adds the until-now missing bindable function 'linenumbers', and renames the toggles 'constupdate' to 'constantshow' and 'cuttoend' to 'cutfromcursor', for consistency with the corresponding options -- adjust your nanorc files soon. 2018.04.27 - GNU nano 2.9.6 "Gomance" fixes a crash in word completion, makes --enable-altrcname work again, improves the fluidity of scrolling when using the touchpad, tweaks the syntaxes for shell scripts and PO files, makes a replacing session go always forward by default, no longer inserts a newline after an external spell check of a selected region, always accepts the English Y and N (and A) at a yes-no prompt in any locale, and solves a few hypothetical bugs. 2018.03.29 - GNU nano 2.9.5 "Kiša pada" changes the way the Scroll-Up and Scroll-Down commands work (M-- and M-+): instead of keeping the cursor in the same screen position they now keep the cursor in the same text position (if possible). This version further adds a new color name, "normal", which gives the default foreground or background color, which is useful when you want to undo some overzealous painting by earlier syntax regexes. Bug fixes include: a segfault when trying to insert a file in restricted mode, the reading in of a new file being "undoable", a slight miswrapping of help texts when --linenumbers was used, and the shell syntax coloring the word "tar" in file names. 2018.03.08 - GNU nano 2.9.4 "Isabel" allows binding a key to a string (any piece of text and/or commands), permits customizing the color of error messages with 'set errorcolor', colors those error messages by default in bright white on red, makes <Enter> at the bottom of the screen scroll just one row when --smooth is used, does not fail when redoing a file insertion, and cancels a Shift-selection when any cursor key is pressed without Shift even when the cursor cannot move. Further, it treats tabs fully the same as spaces when doing automatic hard-wrapping, allows syntax names to be unquoted, and removes two deprecated options and six deprecated bindable function names. 2018.01.29 - GNU nano 2.9.3 "Córdoba" fixes a segfault with trimblanks that could occur when a typed space caused the word after it to be pushed to the next line. It further makes macros work also when your keyboard still emits escape sequences, adds the options -M and --trimblanks for the command line, recognizes key combos with Shift on a few more terminals, no longer shows dots in certain prompt texts when visible whitespace is turned on, fixes two corner cases when doing replacements in a marked region, allows to open a named pipe again when using --noread, and accurately detects a needed color change when a line contains a start match but not a corresponding end match any more. Plus some other small fry. 2018.01.02 - GNU nano 2.9.2 "Pussy Riot" correctly displays the Modified state when undoing/redoing (also when the file was saved somewhere midway), improves the undoing of an automatic linefeed at EOF, fixes a build issue on the BSDs, shows the cursor again when compiled with --withslang, renames the option 'justifytrim' to 'trimblanks' because it will now snip trailing whitespace also while you are typing (and hard-wrapping is enabled), continues pushing words to the next line much longer (when hard-wrapping), makes <Tab> and <Shift+Tab> indent and unindent a marked region, allows unindenting when not all lines are indented, lets a region marked with Shift persist when indenting/unindenting or commenting/uncommenting it, and in those cases excludes the last line of the region when it is not visibly marked (which makes for a more intuitive behavior). 2017.11.27 - GNU nano 2.9.1 "Damyatta" fixes a bug where, when the mark is on, ^S would overwrite the file with just the marked region. This release further clears the "Modified" flag when all edits are undone, adds or updates some magic strings, and does not forget when the cursor was last at line 1, column 1. 2017.11.18 - GNU nano 2.9.0 "Eta" introduces the ability to record and replay keystrokes (M-: to start and stop recording, M-; to play the macro back), makes ^Q and ^S do something useful by default (^Q starts a backward search, and ^S saves the current file), changes ^W to start always a forward search, shows the number of open buffers (when more than one) in the title bar, no longer asks to press Enter when there are errors in an rc file, retires the options '--quiet' and 'set quiet' and 'set backwards', makes indenting and unindenting undoable, will look in $XDG_CONFIG_HOME for a nanorc file and in $XDG_DATA_HOME for the history files, adds a history stack for executed commands (^R^X), does not overwrite the position-history file of another nano, and fixes a score of tiny bugs. 2017.08.27 - GNU nano 2.8.7 "Fragrance" fixes a lockup when tabs are wider than the screen, makes indenting + unindenting more predictable by retaining relative indentations, allows pasting (^U) at a prompt, allows triple quotes in Python to not be followed by a character, does not scroll three pages on a roll of the mouse wheel, binds Alt+Up and Alt+Down to findprevious and findnext, and fixes some hard-to-describe issues with softwrapping and boundary-crossing tabs. Enjoy. 2017.07.21 - GNU nano 2.8.6 "Kekulé" offers a new feature: the ability to do softwrapping between words -- at whitespace -- instead of always at the edge of the screen. This can be activated with -a or --atblanks or 'set atblanks' together with the softwrap option. This release further fixes a handful of rare display glitches, fixes a build failure on AIX, harmonizes the quoting rules in the rc files, and renames the option 'cut' to 'cutfromcursor' (please update your nanorc files before 2020). 2017.06.25 - GNU nano 2.8.5 "Farouche" avoids a crash when waking from a suspension that was induced from the outside, allows negative line and column numbers on the command line, avoids some flickering when resizing the screen while in the file browser, opens files in the order they were mentioned on the command line, and does not pretend to have woken from suspension when receiving a SIGCONT. 2017.05.21 - GNU nano 2.8.4 "Our Version of Events" includes the nanorc man page again. 2017.05.18 - GNU nano 2.8.3 "Hirsch" fixes a misplacement of the spotlight during interactive replacing, avoids build failures on AIX and Solaris, fixes a crash on Solaris, speeds up backwards searching, improves PHP syntax highlighting, and no longer asks “save anyway?” when the user ^Q discards the buffer. 2017.05.04 - GNU nano 2.8.2 "Krats" adds another new feature: it makes the ^G help texts searchable with ^W. Apart from that, it fixes a crash when resizing the window in the middle of verbatim input, avoids an unlikely crash when used without UTF-8 support in some locales, avoids redrawing the screen twice when switching between buffers while line numbers are active, and works around a coloring bug on musl. Plus tweaks to the documentation; plus translation updates for fifteen languages. 2017.04.12 - GNU nano 2.8.1 "Ellert" fixes build failures on MacOS and on musl, fixes scrolling problems in softwrap mode when double-width characters on row boundaries are involved, shows double-width characters as ">" and "<" when split across two rows, moves the cursor more predictably (at the cost of sometimes putting it on the second "half" of a character), avoids creating lines that consist of only blanks when using autoindent, makes ^Home and ^End go to the start and end of the file (on terminals that support those keystrokes), places the cursor better when linting, lets the linter ask only once whether to open an included file, and adds bindings for ^Up and ^Down in the file browser. Don't sit on your hands. 2017.03.31 - GNU nano 2.8.0 "Axat" makes it easier to move around in softwrapped lines: the Up and Down keys now step from visual row to visual row instead of jumping between logical lines, and the Home and End keys now move to the start and end of a row, and only when already there, then to the start and end of the logical line. Furthermore, the screen can now scroll per row instead of always per logical line. On an entirely different front: nano now makes use of gnulib, to make it build on more platforms. In short: there were many internal changes, not many user-visible ones (apart from the new softwrap navigation). The conversion to gnulib was done by Mike Frysinger, the softwrap overhaul by David Ramsey. 2017.02.23 - GNU nano 2.7.5 "Nijntje" can properly search and replace the \B and \b regex anchors, correctly repaints things when multiline regexes with identical start and end are involved, fixes a crash with zero-length regex matches, does replacements at the edges of a marked region right, no longer hides double-width characters at the head of softwrapped rows, displays at most three warnings at startup, and documents the ability to read a file from standard input. Come tickle my ears. 2017.01.10 - GNU nano 2.7.4 "Red dress" undoes deletions in an orderly manner again (bug was introduced in previous version), sets the preferred x position for vertical movements more consistently, avoids some scrolling problems in softwrap mode, installs the Info manual also when your system lacks 'makeinfo', and corrects the behavior of the beginning-of-word anchor (\<) in regex searches. 2016.12.28 - GNU nano 2.7.3 "Ontbijtkoek" wipes away a handful of bugs: your editor is now able to handle filenames that contain newlines, avoids a brief flash of color when switching between buffers that are governed by different syntaxes, makes the Shift+Ctrl+Arrow keys select text again on a Linux console, is more resistant against malformations in the positionlog file, and does not crash when ^C is typed on systems where it produces the code KEY_CANCEL. Oh, and it no longer mistakenly warns about editing an unlocked file just after saving a new one. That's it. Tastes great with thick butter. 2016.12.12 - GNU nano 2.7.2 "Shemesh! Shemesh!" brings another feature: the ability to complete with one keystroke (^] by default) a fragment of a word to a full word existing elsewhere in the current buffer. Besides, this release fixes two bugs related to using line numbers in softwrap mode, allows to use the PageUp and PageDown keys together with Shift on VTE-based terminals, stops the help lines from flickering during interactive replacing, makes a 'set fill' override an earlier 'set nowrap', properly restores the selected region after an external spell check, and improves a few other tidbits. If you should find any more bugs, please run 'man nano | grep bugs' and report them there. 2016.10.29 - GNU nano 2.7.1 "Leuven" adds an often-asked-for feature: the ability to display line numbers beside the text. This can be activated with -l or --linenumbers on the command line, or with 'set linenumbers' in your nanorc, or toggled with M-#. The coloring of these numbers can be chosen via the option 'set numbercolor'. This release furthermore fixes some bugs with scrolling in softwrap mode, is more strict in the parsing of key rebindings, and marks a new buffer as modified when the output of a command (^R^X) has been read into it. Come and check it out! 2016.09.01 - GNU nano 2.7.0 "Suni" adds a new feature: allowing text to be selected by holding Shift together with the cursor keys. Besides that, nano now works also when run in very tiny terminals (down to one line, one column), and improves the handling of the prompt in cramped spaces. Not much, but it's time to get it out there. 2016.08.10 - nano 2.6.3 "Marika" makes the Ctrl+Arrow keys work also on a Linux virtual console, takes as verbatim only the very first keystroke after M-V, removes any lock files that it holds when dying, doesn't abort when a word contains digits (when using the default speller), fixes a small sorting bug in the file browser, makes searching case-insensitively in a UTF-8 locale a little faster, and doesn't enter invalid bytes when holding down both Alt keys. Santé! 2016.07.28 - nano 2.6.2 "Le vent nous portera" adds two new features: the keystrokes Ctrl+Up and Ctrl+Down for jumping between blocks of text, and the option 'wordchars' for specifying which characters (beside alphanumeric ones) should be considered word-forming. Further, it provides feedback during Unicode input (M-V followed by a six-digit hexadecimal number which must start with 0 or 10), avoids a crash when resizing the window during Verbatim input, doesn't drop a keystroke after having been suspended, and replaces the beginning-of-line anchor (^) just once per line. There are also several tiny improvements in screen rendering and key handling. Come get your hair tousled! 2016.06.27 - nano 2.6.1 "Stampede" is chiefly a translation update, but also adds one little feature (the ability to use negative numbers with Go To Line: -1 meaning the first line from the bottom), includes syntax highlighting for Rust, and fixes three tiny bugs (but in such far corners of the editor that they aren't even worth mentioning). 2016.06.17 - nano 2.6.0 "Rubicon" fixes more than fifty little bugs -- and some of them not so little. It improves moving about in the file browser, corrects failings of the internal spell checker, adds a new feature (comment/uncomment lines, with default binding M-3), makes some error messages clearer, shows more of a file when positionlog is used and the cursor is near the end, displays all error messages at startup if there are multiple ones, does not misinterpret keystrokes when typing very fast, is less eager to trim the filename on narrow terminals, speeds up case-insensitive searches, and allows to abort re-searches. Among bunches of other things. It is worth the trouble to upgrade. 2016.02.25 - GNU nano 2.5.3 "Alphys" is released. This release contains fixes for bugs like: stray cursor positioning errors, many many memory leaks including during file reading, using the file browser, searching for multibyte characters, history completion, and many other places. New features include the ability to trim whitespace from the ends of lines when justifying text, see nanorc(5) option justifytrim for deets. As always thank you for your continued support of nano, and keep sparing. 2016.02.12 - GNU nano 2.5.2 is carrying too many dogs. This release includes several fixes for various memory leaks, position- history size growth, and a long standing issue with using nano under sudo creating root-owned files. There are also the usual bevy of documentation and other miscellaneous fixes and touchups. Upgrade today while supplies last, operators are standing by! 2016.01.11 - GNU nano 2.5.1 "Salzburg" is released. It includes fixes for a syntax-highlighting bug and a positionlog bug, it disables a time-eating multiline regex in the C syntax, and it adds an escape hatch to the WriteOut menu when --tempfile is used: the discardbuffer command, ^Q. It also has translation updates for fifteen languages, and a small fix in the softwrap code. So... you are heartily invited to upgrade. Enjoy! 2015.12.05 - GNU nano 2.5.0 "Karma", the first release of the 2.5 series, is now available. Please note that as of this release, there will no longer be separate stable and unstable branches. The development team will prioritize bug fixes as needed, and make new releases in proportion to the severity of the bugs which are fixed. This release includes all of the fixes now in 2.4.3, as well as color syntax highlighting improvements, undo fixes, and many more improvements! Thank you for using nano! 2015.11.18 - GNU nano 2.4.3 "Apocalypse" is now available for your downloading pleasure. This release includes a myriad of fixes including several memory leaks, issues with color syntax highlighting, search/replace, file insertion and help menu bugs. Many thanks to Benno Schulenberg for tireless efforts on the vast majority of fixes for some time now. As always please report bugs via the Savannah page, and remember to Share and Enjoy. 2015.07.05 - GNU nano 2.4.2 "Portorož" is released. This release includes several fixes, including the ability to resize when in modes other than the main editing window, proper displaying of invalid UTF-8 bytes, new syntax definitions for Elisp, Guile, and PostgreSQL, and better display of shortcuts in the help viewer and file browser. Thanks for your patience and using nano! 2015.04.14 - GNU nano 2.4.1 "Glitch Gremlin" is released. This release includes several fixes for issues with the file browser menu, linter and formatter functions, spell checker, undo/redo with some specific marked-cutting situations, and some small improvements to the color syntax highlighting definitions. There are also various documentation and code comment updates included, and finally, fixes for compilation on non-GNU/Linux systems and certain configure combinations. Toasters! 2015.03.22 - GNU nano 2.4.0 "lizf" is released. This is the first stable release in many years, and brings together many new features from the 2.3 series, including: a fully functional undo system (now enabled by default), vim-compatible file locking, linter support, formatter support, syntax highlighting flexibility, and many fixes for issues reported since 2.2. Many sincere thanks to all of the bug reports, patches, well wishes and contributions from everyone who has continued to support us. Thank you for using nano! 2015.02.27 - GNU nano 2.3.99pre3 "Ashley" is released. This is likely to be the last release before the next major (2.4.0) release. Please test it out and send us any feedback via Savannah (https://savannah.gnu.org/bugs/?group=nano). This release includes fixes for rebinding toggles via nanorc, several memory alignment fixes, and documentation and build updates. As always thank you for using nano - Share and Enjoy! 2015.02.06 - GNU nano 2.3.99pre2 "Snowblind" is released. This release contains only fixes, including: a long-standing problem with cutting in nano-tiny, several memory alignment improvements, and issues with leftover file locks. Please keep reporting bugs so we can get a happy and healthy 2.4.0 soon. Thanks for using nano! 2015.01.06 - GNU nano 2.3.99pre1 "Junior" is released. As the first 2.4 release candidate there will be fewer new features but many bugfixes going forward. This release contains new support for language reformatters like Go's gofmt command which takes the place of the spelling checker. Fixes in this release include many syntax highlighting fixes and improvements, and documentation formatting updates. As always please report bugs via the Savannah bug page for nano (https://savannah.gnu.org/bugs/?group=nano), so we can release a super awesome and bug-free 2.4.0 soon! 2014.07.17 - GNU nano 2.3.6 "Columbo" is released. This release contains a fix for installing internationalization files. Also included are scattered documentation (in particular man page) fixes, and a few touchups to syntax highlighting definitions. Oh, just one more thing, thanks for using nano! 2014.07.11 - GNU nano 2.3.5 "lucky day" is released. This release contains many visible and under-the-hood fixes for components such as file locking, more fixes to the undo system, and you no longer have to explicitly ask nano to have undo/redo support as it now defaults to being enabled. Other notable fixes include a better handling of --tempfile mode, and better handling of command line arguments when also attempting to specify +<line number>. As always, please file any bugs you find via https://savannah.gnu.org/bugs/?group=nano and thanks for using nano. 2014.06.02 - GNU nano 2.3.4 won't leave you high, won't leave you dry. This release contains only a small number of fixes, but in particular allows nano to compile on non-UTF-8 curses implementations (i.e. libncursesw). Other small fixes to the undo implementation and the default syntax config are also included. As always, Share and Enjoy! 2014.05.28 - GNU nano 2.3.3 is in its right place. This release contains many many improvements to the core system, including substantial improvements to the undo/redo code, UTF-8 handling, the configure script, and display of shortcuts on very wide terminals. New features include the ability to write to named pipes (--noread), as well as linter support (see the nanorc man page for details). Also included are much improved syntax highlighting code, and configurations for JSON, texinfo, Go, and a default syntax for catch-all highlighting. Finally, nano now has the ability to set the color of the title bar, status bar, and shortcut keys (e.g. "^X") and their descriptions. Again see the nanorc page for details. There's much more, too much to include here, but please keep those reports and general feedback coming! Thank you for helping us help you help us all. 2013.03.22 - GNU nano 2.3.2 "Annoy your coworkers for fun and profit" is released. This release introduces vim-style file locking (though not backup/restore), useful when using nano in a multi-editor environment. Feedback is welcome if you run into any issues with this new code. Other new features include additional support for word boundary checking when cross compiling, fixes for trying to go to an invalid line number, and the usual documentation tweaks. 2011.05.10 - GNU nano 2.3.1 "I'm in space" is released. This release includes some fixes for the new libmagic code, as well as a fix for improper character counts when using auto-indent. Also included are new syntax highlighting definitions for RPM spec and Lua files. Thanks for using nano and keep circulating the tapes. 2011.02.26 - GNU nano 2.3.0 "Septic surprise" is released. This first release in the 2.3 unstable series brings several new features. First, libmagic support for syntax highlighting has been added on top of the existing file extension and header support already available. Secondly, cursor position can be saved between editing sessions with the -P or --poslog command-line flag, or via 'set poslog' in your .nanorc. Also included are some fixes for compilation with g++, and better handling of issues writing the backup file, which should reduce the need for the 'set allow_insecure_backup' nanorc option. Don't stop, get it get it, don't stop, get it get it. 2010.11.22 - GNU nano 2.2.6 "Pimp my BBS" wants you to go to www.desertbus.org and donate a few bucks for the great Child's Play Charity! This is just a small release to update a bug where restricted mode was not particularly restricted since key bindings were introduced. It also signals the return of win32 builds which now feature nanorc support; please see the FAQ for details of how to enable it, this feature is a bit of a kludge for now. Remember that when all else fails, USE SPACE JUMP. 2010.08.05 - GNU nano 2.2.5 "Inactivity timeout" is now available. This release includes slightly less restrictive checking when writing files in strange environments (e.g. when being used out of crontab). For very strange situations (such as where you cannot change the permissions on the file you're writing), there is a new rc file option 'allow_insecure_backup' to be even more permissive and allow the write to proceed. Also included are some syntax highlighting updates, and that is about it. Keep fighting the good fight children. 2010.04.15 - GNU nano 2.2.4 is nobody's fool. First and foremost, this release includes some security fixes due to an assessment of nano's vulnerability to symlink attacks on open files. The CVEs fixed with this release are CVE-2010-1160 and CVE-2010-1161. Also included are fixes for various crash modes when using the spell checker on new files in multibuffer mode (surely you've used that combination recently? no?) as well as a fixing the 'file was modified' message when saving to a new filename (since how would nano know?). And the list would not be complete without our third-times-the-charm fixes to page up/down due to the soft wrapping code. The lone new feature included is a new syntax highlighting definition for cmake-related files. Please do consider upgrading to this release if still using the 2.0 series since fixes for that version are still forthcoming. 2010.02.11 - GNU nano 2.2.3 "fumbling toward stability" is released. This release contains a fix for only one bug, but a rather irritating one: when paging up/down with smooth scrolling, the cursor position was not being preserved due to a bug in 2.2.2. With such a targeted fix like this what could POSSIBLY go WRONG? Hahaha. Enjoy and if you find new bugs, as always please use Savannah's bug tracker. http://savannah.gnu.org/bugs/?func=additem&group=nano 2010.01.17 - GNU nano 2.2.2 is released for you, you, you. This release includes fixes for: crashes when writing backup files in certain conditions, improper screen centering when moving up/down in various combination of smooth scrolling and soft wrapping modes, a search crash on the armel arch, and issues with lots of keybinding customizations causing crashing particularly on FreeBSD. Also included are better help menu entries for forward/back in the file browser, some man page tweaks and one assert fix. As always, share and enjoy! 2009.12.12 - GNU nano 2.2.1 "DLR strikes back" is open for business. This release fixes many bugs, including: missing keybindings for page up/down and GotoDir in the browser, ^P/^N in the help menu, and restoration of M-W as the default re-search binding. Other fixes include several issues with compiler warnings and configure options, and documentation updates, including the nano texinfo manual, nano and nanorc man pages, and UPGRADE file, and some missing syntax highlighting entries for the sample nanorc. And no release would be complete without the latest round of 'final' soft wrapping fixes! Finally, nano will no longer print a warning when attempting to insert the contents of a read-only file into an existing buffer. Enjoy and Happy Hanukkah. 2009.11.30 - GNU nano 2.2.0 "Doc Brown" is released! The culmination of almost two years of development and hot on the heels of nano's 10th birthday is available for all your editing needs! Bugs fixed since the last release include several fixes for tiny mode (involving both the help keys and replace menu text), more 'final' fixes for soft wrapping, and several typo and documentation updates including nanorc tweaks and a new syntax highlighting file for makefiles. Also included is a long standing fix for random crashing when using nanorc on FreeBSD, and nano will no longer clear the screen on suspend to maintain compatibility with other *nix editors. For those who haven't been playing along at home, please see the official web page for the summary of new features since 2.0. Special thanks to all who have submitted bug reports recently in support of our new stable release, and apologies for all those bugs we didn't yet find :-) Peace to all. 2009.11.21 - GNU nano 2.1.99pre2 is available for a special pre-Black Friday discount. Included are some (hopefully final) fixes for issues with last page display caused by the soft wrapping code, and a fix for a long standing issue with hitting the Home key when going through the search history. On the features front, nano will now attempt to retain the proper ownership and permissions when trying to create a .save file due to receiving a signal. Nano can now also unbind keys from one or more menus via the 'unbind' keyword. Finally, passing --fill or --nowrap on the command line will now override any related .nanorc entries. Speak now or forever hold your bugs! 2009.11.15 - GNU nano 2.1.99pre1 "take a bow" is out there, man, it's out there all right. This release contains mainly bugfixes, underscoring that we are preparing for the next stable series release. Included are many fixes for the new soft wrapping code, compiler warning tweaks, and the modification time warning no longer triggers when saving a file as a new name. Also include are some fixes for various nanorc options, and there are surely more bugs to find before we call the code base stable, so please keep those reports coming! 2009.09.14 - GNU nano 2.1.11 is on very thin ice, very thin ice, very thin ice. This release includes two new features: first, nano will check whether the current file is writable when it is opened, and warn if it is not on the status bar. Secondly, a new soft-wrapping (AKA full-line display) option is available, which will attempt to fully display the contents of lines longer than the width of the screen without the usual truncation and a '$' symbol at the end of the line. It can be enabled via Meta-$ inside the editor, via the -$ or --softwrap command-line flags, or "set softwrap" in your .nanorc). As always, please report any bugs to the nano Savannah project page (http://savannah.gnu.org/bugs/?func=additem&group=nano) Remember: data loss happens, back up your files. 2009.07.28 - GNU nano 2.1.10 "Ellie" is released. This version includes various fixes for portability including some older HP-UX compiler combos, various compiler warnings, and some crash fixes in the undo code. On the topic of the latter item, the undo code is now marked as experimental since it can cause severe stability and memory issues, and thus now requires a flag (-u, --undo) in order to enable it. Please feel free to continue to test the undo code and thanks again for using nano for your text editing needs. Go team Nano! 2009.02.16 - GNU nano 2.1.9 wonders what all that glass is doing on the floor! This release is primarily meant as a less buggy version of 2.1.8, particularly for issues with the new sped-up syntax highlighting code. Other fixes include configure-time detection of groff HTML support before attempting to generate the HTML version of man pages, and using ~ or ~username syntax in .nanorc should now work again. Also, nano will now only ask for one acknowledgement of errors it encounters when parsing nanorc files, and a new flag -q (--quiet) will silence these messages altogether. Give it a go, and happy birthday lenny! 2009.02.07 - GNU nano 2.1.8 "unsafe at any speed" is released. This release include some long overdue performance improvements in syntax color highlighting, the ability to abort running searches (useful mainly when editing very large files) and the ability to use nano like a pager for viewing standard input (i.e. "nano -"). Additionally, there are gentoo syntax highlighting updates and fixes for issues with reading files in a directory with strange parent directory permissions. The key bindings code was also substantially changed in order to be more ISO-C compatible. Be sure to use the Savannah page not only for bug reports but for any features you would like to see before the next stable series is released. Have fun with it! 2008.11.10 - GNU nano 2.1.7 "Effingham" is ready to make good on those campaign promises of lower bug rates and 50% more pie. This release includes a new check for external modifications when saving a file, some code and documentation cleanups, and more bug fixes for the new undo code (but we continue to welcome your bug reports via the Savannah bug page at http://savannah.gnu.org/bugs/?func=additem&group=nano). Come get some. 2008.10.03 - GNU nano 2.1.6 was for new features before it was against them. This release includes more undo capability, several new syntax highlighting configurations including Objective C, OCaml, and Fortran, and a new capability to activate highlighting based on the 1st line of the file being edited. Also, the new default configure options now include color syntax highlighting, .nanorc support, multibuffer and extras. These items can still be disabled and are not enabled with --enable-tiny. Bug fixes include better signal handling under Cygwin, and that's about it. Again please remember to submit bug reports via Savannah at http://savannah.gnu.org/bugs/?func=additem&group=nano as undo functions certainly need more testing. Bon appetit. 2008.08.30 - GNU nano 2.1.5 is ready to lead on day one. This release contains a better fix for incorrectly reported successful writes on full filesystems, more helpful messages when an internal error occurs in the undo code, and fixes for various combinations of configure-time options and compiler flags. Also included is new support for changing the rc file name at configure time, and using GNU-style regexes for word-boundaries on systems which do not support them natively, as well as the ever popular translation updates. Rock the tarball. 2008.08.09 - GNU nano 2.1.4 "I told you so!" is released. This release includes fixes for several severe issues with the new undo/redo code. Also the behavior of writing files when using backup mode has changed as well: if writing the backup file fails, nano will not attempt to write the current file. This should help folks who enjoy "extreme text editing", i.e. editing files on file systems which are likely to run out of space; see Savannah bug #24000. Have fun with it! 2008.08.04 - GNU nano 2.1.3 "least stable version ever" is released. This release includes new (and experimental) undo and redo functionality for most text operations. The default key bindings are Meta-U for undo and Meta-E for redo, but these can be remapped using the new 2.1 keybinding code. Also included are some fixes for configuring using wide curses, crashing when invoking the help menu with certain locales, and not saving the search history when compiled with configure options. 2008.04.24 - GNU nano 2.1.2 "New York City" is released. This release contains fixes for binding bad keys, some configure-specific compilation failures, and more issues with the new input back end and in particular the status bar. Also fixed are some long standing issues with compiling on AIX, and a segfault when making the terminal window too small. Rest in Peace Tim and George! 2008.04.01 - GNU nano 2.1.1 won't get fooled again. This release contains fixes for the new user-rebindable keys (in particular bracket match which was mis-bound), and various problems with translations and configure-related compilation problems are now fixed as well. It also contains new syntax highlighting definitions for TCL, PHP, Gentoo and Debian-related files, and some documentation updates as well. Please continue to send reports with the key binding code to the Savannah page (https://savannah.gnu.org/bugs/?group=nano). 2008.03.18 - GNU nano 2.1.0 "under old mismanagement" is released. This first release in the 2.1 development series introduces rebindable keys for most actions inside the editor. Please see the nanorc(5) page for more information on configuring key bindings. Please also report all keybinding bugs (crashes, missing menu functions) using the Savannah bug tracker URL, https://savannah.gnu.org/bugs/?group=nano and thanks for sticking with us! 2007.12.20 - GNU nano 2.0.7 keeps its balance. This release fixes several bugs, among others: a segfault and several cursor positioning problems when uncutting text or inserting files into the current buffer; a problem where the total number of characters would be miscalculated when replacing single-byte characters with multibyte ones; several minor issues with the statusbar prompt involving text display and mouse support; and several oddities when tab-completing in the middle of a line. It also improves autodetection of DOS and Mac format files, properly supports the mouse wheel when using a version of ncurses built with the --enable-ext-mouse option, fixes some problems under NetBSD curses, adds a lot of translation updates, and adds more minor documentation updates. Slang curses emulation support has also been changed to turn off all the options that --enable-tiny does, as it's hopelessly broken otherwise. Finally, nano is now licensed under the GNU GPL version 3 or later, and its documentation is now dual-licensed under the GNU GPL version 3 or later and the GNU FDL version 1.2 or later. Have fun. 2007.04.26 - GNU nano 2.0.6 "that was quick" is released. This release fixes a potential segfault after justifying text marked from the bottom up. It also adds one more minor documentation update. Enjoy. 2007.04.22 - GNU nano 2.0.5 braces for impact. Among other things, this release fixes various problems (including a segfault) when trying to open or save a file in a directory beginning with "~" that isn't a home directory; fixes a problem where a file with no name could be saved over an existing filename with no warning about overwriting it; properly disallows opening directories or device files from "include" commands in nanorc files; no longer displays a misleading prompt when trying to save in restricted mode with the mark on; and properly supports the Cancel and Shift-Cancel keys. It also improves several color syntaxes to highlight trailing whitespace, just as the Java syntax does, and adds yet more minor documentation updates. Have fun. 2007.04.06 - GNU nano 2.0.4 heralds the dawn. This release contains proper support for the Ctrl-[arrow key], Shift-[arrow key], and F13-F16 keys under Xfce's Terminal. It also adds still more minor documentation updates. Enjoy. 2007.01.29 - GNU nano 2.0.3 flows toward its ending. This release contains several minor optimizations to make the executable a little smaller under some circumstances, some translation updates, improvements to the color syntax for Python, and still more minor documentation updates. Have fun. 2006.12.20 - GNU nano 2.0.2 forges ahead. This release fixes a segfault when trying to save in a nonexistent directory; fixes handling of strings containing nulls at the "Write File", "Insert File", "Execute Command", and "Go to Directory" prompts; fixes several minor memory leaks; fixes two more potential compilation warnings; adds a few translation updates; and adds a few more minor documentation updates. Enjoy. 2006.11.20 - GNU nano 2.0.1 emerges from its cocoon. This release contains several bugfixes: saving one file over another will now always warn about overwriting it, overwriting a file is no longer possible when saving a new file in restricted mode, and zero-length Unicode characters are now highlighted properly when nano is built without regular expression support. It also adds several minor documentation updates. Have fun with it. 2006.11.06 - GNU nano 2.0.0 does its little dance. This release adds documentation updates and a few cosmetic tweaks. For those who haven't been following nano 1.3 development, there are a ton of new features, including support for UTF-8, moving to a specified line and column instead of just a line, improved color syntax highlighting, inserting previously untypeable characters using "Verbatim Input" mode, and copying text into the cutbuffer without cutting it. There are also fixes for some long-standing bugs, such as the "NumLock glitch" from nano 1.2.x, and the inability to unjustify text after resizing. Finally, there are also a ton of translation updates and new translations, as well as new color syntaxes. See the UPGRADE file for more information, and enjoy the new stable release. 2006.10.25 - GNU nano 1.9.99pre3 learns to appreciate life. This release fixes a bug where the screen sometimes wouldn't be updated properly after copying text into the cutbuffer, fixes a potential warning while compiling, and fixes a few other minor inconsistencies. Have fun. 2006.10.02 - GNU nano 1.9.99pre2 crosses the threshold. This release fixes a few more bugs: cursor positioning after leaving the statusbar prompt has been fixed, and verbatim input at the statusbar prompt now properly handles newlines. Enjoy. 2006.08.29 - GNU nano 1.9.99pre1 passes through the flames. This release fixes various bugs in the last version: the mouse support properly ignores everything except clicks of the left mouse button; the statusbar is now blanked properly when it should be; indenting and unindenting operate on the current line when the mark is off; nano should build on Tru64, NetBSD, and other systems that use termcap instead of terminfo in their curses libraries; the built-in file browser now properly navigates file lists that take up only one row; the cursor position is now completely restored after inserting a file into the current buffer, and after inserting the output of a command into a new buffer; the ^X shortcut at the search prompt has been removed, as official Pico doesn't include it and it's too easily confused with Exit; the screen is updated properly after scrolling a line without moving the cursor; the keyboard input routines behave more consistently; and so on. Have fun with it. 2006.06.26 - GNU nano 1.3.12 escapes the darkness. This release contains the last new features that nano will have before 2.0: copying text into the cutbuffer without cutting it, indenting lines of marked text with a single keystroke, reworked help text that should be easier for new users, searching for filenames in the file browser, the ability to include color regexes in files separate from nanorc files, etc. It also contains many bugfixes. Text can now be unjustified after justifying it and resizing the window; the screen is now cleared when suspending; the "default" color syntax is now handled properly at all times; lines of text containing tabs are now wrapped at the right place; double-column characters are now properly displayed when past the right edge of the screen; invalid multiline color regexes are now ignored; and so on. Enjoy. 2006.03.30 - GNU nano 1.3.11 awakens from its fever dream. This release focuses mostly on bugfixes, which include better handling of the cursor at the statusbar prompt, support for certain combinations of Shift and keypad keys in both normal and --rebindkeypad mode, a fix for a minor display problem after some searches, a real fix for a long-standing segfault when displaying overly long lines, and a real fix for nano's not hanging up properly in xterm under certain circumstances. There are also several new features, such as the ability to set the characters used as brackets when searching for matching brackets, and tab completion of directories at the "Go To Directory" prompt. Have fun. 2005.12.23 - GNU nano 1.3.10 rises to the surface. This release contains several new features as well as fixes for several longstanding bugs. The former include the ability to scroll up or down single lines without scrolling the cursor, reworked bracket searching code that doesn't require regular expression support, reworked command execution code that uses $SHELL if available instead of hardcoding "/bin/sh", and the ability to no longer add newlines to files that don't end in them via the -L/--nonewlines option. The latter include fixes to the statusbar prompt so that mouse clicks work properly on it, fixes to the Yes/No/All prompt so that mouse clicks on it work properly when -O/--morespace is used, and fixes to the resize handling so that nano dies properly when the terminal is too small to display a prompt. Enjoy. 2005.10.23 - GNU nano 1.3.9 breaks through the wall. This release includes major enhancements as well as bugfixes. The enhancements include better handling of invalid UTF-8, expansion of the word count option to also count lines and characters in the file or selection, more efficient screen update routines, a readded -K/--rebindkeypad option to work around numeric keypad problems on terminals that don't show the usual NumLock glitch, a new -W/--wordbounds option to properly detect words containing punctuation when moving among them, and massive improvements to the color code such as handling of unspecified foreground colors, more efficient memory usage for color regexes, and new reserved syntaxes "default" and "none". The bugfixes include fixes for the rewritten history code, fixes for potential line numbering problems on 64-bit platforms, fixes for a few long-standing minor display problems, a fix for erroneous hangups occurring while waiting for input, and a fix for a segfault when displaying certain overly long lines. Have fun with it. 2005.06.30 - GNU nano 1.3.8 floats at its own level. This release contains several new features. Among other things, you can now move to a specified column number as well as line number within a file, file backups saved in a backup directory will have unique names, the search and replace history routines should work more consistently, you can get a word count by pressing Meta-D at the edit window, and there's a new -E/--tabstospaces option to convert all typed tabs to spaces (--backupdir's short option has been changed to -C). In terms of bugfixes, this release contains fixes for minor problems with screen updates, UTF-8 display, and flow control; a fix for a segfault when displaying some lines ending with tabs; better handling of constant cursor position display; improved color parsing in the rcfile; and support for the "Regexp" toggle in tiny mode (-R/--regexp is gone, and --restricted's short option has been changed to -R), among other things. Enjoy. 2005.04.10 - GNU nano 1.3.7 claws its way to the top. This release mostly contains bugfixes for the massive amount of new code in 1.3.6. Among other things, nano builds with debug support again; going into the help browser at the "Read File" prompt no longer kicks you out of the prompt after you exit the help browser; paragraph searching no longer skips over certain cases of single-line paragraphs; the titlebar no longer cuts off some UTF-8 strings prematurely; and the text displayed in the help browser is now wrapped as it was in nano 1.2.x, taking UTF-8 support into account. New features include an --enable/disable-utf8 configure option to explicitly turn detection of UTF-8 support on or off, and sample regexes for C++ as well as C. Have fun. 2005.03.20 - GNU nano 1.3.6 "shout it from the rooftops" is released. This release finally includes the long-awaited support for UTF-8. Other new features include the ability to insert UTF-8 characters using verbatim input; the ability to delete all text from the cursor position to the end of the file via ^W^X as (patched) Pico does; improvements to input and output so that pasted text displays faster, improvements to the statusbar prompt so that more edit window shortcuts, including verbatim input and previous/next word search, work in it; a new option to allow using the formerly always-blank second line of the screen as part of the edit window; and the ability to refresh the help browser and file browser windows via Ctrl-L. Notable bug fixes include a fix for a segfault when using full justify, and a fix for the long-standing bug where nano would keep running if the terminal it was in died unexpectedly. Enjoy. 2004.11.22 - GNU nano 1.3.5 hurls itself forward. New features in this release include the ability to replace only marked text when the mark is on, improvements to smooth scrolling so that it applies everywhere instead of just affecting the movement keys, improvements to how files are opened so that they are no longer displayed unnecessarily, support for multiple +LINE arguments in addition to multiple filenames on the command line, autodetection of the format to save a file in based on the format it was in when it was opened, the ability to toggle both ways between the "Read File" and "Execute Command" prompts and the "Search" and "Go to Line" prompts, and support for cross-compiling nano. As for bug fixes, the "tabsize" nanorc option works again, mouse clicks on the shortcut list trigger the right shortcuts again, tab-completing a filename with %'s in it no longer causes a segfault, the internal spell checker no longer skips words after the cursor position when the cursor is in the middle of the file, and spell checking of only marked text now works properly. Have fun with it. 2004.08.17 - GNU nano 1.3.4 marches forth after a false start. This release mainly features fixes for the bugs that crept into the last release. Among other things, nano now compiles again with certain options, quoted justify now works properly on systems without regex.h, full justify no longer segfaults when used on a file with no paragraphs, previous paragraph searching works properly again, tab completion is properly disabled when needed in restricted mode, Ctrl-C is no longer disabled after using the alternate spell checker, the permissions of a newly created file now match those of nano 1.2.x again, and replacing all text in a file now properly updates the screen in all cases. New features include sample regexes for patch files, improvements to the sample regexes for C files, and support for strings greater than 1023 characters and/or containing nulls in .nano_history. Additionally, the full justify keystroke has been changed to match current Pico, and whitespace display mode is now turned off by default. Enjoy. 2004.06.28 - GNU nano 1.3.3 marches forth. There are several new features in this release, including a restricted mode that provides better security than just setting an operating directory, the ability to justify the entire file at once, support for a "smart" Home key that can leap from the beginning of text on a line to the true beginning of the line (or the reverse) in one stroke, support for specifying an alternative spell checker in $SPELL, the ability to specify the characters used to display spaces and tabs so that they can easily be told apart, and the ability to specify the characters marking the ends of sentences as used in justification. There are also several bug fixes; among other things, justification now keeps spaces at the ends of all but the last line of a paragraph as Pico does, saving a marked selection no longer changes the current filename to the filename the selection was saved under, resizing now works better and no longer corrupts the screen under slang, and the movement functions now avoid doing unnecessary redraws and hence work faster. In short, there are a lot of new things to play with. Enjoy. 2004.03.31 - GNU nano 1.3.2 is prepared for the void. New features in this release include the ability to spell-check only marked text and the ability to save all backup files in a specified directory instead of wherever the original files are. Bug fixes include a fix for a segfault when replacing certain regular expressions, fixes for some misbehavior when doing searches, minor fixes to verbatim input mode and keyboard input in general, better handling of window resizes at certain times, and allowing the mark to be saved properly again when switching between multiple file buffers. nano has also been ported to the Tandem NonStop Kernel. Have fun. 2004.01.09 - GNU nano 1.3.1 is outside the gates. This release features, among other things, fixes for the input routines to deal with some problems they had, a reorganized shortcut list for the help browser, minor Pico compatibility improvements for the file browser, fixes for misbehavior when replacing certain regular expressions, and the ability to highlight those regular expressions properly. It also allows searching without prompting to work in view mode, adds support for glib 2.x for those systems that need it, updates the .spec file for the 1.3 branch, prompts you first when you try to save a file under a different name, and adds a new verbatim input mode that acts as ^V does under vi, but with additional Pico compatibility (explained in the FAQ). Basically, a bunch of fixes and a few new features for your editor of choice. Enjoy. 2003.10.22 - GNU nano 1.3.0 is loosed upon the world. This is the first release in the unstable 1.3.x series, and as such it includes a lot of new features, including the addition of a -d option for those FreeBSD users with Backspace keys that act like Delete keys, the ability to repeat the last search without prompting, the ability to search for the beginning or end of a paragraph, new smooth paging routines to go with the smooth scrolling routines, and various improvements to the input and display routines to make them behave more intuitively. It also includes the usual load of bugfixes. Enjoy. 2003.08.11 - GNU nano 1.2.2 is released, only four months since the last version :-). This release includes fixes for broken regex detection, search history recall, and keypad handling with -K. Debugging strings are no longer translated and comments denote where translations should be as short as possible (i.e. the statusbar). There are new examples for syntax highlighting, and documentation updates and fixes. The 1.3.0 CVS tree will be opening soon for all your nano desires, so stay tuned! 2003.04.19 - Happy Easter! GNU nano 1.2.1 is released. This release features a new check for broken regexec() implementations and some variable, function and macro cleanups. Fixes are included for search history, cutting marked text, alt keyboard mode, and the usual translation and documentation updates. 2003.02.19 - GNU nano 1.2.0 is released. Few changes from pre3, just some doc and translation updates, and bugfixes for justify and file conversion. For those of you who haven't kept up with the 1.1 unstable series, v1.2 brings nanorc support, color syntax highlighting, multiple file buffers, search/replace history and much much more. Please read the UPGRADE file for details, and enjoy GNU nano 1.2.0. 2003.02.13 - GNU nano 1.1.99pre3 "The last testing version, no really!" is released. This release includes fixes for wrapping (again), resizing, color syntax highlighting, rcfile parsing, the mouse code, more memory leaks, and some reversion of the code to get the user's home directory (nano will now again rely on $HOME). There are also translation updates, a new manual page for the nanorc file, and an UPGRADE file detailing the changes since version 1.0. Please submit reports for any bugs you might find to the development team (nano-devel@gnu.org), and enjoy nano almost-1.2.0 ;-) 2003.02.03 - GNU nano 1.1.99pre2 "bugs in my pockets, bugs in my shoes" is released. There are, not surprisingly, only bugfixes in this release as we move toward the stable 1.2.0 release. Fixes are included for translatable string format, subexpression replacement, constant cursor position, invalid search regexes, justify, screen state on SIGHUP and SIGTERM, cutting to end cuts with long lines, many file browser and operating directory bugs, memory and file descriptor leaks, marker code, spell checker, the mouse code with long lines, multiple buffers and non-file open errors, replacement string length, and a silly but serious history message crash. There is also a drastic improvement in CPU utilization for the color regex code. Depending on the number of bugs found in this release, there may be a 1.1.99pre3 or RC1, or just a 1.2.0 release. Most of the major bugs seem to have been worked out, so if you are waiting for a good time to test nano before the official 1.2.0 release, this would be the one to use. Happy bug hunting! 2003.01.17 - GNU nano 1.1.99pre1 "enough already" has been released. This release is, barring bug fixes and documentation updates, what version 1.2.0 has looked like, feature wise. There will very likely be bugs, just due the volume of changes made in this release. Search and replace string history has been added, including an option to log history to ~/.nano_history (-H, --historylog). Because of this, the Pico incompatible search/replace string behavior that used to be the default has been deleted. The old "pico" flag (-p) is now compatible with Pico's "preserve" mode for allowing flow control characters; by default this version ignores both ^Q and ^S. The --disable-wrapping-as-root configure option has been forward ported from version 1.0.x, and a new flag to enable all extra options (--enable-all) has been added. The internal spell checker has been improved, meaning you will now be prompted only once for each unique capitalization of a given word. There have also been lots of bug fixes, including the "trying to insert a directory name in multibuffer mode bug", the ugly spell checker scrolling, the color code, cutting text crashes, justification, deleting the "magic line" via replace, and cursor positioning on the statusbar. There have also been the usual helping of translation and documentation updates. Please send all new feedback on this release direct to the development list (nano-devel@gnu.org). 2002.10.24 - GNU nano 1.1.12 "Make Jordi happy" is released. This release demonstrates that nano is starting to freeze for version 1.2. New features include a Meta-Y toggle for syntax highlighting, pluralized i18n, and a handler for SIGTERM. Nano now ignores XOFF (^S) to stop accidental lock-ups, and no longer references malloc.h. Also included are fixes for zero-length regex matches, segfaults with --disable-mouse, justification, memory corruption with the browser, version and help cmdline output, and translation updates. Aside from the (currently up in the air) search history behavior, the next version of nano should be 1.1.99pre1. Have fun! 2002.10.01 - GNU nano 1.1.11 "Oddball" is released. This release features a new version of gettext, a new and improved syntax highlighting engine, and some updates for the nanorc.sample file. The toggles for case sensitivity (Meta-C) and regular expressions (Meta-R) have changed in the search and replace prompts, multibuffer status is now displayed and can be toggled from the insert file menu, and some wrapping behavior that changed in 1.1.10 has reverted. The --enable-color warning was also made less severe, as the color syntax code has improved, and nano now uses extended regexes in the .nanorc file. Also included are fixes for various memory leaks, the operating directory option, username tab completion, the page_up and down arrow, go to previous word and next word, nanorc parser and line wrapping code. Have fun! 2002.07.25 - At long last! GNU nano 1.1.10 "What didn't we break?" is released. This version of GNU nano features version 0.11.2 of gettext, building with automake 1.6, some new code for displaying control characters, browser improvements, a new backup file option (-B, --backup), a new option to ignore rc files (-I, --ignorercfiles), compatibility with -pedantic, handling null characters before EOF, a slightly sportier nanorc.sample and more. Fixes are included for justification, the reading and writing file routines, resizing and fill length, millions of memory leaks, the usage screen was updated, and the --quotestr and --regexp really work now ;-) Enjoy :) 2002.05.12 - GNU nano 1.1.9 is released, happy Mother's Day! This release includes many new features, including a prepend mode (^O,M-P), a new "syntax" command in the .nanorc to allow multiple syntax highlighting types, and a new -Y, --syntax flag to set a specific one if there's no filename regex to match it against (i.e. w/mutt). The ^space and M-space keys will now show up in the help menu, which itself has been tweaked a bit, and many more configure options should now cooperate (like the odd pairing of --enable-tiny and --enable-multibuffer). The marker should now work when using multiple buffers, and the huge memory leak in color syntax highlighting has been fixed. A lot of new stuff for everyone's favorite text editor ;) Have fun! 2002.03.30 - GNU nano 1.1.8 is released. New features include an "Insert Output of External Command", ^R^X, and a .spec file is now included in the distribution. There are cleanups in the usage code, fixes for regex parsing, the file browser, the NO_CONVERT auto-detect, indented justification, the internal spell checker, and a serious bug where reading a file of 0 lines would hang nano. Also, the "show position" code now shows the starting column as 1 instead of 0. Have fun! 2002.03.05 - GNU nano 1.1.7 "let's change everything and see what breaks" is released. New features include the new flags -N, --noconvert (to stop any file format conversion) and -Q, --quotestr (for the new quoted text justification), a new tempnam() implementation to avoid silly warnings, DOS and Mac file options in the Write File dialog, multiple save files (file.1) for abnormal exits, ^C now showing column as well as character position, and multibuffer allowing duplicate files, even unnamed ones. Also, the static shortcut and toggle lengths are history, nano now reads SYSCONFDIR/nanorc if rc file support is enabled, and nano is now built with (and for rebuilding requires) autoconf 2.5. This release also includes fixes for some memory leaks, detecting DOS and Mac file format, justification, suspending keys, search & replace under various conditions, variable width for shortcuts, and the usual ton of translation updates. 2002.01.25 - GNU nano 1.1.6 is released. Lots of new features in this release. New Meta-keys were added as alternates for control sequences: Meta-A for the marker key (^^), and Meta-G for the 'goto dir' key in the file browser (^_). The color syntax highlighting now supports multiple lines via start="regex" end="regex" syntax, and the .nanorc regex format itself has changed. Also, the gettext code was upgraded to version 0.10.40, and nano will now display a message if only occurrence of a given search exists. For bugfixes, there are fixes for spelling, stray newlines in the usage() function, suspend issues with tcsh, auto-indent and wrapping clashes, ugly code in rcfile.c, global variable compatibility with AIX. There are also oodles of translation updates. Have fun with it. 2002.01.05 - GNU nano 1.1.5 is out. The main new feature in this release is the changed behavior of the keypad. Nano now does the Right Thing and uses keypad() by default. If you wish to use the keypad arrow keys in certain terminals, you may use the -K or --keypad flag to get the old behavior. Users of other OSes should see better handling of their non-keypad keys in this release. Other changes include more Hurd fixes, fixes parsing the .nanorc, display fixes for the color syntax highlighting, gettext stabilization and many translation updates. This is almost like a stable release, much like in the 0.9.x series when every other release was the most stable one :) Have fun! 2001.12.11 - GNU nano 1.1.4 is released. This release contains rudimentary color syntax support (but it's still broken), compatibility fixes for the Hurd and FreeBSD, spell checker and wrapping fixes, and more. It seems that the amount of interest in the code is inversely proportional to the amount of time since last release, so it's time to show the world all the changes since 1.1.3 ;) Have fun with it! 2001.10.26 - GNU nano 1.1.3 is released. As far as new features go, the help system is now available for all functions in the editor. Also, nano will now also print a message on the status bar when it automatically converts a file from Mac or DOS format, and trying to load a file that has already been loaded in multibuffer mode will now also cause an error message. There is now a "goto previous word" which you can use by hitting Meta-Space Bar. As for fixes, a SEVERE bug in the null_at code which discarded the memory address of reallocated memory has been fixed. This is probably the biggest bug fix in well over the last year of development. There are also some display fixes for when the screen shouldn't center itself on cut or uncut text. Also, the comments in the header files incorrectly said that nano was distributed under version 1 of the GPL when the accompanying license was the GPLv2. If you're using nano-1.1, it is highly recommended you upgrade to this release. If using 1.0, wait for version 1.0.6 which should be available early next week. Enjoy! 2001.10.03 - GNU nano 1.1.2 is out there. Many new features in this release, including support for auto-converting from DOS and Mac formatted files, as well as toggles for writing out files in these formats. Pico's -o flag has been implemented, as has some new smooth scrolling code (which can be used in place of the default jerky scrolling behavior). Also, there is now a "find matching bracket/brace/etc" feature (Meta-]). The .nanorc file now accepts setting the tabsize, and the help text at the bottom of the editor is now better spaced out in the search/replace prompts. There are also the usual helping of bugfixes, translation updates and, surely a bug or two. You better get ready! 2001.07.28 - GNU nano 1.1.1 is released. Our second 1.1 unstable release features many bugfixes from the initial release, in particular fixes for the multibuffer code, and various compiler macro fixes. The shortcut lists for the search and replace prompts are a little more logical (with cancel the last option again), and the included gettext was re-downgraded to 0.10.35 due to problems on the PPC platform. GNU nano now includes its own aclocal macros in the m4/ directory to allow rebuilding the configure script to work on platforms regardless of their gettext version. 2001.07.15 - GNU nano 1.1.0 is released. This is the first release in the 1.1.x unstable series of GNU nano. It incorporates all changes up to the 1.0.3 release, and also includes many many new features, including appending to as well as overwriting files, writing marked text to a separate file, dynamic wrap length, lots more compatibility with Pico, and new optional features like .nanorc file support and multiple file buffers! All in all, plenty of new stuff that's sure to introduce lots of bugs ;-) Have fun with it, but be careful, unstable means unstable. 2001.07.01 - GNU nano 1.0.3 is the "mutt" release. This release features oodles of bug fixes with cutting text, especially with the -k (cut to end) option. There is also a new suspend handler which should make nano play better with mutt (the code for which came from mutt itself; many many thanks to Jordi Mallach and Tom Lear for working late into the night fixing this). Nano now also features mutt's case insensitive string compare function for more speed and less memory usage. Two new translations are included, Ukrainian and Russian. 2001.05.12 - GNU nano 1.0.2 is the "just the bugfixes ma'am" release. The most noticeable fixes are for display errors using page up/down with the marker code, and view mode (-v) not stopping the replace function. Other fixes include being able to use the arrow keys while holding down the ctrl key in certain TERMs, and there are many documentation updates and spelling tweaks. We also have a new Galician translation (provided by Jacobo Tarrío). Have fun with it! 2001.04.06 - GNU nano 1.0.1 is out there. The only new feature is a configure option for those who want to disable all word wrapping from nano, --disable-wrapping. Bug fixes this release include some bugs with autoconf and i18n, and several fixes in the file browser including a segfault on Solaris, symlinks to directories now work properly, and nano now sorts files case insensitively like Pilot. Have fun with it. 2001.03.22 - GNU Nano 1.0 is released! The autoindent wrapping bug has been fixed, as well as a strange bug when using Pico mode and regex search. There have also been some minor spelling and documentation updates. As stated on the website, there are currently no known bugs with nano, but some will pop up eventually and they will be addressed in subsequent releases. We hope you enjoy this first stable release of nano, and as always, feedback is welcome! <nano@nano-editor.org> 2001.02.19 - Nano 0.9.99pre3 brings a lot of changes! The most important being that nano is now officially a GNU program. Some changes have been made for GNU compatibility (like in the default list of shortcuts: "^G Get Help" is now listed and "^_ Goto Line" is not). The Yes/No/All keys have finally been internationalized also. All in all, quite a few changes, considering nano is supposed to be in a code freeze. But there are the usual helping of bugfixes, a nasty bug when cutting text in -k mode and some compatibility issues with older ncurses libraries have also been fixed. All in all, a lot to see. 2001.01.31 - Nano 0.9.99pre2 is released. Not surprisingly, all that is new is bugfixes, bugfixes, bugfixes. There were a few cleanups in unneeded global variables and duplicate functions, but most is just fixing. Specifically, there is now a preliminary (read: needs testing) fix for resizing the editor in any mode other than normal edit mode. Other fixes include some more tab completion segfaults, and a silly segfault that occurred when successfully writing a file on the 2nd try (i.e. after an initial write error). Slowly but surely, on toward 1.0 we travel. 2001.01.17 - Nano 0.9.99pre1 is released. This is the first pre-1.0 release of nano, and is also the first release since the code freeze for nano 1.0. Don't expect (or request) any new features between now and nano 1.0, only bugfixes, optimizations and doc/translation updates. For fixes, a nasty segfault when trying to insert one's home directory (~), some checks for the NumLock key making the keypad go awry, window size sanity checks, many autoconf fixes, and support for the KDE Konsole keypad layout. Have fun. 2001.01.07 - Nano 0.9.25 is the "Just one more feature I swear!" release. It includes one new feature that Pico has had forever, a built-in file browser. Since not everyone may want this option, there is a --disable-browser option to the configure script as well. Other changes include slightly different keypad handling, and a bugfix for crashes when tab completion in certain instances. Have fun and Happy New Year! 2000.12.18 - Nano 0.9.24 is released. This version contains the last of the security fixes for writing files, as well as for a nasty segfault when nano is unable to open a file for reading, among other fixes. Nano now also cowardly refuses to open device files, to stop silly things like trying to open /dev/zero. New features include being able to use Meta-Meta-<key> as Control-<key>, better HURD support, and some new flags have been added for Pico compatibility. Upgrading to this version is highly recommended. 2000.12.08 - Nano 0.9.23 is the "race conditions bite" release. The main reason for this release is the less-than-optimal fix for the security issue in nano with following symbolic links. Hopefully this will fix the problem permanently. The --nofollow option also works again for those who are real security nuts. There are also some display and search fixes, and the --disable-spell function was renamed to --disable-speller to be in line with nano and Pico's "speller" term. 2000.12.02 - Nano 0.9.22 is released, with many more changes and additions than imaginable. The most important change is a fix for unsafe handling of symbolic links which could lead to symlink attacks if nano were to exit because of an error or signal. Also there are better checks when saving files. As for new features, username tab completion is now working well, the internal spell checker code has been tweaked, you can now unjustify if you don't like how the justify formatted your text, and there are more options for configure, including --disable-spell and --disable-justify and --enable-extra (for those who like surprises). All in all, a whole lot of changes in a little over a week. 2000.11.23 - Happy Thanksgiving! Nano 0.9.21 is our "last version was a big turkey" release. It fixes several bugs introduced by the previous version, as well as a few long- standing display bugs. All 0.9.20 users are strongly encouraged to upgrade to this release. 2000.11.18 - Nano 0.9.20 is finally out the door. Probably the biggest change is the brand new way nano displays previous search and replace strings (they are now editable!) This is a break from Pico's (inconsistent) interface, so if you don't like the new way, "Pico" mode (-p on the command line or Meta-P within nano) still works the "old" way. Other new features include being able to deal with search strings of any length, a new internal spell feature (courtesy of Mr. Rocco Corsi) and tab completion when reading in or writing out files! There's also the usual billion or so bug fixes. Feedback on this release is welcome because so much has changed, especially with the previous string display in search and replace. Email -> nano@nano-editor.org <-. If you like something, don't like something, or just want to order a pizza, let us know! 2000.10.02 - Nano 0.9.19 is the "Chris is getting married in less than a week and needs a distraction" release. There are only a few actual code changes, mainly portability and compiler warning fixes. Nano now also supports PDCurses, which enables easily-built nano executables for Windows NT and 95/98 for the brave. The official nano site has changed (again) as well, check out www.nano-editor.org for all the latest nano schtuff. 2000.09.18 - Nano 0.9.18 is unleashed. It has some new keyboard handling code, Cygwin support out of the box, and a more portable handler for the NOHELP toggle. There is also a fix for a somewhat serious bug whereby trying to insert a directory instead of a normal file would destroy the contents of the editor. A must-see. Four stars. 2000.09.04 - Nano 0.9.17, the Labor Day release, is released after a quiet spell (almost an entire month since last release!) New features include better (not yet perfect) binary display support and toggle support for most of the program flags (M-c, M-i, M-z, M-x, M-p, M-w, M-m, M-k and M-e for -c, -i, -z, -x, -p, -w, -m, -k, and -R). 2000.08.09 - Nano 0.9.16, after some struggling, is released. This release should fix a few of the holes that 0.9.15 dug. The "cutting text on the first line" bug is fixed, as is the "cutting text on the last line" bug. Nice symmetry there huh? Also the --tabsize argument should now work as well as by using -T. 2000.08.03 - Nano 0.9.15 is the "I can't think of a release description" release. There are the usual gala of display bugfixes, a fix for the nasty bug in -k mode that could create a loop in the file being edited, and some other code cleanup. Also, the -T option should now work regardless of the curses library used. Yay. 2000.07.27 - Nano 0.9.14 is officially the "13 is so unlucky it should be skipped as a version number" release. One typo caused unending problems (calling nano with either -t or -k caused both flags to be used). The -k code is now also closer in functionality to Pico's -k mode; please note that this code is not finished yet. Working on this code has made me realize that there is not enough abstraction in the code, and I will be working on that for the next release. Until then, have fun with this version. 2000.07.23 - Nano 0.9.13 has a few new bits and bobs, most notably the -k option from Pico (cut to end of line). The majority of changes in this release are bugfixes, however, including the usual display fixes and fixes for writing to symbolic links and unwritable files. Barring any other major changes, this should be the feature set for nano 1.0, whenever it might be released =-) 2000.07.07 - Nano 0.9.12 (the "lucky day" release) is bursting with new features, bug fixes, and yummy fruit flavor. For changes, the alternate replace keystroke ^W^T is now ^W^R to be compatible with later versions of Pico. ^W^T is now goto line, again for Pico compatibility. As for new features, the wonderful/hated magic line code has returned with a vengeance! Also, regular expression searches and replaces have been incorporated via the -R flag. And, of course, there are the usual helping of display and other bug fixes to top it all off. 2000.06.20 - Nano 0.9.11 presents drastic rewrites of the most buggy routines in the program, specifically the wrapping code and almost all of the display routines. There are many improvements and bugfixes to the display subsystem in general, but there may be bugs lurking yet. Also, after many MANY requests, there is now an option to set the displayed tab width (-T, --tabsize). Note that this function just changes the way tabs LOOK in the editor, the tabs you input are still real tabs of normal width (usually 8 characters); nano just makes them look smaller or bigger while in the editor. New in the translation department is an Indonesian translation (id). 2000.06.06 - Nano 0.9.10 is primarily a bugfix for the loss of SIGINT when using "run and terminate" flags (for example, --help). There are also some minor documentation updates. This version of nano is the most stable in quite some time, and is likely to be the most stable for awhile. Users are encouraged to upgrade to this version. 2000.05.31 - Nano 0.9.9 introduces much better working i18n support, more portability, and a ton of bugfixes. While nano is not likely anywhere near 1.0 in terms of code quality, it gets a quantum leap closer with this release. 2000.05.18 - Nano 0.9.8 (the 'what broke now?' release) should fix the resize crash people have been experiencing. It also offers a new input method that should allow nano to do things the right way (like ^S, ^Q, custom suspend keys) and hopefully won't break with non-US keyboards. There are also the obligatory display fixes and speedups. Have fun with it. 2000.05.14 - Nano 0.9.7 (the Mother's Day release) continues in the long line of display fixes, and also fixes the broken symlink behavior (i.e. symlinks weren't being followed by default). Hopefully all major bugs can be worked out soon and we can have a 1.0 release before the end of the year, but who knows. 2000.05.08 - Nano 0.9.6 cleans up a lot of the display bugs that 0.9.5 uncovered. There are improvements (and some remaining segfaults) in the wrapping code, and even more display optimizations. I would still say 0.9.4 or 0.9.2 are the most stable versions of nano to date, but this one may not be too bad =-) 2000.05.01 - Nano 0.9.5 attempts to speed up the display of text to be at least somewhat reasonable. Much code profiling has been done to reduce the ridiculous number of redundant display updates. This will probably expose a lot of bugs that can then be fixed, so this release is probably not for the faint of heart. For anyone curious, I would call nano 0.9.2 the most stable version recently, so use that if you're not particularly concerned with being on the bleeding edge. 2000.04.25 - Nano 0.9.4 fixes some problems in 0.9.3 with the last line code and related segfaults. It now also has much better handling for 8-bit characters. The --enable-tiny code also produces a smaller executable. 2000.04.19 - Nano 0.9.3 is officially the "Micro$oft" release. It underscores the recent problem of bugfixes introducing more bugs than they fix. The most important change to this version of nano is the removal of the "magic line". You will no longer see a blank line at the end of the file. If you want a new line at the end of your file, you'll have to hit enter to get one. NOTE: THIS BREAKS COMPATIBILITY WITH PICO. Unfortunately, this feature has been causing many many problems with nano so it is being removed for the time being, and perhaps indefinitely. Other new stuff includes an --enable-tiny option to make nano ultra small (disabling i18n, detailed help and the marker and mouse code), and --with-slang to use the slang libraries instead of ncurses. 2000.04.15 - Nano 0.9.2 just fixes the serious segfault problem if nano is invoked any way other than using the absolute path. The bug was in the new code for checking whether nano is invoked as 'pico'. 2000.04.14 - Nano 0.9.1 has some more Pico compatibility built-in. The option to switch to/from Search and Search/Replace (^T) is now available, and nano now displays the more Pico-like shortcut list when invoked as 'pico' (i.e. if 'pico' is a symlink to nano). There is an important change to the handling of symbolic links as well. Now, nano does the "correct" thing and automatically writes to the object of the symlink, rather than replace the symlink with the updated file. This behavior is still available with the --nofollow or -l flags. Other new things include a fix for the infamous "recursive replace" bug, and more bugfixes in the wrapping code. 2000.04.07 - Nano 0.9.0 has some updates, new language support and a much better refresh setup (It's still not great, but...) There should also be more stability editing long lines, as there was a stupid mistake in the update_line call. Silly me =) 2000.03.22 - Nano 0.8.9 is basically just a bugfix release of 0.8.8 to reflect the current stagnant status of the project. Most things work, the rest doesn't doesn't work because (a) I can't fix it or I would have already done so, and (b) the amount of patches I'm receiving right now is quite negligible. Fortunately, this release marks the first release since I have acquired ownership of the nano pages on SourceForge. Here's hoping SF will get us some more visibility, translators and patches. 2000.03.12 - After a hiatus, I have finally moved (not unpacked though) to my new home into Albany. Thus I should now have more time to work on nano. Nano 0.8.8, the "dear god what broke this time?" release, incorporates patches for both i18n and many bugfixes. It is VERY likely something broke this version, and it's likely I didn't even apply the i18n stuff properly, so *it* may not even work. I would like to announce that I'm going to need translations soonish, so if you are fluent in other languages than English (or even better, if your native language is not English) and you would like to submit a translation file to me, please feel free to do so. If you do, I will list your name and email in the AUTHORS file as the maintainer of the .po file, and from then on it is yours to take care of and keep up to date. 2000.03.01 - Well, to continue my trend of going back on my previous release's comments, nano 0.8.7 is released. The crashing behavior was still occurring, and this most recent fix also fixes some other wrapping problems, so here you go. There may be another release soon, there may not be, is that vague enough? =) 2000.02.25 - More minor bugfixes in 0.8.6, the bizarre behavior at the end of a page has ceased, thankfully. I'm also moving next weekend, so don't be shocked if you don't see a new version of nano next week =-) 2000.02.11 - Okay, here we go again. Aside from a few minor fixes and some under-the-hood changes, you won't notice much different in this version of nano. I haven't gotten much feedback on the help feature, is it simply amazing or does no one care? Write and let me know! =) 2000.02.08 - Nano 0.8.3 marks the first time in a long time that there has been more than three days since the last release. New features include an initial help mode (YAY!), hopefully much more support for i18n out of the box, and a flag for more Pico compatibility in the shortcut lists displayed. This release also marks the new nano distribution site, http://www.asty.org/nano and email address nano@asty.org for bugs, etc. 2000.02.02 - Okay, I hate to go back on what I said in the last release, but I may be changing jobs very soon. I will release version 0.8.2 as is (no i18n, no help menu (yet)). I expect things to settle down by the end of next week, and then I can try to start on the i18n support and help menu; look for these new features in version 0.8.5 to 0.9.0. 2000.01.28 - Nano 0.8.1 marks our first official step toward internationalization (i18n) and the help system (^G). I will be merging in Jordi's patches for initial i18n in the next version, and will implement the help system with i18n built into it shortly after that. Please don't hesitate to send bug reports, as long as you're sure the fault lies with nano =-). 2000.01.25 - Nano 0.8.0 is officially the 'let's try and be at least a little portable, mmmmkay?' release. There are many portability checks and fixes; many thanks to Andy Kahn for his patches. I removed the broken do_spell behavior with the 'spell' program; for now, we only try to call 'ispell' until I write a better method to handle the output of the normal 'spell' command. 2000.01.24 - Nano 0.7.9 features many new features. Among them are a new autoindent feature (-i, --autoindent), tempfile flag like Pico's -t flag (-t, --tempfile), and preliminary spelling program support. The spelling function tries to run 'spell' and then 'ispell' in that order, but you can specify another spelling program with -s or --speller. 2000.01.17 - Nano 0.7.7 is officially the 'way too much stuff changed this release' release. It's the busy time at work for me, so please don't get offended if your patch doesn't get included in the next immediate version of nano. I'm sure all the changes in this release will cause a few bugs, so 0.7.8 will primarily be about fixing those bugs. Things added this release include resizability (kinda), new -x and -c flags (see nano -h for help), long command line flag support, and the usual array of bugfixes. 2000.01.15 - Nano 0.7.6 is officially the 'lightning' release. It now loads large files much faster than previous versions, and is even much faster than Pico or vi in some rather rudimentary tests. Many thanks to Adam Rogoyski for the read_byte patch! 2000.01.09 - As of this version (0.7.4), TIP has officially been renamed to nano. The new homepage is at http://faculty.plattsburgh.edu/astyanax/nano. Please update your bookmarks, tell your friends, and all that jazz. README000064400000005370151702644640005442 0ustar00 GNU nano -- an enhanced clone of the Pico text editor Overview The nano project was started because of a few "problems" with the wonderfully easy-to-use and friendly Pico text editor. First and foremost was its license: the Pine suite does not use the GPL or a GPL-friendly license, and has unclear restrictions on redistribution. Because of this, Pine and Pico are not included with many GNU/Linux distributions. Also, other features (like go-to-line-number or search-and-replace) were unavailable until recently or require a command-line flag. Yuck. nano aims to solve these problems by emulating the functionality of Pico as closely as possible while addressing the problems above and providing other extra functionality. The nano editor is an official GNU package. For more information on GNU and the Free Software Foundation, please see http://www.gnu.org/. How to compile and install nano Download the nano source code, then: tar xvzf nano-x.y.z.tar.gz cd nano-x.y.z ./configure make make install It's that simple. Use --prefix with configure to override the default installation directory of /usr/local. If you haven't configured with the --disable-nanorc option, after installation you may want to copy the doc/sample.nanorc file to your home directory, rename it to ".nanorc", and then edit it according to your taste. Web Page https://nano-editor.org/ Mailing Lists There are three nano-related mailing-lists. + info-nano@gnu.org is a very low traffic list used to announce new nano versions or other important info about the project. + help-nano@gnu.org is for those seeking to get help without wanting to hear about the technical details of its development. + nano-devel@gnu.org is the list used by the people that make nano and a general development discussion list, with moderate traffic. To subscribe, send email to <name>-request@gnu.org with a subject of "subscribe", where <name> is the list you want to subscribe to. Bug Reports To report a bug, please file a description of the problem on nano's bug tracker (https://savannah.gnu.org/bugs/?group=nano -- hover on "Bugs", then click "Submit new"). The issue may have already been reported, so please look first. Current Status Since version 2.5.0, GNU nano has abandoned the distinction between a stable and a development branch: it is now on a "rolling" release -- fixing bugs and adding new features go hand in hand. Copyright Years When in any file of this package a copyright notice mentions a year range (such as 1999-2011), it is a shorthand for a list of all the years in that interval. THANKS000064400000013743151702644640005500 0ustar00The following people have helped GNU nano in some way or another. If we missed you here, let us know! Translations: ============ Pedro Albuquerque <palbuquerque73@gmail.com> Portuguese Josef Andersson <josef.andersson@fripost.org> Swedish Laurentiu Buzdugan <buzdugan@voyager.net> Romanian Mario Blättermann <mario.blaettermann@gmail.com> German Ricardo Cárdenes Medina <ricardo@conisys.com> Spanish Antonio Ceballos <aceballos@gmail.com> Spanish Wei-Lun CHAO <chaoweilun@pcmail.com.tw> Chinese (traditional) Yuri Chornoivan <yurchor@ukr.net> Ukrainian Marco Colombo <magicdice@inwind.it> Italian Mihai Cristescu <mihai.cristescu@archlinux.info> Romanian Yavor Doganov <yavor@doganov.org> Bulgarian Karl Eichwalder <keichwa@gmx.net> German A. Murat EREN <meren@comu.edu.tr> Turkish Doruk Fisek <dfisek@fisek.com.tr> Turkish Rafael Fontenelle <rffontenelle@gmail.com> Brazilian Portuguese Pavel Fric <pavelfric@seznam.cz> Czech Jorge González <aloriel@gmail.com> Spanish Jean-Philippe Guérard <jean-philippe.guerard@laposte.net> French Geir Helland <pjallabais@users.sourceforge.net> Norwegian Bokmål Tedi Heriyanto <tedi_h@gmx.net> Indonesian Václav Haisman <V.Haisman@sh.cvut.cz> Czech Takeshi Hamasaki <hmatrjp@users.sourceforge.jp> Japanese Kjetil Torgrim Homme <kjetilho@linpro.no> Norwegian Nynorsk Szabolcs Horvath <horvaths@janus.gimsz.sulinet.hu> Hungarian Jorma Karvonen <karvonen.jorma@gmail.com> Finnish Mehmet Kececi <mkececi@mehmetkececi.com> Turkish Gabor Kelemen <kelemeng@gnome.hu> Hungarian Kalle Kivimaa <kalle.kivimaa@iki.fi> Finnish Eivind Kjørstad <ekj@vestdata.no> Norwegian Nynorsk Florian König <floki@bigfoot.com> German Klemen Košir <klemen913@gmail.com> Slovenian Wojciech Kotwica <wkotwica@post.pl> Polish Ask Hjorth Larsen <asklarsen@gmail.com> Danish Clement Laforet <clem_laf@wanadoo.fr> French LI Daobing <lidaobing@gmail.com> Chinese (simplified) Jordi Mallach <jordi@gnu.org> Catalan João Victor Duarte Martins <jvdm@sdf.lonestar.org> Brazilian Portuguese Pavel Maryanov <acid@jack.kiev.ua> Russian Daniele Medri <madrid@linux.it> Italian Gergely Nagy <algernon@debian.org> Hungarian Claudio Neves <cneves@nextis.com> Brazilian Portuguese Kalle Olavi Niemitalo <kon@iki.fi> Finnish Мирослав Николић <miroslavnikolic@rocketmail.com> Serbian Lauri Nurmi <lanurmi@iki.fi> Finnish Daniel Nylander <po@danielnylander.se> Swedish Mikel Olasagasti <hey_neken@mundurat.net> Basque Yi-Jyun Pan <pan93412@gmail.com> Chinese (traditional) Michael Piefel <piefel@informatik.hu-berlin.de> German Sergey Poznyakoff <gray@gnu.org> Polish Božidar Putanec <bozidarp@yahoo.com> Croatian Trần Ngọc Quân <vnwildman@gmail.com> Vietnamese Sharuzzaman Ahmat Raslan <sharuzzaman@excite.com> Malay Sergey A. Ribalchenko <fisher@obu.ck.ua> Ukrainian and Russian Michel Robitaille <robitail@IRO.UMontreal.CA> French Christian Rose <menthos@menthos.com> Swedish Dimitriy Ryazantcev <DJm00n@mail.ru> Russian Stig E Sandø <stig@ii.uib.no> Norwegian Bokmål Kevin Patrick Scannell <kscanne@gmail.com> Irish Benno Schulenberg <benno@vertaalt.nl> Dutch and Esperanto Danilo Segan <dsegan@gmx.net> Serbian Clytie Siddall <clytie@riverland.net.au> Vietnamese Keld Simonsen <keld@dkuug.dk> Danish Guus Sliepen <guus@nl.linux.org> Dutch Cezary Sliwa <sliwa@cft.edu.pl> Polish Johnny A. Solbu <johnny@solbu.net> Norwegian Bokmål Pierre Tane <tanep@bigfoot.com> French Yasuaki Taniguchi <yasuakit@gmail.com> Japanese Jacobo Tarrío <jtarrio@trasno.net> Galician Francisco Javier Tsao Santín <tsao@members.fsf.org> Galician Balázs Úr <urbalazs@gmail.com> Hungarian Miquel Vidal <miquel@sindominio.net> Catalan Phan Vinh Thinh <teppi82@gmail.com> Vietnamese Pauli Virtanen <pauli.virtanen@saunalahti.fi> Finnish Aron Xu <happyaron.xu@gmail.com> Chinese (simplified) Boyuan Yang <073plan@gmail.com> Chinese (simplified) Peio Ziarsolo <peio@sindominio.net> Basque Anton Zinoviev <zinoviev@debian.org> Bulgarian Other stuff: =========== Ben Armstrong <synrg@sanctuary.nslug.ns.ca> Negative -r value idea, code Thomas Dickey <dickey@herndon4.his.com> Curses help and advice Kamil Dudka <kdudka@redhat.com> Several small bug fixes Sven Guckes <guckes@math.fu-berlin.de> Advice and advocacy Thijs Kinkhorst <thijs@kinkhorst.com> rnano.1 manpage Jim Knoble <jmknoble@pobox.com> Pico compat for browser Ryan Krebs <fluffy@highwire.stanford.edu> Many bug fixes and testing Roy Lanek <lanek@ranahminang.net> Advice and advocacy Chuck Mead <csm@MoonGroup.com> Feedback and RPM stuff Mike Melanson <melanson@pcisys.net> Bug reports Neil Parks <nparks@acsmail.com> Bug reports and fixes Jeremy Robichaud <robicj@yahoo.com> Beta tester Bill Soudan <wes0472@rit.edu> Regex code, etc Ken Tyler <kent@werple.net.au> Search fixes and more TODO000064400000006647151702644640005262 0ustar00A list of desired features -------------------------- Somewhat urgent: - Make undo/redo work also for justifying. - Detect when text is being pasted, so that we can handle it faster. See https://savannah.gnu.org/bugs/?40060. - Allow color syntaxes to apply to more than just color, so that we can e.g. specify a different alternate spell checker depending on which file type we have open. Vague musings: - Add support for right-to-left text (RTL), through FriBidi? - Allow setting marks (saved positions, not to be confused with the mark set via Ctrl-^) at various lines and/or columns in the buffer, and allow movement between them with a single keystroke? - Make matching bracket searches sophisticated enough to skip over brackets inside comments? For version 2.9: - Allow piping (marked) text to an external command and replacing it with the command's output. That is: implement filtering. [DONE] - Allow to record and replay a macro: a stored series of keystrokes. [DONE] - Make undo/redo work also for indenting. [DONE] For version 2.8: - Allow text searches in the help viewer. [DONE] For version 2.4: - Handle window resizes better. After we've resized, we should stay wherever we were before we resized, as Pico does. [DONE] - Allow even better file-type detection than we have currently, e.g. through libmagic. [DONE] - Compatibility with vim status files to let other editors know we're in a file. [DONE] For version 2.2: - Rebindable keys? [DONE] - Undo/Redo keys (M-U and M-E)? [DONE] - Fix problems with color syntaxes highlighting lines too aggressively. [DONE] - Allow nano to work like a pager (reading from stdin). [DONE] - Select a color syntax based on more than just the filename extension. [DONE] - Allow soft wrapping as well as hard wrapping? [DONE] For version 2.0: - UTF-8 support. [DONE] - Support for paragraph searches. [DONE] - Support for justifying the entire file at once. [DONE] - Support for filename searches in the file browser. [DONE] - Keystroke to implement "Add next sequence as raw" like vi's ^V. [DONE] - Spell check selected text only. [DONE] - Make "To Line" (^W^T) and "Read from Command" (^R^X) reenter their parent menu when their keystroke is entered a second time (^W^T^T and (^R^X^X) (requires figuring out when to keep cursor position and when not to). [DONE] - Fix resetstatuspos global which we shouldn't have. [DONE] For version 1.2: - Single-line scroll up/down? [DONE] - Color syntax highlighting? (There seems to be a demand for it.) [DONE] - Support for a .nanorc file. [DONE] - Backup making (filename~)? [DONE] - Search/replace string history. [DONE] - Implement Pico's -j and -g flags, as they are pretty easy to do. [DONE] - Make mouse support work with clicking on the shortcuts (-m). [DONE] - Implement -o (--operatingdir, a chroot of sorts). [DONE] - Allow -r to take a negative argument, meaning right margin instead of left (allows resizing that way), formerly -W arg. [DONE] For version 1.0: - Implement Spelling. [DONE] - Implement Help. [DONE] - Internationalization [In progress, translators welcome!] - Allow nano to be resized in X. [DONE] - On PageUp/Down, put the cursor on the first line (like Pico), not the center line. [DONE] - Implement justify function. [DONE] - Cut to end of line. [DONE] - Built-in speller command. [DONE] - Better statusbar interaction (scrolling, tab completion). [DONE] - Unjustify command (^U after ^J). [DONE] - Username completion (~user). [DONE] faq.html000064400000100111151702644640006204 0ustar00<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>The GNU nano editor FAQ</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body text="#330000" bgcolor="#ffffff" link="#0000ef" vlink="#51188e" alink="#ff0000"> <h1>The GNU nano editor FAQ</h1> <h3>Table of Contents</h3> <h3><a href="#1">1. General</a></h3> <blockquote><p> <a href="#1.1">1.1. What is GNU nano?</a><br> <a href="#1.2">1.2. What is the history behind nano?</a><br> <a href="#1.3">1.3. Why the name change from TIP?</a><br> <a href="#1.4">1.4. What is the current version of nano?</a><br> <a href="#1.5">1.5. I want to read the manpage without having to download the program!</a> </p></blockquote> <h3><a href="#2">2. Where to get GNU nano.</a></h3> <blockquote><p> <a href="#2.1">2.1. FTP and WWW sites that carry nano.</a><br> <a href="#2.2">2.2. RedHat and derivatives (.rpm) packages.</a><br> <a href="#2.3">2.3. Debian (.deb) packages.</a><br> <a href="#2.4">2.4. By GIT (for the brave).</a> </p></blockquote> <h3><a href="#3">3. Installation and Configuration</a></h3> <blockquote><p> <a href="#3.1">3.1. How do I install the RPM or DEB package?</a><br> <a href="#3.2">3.2. Compiling from source: WHAT THE HECK DO I DO NOW?</a><br> <a href="#3.3">3.3. Why does everything go into /usr/local?</a><br> <a href="#3.5">3.5. nano should automatically run strip on the binary when installing it!</a><br> <a href="#3.6">3.6. How can I make the executable smaller? This is too bloated!</a><br> <a href="#3.7">3.7. Tell me more about this multibuffer stuff!</a><br> <a href="#3.8">3.8. Tell me more about this verbatim input stuff!</a><br> <a href="#3.9a">3.9a. How do I make a .nanorc file that nano will read when I start it?</a><br> <a href="#3.9b">3.9b. How about in Win32?</a> </p></blockquote> <h3><a href="#4">4. Running</a></h3> <blockquote><p> <a href="#4.1">4.1. How do I open a file with a name beginning with '+' from the command line?</a><br> <a href="#4.2">4.2. Ack! My Backspace/Delete/Enter/Meta/double bucky key doesn't seem to work! What can I do?</a><br> <a href="#4.3">4.3. Ack! My numeric keypad's keys don't work properly when NumLock is off! What can I do?</a><br> <a href="#4.4">4.4. Ack! When I hold down a Meta key combination for a while, the character of the held key gets inserted now and then. What gives?</a><br> <a href="#4.5">4.5. How do I type the F13-F16 keys listed in the help viewer? My keyboard only has F1-F12!</a><br> <a href="#4.6">4.6. nano crashes when I type <insert keystrokes here>!</a><br> <a href="#4.7">4.7. nano crashes when I resize my window. How can I fix that?</a><br> <a href="#4.8a">4.8a. With what keystroke can I paste text from the clipboard into nano?</a><br> <a href="#4.8b">4.8b. When I paste text into a document, each line gets indented further than the last. Why? And how can I stop this?</a><br> <a href="#4.8c">4.8c. When I paste from Windows into a remote nano, nano rewraps the lines. What gives?<a><br> <a href="#4.9">4.9. I've compiled nano with color support, but I don't see any color when I run it!</a><br> <a href="#4.10">4.10. How do I make nano my default editor (in Pine, mutt, etc.)?</a><br> <a href="#4.11">4.11. How do I select text for or paste text from the clipboard in an X terminal when I'm running nano in one and nano's mouse support is turned on?</a><br> <a href="#4.12">4.12. On startup I get a message that says "Detected a legacy nano history file". Now older nano versions can't find my search history!</a> </p></blockquote> <h3><a href="#5">5. Internationalization</a></h3> <blockquote><p> <a href="#5.1">5.1. There's no translation for my language!</a><br> <a href="#5.2">5.2. I don't like the translation for <x> in my language. How can I fix it?</a><br> <a href="#5.3">5.3. What is the status of Unicode support?</a> </p></blockquote> <h3><a href="#6">6. Advocacy and Licensing</a></h3> <blockquote><p> <a href="#6.1">6.1. Why should I use nano instead of Pico?</a><br> <a href="#6.2">6.2. Why should I use Pico instead of nano?</a><br> <a href="#6.3">6.3. What is so bad about the older Pine license?</a><br> <a href="#6.4">6.4. Okay, well, what mail program should I use then?</a> </p></blockquote> <h3><a href="#7">7. Miscellaneous</a></h3> <blockquote><p> <a href="#7.1">7.1. Where can I ask questions or send suggestions?</a><br> <a href="#7.2">7.2. How do I submit a bug report or patch?</a><br> <a href="#7.3">7.3. I want to send the development team a big load of cash (or just a thank you).</a><br> <a href="#7.4">7.4. How do I join the development team?</a><br> <a href="#7.5">7.5. Can I have write access to the GIT tree?</a> </p></blockquote> <hr width="100%"> <h1><a name="1"></a>1. General</h1> <h3><a name="1.1"></a>1.1. What is GNU nano?</h3> <blockquote><p>GNU nano is designed to be a free replacement for the Pico text editor, part of the Pine email suite from <a href="http://www.washington.edu/pine/">The University of Washington</a>. It aims to "emulate Pico as closely as possible and then include extra functionality".</p></blockquote> <h3><a name="1.2"></a>1.2. What is the history behind nano?</h3> <blockquote><p>Funny you should ask!</p> <p><b>In the beginning...</b></p> <p>For years Pine was THE program used to read email on a Unix system. The Pico text editor is the portion of the program one would use to compose his or her mail messages. Many beginners to Unix flocked to Pico and Pine because of their well organized, easy to use interfaces. With the proliferation of GNU/Linux in the mid to late 90's, many University students became intimately familiar with the strengths (and weaknesses) of Pine and Pico.</p> <p><b>Then came Debian...</b></p> <p>The <a href="http://www.debian.org/">Debian GNU/Linux</a> distribution, known for its strict standards in distributing truly "free" software (i.e. software with no restrictions on redistribution), would not include a binary package for Pine or Pico. Many people had a serious dilemma: they loved these programs, but the versions available at the time were not truly free software in the <a href="http://www.gnu.org/philosophy/free-sw.html">GNU</a> sense of the word.</p> <p><b>The event...</b></p> <p>It was in late 1999 when Chris Allegretta (our hero) was yet again complaining to himself about the less-than-perfect license Pico was distributed under, the 1000 makefiles that came with it and how just a few small improvements could make it the Best Editor in the World (TM). Having been a convert from Slackware to Debian, he missed having a simple binary package that included Pine and Pico, and had grown tired of downloading them himself.</p> <p>Finally something snapped inside and Chris coded and hacked like a madman for many hours straight one weekend to make a (barely usable) Pico clone, at the time called TIP (Tip Isn't Pico). The program could not be invoked without a filename, could not save files, had no help text display, spell checker, and so forth. But over time it improved, and with the help of a few great coders it matured to the (hopefully) stable state it is in today.</p> <p>In February 2001, nano was declared an official GNU program by Richard Stallman. nano also reached its first production release on March 22, 2001.</p></blockquote> <h3><a name="1.3"></a>1.3. Why the name change from TIP?</h3> <blockquote><p>On January 10, 2000, TIP was officially renamed to nano because of a namespace conflict with another program called 'tip'. The original 'tip' program "establishes a full duplex terminal connection to a remote host", and was included with many older Unix systems (and newer ones like Solaris). The conflict was not noticed at first because there is no 'tip' utility included with most GNU/Linux distributions (where nano was developed).</p></blockquote> <h3><a name="1.4"></a>1.4. What is the current version of nano?</h3> <blockquote><p>The current version of nano <i>should</i> be <b>2.9.8</b>. Of course, you should always check the <a href="https://nano-editor.org/">nano homepage</a> to see what the latest and greatest version is.</p></blockquote> <h3><a name="1.5"></a>1.5. I want to read the man page without having to download the program!</h3> <blockquote><p>Jeez, demanding, aren't we? Okay, look <a href="https://nano-editor.org/dist/latest/nano.1.html">here</a>.</p></blockquote> <hr width="100%"> <h1><a name="2"></a>2. Where to get GNU nano.</h1> <h3><a name="2.1"></a>2.1. Web sites that carry nano.</h3> <blockquote><p>The nano source tarballs can be downloaded from the following web sites:</p> <ul> <li><a href="https://nano-editor.org/dist/">https://nano-editor.org/dist/</a></li> <li><a href="https://ftp.gnu.org/gnu/nano/">https://ftp.gnu.org/gnu/nano/</a></li> </ul> </blockquote> <h3><a name="2.2"></a>2.2. RPM packages (RedHat, OpenSuse, and derivatives).</h3> <blockquote> <ul> <li><a href="https://kojipkgs.fedoraproject.org//packages/nano/">https://kojipkgs.fedoraproject.org//packages/nano/</a></li> <li><a href="https://software.opensuse.org/package/nano">https://software.opensuse.org/package/nano</a></li> </ul> </blockquote> <h3><a name="2.3"></a>2.3. Deb packages (Debian and derivatives):</h3> <blockquote><p>Debian users can check out the current nano packages for:</p> <ul> <li><a href="http://packages.debian.org/stable/editors/nano">stable</a></li> <li><a href="http://packages.debian.org/testing/editors/nano">testing</a></li> <li><a href="http://packages.debian.org/unstable/editors/nano">unstable</a></li> </ul> <p>You can also have a look at the <a href="ftp://ftp.debian.org/debian/pool/main/n/nano/">Package Pool</a> to see all the available binary and source packages.</p> </blockquote> <h3><a name="2.4"></a>2.4. By GIT (for the brave).</h3> <blockquote><p>For the 'bleeding edge' current version of nano, you can use GIT to download the current source code. <b>Note:</b> believe it or not, by downloading code that has not yet stabilized into an official release, there could quite possibly be bugs, in fact the code may not even compile! Anyway, see <a href="http://git.savannah.gnu.org/cgit/nano.git/tree/README.GIT">the nano GIT document</a> for info on anonymous GIT access to the nano source.</p></blockquote> <hr width="100%"> <h1><a name="3"></a>3. Installation and Configuration</h1> <h3><a name="3.1"></a>3.1. How do I install the RPM or DEB package?</h3> <blockquote><p>It's simple really! As root, type <b>rpm -Uvh nano-x.y.z-1.i386.rpm</b> if you have a RedHat-ish system or <b>dpkg -i nano_x.y.z-1.deb</b> if you have a Debian-ish system, where <b>x.y.z</b> is the release of nano. There are other programs to install packages, and if you wish to use those, knock yourself out.</p></blockquote> <h3><a name="3.2"></a>3.2. Compiling from source: WHAT THE HECK DO I DO NOW?</h3> <blockquote><p>Okay, take a deep breath, this really isn't hard. Unpack the nano source with a command like:</p> <p><b>tar -xvf nano-x.y.z.tar.gz</b></p> <p>Then you need to run <b>configure</b> with any options you might want (if any).</p> <p>The average case is this:</p> <p><b>cd nano-x.y.z/</b><br> <b>./configure</b><br> <b>make</b><br> <b>make install</b> (as root, of course)</p></blockquote> <h3><a name="3.3"></a>3.3. Why does everything go into /usr/local?</h3> <blockquote><p>Well, that's what the <b>configure</b> script defaults to. If you wish to change this, simply do this:</p> <p><b>./configure --prefix=/usr</b></p> <p>to put nano into /usr/bin when you run <b>make install</b>.</p></blockquote> <h3><a name="3.5"></a>3.5. nano should automatically run strip on the binary when installing it!</h3> <blockquote><p>Actually, it does, but you have to use <b>make install-strip</b>. The default make install does not, and will not, run strip automatically.</p></blockquote> <h3><a name="3.6"></a>3.6. How can I make the executable smaller? This is too bloated!</h3> <blockquote><p>Actually, there are several parts of the editor that can be disabled. You can pass arguments to the <b>configure</b> script that disable certain features. Here's a brief list:</p> <pre> <b>--disable-browser</b> Disable the built-in file browser <b>--disable-color</b> Disable color and syntax highlighting <b>--disable-comment</b> Disable the comment/uncomment function <b>--disable-extra</b> Disable the easter egg <b>--disable-help</b> Disable the built-in help texts <b>--disable-histories</b> Disable the saving of search strings and cursor positions <b>--disable-justify</b> Disable the justify/unjustify functions <b>--disable-libmagic</b> Disable the use of libmagic for determining a file's syntax <b>--disable-linenumbers</b> Disable line numbering <b>--disable-mouse</b> Disable mouse support <b>--disable-multibuffer</b> Disable the opening of multiple file buffers <b>--disable-nanorc</b> Disable the use of .nanorc files <b>--disable-operatingdir</b> Disable the setting of an operating directory <b>--disable-speller</b> Disable the spell-checker functions <b>--disable-tabcomp</b> Disable the tab-completion functions <b>--disable-wordcomp</b> Disable the word-completion function <b>--disable-wrapping</b> Disable all hard-wrapping of text</pre> <p>There's also the <b>--enable-tiny</b> option which disables everything above, as well as some larger chunks of the program (like the marker code that you use with Control-^ to select text). Also, if you know you aren't going to be using other languages, you can use <b>--disable-nls</b> to disable internationalization and save a few K to a few dozen K depending on whether you have locale support on your system. And finally, there's always good old <b>strip</b> to strip all debugging code and code that exists in libraries on your system.</p> <p>With <b>--disable-wrapping-as-root</b> you can disable any hard-wrapping by default when the user is root, useful to prevent accidentally changing long lines in system configuration files.</p> </blockquote> <h3><a name="3.7"></a>3.7. Tell me more about this multibuffer stuff!</h3> <blockquote><p>To use multiple file buffers, you must not have configured nano with <b>--disable-multibuffer</b> nor with <b>--enable-tiny</b> (use <b>nano -V</b> to check the compilation options). Then when you want to insert a file into its own buffer instead of into the current file, just hit <b>Meta-F</b> after typing <b>^R</b>. If you always want files to be loaded into their own buffers, use the <b>-F</b> or <b>--multibuffer</b> flag when you invoke nano, or add <b>set multibuffer</b> to your .nanorc file.</p> <p>You can move between the buffers you have open with the <b>Meta-<</b> and <b>Meta-></b> keys, or more easily without holding Shift: <b>Meta-,</b> and <b>Meta-.</b> (clear as mud, right? =-). When you have more than one buffer open, the ^X shortcut will say "Close", instead of "Exit".</p></blockquote> <h3><a name="3.8"></a>3.8. Tell me more about this verbatim input stuff!</h3> <blockquote><p>When you want to insert a literal character into the file you're editing, such as a control character that nano usually treats as a command, first press <b>Meta-V</b> (if you're not at a prompt, you'll get the message "Verbatim Input" on the status bar), then press the key(s) that generate the character you want.</p> <p>Alternatively, if Unicode support is enabled (see section <a href="#5.3">5.3</a>), you can press <b>Meta-V</b> and then type a six-digit hexadecimal code (from 000000 to 10FFFF, case-insensitive), and the character with the corresponding value will be inserted. The status bar will change to "Unicode Input: ......" when you do this.</p></blockquote> <h3><a name="3.9a"></a>3.9a. How do I make a .nanorc file that will be read when I start nano?</h3> <blockquote><p>It's not hard at all! But, your nano must <b>not</b> have been compiled with <b>--disable-nanorc</b>. Then simply copy the <b>sample.nanorc</b> that came with the nano source or your nano package (most likely in /usr/doc/nano) to .nanorc in your home directory. If you didn't get one, the syntax of the file is simple. Flags are turned on and off by using the words <b>set</b> and <b>unset</b> plus the long option name for the feature. For example, "set nowrap" or "set smarthome".</p></blockquote> <h3><a name="3.9b"></a>3.9b. How about in Win32?</h3> <blockquote><p>If you're using the official nano .zip file and have extracted all the files, you should take the file nano.rc and place it somewhere on your Win32 system (for example, if you have write permission to do so, at the top of C:\). Then you must create an Environment variable called HOME which points to the directory where you put nano.rc. In Windows XP, you can get to Environment variables by right-clicking "My Computer" either on the desktop or in the Start Menu, and selecting Properties. This should bring up the System Properties panel. Then click the Advanced Tab, and there should be a button called Environment Variables. Click that to bring up the Environment Variables section. Now, under User Variables you should be able to click the New button, and make a new Variables Name called HOME, with the Variable Value of whatever path you copied nano.rc into (just the directory name; don't add nano.rc onto the end).</p> <p>We're still working on documentation for enabling syntax highlighting on Win32; please bear with us.</p> <p>Note that the nano.rc file must remain Unix-formatted in order for nano to understand it. In other words, you should probably use only nano to edit its config file. Other programs like Wordpad and Notepad will convert the file to DOS format when saving, and the latter does not even properly read Unix-formatted files to begin with.</p></blockquote> <hr width="100%"> <h1><a name="4"></a>4. Running</h1> <h3><a name="4.1"></a>4.1. How do I open a file with a name beginning with '+' from the command line?</h3> <blockquote><p>If a command-line option that begins with '+' is followed by another option, the former is always treated as a starting line and column number, and the latter is always treated as a filename. If a command-line option that begins with '+' isn't followed by another option, it's always treated as a filename. Examples:</p> <p>To open '+filename.txt' starting on line 1: <b>nano +filename.txt</b><br> To open '+filename.txt' starting on line 10: <b>nano +10 +filename.txt</b><br> To open '+filename.txt' starting on line 1, column 20: <b>nano +,20 +filename.txt</b><br> To open '+filename.txt' starting on line 10, column 20: <b>nano +10,20 +filename.txt</b><br> To open '+filename.txt' starting on line 1 and 'filename.txt' starting on line 40 (if nano has been compiled with multibuffer support): <b>nano +1 +filename.txt +40 filename.txt</b></p></blockquote> <h3><a name="4.2"></a>4.2. Ack! My Backspace/Delete/Enter/Meta/double bucky key doesn't seem to work! What can I do?</h3> <blockquote><p>Try setting your $TERM variable to 'vt100'. nano doesn't yet support every term entry under the sun.</p> <p>Bourne shell users (bash and sh): <b>export TERM=vt100</b><br> C Shell users (tcsh and csh): <b>setenv TERM vt100</b></p></blockquote> <h3><a name="4.3"></a>4.3. Ack! My numeric keypad's keys don't work properly when NumLock is off! What can I do?</h3> <blockquote><p>You can use the <b>-K</b> or <b>--rebindkeypad</b> option on the command line, or add the line <b>set rebindkeypad</b> to your .nanorc. However, nano's mouse support won't work properly if you do any of these things.</p></blockquote> <h3><a name="4.4"></a>4.4. Ack! When I hold down a Meta key combination for a while, the character of the held key gets inserted now and then. What gives?</h3> <blockquote><p>This was a bug in how nano handled consecutive escape sequences. It should be fixed since version 2.6.0.</p></blockquote> <h3><a name="4.5"></a>4.5. How do I type the F13-F16 keys listed in the help viewer? My keyboard only has F1-F12!</h3> <blockquote><p>It depends on the terminal type you're using. On some terminals, such as the FreeBSD console, xterm, konsole, and gnome-terminal, Shift-F1 to Shift-F4 will generate F13 to F16. On other terminals, such as the Linux console, rxvt, and Eterm, Shift-F3 to Shift-F6 will generate F13 to F16.</p></blockquote> <h3><a name="4.6"></a>4.6. nano crashes when I type <insert keystrokes here>!</h3> <blockquote><p>If you aren't trying some bizarre keystroke combination with some bizarre $TERM entry, chances are you have found a bug. You are welcome to submit it to the <a href="mailto:nano-devel@gnu.org">nano-devel</a> list or in the <a href="https://savannah.gnu.org/bugs/?group=nano">bug tracker</a> on Savannah.</p></blockquote> <h3><a name="4.7"></a>4.7. nano crashes when I resize my window. How can I fix that?</h3> <blockquote><p>Older versions of nano had this problem. Please upgrade to version 2.7.0 or newer.</p></blockquote> <h3><a name="4.8a"></a>4.8a. With what keystroke can I paste text from the clipboard into nano?</h3> <blockquote><p>In most desktop environments <b>Shift+Insert</b> will paste the contents of the clipboard.</p></blockquote> <h3><a name="4.8b"></a>4.8b. When I paste text into a document, each line gets indented further than the last. Why? And how can I stop this?</h3> <blockquote><p>You have the <i>autoindent</i> feature turned on. Hit <b>Meta-I</b> to turn it off, paste your text, and then hit <b>Meta-I</b> again to turn it back on.</p></blockquote> <h3><a name="4.8c"></a>4.8c. When I paste from Windows into a remote nano, nano rewraps the lines. What gives?</h3> <blockquote><p>When pasting from Windows, in some situations linefeeds are sent instead of carriage returns (Enters). And linefeeds are <b>^J</b>s, which make nano justify (rewrap) the current paragraph. To prevent these linefeeds from causing these unwanted justifications, add this line to your .nanorc on the remote Linux box: <b>unbind ^J main</b> or <b>bind ^J enter main</b>, depending on whether the paste contains CR + LF or only LF.</p></blockquote> <h3><a name="4.9"></a>4.9. I've compiled nano with color support, but I don't see any color when I run it!</h3> <blockquote><p>If you want nano to actually use color, you have to specify the color configurations you want it to use in your .nanorc. Several example configurations are in the <b>syntax/</b> subdirectory of the nano source, which are normally installed to <b>/usr/local/share/nano/</b>. To enable all of them, uncomment the line <b># include "/usr/local/share/nano/*.nanorc"</b> in your nanorc. See also section <a href="#3.9a">3.9a</a>.</p></blockquote> <h3><a name="4.10"></a>4.10. How do I make nano my default editor (in Pine, mutt, etc.)?</h3> <blockquote><p>You need to make nano your $EDITOR. If you want this to be saved, you should put a line like this in your <b>.bashrc</b> if you use bash (or <b>.zshrc</b> if you believe in zsh):</p> <p><b>export EDITOR=/usr/local/bin/nano</b></p> <p>or, if you use tcsh, put this in your <b>.cshrc</b> file:</p> <p><b>setenv EDITOR /usr/local/bin/nano</b></p> <p>Change /usr/local/bin/nano to wherever nano is installed on your system. Type "which nano" to find out. This will not take effect until the next time you log in. So log out and back in again.</p> <p>Then, on top of that, if you use Pine, you must go into setup (type <b>S</b> at the main menu), and then configure (type <b>C</b>). Hit Enter on the lines that say:</p> <p><b>[ ] enable-alternate-editor-cmd</b><br> <b>[ ] enable-alternate-editor-implicitly</b></p> <p>Then exit (<b>E</b>) and select Yes (<b>Y</b>).</p> <p>If you're a mutt user, you should see an effect immediately the next time you log in. No further configuration is needed. However, if you want to let people know you use nano to compose your email messages, you can put a line like this in your <b>.muttrc</b>:</p> <p><b>my_hdr X-Composer: nano x.y.z</b></p> <p>Again, replace x.y.z with the version of nano you use.</p></blockquote> <h3><a name="4.11"></a>4.11. How do I select text for or paste text from the clipboard in an X terminal when I'm running nano in one and nano's mouse support is turned on?</h3> <blockquote><p>Try holding down the Shift key and selecting or pasting the text as you normally would.</p></blockquote> <h3><a name="4.12"></a>4.12. On startup I get a message that says "Detected a legacy nano history file". Now older nano versions can't find my search history!</h3> <blockquote><p>In nano 2.3.0, cursor-position history was introduced, and both history files now reside in a .nano subdirectory in your home directory. A newer nano will move an existing search-history file to this new location so it can continue to be used. This means that if you then try and use an earlier version of nano, it will be unable to see your current search history. To fix this, run the following command:</p> <p><b>ln -sf ~/.nano/search_history ~/.nano_history</b></p> <p>The "migration service" (moving the search-history file to its new location) has been deleted from nano in late 2017, since version 2.9.0. The search-history and position-history files will now be looked for first in ~/.nano/ and, when not found there, then in ~/.local/share/nano/.</p></blockquote> <hr width="100%"> <h1><a name="5"></a>5. Internationalization</h1> <h3><a name="5.1"></a>5.1. There's no translation for my language!</h3> <blockquote><p>In June 2001, GNU nano entered the <a href="http://translationproject.org/html/welcome.html">Translation Project</a> and since then, translations should be managed from there.</p> <p>If there isn't a translation for your language, you could ask <a href="http://translationproject.org/team/">your language team</a> to translate nano, or better still, join that team and do it yourself. Joining a team is easy. You just need to ask the team leader to add you, and then send a <a href="http://translationproject.org/disclaim.txt">translation disclaimer to the FSF</a> (this is necessary as nano is an official GNU package, but it does <b>not</b> mean that you transfer the rights of your work to the FSF, it's just so the FSF can legally manage them).</p> <p>In any case, translating nano is easy. Just grab the latest <b>nano.pot</b> file listed on <a href="http://translationproject.org/domain/nano.html">nano's page</a> at the TP, and translate each <b>msgid</b> line into your native language on the <b>msgstr</b> line. When you're done, you should send it to the TP's central PO-file repository.</p></blockquote> <h3><a name="5.2"></a>5.2. I don't like the translation for <x> in my language. How can I fix it?</h3> <blockquote><p>The best way is to send an e-mail with your suggested corrections to the team's mailing list. The address is mentioned in the <code>Language-Team:</code> field in the relevant PO file. The team leader or the assigned translator can then make the changes reach the nano-devel list.</p></blockquote> <h3><a name="5.3"></a>5.3. What is the status of Unicode support?</h3> <blockquote><p>Unicode should be fully usable nowadays. When the encoding of your terminal is set to UTF-8, and your locale (mainly the LANG environment variable) is UTF-8 too, then you should be able to read, enter and save Unicode text.</p></blockquote> <hr width="100%"> <h1><a name="6"></a>6. Advocacy and Licensing</h1> <h3><a name="6.1"></a>6.1. Why should I use nano instead of Pico?</h3> <blockquote><p>There are many reasons to use nano instead of Pico. A more complete list can be found at the <a href="https://nano-editor.org/">nano homepage</a>.</p></blockquote> <h3><a name="6.2"></a>6.2. Why should I use Pico instead of nano?</h3> <blockquote><p>Again, check out the <a href="https://nano-editor.org/">nano homepage</a> for a good summary of reasons. It really is a matter of personal preference as to which editor you should use. If you're the type of person who likes using the original version of a program, then Pico is the editor for you. If you don't mind sacrificing mailer integration with Pine, and are looking for a few more features, as well as a 'better' license in terms of adding your own changes, nano is the way to go.</p> <p>Note that the last of these no longer applies to the new version of Pine, <a href="http://www.washington.edu/alpine/">Alpine</a>, which is under the Apache License, version 2.0.</p></blockquote> <h3><a name="6.3"></a>6.3. What is so bad about the older Pine license?</h3> <blockquote><p>The U of W license for older versions of Pine and Pico is not considered truly Free Software according to both the Free Software Foundation and the <a href="http://www.debian.org/social_contract#guidelines">Debian Free Software Guidelines</a>. The main problem regards the limitations on distributing derived works: according to UW, you can distribute their software, and you can modify it, but you can not do both, i.e. distribute modified binaries.</p></blockquote> <h3><a name="6.4"></a>6.4. Okay, well, what mail program should I use then?</h3> <blockquote><p>If you are looking to use a Free Software program similar to Pine, and Emacs is not your thing, you should definitely take a look at <a href="http://www.mutt.org/">mutt</a>. It is a full-screen, console based mail program that actually has a lot more flexibility than Pine, but has a keymap included in the distribution that allows you to use the same keystrokes as Pine would to send and receive mail. It's also under the GNU General Public License, version 2.0.</p> <p>Of course, due to the license change you can now use the <a href="http://www.washington.edu/alpine/">Alpine distribution</a> of PINE as it is now considered Free Software, but you would be sacrificing many of nano's features to do so.</p></blockquote> <hr width="100%"> <h1><a name="7"></a>7. Miscellaneous</h1> <h3><a name="7.1"></a>7.1. Where can I ask questions or send suggestions?</h3> <blockquote><p>There are three mailing lists for nano hosted at <a href="http://savannah.gnu.org/">Savannah</a>: info-nano, help-nano and nano-devel. info-nano is a very low traffic list where new versions of nano are announced (surprise!). help-nano is for getting help with the editor without needing to hear all of the development issues surrounding it. nano-devel is a normally low, sometimes high traffic list for discussing the present and future development of nano. Here are links to where you can sign up for a given list:</p> <p>info-nano - <a href="http://mail.gnu.org/mailman/listinfo/info-nano/">http://mail.gnu.org/mailman/listinfo/info-nano/</a><br> help-nano - <a href="http://mail.gnu.org/mailman/listinfo/help-nano/">http://mail.gnu.org/mailman/listinfo/help-nano/</a><br> nano-devel - <a href="http://mail.gnu.org/mailman/listinfo/nano-devel/">http://mail.gnu.org/mailman/listinfo/nano-devel/</a></p></blockquote> <h3><a name="7.2"></a>7.3. How do I submit a bug report or patch?</h3> <blockquote> <p>The best way to submit bugs is through the <a href="https://savannah.gnu.org/bugs/?group=nano">Savannah bug tracker</a>, as you can check whether the bug you are reporting has already been submitted, and it makes it easier for the maintainers to keep track of them. <p>You can submit patches for nano via <a href="https://savannah.gnu.org/patch/?group=nano">Savannah's patch manager</a>.</p></blockquote> <h3><a name="7.3"></a>7.3. I want to send the development team a big load of cash (or just a thank you).</h3> <blockquote><p>That's fine. Send it <a href="mailto:nano-devel@gnu.org">our way</a>! Better yet, fix a <a href="https://savannah.gnu.org/bugs/?group=nano">bug</a> in the program or implement a <a href="https://nano-editor.org/dist/latest/TODO">cool feature</a> and send us that instead (though cash is fine too).</p></blockquote> <h3><a name="7.4"></a>7.4. How do I join the development team?</h3> <blockquote><p>The easiest way is to consistently send in good patches that add some needed functionality, fix a bug or two, and/or make the program more optimized/efficient. Then ask nicely and you will probably be added to the Savannah development list and be given write access after a while. There is a lot of responsibility that goes along with being a team member, so don't think it's just something to add to your resume.</p></blockquote> <h3><a name="7.5"></a>7.5. Can I have write access to the git tree?</h3> <blockquote><p>Re-read section <a href="#7.4">7.4</a> and you should know the answer.</p></blockquote> <hr width="100%"> </body> </html> nano.html000064400000231540151702644640006403 0ustar00<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>nano</title> <meta name="description" content="nano"> <meta name="keywords" content="nano"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> <link href="#Top" rel="start" title="Top"> <link href="#SEC_Contents" rel="contents" title="Table of Contents"> <link href="dir.html#Top" rel="up" title="(dir)"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} --> </style> </head> <body lang="en"> <h1 class="settitle" align="center">nano</h1> <a name="Top"></a> <a name="SEC_Top"></a> <p>This manual documents the GNU <code>nano</code> editor, version 2.9.8. </p> <table class="menu" border="0" cellspacing="0"> <tr><td align="left" valign="top">• <a href="#Introduction" accesskey="1">Introduction</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Invoking" accesskey="2">Invoking</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Command_002dline-Options" accesskey="3">Command-line Options</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Editor-Basics" accesskey="4">Editor Basics</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Built_002din-Help" accesskey="5">Built-in Help</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Feature-Toggles" accesskey="6">Feature Toggles</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Nanorc-Files" accesskey="7">Nanorc Files</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#The-File-Browser" accesskey="8">The File Browser</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Pico-Compatibility" accesskey="9">Pico Compatibility</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Building-and-Configure-Options">Building and Configure Options</a>:</td><td> </td><td align="left" valign="top"> </td></tr> </table> <hr> <a name="Introduction"></a> <a name="Introduction-1"></a> <h2 class="chapter">1 Introduction</h2> <p>GNU <code>nano</code> is a small and friendly text editor. Besides basic text editing, <code>nano</code> offers many extra features, such as an interactive search-and-replace, undo/redo, syntax coloring, smooth scrolling, auto-indentation, go-to-line-and-column-number, feature toggles, file locking, backup files, and internationalization support. </p> <p>The original goal for <code>nano</code> was to be a complete bug-for-bug emulation of Pico. But currently the goal is to be as compatible as possible while offering a superset of Pico’s functionality. See <a href="#Pico-Compatibility">Pico Compatibility</a> for more details on how <code>nano</code> and Pico differ. </p> <p>Please report bugs via <a href="https://savannah.gnu.org/bugs/?group=nano">https://savannah.gnu.org/bugs/?group=nano</a>. </p> <hr> <a name="Invoking"></a> <a name="Invoking-1"></a> <h2 class="chapter">2 Invoking</h2> <p>The usual way to invoke <code>nano</code> is: </p> <div class="example"> <pre class="example"><code>nano [FILE]</code> </pre></div> <p>But it is also possible to specify one or more options (see the next section), and to edit several files in a row. Additionally, the cursor can be put on a specific line of a file by adding the line number with a plus sign before the filename, and even in a specific column by adding it with a comma. So a more complete command synopsis is: </p> <div class="example"> <pre class="example"><code>nano [OPTION]… [[+LINE[,COLUMN]|+,COLUMN] FILE]…</code> </pre></div> <p>Normally, however, you set your preferred options in a <samp>nanorc</samp> file (see <a href="#Nanorc-Files">Nanorc Files</a>). And when using <code>set positionlog</code> (making <code>nano</code> remember the cursor position when you close a file), you will rarely need to specify a line number. </p> <p>As a special case: when instead of a filename a dash is given, <code>nano</code> will read data from standard input. This means you can pipe the output of a command straight into a buffer, and then edit it. </p> <hr> <a name="Command_002dline-Options"></a> <a name="Command_002dline-Options-1"></a> <h2 class="chapter">3 Command-line Options</h2> <p><code>nano</code> takes the following options from the command line: </p> <dl compact="compact"> <dt><samp>-A</samp></dt> <dt><samp>--smarthome</samp></dt> <dd><p>Make the Home key smarter. When Home is pressed anywhere but at the very beginning of non-whitespace characters on a line, the cursor will jump to that beginning (either forwards or backwards). If the cursor is already at that position, it will jump to the true beginning of the line. </p> </dd> <dt><samp>-B</samp></dt> <dt><samp>--backup</samp></dt> <dd><p>When saving a file, back up the previous version of it, using the current filename suffixed with a tilde (<code>~</code>). </p> </dd> <dt><samp>-C <var>directory</var></samp></dt> <dt><samp>--backupdir=<var>directory</var></samp></dt> <dd><p>Make and keep not just one backup file, but make and keep a uniquely numbered one every time a file is saved — when backups are enabled. The uniquely numbered files are stored in the specified directory. </p> </dd> <dt><samp>-D</samp></dt> <dt><samp>--boldtext</samp></dt> <dd><p>Use bold text instead of reverse video text. </p> </dd> <dt><samp>-E</samp></dt> <dt><samp>--tabstospaces</samp></dt> <dd><p>Convert typed tabs to spaces. </p> </dd> <dt><samp>-F</samp></dt> <dt><samp>--multibuffer</samp></dt> <dd><p>Read a file into a new buffer by default. </p> </dd> <dt><samp>-G</samp></dt> <dt><samp>--locking</samp></dt> <dd><p>Enable vim-style file locking when editing files. </p> </dd> <dt><samp>-H</samp></dt> <dt><samp>--historylog</samp></dt> <dd><p>Save the last hundred search strings and replacement strings and executed commands, so they can be easily reused in later sessions. </p> </dd> <dt><samp>-I</samp></dt> <dt><samp>--ignorercfiles</samp></dt> <dd><p>Don’t look at the system’s nanorc file nor at the user’s nanorc. </p> </dd> <dt><samp>-K</samp></dt> <dt><samp>--rebindkeypad</samp></dt> <dd><p>Interpret the numeric keypad keys so that they all work properly. You should only need to use this option if they don’t, as mouse support won’t work properly with this option enabled. </p> </dd> <dt><samp>-L</samp></dt> <dt><samp>--nonewlines</samp></dt> <dd><p>Don’t automatically add a newline when a file does not end with one. </p> </dd> <dt><samp>-M</samp></dt> <dt><samp>--trimblanks</samp></dt> <dd><p>Snip trailing whitespace from the wrapped line when automatic hard-wrapping occurs or when text is justified. </p> </dd> <dt><samp>-N</samp></dt> <dt><samp>--noconvert</samp></dt> <dd><p>Disable automatic conversion of files from DOS/Mac format. </p> </dd> <dt><samp>-O</samp></dt> <dt><samp>--morespace</samp></dt> <dd><p>Use the blank line below the title bar as extra editing space. </p> </dd> <dt><samp>-P</samp></dt> <dt><samp>--positionlog</samp></dt> <dd><p>For the 200 most recent files, log the last position of the cursor, and place it at that position again upon reopening such a file. </p> </dd> <dt><samp>-Q "<var>regex</var>"</samp></dt> <dt><samp>--quotestr="<var>regex</var>"</samp></dt> <dd><p>Set the regular expression for matching the quoting part of a line, used when justifying. The default value is <tt>"^([ <!-- /@w -->\t]*([#:>|}]|//))+"</tt>. Note that <code>\t</code> stands for a literal Tab character. </p> </dd> <dt><samp>-R</samp></dt> <dt><samp>--restricted</samp></dt> <dd><p>Restricted mode: don’t read or write to any file not specified on the command line; don’t read any nanorc files nor history files; don’t allow suspending nor spell checking; don’t allow a file to be appended to, prepended to, or saved under a different name if it already has one; and don’t use backup files. This restricted mode is also accessible by invoking <code>nano</code> with any name beginning with <code>r</code> (e.g. <code>rnano</code>). </p> </dd> <dt><samp>-S</samp></dt> <dt><samp>--smooth</samp></dt> <dd><p>Enable smooth scrolling. Text will scroll line-by-line, instead of the usual chunk-by-chunk behavior. </p> </dd> <dt><samp>-T <var>number</var></samp></dt> <dt><samp>--tabsize=<var>number</var></samp></dt> <dd><p>Set the displayed tab length to <var>number</var> columns. The value of <var>number</var> must be greater than 0. The default value is <tt>8</tt>. </p> </dd> <dt><samp>-U</samp></dt> <dt><samp>--quickblank</samp></dt> <dd><p>Do quick status-bar blanking: status-bar messages will disappear after 1 keystroke instead of 25. Note that option <samp>-c</samp> (<samp>--constantshow</samp>) overrides this. </p> </dd> <dt><samp>-V</samp></dt> <dt><samp>--version</samp></dt> <dd><p>Show the current version number and exit. </p> </dd> <dt><samp>-W</samp></dt> <dt><samp>--wordbounds</samp></dt> <dd><p>Detect word boundaries differently by treating punctuation characters as parts of words. </p> </dd> <dt><samp>-X "<var>characters</var>"</samp></dt> <dt><samp>--wordchars="<var>characters</var>"</samp></dt> <dd><p>Specify which other characters (besides the normal alphanumeric ones) should be considered as parts of words. This overrides option <samp>-W</samp> (<samp>--wordbounds</samp>). </p> </dd> <dt><samp>-Y <var>name</var></samp></dt> <dt><samp>--syntax=<var>name</var></samp></dt> <dd><p>Specify the syntax to be used for highlighting. See <a href="#Syntax-Highlighting">Syntax Highlighting</a> for more info. </p> </dd> <dt><samp>-a</samp></dt> <dt><samp>--atblanks</samp></dt> <dd><p>When doing soft line wrapping, wrap lines at whitespace instead of always at the edge of the screen. </p> </dd> <dt><samp>-c</samp></dt> <dt><samp>--constantshow</samp></dt> <dd><p>Constantly display the cursor position (line number, column number, and character number) on the status bar. Note that this overrides option <samp>-U</samp> (<samp>--quickblank</samp>). </p> </dd> <dt><samp>-d</samp></dt> <dt><samp>--rebinddelete</samp></dt> <dd><p>Interpret the Delete key differently so that both Backspace and Delete work properly. You should only need to use this option if Backspace acts like Delete on your system. </p> </dd> <dt><samp>-g</samp></dt> <dt><samp>--showcursor</samp></dt> <dd><p>Make the cursor visible in the file browser, putting it on the highlighted item. Useful for braille users. </p> </dd> <dt><samp>-h</samp></dt> <dt><samp>--help</samp></dt> <dd><p>Show a summary of command-line options and exit. </p> </dd> <dt><samp>-i</samp></dt> <dt><samp>--autoindent</samp></dt> <dd><p>Automatically indent a newly created line to the same number of tabs and/or spaces as the previous line (or as the next line if the previous line is the beginning of a paragraph). </p> </dd> <dt><samp>-k</samp></dt> <dt><samp>--cutfromcursor</samp></dt> <dd><p>Make the ’Cut Text’ command (normally <kbd>^K</kbd>) cut from the current cursor position to the end of the line, instead of cutting the entire line. </p> </dd> <dt><samp>-l</samp></dt> <dt><samp>--linenumbers</samp></dt> <dd><p>Display line numbers to the left of the text area. </p> </dd> <dt><samp>-m</samp></dt> <dt><samp>--mouse</samp></dt> <dd><p>Enable mouse support, if available for your system. When enabled, mouse clicks can be used to place the cursor, set the mark (with a double click), and execute shortcuts. The mouse will work in the X Window System, and on the console when gpm is running. Text can still be selected through dragging by holding down the Shift key. </p> </dd> <dt><samp>-n</samp></dt> <dt><samp>--noread</samp></dt> <dd><p>Treat any name given on the command line as a new file. This allows <code>nano</code> to write to named pipes: it will start with a blank buffer, and will write to the pipe when the user saves the "file". This way <code>nano</code> can be used as an editor in combination with for instance <code>gpg</code> without having to write sensitive data to disk first. </p> </dd> <dt><samp>-o <var>directory</var></samp></dt> <dt><samp>--operatingdir=<var>directory</var></samp></dt> <dd><p>Set the operating directory. This makes <code>nano</code> set up something similar to a chroot. </p> </dd> <dt><samp>-p</samp></dt> <dt><samp>--preserve</samp></dt> <dd><p>Preserve the <kbd>^Q</kbd> (XON) and <kbd>^S</kbd> (XOFF) sequences so data being sent to the editor can be stopped and started. </p> </dd> <dt><samp>-q</samp></dt> <dt><samp>--quiet</samp></dt> <dd><p>Obsolete option. Recognized but ignored. </p> </dd> <dt><samp>-r <var>number</var></samp></dt> <dt><samp>--fill=<var>number</var></samp></dt> <dd><p>Hard-wrap lines at column <var>number</var> (by inserting a newline character). If the given value is 0 or less, wrapping will occur at the width of the screen minus the given amount, allowing the wrapping width to vary along with the width of the screen if and when it is resized. The default value is <tt>-8</tt>. This option conflicts with <samp>-w</samp> (<samp>--nowrap</samp>); the last one given takes effect. </p> <a name="g_t_002d_002dspeller"></a></dd> <dt><samp>-s <var>program</var></samp></dt> <dt><samp>--speller=<var>program</var></samp></dt> <dd><p>Use the given program to do spell checking and correcting. By default, <code>nano</code> uses the command specified in the <code>SPELL</code> environment variable. If <code>SPELL</code> is not set, and <samp>--speller</samp> is not specified either, then <code>nano</code> uses its own interactive spell corrector, which requires the GNU <code>spell</code> program to be installed. </p> </dd> <dt><samp>-t</samp></dt> <dt><samp>--tempfile</samp></dt> <dd><p>Don’t ask whether to save a modified buffer when exiting with <kbd>^X</kbd>, but assume yes. This option is useful when <code>nano</code> is used as the composer of a mailer program. </p> </dd> <dt><samp>-u</samp></dt> <dt><samp>--unix</samp></dt> <dd><p>Save a file by default in Unix format. This overrides nano’s default behavior of saving a file in the format that it had. (This option has no effect when you also use <samp>--noconvert</samp>.) </p> </dd> <dt><samp>-v</samp></dt> <dt><samp>--view</samp></dt> <dd><p>Don’t allow the contents of the file to be altered. Note that this option should NOT be used in place of correct file permissions to implement a read-only file. </p> </dd> <dt><samp>-w</samp></dt> <dt><samp>--nowrap</samp></dt> <dd><p>Don’t hard-wrap long lines at any length. This option conflicts with <samp>-r</samp> (<samp>--fill</samp>); the last one given takes effect. </p> <a name="Expert-Mode"></a></dd> <dt><samp>-x</samp></dt> <dt><samp>--nohelp</samp></dt> <dd><p>Expert Mode: don’t show the Shortcut List at the bottom of the screen. This affects the location of the status bar as well, as in Expert Mode it is located at the very bottom of the editor. </p> <p>Note: When accessing the help system, Expert Mode is temporarily disabled to display the help-system navigation keys. </p> </dd> <dt><samp>-y</samp></dt> <dt><samp>--afterends</samp></dt> <dd><p>Make Ctrl+Right stop at word ends instead of beginnings. </p> </dd> <dt><samp>-z</samp></dt> <dt><samp>--suspend</samp></dt> <dd><p>Enable the ability to suspend <code>nano</code> using the system’s suspend keystroke (usually <kbd>^Z</kbd>). </p> </dd> <dt><samp>-$</samp></dt> <dt><samp>--softwrap</samp></dt> <dd><p>Enable ’soft wrapping’. This will make <code>nano</code> attempt to display the entire contents of any line, even if it is longer than the screen width, by continuing it over multiple screen lines. Since <code>$</code> normally refers to a variable in the Unix shell, you should specify this option last when using other options (e.g. <code>nano -wS$</code>) or pass it separately (e.g. <code>nano -wS -$</code>). </p> </dd> <dt><samp>-b</samp></dt> <dt><samp>-e</samp></dt> <dt><samp>-f</samp></dt> <dt><samp>-j</samp></dt> <dd><p>Ignored, for compatibility with Pico. </p> </dd> </dl> <hr> <a name="Editor-Basics"></a> <a name="Editor-Basics-1"></a> <h2 class="chapter">4 Editor Basics</h2> <table class="menu" border="0" cellspacing="0"> <tr><td align="left" valign="top">• <a href="#Entering-Text" accesskey="1">Entering Text</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Commands" accesskey="2">Commands</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#The-Cutbuffer" accesskey="3">The Cutbuffer</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#The-Mark" accesskey="4">The Mark</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Screen-Layout" accesskey="5">Screen Layout</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Search-and-Replace" accesskey="6">Search and Replace</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Using-the-Mouse" accesskey="7">Using the Mouse</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Limitations" accesskey="8">Limitations</a>:</td><td> </td><td align="left" valign="top"> </td></tr> </table> <hr> <a name="Entering-Text"></a> <a name="Entering-Text-1"></a> <h3 class="section">4.1 Entering Text</h3> <p><code>nano</code> is a "modeless" editor. This means that all keystrokes, with the exception of Control and Meta sequences, enter text into the file being edited. </p> <p>Characters not present on the keyboard can be entered in two ways: </p> <ul> <li> For characters with a single-byte code, pressing the Esc key twice and then typing a three-digit decimal number (from <kbd>000</kbd> to <kbd>255</kbd>) will make <code>nano</code> behave as if you typed the key with that value. </li><li> For any possible character, pressing <kbd>M-V</kbd> (Alt+V) and then typing a six-digit hexadecimal number (starting with <kbd>0</kbd> or <kbd>1</kbd>) will enter the corresponding Unicode character into the buffer. </li></ul> <p>For example, typing <kbd>Esc Esc 2 3 4</kbd> will enter the character "ê" — useful when writing about a French party. Typing <kbd>M-V 0 0 2 2 c 4</kbd> will enter the symbol "⋄", a little diamond. </p> <hr> <a name="Commands"></a> <a name="Commands-1"></a> <h3 class="section">4.2 Commands</h3> <p>Commands are given by using the Control key (Ctrl, shown as <kbd>^</kbd>) or the Meta key (Alt or Cmd, shown as <kbd>M-</kbd>). </p> <ul> <li> A control-key sequence is entered by holding down the Ctrl key and pressing the desired key. </li><li> A meta-key sequence is entered by holding down the Meta key (normally the Alt key) and pressing the desired key. </li></ul> <p>If for some reason on your system the combinations with Ctrl or Alt do not work, you can generate them by using the Esc key. A control-key sequence is generated by pressing the Esc key twice and then pressing the desired key, and a meta-key sequence by pressing the Esc key once and then pressing the desired key. </p> <hr> <a name="The-Cutbuffer"></a> <a name="The-Cutbuffer-1"></a> <h3 class="section">4.3 The Cutbuffer</h3> <p>Text can be cut from a file, a whole line at a time, by using the ’Cut Text’ command (default key binding: <kbd>^K</kbd>). The cut line is stored in the cutbuffer. Consecutive strokes of <kbd>^K</kbd> will add each cut line to this buffer, but a <kbd>^K</kbd> after any other keystroke will overwrite the entire cutbuffer. </p> <p>The contents of the cutbuffer can be pasted back into the file with the ’Uncut Text’ command (default key binding: <kbd>^U</kbd>). </p> <p>A line of text can be copied into the cutbuffer (without cutting it) with the ’Copy Text’ command (default key binding: <kbd>M-6</kbd>). </p> <hr> <a name="The-Mark"></a> <a name="The-Mark-1"></a> <h3 class="section">4.4 The Mark</h3> <p>Text can be selected by first ’setting the Mark’ (default key bindings: <kbd>^6</kbd> and <kbd>M-A</kbd>) and then moving the cursor to the other end of the portion to be selected. The selected portion of text will be highlighted. This selection can now be cut or copied in its entirety with a single <kbd>^K</kbd> or <kbd>M-6</kbd>. Or the selection can be used to limit the scope of a search-and-replace (<kbd>^\</kbd>) or spell-checking session (<kbd>^T</kbd>). </p> <p>On some terminals, it is also possible to select text by holding down <kbd>Shift</kbd> together with the cursor keys. Such a selection is cancelled upon any cursor movement where <kbd>Shift</kbd> isn’t held. </p> <p>Cutting or copying selected text will toggle the mark off automatically. If necessary, it can be toggled off manually with another <kbd>^6</kbd> or <kbd>M-A</kbd>. </p> <hr> <a name="Screen-Layout"></a> <a name="Screen-Layout-1"></a> <h3 class="section">4.5 Screen Layout</h3> <p>The default screen of nano consists of five areas. From top to bottom these are: the title bar, a blank line, the edit window, the status bar, and two help lines. </p> <p>The title bar consists of three sections: left, center and right. The section on the left displays the version of <code>nano</code> being used. The center section displays the current filename, or "New Buffer" if the file has not yet been named. The section on the right displays "Modified" if the file has been modified since it was last saved or opened. </p> <p>The status bar is the third line from the bottom of the screen. It shows important and informational messages. Any error messages that occur from using the editor will appear on the status bar. Any questions that are asked of the user will be asked on the status bar, and any user input (search strings, filenames, etc.) will be input on the status bar. </p> <p>The two help lines at the bottom of the screen show some of the most essential functions of the editor. These two lines are called the Shortcut List. </p> <hr> <a name="Search-and-Replace"></a> <a name="Search-and-Replace-1"></a> <h3 class="section">4.6 Search and Replace</h3> <p>One can search the current buffer for the occurrence of any string with the Search command (default key binding: <kbd>^W</kbd>). The default search mode is forward, case-insensitive, and for literal strings. But one can search backwards by pressing <kbd>M-B</kbd>, search case sensitively with <kbd>M-C</kbd>, and interpret regular expressions in the search string with <kbd>M-R</kbd>. </p> <p>A regular expression in a search string always covers just one line; it cannot span multiple lines. And when replacing (with <kbd>^\</kbd> or <kbd>M-R</kbd>) the replacement string cannot contain a newline (LF). </p> <hr> <a name="Using-the-Mouse"></a> <a name="Using-the-Mouse-1"></a> <h3 class="section">4.7 Using the Mouse</h3> <p>When mouse support has been configured and enabled, a single mouse click places the cursor at the indicated position. Clicking a second time in the same position toggles the mark. Clicking in the shortcut list executes the selected shortcut. To be able to select text with the left button, or paste text with the middle button, hold down the Shift key during those actions. </p> <p>The mouse will work in the X Window System, and on the console when gpm is running. </p> <hr> <a name="Limitations"></a> <a name="Limitations-1"></a> <h3 class="section">4.8 Limitations</h3> <p>Justifications (<kbd>^J</kbd>) are not yet covered by the general undo system. So after a justification that is not immediately undone, earlier edits cannot be undone any more. The workaround is, of course, to exit without saving. </p> <p>The recording and playback of keyboard macros works correctly only on a terminal emulator, not on a Linux console (VT), because the latter does not by default distinguish modified from unmodified arrow keys. </p> <hr> <a name="Built_002din-Help"></a> <a name="Built_002din-Help-1"></a> <h2 class="chapter">5 Built-in Help</h2> <p>The built-in help system in <code>nano</code> is available by pressing <kbd>^G</kbd>. It is fairly self-explanatory. It documents the various parts of the editor and the available keystrokes. Navigation is via the <kbd>^Y</kbd> (Page Up) and <kbd>^V</kbd> (Page Down) keys. <kbd>^X</kbd> exits from the help system. </p> <hr> <a name="Feature-Toggles"></a> <a name="Feature-Toggles-1"></a> <h2 class="chapter">6 Feature Toggles</h2> <p>Toggles allow you to change on-the-fly certain aspects of the editor which would normally be specified via command-line options. They are invoked via Meta-key sequences (see <a href="#Commands">Commands</a> for more info). The following global toggles are available: </p> <dl compact="compact"> <dt><code>Backup Files</code></dt> <dd><p><kbd>Meta-B</kbd> toggles the <samp>-B</samp> (<samp>--backup</samp>) command-line option. </p> </dd> <dt><code>Constant Cursor Position Display</code></dt> <dd><p><kbd>Meta-C</kbd> toggles the <samp>-c</samp> (<samp>--constantshow</samp>) command-line option. </p> </dd> <dt><code>Multiple File Buffers</code></dt> <dd><p><kbd>Meta-F</kbd> toggles the <samp>-F</samp> (<samp>--multibuffer</samp>) command-line option. </p> </dd> <dt><code>Smart Home Key</code></dt> <dd><p><kbd>Meta-H</kbd> toggles the <samp>-A</samp> (<samp>--smarthome</samp>) command-line option. </p> </dd> <dt><code>Auto Indent</code></dt> <dd><p><kbd>Meta-I</kbd> toggles the <samp>-i</samp> (<samp>--autoindent</samp>) command-line option. </p> </dd> <dt><code>Cut From Cursor To End-of-Line</code></dt> <dd><p><kbd>Meta-K</kbd> toggles the <samp>-k</samp> (<samp>--cutfromcursor</samp>) command-line option. </p> </dd> <dt><code>Long-Line Wrapping</code></dt> <dd><p><kbd>Meta-L</kbd> toggles the <samp>-w</samp> (<samp>--nowrap</samp>) command-line option. </p> </dd> <dt><code>Mouse Support</code></dt> <dd><p><kbd>Meta-M</kbd> toggles the <samp>-m</samp> (<samp>--mouse</samp>) command-line option. </p> </dd> <dt><code>No Conversion From DOS/Mac Format</code></dt> <dd><p><kbd>Meta-N</kbd> toggles the <samp>-N</samp> (<samp>--noconvert</samp>) command-line option. </p> </dd> <dt><code>More Space For Editing</code></dt> <dd><p><kbd>Meta-O</kbd> toggles the <samp>-O</samp> (<samp>--morespace</samp>) command-line option. </p> </dd> <dt><code>Whitespace Display</code></dt> <dd><p><kbd>Meta-P</kbd> toggles the displaying of whitespace (see <a href="#Whitespace">Whitespace</a>). </p> </dd> <dt><code>Tabs To Spaces</code></dt> <dd><p><kbd>Meta-Q</kbd> toggles the <samp>-E</samp> (<samp>--tabstospaces</samp>) command-line option. </p> </dd> <dt><code>Smooth Scrolling</code></dt> <dd><p><kbd>Meta-S</kbd> toggles the <samp>-S</samp> (<samp>--smooth</samp>) command-line option. </p> </dd> <dt><code>Expert/No Help</code></dt> <dd><p><kbd>Meta-X</kbd> toggles the <samp>-x</samp> (<samp>--nohelp</samp>) command-line option. </p> </dd> <dt><code>Color Syntax Highlighting</code></dt> <dd><p><kbd>Meta-Y</kbd> toggles color syntax highlighting (if your nanorc defines syntaxes — see <a href="#Syntax-Highlighting">Syntax Highlighting</a>). </p> </dd> <dt><code>Suspension</code></dt> <dd><p><kbd>Meta-Z</kbd> toggles the <samp>-z</samp> (<samp>--suspend</samp>) command-line option. </p> </dd> <dt><code>Line Numbers</code></dt> <dd><p><kbd>Meta-#</kbd> toggles the <samp>-l</samp> (<samp>--linenumbers</samp>) command-line option. </p> </dd> <dt><code>Soft Wrapping</code></dt> <dd><p><kbd>Meta-$</kbd> toggles the <samp>-$</samp> (<samp>--softwrap</samp>) command-line option. </p> </dd> </dl> <hr> <a name="Nanorc-Files"></a> <a name="Nanorc-Files-1"></a> <h2 class="chapter">7 Nanorc Files</h2> <p>The nanorc files contain the default settings for <code>nano</code>. They should be in Unix format, not in DOS or Mac format. During startup, <code>nano</code> will first read the system-wide settings, from /etc/nanorc (the exact path might be different), and then the user-specific settings, either from <samp>~/.nanorc</samp> or from <samp>$XDG_CONFIG_HOME/nano/nanorc</samp> or from <samp>.config/nano/nanorc</samp>, whichever exists first. </p> <p>A nanorc file accepts a series of "set" and "unset" commands, which can be used to configure <code>nano</code> on startup without using command-line options. Additionally, there are some commands to define syntax highlighting and to rebind keys — see <a href="#Syntax-Highlighting">Syntax Highlighting</a> and <a href="#Rebinding-Keys">Rebinding Keys</a>. <code>nano</code> will read one command per line. </p> <p>Options in nanorc files take precedence over <code>nano</code>’s defaults, and command-line options override nanorc settings. Also, options that do not take an argument are unset by default. So using the <code>unset</code> command is only needed when wanting to override a setting of the system’s nanorc file in your own nanorc. Options that take an argument cannot be unset. </p> <p>Quotes inside string parameters don’t have to be escaped with backslashes. The last double quote in the string will be treated as its end. For example, for the <code>brackets</code> option, <tt>""')>]}"</tt> will match <code>"</code>, <code>'</code>, <code>)</code>, <code>></code>, <code>]</code>, and <code>}</code>. </p> <table class="menu" border="0" cellspacing="0"> <tr><td align="left" valign="top">• <a href="#Settings" accesskey="1">Settings</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Syntax-Highlighting" accesskey="2">Syntax Highlighting</a>:</td><td> </td><td align="left" valign="top"> </td></tr> <tr><td align="left" valign="top">• <a href="#Rebinding-Keys" accesskey="3">Rebinding Keys</a>:</td><td> </td><td align="left" valign="top"> </td></tr> </table> <hr> <a name="Settings"></a> <a name="Settings-1"></a> <h3 class="section">7.1 Settings</h3> <p>The supported settings in a nanorc file are: </p> <dl compact="compact"> <dt><code>set afterends</code></dt> <dd><p>Make Ctrl+Right stop at word ends instead of beginnings. </p> </dd> <dt><code>set allow_insecure_backup</code></dt> <dd><p>When backing up files, allow the backup to succeed even if its permissions can’t be (re)set due to special OS considerations. You should NOT enable this option unless you are sure you need it. </p> </dd> <dt><code>set atblanks</code></dt> <dd><p>When soft line wrapping is enabled, make it wrap lines at blank characters (tabs and spaces) instead of always at the edge of the screen. </p> </dd> <dt><code>set autoindent</code></dt> <dd><p>Automatically indent a newly created line to the same number of tabs and/or spaces as the previous line (or as the next line if the previous line is the beginning of a paragraph). </p> </dd> <dt><code>set backup</code></dt> <dd><p>When saving a file, back up the previous version of it, using the current filename suffixed with a tilde (<code>~</code>). </p> </dd> <dt><code>set backupdir "<var>directory</var>"</code></dt> <dd><p>Make and keep not just one backup file, but make and keep a uniquely numbered one every time a file is saved — when backups are enabled with <code>set backup</code> or <samp>--backup</samp> or <samp>-B</samp>. The uniquely numbered files are stored in the specified directory. </p> </dd> <dt><code>set backwards</code></dt> <dd><p>Obsolete option. Recognized but ignored. <code>^Q</code> is available to start a backward search. </p> </dd> <dt><code>set boldtext</code></dt> <dd><p>Use bold instead of reverse video for the title bar, status bar, key combos, function tags, line numbers, and selected text. This can be overridden by setting the options <code>titlecolor</code>, <code>statuscolor</code>, <code>keycolor</code>, <code>functioncolor</code>, <code>numbercolor</code>, and <code>selectedcolor</code>. </p> </dd> <dt><code>set brackets "<var>string</var>"</code></dt> <dd><p>Set the characters treated as closing brackets when justifying paragraphs. This may not include blank characters. Only closing punctuation (see <code>set punct</code>), optionally followed by the specified closing brackets, can end sentences. The default value is <tt>""')>]}"</tt>. </p> </dd> <dt><code>set casesensitive</code></dt> <dd><p>Do case-sensitive searches by default. </p> </dd> <dt><code>set constantshow</code></dt> <dd><p>Constantly display the cursor position on the status bar. Note that this overrides <samp>quickblank</samp>. </p> </dd> <dt><code>set cutfromcursor</code></dt> <dd><p>Use cut-from-cursor-to-end-of-line by default, instead of cutting the whole line. (The old form of this option, <code>set cut</code>, is deprecated.) </p> </dd> <dt><code>set errorcolor <var>fgcolor</var>,<var>bgcolor</var></code></dt> <dd><p>Use this color combination for the status bar when an error message is displayed. See <a href="#set-functioncolor"><code>set functioncolor</code></a> for valid color names. </p> </dd> <dt><code>set fill <var>number</var></code></dt> <dd><p>Hard-wrap lines at column number <var>number</var>. If <var>number</var> is 0 or less, the maximum line length will be the screen width less <var>number</var> columns. The default value is <tt>-8</tt>. This option conflicts with <samp>nowrap</samp>; the last one given takes effect. </p> <a name="set-functioncolor"></a></dd> <dt><code>set functioncolor <var>fgcolor</var>,<var>bgcolor</var></code></dt> <dd><p>Use this color combination for the concise function descriptions in the two help lines at the bottom of the screen. Valid names for foreground and background color are: <code>white</code>, <code>black</code>, <code>blue</code>, <code>green</code>, <code>red</code>, <code>cyan</code>, <code>yellow</code>, <code>magenta</code>, and <code>normal</code> — where <code>normal</code> means the default foreground or background color. The name of the foreground color may be prefixed with <code>bright</code>. And either <var>fgcolor</var> or ,<var>bgcolor</var> may be left out. </p> </dd> <dt><code>set historylog</code></dt> <dd><p>Save the last hundred search strings and replacement strings and executed commands, so they can be easily reused in later sessions. </p> </dd> <dt><code>set keycolor <var>fgcolor</var>,<var>bgcolor</var></code></dt> <dd><p>Use this color combination for the shortcut key combos in the two help lines at the bottom of the screen. See <a href="#set-functioncolor"><code>set functioncolor</code></a> for valid color names. </p> </dd> <dt><code>set linenumbers</code></dt> <dd><p>Display line numbers to the left of the text area. </p> </dd> <dt><code>set locking</code></dt> <dd><p>Enable vim-style lock-files for when editing files. </p> </dd> <dt><code>set matchbrackets "<var>string</var>"</code></dt> <dd><p>Set the opening and closing brackets that can be found by bracket searches. This may not include blank characters. The opening set must come before the closing set, and the two sets must be in the same order. The default value is <tt>"(<[{)>]}"</tt>. </p> </dd> <dt><code>set morespace</code></dt> <dd><p>Use the blank line below the title bar as extra editing space. </p> </dd> <dt><code>set mouse</code></dt> <dd><p>Enable mouse support, so that mouse clicks can be used to place the cursor, set the mark (with a double click), or execute shortcuts. </p> </dd> <dt><code>set multibuffer</code></dt> <dd><p>When reading in a file with <kbd>^R</kbd>, insert it into a new buffer by default. </p> </dd> <dt><code>set noconvert</code></dt> <dd><p>Don’t convert files from DOS/Mac format. </p> </dd> <dt><code>set nohelp</code></dt> <dd><p>Don’t display the help lists at the bottom of the screen. </p> </dd> <dt><code>set nonewlines</code></dt> <dd><p>When a file does not end with a newline, don’t automatically add one. </p> </dd> <dt><code>set nopauses</code></dt> <dd><p>Don’t pause between warnings at startup. This means that only the last one will be visible (when there are multiple ones). </p> </dd> <dt><code>set nowrap</code></dt> <dd><p>Don’t hard-wrap text at all. This option conflicts with <samp>fill</samp>; the last one given takes effect. </p> </dd> <dt><code>set numbercolor <var>fgcolor</var>,<var>bgcolor</var></code></dt> <dd><p>Use this color combination for line numbers. See <a href="#set-functioncolor"><code>set functioncolor</code></a> for valid color names. </p> </dd> <dt><code>set operatingdir "<var>directory</var>"</code></dt> <dd><p><code>nano</code> will only read and write files inside "directory" and its subdirectories. Also, the current directory is changed to here, so files are inserted from this directory. By default, the operating directory feature is turned off. </p> </dd> <dt><code>set positionlog</code></dt> <dd><p>Save the cursor position of files between editing sessions. The cursor position is remembered for the 200 most-recently edited files. </p> </dd> <dt><code>set preserve</code></dt> <dd><p>Preserve the XON and XOFF keys (<kbd>^Q</kbd> and <kbd>^S</kbd>). </p> </dd> <dt><code>set punct "<var>string</var>"</code></dt> <dd><p>Set the characters treated as closing punctuation when justifying paragraphs. This may not include blank characters. Only the specified closing punctuation, optionally followed by closing brackets (see <code>set brackets</code>), can end sentences. The default value is <tt>"!.?"</tt>. </p> </dd> <dt><code>set quickblank</code></dt> <dd><p>Do quick status-bar blanking: status-bar messages will disappear after 1 keystroke instead of 25. Note that <samp>constantshow</samp> overrides this. </p> </dd> <dt><code>set quiet</code></dt> <dd><p>Obsolete option. Recognized but ignored. </p> </dd> <dt><code>set quotestr "<var>regex</var>"</code></dt> <dd><p>The email-quote string, used to justify email-quoted paragraphs. This is an extended regular expression. The default value is <tt>"^([ <!-- /@w -->\t]*([#:>|}]|//))+"</tt>. Note that <code>\t</code> stands for a literal Tab character. </p> </dd> <dt><code>set rebinddelete</code></dt> <dd><p>Interpret the Delete key differently so that both Backspace and Delete work properly. You should only need to use this option if Backspace acts like Delete on your system. </p> </dd> <dt><code>set rebindkeypad</code></dt> <dd><p>Interpret the numeric keypad keys so that they all work properly. You should only need to use this option if they don’t, as mouse support won’t work properly with this option enabled. </p> </dd> <dt><code>set regexp</code></dt> <dd><p>Do extended regular expression searches by default. </p> </dd> <dt><code>set selectedcolor <var>fgcolor</var>,<var>bgcolor</var></code></dt> <dd><p>Use this color combination for selected text. See <a href="#set-functioncolor"><code>set functioncolor</code></a> for valid color names. </p> </dd> <dt><code>set showcursor</code></dt> <dd><p>Put the cursor on the highlighted item in the file browser, to aid braille users. </p> </dd> <dt><code>set smarthome</code></dt> <dd><p>Make the Home key smarter. When Home is pressed anywhere but at the very beginning of non-whitespace characters on a line, the cursor will jump to that beginning (either forwards or backwards). If the cursor is already at that position, it will jump to the true beginning of the line. </p> </dd> <dt><code>set smooth</code></dt> <dd><p>Use smooth scrolling by default. </p> </dd> <dt><code>set softwrap</code></dt> <dd><p>Enable soft line wrapping for easier viewing of very long lines. </p> </dd> <dt><code>set speller "<var>program</var>"</code></dt> <dd><p>Use the given program to do spell checking and correcting. See <a href="#g_t_002d_002dspeller"><samp>--speller</samp></a> for details. </p> </dd> <dt><code>set statuscolor <var>fgcolor</var>,<var>bgcolor</var></code></dt> <dd><p>Use this color combination for the status bar. See <a href="#set-functioncolor"><code>set functioncolor</code></a> for valid color names. </p> </dd> <dt><code>set suspend</code></dt> <dd><p>Allow <code>nano</code> to be suspended. </p> </dd> <dt><code>set tabsize <var>number</var></code></dt> <dd><p>Use a tab size of <var>number</var> columns. The value of <var>number</var> must be greater than 0. The default value is <tt>8</tt>. </p> </dd> <dt><code>set tabstospaces</code></dt> <dd><p>Convert typed tabs to spaces. </p> </dd> <dt><code>set tempfile</code></dt> <dd><p>Save automatically on exit, don’t prompt. </p> </dd> <dt><code>set titlecolor <var>fgcolor</var>,<var>bgcolor</var></code></dt> <dd><p>Use this color combination for the title bar. See <a href="#set-functioncolor"><code>set functioncolor</code></a> for valid color names. </p> </dd> <dt><code>set trimblanks</code></dt> <dd><p>Remove trailing whitespace from wrapped lines when automatic hard-wrapping occurs or when text is justified. (The old form of this option, <code>set justifytrim</code>, is deprecated.) </p> </dd> <dt><code>set unix</code></dt> <dd><p>Save a file by default in Unix format. This overrides nano’s default behavior of saving a file in the format that it had. (This option has no effect when you also use <code>set noconvert</code>.) </p> </dd> <dt><code>set view</code></dt> <dd><p>Disallow file modification. </p> <a name="Whitespace"></a></dd> <dt><code>set whitespace "<var>string</var>"</code></dt> <dd><p>Set the two characters used to indicate the presence of tabs and spaces. They must be single-column characters. The default pair for a UTF-8 locale is <tt>"»·"</tt>, and for other locales <tt>">."</tt>. </p> </dd> <dt><code>set wordbounds</code></dt> <dd><p>Detect word boundaries differently by treating punctuation characters as part of a word. </p> </dd> <dt><code>set wordchars "<var>string</var>"</code></dt> <dd><p>Specify which other characters (besides the normal alphanumeric ones) should be considered as parts of words. This overrides the option <code>wordbounds</code>. </p> </dd> </dl> <hr> <a name="Syntax-Highlighting"></a> <a name="Syntax-Highlighting-1"></a> <h3 class="section">7.2 Syntax Highlighting</h3> <p>Coloring the different syntactic elements of a file is done via regular expressions (see the <code>color</code> command below). This is inherently imperfect, because regular expressions are not powerful enough to fully parse a file. Nevertheless, regular expressions can do a lot and are easy to make, so they are a good fit for a small editor like <code>nano</code>. </p> <p>A separate syntax can be defined for each kind of file via the following commands in a nanorc file: </p> <dl compact="compact"> <dt><code>syntax <var>name</var> ["<var>fileregex</var>" …]</code></dt> <dd><p>Start the definition of a syntax with this <var>name</var>. All subsequent <code>color</code> and other such commands will be added to this syntax, until a new <code>syntax</code> command is encountered. </p> <p>When <code>nano</code> is run, this syntax will be automatically activated if the current filename matches the extended regular expression <var>fileregex</var>. Or the syntax can be explicitly activated by using the <samp>-Y</samp> or <samp>--syntax</samp> command-line option followed by the <var>name</var>. </p> <p>The <code>default</code> syntax is special: it takes no <var>fileregex</var>, and applies to files that don’t match any syntax’s <var>fileregex</var>. The <code>none</code> syntax is reserved; specifying it on the command line is the same as not having a syntax at all. </p> </dd> <dt><code>header "<var>regex</var>" …</code></dt> <dd><p>If from all defined syntaxes no <var>fileregex</var> matched, then compare this <var>regex</var> (or regexes) against the first line of the current file, to determine whether this syntax should be used for it. </p> </dd> <dt><code>magic "<var>regex</var>" …</code></dt> <dd><p>If no <var>fileregex</var> matched and no <code>header</code> regex matched either, then compare this <var>regex</var> (or regexes) against the result of querying the <code>magic</code> database about the current file, to determine whether this syntax should be used for it. (This functionality only works when <code>libmagic</code> is installed on the system and will be silently ignored otherwise.) </p> </dd> <dt><code>linter <var>program</var> [<var>arg</var> …]</code></dt> <dd><p>Use the given <var>program</var> to do a syntax check on the current buffer. (This overrides the speller function.) </p> </dd> <dt><code>formatter <var>program</var> [<var>arg</var> …]</code></dt> <dd><p>Use the given <var>program</var> to automatically reformat the text in the current buffer — useful for a programming language like Go. (This overrides the speller and linter functions.) </p> </dd> <dt><code>comment "<var>string</var>"</code></dt> <dd><p>Use the given string for commenting and uncommenting lines. If the string contains a vertical bar or pipe character (<tt>|</tt>), this designates bracket-style comments; for example, <tt>"/*|*/"</tt> for CSS files. The characters before the pipe are prepended to the line and the characters after the pipe are appended at the end of the line. If no pipe character is present, the full string is prepended; for example, <tt>"#"</tt> for Python files. If empty double quotes are specified, the comment/uncomment functions are disabled; for example, <tt>""</tt> for JSON. The default value is <tt>"#"</tt>. </p> </dd> <dt><code>color <var>fgcolor</var>,<var>bgcolor</var> "<var>regex</var>" …</code></dt> <dd><p>Display all pieces of text that match the extended regular expression "regex" with foreground color "fgcolor" and background color "bgcolor", at least one of which must be specified. Valid colors for foreground and background are: white, black, red, blue, green, yellow, magenta, and cyan. You may use the prefix "bright" to get a stronger color highlight for the foreground. If your terminal supports transparency, not specifying a "bgcolor" tells <code>nano</code> to attempt to use a transparent background. </p> </dd> <dt><code>icolor <var>fgcolor</var>,<var>bgcolor</var> "<var>regex</var>" …</code></dt> <dd><p>Same as above, except that the matching is case insensitive. </p> </dd> <dt><code>color <var>fgcolor</var>,<var>bgcolor</var> start="<var>fromrx</var>" end="<var>torx</var>"</code></dt> <dd><p>Display all pieces of text whose start matches extended regular expression "fromrx" and whose end matches extended regular expression "torx" with foreground color "fgcolor" and background color "bgcolor", at least one of which must be specified. This means that, after an initial instance of "fromrx", all text until the first instance of "torx" will be colored. This allows syntax highlighting to span multiple lines. </p> </dd> <dt><code>icolor <var>fgcolor</var>,<var>bgcolor</var> start="<var>fromrx</var>" end="<var>torx</var>"</code></dt> <dd><p>Same as above, except that the matching is case insensitive. </p> </dd> <dt><code>include "<var>syntaxfile</var>"</code></dt> <dd><p>Read in self-contained color syntaxes from "syntaxfile". Note that "syntaxfile" may contain only the above commands, from <code>syntax</code> to <code>icolor</code>. </p> </dd> <dt><code>extendsyntax <var>name</var> <var>command</var> [<var>arg</var> …]</code></dt> <dd><p>Extend the syntax previously defined as "<var>name</var>" with another <var>command</var>. This allows you to add a new <code>color</code>, <code>icolor</code>, <code>header</code>, <code>magic</code>, <code>comment</code>, <code>linter</code>, or <code>formatter</code> command to an already defined syntax — useful when you want to slightly improve a syntax defined in one of the system-installed files (which normally are not writable). </p> </dd> </dl> <hr> <a name="Rebinding-Keys"></a> <a name="Rebinding-Keys-1"></a> <h3 class="section">7.3 Rebinding Keys</h3> <p>Key bindings can be changed via the following three commands in a nanorc file: </p> <dl compact="compact"> <dt><code>bind key function menu</code></dt> <dd><p>Rebinds <code>key</code> to <code>function</code> in the context of <code>menu</code> (or in all menus where the function exists by using <code>all</code>). </p> </dd> <dt><code>bind key "string" menu</code></dt> <dd><p>Makes <code>key</code> produce <code>string</code> in the context of <code>menu</code> (or in all menus where the key exists when <code>all</code> is used). The <code>string</code> can consist of text or commands or a mix of them. (To enter a command into the <code>string</code>, precede its keystroke with <kbd>M-V</kbd>.) </p> </dd> <dt><code>unbind key menu</code></dt> <dd><p>Unbinds <code>key</code> from <code>menu</code> (or from all menus where it exists by using <code>all</code>). </p> </dd> </dl> <br> <p>The format of <code>key</code> should be one of: </p> <ul class="no-bullet"> <li><!-- /@w --> <code>^</code> followed by an ASCII character or the word "Space". Example: <code>^C</code>. </li><li><!-- /@w --> <code>M-</code> followed by a ASCII character or the word "Space". Example: <code>M-C</code>. </li><li><!-- /@w --> <code>F</code> followed by a numeric value from 1 to 16. Example: <code>F10</code>. </li></ul> <br> <p>Valid names for the <code>function</code> to be bound are: </p> <dl compact="compact"> <dt><code>help</code></dt> <dd><p>Invokes the help viewer. </p> </dd> <dt><code>cancel</code></dt> <dd><p>Cancels the current command. </p> </dd> <dt><code>exit</code></dt> <dd><p>Exits from the program (or from the help viewer or the file browser). </p> </dd> <dt><code>writeout</code></dt> <dd><p>Writes the current buffer to disk, asking for a name. </p> </dd> <dt><code>savefile</code></dt> <dd><p>Writes the current file to disk without prompting. </p> </dd> <dt><code>insert</code></dt> <dd><p>Inserts a file into the current buffer (at the current cursor position), or into a new buffer when option <code>multibuffer</code> is set. </p> </dd> <dt><code>whereis</code></dt> <dd><p>Starts a forward search for text in the current buffer — or for filenames matching a string in the current list in the file browser. </p> </dd> <dt><code>wherewas</code></dt> <dd><p>Starts a backward search for text in the current buffer. </p> </dd> <dt><code>searchagain</code></dt> <dd><p>Repeats the last search command without prompting. </p> </dd> <dt><code>findprevious</code></dt> <dd><p>As <code>searchagain</code>, but always in the backward direction. </p> </dd> <dt><code>findnext</code></dt> <dd><p>As <code>searchagain</code>, but always in the forward direction. </p> </dd> <dt><code>replace</code></dt> <dd><p>Interactively replaces text within the current buffer. </p> </dd> <dt><code>cut</code></dt> <dd><p>Cuts and stores the current line (or the marked region). </p> </dd> <dt><code>copytext</code></dt> <dd><p>Copies the current line (or the marked region) without deleting it. </p> </dd> <dt><code>uncut</code></dt> <dd><p>Copies the currently stored text into the current buffer at the current cursor position. </p> </dd> <dt><code>mark</code></dt> <dd><p>Sets the mark at the current position, to start selecting text. </p> </dd> <dt><code>cutwordleft</code></dt> <dd><p>Cuts from the cursor position to the beginning of the preceding word. </p> </dd> <dt><code>cutwordright</code></dt> <dd><p>Cuts from the cursor position to the beginning of the next word. </p> </dd> <dt><code>cutrestoffile</code></dt> <dd><p>Cuts all text from the cursor position till the end of the buffer. </p> </dd> <dt><code>curpos</code></dt> <dd><p>Shows the current cursor position: the line, column, and character positions. </p> </dd> <dt><code>wordcount</code></dt> <dd><p>Counts the number of words, lines and characters in the current buffer. </p> </dd> <dt><code>speller</code></dt> <dd><p>Invokes a spell-checking program (or linting program, or formatter program, if the active syntax defines such a thing). </p> </dd> <dt><code>justify</code></dt> <dd><p>Justifies the current paragraph. A paragraph is a group of contiguous lines that, apart from possibly the first line, all have the same indentation. The beginning of a paragraph is detected by either this lone line with a differing indentation or by a preceding blank line. </p> </dd> <dt><code>fulljustify</code></dt> <dd><p>Justifies the entire current buffer. </p> </dd> <dt><code>indent</code></dt> <dd><p>Indents (shifts to the right) the currently marked text. </p> </dd> <dt><code>unindent</code></dt> <dd><p>Unindents (shifts to the left) the currently marked text. </p> </dd> <dt><code>comment</code></dt> <dd><p>Comments or uncomments the current line or marked lines, using the comment style specified in the active syntax. </p> </dd> <dt><code>complete</code></dt> <dd><p>Completes the fragment before the cursor to a full word found elsewhere in the current buffer. </p> </dd> <dt><code>left</code></dt> <dd><p>Goes left one position (in the editor or browser). </p> </dd> <dt><code>right</code></dt> <dd><p>Goes right one position (in the editor or browser). </p> </dd> <dt><code>up</code></dt> <dd><p>Goes one line up (in the editor or browser). </p> </dd> <dt><code>down</code></dt> <dd><p>Goes one line down (in the editor or browser). </p> </dd> <dt><code>scrollup</code></dt> <dd><p>Scrolls the viewport up one row (meaning that the text slides down) while keeping the cursor in the same text position, if possible. </p> </dd> <dt><code>scrolldown</code></dt> <dd><p>Scrolls the viewport down one row (meaning that the text slides up) while keeping the cursor in the same text position, if possible. </p> </dd> <dt><code>prevword</code></dt> <dd><p>Moves the cursor to the beginning of the previous word. </p> </dd> <dt><code>nextword</code></dt> <dd><p>Moves the cursor to the beginning of the next word. </p> </dd> <dt><code>home</code></dt> <dd><p>Moves the cursor to the beginning of the current line. </p> </dd> <dt><code>end</code></dt> <dd><p>Moves the cursor to the end of the current line. </p> </dd> <dt><code>beginpara</code></dt> <dd><p>Moves the cursor to the beginning of the current paragraph. </p> </dd> <dt><code>endpara</code></dt> <dd><p>Moves the cursor to the end of the current paragraph. </p> </dd> <dt><code>prevblock</code></dt> <dd><p>Moves the cursor to the beginning of the current or preceding block of text. (Blocks are separated by one or more blank lines.) </p> </dd> <dt><code>nextblock</code></dt> <dd><p>Moves the cursor to the beginning of the next block of text. </p> </dd> <dt><code>pageup</code></dt> <dd><p>Goes up one screenful. </p> </dd> <dt><code>pagedown</code></dt> <dd><p>Goes down one screenful. </p> </dd> <dt><code>firstline</code></dt> <dd><p>Goes to the first line of the file. </p> </dd> <dt><code>lastline</code></dt> <dd><p>Goes to the last line of the file. </p> </dd> <dt><code>gotoline</code></dt> <dd><p>Goes to a specific line (and column if specified). Negative numbers count from the end of the file (and end of the line). </p> </dd> <dt><code>findbracket</code></dt> <dd><p>Moves the cursor to the bracket (brace, parenthesis, etc.) that matches (pairs) with the one under the cursor. </p> </dd> <dt><code>prevbuf</code></dt> <dd><p>Switches to editing/viewing the previous buffer when multiple buffers are open. </p> </dd> <dt><code>nextbuf</code></dt> <dd><p>Switches to editing/viewing the next buffer when multiple buffers are open. </p> </dd> <dt><code>verbatim</code></dt> <dd><p>Inserts the next keystroke verbatim into the file. </p> </dd> <dt><code>tab</code></dt> <dd><p>Inserts a tab at the current cursor location. </p> </dd> <dt><code>enter</code></dt> <dd><p>Inserts a new line below the current one. </p> </dd> <dt><code>delete</code></dt> <dd><p>Deletes the character under the cursor. </p> </dd> <dt><code>backspace</code></dt> <dd><p>Deletes the character before the cursor. </p> </dd> <dt><code>recordmacro</code></dt> <dd><p>Starts the recording of keystrokes — the keystrokes are stored as a macro. When already recording, the recording is stopped. </p> </dd> <dt><code>runmacro</code></dt> <dd><p>Replays the keystrokes of the last recorded macro. </p> </dd> <dt><code>undo</code></dt> <dd><p>Undoes the last performed text action (add text, delete text, etc). </p> </dd> <dt><code>redo</code></dt> <dd><p>Redoes the last undone action (i.e., it undoes an undo). </p> </dd> <dt><code>refresh</code></dt> <dd><p>Refreshes the screen. </p> </dd> <dt><code>suspend</code></dt> <dd><p>Suspends the editor (if the suspending function is enabled, see the "suspendenable" entry below). </p> </dd> <dt><code>casesens</code></dt> <dd><p>Toggles case sensitivity in searching (search/replace menus only). </p> </dd> <dt><code>regexp</code></dt> <dd><p>Toggles whether searching/replacing is based on literal strings or regular expressions. </p> </dd> <dt><code>backwards</code></dt> <dd><p>Toggles whether searching/replacing goes forward or backward. </p> </dd> <dt><code>prevhistory</code></dt> <dd><p>Shows the previous history entry in the prompt menus (e.g. search). </p> </dd> <dt><code>nexthistory</code></dt> <dd><p>Shows the next history entry in the prompt menus (e.g. search). </p> </dd> <dt><code>flipreplace</code></dt> <dd><p>Toggles between searching for something and replacing something. </p> </dd> <dt><code>flipgoto</code></dt> <dd><p>Toggles between searching for text and targeting a line number. (The form <code>gototext</code> is deprecated.) </p> </dd> <dt><code>flipexecute</code></dt> <dd><p>Toggles between inserting a file and executing a command. </p> </dd> <dt><code>flippipe</code></dt> <dd><p>When executing a command, toggles whether the current buffer (or marked region) is piped to the command. </p> </dd> <dt><code>flipnewbuffer</code></dt> <dd><p>Toggles between inserting into the current buffer and into a new empty buffer. </p> </dd> <dt><code>dosformat</code></dt> <dd><p>When writing a file, switches to writing a DOS format (CR/LF). </p> </dd> <dt><code>macformat</code></dt> <dd><p>When writing a file, switches to writing a Mac format. </p> </dd> <dt><code>append</code></dt> <dd><p>When writing a file, appends to the end instead of overwriting. </p> </dd> <dt><code>prepend</code></dt> <dd><p>When writing a file, ’prepends’ (writes at the beginning) instead of overwriting. </p> </dd> <dt><code>backup</code></dt> <dd><p>When writing a file, creates a backup of the current file. </p> </dd> <dt><code>discardbuffer</code></dt> <dd><p>When about to write a file, discard the current buffer without saving. (This function is bound by default only when option <samp>--tempfile</samp> is in effect.) </p> </dd> <dt><code>browser</code></dt> <dd><p>Starts the file browser, allowing to select a file from a list. </p> </dd> <dt><code>gotodir</code></dt> <dd><p>Goes to a directory to be specified, allowing to browse anywhere in the filesystem. </p> </dd> <dt><code>firstfile</code></dt> <dd><p>Goes to the first file when using the file browser (reading or writing files). </p> </dd> <dt><code>lastfile</code></dt> <dd><p>Goes to the last file when using the file browser (reading or writing files). </p> </dd> <dt><code>nohelp</code></dt> <dd><p>Toggles the presence of the two-line list of key bindings at the bottom of the screen. </p> </dd> <dt><code>constantshow</code></dt> <dd><p>Toggles the constant display of the current line, column, and character positions. (The form <code>constupdate</code> is deprecated.) </p> </dd> <dt><code>morespace</code></dt> <dd><p>Toggles the presence of the blank line that ’separates’ the title bar from the file text. </p> </dd> <dt><code>smoothscroll</code></dt> <dd><p>Toggles smooth scrolling (when moving around with the arrow keys). </p> </dd> <dt><code>softwrap</code></dt> <dd><p>Toggles the displaying of overlong lines on multiple screen lines. </p> </dd> <dt><code>linenumbers</code></dt> <dd><p>Toggles the display of line numbers in front of the text. </p> </dd> <dt><code>whitespacedisplay</code></dt> <dd><p>Toggles the showing of whitespace. </p> </dd> <dt><code>nosyntax</code></dt> <dd><p>Toggles syntax highlighting. </p> </dd> <dt><code>smarthome</code></dt> <dd><p>Toggles the smartness of the Home key. </p> </dd> <dt><code>autoindent</code></dt> <dd><p>Toggles whether a newly created line will contain the same amount of leading whitespace as the preceding line — or as the next line if the preceding line is the beginning of a paragraph. </p> </dd> <dt><code>cutfromcursor</code></dt> <dd><p>Toggles whether cutting text will cut the whole line or just from the current cursor position to the end of the line. (The form <code>cuttoend</code> is deprecated.) </p> </dd> <dt><code>nowrap</code></dt> <dd><p>Toggles whether long lines will be hard-wrapped to the next line. </p> </dd> <dt><code>tabstospaces</code></dt> <dd><p>Toggles whether typed tabs will be converted to spaces. </p> </dd> <dt><code>backupfile</code></dt> <dd><p>Toggles whether a backup will be made of the file to be edited. </p> </dd> <dt><code>multibuffer</code></dt> <dd><p>Toggles whether a file is inserted into the current buffer or read into a new buffer. </p> </dd> <dt><code>mouse</code></dt> <dd><p>Toggles mouse support. </p> </dd> <dt><code>noconvert</code></dt> <dd><p>Toggles automatic conversion of files from DOS/Mac format. </p> </dd> <dt><code>suspendenable</code></dt> <dd><p>Toggles whether the suspend shortcut (normally <kbd>^Z</kbd>) will suspend the editor. </p> </dd> </dl> <br> <p>Valid names for <code>menu</code> are: </p> <dl compact="compact"> <dt><code>main</code></dt> <dd><p>The main editor window where text is entered and edited. </p> </dd> <dt><code>search</code></dt> <dd><p>The search menu (AKA whereis). </p> </dd> <dt><code>replace</code></dt> <dd><p>The ’search to replace’ menu. </p> </dd> <dt><code>replacewith</code></dt> <dd><p>The ’replace with’ menu, which comes up after ’search to replace’. </p> </dd> <dt><code>gotoline</code></dt> <dd><p>The ’goto line (and column)’ menu. </p> </dd> <dt><code>writeout</code></dt> <dd><p>The ’write file’ menu. </p> </dd> <dt><code>insert</code></dt> <dd><p>The ’insert file’ menu. </p> </dd> <dt><code>extcmd</code></dt> <dd><p>The menu for inserting output from an external command, reached from the insert menu. </p> </dd> <dt><code>help</code></dt> <dd><p>The help-viewer menu. </p> </dd> <dt><code>spell</code></dt> <dd><p>The interactive spell checker Yes/no menu. </p> </dd> <dt><code>linter</code></dt> <dd><p>The linter menu. </p> </dd> <dt><code>browser</code></dt> <dd><p>The file browser, for choosing a file to read from or write to. </p> </dd> <dt><code>whereisfile</code></dt> <dd><p>The ’search for a file’ menu in the file browser. </p> </dd> <dt><code>gotodir</code></dt> <dd><p>The ’go to directory’ menu in the file browser. </p> </dd> <dt><code>all</code></dt> <dd><p>A special name that encompasses all menus. For <code>bind</code> it means all menus where the specified <code>function</code> exists; for <code>unbind</code> it means all menus where the specified <code>key</code> exists. </p> </dd> </dl> <hr> <a name="The-File-Browser"></a> <a name="The-File-Browser-1"></a> <h2 class="chapter">8 The File Browser</h2> <p>When in the Read-File (<kbd>^R</kbd>) or Write-Out menu (<kbd>^O</kbd>), pressing <kbd>^T</kbd> will invoke the file browser. Here, one can navigate directories in a graphical manner in order to find the desired file. </p> <p>Basic movement in the file browser is accomplished with the arrow and other cursor-movement keys. More targeted movement is accomplished by searching, via <kbd>^W</kbd> or <kbd>w</kbd>, or by changing directory, via <kbd>^_</kbd> or <kbd>g</kbd>. The behavior of the <kbd>Enter</kbd> key (or <kbd>s</kbd>) varies by what is currently selected. If the currently selected object is a directory, the file browser will enter and display the contents of the directory. If the object is a file, this filename and path are copied to the status bar, and the file browser exits. </p> <hr> <a name="Pico-Compatibility"></a> <a name="Pico-Compatibility-1"></a> <h2 class="chapter">9 Pico Compatibility</h2> <p><code>nano</code> attempts to emulate Pico as closely as possible, but there are some differences between the editors: </p> <dl compact="compact"> <dt><code>Interactive Replace</code></dt> <dd><p>Instead of allowing you to replace either just one occurrence of a search string or all of them, <code>nano</code>’s replace function is interactive: it will pause at each found search string and query whether to replace this instance. You can then choose Yes, or No (skip this one), or All (don’t ask any more), or Cancel (stop with replacing). </p> </dd> <dt><code>Search and Replace History</code></dt> <dd><p>When the option <samp>-H</samp> or <samp>--historylog</samp> is given (or set in the a nanorc file), text entered as search or replace strings is stored. These strings can be accessed with the up/down arrow keys, or you can type the first few characters and then use <kbd>Tab</kbd> to cycle through the matching strings. A retrieved string can subsequently be edited. </p> </dd> <dt><code>Position History</code></dt> <dd><p>When the option <samp>-P</samp> or <samp>--positionlog</samp> is given (or set in a nanorc file), <code>nano</code> will store the position of the cursor when you close a file, and will place the cursor in that position again when you later reopen the file. </p> </dd> <dt><code>Current Cursor Position</code></dt> <dd><p>The output of the "Display Cursor Position" command (<kbd>^C</kbd>) displays not only the current line and character position of the cursor, but also (between the two) the current column position. </p> </dd> <dt><code>Hard-Wrapping</code></dt> <dd><p>By default, <code>nano</code> hard-wraps lines at screen width minus eight columns, whereas Pico does it at screen width minus six columns. You can make <code>nano</code> do the same as Pico by using <samp>--fill=-6</samp>. </p> </dd> <dt><code>Spell Checking</code></dt> <dd><p>In the internal spell checker misspelled words are sorted alphabetically and trimmed for uniqueness, such that the words ’apple’ and ’Apple’ will be prompted for correction separately. </p> </dd> <dt><code>Writing Selected Text to Files</code></dt> <dd><p>When using the Write-Out key (<kbd>^O</kbd>), text that has been selected using the marking key (<kbd>^^</kbd>) can not just be written out to a new (or existing) file, it can also be appended or prepended to an existing file. </p> </dd> <dt><code>Reading Text from a Command</code></dt> <dd><p>When using the Read-File key (<kbd>^R</kbd>), <code>nano</code> can not just read a file, it can also read the output of a command to be run (<kbd>^X</kbd>). </p> </dd> <dt><code>Reading from Working Directory</code></dt> <dd><p>By default, Pico will read files from the user’s home directory (when using <kbd>^R</kbd>), but it will write files to the current working directory (when using <kbd>^O</kbd>). <code>nano</code> makes this symmetrical: always reading from and writing to the current working directory — the directory that <code>nano</code> was started in. </p> </dd> <dt><code>File Browser</code></dt> <dd><p>In the file browser, <code>nano</code> does not implement the Add, Copy, Rename, and Delete commands that Pico provides. In <code>nano</code> the browser is just a file browser, not a file manager. </p> </dd> <dt><code>Toggles</code></dt> <dd><p>Many options which alter the functionality of the program can be "toggled" on or off using Meta key sequences, meaning the program does not have to be restarted to turn a particular feature on or off. See <a href="#Feature-Toggles">Feature Toggles</a> for a list of options that can be toggled. Or see the list at the end of the main internal help text (<kbd>^G</kbd>) instead. </p> </dd> </dl> <hr> <a name="Building-and-Configure-Options"></a> <a name="Building-and-Configure-Options-1"></a> <h2 class="chapter">10 Building and Configure Options</h2> <p>Building <code>nano</code> from source is fairly straightforward if you are familiar with compiling programs with autoconf support: </p> <div class="example"> <pre class="example"> tar xvzf nano-x.y.z.tar.gz cd nano-x.y.z ./configure make make install </pre></div> <p>The possible options to <code>./configure</code> are: </p> <dl compact="compact"> <dt><code>--disable-browser</code></dt> <dd><p>Disable the mini file browser that can be called with <kbd>^T</kbd> when reading or writing files. </p> </dd> <dt><code>--disable-color</code></dt> <dd><p>Disable support for the syntax coloring of files. This also eliminates the <samp>-Y</samp> command-line option, which chooses a specific syntax. </p> </dd> <dt><code>--disable-comment</code></dt> <dd><p>Disable the single-keystroke comment/uncomment function (<kbd>M-3</kbd>). </p> </dd> <dt><code>--disable-extra</code></dt> <dd><p>Disable the Easter egg: a crawl of major contributors. </p> </dd> <dt><code>--disable-help</code></dt> <dd><p>Disable the help function. Doing this makes the binary much smaller, but makes it difficult for new users to learn more than very basic things about using the editor. </p> </dd> <dt><code>--disable-histories</code></dt> <dd><p>Disable the code for the handling of the history files: the search and replace strings that were used, and the cursor position at which each file was closed. This also eliminates the <samp>-H</samp> and <samp>-P</samp> command-line options, which switch on the logging of search/replace strings and cursor positions. </p> </dd> <dt><code>--disable-justify</code></dt> <dd><p>Disable the justify and unjustify functions. </p> </dd> <dt><code>--disable-libmagic</code></dt> <dd><p>Disable the use of the library of magic-number tests (for determining the file type and thus which syntax to use for colouring — often the tests on filename extension and header line will be enough). </p> </dd> <dt><code>--disable-linenumbers</code></dt> <dd><p>Disable the line-numbering function (<kbd>M-#</kbd>). This also eliminates the <samp>-l</samp> command-line option, which turns line numbering on. </p> </dd> <dt><code>--disable-mouse</code></dt> <dd><p>Disable all mouse functionality. This also eliminates the <samp>-m</samp> command-line option, which enables the mouse functionality. </p> </dd> <dt><code>--disable-multibuffer</code></dt> <dd><p>Disable support for opening multiple files at a time and switching between them on the fly. This also eliminates the <samp>-F</samp> command-line option, which causes a file to be read into a separate buffer by default. </p> </dd> <dt><code>--disable-nanorc</code></dt> <dd><p>Disable support for reading the nanorc files at startup. With such support, you can store custom settings in a system-wide and a per-user nanorc file rather than having to pass command-line options to get the desired behavior. See <a href="#Nanorc-Files">Nanorc Files</a> for more info. Disabling this also eliminates the <samp>-I</samp> command-line option, which inhibits the reading of nanorc files. </p> </dd> <dt><code>--disable-operatingdir</code></dt> <dd><p>Disable setting the operating directory. This also eliminates the <samp>-o</samp> command-line option, which sets the operating directory. </p> </dd> <dt><code>--disable-speller</code></dt> <dd><p>Disable use of the spell checker. This also eliminates the <samp>-s</samp> command-line option, which allows specifying an alternate spell checker. </p> </dd> <dt><code>--disable-tabcomp</code></dt> <dd><p>Disable tab completion (when nano asks for a filename or a search string). </p> </dd> <dt><code>--disable-wordcomp</code></dt> <dd><p>Disable word completion (<kbd>^]</kbd>). </p> </dd> <dt><code>--disable-wrapping</code></dt> <dd><p>Disable all hard-wrapping of overlong lines. This also eliminates the <samp>-w</samp> command-line option, which switches long-line wrapping off. </p> </dd> <dt><code>--enable-tiny</code></dt> <dd><p>This option implies all of the above. It also disables some other internals of the editor, like the marking code, the cut-to-end-of-line code, and the function toggles. By using the enabling counterpart of the above options together with <samp>--enable-tiny</samp>, specific features can be switched back on — but a few cannot. </p> </dd> <dt><code>--enable-debug</code></dt> <dd><p>Enable support for runtime debug output. This can get pretty messy, so chances are you only want this feature when you’re working on the nano source. </p> </dd> <dt><code>--disable-nls</code></dt> <dd><p>Disables Native Language support. This will disable the use of any available GNU <code>nano</code> translations. </p> </dd> <dt><code>--disable-wrapping-as-root</code></dt> <dd><p>Disable hard-wrapping of overlong lines by default when <code>nano</code> is run as root. </p> </dd> <dt><code>--enable-utf8</code></dt> <dd><p>Enable support for reading and writing Unicode files. This will require either a wide version of curses, or a UTF-8-enabled version of Slang. </p> </dd> <dt><code>--disable-utf8</code></dt> <dd><p>Disable support for reading and writing Unicode files. Normally the configure script auto-detects whether to enable UTF-8 support or not. You can use this or the previous option to override that detection. </p> </dd> <dt><code>--enable-altrcname=<var>name</var></code></dt> <dd><p>Use the file with the given <var>name</var> (in the user’s home directory) as nano’s settings file, instead of the default <code>.nanorc</code>. </p> </dd> <dt><code>--with-slang</code></dt> <dd><p>Compile <code>nano</code> against Slang instead of against ncurses or other curses libraries. </p> </dd> </dl> <hr> <a name="SEC_Contents"></a> <h2 class="contents-heading">Table of Contents</h2> <div class="contents"> <ul class="no-bullet"> <li><a name="toc-Introduction-1" href="#Introduction">1 Introduction</a></li> <li><a name="toc-Invoking-1" href="#Invoking">2 Invoking</a></li> <li><a name="toc-Command_002dline-Options-1" href="#Command_002dline-Options">3 Command-line Options</a></li> <li><a name="toc-Editor-Basics-1" href="#Editor-Basics">4 Editor Basics</a> <ul class="no-bullet"> <li><a name="toc-Entering-Text-1" href="#Entering-Text">4.1 Entering Text</a></li> <li><a name="toc-Commands-1" href="#Commands">4.2 Commands</a></li> <li><a name="toc-The-Cutbuffer-1" href="#The-Cutbuffer">4.3 The Cutbuffer</a></li> <li><a name="toc-The-Mark-1" href="#The-Mark">4.4 The Mark</a></li> <li><a name="toc-Screen-Layout-1" href="#Screen-Layout">4.5 Screen Layout</a></li> <li><a name="toc-Search-and-Replace-1" href="#Search-and-Replace">4.6 Search and Replace</a></li> <li><a name="toc-Using-the-Mouse-1" href="#Using-the-Mouse">4.7 Using the Mouse</a></li> <li><a name="toc-Limitations-1" href="#Limitations">4.8 Limitations</a></li> </ul></li> <li><a name="toc-Built_002din-Help-1" href="#Built_002din-Help">5 Built-in Help</a></li> <li><a name="toc-Feature-Toggles-1" href="#Feature-Toggles">6 Feature Toggles</a></li> <li><a name="toc-Nanorc-Files-1" href="#Nanorc-Files">7 Nanorc Files</a> <ul class="no-bullet"> <li><a name="toc-Settings-1" href="#Settings">7.1 Settings</a></li> <li><a name="toc-Syntax-Highlighting-1" href="#Syntax-Highlighting">7.2 Syntax Highlighting</a></li> <li><a name="toc-Rebinding-Keys-1" href="#Rebinding-Keys">7.3 Rebinding Keys</a></li> </ul></li> <li><a name="toc-The-File-Browser-1" href="#The-File-Browser">8 The File Browser</a></li> <li><a name="toc-Pico-Compatibility-1" href="#Pico-Compatibility">9 Pico Compatibility</a></li> <li><a name="toc-Building-and-Configure-Options-1" href="#Building-and-Configure-Options">10 Building and Configure Options</a></li> </ul> </div> <hr> </body> </html> sample.nanorc000064400000022110151702644640007234 0ustar00## Sample initialization file for GNU nano. ## ## Please note that you must have configured nano with --enable-nanorc ## for this file to be read! Also note that this file should not be in ## DOS or Mac format, and that characters specially interpreted by the ## shell should not be escaped here. ## ## To make sure an option is disabled, use "unset <option>". ## ## For the options that take parameters, the default value is given. ## Other options are unset by default. ## ## Quotes inside string parameters don't have to be escaped with ## backslashes. The last double quote in the string will be treated as ## its end. For example, for the "brackets" option, ""')>]}" will match ## ", ', ), >, ], and }. ## Make the 'nextword' function (Ctrl+Right) stop at word ends ## instead of at beginnings. # set afterends ## When soft line wrapping is enabled, make it wrap lines at blanks ## (tabs and spaces) instead of always at the edge of the screen. # set atblanks ## Automatically indent a newly created line to the same number of ## tabs and/or spaces as the preceding line -- or as the next line ## if the preceding line is the beginning of a paragraph. # set autoindent ## Back up files to the current filename plus a tilde. # set backup ## The directory to put unique backup files in. # set backupdir "" ## Use bold text instead of reverse video text. # set boldtext ## The characters treated as closing brackets when justifying paragraphs. ## This may not include any blank characters. Only closing punctuation, ## optionally followed by these closing brackets, can end sentences. # set brackets ""')>]}" ## Do case-sensitive searches by default. # set casesensitive ## Constantly display the cursor position in the status bar. Note that ## this overrides "quickblank". # set constantshow ## Use cut-from-cursor-to-end-of-line by default. # set cutfromcursor ## (The old form, 'cut', is deprecated.) ## Set the line length for wrapping text and justifying paragraphs. ## If the value is 0 or less, the wrapping point will be the screen ## width less this number. # set fill -8 ## Remember the used search/replace strings for the next session. # set historylog ## Display line numbers to the left of the text. # set linenumbers ## Enable vim-style lock-files. This is just to let a vim user know you ## are editing a file [s]he is trying to edit and vice versa. There are ## no plans to implement vim-style undo state in these files. # set locking ## The opening and closing brackets that can be found by bracket ## searches. They cannot contain blank characters. The former set must ## come before the latter set, and both must be in the same order. # set matchbrackets "(<[{)>]}" ## Use the blank line below the title bar as extra editing space. # set morespace ## Enable mouse support, if available for your system. When enabled, ## mouse clicks can be used to place the cursor, set the mark (with a ## double click), and execute shortcuts. The mouse will work in the X ## Window System, and on the console when gpm is running. # set mouse ## Switch on multiple file buffers (inserting a file will put it into ## a separate buffer). # set multibuffer ## Don't convert files from DOS/Mac format. # set noconvert ## Don't display the helpful shortcut lists at the bottom of the screen. # set nohelp ## Don't automatically add a newline when a file does not end with one. # set nonewlines ## Don't pause between warnings at startup. Which means that only the ## last one will be readable (when there are multiple ones). # set nopauses ## Don't wrap text at all. # set nowrap ## Set operating directory. nano will not read or write files outside ## this directory and its subdirectories. Also, the current directory ## is changed to here, so any files are inserted from this dir. A blank ## string means the operating-directory feature is turned off. # set operatingdir "" ## Remember the cursor position in each file for the next editing session. # set positionlog ## Preserve the XON and XOFF keys (^Q and ^S). # set preserve ## The characters treated as closing punctuation when justifying ## paragraphs. They cannot contain blank characters. Only closing ## punctuation, optionally followed by closing brackets, can end ## sentences. # set punct "!.?" ## Do quick status-bar blanking. Status-bar messages will disappear after ## 1 keystroke instead of 26. Note that "constantshow" overrides this. # set quickblank ## The email-quote string, used to justify email-quoted paragraphs. ## This is an extended regular expression. The default is: # set quotestr "^([ ]*([#:>|}]|//))+" ## Fix Backspace/Delete confusion problem. # set rebinddelete ## Fix numeric keypad key confusion problem. # set rebindkeypad ## Do extended regular expression searches by default. # set regexp ## Put the cursor on the highlighted item in the file browser; ## useful for people who use a braille display. # set showcursor ## Make the Home key smarter. When Home is pressed anywhere but at the ## very beginning of non-whitespace characters on a line, the cursor ## will jump to that beginning (either forwards or backwards). If the ## cursor is already at that position, it will jump to the true ## beginning of the line. # set smarthome ## Use smooth scrolling as the default. # set smooth ## Enable soft line wrapping (AKA full-line display). # set softwrap ## Use this spelling checker instead of the internal one. This option ## does not have a default value. # set speller "aspell -x -c" ## Allow nano to be suspended. # set suspend ## Use this tab size instead of the default; it must be greater than 0. # set tabsize 8 ## Convert typed tabs to spaces. # set tabstospaces ## Save automatically on exit; don't prompt. # set tempfile ## Snip whitespace at the end of lines when justifying or hard-wrapping. # set trimblanks ## (The old form, 'justifytrim', is deprecated.) ## Disallow file modification. Why would you want this in an rcfile? ;) # set view ## The two single-column characters used to display the first characters ## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in ## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these. ## The default when in a UTF-8 locale: # set whitespace "»·" ## The default otherwise: # set whitespace ">." ## Detect word boundaries differently by treating punctuation ## characters as parts of words. # set wordbounds ## The characters (besides alphanumeric ones) that should be considered ## as parts of words. This option does not have a default value. When ## set, it overrides option 'set wordbounds'. # set wordchars "<_>." ## Paint the interface elements of nano. These are examples; ## by default there are no colors, except for errorcolor. # set titlecolor brightwhite,blue # set statuscolor brightwhite,green # set errorcolor brightwhite,red # set selectedcolor brightwhite,magenta # set numbercolor cyan # set keycolor cyan # set functioncolor green ## In root's .nanorc you might want to use: # set titlecolor brightwhite,magenta # set statuscolor brightwhite,magenta # set errorcolor brightwhite,red # set selectedcolor brightwhite,cyan # set numbercolor magenta # set keycolor brightmagenta # set functioncolor magenta ## Setup of syntax coloring. ## ## Format: ## ## syntax "short description" ["filename regex" ...] ## ## The "none" syntax is reserved; specifying it on the command line is ## the same as not having a syntax at all. The "default" syntax is ## special: it takes no filename regexes, and applies to files that ## don't match any other syntax's filename regexes. ## ## color foreground,background "regex" ["regex"...] ## or ## icolor foreground,background "regex" ["regex"...] ## ## "color" will do case-sensitive matches, while "icolor" will do ## case-insensitive matches. ## ## Valid colors: white, black, red, blue, green, yellow, magenta, cyan. ## For foreground colors, you may use the prefix "bright" to get a ## stronger highlight. ## ## To use multi-line regexes, use the start="regex" end="regex" ## [start="regex" end="regex"...] format. ## ## If your system supports transparency, not specifying a background ## color will use a transparent color. If you don't want this, be sure ## to set the background color to black or white. ## ## All regexes should be extended regular expressions. ## ## If you wish, you may put your syntax definitions in separate files. ## You can make use of such files as follows: ## ## include "/path/to/syntax_file.nanorc" ## ## Unless otherwise noted, the name of the syntax file (without the ## ".nanorc" extension) should be the same as the "short description" ## name inside that file. These names are kept fairly short to make ## them easier to remember and faster to type using nano's -Y option. ## ## To include all existing syntax definitions, you can do: # include "/usr/share/nano/*.nanorc" ## Key bindings. ## See nanorc(5) (section REBINDING KEYS) for more details on this. ## ## The following two functions are not bound to any key by default. ## You may wish to choose other keys than the ones suggested here. # bind M-B cutwordleft main # bind M-N cutwordright main ## Set this if your Backspace key sends Del most of the time. # bind Del backspace all
/home/emeraadmin/www/node_modules/liftup/../map-cache/../../4d695/nano.tar