War icon

Chatty.jar

War | PRO | 02/10/16 11:26:48 PM UTC | 0 ⭐ | 909 👁️ | Never ⏰ | []
text |

2.72 MB

|

None

|

0 👍

/

0 👎

PḲG	META-INF/��PKˣG��
META-INF/MANIFEST.MFManifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.7.0_79-b15 (Oracle Corporation)
Class-Path: lib/jintellitype-1.3.8.jar lib/json-simple-1.1.1.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: chatty.Chatty
 PKˣGchatty/PḲGchatty/gui/PḲGchatty/gui/components/PḲGchatty/gui/components/help/PKˣGchatty/gui/components/menus/PḲGchatty/gui/components/settings/PḲGchatty/gui/components/srl/PḲGchatty/gui/components/tabs/PḲGchatty/gui/components/textpane/PḲGchatty/gui/notifications/PḲGchatty/util/PḲGchatty/util/api/PKʣGchatty/util/chatlog/PKˣGchatty/util/hotkeys/PḲGchatty/util/settings/PKʣGchatty/util/srl/PKɣG-����chatty/AddressManager.class���3�*mnm	'o'pqr	'stmuvwxyzr{|}q~�����������x�'��~���z��!m��q�����x��LOGGERLjava/util/logging/Logger;errorsLjava/util/Set;	Signature-Ljava/util/Set<Ljava/net/InetSocketAddress;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/AddressManager;getAddressB(Ljava/lang/String;Ljava/lang/String;)Ljava/net/InetSocketAddress;addressLjava/net/InetSocketAddress;portIi$Ljava/util/Iterator;ipLjava/net/InetAddress;arr$[Ljava/net/InetAddress;len$hostLjava/lang/String;portsStringportsLjava/util/List;ipstriedLocalVariableTypeTable%Ljava/util/List<Ljava/lang/Integer;>;
StackMapTable���C����Exceptions�addError(Ljava/net/InetSocketAddress;)VclearErrorsForAddresses(Ljava/util/Set;)V	addresses0(Ljava/util/Set<Ljava/net/InetSocketAddress;>;)VparsePorts$(Ljava/lang/String;)Ljava/util/List;ex!Ljava/lang/NumberFormatException;portString[Ljava/lang/String;splitparsedPortsd�9(Ljava/lang/String;)Ljava/util/List<Ljava/lang/Integer;>;<clinit>SourceFileAddressManager.java12java/util/HashSet-._`���+,java/lang/StringBuilderNo port to connect to found: ��������No host to connect to provided.����������java/lang/Integer��java/net/InetSocketAddress1������4Tried all available sockets.. trying from the start.��[\��[^0-9]e�java/util/ArrayList����java/lang/NumberFormatExceptionchatty/AddressManager�����java/lang/Objectjava/util/Listjava/lang/String
java/util/Setjava/net/InetAddressjava/util/Iteratorjava/net/UnknownHostExceptionisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerwarning(Ljava/lang/String;)VgetAllByName+(Ljava/lang/String;)[Ljava/net/InetAddress;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;intValue()I(Ljava/net/InetAddress;I)Vcontains(Ljava/lang/Object;)Zaddinfo	removeAll(Ljava/util/Collection;)Z'(Ljava/lang/String;)[Ljava/lang/String;parseInt(Ljava/lang/String;)IvalueOf(I)Ljava/lang/Integer;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!'*+,-./0123>*�*�Y���4567893@
�,�N-����Y�	�,���
�+�+��
��
�+�:�Y�::�66�\2:	-�:��=���6�Y	�:*�����W���������*�����4R./0'1)344<5>7D<M=g>�?�@�A�C�D�=�F�G�H5�
�:;�(<=oD>?gL@A	QhBCVcD=Y`>=�67�EF�GF�HID�JCM�K.L�HMM�K0NY�)O	�	PQQORSR�TU�6V�	PQQORSR�WXYZ3D*�+�W�4RS567:;[\3V*�+�W�4\]567].L]0/^	_`31I*� L�!Y�"M+N-�66�+-2:��,�#�$�%W�:����,�-<?&4&	ijk%l-n<q?oAkGt5RAab%cF6Bd2D=/>=IHFBed:fIL:fMN8�QgOg�&QgOgQh��/ij23%
'�(�)��4klPKɣGd-�ttchatty/Addressbook$1.class���31	 !"#$&this$0Lchatty/Addressbook;<init>(Lchatty/Addressbook;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/Addressbook$1;fileChanged()VSourceFileAddressbook.javaEnclosingMethod()*+7[AddressbookImport] Detected file change: Auto import..,-./chatty/Addressbook$1java/lang/Object0+chatty/util/FileWatcher$FileChangedListenerFileChangedListenerchatty/AddressbookenableAutoImportaccess$000()Ljava/util/logging/Logger;java/util/logging/Loggerinfo(Ljava/lang/String;)VimportFromFilechatty/util/FileWatcher 	
4*+�*��eB��*���ijk	%'	PKɣG�q��G�Gchatty/Addressbook.class���3�	�oxpqp	�rsp	�tu	p	�v	�w	�xyz{|}~y�������?���"��'��+��2��;��J��������,p�,��,���������������������y��������������y�����y�����������������������,�����������,����m���	�������������������{�����	�����������������������y���������������		 	y
y���z�}��	��	 !"�#$��%&'&(&�)*+,�-./0InnerClassesLOGGERLjava/util/logging/Logger;CHARSETLjava/nio/charset/Charset;entriesLjava/util/Map;	Signature<Ljava/util/Map<Ljava/lang/String;Lchatty/AddressbookEntry;>;presetCategoriesLjava/util/Set;#Ljava/util/Set<Ljava/lang/String;>;somewhatUniqueCategoriesfileNameLjava/lang/String;importFileNamesavedZ<init>'(Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/Addressbook;importFilenamesetSomewhatUniqueCategories(Ljava/lang/String;)Vcatarr$[Ljava/lang/String;len$Ii$splitcats
StackMapTable*����command&(Ljava/lang/String;)Ljava/lang/String;textparameters	parametercommandGet'([Ljava/lang/String;)Ljava/lang/String;nameentryLchatty/AddressbookEntry;�commandAddcategoriesStringcategoriespreviousresultresultCategoriesLocalVariableTypeTable1
commandChangecurrentchangedCats	catOutputcommandSet
previousEntrycategoriesOutputclearSomewhatUniqueCategories(Ljava/util/Set;)VLjava/util/Iterator;catsToCheck2&(Ljava/util/Set<Ljava/lang/String;>;)V
commandRemovecommandRenameCategoryoldCategoryNamenewCategoryNamecommandRemoveCategorycommandInfo()Ljava/lang/String;enableAutoImport()VimportFromFilelinex2Ljava/lang/Throwable;readerLjava/io/BufferedReader;exLjava/io/IOException;fileLjava/nio/file/Path;34�add?(Ljava/lang/String;Ljava/lang/String;)Lchatty/AddressbookEntry;<(Ljava/lang/String;Ljava/util/Set;)Lchatty/AddressbookEntry;changedP(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Lchatty/AddressbookEntry;set$(Ljava/lang/String;Ljava/util/Set;)V8(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)V(Lchatty/AddressbookEntry;)Vremove-(Ljava/lang/String;)Lchatty/AddressbookEntry;categorycurrentCategoriescategoriesToRemoverename.(Ljava/lang/String;Lchatty/AddressbookEntry;)VrenameCategory'(Ljava/lang/String;Ljava/lang/String;)IchangedEntryEntryLjava/util/Map$Entry;currentNamenewNamecountBLjava/util/Map$Entry<Ljava/lang/String;Lchatty/AddressbookEntry;>;removeCategory(Ljava/lang/String;)IcategoryNameX(Lchatty/AddressbookEntry;Ljava/lang/String;Ljava/lang/String;)Lchatty/AddressbookEntry;getgetEntries()Ljava/util/List;-()Ljava/util/List<Lchatty/AddressbookEntry;>;getCategoriesFromString#(Ljava/lang/String;)Ljava/util/Set;7(Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;changeCategories2(Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;actionpresentchangepLjava/util/regex/Pattern;mLjava/util/regex/Matcher;56Z(Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;getStringFromCategories*(Ljava/util/Collection;)Ljava/lang/String;Ljava/util/Collection;*Ljava/util/Collection<Ljava/lang/String;>;>(Ljava/util/Collection<Ljava/lang/String;>;)Ljava/lang/String;categoriesToStringloadFromFileparsedEntry	parseLinesaveToFileOncesaveToFilewriterLjava/io/BufferedWriter;7makeLine-(Lchatty/AddressbookEntry;)Ljava/lang/String;scanCategories
addCategories(Ljava/util/Collection;)V-(Ljava/util/Collection<Ljava/lang/String;>;)V
getCategories&()Ljava/util/List<Ljava/lang/String;>;
getNumEntries()Iaccess$000()Ljava/util/logging/Logger;<clinit>SourceFileAddressbook.java���java/util/HashMap��java/util/TreeSet��java/util/HashSet������18,�9:;<"=>?�Invalid command. �@java/lang/StringA=������
����info?,java/lang/StringBuilderNo entry for 'BC'.D'' has categories fEWS."Get: Invalid number of parameters."#Added 'Didn't add '' (already present).CD"$' with categories Didn't change '', categories already 	Changed '', categories now "Add: Invalid number of parameters.FG'(%Change: Invalid number of parameters.Set '' to categories "Set: Invalid number of parameters.FG2H<IJK=;<+,Didn't remove '' (entry not present).	Removed '+$Didn't remove anything from 'Removed categories  from '' (categories now ).%Remove: Invalid number of parameters..Rename category: Invalid number of parameters.23Renamed category ''->'' in BL	 entries..Remove category: Invalid number of parameters.Removed category '' from Number of entries: hi / Used categories: fABMN?Ochatty/Addressbook$1�PQRU��VWX[AddressbookImport] 3YZ[��4\��ddressbookImport] %s [%s]java/lang/Object]^_java/lang/Throwable`ajava/io/IOException(Failed importing addressbook from file: b�cdefgcdhi=?jchatty/AddressbookEntry�klmf��(n+jf+='*oEjava/util/Map$EntrypJqr2>sjjava/util/ArrayListtu�dKv
(\+|-|!)(\S+)5wxyz6{<|}+~-�!��RSZ,Error reading addressbook: �Read �i addressbook entries from b��\Writing addressbook to ���Saving addressbook.���java/nio/file/OpenOption���`a7���Error writing addressbook: chatty/Addressbook�n��UTF-8���
java/util/Setjava/util/Iteratorjava/nio/file/Pathjava/io/BufferedReaderjava/util/regex/Patternjava/util/regex/Matcherjava/io/BufferedWriterclear'(Ljava/lang/String;)[Ljava/lang/String;trimisEmpty()Z(Ljava/lang/Object;)Zchatty/util/StringUtilremoveDuplicateWhitespace((Ljava/lang/String;I)[Ljava/lang/String;equalsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/util/Set;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;contains(I)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/nio/file/Paths;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;(Lchatty/Addressbook;)Vchatty/util/FileWatchercreateFileWatcher�FileChangedListenerD(Ljava/nio/file/Path;Lchatty/util/FileWatcher$FileChangedListener;)Zjava/nio/file/FilesnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;toAbsolutePath()Ljava/nio/file/Path;java/util/logging/LoggerreadLineformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;close
addSuppressed(Ljava/lang/Throwable;)Vwarningjava/util/LocaleENGLISHLjava/util/Locale;toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;
java/util/MapcontainsKey&(Ljava/lang/Object;)Ljava/lang/Object;+(Lchatty/AddressbookEntry;Ljava/util/Set;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;getNameentrySetgetValuehasCategory(Ljava/lang/String;)ZsetValuevalues()Ljava/util/Collection;(Ljava/lang/CharSequence;)Zcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;findgroup(I)Ljava/lang/String;addAll(Ljava/util/Collection;)Z	removeAlljoin<(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;getLocalizedMessagesizejava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnnewBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;java/util/CollectionwritenewLinejava/lang/Class	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;+chatty/util/FileWatcher$FileChangedListener!�x����������������������+����0*�*�Y��*�Y��*�	Y��*+�*,�
��D*02%E*F/G� 0��0��0�����9	b+��*�YM�*��+�N-:�66�*2:���*���W����,ç:,���WZZ^Z�.PQSTUV5W@XOVU[a\�H5��6��$1��'.��9��b��b���3�!�����'����D�!�����+��L+���+�M,2N�::,��,2�:,2�:-��*��-��*��-��*� �-!��*�"�-#��*�$�-%��*�&�-'��*�(�-)��*�*���nrstvwx$y(z.{8|@~IP�Y�`�i�p�y��������������������>������������$���(����$�-������
����[+��U+2�M*,�+N-��,Y�-.�/,�/0�/�1��,Y�-2�/,�/3�/-�4�5�/6�/�1�7����
���0�X��*
K��E��[��[����0���'���+
+��F+2�M*,�8��,Y�-9�/,�/0�/�1��,Y�-:�/,�/;�/�1�+���+2�M+2�N-�<:*,�+:*�=*,�>:�*�,Y�-9�/,�/?�/2�/-�/0�/�1��4:�4�@�)�,Y�-A�/,�/B�/�5�/6�/�1��,Y�-C�/,�/D�/�4�5�/6�/�1�E��N��
��0�I�O�V�]�c�j�p�y�~�����������\	
<��V���]���c���j���y����^��
��
���c����^���:�0��[��������;��(�������+�M,���,2�N*-�+:��	Y�:��4:,2�F:*-�G�5:�&�,Y�-9�/-�/?�/�/6�/�1��@�&�,Y�-A�/-�/B�/�/6�/�1��,Y�-C�/-�/D�/�/6�/�1�H��B�����!�-�4�>�E�L�Q�t��������\	*�������4���>��Lz����������� *��4���>���.�-������?��.�"�������+���+2�M+2�N-�<:*,�+:*�=*,�G�5:�&�,Y�-9�/,�/?�/�/6�/�1��4�@�&�,Y�-A�/,�/B�/�/6�/�1��,Y�-I�/,�/J�/�/6�/�1�K��:��
���!�'�.�5�:]l���H
���������!��5}������������,�]�������1�"����G+�LM,�M�9,�N�N*�Y:�*�-�O�	*-�PWç:����ı"8;;@;�"/
5CF�*)��?�G��G	��G	����-��E�����z�+��D+2�M*,�Q��,Y�-R�/,�/S�/�1��,Y�-T�/,�/0�/�1�+��o+2�M+2��<N*,-�U:��,Y�-V�/,�/S�/�1��,Y�-W�/-�5�/X�/,�/Y�/�4�5�/Z�/�1�[��6

 ."G#M$T%^'f(k)�+�/�>
:��Te��^[��fS���������^[����.��<����4
���J+��\�+2M+2N*,-�]6�,Y�-^�/,�/_�/-�/`�/a�/�bc�/�1��;<	>
?@A�4J��J��
=�9�1���	���5+��d�*+2�P=�,Y�-e�/+2�/f�/�bc�/�1��OP	RS� 5��5��$���	�M#�,Y�-g�/*�h�bi�/*�j�k�1��]�#���F*�
��l�mY*�n�oW��em���!���*�
��lL+�p�qMN��,Y�-r�/+�s�k�1�t,�uY:�'*�v:�w�xYSYS�y�t���,�K-�,�z�@:-�|�5,�z�.:N�:,�-�,�z�:-�|�,�z��M��,Y�-~�/,�k�1��jnq{b�{b����{�����}�:stu4w>xFy_zb{�t�{�}�{�|�~�RF��;'�s��������K�4 �-N�F�G�� �����B!"#�H*+,�<�>���� ������!"$��K+����L*,��*�+���*+,�G�*�+����N��Y-,��:*�+��W��&	��
�� �"�0�;�H��40�;%�K��K��K���K���"�&!'(�u*,��*�+����Y+,����W������ ����������)!'*�T*+�4��*�+��+��W����������!+*�G*�+����W���������!+,�E*�+��������������+#�H*+,�<�U���� ������!+$�4f+��L*�+����N-�P-�4:,�L:�M��N�:��W����Y+��:*�+��W���.�����;�E�H�T�a�d��R;-�%#�G.�T%�f��f��f/�S���G.�f/���%���"��&!01�Z*�+����W*,�������� ������!23�\>*����L:�M�A�N��:����+���!����+,��:��W������"��(�9JTWZ�HJ
4�(/�6H�\��\7�\8�Z9��(/�:���D�!;<��Y=*����LN-�M�@-�N��:����+���!����+��:��W������"%6GQTW�>G
4�%/�6F�Y��Y=�W9��%/�:���B�	2>��&*�4N-+��W,�-,�W��Y*��-����()
*+-�*&��&�&�!���!�����!?,�E*�+��������8�����!@A�;��Y*�������A����B	CD�R�	Y�L*�M,N-�66�4-2:���:�����+�W����+��"KLM%N/OAPJMPS�H%%-�?��;��8��R��J��C���J��������1��E	FG��	��	Y*��M���N-+��:������:���<:���,��W�e���,��W�O���E�L:�M�2�N�:*�O�,��W�,�W��ʧ�m,��Je	fghi&j1k;lGmQn]ogp�q�r�t�v�x�y�\	� ��p9�&�H�1x���I��J�	����KL�MN� 1x���I�	����+��OP�0����,���Q	RS�C*�������T��U�V	WS�X�,Y�-2�/*���/2�/�1�����T��U�V!X�.�*���*���lL+�p�qMN,�u:*��:�*�����W��,�K-�,�z�@:-�|�5,�z�.:N�:,�-�,�z�:-�|�,�z�� M��,Y�-��/,���/�1���,Y�-��/*����b��/*��/�1�t*���PTW{Hi{Hq{�{isq��}�F�	���%�-�2�C�H�i�q��������������R-Y�%#�Y�w������b� �#�� ��F�G�� �����B!Z,��P+�+���+��M,��,2N��Y-�	Y����,��,2N,2�<:��Y-�����.��
���!�1�7�;�C�N��>!��;��C��P��P�9���C����#�![�G*���*�����������!\� �*���lL��,Y�-��/*��/�1�t�����+�p����MN*�����:�M� �N��:,*����,�����*��,�K-�,���@:-�|�5,���.:N�:,�-�,���:-�|�,���� M��,Y�-��/,���/�1�����{>z�{>z����{���0��}�B��(�0�>�d�n�r�u�z��������������Rd��N'���<�]^������W�N�_��&S�F�G��_�����B!`a�U!�,Y�-+���/�/+�4���/�1����!��!��b��7*��*�����L+�M�+�N��M*,�4�������	�+�3�6�� +���7�����cd�V*�+��W��������T��U�e!fA�6��Y*����������g!hi�4*��������jk����!l�1����������p��#%mn�m��5	S�T	PKɣG�4�ø�chatty/AddressbookEntry.class���3|KLM	NO	PQRSTU	KSVWXWYZS[	\S]^K_`aabcdefnameLjava/lang/String;categoriesLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;<init>$(Ljava/lang/String;Ljava/util/Set;)VCodeLineNumberTableLocalVariableTablethisLchatty/AddressbookEntry;LocalVariableTypeTable8(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)V+(Lchatty/AddressbookEntry;Ljava/util/Set;)Vother?(Lchatty/AddressbookEntry;Ljava/util/Set<Ljava/lang/String;>;)VcreateCategoriesSet (Ljava/util/Set;)Ljava/util/Set;cati$Ljava/util/Iterator;result
StackMapTableghH(Ljava/util/Set<Ljava/lang/String;>;)Ljava/util/Set<Ljava/lang/String;>;getName()Ljava/lang/String;
getCategories()Ljava/util/Set;%()Ljava/util/Set<Ljava/lang/String;>;hasCategory(Ljava/lang/String;)ZcategorytoStringequals(Ljava/lang/Object;)ZoLjava/lang/Object;hashCode()IhashISourceFileAddressbookEntry.java"ijkl./89:;gmnjava/util/HashSetophqrstjava/lang/StringuB"vwBjava/lang/StringBuilderxy @9chatty/AddressbookEntryABzE{java/lang/Object
java/util/Setjava/util/Iterator()Vchatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;addAll(Ljava/util/Collection;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;add(Ljava/util/Collection;)Vcontainsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/util/Objects(Ljava/lang/Object;)I! !	"#$q*�*+��*,���%& '()! *"+$�)*�*+���*+���*�,��W�%'()*(+& )'(),()))! -./$�2�	Y�L*�M,��,�
�N+-��W���+�%67"8-90:&*"0!122*3)2!*3!4�56�  789$/*��%C&'(:;$6�	Y*���%L&'( <=>$Y+��*�+���%VWY&'(?4@9$K!�Y�*���*�����%^&!'(AB$]+��*�+�����%cdf&'(CD4EF$N<;h*��`<�%klm&'(GHIJPKɣG�H9~ccchatty/CapitalizedNames$1.class���3 	this$0Lchatty/CapitalizedNames;<init>(Lchatty/CapitalizedNames;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/CapitalizedNames$1;run()VSourceFileCapitalizedNames.javaEnclosingMethod	chatty/CapitalizedNames$1java/util/TimerTaskchatty/CapitalizedNames(Lchatty/util/api/TwitchApi;)Vaccess$000 	4*+�*��H
6*���LM
PKɣG��q��-chatty/CapitalizedNames$CapitalizedName.class���3G0	1	2	345$�678:6;<WEEKI
ConstantValue$�capitalizedNameLjava/lang/String;timeJfixedZ<init>(Ljava/lang/String;JZ)VCodeLineNumberTableLocalVariableTablethisCapitalizedNameInnerClasses)Lchatty/CapitalizedNames$CapitalizedName;toString()Ljava/lang/String;refreshPriority()IweeksOld
StackMapTablehashCodehashequals(Ljava/lang/Object;)ZobjLjava/lang/Object;other:SourceFileCapitalizedNames.java=>?@A&BCDE'chatty/CapitalizedNames$CapitalizedName(Fjava/lang/Object()Vjava/lang/SystemcurrentTimeMillis()Jjava/util/Objects(Ljava/lang/Object;)IgetClass()Ljava/lang/Class;chatty/CapitalizedNames'(Ljava/lang/Object;Ljava/lang/Object;)Z 
m*�*+�* �*��rs	tuv* !/*��z"#�7*��1*�	��(�*�em�<�������&	���$�'�,�.�3�5�$7%�'�&#M<h*��`<����'()�*+��*�	+�	��+�M*�,�����"������&�(� ***+,%�-./9PKɣGm��$$6chatty/CapitalizedNames$CapitalizedNamesListener.class���3
setName'(Ljava/lang/String;Ljava/lang/String;)VSourceFileCapitalizedNames.java0chatty/CapitalizedNames$CapitalizedNamesListenerCapitalizedNamesListenerInnerClassesjava/lang/Objectchatty/CapitalizedNames 		PKɣG�$KŘ�,chatty/CapitalizedNames$NameForRequest.class���3L3	
4	
563789:;<=>@<ABCnameLjava/lang/String;priorityI<init>(Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisNameForRequestInnerClasses(Lchatty/CapitalizedNames$NameForRequest;initialPriorityincreasePriority()VgetPriority()ItoString()Ljava/lang/String;hashCodehashequals(Ljava/lang/Object;)ZobjLjava/lang/Object;other
StackMapTable@	compareTo(Ljava/lang/Object;)IoSourceFileCapitalizedNames.java java/lang/StringBuilderDE(DF)#$G%/HIJ&chatty/CapitalizedNames$NameForRequest'Kjava/lang/Objectjava/lang/Comparableappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/util/ObjectsgetClass()Ljava/lang/Class;chatty/CapitalizedNames'(Ljava/lang/Object;Ljava/lang/Object;)Z 
Y*�*+�*����	��  9*Y�`����!"/*���#$M#�Y�*���*��	����#%"M</h*��`<����&'(�*+��*�+���+�
M*�,�����"������&�(� **)*+,�-./d+�*�+���+�
�*�d����0*,12
?PKɣGv�MJ�(�(chatty/CapitalizedNames.class���3����	�		��`	�

	�	�	�	�	��`� !��������"#$%&'()+*+,	�-.///0+1/23/4/56789::;<6=	�>�?@A+BCDEFEG	+HIJ	+KL	+MINOPI8Q�RST+U�V+W+XYWZ[\W]^_+`]abcde	Wf+gh/ijkd1lm�n[o+&�p[Dqnrsltuvwxyz{|}~������������6��NameForRequestInnerClassesCapitalizedNameCapitalizedNamesListenerLOGGERLjava/util/logging/Logger;FILELjava/nio/file/Path;CHARSETLjava/nio/charset/Charset;DELAYI
ConstantValue	listenersLjava/util/Set;	SignatureCLjava/util/Set<Lchatty/CapitalizedNames$CapitalizedNamesListener;>;namesLjava/util/Map;LLjava/util/Map<Ljava/lang/String;Lchatty/CapitalizedNames$CapitalizedName;>;erroredNames#Ljava/util/Set<Ljava/lang/String;>;queuedForRequestKLjava/util/Map<Ljava/lang/String;Lchatty/CapitalizedNames$NameForRequest;>;apiLchatty/util/api/TwitchApi;savedZ<init>(Lchatty/util/api/TwitchApi;)VCodeLineNumberTableLocalVariableTablethisLchatty/CapitalizedNames;timerLjava/util/Timer;loadFromFile()Vex!Ljava/lang/NumberFormatException;split[Ljava/lang/String;nameLjava/lang/String;timeJfixedlinex2Ljava/lang/Throwable;readerLjava/io/BufferedReader;Ljava/io/IOException;
StackMapTable�9��$;saveToFileOncesaveToFile)Lchatty/CapitalizedNames$CapitalizedName;i$Ljava/util/Iterator;writerLjava/io/BufferedWriter;��)requestNamegetName&(Ljava/lang/String;)Ljava/lang/String;refreshPriority	exisitingactivity(Ljava/lang/String;)VaddNameForRequest(Ljava/lang/String;I)Vexisting(Lchatty/CapitalizedNames$NameForRequest;initialPriorityYpollNameForRequest()Ljava/lang/String;listLjava/util/List;startLocalVariableTypeTable:Ljava/util/List<Lchatty/CapitalizedNames$NameForRequest;>;setName'(Ljava/lang/String;Ljava/lang/String;)VcapitalizedName((Ljava/lang/String;Ljava/lang/String;Z)VupdatedcurrentinformListenerslistener2Lchatty/CapitalizedNames$CapitalizedNamesListener;addListener5(Lchatty/CapitalizedNames$CapitalizedNamesListener;)VcommandRefreshCasecached	parameter�commandSetCasecommandGetCasetimeInfo.access$000(Lchatty/CapitalizedNames;)Vx0<clinit>SourceFileCapitalizedNames.java�������java/lang/StringcapitalizedNames�����UTF-8�������java/util/HashSet��java/util/HashMap��������java/util/Timer��chatty/CapitalizedNames$1���������������� �����java/lang/NumberFormatExceptionf�����'chatty/CapitalizedNames$CapitalizedName�������java/lang/StringBuilderLoaded ������
 names from: ���������java/lang/Throwable��java/io/IOExceptionError loading names: ������java/nio/file/OpenOption�������������������������Saved  names to: Error saving names: �������������&chatty/CapitalizedNames$NameForRequest����������java/util/ArrayList������������[��] Names Cached: 	 Queued: ���������0chatty/CapitalizedNames$CapitalizedNamesListener��Usage: /refreshCase <name>��
Invalid name.#Capitalization was manually set to  (resetting to default now)Refreshing capitalization for "Usage: /setCase <capitalized_name> Setting fixed capitalization to Usage: /getCase <name>No capitalization set for set at unknown timeset ��� ago, ��Capitalization for  is  (	manually )chatty/CapitalizedNames�����java/lang/Objectjava/io/BufferedReaderjava/io/BufferedWriterjava/util/Iterator
chatty/ChattygetUserDataDirectoryjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;(Z)Vschedule(Ljava/util/TimerTask;JJ)Vjava/nio/file/FilesnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;readLinetrimisEmpty()Z'(Ljava/lang/String;)[Ljava/lang/String;java/lang/Long	parseLong(Ljava/lang/String;)Jequals(Ljava/lang/Object;)Zchatty/util/StringUtiltoLowerCase(Ljava/lang/String;JZ)V
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;size()I(I)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerinfoclose
addSuppressed(Ljava/lang/Throwable;)VwarningnewBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;values()Ljava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;writevalueOf(J)Ljava/lang/String;newLinechatty/util/api/TwitchApirequestUserInfo&(Ljava/lang/Object;)Ljava/lang/Object;containsKeyincreasePriority
java/util/Setcontainsjava/lang/SystemcurrentTimeMillis()J(Ljava/util/Collection;)Vjava/util/Collectionssort(Ljava/util/List;)Vjava/util/List(I)Ljava/lang/Object;remove(J)Ljava/lang/StringBuilder;
chatty/HelpersubList$(Ljava/util/List;II)Ljava/util/List;addvalidateStream(Ljava/lang/String;)Zchatty/util/DateTimeagoSingleVerboseformatFullDatetimejava/lang/Class	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!�����������������������������������w*�*��YS��*�	�*�*�
Y��*�Y��*�
Y��*�Y��*+��Y�M,�Y*��*���6
D"# %&+12<7G>REWG`HrPvQ� w��w��`��"����'*�*��LM+�YN��-� N-�!���-"�#:2:$7��2�&7�:$7$���6��2(�)�6*��*�+Y�,�-W��|�.�/Y�01�2*��3�45�2*��6�7�8+�F,�+�9�;N,-�;�2+�9�+N-M-�:	+�,�+�9�:,�;�+�9	��L�.�/Y�0=�2+�6�7�>�=FI'���:��:�����:���	<�jTVWX#Y+Z1[6\=^FaI_K`Pc`dgesfvi�j�l�m�T�m	om
n&p�pK��+g��1a��6\��`2��������������
��'�������:�������@�������;����F�D��������B�!���G*�?�*�@��stv����!���5*�*��A�BLM*��C�DN-�E�D-�F�+:+�G�H+"�H+�I�J�H�K�+"�H+(�H+�L����.�/Y�0M�2*��3�4N�2*��6�7�8*�?+�F,�+�O�;N,-�;�2+�O�+N-M-�:+�,�+�O�:,�;�+�O��L�.�/Y�0P�2+�6�7�>����:��:�����:�����<�Nyz5{>|D}P~X^�d�h�k������y����������H53��!J�����������������O
�!���B��@�F�D��������B����`*�QL+�*�+�R����	�����
�����!����?+�+�!��*�+�S�+M,�*+�T�,�U>�
*+dt�T,�G��*��
���%�'�,�0�:��*,��?��?��$�����!���c*�+�V�*�+�S�W�X���
������������;*�+�Y�0*�+�S�WN-�*�+�WY+�Z�-W�-�X���
���6�:��*��;��;��;����6�"���(��[@*��\���]Y*��C�^N-�_-�`�W�a:*��bW�.�/Y�0c�2�[e�de�2*��3�4f�2-�g�4"�2-�h�6�7�8*��Y����*���!�%�4�@��������*!{��4h���������!{�����!���J*+,�i����� ������!����i*�+�bW,�*�+�jW�N*�+�S�+:��K��.�+Y,�[�,:*�+�-W�k�	*+,�l��*���,=KXbh�>K��,<��i��i��i��i�����*����+*��mN-�E�-�F�n:+,�o����
'*�4	�� ��+��+��+�����!���U+�*�+�jW�����������`�+�p�+"�#2M,�q�r�>*Y:�*�,�*�S�+:�!�K�*�,�*�bW�GM>ç:��*�,�*�R��/Y�0s�2,�2t�2�7��/Y�0u�2,�2�7�!Y\\a\�F #!$3%@&N'T(V*d+o,s-�/�43#�����������������;�E�'!����8+�v�+"�#2M,�q�r�*,�*,�i�/Y�0w�2,�2�7��679:;=$>� (��8��8���	��!�����+�x�+"�#2M,�q�r�*�,�*�S�+N-��/Y�0y�2,�2�7�-�I$��z�+�/Y�0{�2-�I�|�2}�2-�I�~�2�7:�/Y�0�2,�2��2-�G�2��2-�K�����2�2��2�7��*DEGHIK+L/MCO}Q�4+���}@������������I��(�g�.�����������������/*���������%
������.�� ���"W��+��n��	PKʣG�賢SSchatty/ChannelFavorites.class���3�/n	.opqr.s.t.uvwxyxz{.|}q~.q��q�q���&\��vw����x�q�q���q�����.��q�.�q��q�+���DAYI
ConstantValue&\FAVORITES_SETTINGLjava/lang/String;HISTORY_SETTINGsettingsLchatty/util/settings/Settings;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/ChannelFavorites;
StackMapTable��removeChannels(Ljava/util/Set;)VchannelsLjava/util/Set;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;	Signature&(Ljava/util/Set<Ljava/lang/String;>;)VremoveChannelsFromHistorychanneli$Ljava/util/Iterator;�removeChannelFromHistory(Ljava/lang/String;)V	removeOld()VtimeJdayshLjava/util/Map;	keepAfterit3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;(Ljava/util/Iterator<Ljava/lang/String;>;�clearHistoryaddChannelToHistoryprepareChannel&(Ljava/lang/String;)Ljava/lang/String;addChannelsToFavoritesaddChannelToFavoritesremoveChannelsFromFavoritesremoveChannelFromFavoritesgetHistory()Ljava/util/Map;5()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;getFavorites()Ljava/util/Set;%()Ljava/util/Set<Ljava/lang/String;>;SourceFileChannelFavorites.java9S78historyClear���RSKDdD��������java/lang/StringPQchannelHistory�Q`a��channelHistoryKeepDays���������j��java/lang/Long���S���QsaveChannelHistory������#����cQchannelFavorites��eQ��java/util/HashSet��9�chatty/ChannelFavoritesjava/lang/Objectchatty/util/settings/Settingsjava/util/Iterator
java/util/MapgetBoolean(Ljava/lang/String;)Z
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;setSettingChanged	mapRemove'(Ljava/lang/String;Ljava/lang/Object;)VgetLong(Ljava/lang/String;)JgetMap#(Ljava/lang/String;)Ljava/util/Map;java/lang/SystemcurrentTimeMillis()JkeySetget&(Ljava/lang/Object;)Ljava/lang/Object;	longValueremoveputMap$(Ljava/lang/String;Ljava/util/Map;)VmapClearvalueOf(J)Ljava/lang/Long;mapPut9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)VisEmptystartsWith	substring(I)Ljava/lang/String;setAdd'(Ljava/lang/String;Ljava/lang/Object;)ZlistRemovegetList$(Ljava/lang/String;)Ljava/util/List;(Ljava/util/Collection;)V!./0123452'652
789:;p*�*+�+��*��<!"	#$&=>?78@�AB!CD;Y*+�*+��<./0=>?EFGEHIJ!KD;�,+�M,�	�,��N*-����*�
��<89:";+<=*L5MN,>?,EFG,EH@�O�IJ"PQ;^*+�L+�
*�
+��<DEFH=>?L5@"RS;Fx*��@*�
�N�ie7-��:�	�1��:-���7������*�
-�*�
��<6
OPQR,S6TBURVZWaYdZn[w\=HBL5RTUx>?nVUdWXYYU,LZNGdW[,LZ\@�,A]O4!^S;E*�
�*�
��<_	`a=>?!_Q;�2*����*+�L+��*�
+�� �!*�
��<"ij
lmnp(q1r=2>?2L5@
"`a;~'+�+�"��+#�$�+�%L+�"��+�<|}
��#�%�='>?'L5@!bD;�,+�M,�	�,��N*-�&���*�'��<���"�+�=*L5MN,>?,EFG,EH@�O�IJcQ;_*+�L+�*�'+�(W�<����=>?L5@!dD;�,+�M,�	�,��N*-�)���*�'��<���"�+�=*L5MN,>?,EFG,EH@�O�IJeQ;_*+�L+�*�'+�*W�<����=>?L5@!fg;4*�
��<�=>?Ih!ij;;�+Y*�'�,�-�<�=>?IklmPKʣG�e�SSchatty/ChannelState.class���3�#ST	"U	"V"W"X"Y"Z	"["\	"]	"^	"_`a	"bcQ�dSefghjimnopqr`stuvwxSLOWMODE_ON_INVALIDI
ConstantValue����channelLjava/lang/String;subModeZslowModer9kModehostinglanginfo<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/ChannelState;getChannel()Ljava/lang/String;reset()Zchanged
StackMapTablesetSubMode(Z)ZenabledsetSlowMode(I)Zlength()IsetR9kModesetHosting(Ljava/lang/String;)ZtargetgetHostingsetLanggetInfoupdateInfo()VresultsepySourceFileChannelState.java1M0)()>?ABFGE?*+LM,%-+.)yz{/)|java/lang/StringBuilder|}Slow: >day~9Slow: chatty/util/DateTime$FormattingFormattingInnerClasses��|�Sub�|�r9k�;	Hosting: []chatty/ChannelStatejava/lang/Objectjava/lang/Stringequals(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringchatty/util/DateTimeduration9(JII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;(I)Ljava/lang/StringBuilder;chatty/util/StringUtilJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;isEmpty!"#$%&'()*+,%-+.)/)0)123P*�*�*+��4,*-.567()893/*��41567!:;3�,<*��<*��<*��<*��<�4*:;<>?AB D(E*G5,67*<+=	�			!>?3b*�	�*�	*���4QR
STV567@+=!*;3/*�	�4_567!AB3b*��*�*���4lm
noq567C%=!,D3/*��4{567!E?3b*��*�*���4�
���567@+=!-;3/*��4�567!FG3y**�
�+�*�
�*�
+��*+�
*���4��"�&�(�5*67*H)=!I93/*�
�4�567!JG3y**��+�*��*�+��*+�*���4��"�&�(�5*67*/)=K93/*��4�567LM3�LM*���*���Y�+���L�[*��/�Y�+��*��h�����L�%*���Y�+��*���L*�	�+,�L*��+,�L*�
�)*�
��+,�Y��*�
���L*��*���
+,*��L+���Y� �+�!��L*+��4R����/�9�e�l���������������������
��5 67N)
O)=	�PP5!,QRlik@PKʣG->m""5chatty/ChannelStateManager$ChannelStateListener.class���3
channelStateUpdated(Lchatty/ChannelState;)VSourceFileChannelStateManager.java/chatty/ChannelStateManager$ChannelStateListenerChannelStateListenerInnerClassesjava/lang/Objectchatty/ChannelStateManager 		PKʣG��ee chatty/ChannelStateManager.class���3�#bcb	"deb	"fghi	jgklm"nlopqprst	u"vwxyz{"|}	~		�	�	�g��	���ChannelStateListenerInnerClassesstatesLjava/util/Map;	Signature8Ljava/util/Map<Ljava/lang/String;Lchatty/ChannelState;>;	listenersLjava/util/Set;BLjava/util/Set<Lchatty/ChannelStateManager$ChannelStateListener;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/ChannelStateManager;getState)(Ljava/lang/String;)Lchatty/ChannelState;sLchatty/ChannelState;channelLjava/lang/String;
StackMapTable�i���addListener4(Lchatty/ChannelStateManager$ChannelStateListener;)Vlistener1Lchatty/ChannelStateManager$ChannelStateListener;updated(Ljava/lang/String;)Vli$Ljava/util/Iterator;�setSlowmode(Ljava/lang/String;I)VlengthI'(Ljava/lang/String;Ljava/lang/String;)Vex!Ljava/lang/NumberFormatException;}setSubmode(Ljava/lang/String;Z)VenabledZsetR9kModesetHostingtargetsetLanglangresetstatesCopyLocalVariableTypeTable&Ljava/util/Set<Lchatty/ChannelState;>;�SourceFileChannelStateManager.java-.java/util/HashMap&'java/util/HashSet*+���chatty/ChannelState-E�����45�������/chatty/ChannelStateManager$ChannelStateListener����DE^[0-9]+$������JKjava/lang/NumberFormatException��V�W�Y�[���-���chatty/ChannelStateManagerjava/lang/Objectjava/lang/Stringjava/lang/Throwablejava/util/Iterator
java/util/Set
java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;add(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;channelStateUpdated(Lchatty/ChannelState;)VsetSlowMode(I)Zmatches(Ljava/lang/String;)Zjava/lang/IntegerparseInt(Ljava/lang/String;)IsetSubMode(Z)Zvalues()Ljava/util/Collection;(Ljava/util/Collection;)VgetChannel()Ljava/lang/String;!"#&'()*+(,-./Q*�*�Y��*�Y���0
z12345/�=*�YM�*�+��	N-�-,ð�	Y+�N*�+-�W-,ð:,��6566:60"&261 !67=23=89:�;<�=>;?@A/U+�*�+�W�0 "123BC:DE/�0*+�
M*��N-��-��:,����0%&$',(/)14$FCGH023089*67:�<I�JK/a*+�
��*+��0,-/1 2389LM:JN/�+,�#,��*+,���N*+���	*+��
0";
=A>@!A$D*F1*OP+23+89+L9:YQRS/a*+�
��*+��0IJL1 2389TU:VS/a*+�
��*+��0OPR1 2389TU:WN/a*+�
,��*+��0UVX1 2389X9:YN/a*+�
,��*+��0[\^1 2389Z9:[E/V*+�
��*+��0fgi12389:[./O*�YM»Y*��� L,çN,�-�+�M,��,��	N-��*-�!���ޱ 0"pqr"s<tCuKwNx1*<67)%GHO237\+]7\^:*�=;?�=_�I!�`a%"$	PKʣG8����chatty/Chatty.class���3�,q+rs	t	+uvwxyz	q{|}	~	���q������	������+���+�����	+��������DEBUGZ
ConstantValueHOTKEYWEBSITELjava/lang/String;�	CLIENT_ID�REDIRECT_URI�VERSION�VERSION_CHECK_ENABLEDVERSION_URL�VERSION_TEST_URL�STARTED_TIMEJuseCurrentDirectory<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/Chatty;main([Ljava/lang/String;)Vargs[Ljava/lang/String;parsedArgsLjava/util/HashMap;LocalVariableTypeTable9Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
StackMapTablezparseArguments(([Ljava/lang/String;)Ljava/util/HashMap;currentArgumentargarr$len$Ii$resultargumentNameN�	SignatureN([Ljava/lang/String;)Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;getUserDataDirectory()Ljava/lang/String;dirgetExportDirectorygetCacheDirectorygetWorkingDirectorygetSoundDirectorygetImageDirectorygetBackupDirectory
chattyVersionuptime<clinit>SourceFileChatty.javaDEUVcd��C.chatty/TwitchClientD���Ejava/util/HashMap-��������java/lang/Stringjava/lang/StringBuilder�� �duser.dir����3	user.home.chattyjava/io/FileD���cdexportedcachehdsoundsimgbackupChatty Version 0.8.1AB�chatty/util/DateTime$FormattingFormattingInnerClasses����
chatty/Chattyjava/lang/Objecthttp://chatty.github.iospyiu9jqdnfjtwv6l1xjk5zgt8qb91lhttp://127.0.0.1:61324/token/0.8.1#http://chatty.github.io/version.txt#http://127.0.0.1/twitch/version.txtcontainsKey(Ljava/lang/Object;)Z(Ljava/util/HashMap;)Vchatty/util/LogUtilstartMemoryUsageLoggingstartsWith(Ljava/lang/String;)Zput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;	substring(I)Ljava/lang/String;get&(Ljava/lang/Object;)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/lang/SystemgetProperty&(Ljava/lang/String;)Ljava/lang/String;	separator(Ljava/lang/String;)Vmkdirs()Zchatty/util/DateTimeago7(J[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;currentTimeMillis()J!+,-./01./023/453/673/893/:;./<=3/>?3/@ABC.
DEF/*��GHIJ	KLF�*�L+����Y+�W��GRSTVXYHMNOPQORS�TUVF���	Y�LM*N-�66�w-2:��!,�+,��+,
�W�M�C,�?+,��/+,��:+,�Y������W�+,�W����+,��+,
�W+�GFhij k*m6n>pHrLtTu^v}w�y�j�}�~��HR^W3 hX3�YN~Z[{\[�MN�]P�^3Q�]RS&�_T`_�*`	7��ab	cdF�Q���Y��������Y���������K�Y*��W*�G���C�O�HCe3S	fdF\*�Y��� ����K�Y*��W*�G��(�He3	gdF\*�Y���!����K�Y*��W*�G��(�He3	hdF1�Y�������G�	idF4�Y��"�#�����G�	jdF4�Y��"�$�����G�	kdF4�Y���%�����G�	ldF&�G�	mdF#�'�(�)�G�nEF'�*�'��GEJop�(��@PKʣG`-q�ppchatty/Connection.class���3ef�	c�	c�	c�	c�	c�������	c�	c�	c������������c����	c�������&�����������*�*���*�.�-�	c���*�4�3�	c�*������c����A��*f�*��3	 �cc
Q�c	cc-3*�--� !"LOGGERLjava/util/logging/Logger;addressLjava/net/InetSocketAddress;ircLchatty/Irc;socketLjava/net/Socket;outLjava/io/PrintWriter;inLjava/io/BufferedReader;	connectedZdisconnectReasonIdisconnectMessageLjava/lang/String;connectionCheckedCountCONNECT_TIMEOUT
ConstantValue'SOCKET_BLOCK_TIMEOUT:�PING_AFTER_CHECKSidPrefixsecured<init>>(Lchatty/Irc;Ljava/net/InetSocketAddress;Ljava/lang/String;Z)VCodeLineNumberTableLocalVariableTablethisLchatty/Connection;idinfo(Ljava/lang/String;)VmessagewarninggetAddress()Ljava/net/InetSocketAddress;run()Vsuitearr$[Ljava/lang/String;len$i$sf Ljavax/net/ssl/SSLSocketFactory;limitedLjava/util/List;exLjava/net/UnknownHostException;!Ljava/net/SocketTimeoutException;Ljava/io/IOException;cLjavax/net/ssl/SSLException;charsetLjava/nio/charset/Charset;bLjava/lang/StringBuilder;
previousWasCRreceivedLineLocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;
StackMapTable#���$���activitycheckConnectionclosesenddata<clinit>SourceFileConnection.java��tuvwxylmjkjava/lang/StringBuilder[%&] '(�y�uhi)����UTF-8#*+Trying to connect to %, (secured)��-.javax/net/ssl/SSLSocketFactory/0nojavax/net/ssl/SSLSocket12java/util/LinkedList34_DHE_56$789:java/lang/String;<=>java/net/Socket?@java/io/PrintWriterjava/io/OutputStreamWriterAB�C�Dpqjava/io/BufferedReaderjava/io/InputStreamReaderEF�G�HrsIJjava/net/UnknownHostExceptionKLJError opening connection to : ��java/net/SocketTimeoutExceptionError opening connection: java/io/IOExceptionM(LN
Connected to OPQRSTU:tVW:XJ%YZ�����javax/net/ssl/SSLExceptionSSL Error reading from socket: Error reading from socket: ��zwPING��Closing socket.Error closing socket: [\]^�
_�`�chatty/Connectionab(cdjava/lang/Objectjava/lang/Runnablejava/nio/charset/Charsetjava/util/Listappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/LoggerforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getDefault()Ljavax/net/SocketFactory;createSocket()Ljava/net/Socket;setUseClientMode(Z)VgetEnabledCipherSuites()[Ljava/lang/String;contains(Ljava/lang/CharSequence;)Zadd(Ljava/lang/Object;)Zsize()ItoArray(([Ljava/lang/Object;)[Ljava/lang/Object;setEnabledCipherSuites([Ljava/lang/String;)Vconnect(Ljava/net/SocketAddress;I)VgetOutputStream()Ljava/io/OutputStream;3(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V(Ljava/io/Writer;)VgetInputStream()Ljava/io/InputStream;2(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V(Ljava/io/Reader;)VsetSoTimeout(I)Vchatty/IrcdisconnectedgetLocalizedMessage(ILjava/lang/String;)VgetRemoteSocketAddress()Ljava/net/SocketAddress;getInetAddress()Ljava/net/InetAddress;java/net/InetAddressjava/net/InetSocketAddressgetPort(Ljava/lang/String;I)Vread	setLength(C)Ljava/lang/StringBuilder;receivedchatty/util/StringUtilremoveLinebreakCharacters&(Ljava/lang/String;)Ljava/lang/String;sentprintflushjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!cfghijklmnopqrstuvwxyzw{w|}~w|�w|��y�u����@*�*�*�*�*+�*,�*�Y�	�-����
*���&	1"	$%23495?6�4@��@lm@jk@�y@�u���T��Y�*�
�+�����9:����y���T��Y�*�
�+�����=>����y���/*���A������g��L*�Y��*��*������*����M*,��*����Y� N*���!:�66�#2:"�#�-�$W����*��--�%�&�'�(�)�*�*Y�+�*�*�'�,*�-Y�.Y*��/+�0�1�2*�3Y�4Y*��5+�6�7�8*�:��9�yM*�d�;*�Y�<�*��=�,���>�M*�Y�@�,���>*�e�;�M*�Y�@�,���>*�f,�B�C�*�Y�D�*��E�F���*�*�*��G�H*��I�J�Y�M>:*�8�K6���
�>�(��,�:,�L>�
,��MW>����*��N:*�O���:*�P���:*�Y�R����>*k�*�S�� :*�Y�T�����*�U�:<?^A��,?�,?),?��5Q�5Q)5Q��aA�aA)aA�DIK1M8N?OGPRVZW|X�Y�W�\�]�^�`�b�ehuijk;l<m=nTo]p^q_rvs�t�y�z�{�}�~�������������������������"�%�)�,�.�2�5�7�O�U�^�a�c�{�~�����|�yf/��k*�wn'�w?r��ZW��-��=!��_%���R�w.��7*��c�����}���������u���y�ZW�����&�����������E����( ���N�m�a�%�I���	������H�k����4*�V����������a*Y�V`�V*�V�*W�X*�V�����������!����m*��c*Y�*�2�Z*�8�[*��\�L*�Y�]�+���>*��	*h�*��	*�*�*�*��C*��
"%A�>��
���"�%�&�=�E�K�R�X�g�l��&��m���e�
!���{3+�^L*�+�_*�2�Y�+�`���a*�2�b*�O����
�'�.�2��3��3�y���%
c�d�e�����PKʣGp'e��chatty/CustomCommands.class���3�IJI	K	LMNOPOQR	ST	UV
I
WX	Y Z[O\]^_`_a	bc	d	e	fOghicommandsLjava/util/Map;	Signature5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;settingsLchatty/util/settings/Settings;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/CustomCommands;commandJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;parameters[Ljava/lang/String;commandTextLjava/lang/String;replaced	parameterchannel
StackMapTableR0containsCommand(Ljava/lang/String;)ZloadFromSettings()Vsplitci$Ljava/util/Iterator;commandsToLoadLjava/util/List;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;jkSourceFileCustomCommands.java&<java/util/HashMap !$%lmnopqrsjava/lang/Stringtu =vchatty/util/ParameterReplacerwx\$chanyz{|}~<j�k�u��=�/�:������chatty/CustomCommandsjava/lang/Objectjava/util/Listjava/util/Iteratorchatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;
java/util/MapcontainsKey(Ljava/lang/Object;)Zget&(Ljava/lang/Object;)Ljava/lang/Object;isEmpty()Z'(Ljava/lang/String;)[Ljava/lang/String;replace9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;chatty/util/settings/SettingsgetList$(Ljava/lang/String;)Ljava/util/List;cleariterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;((Ljava/lang/String;I)[Ljava/lang/String;startsWith	substring(I)Ljava/lang/String;trim()Ljava/lang/String;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;! !"#$%&'(U*�*�Y��*+��)*+,$%!-.(a+�L*�+��P*�+��	:,�,���	:�,�:�
Y��:�
-�:��).'()!+,,5.=0M1R3\5_7*R2/0!>12="/0M32a+,a-2a42a526�,7�8�7�!9:(B*�+���)A*+,-2!;<(K�*��L*��+�M,��e,��	N-�T-��M-�:��=2:���:�:��*��2�W����):JKL-M8NAOHPNQXR`TgUoV�Z�[*>N4-2AA=0-U>2k?@�+,|ABC|AD6�EF�E787�!�GHPKʣG�.,�,chatty/CustomNames$CustomNamesListener.class���3
setName'(Ljava/lang/String;Ljava/lang/String;)VSourceFileCustomNames.java&chatty/CustomNames$CustomNamesListenerCustomNamesListenerInnerClassesjava/lang/Objectchatty/CustomNames 		PKʣG�����chatty/CustomNames.class���3�$RSR	#T	#UVWXYZY[#\Y]^_`abc#deRfghijklmnopqrqst uovwxCustomNamesListenerInnerClassesSETTING_NAMELjava/lang/String;
ConstantValue	listenersLjava/util/Set;	Signature9Ljava/util/Set<Lchatty/CustomNames$CustomNamesListener;>;settingsLchatty/util/settings/Settings;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/CustomNames;
setCustomName'(Ljava/lang/String;Ljava/lang/String;)VnickcustomNick
StackMapTable
getCustomName&(Ljava/lang/String;)Ljava/lang/String;commandSetCustomNamenamecustomNamesplit[Ljava/lang/String;	parameterB^commandResetCustomnameinformListenerslistener(Lchatty/CustomNames$CustomNamesListener;i$Ljava/util/Iterator;capitalizedNameyaddListener+(Lchatty/CustomNames$CustomNamesListener;)VSourceFileCustomNames.java0zjava/util/HashSet*+./{|=customNames}~��G8��java/lang/String A����
Invalid name.78java/lang/StringBuilderSet custom name for '��' to ''��$Usage: /setname <name> <custom_name>A�Removed custom name for 'Usage: /resetname <name>���y����&chatty/CustomNames$CustomNamesListener�8��chatty/CustomNamesjava/lang/Objectjava/util/Iterator()Vchatty/util/StringUtiltoLowerCasechatty/util/settings/Settings	mapRemove'(Ljava/lang/String;Ljava/lang/Object;)VmapPut9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)VmapGet8(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;((Ljava/lang/String;I)[Ljava/lang/String;
chatty/HelpervalidateStream(Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;'(Ljava/lang/String;)[Ljava/lang/String;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;setNameadd(Ljava/lang/Object;)Z!#$'()*+,-./012U*�*�Y��*+��3456./782�-+��+�L,�*�+��*�+,�	*+,��3" !"$&&,'4 -56-9(-:(;<=2K+�L*�+���3*+4569(!>=2�R+�N+
�M,��@,2N,2:-���*-��Y��-�������3*/01234"5%7,8O<449?(4@(CABR56RC(;�%DEE�)!F=2�A+�=+
�M,��0,2N-���*-��Y��-�����3&	@ABCDEG%H>L4*)?(3ABA56AC(;�DE�G82�+*��N-��-�� :+,�!���3PQ'R*S44	HI JK+56+?(+L(;�M�!NO2U+�*�+�"W�3VWY456HI;PQ& #%	PKʣG!�"chatty/ErrorHandler.class���3e6	7869:;<<=>?@6A
BC<DEFGHIJKLM=NOPLOGGERLjava/util/logging/Logger;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/ErrorHandler;uncaughtException*(Ljava/lang/Thread;Ljava/lang/Throwable;)VswLjava/io/StringWriter;stacktraceLjava/lang/String;exLjava/lang/Throwable;tLjava/lang/Thread;e
StackMapTableD<clinit>SourceFileErrorHandler.java java/lang/StringBuilderUnknown exception in thread STUVWXYZUnknown exceptionjava/io/StringWriterjava/io/PrintWriter[\]java/lang/ThrowableException S^0	occured during logging of uncaught exception: _`abW []chatty/ErrorHandlercdjava/lang/Object)java/lang/Thread$UncaughtExceptionHandlerUncaughtExceptionHandlerInnerClassesappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/ThreadtoString()Ljava/lang/String;java/util/logging/Loggersevere(Ljava/lang/String;)V(Ljava/io/Writer;)VprintStackTrace(Ljava/io/PrintWriter;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getClass()Ljava/lang/Class;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;! !/*��"#$%&'!=�,�$+� ��Y��+����	�,�+���	��Y�N,�
Y-��-�:��	�=N��Y��-��,����+�����	�6X[":$%-56>J P!X$["\#�%#>>()P*+\9,-�$%�./�0-1	%d293 !%
����"45R;Q	PKʣG�2<���chatty/Helper$IntegerPair.class���3		aIb<init>(II)VCodeLineNumberTableLocalVariableTablethisIntegerPairInnerClassesLchatty/Helper$IntegerPair;SourceFileHelper.java	chatty/Helper$IntegerPairjava/lang/Object()V
chatty/Helper!	Y*�*�*��lm	no
 	PKʣG����*�*chatty/Helper.class���3��	� ^!"#$%�&'()*+,-./01�234567689:;	�<=>?@ABCDEFGHI	�JKLMN	�O	�PMQ	�RsS	�T	�U	�VWX7Y/YZY.[\]=^_`abcdbefbghbijbklbmnbopbqrstuvwxyz{|}~	��^��K����e�������������5���s��������������IntegerPairInnerClassesVIEWERCOUNT_FORMATLjava/text/DecimalFormat;USERNAME_REGEXLjava/lang/String;COMBINING_CHARACTERS_STRICTLjava/util/regex/Pattern;COMBINING_CHARACTERS_LENIENTFILTER_COMBINING_CHARACTERS_OFFI
ConstantValue#FILTER_COMBINING_CHARACTERS_LENIENT"FILTER_COMBINING_CHARACTERS_STRICTALL_UPERCASE_LETTERSHTMLSPECIALCHARS_ENCODELchatty/util/Replacer;HTMLSPECIALCHARS_DECODETAGS_VALUE_DECODEUNDERSCORETLD�MID�END�S1�S2�T1�T2�	URL_REGEXURL_PATTERN<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/Helper;formatViewerCount(I)Ljava/lang/String;viewerCount
parseChannels((Ljava/lang/String;Z)[Ljava/lang/String;channelpartarr$[Ljava/lang/String;len$i$channelsprependZpartsresultLjava/util/Vector;resultArrayLocalVariableTypeTable&Ljava/util/Vector<Ljava/lang/String;>;
StackMapTable0�$'(Ljava/lang/String;)[Ljava/lang/String;buildStreamsString*(Ljava/util/Collection;)Ljava/lang/String;Ljava/util/Iterator;setLjava/util/Collection;sep*Ljava/util/Collection<Ljava/lang/String;>;�	Signature>(Ljava/util/Collection<Ljava/lang/String;>;)Ljava/lang/String;validateChannel(Ljava/lang/String;)ZexLjava/lang/RuntimeException;�isRegularChannelvalidateStreamstreamtoValidChannel&(Ljava/lang/String;)Ljava/lang/String;	toChannelchantoStreammakeDisconnectReason'(ILjava/lang/String;)Ljava/lang/String;reason
reasonMessagefilterCombiningCharacters9(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;textreplaceWithmodeisAllUppercaseLetterstagsvalue_decodeshtmlspecialchars_decodehtmlspecialchars_encodereplaceUnderscoreWithSpaceinputsubList$(Ljava/util/List;II)Ljava/util/List;ilistLjava/util/List;startendLjava/util/List<TT;>;�D<T:Ljava/lang/Object;>(Ljava/util/List<TT;>;II)Ljava/util/List<TT;>;unhandledExceptionabarrayContainsInt([II)Zarray[ItestgetNumbersFromString/(Ljava/lang/String;)Lchatty/Helper$IntegerPair;!Ljava/lang/NumberFormatException;split_main([Ljava/lang/String;)VargsmatchUserStatus"(Ljava/lang/String;Lchatty/User;)Ziduser
Lchatty/User;checkHttpUrlurlsystemInfo()Ljava/lang/String;
getUrlPattern()Ljava/util/regex/Pattern;<clinit>keyreplacementsLjava/util/Map;replacementsReverse
replacements25Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;�SourceFileHelper.java������,�java/util/Vector���#��java/lang/StringBuilder����������java/lang/String��������������, (?i)^#{0,1}��$��&java/util/regex/PatternSyntaxExceptionjava/lang/NullPointerException(?i)^Unknown host	RequestedFailed to complete login.Connection timed out.)Could not established secure connection ()�� (������������������������ java/util/ArrayList������chatty/Helper$IntegerPair��java/lang/NumberFormatException$mod�����$sub��$turbo��$admin��$broadcaster��$staff��$bot��$globalmod��$anymod//https:Java: java.version���java.vendor) OS: os.nameos.version/os.arch��java/text/DecimalFormat
[a-zA-Z0-9_]+G[\u0300-\u036f\u0483-\u0489\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]{1,}��G[\u0300-\u036f\u0483-\u0489\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]{3,}[A-Z]+java/util/HashMap&amp;&���&lt;<&gt;>&quot;"�����chatty/util/Replacer��\\s\\n\\r
\\:;\\\\\_!(?i)\b(?:(?:(?:(?:https?)://|www\.)|(?:[A-Z0-9.-]+\.(?:tv|com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|me|gl|fm|io)\b))[-A-Z0-9+&@#/%=~_|$?!:,.()]*[A-Z0-9+&@#/%=~_|$)])|(?:(?:[A-Z0-9.-]+\.(?:tv|com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|me|gl|fm|io)\b))
chatty/Helperjava/lang/ObjectP(?:tv|com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|me|gl|fm|io)[-A-Z0-9+&@#/%=~_|$?!:,.()][A-Z0-9+&@#/%=~_|$)](?:(?:https?)://|www\.)c(?:[A-Z0-9.-]+\.(?:tv|com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|me|gl|fm|io)\b)�(?:(?:(?:(?:https?)://|www\.)|(?:[A-Z0-9.-]+\.(?:tv|com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|me|gl|fm|io)\b))[-A-Z0-9+&@#/%=~_|$?!:,.()]*[A-Z0-9+&@#/%=~_|$)])g(?:(?:[A-Z0-9.-]+\.(?:tv|com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|me|gl|fm|io)\b))java/util/Iteratorjava/lang/RuntimeExceptionjava/util/List
java/util/Mapformat(J)Ljava/lang/String;trimstartsWithappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringchatty/util/StringUtiltoLowerCaseadd(Ljava/lang/Object;)Zsize()IcopyInto([Ljava/lang/Object;)Vjava/util/Collectioniterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;matchesisEmptyjava/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/MatcherreplaceAllget(I)Ljava/lang/Object;java/lang/IntegerparseInt(Ljava/lang/String;)I(II)Vequalschatty/UserisModeratorisSubscriberhasTurboisAdmin
isBroadcasterisStaffisBotisGlobalModjava/lang/SystemgetPropertycompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;keySet()Ljava/util/Set;
java/util/Set&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)V!����	����������������������������������������������������������������3*���h���	���3	������	��	���l	}*�M�Y�N,:�66�M2:�:�	�1�#���Y�
���:-��W����-��:-���2(/7E[!ek$t%z&�f/6��(=��Y��T��Q��}��}��v��n��t	���n���'������@��	�	���0*���*���	����HLM*�N-��3-��:�Y�
+�,����LM���+��567!8@9C:F;�4!"��
9��H��E��B���H����
���8��	���z"*�Y�
�������L� !�IJ K� ��"���_�	���K*�	�*�����W����@	���z"*�Y�
"�������L� !�cd e� ��"���_�	���~1*��*�	��*���Y�
�*��K*���qrt
uwx,z�1���	����4*��*�	�*��*���Y�
�*��K*������
���/��4���	���J*��*����������	���*�M�ldk0Hj6<BlN#M�9$M�3M�-%M�'&M�!�Y�
'�+�(��M�+M,�)��Y�
*�,�(��M,��J��4�7�:�=�@�C�F�I�L�O�R�k�n�p�w���� ����������	�4�	���|$��+*�,+�-���.*�,+�-�*������"�� $��$��$���	���5�/*�,�0������	���I*���1*�2������	���I*���3*�2������	���I*���4*�2��#$&����	���7
�5*�,6�-��.�
��	����3�7Y�8N6�#*�9�-*�:�;W����-��4567+51<�4&��3��3��3��+���3��+������%��	���F�K*2L��@A	B���	��	���w=*��*.��������EFGEJ� �������	��**�L+���+2�<=+2�<>�=Y�>�M�&'?�"WX
Y\]^'_(`�4����(�*��#����W�+����	�	�r�*@�A�+�B���*C�A�+�D���*E�A�+�F���*G�A�+�H�{�*I�A�+�J�i�*K�A�+�L�W�*M�A�+�N�E�*O�A�+�P�3�*Q�A�(+�H�+�J�+�P�+�B�+�L����r�	����"�$�-�4�6�?�F�H�Q�X�Z�c�j�l�u�|�~�����������������
�+	��i%*��*R���Y�
S�*��K*������#��%��	�iQ�Y�
T�U�V�*�W�V�X�Y�V�*�Z�V�[�\�V�(�����	��]�������^Y�_�`�a�b�+c�b�.d�b�/�eY�fK*gh�iW*jk�iW*lm�iW*no�iW�eY�fL*�p�qM,��,��N+*-�r-�iW��޻sY+�t�4�sY*�t�3�eY�fM,u6�iW,vw�iW,xy�iW,z{�iW,|}�iW�sY,�t�1~�b�5�b�]��f>���'�/�:�EP[c��������
����+���4��o%��/�c��B� /�c��B��o�$�=��	PKʣG�N�V��chatty/Irc$1.class���3SourceFileIrc.javaEnclosingMethodchatty/Irc$1InnerClassesjava/lang/Objectchatty/Irc 	PKʣGqh�C��"chatty/Irc$DelayedJoinAction.class���3I-	./0/1234565789:;=this$0Lchatty/Irc;<init>(Lchatty/Irc;)VCodeLineNumberTableLocalVariableTablethisDelayedJoinActionInnerClassesLchatty/Irc$DelayedJoinAction;actionPerformed(Ljava/lang/String;)VitemLjava/lang/String;(Ljava/lang/Object;)Vx0Ljava/lang/Object;>(Lchatty/Irc;Lchatty/Irc$1;)Vx1Lchatty/Irc$1;	SignatureDelayedActionListener\Ljava/lang/Object;Lchatty/util/DelayedActionQueue$DelayedActionListener<Ljava/lang/String;>;SourceFileIrc.java?java/lang/StringBuilderJOIN: @A (delayed)BCDEFGjava/lang/Stringchatty/Irc$DelayedJoinActionjava/lang/ObjectH4chatty/util/DelayedActionQueue$DelayedActionListenerchatty/Irc$1()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;chatty/Ircaccess$100!(Lchatty/Irc;Ljava/lang/String;)VjoinChannelImmediatelychatty/util/DelayedActionQueue 4*+�*��"d(*��Y��+���	�*�+��&''(((A =	*+��
�"		!"%D*+��" !&'(*+,5#5<)	PKʣG�FS̒@�@chatty/Irc.class���3d�|�}~}	������	���	���	����������	��	��	��	���}����	��	�������	����������<�����������������	��	�����������?�	���B�B���?�����Z��K}�Z����������Z�Z��Z���Z���Z�Z�Z�	������������������Z���Z���Z��Z���������������������������������������	 ?�
��?����InnerClassesDelayedJoinActionLOGGERLjava/util/logging/Logger;JOIN_DELAYI
ConstantValue�addressManagerLchatty/AddressManager;	joinQueue Lchatty/util/DelayedActionQueue;	Signature4Lchatty/util/DelayedActionQueue<Ljava/lang/String;>;nickLjava/lang/String;passconnectionLchatty/Connection;quitmessageconnectedIp
connectedPortconnectedSinceJstateSTATE_RECONNECTING����
STATE_OFFLINESTATE_CONNECTINGSTATE_CONNECTEDSTATE_REGISTEREDERROR_UNKNOWN_HOSTdERROR_SOCKET_TIMEOUTeERROR_SOCKET_ERRORfREQUESTED_DISCONNECTgERROR_CONNECTION_CLOSEDhERROR_REGISTRATION_FAILEDiREQUESTED_RECONNECTj	SSL_ERRORkrequestedDisconnectZ
SPACE_PATTERNLjava/util/regex/Pattern;ididPrefix<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/Irc;infomessagewarningsetState(I)VnewStategetState()IisRegistered()Z
StackMapTable	isOfflinegetIp()Ljava/lang/String;getConnectionInfotextgetConnectedSinceminutesduration�debugconnecta(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)VexLjava/net/UnknownHostException;serverportsecuredPortsLjava/util/Collection;addressLjava/net/InetSocketAddress;securedLocalVariableTypeTable+Ljava/util/Collection<Ljava/lang/Integer;>;�v(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection<Ljava/lang/Integer;>;)Vdisconnectquit()V	parseTags#(Ljava/lang/String;)Ljava/util/Map;keyValue[Ljava/lang/String;tagarr$len$i$resultLjava/util/Map;datatags5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;I(Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;simulatereceived	endOfTagsprefixcommandparameterstrailingendOfPrefixendOfCommandcommandAndParameterpartsreceivedCommand[(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)VmodeCharchanmodenamenameschannel�(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VgetNickFromPrefix&(Ljava/lang/String;)Ljava/lang/String;sender	endOfNicksendCommand'(Ljava/lang/String;Ljava/lang/String;)V	parameterjoinChanneljoinChannelImmediatelypartChannelsendMessagetosendActionMessagesend	connected(Ljava/lang/String;I)Vipdisconnected(ILjava/lang/String;)Vreason
reasonMessageoldStateonChannelMessage[(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Z)Vfromaction�(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Z)VonQueryMessage9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VonNotice6(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V\(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
onJoinAttemptonJoinonPartK(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VonModeChangeL(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V	modeAddedonUserlist((Ljava/lang/String;[Ljava/lang/String;)Vnicks
onWhoResponseonConnectionAttempt(Ljava/lang/String;IZ)V	onConnectonRegisteredonDisconnectparsedL(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)VrawsentonUserstate$(Ljava/lang/String;Ljava/util/Map;)VJ(Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VonGlobalUserstate(Ljava/util/Map;)V8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VonClearChatonChannelCommandZ(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V�(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V	onCommandZ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V�(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Vaccess$100!(Lchatty/Irc;Ljava/lang/String;)Vx0x1<clinit>SourceFileIrc.java���chatty/AddressManager��chatty/Irc$DelayedJoinAction� !"%��Quit������������java/lang/StringBuilder[&'] (�����)����:��&* ��]+,-&. minute minutes second secondsAlready connected.��Already trying to connect./0java/net/UnknownHostException_`Could not resolve host: E�Invalid address: ����1�234567�chatty/Connection�8��java/lang/Thread�9:;QUIT89;<=java/util/HashMap=<>?@5AB!�f�@CDEF4Parsing error: Couldn't find whitespace after tags: GHGIjava/lang/String6Parsing error: Couldn't find whitespace after prefix: EJK�L���M<NOP+,45de#oprsPINGQ6PONGPRIVMSGR�OPSTACTIONCUJKNOTICEQPQRUnknown info message: JOINUPPARTVWMODE+XY-004��b353[\352	USERSTATEhiGLOBALUSERSTATEkl	CLEARCHATn9! :A�	JOINING: VWJOIN T�PART PRIVMSG &XACTION aPASS NICK Y��/Z[\cFEFchatty/Irc]^�_`abjava/lang/Objectchatty/Irc$1java/util/Collectionjava/net/InetSocketAddress
java/util/Map(Lchatty/Irc;Lchatty/Irc$1;)Vchatty/util/DelayedActionQueuecreatecDelayedActionListenerY(Lchatty/util/DelayedActionQueue$DelayedActionListener;J)Lchatty/util/DelayedActionQueue;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/util/logging/Logger(I)Ljava/lang/StringBuilder;java/lang/SystemcurrentTimeMillis()J(J)Ljava/lang/StringBuilder;getAddressB(Ljava/lang/String;Ljava/lang/String;)Ljava/net/InetSocketAddress;getPortjava/lang/IntegervalueOf(I)Ljava/lang/Integer;contains(Ljava/lang/Object;)Z
getHostString>(Lchatty/Irc;Ljava/net/InetSocketAddress;Ljava/lang/String;Z)V(Ljava/lang/Runnable;)Vstartclosesplit'(Ljava/lang/String;)[Ljava/lang/String;((Ljava/lang/String;I)[Ljava/lang/String;
chatty/Helpertagsvalue_decodeput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;startsWith(Ljava/lang/String;)ZindexOf(Ljava/lang/String;)I	substring(II)Ljava/lang/String;(I)Ljava/lang/String;(Ljava/lang/String;I)Ilengthtrimjava/util/regex/Pattern-(Ljava/lang/CharSequence;)[Ljava/lang/String;	arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)VequalsisEmptycharAt(I)C(Ljava/lang/String;I)Zadd(Ljava/lang/Object;)V(C)Ljava/lang/StringBuilder;clear()Ljava/net/InetSocketAddress;addError(Ljava/net/InetSocketAddress;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;compile-(Ljava/lang/String;)Ljava/util/regex/Pattern;4chatty/util/DelayedActionQueue$DelayedActionListener!����������������������������B��������������������������������������������������������������5����a*�*�Y��*�Y*���*�
*�*�*�*�*+�*�Y��+������.k"%('.)5+:c?lDm`n�a��a�����T��Y�*��+�����qr��������T��Y�*��+�����uv��������>*���~��������/*����������C*����������@���B
*�������
���@���/*�����������O*��H�Y�*�� �*�!�"#��L�Y�+��*�$�%��L+�����+�K�M��+"��O����M�����&*�e'm@N)��I)m7���Y�-��+,��N��Y�-��+-��N�4���Y��+.��N��Y��+/��N-��2�
����&�B�[�^�d�{����*<�����
��������B���������*��*0�1�*��*2�1�:*�+,�3:�*:*+�5*�Y�6�+���1*d�7��+*�5*�Y�8�+� �,���1�*�*�9*-�:�;�<�=6*�>�;�5*�?Y**��@�A�BY*�A�C�D�!,/4�j�������!�,�/�1�8�O�U�V�[�b��������������������\	1%�����������������!��3���%�����	&,�
��j#*��*�A�*�*�E*�A�F��������!��#���!�9*G*�
�H������?f*I�JL+��[�KY�LM+N-�66�A-2:M�N:��,22�O�PW�,2�PW����,���.	*4;
P\bd�R4(*2�LH�E�Pf�_P�)���2����� ��>*+�Q������!��n+��*+�RM+S�T�9+#�U>�*�Y�V�+���1�+�W�XM+`�YLN�Z::66+ �T�1+#�U6�*�Y�[�+���1�+�WN+ �\6�+�]6�+`+�]�W:+�W�^:	�_	�`:���d�Z:�d�a2:*-,�b���"!"$&'()!*8+9-C.K2N4T5X7[8^;g<o=u>�?�A�E�F�H�K�O�R�T�V�W�Z�^b�z/"�����N�#��
$�T�%X�&�[�'�^�(��<)�	�2*��5�3��A	���
�5�+,���*+�c:*+,-�d-��6-2e�T�*-2,�f�-2�]�*,-2�g,h�i�*j�H,k�i�q�l�i-��*+�m�X-2e�T�D�n�(o�p�*-2+�Y�^�q�*-2+�q�*+�m,r�i�H-��(-2e�T�*+�s�+*-2�t���Y�u����,v�i�)�l�-��*-2+�w�x*+�w�l,x�i�-��]*-2+�y�N,z�i�\-��?-2:-2:-2:	�]�;�W:{�T�*	+�|�}�T�*	+�|��,~�i�*�*����,��i�4-���-2M�i��-2e�T��#�J:*-2����,��i�#�J:����,��i�(�s-��n-2e�T�c-2:*���S,��i��E*���<,��i�3-��--2e�T�"-2:�l�
*���*����Eprtu!v2w;xI|R}Z�k�p�|���������������������(�5�B�N�W�]�l�u�{���������������������������������&�/�6�9�B�W�\�d�g�p�u�~����������������/-��K.��F/��A0�		1/*\2��2�����#��$��%�&�������h�2�!9%
"�H�������������9-�0���345�k+��U=�+�+�W������� ��6�7���89�^*�Y�+���,�������� ��$�:�;��\ *�Y���+���*�+����	� �� 2�<���B*��<+e�T��Y�e�+��L*�Y���+����*+����%<A�B��B2��%=��~5+e�T��Y�e�+��L*�Y���+������2	3546�5��52��>9�c!*�Y���+���,������? @� !��!?�!��@9�p.*�Y���+�������,��������C-D� .��.?�.��!A��U*��*�A+����GHJ�����BC��V*+�*�!*�&�*�*��*�9�*�Y���*�9����*�Y���*�:������&	WXYZ[\!];`Ua� V��VD�V��;EF��d*���*��>*�*���*�A�*�*�A����*��*�*g,���h��
*i,���	*,����2ptux$y2|9>�H�S�]�c��*d��dG�dH�XI��	�2E��@*���������G�JK�y����H��2���L���M��NOP�I����*����L���QP�I����*����L���QR�[����*��2����ST��5������2�UP�I����*��2���#�VW�S����4��2���#���XY�]����>��2���Z�/�#�[\�?���� ��2�]^9�?���� ��2���_`�I����*������a�+������b�+������cF�?���� ��G�H�de�S����4��#�$�%&�f��5��������g��5��������hi�Q���� ��2��jkl�G�������mn9�?���� ��2�0�op�o����>����2�$�&��qrs�o����>����$�:����tuv�:*+����w�x�y�1������#���_��fz{�����#�$	PKʣG�lw++chatty/JoinChecker$1.class���3C	$	%&"'(&)*+,-."/0123val$channelLjava/lang/String;this$0Lchatty/JoinChecker;<init>)(Lchatty/JoinChecker;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/JoinChecker$1;run()VSourceFileJoinChecker.javaEnclosingMethod45678java/lang/StringBuilderJoin may have failed (9:);<=>6?@AB6chatty/JoinChecker$1java/util/TimerTaskchatty/JoinCheckerjoinAttempt(Ljava/lang/String;)Vaccess$000()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerwarningaccess$100"(Lchatty/JoinChecker;)Lchatty/Irc;chatty/IrcjoinChannel 9*+�*,�*��:b0��Y��*��	���*��*��
�>!?/@0 !"#PKʣG�#h/��chatty/JoinChecker.class���3�	 X	 Y#Z[Z	 \	 ]^_^`a b	 cd
Zef
gh i^hj
k^jlmnopqrqst uvwxyz{InnerClassesLOGGERLjava/util/logging/Logger;DELAY[IircLchatty/Irc;
pendingChecksLjava/util/HashMap;	Signature8Ljava/util/HashMap<Ljava/lang/String;Ljava/util/Timer;>;joinAttemptsLjava/util/Map;6Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;<init>(Lchatty/Irc;)VCodeLineNumberTableLocalVariableTablethisLchatty/JoinChecker;joinAttempt(Ljava/lang/String;)VdelayIchannelLjava/lang/String;counttimerLjava/util/Timer;
StackMapTablecanceld	cancelAll()Vi$Ljava/util/Iterator;toRemoveLjava/util/Set;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;|}access$000()Ljava/util/logging/Logger;access$100"(Lchatty/JoinChecker;)Lchatty/Irc;x0<clinit>SourceFileJoinChecker.java*+&'3Gjava/util/HashMap,-01~���java/lang/Integer��()java/util/Timerchatty/JoinChecker$13���������DGjava/util/HashSet��3�|��}����java/lang/StringD;chatty/JoinChecker������java/lang/Object
java/util/Setjava/util/Iterator
java/util/MapcontainsKey(Ljava/lang/Object;)Zget&(Ljava/lang/Object;)Ljava/lang/Object;intValue()I)(Lchatty/JoinChecker;Ljava/lang/String;)Vschedule(Ljava/util/TimerTask;J)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;valueOf(I)Ljava/lang/Integer;removekeySet()Ljava/util/Set;(Ljava/util/Collection;)Viterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;java/lang/ClassgetName()Ljava/lang/String;java/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;! #&'()*+,-./01.2345d *�*�Y��*�Y��*+��6&#$'(7 89 *+!:;5	z*�+��*�+�	��`�=������d.>��d.>�
Y�:�Y*+��h��*�+�W*�+��W�6&	0$3,4:6B9K:_CjDyE7>7<=z89z>?$V@=B8<=K/ABC
"@��!D;5| *�+��
M,�,�*�+�W�6MNOQR7  89 >?ABC�E!FG5�2�Y*���L+�M,��,��N*-����6XY)Z.[1\7*)>?HI289#JKL#JMC�NO�PQ5��6RS5/*��67T9UG5qU �!�"��YOYOYOYOYOYOYOYxOYxOY	xOYxOY,O��6VW%PKʣG;H�1..chatty/Logging$1.class���3-	 	!"#$this$0Lchatty/Logging;<init>(Lchatty/Logging;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/Logging$1;isLoggable (Ljava/util/logging/LogRecord;)ZrecordLjava/util/logging/LogRecord;
StackMapTableSourceFileLogging.javaEnclosingMethod%&	'()*+,chatty/Logging$1java/lang/Objectjava/util/logging/Filterchatty/Logging(Lchatty/TwitchClient;)V()Vjava/util/logging/LogRecordgetLevel()Ljava/util/logging/Level;USERINFOLjava/util/logging/Level; 	4*+�*��
)O+�����
-@PKʣG,N����chatty/Logging$2.class���3^	-	./01	+20345	67	48+9:;<=4>:?@Aval$clientLchatty/TwitchClient;this$0Lchatty/Logging;<init>((Lchatty/Logging;Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/Logging$2;publish (Ljava/util/logging/LogRecord;)VrecordLjava/util/logging/LogRecord;
StackMapTableflush()VcloseExceptionsBSourceFileLogging.javaEnclosingMethodCD$EFGHIJKLMNOPIQRSTUVWXYZ[N\]chatty/Logging$2java/util/logging/Handlerjava/lang/SecurityExceptionchatty/Logging(Lchatty/TwitchClient;)Vjava/util/logging/LogRecordgetLevel()Ljava/util/logging/Level;USERINFOLjava/util/logging/Level;getMessage()Ljava/lang/String;chatty/TwitchClientdebug(Ljava/lang/String;)Vjava/util/logging/LevelSEVEREgLchatty/gui/MainGui;access$100*(Lchatty/Logging;)Lchatty/util/RingBuffer;chatty/util/RingBuffergetItems()Ljava/util/LinkedList;chatty/gui/MainGuierror6(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)Vwarningadd(Ljava/lang/Object;)V 9*+�*,�*��D�e+���*�+��+���%*��	�>*��	+*�����&+���*�+��
�*��+��&	HIKL)MAOKPYRdTee !"+#$+�X%$+�\&'()*+,PKʣG�~~~chatty/Logging$3.class���34  !"#!$%&'(<init>()VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/Logging$3;format1(Ljava/util/logging/LogRecord;)Ljava/lang/String;recordLjava/util/logging/LogRecord;SourceFileLogging.javaEnclosingMethod)*+
[%1$tT] %2$sjava/lang/Objectjava/util/Date,-./0123chatty/Logging$3java/util/logging/Formatterchatty/LogginggetIrcFileHandler!()Ljava/util/logging/FileHandler;java/util/logging/LogRecord	getMillis()J(J)VgetMessage()Ljava/lang/String;java/lang/String9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;0	
/*���
S�Y�Y+��SY+�S���	PKʣG��F���chatty/Logging$FileFilter.class���33 	!"$%&<init>()VCodeLineNumberTableLocalVariableTablethisFileFilterInnerClassesLchatty/Logging$FileFilter;isLoggable (Ljava/util/logging/LogRecord;)ZrecordLjava/util/logging/LogRecord;
StackMapTableSourceFileLogging.java'()chatty.util.TwitchApiRequest*+,-./012chatty/Logging$FileFilterjava/lang/Objectjava/util/logging/Filterjava/util/logging/LogRecordgetSourceClassName()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)ZgetLevel()Ljava/util/logging/Level;java/util/logging/LevelINFOLjava/util/logging/Level;chatty/Logging 	/*��
qc+���+�����
uvwz#PKʣGnA�{"chatty/Logging$TextFormatter.class���3? !"#$"%"&"'"()*+,./<init>()VCodeLineNumberTableLocalVariableTablethis
TextFormatterInnerClassesLchatty/Logging$TextFormatter;format1(Ljava/util/logging/LogRecord;)Ljava/lang/String;recordLjava/util/logging/LogRecord;SourceFileLogging.java[%1$tT %5$s] %2$s [%3$s/%4$s]java/lang/Objectjava/util/Date012345657589:;5<=>chatty/Logging$TextFormatterjava/util/logging/Formatterjava/util/logging/LogRecord	getMillis()J(J)VgetMessage()Ljava/lang/String;getSourceClassNamegetSourceMethodNamegetLevel()Ljava/util/logging/Level;java/util/logging/LevelgetLocalizedNamejava/lang/String9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;chatty/Logging 
/*��ck7�Y�Y+��SY+�SY+�SY+�	SY+��S��g77
-PKʣG"�T>>"chatty/Logging$UserinfoLevel.class���3<init>()VCodeLineNumberTableLocalVariableTablethis
UserinfoLevelInnerClassesLchatty/Logging$UserinfoLevel;(Lchatty/Logging$1;)Vx0Lchatty/Logging$1;SourceFileLogging.javaUserinfochatty/Logging$UserinfoLeveljava/util/logging/Levelchatty/Logging$1(Ljava/lang/String;I)Vchatty/Logging 8*���	�	�9*��	
PKʣG���0
0
chatty/Logging.class���3�	 g4hijklkmnho	hpqrs9tutvw	 x yp	z{|}hs	 ~�����	z�t��$�	 ��'h�)�	 ��,h��,��,����
UserinfoLevelInnerClassesFileFilter
TextFormatterUSERINFOLjava/util/logging/Level;LOG_FILELjava/lang/String;	LOG_FILE2LOG_FILE_IRCMAX_LOG_SIZEI
ConstantValue
MAX_LOG_FILESlastMessagesLchatty/util/RingBuffer;	Signature7Lchatty/util/RingBuffer<Ljava/util/logging/LogRecord;>;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablefileLjava/util/logging/FileHandler;file2exLjava/lang/Exception;thisLchatty/Logging;clientLchatty/TwitchClient;c"Ljava/util/logging/ConsoleHandler;
StackMapTable��n�getIrcFileHandler!()Ljava/util/logging/FileHandler;access$100*(Lchatty/Logging;)Lchatty/util/RingBuffer;x0<clinit>()VSourceFileLogging.javaEFIdchatty/util/RingBufferI�����d java/util/logging/ConsoleHandlerchatty/Logging$TextFormatter��chatty/Logging$1I��������java/util/logging/FileHandler<=I���;��chatty/Logging$FileFilter>=I�java/io/IOExceptionjava/lang/SecurityExceptionchatty/Logging����;��chatty/Logging$2I�?=chatty/Logging$3chatty/Logging$UserinfoLevelI�:;java/lang/StringBuilder�����debug%g.log��debug_session.logdebug_irc%g.logjava/lang/Objectchatty/TwitchClientjava/lang/Exception(I)Vjava/util/logging/LogManager
getLogManager ()Ljava/util/logging/LogManager;resetsetFormatter (Ljava/util/logging/Formatter;)V(Lchatty/Logging;)V	setFilter(Ljava/util/logging/Filter;)Vjava/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;addHandler(Ljava/util/logging/Handler;)V(Ljava/lang/String;IIZ)Vjava/util/logging/LevelINFOsetLevel(Ljava/util/logging/Level;)V(Ljava/lang/String;)Vjava/lang/ClassgetName()Ljava/lang/String;WARNINGlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V((Lchatty/Logging;Lchatty/TwitchClient;)V(Lchatty/Logging$1;)V
chatty/ChattygetUserDataDirectoryappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString! 4:;<=>=?=@ABCABDEFGHIJK��*�*�Y�����Y�M,�	Y��,�Y*�
��,��Y��N-�	Y��-��-�Y���-��Y��:�	Y�����Y�����N �!��"-�#��$Y*+�%��>��>��LZ!$'())50>4M5X6_7j8s:;�<�=�>�A�?�@�D�^M>M\NO*PO�QR�ST�UV�WXY��Z[\]	^_K�B�Y�&�K*�'Y�(�*��*�Y��*�K �!��"*�#�-.-.L"���!�,�.�/�@�MNO/QRYn]`aK/*��L
MbTcdKxT�)Y�*�+�,Y�-�.�/0�/�1��,Y�-�.�/2�/�1��,Y�-�.�/3�/�1�&�L#;ef62) 5 7	 8'$PKʣG�V�\22*chatty/SettingsManager$DefaultHotkey.class���3		versionLjava/lang/String;dataLjava/util/List;<init>%(Ljava/lang/String;Ljava/util/List;)VCodeLineNumberTableLocalVariableTablethis
DefaultHotkeyInnerClasses&Lchatty/SettingsManager$DefaultHotkey;SourceFileSettingsManager.java	$chatty/SettingsManager$DefaultHotkeyjava/lang/Object()Vchatty/SettingsManager 	Y*�*+�*,��
12	34 	PKʣGM��;�D�Dchatty/SettingsManager.class���3��	�	
	�	�	� !"#$�%&'%(')*'+,-'./01�234�56789:;<=>?@ABCDEFGHIJ��K'LMNOP'QRS)VTUVWXYZ[\]^_`abcdef'ghij'klmnopqrstuvwxyz{2|�}~���d�����������������'����������������������������������������������������������,����������������������������������x���������������������������	
 !"#$%&'()*+,-./�012345678'9:;<=>?@ABCDEFGHIJKLMNOPQ'RQ�'ST�UVWXYXZ�[\]^_`'a'bcdef	�ghij'klmn�o'pqrls	tuvwxyz{|}~����'�������	��	�����W	�����l�
DefaultHotkeyInnerClassesLOGGERLjava/util/logging/Logger;settingsLchatty/util/settings/Settings;backupLchatty/util/BackupManager;hotkeysLjava/util/List;	Signature8Ljava/util/List<Lchatty/SettingsManager$DefaultHotkey;>;
debugSettings[Ljava/lang/String;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/SettingsManager;defineSettings()V	loginFileLjava/lang/String;historyFilestatusPresetsFileloadSettingsFromFilebackupFilesbackupDelayJloadCommandLineSettings(Ljava/util/HashMap;)Vvaluekeyi$Ljava/util/Iterator;argsLjava/util/HashMap;LocalVariableTypeTable9Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
StackMapTable�<(Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;)VoverrideSettingsnewValue
beforeVersion(Ljava/lang/String;)Zversionsettingarr$len$IresultLjava/lang/StringBuilder;firstZ��addDefaultHotkey9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VidhotkeyaddDefaultHotkeyAppWidegetDefaultHotkeySettingValue()Ljava/util/List;&Lchatty/SettingsManager$DefaultHotkey;data"Ljava/util/List<Ljava/util/List;>;�$()Ljava/util/List<Ljava/util/List;>;<clinit>SourceFileSettingsManager.java��java/util/ArrayList��java/lang/Stringserverport
serverDefaultportDefaultmembershipEnabledwhisperEnabledgroupChatServer
groupChatPortimageCachedontSaveSettingsusePassworddebugLogIrcshowJoinsPartssaveChannelHistoryhistoryClearautoScrollbufferSize����chatty/util/BackupManager������������java/lang/StringBuilder��login��favoritesAndHistory
statusPresets��addressbook�ontop��
debugCommands��lafdefault��0.7.3dialog.streamsctrl L��dialog.toggleEmotesctrl E��
dialog.searchctrl Fdialog.joinChannelctrl Jwindow.toggleUserlist	shift F10window.toggleInputctrl F10window.toggleCompactF10window.toggleCompactMaximizedF11tabs.closectrl W	tabs.nextctrl TAB
tabs.previousctrl shift TABselection.togglectrl SPACEctrl S����globalHotkeysEnabled
irc.twitch.tv6667,443��securedPortsjava/lang/Long�������userlistConnectionuserlistConnectionBlacklistbotBadgeEnabledbotNamesBTTVbotNamesFFZbotNamesnightbotmoobot	kabukibotslowton2xanbotdebugLogIrcFiletc3channelusername��passwordconnectOnStartuponStart��autojoinChannelpreviousChanneltokentoken_editortoken_commercialstoken_usertoken_substoken_chatignoreJoinsPartsshowModMessagesshowBanMessagescombineBanMessagesdeleteMessagesdeletedMessagesMode
keepShorteneddeletedMessagesMaxLengthclearChatOnChannelClearedtwitchnotifyAsInfoprintStreamStatusfilterCombiningCharactersemoticonsEnabledemoteMaxHeightemoteScaleemoteScaleDialogusericonsEnabledfontConsolasfontSize	inputFont	Dialog 14lineSpacing	timestamp[HH:mm]timestampTimezonecapitalizedNamesircv3CapitalizedNamescorrectlyCapitalizedNamescustomNamesjava/util/HashMap��ffzffzModIconbttvEmotesshowAnimatedEmotes
ignoredEmotesfavoriteEmotestabOrdernormaltabsMwheelScrollingtabsMwheelScrollingAnywhere
actionColoredcustomUsercolorsusercolorsjava/util/LinkedListcustomUsericonscustomUsericonsEnableddialogFontSizeforegroundColor#111111backgroundColor#FAFAFA	infoColor#001480compactColor#A0A0A0inputBackgroundColor#FFFFFFinputForegroundColor#000000highlightColor#FF0000searchResultColorLightYellowsearchResultColor2#FFFF80channelHistoryjava/util/TreeMapchannelFavoritesgamesFavoriteschannelHistoryKeepDaysfavoritesSortingsaveStatusHistorystatusHistoryClearstatusHistoryKeepDayscommercialHotkeyadDelay
adDelayLengthchannelsWarningautoScrollTimeoutpauseChatOnMouseMove pauseChatOnMouseMoveCtrlRequiredcommandOnCtrlClickversionLastCheckedupdateAvailablecheckNewVersionliveStreamsSortingrecenthistoryRangespamProtection18/30currentVersion	urlPromptattachedWindows	maximizednod3dnoddrawbufferStrategy1
mainResizablecloseToTrayminimizeToTraywindowsrestoreModepopoutSaveAttributespopoutCloseLastChannelpopoutAttributessimpleTitletitleShowUptimetitleShowViewerCounttitleShowChannelStatechatScrollbarAlways
userlistWidthuserlistMinWidth	highlighthighlightEnabledhighlightUsernamehighlightOwnTexthighlightNextMessageshighlightIgnoredignore
ignoreEnabled
ignoreOwnTextignoreModeignoreShowNotDialogignoredUsersignoredUsersWhispersoundshighlightSoundoffhighlightSoundFileding.wavhighlightSoundDelaysoundDelayhighlightSoundVolumestatusSoundstatusSoundFiledingdong.wavstatusSoundVolumestatusSoundDelaymessageSoundmessageSoundFilemessageSoundVolumemessageSoundDelay
joinPartSoundjoinPartSoundFilejoinPartSoundVolumejoinPartSoundDelay
followerSoundfollowerSoundFilefollowerSoundVolumefollowerSoundDelayhighlightNotificationeitherstatusNotificationignoreOfflineNotificationsrequestFollowedStreamsuseCustomNotificationsnScreen	nPositionnDisplayTimenMaxDisplayTime
nMaxDisplayed
nMaxQueueSize	nActivity
nActivityTimev0.5tipslastTiplogModealwayslogModlogJoinPartlogBan	logSystemlogInfologViewerstatslogViewercountlogWhitelistlogBlacklistlogPathlogTimestamp[HH:mm:ss]abCommandsChannelabCommandsadd,set,removeabUniqueCatsabAutoImportbackupCountlivestreamerlivestreamerQualitiesBest, Worst, SelectlivestreamerCommandlivestreamerUseAuthlivestreamerShowDialogcommands4/slap /me slaps $$1- around a bit with a large trout��/permit !permit $$1timeoutButtons0/Ban[B], /Unban[U], 5s[1], 2m[2], 10m[3], 30m[4]userContextMenuchannelContextMenuenableStatusWriterstatusWriterautoRequestModsstreamChatMessageTimeoutstreamChatChannelsstreamChatBottomstreamChatResizablestreamHighlightCommand!addstreamhighlightstreamHighlightChannelstreamHighlightChannelRespondcustomCompletioncompletionMaxItemsShowncompletionShowPopupcompletionCommonPrefixcompletionSortingpredictivewhisperWhitelistwhisperDisplayMode��������������������user��connectds������set:������Setting commandline setting: �� �����0.7.2����5,2m,10m,30m-Updated timeoutButtons setting to new default�������/ban��/unban/Ban[B], /Unban[U], 2Added /Ban,/Unban to timeoutButtons setting, now: 0.8.16667,80���Settings: ��, :��$chatty/SettingsManager$DefaultHotkeyjava/lang/Object���������������chatty/SettingsManager�����java/util/Iteratorjava/util/List
chatty/ChattygetBackupDirectory()Ljava/lang/String;java/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;getUserDataDirectory+(Ljava/nio/file/Path;Ljava/nio/file/Path;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringaddFile(Ljava/lang/String;)Vchatty/util/settings/SettingsaddBoolean(Ljava/lang/String;Z)V(Ljava/lang/String;ZZ)V	addString'(Ljava/lang/String;Ljava/lang/String;)VaddList&(Ljava/lang/String;Ljava/util/List;I)V((Ljava/lang/String;Ljava/lang/String;Z)VvalueOf(J)Ljava/lang/Long;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)VsetFileaddLong(Ljava/lang/String;J)VaddMap%(Ljava/lang/String;Ljava/util/Map;I)VsetAdd'(Ljava/lang/String;Ljava/lang/Object;)ZloadSettingsFromJsongetLong(Ljava/lang/String;)J
performBackup(II)VkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;&(Ljava/lang/Object;)Ljava/lang/Object;hashCode()Iequals(Ljava/lang/Object;)Z	setString'(Ljava/lang/String;Ljava/lang/String;)IsetBoolean(Ljava/lang/String;Z)IisEmptystartsWithlength	substring(I)Ljava/lang/String;setTextual&(Ljava/lang/String;)Ljava/lang/String;java/util/logging/Loggerinfo	getStringwarningjava/util/LocaleENGLISHLjava/util/Locale;toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;contains(Ljava/lang/CharSequence;)Zchatty/VersioncompareVersionssettingValueToString%(Ljava/lang/String;Ljava/util/List;)Vadd�chatty/util/hotkeys/Hotkey$TypeTypeAPPLICATION!Lchatty/util/hotkeys/Hotkey$Type;java/lang/Integer(I)Ljava/lang/Integer;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;chatty/util/hotkeys/Hotkey!�������������������*�*�Y��*�YSYSYSY	SYSYSYSY
SYSY	SYSYSYSY
SYSYSYS�*+�*�Y����������0x1}2�4����������	��Y� ��!"�!�#L�Y� ��!$�!�#M�Y� ��!%�!�#N*�&�'*�,�'*�-�'*�(�'*�+�)*�,�)*�-�)*�*�+*��+*�,�-*�./�0*123�4*156�7*189�7*1:;�7*1<=�7*1>?�7*1@A�7*1BC�7*1DE�7*1FG�4*1HI�4*1JK�7*1JL�7*�M*�N�O*�P�+*�Q�0*�	R�0*�S�T*�S�T*�U�Y�VYW�YS�Z�[�O*�\�+*�]�Y��O*��+*�^�+*�_�+*�`�+*�a�Y�YbSYcSYdSYeSYfS�Z�[�O*�g�+*�h�+*�iS�0*�jS�0*�j+�k*�lS�T*�m�-*�n�o*�pS�0*�qS�0*�rS�0*�r+�k*��-*�s�+*�s+�k*�t�+*�t+�k*�u�+*�u+�k*�v�+*�v+�k*�w�+*�w+�k*�x�+*��+*�y�+*��+*�z�+*�{�+*�|�+*�}~�0*���o*���+*���o*���+*���+*���o*���+*��	�o*����o*����o*���+*����0*����o*����0*����o*����0*��S�0*���+*���+*���+*����Y����*���+*���+*���+*���+*���Y��O*���Y��O*����0*���+*���+*���+*���+*����Y���O*���Y��O*���+*����o*��+*����0*����0*����0*����0*����0*��¶0*��Ķ0*��ƶ0*��ȶ0*�ɻ�Y����*��,�k*�̻Y��O*��,�k*�ͻY��O*��,�k*��϶o*��+*��+*��Ҷo*�%�Y��O*�%-�k*���+*���+*��϶o*��S�0*���+*��ڶo*���+*��+*��϶o*���+*���+*��S�0*��	�o*��S�0*���+*���0*��	�o*���0*��S�0*���+*���+*���+*���+*���+*���+*���+*���+*���+*���Y����*����o*���+*���+*���Y��O*���+*���+*���+*���+*���+*����o*���o*��Y��O*��+*��+*��+*��+*��+*��Y��O*��+*�	�+*� �o*��+*��Y��O*�
�Y��O*��+*��0*��0*��o*��o*���o*��0*��0*���o*��o*��0*��0*���o*� !�o*�#�0*�$�0*�%��o*�&'�o*�)�0*�*�0*�+��o*�,'�o*�-.�0*�/.�0*�0�+*�1�+*�2�+*�3��o*�4��o*�5'�o*�67�o*�9:�o*�<:�o*�=�+*�>'�o*�?	�o*�@�+*�A	�o*�BC�0*�D�+*�E�+*�F�+*�G�+*�H�+*�I�+*�J�+*�K�Y��O*�L�Y��O*�MS�0*�NO�0*�PS�0*�QR�0*�SS�0*�T�+*�U�o*�V!�o*�W�+*�XY�0*�ZW�0*�[�+*�\�+*�]�Y��O*�]^�_W*�]`�_W*�ab�0*�cS�0*�dS�0*�e�+*�fS�0*�g�+*�h��o*�i�Y��O*�j�+*�k�+*�lm�0*�nS�0*�o�+*�p��Y����*�q!�o*�r�+*�s�+*�tu�0*��+*�v�+*�w	�o*�S�0*�
S�0��><=,>B@KASB[CdElFtG|J�K�L�M�O�P�Q�R�S�T�U�V�WXYZ[(\6]@`KaVcbdne�g�h�i�k�l�m�np
rt"u-v7wCxNyXzc{n|y}����������������������������$�.�8�C�O�Y�e�o�y����������������������������,�6�@�J�T�e�v��������������������������"�-�8�C�N�_�i�z��������������������������'�1�;�G�Q�[�f�p�{������������������������'1;LV`j
t~���������� 0!B$M%Z&g't(�)�*�+�,�-�.�/�0�1�2	3	4	5	*6	77	D8	Q9	^<	k=	x>	�?	�A	�C	�D	�E	�F	�G	�H	�I	�J	�L MN Q-R8SCTNUYVdWoXzY�Z�[�\�_�`�a�b�e�f�ijk$l/m:pLrZshuuv�w�y�z�|�~�������������'�2�=�J�T�_�j�u����*���k��,U��B?�����6*��x����������`$y*�U�{i@*��*�V�{��|����#��$������� +�}�~M,��,���N+-���:-����-:6�����/C���4���6��K���},}\8�x�lH��������z6�ti���j6�d����Y6�Sr���I6�Cl���96�3����(6�"���6����6��0?N\~���*�j��W��*�i��W�v*�m��W�h���*�r��W*���W�F*�l��W*���W�,*���W�*���W�*���W-����H-���@���Y� ��!*��Y� -���!��!�!�#���!�#������n��'�+�.�8�D�G�S�V�a�d�l�x��������������������������4'����������������2��#��U�
1


��N������J�*�x��W*�����*�a��L+����*�a��W������^+��������N+��������>�Y� ��!+�!�#M*�a,��W���Y� ��!,�!�#��*����!*�	������*�	R��W��:��� �*�6�B�b�w������������ w&�� }�������B�Z'���V*���+������������@���'e�Y���L=*�N-�66�=-2:�+��!W�=+�!W+��!W+*����!W���²�+�#����2

&*57>FT
Zd�H&.��H��D��A��e��Z��
X���*�������"�����n"*���Y+��Y,SY-S�Z����W��!�*"��"��"��"�����z.*���Y+��Y,SY-SY������S�Z����W�� -"�*.��.��.��.������5�Y�L*���M,��,����N+-����W���+��%&%'0(3)�*%��!��5��-���-������ �����%
������������������@PKˣG�,chatty/Shutdown.class���3e(	)	*+,-	./01	2345	267898:	2;<=	2>?5@AB,CDELOGGERLjava/util/logging/Logger;clientLchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisLchatty/Shutdown;run()V
StackMapTable<clinit>SourceFile
Shutdown.java#ShutdownFGHIJKLMHNOPQR#STdontSaveSettingsUVWX#YZ[\#]^_chatty/Shutdown`abcdjava/lang/Objectjava/lang/Runnablejava/util/logging/Loggerinfo(Ljava/lang/String;)Vjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnchatty/TwitchClientaddressbookLchatty/Addressbook;chatty/AddressbooksaveToFileOncesettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)ZsaveSettingsToJsonchatLogLchatty/util/chatlog/ChatLog;chatty/util/chatlog/ChatLogclosecapitalizedNamesLchatty/CapitalizedNames;chatty/CapitalizedNamesjava/lang/ClassgetName()Ljava/lang/String;	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!F*�*+��	 !"#�R����*���	*����
*���
*���*���
*����&	 !)"3$=%G&Q(R !$3%#%
����&'PKʣG.�:�))chatty/SpamProtection.class���3`=>u0?	@	A	BCDEFGHGIGJKLMNOPOQRcounterLchatty/util/TimedCounter;enabledZlinesI<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/SpamProtection;setLinesPerSeconds(II)Vseconds
StackMapTableQ(Ljava/lang/String;)VLjava/lang/Integer;ex!Ljava/lang/NumberFormatException;linesPerSecondsLjava/lang/String;split[Ljava/lang/String;S1Lcheck()ZgetAllowance()IincreasetryMessageSourceFileSpamProtection.javachatty/util/TimedCounterTUV/S0WXYZ[\]8%&java/lang/NumberFormatException78^_956chatty/SpamProtectionjava/lang/Objectjava/lang/String(JJ)VsetInterval(J)V'(Ljava/lang/String;)[Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)IvalueOf(I)Ljava/lang/Integer;intValuegetCount(Z)I! K*�*�Y	��*��!
"#$!%& �$*����*�*��h��	�!#" $#$$$'(M)�))%* �4+�M,��),2��
N,2��
:*-����N�
/2!"&'
)*"+/.2,30">+"
'+3,-4#$4./-01(�2)23456 B
*����!3"
#$(@!78 R*���*�*��d�!78	:"#$(	!9 6*���!>?"#$!:6 N*��	*���!BCD
F"#$(
;<PKʣG�Z��chatty/StatusHistory.class���3UX���	U�	U�U�U���������&\�����������	�	���	U���������������������U���U����U�U�����.�.���U�:��������:��U���������:��	�	��	N:M	M N
U�LOGGERLjava/util/logging/Logger;DAYI
ConstantValue&\MAX_LOADING_ERRORSentriesLjava/util/Map;	SignatureGLjava/util/Map<Lchatty/StatusHistoryEntry;Lchatty/StatusHistoryEntry;>;settingsLchatty/util/settings/Settings;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/StatusHistory;	removeOld()VentryEntryInnerClassesLjava/util/Map$Entry;daysJ	keepAfteritLjava/util/Iterator;countRemovedLocalVariableTypeTableMLjava/util/Map$Entry<Lchatty/StatusHistoryEntry;Lchatty/StatusHistoryEntry;>;cLjava/util/Iterator<Ljava/util/Map$Entry<Lchatty/StatusHistoryEntry;Lchatty/StatusHistoryEntry;>;>;
StackMapTablegetA(Ljava/lang/String;Ljava/lang/String;)Lchatty/StatusHistoryEntry;titleLjava/lang/String;gameLchatty/StatusHistoryEntry;isFavorite'(Ljava/lang/String;Ljava/lang/String;)Z�put(Lchatty/StatusHistoryEntry;)VaddC(Ljava/lang/String;Ljava/lang/String;JI)Lchatty/StatusHistoryEntry;lastSet	timesUsedremove'(Ljava/lang/String;Ljava/lang/String;)VaddUsedpresentaddFavoriteremoveFavoritesetFavoriteB(Ljava/lang/String;Ljava/lang/String;Z)Lchatty/StatusHistoryEntry;favoriteZ9(Lchatty/StatusHistoryEntry;Z)Lchatty/StatusHistoryEntry;getEntries()Ljava/util/List;/()Ljava/util/List<Lchatty/StatusHistoryEntry;>;saveToSettingsi$
entriesToSaveLjava/util/List;"Ljava/util/List<Ljava/util/List;>;�loadFromSettingsentryToLoad
entriesToLoadcounterrorCountentryToList-(Lchatty/StatusHistoryEntry;)Ljava/util/List;list$Ljava/util/List<Ljava/lang/Object;>;listToEntry-(Ljava/util/List;)Lchatty/StatusHistoryEntry;Ljava/lang/Number;Ljava/lang/Boolean;exLjava/lang/RuntimeException;aboutToSaveSettings<clinit>SourceFileStatusHistory.javahpjava/util/HashMapbcfg�popstatusHistoryClearstatusHistoryKeepDays !"#$%&'(java/util/Map$Entry)(chatty/StatusHistoryEntry��*v�pZ[java/lang/StringBuilderStatusPresets: Removed +,+-
 old entries../012h3�4���5���467�����8java/util/ArrayList9:h;<���=
statusPresets>?@ABpjava/util/List��#StatusPresets: Couldn't load entry +CD2StatusPresets: 
 more errors.StatusPresets: Loaded /EF	 entries.����GHI�]JHKHL�Mjava/lang/Stringjava/lang/Numberjava/lang/BooleanNOFP&java/lang/ClassCastException#java/lang/IndexOutOfBoundsException�pchatty/StatusHistoryQR/STjava/lang/Object%chatty/util/settings/SettingsListenerjava/util/Iteratorjava/lang/RuntimeExceptionchatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)ZgetLong(Ljava/lang/String;)Jjava/lang/SystemcurrentTimeMillis()J
java/util/MapentrySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;getValuelastActivityappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerinfo(Ljava/lang/String;)V*(Ljava/lang/String;Ljava/lang/String;JIZ)V&(Ljava/lang/Object;)Ljava/lang/Object;8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;increaseUsed()Lchatty/StatusHistoryEntry;(Z)Lchatty/StatusHistoryEntry;values()Ljava/util/Collection;(Ljava/util/Collection;)Vjava/util/Collection(Ljava/lang/Object;)ZputList%(Ljava/lang/String;Ljava/util/List;)VgetList$(Ljava/lang/String;)Ljava/util/List;clear-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningsize()Ijava/lang/LongvalueOf(J)Ljava/lang/Long;java/lang/Integer(I)Ljava/lang/Integer;(Z)Ljava/lang/Boolean;(I)Ljava/lang/Object;	longValueintValuebooleanValuejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!UXYZ[\]^_`]^abcdefghije*�*�Y��*+�*�*��k3#4567lmnfg"opjl�*��	��*��@�
ieB*���:6��>��:�������!��
������"��Y����� �!�k>=>
@A!C1D4E>FJJlKsLvNyO~P�Rl>J,qt�mn�uv!}wv1mxy4jz]{J,q|1mx}~
�&��A#!��ji�Y+,"�$N*�-�%��k\]l*mn����q�!��jp*+,�&N-�-���kabl*mn����
q�~��@��jE
*�++�'W�kfgl
mn
q�!��j|�Y+,!�$:*�(�kstul>mn�����v�]	q�!��jk�Y+,"�$N*�-�)W�k��l*mn����q�!��jD*�+�)W�k��lmnq�!��j�0�Y+,��$N*�-�%�:�	�*N*-�(-�k���#�)�.�l40mn0��0��!q���~�)��!��jF*+,�+�k�l mn����!��jK	*+,�+W�k��l 	mn	��	��!��jn�Y+,��$:*�,�k��l4mn������q�!��j�)*�+�%�N-�-L+��	+�-L*+�(+�k�����"�'�l*)mn)q�)����~	��
!��j;�.Y*��/�0�k�lmnd�"�pj�D�.Y�1L*��/�2M,��,��N+*-�3�4W���*�5+�6�k��*�6�9�C�l**q�"�yDmn<��{<��~����!"�pj��*�5�7L*��8=>+�9:��U��::*�;:�*��'W��%���Y�<��=� �>�����#��Y�?�d�@�� �>��Y�A��B�+�C�D�� �!�kF�����5�=�B�P�V�[�u�x{���lH=;q�5C��\�y�mn�����]��]{���~%����6����$��j�J�.Y�1M,+�E�4W,+�F�4W,+��G�4W,+�H�I�4W,+��J�4W,�k,:Hl JmnJq�B��{B����jI`+�K�LM+�K�LN+�K�M:+�K�M:+�K�N:,�-���Y,-�O�P�Q�$�M�C]RC]SD\]RD\]Sk*+,-"../:0B2D4]5^7lRR��G��";��./��:#��^��`mn`��~/�B����������ij=*�T�kABlmnfg�pj%
U�V�W��k��s�r	PKʣG�Gchatty/StatusHistoryEntry.class���3Y7	8	9	:	;	<=>?@ABCDE7FGHIJKLtitleLjava/lang/String;gamelastActivityJ	timesUsedIfavoriteZ<init>*(Ljava/lang/String;Ljava/lang/String;JIZ)VCodeLineNumberTableLocalVariableTablethisLchatty/StatusHistoryEntry;lastSetincreaseUsed()Lchatty/StatusHistoryEntry;setFavorite(Z)Lchatty/StatusHistoryEntry;equals(Ljava/lang/Object;)ZentryobjLjava/lang/Object;
StackMapTablehashCode()IhashtoString()Ljava/lang/String;SourceFileStatusHistoryEntry.javaMchatty/StatusHistoryEntryNOPQ*+R0Sjava/lang/StringBuilderTU TVTWTX34java/lang/Object()Vjava/lang/SystemcurrentTimeMillis()Jjava/lang/Stringjava/util/Objects(Ljava/lang/Object;)Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;(Z)Ljava/lang/StringBuilder;! � *�*+�*,�*!�*�*��!	"> #$   %  &' G�Y*�*��*�`*��	�!%"#$() M�Y*�*�*�*��	�!1"#$*+ �,+��&+�M,�*���,�*�����!<=>(?*B" ,$,#$,-./*01 ^<h*��`<h*��`<�!GHIJ"#$234 lB�Y�
*���*���*���*���*����!T"B#$56PKˣG� ^^chatty/TestTimer.class���3j5	6	7859:�;<=>?@AB	CDAE	9FG5HI�JKLMNOclientLchatty/TwitchClient;maxI<init>(Lchatty/TwitchClient;I)VCodeLineNumberTableLocalVariableTablethisLchatty/TestTimer;run()Vex Ljava/lang/InterruptedException;irandomLjava/security/SecureRandom;startJ
StackMapTable8=SourceFileTestTimer.java (java/security/SecureRandomPQRSTUjava/lang/InterruptedExceptionchatty/TestTimerVWXYZ[\]^_`abjava/lang/StringBuilderTotal: cdcefXghijava/lang/Objectjava/lang/Runnablejava/lang/SystemcurrentTimeMillis()Jjava/lang/Threadsleep(J)Vjava/lang/ClassgetName()Ljava/lang/String;java/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;toStringjava/io/PrintStreamprintln(Ljava/lang/String;)V! !"Y*�*+�*��#	$ %&'("�]�Y�L�A6*��&�	�:��
�����ײ�Y��� em����!#**-!+#,5;/\1$4#)*,+]%&U,-Q./0�1Q2�34PKʣG��دWWchatty/TwitchClient$1.class���3b	23 4563789:	0;<=>?@?A	0BCDEFGHJthis$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/TwitchClient$1;versionChecked((Ljava/lang/String;Ljava/lang/String;Z)VinfoTextLjava/lang/String;versioninfoisNewVersionZ
StackMapTableLSourceFileTwitchClient.javaEnclosingMethodMNOOLPQjava/lang/StringBuilder[RS] TUVWNew version available:  "(Go to <Help-Website> to download)XYZ[Z\]updateAvailable^_`$You already have the newest version.chatty/TwitchClient$1java/lang/Objectachatty/Version$VersionListenerVersionListenerjava/lang/Stringchatty/TwitchClientcheckNewVersion()VisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;gLchatty/gui/MainGui;chatty/gui/MainGuiprintSystem(Ljava/lang/String;)VsetUpdateAvailablesettingsLchatty/util/settings/Settings;chatty/util/settings/Settings	setString'(Ljava/lang/String;Ljava/lang/String;)Ichatty/Version 4*+�*���"#$~�p:,���Y��,�	��:*���Y��+�
�����*��+�*��+�W�*����*����)�U�`�n�q�}�4f%&~"~'&~(&~)*+�),�G-./01!IK	PKʣG%Zd))-chatty/TwitchClient$ChannelStateUpdater.class���35 	!"	#$%&'(*this$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisChannelStateUpdaterInnerClasses)Lchatty/TwitchClient$ChannelStateUpdater;channelStateUpdated(Lchatty/ChannelState;)VstateLchatty/ChannelState;,/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.java	-./0123'chatty/TwitchClient$ChannelStateUpdaterjava/lang/Object4/chatty/ChannelStateManager$ChannelStateListenerChannelStateListenerchatty/TwitchClient$1()Vchatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuiupdateState(Z)Vchatty/ChannelStateManager 	
4*+�*��I
D*����MN
D*+��I #)+	PKʣG�m��dd'chatty/TwitchClient$EmoteListener.class���3n9	:;	<=>?<@ABCD>EBF	<GHIJKL	<MNOPQRthis$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethis
EmoteListenerInnerClasses#Lchatty/TwitchClient$EmoteListener;receivedEmoticons(Ljava/util/Set;)V	emoticonsLjava/util/Set;LocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;
StackMapTable	Signature.(Ljava/util/Set<Lchatty/util/api/Emoticon;>;)VreceivedBotNames$(Ljava/lang/String;Ljava/util/Set;)VchannelLjava/lang/String;streamnames#Ljava/util/Set<Ljava/lang/String;>;8(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)VS/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.javaTUVWXY!Z[bttvemotes\]^BTTV emotes updated._`a^bcbotNamesBTTVdefghijklm*!chatty/TwitchClient$EmoteListenerjava/lang/Objectchatty/util/EmoticonListenerchatty/TwitchClient$1()Vchatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuiaddEmoticonsaccess$900&(Lchatty/TwitchClient;)Ljava/util/Set;
java/util/Setcontains(Ljava/lang/Object;)Z	printLine(Ljava/lang/String;)VremovesettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)Z
chatty/HelpertoValidChannel&(Ljava/lang/String;)Ljava/lang/String;botNameManagerLchatty/util/BotNameManager;chatty/util/BotNameManageraddBotNames 4*+�*��� !�8*��+�*����*��	�*���W����(�7�88"#$8"%&7'()*�!*��
��+�N*��-,����� �*+,!!-,!.#$!./& '03D*+��� 45678<1PKʣGK�xn	n	+chatty/TwitchClient$EmoticonsListener.class���3x>	?@	ABCDAEFGHICJGKLM	ANOP	AQRST	AUVWXYZthis$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisEmoticonsListenerInnerClasses'Lchatty/TwitchClient$EmoticonsListener;channelEmoticonsReceived#(Lchatty/util/api/EmoticonUpdate;)Vemotes Lchatty/util/api/EmoticonUpdate;
StackMapTableusericonsReceived(Ljava/util/List;)ViconsLjava/util/List;LocalVariableTypeTable#Ljava/util/List<Lchatty/Usericon;>;	Signature&(Ljava/util/List<Lchatty/Usericon;>;)VbotNamesReceived(Ljava/util/Set;)VbotNamesLjava/util/Set;#Ljava/util/Set<Ljava/lang/String;>;&(Ljava/util/Set<Ljava/lang/String;>;)V[/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.java\]^_`a$bcffzdefFFZ emotes updated.ghif	ffzglobalGlobal FFZ emotes updated.jklm)nobotNamesFFZpqrstuvw%chatty/TwitchClient$EmoticonsListenerjava/lang/Object chatty/util/FrankerFaceZListenerchatty/TwitchClient$1()Vchatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuiupdateEmoticonsaccess$900&(Lchatty/TwitchClient;)Ljava/util/Set;
java/util/Setcontains(Ljava/lang/Object;)Z	printLine(Ljava/lang/String;)VremoveusericonManagerLchatty/UsericonManager;chatty/UsericonManageraddDefaultIconssettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)ZbotNameManagerLchatty/util/BotNameManager;chatty/util/BotNameManageraddBotNames$(Ljava/lang/String;Ljava/util/Set;)V 4*+�*���"#$�d*��+�*����*��	�*���W*����*��
�*���W�"���(�7�H�T�c�d"d%&'7+()V*��+����"*+,*-./01s*����*��+�����"23,24'.58D*+��� "9:;<=!A 6PKʣG�P�8KK#chatty/TwitchClient$IrcLogger.class���3l	012146789:;<	=;>?@;A	3BCDE	3FGHIJ;KLMNOIRC_LOGGERLjava/util/logging/Logger;this$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethis	IrcLoggerInnerClassesLchatty/TwitchClient$IrcLogger;
onRawReceived(Ljava/lang/String;)VtextLjava/lang/String;
StackMapTable	onRawSentSourceFileTwitchClient.javaPjava/lang/StringBuilderQchatty/TwitchClient$MessagesMessagesRSTUVIRClogWTXYZ[\]^_`abcdebugLogIrcdefgh>> ij)debugLogIrcFilek)<<< SENT: chatty/TwitchClient$IrcLoggerjava/lang/Object()Vchatty/TwitchClientjava/lang/ClassgetName()Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;setUseParentHandlers(Z)Vchatty/LogginggetIrcFileHandler!()Ljava/util/logging/FileHandler;addHandler(Ljava/util/logging/Handler;)VsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)ZgLchatty/gui/MainGui;chatty/gui/MainGui
printDebugIrcinfo  !u;*+�*�*�Y�����	��*��*��
��",	*(-0.:/#;$'()!�V*���� *���Y��+��	�*����*��Y��+��	��"23,5;6U8#V$'V*+,,(-)!�V*���� *���Y��+��	�*����*��Y��+��	��";<,>;?UA#V$'V*+,,(./&3%35PKʣGP�!!"chatty/TwitchClient$Messages.class���3eR�	R�S�	����	���������	��������	���������	�����������������������������������������������������������������	����������	�������	�����������	this$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisMessagesInnerClassesLchatty/TwitchClient$Messages;onChannelJoined(Ljava/lang/String;)VchannelLjava/lang/String;
onChannelLeftonJoin(Lchatty/User;)Vuser
Lchatty/User;
StackMapTableonPart
onUserUpdatedonChannelMessage5(Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)VresultmessageactionZemotesonNoticeonInfo'(Ljava/lang/String;Ljava/lang/String;)VinfoMessage
onJoinAttemptonUserAdded
onUserRemovedonBanonRegistered()VonModmodMessagesEnabledonUnmodonDisconnect(ILjava/lang/String;)VreasonI
reasonMessageonConnectionStateChanged(I)VstateonSpecialUserUpdatedonConnectErroronJoinError	JoinErrorG(Ljava/util/Set;Ljava/lang/String;Lchatty/TwitchConnection$JoinError;)V
validChannelstoJoinLjava/util/Set;errorChannelerror#Lchatty/TwitchConnection$JoinError;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;	Signature[(Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;Lchatty/TwitchConnection$JoinError;)V
onRawReceivedtext	onRawSentonGlobalInfoonUserlistClearedonHosttargetonChannelCleared	onWhisper4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)V
/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.javaWXUVW}ajava/lang/StringBuilderYou have joined v !"#a$%You have left &'v(a)*+,showJoinsParts-./JOIN01joinPart2v31PART4f5f6789:;<=>?: streamHighlightChannelRespond@Aa	[Notice] B/CaJoining ..DEFEGEBANHIJKLashowModMessagesMODUNMODMXNOP}Q}R�STUVWaCan't join '' (not connected)X�YZ[\a' (already joined)]�' (invalid channelname)^`a�a�abacaclearChatOnChannelClearedda#Channel was cleared by a moderator.:One of the channels you joined was cleared by a moderator.chatty/TwitchClient$Messagesjava/lang/Object*chatty/TwitchConnection$ConnectionListenerConnectionListenerjava/lang/String!chatty/TwitchConnection$JoinErrorchatty/TwitchClient$1chatty/TwitchClientchannelFavoritesLchatty/ChannelFavorites;chatty/ChannelFavoritesaddChannelToHistorygLchatty/gui/MainGui;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;chatty/gui/MainGui	printLineapiLchatty/util/api/TwitchApi;
chatty/HelpertoStream&(Ljava/lang/String;)Ljava/lang/String;chatty/util/api/TwitchApirequestChatIcons(Ljava/lang/String;Z)VrequestChannelEmoteschatLogLchatty/util/chatlog/ChatLog;chatty/util/chatlog/ChatLoginfocloseChannelchatty/UsergetChannelsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)ZprintCompact4(Ljava/lang/String;Ljava/lang/String;Lchatty/User;)V	playSoundcompactupdateUserupdateUserinfoprintMessageG(Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)Vaccess$1500I(Lchatty/TwitchClient;Ljava/lang/String;Lchatty/User;Ljava/lang/String;)Vaccess$1600:(Lchatty/TwitchClient;)Lchatty/util/StreamHighlightHelper;!chatty/util/StreamHighlightHelpermodCommand3(Lchatty/User;Ljava/lang/String;)Ljava/lang/String;getDisplayNickaccess$1700<(Lchatty/TwitchClient;Ljava/lang/String;Ljava/lang/String;)V
isChannelOpenprintStreamInfoaddUser"(Ljava/lang/String;Lchatty/User;)VremoveUseruserBannedaccess$14000(Lchatty/TwitchClient;)Lchatty/TwitchConnection;chatty/TwitchConnectiongetUsernameupdateHighlightSetUsernameaccess$1100updateState(Z)VupdateEmotesDialogupdateEmoteNamesNOT_REGISTEREDbuildStreamsString*(Ljava/util/Collection;)Ljava/lang/String;	isOffline()ZopenConnectDialogALREADY_JOINED
java/util/Setsize()IswitchToChannelINVALID_NAMEaccess$1800	IrcLogger6(Lchatty/TwitchClient;)Lchatty/TwitchClient$IrcLogger;chatty/TwitchClient$IrcLoggerprintLineAllclearUsers	clearChat RSTUVWXY4*+�*��ZH[\_`aY�A*��+�*��+�Y�	�+���*��
+��*�+��ZNP)S8T@U[A\_AbcdaYc'*��+�Y��+���*�+��ZYZ&[['\_'bcefY�>+�M*����*��,+�*��,�*��,+��Z_`a"c/d=e[ >\_>gh9bci�"jkfY�B*����*��+�+�*��+�+�*��+���Zij l1mAn[B\_Bghi lfYS*��+�*��+� �Zrst[\_ghmnY�*��+�+,�!�k*�+�+,�"*��#+,�$:�K�Y�+�%�&���:*��'��*�+��(�*���)�Z*yz{$~27�T�c�s��[>2Moc�\_�gh�pc�qr�sci�sj�taYV*���Y�*�+���)�Z��[\_pcuvYO
*��+,��Z��[ 
\_
bc
wcuaYD*��+�)�Z��[\_pcxaY�:*�+�+�*��+�,*��+�Y�-�+�.����Z���9�[:\_:bciyfYH*��+�+�/�Z��[\_ghzfYH*��+�+�0�Z��[\_gh{fY]!*��+�+�1*��+�2+��Z�� �[!\_!gh|}YC*��*��3�4�5�Z��[\_~fY�3*��6�=+�N�*��-7+�*��-7+��Z�
���$�2�[*3\_3gh
&r!bci	�$j�fY�3*��6�=+�N�*��-8+�*��-8+��Z�
���$�2�[*3\_3gh
&r!bci	�$j��Y]i�*��9�Z��
�[ \_���ci
��YD*���:�Z��[\_���}YG*���;*���<�Z���[\_�aYD*��+�)�Z��[\_pc��Y^�-�=�H+�>:*��3�?�*���@*���Y�A��B���)�p-�C�@+�D�*��,�E�Q*���Y�A�,�F���)�,-�G�%*���Y�A�,�H���)�Z2��
��&�I�S�]�k�������[4
<�c�\_�����c�������i�&j�%$(���aYD*��I+�J�Z[\_�c�aYD*��I+�K�Z[\_�c�aYD*��+�L�Z[\_pc�aYD*��+�M�Z[\_bc�vY?�Z[ \_bc�c�aY�;+�-*��N��*��+�O*��+P��*��Q�)�Z.: [;\_;bci��YI�Z$[*\_ghpcscW�YD*+��ZH[ \_�V����^*R�]���@�T�	��_PKʣGA�9���.chatty/TwitchClient$MyStreamInfoListener.class���3�1V	1W2XYX	1Z	[\]^]_]`aXbcdef[g	[hdijkdldmdnjo	[pqr	[sdt	dudvwxdyz{|]}	[~���]�]�d��`[���]����notFoundInfoDone$Ljava/util/concurrent/ConcurrentMap;	SignatureTLjava/util/concurrent/ConcurrentMap<Lchatty/util/api/StreamInfo;Ljava/lang/Object;>;this$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisMyStreamInfoListenerInnerClasses*Lchatty/TwitchClient$MyStreamInfoListener;streamInfoUpdated(Lchatty/util/api/StreamInfo;)VinfoLchatty/util/api/StreamInfo;channelLjava/lang/String;
StackMapTable�streamInfoStatusChanged1(Lchatty/util/api/StreamInfo;Ljava/lang/String;)V	newStatus�/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.java:;89:�&java/util/concurrent/ConcurrentHashMap45���������Djava/lang/StringBuilder#����������������������������D�����H����������q** This channel doesn't seem to exist on Twitch. You may not be able to join this channel, but trying anyways. **����printStreamStatus���~��������4** Still hosting another channel while streaming. **ignoreOfflineNotifications��(chatty/TwitchClient$MyStreamInfoListenerjava/lang/Object"chatty/util/api/StreamInfoListenerjava/lang/Stringchatty/TwitchClient$1()Vchatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuiupdateState(Z)VupdateChannelInfo
addStreamInfoappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/util/api/StreamInfo	getStream()Ljava/lang/String;toString
isChannelOpen(Ljava/lang/String;)ZchatLogLchatty/util/chatlog/ChatLog;getViewerStats�ViewerStats+(Z)Lchatty/util/api/StreamInfo$ViewerStats;chatty/util/chatlog/ChatLogviewerstats=(Ljava/lang/String;Lchatty/util/api/StreamInfo$ViewerStats;)V	getOnline()ZisValidgetViewers()Iviewercount(Ljava/lang/String;I)VstreamStatusWriter Lchatty/util/StreamStatusWriter;chatty/util/StreamStatusWriterstreamStatuscapitalizedNamesLchatty/CapitalizedNames;hasDisplayNamestreamgetDisplayNamechatty/CapitalizedNamessetName'(Ljava/lang/String;Ljava/lang/String;)VisNotFound"java/util/concurrent/ConcurrentMapputIfAbsent8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;	printLine(Ljava/lang/String;)VsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBooleansetChannelNewStatusgetTimeStartedWithPicnicAgo()JgetHostedChannel&(Ljava/lang/String;)Ljava/lang/String;statusNotification&chatty/util/api/StreamInfo$ViewerStats 123456789:;<C*+�*�*�Y���=$	&>?BCD<A�*���*���	*��+��Y�
�+���M*�,��0*��,+��+��+��*��,+��*��+�*���+��*��+�+��+� �*�++�!�*��"�#�=:234 576B9R:`;o>z?�@�B�C�G> �?B�EF7�GHI�oJ- KL<)��Y�
�+���N*�-��j*��$%�&�&*��-�Y�'�,�'���(*��-,�)+��%+�*+��*�-�-�*��.�#+��*��$/�&�*��-,�0�=*VW"X1YT[`\}_�b�c�e>*�?B�EF�MH�GHI�TJ4:P<D*+��=$> ?BQ9RSTUA1[@N�d�	PKʣG�4JAA+chatty/TwitchClient$MyWhisperListener.class���3a5	67	89:;<	8=>?@;A;B8CDEDFGHJthis$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisMyWhisperListenerInnerClasses'Lchatty/TwitchClient$MyWhisperListener;whisperReceived4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)Vuser
Lchatty/User;messageLjava/lang/String;emotes
StackMapTableinfo(Ljava/lang/String;)VwhisperSent"(Lchatty/User;Ljava/lang/String;)Vto	onRawSenttext
onRawReceivedL/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.javaMNOP$[whisper]QRSTUwhisperDisplayModeVWXYZ[&\^_*&,&%chatty/TwitchClient$MyWhisperListenerjava/lang/Object`(chatty/WhisperConnection$WhisperListenerWhisperListenerchatty/TwitchClient$1()Vchatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuiprintMessageG(Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)VsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetLong(Ljava/lang/String;)JupdateUser(Lchatty/User;)V	printLineaccess$1800	IrcLogger6(Lchatty/TwitchClient;)Lchatty/TwitchClient$IrcLogger;chatty/TwitchClient$IrcLoggerchatty/WhisperConnection 4*+�*��V�-*��+,-�*���	��*��+��Z[!\,^*-- -!"-#"$,%&D*��+��bc!"'(S*��+,��gh ) !"*&D*��+�
�lm+",&D*��+��qr+"/D*+��V 01234"8-IK	D8]PKʣG�2���-chatty/TwitchClient$SettingSaveListener.class���3[
-	
./01	234526789:;<=>?@ABthis$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisSettingSaveListenerInnerClasses)Lchatty/TwitchClient$SettingSaveListener;aboutToSaveSettings"(Lchatty/util/settings/Settings;)V	openChansLjava/util/Collection;settingsLchatty/util/settings/Settings;LocalVariableTypeTable*Ljava/util/Collection<Ljava/lang/String;>;
StackMapTableCD/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.javaEFGHIJKLMNOPQMRpreviousChannelSTUVWXYZE'chatty/TwitchClient$SettingSaveListenerjava/lang/Object%chatty/util/settings/SettingsListenerjava/util/Collectionchatty/TwitchClient$1()Vjavax/swing/SwingUtilitiesisEventDispatchThread()Zchatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuigetOpenChannels()Ljava/util/List;access$14000(Lchatty/TwitchClient;)Lchatty/TwitchConnection;chatty/TwitchConnection()Ljava/util/Set;
chatty/HelperbuildStreamsString*(Ljava/util/Collection;)Ljava/lang/String;chatty/util/settings/Settings	setString'(Ljava/lang/String;Ljava/lang/String;)I!chatty/util/api/EmoticonSizeCachesaveToFile 
4*+�*��8�.��*���M�*���M+	,��W��=>@B*C-D*.. !""#	�$'D*+��8 ()*+,
2%PKʣG����*chatty/TwitchClient$TwitchApiResults.class���3�%s	%t&u	vwxyvz5{|}x~{x�v�x�x�x�v�	v�����x�%�	����x�x�	v�	���������	!��������this$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisTwitchApiResultsInnerClasses&Lchatty/TwitchClient$TwitchApiResults;receivedEmoticons(Ljava/util/Set;)V	emoticonsLjava/util/Set;LocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;
StackMapTable	Signature.(Ljava/util/Set<Lchatty/util/api/Emoticon;>;)V
tokenVerified0(Ljava/lang/String;Lchatty/util/api/TokenInfo;)VtokenLjava/lang/String;	tokenInfoLchatty/util/api/TokenInfo;runCommercialResult((Ljava/lang/String;Ljava/lang/String;I)VstreamtextresultIgameSearchResultgames#Ljava/util/Set<Ljava/lang/String;>;&(Ljava/util/Set<Ljava/lang/String;>;)VreceivedChannelInfo3(Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)VchannelinfoLchatty/util/api/ChannelInfo;putChannelInfoResult(I)VaccessDenied()VreceivedUsericons(Ljava/util/List;)ViconsLjava/util/List;#Ljava/util/List<Lchatty/Usericon;>;&(Ljava/util/List<Lchatty/Usericon;>;)VreceivedFollowers!(Lchatty/util/api/FollowerInfo;)VfollowerInfoLchatty/util/api/FollowerInfo;newFollowersreceivedSubscribersfollowerInfoNamesfLchatty/util/api/Follower;i$Ljava/util/Iterator;�receivedDisplayName'(Ljava/lang/String;Ljava/lang/String;)VnamedisplayName�/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.java*+()*T�����4�����Emoticons list updated.����<=��H4�MQR�+����VbadgesBadges updated.�\a\�D?������\���X��������chatty/util/api/Followeri?�����h$chatty/TwitchClient$TwitchApiResultsjava/lang/Object'chatty/util/api/TwitchApiResultListenerjava/util/Iteratorchatty/TwitchClient$1chatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuiaddEmoticonsaccess$900&(Lchatty/TwitchClient;)Ljava/util/Set;
java/util/Setcontains(Ljava/lang/Object;)Z	printLine(Ljava/lang/String;)Vremoveaccess$1000=(Lchatty/TwitchClient;Ljava/lang/String;Ljava/lang/String;I)VsetChannelInfoaccess$1100usericonManagerLchatty/UsericonManager;chatty/UsericonManageraddDefaultIconssetFollowerInfochatty/util/api/FollowerInfo
chatty/HelpertoValidChannel&(Ljava/lang/String;)Ljava/lang/String;
followerSoundsetSubscriberInfocapitalizedNamesLchatty/CapitalizedNames;	followersjava/util/Listiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;chatty/util/StringUtiltoLowerCasechatty/CapitalizedNamessetName %&'()*+,4*+�*��-�./234,�8*��+�*����*��	�*���W�-���(�7�.8/2856785897:;<=,O
*��+,��-��. 
/2
>?
@ABC,W*�+,�
�-��.*/2D?E?FGH4,V*��+��-��./2I67IJ:KLM,Z*��+,��-�
�.*/2N?OPFGQR,D*����-��./2FGST,6*���-��./2UV,�8*��+�*����*���*���W�-���(�7�.8/28WX78WY97:Z[\,M*��+�*+��-���./2]^_\,J*��+����-��./2]^`\,M*��+�*+��-���./2O^a\,�G*���?+��8+��M,��%,� �!N*��-�"�#-�"�$��ر-��.�C�F�.*.bc+deG/2GO^9�f�*gh,O
*��+,�$�-��. 
/2
i?
j?*m,D*+��-�. /2n)opqr1%v0kPKʣG"�Q�NN.chatty/TwitchClient$TwitchemotesListener.class���3?&	'	(	)*+,)-.,/02this$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisTwitchemotesListenerInnerClasses*Lchatty/TwitchClient$TwitchemotesListener;emotesetsReceived(Ljava/util/Map;)VemotesetStreamsLjava/util/Map;LocalVariableTypeTable6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;	Signature9(Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;)V4/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.java

56789:;<=(chatty/TwitchClient$TwitchemotesListenerjava/lang/Object>-chatty/util/TwitchEmotes$TwitchEmotesListenerTwitchEmotesListenerchatty/TwitchClient$1()Vchatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuisetEmotesetsaccess$14000(Lchatty/TwitchClient;)Lchatty/TwitchConnection;chatty/TwitchConnectionchatty/util/TwitchEmotes 	
4*+�*���e*��+�*��+��
 D*+��� !"#$%)13	PKʣGz�ȷ��+chatty/TwitchClient$WebserverListener.class���3>	(		) *	+,-.+/-0-1235this$0Lchatty/TwitchClient;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisWebserverListenerInnerClasses'Lchatty/TwitchClient$WebserverListener;webserverStarted()VwebserverStoppedwebserverError(Ljava/lang/String;)VerrorLjava/lang/String;webserverTokenReceivedtoken6/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)Vx0x1Lchatty/TwitchClient$1;SourceFileTwitchClient.java
789:;<%chatty/TwitchClient$WebserverListenerjava/lang/Object='chatty/util/Webserver$WebserverListenerchatty/TwitchClient$1chatty/TwitchClientgLchatty/gui/MainGui;chatty/gui/MainGuiaccess$1302E(Lchatty/TwitchClient;Lchatty/util/Webserver;)Lchatty/util/Webserver;chatty/util/Webserver 	
4*+�*��9*����8*��W�	Q*��+�*��W�D*��+�� !"D*+�� #
$%&'	+ 4	PKʣG�c������chatty/TwitchClient.class���3�	����	����	��	������	��E�	����	��	�����	��������������	���������	
��8	�=?<	� !"DC#	�$%&IH'	�()*NM+	�,M-.S/	�0S1S2S3S4S5S6789:;<=>8?<@<ABCDf/	�EFi/	�GHl/	�IJo/	�KoLMs/	�NOv8PQyR	�ST|/	�UV/	�WX	�YZ[\�]�^	�_�C`8a�bc�def��	�gh�i	�jk�/	�lm��	�n�opq�r�s�e�t�u�[�Z�vw��xyz��{	�|�Z�e�[}�~	�������8���������	����������������8�������f����������������������	�����������&�^�8�)���(	����^���8�����������^���������������������������������^�^��^�^������������FRI���������/��VWXY��������������������������������^�������������	 ^�
��������� � !�"#�$%�&'()*+,-.y/0123458678898:;8<=8>?8@A��BCDEF�G��HIJKLMNOP�QR�ST�UVW<XYZ[\]^_`a_bc_de|fg|hi�j60kl�mn	�opqr�stuvwxyz{|}�~�����o���������������������p��<���������/�����X������������M����������������������������		�������<����l���������������������<������������{����o���������^������
����8�8���^��������������	88
8yy��<M !"H�#��$%&/'�(	})*+,p-	./p01p23��4�56�7<89:��;<�=�>?@ABC�DEF<GH���IJKL_M�M	�N�O�PQ8R�ST	U�VWXYZMyWhisperListenerInnerClassesChannelStateUpdater	IrcLoggerMessagesSettingSaveListenerTwitchemotesListener
EmoteListenerEmoticonsListenerMyStreamInfoListenerWebserverListenerTwitchApiResultsLOGGERLjava/util/logging/Logger;shuttingDownZREQUEST_TOKEN_URLLjava/lang/String;
ConstantValue[CHECK_VERSION_INTERVALI�settingsLchatty/util/settings/Settings;chatLogLchatty/util/chatlog/ChatLog;cLchatty/TwitchConnection;apiLchatty/util/api/TwitchApi;twitchemotesLchatty/util/TwitchEmotes;bttvEmotesLchatty/util/BTTVEmotes;frankerFaceZLchatty/util/FrankerFaceZ;channelFavoritesLchatty/ChannelFavorites;usercolorManagerLchatty/UsercolorManager;usericonManagerLchatty/UsericonManager;addressbookLchatty/Addressbook;
speedrunsLiveLchatty/util/srl/SpeedrunsLive;speedruncomLchatty/util/Speedruncom;
statusHistoryLchatty/StatusHistory;streamStatusWriter Lchatty/util/StreamStatusWriter;capitalizedNamesLchatty/CapitalizedNames;botNameManagerLchatty/util/BotNameManager;customNamesLchatty/CustomNames;gLchatty/gui/MainGui;cachedDebugMessagesLjava/util/List;	Signature$Ljava/util/List<Ljava/lang/String;>;cachedWarningMessagestestUser
Lchatty/User;testStreamInfoLchatty/util/api/StreamInfo;	webserverLchatty/util/Webserver;settingsManagerLchatty/SettingsManager;spamProtectionLchatty/SpamProtection;customCommandsLchatty/CustomCommands;streamHighlights#Lchatty/util/StreamHighlightHelper;refreshRequestsLjava/util/Set;#Ljava/util/Set<Ljava/lang/String;>;wLchatty/WhisperConnection;	ircLoggerLchatty/TwitchClient$IrcLogger;<init>(Ljava/util/HashMap;)VCodeLineNumberTableLocalVariableTablethisLchatty/TwitchClient;argsLjava/util/HashMap;LocalVariableTypeTable9Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
StackMapTableW\<(Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;)VinitDxSettings()Vd3dLjava/lang/Boolean;ddrawexLjava/lang/SecurityException;�checkForVersionChangecurrentVersion9checkNewVersionupdateAvailableagoJcreateTestUser'(Ljava/lang/String;Ljava/lang/String;)VnamechannelcloseAllChannelsExcept([Ljava/lang/String;)Vi$Ljava/util/Iterator;except[Ljava/lang/String;copy]^closeChannel(Ljava/lang/String;)VaddressbookCommands4(Ljava/lang/String;Lchatty/User;Ljava/lang/String;)VcommandTextcommandactivatedCommandsusertextgetUsername()Ljava/lang/String;
clearUserList	getServer
serverDefaultserverTempgetPortsportDefaultportTempprepareConnection()Z(Z)ZrejoinOpenChannelsprepareConnectionWithChannel(Ljava/lang/String;)Z'(Ljava/lang/String;Ljava/lang/String;)ZserverportsprepareConnectionAnyChannel9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)ZusernamepasswordusePasswordtokenlogin](Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)ZautojoinopenChannels5disconnectjoinChannels(Ljava/util/Set;)Vchannels&(Ljava/util/Set<Ljava/lang/String;>;)VjoinChannelgetState()I	textInputsendMessage
isChannelOpenisUserlistLoadedgetHostedChannel&(Ljava/lang/String;)Ljava/lang/String;commandInputsplit	parameter��\testCommands9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vchanarr$len$splitSpacesplit2partsinfoimessage
customCommandresultSplit
resultCommandresultcommandSetIgnored((Ljava/lang/String;Ljava/lang/String;Z)Vssettingchangedtypeignore_
commandServercommandJoinChannelcommandPartChannelcommandActionMessagesendActionMessagecommandReconnectcommandCustomCompletionvaluekeyusagecommandAddStreamHighlightcommandOpenStreamHighlightscommandRefreshgetSpecialUser()Lchatty/User;commandMyEmotesemoteLchatty/util/api/Emoticon;sep2emotesetLjava/lang/Integer;bLjava/lang/StringBuilder;sep	emotesets$Ljava/util/Set<Ljava/lang/Integer;>;�commandFFZoutputemotes+Ljava/util/Set<Lchatty/util/api/Emoticon;>;debugcachedLineline�`warningcheckTokenstartWebserver
stopWebserverlogAllViewerstatslogViewerstatsstatsaViewerStats(Lchatty/util/api/StreamInfo$ViewerStats;testHotkey
runCommercial(Ljava/lang/String;I)VstreamlengthcommercialResult((Ljava/lang/String;Ljava/lang/String;I)VrequestChannelEmotessetLinesPerSecondsversion5InfocountexitgetChannelState)(Ljava/lang/String;)Lchatty/ChannelState;isWhisperAvailableaccess$900&(Lchatty/TwitchClient;)Ljava/util/Set;x0access$1000=(Lchatty/TwitchClient;Ljava/lang/String;Ljava/lang/String;I)Vx1x2x3access$1100(Lchatty/TwitchClient;)Vaccess$1302E(Lchatty/TwitchClient;Lchatty/util/Webserver;)Lchatty/util/Webserver;access$14000(Lchatty/TwitchClient;)Lchatty/TwitchConnection;access$1500I(Lchatty/TwitchClient;Ljava/lang/String;Lchatty/User;Ljava/lang/String;)Vaccess$1600:(Lchatty/TwitchClient;)Lchatty/util/StreamHighlightHelper;access$1700<(Lchatty/TwitchClient;Ljava/lang/String;Ljava/lang/String;)Vaccess$18006(Lchatty/TwitchClient;)Lchatty/TwitchClient$IrcLogger;<clinit>SourceFileTwitchClient.java
h-;<���������java/util/ArrayList����chatty/util/api/StreamInfob��java/util/HashSetcdechatty/TwitchClient$IrcLogger�chatty/Loggingchatty/ErrorHandlerfi��java/lang/StringBuilder### Log start (jklmC)nCo{:pqCrsCWorking Directory: user.dirtul Settings Directory: vC Classpath: java.class.path Library Path: java.library.pathRetina Display: wxLjytduva#bacon_donut,-chatty/util/settings/Settings:��chatty/util/api/TwitchApi$chatty/TwitchClient$TwitchApiResultsz(chatty/TwitchClient$MyStreamInfoListener{��chatty/util/TwitchEmotes(chatty/TwitchClient$TwitchemotesListener~��chatty/util/BTTVEmotes!chatty/TwitchClient$EmoteListener��chatty/util/FrankerFaceZ%chatty/TwitchClient$EmoticonsListener����chatty/SettingsManager���������Cimgjava/lang/String�7����imageCache�P�����chatty/ChannelFavorites��chatty/UsercolorManager��chatty/UsericonManager��chatty/CustomCommands�chatty/util/BotNameManager��'chatty/TwitchClient$SettingSaveListener��!chatty/util/StreamHighlightHelper���chatty/CustomNames��chatty/util/chatlog/ChatLog���������chatty/AddressbookaddressbookImport.txt-��abUniqueCats�l�:abAutoImport���chatty/util/srl/SpeedrunsLive��chatty/util/Speedruncom���chatty/StatusHistory��chatty/SpamProtection�:chatty/TwitchConnectionchatty/TwitchClient$Messagesmain�������'chatty/TwitchClient$ChannelStateUpdater��chatty/WhisperConnection%chatty/TwitchClient$MyWhisperListener�chatty/util/StreamStatusWriter���statusWriter�:enableStatusWriter����laf�:Create GUI..chatty/gui/MainGui�����:%(connectOnStartupKLonStart���:autojoinChannelOPpreviousChannel����chatty/UpdateTimer����java/lang/Threadchatty/Shutdown����nod3d���sun.java2d.d3d��noddrawsun.java2d.noddrawDrawing settings: d3d: j� / noddraw: java/lang/SecurityException Error setting drawing settings: �C�:0.8.1�������versionLastChecked�L�:��Checking for new version..�:chatty/Versionchatty/TwitchClient$1�chatty/Userblue�:�M�M4280�:��]��^�L�����_��9:�P�:�:�:abCommandsChannel�L�C�f n���abCommands,	[Ab/Mod] >lBC��:portECHCKQKUoauth: Using password instead of token.K[ef"Cannot connect: Already connected.�:&Cannot connect: Incomplete login data.�f����&A channel to join has to be specified.Invalid server specified.01���-__L`ad:/�PmQ$-Not in a channel:## Message not sent to prevent ban: iPjP��	Cn>Ulquit�:connection
LC {Whisper: }join�:partclose�:raw:me�-	clearchatresortuserlist:testnotification:dirSettings directory: ''wdirWorking directory: 'Copendirjava/io/File:openwdir
openbackupdirCsetlgetlclearsettinglresetladdlremovelsetcolorusersab[Addressbook] abimport#[Addressbook] Importing from file.. ��unignoreignorechatchatunignorechat
ignorewhisperwhisperunignorewhisperchangetoken!:	reconnect�refresh�-clearimagecache2Clearing image cache (this can take a few seconds)":Image cache cleared.clearemotecacheemote_Emoticon image cache for type 	 cleared.refreshcase#$lsetcase%lgetcase&lsetname'l	resetname(lcustomcompletion�:):myemotes�	emoteinfo*+,lffz�:	ffzglobalreleaseinfoechouptimeChatty has been running for wCappinfo-.Caddstreamhighlight�-openstreamhighlights�:/Q0P~t
debugCommandsstUnknown command:  (Remember you can also :enter Twitch Chat Commands with a point in front: ".mods")addchanstest-settestusersetemotesetsetemoteset2��getemoteset1234
loadchaticons5	testcolortestupdatenotification[test]removechan	testtimerchatty/TestTimerjava/lang/Integer6f7bantest89bantest2:;userjoined#test<;echomessageloadffz=testtw>tsonlineGame5?@A	tsofflineBtestspamCfjDELtsvTitletsvsFGHIJKLtsaoffMCNOtsaonTest
usericonsInfo�userlistTesttest1
short messagetest2short message2test3MODPQ�longer message abc hmm fwef wef wef wefwe fwe ewfwe fwef wwefweffjwfjfwjefjwefjwef wfejfkwlefjwoefjwf wfjwoeifjwefiowejfef wefjoiwefjklonger message abc hmm fwef wef wef wefwe fwe ewfwe fwef wwefweffjwfjfwjefjwefjwoeifjwefiowejfef wefjoiwefjplonger wef wef wefwe fwe ewfwe fwef wwefweffjwfjfwjefjwefjwef wfejfkwlefjwoefjwf wfjwoeifjwefiowejfef wefjoiwefjtest4test5test6test7test8test9test10requestfollowersR:simulate�:lb&
c1jSgc�T Custom command: Not on a channelCustom command not found: Ul>VCustom command '': Invalid parameters': No action specified': Calling another custom command ('') is not allowedg-Cin chatignoredUsers=�from whispering youjVignoredUsersWhisperWXYXIgnore: '%s' now ignored %sjava/lang/ObjectZ[!Ignore: '%s' no longer ignored %sIgnore: '%s' already ignored %sIgnore: '%s' not ignored %sIgnore: Invalid nameUsage: /server <address>[:port]:TQ/Invalid format. Usage: /server <address>[:port](A channel to join needs to be specified.No channel to leave.�-Usage: /me <message>�\*# Action Message not sent to prevent ban: RCould not reconnect.8Usage: /customCompletion <add/set/remove> <item> <value>8Invalid number of parameters for adding completion item.customCompletion]^Completion item 'H' already exists, use '/customCompletion set <key> <value>' to overwrite_`Set custom completion '' to 'ab	Removed '' from custom completionc�dC!Usage: /refresh <type> (see help)	emoticons4Refreshing emoticons.. (this can take a few seconds)e�badges!Must be on a channel to use this.Refreshing badges for ..Refreshing FFZ emotes for Refreshing global FFZ emotes..f�bttvemotesRefreshing BTTV emotes..$global$/Usage: /refresh <type> (invalid type, see help)g�JNo subscriber emotes found. (Only works if you joined any channel before.)Your subemotes: Turbo emoteschatty/util/api/Emoticonh�,  / Global FFZ emotes: i�jlmnoThis channel's FFZ emotes: 3pNone found.[Start of cached messages]q:[End of cached messages]r�:chatty/util/Webserver%chatty/TwitchClient$WebserverListenertWebserver already runninguv#No webserver running, can't stop itwPxy'Can't run commercial, not on a channel.#Trying to run s commercial..s commercial.. (�� (v0.5token_userWith Version 0.5, Chatty can notify you about streams you follow and show a list of them. You have to request new login data containing <Read user info> access to be able to use that. Go to <Main - Connect - Configure login..>, remove the login and request it again.mYou can enable/disable this feature under <Main - Settings - Notifications> if you have the necessary access.z{�|�dontSaveSettings}~��Lchatty/TwitchClient��C���https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&scope=chat_loginjava/util/HashMap
java/util/Setjava/util/Iteratorjava/util/Listjava/lang/Throwable&chatty/util/api/StreamInfo$ViewerStats9(Ljava/lang/String;Lchatty/util/api/StreamInfoListener;)Vjava/util/CollectionssynchronizedSet (Ljava/util/Set;)Ljava/util/Set;"setDefaultUncaughtExceptionHandler�UncaughtExceptionHandler.(Ljava/lang/Thread$UncaughtExceptionHandler;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/util/DateTimefullDateTimetoStringjava/util/logging/Logger
chatty/Chatty
chattyVersion
chatty/HelpersystemInfojava/lang/SystemgetPropertygetUserDataDirectorychatty/gui/GuiUtilhasRetinaDisplay(Z)Ljava/lang/StringBuilder;/(Lchatty/TwitchClient;Lchatty/TwitchClient$1;)VP(Lchatty/util/api/TwitchApiResultListener;Lchatty/util/api/StreamInfoListener;)V�TwitchEmotesListener2(Lchatty/util/TwitchEmotes$TwitchEmotesListener;)V!(Lchatty/util/EmoticonListener;)V%(Lchatty/util/FrankerFaceZListener;)VautoUpdateFeatureFridayEmotes"(Lchatty/util/settings/Settings;)VdefineSettingsloadSettingsFromFilebackupFilesloadCommandLineSettingsoverrideSettings
debugSettingsgetCacheDirectoryjava/nio/file/Paths;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;chatty/util/ImageCachesetDefaultPath(Ljava/nio/file/Path;)VgetBooleansetCachingEnabled(Z)V
clearOldFiles!chatty/util/api/EmoticonSizeCacheloadFromFileloadFromSettingsaddSettingsListener*(Lchatty/util/settings/SettingsListener;)V=(Lchatty/util/settings/Settings;Lchatty/util/api/TwitchApi;)VstartsetUsericonManager(Lchatty/UsericonManager;)VsetUsercolorManager(Lchatty/UsercolorManager;)V	getStringsetSomewhatUniqueCategoriesenableAutoImportsetAddressbook(Lchatty/Addressbook;)V(Lchatty/util/api/TwitchApi;)V�ConnectionListener`(Lchatty/TwitchConnection$ConnectionListener;Lchatty/util/settings/Settings;Ljava/lang/String;)VsetCapitalizedNamesManager(Lchatty/CapitalizedNames;)VsetCustomNamesManager(Lchatty/CustomNames;)VsetBotNameManager(Lchatty/util/BotNameManager;)VaddChannelStateListener�ChannelStateListener4(Lchatty/ChannelStateManager$ChannelStateListener;)V�WhisperListenerL(Lchatty/WhisperConnection$WhisperListener;Lchatty/util/settings/Settings;)V0(Ljava/lang/String;Lchatty/util/api/TwitchApi;)VsetSettingsetEnabledaddSettingChangeListener/(Lchatty/util/settings/SettingChangeListener;)VsetLookAndFeelloadSettingsshowGuigetLong(Ljava/lang/String;)JopenConnectDialoggetFavorites()Ljava/util/Set;buildStreamsString*(Ljava/util/Collection;)Ljava/lang/String;(Lchatty/gui/MainGui;)Vjava/lang/RuntimegetRuntime()Ljava/lang/Runtime;(Ljava/lang/Runnable;)VaddShutdownHook(Ljava/lang/Thread;)Vjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;setProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getLocalizedMessageequals(Ljava/lang/Object;)Z	setString'(Ljava/lang/String;Ljava/lang/String;)IopenReleaseInfocurrentTimeMillis()JisEmptysetUpdateAvailablesetLong(Ljava/lang/String;J)IprintSystem�VersionListener#(Lchatty/Version$VersionListener;)VsetColorsetGlobalModsetBotsetEmoteSetsgetOpenChannelsiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;contains	onChannelpartChannel
removeChannelisModeratortrim'(Ljava/lang/String;)[Ljava/lang/String;	substring(I)Ljava/lang/String;
setAllOfflineclearUsersshowMessagesizetoArray(([Ljava/lang/Object;)[Ljava/lang/Object;
parseChannelsconnect^(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)VstartsWithwhisperChannel	printLinesendSpamProtectedMessage((Ljava/lang/String;Ljava/lang/String;Z)ZlocalUserJoined!(Ljava/lang/String;)Lchatty/User;printMessageG(Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)Vchatty/ChannelStategetHosting((Ljava/lang/String;I)[Ljava/lang/String;chatty/util/StringUtiltoLowerCase	isOfflinegetConnectionInfosendRawwhisperCommand(Ljava/lang/String;Z)V	clearChatresortUsersshowTestNotificationgetWorkingDirectorychatty/util/MiscUtilopenFolder%(Ljava/io/File;Ljava/awt/Component;)ZgetBackupDirectorysetTextualgetTextualclearTextualresetTextualaddTextual
removeTextualimportFromFilechangeTokenclearCachechatty/CapitalizedNamescommandRefreshCasecommandSetCasecommandGetCasecommandSetCustomNamecommandResetCustomnamecopyToClipboardLchatty/util/api/Emoticons;chatty/util/api/EmoticonsgetEmoteInfochatty/util/LogUtilgetMemoryUsagecommandGuicontainsCommandparseInt(Ljava/lang/String;)IgetEmoticons(I)Ljava/util/HashSet;requestChatIconsintValue(Lchatty/TwitchClient;I)VuserBanned"(Ljava/lang/String;Lchatty/User;)VgetUser3(Ljava/lang/String;Ljava/lang/String;)Lchatty/User;userJoined
requestEmotesshowTokenWarning)(Ljava/lang/String;Ljava/lang/String;IJ)V
addStreamInfo(Lchatty/util/api/StreamInfo;)VsetOfflinegetAllowance(I)Ljava/lang/StringBuilder;tryMessageoutLjava/io/PrintStream;getViewerStats+(Z)Lchatty/util/api/StreamInfo$ViewerStats;java/io/PrintStreamprintln(Ljava/lang/Object;)VgetActiveStream
getStreamInfo?(Ljava/lang/String;Ljava/util/Set;)Lchatty/util/api/StreamInfo;printCompact4(Ljava/lang/String;Ljava/lang/String;Lchatty/User;)VgetFollowers(C)Ljava/lang/StringBuilder;logMemoryUsagetoStreamJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;setAdd'(Ljava/lang/String;Ljava/lang/Object;)ZlistRemoveformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;(Ljava/lang/String;Z)ZmapGet8(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;mapPut9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V	mapRemove'(Ljava/lang/String;Ljava/lang/Object;)VaddHighlightopenFilerequestEmoticonsrequestGlobalEmotesgetEmoteSetcodegetGlobalTwitchEmoteschatty/util/api/Emoticon$TypeTypeFFZLchatty/util/api/Emoticon$Type;filterByType?(Ljava/util/Set;Lchatty/util/api/Emoticon$Type;)Ljava/util/Set;'(Ljava/lang/String;)Ljava/util/HashSet;printDebugclear�,(Lchatty/util/Webserver$WebserverListener;)VwebserverStartedstopisRegularChannelviewerstats=(Ljava/lang/String;Lchatty/util/api/StreamInfo$ViewerStats;)VsaveToFileOnceguiCreatedsaveWindowStatessaveSettingsToJsoncleanUp(I)VisAvailablejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;)java/lang/Thread$UncaughtExceptionHandler-chatty/util/TwitchEmotes$TwitchEmotesListener*chatty/TwitchConnection$ConnectionListener�/chatty/ChannelStateManager$ChannelStateListener(chatty/WhisperConnection$WhisperListenerchatty/Version$VersionListener'chatty/util/Webserver$WebserverListenerchatty/ChannelStateManager!�E#��B����������������������������������������������������������������	
H�*�*�*�Y�
�*�Y�
�*�Y��*�Y���	*�Y*���Y*�W�Y����Y� !�"�#�"$�"�%�&��'�&��(�&��Y� )�"*�+�",�"�-�".�"/�+�"0�"1�+�"�%�&��Y� 2�"�3�4�%�&*56�7*�8Y�Y� �-�"9�"�%�:�;*�<Y�=Y*�>�?Y*�@�A�B*�CY�DY*�E�F�G*�HY�IY*�J�K�L*�MY�NY*�O�P�Q*�Q�R*�SY*�;�T�U*�U�V*�U�W*�U�X*�U+�Y*�U�Z*�U�[�Y� �\�"]�"�%�^�_�`*�;a�b�c�d�e*�fY*�;�g�h*�iY*�;�j�k*�lY*�;�m�n*�oY*�;�p�q*�q�r*�sY*�;�t�u*�;�vY*�w�x*�yY*�;*�B�z�*�{*�|Y*�;�}�~*�Y*�;����*����*��*�n��*��*�k��*��Y�Y� �-�"��"�%�Y� �-�"��"�%����*����*��*�;�����*�;��b�*����*��*����*��Y����*��Y*�B����*��Y*�;����*�;*���x*��Y����*��*�;�����*��Y��Y*��*�;����*�*����*�*�{��*�*�~��*�*�k��*�*�n��*�*�u��*���Y*����*��Y��Y*��*�;����*��*�n��*��*����*��*�k��*��Y�-*�B����*��*�;�����*��*�;��b��*�;*����*��*�;��������&*��Y*�õ�*�Ķ�*�Ķ�*��*��*��*�;ʶb�*��W�h*�;̶͈�[*;L*���Χ4**�;϶���W�#**�;Ѷ���W�**�h�ҸӶ�W��Y*�ķ�W�ֻ�Y��Y*�ٷڶ�*�ܱ�a�<	���-�;�G�P�Z�z������������.�B�V�j�q���������������������������	���.�>�Q�V�e�t�{�������������������$�/�:�J�d�o�z���������������������!�,�0�<�D�P�W^cg	k
w��������!�$&	K����(��y*�;ݶb����L�+���W*�;�b��M�,���W��Y� �"+���",��%�&� L��Y� �"+��"�%��X[�&	TUV,W6YX\[Z\[x]*C ,,! \"#y@�I$%�3*�;��L+��"*�;���W*�;���W*�Ķ�hijl+m2o3)&��2'(�h*�;�b����*�;��e@�m���*�;��N-���*��-���*�;���W*�������Y��Y*��W�2uv
{|'�1�8�@�A�N�W�g� 1)�hM*+

�2'�,-�4*�Y+,���*���*���W*���W*���	��
�� �)�3� 44.�4/�01�;*��M,�N-��%-�
�^:+���	*���ر��#�1�7�:�4#/�+23;;453636	�78'�9:�4*�+��*�+�� *+�*�+�*��+�*��+������#�+�3�44/�;<)�*�;��+��r,��k-�N-���-�2�:*�;����:��--�:*�ĻY�  �"*���!�"�%���*���%�&�5�J�V�]���H]#=�5K>�J6?���/��@��A�J6?�&�YBC2*��"��DB*��#*���$����EC~#*�;%��L*�;&��M,��,�+���� #F�
G��!''@'HC~#*�;'��L*�;(��M,��,�+���� #I�
J��!''@'KL7
**�)*�*�+��
KM\�**�)*�*�,�*�ˬN�OPB**�)*�*+�,�/�KQO*+,*�;-���,� R�S�TQ�$N*���.�*�;-��N*+,-�,�*$$R�$S�"/��'KU<	q*�;/��:*�;0��:*�;1�b6*�;2��:�Y� 3�"�"�%:����:�:�4�&*-+,�5�."#$$%0'G(O)S,X-\.e1\	qqR�qS�q/�eV�YW�$MX�0AY�G*Z�#�S	'''''''K[��*��6�*��7�8�+�+���,�,���*��9�8�*��:-��:�^:�;W�	-�<:��*��=�8�����*��>�8�*�?*�;/+��W-�*�;--��W*�+,�@*��+,�A�bRSTW,X6Y8]A^E_Q`^bddjetfvi�j�k�n�p�q�r�u�v�w\	Q
\5��.��W��/��R��S�dg\5A�]A�]	/	�%7�'''''^7!_L=*���B*��C�{|`aS	*�+�D���		b	b	�cd:A	*�+�E���		b�ef2*��6��g-�Q,����,F�G�
*+,�HW�7*�+��*+,��#+I�G�*��+,�J�
*��K�L�*�����'�0�:�F�P� QQ/�QA�	h-�?*�+,�M�*��+*�+�N,�O�*�ĻY� P�",�"�%�L��
�#�>� ??/�?A�#iP=	*�+�Q��		/�jP=	*�+�R��		/�kl@*�+�S�T��/�mQ�-,��UN-2�::-��-2:*+�V������#�>--/�-A�!n5>�o��#^''>U	P,�WM,X��
*��Y�8,&��*-�Z�&,[��R*���\�7*�ĻY� *��]�"^�"*���_�"`�"�%�L��*��*��]�L��,a��*-�b��,c��
,d��*+�e��,f��-��*�-�g��,h��*+-�i�s,j��*��-�k�],l��
*�Ķm�I,n��*��+�o�4,p��*��-�q�,r��)*�ĻY� s�"�-�"t�"�%����,u��)*�ĻY� v�"�w�"t�"�%����,x���yY�-�z*�ĸ{W��,|���yY�w�z*�ĸ{W��,}���yY�~�z*�ĸ{W�b,��*��*�;-�����F,���*��*�;-�����*,���*��*�;-�����,���*��*�;-������,���*��*�;-������,���*��*�;-������,���-��*��-����,���
,���1*�ĻY� ��"*��-�-��!�"�%���_,���*�����*�����A,���
*-���-,���
*-���,���*-����,���*-�����,���*-�����,���*-�����,���*��-����,���*����,���*+-����,���*����L��*����L�c,���>�Y� ��"-�"�%��*�ĻY� ��"-�"��"�%�L�,���*�{�
*��*�{-���L��,���*�{��*��*�{-���L��,���*�{��*��*�{-���L��,���*��*�~-���L��,���*��*�~-���L�},���*-���k,���-���Z,���*���I,���*��*�Ĵ�-�����*,���*+���,���*���,���
*�Ķ��,���*��-�L��,¶�#*�ĻY� ö"�Ķ"�%����,Ŷ�*�ĸƶ���,Ƕ�*+-�ȧ�,ɶ�*+�ʧw*�+,-�˙�g*��,-�̙�X*�q,�͙
*+,-�ΧC*�;϶b�
*+,-�Ч,*�ĻY� Ѷ",�"Ҷ"Ӷ"�%�L�������#�+�5�?�s��������������������������'2<bl�������� '"1#C%M&_(i){+�,�/�0�1�9�:�=�>?AB$D.E8GBHNJXKdMnNzP�Q�T�U�X�Y�\�]�`�a�b�c�f�gh3k=lDmVp`qgryu�v�w�z�{�}�~�������������'�1�9�C�K�U�_�i�t�~����������������������%�L�N�*PP/�P>�Po�~?�G//�'''pqr�'''pqr'$�D""")(st�2,Զ�G-�:2�::�66�2:	*��	նք����,׶�-�:*22�7��,ض�*��-�	��,ٶ�*��-�	��,۶�*��*�Ĵ�-�ܶݶ޶L�u,߶�*�B-��_,��*��-��J,��*�����3,��*��-��,��#��Y��Y*��Y-����ڶ��,��*���*�����,��*��+*�+-����,��*��-��W��,��$-�:*��2*��2�O�x,��*�Q-���b,���
*�Ķ��N,���!*�-�{���*��*����&,���*���*��*����,��1*�ĻY� ն"*����*����4�%�L��,��*��-�������,���*���	��,��*�B*�Ķ�:���p,
��+*�B*��:����e���>,��
*�n��*,��U*��*���O*��*���O*��*���*��*���*��*���*��*���*��*���*��*���*��*���*��*���O*��*���O*��*���O*��*���*��*���*��*���*��*���*�� *���*��!*���*��"*���O��,#��*�B-�$��,%��*�-�&��,'��c-(�:�:6��A����Y� �")�"�%:�Y� �"2�"�%:����*+��:,*��*+�Y� �+-�"�%��,,���ֶ-�.��a����9�E�K�X�a�m�z������������������������ �@�J�Z�d�x�������������������������-�7�e�o�������������'	:K\m
~�������.?Pfp {!�"�#�$�%�&�'�(�*�&�,�-./(0.113�9u�	#(v5(#w�+ 2�8x5,y5an5�z5�{��{��F|��Tn5�P}�22/�2>�2o�c#�+	'''^^^�'''!$)*'7 "1�[�^'&��	#~t�+�*��/�L�*�q,�͚*�ĻY� 0�",�"�%�L�*�q,-+�1�2:�'*�ĻY� 3�",�"4�"�%�L�����'*�ĻY� 3�",�"5�"�%�L�r��U:2:F�G�L*�q��͙<*�ĻY� 3�",�"6�"7�"��"8�"�%�L�*+�9�F678:;5<6>E?J@nAvG�J�K�L�NQ	TH�a5�[��/�>�o�E���&�7'+�g^'����L+�@+���9+�:2�::�:�Y�
:,�
,���;:<�=W,�
,���F>�?:@�=W6�A:		��;	�
�^:�*�;�B�6�*�;�C�6����C�!*��D�EYSYS�F���^*��G�EYSYS�F���@�!*��H�EYSYS�F���*��I�EYSYS�F���
*��J���vcdef!g*h8i=jHlVmcnnpqq�r�s�t�w�x�{�|�}�~����#�>�A�K�p�)��zB23	*n5!.�!}�*��q���LLo�L��L��*��K�8''^''�
�8�-'��&!�''	�:�K+�*��K�L�+L�M,��*,2*�*�MW�!,��*,2,2�MW�
*��N�L�*������,�2�@�J� KKo�4n5�^	�:p"+�*��O�L�+��WL*�+�E�����!�""/��:i+�+���*��P�L�*+������/��-l,�*+,�Q�
*��R�L���
�� /�}�
	�-�K*�+�S�A*�+,�M�*��+*�+�N,�O�*�ĻY� T�",�"�%�L����/�J� KK/�K}�/�_*��C�
*��U�
*��V�L�����	�:%WM+�*��,�L�+�UN-��*��,�L��-2:-2:������-��*��X�L��-2:��7*�;Y�Z�(*�ĻY� [�"�"\�"�%�L�>*�;Y�]*�ĻY� ^�"�"_�"�"t�"�%�L�G���4*�;Y�`*�ĻY� a�"�"b�"�%�L�*��,�L�^������ �+�0�5�K�Q�^�c�}��������������$�Hcz��0���5���%%o�!��n5&	�'�^�''�C'�:;��-T*��+*�+,�c�ֱ�� /�o��:H*��+*��d�ֱ/��-(g,�*��e�L�X,f��%*��g�L*�	f�hW*�B�i�,,j��X+�+���*��k�L�*�ĻY� l�"+�"m�"�%�L*�	j�hW*�B+�1���,���U+�+���*��k�L��*�ĻY� n�"+�"m�"�%�L*�	��hW*�Q+���q,���%*��o�L*�	��hW*�Q�p�E,q��1*��r�L*�	q�hW*�Ls�t*�L+�t�
*��u�L�v	%2=
GR_��������� $!."8#E$P%\'f) gg/�go�
+<9+7	��2*��v�,��	�*�ڶwL+�.�*��x�L���Yy�zM�N+�:����
��:,-�"W��!���*���ɠ,{�"W�J�:*�Ĵ���ݶ|:��(�
�}:,�"W,�~�"W:����N��o*��,�%�L�N4569):,;J<P=o>z@~A�B�C�D�E�G�H�I�K\	����/23~C��J{��4�23)���,���������-�7�q'8�:��'8�.���:���Y� N+�-��"W*�Ĵ�������M�$-��"W*�Ĵ�+�1��:����M,�.�-��"W�:,�:��(�
�}:-�"W-�~�"W:���*��+-�%�ֱFOPQR(T0U@VIXRYZ[^\|]�^�_�`�a�b\	%�@	�|��f/23��/�IY����^D�� %��@	��IY��)�(q� '7q�'8�.�:=�*���*�YM�*���*�+�=W�^*����J*�����*��AN-��-�
�^:*�������*�����*���*��+��,ç:,��������>lmopq$s0t:uXvawdxnzw|~�*X	��D 23�������8�D���:)|*���*�YM�*���*�+�=W�N*����6*��AN-��-�
�^:*���L���*���+�*��+�L,ç:,���qttxt:�����$�0�N�W�Z�c�g�o�{�*N	��: 23||�����8�D���@*�B*�;2���������=*��(*��Y��Y*�������Y*��ڶ�����*�Ķ�����,�5�<=,�[*��
*�������&���)*���L+��+�
�^M*,����m n%o(p  /�
23)�
8��:u"+���*�B+�1��M*��+,���z{|!~ 	��""/�!�6*�Ķ�������+�+���*+�����Y� ��"+�"�%N*-���(*��-�Y� ��"���"�%�֧-*�ĻY� ��"���"+�"$�"�%�L*�B+*�;2�����"���,�4�Y�����*,j/���������A')����[�Y� ��"+�"�%:*���*��,�֧'*�ĻY� ,�"��"+�"$�"�%�L*��+,������,�P�Z�4[[��[A�[��E/�	�,'#�:{-*�;��b�*�Q+��*�;��b�*�L+�t��
��#�,�--/��:A	*��+���			����U*�;���@*�;2�����<*�;��b�/���'*�����*�����*�;�a\@��W�
0:DTUJ�+�T��l*�{�*�{��*����*���*�Ĵ��*�Ķ�*��*��CW*���B*�*�;��b�*�;��*�Ķ�*�������>%&()&*-,1-9.@/E0R1Y3`4g5k6l+��=	*�+�S�F		/��L2*�����S��/*�	�8���P*+,��8*���������/*��8���;*+Z��8�����/*��8���P*+,-��8*���������/*��8���E*+,��8 �������/*��8��%
�������:���������������v��D��I��N��?�����=�����	g�h	|C}	���	���	���	���	.}k@s��	PKʣG�"]�MMchatty/TwitchCommands$1.class���3 	this$0Lchatty/TwitchCommands;<init>(Lchatty/TwitchCommands;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/TwitchCommands$1;run()VSourceFileTwitchCommands.javaEnclosingMethod	chatty/TwitchCommands$1java/util/TimerTaskchatty/TwitchCommandsstartAutoRequestModsaccess$000 	4*+�*���
6*�����
PKʣG�bc-c-chatty/TwitchCommands.class���3��� !	�"	�#	�$%�&��'��(��)*�+,�-.�/0�12�34�5��6��78�9��:;�<=�>?�@��ABCBDBEBFG1	HI1JK1L�MN�OP�Q�RSTUV�W�XYZ[\�]^�_`�ab�cd�ef�g�Chij�klmnopqr1stuvwxyz{|}~��������������1����������������B����W��������������������u0��B�B����������	���������������InnerClassesLOGGERLjava/util/logging/Logger;REQUEST_MODS_DELAYI
ConstantValueu0silentModsRequestChannelLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;modsAlreadyRequestedcLchatty/TwitchConnection;<init>(Lchatty/TwitchConnection;)VCodeLineNumberTableLocalVariableTablethisLchatty/TwitchCommands;command9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)ZchannelLjava/lang/String;	parameter
StackMapTable	onChannel(Ljava/lang/String;Z)ZmessageZsendMessage9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vecho	printLine'(Ljava/lang/String;Ljava/lang/String;)V(Ljava/lang/String;)VcommandTimeouttimeJex!Ljava/lang/NumberFormatException;parts[Ljava/lang/String;�UcommandSlowmodeOncommandUnbancommandBancommandModcommandUnmodcommandColorcommandHostmodehostmodetargethostmodeOffcolorslowmodeOn(Ljava/lang/String;I)VslowmodeOff
subscribersOnsubscribersOffr9kOnr9kOffclearChannelbannamemodunmodtimeout((Ljava/lang/String;Ljava/lang/String;J)V	formattedonlySecondstimeString�unbanmodsmodsSilentrequestModsSilentremoveModsSilent(Ljava/lang/String;)ZwaitingForModsSilent()Z
parseModsList$(Ljava/lang/String;)Ljava/util/List;arr$len$i$	modsArraytextstartmodsListLjava/util/List;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;�8(Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;startAutoRequestMods()VtimerLjava/util/Timer;autoRequestModsLjava/util/Iterator;joinedChannels��clearModsAlreadyRequestedprepareAndCheckParameters8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;regexparametersaccess$000(Lchatty/TwitchCommands;)Vx0<clinit>SourceFileTwitchCommands.java
�java/util/HashSet���������to��������slow��slowoff��subscribers��subscribersoff��r9k��r9koff������clear����fixmods��host��unhost�������������java/lang/StringBuilder�����( [0-9]+)?��Usage: /to <nick> [time]�� �������java/lang/NumberFormatException2Usage: /to <nick> [time] (no valid time specified)�������,Usage: /slow [time] (invalid time specified)Usage: /unban <nick>��Usage: /ban <nick>��Usage: /mod <nick>��Usage: /unmod <nick>��Usage: /color <newcolor>��Usage: /host <stream>��.host Trying to host ..��.unhostTrying to turn off host mode...color Trying to change color to .slowTrying to turn on slowmode...slow ��Trying to turn on slowmode (s).slowoffTrying to turn off slowmode...subscribers$Trying to turn on subscribers mode...subscribersoff%Trying to turn off subscribers mode...r9kbetaTrying to turn on r9k mode...r9kbetaoffTrying to turn r9k mode off...clearTrying to clear channel...ban Trying to ban .mod Trying to mod .unmod Trying to unmod 	.timeout Trying to timeout �chatty/util/DateTime$FormattingFormatting����s/ ().unban Trying to unban .modsRequesting moderator list..Trying to fix moderators..�����������:��java/util/ArrayList������,�java/util/Timer��chatty/TwitchCommands$1��������������java/lang/String����Auto-requesting mods for ���8��chatty/TwitchCommands�����java/lang/Objectjava/util/List
java/util/Setjava/util/Iteratorjava/util/CollectionssynchronizedSet (Ljava/util/Set;)Ljava/util/Set;equals(Ljava/lang/Object;)Zchatty/TwitchConnectionsendCommandMessageinfo
chatty/HelperUSERNAME_REGEXappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;split'(Ljava/lang/String;)[Ljava/lang/String;java/lang/Long	parseLong(Ljava/lang/String;)JisEmptyjava/lang/IntegerparseInt(Ljava/lang/String;)I(I)Ljava/lang/StringBuilder;chatty/util/DateTimeduration:(JIII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;(J)Ljava/lang/StringBuilder;addsendSpamProtectedMessage((Ljava/lang/String;Ljava/lang/String;Z)ZremoveindexOflength()I	substring(I)Ljava/lang/String;trim(Z)Vschedule(Ljava/util/TimerTask;JJ)VautoRequestModsEnabledgetJoinedChannels()Ljava/util/Set;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;containsjava/util/logging/Loggermatchesjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!������������������)���j&*�*�Y���*�Y���*+���-"( .%/�&��&�����%6,	��,��*+-��,
��*+-��,��*+-���,��*+-���,��*+���,��*+���,��*+���,��*+���,��*+���,��*+-��,��*+-� �m,!��*+�"�\,#��*+�$�K,%��*+�&�:,'��*+-�(�(,)��*+�*�,+��*+-�,�����$235$6-869?;H<Q>Z?bAkBsD|E�G�H�J�K�M�N�P�Q�S�T�V�W�Y�Z�\]_` b)c2f4h�*6��6��6��6������H*�+�-��l� ���������W*�+,-�.��pq�*�����������L*�+,�/��t	u� ���������A	*�+�0��xy�	��	�����]*�1Y�2�3�45�4�6,�7M,�*8�9�,:�;N-��*+-2	�<� -2�=7*+-2�<�:*?�9�?QT>�6
|}~%&�-�3�?�G�Q�T�V�\��>G��V��]��]��]��-0���&��T�����*,�,�@�*+�A�,�B>*+�A�N*C�9�">�"�����"�#�)��4��#��*��*��*���	M����p*�3,�7�*D�9�*+,�E�������� ����������o*�3,�7�*F�9�	*+,�G������� ����������o*�3,�7�*H�9�	*+,�I������� ����������o*�3,�7�*J�9�	*+,�K������� ����������h,�*L�9�	*+,�M����
��� �������
���h,�*N�9�	*+,�O����
��� �������
����:*+�P�3*+�1Y�2Q�4,�4�6�1Y�2R�4,�4S�4�6�T���	�9�� :��:��:���9���X*+�P�*+UV�T���	������������5*+�P�.*+�1Y�2W�4,�4�6�1Y�2X�4,�4�6�T���	�4�� 5��5��5���4����J*+�P�C�*+YZ�T�3*+�1Y�2[�4�\�6�1Y�2]�4�\^�4�6�T���	�
��I�� J��J��J���/���X*+�P�*+_`�T���	�����������X*+�P�*+ab�T��	���������X*+�P�*+cd�T��	
���������X*+�P�*+ef�T��	���������X*+�P�*+gh�T��	���������X*+�P�*+ij�T��	����������:*+�P�3*+�1Y�2k�4,�4�6�1Y�2l�4,�4S�4�6�T��"	#9%� :��:��:���9����:*+�P�3*+�1Y�2m�4,�4�6�1Y�2n�4,�4S�4�6�T��(	)9+� :��:��:���9����:*+�P�3*+�1Y�2o�4,�4�6�1Y�2p�4,�4S�4�6�T��.	/91� :��:��:���9���s�*+�P��!	��6*+�1Y�2q�4,�4�6�1Y�2r�4,�4S�4�6�T��!si�u�v:�1Y�2!�wx�4�6:����1Y�2�4y�4�4�6:*+�1Y�2q�4,�4:�4!�w�6�1Y�2r�4,�4z�4�4{�4�6�T��";	<=B@SAhB�D�I�HS���hm���C����������������B�4��X�D����:*+�P�3*+�1Y�2|�4,�4�6�1Y�2}�4,�4S�4�6�T��L	M9O� :��:��:���9���X*+�P�*+~�T��R	SU���������_*+�P�*+���*+����X	YZ\���������j!*+�P�*�+��W*�+~��W��_	`a c�!��!��� ���?*�+����f��������G*�������j����@	���C	d*���`<��Y��M�O*���G*��N-���@�7-��;::�66�2:,����W����,��*v	wxy$z.{6|P}\|b��\	P��:(��?#��B ��6,�$>��d�	[�SS�)�B�������	�X��Y��L+��Y*��s������	�����	
�h*�����*���L+��M,���G,����N*�-���-���1Y�2��4-�4�6��*�-��W*-��������.����-�:�S�^�c�d�g��*-7��M�h��U�U����I���f+�*����*�+��W�������������q,��,��M,+���,�������� �����@��/*������%
�����������u��@PKʣG�U�Offchatty/TwitchConnection$1.class���36	"	#$%&'()+val$listener-ConnectionListenerInnerClasses,Lchatty/TwitchConnection$ConnectionListener;this$0Lchatty/TwitchConnection;<init>H(Lchatty/TwitchConnection;Lchatty/TwitchConnection$ConnectionListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/TwitchConnection$1;userUpdated(Lchatty/User;)Vuser
Lchatty/User;
StackMapTableSourceFileTwitchConnection.javaEnclosingMethod./	
01234chatty/TwitchConnection$1java/lang/Object5&chatty/UserManager$UserManagerListenerUserManagerListener*chatty/TwitchConnection$ConnectionListenerchatty/TwitchConnection`(Lchatty/TwitchConnection$ConnectionListener;Lchatty/util/settings/Settings;Ljava/lang/String;)V()Vchatty/UserisOnline()Z
onUserUpdatedchatty/UserManager 	
9*+�*,�*��mW+��
*�+��qrt ! 	*,	PKʣGez4��chatty/TwitchConnection$2.class���3#	this$0Lchatty/TwitchConnection;<init>(Lchatty/TwitchConnection;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/TwitchConnection$2;run()VSourceFileTwitchConnection.javaEnclosingMethod !	chatty/TwitchConnection$2java/util/TimerTaskchatty/TwitchConnection"ConnectionListener`(Lchatty/TwitchConnection$ConnectionListener;Lchatty/util/settings/Settings;Ljava/lang/String;)Vaccess$000*chatty/TwitchConnection$ConnectionListener 	4*+�*��x
6*���|}
	PKʣG_�vvchatty/TwitchConnection$3.class���3!	this$0Lchatty/TwitchConnection;<init>(Lchatty/TwitchConnection;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/TwitchConnection$3;run()VSourceFileTwitchConnection.javaEnclosingMethod chatty/TwitchConnection$3java/util/TimerTaskchatty/TwitchConnectiongetReconnectionTimerTask()Ljava/util/TimerTask;	reconnect 	4*+�*���
6*�����
PKʣG.ORp&&0chatty/TwitchConnection$ConnectionListener.class���34/1
onJoinAttempt(Ljava/lang/String;)VonChannelJoined
onChannelLeftonJoin(Lchatty/User;)VonPartonUserAdded
onUserRemovedonUserlistCleared
onUserUpdatedonChannelMessage5(Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)V	onWhisper4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)VonNoticeonInfo'(Ljava/lang/String;Ljava/lang/String;)VonGlobalInfoonBanonRegistered()VonDisconnect(ILjava/lang/String;)VonModonUnmodonConnectionStateChanged(I)VonSpecialUserUpdatedonConnectErroronJoinError2	JoinErrorInnerClassesG(Ljava/util/Set;Ljava/lang/String;Lchatty/TwitchConnection$JoinError;)V	Signature[(Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;Lchatty/TwitchConnection$JoinError;)V
onRawReceived	onRawSentonHostonChannelClearedSourceFileTwitchConnection.java3*chatty/TwitchConnection$ConnectionListenerConnectionListenerjava/lang/Object!chatty/TwitchConnection$JoinErrorchatty/TwitchConnection	
 !%&'()*+,-$".#@.0	PKʣGGŌ�PFPF+chatty/TwitchConnection$IrcConnection.class���3�	�q	�r	�s	�t�uvw	�xy	z{|}z~��	����	���	�������������r������������������������������������������������������������������������������Nz����N������������	������r�������������������r����������������������)�����������������������	�����������	�r
�r�r������� �!���"�#$%�&�'(�)�*+,-,./�0�1�2�345�6�789�:�;<�=>�?@�ABC�DEFconnectionAttemptsIlastConnectionAttemptJjoinCheckerLchatty/JoinChecker;joinedChannelsLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;idPrefixLjava/lang/String;userlistReceivedthis$0Lchatty/TwitchConnection;<init>.(Lchatty/TwitchConnection;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis
IrcConnectionInnerClasses'Lchatty/TwitchConnection$IrcConnection;idgetLastConnectionAttemptAgo()IgetJoinedChannels()Ljava/util/Set;
StackMapTableEGH%()Ljava/util/Set<Ljava/lang/String;>;	onChannel(Ljava/lang/String;)ZchannelprimaryOnChannelonUserlist((Ljava/lang/String;[Ljava/lang/String;)Vnickarr$[Ljava/lang/String;len$i$	nicknames�debug(Ljava/lang/String;)VlineonConnectionAttempt(Ljava/lang/String;IZ)VserverportsecuredZ�J}	onConnect()VonRegisteredonDisconnect(ILjava/lang/String;)Vreason
reasonMessagestartReconnectTimer(I)Vdelay
onJoinAttemptonJoin9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vuser
Lchatty/User;prefix
clearUserlistcancelJoinAttemptonPartK(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VmessageonModeChangeL(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V	modeAddedmode/updateUserFromTags(Lchatty/User;Ljava/util/Map;)VtagsLjava/util/Map;changedcoloruserTypeLocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;E(Lchatty/User;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VcheckTagsState$(Ljava/lang/String;Ljava/util/Map;)ZstateJ(Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)ZonChannelMessage[(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Z)V	emotesTagfromtextaction�(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Z)VonNotice6(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V\(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VonQueryMessagespecialMessage'(Ljava/lang/String;Ljava/lang/String;)V	colorNicksplitinfoMessageparseModeratorsListmodsListLjava/util/List;$Ljava/util/List<Ljava/lang/String;>;KuserBanned(Lchatty/User;)VchannelCleared
onWhoResponsenicknamesetState
isChannelOpenrawsentonUserstate$(Ljava/lang/String;Ljava/util/Map;)VJ(Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VonGlobalUserstate(Ljava/util/Map;)V8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VupdateUserstateLjava/util/Iterator;	emotesetsLonClearChatonChannelCommandZ(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vtargetparameterscommandtrailing�(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V	onCommandZ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V	parameter�(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Vaccess$1008(Lchatty/TwitchConnection$IrcConnection;)Ljava/util/Set;x0access$200access$302+(Lchatty/TwitchConnection$IrcConnection;I)Ix1access$300*(Lchatty/TwitchConnection$IrcConnection;)ISourceFileTwitchConnection.java����������chatty/JoinChecker�M��java/util/HashSet�NOPjava/lang/StringBuilder[QR] ST��UVW���XYZ[\]^��_^M�`ab�cd�e[fghijk�lmTrying to connect to :Qn (secured)Jo�*Failed to connect (server or port invalid)CAP REQ :twitch.tv/tagsp�CAP REQ :twitch.tv/commandsqrmembershipEnabledst�CAP REQ :twitch.tv/membershipCAP ENDuvwxyz�{|}~�����������Disconnected���
��Gave up reconnecting. :(��Attempting to reconnect in  seconds.. (/)Ljava/util/Timer�����������JOINED: ����H��������g�[u�����PARTED: H�g��o�[�H��f��H�y�Hircv3CapitalizedNamesdisplay-name���java/lang/String�������turbo./��subscriber��	user-typemod��staff��admin��global_mod���1twitchnotifyAsInfotwitchnotify[Notification] �>jtv=>$%emotes2�	[Notice] ����A> @�	USERCOLOR�>����The moderators of��B>[Info] �����y��K��There are  mods for this channel.#There are no mods for this channel.Silent mods list (�T�H�����PASSPASS <password>��VQemote-sets������L�y��chatty/User��gGHI�HOSTTARGET-�>�>	ROOMSTATEr9k�[��	subs-only��slow�>broadcaster-lang�>WHISPER$[whisper]��%chatty/TwitchConnection$IrcConnectionchatty/Ircjava/lang/Objectjava/lang/ThrowableConnectionListener*chatty/TwitchConnection$ConnectionListenerjava/util/Listjava/util/Iterator(Lchatty/Irc;)Vjava/util/CollectionssynchronizedSet (Ljava/util/Set;)Ljava/util/Set;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/lang/SystemcurrentTimeMillis()J(Ljava/util/Collection;)V
java/util/Setcontains(Ljava/lang/Object;)Zchatty/TwitchConnectionaccess$400B(Lchatty/TwitchConnection;)Lchatty/TwitchConnection$IrcConnection;access$500access$600-(Lchatty/TwitchConnection;)Ljava/lang/String;equalsIgnoreCaselocalUserJoined!(Ljava/lang/String;)Lchatty/User;adduserJoined3(Ljava/lang/String;Ljava/lang/String;)Lchatty/User;access$700()Ljava/util/logging/Logger;java/util/logging/Loggerinfoaccess$800G(Lchatty/TwitchConnection;)Lchatty/TwitchConnection$ConnectionListener;(I)Ljava/lang/StringBuilder;onGlobalInfosendaccess$900:(Lchatty/TwitchConnection;)Lchatty/util/settings/Settings;chatty/util/settings/SettingsgetBooleanclearaccess$1000*(Lchatty/TwitchConnection;)Ljava/util/Set;isEmpty()ZgetOpenChannelsjoinChannels(Ljava/util/Set;)Vaccess$1100.(Lchatty/TwitchConnection;)[Ljava/lang/String;joinChannel	cancelAllaccess$12007(Lchatty/TwitchConnection;)Lchatty/ChannelStateManager;chatty/ChannelStateManagerresetaccess$13002(Lchatty/TwitchConnection;)Lchatty/TwitchCommands;chatty/TwitchCommandsclearModsAlreadyRequested
chatty/HelpermakeDisconnectReason'(ILjava/lang/String;)Ljava/lang/String;access$1400,(Lchatty/TwitchConnection;)Ljava/util/Timer;access$1500(Lchatty/TwitchConnection;I)Iaccess$1402=(Lchatty/TwitchConnection;Ljava/util/Timer;)Ljava/util/Timer;access$16000(Lchatty/TwitchConnection;)Ljava/util/TimerTask;schedule(Ljava/util/TimerTask;J)VjoinAttemptcancelonChannelJoinedusersLchatty/UserManager;chatty/UserManager
setAllOfflineonUserlistCleareduserOfflineremove
onChannelLeftgetUsersetModeequalsonModisUserlistLoaded(Lchatty/User;)Lchatty/User;onUnmodisOnline
onUserUpdated
java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;chatty/util/StringUtiltrim&(Ljava/lang/String;)Ljava/lang/String;setDisplayNicksetColorsetTurbo(Z)Z
setSubscribersetModeratorsetStaffsetAdminsetGlobalModspecialUseronInfo5(Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)Vaccess$1700(Lchatty/TwitchConnection;)Z'(Ljava/lang/String;)[Ljava/lang/String;setColorForUsernamelengthisAllUppercaseLettersstartsWith
parseModsList$(Ljava/lang/String;)Ljava/util/List;modsListReceived4(Ljava/lang/String;Ljava/util/List;)Ljava/util/List;waitingForModsSilentremoveModsSilentsizegetChannelonBanonChannelClearedonConnectionStateChanged
onRawReceived	onRawSentsetEmoteSetsgetUsersByNameiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;onSpecialUserUpdatedgetUserIfExistsonHostsetHostingcontainsKeysetR9kMode(Ljava/lang/String;Z)VsetSubmodesetSlowmodesetLang	onWhisper4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)V ��������������������,����T*+�*,�*�*�Y*��*�	Y���*�	Y���*�Y�
�,������"abAHN)]7cSd�T��T�����8�*�em���g������t*�YL»	Y*��+ðM+�,��klm�������������?*�+���q��������@*��+���u��������x**���o*+��g,��,2*����
*�+�W�*�+��*+� *�+�!W,N-�66�-2:*�+�"W�����.z�)�2�3�@�E�P�f�q�w��Hf��R%��V!��Y��x��x��x���3������T�#�Y�
*��+���$���������i*Y�`�*��**����+�<*��%�Y�
&�+�'��(�)�*���+�*��%,�+��"�����!�Z�h��*i��i�i�i�2�,�	��	

��<**���**-�.*/�.*��01�2�	*3�.*4�.*��5��"����&�,�2�;��<���,��k*�**����*��6�7�*�*��8�9�0*��:�&*��:L+�=>�+2:*�;����*��%�<��.���� �1�;�R�X�^�j��4R��C��F��H��k������
���*��5*��=**���_*��>�?*��@�A*��%�Y�
B�,�C���+g�*�D�*�*��%,�E�**�����2�	���%�0�S�Y�a�f�w���� ���������a��*��F��*��*��%G�+�z*�*��H=*��%�Y�
I��(J�*����(K��(L���+*�M*��NY�O�PW*��F*��Q�h��R��&	���$�0�p�u������ 0k�������$�v��|/*�+�S**���*��%+�T*��6+�!W����� �.��/��/���.�P�,*����Z*�+�U*�Y�
V�+���W**���*+��*��%+�X*�+,�"W*�+�!W�U**���J*+��B*�+��*+� *�+�W*�+,�":*��%�Y*�+�!W��>���-@MWe	x�������4��������������M-#��U*��Z+�[*��%+�\���������A	*�+�U���	��	�����,�]��*+���,*�����*�+�U**���
*�+,�^W*�+�_W**���1*��@+�A*��Z+�`*��%+�a*��>+�b**���*�+�_W*�Y�
c�+���W�/**���$*+��*�+,�^:*��%�d��V$%'(*.'/20<2G3R4]8h9u:�<�@�B�D�E�F�J�>���������������*�C+ �V�*+���*��Z+,�e:�E�fg�h�^**���*��%�i*�+�j�:*��kW�-*�fg�h�**���*��%�l�m�*��%�n��FNO	QRS"T,U7VEXPY]]d^n_y`�f�g�i�H����������!�"�����	�;#)$%���,��>*��0o�2�+,p�q�r�s�t�>,u�q�r:��]�	+�v+*w,�x�y�>+*z,�x�{�>,|�q�r:+}�h�~�>+�h���>+��h���>+��h���>�+*��Z���*��%+�n��flmuwx+y-~:G�M�[�]�k�m�z����������������������>�����&'�(:�)�z`*�+�&,��'���-./�]
�,+�q�h���� 
��
0�
&'+
&,�123��	�**����,�]��*+���*��0��2�0,��h�'*��%+�Y�
�������T,��h�
*+���A*�+,�":*�����q�r�:*��%����:������4�X�a�k�v�~������\	v3�4�����������5��6��&'�7+�&,��C�&#@��89��,**����*��%�Y�
��-���������+��*,��,��,5�,6��9:��)**����*+��
*����
*+,��-�������$�(��*)��)��)6�)&'+)&,�	�;<�~**����+��h�	*-����������*����5�6��=>��K+���N-2��h�!-��-2:-2:*��Z��-2���
-2����*,+����&	����"0C	DJ�>?�")�K��K6�K��D@��	�0�A>��3,����*,+���#*��%+�Y�
��,������	2 � 3��3��36��B>�C�+��N*��Z,-��W*��@���,�y*��@,���k*��%,�Y�
��+����-���0*��%,�Y�
��-���(������1*��%,����*�Y�
��,�L���W��&	-.:1<Q?Z@�B�E�G�*����6�����CD+�CE�
�1F�UGH�^*+����*��%+����PQS����I��F*��%+����^
_�����J>�?��d� ����K�L�O*��*��%����hij���0�M��B*��6+���s�����N��Z"*��%�Y�
*��+������z!{�"��"6�O���P+����(*��%�Y�
*��������$*��%�Y�
*��+������	�.�O��P��P6��. PQ�p*+��	*+,�������� ����&'+&,��RST�Q*+���������&'+&,�UVQ�U�,��q�rN+�*�+�:*,��-���A*��Z*������:�������:*,��-�����*��Z��-��*��%��**��Z��,����:����!�'�*�X�_�e�h�v������H
X
B&�W�������&'�X�+�&,��*�Y�%�RZ>��#,�*��Z+,��N-�*-���*+����������"��*	#��#��#���[\�����h�_���:��L2:��h� *��%-��*��>-���*��%-��*��>-������h��+�+����*��>-*�+�x��+Ĺ��*��>-*�+�x��+ƹ��*��>-+ƹq�r��+ȹ��*��>-+ȹq�r�ɱ�R���� �*�8�G�V�c�p�t�����������������R C]�P^�����&'�������_��`�+�&,��G��*  �abc�O+�]��,ʶh�@*��+�":*�����q�r�:*��%����"�����%�<�N��R1<4�O��O��O_�Od�O6�O&'+O&,��0#@��efg�/*���;�h�ig�/*���;�h�jk�;*Z���;�h�l�mn�/*���;�h�op������I	PKʣGva(B��'chatty/TwitchConnection$JoinError.class���39	)*+-./0	1	2	34NOT_REGISTERED	JoinErrorInnerClasses#Lchatty/TwitchConnection$JoinError;ALREADY_JOINEDINVALID_NAME$VALUES$[Lchatty/TwitchConnection$JoinError;values&()[Lchatty/TwitchConnection$JoinError;CodeLineNumberTablevalueOf7(Ljava/lang/String;)Lchatty/TwitchConnection$JoinError;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>5Ljava/lang/Enum<Lchatty/TwitchConnection$JoinError;>;SourceFileTwitchConnection.java567!chatty/TwitchConnection$JoinError8 ! !java/lang/Enumclone()Ljava/lang/Object;chatty/TwitchConnection5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@	"����"	5*���" !1*+��""#$%$]A�Y��	�Y���Y��
�Y�	SY�SY�
S��#'"#&'(,@PKʣGC�^��A�Achatty/TwitchConnection.class���3�	������	��	��	��	��	��	��	��	��	��	��	����������	���	����	�����������	���$��&�	�����&�����/���2���4�'4��:��������������������	�������������������������������4�	���	������������������o�����	�	 �
����$��&&������	��� ��	�!	�"�#$%�&�'$(�)	$*$+�,-./0123ConnectionListenerInnerClasses
IrcConnection4	JoinErrorUSERLIST_CONNECTIONZ
ConstantValueLOGGERLjava/util/logging/Logger;listener,Lchatty/TwitchConnection$ConnectionListener;settingsLchatty/util/settings/Settings;autojoin[Ljava/lang/String;openChannelsLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;maxReconnectionAttemptsIRECONNECTION_DELAY[IreconnectionTimerLjava/util/Timer;!SECONDARY_CONNECTION_UPDATE_DELAY'usernameLjava/lang/String;passwordserverserverPortsusersLchatty/UserManager;irc'Lchatty/TwitchConnection$IrcConnection;irc2userlistConnectiontwitchCommandsLchatty/TwitchCommands;spamProtectionLchatty/SpamProtection;
channelStatesLchatty/ChannelStateManager;whisperConnection<init>`(Lchatty/TwitchConnection$ConnectionListener;Lchatty/util/settings/Settings;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/TwitchConnection;labelupdateSecondaryConnectionTaskLjava/util/TimerTask;timergetReconnectionTimerTask()Ljava/util/TimerTask;setWhisperConnection(Z)Vvaluesimulate(Ljava/lang/String;)VdataaddChannelStateListener5ChannelStateListener4(Lchatty/ChannelStateManager$ChannelStateListener;)V1Lchatty/ChannelStateManager$ChannelStateListener;getChannelState)(Ljava/lang/String;)Lchatty/ChannelState;channelsetEmotesets(Ljava/util/Map;)V	emotesetsLjava/util/Map;LocalVariableTypeTable6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;9(Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;)VsetUsercolorManager(Lchatty/UsercolorManager;)VmLchatty/UsercolorManager;setAddressbook(Lchatty/Addressbook;)VaddressbookLchatty/Addressbook;setUsericonManager(Lchatty/UsericonManager;)VusericonManagerLchatty/UsericonManager;setBotNameManager(Lchatty/util/BotNameManager;)VLchatty/util/BotNameManager;setCapitalizedNamesManager(Lchatty/CapitalizedNames;)VcapitalizedNamesLchatty/CapitalizedNames;setCustomNamesManager(Lchatty/CustomNames;)VcustomNamesLchatty/CustomNames;getUser3(Ljava/lang/String;Ljava/lang/String;)Lchatty/User;namegetExistingUsergetUsername()Ljava/lang/String;isUserlistLoaded(Ljava/lang/String;)Z
StackMapTablegetOpenChannels()Ljava/util/Set;-26%()Ljava/util/Set<Ljava/lang/String;>;getReconnectionDelay(I)IattemptgetState()I	isOffline()ZisRegistered	onChannelgetJoinedChannels
isChannelOpencloseChannel
setAllOffline()VpartChannel(Ljava/lang/String;Z)ZshowMessage	reconnectcancelReconnectionTimerconnect^(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)VgetSecuredPorts()Ljava/util/Collection;Ljava/lang/Object;i$Ljava/util/Iterator;resultLjava/util/Collection;+Ljava/util/Collection<Ljava/lang/Integer;>;78-()Ljava/util/Collection<Ljava/lang/Integer;>;getSpecialUser()Lchatty/User;getMaxReconnectionDelaydisconnectsuccessquitupdateSecondaryConnectiongetConnectionInforegular	secondaryautoRequestModsEnabledlocalUserJoined!(Ljava/lang/String;)Lchatty/User;sendRawtextcommand9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)ZparameterssendCommandMessage9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VmessageechosendSpamProtectedMessage((Ljava/lang/String;Ljava/lang/String;Z)ZactiongetNumJoinedChannelsjoinjoinChannelchannelsjoinChannels(Ljava/util/Set;)VcheckedChannelvalidinvalid9&(Ljava/util/Set<Ljava/lang/String;>;)VjoinValidChannelsuserOfflineuser
Lchatty/User;:userJoined(Lchatty/User;)Lchatty/User;info'(Ljava/lang/String;Ljava/lang/String;)Vaccess$000(Lchatty/TwitchConnection;)Vx0access$400B(Lchatty/TwitchConnection;)Lchatty/TwitchConnection$IrcConnection;access$500access$600-(Lchatty/TwitchConnection;)Ljava/lang/String;access$700()Ljava/util/logging/Logger;access$800G(Lchatty/TwitchConnection;)Lchatty/TwitchConnection$ConnectionListener;access$900:(Lchatty/TwitchConnection;)Lchatty/util/settings/Settings;access$1000*(Lchatty/TwitchConnection;)Ljava/util/Set;access$1100.(Lchatty/TwitchConnection;)[Ljava/lang/String;access$12007(Lchatty/TwitchConnection;)Lchatty/ChannelStateManager;access$13002(Lchatty/TwitchConnection;)Lchatty/TwitchCommands;access$1400,(Lchatty/TwitchConnection;)Ljava/util/Timer;access$1500(Lchatty/TwitchConnection;I)Ix1access$1402=(Lchatty/TwitchConnection;Ljava/util/Timer;)Ljava/util/Timer;access$16000(Lchatty/TwitchConnection;)Ljava/util/TimerTask;access$1700(Lchatty/TwitchConnection;)Z<clinit>SourceFileTwitchConnection.java���� !����������������������F-�-java/util/HashSet;<=��6667��chatty/UserManager��chatty/ChannelStateManager%chatty/TwitchConnection$IrcConnection�>java/lang/StringBuilder?@-secondaryA��chatty/TwitchCommands�ochatty/SpamProtection��BCDE�FG�chatty/TwitchConnection$1�HILchatty/TwitchConnection$2java/util/Timerupdate secondary connection�MNOchatty/TwitchConnection$3��I�#�������	
PQDR'&ST9UV�W��B$#$%&(/).�XVY�Z�,-([T\&Not in a channel]�Not in this channel ()2&3-^-��_���563` Already connected or connecting.a�securedPortsbcdef8g&hijava/lang/Longj$klm7nVohCanceled reconnectingp�qrstC&GNot connected.Connected to:  (autoRequestModsju�getsecondarychannelsvVl�PQWX]m## Command not sent to prevent ban: w&x-ymzm{$\�^_java/lang/String|}D~��e_��[�:����jk���������chatty/TwitchConnection�����java/lang/Object*chatty/TwitchConnection$ConnectionListener!chatty/TwitchConnection$JoinError/chatty/ChannelStateManager$ChannelStateListenerjava/lang/Throwablejava/util/Collectionjava/util/Iterator
java/util/Setchatty/Userjava/util/CollectionssynchronizedSet (Ljava/util/Set;)Ljava/util/Set;.(Lchatty/TwitchConnection;Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringchatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;setLinesPerSecondsgetBooleansetCapitalizedNamesH(Lchatty/TwitchConnection;Lchatty/TwitchConnection$ConnectionListener;)VaddListener�UserManagerListener+(Lchatty/UserManager$UserManagerListener;)V(Ljava/lang/String;Z)Vschedule(Ljava/util/TimerTask;JJ)Vchatty/util/StringUtiltoLowerCasegetUserIfExistsaccess$1008(Lchatty/TwitchConnection$IrcConnection;)Ljava/util/Set;contains(Ljava/lang/Object;)Z(Ljava/util/Collection;)VremoveclearcancelJoinAttemptaccess$200isEmptyonInfocancelsetLocalUsernamea(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)VonConnectErrorgetList$(Ljava/lang/String;)Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;intValuejava/lang/IntegervalueOf(I)Ljava/lang/Integer;addspecialUseronGlobalInfosetState(I)Vaccess$302+(Lchatty/TwitchConnection$IrcConnection;I)IsendequalscheckincreasesendActionMessagesendMessagesize
chatty/HelpertoValidChannelINVALID_NAME#Lchatty/TwitchConnection$JoinError;onJoinErrorG(Ljava/util/Set;Ljava/lang/String;Lchatty/TwitchConnection$JoinError;)VNOT_REGISTEREDALREADY_JOINED	setOnline(Z)Z
onUserRemoved(Lchatty/User;)VgetChannel	substring(I)Ljava/lang/String;nicksetBroadcasteronUserAddedjava/lang/ClassgetNamejava/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;&chatty/UserManager$UserManagerListener!������������B������������B������B��B��B��B������������������I����*�*�Y���*�*�*�Y��*�Y��*�Y*-��*�Y*�Y�-� !� �"��#**��
*+�*,�	*�$Y*�%�*�&Y�'�(*�(,)�*�+*�,,�-�.*��/Y*+�0�1�2Y*�3:�4Y5�6:77�9��Ra27OT)\4bAc`dhemfrg~j�k�l�m�x������>���������������������3	�:Y*�;����	�����>*�������������A	*�+�<�����	��	�����A	*�+�=�����	��	�����=	*�+�>����	��	�����S	*�+�?�����	��	���	�������A	*�+�@�����	��	�����A	*�+�A�����	��	�A	*�+�B�����	��	�A	*�+�C�����	��	�	�A	*�+�D�����	��	
�A	*�+�E�����	��	�H*�+,�F���� ������Q,�GM*�+,�H����� ������/*��������_ *�
�I�*�
�J+�K������ �� ��@�t*�YL»Y*��L+ðM+�,���������� !�]��M��*�N��M.��������"�#$�2*��O������%&�2*��P������'&�2*��I������(�;*+�Q��������)�2*��R�������*�?*�+�K��������+��e!*+�S*�+�TW*�+�U*�+�V���� �!��!��,-�6*��W�����.��V*+�X�*�+�Y��	�����(/��R*��Z+�K>�A�=+�+�[�*�\�]�$*��Y�^� +� _� �"�]��!/P�*R��R��R0�D(��!
 1-�<*�`W*�a��'*	+���2&�Z*��*��b*����./013���34��(*+�c*,�*-�*�-�d*�e*�*�a��"FGHIJK#L'M�>(��(��(��(��(��(��3-�}9*��O�&*�`W*�*�c*�*�*�e*�f�g�*�h�i��TUV-X8Z�9��-56��=�Y�L*�	j�k�lM,�m�,�nN+-�o�p�q�rW���+��]^'_8`;a�*'�7$89=��5:;�5:<�=>�#�?@A�2*��s��e���B$�5�M�M�d.��n���C&��5*�`�*�t�u*��v*��wW*��x<*�#�xW��yz{|#~+3��5��+D�#E-�C*��xW*�#�xW��������F-�+������G��Q*��yL*�#�yM+�z�,�%�Y�{� +� |� ,� _� �"��Y�{� +� �"��������=�� Q��IH�AI��JJ%K&�4*�	}�-������LM�>*+*��~��������N��A	*�+������	��	O�PQ��$,����**�#�R�����*�+,-�����	����*$��$��$P�$R�ST��5*+,���*�+-���*��Y��� ,� �"�]�����4��*5��5��5U�5V�WX��.*�(����*�(���*�+,���*�+,���������#�,��*.��.��.U�.Y�Z$�7
*��Z������
��[��A	*�+�������	��	��\��r�Y�M,+��W*,����� ����]��]�^_����Y�M�Y�N+��:�m�3�n��:��:�-��W�,��W���-��:�m�!�n��:*�+�������*,����6
.5:FORp���\	5`�.!��:89p��Z(89����]��a�xb�� �]��a�xb�&�cc>�-JJ���>�'�de_��a+����*��I�*�+�����>+��M,�m�.,�n��N*-�X�*�+-�����*-����ϱ�*(	)*+%-?.G/X1]3`5�*?��,489a��aa��aa��>�+J���df�� *�+,�FN-�-��W*�-��-��	�* �� �� �gh�ij�\*�+,�FN*-�����*�����ghjk��-+���&+��M,��+�����+��*�+��+��
!+!� 
��-��-gh�!J�	lm�N*�+,����%&� ����U�l��C*�+�]��)*���U�no�/*����p�qr�/*����p�sr�/*�
���p�tu�/*����p�vw����xy�/*����p�z{�/*�	���p�|}�/*����p�~�/*����p����/*����p����/*����p����/*����p����:*����p������;*+Z����p������/*����p����/*����p��-�K/�������YOYOYOYOYOY<O�M��&<���B���	�����@:2/��	JK	PKˣG���N��chatty/UpdateTimer$1.class���3&		 !val$gLchatty/gui/MainGui;this$0Lchatty/UpdateTimer;<init>+(Lchatty/UpdateTimer;Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/UpdateTimer$1;run()VSourceFileUpdateTimer.javaEnclosingMethod"#	$%chatty/UpdateTimer$1java/util/TimerTaskchatty/UpdateTimer(Lchatty/gui/MainGui;)Vchatty/gui/MainGuiupdateState 	
9*+�*,�*��
6*���PKˣG㴩Ά�chatty/UpdateTimer.class���3(		 �!"#InnerClassestaskLjava/util/TimerTask;DELAYI
ConstantValue<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisLchatty/UpdateTimer;gLchatty/gui/MainGui;SourceFileUpdateTimer.java$chatty/UpdateTimer$1%
&'chatty/UpdateTimerjava/util/Timer()V+(Lchatty/UpdateTimer;Lchatty/gui/MainGui;)Vschedule(Ljava/util/TimerTask;JJ)V!	
` *�*�Y*+��**���  PKʣG�Q�"��chatty/User$BanMessage.class���3<init>(Ljava/lang/Long;)VCodeLineNumberTableLocalVariableTablethisBanMessageInnerClassesLchatty/User$BanMessage;timeLjava/lang/Long;SourceFile	User.javachatty/User$BanMessagechatty/User$MessageMessage(ILjava/lang/Long;)Vchatty/User!?*+����	
		PKʣGT�M���chatty/User$Message.class���3+	 	!"#%&MESSAGEI
ConstantValueBANtimeLjava/lang/Long;type<init>(ILjava/lang/Long;)VCodeLineNumberTableLocalVariableTablethisMessageInnerClassesLchatty/User$Message;getType()IgetTime()JSourceFile	User.java'
()*chatty/User$Messagejava/lang/Object()Vjava/lang/Long	longValuechatty/User!		
Y*�*,�*����	�� 
/*���2*����$	PKʣG_����chatty/User$TextMessage.class���3%		 !textLjava/lang/String;actionZ<init>&(Ljava/lang/Long;Ljava/lang/String;Z)VCodeLineNumberTableLocalVariableTablethisTextMessageInnerClassesLchatty/User$TextMessage;timeLjava/lang/Long;messagegetText()Ljava/lang/String;isAction()ZSourceFile	User.java#	$chatty/User$TextMessagechatty/User$MessageMessage(ILjava/lang/Long;)Vchatty/User!	e*+�*,�*��
����*	/*��
�/*��
�	"	PKʣGQ
���9�9chatty/User.class���3(G^�_`_	Gab_	Gcdef	Gg	Gh	Gijk	Gl��������	Gm	Gnop	Gq	Gr	GsGt	GuGvGw	Gx	Gy	�z{|{}	G~����G������	G�	G����+�G��/��������	G�������	G�G���	G�G�G�G�	G�G�������	G�	G��G�G�G�G�G�G���	G�%G�	G�	G�	G�	G�	G�	G�	G�	G��Z_G�Z�G�Z��G��G���������	G��������������	G��G�?������z�����������������BanMessageInnerClassesTextMessage�MessageSPLIT_EMOTESETLjava/util/regex/Pattern;EMPTY_EMOTESETSLjava/util/Set;	Signature$Ljava/util/Set<Ljava/lang/Integer;>;
defaultColors[Lchatty/gui/NamedColor;MAXLINESI
ConstantValued	emoteSetsmessagesLjava/util/List;'Ljava/util/List<Lchatty/User$Message;>;nickLjava/lang/String;displayNickcustomNickfullNickhasDisplayNickSetZhasRegularDisplayNickchanneladdressbookLchatty/Addressbook;iconManagerLchatty/UsericonManager;colorManagerLchatty/UsercolorManager;colorLjava/awt/Color;correctedColorhasDefaultColorhasCorrectedColorhasCustomColoronlineisModeratorisGlobalMod
isBroadcasterisAdminisStaffhasTurboisSubscriberisBot	createdAtJnumberOfMessages
numberOfLineslastMessage
lastHighlight<init>'(Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis
Lchatty/User;9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
StackMapTable��setUsercolorManager(Lchatty/UsercolorManager;)VmanagersetUsericonManager(Lchatty/UsericonManager;)VgetUsericonManager()Lchatty/UsericonManager;
getAddonIcons(Z)Ljava/util/List;first,(Z)Ljava/util/List<Ljavax/swing/ImageIcon;>;getIcon�Type/(Lchatty/Usericon$Type;)Ljavax/swing/ImageIcon;typeLchatty/Usericon$Type;setAddressbook(Lchatty/Addressbook;)V
getCategories()Ljava/util/Set;entryLchatty/AddressbookEntry;%()Ljava/util/Set<Ljava/lang/String;>;getPresetCategories()Ljava/util/List;&()Ljava/util/List<Ljava/lang/String;>;hasCategory(Ljava/lang/String;)Zcategory'(Ljava/lang/String;Ljava/lang/String;)ZnamegetAddressbook()Lchatty/Addressbook;getChannel()Ljava/lang/String;	getStreamgetCreatedAt()JgetNumberOfMessages()IgetMaxNumberOfLinesmaxNumberOfLinesReached()ZaddMessage(Ljava/lang/String;Z)VlineactionaddBan()VaddLine(Lchatty/User$Message;)VmessageLchatty/User$Message;getMessages)()Ljava/util/List<Lchatty/User$Message;>;getNickgetDisplayNickgetRegularDisplayNicksetDisplayNicknewDisplayNickcheckForRegularDisplayNick
getCustomNick
setCustomNick(Ljava/lang/String;)VhasCustomNickSetgetColor()Ljava/awt/Color;result�getDisplayColor
getPlainColorgetCorrectedColorsetColor(Ljava/awt/Color;)V	htmlColorsetCorrectedColorsetDefaultColorn	setOnline(Z)ZisOnline	compareTo(Ljava/lang/Object;)IoLjava/lang/Object;ubroadcasteradmin	globalmod	moderatorsubscriber�toStringsetModemodehasChannelModeratorRightssetModeratormodsetGlobalMod	globalModsetAdminsetStaffstaffsetTurboturbo
setSubscribersetBroadcaster(Z)VsetBotbotupdateFullNick
getModeSymbolsetEmoteSetsex!Ljava/lang/NumberFormatException;emoteSetarr$[Ljava/lang/String;len$i$newEmoteSetssplitG�(Ljava/util/Set;)VLocalVariableTypeTable'(Ljava/util/Set<Ljava/lang/Integer;>;)VgetEmoteSet&()Ljava/util/Set<Ljava/lang/Integer;>;getActivityScorescore	makeScore(J)ItimeagogetLastHighlightAgosetHighlighted<clinit>SourceFile	User.java���java/util/HashSet��java/util/ArrayList�������������������������������@�����������������������#�����chatty/User$TextMessage�chatty/User$BanMessage�	�
�����������������������chatty/User������������#��2!����������������java/lang/StringBuilderA��.�%��+��^~!&*@��K !java/lang/NumberFormatException"#��UV[^0-9]$%chatty/gui/NamedColorRed�&BlueGreen	FireBrickCoralYellowGreen	OrangeRedSeaGreen	GoldenRod	Chocolate	CadetBlueDodgerBlueHotPinkBlueVioletSpringGreenjava/lang/Objectjava/lang/Comparablechatty/User$Messagejava/lang/String'chatty/Usericon$Typejava/awt/Colorchatty/gui/HtmlColorsdecode$(Ljava/lang/String;)Ljava/awt/Color;java/lang/SystemcurrentTimeMillischatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;ADDONchatty/UsericonManagergetCustomIcons6(Lchatty/Usericon$Type;Lchatty/User;Z)Ljava/util/List;<(Lchatty/Usericon$Type;Lchatty/User;)Ljavax/swing/ImageIcon;chatty/Addressbookget-(Ljava/lang/String;)Lchatty/AddressbookEntry;chatty/AddressbookEntryreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;java/lang/LongvalueOf(J)Ljava/lang/Long;&(Ljava/lang/Long;Ljava/lang/String;Z)V(Ljava/lang/Long;)Vjava/util/Listadd(Ljava/lang/Object;)Zsizeremove(I)Ljava/lang/Object;(Ljava/util/Collection;)VisEmptyequalsequalsIgnoreCasechatty/UsercolorManager(Lchatty/User;)Ljava/awt/Color;codePointAt(I)Ilength(Ljava/lang/String;)Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;
java/util/Setclearjava/util/regex/Pattern-(Ljava/lang/CharSequence;)[Ljava/lang/String;java/lang/IntegerparseInt(I)Ljava/lang/Integer;addAll(Ljava/util/Collection;)Zcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;(Ljava/lang/String;III)Vchatty/Usericon!G��#����������������������������������B��B������������������������������������������K���J*+,���bc� ���������W}*�*�Y��*�Y��*	��*	��*�
*��*�*�*+��*,�+�,�*,���*�*-��*�*���Fe./I#J,K1Y8^?_FfNg[hhiljtkxl|m�*}��}��}��}���L�W�����������K���������>*+���pq��������>*+���tu��������/*���x������a*��*��*���Y���|}�����������X*��
*�+*� ���������������>*+�!������������k*�!�*�!*��"L+�+�#���������	����������L*�!�*�!�$���������������>*+*��%�����������}*�!�*�!,�"N-�	-+�&���������*������������/*�!���������/*����������6*�'	�(���������/*����������/*�)���������-d���������H
*�*d�����	���
���!���o%*�+Y��,+�-�.*Y�)`�)*�������$�� %��%��%�!�@*�/Y��,�0�.��������|/*�+�1W*��2d�*��3W*Y�*`�*�����$�.��/��/�$!��6�Y*��4�������!	��/*�������!��/*�������!��L*�5�*��*�������!���5+�+�6��*�*��*�+�7��*+�*�*���&	

$&+/3�5��5
���g**��*�*��8���5������Z���!���/*������!��L*�9�*�9�*�:�� !#����!�F*+�9*���'(	)�����!��B
*�9����,�
���@!��%*��*�*�;L+�*�<+�*�<*���9:;<=? B��%�����!�h*�=L*�>�*�?�*��+��OPQS�������!�/*���]���!���/*�<��g���!�/*���r���!���/*�@��v���!�G*�
*+���z{|�����!�A	*+��A����	��	�!�G*+�*�@����������!���/*�
�������{-*��BL+�C++�Dd�C`=*�E�E�p2�*�
�����'�,�� -��%���! !�Z*�F�*�F�����
��������!"��/*�F������!#$��	�+�G��+�GM>66666*�H�*�I�d6,�H�,�I�`6*�J�d6,�J�`6*�K�	d6,�K�	`6*�L�d6,�L�`6*�M�d6,�M�`6�*�,��N���� ��	�������!�/�6�D�K�R�Y�`�g�n�t�{������������������������\	����%&�'��(��)��*��+��,�!���%	�%	�-�






!.��/*�O������!/�c+P�7�*�QW�	*�QW���	������0��!1��J*�M�*�K���������@!���/*�R������!���/*�S������!���/*�T������!���/*�U������!���/*�V������!���/*�W������!���/*�X�����!���/*�Y�����!2!�b*�R�*�R*����

���3��!4!�b*�S�*�S*����
���5��!6!�b*�T�*�T*����
!���)��!7!�b*�U�*�U*����%&
'(*���8��!9!�b*�X�*�X*����./
013���:��!;!�b*�W�*�W*����78
9:<���,��!<=�F*�V*���@A	B���(�!>!�b*�Y�*�Y*����EF
GHJ���?��@�K*�ZY�[*�\�]*�^�]�_�O��NO���A��j�	L*�L��ZY�[+�]`�]�_L*�a��ZY�[+�]b�]�_L*�c��ZY�[+�]d�]�_L*�K��ZY�[e�]+�]�_�*�H��ZY�[f�]+�]�_�*�I��ZY�[g�]+�]�_�*�J��ZY�[h�]+�]�_�*�M��ZY�[i�]+�]�_�+��JRSTV%W9Y@ZT\[]o_v`�b�c�e�f�h�i�k���������!B�1R*��j+���k+�lM,N-�66�.-2:�6�*��m�n�oW�:���ѱ4FIp�.x	y
z|},~4�F�I�K}Q��RKCD,E�9FG5H�2I�R��RJ�<KG�9���LL�)��LL�M��!BN�c*��j*�+�qW���	�������O���P!Q��W*��r��s��Y*��t����������R!S���7<*����**��u�vkc�<*���**��u`<����
��*�5��7��5T���UV��!�e��l>�xld6��������*!��!W�X���	�AY��8�*�e��l������!Z�6*���������[�_	?x�y�k�Y��s�zY�zY{��|SY�zY}��|SY�zY~��|SY�zY�""�|SY�zY��P�|SY�zY���2�|SY�zY��E�|SY�zY�.�W�|SY�zY��� �|SY	�zY��i�|SY�zY�_���|SY�zY����|SY�zY��i��|SY
�zY��+�|SY�zY���|S�E��\]�"/G�	+G�	�G�	���@PKʣG�Gchatty/UserManager$1.class���3S	,
-	.*/*012343567*89:<this$0Lchatty/UserManager;<init>(Lchatty/UserManager;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/UserManager$1;setUserBot(Lchatty/User;)Vuser
Lchatty/User;
StackMapTablebotNameAdded'(Ljava/lang/String;Ljava/lang/String;)Vi$Ljava/util/Iterator;channelLjava/lang/String;botName>SourceFileUserManager.javaEnclosingMethod?@ABCDEFGHIJK>LMNOchatty/UserPQchatty/UserManager$1java/lang/ObjectR*chatty/util/BotNameManager$BotNameListenerBotNameListenerjava/util/Iteratorchatty/UserManagersetBotNameManager(Lchatty/util/BotNameManager;)V()VsetBot(Z)Zaccess$000$(Lchatty/UserManager;Lchatty/User;)VgetUsersByName$(Ljava/lang/String;)Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;getUserIfExists3(Ljava/lang/String;Ljava/lang/String;)Lchatty/User;chatty/util/BotNameManager 
4*+�*��2V+��*�+��568 �F+�1*�,��N-��-��	:*����*�+,�N-�*-��"<=&>,?2A<B@CEF>&!"<	FF#$F%$
�&�'()*+;=	PKʣG�<x���chatty/UserManager$2.class���3P	-.+/01232456+789;this$0Lchatty/UserManager;<init>(Lchatty/UserManager;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/UserManager$2;setName'(Ljava/lang/String;Ljava/lang/String;)Vuser
Lchatty/User;i$Ljava/util/Iterator;nameLjava/lang/String;capitalizedNameusersLjava/util/List;LocalVariableTypeTableLjava/util/List<Lchatty/User;>;
StackMapTable=>SourceFileUserManager.javaEnclosingMethod?@A
BCD=EF>GHIJchatty/UserKLMNchatty/UserManager$2java/lang/ObjectO0chatty/CapitalizedNames$CapitalizedNamesListenerCapitalizedNamesListenerjava/util/Listjava/util/Iteratorchatty/UserManagersetCapitalizedNamesManager(Lchatty/CapitalizedNames;)V()VgetUsersByName$(Ljava/lang/String;)Ljava/util/List;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;setDisplayNick(Ljava/lang/String;)Zaccess$000$(Lchatty/UserManager;Lchatty/User;)Vchatty/CapitalizedNames 
4*+�*��m�;*�+�N-�:��"��:,�W*��	��ڱq	r's.t7u:v>');;; 	2!"#	2!$%�&'�(()*+,:<	PKʣGa�:��chatty/UserManager$3.class���3P	-.+/01232456+789;this$0Lchatty/UserManager;<init>(Lchatty/UserManager;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/UserManager$3;setName'(Ljava/lang/String;Ljava/lang/String;)Vuser
Lchatty/User;i$Ljava/util/Iterator;nameLjava/lang/String;customNickusersLjava/util/List;LocalVariableTypeTableLjava/util/List<Lchatty/User;>;
StackMapTable=>SourceFileUserManager.javaEnclosingMethod?@A
BCD=EF>GHIJchatty/UserKLMNchatty/UserManager$3java/lang/ObjectO&chatty/CustomNames$CustomNamesListenerCustomNamesListenerjava/util/Listjava/util/Iteratorchatty/UserManagersetCustomNamesManager(Lchatty/CustomNames;)V()VgetUsersByName$(Ljava/lang/String;)Ljava/util/List;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;
setCustomNick(Ljava/lang/String;)Vaccess$000$(Lchatty/UserManager;Lchatty/User;)Vchatty/CustomNames 
4*+�*��~�:*�+�N-�:��!��:,�*��	��۱�	�'�-�6�9�>'(::: 	1!"#	1!$%�&'�'()*+,:<	PKʣGq�ݥ��,chatty/UserManager$UserManagerListener.class���3
userUpdated(Lchatty/User;)VSourceFileUserManager.java&chatty/UserManager$UserManagerListenerUserManagerListenerInnerClassesjava/lang/Objectchatty/UserManager 		PKʣGm4*�s+s+chatty/UserManager.class���3�t�w	t	t	t		t	t
	t	t	t	t�	t	t 	t!d"	t#$%%&	t'())*+,K-.//01t2K3	45K6t7%8K9:;K;K<;=K>;?@ABC)DEFGHIJKLMNOPQRSTUVWXYZ%[\]`^`_`atbtcd/0dte1f	tghi;jklmntopqrkstUserManagerListenerInnerClassesLOGGERLjava/util/logging/Logger;	listenersLjava/util/Set;	Signature9Ljava/util/Set<Lchatty/UserManager$UserManagerListener;>;
localUsernameLjava/lang/String;specialUser
Lchatty/User;usersLjava/util/HashMap;[Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashMap<Ljava/lang/String;Lchatty/User;>;>;cachedColors9Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;capitalizedNamesZ	emotesetsLjava/util/Map;6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;	errorUsercapitalizedNamesManagerLchatty/CapitalizedNames;customNamesManagerLchatty/CustomNames;usericonManagerLchatty/UsericonManager;usercolorManagerLchatty/UsercolorManager;addressbookLchatty/Addressbook;botNameManagerLchatty/util/BotNameManager;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/UserManager;setLocalUsername(Ljava/lang/String;)VusernamesetBotNameManager(Lchatty/util/BotNameManager;)VmaddListener+(Lchatty/UserManager$UserManagerListener;)Vlistener(Lchatty/UserManager$UserManagerListener;
StackMapTableuserUpdated(Lchatty/User;)Vi$Ljava/util/Iterator;userusetCapitalizedNames(Z)VcapitalizedsetUsericonManager(Lchatty/UsericonManager;)VmanagersetUsercolorManager(Lchatty/UsercolorManager;)VsetAddressbook(Lchatty/Addressbook;)VsetEmotesets(Ljava/util/Map;)VnewEmotesetsLocalVariableTypeTable9(Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;)VsetCapitalizedNamesManager(Lchatty/CapitalizedNames;)VsetCustomNamesManager(Lchatty/CustomNames;)VgetUsersByChannel'(Ljava/lang/String;)Ljava/util/HashMap;channelresult4Ljava/util/HashMap<Ljava/lang/String;Lchatty/User;>;H(Ljava/lang/String;)Ljava/util/HashMap<Ljava/lang/String;Lchatty/User;>;getUsersByName$(Ljava/lang/String;)Ljava/util/List;channelUsersnameLjava/util/List;itLjava/util/List<Lchatty/User;>;JLjava/util/Iterator<Ljava/util/HashMap<Ljava/lang/String;Lchatty/User;>;>;v3(Ljava/lang/String;)Ljava/util/List<Lchatty/User;>;getUserIfExists3(Ljava/lang/String;Ljava/lang/String;)Lchatty/User;getUsercapitalizedNamedisplayNameIgetChannelsAndUsersByUserNameEntryLjava/util/Map$Entry;channelName
lowercaseName]Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/HashMap<Ljava/lang/String;Lchatty/User;>;>;sLjava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/HashMap<Ljava/lang/String;Lchatty/User;>;>;>;clear
setAllOfflineusersInChannel0Ljava/util/Map<Ljava/lang/String;Lchatty/User;>;a3(Ljava/util/Map<Ljava/lang/String;Lchatty/User;>;)VsetColorForUsername'(Ljava/lang/String;Ljava/lang/String;)VuserNamecoloruserAllChansmodsListReceived4(Ljava/lang/String;Ljava/util/List;)Ljava/util/List;modsListusersToDemodchangedUsers$Ljava/util/List<Ljava/lang/String;>;W(Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Lchatty/User;>;access$000$(Lchatty/UserManager;Lchatty/User;)Vx0x1<clinit>SourceFileUserManager.java����java/util/HashSet}~chatty/User
[specialUser][nochannel]����java/util/HashMap������wxy��[Error]#[error]������chatty/UserManager$1�z{�~����u����&chatty/UserManager$UserManagerListener����������chatty/UserManager$2�����chatty/UserManager$3���������java/util/ArrayList���v���������������java/lang/StringBuilder����������������������������java/lang/String��������������������������������������java/util/Map$Entry������
java/util/Map����������{|Setting users as mod for : ����������chatty/UserManager�����java/lang/Objectjava/util/Iteratorjava/util/Listjava/util/CollectionssynchronizedMap (Ljava/util/Map;)Ljava/util/Map;(Lchatty/UserManager;)Vchatty/util/BotNameManager�BotNameListener/(Lchatty/util/BotNameManager$BotNameListener;)V
java/util/Setadd(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;putAllchatty/CapitalizedNames�CapitalizedNamesListener5(Lchatty/CapitalizedNames$CapitalizedNamesListener;)Vchatty/CustomNames�CustomNamesListener+(Lchatty/CustomNames$CustomNamesListener;)Vget&(Ljava/lang/Object;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;toLowerCase()Ljava/lang/String;values()Ljava/util/Collection;java/util/CollectionisEmptyjava/util/LocaleENGLISHLjava/util/Locale;&(Ljava/util/Locale;)Ljava/lang/String;getName&(Ljava/lang/String;)Ljava/lang/String;equals	substring(II)Ljava/lang/String;toUpperCaseappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/String;toString9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
getCustomName
setCustomNick	isBotName'(Ljava/lang/String;Ljava/lang/String;)ZsetBot(Z)ZcontainsKeysetColorisAdminsetAdminisGlobalModsetGlobalModisStaffsetStaffhasTurbosetTurbohasDefaultColor
getPlainColor()Ljava/awt/Color;(Ljava/awt/Color;)VgetEmoteSet()Ljava/util/Set;setEmoteSets(Ljava/util/Set;)VhasDisplayNickSetgetDisplayNicksetDisplayNick(Ljava/lang/String;)ZactivityentrySetgetKeygetValue	setOnlinesetModerator-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerinfo
chatty/HelpervalidateChanneljava/lang/Class	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;*chatty/util/BotNameManager$BotNameListener0chatty/CapitalizedNames$CapitalizedNamesListener&chatty/CustomNames$CustomNamesListener!tw{|}~�B���������������������������������W*�*�Y��*�Y�	�*�Y��
*�Y��*�*�Y���*�Y�	���&	)49!G#V}�W�����>*+���-.��������N*+�+�Y*����12H��������U+�*�+�W��KLN����������(*��M,��,��N-+�����QR$S'T�*����(��(���������>*���WX��������>*+� ��[\��������>*+�!��_`��������>*+�"��cd��������U*�+�#��gh������������_+�*+�$+�%Y*�&�'��kl	my���������_+�*+�(+�)Y*�*�+��|}	~�������!����$*�
+�,�M,��Y�M*�
+,�-W,������"�� $��$���������"��!���L+�.L�/Y�0M*�
�1�2N-��*-��:+�,�:�,�3W���,��*��
��#�.�9�>�G�J��>.��9��L��L��
?��2��� .��
?��2���
���,�!���K
*+�4,�,����� 
��
��
��!����,�,�5�*��,N,�6�7M*+,�8:�I*�$�*�$,�9�:-,�:�4�	N�)*��"�;Y�<,�=�>�?,�@�?�AN�Y-+�B:*�!�C*�"�D*� �E*�(�*�(,�F�G*��*�+,�H��IW*�,�J�*�,�,�K�L,*��:�p*��M�NW*��O�PW*��Q�RW*��S�TW*��U�*��V�W*��X�Y*��Z�*��[�\W*+�4,�-W�*�$�*�$,�]���$�����"�'�<�D�I�O�V�u���������������������������%�/�;�G�Q�^�j�t�|��><.��������m��"]���#
�(��@��%;�T"�!���X	j+�6�7M�Y�N*�
�^�_:��C��`:�a�K:�b�:,�,�:�-�-W���-��2
(4@LW\eh�\	41��@%��L��W��j��j��b��Z��L���*41��L��Z��L��������F�!���6*�
�c�� !���!���A	*+�4�c��)*�	��	��!����'*�
�1�2L+��*+��d�e����0
12&4�'��
���
���	�
�!����+�*�f*�
+�,�dM,�*,�e��<=?@AC� ����������	������)+�g�hM,��,��N-�iW����KL%M(N�*����)��)���)�������$����=+�.L*�+,�-W*+�jN-�k:����:,�L����WXZ[3\9]<^�>3����=��=��=��(���(�������$�����*+�4N-�g�h:����:�lW���m�;Y�<n�?+�?o�?,�p�A�q�/Y�0:,�k:��<��K:�r�%*+�s:�l�	*��3W�����:jk)l0m3oUp^q|r�s�t�u�w�y�z�f)�� �����|*��fC��������������^N��� ������^N���&�����2���5��	�����:*+�����������%
t�u�v�m����yBtx	)%`d�	|}	�%�	�)�	PKʣG^D�	�	chatty/UsercolorItem.class���3�#X	Y	Z[\]^	_`abc	d	e	fghijklmnopqrstuvwxyz{|}~	statusDefLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;	TYPE_NAMEI
ConstantValueTYPE_COLORTYPE_STATUSTYPE_ALL
TYPE_CATEGORYTYPE_UNDEFINED����colorLjava/awt/Color;idLjava/lang/String;idColortypecategory<init>%(Ljava/lang/String;Ljava/awt/Color;)VCodeLineNumberTableLocalVariableTablethisLchatty/UsercolorItem;
StackMapTablemr�getColor()Ljava/awt/Color;getId()Ljava/lang/String;toStringequals(Ljava/lang/Object;)ZoLjava/lang/Object;hashCode()Ihash<clinit>()VSourceFileUsercolorItem.java=U6789#�����:7$color:�R��$cat:<9;)$%��N���$allMNchatty/UsercolorItemJK�Q�java/util/HashSetjava/lang/String$mod$sub$admin$staff$turbo$broadcaster$bot$globalmod$anymod���=�java/lang/Objectjava/awt/ColorstartsWith(Ljava/lang/String;)Zchatty/gui/HtmlColorsdecode4(Ljava/lang/String;Ljava/awt/Color;)Ljava/awt/Color;length	substring(I)Ljava/lang/String;
java/util/Setcontains
chatty/HelpervalidateChanneljava/util/Objects(Ljava/lang/Object;)Ijava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)V!#$%&'()*+,)*-.)*/0)*12)*34)*56789:7;)<9=>?��*�*,�*+�+��*+���++��+�	�*+����*�+��+�	�*+���*�*��*�
�U+��+�	�*�
�<�+��*�
�(+��*�
�+��*�
�*�
�@^#$	%()#+5,F.K3\4h6m:t;|<�=�>�?�@�A�B�C�E�GA �BC�89�67D�#EFG"HI?/*��@JABCJK?/*��@NABCLK?/*��@SABCMN?]+��*�+�����@XY[ABCOPDQR?N<Ih*��`<�@`abABCS)TU?[C�Y	�YSYSYSYSYSYSYSYSY S�!�"��@VWPKʣGt��&&chatty/UsercolorManager.class���3�0b	/c/debfghibjklmlnop
q
r
s
tuvwxjy	/z{b|}~u�g��/��g�	�	�����	�	���
���	�����settingsLchatty/util/settings/Settings;dataLjava/util/List;	Signature(Ljava/util/List<Lchatty/UsercolorItem;>;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/UsercolorManager;loadFromSettings()VidLjava/lang/String;colorLjava/awt/Color;splitAtIentryi$Ljava/util/Iterator;lloadedDataLocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;
StackMapTable��saveToSettingsitemLchatty/UsercolorItem;dataToSavegetData()Ljava/util/List;*()Ljava/util/List<Lchatty/UsercolorItem;>;setData(Ljava/util/List;)VnewData+(Ljava/util/List<Lchatty/UsercolorItem;>;)VgetColor(Lchatty/User;)Ljava/awt/Color;user
Lchatty/User;wSourceFileUsercolorManager.java7?12>?java/util/LinkedListusercolors���java/util/ArrayList��������java/lang/String,�����������chatty/UsercolorItem7���34java/lang/StringBuilder����[�������7�P?customUsercolors���E�C������BC@A��������A��chatty/UsercolorManagerjava/lang/Objectjava/util/Listjava/util/Iteratorchatty/util/settings/SettingsgetList%(Ljava/lang/String;Ljava/util/List;)Viterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;lastIndexOf(Ljava/lang/String;)Ilength()I	substring(II)Ljava/lang/String;(I)Ljava/lang/String;chatty/gui/HtmlColorsdecode$(Ljava/lang/String;)Ljava/awt/Color;%(Ljava/lang/String;Ljava/awt/Color;)Vadd(Ljava/lang/Object;)ZgetId()Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;()Ljava/awt/Color;getColorString$(Ljava/awt/Color;)Ljava/lang/String;toStringputList(Ljava/util/Collection;)VgetBoolean(Ljava/lang/String;)ZtypeidColorchatty/User
getPlainColorjava/awt/ColorequalsgetNickequalsIgnoreCase
chatty/HelpermatchUserStatus"(Ljava/lang/String;Lchatty/User;)ZcategoryhasCategory!/012B3456789N*�*+�*��:	 
&;<=12>?9T��Y�L*�+��Y�	M+�N-��U-��
:�6�9�`�-�:`��:,�Y��W���*,��:2123455>6O7Y8g9y;|<�=;RY @AgBC>;DE5DFA![GH�<=zI4hJ4KzILhJ6M�!NNO�W�P?9�Z�Y�L*��M,��7,��N+�Y�-���-�����W���*�+��:CD%ELFOGYH;*%'QR=GHZ<=RS4KRSLM�NO�<!TU96�Y*�� �:P;<=5V!WX9_*�Y+� �*�!�:YZ[;<=Y4KY65Z![\9X�*��*�"�#��*��M,���,��N-�$�-�%+�&�'�_-�(�-�$�-�)+�*�+�E-�(�-�$�-�)+�,�--�(�-�$�+-�-�.�-�(�-�$�-�(���{�:Ndeg2h:iHjMlTmbngpoqzrt�u�v�x�y�{�|;*2rQR�GH�<=�]^M	�	O�-_��`aPKɣG��c���chatty/Usericon$MatchType.class���3E	2346789	:	;	<	=	>	?@CATEGORY	MatchTypeInnerClassesLchatty/Usericon$MatchType;	UNDEFINEDALLSTATUSNAMECOLOR$VALUES[Lchatty/Usericon$MatchType;values()[Lchatty/Usericon$MatchType;CodeLineNumberTablevalueOf/(Ljava/lang/String;)Lchatty/Usericon$MatchType;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>-Ljava/lang/Enum<Lchatty/Usericon$MatchType;>;SourceFile
Usericon.javaABCchatty/Usericon$MatchType$D)*)*java/lang/Enumclone()Ljava/lang/Object;chatty/Usericon5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@@@@	 !""����#X	$%"5*���#X&'()*"1*+��#X&+,-.-"�{�Y��	�Y���Y��
�Y���Y���Y���Y�	SY�SY�
SY�SY�SY�S��#YNX,/015@PKɣGM�
��	�	chatty/Usericon$Type.class���3�	klmOo9p9q	r	s	t	uv	w:xyz{|	}>~�	�?���	�@���	�A���	�B�	�C��	�D���	�E�	�F���MODTypeInnerClassesLchatty/Usericon$Type;TURBOBROADCASTERSTAFFADMINSUBADDONGLOBAL_MODBOT	UNDEFINEDcolorLjava/awt/Color;labelLjava/lang/String;shortLabelidI$VALUES[Lchatty/Usericon$Type;values()[Lchatty/Usericon$Type;CodeLineNumberTablevalueOf*(Ljava/lang/String;)Lchatty/Usericon$Type;LocalVariableTablename<init>K(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/awt/Color;)Vthis	Signature8(ILjava/lang/String;Ljava/lang/String;Ljava/awt/Color;)V
getTypeFromId(I)Lchatty/Usericon$Type;typearr$len$i$typeId
StackMapTableO<clinit>()V(Ljava/lang/Enum<Lchatty/Usericon$Type;>;SourceFile
Usericon.javaNOO���chatty/Usericon$TypeT�X�GHIJKJLMPQF=	Moderator#34ae0a���XY:=TurboTRB#6441a5>=BroadcasterBRC#e71818?=StaffSTA#200f33@=AdminADM#faaf19A=SubscriberB=AddonADDC=Global ModeratorGLM#0c6f20D=BotE=	UndefinedUDFjava/lang/Enumclone()Ljava/lang/Object;chatty/Usericon5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;(Ljava/lang/String;I)Vchatty/gui/HtmlColorsdecode$(Ljava/lang/String;)Ljava/awt/Color;@19@:=@>=@?=@@=@A=@B=@C=@D=@E=@F=GHIJKJLMNO	PQR"����S/	TUR5*���S/VWJXYR�*+�*�*�*�	*��SABCDEFV4Z=LMIJKJGH[\	]^R�)�L+�=>�+2:��������SIJKI%NV4_=!`OaM	bM)cMd�	e�fgRf&�Y

����Y����Y����Y ���!�Y"#$%���&�Y'('��)�Y*+,��-�Y./01���2�Y343��5�Y6	78���Y�SY�SY�SY�!SY�&SY�)SY�-SY�2SY�5SY	�S��S.12.3E4\5s6�7�8�9�:�/[hij<n;@PKɣGC�M�t t chatty/Usericon.class���3����������	�� �� � �������������������p�	�	�	��	��	����							
				r		r		r�	r !"	r#	r$%�&'( )*U+M,M-./U0.1.23U4u5678 9:;<=	u>	u?@A�BCDEFGHIJKLMNdOPQR	MatchTypeInnerClassesSTypeLOGGERLjava/util/logging/Logger;CACHE_TIMEI
ConstantValue	statusDefLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;SOURCE_FALLBACK
SOURCE_TWITCHSOURCE_FFZ
SOURCE_CUSTOMtypeLchatty/Usericon$Type;sourcechannelRestrictionLjava/lang/String;urlLjava/net/URL;restrictionfileNameimageLjavax/swing/ImageIcon;	matchTypeLchatty/Usericon$MatchType;categorychannelchannelInverseZcolorRestrictionLjava/awt/Color;restrictionValuestopfirstcreateTwitchIconM(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;)Lchatty/Usericon;CodeLineNumberTableLocalVariableTable	urlStringcreateTwitchLikeIconN(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;I)Lchatty/Usericon;createIconFromUrl^(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;ILjava/awt/Color;)Lchatty/Usericon;iconLchatty/Usericon;ex Ljava/net/MalformedURLException;color
StackMapTable�createCustomIcon_(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lchatty/Usericon;pathLjava/nio/file/Path;Ljava/lang/Exception;�S�TcreateFallbackIcon7(Lchatty/Usericon$Type;Ljava/net/URL;)Lchatty/Usericon;<init>J(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/net/URL;Ljava/awt/Color;I)Vthisn(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/net/URL;Ljava/awt/Color;ILjava/lang/String;Ljava/lang/String;)V�UgetIcon'(Ljava/net/URL;)Ljavax/swing/ImageIcon;3addColor@(Ljavax/swing/ImageIcon;Ljava/awt/Color;)Ljavax/swing/ImageIcon;Ljava/awt/image/BufferedImage;gLjava/awt/Graphics;	compareTo(Ljava/lang/Object;)IoLjava/lang/Object;toString()Ljava/lang/String;�typeToString*(Lchatty/Usericon$Type;)Ljava/lang/String;getColorFromType((Lchatty/Usericon$Type;)Ljava/awt/Color;<clinit>()VSourceFile
Usericon.java����java/net/URLVWX�Ychatty/Usericon��java/net/MalformedURLExceptionwxjava/lang/StringBuilder��Invalid icon url: Z[��\]Yhttp^_`a�java/lang/Stringbcdefghijkl��"java/nio/file/InvalidPathExceptionInvalid icon file: �����zm���!��nopX����$��������$stopqrst��$first����$cat:uv��#wxy��$color:z���{�|}|q}~�_��$all�}������usericon���Could not load icon: Z�java/awt/image/BufferedImage�v�������������javax/swing/ImageIcon��������/Z�(LE)���������java/util/HashSet$mod$sub$admin$staff$turbo$broadcaster$bot$globalmod$anymod�����java/lang/Objectjava/lang/Comparablechatty/Usericon$MatchTypechatty/Usericon$Typejava/lang/Exceptionjava/awt/Color
chatty/HelpercheckHttpUrl&(Ljava/lang/String;)Ljava/lang/String;(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/util/logging/LoggerwarningstartsWith(Ljava/lang/String;)Z
chatty/ChattygetImageDirectoryjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/nio/file/Pathresolve*(Ljava/nio/file/Path;)Ljava/nio/file/Path;toUri()Ljava/net/URI;java/net/URItoURL()Ljava/net/URL;trim	substring(I)Ljava/lang/String;toValidChannelcontains(Ljava/lang/CharSequence;)ZreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;length()Ichatty/gui/HtmlColorsdecode4(Ljava/lang/String;Ljava/awt/Color;)Ljava/awt/Color;CATEGORYCOLOR
java/util/Set(Ljava/lang/Object;)ZSTATUSvalidateStreamNAMEequalsisEmpty()ZALL	UNDEFINEDchatty/util/ImageCachegetImage:(Ljava/net/URL;Ljava/lang/String;I)Ljavax/swing/ImageIcon;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getIconWidth(III)VgetGraphics()Ljava/awt/Graphics;java/awt/GraphicssetColor(Ljava/awt/Color;)V()Ljava/awt/Image;	drawImageC(Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Zdispose(Ljava/awt/Image;)V(Ljava/lang/Enum;)I(Ljava/lang/String;)I(I)Ljava/lang/StringBuilder;shortLabeljava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)V!pqwxyz{I|}~�z{��z{��z{��z{����z��������������������������	���G	*+,����� 	��	��	��	���T*+,*������*�������z	����=�Y,��:�Y*+�:�:�	�Y��
,�
��� ��
�� �"�;��R
����"��=��=��=��=�z=���`�	���K	s,��,���Y,�:�(���,���:��:�Y*-+,�:�:�	�Y��
,�
���UVUV�.�����5�A�S�V�X�q��\	��5��A��S��X��s��s��s��s��� �$�������	���T�Y*+*��M,��� ���������n*+,-���
�>�����������z�����*�*+�*�*�,�,,�M*,� ,!��*�",�#M�*�"�*$� *�",�%M,�$M*,�&*-�'�(��*�)�***-�*�+�)�N�:*�,-�.�-$�/�:*�0�*�01�.�1$�/�:*�2�*�2*�34���5�*�#�6�*�67���5�*�8�9�.:���5�*�#�8�9�*�94���5�
*�;�<��*�9�
*�=�<�w�>�?�
*�@�<�`�A�
*�B�<�NC�D��E�
*�F�<�2*�G�<�(*�G�<*�6*�,*�3*�9*�0*�2���<"#	$%()*#+,,1-:/B2H3M5R6V7Y9^<c>r?zA�E�F�G�H�I�J�L�N�O�P�R�T�W�XZ]$^1_E`Wb\fogyh�i�j�k�l�m�n�o�q�t�u�v�w�x�y�z�|�R�����������������z�������5�:������� 1% %		$����0+��+HI�JM,�,��	�Y�K�
+�L����������.�� 0��0��!���	������C+�,�+��MY+�N+�N�ON-�P:,�Q+�R,�SW�T�UY-�V��"����!�'�5�:��4C��C��C��(��!"�������m+��g+�M*�)�,�)��*�)��,�)��,�*���,�*���,�*��,�*��W�,� *� �X���B�����#�%�,�.�9�;�F�H�S�_�k�� _��m��m����������T�Y�*��Y�
Z�
*��[Z�
*� �
Z�
*�,�
\�
*�)�]�^�
_�
�����T����F����	���/*�`������	���/*�a���������kO�b�c�	�dY	�YeSYfSYgSYhSYiSYjSYkSYlSYmS�n�o�>��%��trs@uv@PKʣG��qZZchatty/UsericonManager$1.class���3"	this$0Lchatty/UsericonManager;<init>(Lchatty/UsericonManager;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/UsericonManager$1;run()VSourceFileUsericonManager.javaEnclosingMethod 	!chatty/UsericonManager$1java/lang/Objectjava/lang/Runnablechatty/UsericonManagerinitaccess$000 	4*+�*��C
6*���GH
PKʣG�����!�!chatty/UsericonManager.class���3�r�u���	r���	r�r�	r�r�T������	��������	���r�	���	���	���	���	���	���	�����TTrr	r		 lr
�	�	T�		l							 	!"	#$%	&'	()*+,-r.	r/0W�1W2W3W4567W89T:5;r<=	�>?@	ATBCiD�EFGHIJKL�M5NOInnerClassesLOGGERLjava/util/logging/Logger;SETTING_NAMELjava/lang/String;
ConstantValuedefaultIconsLjava/util/TreeSet;	Signature&Ljava/util/TreeSet<Lchatty/Usericon;>;customIconsLjava/util/List;#Ljava/util/List<Lchatty/Usericon;>;settingsLchatty/util/settings/Settings;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/UsericonManager;addDefaultIcons(Ljava/util/List;)ViconLchatty/Usericon;i$Ljava/util/Iterator;iconsLocalVariableTypeTable
StackMapTableP�&(Ljava/util/List<Lchatty/Usericon;>;)Vinit()VaddFallbackIconsaddFallbackIconQType+(Lchatty/Usericon$Type;Ljava/lang/String;)VtypeLchatty/Usericon$Type;fileNamegetData()Ljava/util/List;%()Ljava/util/List<Lchatty/Usericon;>;setDatadatagetIcon<(Lchatty/Usericon$Type;Lchatty/User;)Ljavax/swing/ImageIcon;refImageLjavax/swing/ImageIcon;user
Lchatty/User;getDefaultIcon=(Lchatty/Usericon$Type;Lchatty/User;I)Ljavax/swing/ImageIcon;sourceIcustomUsericonsEnabled()ZgetCustomIcons6(Lchatty/Usericon$Type;Lchatty/User;Z)Ljava/util/List;firstZresult)Ljava/util/List<Ljavax/swing/ImageIcon;>;-O(Lchatty/Usericon$Type;Lchatty/User;Z)Ljava/util/List<Ljavax/swing/ImageIcon;>;iconMatchesUser!(Lchatty/Usericon;Lchatty/User;)ZloadFromSettingsentryToLoad
entriesToLoadcount"Ljava/util/List<Ljava/util/List;>;saveToSettingsiconToSave
entriesToSaveentryToList#(Lchatty/Usericon;)Ljava/util/List;listlistToEntry#(Ljava/util/List;)Lchatty/Usericon;idchannelexLjava/lang/RuntimeException;Rdebugaccess$000(Lchatty/UsericonManager;)Vx0<clinit>SourceFileUsericonManager.java����java/util/TreeSet}~java/util/ArrayList��������STPU�VWchatty/UsericonX�YZ[Z\Zchatty/UsericonManager$1��]^_`�icon_mod.png��a�icon_admin.pngb�icon_staff.pngc�icon_broadcaster.pngd�icon_sub.pnge�icon_turbo.pngf�icon_globalmod.pngg�icon_bot.pngchatty/gui/MainGuihijkl�mn�op���������{$ffzqr��$twitch��ffzModIconstr��u��{v�wxyz�{{|~�~�~�{�y�~�{�r�~����~������ZcustomUsericons��java/util/List��xyjava/lang/StringBuilderUsericons: Couldn't load entry �����y���Usericons: Loaded ��/��������������{��java/lang/Number����java/lang/String��java/lang/ClassCastException#java/lang/IndexOutOfBoundsExceptionDefault usericons: Custom usericons: chatty/UsericonManager�y��java/lang/Objectjava/util/Iteratorchatty/Usericon$Typejava/lang/RuntimeExceptioniterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;imagecontains(Ljava/lang/Object;)Zremoveaddjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)VMODADMINSTAFFBROADCASTERSUBTURBOGLOBAL_MODBOTjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;createFallbackIcon7(Lchatty/Usericon$Type;Ljava/net/URL;)Lchatty/Usericon;(Ljava/util/Collection;)VclearaddAll(Ljava/util/Collection;)ZequalsIgnoreCase(Ljava/lang/String;)Zchatty/util/settings/SettingsgetBooleanstopisEmptychatty/UsergetChannel()Ljava/lang/String;channelInverserestriction	matchType	MatchTypeLchatty/Usericon$MatchType;chatty/Usericon$MatchTypeALLNAMErestrictionValuegetNickCATEGORYcategoryhasCategorySTATUS
chatty/HelpermatchUserStatus"(Ljava/lang/String;Lchatty/User;)ZCOLORgetColor()Ljava/awt/Color;colorRestrictionLjava/awt/Color;java/awt/ColorequalsgetList$(Ljava/lang/String;)Ljava/util/List;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerwarning(Ljava/lang/String;)V(I)Ljava/lang/StringBuilder;size()IinfoputList%(Ljava/lang/String;Ljava/util/List;)Vjava/lang/IntegervalueOf(I)Ljava/lang/Integer;channelRestrictionget(I)Ljava/lang/Object;intValue
getTypeFromId(I)Lchatty/Usericon$Type;createCustomIcon_(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lchatty/Usericon;getName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!ruxyz{|R}~���������t(*�*�Y��*�Y��*�	*+�*���'#()#*'+�(��(��!����F+�M,�
�8,��N-�'-�� *�-��*�-�W*�-�W��ű�./%20395B7E8�*(��>��F��F���F������1�������:�Y*����CJ���"����I*��*��*��*��*� !�*�"#�*�$%�*�&'���&	Q	RST$U-V6W?XHY�I�����V*�+(,�)�*�W��\^� �����{!���6�Y*��+��a����!���k*��,*�+�-W*�.��e	fgh���������!���K�*�/��*��N-�
�r-��:�0+�[*,�1�Q��	���23�4�*+,�5:���!�26�4�*+,�5:�����*+,�5��>wx%y8z@{F|S�]�b�e�u�~��������H]��~��%a��x���������������4�������d*��7:�
�R��:�0+�:*,�1�0��8�"�8�*�9�:�������������@�V�Y�_�b��>@��	Y��d��d��d��d����	��6������4*�;�:������!���"s�Y�:*�/�c*��:�
�N��:�0+�6*,�1�,��$�<���=W�>�������&	�	��1�U�b�j�m�p��H1<��U��s��s��s��s��	j���	j�������Q�����I�+�?�@�#+�?,�A�4�+�B��+�B��+�C��+�D�E��+�D�F�+�G,�H�4�M�+�D�I�,+�J�K�6�+�D�L�+�G,�M��+�D�N�,�O+�P�Q����^����!�(�*�1�3�=�?�I�W�Y�c�n�p�z������������ ����������!"���O�*�R�SL*��,=+�N-�
�J-��T:*�U:�*��=W���V�WY�XY�Z�[�\�]����V�WY�X^�Z�_`�Z+�a�_�\�b��2����0�8�=�I�O�il��>81��09��P�������������������2����"����?�Y�L*��M,�
�,��N+*-�c�=W���*�R+�d��%1	4>�*%��"��?��7���7�������!����<�Y�M,+�0�e�f�=W,+�C�=W,+�2�=W,+�g�=W,��$/:� <��<��4������A+�h�i�j�kM+�h�lN+�h�l:+�h�l:,-�m�M�=>n=>o�(4>?�H-��"�{(�{4�{?��A��A���~�!���k9�V�WY�Xp�Z*��[�\�b�V�WY�Xq�Z*��[�\�b��#$8%�9�����/*���������%
r�s�t�V����w��@}@PKʣGGD.��chatty/Version$1.class���3SourceFileVersion.javaEnclosingMethodchatty/Version$1InnerClassesjava/lang/Objectchatty/Version 	PKʣG�!V#chatty/Version$VersionChecker.class���3�P	QRSTUVWXYZ[ \ ] ^_`abcadefghiRjklmnopthis$0Lchatty/Version;<init>(Lchatty/Version;)VCodeLineNumberTableLocalVariableTablethisVersionCheckerInnerClassesLchatty/Version$VersionChecker;run()Vx2Ljava/lang/Throwable;readerLjava/io/BufferedReader;versionUrlLjava/lang/String;inputLjava/io/InputStream;lineex Ljava/net/MalformedURLException;Ljava/io/IOException;urlLjava/net/URL;connectionLjava/net/HttpURLConnection;
StackMapTablenTWqrY_chs%(Lchatty/Version;Lchatty/Version$1;)Vx0x1Lchatty/Version$1;SourceFileVersion.java#$!"#-#http://chatty.github.io/version.txtjava/net/URL#tuvjava/net/HttpURLConnectionwxjava/io/BufferedReaderjava/io/InputStreamReader#y#z{|}-java/lang/Throwable~���java/net/MalformedURLException��Invalid version URL.��tjava/io/IOExceptionjava/lang/StringBuilder Error checking for new version: ���|�|chatty/Version$VersionCheckerjava/lang/Objectjava/lang/Runnablejava/lang/Stringjava/io/InputStreamchatty/Version$1(Ljava/lang/String;)VopenConnection()Ljava/net/URLConnection;getInputStream()Ljava/io/InputStream;(Ljava/io/InputStream;)V(Ljava/io/Reader;)VreadLine()Ljava/lang/String;close
addSuppressed(Ljava/lang/Throwable;)Vchatty/Versionaccess$100%(Lchatty/Version;Ljava/lang/String;)Vaccess$200()Ljava/util/logging/Logger;java/util/logging/Loggerwarningappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getLocalizedMessagetoString  !"#$%4*+�*��&�'(+,-%i�N�Y-�L+��M,�	:�Y�Y��
::�:�U���H:��<��4::�:	�!���:���	�*���,N��� N��Y��-�����@EH/6\/6eqvy\ge����&F�����/�6�\�e�����������������'pJ./{./,a01�23|456`63�78�79�(+�:;�<=>��H?@ABCBDEE�?@ABCDEEHE�?@ABCDEEE�?@ABCB�?FKG#J%D*+��&�' (+K"LMNO*a)HaPKʣG*�E��$chatty/Version$VersionListener.class���3
versionChecked((Ljava/lang/String;Ljava/lang/String;Z)VSourceFileVersion.javachatty/Version$VersionListenerVersionListenerInnerClassesjava/lang/Objectchatty/Version 		PKʣG�(jrchatty/Version.class���3�	!l!m$n	!o!pqrstu	vwxy
nz
{
|}~&��~�~�~�!�)�!��~�������r���InnerClassesVersionChecker�VersionListenerLOGGERLjava/util/logging/Logger;VERSIONLjava/lang/String;
ConstantValueVERSION_URL�VERSION_TEST_URL�listener Lchatty/Version$VersionListener;<init>#(Lchatty/Version$VersionListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/Version;checkForNewVersion()VversionReceived(Ljava/lang/String;)VnewVersionsplit[Ljava/lang/String;newVersionInfocurrentVersion
isBetaVersionZcompareIisNewVersion
StackMapTableC�compareVersions'(Ljava/lang/String;Ljava/lang/String;)Ivp1vp2iversion1version2v1[Iv2lengthVversionToIntArray(Ljava/lang/String;)[Iex!Ljava/lang/NumberFormatException;partpartIversionintVersion�access$100%(Lchatty/Version;Ljava/lang/String;)Vx0x1access$200()Ljava/util/logging/Logger;<clinit>SourceFileVersion.java+,?@6>45=>Checking for new version..��@java/lang/Threadchatty/Version$VersionChecker6�6��>java/lang/StringBuilder#Version checked: current:0.8.1/new:���� �B�0.8.1b��X���NO��Z[\.B����java/lang/NumberFormatExceptionchatty/Version�����java/lang/Objectchatty/Version$1chatty/Version$VersionListener#http://chatty.github.io/version.txt#http://127.0.0.1/twitch/version.txtjava/lang/Stringjava/util/logging/Loggerinfo%(Lchatty/Version;Lchatty/Version$1;)V(Ljava/lang/Runnable;)Vstartappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;((Ljava/lang/String;I)[Ljava/lang/String;endsWith(Ljava/lang/String;)Z()I	substring(II)Ljava/lang/String;versionChecked((Ljava/lang/String;Ljava/lang/String;Z)V'(Ljava/lang/String;)[Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)Ijava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!!$+,-./0./12./345678N*�*+�*��9	
 :;<45=>8N���Y�	Y*����9#$%:;<?@8^���
Y��+���+��+�M,2LN,��,2N:6���d�:6+�66��	�6*�+-��9N/014&5*6-7387<;>>?H@WAZCbDeEuGxI�K:R�;<�A.&`BC-YD.;KE.>HFGb$HIe!JGK�LM�"M�	NO84]*�M+�N-�6,�-��,�66�;66,��	,.6-��	-.6���������9JVWYZ[]#`&a)b0c6e=fCjJkLmSnU][q:R&/PI),QI?RI]S.]T.XUVSWVOXIK�YY����Z[8�5*�L+��M>+��"+2:6�6�:,O����,�#& 9.|}���#�&�(�-3�:H(\]^._I%RI5`..BC)aVK(�LY�MLYMb�cd8:*+��9:e<f.gh8��9i>8%
!�"�#��9jk'%!	!()!*	PKʣG'�x��� chatty/WhisperConnection$1.class���3SourceFileWhisperConnection.javaEnclosingMethodchatty/WhisperConnection$1InnerClassesjava/lang/Objectchatty/WhisperConnection 	PKʣG�o�:��%chatty/WhisperConnection$Events.class���3�h	ijklmnopqrs	jt	uv	wpxpynzp{|}this$0Lchatty/WhisperConnection;<init>(Lchatty/WhisperConnection;)VCodeLineNumberTableLocalVariableTablethisEventsInnerClasses!Lchatty/WhisperConnection$Events;
onJoinAttempt(Ljava/lang/String;)VchannelLjava/lang/String;onChannelJoined
onChannelLeftonJoin(Lchatty/User;)Vuser
Lchatty/User;onPartonUserAdded
onUserRemovedonUserlistCleared
onUserUpdatedonChannelMessage5(Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)VmessageactionZemotesonNoticeonInfo'(Ljava/lang/String;Ljava/lang/String;)VinfoMessage
StackMapTableonGlobalInfoonBanonRegistered()VonDisconnect(ILjava/lang/String;)VreasonI
reasonMessageonModonUnmodonConnectionStateChanged(I)VstateonSpecialUserUpdatedonConnectErroronJoinError�	JoinErrorG(Ljava/util/Set;Ljava/lang/String;Lchatty/TwitchConnection$JoinError;)VtoJoinLjava/util/Set;errorChannelerror#Lchatty/TwitchConnection$JoinError;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;	Signature[(Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;Lchatty/TwitchConnection$JoinError;)V
onRawReceivedtext	onRawSentonHosttargetonChannelCleared	onWhisper4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)V�9(Lchatty/WhisperConnection;Lchatty/WhisperConnection$1;)Vx0x1Lchatty/WhisperConnection$1;SourceFileWhisperConnection.java>#jtv��������"Whisper feature: connectedjava/lang/StringBuilderWhisper feature: Disconnected (��)��X"Z"���_chatty/WhisperConnection$Eventsjava/lang/Object�*chatty/TwitchConnection$ConnectionListenerConnectionListener!chatty/TwitchConnection$JoinErrorchatty/WhisperConnection$1java/lang/Stringequals(Ljava/lang/Object;)Zchatty/WhisperConnectionaccess$100WhisperListenerF(Lchatty/WhisperConnection;)Lchatty/WhisperConnection$WhisperListener;(chatty/WhisperConnection$WhisperListenerinfoappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;access$200*(Lchatty/WhisperConnection;Lchatty/User;)ZwhisperReceivedchatty/TwitchConnection 4*+�*��� !"5�� #$%"5�� #$&"5�� #$'(5�� )*+(5�� )*,(5�� )*-(5�� )*."5�� #$/(5�� )*01S��4 )*2$345$6"5�� 2$78f+��*��,���	��  #$9$:7"5�� 2$;"5�� 2$<(5� )*=>=*���� ?@g%*���	Y��,�
����$ % %AB%C$D(5� )*E(5� )*FG5� HBI>+� J"5�  2$KN[�$* OPQ$RSTOUVWX"F*��+��(
) Y$Z"F*��+��-
. Y$[8?�2  #$\$]"5�6 #$^_t*�+��*��+,-��:;=* )*2$5$:bD*+���  cdefg*nL~M@`n~�	pn�	PKʣGϴo��.chatty/WhisperConnection$WhisperListener.class���3whisperReceived4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)VwhisperSent"(Lchatty/User;Ljava/lang/String;)Vinfo(Ljava/lang/String;)V	onRawSent
onRawReceivedSourceFileWhisperConnection.java(chatty/WhisperConnection$WhisperListenerWhisperListenerInnerClassesjava/lang/Objectchatty/WhisperConnection	
	PKʣG��cchatty/WhisperConnection.class���3A�	A�B�	A������	A������������������F������A���A�����A����+��+��+�A�����F�A��+�������	�������InnerClasses�WhisperListenerEventsWHISPER_CHANNELLjava/lang/String;
ConstantValueDISPLAY_IN_CHATIDISPLAY_ONE_WINDOWDISPLAY_PER_USERcLchatty/TwitchConnection;listener*Lchatty/WhisperConnection$WhisperListener;settingsLchatty/util/settings/Settings;<init>L(Lchatty/WhisperConnection$WhisperListener;Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/WhisperConnection;disconnect()VsetUsericonManager(Lchatty/UsericonManager;)VmLchatty/UsericonManager;setAddressbook(Lchatty/Addressbook;)VaLchatty/Addressbook;setUsercolorManager(Lchatty/UsercolorManager;)VLchatty/UsercolorManager;getConnectionInfo()Ljava/lang/String;	isOffline()ZisAvailable	isEnabledserverport
StackMapTable�connect'(Ljava/lang/String;Ljava/lang/String;)VusernamepasswordwhisperCommand(Ljava/lang/String;Z)V	parameter	onlyReplyZsplit[Ljava/lang/String;�whisperChannelnickchannelmessagewhisper((Ljava/lang/String;Ljava/lang/String;Z)Vuser
Lchatty/User;
isUserAllowed(Lchatty/User;)Z
isUserIgnoredaccess$100F(Lchatty/WhisperConnection;)Lchatty/WhisperConnection$WhisperListener;x0access$200*(Lchatty/WhisperConnection;Lchatty/User;)Zx1SourceFileWhisperConnection.java��UVYaWXchatty/TwitchConnectionchatty/WhisperConnection$EventsY�Y�ST��`pbcfgjkmnop�pwhisperEnabled���groupChatServer��
groupChatPort�p3Whisper feature: No server/port defined (read help)��java/lang/Stringw�Whisper: Invalid parameters. ����$[whisper]��{|$������rp:Whisper feature not enabled (<Main - Settings - Advanced>)��java/lang/StringBuilder!Didn't receive any whisper from '��', use /w command�nqp#jtv/w ��������-You haven't allowed to receive whispers from ��!Can't send whisper: not connectedblockwhisper���whisperWhitelistignoredUsersWhisper�J�chatty/WhisperConnectionjava/lang/Objectchatty/WhisperConnection$1(chatty/WhisperConnection$WhisperListener9(Lchatty/WhisperConnection;Lchatty/WhisperConnection$1;)VConnectionListener`(Lchatty/TwitchConnection$ConnectionListener;Lchatty/util/settings/Settings;Ljava/lang/String;)VsetWhisperConnection(Z)VisRegisteredchatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)Z	getString&(Ljava/lang/String;)Ljava/lang/String;isEmptyinfo(Ljava/lang/String;)V^(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V((Ljava/lang/String;I)[Ljava/lang/String;equals(Ljava/lang/Object;)ZstartsWithlength()I	substring(I)Ljava/lang/String;getExistingUser3(Ljava/lang/String;Ljava/lang/String;)Lchatty/User;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringsendSpamProtectedMessage((Ljava/lang/String;Ljava/lang/String;Z)ZgetUserwhisperSent"(Lchatty/User;Ljava/lang/String;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;chatty/UserhasCategorylistContains'(Ljava/lang/String;Ljava/lang/Object;)Z*chatty/TwitchConnection$ConnectionListener!ABIJK!LMKNOMKPQMKRSTUVWXYZ[�.*�*+�*,�*�Y�Y*�,�	�*���\	%-] .^_.UV.WX`a[7	*��W�\ ]	^_bc[A	*�+�
�\#$]	^_	defg[A	*�+��\'(]	^_	hijk[A	*�+��\+,]	^_	dlmn[2*���\/]^_op[2*���\3]^_qp[2*���\8]^_rp[�4*����*��L*��M+��,����\ABDE"F0G2I] 4^_sJ"tJu
�!vvwx[�M*���C*��N*��:-����*���*�-+,���\"VWX!Y0Z;[<]L_]46sJ!+tJM^_MyJMzJu�0vv�{|[�8+�*���+�N-��*-2-2� �*���\"ijkmno,q7s]*8^_8}J8~ ��u���x[�?+!�"�*,�#�/+$�%�+�&�+�'N*-,� �*���\"�	��#�)�0�3�>�]*)�J?^_?�J?�Ju ��[Z�*�(�*�)���2*�!+�*�%*��+Y�,-�.+�./�.�0��*�1�k*�2�+Y�,3�.+�.�.,�.�0�4W*�!+�5:*�,�6*�7� *��+Y�,8�.�9�0��*�:��\>����$�E�F�M�t�������������]4�2���^_��J��J�~u	2�k��[r$+;�<��*�=��+�<���\�	�� �"�]$^_$��u��[h *�>+�?�@��*+����\���] ^_ ��u@��[/*��\]�_��[:*+��\]�_����E"CAFAG	AH��	PKˣG�HZ��(chatty/gui/AttachedWindowManager$1.class���3�	>?@ABC<D<E<F<G<H<IJKLKM<N<OKPQRQST<U	VW	VXYZ[\]^this$0"Lchatty/gui/AttachedWindowManager;<init>%(Lchatty/gui/AttachedWindowManager;)VCodeLineNumberTableLocalVariableTablethisInnerClasses$Lchatty/gui/AttachedWindowManager$1;componentMoved"(Ljava/awt/event/ComponentEvent;)VcompLjava/awt/Component;i$Ljava/util/Iterator;eLjava/awt/event/ComponentEvent;newXInewYmovedXmovedY
StackMapTable]_`SourceFileAttachedWindowManager.javaEnclosingMethodabc_defghgijkjlmnmopqrstuvwxwyz{p|}`~��java/awt/Component�r��1�1�g�����"chatty/gui/AttachedWindowManager$1java/awt/event/ComponentAdapterjava/awt/event/ComponentEventjava/util/Iterator chatty/gui/AttachedWindowManager(Ljava/awt/Component;)V()VgetComponent()Ljava/awt/Component;getX()IgetYaccess$000%(Lchatty/gui/AttachedWindowManager;)Iaccess$100access$002&(Lchatty/gui/AttachedWindowManager;I)Iaccess$102access$3003(Lchatty/gui/AttachedWindowManager;)Ljava/util/Set;access$2004(Lchatty/gui/AttachedWindowManager;)Ljava/awt/Point;getLocation"(Ljava/awt/Point;)Ljava/awt/Point;
java/util/Setcontains(Ljava/lang/Object;)Zremoveaccess$400%(Lchatty/gui/AttachedWindowManager;)Zaccess$500iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;access$600java/awt/PointxygetWidthchatty/gui/GuiUtilisPointOnScreen(Ljava/awt/Point;I)ZsetLocation(Ljava/awt/Point;)V  !4*+�*��"*#$'()!��+��=+��>*��d6*��d6*��W*��	W*��+�*����
�*��*���W�*����*���:��V��:*���`�*���`�*���l��*�������"J./01&2/385U6i7j9t:u<�=�>�?�@�B�C#R�D*+�],-�$'�./�01�21�31&�415 �j67�
8�Y�9:;<=&PKˣG��v��	�	&chatty/gui/AttachedWindowManager.class���3c	H	I	J	K	L	M	NOP	OQOR
STU	VWXYZInnerClassescomponentsLjava/util/Set;	Signature%Ljava/util/Set<Ljava/awt/Component;>;ownerLjava/awt/Component;ignoreOnce!Ljava/util/Set<Ljava/awt/Point;>;xIyenabledZtempLjava/awt/Point;temp2<init>(Ljava/awt/Component;)VCodeLineNumberTableLocalVariableTablethis"Lchatty/gui/AttachedWindowManager;attachcomp
StackMapTablesetEnabled(Z)VenableignoreLocationOnce(Ljava/awt/Point;)Vlocationaccess$000%(Lchatty/gui/AttachedWindowManager;)Ix0access$100access$002&(Lchatty/gui/AttachedWindowManager;I)Ix1access$102access$2004(Lchatty/gui/AttachedWindowManager;)Ljava/awt/Point;access$3003(Lchatty/gui/AttachedWindowManager;)Ljava/util/Set;access$400%(Lchatty/gui/AttachedWindowManager;)Zaccess$500access$600SourceFileAttachedWindowManager.java%$!"#$ &[java/util/HashSetjava/awt/Point"chatty/gui/AttachedWindowManager$1&\]^_`ab chatty/gui/AttachedWindowManagerjava/lang/Object()V%(Lchatty/gui/AttachedWindowManager;)Vjava/awt/ComponentaddComponentListener%(Ljava/awt/event/ComponentListener;)V
java/util/Setadd(Ljava/lang/Object;)Z! !"#$%$
&'(�B*�*�	Y��*�	Y��*�Y��*�Y��+�
Y*��*+��)") %!0*<FAG*B+,B-'(Y+*��*�+�W�)PQS*+,./01(>*��)[\*+,2"34(D*�+�W�)ef*+,5$67(/*��)*8,97(/*��)*8,:;(;*Z��)*8,<=;(;*Z��)*8,<>?(/*��)*8,@A(/*��)*8,BC(/*��)*8,DA(/*��)*8,E?(/*��)*8,FG
PKʣG�G���chatty/gui/Channels$1.class���3*		 !"#
val$newDialogLjavax/swing/JDialog;this$0Lchatty/gui/Channels;<init>-(Lchatty/gui/Channels;Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/Channels$1;run()VSourceFile
Channels.javaEnclosingMethod$%&	'()chatty/gui/Channels$1java/lang/Objectjava/lang/Runnablechatty/gui/Channelspopout"(Lchatty/gui/components/Channel;)Vjavax/swing/JDialogsetVisible(Z)V 	
9*+�*,�*��]7	*���ab	PKʣG���1--)chatty/gui/Channels$LocationAndSize.class���3		locationLjava/awt/Point;sizeLjava/awt/Dimension;<init>'(Ljava/awt/Point;Ljava/awt/Dimension;)VCodeLineNumberTableLocalVariableTablethisLocationAndSizeInnerClasses%Lchatty/gui/Channels$LocationAndSize;SourceFile
Channels.java	#chatty/gui/Channels$LocationAndSizejava/lang/Object()Vchatty/gui/Channels 	Y*�*+�*,��
��	�� 	PKʣGV���OO0chatty/gui/Channels$MyMouseClickedListener.class���3(	 !"#$this$0Lchatty/gui/Channels;<init>(Lchatty/gui/Channels;)VCodeLineNumberTableLocalVariableTablethisMyMouseClickedListenerInnerClasses,Lchatty/gui/Channels$MyMouseClickedListener;mouseClicked()V%/(Lchatty/gui/Channels;Lchatty/gui/Channels$1;)Vx0x1Lchatty/gui/Channels$1;SourceFile
Channels.java	&'*chatty/gui/Channels$MyMouseClickedListenerjava/lang/Objectchatty/gui/MouseClickedListenerchatty/gui/Channels$1chatty/gui/ChannelssetInitialFocus 	4*+�*��
�6*���
��D*+��
� 	 PKʣG�N����*chatty/gui/Channels$MyWindowListener.class���3m3	4567898:8;8<6=8>?ABACDEF8G8H8IJKthis$0Lchatty/gui/Channels;<init>(Lchatty/gui/Channels;)VCodeLineNumberTableLocalVariableTablethisMyWindowListenerInnerClasses&Lchatty/gui/Channels$MyWindowListener;windowClosed(Ljava/awt/event/WindowEvent;)VwindowLjava/awt/Window;eLjava/awt/event/WindowEvent;
StackMapTablewindowActivatedchannelLchatty/gui/components/Channel;LM/(Lchatty/gui/Channels;Lchatty/gui/Channels$1;)Vx0x1Lchatty/gui/Channels$1;SourceFile
Channels.javaNOPQRSTUVWXYZ[\]^#chatty/gui/Channels$LocationAndSizeLocationAndSize_`abcdefghijkl$chatty/gui/Channels$MyWindowListenerjava/awt/event/WindowAdapterchatty/gui/components/Channelchatty/gui/Channels$1()Vjava/awt/event/WindowEvent	getSource()Ljava/lang/Object;chatty/gui/Channelsaccess$500+(Lchatty/gui/Channels;)Lchatty/gui/MainGui;getChannelFromWindow3(Ljava/lang/Object;)Lchatty/gui/components/Channel;access$6007(Lchatty/gui/Channels;Lchatty/gui/components/Channel;)Vaccess$700(Lchatty/gui/Channels;)Z	getWindow()Ljava/awt/Window;access$800'(Lchatty/gui/Channels;)Ljava/util/List;java/awt/WindowgetLocation()Ljava/awt/Point;getSize()Ljava/awt/Dimension;'(Ljava/awt/Point;Ljava/awt/Dimension;)Vjava/util/Listadd(ILjava/lang/Object;)Vaccess$3006(Lchatty/gui/Channels;)Lchatty/gui/components/Channel;access$302U(Lchatty/gui/Channels;Lchatty/gui/components/Channel;)Lchatty/gui/components/Channel;access$400 4*+�*��� !�M+�*����*�*�+���*���$+�	M*���Y,�,�
������!�+�0�L� 0"#MM$%&<'!�(*�+��M,*���*�,�W*������ �'� (($%()&�'*-D*+��� ./0128+8@PKʣGL%w��+chatty/gui/Channels$TabChangeListener.class���3= $	%&'(')'*'+','-./0this$0Lchatty/gui/Channels;<init>(Lchatty/gui/Channels;)VCodeLineNumberTableLocalVariableTablethisTabChangeListenerInnerClasses'Lchatty/gui/Channels$TabChangeListener;stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;1/(Lchatty/gui/Channels;Lchatty/gui/Channels$1;)Vx0x1Lchatty/gui/Channels$1;SourceFile
Channels.java
2345678295:;<%chatty/gui/Channels$TabChangeListenerjava/lang/Object javax/swing/event/ChangeListenerchatty/gui/Channels$1()Vchatty/gui/ChannelsgetActiveTab!()Lchatty/gui/components/Channel;access$302U(Lchatty/gui/Channels;Lchatty/gui/components/Channel;)Lchatty/gui/components/Channel;setInitialFocusgetActiveChannelresetChannelTab"(Lchatty/gui/components/Channel;)Vaccess$400 
4*+�*���p,*�*���W*��*�*���*��	����$�+�,,D*+���  !"#'PKʣG�<,tFtFchatty/gui/Channels.class���3�	��	����	����	������	����	������	��	��	����	����	����	�����	��	���#��������������	���/�����	�������	��E�����;�;��;��	����	����E�E�E�	��E���������[�	���	����E�������������E�E�������E����	���������l������������	s�����	s������z������������������;��������	�	�	�	�[		3
	3��s����E�����E� E!�"�#$%	l&['([)	l*+,-LocationAndSizeInnerClassesMyWindowListenerMyMouseClickedListenerTabChangeListenerguiLchatty/gui/MainGui;windowListenerLjava/awt/event/WindowListener;changeListener"Ljavax/swing/event/ChangeListener;channelsLjava/util/HashMap;	SignatureFLjava/util/HashMap<Ljava/lang/String;Lchatty/gui/components/Channel;>;dialogsLjava/util/Map;ELjava/util/Map<Lchatty/gui/components/Channel;Ljavax/swing/JDialog;>;dialogsAttributesLjava/util/List;7Ljava/util/List<Lchatty/gui/Channels$LocationAndSize;>;tabs!Lchatty/gui/components/tabs/Tabs;defaultChannelLchatty/gui/components/Channel;styleManagerLchatty/gui/StyleManager;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;mouseClickedListener!Lchatty/gui/MouseClickedListener;defaultUserlistWidthIminUserlistWidthchatScrollbarAlawaysZlastActiveChannelsavePopoutAttributescloseLastChannelPopouthighlightedLjava/util/Set;0Ljava/util/Set<Lchatty/gui/components/Channel;>;<init>a(Lchatty/gui/MainGui;Lchatty/gui/StyleManager;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/Channels;setChangeListener%(Ljavax/swing/event/ChangeListener;)VlistenerchannelChanged()V
StackMapTablesetChannelHighlighted"(Lchatty/gui/components/Channel;)VchannelsetChannelNewMessageresetChannelTabsetChannelNewStatusaddDefaultChannel
createChannel.TypeW(Ljava/lang/String;Lchatty/gui/components/Channel$Type;)Lchatty/gui/components/Channel;nameLjava/lang/String;type$Lchatty/gui/components/Channel$Type;getComponent()Ljava/awt/Component;get3(Ljava/lang/String;)Lchatty/gui/components/Channel;key()Ljava/util/Collection;9()Ljava/util/Collection<Lchatty/gui/components/Channel;>;getChannelCount()I	isChannel(Ljava/lang/String;)ZgetChannelgetTypeFromChannelName8(Ljava/lang/String;)Lchatty/gui/components/Channel$Type;panel�getChannelOfTypegetChannelNameFromPanel3(Lchatty/gui/components/Channel;)Ljava/lang/String;i$Ljava/util/Iterator;/getChannelFromWindow3(Ljava/lang/Object;)Lchatty/gui/components/Channel;dialogLjava/lang/Object;addChannelchannelName
removeChannel(Ljava/lang/String;)Vpopoutattr%Lchatty/gui/Channels$LocationAndSize;	newDialogLjavax/swing/JDialog;��popoutActiveChannelsetSavePopoutAttributes(Z)VsavegetPopoutAttributes()Ljava/util/List;attributesLocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;0setPopoutAttributes(Ljava/util/List;)Vsplit[Ljava/lang/String;location1IntegerPairLchatty/Helper$IntegerPair;size�1'(Ljava/util/List<Ljava/lang/String;>;)VsetCloseLastChannelPopoutclosepopoutDisposedclosePopoutgetActiveChannel!()Lchatty/gui/components/Channel;getLastActiveChannelgetActiveTabcLjava/awt/Component;getPopoutChannels()Ljava/util/Map;G()Ljava/util/Map<Lchatty/gui/components/Channel;Ljavax/swing/JDialog;>;getChannelFromInputvalueinputgetChannels3()Ljava/util/List<Lchatty/gui/components/Channel;>;getChannelsOfType6(Lchatty/gui/components/Channel$Type;)Ljava/util/List;result1Ljava/util/List<Lchatty/gui/components/Channel;>;W(Lchatty/gui/components/Channel$Type;)Ljava/util/List<Lchatty/gui/components/Channel;>;getTabs<(Lchatty/gui/components/Channel$Type;)Ljava/util/Collection;chancomp](Lchatty/gui/components/Channel$Type;)Ljava/util/Collection<Lchatty/gui/components/Channel;>;getTabsRelativeToCurrent(I)Ljava/util/Collection;	direction:(I)Ljava/util/Collection<Lchatty/gui/components/Channel;>;getTabsRelativeTo8(Lchatty/gui/components/Channel;I)Ljava/util/Collection;Y(Lchatty/gui/components/Channel;I)Ljava/util/Collection<Lchatty/gui/components/Channel;>;setInitialFocus
refreshStylesswitchToChannelswitchToNextChannelswitchToPreviousChannelsetDefaultUserlistWidth(II)VwidthminWidthsetChatScrollbarAlwaysalwayssetTabOrderordersetting2TabOrder*Lchatty/gui/components/tabs/Tabs$TabOrder;2access$302U(Lchatty/gui/Channels;Lchatty/gui/components/Channel;)Lchatty/gui/components/Channel;x0x1access$400(Lchatty/gui/Channels;)Vaccess$500+(Lchatty/gui/Channels;)Lchatty/gui/MainGui;access$6007(Lchatty/gui/Channels;Lchatty/gui/components/Channel;)Vaccess$700(Lchatty/gui/Channels;)Zaccess$800'(Lchatty/gui/Channels;)Ljava/util/List;access$3006(Lchatty/gui/Channels;)Lchatty/gui/components/Channel;SourceFile
Channels.java����<���������java/util/HashMap��java/util/LinkedHashMap��java/util/ArrayList*chatty/gui/Channels$MyMouseClickedListener�3������java/util/HashSet��$chatty/gui/Channels$MyWindowListener��chatty/gui/components/tabs/Tabs��*chatty/gui/components/menus/TabContextMenu�456����%chatty/gui/Channels$TabChangeListener7�89:tabsMwheelScrolling;<	=&tabsMwheelScrollingAnywhere>&?@����javax/swing/event/ChangeEvent�ABCDA?EFGHIJKLKMFNOPQRKjava/lang/StringBuilderST*UOV�����WXchatty/gui/components/Channel�YZd[\��]&^_6�#`	a�$b��cdefgh/ijkljava/lang/StringmnopqXrsR^=�tXu�vwj��x�yK#chatty/gui/components/ChannelDialog�z{X|}0R~#chatty/gui/Channels$LocationAndSize2�����6���chatty/gui/Channels$1�����x&>?����javax/swing/JDialog�S�,�;������e���0����java/awt/Point�����djava/awt/Dimension�����j�����MNRS���java/awt/Component�K[\���jK)_�	�����n�alphabetical�K�n��chatty/gui/Channelsjava/lang/Object"chatty/gui/components/Channel$Typejava/util/Iteratorjava/util/Listchatty/Helper$IntegerPair(chatty/gui/components/tabs/Tabs$TabOrder/(Lchatty/gui/Channels;Lchatty/gui/Channels$1;)V4(Lchatty/gui/components/menus/ContextMenuListener;)VsetPopupMenu(Ljavax/swing/JPopupMenu;)VaddChangeListenerchatty/gui/MainGuigetSettings!()Lchatty/util/settings/Settings;chatty/util/settings/SettingsgetBooleansetMouseWheelScrollingEnabled%setMouseWheelScrollingAnywhereEnabledaddWindowListener"(Ljava/awt/event/WindowListener;)V(Ljava/lang/Object;)V javax/swing/event/ChangeListenerstateChanged"(Ljavax/swing/event/ChangeEvent;)VCOLOR_NEW_HIGHLIGHTED_MESSAGELjava/awt/Color;setForegroundForComponent'(Ljava/awt/Component;Ljava/awt/Color;)V
java/util/Setadd(Ljava/lang/Object;)ZcontainsCOLOR_NEW_MESSAGEgetName()Ljava/lang/String;setTitleForComponent)(Ljava/awt/Component;Ljava/lang/String;)Vremoveappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringNONEaddTab(Ljava/awt/Component;)V�(Ljava/lang/String;Lchatty/gui/components/Channel$Type;Lchatty/gui/MainGui;Lchatty/gui/StyleManager;Lchatty/gui/components/menus/ContextMenuListener;)VsetUserlistWidthsetMouseClickedListener$(Lchatty/gui/MouseClickedListener;)VsetScrollbarAlways&(Ljava/lang/Object;)Ljava/lang/Object;valuesstartsWithCHANNELWHISPERgetType&()Lchatty/gui/components/Channel$Type;keySet()Ljava/util/Set;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;
java/util/MapsetNamesetType'(Lchatty/gui/components/Channel$Type;)VsetSelectedComponentput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;	removeTabcleanUpgetTabCountisEmptyupdateStatecontainsKey3(Ljava/awt/Window;Lchatty/gui/components/Channel;)VsetLocationRelativeTo
popoutCreated(Ljavax/swing/JDialog;)V(I)Ljava/lang/Object;Ljava/awt/Point;chatty/gui/GuiUtilisPointOnScreen(Ljava/awt/Point;I)ZsetLocation(Ljava/awt/Point;)VLjava/awt/Dimension;setSize(Ljava/awt/Dimension;)V-(Lchatty/gui/Channels;Ljavax/swing/JDialog;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)Vclearjava/util/CollectiongetX(I)Ljava/lang/StringBuilder;getYgetWidth	getHeightxyheight'(Ljava/lang/String;)[Ljava/lang/String;
chatty/HelpergetNumbersFromString/(Ljava/lang/String;)Lchatty/Helper$IntegerPair;ab'(Ljava/awt/Point;Ljava/awt/Dimension;)VdisposeisActivegetSelectedComponent(Ljava/util/Map;)VgetInput(()Lchatty/gui/components/ChannelEditBox;(Ljava/util/Collection;)VgetAllComponents
containsValue
getComponents-(Ljava/awt/Component;I)Ljava/util/Collection;requestFocusInWindowsetSelectedNextsetSelectedPrevious	INSERTIONhashCodeequalsALPHABETICsetOrder-(Lchatty/gui/components/tabs/Tabs$TabOrder;)V!����������������������������������������������8���Y�*�*�Y�	�*�Y��
*�Y��*�Y*��*��*�*�*�Y��*�Y*��*�Y��*��Y-�� *,�!*-�"*+�*��#Y*�$�%*�+�&'�(�)*�+�&*�(�++*��,*�-��VK(-2%72<9=>?CHNL[MfNuOzPQ�R�S�T�U�X�Y�*���������������>*+�.��\]��������T*�.�*�.�/Y*�0�1��`ac�������h*�2+�*�+�3�4*�+�5W��lmnp���������f!*�2+�*�+�6�*�+�7�4��yz |�!��!��� ���a!*�+�4*�++�8�9*�+�:W���	�� ��!��!�����l'*�2+�!*�+�;Y�<+�8�=>�=�?�9����&��'��'���&���K**@�A�B�C*�*�C�D���
���������4�EY+,*�*�!*�"�FN-*�*��G-*��H-*�I�J-����"�*�2��*4��4��4������/*��������@*�+�K�E���������2*��L��������2*��M������	�_+��*�+�K�������������@�?*+*+�N�O���������l+P�Q��R�+S�Q��T��A���	�
���������
��{*�+�K�EN-�*+,�UN-�������*������

������'*�+�K�EN-�
-�V,�-�-�*+,�U��������%��*'��'��'��
��	���3*��W�XM,�Y�,�Z�[N*�-�K+�-������� �,�.�1��* �
$3��3
���
 ���D*�
�\�XM,�Y� ,�Z�EN*�
-�]+�-����+*��*�2����"�0�2�5�=�B��*"��&D��D�
�"����Y*�+�K��*�C�*�CN*�C-+�^-,�_*��!*+,�BN*�-�D,�T�*�-�`*�+-�aW-��:
#(/6>EMW�4
�Y��Y�Y��6#
��
!��z*�+�K�EM,��*�+�bW*,�c*�,�d,�e*��f�G*�
�g�*�h�*�-�**�
�\�i�Z�E�c*�*�*��j��>#$%'()'*+,5-H.O0i2n3r4y6� z��z�n����6��M�+��*�
+�k��*��f��*�+�d�lY*�+�mM,*��n,*��o*�,�p*��q�,*��r�sN-�t�u�,-�t�v,-�w�x*�
+,�yW�zY*,�{�|*��}��R?@BCEFH'K4L<MDNLQXRfSqTyV�Y�]�e�f�*f������4n !�
�Y"#�$��K*�~�**�~���ijl����%&�\*��*�����op	qs���'��()�zӻY�L*�
����M,�Y�L,�Z��N+�;Y�<-������=-������=-������=-�����?��W���*���M,�Y�X,�Z�sN+�;Y�<-�t������=-�t������=-�w������=-�w�����?��W���+��"~*�f�i��������>*<!R�Hs^����*�+�*,��-�Q�	�]./�W�*���+��M,�Y�x,�Z�[N-����-���:�����2��:2��:�;�6*��sY��Y��������Y����������W�����6
�	�#�'�*�2�9�<�E�N�X������H2Y01EF25N=65#h�~����*�+�*,���7�8�N��9:&�>*�h�������;�<���@+��*�
+��W*�C�*�*�C�d*�C*�+�D*�+�`*��}��*�����"�'�/�7�?��@��@���!=���++��*�
+�k��*�
+����M,��*+���"�����!�%�*�� +��+��!!�
>?��?*�
�\�XL+�Y�%+�Z�EM*�
,�]�����,����*�2���"�5�7�:�� "��+?����'�@?�L*��*�2�*����������A?�d*���L+�E�+�E����������BC��DEF�6�Y*�
��������GH��U*�C�+*�C���*�C�*��W�XM,�Y�),�Z�[N*�-�K�E:+���������"7DMPS�4DI�7�$/U��UJ�
�+�K)�0*���� ����LMN��T�Y*+����M*��L��N-�Y�2-�Z�E:+��V+�,���,��W���,��*
+.-F.O0R1�4.!B�8T��T��
GO�+
GOP��-� ���QR�0*����5����RS�c�Y�M*�����N-�Y�F-�Z��:�E:+��V+�*����*�C�,�E��W���,��9:);0<R>^@aA�>0.T�)5UCLc��c��[O�+[OP��-�'D���VWX�>**�2����E���Y��Z[\��K�Y�N*�+����:�Y�*�Z��:*����-�E��W���-��IJ.K:LFNIO�>.UC1K��KT�KY�CO�+COP��--��]^��7	*�~��W��ST�	��_���%*����L+�Y�+�Z�EM,������WX!Y$Z� ��%�����`�Z*+���*�*+���`��]^`������a��6*�����cd���b��6*�����gh���cd�r*�*�*�C�*�C�G��klmpr� ��e�f��g&��=*�I*��L��M,�Y�,�Z�EN-�J���*�C�*�C�J��uv%w*x-y4z<|�*%T�=��=h����i��M��M+N6-���&��-����6���M*�,�����@�D�L�� M��Mj�Ikn�� o7�pq�;*+Z����r�s�tu�/*����r�vw�/*����r�xy�:*+����r�s�z{�/*����r�|}�/*����r�~�/*����r����Bs������#��z�E�@34	lm@PKˣG1�M�++chatty/gui/GuiUtil$1.class���3+	 !"#val$dialogLjavax/swing/JDialog;<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/GuiUtil$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileGuiUtil.javaEnclosingMethod$%	&java/awt/event/WindowEvent'()*chatty/gui/GuiUtil$1javax/swing/AbstractActionchatty/gui/GuiUtilinstallEscapeCloseOperation()V(Ljava/awt/Window;I)Vjavax/swing/JDialog
dispatchEvent(Ljava/awt/AWTEvent;)V0	4*+�*��
2N*��Y*�ɷ��
69PKˣGo��l��chatty/gui/GuiUtil$2.class���3&	val$dLjavax/swing/JDialog;<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/GuiUtil$2;run()VSourceFileGuiUtil.javaEnclosingMethod !"	#$%chatty/gui/GuiUtil$2java/lang/Objectjava/lang/Runnablechatty/gui/GuiUtilshowNonAutoFocusOptionPaneP(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/Object;)Ijavax/swing/JDialogsetFocusableWindowState(Z)V0	4*+�*��X
7	*���\]
	PKˣG�)#��!�!chatty/gui/GuiUtil.class���3�j�������	b�t����������������������	�	b	b
!�	!	!	!	!	!(	!	1� 1!"#$%1&'()*+,-+./@0123B4b5267829:;<:=>?@ABCDEFGBH	bIJKLBMNO1PKQRSbTUV�WXYZK[	b\	b]	b^	b_`abInnerClassesLOGGERLjava/util/logging/Logger;NORMAL_BUTTON_INSETSLjava/awt/Insets;SMALL_BUTTON_INSETSSPECIAL_BUTTON_INSETSSPECIAL_SMALL_BUTTON_INSETSCLOSE_DIALOG_ACTION_MAP_KEYLjava/lang/String;
ConstantValue
ESCAPE_STROKELjavax/swing/KeyStroke;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/gui/GuiUtil;installEscapeCloseOperation(Ljavax/swing/JDialog;)VdialogLjavax/swing/JDialog;
closingActionLjavax/swing/Action;rootLjavax/swing/JRootPane;showNonAutoFocusOptionPaneP(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/Object;)IiIparentLjava/awt/Component;titlemessagemessageTypeoptionTypeoptions[Ljava/lang/Object;pLjavax/swing/JOptionPane;dvalueLjava/lang/Object;
StackMapTablecd��ebisPointOnScreen(Ljava/awt/Point;I)ZLjava/awt/Point;xOffsetmoved(Ljava/awt/Point;)ZscreenLjava/awt/GraphicsDevice;arr$[Ljava/awt/GraphicsDevice;len$i$screens��makeGbc#(IIII)Ljava/awt/GridBagConstraints;xywh$(IIIII)Ljava/awt/GridBagConstraints;anchorgbcLjava/awt/GridBagConstraints;debugLineContents(Ljavax/swing/text/Element;)Vex'Ljavax/swing/text/BadLocationException;lLjavax/swing/text/Element;linedocLjavax/swing/text/Document;fg'hasRetinaDisplay()ZscaleobjsetFontSize(FLjava/awt/Component;)Vc[Ljava/awt/Component;fontSizeF	component�hsetLookAndFeel(Ljava/lang/String;)VlafLjava/lang/Exception;lafCodeNupdateLookAndFeelframeLjava/awt/Frame;[Ljava/awt/Frame;�(Ljava/awt/Window;)VchildWindowLjava/awt/Window;[Ljava/awt/Window;window�<clinit>SourceFileGuiUtil.javayzchatty/gui/GuiUtil$1y�eijklmwxnopqrsotjavax/swing/JOptionPaneyuvwxyz{|{chatty/gui/GuiUtil$2}~�{��java/awt/Point����y�������������������java/awt/GridBagConstraints����������java/awt/Insetsy��pg�����[�������java/lang/StringBuilder'������f����%javax/swing/text/BadLocationExceptionBad location��]���apple.awt.contentScaleFactor��java/lang/Float��java/awt/Containerc�������������d��system��	jgwindows	jgplasticjgplastic3djgplasticxp���-com.jgoodies.looks.windows.WindowsLookAndFeel-com.jgoodies.looks.plastic.PlasticLookAndFeel/com.jgoodies.looks.plastic.Plastic3DLookAndFeel/com.jgoodies.looks.plastic.PlasticXPLookAndFeel��mnSetting LAF to �����java/lang/ExceptionFailed setting LAF: ��������������chatty/gui/GuiUtil�����opqprpsp���java/lang/Objectjava/awt/Componentjava/lang/Stringjavax/swing/JDialogjavax/swing/text/Documentjavax/swing/text/Elementjava/lang/ThrowablegetRootPane()Ljavax/swing/JRootPane;javax/swing/JRootPanegetInputMap(I)Ljavax/swing/InputMap;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)V(Ljava/lang/Object;II)VsetOptions([Ljava/lang/Object;)VcreateDialog=(Ljava/awt/Component;Ljava/lang/String;)Ljavax/swing/JDialog;setAutoRequestFocus(Z)VsetFocusableWindowStatejavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)VsetVisiblegetValue()Ljava/lang/Object;(II)Vjava/awt/GraphicsEnvironmentgetLocalGraphicsEnvironment ()Ljava/awt/GraphicsEnvironment;getScreenDevices()[Ljava/awt/GraphicsDevice;java/awt/GraphicsDevicegetDefaultConfiguration"()Ljava/awt/GraphicsConfiguration;java/awt/GraphicsConfiguration	getBounds()Ljava/awt/Rectangle;java/awt/Rectanglecontainsgridxgridy	gridwidthgridheight(IIII)VinsetsgetDocument()Ljavax/swing/text/Document;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintgetElementCount()IgetElement(I)Ljavax/swing/text/Element;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getStartOffsetgetEndOffsetgetText(II)Ljava/lang/String;toString()Ljava/lang/String;printlnjava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;getDesktopProperty&(Ljava/lang/String;)Ljava/lang/Object;intValuegetTreeLock
getComponents()[Ljava/awt/Component;getFont()Ljava/awt/Font;
java/awt/FontderiveFont(F)Ljava/awt/Font;setFont(Ljava/awt/Font;)VhashCodeequals(Ljava/lang/Object;)Zjavax/swing/UIManagergetSystemLookAndFeelClassName$getCrossPlatformLookAndFeelClassNamejava/util/logging/Loggerinfo-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningjava/awt/Frame	getFrames()[Ljava/awt/Frame;java/awt/WindowgetOwnedWindows()[Ljava/awt/Window;updateComponentTreeUI(Ljava/awt/Component;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;javax/swing/KeyStrokegetKeyStroke(II)Ljavax/swing/KeyStroke;!bjmnopqprpsptuvwxyz{/*��|$}~	��{t&�Y*�L*�M,���,�	+��|2	<=@%A} &��	����	��{Ab�Y,�:�
*+�:���Y����:6		��	2�	��	����|6
Q
RST#U)X5_;aBbMcWdZb`g}fE��	b��b�ub�ub��b��b��
U��E��B ���%�E��������	��{Y�Y*�`*��M,��|tu} ������	��{�4��L+M,�>6� ,2:��*��������|��*�,�2�}>��	)��&��#��4��-��������	��{R
� �|�}*��������	��{�;�!Y�":�#�$�%�&�'�(Y�)�*�|"�	����!�(�8�}>;��;��;��;��;��	2��	��{ u*�+L�,-�.=*�/�T*�0N�,�1Y�23�4+-�5-�6-�5d�7�43�4�8�.�
:�,:�;�����,<�;�#Y\9|.����#�Y�\�^�f�l�t�}4^��#C��[��u��n���#���J����	�	��{}%�=>�?K*�@�*�@�A<����|�	���#�}��	����!�@�	��{V"���+�B�>+�CYM�+�B�DN-�66�-2:"�E����,ç:,��++�F"�G�H�?BBFB|*�����1�7�=�I�U�}>1�� ��!��$��V��V��� �����D�	��{�L*M>,�I�u�^��@�r/2�B�Nw;��\w;��j,J�K�=>�8,L�K�/>�*,M�K�!>�,N�K�>�,O�K�>�C$+17=�PL�QL�RL�SL�
TL��UL�V�1Y�2W�4+�4�8�X+�Y�L�V�1Y�2[�4+�\�8�]���Z|N�����������������������������������} ��u����u�(�<��



$����	�z{��^K*�<=�*2N-�_����|����}*������	���
�	����{�$*�`L+�=>�+2:�_����*�a�|����#�}4��������$���
����z{�Vb�c�d�V�(Y�)�e�(Y�)�f�(Y�)�g�(Y�)�h�i��|&(),*<+L.��lPKʣGz�{{1chatty/gui/Highlighter$HighlightItem$Status.class���3n	L	MNO6P$Q$R%ST	U+V	W,X	Y-Z	[.\	]/^	_0`	a1b	c2d	efMODh
HighlightItemInnerClassesStatus-Lchatty/gui/Highlighter$HighlightItem$Status;SUBSCRIBERBROADCASTERADMINSTAFFTURBOANY_MODGLOBAL_MODBOTidLjava/lang/String;$VALUES.[Lchatty/gui/Highlighter$HighlightItem$Status;values0()[Lchatty/gui/Highlighter$HighlightItem$Status;CodeLineNumberTablevalueOfA(Ljava/lang/String;)Lchatty/gui/Highlighter$HighlightItem$Status;LocalVariableTablename<init>((Ljava/lang/String;ILjava/lang/String;)Vthis	Signature(Ljava/lang/String;)Vaccess$000A(Lchatty/gui/Highlighter$HighlightItem$Status;)Ljava/lang/String;x0<clinit>()V?Ljava/lang/Enum<Lchatty/gui/Highlighter$HighlightItem$Status;>;SourceFileHighlighter.java34566ij+chatty/gui/Highlighter$HighlightItem$Status;k?lm?@%*s+*b,*a-*f.*t/*M0*g1*r2*java/lang/Enumm$chatty/gui/Highlighter$HighlightItemclone()Ljava/lang/Object;5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;(Ljava/lang/String;I)Vchatty/gui/Highlighter@0$@%*@+*@,*@-*@.*@/*@0*@1*@2*3456	789"����:�	;<95*���:�=>4?@9H*+�*-��:���=A*34BCDE9/*��:�=F*GH9�̻Y	���Y
���Y���Y���Y���Y���Y���Y�� �Y!"��#	�Y�SY�SY�SY�SY�SY�SY�SY� SY�#S��:�K���BIJK(&g'&)@PKʣG��+��*chatty/gui/Highlighter$HighlightItem.class���3yi���	h�	h�	h�	h�h����������h�����������	h����	h��h�	h��	h��	����	h��h���	h��	h����	h��h���	h�l�l��������h�����	h	h		h 	h
I	��h	l 	l!"	l#$	l%&	l'(	l)*	l+,	l-.	l/01
HighlightItemInnerClasses2StatususernameLjava/lang/String;patternLjava/util/regex/Pattern;
caseSensitivecaseInsensitivestartsWithcategorynotChannelsLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;channelschannelCategorychannelCategoryNotcategoryNotcolorLjava/awt/Color;noNotificationZnoSound
appliesToInfo	statusReq>Ljava/util/Set<Lchatty/gui/Highlighter$HighlightItem$Status;>;statusReqNot<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis&Lchatty/gui/Highlighter$HighlightItem;itempreparestatus
StackMapTableparseStatus(Ljava/lang/String;Z)Vs-Lchatty/gui/Highlighter$HighlightItem$Status;arr$.[Lchatty/gui/Highlighter$HighlightItem$Status;len$Ii$shouldBe�2parsePrefix8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;prefixsplit[Ljava/lang/String;�parseListPrefix'(Ljava/lang/String;Ljava/lang/String;)V	parseListpartlistsplit203compilePatternex(Ljava/util/regex/PatternSyntaxException;
patternStringmatches4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)Zuser
Lchatty/User;text
lowercaseTextcheckStatus(Lchatty/User;Ljava/util/Set;)ZreqorLocalVariableTypeTableN(Lchatty/User;Ljava/util/Set<Lchatty/gui/Highlighter$HighlightItem$Status;>;)ZgetColor()Ljava/awt/Color;()ZSourceFileHighlighter.java�4java/util/HashSetvwzw�w�w��356re:t789:;��w:java/lang/StringBuilder(?i).*\b<=\b.*>6wcs:.*\bcs:rostart:?6tocat:��uo!cat:}ouser:@AB?Cnochan:��!chan:chanCat:{o	!chanCat:|ocolor:DEF~status:��!status:config:soGHIJKLMNO �P��,�QR�SOTUVsilent��!notify��info��WXYpq&java/util/regex/PatternSyntaxExceptionZ[\Invalid regex: ]6^_�`ab��cdoe7f6KOeg��h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�$chatty/gui/Highlighter$HighlightItemjava/lang/Object+chatty/gui/Highlighter$HighlightItem$Statusjava/lang/String()Vtrim()Ljava/lang/String;(Ljava/lang/String;)Zlength()I	substring(I)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringtoLowerCasejava/util/LocaleENGLISHLjava/util/Locale;&(Ljava/util/Locale;)Ljava/lang/String;chatty/gui/HtmlColorsdecode$(Ljava/lang/String;)Ljava/awt/Color;values0()[Lchatty/gui/Highlighter$HighlightItem$Status;access$000A(Lchatty/gui/Highlighter$HighlightItem$Status;)Ljava/lang/String;contains(Ljava/lang/CharSequence;)Z
java/util/Setadd(Ljava/lang/Object;)Z((Ljava/lang/String;I)[Ljava/lang/String;'(Ljava/lang/String;)[Ljava/lang/String;isEmptyequals
chatty/Helper	toChannel&(Ljava/lang/String;)Ljava/lang/String;java/util/regex/Patterncompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;chatty/gui/Highlighteraccess$100()Ljava/util/logging/Logger;getLocalizedMessagejava/util/logging/Loggerwarningmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/Matcherchatty/UsernickhasCategorygetChannel'(Ljava/lang/String;Ljava/lang/String;)ZMODisModeratorSUBSCRIBERisSubscriberADMINisAdminSTAFFisStaffBROADCASTER
isBroadcasterTURBOhasTurboGLOBAL_MODisGlobalModBOTisBotANY_MOD hinopqrosotouovwxyzwxy{o|o}o~�������wx��wx�����6*�*�Y��*�Y��*�Y��*�Y��*+�������%�0�5��6��6�o�����+�	L+��+��*+�
���+��.+��&*�Y��+�
�����~+��.+��&*�Y��+�
�����J+��+��*+�
��-+��+��*+�
���+��**+����+ ��**+ ��!��+"��**+"��#�$�%��+&��
*+&�'��+(��
*+(�'��+)��**+)��*��++��**++��,�l+-��**+-��.�/�R+0��*+0�M*,�1�8+2��*+2�M*,�1�+3��
*+3�'�*+��4���%���"�3�V�g����������������������'�0:CQZhq���	����
����*��o��o�����o�"33!����J�5N-�66�:-2:+�6�7�"�*��8W�*��8W���ű�$ (!7#CI'�H+��E��A��>��J��J�oJ������+������� +9�:N-��*-2�-2,��
��3479�* �� �o �o��������N**+,�,�;��=>� ���o�o���|�+<�=N-:�66��2:�>�u,&�?�*��@�8W�Z,(�?�*��@�8W�?,3�?�6A�?�*�B�$C�?�*�D�E�?�*�F���u��BHI J(K1LCMLN^OgPqQyR�S�T�U�I�Z�R z�o��������������o��o����)�������0�������)*+�G�H� M�J�Y�K�,�L���M�I�cfde(g� ��)��)�o�K����	2*�H�*�H,�N�O��*��,*��7��*�4�-*�4�7��*��-*����+�*�F�+�*�F��*�%�*�%+�P�?��*��+*��Q��*�!�+*�!�Q��*��R�*�+�S�T��*��R�*�+�S�T��*�*�+*�*+�S�U��*�,�+*�,+�S�U��*+*��V��*+*��V����~tuw)x+z={?}Q~S�W�\�g�i�~������������������������� �"�.�0��*2��2��2�o2�o�

�����,�R��,*���>,�W�T�+�X��,�Y�T�+�Z��,�[�T�+�\��,�]�T�+�^��,�_�T�+�`��,�a�T�+�b��,�c�T�+�d��,�e�T�+�f��,�g�T�(+�\�+�`�+�d�+�X�+�^������Z�	���,�.�A�C�V�X�k�m����������������������*��������w��������@�.@x����/*�/���������/*�D���������/*�B��������khjlhm@PKʣGxB�*��chatty/gui/Highlighter.class���3	=�@���	=���	=����������
�����	=��������������	=�	=�=���=�	=�	=�	=�
���������	��=���8���=��������6��8�'��������
HighlightItemInnerClassesLOGGERLjava/util/logging/Logger;LAST_HIGHLIGHTED_TIMEOUTI
ConstantValue'lastHighlightedLjava/util/Map;	Signature3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;itemsLjava/util/List;8Ljava/util/List<Lchatty/gui/Highlighter$HighlightItem;>;usernamePatternLjava/util/regex/Pattern;lastMatchColorLjava/awt/Color;lastMatchNoNotificationZlastMatchNoSoundhighlightUsernamehighlightNextMessages<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/gui/Highlighter;update(Ljava/util/List;)VitemLjava/lang/String;i$Ljava/util/Iterator;newItemsLocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;
StackMapTable�'(Ljava/util/List<Ljava/lang/String;>;)VsetUsername(Ljava/lang/String;)Vex(Ljava/util/regex/PatternSyntaxException;username�setHighlightUsername(Z)VhighlightedsetHighlightNextMessages	highlightcheck"(Lchatty/User;Ljava/lang/String;)ZfromUser
Lchatty/User;textgetLastMatchColor()Ljava/awt/Color;getLastMatchNoNotification()ZgetLastMatchNoSoundcheckMatch&Lchatty/gui/Highlighter$HighlightItem;user
lowercaseText�addMatchfromUsernamehasRecentMatch(Ljava/lang/String;)ZclearRecentMatchesitEntryOLjava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Long;>;>;access$100()Ljava/util/logging/Logger;<clinit>SourceFileHighlighter.javaCDYZjava/util/HashMapIJjava/util/ArrayListMN��Z������java/lang/String�$chatty/gui/Highlighter$HighlightItemYm��PQjava/lang/StringBuilder(?i).*\b��\b.*�����&java/util/regex/PatternSyntaxExceptionInvalid regex for username: ����mWUXU�x����mRSTUVU���������}���c�����������Z�java/util/Map$Entry�java/lang/Long�Zchatty/gui/Highlighter�	java/lang/Objectjava/util/Iteratorjava/util/Listcleariterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;isEmptyadd(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/regex/Patterncompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;getLocalizedMessagejava/util/logging/Loggerwarningchatty/UsergetNicktoLowerCasematcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/Matchermatches4(Lchatty/User;Ljava/lang/String;Ljava/lang/String;)ZgetColornoNotificationnoSoundnickjava/lang/SystemcurrentTimeMillis()JvalueOf(J)Ljava/lang/Long;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;containsKeyentrySet()Ljava/util/Set;
java/util/SetgetValue	longValueremovejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!=@CDEFGHIJKLMNKOPQRSTUVUWUXUYZ[Q*�*�Y��*�Y���\�]^_`a[�D*��	+�M,��-,��
N-�-��*��Y-��W��б\0	1#2.3@5C6]*#bc3deD^_DfNgDfhi�j/�Kklm[�Q+�*��G*�Y��+������%M��Y��,����*��+.\">?D+H.E/FKGPJ] /!noQ^_Qpciaq!rs[>*��\RS]^_tUus[>*��\VW]^_vUwx[q*+,� �+�*+�!�"��\Z	[
\^`] ^_yz{ci|}[/*�#�\j]^_~[/*�$�\n]^_�[/*�%�\r]^_�x[I�*�#*�$*�%,�&N*��*��*�,�'�(��*��:��:��:+,-�)� *�*�#*�+�$*�,�%����*��+�*+�-�.���\B����0�2�S�^�g�p�y�{�~�����]>S(b�=Ade�^_��z�{c��ci�2��j=��m[J*�+�/�0�1W�\��]^_�c��[G*�2*�+�3�\��]^_�c�Z[�A*��4�5L+��+�/+��6�7�8�9e:����+�<��ұ\���7�@�]A^_2�eg2��i	�j0��[��\�Z[%
=�>�?��\��B=A6��	PKˣG`���"�"chatty/gui/HtmlColors.class���3�!		� 
��	�� !�"�#$%?�&�'()*+,-*.*/	0	1�23456�789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������defaultColorLjava/awt/Color;colorsLjava/util/ArrayList;	Signature.Ljava/util/ArrayList<Lchatty/gui/NamedColor;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/gui/HtmlColors;getNamedColorString$(Ljava/awt/Color;)Ljava/lang/String;cLchatty/gui/NamedColor;i$Ljava/util/Iterator;color
StackMapTable�add(Ljava/lang/String;III)VnameLjava/lang/String;rIgb(III[Ljava/lang/String;)Vnames[Ljava/lang/String;
getNamedColor+(Ljava/lang/String;)Lchatty/gui/NamedColor;getNamedColors()Ljava/util/List;+()Ljava/util/List<Lchatty/gui/NamedColor;>;decode4(Ljava/lang/String;Ljava/awt/Color;)Ljava/awt/Color;ex!Ljava/lang/NumberFormatException;4�$(Ljava/lang/String;)Ljava/awt/Color;setDefaultColor(Ljava/awt/Color;)V
getBrightness(Ljava/awt/Color;)IgetBrightnessDifference#(Ljava/awt/Color;Ljava/awt/Color;)Ic1c2b1b2correctReadability2(Ljava/awt/Color;Ljava/awt/Color;)Ljava/awt/Color;foregroundbackgroundbdmakeBrighter#(Ljava/awt/Color;F)Ljava/awt/Color;factorFredgreenbluehsb[FmakeDarkergetColorString<clinit>SourceFileHtmlColors.java�����������chatty/gui/NamedColor�������������java/util/ArrayList�������java/lang/NumberFormatException������������������������
#%02x%02x%02xjava/lang/Object���������White��Silverjava/lang/StringGrey Gray��BlackRedMaroonYellowOliveLimeGreenAquaCyanTealBlueNavyFuchsiaMagentaPurplePink	LightPinkHotPinkDeepPink
PaleVioletRedMediumVioletRedLightSalmonSalmonDarkSalmonLightCoral	IndianRedCrimson	FirebrickDarkRed	OrangeRedTomatoCoralDarkOrangeOrangeGoldLightYellowLemonChiffonLightGoldenrodYellowPapayaWhipMoccasin	PeachPuff
PaleGoldenrodKhaki	DarkKahkiCornsilkBlanchedAlmondBisqueNavajoWhiteWheat	BurlyWoodTan	RosybrownSandyBrown	Goldenrod
DarkGoldenrodPeru	ChocolateSaddleBrownSiennaBrownDarkOliveGreenOlveDrabYellowGreen	LimeGreen	LawnGreenChartreuseGreenYellowSpringGreenMediumSpringGreenLightGreen	PaleGreenDarkSeaGreenMediumSeaGreenSeaGreenForestGreen	DarkGreenMediumAquamarine	LightCyan
PaleTurquoiseAquamarine	TurquoiseMediumTurquoise
DarkTurquoise
LightSeaGreen	CadetBlueDarkCyanLightSteelBluePowderBlue	LightBlueSkyBlueLightSkyBlueDeepSkyBlueDodgerBlueCornflowerBlue	SteelBlue	RoyalBlueMediumBlueDarkBlueMidnightBlueLavenderThistlePlumVioletOrchidMediumOrchidMediumPurpleBlueVioletDarkVioletDarkMagentaIndigo
DarkSlateBlue	SlateBlueMediumSlateBlueSnowHoneydew	MintCreamAzure	AliceBlueGhostWhiteWhiteSmokeSeashellBeigeOldLaceFloralWhiteIvoryAntiqueWhiteLinen
LavenderBlush	MistyRose	Gainsboro	LightGrey	LightGrayDarkGreyDarkGrayDimGreyDimGrayLightSlateGreyLightSlateGray	SlateGrey	SlateGray
DarkSlateGrey
DarkSlateGraychatty/gui/HtmlColorsjava/util/Iteratorjava/awt/Coloriterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;equals(Ljava/lang/Object;)ZgetName()Ljava/lang/String;([Ljava/lang/String;III)VhasName(Ljava/lang/String;)Z(Ljava/util/Collection;)VgetRed()IgetGreengetBluejava/lang/Mathabs(I)IRGBtoHSB	(III[F)[FgetHSBColor(FFF)Ljava/awt/Color;java/lang/IntegervalueOf(I)Ljava/lang/Integer;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;toUpperCaseBLACK!�!J���������/*���
���	����5*����L+��+��M,*��,�����*�	����� �(�-�0��  
��
#��5���
������_��Y*��W�����*������������_��Y-��W�����*��������	����)��L+��+��M,*�
�,��������"�$�'�� �� ��)������	���#�Y�������	����*�+�*�M,�*�M�N+�,��&	����������*��������������	���2*�������	���3*������	���H*�+h*�Kh`*�rh`�l�����	���^*�=+�>d��"#$�*����	����	����,*+�=�2�+���
*�K�*�K*��4567#:*F� ,��,��&����#	���*v*�=*�>*�6�:0��BĄ�Ą�Ą����6���=���>�:00#0bj���BRSTUW#X)Y/Z5[=\B^I_MaTbXdbf�>v��v��q��l��f�\��B� 		��b *�*�*��M,0,0#,0j���jk�  �� ��	��U+ �!Y*��"SY*��"SY*��"S�#�$��p�+����	�~�%��Y�&�'����()����(����*Y+SY,S�-.�(/��(0��(1���(2���(3��(4��(���*Y5SY6S�-7���(8��(9��(���*Y:SY;S�-<���(=��˸(>����(?�i��(@���(A�p��(B���(C��z�(D��r�(E��z�(F����(G�\\�(H�<�(I�""�(J��(/��(K�E�(L�cG�(M�P�(N���(O���(P���(Q���(R��͸(S��Ҹ(T��ո(U����(V����(W����(X����(Y��k�(Z��ܸ([��͸(\��ĸ(]����(^����(_����(`����(a����(b��`�(c�� �(d���(e��?�(f�i�(g�E�(h�R-�(i�**�(0��(jUk/�(kk�#�(l��2�(m2�2�(n|��(o��(p��/�(q��(r���(s����(t����(u����(v<�q�(w.�W�(x"�"�(yd�(zf���(6���({����(|���(}�Ը(~@�и(H�̸(��Ѹ(� ���(�_���(����(���޸(����(����(����(�����(����(����(�d��(�F���(�Ai�(�͸(���(�p�(�����(���ظ(���ݸ(����(��pָ(;���(��UӸ(��p۸(��+�(��Ӹ(����(�K��(�H=��(�jZ͸(�{h�(�����(����(�����(�����(�����(�����(�����(����(���ܸ(����(����(����(���׸(����(�����(����(���ܸ(����*Y�SY�S�-����*Y�SY�S�-iii�*Y�SY�S�-w���*Y�SY�S�-p���*Y�SY�S�-/OO�*Y�SY�S�-��B�,FNXbnz�� �!�"�#�$�%�(�)*+ ,--:0G1T2a3o4{5�6�7�8�;�<�=�>�?�@�C�DEF&G4HBIPJ^KkNyO�P�Q�R�S�T�U�V�W�XYZ['\3]?^IaTb`cmdye�f�g�h�i�j�k�l�m�n�opst#u1v?wLxYyfzr{|�}�������������������'�1�<�J�X�f�t�����������������������	��%�3�A�O�]�k�y�������������������4�M�f�}�PKʣG9P��"chatty/gui/IgnoredMessages$1.class���3%	 this$0Lchatty/gui/IgnoredMessages;<init>(Lchatty/gui/IgnoredMessages;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/IgnoredMessages$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileIgnoredMessages.javaEnclosingMethod!	"	#$chatty/gui/IgnoredMessages$1java/lang/Objectjava/awt/event/ActionListenerchatty/gui/IgnoredMessages(Lchatty/gui/MainGui;)V()Vaccess$000 	4*+�*��#
@*���'(
PKʣG�:�FF chatty/gui/IgnoredMessages.class���3�$W%XYX	$Z	$[\]^_`abcdbebfghbijklmlnopXqrst&uvwxybz{|InnerClasses	MODE_HIDEI
ConstantValueMODE_COUNTMODE_COMPACT	MODE_SHOWDELAYgLchatty/gui/MainGui;countPerChannelLjava/util/Map;	Signature6Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/IgnoredMessages;timerLjavax/swing/Timer;ignoredMessage(Ljava/lang/String;)VchannelLjava/lang/String;
StackMapTableoutput()Vcounti$Ljava/util/Iterator;}{o~paccess$000(Lchatty/gui/IgnoredMessages;)Vx0SourceFileIgnoredMessages.javaHI:Ijava/util/HashMap6745javax/swing/Timerchatty/gui/IgnoredMessages$1:S:���I���������java/lang/Integer�������}����java/lang/Stringjava/lang/StringBuilderIgnored ���� messages
 in the last ��~���Ichatty/gui/IgnoredMessagesjava/lang/Objectjava/util/Iteratorchatty/gui/MainGui#(ILjava/awt/event/ActionListener;)VsetRepeats(Z)Vstart
java/util/MapcontainsKey(Ljava/lang/Object;)ZvalueOf(I)Ljava/lang/Integer;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;intValue()IkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;ignoredMessagesCount'(Ljava/lang/String;Ljava/lang/String;)Vclear!$%()*+,)*-.)*/0)*12)*3456789:;<�1*�*�Y��*+��Yu0�Y*�	�M,�,��= !#'*,+0,> 1?@145'ABCD<�@*�+�
�*�+��W�#*�+*�+���`��W�=4
57?9>@?@@EFGHI<-�*���L+��c+��M*�,���>�A*�,�Y������� ����!�"���*��#�=@"A3B7CuFxG�H>*3BJ)"SEFiKL�?@GE�M�KNMOPOQ�NMOPOQO��RS</*��=>T@UV'PKʣGk4P��chatty/gui/LinkListener.class���3	linkClicked(Ljava/lang/String;)VSourceFileLinkListener.javachatty/gui/LinkListenerjava/lang/ObjectPKʣGk��_++chatty/gui/MainGui$1.class���3*	 !this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod"#$	$%&'()chatty/gui/MainGui$1javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;access$1200<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Z)V 	4*+�*��^
F*�+���b
c
PKʣG6]ǔ��chatty/gui/MainGui$10.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$10;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$10javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1700 	4*+�*���
@*�����
PKʣGFvȔ�chatty/gui/MainGui$11.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$11;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$11javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1800 	4*+�*���
@*�����
PKʣG+f��chatty/gui/MainGui$12.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$12;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$12javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1900 	4*+�*���
@*�����
PKʣGa���chatty/gui/MainGui$13.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$13;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$13javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2000 	4*+�*���
@*�����
PKʣG�"�۔�chatty/gui/MainGui$14.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$14;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$14javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2100 	4*+�*���
@*�����
PKʣG�f�͔�chatty/gui/MainGui$15.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$15;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$15javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2200 	4*+�*���
@*�����
PKʣGa��A��chatty/gui/MainGui$16.class���31	 !"#$%&this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$16;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;channelLchatty/gui/components/Channel;SourceFileMainGui.javaEnclosingMethod'()	)*+,-./0)chatty/gui/MainGui$16javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChanneltoggleUserSelection 	4*+�*��
�V*���M,��
��� PKʣG'?���chatty/gui/MainGui$17.class���31	 !"#$%&this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$17;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;channelLchatty/gui/components/Channel;SourceFileMainGui.javaEnclosingMethod'()	)*+,-./0)chatty/gui/MainGui$17javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChannelselectNextUser 	4*+�*��
�V*���M,��
��� PKʣGf�CC��chatty/gui/MainGui$18.class���31	 !"#$%&this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$18;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;channelLchatty/gui/components/Channel;SourceFileMainGui.javaEnclosingMethod'()	)*+,-./0)chatty/gui/MainGui$18javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChannelselectNextUserExitAtBottom 	4*+�*��
�V*���M,��
��� PKʣG̠^���chatty/gui/MainGui$19.class���31	 !"#$%&this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$19;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;channelLchatty/gui/components/Channel;SourceFileMainGui.javaEnclosingMethod'()	)*+,-./0)chatty/gui/MainGui$19javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChannelselectPreviousUser 	4*+�*��
�V*���M,��
 PKʣGR68���chatty/gui/MainGui$2.class���3)	 !this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod"#$	$%&'($chatty/gui/MainGui$2javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsswitchToNextChannel 	4*+�*��f
C*����jk
PKʣG-4���chatty/gui/MainGui$20.class���31	 !"#$%&this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$20;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;channelLchatty/gui/components/Channel;SourceFileMainGui.javaEnclosingMethod'()	)*+,-./0)chatty/gui/MainGui$20javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChannelexitUserSelection 	4*+�*��
V*���M,��
	 PKʣG����chatty/gui/MainGui$21.class���3(	 !"this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$21;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod#$%	%timeout30&'chatty/gui/MainGui$21javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1200<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Z)V 	4*+�*��
E
*���


PKʣGQ�%��chatty/gui/MainGui$22.class���3(	 !"this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$22;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod#$%	%timeout600&'chatty/gui/MainGui$22javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1200<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Z)V 	4*+�*��
E
*���


PKʣG�H����chatty/gui/MainGui$23.class���3(	 !"this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$23;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod#$%	%timeout1800&'chatty/gui/MainGui$23javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1200<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Z)V 	4*+�*��
E
*���
"#

PKʣG�eV���chatty/gui/MainGui$24.class���3(	 !"this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$24;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod#$%	%timeout86400&'chatty/gui/MainGui$24javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1200<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Z)V 	4*+�*��
&E
*���
*+

PKʣG)��(��chatty/gui/MainGui$25.class���3$	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$25;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"#chatty/gui/MainGui$25javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2300(Lchatty/gui/MainGui;I)V 	4*+�*��.
B*���2	3
PKʣG�rݱ�chatty/gui/MainGui$26.class���3$	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$26;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"#chatty/gui/MainGui$26javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2300(Lchatty/gui/MainGui;I)V 	4*+�*��6
B*�<��:	;
PKʣG�dɱ�chatty/gui/MainGui$27.class���3$	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$27;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"#chatty/gui/MainGui$27javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2300(Lchatty/gui/MainGui;I)V 	4*+�*��>
B*�Z��B	C
PKʣG�݂���chatty/gui/MainGui$28.class���3&	 this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$28;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod!"#	#addstreamhighlight$%chatty/gui/MainGui$28javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1200<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Z)V 	4*+�*��F
D*���JK
PKʣG�w��chatty/gui/MainGui$29.class���3$	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$29;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"#chatty/gui/MainGui$29javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()V
toggleCompact(Z)V 	4*+�*��N
A	*���RS	
	PKʣG%��chatty/gui/MainGui$3.class���3)	 !this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod"#$	$%&'($chatty/gui/MainGui$3javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsswitchToPreviousChannel 	4*+�*��n
C*����rs
PKʣG�2���chatty/gui/MainGui$30.class���3$	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$30;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"#chatty/gui/MainGui$30javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()V
toggleCompact(Z)V 	4*+�*��V
A	*���Z[	
	PKʣG���]]chatty/gui/MainGui$31.class���3/	 !"#$this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$31;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod%&'	'()*+,-.'chatty/gui/MainGui$31javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChanneltoggleInput 	4*+�*��
^F*�����
b
cPKʣGP@``chatty/gui/MainGui$32.class���3/	 !"#$this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$32;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod%&'	'()*+,-.'chatty/gui/MainGui$32javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChanneltoggleUserlist 	4*+�*��
fF*�����
j
kPKʣGd�;[��chatty/gui/MainGui$33.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$33;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$33javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2400 	4*+�*��n
@*���rs
PKʣG.f	���chatty/gui/MainGui$34.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$34;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$34javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2500 	4*+�*��w
@*���{|
PKʣG���%%chatty/gui/MainGui$35.class���3)	 !this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$35;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod"#$	$%&'($chatty/gui/MainGui$35javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2600D(Lchatty/gui/MainGui;)Lchatty/gui/notifications/NotificationManager;,chatty/gui/notifications/NotificationManagerclearAll 	4*+�*��
C*������
PKʣGZg�**chatty/gui/MainGui$36.class���3)	 !this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$36;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod"#$	$%&'($chatty/gui/MainGui$36javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$2600D(Lchatty/gui/MainGui;)Lchatty/gui/notifications/NotificationManager;,chatty/gui/notifications/NotificationManager
clearAllShown 	4*+�*���
C*������
PKʣG2��Ե�chatty/gui/MainGui$37.class���3+		 !"#this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$37;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod$%	&'()*chatty/gui/MainGui$37java/lang/Objectjava/lang/Runnablechatty/gui/MainGuishowGuiguiCreatedZsetVisible(Z)Vaccess$2700 	
4*+�*���
^*����*��*��������PKʣGu!%ۋ�chatty/gui/MainGui$38.class���3'		 !this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$38;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod"#	$%&chatty/gui/MainGui$38java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiloadSettingsguiCreatedZaccess$2800 	4*+�*��
�M*���*���
���PKʣG�KHo��chatty/gui/MainGui$39.class���3'		 !"val$user
Lchatty/User;this$0Lchatty/gui/MainGui;<init>$(Lchatty/gui/MainGui;Lchatty/User;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$39;run()VSourceFileMainGui.javaEnclosingMethod#$%	&
chatty/gui/MainGui$39java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiupdateUserinfo(Lchatty/User;)Vaccess$2900 	
9*+�*,�*���:*�*�����PKʣGx1����chatty/gui/MainGui$4.class���3:			 !"#$%&'()this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod*+,,-./0123456789chatty/gui/MainGui$4javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()VclientLchatty/TwitchClient;access$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChannelgetName()Ljava/lang/String;chatty/TwitchClientcloseChannel(Ljava/lang/String;)V 	
4*+�*��vP*��*������z{PKʣG�d��[[chatty/gui/MainGui$40.class���3-		 !"#$%val$streamInfoLchatty/util/api/StreamInfo;this$0Lchatty/gui/MainGui;<init>3(Lchatty/gui/MainGui;Lchatty/util/api/StreamInfo;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$40;run()VSourceFileMainGui.javaEnclosingMethod&'(	
)*+,(chatty/gui/MainGui$40java/lang/Objectjava/lang/Runnablechatty/gui/MainGui
addStreamInfo(Lchatty/util/api/StreamInfo;)Vaccess$3000?(Lchatty/gui/MainGui;)Lchatty/gui/components/LiveStreamsDialog;'chatty/gui/components/LiveStreamsDialog	addStream 	
9*+�*,�*��=*��*���PKʣGf�m���chatty/gui/MainGui$41.class���38	"	#	$	% &'()*+,-val$textLjava/lang/String;val$spacesZthis$0Lchatty/gui/MainGui;<init>*(Lchatty/gui/MainGui;Ljava/lang/String;Z)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$41;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod./0
12345670chatty/gui/MainGui$41java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiinsert(Ljava/lang/String;Z)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/ChannelinsertText 	
>*+�*,�*�*��:X*��*���*�*���>?A !PKʣG3 z_��chatty/gui/MainGui$42$1.class���3,		 !"#$%this$1&InnerClassesLchatty/gui/MainGui$42;<init>(Lchatty/gui/MainGui$42;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/MainGui$42$1;run()VSourceFileMainGui.javaEnclosingMethod'(help-releases.htmllatest)*+chatty/gui/MainGui$42$1java/lang/Objectjava/lang/Runnablechatty/gui/MainGui$42this$0Lchatty/gui/MainGui;chatty/gui/MainGuiopenHelp'(Ljava/lang/String;Ljava/lang/String;)V 	4*+�*���=*������
PKʣG~ϣ���chatty/gui/MainGui$42.class���3*	 !"#InnerClassesthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/MainGui$42;run()VSourceFileMainGui.javaEnclosingMethod$%
chatty/gui/MainGui$42$1
&'()chatty/gui/MainGui$42java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiopenReleaseInfo(Lchatty/gui/MainGui$42;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V 
4*+�*���:�Y*�����PKʣGt�%��chatty/gui/MainGui$43.class���35		 	!"#$%&'()val$channelLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$43;run()VSourceFileMainGui.javaEnclosingMethod*+,
-./0234chatty/gui/MainGui$43java/lang/Objectjava/lang/Runnablechatty/gui/MainGui
removeChannel(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/Channelsaccess$6600StateUpdater7(Lchatty/gui/MainGui;)Lchatty/gui/MainGui$StateUpdater;chatty/gui/MainGui$StateUpdaterupdate 	
9*+�*,�*��PK*��*��*����TUV%1PKʣG�\chatty/gui/MainGui$44.class���3+		 !"#$val$channelLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$44;run()VSourceFileMainGui.javaEnclosingMethod%&'	
()*chatty/gui/MainGui$44java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiswitchToChannel(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/Channels 	
9*+�*,�*��[=*��*���_`PKʣGo�F���chatty/gui/MainGui$45.class���3*			 !"#$%val$idLjava/lang/String;val$channelthis$0Lchatty/gui/MainGui;<init>;(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$45;run()VSourceFileMainGui.javaEnclosingMethod&'(
	)chatty/gui/MainGui$45java/lang/Objectjava/lang/Runnablechatty/gui/MainGui	playSound'(Ljava/lang/String;Ljava/lang/String;)Vaccess$6800 	
>*+�*,�*-�*��|>*�*�*�����PKʣG�|m^��chatty/gui/MainGui$46.class���31		 !"#"$%&'val$channelLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$46;run()VSourceFileMainGui.javaEnclosingMethod()*
+,-./)0chatty/gui/MainGui$46java/lang/Objectjava/lang/Runnablechatty/gui/MainGuisetChannelNewStatus'(Ljava/lang/String;Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;"(Lchatty/gui/components/Channel;)V 	
9*+�*,�*���G*��*��*������PKʣG�����chatty/gui/MainGui$47.class���3S	+	,	-.	)/	01234)56 .7 8 9):;)<=>?val$channelLjava/lang/String;val$statusthis$0Lchatty/gui/MainGui;<init>;(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$47;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod@2A$BCDEFstatusNotificationGHIJKjava/lang/StringBuilder	[Status] LMNOPQstatusRAchatty/gui/MainGui$47java/lang/Objectjava/lang/Runnablechatty/gui/MainGui'(Ljava/lang/String;Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;access$6900;(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;access$7000M(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V	playSound >*+�*,�*-�*���"#$�P*�*����*��	�(*��Y��
*��
�*�*��*�*�����B�O�P"%�B&'()*!PKʣG�(��RRchatty/gui/MainGui$48.class���3]	-	./	+0	123456789:+;<=/>?@ABCDEFval$channelLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$48;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethodGHI&JKLMNusernameOPQjoshimuzRST[Test] It works!,Now you have your notifications Josh.. KappaUVThis is where the text goes.java/lang/StringBuilder	[Status] WXYZQ[\BTest Notification (this would pop up when a stream status changes)chatty/gui/MainGui$48java/lang/Objectjava/lang/Runnablechatty/gui/MainGuishowTestNotification(Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;java/lang/StringequalsIgnoreCase(Ljava/lang/String;)Zaccess$7000M(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;
chatty/HelpertoValidChanneltoString()Ljava/lang/String; 9*+�*,�*��� !$%&�f*�����	�*�*���?*��*�
��)*��Y��*����*�����)�0�?�e� f!$')%()*+,#PKʣG�Ku��chatty/gui/MainGui$49.class���30	I�	I�	I�	I�	I�	I�J����	~�	�����~���~������������	����~�~��~����~����~�����~����\~�����~�~�~���p~��~��6���	6�	6�	6�6�	6������~���~�����~����val$toChanLjava/lang/String;val$user
Lchatty/User;val$textval$actionZval$emotesthis$0Lchatty/gui/MainGui;<init>[(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$49;run()VchanLchatty/gui/components/Channel;whisperSettingImessageLchatty/gui/Message;channelwhisperisOwnMessageignoredhighlighted	tagEmotes�	TagEmotes%Lchatty/util/api/Emoticons$TagEmotes;ignoreModeJ
StackMapTable��������SourceFileMainGui.javaEnclosingMethod���TULMNOPMQRSMV`$[whisper]��������whisperDisplayMode����������java/lang/StringBuilder$���������������e�����ignore��highlightIgnored����	highlight��	[Whísper] 
Own message ignored.chatty/gui/MessageV hR!R"#$R�%streamChatChannels&'()*+,-"`./chatty/gui/MainGui$49java/lang/Objectjava/lang/Runnable#chatty/util/api/Emoticons$TagEmotesjava/lang/Stringchatty/gui/components/Channelchatty/gui/MainGuichatty/UserprintMessageG(Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)Vequals(Ljava/lang/Object;)ZclientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetLong(Ljava/lang/String;)Jaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;access$7100%(Lchatty/gui/MainGui;Lchatty/User;Z)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getNick()Ljava/lang/String;toStringgetActiveChannel!()Lchatty/gui/components/Channel;getNamechatLogLchatty/util/chatlog/ChatLog;chatty/util/chatlog/ChatLog5(Ljava/lang/String;Lchatty/User;Ljava/lang/String;Z)Vaccess$7200)(Lchatty/gui/MainGui;Ljava/lang/String;)Zaccess$7300.(Lchatty/gui/MainGui;)Lchatty/gui/Highlighter;access$7400a(Lchatty/gui/MainGui;Lchatty/User;Ljava/lang/String;Lchatty/gui/Highlighter;Ljava/lang/String;Z)ZgetBoolean(Ljava/lang/String;)Zaccess$7500chatty/util/api/EmoticonsparseEmotesTag9(Ljava/lang/String;)Lchatty/util/api/Emoticons$TagEmotes;access$5600A(Lchatty/gui/MainGui;)Lchatty/gui/components/HighlightedMessages;)chatty/gui/components/HighlightedMessagesaddMessage[(Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLchatty/util/api/Emoticons$TagEmotes;Z)Vchatty/gui/HighlightergetLastMatchNoSound()Zaccess$7600)(Lchatty/gui/MainGui;Ljava/lang/String;)VgetLastMatchNoNotificationaccess$7700H(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;Ljava/lang/String;)VsetChannelHighlighted"(Lchatty/gui/components/Channel;)VsetChannelNewMessageaccess$7800access$5700access$79002(Lchatty/gui/MainGui;)Lchatty/gui/IgnoredMessages;chatty/gui/IgnoredMessagesignoredMessage(Ljava/lang/String;)Vaccess$8000(Lchatty/gui/MainGui;)Z	printLine'(Ljava/lang/String;Ljava/lang/String;)VG(Lchatty/User;Ljava/lang/String;Lchatty/util/api/Emoticons$TagEmotes;)VgetLastMatchColor()Ljava/awt/Color;colorLjava/awt/Color;actionsetHighlighted(Z)Vignored_compact(Lchatty/gui/Message;)VlistContains'(Ljava/lang/String;Ljava/lang/Object;)Zaccess$81008(Lchatty/gui/MainGui;)Lchatty/gui/components/StreamChat; chatty/gui/components/StreamChataccess$8200:(Lchatty/gui/MainGui;Ljava/lang/String;)Ljava/lang/String;(Ljava/lang/String;Z)Vaccess$2900$(Lchatty/gui/MainGui;Lchatty/User;)V IJKLMNOPMQRSMTUVWXP&*+�*,�*-�*�*�*�*��Y	Z&[^_`XU*�M>,�	��*����
�6�*��,�L�X�G*�*���**���Y��*�����L�*���L�*���L>�*��,�L+�M*���+�*�*�*��*�*�����*���6*�*�*�*����*�*�����66*���� ��*�*�*�*��!"�6*��#:��*��$,*�*�*��%*��!�&�*�,�'*��!�(�<*�,*��Y��)�*�*����+*��+�,�)*��+�-��*�,�.*��+�-�(*��/,*�*�*��%*��0,�1*���2�
7�&��
*��3���*�,4�5�|�6Y*�*��7:*��!�8�9�:*��;�
�<��=��	�?+�@*���A,�B�*��C�D*�*�*��E*��F�*��G*�*��H�Y�8				"	(	 7	!=	"L	#s	%�	(�	*�	+�	,�	/�	0�	2�	3	5	64	7P	:Y	=^	>x	@�	A�	C�	D�	E�	G�	I�	J�	K�	O�	P	R#	T4	WJ	ZO	[\	_o	`~	a�	b�	c�	d�	e�	f�	h�	i�	j�	o�	p�	q�	s	tZ�4abpab~ab"lcd�abofef[^�fab�gM�hR�!iR�jR�kRY�lo4�pqr��7st;
�sut�st�sut=@�2@��<v�%sutvwtxy�sutvwtxyt
)�&�?z�$!{|}~]Im�n	PKʣG�v�V��chatty/gui/MainGui$5.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$5;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$5javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1400 	4*+�*��
@*�����
PKʣG��J�chatty/gui/MainGui$50.class���3Z	*	+	,-(./01234(5	(6	789:;(<=2>?@val$channelLjava/lang/String;val$user
Lchatty/User;this$0Lchatty/gui/MainGui;<init>6(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$50;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethodABC#DEFGHIBJKL#MNOPQRSstreamChatChannelsTUVWXYchatty/gui/MainGui$50java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiuserBanned"(Ljava/lang/String;Lchatty/User;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;chatty/gui/components/Channel(Lchatty/User;)Vchatty/UseraddBanaccess$2900$(Lchatty/gui/MainGui;Lchatty/User;)VclientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingslistContains'(Ljava/lang/String;Ljava/lang/Object;)Zaccess$81008(Lchatty/gui/MainGui;)Lchatty/gui/components/StreamChat; chatty/gui/components/StreamChat >*+�*,�*-�*��	�!"#�L*��*��*��*��*�*��	*���*��
�*��*���	�	�	�'	�=	�K	�L!$�K%&'() PKʣG�J&���chatty/gui/MainGui$51.class���3U	)	*+',-.-/	'0	12345'6789:;<=val$channelLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$51;run()VpanelLchatty/gui/components/Channel;
StackMapTable>SourceFileMainGui.javaEnclosingMethod?@ABCDEFGHIJKLMstreamChatChannelsNOPQRST>@chatty/gui/MainGui$51java/lang/Objectjava/lang/Runnablechatty/gui/components/Channelchatty/gui/MainGui	clearChat(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveChannel!()Lchatty/gui/components/Channel;getChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;clientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingslistContains'(Ljava/lang/String;Ljava/lang/Object;)Zaccess$81008(Lchatty/gui/MainGui;)Lchatty/gui/components/StreamChat; chatty/gui/components/StreamChatclear 9*+�*,�*��	��M*��*���L�2*��*��L*���	*���
*���+�+�
�"	�	�	�$	�:	�D	�H	�L	�  !M$) !"�.#$%&'(PKʣG{�~~chatty/gui/MainGui$52.class���32	 !"#$%&'(this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$52;run()VpanelLchatty/gui/components/Channel;
StackMapTable)SourceFileMainGui.javaEnclosingMethod*+	,-./0)1chatty/gui/MainGui$52java/lang/Objectjava/lang/Runnablechatty/gui/components/Channelchatty/gui/MainGuitestHotkeyaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;selectPreviousUser 	
4*+�*��	�
b*���L+�+��	�	�	�	�	�PKʣG-p��BBchatty/gui/MainGui$53.class���3L	&	'($)*+$,	$-	./0123456val$lineLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$53;run()VpanelLchatty/gui/components/Channel;
StackMapTable7SourceFileMainGui.javaEnclosingMethod89:;<=>?@ABCDEF7GHIJKchatty/gui/MainGui$53java/lang/Objectjava/lang/Runnablechatty/gui/components/Channelchatty/gui/MainGui	printLine(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;access$8300H(Lchatty/gui/MainGui;Lchatty/gui/components/Channel;Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientchatLogLchatty/util/chatlog/ChatLog;getName()Ljava/lang/String;chatty/util/chatlog/ChatLoginfo'(Ljava/lang/String;Ljava/lang/String;)V 
9*+�*,�*��	��1*���L+�$*�+*��*���+�	*���	�	�	�	�0	�1&�0 !"#$%PKʣGDN�BBchatty/gui/MainGui$54.class���3L	&	'($)*+$,	$-	./0123456val$lineLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$54;run()VpanelLchatty/gui/components/Channel;
StackMapTable7SourceFileMainGui.javaEnclosingMethod89:;<=>?@ABCDEF7GHIJKchatty/gui/MainGui$54java/lang/Objectjava/lang/Runnablechatty/gui/components/Channelchatty/gui/MainGuiprintSystem(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveChannel!()Lchatty/gui/components/Channel;access$8300H(Lchatty/gui/MainGui;Lchatty/gui/components/Channel;Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientchatLogLchatty/util/chatlog/ChatLog;getName()Ljava/lang/String;chatty/util/chatlog/ChatLogsystem'(Ljava/lang/String;Ljava/lang/String;)V 
9*+�*,�*��	��1*���L+�$*�+*��*���+�	*���	�	�	�	�0	�1&�0 !"#$%PKʣGu��chatty/gui/MainGui$55.class���3H	%	&	'
(#)#*+,#-	#.	/012345val$channelLjava/lang/String;val$linethis$0Lchatty/gui/MainGui;<init>;(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$55;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod67879:;<=>?@ABCDEFG8chatty/gui/MainGui$55java/lang/Objectjava/lang/Runnablechatty/gui/MainGui	printLine'(Ljava/lang/String;Ljava/lang/String;)V(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;access$8300H(Lchatty/gui/MainGui;Lchatty/gui/components/Channel;Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientchatLogLchatty/util/chatlog/ChatLog;chatty/util/chatlog/ChatLoginfo 
>*+�*,�*-�*��	��D*��*�*���1*�*��*��*��*��	�*�*���	�	�	�.	�C	�D- !"#$PKʣG�(����chatty/gui/MainGui$56.class���3h	0	12.34546.7489:;<;=>	.?	@ABCDEFGval$lineLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$56;run()VpanelLchatty/gui/components/Channel;channeli$Ljava/util/Iterator;
StackMapTable>HSourceFileMainGui.javaEnclosingMethodIJK"LMNOPQRSTUVWXYHZ[\]chatty/gui/components/Channel^_`abcdefgchatty/gui/MainGui$56java/lang/Objectjava/lang/Runnablejava/util/Iteratorchatty/gui/MainGuiprintLineAll(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannelCount()IgetActiveChannel!()Lchatty/gui/components/Channel;access$8300H(Lchatty/gui/MainGui;Lchatty/gui/components/Channel;Ljava/lang/String;)Vchannels()Ljava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;clientLchatty/TwitchClient;chatty/TwitchClientchatLogLchatty/util/chatlog/ChatLog;getName()Ljava/lang/String;chatty/util/chatlog/ChatLoginfo'(Ljava/lang/String;Ljava/lang/String;)V 9*+�*,�*�� !"�q*����*���L+�*�+*���*����	L+��1+��M*�,*��*��
�,�*����̱* 
	 ()LXmp*#$L!%$97&'q (�()��*�6+,-./PKʣG�z88chatty/gui/MainGui$57.class���3:		#		$		%		& '!()*+,-./val$channelLjava/lang/String;val$typeval$user
Lchatty/User;this$0Lchatty/gui/MainGui;<init>H(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Lchatty/User;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$57;run()VSourceFileMainGui.javaEnclosingMethod012

34567819chatty/gui/MainGui$57java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiprintCompact4(Ljava/lang/String;Ljava/lang/String;Lchatty/User;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;chatty/gui/components/Channel"(Ljava/lang/String;Lchatty/User;)V 	

D*+�*,�*-�*�*��'H*��*��*�*���*+ !"	PKʣG��:���chatty/gui/MainGui$58.class���36	"	#$ %&'()*+,val$windowLjava/awt/Window;this$0Lchatty/gui/MainGui;<init>((Lchatty/gui/MainGui;Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$58;run()VchanLchatty/gui/components/Channel;
StackMapTable-SourceFileMainGui.javaEnclosingMethod./0
12345-/chatty/gui/MainGui$58java/lang/Objectjava/lang/Runnablechatty/gui/components/Channelchatty/gui/MainGuiresetSearch(Ljava/awt/Window;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannelFromWindow3(Ljava/lang/Object;)Lchatty/gui/components/Channel; 	
9*+�*,�*��@f*��*��L+�+��CDEG	� !PKʣG�B7��chatty/gui/MainGui$59.class���38	 	!	"#$%&'()*+val$messageLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$59;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod,-.
/01234567.chatty/gui/MainGui$59java/lang/Objectjava/lang/Runnablechatty/gui/MainGuishowMessage(Ljava/lang/String;)Vaccess$3100>(Lchatty/gui/MainGui;)Lchatty/gui/components/ConnectionDialog;&chatty/gui/components/ConnectionDialog	isVisible()Zjavax/swing/JOptionPaneshowMessageDialog)(Ljava/awt/Component;Ljava/lang/Object;)V	printLine 	
9*+�*,�*��Lj**����*��*���*�*���P
QT)V*PKʣGlD��chatty/gui/MainGui$6.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$6;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"!chatty/gui/MainGui$6javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()VopenSearchDialog 	4*+�*���
@*�����
PKʣG�q/((chatty/gui/MainGui$60.class���3-		 !"#$%val$lineLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$60;run()VSourceFileMainGui.javaEnclosingMethod&'(	
)*+,(chatty/gui/MainGui$60java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiprintDebug(Ljava/lang/String;)Vaccess$43009(Lchatty/gui/MainGui;)Lchatty/gui/components/DebugWindow;!chatty/gui/components/DebugWindow	printLine 	
9*+�*,�*��c=*��*���fgPKʣGeyL..chatty/gui/MainGui$61.class���3-		 !"#$%val$lineLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$61;run()VSourceFileMainGui.javaEnclosingMethod&'(	
)*+,(chatty/gui/MainGui$61java/lang/Objectjava/lang/Runnablechatty/gui/MainGui
printDebugIrc(Ljava/lang/String;)Vaccess$43009(Lchatty/gui/MainGui;)Lchatty/gui/components/DebugWindow;!chatty/gui/components/DebugWindowprintLineIrc 	
9*+�*,�*��u=*��*���xyPKʣGN	�q//chatty/gui/MainGui$62.class���3I	(	)	*+&,-./0-1&234567val$channelLjava/lang/String;val$user
Lchatty/User;this$0Lchatty/gui/MainGui;<init>6(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$62;run()VcLchatty/gui/components/Channel;
StackMapTable8SourceFileMainGui.javaEnclosingMethod9:;<=>?@8:ABCDFGHchatty/gui/MainGui$62java/lang/Objectjava/lang/Runnablechatty/gui/components/Channelchatty/gui/MainGuiaddUser"(Ljava/lang/String;Lchatty/User;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;(Lchatty/User;)VgetActiveChannel!()Lchatty/gui/components/Channel;access$6600StateUpdater7(Lchatty/gui/MainGui;)Lchatty/gui/MainGui$StateUpdater;chatty/gui/MainGui$StateUpdaterupdate 
>*+�*,�*-�*����0*��*��L+*��*���+�
*��	�����%�/�0! !�/"#$%&'3&EPKʣGdBZ22chatty/gui/MainGui$63.class���3I	(	)	*+&,-./0-1&234567val$channelLjava/lang/String;val$user
Lchatty/User;this$0Lchatty/gui/MainGui;<init>6(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$63;run()VcLchatty/gui/components/Channel;
StackMapTable8SourceFileMainGui.javaEnclosingMethod9:;<=>?@8:ABCDFGHchatty/gui/MainGui$63java/lang/Objectjava/lang/Runnablechatty/gui/components/Channelchatty/gui/MainGuiremoveUser"(Ljava/lang/String;Lchatty/User;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;(Lchatty/User;)VgetActiveChannel!()Lchatty/gui/components/Channel;access$6600StateUpdater7(Lchatty/gui/MainGui;)Lchatty/gui/MainGui$StateUpdater;chatty/gui/MainGui$StateUpdaterupdate 
>*+�*,�*-�*����0*��*��L+*��*���+�
*��	�����%�/�0! !�/"#$%&'3&EPKʣG90�GGchatty/gui/MainGui$64.class���3@	!	"#$%&'() *+,-./val$user
Lchatty/User;this$0Lchatty/gui/MainGui;<init>$(Lchatty/gui/MainGui;Lchatty/User;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$64;run()VSourceFileMainGui.javaEnclosingMethod012
34567869:;=>?chatty/gui/MainGui$64java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiupdateUser(Lchatty/User;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/UsergetChannel()Ljava/lang/String;chatty/gui/Channels3(Ljava/lang/String;)Lchatty/gui/components/Channel;chatty/gui/components/Channelaccess$6600StateUpdater7(Lchatty/gui/MainGui;)Lchatty/gui/MainGui$StateUpdater;chatty/gui/MainGui$StateUpdaterupdate 
9*+�*,�*���U#*��*���*��*���	���"�# +<PKʣG�,4���chatty/gui/MainGui$65.class���33		 !"#$%&'(val$channelLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$65;run()VSourceFileMainGui.javaEnclosingMethod)*+
,-./012chatty/gui/MainGui$65java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiresortUsers(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;chatty/gui/components/ChannelresortUserlist 	
9*+�*,�*���@*��*������PKʣG���''chatty/gui/MainGui$66.class���3M	*	+
,(-./0.1234546789:val$channelLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$66;run()VcLchatty/gui/components/Channel;channeli$Ljava/util/Iterator;
StackMapTable;SourceFileMainGui.javaEnclosingMethod<=>?@ABC=DEFGH;IJKLchatty/gui/components/Channelchatty/gui/MainGui$66java/lang/Objectjava/lang/Runnablejava/util/Iteratorchatty/gui/MainGuiclearUsers(Ljava/lang/String;)Vaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/Channelsget3(Ljava/lang/String;)Lchatty/gui/components/Channel;channels()Ljava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object; 
9*+�*,�*����L*��*��*��L+�+��-*����L+�	�+��M,����&	�����!�D�H�K�*D 1!"L#
�$�%&'()PKʣGv-]EEchatty/gui/MainGui$67.class���3:		 		! "#$%&'()*+,val$newVersionLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$67;run()VSourceFileMainGui.javaEnclosingMethod-./
01234.56789/chatty/gui/MainGui$67java/lang/Objectjava/lang/Runnablechatty/gui/MainGuisetUpdateAvailable(Ljava/lang/String;)Vaccess$4800+(Lchatty/gui/MainGui;)Lchatty/gui/MainMenu;access$8400?(Lchatty/gui/MainGui;)Lchatty/gui/components/LinkLabelListener;chatty/gui/MainMenu,(Lchatty/gui/components/LinkLabelListener;)Vaccess$8500;(Lchatty/gui/MainGui;)Lchatty/gui/components/UpdateMessage;#chatty/gui/components/UpdateMessage
setNewVersion 	
9*+�*,�*���R *��*���*��*������ 	PKʣG�\�}��chatty/gui/MainGui$68.class���3&	 this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$68;run()VSourceFileMainGui.javaEnclosingMethod!"	#$%chatty/gui/MainGui$68java/lang/Objectjava/lang/Runnablechatty/gui/MainGuishowSettingsaccess$5000E(Lchatty/gui/MainGui;)Lchatty/gui/components/settings/SettingsDialog;-chatty/gui/components/settings/SettingsDialog 	4*+�*��
�9*����
� �PKʣG�r���chatty/gui/MainGui$69.class���30		 !"#$%&'val$itemLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$69;run()VSourceFileMainGui.javaEnclosingMethod()*
+,editUsercolorItem-./chatty/gui/MainGui$69java/lang/Objectjava/lang/Runnablechatty/gui/MainGuisetColor(Ljava/lang/String;)Vaccess$5000E(Lchatty/gui/MainGui;)Lchatty/gui/components/settings/SettingsDialog;-chatty/gui/components/settings/SettingsDialogshowSettings'(Ljava/lang/String;Ljava/lang/String;)V 	
9*+�*,�*���?*��*�����PKʣG�Y9��chatty/gui/MainGui$7.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$7;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"!chatty/gui/MainGui$7javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()VtoggleEmotesDialog 	4*+�*���
@*�����
PKʣG<]g.NNchatty/gui/MainGui$70.class���3"	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$70;run()VSourceFileMainGui.javaEnclosingMethod 	!chatty/gui/MainGui$70java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiupdateChannelInfoaccess$6700 	4*+�*���
6*���
PKʣG�)Jchatty/gui/MainGui$71.class���3.		 !"#$%val$forcedZthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;Z)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$71;run()VSourceFileMainGui.javaEnclosingMethod&'(	
)+,-(chatty/gui/MainGui$71java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiupdateState(Z)Vaccess$6600StateUpdater7(Lchatty/gui/MainGui;)Lchatty/gui/MainGui$StateUpdater;chatty/gui/MainGui$StateUpdaterupdate 	
9*+�*�*��=*��*���
!*PKʣGs��Ѽ�chatty/gui/MainGui$72.class���3'		 !"val$channelPresetLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$72;run()VSourceFileMainGui.javaEnclosingMethod#$%	&
chatty/gui/MainGui$72java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiopenConnectDialog(Ljava/lang/String;)Vaccess$4900 	
9*+�*,�*���:*�*�����PKʣG�
Q��chatty/gui/MainGui$73.class���39			 !"#$%&'()this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$73;run()VSourceFileMainGui.javaEnclosingMethod*+
,-./012345678chatty/gui/MainGui$73java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiupdateEmotesDialogaccess$6500:(Lchatty/gui/MainGui;)Lchatty/gui/components/EmotesDialog;clientLchatty/TwitchClient;chatty/TwitchClientgetSpecialUser()Lchatty/User;chatty/UsergetEmoteSet()Ljava/util/Set;"chatty/gui/components/EmotesDialogupdateEmotesets(Ljava/util/Set;)V 	
4*+�*���F*��*��������PKʣGױI���chatty/gui/MainGui$74.class���34		 	!	"#$%&'()val$update Lchatty/util/api/EmoticonUpdate;this$0Lchatty/gui/MainGui;<init>7(Lchatty/gui/MainGui;Lchatty/util/api/EmoticonUpdate;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$74;run()VSourceFileMainGui.javaEnclosingMethod*+,
-./0123chatty/gui/MainGui$74java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiupdateEmoticons#(Lchatty/util/api/EmoticonUpdate;)V	emoticonsLchatty/util/api/Emoticons;chatty/util/api/Emoticonsaccess$6500:(Lchatty/gui/MainGui;)Lchatty/gui/components/EmotesDialog;"chatty/gui/components/EmotesDialogupdate 	
9*+�*,�*���K*��*��*������PKʣG�s���chatty/gui/MainGui$75.class���34		 	!	"#$%&'()val$emotesLjava/util/Set;this$0Lchatty/gui/MainGui;<init>&(Lchatty/gui/MainGui;Ljava/util/Set;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$75;run()VSourceFileMainGui.javaEnclosingMethod*+,
-./0123chatty/gui/MainGui$75java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiaddEmoticons(Ljava/util/Set;)V	emoticonsLchatty/util/api/Emoticons;chatty/util/api/Emoticonsaccess$6500:(Lchatty/gui/MainGui;)Lchatty/gui/components/EmotesDialog;"chatty/gui/components/EmotesDialogupdate 	
9*+�*,�*��K*��*��*����	PKʣG�l�chatty/gui/MainGui$76.class���3-			 !"#$%
val$emotesetsLjava/util/Map;this$0Lchatty/gui/MainGui;<init>&(Lchatty/gui/MainGui;Ljava/util/Map;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$76;run()VSourceFileMainGui.javaEnclosingMethod&'(	
)*+,(chatty/gui/MainGui$76java/lang/Objectjava/lang/Runnablechatty/gui/MainGuisetEmotesets(Ljava/util/Map;)V	emoticonsLchatty/util/api/Emoticons;chatty/util/api/EmoticonsaddEmotesetStreams 	
9*+�*,�*��=*��*���PKʣG#�ڣchatty/gui/MainGui$77.class���3-	 !"#$this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$77;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod%&	'()*+,chatty/gui/MainGui$77java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiwebserverStartedaccess$3800<(Lchatty/gui/MainGui;)Lchatty/gui/components/TokenGetDialog;$chatty/gui/components/TokenGetDialog	isVisible()Zready 	
4*+�*��
S*����
*����"
#%PKʣG���3uuchatty/gui/MainGui$78.class���32		 !"#$#%&'(	val$errorLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$78;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethod)*+
,-./01+chatty/gui/MainGui$78java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiwebserverError(Ljava/lang/String;)Vaccess$3800<(Lchatty/gui/MainGui;)Lchatty/gui/components/TokenGetDialog;$chatty/gui/components/TokenGetDialog	isVisible()Zerror 	
9*+�*,�*��*W*����*��*���.
/1PKʣG)N��chatty/gui/MainGui$79.class���3'		 !"	val$tokenLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$79;run()VSourceFileMainGui.javaEnclosingMethod#$%	&
chatty/gui/MainGui$79java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiwebserverTokenReceived(Ljava/lang/String;)Vaccess$8800 	
9*+�*,�*��6:*�*���:;PKʣG��(��chatty/gui/MainGui$8.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$8;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$8javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1500 	4*+�*���
@*�����
PKʣGvsq//chatty/gui/MainGui$80.class���3+		 	!"#$%&	val$tokenLjava/lang/String;
val$tokenInfoLchatty/util/api/TokenInfo;this$0Lchatty/gui/MainGui;<init>D(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/util/api/TokenInfo;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$80;run()VSourceFileMainGui.javaEnclosingMethod'()
	*chatty/gui/MainGui$80java/lang/Objectjava/lang/Runnablechatty/gui/MainGui
tokenVerified0(Ljava/lang/String;Lchatty/util/api/TokenInfo;)Vaccess$8900 	
>*+�*,�*-�*��^>*�*�*���bcPKʣG]��BWWchatty/gui/MainGui$81.class���3]	,	-./01*2*34	*5	6789:/;<=>9?*@*ABCD	val$tokenLjava/lang/String;this$0Lchatty/gui/MainGui;<init>)(Lchatty/gui/MainGui;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$81;run()V
StackMapTableSourceFileMainGui.javaEnclosingMethodEFG%HIJYou have to supply a token.KGLM1You already have changed the token, please wait..NOPQRtokenSTUVW%The token you entered is already set. Setting new token. Please wait..usernameXYZ[\chatty/gui/MainGui$81java/lang/Objectjava/lang/Runnablechatty/gui/MainGuichangeToken(Ljava/lang/String;)Vjava/lang/StringisEmpty()ZprintSystemaccess$9000((Lchatty/gui/MainGui;)Ljava/lang/String;clientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;equals(Ljava/lang/Object;)Z	setString'(Ljava/lang/String;Ljava/lang/String;)Iaccess$9002:(Lchatty/gui/MainGui;Ljava/lang/String;)Ljava/lang/String;access$8800 9*+�*,�*��j #$%��*��
*���*���o*���*���Y*�*��	���
�*���4*��*��	��W*�*��W*�*���.nop'q3rLsXuavrw~x�z� #&$0'()*+"PKʣG8+`���chatty/gui/MainGui$82.class���3;	()*+,-./0&1234this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$82;run()VmessageLjava/lang/String;options[Ljava/lang/String;resultI
StackMapTable+SourceFileMainGui.javaEnclosingMethod56
�<html><body style='width:400px;'>Login data was determined invalid, which means you may have to request it again before you can connect to chat or do authorized actions (like getting notified about streams you follow, edit stream title..).java/lang/StringClose / Configure loginJust CloseError789:chatty/gui/MainGui$82java/lang/Objectjava/lang/Runnablechatty/gui/MainGuishowTokenWarningchatty/gui/GuiUtilshowNonAutoFocusOptionPaneP(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/Object;)Iaccess$3200 
4*+�*��
�,L�YSYSM*�+,�>�*��	�


 
$
+
*,)  �+!"#$%&'PKʣG?t�aachatty/gui/MainGui$83.class���3-		 !"#$%val$infoLchatty/util/api/FollowerInfo;this$0Lchatty/gui/MainGui;<init>5(Lchatty/gui/MainGui;Lchatty/util/api/FollowerInfo;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$83;run()VSourceFileMainGui.javaEnclosingMethod&'(	
)*+,(chatty/gui/MainGui$83java/lang/Objectjava/lang/Runnablechatty/gui/MainGuisetSubscriberInfo!(Lchatty/util/api/FollowerInfo;)Vaccess$9100=(Lchatty/gui/MainGui;)Lchatty/gui/components/FollowersDialog;%chatty/gui/components/FollowersDialogsetFollowerInfo 	
9*+�*,�*��
=*��*���

PKʣG�{?XHHchatty/gui/MainGui$84.class���3+		 !"#$val$infoLchatty/util/api/FollowerInfo;this$0Lchatty/gui/MainGui;<init>5(Lchatty/gui/MainGui;Lchatty/util/api/FollowerInfo;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$84;run()VSourceFileMainGui.javaEnclosingMethod%&'	
()*chatty/gui/MainGui$84java/lang/Objectjava/lang/Runnablechatty/gui/MainGuisetFollowerInfo!(Lchatty/util/api/FollowerInfo;)Vaccess$9200=(Lchatty/gui/MainGui;)Lchatty/gui/components/FollowersDialog;%chatty/gui/components/FollowersDialog 	
9*+�*,�*��
!=*��*���
%
&PKʣGu����chatty/gui/MainGui$85.class���33	#	$	%	&	'!()"*+,val$channelLjava/lang/String;val$infoLchatty/util/api/ChannelInfo;val$resultIthis$0Lchatty/gui/MainGui;<init>G(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$85;run()VSourceFileMainGui.javaEnclosingMethod-./
012chatty/gui/MainGui$85java/lang/Objectjava/lang/Runnablechatty/gui/MainGuisetChannelInfo3(Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)Vaccess$93009(Lchatty/gui/MainGui;)Lchatty/gui/components/AdminDialog;!chatty/gui/components/AdminDialog 	
D*+�*,�*-�*�*��
+E*��*�*�*���
/
0 !"PKʣGd��chatty/gui/MainGui$86.class���3+		 !"#$	val$gamesLjava/util/Set;this$0Lchatty/gui/MainGui;<init>&(Lchatty/gui/MainGui;Ljava/util/Set;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$86;run()VSourceFileMainGui.javaEnclosingMethod%&'	
()*chatty/gui/MainGui$86java/lang/Objectjava/lang/Runnablechatty/gui/MainGuigameSearchResult(Ljava/util/Set;)Vaccess$93009(Lchatty/gui/MainGui;)Lchatty/gui/components/AdminDialog;!chatty/gui/components/AdminDialog 	
9*+�*,�*��
W=*��*���
[
\PKʣG]xݺchatty/gui/MainGui$87.class���3-		 !"#$%val$resultIthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;I)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$87;run()VSourceFileMainGui.javaEnclosingMethod&'(	
)*+,(chatty/gui/MainGui$87java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiputChannelInfoResult(I)Vaccess$93009(Lchatty/gui/MainGui;)Lchatty/gui/components/AdminDialog;!chatty/gui/components/AdminDialogsetPutResult 	
9*+�*�*��
a=*��*���
e
fPKʣG�]ݘ�chatty/gui/MainGui$88.class���32	"	#	$	%	& '(!)*+val$streamLjava/lang/String;val$textval$resultIthis$0Lchatty/gui/MainGui;<init><(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$88;run()VSourceFileMainGui.javaEnclosingMethod,-.
/01chatty/gui/MainGui$88java/lang/Objectjava/lang/Runnablechatty/gui/MainGuicommercialResult((Ljava/lang/String;Ljava/lang/String;I)Vaccess$93009(Lchatty/gui/MainGui;)Lchatty/gui/components/AdminDialog;!chatty/gui/components/AdminDialog 	
D*+�*,�*-�*�*��
�E*��*�*�*���
�
� !PKʣGޘ���chatty/gui/MainGui$89.class���3Z	-	.	/0	+1	23456+789:0;<8=>+?@ABval$streamLjava/lang/String;val$channelthis$0Lchatty/gui/MainGui;<init>;(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$89;run()VinfoLchatty/util/api/StreamInfo;
StackMapTableSourceFileMainGui.javaEnclosingMethodCDE$FGHIJprintStreamStatusKLMNOPQRjava/lang/StringBuilder~STUVWVXYchatty/gui/MainGui$89java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiprintStreamInfo(Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)Z
getStreamInfo0(Ljava/lang/String;)Lchatty/util/api/StreamInfo;chatty/util/api/StreamInfoisValid()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;
getFullStatus()Ljava/lang/String;toString	printLine'(Ljava/lang/String;Ljava/lang/String;)V >*+�*,�*-�*��
�"#$�L*�����<*�*��	L+��)*�*��Y�
�+��
����
�
�
�%
�K
�-%&L"'�K()*+,!PKʣG�:��chatty/gui/MainGui$9.class���3#	this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$9;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMainGui.javaEnclosingMethod !!"	chatty/gui/MainGui$9javax/swing/AbstractActionchatty/gui/MainGuiaddListeners()Vaccess$1600 	4*+�*���
@*�����
PKʣGB���eechatty/gui/MainGui$90.class���38				 !"#$%&'()this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$90;run()VSourceFileMainGui.javaEnclosingMethod*+
,-./0123456+7chatty/gui/MainGui$90java/lang/Objectjava/lang/Runnablechatty/gui/MainGuiupdateEmoteNames	emoticonsLchatty/util/api/Emoticons;clientLchatty/TwitchClient;chatty/TwitchClientgetSpecialUser()Lchatty/User;chatty/UsergetEmoteSet()Ljava/util/Set;chatty/util/api/Emoticons(Ljava/util/Set;)V 	
4*+�*��pF*��*������tuPKʣG�$b�eechatty/gui/MainGui$91.class���39	$	%	&	'"()*"+,-.	val$errorLjava/util/logging/LogRecord;val$previousLjava/util/LinkedList;this$0Lchatty/gui/MainGui;<init>J(Lchatty/gui/MainGui;Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainGui$91;run()VresultI
StackMapTableSourceFileMainGui.javaEnclosingMethod/01
2345678chatty/gui/MainGui$91java/lang/Objectjava/lang/Runnablechatty/gui/MainGuierror6(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)Vaccess$11200:(Lchatty/gui/MainGui;)Lchatty/gui/components/ErrorMessage;"chatty/gui/components/ErrorMessageshow6(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)Iaccess$4700(Lchatty/gui/MainGui;)V 	
>*+�*,�*-�*���l *��*�*��<�*������� 
� !"#PKʣG|'�L.chatty/gui/MainGui$ChannelChangeListener.class���3P&	'
()*+,)-).)/012345678this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisChannelChangeListenerInnerClasses*Lchatty/gui/MainGui$ChannelChangeListener;stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;9-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.java:;<>?@ABCDEFGHIJKLMNO(chatty/gui/MainGui$ChannelChangeListenerjava/lang/Object javax/swing/event/ChangeListenerchatty/gui/MainGui$1()Vchatty/gui/MainGuiaccess$6600StateUpdater7(Lchatty/gui/MainGui;)Lchatty/gui/MainGui$StateUpdater;chatty/gui/MainGui$StateUpdaterupdate(Z)Vaccess$6700access$6500:(Lchatty/gui/MainGui;)Lchatty/gui/components/EmotesDialog;access$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetLastActiveChannel!()Lchatty/gui/components/Channel;chatty/gui/components/Channel
getStreamName()Ljava/lang/String;"chatty/gui/components/EmotesDialogupdateStream(Ljava/lang/String;)V 
4*+�*���j**���*��*��*���	������)�** D*+��� !"#$%)+)=PKʣGC
���.chatty/gui/MainGui$DebugCheckboxListener.class���3Q)	*
+,-,./012	/3	456789:;this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisDebugCheckboxListenerInnerClasses*Lchatty/gui/MainGui$DebugCheckboxListener;itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;stateZ
StackMapTable<-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.java=>?@ABCDEFGHIJKLMdebugLogIrcNOP(chatty/gui/MainGui$DebugCheckboxListenerjava/lang/Objectjava/awt/event/ItemListenerchatty/gui/MainGui$1()Vjava/awt/event/ItemEventgetStateChange()I	getSource()Ljava/lang/Object;chatty/gui/MainGuiaccess$43009(Lchatty/gui/MainGui;)Lchatty/gui/components/DebugWindow;!chatty/gui/components/DebugWindowgetLogIrcCheckBox()Ljavax/swing/JCheckBox;clientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingssetBoolean(Ljava/lang/String;Z)I 
4*+�*��p�1+���=+�*����*���	�W�stu0w 11# 	@�"#D*+��p $%&'(/!PKʣG����kk)chatty/gui/MainGui$MainMenuListener.class���3cV�	V�W���������	��	�������'�����������������������������������������������������M����'�'�'������������M�������	������	���F������������F���	�����������������this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMainMenuListenerInnerClasses%Lchatty/gui/MainGui$MainMenuListener;itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;settingLjava/lang/String;stateZ
StackMapTable�actionPerformed(Ljava/awt/event/ActionEvent;)Varray[Ljava/lang/String;astreamLjava/awt/event/ActionEvent;cmdmenuSelected (Ljavax/swing/event/MenuEvent;)VchannelLchatty/gui/components/Channel;i$Ljava/util/Iterator;
popoutStreamsLjava/util/ArrayList;Ljavax/swing/event/MenuEvent;LocalVariableTypeTable)Ljava/util/ArrayList<Ljava/lang/String;>;��menuDeselectedmenuCanceled�-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.java]^[\]�������	
debugjava/awt/Dimension]connectdisconnect�exit^about settings!"#$�websitehttp://chatty.github.io%&'favoritesDialog(unhandledExceptionjava/lang/Stringaddressbook)srlRaces*^
srlRaceActive+,-./012345srlRace46789:livestreamer;<=>?configureLogin@^addStreamHighlightA1BC?openStreamHighlightsD5srcOpenEFGHIJKLjava/util/ArrayListMNOPQRST�UVchatty/gui/components/ChannelWXYZL[\]^_`\ab#chatty/gui/MainGui$MainMenuListenerjava/lang/Objectjava/awt/event/ItemListenerjava/awt/event/ActionListenerjavax/swing/event/MenuListenerjava/util/Iteratorchatty/gui/MainGui$1()Vchatty/gui/MainGuiaccess$4800+(Lchatty/gui/MainGui;)Lchatty/gui/MainMenu;java/awt/event/ItemEvent	getSource()Ljava/lang/Object;chatty/gui/MainMenugetSettingByMenuItem&(Ljava/lang/Object;)Ljava/lang/String;getStateChange()IclientLchatty/TwitchClient;chatty/TwitchClientLchatty/util/settings/Settings;chatty/util/settings/SettingssetBoolean(Ljava/lang/String;Z)Ijava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;equals(Ljava/lang/Object;)Zaccess$43009(Lchatty/gui/MainGui;)Lchatty/gui/components/DebugWindow;!chatty/gui/components/DebugWindow	isShowing()ZsetLocationByPlatform(Z)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetVisibleaccess$4900)(Lchatty/gui/MainGui;Ljava/lang/String;)Vaccess$4700access$4400access$5000E(Lchatty/gui/MainGui;)Lchatty/gui/components/settings/SettingsDialog;-chatty/gui/components/settings/SettingsDialogshowSettingschatty/gui/UrlOpener
openUrlPrompt*(Ljava/awt/Component;Ljava/lang/String;Z)Zaccess$5100access$5200access$5300access$54005(Lchatty/gui/MainGui;)Lchatty/gui/components/srl/SRL;access$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveTab!()Lchatty/gui/components/Channel;
getStreamNamechatty/gui/components/srl/SRLsearchRaceWithEntrant(Ljava/lang/String;)VstartsWith(Ljava/lang/String;)Z	substring(I)Ljava/lang/String;isEmptyaccess$5500@(Lchatty/gui/MainGui;)Lchatty/gui/components/LivestreamerDialog;(chatty/gui/components/LivestreamerDialogopen'(Ljava/lang/String;Ljava/lang/String;)Vaccess$3200getActiveChannelgetNamecommandAddStreamHighlightcommandOpenStreamHighlightsspeedruncomLchatty/util/Speedruncom;chatty/util/SpeedruncomopenCurrentGame"(Lchatty/gui/components/Channel;)Vjavax/swing/event/MenuEventsrlStreamsLjavax/swing/JMenu;getPopoutChannels()Ljava/util/Map;
java/util/MapkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNextnextaddupdateSrlStreams%(Ljava/lang/String;Ljava/util/List;)Vviewaccess$5600A(Lchatty/gui/MainGui;)Lchatty/gui/components/HighlightedMessages;)chatty/gui/components/HighlightedMessagesgetNewCountgetDisplayedCountaccess$5700updateCount(IIII)V VWXYZ[\]^_4*+�*��`�abefg_�2*��+��M+���>,�*���	,�W�`���!�1�a*2be2hi#jklmn�o@�pq_!�+�M,�
�@*����%*���*���Y����*�����,�
�*����,�
�*���W��,�
�
*���q,�
�*���\,�
�*��� �F,!�
�*�"�#W�/,$�
�*��%�,&�
��'N-2:�,(�
�*��)��,*�
�
*��+��,,�
�*��-*��.�/�0�1��,2�3�,�4N-�5�*��--�1��,6�
�*��7�8�},9�
�
*��:�j,;�
�*��*��.�<�=�>�F,?�
�*��*��.�<�=�@�#,A�
�*���B*��.�<�C�`�,����&�=�K�T�_�h�v�������������������������������&�@�I�P�W�b�n�}�����������������a>�rs�tkPuk�be�hv�wkn�=o
"!#"xy_L�+�D*���E�\�FY�GM*��.�H�I�JN-�K�-�L�M:,�0�NW���*��*��.�/�0,�O�F+�D*���P�5*��*��Q�R*��Q�S*��T�R*��T�S�U�`&	���B�L�O�g�{���a4Bz{.!|}N~�be�h��N~�n�.��� ��B�y_5�`�abeh��y_5�`abeh�]�_D*+��`�a be�\����dV�c�PKʣG�sD�jj+chatty/gui/MainGui$MainWindowListener.class���3T+	,-./0102	03	45678090:;0<=>this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMainWindowListenerInnerClasses'Lchatty/gui/MainGui$MainWindowListener;windowStateChanged(Ljava/awt/event/WindowEvent;)VeLjava/awt/event/WindowEvent;
StackMapTable
windowClosingevt?-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.java@ABCDEFGHIJKLMminimizeToTrayNOPQRcloseToTrayS%chatty/gui/MainGui$MainWindowListenerjava/awt/event/WindowAdapterchatty/gui/MainGui$1()Vjava/awt/event/WindowEventgetComponent()Ljava/awt/Component;chatty/gui/MainGuiaccess$10800+(Lchatty/gui/MainGui;Ljava/awt/Component;)Vaccess$10900(Lchatty/gui/MainGui;)ZclientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)Zaccess$11000access$11100access$4700 4*+�*����D+�*��;*�+��*���*���	��*���*������ �2�<�C�DD <!}/+�*��&*���
��
*���*������'�.�//" '%D*+��� &'()*0#PKʣGV�)Š�)chatty/gui/MainGui$MyActionListener.class���3L	Q�R�������	������������������������	��a��c���������������������������������������������������������	h�������	h�������<�<��<�<���	h���	h��	h��������	�������������this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMyActionListenerInnerClasses%Lchatty/gui/MainGui$MyActionListener;actionPerformed(Ljava/awt/event/ActionEvent;)VpasswordLjava/lang/String;channeltimeIcommandaction�Action'Lchatty/gui/components/UserInfo$Action;user
Lchatty/User;nickchannelsLjava/util/Set;eventLjava/awt/event/ActionEvent;chanLchatty/gui/components/Channel;sourceLjava/lang/Object;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;
StackMapTable�������SourceFileMainGui.javaTUV�������������������������������������	�W�
�tokenusernameW
�W����� !"
#�$W%&'()*j+,�-�.j/0123timeoutjava/lang/StringBuilder45 467�f89j:;<jmod=junmod>?@(ABCDEFGHICJHKH#chatty/gui/MainGui$MyActionListenerjava/lang/Objectjava/awt/event/ActionListener%chatty/gui/components/UserInfo$Actionchatty/gui/components/Channeljava/awt/event/ActionEventchatty/Userjava/lang/String()Vchatty/gui/MainGuiaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;	getSource()Ljava/lang/Object;chatty/gui/ChannelsgetChannelFromInput3(Ljava/lang/Object;)Lchatty/gui/components/Channel;clientLchatty/TwitchClient;getName()Ljava/lang/String;getInputTextchatty/TwitchClient	textInput'(Ljava/lang/String;Ljava/lang/String;)Vaccess$3100>(Lchatty/gui/MainGui;)Lchatty/gui/components/ConnectionDialog;&chatty/gui/components/ConnectionDialoggetCancelButton()Ljavax/swing/JButton;setVisible(Z)VsetInitialFocusgetConnectButtongetChannelInput()Ljavax/swing/JTextField;getPasswordgetChannelsettingsLchatty/util/settings/Settings;chatty/util/settings/Settings	setString'(Ljava/lang/String;Ljava/lang/String;)IrejoinOpenChannels()ZprepareConnection(Z)ZgetGetTokenButtonaccess$3200getFavoritesButtonaccess$3300)(Lchatty/gui/MainGui;Ljava/lang/String;)Vaccess$34009(Lchatty/gui/MainGui;)Lchatty/gui/components/TokenDialog;!chatty/gui/components/TokenDialoggetDeleteTokenButtonaccess$3500access$3600updateaccess$3700getRequestTokenButtonaccess$3800<(Lchatty/gui/MainGui;)Lchatty/gui/components/TokenGetDialog;$chatty/gui/components/TokenGetDialogsetLocationRelativeTo(Ljava/awt/Component;)VresetstartWebserver
getDoneButtongetVerifyTokenButton	getString&(Ljava/lang/String;)Ljava/lang/String;access$3900getCloseButtonaccess$4000access$41006(Lchatty/gui/MainGui;)Lchatty/gui/components/UserInfo;chatty/gui/components/UserInfo	getAction;(Ljava/lang/Object;)Lchatty/gui/components/UserInfo$Action;NONEgetUser()Lchatty/User;getNickTIMEOUTgetTimeoutButtonTime'(Ljava/lang/Object;)Ljava/lang/Integer;java/lang/IntegerintValue()Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)ZCOMMANDgetCommandButtonCommand&(Ljava/lang/Object;)Ljava/lang/String;MODUNMODaccess$4200=(Lchatty/gui/MainGui;)Lchatty/gui/components/FavoritesDialog;%chatty/gui/components/FavoritesDialog(Ljava/lang/Object;)IgetChannels()Ljava/util/Set;channelFavoritesLchatty/ChannelFavorites;chatty/ChannelFavoritesaddChannelsToFavorites(Ljava/util/Set;)VgetSelectedChannelsremoveChannelsFromFavoritesremoveChannels QRSTUVWX4*+�*��YZ[^_`X�	�*��+��M,�*��,�,��	+�N-*����*���*���
�<-*����-*����n*���:*���:*����W*����W*��*�����*���*���
��+�*����
*����+�*����*�*�����u+�*����N*����W*��� �W*��!*��"*���#*��$�+�*���%�6*��&*���'*��&�(*���)*��&�*��+�*���+�*���,��+�*���-�*�*����.�/��+�*��&�0�
*��1�q*��2+��3�4��*��2+��3:*��2�5:�6:*��2�7:�8�A*��2+��9�:6*��;�<Y�=�>?�>�@�A�BW�a�C�$*��2-�D:*���BW�8�E�*��F�BW��G�*��H�BW��*��I-�J�!*��I�K:*���L�M�Z*��I-�J�!*��I�N:*���L�O�-*��I-�J�*��I�N:*���L�P�Y�>% *%8&C'P(l*x+�-�.�/�0�1�3�4�56:(;:<L=S>[?i@sA�B�C�D�E�G�H�I�JLMQ/R?SKTRU^VfWyX�Y�Z�[�\�]�^�_bc d/eAfMg\hnizj�lZ�x\ab�Pcby(de�fb?�gjK�klR�mb^�cb noMnozno�[^�pq{rs*`tuv  nwMnwznwxV�%y�*z�g$�[�C)��{|yz}~(�{|yz,,)��]Q�\h�i@PKʣGv~=0505.chatty/gui/MainGui$MyContextMenuListener.class���3�	�&�'()*+,-.	�/0	�123456789:6;<	6=	>?@A6BCD2EFGH@I@J�9K9L>MNOPQ	9RS>TUVWX�YZ[\>]^6_`6ab6cdeEf>ghidjkldmnopqprst>uv6w>xy	>z{|}~d�E��������6�	>�����������������h'�j�n����o����n���6������������[�'��6�>��h�������������6����n�no�6���	��E������	��	��	����	�����	�����������6����'���������	6����������6������������[����streamCmdsLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;streamCmdsPrefixthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMyContextMenuListenerInnerClasses*Lchatty/gui/MainGui$MyContextMenuListener;userMenuItemClicked,(Ljava/awt/event/ActionEvent;Lchatty/User;)VselectedZcatNameLjava/lang/String;commandeLjava/awt/event/ActionEvent;user
Lchatty/User;cmd
StackMapTable)urlMenuItemClicked1(Ljava/awt/event/ActionEvent;Ljava/lang/String;)VurlmenuItemClicked(Ljava/awt/event/ActionEvent;)VcLchatty/gui/components/Channel;i$Ljava/util/Iterator;chansLjava/util/Collection;chanrangeILocalVariableTypeTable7Ljava/util/Collection<Lchatty/gui/components/Channel;>;��streamsMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)Vstreams*Ljava/util/Collection<Ljava/lang/String;>;I(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Ljava/lang/String;>;)VstreamInfosMenuItemClickedinfoLchatty/util/api/StreamInfo;streamInfossorting4Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;S(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;)VnameBasedStuff'(Ljava/lang/String;Ljava/lang/String;)VnamelistcmdRequiresStream(Ljava/lang/String;)ZprefixstreamStuff+(Ljava/lang/String;Ljava/util/Collection;)VstreamurlsLjava/util/List;channelsstreams2Ljava/util/ArrayList;typequality$Ljava/util/List<Ljava/lang/String;>;)Ljava/util/ArrayList<Ljava/lang/String;>;����?(Ljava/lang/String;Ljava/util/Collection<Ljava/lang/String;>;)VemoteMenuItemClicked�
EmoticonImageG(Ljava/awt/event/ActionEvent;Lchatty/util/api/Emoticon$EmoticonImage;)VresultemoteImage(Lchatty/util/api/Emoticon$EmoticonImage;emoteLchatty/util/api/Emoticon;�SourceFileMainGui.java����java/util/HashSetjava/lang/Stringprofilejoin�������livestreamer���userinfoaddressbookEdit	addressbookRemove
catjavax/swing/JCheckBoxMenuItem�copy !"ignore#�chat$%
ignoreWhisperwhisperunignoreunignoreWhisperopen&'()"channelInfo*�channelAdmin+�closeChannel,-./01b"closeAllTabscloseAllTabsButCurrent23closeAllTabsToLeftcloseAllTabsToRight45�67�89chatty/gui/components/ChanneljoinHostedChannel:;%No channel is currently being hosted.<"="srcOpen>?@ABCD;
popoutChannelE�FGHrange1hrange2hrange4hrange8hrange12hI�JKhistoryRangeLMN	sortNamesortGamegamesortRecentrecentsortViewersviewersliveStreamsSortingOPjava/util/ArrayListchatty/util/api/StreamInfoQ���RST�UVW(Can't perform action: No stream/channel.InfoXYZstreamPopout[\];�^_`�abhttp://multitwitch.tv/streamsSpeedruntv
streamsKadgarhttp://speedrun.tv/http://kadgar.net/live/cd
livestreamerQef;selectghijZshowChannelEmoteskHflmncode���opqffzlinkremoteIdtuvtw�rxtyemoteCreatorz�r;twitchturbolink{bttvlink|emoteDetails}~ignoreEmotejava/lang/StringBuilder�<html><body style='width:200px'>Ignoring an emote means showing just the code instead of turning it into an image. The list of ignored emotes can be edited in the Settings under 'Emoticons'. Do you want to ignore '�' from now on?�Ignore Emote�������
ignoredEmotes��
favoriteEmote��favoriteEmotes�����unfavoriteEmote�����'�(chatty/gui/MainGui$MyContextMenuListenerjava/lang/Object/chatty/gui/components/menus/ContextMenuListenerjava/util/Collectionjava/util/Iteratorjava/util/List
java/util/Set&chatty/util/api/Emoticon$EmoticonImagechatty/util/api/Emoticon()Vjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;equals(Ljava/lang/Object;)Zchatty/gui/MainGuiaccess$5800$(Lchatty/gui/MainGui;Lchatty/User;)Vchatty/UsergetNickaccess$5200)(Lchatty/gui/MainGui;Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientaddressbookLchatty/Addressbook;chatty/Addressbookremove-(Ljava/lang/String;)Lchatty/AddressbookEntry;access$2900startsWith	getSource()Ljava/lang/Object;isSelected()Z	substring(I)Ljava/lang/String;add?(Ljava/lang/String;Ljava/lang/String;)Lchatty/AddressbookEntry;getChannelgetRegularDisplayNick9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Zchatty/util/MiscUtilcopyToClipboard(Ljava/lang/String;)VnickcommandSetIgnored((Ljava/lang/String;Ljava/lang/String;Z)Vchatty/gui/UrlOpener
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)ZcommandJoinChannelaccess$5900access$6000access$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveChannel!()Lchatty/gui/components/Channel;getNamegetTabsRelativeToCurrent(I)Ljava/util/Collection;getTabs()Ljava/util/Collection;iterator()Ljava/util/Iterator;hasNextnextgetHostedChannel&(Ljava/lang/String;)Ljava/lang/String;	printLinejoinChannelspeedruncomLchatty/util/Speedruncom;chatty/util/SpeedruncomopenCurrentGame"(Lchatty/gui/components/Channel;)V
chatty/HelpertoStreampopoutActiveChannel
getStreamNamehashCode()Iaccess$6100settingsLchatty/util/settings/Settings;chatty/util/settings/SettingssetLong(Ljava/lang/String;J)I	setString'(Ljava/lang/String;Ljava/lang/String;)I	getStreamcontainschatty/gui/TwitchUrlremoveInvalidStreamsisEmptyaccess$6200'(Lchatty/gui/MainGui;)Ljava/awt/Window;javax/swing/JOptionPaneshowMessageDialog<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)VmakeTwitchStreamUrl'(Ljava/lang/String;Z)Ljava/lang/String;makeTwitchProfileUrlopenUrlsPrompt((Ljava/awt/Component;Ljava/util/List;Z)Zaccess$4600joinChannels(Ljava/util/Set;)VopenMultitwitch9(Ljava/util/List;Ljava/awt/Component;Ljava/lang/String;)Vchatty/util/StringUtiltoLowerCaseequalsIgnoreCaseaccess$5500@(Lchatty/gui/MainGui;)Lchatty/gui/components/LivestreamerDialog;(chatty/gui/components/LivestreamerDialogsizeaccess$6300getEmoticon()Lchatty/util/api/Emoticon;insertText(Ljava/lang/String;Z)V
getLoadedFrommakeFFZUrlTypeLchatty/util/api/Emoticon$Type;chatty/util/api/Emoticon$TypeFFZ	numericIdTWITCHmakeTwitchemotesUrlcreatormakeTwitchTurboUrlmakeBttvUrlaccess$64001(Lchatty/gui/MainGui;Lchatty/util/api/Emoticon;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringshowConfirmDialog<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)I	emoticonsLchatty/util/api/Emoticons;chatty/util/api/EmoticonsaddIgnoredEmote(Lchatty/util/api/Emoticon;)VsetAdd'(Ljava/lang/String;Ljava/lang/Object;)ZaddFavoriteaccess$6500:(Lchatty/gui/MainGui;)Lchatty/gui/components/EmotesDialog;"chatty/gui/components/EmotesDialogfavoritesUpdatedremoveFavoritelistRemovehasStreamSet*(Ljava/awt/Component;Ljava/lang/String;Z)Z ����������������tB*+�*�*�Y�YSYS���	*�Y�YSYS�����	�%��B�����mn+�
N-��*�,��N-��*�,���7-�� *���,��W*�,��-��[+���F+���6-�:�*���,��W�*���,�� W*�,���-!��#-�:*��,�",�#�$W��-%��
,�#�&�t-'��*��,�()�*�W-+��*��,�(,�*�:--��*��,�()�*�-.��*��,�(,�**-,��/��~"09KV_iu| �!�#�&�'�(�)�*�+�,�-./-061J2S3d5m6�Hu7��|0�����n��n��n��i�����%�A�(����?+�
N-0��*�,�1W�'-%��,�&�-��*��,�2��"@ABD#E*G3H>J�*?��?��?��:��������o�+�
M,3��
*��4��,5��
*��6��,7��*��*��8�9�:�;�u,<���N,=��*��8�>N�G,?��*��8�>N�/,@��*��8�>N�,<��*��8�AN-�3-�B:�C�!�D�E:*���:�;��ۧ�,F��9*��*��8�9�:�GN-�*�H�I�*��-�J��,K��*���L*��8�9�M�u,%��*��8�9�:�N�&�V,O��*��8�P�@,!��3,�N*��*��8�9�:-*��8�9�Q�$W�,R���>,:6�S��r:J�T2:J�sB:J�R:J�-bT��F6�@U��66�0V��&6� W��6�X��6�?!'-4;<>�x>��>��>��>*��Y*���Z[��\W�*,*��8�9�Q�/���7UVWY!Z+\4]N_W`Yabbqczd�e�f�g�h�j�k�l�m�o�p�q
rsu(w+x4yN{W|m~v��������������t�w�z�}����������������������\	����(��Y���
���&����������������Y����D��"�"����'�0�"8�G�"�����n+�
N*-,�]������*������������������+�
N:-^��_:�0-`��a:� -b��c:�-d��e:�*���Zf�gW�A�hY�i:,�B:�C��D�j:�k�lW���*+�m��J�����!�(�1�8�A�E�J�_�h����������R�
��p&��h5������������������h5������������%���}�hY�iN-,�lW*+-�]�������*����������5*��nM,�C�,�D�N+-������*�	+�o����%�'�*��*� ��5��5������	��	�,�p,�q�*+�r�*��stu�v�+��+w��+����hY�iN,�B:�C���D�:+:6�S�8��O�펉�+��6���6�.$�x:��y:��x:-�zW��f*��s-�{W��+��J�Y�|N,�B:�C��D�:-�}W���*��~*��-��>+�����hY�iN,�B:�C��D�:-��W����:+:6�S�8�0���A+���6����6�$ �:��:-*��s����+��TN+���+
���N-����N,�B:�C��D�:*���-����ݧ.+���%,���*�,���D��������/$%@Hf���������,5 8!?"J#V$^%|&�'�(�)�+�,�.�12456!7*8,;J<W=Z>f?p@�C�����f��P���H�
,	�"��<�|�f ��^��v�J
�4&��L�����������*H�<�^������%���;	�����	�����������!�����)�����(���%*����,��N:+�
���*��8�9-������+�
���,��:�z+�
�����:�f+�
���/-�����-����:�D-�����:-����:�.+�
���-�����-����:�+�
�����:��+�
�����:��+�
���*�-����+�
���T*��s��Y�����-������������6�"*���-��*���Z�-����W�p+�
���/*���-��*���Z�-����W*������8+�
���,*���-��*���Z�-����W*�����-���*+�
-���/�*��s��W���)GHIJ)K5L>MJNRO^PhQtR~S�U�V�W�Y�Z�[�\�]�^�`�a!h&i1jElHmTn_osp�r�s�t�u�w�x�z�{�}�>!$�������� �!"�����)#�!!�Y74$%��6����s@PKʣG(��XX,chatty/gui/MainGui$MyLinkLabelListener.class���3X1	23456789:7;<=>?@ABCDEF7GHIJthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMyLinkLabelListenerInnerClasses(Lchatty/gui/MainGui$MyLinkLabelListener;linkClicked'(Ljava/lang/String;Ljava/lang/String;)VtypeLjava/lang/String;ref
StackMapTableK-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.javaLhelpMNOPQR
help-settingshelp-settings.htmlS$help-adminhelp-admin.htmlhelp-livestreamerhelp-livestreamer.htmlhelp-whisperhelp-whisper.htmlurlTUVupdateshowW&chatty/gui/MainGui$MyLinkLabelListenerjava/lang/Object'chatty/gui/components/LinkLabelListenerchatty/gui/MainGui$1()Vjava/lang/Stringequals(Ljava/lang/Object;)Zchatty/gui/MainGuiaccess$4400)(Lchatty/gui/MainGui;Ljava/lang/String;)VopenHelpchatty/gui/UrlOpener
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)Zaccess$4500 4*+�*��{"#$$�+��*�,���+��*�,�	�s+��*�,�	�]+��*�
,�	�G+��*�,�	�1+��*�,�W�+��,��*���B~	��*�3�@�I�V�_�l�u��������� �"�%&�'&(	+D*+��{ ",-./0!7 )PKʣG���AA5chatty/gui/MainGui$MyNotificationActionListener.class���3=	(		) *+,	+-./0	1234this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMyNotificationActionListenerInnerClasses1Lchatty/gui/MainGui$MyNotificationActionListener;notificationAction(Ljava/lang/String;)VdataLjava/lang/String;
StackMapTable(Ljava/lang/Object;)Vx0Ljava/lang/Object;5-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx1Lchatty/gui/MainGui$1;	Signature[Ljava/lang/Object;Lchatty/gui/notifications/NotificationActionListener<Ljava/lang/String;>;SourceFileMainGui.java
6789:;<java/lang/String/chatty/gui/MainGui$MyNotificationActionListenerjava/lang/Object3chatty/gui/notifications/NotificationActionListenerchatty/gui/MainGui$1()Vchatty/gui/MainGuiaccess$4600clientLchatty/TwitchClient;chatty/TwitchClientjoinChannel 	
4*+�*���`+�*��*��+������A=	*+����		!D*+��� 
"#$%&'	+PKʣGL.��2chatty/gui/MainGui$MySettingChangeListener$1.class���32	#	$	%	&'()*+val$settingLjava/lang/String;val$typeI	val$valueLjava/lang/Object;this$1-MySettingChangeListenerInnerClasses,Lchatty/gui/MainGui$MySettingChangeListener;<init>T(Lchatty/gui/MainGui$MySettingChangeListener;Ljava/lang/String;ILjava/lang/Object;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/MainGui$MySettingChangeListener$1;run()VSourceFileMainGui.javaEnclosingMethod./
0,chatty/gui/MainGui$MySettingChangeListener$1java/lang/Objectjava/lang/Runnable1*chatty/gui/MainGui$MySettingChangeListenersettingChanged((Ljava/lang/String;ILjava/lang/Object;)Vaccess$9400chatty/gui/MainGui 	
D*+�*,�*�*�*��
�B*�*�*�*���
�
� !",PKʣG�ma��0chatty/gui/MainGui$MySettingChangeListener.class���3�v�v�	v�w��������	��4��������������	��������	����������������4�����	���������������������������	��	����������������	������E����E����������������	 U
��	�	�� !�"#	�$%&'()*+MySettingChangeListenerInnerClassesthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/MainGui$MySettingChangeListener;settingChanged((Ljava/lang/String;ILjava/lang/Object;)VsettingLjava/lang/String;typeIvalueLjava/lang/Object;
StackMapTablesettingChangedInternalboolZnotificationSettingsLjava/util/Set;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;,--(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;access$9400T(Lchatty/gui/MainGui$MySettingChangeListener;Ljava/lang/String;ILjava/lang/Object;)Vx2x3SourceFileMainGui.java��~|}~./01,chatty/gui/MainGui$MySettingChangeListener$1~�23java/lang/Boolean41ontop56789highlightUsername:;highlightNextMessages<popoutSaveAttributespopoutCloseLastChannel=livestreamer>?�attachedWindows@ABC9globalHotkeysEnabledDEFG9imageCacheHI9
mainResizableJ9streamChatResizableKLMtitleNOP9QRST�,U6VWX.YZ[\.]^_`^timeoutButtonsabjava/lang/Stringcdetokenfghijklelafmneo.	highlightpignoreqhotkeysrstudialogFontSizejava/lang/LongvwxystreamChatMessageTimeoutz{|}emoteScaleDialog~��}channelFavoriteschannelHistory�liveStreamsSorting�historyRange�java/util/HashSetnScreen	nPositionnDisplayTimenMaxDisplayTime
nMaxDisplayed
nMaxQueueSize	nActivity
nActivityTime���~��spamProtection�e	urlPrompt��9abUniqueCats����ecommands���t.channelContextMenuuserContextMenulivestreamerQualities�chatScrollbarAlways
userlistWidth�
ignoredEmotes��������*chatty/gui/MainGui$MySettingChangeListenerjava/lang/Object*chatty/util/settings/SettingChangeListener
java/util/Setchatty/gui/MainGui$1()Vjavax/swing/SwingUtilitiesisEventDispatchThread()ZinvokeLater(Ljava/lang/Runnable;)VbooleanValueequals(Ljava/lang/Object;)Zchatty/gui/MainGuisetAlwaysOnTop(Z)Vaccess$9500(Lchatty/gui/MainGui;Z)Vaccess$9600access$9700-chatty/gui/components/menus/ContextMenuHelperenableLivestreameraccess$98005(Lchatty/gui/MainGui;)Lchatty/gui/WindowStateManager;chatty/gui/WindowStateManagersetAttachedWindowsEnabled
hotkeyManager#Lchatty/util/hotkeys/HotkeyManager;!chatty/util/hotkeys/HotkeyManagersetGlobalHotkeysEnabledchatty/util/ImageCachesetCachingEnabledsetResizableaccess$81008(Lchatty/gui/MainGui;)Lchatty/gui/components/StreamChat; chatty/gui/components/StreamChatstartsWith(Ljava/lang/String;)ZupdateStateaccess$9900)(Lchatty/gui/MainGui;Ljava/lang/String;)Vchatty/gui/StyleManagersettingNamescontainsaccess$10000/(Lchatty/gui/MainGui;)Lchatty/gui/StyleManager;refreshaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/Channels
refreshStylesaccess$5600A(Lchatty/gui/MainGui;)Lchatty/gui/components/HighlightedMessages;)chatty/gui/components/HighlightedMessagesaccess$5700access$41006(Lchatty/gui/MainGui;)Lchatty/gui/components/UserInfo;chatty/gui/components/UserInfosetUserDefinedButtonsDef(Ljava/lang/String;)VclientLchatty/TwitchClient;chatty/TwitchClientapiLchatty/util/api/TwitchApi;chatty/util/api/TwitchApisetTokenchatty/gui/GuiUtilsetLookAndFeelupdateLookAndFeelaccess$10100access$10200settingsLchatty/util/settings/Settings;loadFromSettings"(Lchatty/util/settings/Settings;)V	longValue()JsetFontSize(F)VintValue()IsetMessageTimeout(I)Vaccess$6500:(Lchatty/gui/MainGui;)Lchatty/gui/components/EmotesDialog;"chatty/gui/components/EmotesDialog
setEmoteScaleaccess$10300access$10400access$6100java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)Vaccess$10500setLinesPerSecondschatty/gui/UrlOpener	setPromptaddressbookLchatty/Addressbook;chatty/AddressbooksetSomewhatUniqueCategoriescustomCommandsLchatty/CustomCommands;chatty/CustomCommandsaccess$10600access$10700	emoticonsLchatty/util/api/Emoticons;chatty/util/settings/SettingsgetList$(Ljava/lang/String;)Ljava/util/List;chatty/util/api/EmoticonssetIgnoredEmotes vwx|}~�4*+�*���
�������}��
*+-���Y*+-����
�
�
�
��*���������
���\��-�	�6+��*�-�	��
��+��*�-�	����+��
*����+��+��
*����+��-�	���x+��*��-�	���[+��*��-�	���>+����-+��*�� �+!��*��"�#+$�%�*��&*�+�'�(+�)�5*��*�+*��,�-*��.�/*��0�/*��"�1�M+2��*��3-�4�5�3+6��*��7�8-�4�9�+:��
-�4�;�<�F+=��
*��>�3+?��
*��@� +A��*��*��7�B�C�X+D��*��3-�E�F��G�:+H��*��"-�E�I�J�+K��*��L-�E�I�M+N��+O��*��P+Q��*��R+S��*��T�UY�4YVSYWSYXSYYSYZSY[SY\SY]S�^�_:+�)�*��`+a��*��7-�4�b+c��
-�	��d+e��*��7�f-�4�g+h��*��7�i�j+k��+l��+m��
*��n�A+o��+p��
*��q�%+r��*��s*��7�Br�t�u��6M
�
�

�
�'
�0
�A
�J
�T
�f
�p
�y
��
��
��
��
��
��
��
��
��
��
��
�
�
� *4>HR	W`qz
������������� )!2"C%U(\*e+l-u.|0�3�4�6�7�9�:�<�=
?@#B>CHEZFdHmI�K�>
������������������������1%�'	�="�L�		!~��D*+���
�� ���}�����P*+-���
��*����������zv�y�PKʣGi5� ��+chatty/gui/MainGui$MySettingsListener.class���3`+	,-./	01234	56	7895:;<=>	5?@ABCDthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMySettingsListenerInnerClasses'Lchatty/gui/MainGui$MySettingsListener;aboutToSaveSettings"(Lchatty/util/settings/Settings;)VsettingsLchatty/util/settings/Settings;
StackMapTableE-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.javaFGHIJKLSaving GUI settings.MNOPQRS !favoritesSortingTUVWXYZ[\]^_%chatty/gui/MainGui$MySettingsListenerjava/lang/Object%chatty/util/settings/SettingsListenerchatty/gui/MainGui$1()Vjavax/swing/SwingUtilitiesisEventDispatchThread()Zjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vchatty/gui/MainGuiclientLchatty/TwitchClient;chatty/TwitchClientaccess$4200=(Lchatty/gui/MainGui;)Lchatty/gui/components/FavoritesDialog;%chatty/gui/components/FavoritesDialoggetSorting()Ichatty/util/settings/SettingssetLong(Ljava/lang/String;J)I	emoticonsLchatty/util/api/Emoticons;chatty/util/api/EmoticonssaveFavoritesToSettings 4*+�*��N�5��1��*���	*�����
W*��+��RST)U4W55 !"4%D*+��N &'()*5#PKʣG��@�..'chatty/gui/MainGui$MyUserListener.class���3p7	89:;:<=>	=?	@ABCDEFGFHFIJKJL@M=NOPQthis$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMyUserListenerInnerClasses#Lchatty/gui/MainGui$MyUserListener;userClicked+(Lchatty/User;Ljava/awt/event/MouseEvent;)Vuser
Lchatty/User;eLjava/awt/event/MouseEvent;commandLjava/lang/String;
StackMapTableRemoteClicked8(Lchatty/util/api/Emoticon;Ljava/awt/event/MouseEvent;)VemoteLchatty/util/api/Emoticon;S-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.javaTUVWXWYZ[\]^_`commandOnCtrlClickabc/RdefghWijklk'mno!chatty/gui/MainGui$MyUserListenerjava/lang/Objectchatty/gui/UserListenerjava/lang/Stringchatty/gui/MainGui$1()Vjava/awt/event/MouseEvent
isControlDown()Z	isAltDownchatty/gui/MainGuiaccess$5800$(Lchatty/gui/MainGui;Lchatty/User;)VclientLchatty/TwitchClient;chatty/TwitchClientsettingsLchatty/util/settings/Settings;chatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;startsWith(Ljava/lang/String;)Z	substring(I)Ljava/lang/String;isEmptychatty/UsergetChannel()Ljava/lang/String;getRegularDisplayNick9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Zaccess$64001(Lchatty/gui/MainGui;Lchatty/util/api/Emoticon;)V 4*+�*��� !"�o,�,��,��*�+��*���	�N-��	-�
N,��!-��*��+�-+��W�,��*�+��.����+�4�:�H�_�f�n�*o o#$o%&+D'()�*$+,K	*�+���� 	 	-.	%&1D*+���  23456=/PKʣG�d33)chatty/gui/MainGui$MyWindowListener.class���34!	"#$%&'&()*this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisMyWindowListenerInnerClasses%Lchatty/gui/MainGui$MyWindowListener;
windowClosing(Ljava/awt/event/WindowEvent;)VeLjava/awt/event/WindowEvent;
StackMapTable+-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.java	,-./0123#chatty/gui/MainGui$MyWindowListenerjava/awt/event/WindowAdapterchatty/gui/MainGui$1()Vjava/awt/event/WindowEvent	getSource()Ljava/lang/Object;chatty/gui/MainGuiaccess$3800<(Lchatty/gui/MainGui;)Lchatty/gui/components/TokenGetDialog;access$4000 	
4*+�*��}
[+�*���*������
D*+��}  &PKʣG����%chatty/gui/MainGui$StateUpdater.class���36L�	L�M�	L�L����	������L�L�������������L�������	����������������������%�#�������������1�1��1��#������������#����������������������stateLastUpdatedJUPDATE_STATE_DELAYI
ConstantValue�this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisStateUpdaterInnerClasses!Lchatty/gui/MainGui$StateUpdater;update()V(Z)VforcedZstate
StackMapTableupdateMenuState(I)VupdateTitlestitleLjava/lang/String;channelLchatty/gui/components/Channel;i$Ljava/util/Iterator;	mainTitletrayTooltippopoutChannelsLjava/util/Map;LocalVariableTypeTableELjava/util/Map<Lchatty/gui/components/Channel;Ljavax/swing/JDialog;>;���	makeTitle4(Lchatty/gui/components/Channel;I)Ljava/lang/String;uptimenumViewershideCountschanNameTextnumUsers	chanStatestreamInfoLchatty/util/api/StreamInfo;channelName	stateText����-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.javaVWTUV`NO_a����������Wfghg��connect�����adisconnect���xy	simpleTitleChatty
��chatty/gui/components/Channeljavax/swing/JDialogConnecting..
Connecting...�	Connected
Not connectedReconnecting..titleShowViewerCountjava/lang/StringBuilder  [W]! - "�#$%&*titleShowChannelState'()* +,-�./titleShowUptime0�123|4� []5	 - Chattychatty/gui/MainGui$StateUpdaterjava/lang/Objectjava/lang/String
java/util/Mapjava/util/Iteratorchatty/util/api/StreamInfochatty/gui/MainGui$1java/lang/SystemcurrentTimeMillis()Jchatty/gui/MainGuiclientLchatty/TwitchClient;chatty/TwitchClientgetState()Iaccess$8600access$4800+(Lchatty/gui/MainGui;)Lchatty/gui/MainMenu;chatty/gui/MainMenugetMenuItem+(Ljava/lang/String;)Ljavax/swing/JMenuItem;javax/swing/JMenuItemsetEnabledaccess$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;chatty/gui/ChannelsgetActiveTab!()Lchatty/gui/components/Channel;getLastActiveChannelaccess$87002(Lchatty/gui/MainGui;)Lchatty/gui/TrayIconManager;chatty/gui/TrayIconManagersetTooltipText(Ljava/lang/String;)VsettingsLchatty/util/settings/Settings;chatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)ZsetTitlegetPopoutChannels()Ljava/util/Map;keySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;getName()Ljava/lang/String;isEmptyisWhisperAvailableappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringgetNumUsers
chatty/HelperformatViewerCount(I)Ljava/lang/String;isUserlistLoadedgetChannelState)(Ljava/lang/String;)Lchatty/ChannelState;chatty/ChannelStategetInfo
getStreamName
getStreamInfo0(Ljava/lang/String;)Lchatty/util/api/StreamInfo;isValid	getOnlinegetTimeStartedWithPicnicchatty/util/DateTimeagoUptimeCompact(J)Ljava/lang/String;getViewers
getFullStatus LMNOPQRSTUVWX=*+�*�*	��Y	Z[^_`X4*��Y*+Z[^_aX�8��*�e���*��*��	�=*��*�*�
�Y"ABDF&H-I2J7KZ 8[^8bc&dQefgX�Z��*�����*������*�����*�����YS	TV,Y6ZI\Y^ZZ[^ZdQe		hgXk�**����M**����N*��-�*��	���*���*�,�*���:�� :�!�,�"�#:*�:�$�%�&��бY2hi j+k=lInQp]q�r�s�t�uZR�ij�klk3mn�[^�dQ�oj pj]Bqrs]Bqte�Iuu�vw�2xyX�
�+�'N(:�):�6�*:�*�-�+�,:��-:��.::-�+�Q*��	�/���6-:*��	�0��1Y�2�34�3�5:�+��1Y�2�36�3�5:+�7�8:*��	-�9��1Y�2�3:�3�5:�(:(:	*��	�;��*��	-�<�=:		�+��1Y�2>�3	�3�5:	*�+�?�@:�A��B��(:*��	�C��
�D�E:�1Y�2F�3�G�8�3�5:*��	�/��(:�!�+��1Y�2F�3�3�5:�1Y�2�3�3H�3�3�3�3I�3�5:�>�1Y�2�3�3�5:�#�1Y�2�3H�3�3I�3�5:�1Y�2�3	�36�3�J�3�5:�T�1Y�2�3�3�5:�#�1Y�2�3H�3�3I�3�5:�1Y�2�3	�3�5:�&*��	�0��1Y�2�34�3�5:�1Y�2�3K�3�5:�Y�8��	����!�&�-�4�8�?�D�H�L�S�l�o�|�����������������������*�7�?�G�K�]�g�����������������'�M�c�h�����������Z�
K�zj�f{jl2|co/}j��~j��j	7g���[^�kl�dQ��j	��jL�ije\�uu� u@�'u�,u�%u�<�u�4u�1:%:���uuu"V�XD*+��YZ [^�U����]L�\�PKʣG�4A��)chatty/gui/MainGui$TrayMenuListener.class���3B (	)*+,-./01203456this$0Lchatty/gui/MainGui;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisTrayMenuListenerInnerClasses%Lchatty/gui/MainGui$TrayMenuListener;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;cmdLjava/lang/String;
StackMapTable78-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vx0x1Lchatty/gui/MainGui$1;SourceFileMainGui.java
9:;<show7=>?@exitA#chatty/gui/MainGui$TrayMenuListenerjava/lang/Objectjava/awt/event/ActionListenerjava/lang/Stringchatty/gui/MainGui$1()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;equals(Ljava/lang/Object;)Zchatty/gui/MainGuiaccess$4600access$4700 
4*+�*����-+�M,�,��
*���,��*��	�����%�,� --(�	"D*+��� #$%&'0 PKʣG��"�"chatty/gui/MainGui.class���3 	�w�x�y�z�{�|�}�~�������	����	��������	��	��	��	������	����	��	������	����	��������	����	��������������	��	����������������	��	��	��	������������	����������	��	��	������	��������	������	��	��������	��������������������������	�������f�	��	���j��l��n��p�	���s�	���v�	���y��{�	������������������������������	������	�����	 ��
���������	�������	��� �!"	#$	%&�'	#()�*+���,-�./���01	%2�3456�789:�;�<=�>?@A�BC���DE	%F�G	�HI	%J�KL�MN�OP��QRS��QTUVQW�XY��Z�[�\l]�^�_�`ab	%cdef	%ghijklmnop�qrst3uv	�wpx	�yz{�|�}	~���������������%���������p��*O*��-��������3����7����;����?�����D�������J�����O�����T�����Y�����^����b�����g�����l�����q�����v����z����~������������������������������������������������������������������������������	��
������������������Q� �!"#$%&'()Q*�+�,-./0�12Q3�45f6f7f8�a9:�;<p=p>?�@A�B	�C�D�EFjGHI	JKL	JMN	JOP	JQ	J2RS�TU�VjWXjYZj[\�]^�_`�ab�cde�f�gh�ij�kl�mn�op�qQr�st�u�v�w�x�y�z�{Q|�}��W�~Y���������������	%�����������S�%������������������`�	%����	%�����	%����������f��������P�������.���.�����������@$���%��������������������������������	��	����������������������������	��������������~���%������������������������������%�������������������		�		�			�					 		 				~			��	�		�	�		���					(		 		!	"	#	$	%Q	&	'	(�	)	*	+j	,	-�	.�	/��	0��	1	2	3�	4	5�	6�	7�	8�	9!		:#��	;	<&	=�	>�	?	@*	A	B,���	C/��	D	E2�	F4	3	G6	3	H8�	I:�	J<�%	K	L?�	MA�	NC�	OE��	P	QH	R	SJ������	T	UP�	VR	W	XT	Y	ZV	[	\X�	]Z�	^\��%	_Q	`��	aa��	b	ce	d	eg��	f	g		h	i	j	k	l�	m		h	n	o		h	p	q	r	s	t�	u�	v	w	x		h	y	z		h	{	|		h	}	~		h	�	��	�	���	��	�	��	�	��	�a	�a	�a	�	��	��	�	��	Y	��	�	�	�Q	��	�%	��	��	��	��	�	��	�		�	��	�	�	�	�	�	�	�	�	����a	�	��	�	��	�a	�Q	�f	�f	�	�Q	�	�	����	�	��	�%�p	��	�	��	�	�	�	�	�	�	�	�	�	�	�	�	�	�MainWindowListenerInnerClassesMyWindowListenerMySettingsListenerMySettingChangeListenerStateUpdaterMyNotificationActionListenerMyUserListenerChannelChangeListenerMyContextMenuListenerMainMenuListenerTrayMenuListenerMyLinkLabelListenerDebugCheckboxListenerMyActionListenerCOLOR_NEW_MESSAGELjava/awt/Color;COLOR_NEW_HIGHLIGHTED_MESSAGE	emoticonsLchatty/util/api/Emoticons;clientLchatty/TwitchClient;guiCreatedZchannelsLchatty/gui/Channels;connectionDialog(Lchatty/gui/components/ConnectionDialog;tokenDialog#Lchatty/gui/components/TokenDialog;tokenGetDialog&Lchatty/gui/components/TokenGetDialog;debugWindow#Lchatty/gui/components/DebugWindow;userInfoDialog Lchatty/gui/components/UserInfo;aboutDialog"Lchatty/gui/components/help/About;channelInfoDialog)Lchatty/gui/components/ChannelInfoDialog;settingsDialog/Lchatty/gui/components/settings/SettingsDialog;adminDialog#Lchatty/gui/components/AdminDialog;favoritesDialog'Lchatty/gui/components/FavoritesDialog;joinDialog"Lchatty/gui/components/JoinDialog;highlightedMessages+Lchatty/gui/components/HighlightedMessages;ignoredMessagesmenuLchatty/gui/MainMenu;liveStreamsDialog)Lchatty/gui/components/LiveStreamsDialog;notificationManager.Lchatty/gui/notifications/NotificationManager;	SignatureBLchatty/gui/notifications/NotificationManager<Ljava/lang/String;>;errorMessage$Lchatty/gui/components/ErrorMessage;addressbookDialog)Lchatty/gui/components/AddressbookDialog;srlLchatty/gui/components/srl/SRL;livestreamerDialog*Lchatty/gui/components/LivestreamerDialog;
updateMessage%Lchatty/gui/components/UpdateMessage;emotesDialog$Lchatty/gui/components/EmotesDialog;followerDialog'Lchatty/gui/components/FollowersDialog;subscribersDialogstreamChat"Lchatty/gui/components/StreamChat;highlighterLchatty/gui/Highlighter;
ignoreCheckerstyleManagerLchatty/gui/StyleManager;trayIconLchatty/gui/TrayIconManager;state!Lchatty/gui/MainGui$StateUpdater;windowStateManagerLchatty/gui/WindowStateManager;ignoredMessagesHelperLchatty/gui/IgnoredMessages;
hotkeyManager#Lchatty/util/hotkeys/HotkeyManager;actionListenerLjava/awt/event/ActionListener;windowListenerLjava/awt/event/WindowListener;userListenerLchatty/gui/UserListener;linkLabelListener)Lchatty/gui/components/LinkLabelListener;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;menuBooleanSettings[Ljava/lang/String;manuallyChangedTokenLjava/lang/String;<init>(Lchatty/TwitchClient;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/MainGui;run()VcreateImage$(Ljava/lang/String;)Ljava/awt/Image;namesetWindowIconswindowIconsLjava/util/ArrayList;LocalVariableTypeTable'Ljava/util/ArrayList<Ljava/awt/Image;>;setLiveStreamsWindowIconssetHelpWindowIcons	createGuimenuListener%Lchatty/gui/MainGui$MainMenuListener;
StackMapTableY
popoutCreated(Ljavax/swing/JDialog;)VpopoutLjavax/swing/JDialog;getSettingsDialog1()Lchatty/gui/components/settings/SettingsDialog;
hotkeyCommand((Ljava/lang/String;Ljava/lang/String;Z)Vcommandparameter2selectedUserRequiredchannelLchatty/gui/components/Channel;selectedUser
Lchatty/User;selectedUserName	parameter	�	�	��	�
addMenuActionN(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjavax/swing/Action;)Vidlabel	menuLabelmnemonicIactionLjavax/swing/Action;addListenersmanagerLchatty/gui/WindowManager;mainWindowListener'Lchatty/gui/MainGui$MainWindowListener;showGui
toggleCompact(Z)VmaximizehideZmakeVisibleloadSettingsloadSettingsInternalloadMenuSettingssettingarr$len$i$3loadMenuSetting(Ljava/lang/String;)VupdateHighlightupdateIgnoreupdateCustomContextMenuEntriesupdateChannelsSettingsupdateHighlightSetUsernameusername%updateHighlightSetUsernameHighlighted	highlightupdateHighlightNextMessagesupdateNotificationSettingsactivityTimeupdatePopoutSettingssaveWindowStates
reopenWindowsreopenWindow(Ljava/awt/Window;)VwindowLjava/awt/Window;	saveState(Ljava/awt/Component;)VcLjava/awt/Component;isMaximized()ZupdateConnectionDialog
channelPresetpasswordtokenusePasswordupdateChannelInfoDialogstreamstreamInfoLchatty/util/api/StreamInfo;updateTokenDialogupdateFavoritesDialog	favoritesLjava/util/Set;historyLjava/util/Map;#Ljava/util/Set<Ljava/lang/String;>;3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>; updateFavoritesDialogWhenVisibleupdateUserinfo(Lchatty/User;)VuserupdateUserInfoDialogupdateLiveStreamsDialogupdateHistoryRangerangeopenTokenDialog
addStreamInfo(Lchatty/util/api/StreamInfo;)VgetActionListener!()Ljava/awt/event/ActionListener;getStatusHistory()Lchatty/StatusHistory;getSaveStatusHistorySettinggetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;clearHistorygetUserListener()Lchatty/gui/UserListener;getUsercolorData()Ljava/util/List;*()Ljava/util/List<Lchatty/UsercolorItem;>;setUsercolorData(Ljava/util/List;)VdataLjava/util/List;(Ljava/util/List<Lchatty/UsercolorItem;>;+(Ljava/util/List<Lchatty/UsercolorItem;>;)VgetUsericonData%()Ljava/util/List<Lchatty/Usericon;>;setUsericonData#Ljava/util/List<Lchatty/Usericon;>;&(Ljava/util/List<Lchatty/Usericon;>;)VcommandGui'(Ljava/lang/String;Ljava/lang/String;)ZmessagemLchatty/gui/Message;splitqualitywidthheightex!Ljava/lang/NumberFormatException;dLjava/awt/Dimension;�insert(Ljava/lang/String;Z)VtextspacesopenLiveStreamsDialogtoggleLiveStreamsDialogopenUserInfoDialogopenChannelInfoDialogtoggleChannelInfoDialogcloseDialog(Ljavax/swing/JDialog;)ZdialogopenChannelAdminDialogtoggleChannelAdminDialogopenHelpref'(Ljava/lang/String;Ljava/lang/String;)VpagekeepPagetoggleHelpopenReleaseInfoopenSearchDialogopenEmotesDialogopenEmotesDialogChannelEmotesopenEmotesDialogEmoteDetails(Lchatty/util/api/Emoticon;)VemoteLchatty/util/api/Emoticon;toggleEmotesDialogopenFollowerDialogtoggleFollowerDialogopenSubscriberDialogtoggleSubscriberDialogopenUpdateDialog'openFavoritesDialogFromConnectionDialog	�chooseFavorites7(Ljava/awt/Component;Ljava/lang/String;)Ljava/util/Set;ownerresultK(Ljava/awt/Component;Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;openFavoritesDialogToJoinselectedChannelsopenJoinDialogchansopenHighlightedMessagestoggleHighlightedMessagesopenIgnoredMessagestoggleIgnoredMessagesopenAddressbooktoggleAddressbookopenSrlRaces
removeChannelswitchToChannelmessageSoundplayHighlightSound
followerSound	playSoundplaySoundInternalfileNamevolumeJdelayshowHighlightNotification4(Ljava/lang/String;Lchatty/User;Ljava/lang/String;)VsetChannelNewStatus	newStatusstatusNotificationstatusshowNotification9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VtitleshowTestNotificationcheckRequirements
channelActive	appActiveisAppActiveframe[Ljava/awt/Window;,getActiveWindow()Ljava/awt/Window;printMessageG(Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)VtoChanemotesuserIgnored(Lchatty/User;Z)ZwhisperprocessMessage&(Ljava/lang/String;)Ljava/lang/String;modecheckHighlightM(Lchatty/User;Ljava/lang/String;Lchatty/gui/Highlighter;Ljava/lang/String;Z)ZhlisOwnMessageignoredMessagesCountshowIgnoredInfo
isOwnUsername(Ljava/lang/String;)ZownUsernameuserBanned"(Ljava/lang/String;Lchatty/User;)V	clearChattestHotkey	printLinelineprintSystemprintLineAll	printInfo4(Lchatty/gui/components/Channel;Ljava/lang/String;)VprintCompact4(Ljava/lang/String;Ljava/lang/String;Lchatty/User;)Vtypesearch&(Ljava/awt/Window;Ljava/lang/String;)ZsearchTextchanresetSearchshowMessageprintDebug
printDebugIrcaddUserremoveUserupdateUserresortUsersclearUsers	reconnectsetUpdateAvailablenewVersionshowSettingssetColoritemupdateChannelInfoupdateStateforcedopenConnectDialogopenConnectDialogInternalopenStreamChatsetStreamChatSize(II)VupdateEmotesDialogupdateEmoticons#(Lchatty/util/api/EmoticonUpdate;)Vupdate Lchatty/util/api/EmoticonUpdate;addEmoticons(Ljava/util/Set;)V+Ljava/util/Set<Lchatty/util/api/Emoticon;>;.(Ljava/util/Set<Lchatty/util/api/Emoticon;>;)VsetEmotesets(Ljava/util/Map;)V	emotesets6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;9(Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;)VwebserverStartedwebserverErrorerrorwebserverTokenReceivedtokenGetDialogClosed
tokenReceivedverifyToken
tokenVerified0(Ljava/lang/String;Lchatty/util/api/TokenInfo;)V	tokenInfoLchatty/util/api/TokenInfo;changeTokentokenVerifiedInternalcurrentUsernamegetNewLoginshowInDialogchangedTokenResponsevalid	�setTokenScopes(Lchatty/util/api/TokenInfo;)VinfoupdateTokenScopeschatcommercialseditor
subscriptionsresetTokenScopesshowTokenWarningsetSubscriberInfo!(Lchatty/util/api/FollowerInfo;)VLchatty/util/api/FollowerInfo;setFollowerInfosetChannelInfo3(Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)VLchatty/util/api/ChannelInfo;putChannelInfo2(Ljava/lang/String;Lchatty/util/api/ChannelInfo;)VgetChannelInfoperformGameSearchgetActiveStream()Ljava/lang/String;setGameFavorites&(Ljava/util/Set<Ljava/lang/String;>;)VgetGameFavorites()Ljava/util/Set;%()Ljava/util/Set<Ljava/lang/String;>;gameSearchResultgamesputChannelInfoResult(I)VsaveCommercialDelaySettings(ZJ)VenabledloadCommercialDelaySettingslength
runCommercial(Ljava/lang/String;I)VcommercialResult((Ljava/lang/String;Ljava/lang/String;I)VgetOpenChannelsLjava/util/Iterator;$Ljava/util/List<Ljava/lang/String;>;	�	�&()Ljava/util/List<Ljava/lang/String;>;
getStreamInfo0(Ljava/lang/String;)Lchatty/util/api/StreamInfo;streamsprintStreamInforequestFollowedStreamsgetSettings!()Lchatty/util/settings/Settings;getSettingNames()Ljava/util/Collection;,()Ljava/util/Collection<Ljava/lang/String;>;
getEmoteNamesgetEmoteNamesPerStream*(Ljava/lang/String;)Ljava/util/Collection;>(Ljava/lang/String;)Ljava/util/Collection<Ljava/lang/String;>;getCustomCompletionItemkeyupdateEmoteNamesgetWindowListener!()Ljava/awt/event/WindowListener;isMinimizedminimizeToTraycleanupAfterRestoredFromTray6(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)VLjava/util/logging/LogRecord;previousLjava/util/LinkedList;5Ljava/util/LinkedList<Ljava/util/logging/LogRecord;>;U(Ljava/util/logging/LogRecord;Ljava/util/LinkedList<Ljava/util/logging/LogRecord;>;)VexitcleanUpaccess$1200<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Z)Vx0x1x2x3access$1300+(Lchatty/gui/MainGui;)Lchatty/gui/Channels;access$1400(Lchatty/gui/MainGui;)Vaccess$1500access$1600access$1700access$1800access$1900access$2000access$2100access$2200access$2300(Lchatty/gui/MainGui;I)Vaccess$2400access$2500access$2600D(Lchatty/gui/MainGui;)Lchatty/gui/notifications/NotificationManager;access$2700access$2800access$2900$(Lchatty/gui/MainGui;Lchatty/User;)Vaccess$3000?(Lchatty/gui/MainGui;)Lchatty/gui/components/LiveStreamsDialog;access$3100>(Lchatty/gui/MainGui;)Lchatty/gui/components/ConnectionDialog;access$3200access$3300)(Lchatty/gui/MainGui;Ljava/lang/String;)Vaccess$34009(Lchatty/gui/MainGui;)Lchatty/gui/components/TokenDialog;access$3500access$3600access$3700access$3800<(Lchatty/gui/MainGui;)Lchatty/gui/components/TokenGetDialog;access$3900access$4000access$41006(Lchatty/gui/MainGui;)Lchatty/gui/components/UserInfo;access$4200=(Lchatty/gui/MainGui;)Lchatty/gui/components/FavoritesDialog;access$43009(Lchatty/gui/MainGui;)Lchatty/gui/components/DebugWindow;access$4400access$4500access$4600access$4700access$4800+(Lchatty/gui/MainGui;)Lchatty/gui/MainMenu;access$4900access$5000E(Lchatty/gui/MainGui;)Lchatty/gui/components/settings/SettingsDialog;access$5100access$5200access$5300access$54005(Lchatty/gui/MainGui;)Lchatty/gui/components/srl/SRL;access$5500@(Lchatty/gui/MainGui;)Lchatty/gui/components/LivestreamerDialog;access$5600A(Lchatty/gui/MainGui;)Lchatty/gui/components/HighlightedMessages;access$5700access$5800access$5900access$6000access$6100access$6200'(Lchatty/gui/MainGui;)Ljava/awt/Window;access$6300access$64001(Lchatty/gui/MainGui;Lchatty/util/api/Emoticon;)Vaccess$6500:(Lchatty/gui/MainGui;)Lchatty/gui/components/EmotesDialog;access$66007(Lchatty/gui/MainGui;)Lchatty/gui/MainGui$StateUpdater;access$6700access$6800;(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;)Vaccess$6900;(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;)Zaccess$7000M(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vaccess$7100%(Lchatty/gui/MainGui;Lchatty/User;Z)Zaccess$7200)(Lchatty/gui/MainGui;Ljava/lang/String;)Zaccess$7300.(Lchatty/gui/MainGui;)Lchatty/gui/Highlighter;access$7400a(Lchatty/gui/MainGui;Lchatty/User;Ljava/lang/String;Lchatty/gui/Highlighter;Ljava/lang/String;Z)Zx4x5access$7500access$7600access$7700H(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;Ljava/lang/String;)Vaccess$7800access$79002(Lchatty/gui/MainGui;)Lchatty/gui/IgnoredMessages;access$8000(Lchatty/gui/MainGui;)Zaccess$81008(Lchatty/gui/MainGui;)Lchatty/gui/components/StreamChat;access$8200:(Lchatty/gui/MainGui;Ljava/lang/String;)Ljava/lang/String;access$8300H(Lchatty/gui/MainGui;Lchatty/gui/components/Channel;Ljava/lang/String;)Vaccess$8400?(Lchatty/gui/MainGui;)Lchatty/gui/components/LinkLabelListener;access$8500;(Lchatty/gui/MainGui;)Lchatty/gui/components/UpdateMessage;access$8600access$87002(Lchatty/gui/MainGui;)Lchatty/gui/TrayIconManager;access$8800access$8900D(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/util/api/TokenInfo;)Vaccess$9000((Lchatty/gui/MainGui;)Ljava/lang/String;access$9002access$9100=(Lchatty/gui/MainGui;)Lchatty/gui/components/FollowersDialog;access$9200access$93009(Lchatty/gui/MainGui;)Lchatty/gui/components/AdminDialog;access$9500(Lchatty/gui/MainGui;Z)Vaccess$9600access$9700access$98005(Lchatty/gui/MainGui;)Lchatty/gui/WindowStateManager;access$9900access$10000/(Lchatty/gui/MainGui;)Lchatty/gui/StyleManager;access$10100access$10200access$10300access$10400access$10500access$10600access$10700access$10800+(Lchatty/gui/MainGui;Ljava/awt/Component;)Vaccess$10900access$11000access$11100access$11200:(Lchatty/gui/MainGui;)Lchatty/gui/components/ErrorMessage;<clinit>SourceFileMainGui.java	�>�>�����>�>�>�>�>�>�>��"#�>�>�t��45��~��>./KL78?�$%��:;@A45#$'���> !����./�>�>�>������
>��RSg��>x>�>��������}>����>���>����>����z>�>h>�>��	>>�>�>>>�>�>�>��TU6>chatty/util/api/Emoticons����chatty/gui/Highlighterchatty/gui/MainGui$StateUpdater6	�chatty/gui/IgnoredMessages6�!chatty/util/hotkeys/HotkeyManager&'#chatty/gui/MainGui$MyWindowListener*+!chatty/gui/MainGui$MyUserListener,-&chatty/gui/MainGui$MyLinkLabelListener(chatty/gui/MainGui$MyContextMenuListener01	�	�	�I>	�	�	�	�	�	�	�	�	�?	�java/util/ArrayListapp_16.png?@	�	�app_64.png	��app_live_16.pngapp_live_64.pngapp_help_16.pngapp_help_64.png��B>#chatty/gui/MainGui$MyActionListener()!chatty/gui/components/DebugWindow(chatty/gui/MainGui$DebugCheckboxListener6	�"chatty/gui/components/ErrorMessage6	�&chatty/gui/components/ConnectionDialog	�	�O!chatty/gui/components/TokenDialog$chatty/gui/components/TokenGetDialogchatty/gui/components/UserInfo6	� chatty/gui/components/help/AboutH>'chatty/gui/components/ChannelInfoDialog6	���	�	�!chatty/gui/components/AdminDialog%chatty/gui/components/FavoritesDialog chatty/gui/components/JoinDialog��'chatty/gui/components/LiveStreamsDialog6	�G>	�	�	�"chatty/gui/components/EmotesDialog6	�%chatty/gui/components/FollowersDialog	�	�	�	�	�	�6	�	�	�chatty/gui/TrayIconManager6	�#chatty/gui/MainGui$TrayMenuListener	�	�,chatty/gui/notifications/NotificationManager6�/chatty/gui/MainGui$MyNotificationActionListener	�	�chatty/gui/StyleManager�	�6	�)chatty/gui/components/HighlightedMessagesHighlighted MessagesHighlighted6	�Ignored MessagesIgnoredchatty/gui/Channels6	�	�	�java/awt/Dimension6j	�	�	�Center	�	�(chatty/gui/MainGui$ChannelChangeListener	�	�'chatty/gui/components/AddressbookDialogt	�6	�chatty/gui/components/srl/SRL	�6(chatty/gui/components/LivestreamerDialog6#chatty/gui/components/UpdateMessage6�*chatty/gui/MainGui$MySettingChangeListener%chatty/gui/MainGui$MySettingsListener chatty/gui/components/StreamChatstreamChatBottomA6	#chatty/gui/MainGui$MainMenuListenerchatty/gui/MainMenu6  n>m>
>tttbttvEmotesf$global$�chatty/gui/WindowStateManager6main�highlightschannelInfoliveStreamsadminaddressbook	followerssubscribers��O��-chatty/gui/components/settings/SettingsDialog6 !	�"5/#A$%&�java/lang/StringBuilder'( )�*�V+Name,-.MnemonicKey/012345chatty/gui/WindowManager6�%chatty/gui/MainGui$MainWindowListener789:custom.commandCustom Commandchatty/gui/MainGui$1	tabs.nextTabs: Switch to next tabchatty/gui/MainGui$2
tabs.previousTabs: Switch to previous tabchatty/gui/MainGui$3tabs.closeTabs: Close tab/popoutchatty/gui/MainGui$4dialog.streamsDialog: Live Channels (toggle)
Live Channelschatty/gui/MainGui$5de
dialog.searchDialog: Open Search DialogFind text..chatty/gui/MainGui$6dialog.toggleEmotesDialog: Toggle Emotes Dialog	Emoticonschatty/gui/MainGui$7dialog.channelInfo"Dialog: Toggle Channel Info DialogChannel Infochatty/gui/MainGui$8dialog.channelAdmin#Dialog: Toggle Channel Admin Dialog
Channel Adminchatty/gui/MainGui$9dialog.highlightedMessages#Dialog: Toggle Highlighted MessagesHighlightschatty/gui/MainGui$10dialog.ignoredMessagesDialog: Toggle Ignored Messageschatty/gui/MainGui$11dialog.followersDialog: Toggle Followers List	Followerschatty/gui/MainGui$12dialog.subscribersDialog: Toggle Subscriber ListSubscriberschatty/gui/MainGui$13dialog.addressbookDialog: Toggle AddressbookAddressbookchatty/gui/MainGui$14dialog.joinChannelDialog: Join ChannelJoin Channelchatty/gui/MainGui$15selection.toggleUser Selection: Togglechatty/gui/MainGui$16selection.nextUser Selection: Nextchatty/gui/MainGui$17selection.nextExitAtBottom%User Selection: Next (Exit at bottom)chatty/gui/MainGui$18selection.previousUser Selection: Previouschatty/gui/MainGui$19selection.exitUser Selection: Exitchatty/gui/MainGui$20selection.timeout30User Selection: Timeout (30s)chatty/gui/MainGui$21selection.timeout600User Selection: Timeout (10m)chatty/gui/MainGui$22selection.timeout30mUser Selection: Timeout (30m)chatty/gui/MainGui$23selection.timeout24hUser Selection: Timeout (24h)chatty/gui/MainGui$24
commercial.30Run commercial (30s)chatty/gui/MainGui$25
commercial.60Run commercial (60s)chatty/gui/MainGui$26
commercial.90Run commercial (90s)chatty/gui/MainGui$27stream.addhighlightAdd Stream Highlightchatty/gui/MainGui$28window.toggleCompactWindow: Toggle Compact Modechatty/gui/MainGui$29window.toggleCompactMaximized'Window: Toggle Compact Mode (Maximized)chatty/gui/MainGui$30window.toggleInputWindow: Toggle Inputchatty/gui/MainGui$31window.toggleUserlistWindow: Toggle Userlistchatty/gui/MainGui$32dialog.toggleHelpWindow: Toggle Helpchatty/gui/MainGui$33dialog.streamchatWindow: Open StreamChatOpen Dialogchatty/gui/MainGui$34notification.closeAll$Close all shown/queued notificationschatty/gui/MainGui$35notification.closeAllShownClose all shown notificationschatty/gui/MainGui$36chatty/gui/MainGui$37;�<t=�>�?>chatty/gui/MainGui$38bufferStrategy1@�ontopAt
mainResizableBtstreamChatResizable{>timeoutButtonsC8D�EFdebugLogIrcGHtI>attachedWindowsJt	maximizedpopoutAttributesKLM��>	urlPromptNOttabOrderP�favoritesSortingQRS�
ignoredEmotesTUV	�W>X�dialogFontSizeYZglobalHotkeysEnabled[t\	�streamChatMessageTimeout]�emoteScaleDialog^�23_�`abn�ignorechannelContextMenucd5userContextMenue5livestreamerQualitiesN5livestreamerf�
userlistWidthuserlistMinWidthgjchatScrollbarAlwayshti�highlightUsernamejthighlightNextMessagesktnDisplayTimel�nMaxDisplayTimem�
nMaxDisplayedn�
nMaxQueueSizeo�	nActivity
nActivityTimep�q>nScreenr�	nPositions�popoutSaveAttributesttpopoutCloseLastChannelut�>v�wx��yz�>>
>�>�>�>��{|}~�nU�~�t������n�����������>chatty/gui/MainGui$396���n�liveStreamsSortingS�historyRange���>��chatty/gui/MainGui$406���saveStatusHistory�>����������settings�	�`>customemotes��G�reloadcustomemotes#Reloading custom emotes from file..livestreamschanneladminchannelinfo�>��insertwordopenurl�A/Failed to open URL (none specified or invalid).
openurlprompt��
openfollowersopensubscribersopenstreamchatclearstreamchat�>streamchattestIA bit longer chat message with emotes and stuff FrankerZ ZreknarF MiniK (���'�)chatty/gui/Message�!6�0�����$active�Livestreamer: No channel open.Livestreamer: Opening stream..��helpsetstreamchatsizex��ijSet StreamChat size to I�java/lang/NumberFormatExceptionInvalid parameters.getstreamchatsize��StreamChat size: �j�jchatty/gui/MainGui$416�������������U�����chatty/gui/MainGui$42������������>�����>	����Use chosen channelsUse chosen channel����java/util/HashSetJoin chosen channelsJoin chosen channel�q���>chatty/gui/MainGui$436�chatty/gui/MainGui$44�follower��chatty/gui/MainGui$456-soundsSound�	SoundFileSoundVolumeSoundDelay�0��~���highlightNotification[Highlight] �� in chatty/gui/MainGui$46chatty/gui/MainGui$47useCustomNotificationsU���chatty/gui/MainGui$48*�offbothappeither�����chatty/gui/MainGui$496�ignoredUsersWhisperignoredUsers��filterCombiningCharacters****	'�EnabledOwnText��ignoreMode�A��ignoreShowNotDialog�Achatty/gui/MainGui$506�E�chatty/gui/MainGui$51chatty/gui/MainGui$52chatty/gui/MainGui$53chatty/gui/MainGui$54chatty/gui/MainGui$55chatty/gui/MainGui$56��chatty/gui/MainGui$576���PAchatty/gui/MainGui$586�chatty/gui/MainGui$59chatty/gui/MainGui$60��chatty/gui/MainGui$61chatty/gui/MainGui$62chatty/gui/MainGui$63chatty/gui/MainGui$64chatty/gui/MainGui$65chatty/gui/MainGui$66�>chatty/gui/MainGui$67chatty/gui/MainGui$68chatty/gui/MainGui$69chatty/gui/MainGui$70dtchatty/gui/MainGui$716^chatty/gui/MainGui$72�jchatty/gui/MainGui$73chatty/gui/MainGui$746�chatty/gui/MainGui$756�chatty/gui/MainGui$766�chatty/gui/MainGui$77chatty/gui/MainGui$78chatty/gui/MainGui$79�>��~>�>chatty/gui/MainGui$806Tchatty/gui/MainGui$81/An error occured completing getting login data.&An error occured verifying login data.	���AInvalid token received when getting login data. Please try again.(Invalid token entered. Please try again.mLogin data invalid. Should probably remove it and request it again. [help:login-invalid What does this mean?]�>��%No chat access (required) with token.A5/Login verified and ready to connect (replaced '' with '').$Login verified and ready to connect.����token_chattoken_editor��token_commercials��token_user��token_subs������chatty/gui/MainGui$82chatty/gui/MainGui$836�chatty/gui/MainGui$84chatty/gui/MainGui$856����gamesFavorites6Uchatty/gui/MainGui$86chatty/gui/MainGui$876�adDelay
adDelayLength�������chatty/gui/MainGui$886	
	�	��chatty/gui/components/Channel�#chatty/gui/MainGui$89������customCompletionjava/lang/Stringchatty/gui/MainGui$90tchatty/gui/MainGui$916�>>java/awt/Color6����showJoinsPartsshowModMessagessimpleTitletitleShowUptimetitleShowViewerCounttitleShowChannelStatechatty/gui/MainGuijavax/swing/JFramejava/lang/Runnablechatty/User
java/util/Setchatty/util/api/TokenInfojava/util/Listjava/util/Iterator-(Lchatty/gui/MainGui;Lchatty/gui/MainGui$1;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)Vjava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL; (Ljava/net/URL;)Ljava/awt/Image;add(Ljava/lang/Object;)Z
setIconImages (Ljava/awt/event/ItemListener;)V<(Ljava/awt/Frame;Lchatty/gui/components/LinkLabelListener;)Vchatty/gui/GuiUtilinstallEscapeCloseOperationH(Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)V(Ljava/awt/Frame;)VaddContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)V,chatty/gui/components/menus/EmoteContextMenusetEmoteManager(Lchatty/util/api/Emoticons;)Vt(Ljava/awt/Window;Lchatty/util/api/Emoticons;Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)V*chatty/gui/components/FollowersDialog$TypeType	FOLLOWERS,Lchatty/gui/components/FollowersDialog$Type;chatty/TwitchClientapiLchatty/util/api/TwitchApi;�(Lchatty/gui/components/FollowersDialog$Type;Ljava/awt/Window;Lchatty/util/api/TwitchApi;Lchatty/gui/components/menus/ContextMenuListener;)VSUBSCRIBERS(Ljava/awt/Image;)VaddActionListener"(Ljava/awt/event/ActionListener;)VsetNotificationActionListener8(Lchatty/gui/notifications/NotificationActionListener;)VLchatty/util/settings/Settings;"(Lchatty/util/settings/Settings;)V�(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;Ljava/lang/String;Ljava/lang/String;Lchatty/gui/components/menus/ContextMenuListener;)Va(Lchatty/gui/MainGui;Lchatty/gui/StyleManager;Lchatty/gui/components/menus/ContextMenuListener;)VgetComponent()Ljava/awt/Component;java/awt/ComponentsetPreferredSize(Ljava/awt/Dimension;)V)(Ljava/awt/Component;Ljava/lang/Object;)VsetChangeListener%(Ljavax/swing/event/ChangeListener;)VLchatty/Addressbook;+(Ljavax/swing/JFrame;Lchatty/Addressbook;)V
speedrunsLiveLchatty/util/srl/SpeedrunsLive;d(Ljava/awt/Window;Lchatty/util/srl/SpeedrunsLive;Lchatty/gui/components/menus/ContextMenuListener;)V\(Ljava/awt/Window;Lchatty/gui/components/LinkLabelListener;Lchatty/util/settings/Settings;)Vchatty/util/settings/SettingsaddSettingChangeListener/(Lchatty/util/settings/SettingChangeListener;)VaddSettingsListener*(Lchatty/util/settings/SettingsListener;)VgetBooleanb(Lchatty/gui/MainGui;Lchatty/gui/StyleManager;Lchatty/gui/components/menus/ContextMenuListener;Z)V?(Ljava/awt/event/ActionListener;Ljava/awt/event/ItemListener;)VsetJMenuBar(Ljavax/swing/JMenuBar;)VpacksetLocationByPlatformchatty/util/api/TwitchApirequestEmoticonstwitchemotesLchatty/util/TwitchEmotes;chatty/util/TwitchEmotesrequestEmotesetsLchatty/util/BTTVEmotes;chatty/util/BTTVEmotes
requestEmotes3(Ljava/awt/Window;Lchatty/util/settings/Settings;)V	addWindow((Ljava/awt/Window;Ljava/lang/String;ZZ)VsetPrimaryWindowregisterPopout6(Lchatty/gui/MainGui;Lchatty/util/settings/Settings;)VgetLastActiveChannel!()Lchatty/gui/components/Channel;getSelectedUser()Lchatty/User;nickstartsWith	substring(I)Ljava/lang/String;isEmptyappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringgetName9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Zjavax/swing/ActionputValue'(Ljava/lang/String;Ljava/lang/Object;)Vjava/lang/IntegervalueOf(I)Ljava/lang/Integer;	setAction)(Ljava/lang/String;Ljavax/swing/Action;)VregisterAction;(Ljava/lang/String;Ljava/lang/String;Ljavax/swing/Action;)VaddWindowOnTopaddWindowStateListener'(Ljava/awt/event/WindowStateListener;)VaddWindowListener"(Ljava/awt/event/WindowListener;)V	isVisiblesetVisiblesetExtendedStatesetStatetoFrontcreateBufferStrategysetAlwaysOnTopsetResizable	getStringsetUserDefinedButtonsDefgetLogIrcCheckBox()Ljavax/swing/JCheckBox;javax/swing/JCheckBoxsetSelectedloadWindowStatessetAttachedWindowsEnabledgetList$(Ljava/lang/String;)Ljava/util/List;setPopoutAttributeschatty/gui/UrlOpener	setPromptsetTabOrdergetLong(Ljava/lang/String;)JsetSortingsetIgnoredEmotes(Ljava/util/Collection;)VloadFavoritesFromSettingsloadCustomEmotessetTokensetFontSize(F)VsetGlobalHotkeysEnabledloadFromSettingssetMessageTimeout
setEmoteScalesetItemStatechatty/util/StringUtil
getStringList$(Ljava/lang/Object;)Ljava/util/List;-chatty/gui/components/menus/ContextMenuHelperchannelCustomCommandsuserCustomCommandsenableLivestreamersetDefaultUserlistWidthsetChatScrollbarAlwayssetUsernamesetHighlightUsernamesetHighlightNextMessagessetDisplayTimesetMaxDisplayTimesetMaxDisplayItemssetMaxQueueSizesetActivityTimeclearAll	setScreensetPositionsetSavePopoutAttributessetCloseLastChannelPopoutgetPopoutAttributesputList%(Ljava/lang/String;Ljava/util/List;)VshouldReopen(Ljava/awt/Window;)ZsetBoolean(Ljava/lang/String;Z)IgetExtendedState()IsetChannelgetChannelCountsetAreChannelsOpen
getStreamNamesetchannelFavoritesLchatty/ChannelFavorites;chatty/ChannelFavoritesgetFavoritesgetHistory()Ljava/util/Map;setData!(Ljava/util/Set;Ljava/util/Map;)VgetUsername"(Lchatty/User;Ljava/lang/String;)VsetHistoryRangesetLocationRelativeTo3(Lchatty/gui/MainGui;Lchatty/util/api/StreamInfo;)V
statusHistoryLchatty/StatusHistory;usercolorManagerLchatty/UsercolorManager;chatty/UsercolorManagergetDatausericonManagerLchatty/UsericonManager;chatty/UsericonManagerequalsgetCustomEmotesInfoopenUrl
openUrlPrompt*(Ljava/awt/Component;Ljava/lang/String;Z)Zclearjava/lang/Mathrandom()D(I)Ljava/lang/StringBuilder;getSpecialUser	TagEmotesG(Lchatty/User;Ljava/lang/String;Lchatty/util/api/Emoticons$TagEmotes;)V(Lchatty/gui/Message;)Vtrim'(Ljava/lang/String;)[Ljava/lang/String;getActiveChannelopenparseInt(Ljava/lang/String;)IgetSize()Ljava/awt/Dimension;*(Lchatty/gui/MainGui;Ljava/lang/String;Z)VsetWindowPositionshow6(Ljava/awt/Component;Lchatty/User;Ljava/lang/String;)V%(Ljava/awt/Window;Ljava/awt/Window;)Vjavax/swing/JDialog"java/awt/Dialog$ModalExclusionTypeModalExclusionTypeAPPLICATION_EXCLUDE$Ljava/awt/Dialog$ModalExclusionType;setModalExclusionType'(Ljava/awt/Dialog$ModalExclusionType;)V"chatty/gui/components/SearchDialogshowSearchDialogG(Lchatty/gui/components/Channel;Lchatty/gui/MainGui;Ljava/awt/Window;)VgetEmoteSetshowDialog$(Ljava/util/Set;Ljava/lang/String;)VrequestChannelEmotesshowChannelEmotesshowEmoteDetails
chatty/HelperbuildStreamsString*(Ljava/util/Collection;)Ljava/lang/String;9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)IgetChannelsjoinChannelsopenRaceListisEventDispatchThreadjava/lang/Long(J)Ljava/lang/Long;intValuechatty/util/Soundplay)(Ljava/lang/String;FLjava/lang/String;I)VgetDisplayNick9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)VdisplayInfojava/awt/WindowgetWindows()[Ljava/awt/Window;isActive[(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLjava/lang/String;)VlistContains'(Ljava/lang/String;Ljava/lang/Object;)Z9(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;check"(Lchatty/User;Ljava/lang/String;)Z	isChannelgetChannel3(Ljava/lang/String;)Lchatty/gui/components/Channel;equalsIgnoreCase6(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/User;)VaddInfoMessageH(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;Lchatty/User;)VgetChannelFromWindow3(Ljava/lang/Object;)Lchatty/gui/components/Channel;((Lchatty/gui/MainGui;Ljava/awt/Window;)VprintLineIrccommandReconnectsetSize7(Lchatty/gui/MainGui;Lchatty/util/api/EmoticonUpdate;)V&(Lchatty/gui/MainGui;Ljava/util/Set;)V&(Lchatty/gui/MainGui;Ljava/util/Map;)V
stopWebserver	setString'(Ljava/lang/String;Ljava/lang/String;)IverifyingTokenchat_access(ZLjava/lang/String;)Vchannel_editorchannel_commercials	user_readchannel_subscriptionsupdateAccess(ZZZZZ)V(ZZ)V5(Lchatty/gui/MainGui;Lchatty/util/api/FollowerInfo;)VG(Lchatty/gui/MainGui;Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)VD(Ljava/lang/String;Lchatty/util/api/ChannelInfo;Ljava/lang/String;)V
getGameSearchsetLong(Ljava/lang/String;J)IupdateCommercialDelaySettingsisCommercialsTabVisiblecommercialHotkey<(Lchatty/gui/MainGui;Ljava/lang/String;Ljava/lang/String;I)V"chatty/gui/components/Channel$TypeCHANNEL$Lchatty/gui/components/Channel$Type;getChannelsOfType6(Lchatty/gui/components/Channel$Type;)Ljava/util/List;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;?(Ljava/lang/String;Ljava/util/Set;)Lchatty/util/api/StreamInfo;replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;getFollowedStreamsgetEmotesNamesByStreammapGet8(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;setIconVisibleJ(Lchatty/gui/MainGui;Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)Vdispose(III)V#chatty/util/api/Emoticons$TagEmotesjava/awt/Dialog!���.��������A������������������������������	
 !"#$%&'()*+,-./012345)678�*�e*�fY�g�h*�i*�jY�k�%*�jY�k�'*�lY*�m�.*�nY*�o�!*�pY*�q�r*�sY*�t�u*�vY*�w�x*�yY*�z�*�{Y*�|�}*�*+�i*�~�9B�X[|}*�7�C�O�\�i�v��g������:�;<���=>83*��9��:;<?@8C��*��+�����9�:;<A5B>8z$��Y��L+*�����W+*�����W*+���9����#�:$;<CDECFG>8}'��Y��L+*�����W+*�����W*�R+���9����&�:';<CDECFH>8}'��Y��L+*�����W+*�����W*��+���9����&�:';<CDECFI>8(�*��*��Y*����*��Y��Y*�����E*��Y**����*��Y*���Q*�Q��*��Y*���N*��Y*���J*��Y**�}���G*�G��*��Y����*��*��Y*����*��*�}��*��Y*���*��Y**�}���F*�F��*��Y*����*����*��Y*�}���R*��*�h��*��Y**�h**�}���/*�/��*��Y��**�i��*�}���*��Y��**�i��*�}���*��Y*������*���Y*����*��Y*�ĵV*�V��Y*�ƶ�*��Y*�i�ɷʵ
*��Y**�
��*�}�ε8*��Y**�
��*�}�ε7*��Y**�
*�}�ҵc*�c�ӻ�YX,�ն�**�c��׶�*�c��Y*�ڶ�*��Y**�i�ݷ޵�*��Y**�i��*�}��:*��Y**�*�i�ɷ�9*��Y*��*�i�ɻ�Y*���*�i�ɻ�Y*���*��Y**�
*�}*�i�����*�>W��Y*��L*��Y++��@**�@��*�.��*��*��*��*�i����*�i����*�i�����*�i����*�Y**�i�ɷ�*�*�*�*�*�*�8�*�*�7�*�*���*�*�R	�*�*��*�*���*�*�/�*�*�
�*�*��*�*��*��9G���$�4�@�G�S�_�o�v���������������������������"�<�M�]�i�y���������������-�D�P�c�v����������������	� (8HXhx������:�;<�)JKL�MNO8A	*�r+��9 !:	;<	PQRS8Z*��*�Y**�i�ɷ�*��9$%':;<LTU8y�*�c�:�:�	�����:+��	+�L:��,�5�Y��,��Y� �,��!���!:*�i*�c��"+�#W�926	789;,<6=<??@KA}C�D:R�;<�V5�W5�X�	�YZ�[\,g]5?T^5LD�_`Ba�a�afb�caa_`aabade8�0$-�%&�'�%*�@+�(*�r+,�)�9PQR$S/T:>0;<0f50g50h50ij0klm>8.�*Y*�+L+*�R�,�-Y*�.M*,�/*,�0*�r12�3Y*�4�)*�r56�7Y*�8�)*�r9:�;Y*�<�)*�r=>�?Y*�@�)*ABCL�DY*�E�F*GHIF�JY*�K�F*LMNE�OY*�P�F*QRSC�TY*�U�F*VWXA�YY*�Z�F*[\]H�^Y*�_�F*`a�I�bY*�c�F*def�gY*�h�F*ijk�lY*�m�F*nop�qY*�r�F*stuJ�vY*�w�F*�rxy�zY*�{�)*�r|}�~Y*��)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*�r����Y*���)*���O��Y*�ķF*�r�ƻ�Y*�ȶ)*�r�ʻ�Y*�̶)�9�*W	XZ[ \%^:fOndvy~������������/�E�[�r����������&/.D6Y>nF�N�V�^�f�n�v�-�: .;<	%nopqr>8:��Y*�θ~�9��:;<st8�7*�Ϛ�*�@��=*�@������*�ҧ*�ұ9&	���� �$�(�1�6�: 7;<7u�'v�L$�cw�cwx>8E*��*��*�ձ9����:;<y>8:��Y*�׸~�9��:;<z>8��*�i��ض�*��**�i��ڶ��**�i��ܶ��*�*�i��޶��*��*�L*�G*�i�����*�E��*�i�����*�	*���*�*�i�����*�i����	*��*�*�*�3*�*�*�*�c*�i�����*�*��*�i�����*�c*�i�����*�F*�i�����*�*�h*�i������*�h*�i�ɶ�*�h��*�i��*�i������*�G*�i������*�r*�i������*�r*�i�ɶ*�*�i����*�/*�i�����9�%���&�7�K�O�T�h���������������������������������!�%9GNez����
:�;<L��{>8� �L+�=>�+2:*�����9:4|5}3~j	j ;<L
�	����8L*�@+*�i��+���9#$:;<A5�>8F*�%*�i�����	�9*+:;<�>8F*�'*�i�����	�9./:;<�>8�K*�i����*�i��
��*�i����*�i����*�i�ɳ�923 405@6J7:K;<�>8j8*�c*�i����*�i����*�c*�i�����9:#=7>:8;<��8Y*�%+�*�%*�i�����9HIJ:;<�5�t8A	*�%��9ST:	;<	���>8C*�%*�i�����9WX:;<�>8�*�V*�i����*�V*�i�� ��!*�V*�i��"��#*�V*�i��$��%*�i��&��*�i��'��<*�V�(*�V�)*�V*�i��*��+*�V*�i��,��-�9*[\*]?^T_wab�c�d�e:�;<w:�jL�u@�>8[)*�c*�i��.��/*�c*�i��0��1�9hi(j:);<�>8N*��2*�i���*�c�3�4�9pqr:;<�>8�A**�R�5**�8�5**�7�5**���5**�߷5**��5**�/�5**��5�9&	xyz{ |(}0~8@�:A;<��8:�*�+�6��+*�R�*�7��+*�8�*�8�y+*�7�*�9�j+*���*�5�[+*�ߦ*�<�K+*��*�4�<+*�/�*�:�-+*��*�;�+*��*�<�+*��*�W�9Z����"�)�1�8�@�G�O�W�_�f�n�u�}�����������:�;<���L��8]+*�*�i���*�=�>W�9���:;<��L��8G*�?~���9�:;<L@��83�*�Q*�i��@��A+�*�Q+�B�*�Q*�i��C��B*�i��D��M*�i�����N*�i��E��6*�Q,-�F*�Q*�c�G���H�9*���#�7�E�S�b�m���:4�;<��5E?�5S1�5b"��L3#�Gcaaa��caaa��>8d*�c��IL*+�JM*��,�K�9����: ;<�5	���>8p&*�i��@��L*�i�����M*�N+,�L�9���%�: &;<�5�5�>8� *�i�M�NL*�i�M�OM*�F+,�P�9����:  ;<����E�����>8J*�F�Q�*�R�9���:;<L��8E
�SY*+�T�~�9��:
;<
�\��8H*�G+*�i�U�V�9��:;<�\�>8C*�R*�i��W��X�9��:;<�>8` *�i��Y��<*���Z*�R�[�9����: ;<�j�>8}1*�\*�K*�Q�]�*�N*�Q�^�*�N*�^*�N�_�9���� �(�0�:1;<L ��8E
�`Y*+�a�~�9:
;<
����8/*���9:;<��82*�i�b�9:;<��88*�i��c��9:;<��8/*��9�:;<�>89*�i�M�d�9��:;<��8/*�x�9�:;<��85*�i�e�f�9�:;<���8V*�i�e+�g�9��:;<��E�����85*�i�h�i�9�:;<���8V*�i�h+�j�9��:;<��E�����8��+k�l�
*�>�m��+n�l�**�h�o�p��+q�l�*r�p*�h��**�h�o�p��+s�l�*�7�w+t�l�*�4�f+u�l�*�5�U+v�l�*�w�D+x�l�*,�y�1+z�l�*,�y�+{�l�,�|�
*}�p�+~�l�*�2,���*}�p��+��l�*�;��+��l�*�<��+��l�*�W��+��l�
*�����+��l�P�Y������k������!N,�,��,N��Y*�i��-��:*����E+�l�jN:,�M,����C,�� ��:2N-��l�*�c���IN-�*��p���	2:*��p*�9-����+��l�*�D��+��l�y,�k,����a,�����N-��P-2��6-2��6�6�1*��*�Y����������!����:*����B+��l�6*���N*�Y���-������-�����!�����A���92L����,�6�=�D�R�\�c�m�t�~�������������������������������#�*�4>Hjuw��	����
����������"0 ;!A#I$Q%[&c'�(�,�*�/�0�1�2�3�4�6:�
j(�5�	���4�3�b�5�_�5I@�jQ8�j���;S�3�(���;<�V5�^5L=%�8a��Oaa����p�B�	<��8P��Y*+���~�9:
C: ;<�5���>8j0*�*�R��*�R*�i��ڶ��*�R��*�R���9FGH'I/J:0;<�>8Z*�R���*�R���*�7�9MNPR:;<L��8L*�G*�2+*�i�U���9UV:;<�\�>8J*�*��*�2��*�����9YZ[:;<�>8K**�����*�5�9^_a:;<L��8Y+���+����9defh:;<�QL�>8�9*�*�*�2��*�K*�c���IL+�*�i��@��L*�+���9lmno"p0r8s:9;<�5L�0a�>8K**����*�4�9vwy:;<L��8@*+���9|}:;<�5��8J*+,���9��: ;<�5�5�U8�U*�����*��*���*��+,��*��*�i��ڶ��*������*����*����*�����9*�����3�=�D�L�T�:*U;<U�5U�5U��L�>8]*�����*�����*���9����:;<L�>8:��Y*���~�9��:;<�>8>*�c��**�2���9��:;<�>8=**�c��I���9��:;<��8^"*�*�/*�2��*�/*�i����+�±9��!�:";<"Y5��8U*�i+��*+��*�/�ı9��
��:;<Y5��8J*��*�/+�ű9��
�:;<���>8K**�/���*�:�9���:;<L�>8�C*�*���*�c��IL+�+��*�i��@��L+�+��*�+�Ʊ9���!�/�:�B�:C;<-�5L�!a
�>8K**����*�;�9���:;<L�>8-*�*���*�i��@��L+�+��*�+�Ʊ9���$�,�:-;<�5L�,a�>8K**����*�<�9���:;<L�>8B*�*��*��ȱ9���:;<�8�**+��M,���*�Q,�˶B�9���: ;<Y5��E��L�8�0*�R*�F+��*�F,�ζ�>�*�F�а��Y�Ұ9 (:*0;<0�0Y5jL�(�8�1*�R*�F*��*�F+�Զ�=�*�F��N*�i-�ձ9 (0:*(�1;<1Y5jE(�L�0	>8k*��*��*����L*�i+�ձ9:;<	�E	�>8F*�*�8��*�8�ر9 !:;<>8K**�8���*�8�9$%':;<L
>8F*�*�7��*�7�ر9*+,:;<>8K**�7���*�9�9/02:;<L�8g*�߶ٚ*�*�߶�*��+�ڱ9;<>?:;<A5L>8L**�߷��*�<�9BCE:;<L>86*�:�۱9HI:;<�8E
��Y*+�ݸ~�9PX:
;<
Y5�8E
��Y*+�߸~�9[b:
;<
Y5�8A	*�+��9ef:	;<	Y5�8A	*+��9ij:	;<	Y5�8A	*�+��9mn:	;<	Y5�8q��*+,�,���Y*+,��~�9yz|�: ;<f5Y5L�8�<*�i����.**�i�ɻY�+���!��,�+�*+��9�6�;�: <;<<f5<Y5L;�8�n*�i�ɻY�+���!��M*�i�ɻY�+���!��B*�i�ɻY�+���!����6,!�+��9��>�d�m�:4n;<nf5O5>0dj8�A*�i����:*+�+�**�Y��,���+��!-+�*�9���@�:4A;<AY5A�\A�52|5L�@a�8O
��Y*+��~�9��: 
;<
Y5
 5!�8P��Y*+,���~�9�
�: ;<Y5"5#$8�'*�i�����*�V+,-���*�+,���9���&�:*';<'%5'�5'Y5L&�8E
��Y*+���~�9��:
;<
Y5'�8~*�c��",�l>*��6+��l��+��l����+C�l�	��+��l���+�l����+�l�	���9>����!�4�6�D�F�U�W�j�l�z�|�:4~;<~|5~Y5o(�i)�L
�!*�8�%�L+�=>�+2:��������9����#	:4+�},~j	j%;<L�	-�./8�&�L+�=>�+2:�������*�9				$		:4+� },~j	j&;<L�	-�018s�Y*+,-��~�9		v:>;<25�\�5k�35458w�	�N*�i��-+���9	�	�:*;<�\6�|5LBa788Z*�i��	��=+��9	�	�: ;<�5	9j:;8�R*�i�ɻY����!��1*�i�ɻY��
��!���-+,���9	�"	�I	�P	�:>R;<R�\R�5R<R|5R=�L�I>�8�1*�i������!*� �*�c+��*�c+�,��9	�	�$	�0	�: 1;<1Y51�5L0?�8V *�i����
*�7����9	�: ;<L@@A8l*�i�UM,�,+����9	�	�: ;<A5B5L�a@CD8P�Y*+,��~�9	�
	�: ;<Y5�\E>84*��9	�	�:;<E�8E
�Y*+��~�9	�	�:
;<
Y5F>8:�Y*��~�9	�	�:;<G�8E
�Y*+��~�9	�	�:
;<
H5I�8E
�Y*+� �~�9	�	�:
;<
H5G�8P�!Y*+,�"�~�9	�
: ;<Y5H5J�8E
�#Y*+�$�~�9:
;<
H5KL8u!*�',��+,��*�7+�",�%�9 : !;<!YZ!H5LMN8[�&Y*+,-�'�~�9'-:*;<Y5O5�\PQ8w*�c+�(N-��-,�)�98	9
:<:*;<��R5	SZL�_T�8E
�*Y*+�+�~�9@I:
;<
��U�8E
�,Y*+�-�~�9LX:
;<
�5V�8h��*�E+�.��/Y*+�0�~�9`acj:;<H5LW�8h��*�E+�1��2Y*+�3�~�9rsu|:;<H5LXD8P�4Y*+,�5�~�9�
�: ;<Y5�\YD8P�6Y*+,�7�~�9�
�: ;<Y5�\Z�8E
�8Y*+�9�~�9��:
;<
�\[�8E
�:Y*+�;�~�9��:
;<
Y5\�8E
�<Y*+�=�~�9��:
;<
Y5]>86*�i�>�9��:;<^�8E
�?Y*+�@�~�9��:
;<
_5`>8:�AY*�B�~�9��:;<a�8E
�CY*+�D�~�9��:
;<
b5c>8:�EY*�F�~�9�:;<d>84*�G�9:;<dt8E
�HY*�I�~�9:
;<
e�f�8E
�JY*+�K�~�9��:
;<
�5g�8V*+�L*�Q*�L*�Q�M�9��
��:;<�5h>8F*�*���*��N�9���:;<ij8L*��O�9�	�: ;<�j�jk>8:�PY*�Q�~�9��:;<lm8E
�RY*+�S�~�9�:
;<
nopq8W
�TY*+�U�~�9
:
;<
3�E
3rstu8W
�VY*+�W�~�9:
;<
v�E
vwxy>8:�XY*�Y�~�9':;<z�8E
�ZY*+�[�~�9*3:
;<
{5|�8E
�\Y*+�]�~�96=:
;<
�5}>8B*�J�^*�i�_�9@AB:;<~�8�6*�i���+�`W*�J�a�*�J�b*�N+�L*�L*+�I�9JKL N+O0P5Q:6;<6�5L �8O*�i��+�c*�N�d�9YZ[:;<�5��8P�eY*+,�f�~�9^
e: ;<�5����8E
�gY*+�h�~�9j|:
;<
�5��8<a*�i�_*�i��@��:*�J�a6*�N�i6+�*����+*��l66,��jN��kN��,�l�R�mN*�i����`W�$�nN*�i����`W�oN����*�p��,�q�rN�z6,�s:	*�i��@	�`W*�i���+�`W*�N	+�L*�L��7	�l�-�Y�t��u�	�v��!N�wN�
*-�p*�*,�x*�J�^*�N-�y�9�&����(�E�H�L�Q�X�_�f�k�o��������������������������������6�:�?�D�I�N�V�`�:�U5\5o5�5�5�535�n�5	a;<a�5a��:'5K�5B��(9��E��H��Lw
�7ca�aG�#�	ca�aa�	ca�a
�ra�	ca�aa��8�r+��+�l�`*�i��z+�q�>W*�i��{+�|�>W*�i��}+�~�>W*�i��+���>W*�i���+���>W�*�M*�K�9.�����0�B�T�i�m�q�:r;<r��L�c�>8�`*�i��z��<*�i��}��=*�i��{��>*�i����6*�i�����6*�N��*����9"���*�9�H�V�_�:>`;<R��D��*6��9'��H���>8�L*�i��z�>W*�i��}�>W*�i��{�>W*�i���>W*�i����>W�9���-�<�K
:L;<�>8:��Y*���~�9

:;<��8E
��Y*+���~�9

:
;<
����8E
��Y*+���~�9
!
(:
;<
����8[��Y*+,���~�9
+
2:*;<Y5��j��8\*�i��+,*�i�������9
5
6: ;<�5����8D*�i��+���9
9
::;<Y5��8D*�i��+���9
=
>:;<P5��85*�c���I�9
A:;<�q8`*�i�����Y+���4�9
J
K:;<��E�����8?��Y*�i�������9
S:;<��q8W
��Y*+���~�9
W
^:
;<
��E
�����8E
��Y*���~�9
a
h:
;<
j��8e*�i����>W*�i��� ��W�9
k
l
m: ;<���>8p&*�i�����<*�i�����A*� ���9
p
q
r%
s: &;<�����8L*�i+���9
v	
w: ;<�5�j��8i*����*����**�����9
z
{
}
:;<�jL��8[��Y*+,���~�9
�
�:*;<�5�5j��8�;��Y��L*�c������M,���,����N+-�"��W���+�9
�
�+
�6
�9
�:*+SZ!�;;<3�E3�L���� ���8�H��Y��M*�c������N-���-����:,�I��W���*�i��+,���9
�
�,
�8
�;
�:4,SZ#�H;<H�5@��E@��L���"��8_+���M��Y*,+���~�9
�
�
�: ;<Y5�5�>8s8*�i�����**�i����*�i��*�i�������9
� 
�7
�:8;<L7��82*�i�ɰ9\:;<��85*�i�ɶ��9`:;<���82*�h���9d:;<���8=	*�h+���9h:	;<	�5��88F*�i���+�����9l:;<�5�>8:��Y*���~�9pw:;<��8/*�u�9z:;<��8E*�?~���9�:;<L@�>8b*��
**�?���*���*�ӱ9�����:;<L�>8T*�i�����*����9���:;<L{�8b��Y*+,���~�9�
�: ;<{���E����>86*�i���9��:;<�>8Z��*�r��*��*���9��
���:;<L��8P*+,�d�9S:*�<�5�5����8/*�c�9S:�<��8/*�b�9S:�<��8/*�a�9S:�<��8/*�`�9S:�<��8/*�_�9S:�<��8/*�^�9S:�<��8/*�]�9S:�<��8/*�\�9S:�<��8/*�[�9S:�<��8/*�Z�9S:�<��8:*�Y�9S:�<�j��8/*�X�9S:�<��8/*�W�9S:�<��8/*�V�9S:�<��8/*�U�9S:�<��8/*�T�9S:�<��8:*+�S�9S:�<�\��8/*�R�9S:�<��8/*�Q�9S:�<��8/*�P�9S:�<��8:*+�O�9S:�<�5��8/*�N�9S:�<��8/*�M�9S:�<��8:*+�L�9S:�<�5�8/*�K�9S:�<8/*�J�9S:�<�8:*+�I�9S:�<�5�8/*�H�9S:�<8/*�G�9S:�<8/*�F�9S:�<	8/*�E�9S:�<�8:*+�D�9S:�<�5�8/*�C�9S:�<
�8/*�B�9S:�<�8/*�A�9S:�<8/*�@�9S:�<�8:*+�?�9S:�<�58/*�>�9S:�<�8:*+�=�9S:�<�5�8:*+�<�9S:�<�5�8/*�;�9S:�<8/*�:�9S:�<8/*�9�9S:�<8/*�8�9S:�<8/*�7�9S:�<�8:*+�6�9S:�<�\�8/*�5�9S:�< �8/*�4�9S:�<!�8/*�3�9S:�<"#8/*�2�9S:�<$�8:*+�1�9S:�<�5%&8:*+�0�9S:�<��'(8/*�/�9S:�<)*8/*�.�9S:�<+�8/*�-�9S:�<,-8E*+,�,�9S: �<�5�5./8E*+,�+�9S: �<�5�5018P*+,-�*�9S:*�<�5�5�5238E*+�)�9S: �<�\��458:*+�(�9S:�<�5678/*�'�9S:�<898h*+,-�&�9S:>�<�\�5�:5;�<78/*�%�9S:�<=�8:*+�$�9S:�<�5>?8P*+,-�#�9S:*�<�5�\�5@�8:*+�"�9S:�<�5AB8/*�!�9S:�<CD8/*� �9S:�<EF8/*��9S:�<GH8:*+��9S:�<�5IJ8E*+,��9S: �<�Z�5KL8/*��9S:�<MN8/*��9S:�<O�8/*��9S:�<PQ8/*��9S:�<R�8:*+��9S:�<�5ST8E*+,��9S: �<�5��UV8/*��9S:�<WH8;*+Z��9S:�<�5XY8/*��9S:�<ZY8/*��9S:�<[\8/*��9S:�<]^8:*��9S:�<��_�8/*��9S:�<`�8/*��9S:�<ab8/*��9S:�<c�8:*+��9S:�<�5de8/*�
�9S:�<f�8/*��9S:�<g�8/*��9S:�<h�8/*��9S:�<i�8/*�	�9S:�<j�8/*��9S:�<k�8/*��9S:�<l�8/*��9S:�<mn8:*+��9S:�<��oD8/*��9S:�<p�8/*��9S:�<q�8/*��9S:�<rs8/*��9S:�<t>8�o��Y�������Y�P������Y�SY�SY�SY�SY�SY�SY�SY�SY�SY	�SY�S��9UVuv�jm-��s��������l�����v�����{��������y������������������ge\ZXVTRPJHECA?<:8642/,*&#!��������`S���������������������~zvqlgb^YTOJD?;73#�	�@�f�	���@	��	�@PKʣGչbbchatty/gui/MainMenu$1.class���3P	
*	
+	
,-./01	23(4567(89:;val$requiredSizeLjava/awt/Dimension;val$updateNotification!Lchatty/gui/components/LinkLabel;this$0Lchatty/gui/MainMenu;<init>M(Lchatty/gui/MainMenu;Ljava/awt/Dimension;Lchatty/gui/components/LinkLabel;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/gui/MainMenu$1;componentResized"(Ljava/awt/event/ComponentEvent;)VeLjava/awt/event/ComponentEvent;actualSize
StackMapTable<SourceFile
MainMenu.javaEnclosingMethod=>?@ABCDEF<GHIJN<html><body style='text-align: right;padding-right:5px;'>[update:show Update!]KLMNO]<html><body style='text-align: right;padding-right:5px;'>[update:show Update&nbsp;available!]chatty/gui/MainMenu$1java/awt/event/ComponentAdapterjava/awt/Dimensionchatty/gui/MainMenusetUpdateAvailable,(Lchatty/gui/components/LinkLabelListener;)V()Vjava/awt/event/ComponentEventgetComponent()Ljava/awt/Component;java/awt/ComponentgetSize()Ljava/awt/Dimension;widthIaccess$000(Lchatty/gui/MainMenu;)Zchatty/gui/components/LinkLabelsetText(Ljava/lang/String;)Vaccess$002(Lchatty/gui/MainMenu;Z)Z 
>*+�*,�*-�*��h�U+��M,�*��`�"*���4*�	�*��W�*���*��*��W�&	lmn#o,p8tBuKvTz UU !M"#	�8$%&'()
PKʣG,�~](](chatty/gui/MainMenu.class���3	�%�&'()	�*+	�,-	�./	�01	�23	�45	�67	�89	�:;&	�<	�=	�>?@ABCD�EFGyHIJK�LM�NOPQRST�UVWXYZ[\]^_`abcdefghijk	�lm	�nopqrstuvwxyz{|}~��������������������������y�����y)yB�y�y?�y���)���������������������������y���y���&��������������������	����������������InnerClassesmainLjavax/swing/JMenu;viewchannelssrlsrlStreamsextrahelphighlightsLjavax/swing/JMenuItem;ignoreditemListenerLjava/awt/event/ItemListener;actionListenerLjava/awt/event/ActionListener;
IGNORED_LABELLjava/lang/String;
ConstantValueHIGHLIGHTS_LABELaddedUpdateMessageZupdateMessageSmaller	menuItemsLjava/util/HashMap;	Signature>Ljava/util/HashMap<Ljava/lang/String;Ljavax/swing/JMenuItem;>;UPDATE_MESSAGEUPDATE_MESSAGE_SMALL�<init>?(Ljava/awt/event/ActionListener;Ljava/awt/event/ItemListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/MainMenu;viewOptionstitleOptionsstreamChatstreamHighlightsdebugOptionshelpItemaddItemQ(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;I)Ljavax/swing/JMenuItem;menukeylabelmnemonicIitem
StackMapTable�P(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JMenuItem;	setAction)(Ljava/lang/String;Ljavax/swing/Action;)VactionLjavax/swing/Action;addCheckboxItemLjavax/swing/JCheckBoxMenuItem;getMenuItem+(Ljava/lang/String;)Ljavax/swing/JMenuItem;getSettingByMenuItem&(Ljava/lang/Object;)Ljava/lang/String;entryEntryLjava/util/Map$Entry;Ljava/lang/Object;itLjava/util/Iterator;LocalVariableTypeTable@Ljava/util/Map$Entry<Ljava/lang/String;Ljavax/swing/JMenuItem;>;VLjava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljavax/swing/JMenuItem;>;>;�setItemState(Ljava/lang/String;Z)VsettingstatesetIcon,(Ljavax/swing/JMenuItem;Ljava/lang/String;)VnameupdateCount(IIII)VhighlightsCountNewhighlightsCountignoredCountNewignoredCountbuildCount((Ljava/lang/String;II)Ljava/lang/String;countNewcountupdateSrlStreams%(Ljava/lang/String;Ljava/util/List;)Vchani$activepopoutLjava/util/List;$Ljava/util/List<Ljava/lang/String;>;9(Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)VsetUpdateAvailable,(Lchatty/gui/components/LinkLabelListener;)VupdateNotification!Lchatty/gui/components/LinkLabel;requiredSizeLjava/awt/Dimension;listener)Lchatty/gui/components/LinkLabelListener;access$000(Lchatty/gui/MainMenu;)Zx0access$002(Lchatty/gui/MainMenu;Z)Zx1SourceFile
MainMenu.java����javax/swing/JMenuMain����View��Channels��SRL��Races with..��Extra��Help��Ignored��Highlights��java/util/HashMap��������javax/swing/event/MenuListener����connectConnect��disconnectDisconnect����settingsSettings��preferences-system.png�configureLoginLogin..exitExitontop
Always on top��OptionsTitlebartitleShowUptime
Stream UptimetitleShowChannelState
Channel StatetitleShowViewerCountViewer/Chatter Count��showJoinsPartsShow joins/partsshowModMessagesShow mod/unmodattachedWindowsAttached dialogs
mainResizableWindow resizabledialog.channelInfoChannel Infodialog.channelAdmin
Channel Admindialog.highlightedMessages��dialog.ignoredMessages��
dialog.searchFind text..favoritesDialogFavorites/Historydialog.streams
Live Channelsdialog.addressbookAddressbookdialog.joinChannelJoin ChannelsrlRaces	Race ListlivestreamerLivestreamerdialog.toggleEmotes	Emoticonsdialog.followers	Followersdialog.subscribersSubscribersStream Chatdialog.streamchatOpenstreamChatResizable	ResizableStream HighlightsaddStreamHighlightAdd Stream HighlightopenStreamHighlightsOpen Stream HighlightssimpleTitleSimple TitleglobalHotkeysEnabledGlobal HotkeysdebugDebug windowwebsiteWebsiteaboutAbout/HelpF1�����help-browser.png��javax/swing/JMenuItem��������javax/swing/JCheckBoxMenuItem�������������java/util/Map$Entry����java/lang/String����javax/swing/ImageIconchatty/gui/MainMenu�������	��java/lang/StringBuilder (/)��No channel joined
srlRaceActivesrlRace4��chatty/gui/components/LinkLabel]<html><body style='text-align: right;padding-right:5px;'>[update:show Update&nbsp;available!]�	chatty/gui/MainMenu$1�
�javax/swing/JMenuBarN<html><body style='text-align: right;padding-right:5px;'>[update:show Update!]java/util/Iterator()V(Ljava/lang/String;)VaddActionListener"(Ljava/awt/event/ActionListener;)VaddMenuListener#(Ljavax/swing/event/MenuListener;)VsetMnemonic(I)VsetEnabled(Z)VaddSeparatoradd0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;javax/swing/KeyStrokegetKeyStroke+(Ljava/lang/String;)Ljavax/swing/KeyStroke;setAccelerator(Ljavax/swing/KeyStroke;)V((Ljavax/swing/JMenu;)Ljavax/swing/JMenu;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;setActionCommandget&(Ljava/lang/Object;)Ljava/lang/Object;(Ljavax/swing/Action;)VaddItemListener (Ljava/awt/event/ItemListener;)VentrySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;
java/util/MapgetValuegetKeysetStatejava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)V(Ljavax/swing/Icon;)VsetTextappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;	removeAllisEmptyjava/util/List>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)VgetPreferredSize()Ljava/awt/Dimension;M(Lchatty/gui/MainMenu;Ljava/awt/Dimension;Lchatty/gui/components/LinkLabel;)VaddComponentListener%(Ljava/awt/event/ComponentListener;)V*(Ljava/awt/Component;)Ljava/awt/Component;!��������������������������������������������������	�*�*�Y��*�Y��*�Y	��*�Y��*�Y
��*�Y��*�Y��*�*�*�Y��*,�*+�*�+�*�+�*�+�*�+�*�+�*�+�*�,��*�M�*�V�*�C�*�S�*�E�*�H�**� !�"W**�#$�"�%*��&***�'(S�)*�+**�,-�"W*��&**�./�"W**�01�2W�Y3�N�Y4�:*56�2W*78�2W*9:�2W-�;W*-<=�2W*->?�2W*-@A�2W*-BC�2W*�-�;W*��&**�DE�"W**�FG�"W*��&***�H�"�I***�J�"�K*��&**�LM�"W**�NOF�)W**�PQ�"W**�RS�"W*��&**�TU�"W**�VW�"W*��&*�*��;W*�,��**�XYL�)W**�Z[�"W*��&**�\]�"W**�^_�"W*��&�Y`�:*ab�"W*cd�2W*��;W�Ye�:*fg�"W*hi�"W*��;W*��&�Y3�:*jk�2W*lm�2W*��;W**�no�"W**�pq�"W**�rsH�):t�u�v*w�+**��xW**��xW**��xW**��xW**��xW**��xW��v]C!"#+$8%E&R'_0e1kAvD{E�J�K�L�M�N�O�Q�S�T�U�V�W�X�[�\]^)_6`=aJdWgailjwk�l�n�p�q�r�s�u�v�w�x�y�z�{
|}!�0�=�J�Q�^�k�r�~��������������������������#�*�5�@�K�U�b�o�������������������\	���������ag��l\���������5���I������;�yY-�z:��{*�,�|W,�}+�;W*��~��"����"�(�/�8��>;��;��;��;��;��1��������Q	*+,-�)����*	��	��	��	�����R*�+��y,������� ����������.��Y-��:*�,�|W,��+�;W*���������"�+��4.��.��.��.��$�����@*�+��y������������9*�����M,���$,����N-��+�
-�����������
�� �*�47�* ��9��9��
,��� ��
,����
�&���|*+��N-�-���-������
�*�������������U+��Y�,��������� ������z *�I*����*�K*������"$&�4 �� � � � �	��,�+���Y��+�������������������124�*,��,��,�,��
�|*���+�+���**����"W�**��+�"W,���G*��&,��N-���0-����:**���Y����������"W��ͱ�*>?@"B.D7E>FYGxH{J�4Y�E6�|��|�|�|����5���1*���,��Y�+��M,��N,��Y*-,����*,��W*����_`gh%}+~0��*1��1�0�/*����� !�;*Z�����"�#$�����	PKʣG`�b���chatty/gui/Message.class���3= /		0		1		2		3		4		5		678textLjava/lang/String;user
Lchatty/User;emotes:	TagEmotesInnerClasses%Lchatty/util/api/Emoticons$TagEmotes;colorLjava/awt/Color;whisperZhighlightedignored_compactaction<init>G(Lchatty/User;Ljava/lang/String;Lchatty/util/api/Emoticons$TagEmotes;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/Message;setHighlighted(Z)V
isHighlighted()Z	setActionisActionsetIgnoredCompactignoredisIgnoredCompactsetWhisper	isWhisperSourceFileMessage.java;
chatty/gui/Messagejava/lang/Object<#chatty/util/api/Emoticons$TagEmotes()Vchatty/util/api/Emoticons!	
	l*�*,�*+�*-��	* !
"#>*��  !$%/*��# !&#>*��'( !'%/*��+ !(#>*��/0 !)*%/*��3 !+#>*��78 !,%/*��; !-.9	PKʣGŐu���%chatty/gui/MouseClickedListener.class���3	mouseClicked()VSourceFileMouseClickedListener.javachatty/gui/MouseClickedListenerjava/lang/ObjectPKʣG1m[MMchatty/gui/NamedColor.class���3o@A	BCD	EFG	HIJKLFMFNO
DP
Q
R
PS
TUVWXYnameLjava/lang/String;namesLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;namesLowercase<init>(Ljava/lang/String;III)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/NamedColor;rIgb
StackMapTableXZ([Ljava/lang/String;III)VthisNamearr$[Ljava/lang/String;len$i$namesArray2getName()Ljava/lang/String;hasName(Ljava/lang/String;)ZnameToChecktoStringgetRgbStringSourceFileNamedColor.java![java/util/HashSet!\]^_ Z`8abcdef_java/lang/StringBuilder<8ghgijkgl,mknkchatty/gui/NamedColorjava/awt/Colorjava/lang/String(III)V()V
java/util/Setadd(Ljava/lang/Object;)ZtoLowerCasejava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;addAll(Ljava/util/Collection;)Zcontainsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getRed()I(I)Ljava/lang/StringBuilder;getGreengetBlue! !"#�D*�+�L*+�*�Y��*�+�W*�Y��*�+�	�W�$&	 !#$%*&5'C(%4D&'DD()D*)D+),�-.!/#4	p*�*�Y��*�+��W*�Y��+:�66�2:*��	�W����+��*��*+2��$.567!8,9E:T9Z<_=h?oA%\	E0/+124&3)7#4)p&'p52p()p*)p+),�7-66�"
78#/*��$I%&'9:#B*�+�	��$S%&';<8#C�
Y�*��*����$^%&'=8#T*�
Y�*���*���*����$g%*&'>?PKˣGH�$chatty/gui/RegexDocumentFilter.class���3H-./	0.123456789:patternLjava/util/regex/Pattern;<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis Lchatty/gui/RegexDocumentFilter;regexLjava/lang/String;insertString;FilterBypassInnerClassesc(Ljavax/swing/text/DocumentFilter$FilterBypass;ILjava/lang/String;Ljavax/swing/text/AttributeSet;)VexLjava/lang/Exception;fb.Ljavax/swing/text/DocumentFilter$FilterBypass;offIstrattrLjavax/swing/text/AttributeSet;
StackMapTable<replaced(Ljavax/swing/text/DocumentFilter$FilterBypass;IILjava/lang/String;Ljavax/swing/text/AttributeSet;)VlenSourceFileRegexDocumentFilter.java=>?@
ABCDEF%javax/swing/text/BadLocationExceptionjava/lang/NullPointerException(Gchatty/gui/RegexDocumentFilterjavax/swing/text/DocumentFilter,javax/swing/text/DocumentFilter$FilterBypassjava/lang/Exception()Vjava/util/regex/Patterncompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/MatcherreplaceAll&(Ljava/lang/String;)Ljava/lang/String;5(ILjava/lang/String;Ljavax/swing/text/AttributeSet;)V6(IILjava/lang/String;Ljavax/swing/text/AttributeSet;)V!
I
*�*+���

�+*�-����:�	> !"#$%&W'()�+*�����:�	"%#&H !"*"#$%&Y'+,	PKʣG��C) ) chatty/gui/StyleManager.class���3���	����	����������	���	����	�������	���	���	���	���	���	�������� �	����������	����	��	���	� �	�A �	�	�	
									 !	"#	$%	&'	()	*+�,�-��������./	0�12�3�456789�:;<=>?�@ABrC�DE�FGHrIJKz�LzMzN�OPQR�STUVWX�Y	�Z[\LOGGERLjava/util/logging/Logger;settingNamesLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;	baseStyle&Ljavax/swing/text/MutableAttributeSet;
standardStylespecialStyle	infoStyleparagraphStyleotherhighlightStylefontLjava/awt/Font;backgroundColorLjava/awt/Color;foregroundColorinputBackgroundColorinputForegroundColorhighlightColorsearchResultColorsearchResultColor2settingsLchatty/util/settings/Settings;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/StyleManager;refresh()VmakeStylesfontNameLjava/lang/String;defaultStyleLjavax/swing/text/Style;spacingFdeletedMessagesModedeletedMessagesModeNumericJ
StackMapTablePU]	makeColor$(Ljava/lang/String;)Ljava/awt/Color;setting4(Ljava/lang/String;Ljava/awt/Color;)Ljava/awt/Color;defaultColorgetStyle(()Ljavax/swing/text/MutableAttributeSet;:(Ljava/lang/String;)Ljavax/swing/text/MutableAttributeSet;typegetFont()Ljava/awt/Font;getColorgetTimestampFormat()Ljava/text/SimpleDateFormat;sdfLjava/text/SimpleDateFormat;ex$Ljava/lang/IllegalArgumentException;	timestamptimezoneBJ<clinit>SourceFileStyleManager.java��������Refreshing styles..^7_	inputFont`abcde��fg�����hij��������������klmdefault�n#javax/swing/text/SimpleAttributeSet�o��pqrfontSizestuv��wx����compactColor��	infoColor��lineSpacingyz��|�emoticonsEnabled����������emoteScale�����emoteMaxHeight��usericonsEnabled��showBanMessages��autoScroll��autoScrollTimeout��
actionColored��bufferSize��combineBanMessages��botBadgeEnabled��filterCombiningCharacters��pauseChatOnMouseMove�� pauseChatOnMouseMoveCtrlRequired��showAnimatedEmotesdelete��
keepShorteneddeletedMessagesMaxLength��d�regular����specialstandardinfo	highlight	paragraphforegroundbackgroundinputBackgroundinputForegroundsearchResult
searchResult2timestampTimezoneoffjava/text/SimpleDateFormat�_��local�������"java/lang/IllegalArgumentExceptionjava/lang/StringBuilderInvalid timestamp: �����_chatty/gui/StyleManager�����java/util/HashSetjava/lang/StringtimestampEnabled�������java/lang/Objectchatty/gui/StyleServerjavax/swing/text/Stylejava/util/logging/Logger(Ljava/lang/String;)Vchatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;
java/awt/Fontdecode#(Ljava/lang/String;)Ljava/awt/Font;java/awt/ColorBLACKchatty/gui/HtmlColorssetDefaultColor(Ljava/awt/Color;)Vjavax/swing/text/StyleContextgetDefaultStyleContext!()Ljavax/swing/text/StyleContext;,(Ljava/lang/String;)Ljavax/swing/text/Style;"(Ljavax/swing/text/AttributeSet;)Vjavax/swing/text/StyleConstants
setFontFamily;(Ljavax/swing/text/MutableAttributeSet;Ljava/lang/String;)VgetLong(Ljava/lang/String;)JsetFontSize*(Ljavax/swing/text/MutableAttributeSet;I)V
setForeground9(Ljavax/swing/text/MutableAttributeSet;Ljava/awt/Color;)VsetLineSpacing*(Ljavax/swing/text/MutableAttributeSet;F)V�6chatty/gui/components/textpane/ChannelTextPane$SettingSettingInnerClassesEMOTICONS_ENABLED8Lchatty/gui/components/textpane/ChannelTextPane$Setting;getBoolean(Ljava/lang/String;)Zjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;$javax/swing/text/MutableAttributeSetaddAttribute'(Ljava/lang/Object;Ljava/lang/Object;)VEMOTICON_SCALE_FACTORjava/lang/Long(J)Ljava/lang/Long;EMOTICON_MAX_HEIGHTUSERICONS_ENABLEDSHOW_BANMESSAGESAUTO_SCROLLAUTO_SCROLL_TIMEACTION_COLOREDBUFFER_SIZECOMBINE_BAN_MESSAGESBOT_BADGE_ENABLEDFILTER_COMBINING_CHARACTERSPAUSE_ON_MOUSEMOVE PAUSE_ON_MOUSEMOVE_CTRL_REQUIREDEMOTICONS_SHOW_ANIMATEDequals(Ljava/lang/Object;)ZDELETED_MESSAGES_MODEhashCode()IisEmpty()ZequalsIgnoreCasejava/util/TimeZonegetTimeZone((Ljava/lang/String;)Ljava/util/TimeZone;setTimeZone(Ljava/util/TimeZone;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;warningjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)V.chatty/gui/components/textpane/ChannelTextPane!��������������������������������������������N*�*+�*���89	:
;��������?
��*���ABC�
������*��L*+�	�**��
�*��**��**��**��**��**��**����M*� Y,�!�"*�"*�#��$*�"*�%�&��'*� Y*�"�!�(*�(*��)*� Y*�"�!�**�**��)*� Y*�"�!�+*�+*,��)*� Y*�"�!�-*�-*.��)*� Y�/�0*�1�&�2nF*�0%�3*� Y�/�4*�4�5*�6�7�8�9*�4�:*�;�&�<�9*�4�=*�>�&�<�9*�4�?*�@�7�8�9*�4�A*�B�7�8�9*�4�C*�D�7�8�9*�4�E*�F�&�<�9*�4�G*�H�7�8�9*�4�I*�J�&�<�9*�4�K*�L�7�8�9*�4�M*�N�7�8�9*�4�O*�P�&�<�9*�4�Q*�R�7�8�9*�4�S*�T�7�8�9*�4�U*�V�7�8�9*�W�:	7X�Y�Z7�\�Y�*�]�&7*�4�^�<�9���1GHKL&M0N:ODPNQXRbTkVwW�X�[�\�^�_�a�b�d�egij'l2nJobpzq�r�s�t�u�vw"x:yRzj{�|�~��������������>������kv������<���9������������>*+*��
�����������K
*�+�,�_���� 
��
��
�����1*`�a���������M�+M>,�b���I@�<�e��f1d�XN=�JU��#�t/�nt,c�Y�K>�F,d�Y�=>�8,e�Y�/>�*,f�Y�!>�,g�Y�>�,h�Y�>�D&+05:?*�+�*�(�*�-�*�*�*�0�*�4�*�"��"������������������������D�




&����/*����������M�+M>,�b����@����U.J�;�t*��fd�ԘXvHiC<,i�Y�K>�F,j�Y�=>�8,k�Y�/>�*,l�Y�!>�,m�Y�>�,n�Y�>�D&+05:?*��*��*��*��*��*��*���"������������������������D�




&����\*�o�L*�p�M+q�Y�@�rY+�sN,�t�,u�v�-,�w�x-�N��zY�{|�}+�}�~��?@y�*����&�6�>�@�A�Z��4&��A��\��R��H���"�>��������������������Y!��Y#SY%SY�SY6SYSY.SY,SYSYSY	SY@SYoSYSY
BSYDSYWSY]SYSY1SYJSYHSYLSYpSYFSYSYSY;SY>SYNSYPSYRSYTSY VS����������~{}@PKʣGǒA���chatty/gui/StyleServer.class���3getColor$(Ljava/lang/String;)Ljava/awt/Color;getStyle(()Ljavax/swing/text/MutableAttributeSet;:(Ljava/lang/String;)Ljavax/swing/text/MutableAttributeSet;getFont()Ljava/awt/Font;getTimestampFormat()Ljava/text/SimpleDateFormat;SourceFileStyleServer.javachatty/gui/StyleServerjava/lang/Object	
PKʣGw��oo chatty/gui/TrayIconManager.class���3�+]^_^`	(ab]	(cdefghijklmn	(op(q	rstuvv	(w^xy	(z{]|}~��^�(�������LOGGERLjava/util/logging/Logger;trayLjava/awt/SystemTray;trayIconLjava/awt/TrayIcon;popupLjava/awt/PopupMenu;	iconAddedZ<init>(Ljava/awt/Image;)VCodeLineNumberTableLocalVariableTableshowItemLjava/awt/MenuItem;exitItemthisLchatty/gui/TrayIconManager;imageLjava/awt/Image;
StackMapTable��displayInfo'(Ljava/lang/String;Ljava/lang/String;)VtitleLjava/lang/String;messagesetTooltipText(Ljava/lang/String;)VtextaddActionListener"(Ljava/awt/event/ActionListener;)VlistenerLjava/awt/event/ActionListener;addIcon()VexLjava/awt/AWTException;yremoveIconsetIconVisible(Z)Vvisible<clinit>SourceFileTrayIconManager.java6R�����./java/awt/PopupMenu23java/awt/MenuItemShow6Kshow�K��Exitexitjava/awt/TrayIconChatty6�01��QR������KMN45��java/awt/AWTException,-java/lang/StringBuilderError adding tray icon: ��������K��VRchatty/gui/TrayIconManager�����java/lang/Objectjava/awt/Imagejava/awt/SystemTrayisSupported()Z
getSystemTray()Ljava/awt/SystemTray;setActionCommandadd((Ljava/awt/MenuItem;)Ljava/awt/MenuItem;%(Ljava/awt/Image;Ljava/lang/String;)VsetPopupMenu(Ljava/awt/PopupMenu;)Vjava/awt/TrayIcon$MessageTypeMessageTypeInnerClassesINFOLjava/awt/TrayIcon$MessageType;displayMessageF(Ljava/lang/String;Ljava/lang/String;Ljava/awt/TrayIcon$MessageType;)VsetToolTip(Ljava/awt/TrayIcon;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getLocalizedMessage()Ljava/lang/String;toStringjava/util/logging/Loggerwarningremovejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!(+,-./012345678z*���c*��*�Y���Y	�M,�*�,�
W�Y�N-�*�-�
W*�Y+��*�*���*�*�*��9F&, 5!?"E#N%\&g'j(o)t*y,:*&A;<?(=<z>?z@AB�jCDEF8k*��*�*�+,���95679: >?GHIHBJK8U*��*�+��9BCE:>?LHBMN8a*��*�+�*�+��9NOPR:>?OPBQR8�?*��:*��3*�*��*�� L��Y� !�"+�#�"�$�%�!9Y[\_!]"^>a:"ST?>?BaUVR8^*��*��*�*��&*��9hijl:>?BWX8Z�*��*�'�9vwy{:>?Y5BZR8%
(�)�*��9[\�r�@PKˣG�%">jjchatty/gui/TwitchUrl.class���3�(mnopqprstupvwxyz'{|}'~'��m����������������'���������MULTITWITCHLjava/lang/String;
ConstantValue�SPEEDRUNTV�KADGAR�<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/gui/TwitchUrl;removeInvalidStreams(Ljava/util/Collection;)VstreamsLjava/util/Collection;itLjava/util/Iterator;LocalVariableTypeTable*Ljava/util/Collection<Ljava/lang/String;>;(Ljava/util/Iterator<Ljava/lang/String;>;
StackMapTable�	Signature-(Ljava/util/Collection<Ljava/lang/String;>;)VopenTwitchProfile)(Ljava/lang/String;Ljava/awt/Component;)VurlnickparentLjava/awt/Component;openTwitchStream*(Ljava/lang/String;ZLjava/awt/Component;)VpopoutZmakeTwitchProfileUrl&(Ljava/lang/String;)Ljava/lang/String;channelmakeTwitchStreamUrl'(Ljava/lang/String;Z)Ljava/lang/String;smakeTwitchTurboUrl()Ljava/lang/String;makeFFZUrl(I)Ljava/lang/String;idIusermakeBttvUrlmakeTwitchemotesUrlopenMultitwitch9(Ljava/util/List;Ljava/awt/Component;Ljava/lang/String;)VLjava/util/List;type$Ljava/util/List<Ljava/lang/String;>;M(Ljava/util/List<Ljava/lang/String;>;Ljava/awt/Component;Ljava/lang/String;)VmakeMultitwitchUrl6(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;streamsTextJ(Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)Ljava/lang/String;makeSrlRaceLinkmakeSrtRaceLinkmakeSrlIrcLinkSourceFileTwitchUrl.java12��������java/lang/String����24Unable to open Twitch Profile URL (Not on a channel)Info���OP���KL3Unable to open Twitch Stream URL (Not on a channel)RSjava/lang/StringBuilderhttp://twitch.tv/��/profile�V/popouthttp://twitch.tv/turbohttp://frankerfacez.com&http://www.frankerfacez.com/emoticons/��+http://www.frankerfacez.com/emoticons/user/�V"http://www.nightdev.com/betterttv/https://twitchemotes.com/emote/���de/���"http://speedrunslive.com/race/?id=http://speedrun.tv/?race= irc://irc.speedrunslive.com/srl-chatty/gui/TwitchUrljava/lang/Objecthttp://multitwitch.tv/http://speedrun.tv/http://kadgar.net/live/java/util/Iteratorjava/util/Collectioniterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;
chatty/HelpervalidateChannel(Ljava/lang/String;)Zremovejavax/swing/JOptionPaneshowMessageDialog<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)Vchatty/gui/UrlOpener
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString(I)Ljava/lang/StringBuilder;toLowerCasejava/util/ListisEmptychatty/util/StringUtiljoin<(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;!'()*+,-*+./*+0123/*��4567	893�)*�L+��+������+����4(5):;"<=>):?"<@A	�B CD	EF3t*�+	��*�M+,�W�4!"$5 G*H*IJA	KF3?*+�
�4'(5H*IJ	KL3*�,	��*�N,-�W�4+,/025*G*H*MNIJA	OP3C�Y��*����455Q*	RS3�3�Y��*���M��Y�,���M,�49:;1=5 3Q*3MNG*A�1T	UV3�4A	WV3�4E	WX3>�Y�����4I5YZ	WP3A�Y��*����4M5[*	\V3�4Q	]X3>�Y�����4U5YZ	^_3*�*� ��+*,�!�W�4]
^`a5 :`IJa*>:bA
Cc	de3~*"�#M�Y�+�,��N-�4def5*:`a*f*G*>:bCg	hP3>�Y�$�*���4j5Y*	iP3>�Y�%�*���4n5Y*	jP3>�Y�&�*���4r5Y*klPKˣG������chatty/gui/UrlOpener.class���3�8|	5}5~|��5������ ����	5��|��
����������5�5������������5��5�������������������������LOGGERLjava/util/logging/Logger;MAX_URL_LENGTHI
ConstantValuePpromptZ<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/gui/UrlOpener;	setPrompt(Z)V	usePrompt
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)ZparentLjava/awt/Component;urlLjava/lang/String;*(Ljava/awt/Component;Ljava/lang/String;Z)ZforcePromptlistLjava/util/List;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;
StackMapTableopenUrl(Ljava/lang/String;)ZexLjava/io/IOException;Ljava/net/URISyntaxException;��openUrlsPrompt'(Ljava/awt/Component;Ljava/util/List;)Vurls	Signature;(Ljava/awt/Component;Ljava/util/List<Ljava/lang/String;>;)V((Ljava/awt/Component;Ljava/util/List;Z)Z<(Ljava/awt/Component;Ljava/util/List<Ljava/lang/String;>;Z)ZopenUrls(Ljava/util/List;)Zi$Ljava/util/Iterator;result�'(Ljava/util/List<Ljava/lang/String;>;)ZshowUrlsPrompt'(Ljava/awt/Component;Ljava/util/List;)ItextokOptionoptions[Ljava/lang/String;chosenOption�r;(Ljava/awt/Component;Ljava/util/List<Ljava/lang/String;>;)IsplitUrl&(Ljava/lang/String;)Ljava/lang/String;<clinit>SourceFileUrlOpener.javaAB?@KQjava/util/ArrayList���_d�����java/net/URIA���java/io/IOException9:java/lang/StringBuilderIOException when opening URL ���������java/net/URISyntaxException$URISyntaxException when opening URL Desktop not supported.��fgmn��java/lang/String����������XY"<html><body style='width: 100px;'>wx<br />Open URL��Open �� URLsCancelCopy URLOpen in default browser?���������� ��chatty/gui/UrlOpener�����java/lang/Objectjava/util/Iteratorjava/util/Listadd(Ljava/lang/Object;)Zjava/awt/DesktopisDesktopSupported()ZgetDesktop()Ljava/awt/Desktop;(Ljava/lang/String;)Vbrowse(Ljava/net/URI;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getLocalizedMessage()Ljava/lang/String;toStringjava/util/logging/LoggerwarningisEmptyget(I)Ljava/lang/Object;chatty/util/MiscUtilcopyToClipboarditerator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;size()I(I)Ljava/lang/StringBuilder;java/lang/IntegervalueOf(I)Ljava/lang/Integer;javax/swing/JOptionPaneshowOptionDialogt(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;IILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)Ilength	substring(II)Ljava/lang/String;(I)Ljava/lang/String;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!589:;<=>?@ABC/*��DEFG	HIC3��D)*EJ@	KLC;*+��D4EMNOP	KQC�+���Y�N-+�W*-��DBCEFGE*MNOPR@STUSVW	XYC�f*����S�	�Y*���L��Y��+�����+L��Y��+��������
<D6
RSUWXYZ9]<[=\Y]\_daE Z[=Z\fOPW
U]_^	_`CR*+�W�DklEMNaTUaVbc	_dC�L+������+��*+��++��+����D"z	{}~�8�=�J�E LMNLaTLR@ULaVWbe	fgC�*<*� M,�!�,�"�N-�#�<����D���#�%�(�E*	OP	hi*aT(j@U*aVW
�	k�blmnC��$M+� N-�!�1-�"�:�%:�Y�,��&��M���'N+�(�!�Y�)�+�(�*+��N�Y-SY,S:+�(��Y-SY-SY,S:*,.�/�06�D6
���%�>�A�D�N�l�{�������ER OP7hi�MN�aT�oPDjpP{3qr�s<U�aVW�tk�6�*t�,ubvwxCl1*�1P�)�Y�*P�2�3�*P�4�%���*�D�	�/�E1OPW/yBC-5�6�7���D!z{PKʣGa�5chatty/gui/UserListener.class���3	userClicked+(Lchatty/User;Ljava/awt/event/MouseEvent;)VemoteClicked8(Lchatty/util/api/Emoticon;Ljava/awt/event/MouseEvent;)VSourceFileUserListener.javachatty/gui/UserListenerjava/lang/ObjectPKˣGϊ�Y��chatty/gui/UserlistModel.class���3iBCB	DEFGHIJKLMNOPQRSOTUVWdataLjava/util/ArrayList;	SignatureLjava/util/ArrayList<TT;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/gui/UserlistModel;LocalVariableTypeTableLchatty/gui/UserlistModel<TT;>;getData()Ljava/util/ArrayList;()Ljava/util/ArrayList<TT;>;getSize()IgetElementAt(I)Ljava/lang/Comparable;indexI(I)TT;add(Ljava/lang/Comparable;)VitemLjava/lang/Comparable;insertionPointTT;(TT;)Vremove
StackMapTablefindInsertionPoint(Ljava/lang/Comparable;)I(TT;)Iupdatedclearsort(I)Ljava/lang/Object;x0:<T::Ljava/lang/Comparable;>Ljavax/swing/AbstractListModel;SourceFileUserlistModel.javajava/util/ArrayListXYZ([=java/lang/Comparable78.\]^_`5=a^bcde^fg;<h)*chatty/gui/UserlistModeljavax/swing/AbstractListModelclone()Ljava/lang/Object;sizeget(ILjava/lang/Object;)VfireIntervalAdded(Ljava/lang/Object;II)VindexOf(Ljava/lang/Object;)IfireIntervalRemovedjava/util/CollectionsbinarySearch;(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)IfireContentsChangedisEmpty()Z(Ljava/util/List;)V!P*�*�Y���
 !" #$%G*���� !" #&'(D*��� !" #)*R*���� !+," #-./}*+�	=*�+�**�� !"#  !012," #0345/� *�+�=��*��
W**��&	'(*+,   ! 01	+,"  # 036�478�*�+�=�`t=�/013  !012," #036�9:/�*�+�=��**��7	89;<  !01	+," #036�4;r!*���***��d�*���?@A C! !"! #6 <[*��***��d��FGH !" #A)=L*��
 !>," #?@APKˣG߄\	�� chatty/gui/WindowManager$1.class���3SourceFileWindowManager.javaEnclosingMethodchatty/gui/WindowManager$1InnerClassesjava/lang/Objectchatty/gui/WindowManager 	PKˣG��|��'chatty/gui/WindowManager$Listener.class���3)	 !"#$this$0Lchatty/gui/WindowManager;<init>(Lchatty/gui/WindowManager;)VCodeLineNumberTableLocalVariableTablethisListenerInnerClasses#Lchatty/gui/WindowManager$Listener;windowActivated(Ljava/awt/event/WindowEvent;)VeLjava/awt/event/WindowEvent;%9(Lchatty/gui/WindowManager;Lchatty/gui/WindowManager$1;)Vx0x1Lchatty/gui/WindowManager$1;SourceFileWindowManager.java		&'(!chatty/gui/WindowManager$Listenerjava/awt/event/WindowAdapterchatty/gui/WindowManager$1()Vchatty/gui/WindowManageraccess$100 	4*+�*��)
@*���-.
	D*+��)
 !!PKˣGɋ����chatty/gui/WindowManager.class���3T1232	456
7898:;<;=>
?
@ABCInnerClassesListenerontopLjava/util/List;	Signature#Ljava/util/List<Ljava/awt/Window;>;<init>(Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/WindowManager;mainLjava/awt/Window;addWindowOnTopwindowupdateOnTop()Vwi$Ljava/util/Iterator;
StackMapTableDaccess$100(Lchatty/gui/WindowManager;)Vx0SourceFileWindowManager.java%&&java/util/ArrayList!chatty/gui/WindowManager$ListenerEFGHIJKLDMNOPjava/awt/WindowQRS&chatty/gui/WindowManagerjava/lang/Objectchatty/gui/WindowManager$1java/util/Iterator9(Lchatty/gui/WindowManager;Lchatty/gui/WindowManager$1;)VaddWindowListener"(Ljava/awt/event/WindowListener;)Vjava/util/Listadd(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;setAutoRequestFocus(Z)VtoFront!]*�*�Y��+�Y*��� !"#D*�+�	W� $"%&�/*��L+��+��
M,�,�,���߱ "!&"+#.$ '"$()/ *�+�#,-/*��. /0PKʣG�}``-chatty/gui/WindowStateManager$StateItem.class���3!			saveSizeZidLjava/lang/String;reopenwasOpen<init>(Ljava/lang/String;ZZ)VCodeLineNumberTableLocalVariableTablethis	StateItemInnerClasses)Lchatty/gui/WindowStateManager$StateItem;SourceFileWindowStateManager.java
	 'chatty/gui/WindowStateManager$StateItemjava/lang/Object()Vchatty/gui/WindowStateManager 	
l*�*�*�*+��	*	PKʣG�pg3��#chatty/gui/WindowStateManager.class���3HP���	M���	M�	M�	M�� �	M��
�� �	M� ���������M�M�������	4����	4����	C�	C����d	
������0�M����	��	��4��� ����	M�������	
��C��0�	
��M�M�������	StateItemInnerClassesLOGGERLjava/util/logging/Logger;SETTINGLjava/lang/String;
ConstantValueMODE_SETTINGDONT_RESTOREIRESTORE_MAINRESTORE_ALLRESTORE_ON_STARTREOPEN_ON_STARTwindowsLjava/util/HashMap;	SignatureOLjava/util/HashMap<Ljava/awt/Window;Lchatty/gui/WindowStateManager$StateItem;>;locationSetLjava/util/Set;"Ljava/util/Set<Ljava/awt/Window;>;settingsLchatty/util/settings/Settings;
defaultParentLjava/awt/Window;
primaryWindowattachedWindowManager"Lchatty/gui/AttachedWindowManager;<init>3(Ljava/awt/Window;Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/WindowStateManager;	addWindow((Ljava/awt/Window;Ljava/lang/String;ZZ)VwindowidsaveSizeZreopensetPrimaryWindow(Ljava/awt/Window;)VsetAttachedWindowsEnabled(Z)VenabledsaveWindowStates()Vi$Ljava/util/Iterator;
StackMapTableloadWindowStatessaveWindowStateitem)Lchatty/gui/WindowStateManager$StateItem;locationLjava/awt/Point;statesizeLjava/awt/Dimension;�������loadWindowStatelocationTempIntegerPairLchatty/Helper$IntegerPair;sizeTempstates[Ljava/lang/String;�setWindowPosition%(Ljava/awt/Window;Ljava/awt/Window;)VparentsetLocationBeforewasOpen(Ljava/awt/Window;)ZshouldReopenmode()I<clinit>SourceFileWindowStateManager.javar�java/util/HashMapdejava/util/HashSethiklmn chatty/gui/AttachedWindowManagerrpq'chatty/gui/WindowStateManager$StateItemr	on�
java/awt/Window����java/lang/StringBuilderZ,Z !";#Z$Z%10|V&'()*java/lang/String+,��-./java/awt/Point0Z1Zr234567879ST
Location for  [:] not restored (not on screen);<=}~java/awt/Dimension>?@�~A����restoreModeBCchatty/gui/WindowStateManagerDE FGjava/lang/Objectjava/util/Iteratorchatty/Helper$IntegerPair(Ljava/awt/Component;)V(Ljava/lang/String;ZZ)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;attachsetEnabledkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;contains(Ljava/lang/Object;)Zget&(Ljava/lang/Object;)Ljava/lang/Object;getLocation()Ljava/awt/Point;xappend(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;ytoString()Ljava/lang/String;getSize()Ljava/awt/Dimension;widthheight	isVisiblechatty/util/settings/SettingsmapPut9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)VmapGet8(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;split'(Ljava/lang/String;)[Ljava/lang/String;
chatty/HelpergetNumbersFromString/(Ljava/lang/String;)Lchatty/Helper$IntegerPair;ab(II)Vchatty/gui/GuiUtilisPointOnScreen(Ljava/awt/Point;I)ZignoreLocationOnce(Ljava/awt/Point;)VsetLocationadd-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerinfo(Ljava/lang/String;)VsetSize(Ljava/awt/Dimension;)VequalssetLocationRelativeTogetLong(Ljava/lang/String;)Jjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!MPSTUVW,XVWKYZW[\ZW]^ZW_`ZWabZWcdefghifjklmnonpqrst�1*�*�Y��*�Y��*,�*+�	*�Y+���uA*/BC$D0Ev 1wx1mn1klyztw*�+�
Y,��W*�+��uPQRv4wx{n|V}~~��t>*+��u[\vwx{n��tA	*���u_`v	wx	�~��t�)*���L+��+��M*,����uf g%h(iv  {n
��)wx��
����t�)*���L+��+��M*,����uo p%q(rv  {n
��)wx��
����tr�*�+��+*���*�+��
M+�N�Y�-�� !�"-�#� �$:+�%:�Y��"&�"�'� !�"�(� �$:�Y��"&�"+�)�*�+�"�$:*�,,�-�.�u*|}�"�'�F�L�w�����v>�wx�{n"���'���Fh�VLb���>�}������������������t�*�+��
M*�,,�-�/�0N-��-&�1:���*�2�*�2��+*���2�3:�o�4Y�5�6�7:�8�(+*�	�*��9+�:*�+�;W�.�<�Y�=�",�-�">�"�?@�"�$�A2�3:�#,�B��CY�5�6�D:+�E,2*�F�G�u^���!�"�*�1�2�J�S�X�k�t�|�������������������v\	kY�����S����%��wx{n�����V*����"�"�����:���*�-��t�1*�+�>*�2��,�*�	M+,�H*�+�;W�u���� �%�0�v*1wx1{n1�n&�~����t?*+�I�u��vwx{n��to*�+��
M,�,�G���u��v wx{n�����@��tU*�2�*+�J���u�vwx{n�@��t5*�K�L��u�vwx��t%
M�N�O�<�u��R
MQ���	PḲG���chatty/gui/app_16.png�PNG

IHDR�a	pHYs��~��IDAT8���Mhe����7s�M�4?�X�DDj�B�qѢƍHՒ���NQ�"�څ�"��MAhZD��J����T����{3ɝ;3�����*�_8�s8��p�� �&���W�����7�g��9x��G�N6FB�B�Z�X���e�S��W���_/��կ��֞��mcͳ�.{��{L8�t8�@Cw�+��C|ZW�M�VW����?,o,������S�\�i(��p����l.�g��Q^�{�n�N����jycQ)g-E^ba�֐�,�{�_��;�ʹ��I7�䋋�K#��X%�:��@x�T]G��|v�2O��ǡ�S��SΙ7�#��d���7�������6��P;��!�V�ѴV<�%�'�#f�*w���@
���k���]�������#HC^��,'�Z �"��Q�g��.[s�q�[�2��\�q��^��0T$I���X�l&�9D�^ct�m�*ץ�EZ�:r��45vzba�L���"�+��t�tdGM�Rd�ʺ�,6��!&� ���ۙʓJyWz�7��K��N��DQPIK}߽���<3���Cj�~�x��:u~G8YZg���ڝ¥oz�o~\�������d��}�>RC'��.jo��@�������_�[{��"AiA��$��`�'��O5�r+gn
����3�'��N��o�IEND�B`�PḲGvg{��chatty/gui/app_64.png�PNG

IHDR@@�iq�bKGD�������	pHYs��tIME�
�$PGIDATx��k��y�����\Y.k|�]H�ZH��@MHjHc�҄P�IEu"5�D�U�HQ�|�q�Ŋ�ʱ%���mZՖ��c,�ŐX\��#��eͲkޙs�~8���]�Jj�r�ٙ=3s�<������v���nj�4U�3��+��#�π�0�A�����_���+�X}�.`���D4��g��U��t>{[����Ҡ�Bi�C���?4q�B�A,�C��`-���[뮭�`���$�b�^}0~zY����~�0�}8MP#�l��=��[>�eT�[�'?�	]Q$U�UЉrG�1@'��r�+�6n�ƀ������&u�&lYf�5ܽ�E����Cx�f1)����s�XO�8Ft���r��L�������3���|b�&��2�����Uܹ�LZ!�3@�'�o30)��bS05!�rb��D"m������w�_�v1�;8���x�XԆm���sEB�KH˺���:vp��;���kr���L�2���:ttU�T��*ӌ�g���x.�2<s���� ��I�3�B����#�y��ެꨨ:�4-�L��4̧�NV.���ڛ���c@À*�藻v����_�)���)�|.e�L Q�gH$U�x樊gR�M$���7T�J�*�?ޯ�{��Pyϩ�R4T��u�Hԯ>��X�H�)|�O�熹�T+U����0O�8m�f�T��F�y�T*Q�D��~"��e�C�DG�D�uN�MF���V�Uf5�q���]�F=Z\w۟��xM��@��D`���;tU��{�Pa���w����4�� �H��WĜ@Y}��[go��ʈ(I
3”�(�U��N��Ai�1O=��S�t�g�qN������D3}j7���K������3@l�0A��6�|���^]��#�&��0HY<�EQV�E��͂��-<��o��v�s��02�����z�1~�Y��v��e
��N�ߤ�sJ�Bu�]%�s��HM�օ�[��I�j�--�|����q!�]/v��+��/���KD	H����r�c���C��!#5=���X^��K��c�
q���ޔ��e���o ��?����;5\X,�Z�7v��^#e2�$�����=�8a3������W��I:��2���ml����ŭLm�����:=�"/8^6#|�_��7>GB�%/��h�QD!Q-����8���G��<>g�E�����C<��o������d����ꅼ�=�$*a�&�|���ާ���[������|�#�z��r�����1i@HH|rbC�a6k&���xh+������}���nB2�X� ��8��7[Vq�-mC��=�����}rUdJ���͉9�rV��rW!~�w�]�����˪?���ܻi����d!A���{�s��	��l�w�,�Φ}NK$:j��*�L�	-d��AAc"> HH)G�UZEXj�7�����>wt�P���M�,7��	N��F�{7-��l�RL�l��
$��)����[);�i@�{#X圞2��I�A�����ڐ�:�\�:��G�3w8-�Ĩ�s�Q�f �QQ�9�G'�=*�9�0!��9�����D�V!ZP�?;d��fb�B��M(��d�߳R�#�Cr��lQ&H)T�0Ap�5VPFy��%�*��AIp��Q��2TS��Z�����XS�Ɣ+D����o�V��X2'j6x�C��(�8�P�Kp��8�CJ�ռʚ ��5�hA��x3�A<l�|f��2&i�	(�A�r�_��`��N��ZQ_W%��Q����zW׋B��N�H2׎B	�PR�Ŕ뉡N��&��}:ĥ<�wv�x�/g"�a��S�0����8����Ar��"6��4Hf�o jM�G�j�Ҩ]��A�a"6I[�&��s�{���co�y�3?k����(�	A;�$���w�R�$��2O&؜�-�<J�z�2��a,JkPб����^k���X<��6j�����݃?ga�l�g�b��̜��\K�PdԪ��X��9�C���8t���ʕ���|�<���X���A��~Ă���^��;�w�a��
�‘��pā��g�`���b�Qt�0�3�&��u*j2�����g�L]�*�`5X�>�y-�Jc?��cO K�k���yӲ�p�L;��2��������(ikSS9n�D=@$_��� i`��(��u5�1�-k�fu���.vuv���&���Ǵ5�����Op�bف6T+�}��Rt��h���FfGk#��!������:�'Z���*�*UoA��y��{簸����'�����%��i��Rǩ��p��Gvwr�o�:憎�4Wr!�(`s�D� ��Q�1�1ND�bA���2���C9[Y@����+?y��O���}��9pdLU�%s[����j�'���uC��𣘀�U��(gļ?L��vn�&�4W�v�&n��uB%��s[��5w�Q��%�Ra�i�����Q�@��_Ťǁ��> Z�⢅��6���xr���K��:��J����K:H�v ��R/�g)$Ra�U�N�X ���KZ����_+�@]#p�j�\�ڥ7���w��s��ߟ������k�W*Lkjd��nn�NJ�i����x�ګ}H�|Yn4�;.X�չ���T�@Z��[�	�[qǣ�P�U~ᢎn_ć,tR2��jrf�k���G��{��C�\^1�6��T0�	wY�h�	�����bfX�,hA�ѹR^��KnF�r�Lb�r�4�'Ri�2�;Xy�&���S��B��3_Tq�J�VoJ�DJ��b�=��+G�k�!���|`�V���ܻs�x��A��Ej�U��$n�(-n	[�� ��D�y.%�+���U�
/��+H��dD�7�r�b��t\a0����ww;?�{���/�0�P��H.lU�.:����S��pχNPcj#*4ia׈�g����l����_�xc��9���C$���<4X���IK����{�c�A�j�
�k�6�)�߳�Ja��sz/Mc�‡Sw���©x�ʫ�~j��}��V���7nΏy���U�;��&�ۯ��in��ֻ;:�G
����$��*%X�$$(�����Mr�	WE��TS��-����\'�!��^��ɩ�=��em�w���5�MR�2�Ȉ�u�H�\x�/-xd\�w��;M�i�il'QՒ����p=�V�����N�f�`����ʎ���������u�m��o�~��'��o��n�˱U�X,��g����*[�@���wX�6
�:�,t��i���ej�z)�����`L{�+�p���B�@�Kcef	_�m�Rzs2��'���Ф2tsեm�g�$�?��t�T�@���@ɕȀf��GM�� ~�;-�����_
S�������O�%��6���R?�����F�Q����ֿ��w��_��F#�w��O�M�g���l%���tF��Εj�9�qC�w��I��=�r�@��ʀb�tE|�]mW��Vl��v�]�IEND�B`�PḲG��ŧ��chatty/gui/app_help_16.png�PNG

IHDR�abKGD�������	pHYs��tIME�31��Y�BIDAT8˽�KH�q���f�|T&�FS��#I�(+"*���*ZE���v�,$�(h��*$� �q>�"���i�y|�m1Zm*�lϽ���?B�G�3�2�P�.)�0B��|[�l��^A�0��IsM��DZ�C@��7�{��]��P^mRZe�}a"��BRSA�D@v! ��I���W'�!�0��֭�(�P�´�p�~vl��t����(�f��(�'x���i��y@<>��{��p����<��@��-�C@4�9���䓚#�>O�Oi�&��\��||�x�Z��(�fE|b���N��/P�f���+h|[#�'@!�ў���R�p��
j+7q�{;�,i�����/�%<���Y�6�b[U'��'�)�5NFp�z�V��Oxy��(�b�<d���gp�;��3E�j9������w��um!�aB�.��	�/nVp��e_;���w���2['׻M�ke�d��hͳ٫�5�!3""�i��������(��톲���;�f���S���i7j�ʺR��OeCi��)�qKEn�_�.p!W��E�IEND�B`�PḲG�4|{chatty/gui/app_help_64.png�PNG

IHDR@@�iq�bKGD�������	pHYs��tIME�3�1��
�IDATx��[k�]U��>�NۙRR��<S�E	�Ŧ�C(�R� �	�B1��3�$JiAD^�B�����`L�V^�/��z��k�c��Ͼs��y��;�sϜ�^�Z�[��/�k��׃�qN�*�����{���&.0���3;���6�N�l�������4u��eOv~�Թ 8G ��CH������	"a$3���qf�f���_��_ x����'���dy����������Z�\�?�KsA0�C�/�W!dU�U��~*��"R�	�	{����R��\�s��s�@Q0�=V~;���a����9�d��ٽ�]�c�,y~Usz`���9�R�9�|y�Y6�
���@V%�*�b�	�*DJě &<���38|MP�0EM��\S��.jR�_��޻�m/���xs�+xrM��[��;4�E��4m�kV�5��Kq�����0j�Q6�
���CVQ�gU�vjŽG0�b�a�@���R�u0AD��A/v>��*C*Ԇ��Ŧmo`��cеe��?m��lX��F���*�CY�`l���S������ϗZvY��U
�6 ��*Rf.�'}� (ٯ�WD�3�\,�G�r"��c��ӢPO�X8֢X5��*�}¥���q�V���HvH@� �.s����DzM��<� y�a�s�R��n-�ٺ�u쎽����=b�u*UA:�WI��_I�%¹*�m��0{�7Me��O:�L��i@Sd����#�j�WU�`�a��,�%�_��W^nxF��M�޲	�kV��~�}���οӏ<�H%$ID�H�Gz�l{X��?~z�'���ZfI�<f�%��&8���"�o�'�2����ƺMo�[f�{�K�CG��S�'���Fl���;k0W�;O���1�k���a��������6��[�3�<�n�Q	Bq*��
���N$O�[�xMJ|.ش��^�me�d���aιs���b��
���o᎛��'7���oB�/FEHP��v$,C?$07��>\I�]
K�m1�C���}��wa�[k�CL��?�(n��L8������0m��?��&L�;��9��E��Ԃ�q�X���T�f~,u��x�Դ0s�tUA���Eny�y���I���V,;*Y���6\���O&	$�YD��;DCH#��y*��HM�UXr��9�͈��ϊ�/4��3.�LЗ9���:�>qx�5���h"j�b�.���w]Y�G�S��l�b�I��!�+09U��ϭ�ٜ�@{Z��"HA 3�^}�a�w�U�M�S�&�p=( @�,C��WeĤ���XF��	h�PB��V�@���~vύ
�8���uBG+`�T9T���P%�{��X@����$����2�f*j%�%8�8����,�����~
�λ��{�a3�\��k��C抱��n�ԓ��, ��5� �aI.�X�Qu�$hi�L}Qp.��7��Ʋ�4�aƤ30q��Z�@<Em��K��S�Lk�$�0I@�-t��� ���󧨑�ya�5/���O�ko�nx�g�������&����QK�)_
�`�����T	�|P2�21r���tYAXKZ���N̾�l�^�T�]�GT�ppΥv���;G��Äpi��}�@d�FA¬���F0��
����3F�����{so<����N87�w'�n�\J�m0og�B�}�i�Ct��!e^����G$�:���.x�wX�zc�;���{�~	�L[f��������O�C"Ack�f�O��63��y;��!����ǟY������Y��io��`�6��%p�$�I�4����D	
Tp0"�Qf��+�y�RL�_X��ʆ��9��(|p=o‡�SB2e�.`K�`ۃw����ez�,�!��8��"�r�:3l<�E]I�~gC��>����,��&�	�-o_�,@b)��ʩ��Pj.펐�����2Mz�#���?���nu����k���Lv#L㒴�˂����HV΂/�P<
�t�P&'�pn��3�vI���`@ꪵX�2��O���JMqn��[��i�<��}O�%�I���!�_^Z��[k:��=��tF�D �&���Z��۠��*�S���~����D�1Z���h
�G|[�Y5(�@^4�I���Z���UiJNӯٳ�y���R�	����:��}�$�	}B��x�^p^���B�_��1�MD�ؾ�	ss��ZY|q����e��Bz��?����^f���`V ���`G=�_A(;5��W������^�5�~�YA���ܩ���(P�J,�k�db��AeT�i�e�����jѸ�(}�d�����`��/ �t${�%�:�I��;���������df-������#���PX�%����m�	�����Y��P`,�%��I�phVp�e�5^�)�kɚ�`΅ͣ�`�H�ї��>-��_a\�>qJ|�4
��e&$)�(2�@��-��V(�\$�v�,k�����0堳0|X�����7�D��������U"u�;�W��J��}���_^*��o��
�'�nnj�.D�VC��U�^݀��+l��ui�$��$��D�|l�H�R���S�l����"i��^r��ޅ%��Ћ��K�O8}���욅��VM�r�k�*#/���EWx�KWj_c�p,���Pb����,�͎����R�܎孅���g���cy_+Dr��׭
��˰���{o`��cཇ�j�
��3��9�)*��h]H}Mo��\6>�r��͕���&{�{����P�mX���:�ٰb>��x�ߋ�&��:kY�.���s��������ЇzxT��,�4_� #C���:����Z@eh���ͭa2��@�}�֤���EX�����N[�|��-�jBDX��%�ڭ/�����{�D��ݱ߈qȨZ�
��_�}*x_�g�h����陧,~��
�2n9��~���@��N?s�S+<d~?��բ;b��0��8�x��ʭ��R�J?n.��s�Uxw	�jÎm��cT�o�_�f�?#����n��f���{�f��|�yg�~�jZ�0���CnG���Ҹ��w߿��~�p��V�h"��͒���#GcԬ:�����T-2\v�ֱG��#!�P��q{] ��S��`�@�'���y���������՗���P������<����-~����@3�p*�a���Q�����E�N%�k��F:��,��:��IEND�B`�PḲG����chatty/gui/app_live_16.png�PNG

IHDR�abKGD�������	pHYs��tIME�(	5�w@LIDAT8˽�MHTa���w�c�ceJ�*���$E�„Z���e�K%WARP�P�A���EF�paA���Z�-"�f�&f�ܙ;�~�i1m*��Ձ���(оi�b�u����<�P `�BQq�K\�L�_������\��|���ý^���,�w�^�#����O��3?m�g�T��F��4�vtMK�6�R(��ЎFiPP��R��[Ūڍh�BA���<|�´a��'�>�C\Ld��`�`�Ek��~��0o�g3��?�ҹ�rA8r���c�x���^��9CXJ9�O����8���kt����$��� �&�2x��={�~5a�rr�y��?Mcm��Ð*��@�j�Lu﹵ܫQ$��T�6��h)�B)o(~��B1kx�;�~�㹕��!4�g�� ���P�YJ9���Ue�J~������
[�h�06F[�(��h	BٷX#)�*��^�ٝ[�m|Eش��"��s�ˣ�>��AB{ 8	���1I��~ҿ��Ǘ�LN�nG%.�i6�kvd{6�����&\���t���1-�c�m&IEND�B`�PḲGd����chatty/gui/app_live_64.png�PNG

IHDR@@�iq�bKGD�������	pHYs��tIME�'-��^!IDATx��{�]�}�?sν^{��x���,656/'�HIl\B�8n�(DU���R��M[��?�*������A�p�@&Q ��&kG!Z{cL��Ʈ������_���̙{��]�`�#ݽ��y��;����Y8�ε��͌���	,9�d{	�.P'���3��7_�q? g�gͥ���;ƣ���+Voz���kB����A�LF�1��}��C?*Dgđ|�΁��s��Y�	��=�:'�_?�`|��Vu�޿�?��Ci�Q��7=������brXt�b>r��d5C^��Yn����r0�x�
�耭���J���`K��-|�-W@Y:\�;�}��5���m~�����˺Vu�����	�-�9��n��E�/�C��N��IL��A^7du�wM��V�T�UATxW�-�W�meY	S6$�^�R�ˆ���O�z��@�3/o���~�S�6<|x=4f�7ߴf��읽iݽ,<o1�?���Ӧ�6eY
�zF^�3����u�f�=���Z���u7��MB���"��8oFX���Y�L�f&1�}	�K��E�]��n�|���7�^u�dCP�<�s[W�ͫo��}jb��,gyb�!�+ � �CM�15)W	����1`�~�G����C�&�3�vc�\k��P�z�wi���f#��;o��wͿ�z��_������5��n��3�IJ�`r��E������L;�(t�%�w�~0���j���;ۻ������1-�t�Gi�2�zUZg"�������!oS�P�E{��&��gP�F �.@B�^�o�� Y[����nQ�hE��1J:3FU?�Y�M ˃���#�`ᙢ�hD�#A�+ ��i��O���G�EjQēFoF�'��l#��!��%��Dt��5�8L�W�o�8QaB$9-F|��6��:`ﭓ&�[�� Vp������K�� ��I��^c"��:���f���C�
@:�q���Y[&��e��ԋ~փ��L�Z�*�e~i(�!�p�‹�4Hf��+%1He"�gX��6PO��E��;?��g�k��� �� %P&4W5C�����j�`�Pl�A�ղn|& aP���ִ�k��W�d8���|2?�YT��H��TZ�ApN"�TNs	Zc*���nJ�FIxƦ�m90�NW�pἆ�&�*.���+AJ�8� �A��w�� ����5��x(���4���8��8Ȋ�z5��D(m��9��V}D�}�SG�W�J��Z�R�i�IYbt�р0CƨO2�5@H�k�q��H����3�U�:��I�L"���N�~(���^'��I����X���m���S���3���οrr��Wݧ��ӏ��/|��V��W��=������]?��?~�;��⛽�%<��������#79�.��+|8jle2##0�€)��o��$s��|a�Ja�72g�\��v�����ǎ0kjg�ǎ��O�CfM���%7ĉ�����o6=s����ذ�/X�侦P�}ø���o
{^m�B�^:l#��<��A�e����;�c��p��Ž�>�u��/���q��oW~��.���n�z�s\0���W8�ڋ1�Đ=��F3<v�ײ�4B�&��4|1�ԾV���c�u[b�?T9��ɷ�u�ߥ�Rx��ؿ�}ǂK蜺�M˿��Η���T��a|'X�V<me�9�-���×�lc�8���K�@ߡ^^|�\)�b��8���\�s.�%4������s�(a������}�H>L�	��{�5؞\!H�ɏ˪�}8�a���a��-��ī���fɟ����d�WlFJ����y$��g�C>�X�+M��=~
(}ϕ� ��t���Hi�B|ӟ�v�:�L����d�I��>m�)�]v+V�wVpbG�[l���h�y"Q�U�j��0;���[��2e�N��iQ�r@"Y�g����?f��o�Ʃ�������|�r�%��6M�ϛ��y}�޹�)�L�+p�ԲP
PN1~
p��h��/j���[�p�ݐ�P��▫+g�H����.۬�s��V��yW�󽇟������s��O��	�;�z������i�#��33�������}eA���x�r�濛��/�p5�B.Y�^_:��+
�pܸ���=�%���˜��|�ſ��_;��I�9r���D,��J���C�j����M�\�&������,[��y��|�/?u�c)?�G\��
\9�6���nt�1��՚�l#5�\���8�9�]v�|R��]zG��8�m�+������kh�� 75�w���/��Ĝ�Z5[=����2%;�p���Z���z�m�L�>芐.l�0�Q���<��
��f�E�	���=�1F()�����/
v���~�8��=2.T}5
�]R�	�+�ٝ��Pl��E�
�QH�I�]ԈAiu�?r&p��V���Oz<�1�(�Q L��E�\��5EÊp��[��a�$ڴ
��DӫEW��c�Vc�.i�.�a}�?3 k]#0���*�q��d��U‡��Y�`T��Z��p8�-R�N}O�Զj�&L���̐e�l����`��0#�4�B�u��M��[R�����6�?���gqJukN��|�/���+�7T�H���3M%����d|��Ds�*�xڨ<��6V-���m^�ܫ|\!6ƛ�_���Dpd�.���]Zr�vzDmh�jf���0�7\?{N<:~�<� \x�F��i�3n��L�vV��$�R9$YJ�A��J�Dy3��z�+��5�ay�8@��o�*���^zk������'E�gw��� �(�I��4�p�p.��P3(\d�!�qeu��.��g�@�����o���K7��αb�"���W��V8�C��y��o�3y�Z2S���ى5z”�΅Ŏ���A}%)��0륉l�%�8��I����p�4\?�O|�i���|
xc̛�V\�zS�~�I�����:��j��dG���R3u�<�|��`'��crʣS� g�+@b�M�$Ӟ��}�%GP\UH��9�(GD�w���ݷ�6I
	BDغb��O���>|Z���Z�`h��`ޔ��M��G��JP��R�I�����K�,�᝿�}Cô�\��1���n]�tc�ӽ�S��:�n�3�U�
X	,���Zwn�_n���p���V�f
��l���ʼnC�1=_0��?�p��c�#\;���pp�8���;F�'_�1���mٙ~�-d���m��o��g�G�M1R*���P��l�C��zԼ~�o}�g�LP����1�c�X�m!�Dh��kfR:��v?�(0���j���$�����-������m3�3���O�?;3�v�V��6}����	li�
���EE�V�$��\;�εs-m�OW��ͩ�IEND�B`�PKʣGΧ����/chatty/gui/components/AddressbookDialog$1.class���3.		 !"#$%&val$nameLjava/lang/String;this$0)Lchatty/gui/components/AddressbookDialog;<init>>(Lchatty/gui/components/AddressbookDialog;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/AddressbookDialog$1;run()V
StackMapTableSourceFileAddressbookDialog.javaEnclosingMethod'()	
*+,-))chatty/gui/components/AddressbookDialog$1java/lang/Objectjava/lang/Runnable'chatty/gui/components/AddressbookDialogshowDialog(Ljava/lang/String;)Vaccess$400T(Lchatty/gui/components/AddressbookDialog;)Lchatty/gui/components/AddressbookEditor;'chatty/gui/components/AddressbookEditoredit 	
9*+�*,�*���Q*��*��*������PKʣG����		@chatty/gui/components/AddressbookDialog$ContextMenu$Action.class���3j6	789:;9<=>	?@ABCDEDF@GHIJKLthis$1MContextMenuInnerClasses5Lchatty/gui/components/AddressbookDialog$ContextMenu;<init>8(Lchatty/gui/components/AddressbookDialog$ContextMenu;)VCodeLineNumberTableLocalVariableTablethisAction<Lchatty/gui/components/AddressbookDialog$ContextMenu$Action;actionPerformed(Ljava/awt/event/ActionEvent;)VchangedEntryLchatty/AddressbookEntry;eLjava/awt/event/ActionEvent;categoryLjava/lang/String;entryselectedZ
StackMapTableNOPc(Lchatty/gui/components/AddressbookDialog$ContextMenu;Lchatty/gui/components/AddressbookDialog$1;)Vx0x1+Lchatty/gui/components/AddressbookDialog$1;SourceFileAddressbookDialog.javaQRSTUVWXjavax/swing/JCheckBoxMenuItemYZ[\]^_O`Tabcdcefghi:chatty/gui/components/AddressbookDialog$ContextMenu$Actionjava/lang/Objectjava/awt/event/ActionListener3chatty/gui/components/AddressbookDialog$ContextMenujava/lang/Stringchatty/AddressbookEntry)chatty/gui/components/AddressbookDialog$1()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;access$300P(Lchatty/gui/components/AddressbookDialog$ContextMenu;)Lchatty/AddressbookEntry;	getSource()Ljava/lang/Object;isSelected()Zthis$0)Lchatty/gui/components/AddressbookDialog;'chatty/gui/components/AddressbookDialogaccess$200?(Lchatty/gui/components/AddressbookDialog;)Lchatty/Addressbook;getNamechatty/Addressbookadd?(Ljava/lang/String;Ljava/lang/String;)Lchatty/AddressbookEntry;removeaccess$400T(Lchatty/gui/components/AddressbookDialog;)Lchatty/gui/components/AddressbookEditor;'chatty/gui/components/AddressbookEditorsetEntry(Lchatty/AddressbookEntry;)V 4*+�*��M !�Y+�M*��N+���6�*��	�-�,�:�*��	�-�,�
:*��	���"QR
SUV5XIZX[H2"#YY$%T&'
L(#@)*I"#+�5,-�-0D*+��M 12345@.PKʣG�'�<<9chatty/gui/components/AddressbookDialog$ContextMenu.class���3�	R	STUV	WXYZ[\]^_`a`bcdefghijklmnpContextMenuInnerClassesActionactionListenerLjava/awt/event/ActionListener;currentEntryLchatty/AddressbookEntry;this$0)Lchatty/gui/components/AddressbookDialog;<init>,(Lchatty/gui/components/AddressbookDialog;)VCodeLineNumberTableLocalVariableTablethis5Lchatty/gui/components/AddressbookDialog$ContextMenu;showMenu2(Lchatty/AddressbookEntry;Ljava/awt/Component;II)VselectedZitemLjavax/swing/JCheckBoxMenuItem;catLjava/lang/String;i$Ljava/util/Iterator;entryinvokerLjava/awt/Component;xIypresetCategoriesLjava/util/List;categoriesLjava/util/Set;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;#Ljava/util/Set<Ljava/lang/String;>;
StackMapTableqrs+(Ljava/lang/Object;Ljava/awt/Component;II)Vx0Ljava/lang/Object;x1x2x3access$300P(Lchatty/gui/components/AddressbookDialog$ContextMenu;)Lchatty/AddressbookEntry;	SignatureTableContextMenuXLchatty/gui/components/settings/TableEditor$TableContextMenu<Lchatty/AddressbookEntry;>;SourceFileAddressbookDialog.java !"#t:chatty/gui/components/AddressbookDialog$ContextMenu$Action#wxtyz{|}~}q��s����java/lang/Stringr��javax/swing/JCheckBoxMenuItem#���������chatty/AddressbookEntry*+3chatty/gui/components/AddressbookDialog$ContextMenu�;chatty/gui/components/settings/TableEditor$TableContextMenujava/util/List
java/util/Setjava/util/Iterator()V�c(Lchatty/gui/components/AddressbookDialog$ContextMenu;Lchatty/gui/components/AddressbookDialog$1;)V	removeAll'chatty/gui/components/AddressbookDialogaccess$200?(Lchatty/gui/components/AddressbookDialog;)Lchatty/Addressbook;chatty/Addressbook
getCategories()Ljava/util/List;()Ljava/util/Set;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;contains(Ljava/lang/Object;)Z(Ljava/lang/String;Z)VaddActionListener"(Ljava/awt/event/ActionListener;)VsetActionCommand(Ljava/lang/String;)Vadd0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;show(Ljava/awt/Component;II)V*chatty/gui/components/settings/TableEditor)chatty/gui/components/AddressbookDialog$1  !"#$%I*+�*�*�Y*���&9	:;'()*+%fu*+�*�*���	:+�:�:��A�
�:�6	�Y	�:*���*�W���*,��&6
?@	ABC:DEERF[GbHiIlJtK'pE$,-	R./:/01$H23u()u4 u56u78u98`:;Z<=>`:?Z<@A�$BCD�GA*E%_
*+�,��&4'4
()
FG
H6
I8
J8KL%/*��&4'F)MOPQ"YoN	uPKʣG��Ø	�	;chatty/gui/components/AddressbookDialog$TableListener.class���3\7	89:;<=<>?@A<B:CDEFGHIKthis$0)Lchatty/gui/components/AddressbookDialog;<init>,(Lchatty/gui/components/AddressbookDialog;)VCodeLineNumberTableLocalVariableTablethis
TableListenerInnerClasses7Lchatty/gui/components/AddressbookDialog$TableListener;	itemAdded(Lchatty/AddressbookEntry;)VitemLchatty/AddressbookEntry;itemRemoveditemEdited5(Lchatty/AddressbookEntry;Lchatty/AddressbookEntry;)VoldItemnewItem
StackMapTablerefreshData()V'(Ljava/lang/Object;Ljava/lang/Object;)Vx0Ljava/lang/Object;x1(Ljava/lang/Object;)VLW(Lchatty/gui/components/AddressbookDialog;Lchatty/gui/components/AddressbookDialog$1;)V+Lchatty/gui/components/AddressbookDialog$1;	SignatureTableEditorListenermLjava/lang/Object;Lchatty/gui/components/settings/TableEditor$TableEditorListener<Lchatty/AddressbookEntry;>;SourceFileAddressbookDialog.java(MNOPQRSTUVWXYZchatty/AddressbookEntry"#!5chatty/gui/components/AddressbookDialog$TableListenerjava/lang/Object[>chatty/gui/components/settings/TableEditor$TableEditorListener)chatty/gui/components/AddressbookDialog$1'chatty/gui/components/AddressbookDialogaccess$200?(Lchatty/gui/components/AddressbookDialog;)Lchatty/Addressbook;chatty/AddressbooksetremovegetName()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Zrename.(Ljava/lang/String;Lchatty/AddressbookEntry;)Vaccess$500*chatty/gui/components/settings/TableEditor 	4*+�*��bD*��+��fg !D*��+��kl "#�,+�,���*��,��*��+�,�	�pqs+u ,,$ ,% &'(6*���yzA")K
*+�,���b 

*+
,+A!-=	*+��
�b		*+A-=	*+���b		*+0D*+��b *,12456:.J3	PKʣG�z�S-chatty/gui/components/AddressbookDialog.class���3�"G	"H	"I#JK"L	"MNO	PQRSTUV"WXYZ["\]^"_"`abc"d"efghijk
TableListenerInnerClassesContextMenutable)Lchatty/gui/components/AddressbookEditor;ownerLjavax/swing/JFrame;addressbookLchatty/Addressbook;<init>+(Ljavax/swing/JFrame;Lchatty/Addressbook;)VCodeLineNumberTableLocalVariableTablethis)Lchatty/gui/components/AddressbookDialog;gbcLjava/awt/GridBagConstraints;loadData()VshowDialog(Ljava/lang/String;)VnameLjava/lang/String;
StackMapTableaccess$200?(Lchatty/gui/components/AddressbookDialog;)Lchatty/Addressbook;x0access$400T(Lchatty/gui/components/AddressbookDialog;)Lchatty/gui/components/AddressbookEditor;access$500,(Lchatty/gui/components/AddressbookDialog;)VSourceFileAddressbookDialog.java78(),-.lAddressbookm:*+'chatty/gui/components/AddressbookEditor5chatty/gui/components/AddressbookDialog$TableListener.n.q3chatty/gui/components/AddressbookDialog$ContextMenu.Drujava/awt/GridBagLayout.8vwjava/awt/GridBagConstraintsjava/awt/Insets.x.yz{java/awt/Dimension.|}~8���������)chatty/gui/components/AddressbookDialog$1.����'chatty/gui/components/AddressbookDialogjavax/swing/JDialog(Ljava/awt/Frame;)VsetTitleW(Lchatty/gui/components/AddressbookDialog;Lchatty/gui/components/AddressbookDialog$1;)V�TableEditorListenerX(Ljavax/swing/JDialog;Lchatty/gui/components/settings/TableEditor$TableEditorListener;)VsetContextMenu�TableContextMenu@(Lchatty/gui/components/settings/TableEditor$TableContextMenu;)V	setLayout(Ljava/awt/LayoutManager;)V(IIII)V(IIIIDDIILjava/awt/Insets;II)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)Vpackchatty/AddressbookgetEntries()Ljava/util/List;setData(Ljava/util/List;)V	isVisible()ZsetVisible(Z)V>(Lchatty/gui/components/AddressbookDialog;Ljava/lang/String;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V�>chatty/gui/components/settings/TableEditor$TableEditorListener;chatty/gui/components/settings/TableEditor$TableContextMenu*chatty/gui/components/settings/TableEditor!"#()*+,-./0��*+�*�*,�*+�*�Y*�	Y*���*��Y*�
�*�Y���Y�Y��N**�-�*�Y,���*��12 !"#$*%9'D+b-k/|1�22*�34�*+�,-b56780=*�*����1�2349:0j*��*�*��Y*+� �!�1�����234;<=>?0/*��12@4AB0/*��12@4CD0/*��12@4EF%*	"$"&o�p	s�t	PKˣG�M[��/chatty/gui/components/AddressbookEditor$1.class���3SourceFileAddressbookEditor.javaEnclosingMethod)chatty/gui/components/AddressbookEditor$1InnerClassesjava/lang/Object'chatty/gui/components/AddressbookEditor 	PKˣG�h�PPEchatty/gui/components/AddressbookEditor$MyEditor$ButtonListener.class���3L)	*
+,-./01234567this$09MyEditorInnerClasses2Lchatty/gui/components/AddressbookEditor$MyEditor;<init>5(Lchatty/gui/components/AddressbookEditor$MyEditor;)VCodeLineNumberTableLocalVariableTablethisButtonListenerALchatty/gui/components/AddressbookEditor$MyEditor$ButtonListener;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTable:`(Lchatty/gui/components/AddressbookEditor$MyEditor;Lchatty/gui/components/AddressbookEditor$1;)Vx0x1+Lchatty/gui/components/AddressbookEditor$1;SourceFileAddressbookEditor.java;<=>?@ABCDE@FGHGIJ?chatty/gui/components/AddressbookEditor$MyEditor$ButtonListenerjava/lang/Objectjava/awt/event/ActionListenerK0chatty/gui/components/AddressbookEditor$MyEditor)chatty/gui/components/AddressbookEditor$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$200I(Lchatty/gui/components/AddressbookEditor$MyEditor;)Ljavax/swing/JButton;access$3026(Lchatty/gui/components/AddressbookEditor$MyEditor;Z)ZsetVisible(Z)Vaccess$400access$500L(Lchatty/gui/components/AddressbookEditor$MyEditor;)Ljavax/swing/JTextField;access$600access$7005(Lchatty/gui/components/AddressbookEditor$MyEditor;)Z'chatty/gui/components/AddressbookEditor 
4*+�*����y+�*���*��W*���"+�*���*��W*��+�*��	�+�*���*���*��W*���.���"�0�9�A�]�g�p�x�yy "#D*+��� $%&'(8!8PKˣG�q\��Hchatty/gui/components/AddressbookEditor$MyEditor$TextFieldListener.class���30#	$%	&'()this$0+MyEditorInnerClasses2Lchatty/gui/components/AddressbookEditor$MyEditor;<init>5(Lchatty/gui/components/AddressbookEditor$MyEditor;)VCodeLineNumberTableLocalVariableTablethisTextFieldListenerDLchatty/gui/components/AddressbookEditor$MyEditor$TextFieldListener;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdate,`(Lchatty/gui/components/AddressbookEditor$MyEditor;Lchatty/gui/components/AddressbookEditor$1;)Vx0x1+Lchatty/gui/components/AddressbookEditor$1;SourceFileAddressbookEditor.java

-.Bchatty/gui/components/AddressbookEditor$MyEditor$TextFieldListenerjava/lang/Object"javax/swing/event/DocumentListener/0chatty/gui/components/AddressbookEditor$MyEditor)chatty/gui/components/AddressbookEditor$1()Vaccess$800'chatty/gui/components/AddressbookEditor 
4*+�*���@*�����@*�����@*�����
D*+���  !"	* 	*PKˣG�" c��6chatty/gui/components/AddressbookEditor$MyEditor.class���3'L�L�	L�	L�	L�	L�	L�M��	�����L�L����	���	����������L���!��!�L�L�	-�?�	-�L��-�	-�	-�	-�	-��3�	-�	-�L�L��L��	�L�L��	�G�G����	����G����L����MyEditorInnerClassesTextFieldListenerButtonListenernameLjavax/swing/JTextField;categoriesokLjavax/swing/JButton;cancelsaveZ<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/AddressbookEditor$MyEditor;ownerLjavax/swing/JDialog;listenerLjava/awt/event/ActionListener;documentListener$Ljavax/swing/event/DocumentListener;gbcLjava/awt/GridBagConstraints;	nameLabelLjavax/swing/JLabel;categoriesLabelmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;xIywhanchorshowEditorI(Lchatty/AddressbookEntry;Ljava/awt/Component;Z)Lchatty/AddressbookEntry;presetLchatty/AddressbookEntry;cLjava/awt/Component;edit
StackMapTablesetData(Lchatty/AddressbookEntry;)VloadData()Lchatty/AddressbookEntry;Ljava/lang/String;Ljava/util/Set;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;
updateButtons()Venabledvalid()Z;(Ljava/lang/Object;Ljava/awt/Component;Z)Ljava/lang/Object;x0Ljava/lang/Object;x1x2access$200I(Lchatty/gui/components/AddressbookEditor$MyEditor;)Ljavax/swing/JButton;access$3026(Lchatty/gui/components/AddressbookEditor$MyEditor;Z)Zaccess$400access$500L(Lchatty/gui/components/AddressbookEditor$MyEditor;)Ljavax/swing/JTextField;access$600access$7005(Lchatty/gui/components/AddressbookEditor$MyEditor;)Zaccess$8005(Lchatty/gui/components/AddressbookEditor$MyEditor;)V	SignatureItemEditorgLjavax/swing/JDialog;Lchatty/gui/components/settings/TableEditor$ItemEditor<Lchatty/AddressbookEntry;>;SourceFileAddressbookEditor.java����UTSTXWYZVW[�javax/swing/JTextField[�javax/swing/JButtonDone[�Cancel����?chatty/gui/components/AddressbookEditor$MyEditor$ButtonListener[���Bchatty/gui/components/AddressbookEditor$MyEditor$TextFieldListener�����!javax/swing/text/AbstractDocumentchatty/gui/RegexDocumentFilter\s+[���java/awt/GridBagLayout[��javax/swing/JLabelName: Categories: mnp�java/awt/GridBagConstraints	ppppjava/awt/Insets[
tp}~Edit entry�	Add entry����,chatty/AddressbookEntry[ !�"#�uv$0chatty/gui/components/AddressbookEditor$MyEditorjavax/swing/JDialog%5chatty/gui/components/settings/TableEditor$ItemEditor(Ljava/awt/Dialog;)V(I)V(Ljava/lang/String;)VsetModal(Z)VsetResizable&`(Lchatty/gui/components/AddressbookEditor$MyEditor;Lchatty/gui/components/AddressbookEditor$1;)VaddActionListener"(Ljava/awt/event/ActionListener;)VgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)VsetDocumentFilter$(Ljavax/swing/text/DocumentFilter;)V	setLayout(Ljava/awt/LayoutManager;)VsetLabelFor(Ljava/awt/Component;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VfillweightxDpackgridxgridy	gridwidthgridheight(IIII)VinsetsLjava/awt/Insets;setLocationRelativeTosetTitlerequestFocusInWindowsetVisiblesetTextgetName()Ljava/lang/String;
getCategories()Ljava/util/Set;chatty/util/StringUtiljoin<(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;getTextchatty/AddressbookgetCategoriesFromString#(Ljava/lang/String;)Ljava/util/Set;$(Ljava/lang/String;Ljava/util/Set;)VsetEnabledjava/lang/StringisEmpty'chatty/gui/components/AddressbookEditor*chatty/gui/components/settings/TableEditor)chatty/gui/components/AddressbookEditor$1 LMNSTUTVWXWYZ[\]lr*+�*�	Y��*�	Y��*�Y�
�*�Y�
�*�*��Y*�M*�,�*�,�*�,�*�,��Y*�N*��-�*��-�*����Y��*�Y�� �!Y"�#:�!Y$�#:*��%*
�&:*�'*�&:**��'*
�&:*�'*�&:**��'*�&:�()�+**��'*�&:�()�+**��'*�,�^�&e\]_,`9f>gCjMkUl]menmqwr�s�v�y�|�}��������������%�1�7�?�I�U�[�c�m�q�_Hr`arbcM%dew�fg��hi��jk��lkmn]�<�-Y�.:�/�0�1�2�3Y�4�5�6�^"�	����"�2�9�_H<`a<op<qp<rp<sp<tp	3hiuv]�C*,�7*�*+�8�*9�:�	*;�:*��<W*�=*��*��*�>��^.��	����!�)�.�<�A�_*C`aCwxCyzC{Z|}~]�5+�*�?�@*�?�@�*�+�A�@*�+�BC�D�@�^��
��$�4�_5`a5wx|�]u*��EL*��E�FM�GY+,�H�^���_ `aS�U��U���]J*�<*��I�^��
�_`a	�Z��]H*��E�J���^�_`a|@Au�]S*+�G,�K�^Z_*`a���z�Z��]/*��^Z_�a��];*Z��^Z_�a�Z��]/*��^Z_�a��]/*��^Z_�a��]/*��^Z_�a��]/*��^Z_�a��]/*��^Z_�a����P*L�OLQLRN��	��PKˣG1�Q��:chatty/gui/components/AddressbookEditor$MyTableModel.class���3<#$%&'()*+,-/0<init>()VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses6Lchatty/gui/components/AddressbookEditor$MyTableModel;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndex
StackMapTablegetColumnClass(I)Ljava/lang/Class;c	SignatureJLchatty/gui/components/settings/ListTableModel<Lchatty/AddressbookEntry;>;SourceFileAddressbookEditor.javajava/lang/StringNameCategories
123chatty/AddressbookEntry4567,89:;4chatty/gui/components/AddressbookEditor$MyTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)Vget(I)Ljava/lang/Object;getName()Ljava/lang/String;
getCategories()Ljava/util/Set;chatty/util/StringUtiljoin<(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;'chatty/gui/components/AddressbookEditor 
A*�YSYS��BCp!�*����*���	��GHJ !!!Q���PQS !".PKˣG�55�==-chatty/gui/components/AddressbookEditor.class���3oCDE	FGHIJKLME NOPQRSTUVInnerClassesMyEditorMyTableModeldata6Lchatty/gui/components/AddressbookEditor$MyTableModel;<init>WTableEditorListenerX(Ljavax/swing/JDialog;Lchatty/gui/components/settings/TableEditor$TableEditorListener;)VCodeLineNumberTableLocalVariableTablethis)Lchatty/gui/components/AddressbookEditor;parentLjavax/swing/JDialog;listener@Lchatty/gui/components/settings/TableEditor$TableEditorListener;LocalVariableTypeTable[Lchatty/gui/components/settings/TableEditor$TableEditorListener<Lchatty/AddressbookEntry;>;	Signatures(Ljavax/swing/JDialog;Lchatty/gui/components/settings/TableEditor$TableEditorListener<Lchatty/AddressbookEntry;>;)Vedit(Ljava/lang/String;)VnameLjava/lang/String;presetLchatty/AddressbookEntry;indexI
StackMapTableLsetContextMenuXTableContextMenu@(Lchatty/gui/components/settings/TableEditor$TableContextMenu;)Vmenu=Lchatty/gui/components/settings/TableEditor$TableContextMenu;setEntry(Lchatty/AddressbookEntry;)VentryGLchatty/gui/components/settings/TableEditor<Lchatty/AddressbookEntry;>;SourceFileAddressbookEditor.javaY4chatty/gui/components/AddressbookEditor$MyTableModelZ[\]^0chatty/gui/components/AddressbookEditor$MyEditor_`cchatty/AddressbookEntryjava/util/HashSetdefghijk:lm'chatty/gui/components/AddressbookEditor*chatty/gui/components/settings/TableEditor)chatty/gui/components/AddressbookEditor$1>chatty/gui/components/settings/TableEditor$TableEditorListener;chatty/gui/components/settings/TableEditor$TableContextMenu(IZ)V()VsetModel2(Lchatty/gui/components/settings/ListTableModel;)VsetTableEditorListenerC(Lchatty/gui/components/settings/TableEditor$TableEditorListener;)V(Ljavax/swing/JDialog;)V
setItemEditornItemEditor:(Lchatty/gui/components/settings/TableEditor$ItemEditor;)V$(Ljava/lang/String;Ljava/util/Set;)VindexOf(Ljava/lang/Object;)IaddItem(Ljava/lang/Object;)VeditItem(I)VsetPopupMenuset(ILjava/lang/Object;)V5chatty/gui/components/settings/TableEditor$ItemEditor! �+*�*�Y��**��*,�*�Y+��	�!# $%&*(" +#$+%&+'()+'*+,-. �,�Y+�Y��
M*�,�>�*,��*��!+,-.&0+2"*,#$,/012345�&67: >*+��!56"#$;<=> n*�+�=�*�+��!9	:;=" #$?2	345�+@AB2	89	ab	PKʣG����)chatty/gui/components/AdminDialog$1.class���3'	 !"this$0#Lchatty/gui/components/AdminDialog;<init>&(Lchatty/gui/components/AdminDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses%Lchatty/gui/components/AdminDialog$1;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileAdminDialog.javaEnclosingMethod#	$	%&#chatty/gui/components/AdminDialog$1java/lang/Object"javax/swing/event/DocumentListener!chatty/gui/components/AdminDialog(Lchatty/gui/MainGui;)V()Vaccess$200 	4*+�*���
@*�����
@*�����
@*�����
PKʣG���a)chatty/gui/components/AdminDialog$2.class���3%	 this$0#Lchatty/gui/components/AdminDialog;<init>&(Lchatty/gui/components/AdminDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses%Lchatty/gui/components/AdminDialog$2;stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;SourceFileAdminDialog.javaEnclosingMethod!	"	#$#chatty/gui/components/AdminDialog$2java/lang/Object javax/swing/event/ChangeListener!chatty/gui/components/AdminDialog(Lchatty/gui/MainGui;)V()Vaccess$300 	4*+�*��
@*���

PKʣG%^���)chatty/gui/components/AdminDialog$3.class���3%	 this$0#Lchatty/gui/components/AdminDialog;<init>&(Lchatty/gui/components/AdminDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses%Lchatty/gui/components/AdminDialog$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileAdminDialog.javaEnclosingMethod!"#	#$#chatty/gui/components/AdminDialog$3java/lang/Objectjava/awt/event/ActionListener!chatty/gui/components/AdminDialogstartUpdateTimer()Vaccess$400 	4*+�*��6
@*���:;
PKʣG6����)chatty/gui/components/AdminDialog$4.class���3-	 !"#this$0#Lchatty/gui/components/AdminDialog;<init>&(Lchatty/gui/components/AdminDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses%Lchatty/gui/components/AdminDialog$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileAdminDialog.javaEnclosingMethod$%&	'()*+,#chatty/gui/components/AdminDialog$4java/lang/Objectjava/awt/event/ActionListener!chatty/gui/components/AdminDialogcreateCommercialButtons()Ljavax/swing/JPanel;()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;access$5008(Lchatty/gui/components/AdminDialog;Ljava/lang/String;)V 	4*+�*��
hD*�+���
lmPKʣG�J��h
h
8chatty/gui/components/AdminDialog$MyActionListener.class���3�&G	&H'IJKLMLNLOLPQRSLTUVLWXV YLZ[\L]L^L_L`LaLbcdceXfLgLh@LiLjkl	mnUf	moLpLqrstthis$0#Lchatty/gui/components/AdminDialog;<init>&(Lchatty/gui/components/AdminDialog;)VCodeLineNumberTableLocalVariableTablethisMyActionListenerInnerClasses4Lchatty/gui/components/AdminDialog$MyActionListener;actionPerformed(Ljava/awt/event/ActionEvent;)VinfoLchatty/util/api/ChannelInfo;resultLjava/lang/String;Lchatty/StatusHistoryEntry;eLjava/awt/event/ActionEvent;
StackMapTableuvK(Lchatty/gui/components/AdminDialog;Lchatty/gui/components/AdminDialog$1;)Vx0x1%Lchatty/gui/components/AdminDialog$1;SourceFileAdminDialog.java+,)*+wxyz{|}~,}�����chatty/util/api/ChannelInfo��������+���������,�}�,�}����������,�}�}�����u�9�9�}�,2chatty/gui/components/AdminDialog$MyActionListenerjava/lang/Objectjava/awt/event/ActionListenerchatty/StatusHistoryEntry#chatty/gui/components/AdminDialog$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;!chatty/gui/components/AdminDialogaccess$600:(Lchatty/gui/components/AdminDialog;)Ljavax/swing/JButton;access$700access$800access$9007(Lchatty/gui/components/AdminDialog;)Ljava/lang/String;java/lang/StringisEmpty()Zaccess$1000<(Lchatty/gui/components/AdminDialog;)Ljavax/swing/JTextArea;javax/swing/JTextAreagetText()Ljava/lang/String;access$1100=(Lchatty/gui/components/AdminDialog;)Ljavax/swing/JTextField;javax/swing/JTextField'(Ljava/lang/String;Ljava/lang/String;)Vaccess$12009(Lchatty/gui/components/AdminDialog;)Lchatty/gui/MainGui;chatty/gui/MainGuiputChannelInfo2(Ljava/lang/String;Lchatty/util/api/ChannelInfo;)Vaccess$1300'(Lchatty/gui/components/AdminDialog;Z)Vaccess$1400access$1500access$1600access$1700access$1800M(Lchatty/gui/components/AdminDialog;)Lchatty/gui/components/SelectGameDialog;&chatty/gui/components/SelectGameDialogsetLocationRelativeTo(Ljava/awt/Component;)Vopen&(Ljava/lang/String;)Ljava/lang/String;setText(Ljava/lang/String;)Vaccess$200access$1900access$2000access$2100P(Lchatty/gui/components/AdminDialog;)Lchatty/gui/components/StatusHistoryDialog;)chatty/gui/components/StatusHistoryDialogshowDialog/(Ljava/lang/String;)Lchatty/StatusHistoryEntry;titlegameaccess$2200access$2300 &'()*+,-4*+�*��.l/0345-Mj+�*���*��+�*���Z*���?*���	�2�Y*���*��
��M*��*��,�*��*����+�*���
*����+�*���?*��*��*��*��
��M,�*��
,�*����+�*���*��
�*���l+�*���I*��*��
�� M,�-,�!�*��,�!�",�#�*��
,�#��+�*��$�*��%�.zpqs#t:uVvhwpxwyzz�{�|�}�~�������������#�'�.�<�C�Q�b�i�/4V!67�89#.8:j03j;<=�d�F#�;>�+A-D*+��.l/ 03B*CDEF2&L1?PKʣG������?chatty/gui/components/AdminDialog$NoneSelectedButtonGroup.class���3 <init>()VCodeLineNumberTableLocalVariableTablethisNoneSelectedButtonGroupInnerClasses;Lchatty/gui/components/AdminDialog$NoneSelectedButtonGroup;setSelected(Ljavax/swing/ButtonModel;Z)VmodelLjavax/swing/ButtonModel;selectedZ
StackMapTableSourceFileAdminDialog.java9chatty/gui/components/AdminDialog$NoneSelectedButtonGroupjavax/swing/ButtonGroupclearSelection!chatty/gui/components/AdminDialog!/*��	�f�*+��*��	��
�� 

	PKʣG��}��=chatty/gui/components/AdminDialog$WindowClosingListener.class���3)	 !"#$this$0#Lchatty/gui/components/AdminDialog;<init>&(Lchatty/gui/components/AdminDialog;)VCodeLineNumberTableLocalVariableTablethisWindowClosingListenerInnerClasses9Lchatty/gui/components/AdminDialog$WindowClosingListener;
windowClosing(Ljava/awt/event/WindowEvent;)VeLjava/awt/event/WindowEvent;%K(Lchatty/gui/components/AdminDialog;Lchatty/gui/components/AdminDialog$1;)Vx0x1%Lchatty/gui/components/AdminDialog$1;SourceFileAdminDialog.java		&'(7chatty/gui/components/AdminDialog$WindowClosingListenerjava/awt/event/WindowAdapter#chatty/gui/components/AdminDialog$1()V!chatty/gui/components/AdminDialogaccess$700 	4*+�*���
@*�����
	D*+���
 !PKʣG�س�UWUW'chatty/gui/components/AdminDialog.class���3�i	i	i	i	i	i	ii	iii	i	i	i	i	i i!	i"i#i$i%i&$'()	i*+,-./0123"1	i45	i6789:;<-,	i=)	i>?@21	iAB	iCD8E	iFG��������	iHI?,	iJKiLiMNE)iOiPQRSTIU	iVWNXYSZP[\S,i]^V,V]	i_`abcide_f	g	hVij"k	l	mnopqrhstuvw`xysz{|	}~w��i�	i��},	i���z}��}��ii�i�i�i����z����i�i�	i�	i�����,�������	i����"�	i����"b�	i�	i�i�	i�������}�	i��I��	i��������i�i�i����������i�i����������������i�����������������i�N�S�2�8�S���,��z	i�����1��������V�������i������������i�i�i�Si����2�8	i	"	i,	
			i$��S!f!NoneSelectedButtonGroupInnerClassesWindowClosingListenerMyActionListenerEDITOR_TEXTLjava/lang/String;
ConstantValueEDITOR_TEXT_NO_ACCESSCOMMERCIALS_TEXTCOMMERCIALS_TEXT_NO_ACCESSLABEL_INVISIBLELjava/awt/Color;
LABEL_VISIBLESMALL_BUTTON_INSETSLjava/awt/Insets;UPDATE_DELAYI�PUT_RESULT_DELAY�COMMERCIAL_RUN_ATTEMPT_DELAYmainLchatty/gui/MainGui;actionListenerLjava/awt/event/ActionListener;statusLjavax/swing/JTextArea;gameLjavax/swing/JTextField;updateLjavax/swing/JButton;updatedLjavax/swing/JLabel;	putResultselectGameremoveGamereloadButton
historyButtonaddToHistoryButtonselectGameDialog(Lchatty/gui/components/SelectGameDialog;statusHistoryDialog+Lchatty/gui/components/StatusHistoryDialog;commercialButtonsDef[IcommercialButtonsLjava/util/Map;	Signature?Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/JToggleButton;>;commercialResultlastCommercialInfouseCommercialDelayLjavax/swing/JCheckBox;repeatCommercialcommercialDelay0Lchatty/gui/components/settings/DurationSetting;tabsLjavax/swing/JTabbedPane;closeinfoText!Lchatty/gui/components/LinkLabel;currentChannelinfoLastLoadedJstatusEditedZloading
lastPutResultlastCommercialRunscheduledCommercialTimescheduledCommercialLengthlastCommercialRunAttemptlastCommercial3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;commercialAccesseditorAccess<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis#Lchatty/gui/components/AdminDialog;gbcLjava/awt/GridBagConstraints;statusPanelLjavax/swing/JPanel;presetPanelcommercialPanelstartUpdateTimer()VtimerLjavax/swing/Timer;finishDialogtimePassedagotimeLeft
StackMapTableo2��updateInfoTextupdateAccess(ZZ)Veditorcommercialsopen(Ljava/lang/String;)VchannelcommercialHotkey(I)VlengthisCommercialsTabVisible()ZsetChannelconfirmChannelChange(Ljava/lang/String;)Zmessageoptions[Ljava/lang/String;result�
changeChannellastCommercialTempLjava/lang/Long;�setLoading(Z)V/setChannelInfo3(Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)VstreaminfoLchatty/util/api/ChannelInfo;setPutResultgameSearchResult(Ljava/util/Set;)VgamesLjava/util/Set;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;&(Ljava/util/Set<Ljava/lang/String;>;)VgetChannelInfosaveSettingsenabledcreateCommercialButtons()Ljavax/swing/JPanel;bLjavax/swing/JToggleButton;iarr$len$i$gLjavax/swing/ButtonGroup;panellistener ^!RcommercialButtonClickedcommandbutton�clearCommercialButtonsSelectionLjava/util/Iterator;"
runCommercialscheduleCommercialdelayrunCommercialNowclearScheduledCommercialsetLoadingCommercialsetCommercialResult((Ljava/lang/String;Ljava/lang/String;I)VresultTextupdateCommercialDelaySettings(ZJ)V
hideableLabel)(Ljavax/swing/JLabel;Ljava/lang/String;)VlabeltextmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xywhconfirmContinueScheduledOnClose()IsetVisiblestateaddCurrentToHistorycurrentTitlecurrentGameaddCurrentToFavoritesaccess$200&(Lchatty/gui/components/AdminDialog;)Vx0access$300access$400access$5008(Lchatty/gui/components/AdminDialog;Ljava/lang/String;)Vx1access$600:(Lchatty/gui/components/AdminDialog;)Ljavax/swing/JButton;access$700access$800access$9007(Lchatty/gui/components/AdminDialog;)Ljava/lang/String;access$1000<(Lchatty/gui/components/AdminDialog;)Ljavax/swing/JTextArea;access$1100=(Lchatty/gui/components/AdminDialog;)Ljavax/swing/JTextField;access$12009(Lchatty/gui/components/AdminDialog;)Lchatty/gui/MainGui;access$1300'(Lchatty/gui/components/AdminDialog;Z)Vaccess$1400access$1500access$1600access$1700access$1800M(Lchatty/gui/components/AdminDialog;)Lchatty/gui/components/SelectGameDialog;access$1900access$2000access$2100P(Lchatty/gui/components/AdminDialog;)Lchatty/gui/components/StatusHistoryDialog;access$2200access$2300<clinit>SourceFileAdminDialog.java��LDOPKDIDMNHD��JD����;<AB?@c+CD`�`D��C���f�r#2chatty/gui/components/AdminDialog$MyActionListenerr$=>javax/swing/JTextArear�javax/swing/JTextFieldr�javax/swing/JButtonUpdater�javax/swing/JLabelNo info loadedEF...GFSelect gameRemove gamereloadPresetsFavjava/util/LinkedHashMapSTXFjavax/swing/JCheckBoxUse delay: YZRepeat[Z.chatty/gui/components/settings/DurationSettingr%\]Closeiejava/util/HashMapnTChannel Admin - No Channel&�'�7chatty/gui/components/AdminDialog$WindowClosingListener()*�chatty/gui/components/LinkLabelTest+,-r.ab&chatty/gui/components/SelectGameDialogrs)chatty/gui/components/StatusHistoryDialog/0r1java/awt/GridBagLayout23javax/swing/JPanel3445;Open status presets containing favorites and status history6�7���java/awt/Insetsr894:6;<Add current status to favorites=�>6?@javax/swing/ImageIcon!chatty/gui/components/AdminDialogview-refresh.pngABCrDEFG�H�I�JK#chatty/gui/components/AdminDialog$1r�LMNO@javax/swing/JScrollPanerPQ�Run commercial: ��WFjavax/swing/JTabbedPane^_#chatty/gui/components/AdminDialog$2RSStatusTUCommercialVW�����javax/swing/Timer#chatty/gui/components/AdminDialog$3rXY�Z�[�hgde\]^java/lang/StringBuilderInfo last loaded: _`achatty/util/DateTime$FormattingFormattingbc agofg	 (edited)def�jeLast run: ghkel6��me'Commercial (%ds) scheduled to run in %sjava/lang/Objectijklmn�qg[help-admin:status Help]f�?No Editor Access available. [help-admin:top More information..]pg[help-admin:commercials Help]CNo Commercial Access available. [help-admin:top More information..]o�.No channel specified. Can't open admin dialog.pq<������rstuvjavax/swing/JToggleButtonw�xt����Channel Admin - L<html><body style='width:240'>There is currently a commercial scheduled on ''. Changing channel to '' will cancel that.java/lang/StringChange channelDon't change'Changing channel will cancel commercialyzjava/lang/Long{^��	Loading..|�}~eeInfo last loaded: just now&Error loading info: Channel not found.Error loading info.Info successfully updated.#Changing info failed: Access deniedError: Access denied#Changing info failed: Unknown errorError: Unknown error(Changing info failed: Channel not found.Error: Channel not found.������������9chatty/gui/components/AdminDialog$NoneSelectedButtonGroup#chatty/gui/components/AdminDialog$4QR_�sj��� ;���;�����Canceled scheduled commercial.�����"����������Invalid delay specified.������Trying to run commercial..�e j���01��21java/awt/GridBagConstraints�6�6�6�6�<html><body style='width:240'>There is currently a commercial scheduled to be run. It can also be run if you close this. What do you want to do?Run on scheduleCancel commercial2Closing Admin Dialog while commercial is scheduled���e�e���������java/awt/Colorr�javax/swing/JDialogjavax/swing/ButtonGroupjava/awt/event/ActionListenerjava/util/Iterator(Ljava/awt/Frame;)VK(Lchatty/gui/components/AdminDialog;Lchatty/gui/components/AdminDialog$1;)V(IZ)VsetTitlesetResizableaddWindowListener"(Ljava/awt/event/WindowListener;)VsetDefaultCloseOperationchatty/gui/MainGuigetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)VgetStatusHistory()Lchatty/StatusHistory;*(Ljava/awt/Dialog;Lchatty/StatusHistory;)V	setLayout(Ljava/awt/LayoutManager;)V	setMargin(Ljava/awt/Insets;)VsetToolTipTextsetMnemonic(IIII)Vinsetsanchoradd)(Ljava/awt/Component;Ljava/lang/Object;)VsetHorizontalAlignmentfillweightxDjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VsetIcon(Ljavax/swing/Icon;)VsetLineWrapsetWrapStyleWordsetRowsgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)Vweighty(Ljava/awt/Component;)VsetEditableaddChangeListener%(Ljavax/swing/event/ChangeListener;)VaddTab)(Ljava/lang/String;Ljava/awt/Component;)VaddActionListener"(Ljava/awt/event/ActionListener;)V#(ILjava/awt/event/ActionListener;)Vstartpack	isVisiblejava/lang/SystemcurrentTimeMillis()Jappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/util/DateTimeduration9(JII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;toString()Ljava/lang/String;setTextformatFullDatetime(J)Ljava/lang/String;java/lang/IntegervalueOf(I)Ljava/lang/Integer;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;getSelectedIndexisEmptyjavax/swing/JOptionPaneshowMessageDialog
java/util/MapcontainsKey(Ljava/lang/Object;)Zget&(Ljava/lang/Object;)Ljava/lang/Object;doClickequalsshowOptionDialogt(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;IILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)I	longValuesetEnabledchatty/util/api/ChannelInfo	getStatusgetGamesetSearchResultisSelectedgetSettingValue()Ljava/lang/Long;saveCommercialDelaySettings(I)Ljava/lang/StringBuilder;(I)Ljava/lang/String;setActionCommand(Ljavax/swing/AbstractButton;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;*(Ljava/awt/Component;)Ljava/awt/Component;parseInt(Ljava/lang/String;)Ivalues()Ljava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;setSelected(Ljava/lang/String;I)VcurrentTime(J)Ljava/lang/Long;setSettingValue(Ljava/lang/Long;)V
setForeground(Ljava/awt/Color;)Vgridxgridy	gridwidthgridheightgetTexttrimgetSaveStatusHistorySettingchatty/StatusHistoryisFavorite'(Ljava/lang/String;Ljava/lang/String;)ZaddUsedA(Ljava/lang/String;Ljava/lang/String;)Lchatty/StatusHistoryEntry;addFavorite(III)V!i$.*+,�-+,�.+,�/+,�01213456,786,9:6,9;<=>?@ABCDEFGFHDIDJDKDLDMNOPQRSTUVWFXFYZ[Z\]^_`Dabc+defghgiejekel6menTUopgqg=rst �*+�*�Y*��*�Y��*�Y��
*�Y �!�*�"Y#�$�%*�"Y&�$�'*�Y(�!�*�Y)�!�*�Y*�!�	*�Y+�!�*�Y,�!�*�-Y�.�/*�"Y0�$�1*�2Y3�4�5*�2Y6�4�7*�8Y�9�:*�Y;�!�*<�>*�?Y�@�A*B�C*+�*�D*�EY*�F�G*�H*�IYJ+�K�L�M*�NY+�O�*�PY*+�Q�R�*�SY�T�U�VY�WN-�SY�T�X�VY�W:�SY�T�X*��Y�Z*�[�\*�P�]*�^M,�_Y�`�a,
�b*�,�c*��Y�Z*�d�\*�F�]*�^M,�_Y�`�a,
�b*�,�c*�%�e*�^M,�f,�g,
�b,�_Y�`�a*�%,�c*�	�Y�Z*�	�hYij�k�l�m*�	R�]*�^M,
�b*�	,�c*�^M,�f,�_Y�`�a-,�c*��n*��o*��p*��_Y�`�q*��r�sY*�t�u*�^M,�f,�g,�v-�wY*��x,�c*�
�y*�^M,�f-*�
,�c*��Y�Z*�G�]*�^M-*�,�c*��Y�Z*�^M-*�,�c*�^M,�f*�U�]-*�,�c*�^M-*�',�c�VY�W:�SY�T�X*�^M�"Yz�$,�c*�^M,�_Y�`�a*�{,�c*�^M,�_Y�`�a*�5,�c*�^M,�_Y�`�a,�b*�:,�c*�^M,�_Y�`�a*�7,�c*�^M,�_Y�`�a*�1,�c*�"Y&�$�|*�^M,�_Y�`�a*�|,�c*�}Y�~�*���Y*����*��-��*����*�^M,�_Y�`�a**�,��*�^M,�b,�f,�g**�M,��*�^M,
�b*�C�]**�,��*�*���*�*���*�*���*�	*���*�*���*�*���*�*���*0��*��*���u:�uBEF*G7HDIQJ^KkLxM�N�T�V�W�X�Y�]�e�n�v�w�xy
z}#~/�?�J�R�]�f�r�|��������������������������������+�5�?�U�^�g�m�w����������������������������	��� �*�3�<�E�O�X�a�j�o�x��������������������������
��"�,�5�D�N�W�g�q~�����������"+ 4"?#J$U%`&k'v(�*�,�.�/v>�wx�;<��yzR>{|f*}|��~|�tT��Y���Y*����L+���u6=>vwx����t3*���uACvwxC�t0*����*���N*��	��E��*��e@*�%��Y��������������*�����0������*��	��T��*��e@*�1��Y������������������*�1��Y�����*����������*���"*�>	����*�>e@���*�*��	��P*����e@	��**�����6��*��e���'*���Y*����SY����S�����uNIJK LYPbQkR�S�U�V�W�X�\�]�^�_�`b/iv4 9�ekH�e�
�e�D�e0wx�5�N����������Y%�"�2��t�F*����"*���*�M����+*�M����*���*�M����*�M����u"opqs)v0w<yE|vFwx���tY*��*��*��u����v wx�g�gf�t4*���u��vwx��t|&+�+���
*�����*0��*+��*���u����� �%�v&wx&�+�	��t�;*�/�����*�/���������*�/���������u��&�:�v;wx;�6�&��tM*���*������u�vwx�@��t�K+�$+*����*��	��*+���*+��+�+���*��Y��ö�*������C�u�� �%�0�J�vKwxK�+� ��t�	R��Y��Ķ�*���Ŷ�+��ƶ���M��Y�SY�SN*�,�--2��6���u�%�4�G�v4RwxR�+%-�+4��G�6��P��@��t�T*�0��*�
0��*+�*�A+����M,�*,�ϵ��*	��*�1��*��*�*0��*��u6
�	���%�)�4�9�A�E�I�O�S�v TwxT�+%/���	�4���tQz�*�%Ѷ�*<�>*�����*�����*�����*�	����*�����*�����*���u.��
��$�4�DTdtyvzwxzhg�u
K����N����N����N����N����N������t�e+*����W�1*�,�Ӷ�*�
,�Զ�*�%ն�*����*���$*<���*�%ֶ��*�%׶�*��u6
&/6>EJV_d v*ewxe�+e��e�6�>��t�W�*ط��D�*ٷ�*�%ڶ��.�*۷�*�%ܶ���*ݷ�*�%޶�*���>�u6
*+-./$0)1/2;3@4F5O8V9vWwxW�6���tB**�'+�߱uA	Bvwx�+��tS	*�+��uKLv	wx	���	��U���tC*�*���*��uRSTvwx��tg*�5��<*�:���A*� ��uZ[\]v wx�g�e��tP	���Y��L�VY�WM��Y*��N��:�66�[.6��Y��Y����������:���+��*�/����W,��W-�����,�u2fgho4pQq[rasrtyuo�wv\	Q.��4K�6g�R#b�6&_�6�wx��w�|n�>��&������^��t�F+��=*�/������N-�� *��	��*���*��*��*	��*����u*����&�.�3�:�?�E�v*FwxF�+A�60����.���t�+*�/����L+���+����M,�����u�"�'�*�v "����+wx�����tj*��*�5��*���*���u�����vwx�6���t�3*�:��M,�*���*���*��,��ia��*��*��u"�����)�.�2�v 3wx3�6+���	����t�/*����*�7��*���*��*�*��*��u�����)�.�v/wx/�6���tF*��*	��*0���u��	��vwx��t�>*�/����M,���,����N-�������*���u�"�/�2�6�=�v*"
��#��>wx>hg�5�������������tB**�|+�߱u�	�vwx�+W�t�W*��Y�������,������*����*��**�A+�����W+�+*����*�����u"��%�*�/�@�O�V�v*WwxW�+W�+W�6��V��tZ*�5�	*�: ���u	v wx�g�e��tv,���
+���+�
�+,���uv wx�F�+���t�;�Y�:�����_Y�`�a�v�u"	 "!2"8#v>;wx;�6;�6;�6;�6	2yz��t~	*L��YSYSM*�+,,2��>�u-01(5v**wx&�+��(�6`�t�.*��*��	��*�<��*��*��*��u*>?
@ABC E%G(H-Jv�6.wx�� ���t[�*��*��uNOQSvwx�g���t�:*���L*�
�M*���*��Q+,��*��Q+,�W�uYZ[,]9_v :wx/�+'�+��,����tK*��Q*���*�
�� W�uefvwx��t/*��u v�x��t/*��u v�x��t/*��u v�x��t:*+��u v�x�+��t/*��u v�x��t/*��u v�x��t/*��u v�x��t/*��u v�x��t/*��u v�x��t/*�
�u v�x��t/*��u v�xt:*��u v�x�g�t/*��u v�x�t/*�	�u v�x�t/*��u v�x�t/*��u v�xt/*��u v�x�t/*��u v�x	�t/*��u v�xt/*��u v�x�t/*��u v�x
�t/*��u v�x�tuQ�!Y�"��!Yx���#�
�_Y�`�Y�YOY<OYZOYxOY�O��u*+ .0S&B�i%	Ei'i(���s���@PKˣG�*�~��.chatty/gui/components/AutoCompletion$1$1.class���3=		!		" #$%	&'(')'*+,-val$eLjavax/swing/event/CaretEvent;this$1.InnerClasses(Lchatty/gui/components/AutoCompletion$1;<init>I(Lchatty/gui/components/AutoCompletion$1;Ljavax/swing/event/CaretEvent;)VCodeLineNumberTableLocalVariableTablethis*Lchatty/gui/components/AutoCompletion$1$1;run()V
StackMapTableSourceFileAutoCompletion.javaEnclosingMethod/0
123456789:;<(chatty/gui/components/AutoCompletion$1$1java/lang/Objectjava/lang/Runnable&chatty/gui/components/AutoCompletion$1caretUpdate!(Ljavax/swing/event/CaretEvent;)Vjavax/swing/event/CaretEventgetDot()Ithis$0&Lchatty/gui/components/AutoCompletion;$chatty/gui/components/AutoCompletionaccess$000)(Lchatty/gui/components/AutoCompletion;)Iaccess$100)(Lchatty/gui/components/AutoCompletion;)Vaccess$202*(Lchatty/gui/components/AutoCompletion;Z)Z 	
9*+�*,�*��_j+*��*����*���*���W�cde*g+* 	PKˣGſ����,chatty/gui/components/AutoCompletion$1.class���3-	 !"#$%InnerClassesthis$0&Lchatty/gui/components/AutoCompletion;<init>)(Lchatty/gui/components/AutoCompletion;)VCodeLineNumberTableLocalVariableTablethis(Lchatty/gui/components/AutoCompletion$1;caretUpdate!(Ljavax/swing/event/CaretEvent;)VeLjavax/swing/event/CaretEvent;SourceFileAutoCompletion.javaEnclosingMethod&
'
((chatty/gui/components/AutoCompletion$1$1
)*+,&chatty/gui/components/AutoCompletion$1java/lang/Objectjavax/swing/event/CaretListener$chatty/gui/components/AutoCompletion(Ljavax/swing/JTextField;)V()VI(Lchatty/gui/components/AutoCompletion$1;Ljavax/swing/event/CaretEvent;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V 
4*+�*��TE
�Y*+���_i

PKˣG�"��,chatty/gui/components/AutoCompletion$2.class���3)	 !"#this$0&Lchatty/gui/components/AutoCompletion;<init>)(Lchatty/gui/components/AutoCompletion;)VCodeLineNumberTableLocalVariableTablethisInnerClasses(Lchatty/gui/components/AutoCompletion$2;focusGained(Ljava/awt/event/FocusEvent;)VeLjava/awt/event/FocusEvent;	focusLostSourceFileAutoCompletion.javaEnclosingMethod$%	&'(&chatty/gui/components/AutoCompletion$2java/lang/Objectjava/awt/event/FocusListener$chatty/gui/components/AutoCompletion(Ljavax/swing/JTextField;)V()Vaccess$300access$100 	4*+�*��
p@*���
tu@*���
yzPKˣG4�'��,chatty/gui/components/AutoCompletion$3.class���3/	 !"#$%&this$0&Lchatty/gui/components/AutoCompletion;<init>)(Lchatty/gui/components/AutoCompletion;)VCodeLineNumberTableLocalVariableTablethisInnerClasses(Lchatty/gui/components/AutoCompletion$3;componentResized"(Ljava/awt/event/ComponentEvent;)VeLjava/awt/event/ComponentEvent;componentMovedcomponentShowncomponentHiddenSourceFileAutoCompletion.javaEnclosingMethod'(	)*+,-.&chatty/gui/components/AutoCompletion$3java/lang/Object java/awt/event/ComponentListener$chatty/gui/components/AutoCompletion(Ljavax/swing/JTextField;)V()Vaccess$400=(Lchatty/gui/components/AutoCompletion;)Ljavax/swing/JWindow;javax/swing/JWindowsetVisible(Z)V 	4*+�*��
�D*����
��D*����
��D*����
��D*����
��PKˣG�jfȔ�,chatty/gui/components/AutoCompletion$4.class���3n	B	C	D	E	F	GH@IJK	L@M0	HN	O	PQ	RSTUVWXY@Z[\]	val$indexI	val$itemsLjava/util/List;val$commonPrefixLjava/lang/String;val$sizeval$newPositionZthis$0&Lchatty/gui/components/AutoCompletion;<init>N(Lchatty/gui/components/AutoCompletion;ILjava/util/List;Ljava/lang/String;IZ)VCodeLineNumberTableLocalVariableTablethisInnerClasses(Lchatty/gui/components/AutoCompletion$4;run()VmaxShownbLjava/lang/StringBuilder;endmore
StackMapTableJ^SourceFileAutoCompletion.javaEnclosingMethod_`a() !"#$% &'*4bcjava/lang/StringBuilder0<html><body style='padding:0 2 0 1;color:black'>*def, ghgi morejk<div style='padding:2 3 2 3;'><div style=''>( total)/</div>lm&chatty/gui/components/AutoCompletion$4java/lang/Objectjava/lang/Runnablejava/lang/String$chatty/gui/components/AutoCompletionshowCompletionInfo((IIZLjava/util/List;Ljava/lang/String;)Vaccess$500)(Lchatty/gui/components/AutoCompletion;)I(Ljava/lang/String;)Vaccess$600f(Lchatty/gui/components/AutoCompletion;Ljava/lang/StringBuilder;IILjava/util/List;Ljava/lang/String;)Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;access$700<(Lchatty/gui/components/AutoCompletion;Ljava/lang/String;Z)V  !"#$% &'()*+,P&*+�*�*-�*�*�*�*��-�.&/234,�1*��<�	Y�M>�*�,*�*�*��>
:�.*�d�$�	Y��*�dd���:�
,�W�,�W*��@�0,�	Y��*�������W�m,*��W�a�9,�	Y��*�`��*������W�',�	Y�*�`��*����W,�W*�,�*���-V�����.�2�A�b�f�p�w�������������!�0�.41/2)5 678 2�9$:�.;�3<
89#=>?@A1PKˣGF�	�r2r2*chatty/gui/components/AutoCompletion.class���3�)�*	�+	�,�-	�.�/	�0�1	�2	�3	�4	�5	�6	�789:;<9:=>9	�?	�@	�A	�B:C	�D:E:F:G�H�I3J3K3L	�M	�NOP��Q	�R3ST-1-U-VOKOWX	�Y�Z3[3\�]^_`:abcdefghijk�l	�m:nopqIr[s[t	�u^C[v	wx	wy[z[{[|	I}:t	I~b[�[��b�[��^1[�[��	��������b����b�:�^�	����:�	������������O�����3�3�����3��������InnerClassesWORDLjava/util/regex/Pattern;	textFieldLjavax/swing/JTextField;maxResultsShownI	showPopupZcompleteToCommonPrefixinCompletioncompletionTypeLjava/lang/String;server,Lchatty/gui/components/AutoCompletionServer;prevCompletionprevCompletionIndexprevCompletionTextprevCaretPosprevCompletionItems�CompletionItems<Lchatty/gui/components/AutoCompletionServer$CompletionItems;prevCommonPrefixtextBeforecaretPosBeforeinfoWindowLjavax/swing/JWindow;	infoLabelLjavax/swing/JLabel;componentListener"Ljava/awt/event/ComponentListener;containingWindowLjava/awt/Window;prevCaretLocationLjava/awt/Point;<init>(Ljavax/swing/JTextField;)VCodeLineNumberTableLocalVariableTablethis&Lchatty/gui/components/AutoCompletion;setMaxResultsShown(I)VmaxsetShowPopup(Z)VshowsetCompleteToCommonPrefixcommonsetCompletionServer/(Lchatty/gui/components/AutoCompletionServer;)V()ZgetCompletionType()Ljava/lang/String;cancelAutoCompletion()V
StackMapTabledoAutoCompletion(Ljava/lang/String;Z)VresultstypeforwardpostextendstartwordactualWordindex
newCompletionprefixitemsLjava/util/List;nickcommonPrefixnewTextnewEndLocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;�X��findResultst(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lchatty/gui/components/AutoCompletionServer$CompletionItems;searchshowCompletionInfo((IIZLjava/util/List;Ljava/lang/String;)VsizenewPosition	Signature<(IIZLjava/util/List<Ljava/lang/String;>;Ljava/lang/String;)VaddNames@(Ljava/lang/StringBuilder;IILjava/util/List;Ljava/lang/String;)IlengthitemibLjava/lang/StringBuilder;maxShownleftT(Ljava/lang/StringBuilder;IILjava/util/List<Ljava/lang/String;>;Ljava/lang/String;)IshowInfoWindowinfoTextlocationprevHeight	prevWidth
preferredSizeLjava/awt/Dimension;q�createInfoWindowcontentPaneLjavax/swing/JPanel;borderLjavax/swing/border/Border;��reshowCompletionInfoWindowhideCompletionInfoWindowfindWordEnd(Ljava/lang/String;I)ImLjava/util/regex/Matcher;�
findWordStarttempfindPrefixCommonToAll$(Ljava/util/List;)Ljava/lang/String;i$Ljava/util/Iterator;inputresult�8(Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;findCommonPrefix8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;a	minLengthcleanUpaccess$000)(Lchatty/gui/components/AutoCompletion;)Ix0access$100)(Lchatty/gui/components/AutoCompletion;)Vaccess$202*(Lchatty/gui/components/AutoCompletion;Z)Zx1access$300access$400=(Lchatty/gui/components/AutoCompletion;)Ljavax/swing/JWindow;access$500access$600f(Lchatty/gui/components/AutoCompletion;Ljava/lang/StringBuilder;IILjava/util/List;Ljava/lang/String;)Ix2x3x4x5access$700<(Lchatty/gui/components/AutoCompletion;Ljava/lang/String;Z)V<clinit>SourceFileAutoCompletion.java������������������������������&chatty/gui/components/AutoCompletion$1����&chatty/gui/components/AutoCompletion$2��&chatty/gui/components/AutoCompletion$3����������������������������������������java/lang/StringBuilder������java/lang/String�����������&chatty/gui/components/AutoCompletion$4�����<div style=''><span "style='background-color:#CCCCCC;'>>(<span style='background-color:#DDDDDD;'></span>
</span><br /></div>���������java/awt/Point�������������������������������javax/swing/JWindow����javax/swing/JLabel����javax/swing/JPanel������������#EEEEEE����	���
��
�������
	\w+$chatty/gui/components/AutoCompletionjava/lang/Object:chatty/gui/components/AutoCompletionServer$CompletionItemsjava/util/Listjava/awt/Dimensionjavax/swing/border/Borderjava/util/regex/Matcherjava/util/Iteratorjavax/swing/JTextFieldaddCaretListener$(Ljavax/swing/event/CaretListener;)VaddFocusListener!(Ljava/awt/event/FocusListener;)VsetText(Ljava/lang/String;)VsetCaretPositiongetCaretPosition()IgetText	substring(II)Ljava/lang/String;isEmptyequals(Ljava/lang/Object;)ZprefixToRemoveappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringget(I)Ljava/lang/Object;equalsIgnoreCase(Ljava/lang/String;)Z(I)Ljava/lang/String;*chatty/gui/components/AutoCompletionServergetCompletionItemsN(Lchatty/gui/components/AutoCompletion;ILjava/util/List;Ljava/lang/String;IZ)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)VgetCaret()Ljavax/swing/text/Caret;javax/swing/text/CaretgetMagicCaretPosition()Ljava/awt/Point;(Ljava/awt/Point;)V	getHeightgetWidthgetPreferredSize()Ljava/awt/Dimension;widthheightsetSize(II)V(Ljava/awt/Dimension;)V	isVisiblexyconvertPointToScreen'(Ljava/awt/Point;Ljava/awt/Component;)VsetLocationsetVisiblegetWindowAncestor'(Ljava/awt/Component;)Ljava/awt/Window;(Ljava/awt/Window;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;getContentPane()Ljava/awt/Container;java/awt/ColorGRAYLjava/awt/Color;javax/swing/BorderFactorycreateLineBorder-(Ljava/awt/Color;)Ljavax/swing/border/Border;createEmptyBorder!(IIII)Ljavax/swing/border/Border;createCompoundBorder[(Ljavax/swing/border/Border;Ljavax/swing/border/Border;)Ljavax/swing/border/CompoundBorder;	setBorder(Ljavax/swing/border/Border;)Vchatty/gui/HtmlColorsdecode$(Ljava/lang/String;)Ljava/awt/Color;
setBackground(Ljava/awt/Color;)VgetFont()Ljava/awt/Font;setFont(Ljava/awt/Font;)Vjava/awt/WindowaddComponentListener%(Ljava/awt/event/ComponentListener;)Vjava/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;find(I)Ziterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;toLowerCasestartsWithjava/lang/Mathmin(II)IcharAt(I)CremoveComponentListenercompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;!������������������������������������������������Q*�	*�*�*�*�*�*�
*�*+�+�Y*��+�Y*��*�Y*����6
R5	67:=>"?'S,T8pD�P��Q��Q�����>*�������������>*�������������>*�������������>*+�������������/*����������/*����������x-*��(*�*��*�*��*�*�
*�������"�'�,��-���,����P*���*��>*�� :*�!6�"6�#:�$��:*�
6	�	�	��	�6*��%�!*��*�&�*�&�'�(�*�6	6*��	*�:):�
�#:�*+�*:�	*�&:�':
�+�,d6�-Y�.�+�/�/�0:
�1�!
�(�
�2�3�%��	
�(�	6	�	�
�(d6	
	�2�3:):�*�4�*�4:�C
�(�8*��1*��**��#
�5:�$��6�:6	�*�*��-Y�.�#�/�/�7�/�0:*���,�,d`6*�*��*�� *	
�(*���
�8*�*	�
*�*�&*�4*+�*����?��"*5=>BHLRUX �"�#�$�&�'�*�+�,�0�2�5�8�9�:�>?D(E.F3G>MLOPP\QeS�U�V�W�X�[�\�]�a�b�e�f�gik's-t3u9v?wExJyOz�����P��P��P��@��7��".��*&��5��B��H��	X���������������
L��P���u���\�������
���5�������,����T��&��?�i����������������������������U
*�+,-�9����*
��
��
��
���������:Y*�;�<�������>���������������������Td6ld6ld6�t`66`66�(�`�(d`6�(d6�d6�6+=�/W6		��	�2�3:+>�/W	�+?�/W+�/W�H+@�/W�,�2�,6+A�/W+�#�/B�/W+�7�/W�+�/W+C�/W�	��~+D�/W���"��
���#�&�,�/�;�L�W�\�c�h�k�r�}���������������������������������z�%���j��v���	��������������
���,��������&�0��2�=������*��*�E*�FN-��*��G�HN-��*�IY-�J�F*��K6*��L6*�M+�N*��O:�P��*��Q�R�*��S*��K�*��L�=�
*��T�p-Y�U*��Lld�U-�U*��L`*��V�-*��V*��Ld�U�-�U�	-�U-Y�W*��Kd�W-*��X*�-�Y*��Z��r
%)*6?HPY"g#x%�)�+�.�0�1�2�3�4�678:;�H��������?���H���Y�������M�
=���	�*�[Y*��\�]�*�^Y�_�M*�*�M�`W*��a�bL�c�d�e�fM+,�g+h�i�j*�M*��k�l**��\�m*�m�*�m*��n*�*��o��6
BCD)E4FEIJJSKaQlRsS~U�V� ���4V��EE����~�����\!*��*��T�*��*��Z��YZ \�!��� ���U*��*��T�*��Z��_`b��������:>�p+�q:����r�	�s>+�,�+�,>�+�,>��.lopqst!x)y.}3~8��4:��:��:��8��/��	���3�p*�qM>,�t�,�u��,�u>���6�6��*������$�'�-�0��43��3��+)�'�������GL*�vM,�w�6,�x�3N+�-L� -�y+�y�z�-+�{L+�$�+����+��*��� �%�3�9�@�B�E��*&��	<G	�E��G	���	�����
��:*�,+�,�|=>�#*�y�}+�y�}�*�#�����*�#�����&�-�3��*%��:�:��.������W*�m�*�m*��~*������������/*���'���/*���'���;*Z���'����/*���'���/*���'���/*���'���h*+���'�>�� �!�"�#�$%�E*+���'� �� �&��!	���p��-'(�*:�^�	PKˣG+Ûҩ�@chatty/gui/components/AutoCompletionServer$CompletionItems.class���3&		 !#$itemsLjava/util/List;	Signature$Ljava/util/List<Ljava/lang/String;>;prefixToRemoveLjava/lang/String;<init>%(Ljava/util/List;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisCompletionItemsInnerClasses<Lchatty/gui/components/AutoCompletionServer$CompletionItems;LocalVariableTypeTable9(Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)V()VSourceFileAutoCompletionServer.java	
java/util/ArrayList%:chatty/gui/components/AutoCompletionServer$CompletionItemsjava/lang/Object*chatty/gui/components/AutoCompletionServer!	
k*�*+�*,��>?	@A 	
	L*�*�Y��*��FGHI"	PKˣGx+є�0chatty/gui/components/AutoCompletionServer.class���3
CompletionItemsInnerClassesgetCompletionItemst(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lchatty/gui/components/AutoCompletionServer$CompletionItems;SourceFileAutoCompletionServer.java*chatty/gui/components/AutoCompletionServerjava/lang/Object:chatty/gui/components/AutoCompletionServer$CompletionItems		PKʣGͼ�.%chatty/gui/components/Channel$1.class���3'	 this$0Lchatty/gui/components/Channel;<init>"(Lchatty/gui/components/Channel;)VCodeLineNumberTableLocalVariableTablethisInnerClasses!Lchatty/gui/components/Channel$1;run()VSourceFileChannel.javaEnclosingMethod!"#	$%&chatty/gui/components/Channel$1java/lang/Objectjava/lang/Runnablechatty/gui/components/ChannelrequestFocusInWindow()Zaccess$400G(Lchatty/gui/components/Channel;)Lchatty/gui/components/ChannelEditBox;$chatty/gui/components/ChannelEditBox 	4*+�*��
L:*���W�
QRPKʣG���'��%chatty/gui/components/Channel$2.class���3,	 !"#this$0Lchatty/gui/components/Channel;<init>"(Lchatty/gui/components/Channel;)VCodeLineNumberTableLocalVariableTablethisInnerClasses!Lchatty/gui/components/Channel$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannel.javaEnclosingMethod$%&	&'()*+chatty/gui/components/Channel$2java/lang/Objectjava/awt/event/ActionListenerchatty/gui/components/ChannelsetTextPreferredSizeTemporarily()Vaccess$600Q(Lchatty/gui/components/Channel;)Lchatty/gui/components/textpane/ChannelTextPane;.chatty/gui/components/textpane/ChannelTextPanesetPreferredSize(Ljava/awt/Dimension;)V 	4*+�*��
�D*����
��PKʣG���Nchatty/gui/components/Channel$InputCompletionServer$UserSorterAlphabetic.class���3>)	*	+	,-./0123this$15InputCompletionServerInnerClasses5Lchatty/gui/components/Channel$InputCompletionServer;<init>8(Lchatty/gui/components/Channel$InputCompletionServer;)VCodeLineNumberTableLocalVariableTablethisUserSorterAlphabeticJLchatty/gui/components/Channel$InputCompletionServer$UserSorterAlphabetic;compare(Lchatty/User;Lchatty/User;)Io1
Lchatty/User;o2'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x16Y(Lchatty/gui/components/Channel$InputCompletionServer;Lchatty/gui/components/Channel$1;)V!Lchatty/gui/components/Channel$1;	Signature7Ljava/lang/Object;Ljava/util/Comparator<Lchatty/User;>;SourceFileChannel.java789:;<chatty/UserHchatty/gui/components/Channel$InputCompletionServer$UserSorterAlphabeticjava/lang/Objectjava/util/Comparator=3chatty/gui/components/Channel$InputCompletionServerchatty/gui/components/Channel$1()VnickLjava/lang/String;java/lang/StringcompareToIgnoreCase(Ljava/lang/String;)Ichatty/gui/components/Channel 	4*+�*��5J+�,���9 AK
*+�,���5 


 #D*+��5  $%&'(4
!PKʣG��H��Gchatty/gui/components/Channel$InputCompletionServer$UserSorterNew.class���3_6	789	:;<8=>?@ABCDEFGHIthis$1KInputCompletionServerInnerClasses5Lchatty/gui/components/Channel$InputCompletionServer;<init>8(Lchatty/gui/components/Channel$InputCompletionServer;)VCodeLineNumberTableLocalVariableTablethis
UserSorterNewCLchatty/gui/components/Channel$InputCompletionServer$UserSorterNew;compare(Lchatty/User;Lchatty/User;)Io1
Lchatty/User;o2s1Is2
StackMapTable'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x1LY(Lchatty/gui/components/Channel$InputCompletionServer;Lchatty/gui/components/Channel$1;)V!Lchatty/gui/components/Channel$1;	Signature7Ljava/lang/Object;Ljava/util/Comparator<Lchatty/User;>;SourceFileChannel.javaMNOPQRjava/lang/StringBuilderST SUSVWXYZ[\]chatty/User!"Achatty/gui/components/Channel$InputCompletionServer$UserSorterNewjava/lang/Objectjava/util/Comparator^3chatty/gui/components/Channel$InputCompletionServerchatty/gui/components/Channel$1()VgetActivityScore()Ijava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V	compareTo(Ljava/lang/Object;)Ichatty/gui/components/Channel 4*+�*��$ !"�Q+�>,�6��Y�+�	��	�,�	����
�	+,�����"()*;+A,G-M.O04Q Q#$Q%$L&'F(')�GA!*K
*+�,���$ 
 
+,
-,0D*+��$  +-12345J.PKʣG͆dHmm9chatty/gui/components/Channel$InputCompletionServer.class���3���	������	����	������������������������������������������������� 	�	 
�	��R� !"#$%&'(�)�*�R+,-�./0d123456k�7839:;:<=>?@ABk9C	vDEFGHI>J79vKLMNInputCompletionServerInnerClassesUserSorterAlphabetic
UserSorterNew
userSorterNewCLchatty/gui/components/Channel$InputCompletionServer$UserSorterNew;userSorterAlphabeticalJLchatty/gui/components/Channel$InputCompletionServer$UserSorterAlphabetic;commandsLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;this$0Lchatty/gui/components/Channel;<init>"(Lchatty/gui/components/Channel;)VCodeLineNumberTableLocalVariableTablethis5Lchatty/gui/components/Channel$InputCompletionServer;updateSettings()VgetCompletionItemsCompletionItemst(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lchatty/gui/components/AutoCompletionServer$CompletionItems;typeLjava/lang/String;prefixsearch
StackMapTablegetRegularCompletionItemsb(Ljava/lang/String;Ljava/lang/String;)Lchatty/gui/components/AutoCompletionServer$CompletionItems;itemsLjava/util/List;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;OgetSpecialItemsemotesLjava/util/Collection;*Ljava/util/Collection<Ljava/lang/String;>;getCustomCompletionItems$(Ljava/lang/String;)Ljava/util/List;resultlist�8(Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;filterCompletionItems:(Ljava/util/Collection;Ljava/lang/String;)Ljava/util/List;namei$Ljava/util/Iterator;datamatchedPb(Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;getCompletionItemsNamesuser
Lchatty/User;nicksLjava/util/List<Lchatty/User;>;QC(Lchatty/gui/components/Channel;Lchatty/gui/components/Channel$1;)Vx0x1!Lchatty/gui/components/Channel$1;SourceFileChannel.java������Achatty/gui/components/Channel$InputCompletionServer$UserSorterNew�R��Hchatty/gui/components/Channel$InputCompletionServer$UserSorterAlphabetic��java/util/TreeSetjava/lang/StringsubscriberssubscribersOfftimeoutbanunbanhostunhostclearmodspartclose	reconnectslowslowOffr9kr9koffconnectionuptimedirwdiropenDiropenWdirreleaseInfo
openBackupDir	clearChatrefreshchangetokentestNotificationserversetaddclearSettingremovecustomCompletionclearStreamChatgetStreamChatSizesetStreamChatSizestreamChatTestopenStreamChatcustomEmotesreloadCustomEmotesaddStreamHighlightopenStreamHighlightsignoreunignore
ignoreWhisperunignoreWhisperignoreChatunignoreChatSTU�V��WXYZ[\]^completionMaxItemsShown_`abcdcompletionShowPopupefghcompletionCommonPrefixih��jklmn��specialop��:chatty/gui/components/AutoCompletionServer$CompletionItems/qf/set /get /add /remove /clearSetting /reset rs�����t.uf��java/util/LinkedListvswxyz{|}~java/util/ArrayListO�p��P����mx��������chatty/User��completionSorting���predictivealphabetical���x3chatty/gui/components/Channel$InputCompletionServerjava/lang/Object*chatty/gui/components/AutoCompletionServerjava/util/Listjava/util/Iteratorchatty/gui/components/Channel$1Y(Lchatty/gui/components/Channel$InputCompletionServer;Lchatty/gui/components/Channel$1;)Vjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)Vchatty/gui/components/Channelaccess$400G(Lchatty/gui/components/Channel;)Lchatty/gui/components/ChannelEditBox;access$3005(Lchatty/gui/components/Channel;)Lchatty/gui/MainGui;chatty/gui/MainGuigetSettings!()Lchatty/util/settings/Settings;chatty/util/settings/SettingsgetLong(Ljava/lang/String;)J$chatty/gui/components/ChannelEditBoxsetCompletionMaxItemsShown(I)VgetBoolean(Ljava/lang/String;)ZsetCompletionShowPopup(Z)VsetCompleteToCommonPrefixjava/util/LocaleENGLISHLjava/util/Locale;toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;equals(Ljava/lang/Object;)ZstartsWithgetSettingNames()Ljava/util/Collection;%(Ljava/util/List;Ljava/lang/String;)VendsWith
getEmoteNames
getStreamName()Ljava/lang/String;getEmoteNamesPerStream*(Ljava/lang/String;)Ljava/util/Collection;java/util/CollectionaddAll(Ljava/util/Collection;)ZgetCustomCompletionItem&(Ljava/lang/String;)Ljava/lang/String;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;java/util/Collectionssort(Ljava/util/List;)Vaccess$500A(Lchatty/gui/components/Channel;)Lchatty/gui/components/UserList;chatty/gui/components/UserListgetData()Ljava/util/ArrayList;nick	getStringhashCode()I)(Ljava/util/List;Ljava/util/Comparator;)VgetRegularDisplayNick �������������	����W*+�*�*�Y*��*�Y*��	*�Y1�YSY
SYSYSYSYSYSYSYSY	SYSYSYSY
SYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&SY'SY(SY)SY*SY+SY ,SY!-SY".SY#/SY$0SY%1SY&2SY'3SY(4SY)5SY*6SY+7SY,8SY-9SY.:SY/;SY0<S�=�>�?���	��#�V5�W������M*��@*��A�BC�D��E*��@*��A�BF�G�H*��@*��A�BI�G�J����3�L��M������/*�K-�L�MN+�*,-�N�+O�P�*,-�Q��RY�S������� �'��*/��/��/��/������/�+T�U�W+V�P�0+W�P�'+X�P�+Y�P�+Z�P�+[�P�!**��A�\,�]N*��@�J�+T�P�**�?,�]N�	*,�^N�RY-_�`���?�O�]�f�s�y��>O��p�����������y��� O��p��y���?������R+a�b��RY*,�ca�`��dY*��A�e�fN-*��A*��g�h�iW�RY*-,�]_�`���	��*�B��**(��R��R��R���*(�������"*��A+�jM�kY�lN,�-,�mW-������ ��*"��"����������� ��������D�kY�lN+�n:�o�'�p�:�q,�U�-�mW���-�r-��&2;>B	�>&��.��D��D��D��<���D��<������*���������kY�lM*��s�t�uN-�o�&-�p�v:�w+�U�,�mW���*��A�Bx�yN6-�z�6&��*E7	_-{�P�6�-|�P�6�1&,*��}�,*�	�}�,�r�kY�lN,�~:�o��p�v:-��mW���-��B
*6?B��������� �!�R*��,������%������������/�������/���*���(��1� �����$�����D*+����� ���������*������R��	�PKʣG�RM�0chatty/gui/components/Channel$ScrollAction.class���3D(	)	*+,+-./0.12+356actionLjava/lang/String;	scrollbarLjavax/swing/JScrollBar;<init>-(Ljava/lang/String;Ljavax/swing/JScrollBar;)VCodeLineNumberTableLocalVariableTablethisScrollActionInnerClasses,Lchatty/gui/components/Channel$ScrollAction;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;nowIheightnewValue
StackMapTable578SourceFileChannel.java9
:;<=<8><pageUp?@pageDownABC*chatty/gui/components/Channel$ScrollActionjavax/swing/AbstractActionjava/awt/event/ActionEventjava/lang/String()Vjavax/swing/JScrollBargetValue()IgetVisibleAmounthashCodeequals(Ljava/lang/Object;)ZsetValue(I)Vchatty/gui/components/Channel 
Y*�*,�*+����	�� 
(�*��=*��>ld>6*�:6��9Ħ�33�,��6�	��6�&!d6�`6*���&	�����|�������4���� y!"�D#$%�&'4PKʣGQ�yy(chatty/gui/components/Channel$Type.class���39	)*+-./0	1	2	34NONETypeInnerClasses$Lchatty/gui/components/Channel$Type;CHANNELWHISPER$VALUES%[Lchatty/gui/components/Channel$Type;values'()[Lchatty/gui/components/Channel$Type;CodeLineNumberTablevalueOf8(Ljava/lang/String;)Lchatty/gui/components/Channel$Type;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>6Ljava/lang/Enum<Lchatty/gui/components/Channel$Type;>;SourceFileChannel.java567"chatty/gui/components/Channel$Type8 ! !java/lang/Enumclone()Ljava/lang/Object;chatty/gui/components/Channel5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@	"����+	5*���+ !1*+��+"#$%$]A�Y��	�Y���Y��
�Y�	SY�SY�
S��,'+#&'(,@PKʣGս<�N)N)#chatty/gui/components/Channel.class���3�	{	{	{	{|	{{	{	{		{


{	{
 !"#$%&'#(	{)*'+	{,'-'./,0&1,2304,56{78,9{:
;,;
<=>?>@#A#B#C#D#E#F,GHEIJK
L
M
N
O
P
Q
RST,UVSW,XY,Z,[\#X]#[
^,_`]abc	{d
befdIcgchci,j,k{lk	{m{n'op{q
r
s
t
u
v
wxy>z{|ScrollActionInnerClassesInputCompletionServer}TypeDIVIDER_SIZEI
ConstantValueinput&Lchatty/gui/components/ChannelEditBox;text0Lchatty/gui/components/textpane/ChannelTextPane;users Lchatty/gui/components/UserList;mainPaneLjavax/swing/JSplitPane;userlistLjavax/swing/JScrollPane;weststyleManagerLchatty/gui/StyleServer;mainLchatty/gui/MainGui;type$Lchatty/gui/components/Channel$Type;userlistEnabledZpreviousUserlistWidthuserlistMinWidthnameLjava/lang/String;<init>�(Ljava/lang/String;Lchatty/gui/components/Channel$Type;Lchatty/gui/MainGui;Lchatty/gui/StyleManager;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/components/Channel;Lchatty/gui/StyleManager;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;westScrollInputMapLjavax/swing/InputMap;cleanUp()VsetType'(Lchatty/gui/components/Channel$Type;)VgetType&()Lchatty/gui/components/Channel$Type;setScrollbarAlways(Z)Valways
StackMapTable{setMouseClickedListener$(Lchatty/gui/MouseClickedListener;)Vlistener!Lchatty/gui/MouseClickedListener;getName()Ljava/lang/String;
getStreamNamesetName(Ljava/lang/String;)VaddUser(Lchatty/User;)Vuser
Lchatty/User;removeUserupdateUserresortUserlistclearUsersgetNumUsers()IgetInput(()Lchatty/gui/components/ChannelEditBox;getInputTextrequestFocusInWindow()Zsearch(Ljava/lang/String;)ZsearchTextresetSearch	printLinelineuserBannedprintCompact"(Ljava/lang/String;Lchatty/User;)VprintMessage(Lchatty/gui/Message;)VmessageLchatty/gui/Message;
refreshStyles	setStyles	clearChatinsertText(Ljava/lang/String;Z)V	withSpacesetUserlistWidth(II)VwidthminWidthsetTextPreferredSizeTemporarilytLjavax/swing/Timer;toggleInput/setUserlistEnabledenabletoggleUserlistselectPreviousUserselectNextUserselectNextUserExitAtBottomexitUserSelectiontoggleUserSelectiongetSelectedUser()Lchatty/User;toStringaccess$3005(Lchatty/gui/components/Channel;)Lchatty/gui/MainGui;x0access$400G(Lchatty/gui/components/Channel;)Lchatty/gui/components/ChannelEditBox;access$500A(Lchatty/gui/components/Channel;)Lchatty/gui/components/UserList;access$600Q(Lchatty/gui/components/Channel;)Lchatty/gui/components/textpane/ChannelTextPane;SourceFileChannel.java������������java/awt/BorderLayout~������.chatty/gui/components/textpane/ChannelTextPane������javax/swing/JScrollPane����������PAGE_UP���pageUp�����*chatty/gui/components/Channel$ScrollAction�������	PAGE_DOWNpageDown���chatty/gui/components/UserList�������javax/swing/JSplitPane��������$chatty/gui/components/ChannelEditBox������3chatty/gui/components/Channel$InputCompletionServer����Center��South��������#�������������������chatty/gui/components/Channel$1������������������������inputBackground����inputForeground����backgroundforeground����java/awt/Dimension��������javax/swing/Timerchatty/gui/components/Channel$2����������������������������������%s '%s'java/lang/Object��chatty/gui/components/Channeljavax/swing/JPanel"chatty/gui/components/Channel$Type	setLayout(Ljava/awt/LayoutManager;)V/(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;)VsetContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)V(Ljava/awt/Component;)V
setScrollPane(Ljavax/swing/JScrollPane;)VsetVerticalScrollBarPolicy(I)VgetInputMap(I)Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke+(Ljava/lang/String;)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;getVerticalScrollBar()Ljavax/swing/JScrollBar;-(Ljava/lang/String;Ljavax/swing/JScrollBar;)Vjavax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)Vjavax/swing/JScrollBarsetUnitIncrementchatty/gui/MainGuigetUserListener()Lchatty/gui/UserListener;M(Lchatty/gui/components/menus/ContextMenuListener;Lchatty/gui/UserListener;)V,(ILjava/awt/Component;Ljava/awt/Component;)VsetResizeWeight(D)VsetDividerSizegetActionListener!()Ljava/awt/event/ActionListener;addActionListener"(Ljava/awt/event/ActionListener;)VC(Lchatty/gui/components/Channel;Lchatty/gui/components/Channel$1;)VsetCompletionServer/(Lchatty/gui/components/AutoCompletionServer;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)Vjava/lang/StringstartsWith	substring(I)Ljava/lang/String;resortgetText"(Lchatty/gui/components/Channel;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)Vchatty/gui/StyleServergetFont()Ljava/awt/Font;setFont(Ljava/awt/Font;)VgetColor$(Ljava/lang/String;)Ljava/awt/Color;
setBackground(Ljava/awt/Color;)V
setCaretColor
setForegroundclearAll
insertAtCaretsetPreferredSize(Ljava/awt/Dimension;)VsetMinimumSize#(ILjava/awt/event/ActionListener;)VsetRepeatsstart	isVisiblesetVisiblerevalidatesetDividerLocationgetWidthformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;!{|������������������������������,���<Z*�*�*�Y��	*�*+�*-�*,�*�
Y-��*��*�*�Y*���*�*��*��*��:��*���Y*���� �!�*��!�Y!*����*��(�"*�#Y-�$�%�*�Y*���&*�'Y*�*�&�(�)*�)�**�)�+*�,Y(�-�*�-�.�/*��0Y*�1�2**�)3�4**�5�4*��6W*�7��� B;	CDEF$G)J7K@NDPSQ^TgWqX}Y�Z�[�\�`�a�ef	gjk)l9pCqMsUtYu�HZ��Z��Z��Z��Z��Z��q������A*��8*��9��xyz������>*+���}~��������/*����������f*��������������M�������A	*�+�:�����	��	�����/*����������R*�;�<�*��=�������������>*+�������������A	*�+�>�����	��	�����A	*�+�?�����	��	�����A	*�+�@�����	��	�����6*��A����������6*��B����������2*��C���������/*���A������2*��D��E������A�EY*�F�G*��6��LT������=	*�+�H��\�	��	�����6*��I��`a������A	*�+�J��de�	��	�����A	*�+�K��hi�	��	�����L*�+,�L��l	m� ���������A	*�+�M��pq�	��	�����>*��N*�7��wxy�������k*�*��O�P*�*�Q�R�S*�*�T�R�U*�*�T�R�V*�*�W�R�X*�*�Y�R�Z��|}"~4F�X�j��k�����6*��[����������L*�+�\���	�� ���������q'*�&�]Y�^�_*�&�]Y�^�`*�a����!�&�� '��'��'�����q-*��]Y�^�b�cY��dY*�e�fL+�g+�h����#�(�,��-��#�����g*�*��i���j*�k���������R�������T�.*�&�l*�)�+**�m*�a�n*�*�)�o�**�&�p�m*�&�l*�)�+*�*�k��2���� �$�/�:�B�J�O�S��T��T���/���Y**����q��������L�������6*��r����������6*��s����������6*��t����������6*��u����������6*��v����������2*��w���������Bx�yY*�SY*�S�z��������/*���)������/*���)������/*���)������/*���)�����~*{}0{�{�@dEPKˣG^&]BB)chatty/gui/components/ChannelDialog.class���31 !"#$%<init>3(Ljava/awt/Window;Lchatty/gui/components/Channel;)VCodeLineNumberTableLocalVariableTablethis%Lchatty/gui/components/ChannelDialog;ownerLjava/awt/Window;channelLchatty/gui/components/Channel;SourceFileChannelDialog.java
&'(java/awt/BorderLayout
)*+Center,-java/awt/Dimension
./0#chatty/gui/components/ChannelDialogjavax/swing/JDialog(Ljava/awt/Window;)VsetDefaultCloseOperation(I)V()V	setLayout(Ljava/awt/LayoutManager;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(II)VsetSize(Ljava/awt/Dimension;)V!
�.*+�*�*�Y��*,�*�YX��	��- ...PKʣGk�cLL,chatty/gui/components/ChannelEditBox$1.class���36	$%	&"'"(")*+,	selectionZthis$0&Lchatty/gui/components/ChannelEditBox;<init>)(Lchatty/gui/components/ChannelEditBox;)VCodeLineNumberTableLocalVariableTablethisInnerClasses(Lchatty/gui/components/ChannelEditBox$1;focusGained(Ljava/awt/event/FocusEvent;)VeLjava/awt/event/FocusEvent;
StackMapTable	focusLost*-SourceFileChannelEditBox.javaEnclosingMethod./
0123/45&chatty/gui/components/ChannelEditBox$1java/lang/Objectjava/awt/event/FocusListenerjava/awt/event/FocusEvent$chatty/gui/components/ChannelEditBox(I)V()VgetCaretPosition()IsetCaretPositiongetSelectedText()Ljava/lang/String; 	
4*+�*��*[*��*�*����013i**������78O� !"#PKʣG��I''*chatty/gui/components/ChannelEditBox.class���3A���	@�	@�	@���	@�@�@�@�@�����@����@�@�1�1�1��1�����1�@�1�@���@�@����������������@�E@������9������������InnerClasseshistoryLjava/util/Vector;	Signature&Ljava/util/Vector<Ljava/lang/String;>;historyPositionIhistoryTextEditedZautoCompletion&Lchatty/gui/components/AutoCompletion;<init>(I)VCodeLineNumberTableLocalVariableTablethis&Lchatty/gui/components/ChannelEditBox;sizesetCompletionMaxItemsShownmaxsetCompletionShowPopup(Z)VshowsetCompleteToCommonPrefixvalue
insertAtCaret(Ljava/lang/String;Z)VtextLjava/lang/String;	withSpaceposcurrentbeforeafter
StackMapTable��keyTyped(Ljava/awt/event/KeyEvent;)VeLjava/awt/event/KeyEvent;keyPressedkeyReleasedhistoryBack()VhistoryForwardhistoryAddChangedhistoryAdd(Ljava/lang/String;)VactionPerformed(Ljava/awt/event/ActionEvent;)VLjava/awt/event/ActionEvent;insertUpdate$(Ljavax/swing/event/DocumentEvent;)V!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdatesetCompletionServer/(Lchatty/gui/components/AutoCompletionServer;)Vserver,Lchatty/gui/components/AutoCompletionServer;cleanUpmain([Ljava/lang/String;)Vargs[Ljava/lang/String;lLjava/util/List;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;SourceFileChannelEditBox.javaQRjava/util/VectorQsGHKLMN$chatty/gui/components/AutoCompletionQ�OP�����\�����&chatty/gui/components/ChannelEditBox$1Q����R�\^\���������� ��java/lang/StringBuilder�������w���R���rsts�����������aspecial�sX���java/lang/Stringusvw����sjava/util/ArrayListjoshimuzjoshuajoshjo$chatty/gui/components/ChannelEditBoxjavax/swing/JTextFieldjava/awt/event/KeyListenerjava/awt/event/ActionListener"javax/swing/event/DocumentListener(Ljavax/swing/JTextField;)VaddKeyListener(Ljava/awt/event/KeyListener;)VaddActionListener"(Ljava/awt/event/ActionListener;)VsetFocusTraversalKeysEnabledgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)V)(Lchatty/gui/components/ChannelEditBox;)VaddFocusListener!(Ljava/awt/event/FocusListener;)VsetMaxResultsShownsetShowPopupgetCaretPosition()IgetText()Ljava/lang/String;	substring(II)Ljava/lang/String;(I)Ljava/lang/String;isEmpty()ZendsWith(Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringstartsWithsetTextlengthsetCaretPositionjava/awt/event/KeyEventgetKeyCode
isControlDown	isAltDownisAltGraphDownisShiftDowninCompletiondoAutoCompletioncancelAutoCompletionget(I)Ljava/lang/Object;remove(Ljava/lang/Object;)Zaddjava/util/List!@ABCDGHIJKLMNOPQRS�L*�*�Y��*�*�*�Y*��	**�**�*�*�
*�*�Y*���T."#&$+%0&5'?*K:ULVWLXLYRSA	*�	��T=>U	VW	ZL[\SA	*�	��TABU	VW	]N^\SA	*�	��TEFU	VW	_N`aSF�*�>*�:�:�:�O��!���Y��+��L��!� ��Y�+���L*�Y��+����!*+�"`�#�T2TUVWZ [2\F^X_lb�e�fUH�VW�bc�dN�eL�fcgcwhci�Fjkkkk%lmS5�TlUVWnopmSl+�$&�*�%�+�$(�*�&�Tq	rtuwUVWnoiqmS�f+�$	�O+�'�+�(�+�)��+�*�&*�	�+�*�	�,�,*�	-�,�*�	�,�+�$�*�	�.�T.{	|}&�0�<�I�U�^�e�UfVWfnoirsS�=*��8*�*��/�**Y�d�*�*��0�1L+�
*+�!*��T���.�2�7�<�U.bc=VWi<tsS�Z*�2*Y�`�*�*��/�*3�!*�**��/��'*�� *�*��0�1L+�
*+�!*��T2����"�'�5�<�K�O�T�Y�UKbcZVWi5#usSc *��**��4*�**��/��T�����U VWivwSc+��*�+�5W*�+�6W�T����UVWbcixySc**��4**��/�*3�!*��T�����UVWnz{|S>*��T��UVWn}~|S>*��T��UVWn}|S5�T�UVWn}��SA	*�	+�7�T��U	VW	���sS6*�	�8�T��UVW	��S�-�9Y�:L+;�<W+=�<W+>�<W+?�<W�T����#�,�U-��%���%����FPKʣG��/chatty/gui/components/ChannelInfoDialog$1.class���30	 !"#$%&this$0)Lchatty/gui/components/ChannelInfoDialog;<init>,(Lchatty/gui/components/ChannelInfoDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/ChannelInfoDialog$1;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTable'%(SourceFileChannelInfoDialog.javaEnclosingMethod')	*+,-./)chatty/gui/components/ChannelInfoDialog$1java/awt/event/MouseAdapter'chatty/gui/components/ChannelInfoDialogjava/awt/event/MouseEvent(Ljava/awt/Frame;)V()Vaccess$000,(Lchatty/gui/components/ChannelInfoDialog;)Zaccess$002-(Lchatty/gui/components/ChannelInfoDialog;Z)Zaccess$100 	4*+�*��
Ex*�*�����W*���
IJKR�PKʣG�k��&&/chatty/gui/components/ChannelInfoDialog$2.class���3%	 this$0)Lchatty/gui/components/ChannelInfoDialog;<init>,(Lchatty/gui/components/ChannelInfoDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/ChannelInfoDialog$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannelInfoDialog.javaEnclosingMethod!	"	#$)chatty/gui/components/ChannelInfoDialog$2java/lang/Objectjava/awt/event/ActionListener'chatty/gui/components/ChannelInfoDialog(Ljava/awt/Frame;)V()Vaccess$100 	4*+�*��v
@*���z{
PKʣGʿbMnn<chatty/gui/components/ChannelInfoDialog$MyLinkListener.class���3.	 !"#%&'this$0)Lchatty/gui/components/ChannelInfoDialog;<init>,(Lchatty/gui/components/ChannelInfoDialog;)VCodeLineNumberTableLocalVariableTablethisMyLinkListenerInnerClasses8Lchatty/gui/components/ChannelInfoDialog$MyLinkListener;linkClicked(Ljava/lang/String;)VurlLjava/lang/String;(W(Lchatty/gui/components/ChannelInfoDialog;Lchatty/gui/components/ChannelInfoDialog$1;)Vx0x1+Lchatty/gui/components/ChannelInfoDialog$1;SourceFileChannelInfoDialog.java	)*+,-6chatty/gui/components/ChannelInfoDialog$MyLinkListenerjava/lang/Objectchatty/gui/LinkListener)chatty/gui/components/ChannelInfoDialog$1()Vchatty/gui/UrlOpener
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)Z'chatty/gui/components/ChannelInfoDialog 	4*+�*��
�B*�+�W�
	D*+��
� 	$PKʣG�W\���-chatty/gui/components/ChannelInfoDialog.class���3�|�	|�}����	|���	|��	|��	|���	|��	|���	|��	|�	|���������	|��|���|�|�	r�|��%����)���,��.,,	r	r�5	r	 	r
A�@@@||H�HH !"#$%&'()*+|,-./012$345	|6|78|9:;<|=>&@Ar�	rB	rC	rD	rEFGHIJKLMyLinkListenerInnerClassesSTATUS_LABEL_TEXTLjava/lang/String;
ConstantValueSTATUS_LABEL_TEXT_HISTORYstatusLabelLjavax/swing/JLabel;title(Lchatty/gui/components/ExtendedTextPane;onlineSinceshowWithPicnicZ	gameLabelgameLjavax/swing/JTextField;historyLabelhistory%Lchatty/gui/components/ViewerHistory;currentStreamInfoLchatty/util/api/StreamInfo;statusTextgameTexttimeStartedJ<init>(Ljava/awt/Frame;)VCodeLineNumberTableLocalVariableTablethis)Lchatty/gui/components/ChannelInfoDialog;ownerLjava/awt/Frame;gbcLjava/awt/GridBagConstraints;scrollLjavax/swing/JScrollPane;timerLjavax/swing/Timer;set(Lchatty/util/api/StreamInfo;)VwithPicniclastBroadcastTimestreamInfo
StackMapTableJMNupdateupdateOnlineTime()VformatTime(J)Ljava/lang/String;time(JJ)Ljava/lang/String;time2formatDurationmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xIywhitemSelected((ILjava/lang/String;Ljava/lang/String;)VviewershistoryTitlehistoryGamenoItemSelectedsetHistoryRange(I)VminutesaddContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)Vlistener1Lchatty/gui/components/menus/ContextMenuListener;access$002-(Lchatty/gui/components/ChannelInfoDialog;Z)Zx0x1access$000,(Lchatty/gui/components/ChannelInfoDialog;)Zaccess$100,(Lchatty/gui/components/ChannelInfoDialog;)VSourceFileChannelInfoDialog.java������javax/swing/JLabelStatus:�O��&chatty/gui/components/ExtendedTextPane������Playing:��javax/swing/JTextField��Viewers:��#chatty/gui/components/ViewerHistory��������Channel InfoPOjava/awt/GridBagLayoutQR��S�TU)chatty/gui/components/ChannelInfoDialog$1��VWXY6chatty/gui/components/ChannelInfoDialog$MyLinkListener�Z[\javax/swing/JScrollPane�]java/awt/Dimension�^_`a`bcd�java/awt/Insets�efghijklmnkompcjavax/swing/Timer)chatty/gui/components/ChannelInfoDialog$2�qrYs�t�java/lang/StringBuilderChannel Info: uvMwxyz (followed){x|z}z~xxN�zNo game���OStream started: ����OStream offlineOffline������*Last broadcast length (probably approx.):  (With PICNIC: )[No Stream Information]�O�x��������Online: �� (�����chatty/util/DateTime$FormattingFormatting��java/awt/GridBagConstraints��������Status (History):������'chatty/gui/components/ChannelInfoDialogjavax/swing/JDialog+chatty/gui/components/ViewerHistoryListenerchatty/util/api/StreamInfojava/lang/String(Ljava/lang/String;)VsetTitle	setLayout(Ljava/awt/LayoutManager;)Vanchoradd)(Ljava/awt/Component;Ljava/lang/Object;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VsetEditable(Z)VW(Lchatty/gui/components/ChannelInfoDialog;Lchatty/gui/components/ChannelInfoDialog$1;)VsetLinkListener(Lchatty/gui/LinkListener;)V(Ljava/awt/Component;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetMinimumSizeweightyDfill(IIII)VinsetsLjava/awt/Insets;setListener0(Lchatty/gui/components/ViewerHistoryListener;)V
getForeground()Ljava/awt/Color;setForegroundColor(Ljava/awt/Color;)V
getBackgroundsetBackgroundColorweightx#(ILjava/awt/event/ActionListener;)VsetRepeatsstartpackappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getDisplayName()Ljava/lang/String;getFollowed()ZtoStringisValid	getOnlinegetTitlegetGameisEmptygetTimeStarted()JsetTextchatty/util/DateTimeformatFullDatetimesetToolTipTextgetLastOnlineTimegetTimeStartedWithPicnic	getStreamgetHistory()Ljava/util/LinkedHashMap;setHistory.(Ljava/lang/String;Ljava/util/LinkedHashMap;)Vjava/lang/SystemcurrentTimeMillisduration:(JIII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;gridxgridy	gridwidthgridheightsetRange(J)VsetContextMenuListener!|}~������x���������������������������R *+�*�Y��*�Y�	�*�Y��*�Y
��*�Y��*�Y��*�Y��*�*�*�*�*�Y� �!*�"M,�#**�,�$*�"M,
�#*��%Y*�&�'**�,�$*��(*��)Y*�*�+�,Y*��-N-�.Y,F�/�0-�.Y-�/�1*�"M,�2,�3*-,�$*�"M,�#**�,�$*��4*�"M,�3**�,�$*�"M,�5Y�6�7,�#**�,�$*�*�8*�*��9�:*�*��;�<*��.Y,��/�=*��.Y�/�>*�"M,�3,�5Y�6�7,�?,�2**�,�$�@Yu0�AY*�B�C:�D�E*�F*�.Y��/�G���97 "(%5&@(M)X-^.d4k8q:|?�@�A�C�D�E�M�O�P�Q�R�S�UVWX[\%]._6`?aDbMeVfegkhtj|k�l�m�n�o�p�q�r�s�t�v}~����4 �� �������A���������*�HY�IJ�K+�L�K+�M�N��K�O�+�P�]+�Q�V*+�R�*+�S�*��T�	*U�*+�V�*��W*��HY�IX�K*��Y�K�O�Z��+�P��*[�*�*�*�\�W+�]��o+�V+�]�^M+�V+�_��:+�_+�]�^N*��HY�I`�K,�Ka�K-�Kb�K�O�Z�*��HY�I`�K,�K�O�Z�1*��Z�&*c�*�*�*��W*��Z*�*��d*�*��e*�+�f+�g�h*+�i*����"�+�9�A�I�S�Y�a�i����������������������	�#�&�1�7�=�D�L�T�_�j�y�~����*�(���]���������9	� ����������62�|��"���S+*�i�*+�j����
�������
�����*����*�i�_@*���h*��HY�Ik�K*��l�Km�K�l�Kb�K�O�W*��HY�IX�K*��Y�Ka�K�Y�Kb�K�O�Z�#*��HY�Ik�K*��l�K�O�W������M�������������	������3	�ne�o����	�����; e�o�����������6�p�q����������5�rY�s:�t�u�v�w�5Y�6�7���	����"�2��>5��5��5��5��5��	,�����n*�,�d*�-�e*�x�W�������*�����������V *�*��d*�*��e*��W������� �����I*�<h�h��y������������M*�+�z*�+�{�������������;*Z�����������/*���������/*���������")|A%p&?@PKʣG�9V{{.chatty/gui/components/ConnectionDialog$1.class���3)	 !this$0(Lchatty/gui/components/ConnectionDialog;<init>+(Lchatty/gui/components/ConnectionDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses*Lchatty/gui/components/ConnectionDialog$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileConnectionDialog.javaEnclosingMethod"	#	$%&'($(chatty/gui/components/ConnectionDialog$1javax/swing/AbstractAction&chatty/gui/components/ConnectionDialog(Lchatty/gui/MainGui;)V()Vaccess$000?(Lchatty/gui/components/ConnectionDialog;)Ljavax/swing/JButton;javax/swing/JButtondoClick 	4*+�*��*
C*����./
PKʣG�Rп$$.chatty/gui/components/ConnectionDialog$2.class���3%	 this$0(Lchatty/gui/components/ConnectionDialog;<init>+(Lchatty/gui/components/ConnectionDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses*Lchatty/gui/components/ConnectionDialog$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileConnectionDialog.javaEnclosingMethod!	"	#$(chatty/gui/components/ConnectionDialog$2java/lang/Objectjava/awt/event/ActionListener&chatty/gui/components/ConnectionDialog(Lchatty/gui/MainGui;)V()Vaccess$100 	4*+�*��M
@*���QR
PKʣG��<<,chatty/gui/components/ConnectionDialog.class���3*X�	X��Y����	X�Z	X���	X����	X��	X���	X��	X����	X�X�	X�	X�	X�X��"�X�����c����+����X���1�	Q�	Q�	Q�	X����9���?�333333����X���������X��������Q�	Q�	Q�	Q�	Q�	Q���InnerClassesSMALL_BUTTON_INSETSLjava/awt/Insets;
passwordLabelLjavax/swing/JLabel;namepasswordLjavax/swing/JTextField;connectLjavax/swing/JButton;cancel	favoriteschannelgetTokenrejoinOpenChannelsLjavax/swing/JCheckBox;passwordGcLjava/awt/GridBagConstraints;passwordLabelGccurrentUsernameLjava/lang/String;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis(Lchatty/gui/components/ConnectionDialog;ownerLchatty/gui/MainGui;gbc	nameLabelchannelLabelactionListenerLjava/awt/event/ActionListener;getChannelInput()Ljavax/swing/JTextField;getConnectButton()Ljavax/swing/JButton;getCancelButtongetGetTokenButtongetFavoritesButtongetUsername()Ljava/lang/String;getChannelgetPasswordsetUsername(Ljava/lang/String;)VusernamesetChannel()Z
StackMapTablesetAreChannelsOpen(Z)VareChannelsOpenZupdate((Ljava/lang/String;Ljava/lang/String;Z)VcurrentPasswordcurrentTokenusePasswordInsteadupdateChannels()V��makeGbc$(IIIII)Ljava/awt/GridBagConstraints;xIywhanchorconstraintsaccess$000?(Lchatty/gui/components/ConnectionDialog;)Ljavax/swing/JButton;x0access$100+(Lchatty/gui/components/ConnectionDialog;)V<clinit>SourceFileConnectionDialog.java��cdConnectp�javax/swing/JLabel
Access token:p�^_`_javax/swing/JPasswordFieldp�abjavax/swing/JButtonCanceledFavorites / Historyfdjavax/swing/JTextFieldgbConfigure login..hdjavax/swing/JCheckBoxRejoin open channelsij��klmlno��java/awt/GridBagLayoutp����	(chatty/gui/components/ConnectionDialog$1p�Account:
�java/awt/Insetsp]�\](chatty/gui/components/ConnectionDialog$2Channel:���� �!�	Password:"#$%�<none>Create login..java/awt/GridBagConstraints&�'�(�)���&chatty/gui/components/ConnectionDialogjavax/swing/JDialog&(Ljava/awt/Frame;Ljava/lang/String;Z)V(I)VsetResizable	setLayout(Ljava/awt/LayoutManager;)VsetEditablegetInputMap(I)Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke(II)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VsetMnemonic(IIII)VinsetsfillweightxD	setMargin(Ljava/awt/Insets;)VaddActionListener"(Ljava/awt/event/ActionListener;)Vchatty/gui/MainGuigetActionListener!()Ljava/awt/event/ActionListener;packgetTextsetText	isEnabledisSelectedsetEnabledremove(Ljava/awt/Component;)Vjava/lang/StringisEmptygridxgridy	gridwidthgridheight!XY
\]^_`_abcdedfdgbhdijklmlnopqr��*+�*�Y��*�Y	��*�Y��
*�Y��*�Y��*�Y��*�Y��*�Y��*�Y��**��**��*	� *�!*�"Y�#�$*�
�%*��&�'(�)*��*(�+Y*�,�-�Y.�N*-*
��/**�*��/*�L�0*�M,�1Y�2�3,�4,�5*��6�7**�,�/*��6�8*�M,�1Y��2�3**�,�/*��9Y*�:�;�Y<�:**
��/*�M,�4,�1Y�2�3**�,�/*�F�0*�M,�1Y�2�3,�4*��6�7**�,�/*�E�0*
�M,�4,=�5**�,�/*�M,�4*�C�0**�,�/+�?:*��@*��@*��@*��A*��@*�B�s�>#"/<IVcp}�� �$�%�'�)�*�6�7�8	?@A-B2C7DAEJHTI_JoKxM�V�W�Y�Z�[�\�`�a�b�c�d�eijk"l)m2n>oCpLqUu[vdwmxvyz�|�}t>�uv�wxpyl��z_��{_[2|}~r/*��s�tuv��r/*��s�tuv��r/*��s�tuv��r/*��s�tuv��r/*��s�tuv��r2*��C�s�tuv��r2*��D�s�tuv��r2*�
�D�s�tuv��rJ*�+�E*+� �s��
�tuv�o��rA	*�+�F�s��t	uv	goi�rO*��G�*��H���s�tuv�@��rI
*��I*��s���t
uv
����r��7*�
�%*�J�E*�
+�F**�
*��/**�*��/�M**�
�K**��K*� �L�,�L�*�M�E*�N�O�*�*� �E*��O*�B�s>�����)�8�@�H�Y�b�n�y�����t*�uv��o��o����8 ��rm!*�*��G�
*��H���P�s� �t!uv�X�C������r�<�QY�R:�S�T�U�V�1Y�2�3�W�s"�	����"�2�9�tH<uv<��<��<��<��<��	3�l��r/*��st�v��r/*��st�v��r)�1Y�2�6�s��[9+PKʣGx)�YY'chatty/gui/components/DebugWindow.class���3E����	D��	D��D�� � ��
�	D�
�
���	D�����������D��D��D��$�D�D�
����*��*�����*����
�D��6�����D��������������	������MAX_NUMBER_LINESI
ConstantValue�autoscrollLjavax/swing/JCheckBox;logIrctextLjavax/swing/JTextArea;textIrcLog<init> (Ljava/awt/event/ItemListener;)VCodeLineNumberTableLocalVariableTablethis#Lchatty/gui/components/DebugWindow;listenerLjava/awt/event/ItemListener;caretLjavax/swing/text/DefaultCaret;scrollLjavax/swing/JScrollPane;scrollIrcLogtabsLjavax/swing/JTabbedPane;
settingsPanelLjavax/swing/JPanel;	printLine(Ljava/lang/String;)VlineLjava/lang/String;printLineIrc,(Ljavax/swing/JTextArea;Ljava/lang/String;)VdocLjavax/swing/text/Document;e'Ljavax/swing/text/BadLocationException;
StackMapTable�����
clearSomeChat(Ljavax/swing/text/Document;)VcountremoveFirstLines(Ljavax/swing/text/Document;I)Vexamount
firstToRemoveLjavax/swing/text/Element;lastToRemovestartOffset	endOffset�getLogIrcCheckBox()Ljavax/swing/JCheckBox;SourceFileDebugWindow.javaP�javax/swing/JCheckBoxAutoscrollP�JKIrc logLKDebug�cjavax/swing/text/DefaultCaret��javax/swing/JTextAreaMN����javax/swing/JScrollPaneP�ONjavax/swing/JTabbedPaneLog��*Logging IRC traffic can reduce performance�cjavax/swing/JPanel��Center��South���Q��java/awt/DimensionP���bg�����java/lang/StringBuilder[�����] ��������rs%javax/swing/text/BadLocationException�������uv��������.chatty/gui/components/textpane/ChannelTextPane�������!chatty/gui/components/DebugWindowjavax/swing/JFramejavax/swing/text/Documentjava/lang/Stringjavax/swing/text/Element()V(Ljava/lang/String;Z)VsetTitlesetUpdatePolicy(I)VsetCaret(Ljavax/swing/text/Caret;)VsetEditable(Z)V(Ljava/awt/Component;)VaddTab)(Ljava/lang/String;Ljava/awt/Component;)VsetToolTipTextadd*(Ljava/awt/Component;)Ljava/awt/Component;)(Ljava/awt/Component;Ljava/lang/Object;)VpackaddItemListenersetDefaultCloseOperation(II)VsetSize(Ljava/awt/Dimension;)VgetDocument()Ljavax/swing/text/Document;	getLength()Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/util/DateTimecurrentTime()Ljava/lang/String;toStringinsertString5(ILjava/lang/String;Ljavax/swing/text/AttributeSet;)VisSelected()ZsetCaretPositionprintStackTracegetDefaultRootElement()Ljavax/swing/text/Element;getElementCountgetElement(I)Ljavax/swing/text/Element;getStartOffsetgetEndOffsetremovejava/lang/ClassgetNamejava/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V!DEFGHIJKLKMNONPQR�*�*�Y��*�Y��*�	�Y�M,�*�
Y��*�,�*���Y*��N�Y�M,�*�
Y��*��*�,��Y*��:�Y�:-��*���Y�:*��W*��W*�* �*�!*�+�"*�#*�$YX�%�&�Sz &".#3&>'F(N)Z,b-g0r1z2�3�6�7�8�;�<�=�>�A�B�D�F�G�HITHUVWX.�YZZ�[\�s]\�j^_�G`abcRB**�+�'�SL	MTUVdefcRB**�+�'�SP	QTUVdebgR�W+�(N--�)�*Y�+,�-�.�-/�-,�-0�-�1�2*��3�
+-�)�4*-�5�N-�7�NQ6S&	UV5W?XIZN]Q[R\V^T4IhiRjkWUVWMNWdel�Im�nopqrsRq+�8�9=��*+�:�SghikT UVhitGl�uvRW�=+�8�;N+�8d�;:-�<6�=6+�>�:?�@�A�B�C�5?B6S.tuwx$y,z5|?B}D~V�TRDwkWUVWhiWxGCyz$3{z,+|G5"}Gl�:nm~~q�R/*��S�TUV��PKʣG���QOO*chatty/gui/components/EmotesDialog$1.class���3%	this$0$Lchatty/gui/components/EmotesDialog;<init>'(Lchatty/gui/components/EmotesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/EmotesDialog$1;iconLoaded()VSourceFileEmotesDialog.javaEnclosingMethod!	"	#$chatty/gui/components/EmotesDialog$1java/lang/Object$%chatty/util/api/Emoticon$EmoticonUserEmoticonUser"chatty/gui/components/EmotesDialogt(Ljava/awt/Window;Lchatty/util/api/Emoticons;Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)Vrepaintchatty/util/api/Emoticon 	4*+�*��d
6*���ij
 	PKʣG�fBr��*chatty/gui/components/EmotesDialog$2.class���3=	$	%"&'()*+",-./this$0$Lchatty/gui/components/EmotesDialog;<init>'(Lchatty/gui/components/EmotesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/EmotesDialog$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;emotesPanelEmotesPanel0Lchatty/gui/components/EmotesDialog$EmotesPanel;
StackMapTable+SourceFileEmotesDialog.javaEnclosingMethod0
1
23456789:.chatty/gui/components/EmotesDialog$EmotesPanel;<$chatty/gui/components/EmotesDialog$2java/lang/Objectjava/awt/event/ActionListener"chatty/gui/components/EmotesDialogt(Ljava/awt/Window;Lchatty/util/api/Emoticons;Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$0005(Lchatty/gui/components/EmotesDialog;)Ljava/util/Map;java/awt/event/ActionEvent	getSource()Ljava/lang/Object;
java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;access$100W(Lchatty/gui/components/EmotesDialog;Lchatty/gui/components/EmotesDialog$EmotesPanel;)V 	
4*+�*���y!*��+���M,�*�,����� � !!
�  !"#"PKʣGU2�~��*chatty/gui/components/EmotesDialog$3.class���3S	
*	
+,-./0(1/2345678(9:;val$mainLchatty/gui/MainGui;this$0$Lchatty/gui/components/EmotesDialog;<init>;(Lchatty/gui/components/EmotesDialog;Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/EmotesDialog$3;mouseClicked(Ljava/awt/event/MouseEvent;)VlabelLjavax/swing/JLabel;eLjava/awt/event/MouseEvent;
StackMapTablemousePressed
mouseReleasedSourceFileEmotesDialog.javaEnclosingMethod<=>?@ABCDEFGHjavax/swing/JLabelIJKLMNOPQR$chatty/gui/components/EmotesDialog$3java/awt/event/MouseAdapter"chatty/gui/components/EmotesDialogt(Ljava/awt/Window;Lchatty/util/api/Emoticons;Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)V()Vjavax/swing/SwingUtilitiesisLeftMouseButton(Ljava/awt/event/MouseEvent;)Zjava/awt/event/MouseEvent
getClickCount()IsetVisible(Z)V	getSource()Ljava/lang/Object;getToolTipText()Ljava/lang/String;chatty/util/api/EmoticonstoWriteable&(Ljava/lang/String;)Ljava/lang/String;chatty/gui/MainGuiinsert(Ljava/lang/String;Z)Vaccess$300B(Lchatty/gui/components/EmotesDialog;Ljava/awt/event/MouseEvent;)V 
9*+�*,�*����2+��-+��*���+��M*�,�	�������"�1� "22 !"#A	*�+����		 !$A	*�+����		 !%&'()
PKʣG[QQ;chatty/gui/components/EmotesDialog$ChannelEmotesPanel.class���3�	!>"?!@ABC!DAEFGHIJ KL M NO!PQ!RFSFTUVHW XY!Z![A\]^H_`!abcthis$0$Lchatty/gui/components/EmotesDialog;<init>:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisChannelEmotesPanelInnerClasses7Lchatty/gui/components/EmotesDialog$ChannelEmotesPanel;nameLjava/lang/String;updateOnIupdateEmotes()V	subEmotesLjava/util/Set;
channelEmotesemotesetLocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;
StackMapTableeSourceFileEmotesDialog.java#$%&f3ghiNo Channel.jklmnopeqrjava/lang/StringBuilder%3No emotes found for #stuvNo FFZ or BTTV emotes found.wxEmotes specific to #yz{|o}Subscriber emotes of  (~s�)�����������%(Need to be subscribed to use these.)�35chatty/gui/components/EmotesDialog$ChannelEmotesPanel.chatty/gui/components/EmotesDialog$EmotesPanelEmotesPanel
java/util/Setreset"chatty/gui/components/EmotesDialogaccess$16008(Lchatty/gui/components/EmotesDialog;)Ljava/lang/String;addTitle(Ljava/lang/String;)Vaccess$500A(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticons;chatty/util/api/EmoticonsgetEmoticons'(Ljava/lang/String;)Ljava/util/HashSet;isEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;addSubtitle(Ljava/lang/String;Z)V	addEmotes+(Ljava/util/Collection;Ljava/lang/String;)VgetEmotesetFromStream(Ljava/lang/String;)I(I)Ljava/util/HashSet;size()I(I)Ljava/lang/StringBuilder;sortEmotes.(Ljava/util/Collection;)Ljava/util/Collection;addEmotesPanel(Ljava/util/Collection;)Vaccess$15005(Lchatty/gui/components/EmotesDialog;)Ljava/util/Set;java/lang/IntegervalueOf(I)Ljava/lang/Integer;contains(Ljava/lang/Object;)Zrelayout !"#$%&'S
*+�*+,��(���) 
*-
./
0123'��*�*���*���*��*���L+�	�**�Y��
*���
��*��!*+�Y��
*���
��*��*���=�k*���N-�	�V*�Y��
*���
�
-���
��**-��*�����*�*� �(J����)�2�O�Y�w�������������������)*�\45)�65�m71�*-8�\49)�69:
�A;�~<=,!A+"AdPKʣG�%� ��.chatty/gui/components/EmotesDialog$Emote.class���3Z-./0123	456	278	9:;<>?BORDERLjavax/swing/border/Border;emote@
EmoticonImageInnerClasses(Lchatty/util/api/Emoticon$EmoticonImage;<init>AEmoticonUserc(Lchatty/util/api/Emoticon;Ljava/awt/event/MouseListener;FLchatty/util/api/Emoticon$EmoticonUser;)VCodeLineNumberTableLocalVariableTablethisEmote*Lchatty/gui/components/EmotesDialog$Emote;Lchatty/util/api/Emoticon;
mouseListenerLjava/awt/event/MouseListener;scaleF	emoteUser'Lchatty/util/api/Emoticon$EmoticonUser;emoteImage<clinit>()VSourceFileEmotesDialog.java*BCDEFGHIJKLMNOPQRSTUVWXY(chatty/gui/components/EmotesDialog$Emotejavax/swing/JLabel&chatty/util/api/Emoticon$EmoticonImage%chatty/util/api/Emoticon$EmoticonUserjava/awt/CursorgetPredefinedCursor(I)Ljava/awt/Cursor;	setCursor(Ljava/awt/Cursor;)VaddMouseListener!(Ljava/awt/event/MouseListener;)Vchatty/util/api/EmoticongetIconS(FILchatty/util/api/Emoticon$EmoticonUser;)Lchatty/util/api/Emoticon$EmoticonImage;getImageIcon()Ljavax/swing/ImageIcon;setIcon(Ljavax/swing/Icon;)VcodeLjava/lang/String;setToolTipText(Ljava/lang/String;)V	setBorder(Ljavax/swing/border/Border;)Vjavax/swing/BorderFactorycreateEmptyBorder!(IIII)Ljavax/swing/border/Border;"chatty/gui/components/EmotesDialog �;*�*��*,�+%�:*�*��*+�	�*���&	��
���"�+�3�:�>; ;!;"#;$%;&'()*#�
���+,22	=PKʣG^��9chatty/gui/components/EmotesDialog$EmoteDetailPanel.class���3
	OzP{|}	O~O���}��	���O���	��}����}��O�����?���	�	��O��	����	�����	������������������������	���	�����	���	�	�O���F�O������J����lgbcLjava/awt/GridBagConstraints;this$0$Lchatty/gui/components/EmotesDialog;<init>:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisEmoteDetailPanelInnerClasses5Lchatty/gui/components/EmotesDialog$EmoteDetailPanel;nameLjava/lang/String;updateOnIupdateEmotes()VemoteSetInfoemoteLchatty/util/api/Emoticon;panelLjavax/swing/JPanel;panel2
StackMapTable����addScaledEmoteD(Lchatty/util/api/Emoticon;Ljavax/swing/JPanel;FLjava/lang/String;)VscaleFlabeladdInfo;(Ljavax/swing/JPanel;Ljava/lang/String;Ljava/lang/String;)VkeyvalueSourceFileEmotesDialog.javaSTUVjava/awt/GridBagConstraintsUcQR�c���java/lang/StringBuilderEmote Details: ����_����java/awt/InsetsU���javax/swing/JPaneljava/awt/ColorU���java/awt/GridBagLayout��100%op��150%200%�a�aCode:tuType:����a	Emote ID:���a������ (Turbo)Twitch Emoteset:�������Channel:Usability:��LocalGlobalRegular Size: x���_	Emote by:�_Info:���a���ajavax/swing/JLabel�<html><body style='width:200px;text-align:center;color:#888888'>Right-click on emotes here or in chat to open context-menu with info/options.U�c(chatty/gui/components/EmotesDialog$EmoteEmoteU3chatty/gui/components/EmotesDialog$EmoteDetailPanel.chatty/gui/components/EmotesDialog$EmotesPanelEmotesPanelchatty/util/api/Emoticonjava/lang/Stringreset"chatty/gui/components/EmotesDialogaccess$1700@(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticon;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;codetoString()Ljava/lang/String;addTitle(Ljava/lang/String;)V(IIII)VinsetsLjava/awt/Insets;(III)V
setBackground(Ljava/awt/Color;)V	setLayout(Ljava/awt/LayoutManager;)VgetWidth()IgridygridxtypeTypeLchatty/util/api/Emoticon$Type;chatty/util/api/Emoticon$Type	numericId(I)Ljava/lang/StringBuilder;emoteSetvalueOf(I)Ljava/lang/String;chatty/util/api/EmoticonsisTurboEmoteset(I)ZhasStreamSet()Z	getStream
chatty/HelpervalidateStream(Ljava/lang/String;)ZhasStreamRestrictions	getHeightcreatorinfoaccess$400C(Lchatty/gui/components/EmotesDialog;)Ljava/awt/GridBagConstraints;fillaccess$1300()Ljava/awt/Insets;anchorweightxDadd)(Ljava/awt/Component;Ljava/lang/Object;)Vrelayoutaccess$1000C(Lchatty/gui/components/EmotesDialog;)Ljava/awt/event/MouseAdapter;access$1200EmoticonUserM(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticon$EmoticonUser;c(Lchatty/util/api/Emoticon;Ljava/awt/event/MouseListener;FLchatty/util/api/Emoticon$EmoticonUser;)V%chatty/util/api/Emoticon$EmoticonUser OPQRSTUVWb*+�*+,�*�Y���XY Z]^_`abcW�N*�*��L*�Y�	�+���
�*��Y���Y�M,�Y�����,�Y��*+,�+�h�`*���
*+,�*+,
 ��Y�N-�Y��*��!*��"*��Y��*-#+��$*-%+�&�'�$+�(� *-)�Y�	*�+�(�+�
�$+�,�5+�,�-:+�,�.��Y�	�/��
:*-0�$+�1�+�2�3�*-4+�2�$*-5+�6�7�8�$*-9�Y�	+��+:�+�;�+�
�$+�<�*-=+�<�$+�>�*-?+�>�$*��@�A*��@�B�*��@�C*��@�D*,*��@�E*��@Y�!`�!*-*��@�E*��@Y�!`�!*��@�A*��@�C*�FYG�H*��@�E*�I�X�.	
&:BVaj~��!�"�#�$�%�'�(�)�*,-./51>3O4Z6o7�8�9�;�<�?�@�A�B�C�DEFG)H5IILMMY4)d_NZ]BefBgh��ihjX	��kl�{l�0m��nkllnlm�nkllnlmm8opW�W*��C*��!,�JY+*��K%*��L�M*��N*��!,�FY�H*��N*�Y�"`�"�XP	QR0T8UIWVXY4WZ]WefWghWqrWs_tuW�P*��"*��C+�FY,�H*��N*��"*�
�C+�FY-�H*��N*�Y�!`�!�X"[\]!_)`2aBcOdY*PZ]PghPv_Pw_xy\*O�[J��P�����@�		PKʣG*I��4chatty/gui/components/EmotesDialog$EmotesPanel.class���3>	L�	L���/�	L�	L�L�L���	�������������������������L�L�� �	1��� �	����	��	��	��L�	1� ������/��1�/��4�/�L�����/���������������?�/��������L�L�L��shouldUpdateZlabelLjava/lang/String;updateOnIthis$0$Lchatty/gui/components/EmotesDialog;<init>:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisEmotesPanelInnerClasses0Lchatty/gui/components/EmotesDialog$EmotesPanel;namesetUpdated(I)Vreason
StackMapTable()VupdateupdateEmotesreset	addEmotesemotesetstreamemotesLjava/util/Set;sortedLjava/util/List;LocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;,Ljava/util/List<Lchatty/util/api/Emoticon;>;�addTitle(Ljava/lang/String;)VtitletitleLabelLjavax/swing/JLabel;addSubtitle(Ljava/lang/String;Z)VsmallMargin����addEmotesPanel(Ljava/util/Collection;)VemoteLchatty/util/api/Emoticon;i$Ljava/util/Iterator;Ljava/util/Collection;panelLjavax/swing/JPanel;2Ljava/util/Collection<Lchatty/util/api/Emoticon;>;��	Signature5(Ljava/util/Collection<Lchatty/util/api/Emoticon;>;)V+(Ljava/util/Collection;Ljava/lang/String;)VG(Ljava/util/Collection<Lchatty/util/api/Emoticon;>;Ljava/lang/String;)VsortEmotes.(Ljava/util/Collection;)Ljava/util/Collection;f(Ljava/util/Collection<Lchatty/util/api/Emoticon;>;)Ljava/util/Collection<Lchatty/util/api/Emoticon;>;relayoutaccess$200D(Lchatty/gui/components/EmotesDialog$EmotesPanel;)Ljava/lang/String;x0SourceFileEmotesDialog.javaOPSTjava/awt/GridBagLayoutUcU�QRMNec�c�����R�����-��java/util/ArrayListU:chatty/gui/components/EmotesDialog$SortEmotesByTypeAndNameSortEmotesByTypeAndNameU����java/lang/StringBuilder [] ( emotes)rs~javax/swing/JLabelUs	
RR	javax/swing/JPaneljava/awt/ColorU chatty/gui/components/WrapLayout �!"#$%&'()�*+,-chatty/util/api/Emoticon(chatty/gui/components/EmotesDialog$EmoteEmote./0125U6789+ (��:c;c.chatty/gui/components/EmotesDialog$EmotesPaneljava/lang/Stringjava/awt/GridBagConstraintsjava/awt/Insetsjava/util/Iterator(Ljava/awt/LayoutManager;)V	removeAll"chatty/gui/components/EmotesDialogaccess$400C(Lchatty/gui/components/EmotesDialog;)Ljava/awt/GridBagConstraints;gridyaccess$500A(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticons;chatty/util/api/EmoticonsgetStreamFromEmoteset(I)Ljava/lang/String;getEmoticons(I)Ljava/util/HashSet;<)(Lchatty/gui/components/EmotesDialog$1;)Vjava/util/Collectionssort)(Ljava/util/List;Ljava/util/Comparator;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;
java/util/Setsize()ItoString()Ljava/lang/String;BLACKLjava/awt/Color;javax/swing/BorderFactorycreateMatteBorder6(IIIILjava/awt/Color;)Ljavax/swing/border/MatteBorder;	setBorder(Ljavax/swing/border/Border;)Vfillaccess$700()Ljava/awt/Insets;insetsLjava/awt/Insets;anchorweightxDadd)(Ljava/awt/Component;Ljava/lang/Object;)VGRAY
setForeground(Ljava/awt/Color;)Vaccess$800access$900(III)V
setBackground	setLayout	getParent()Ljava/awt/Container;java/awt/ContainergetWidthsetSize(II)Vjava/util/Collectioniterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;access$1000C(Lchatty/gui/components/EmotesDialog;)Ljava/awt/event/MouseAdapter;access$1100'(Lchatty/gui/components/EmotesDialog;)Faccess$1200=EmoticonUserM(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticon$EmoticonUser;c(Lchatty/util/api/Emoticon;Ljava/awt/event/MouseListener;FLchatty/util/api/Emoticon$EmoticonUser;)V*(Ljava/awt/Component;)Ljava/awt/Component;access$1300isEmptyrevalidaterepaint$chatty/gui/components/EmotesDialog$1%chatty/util/api/Emoticon$EmoticonUser L/MNOPQRSTUVWi*+�*�Y��*,�*��X�����Y Z]^PQR_`WU*�~�*��X���YZ]aRb_cW4*��X��YZ]dcWP*��*�*��X����YZ]becfcWB*�	*����X���YZ]g`Wk*���
M,�M*���N�Y-�:�Y��*�Y�,����-�����*��X&	���)6djY4kZ]khR_iPLjk)BlmnLjo)Blpb�qrsW�c� Y+�!M,�"�#�$*���%*���&�'*���(*���)*,*���**��Y�`��X&		"/;FRbY cZ]ctP	ZuvwxWf� Y+�!N-�+�,*���%*���)*���	�-��.�'*���(*-*���**��Y�`��X&	!	"#$&%=&I'U(e)Y*fZ]ftPfyN	]uvb-�7zq{|�zq{|}~W�ʻ/Y�0M,�1Y����2�3,�4Y�5�6,*�7�8�9d�:+�;N-�<�8-�=�>:�?Y*��@*��A*��B�C:,�DW���*���%*���E�'*���(*���)*,*���**��Y�`��X>123'<9>T?t@{A~B�C�D�E�F�G�HY>tOvT'��@>���Z]�j����n�j�b�@���=��g�W�8+�F�1*�Y�,�G�+�H����**+�I��XK	L.M7OY 8Z]8j�8tPn8j�b7����Wy�Y+�M,�Y��,�XS	TUY Z]j�	lmnj�	lp���cW;	*�J*�K�X\]^Y	Z]��W/*��X�Y�]��\*L�[��?���3>4	PKʣG1����7chatty/gui/components/EmotesDialog$FavoritesPanel.class���3�	 E!F GHIJKLMN OJPQ RSTUWXYZ[\]^]_`	aHbcdLe[f[g h[Mi jklthis$0$Lchatty/gui/components/EmotesDialog;<init>:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisFavoritesPanelInnerClasses3Lchatty/gui/components/EmotesDialog$FavoritesPanel;nameLjava/lang/String;updateOnIupdateEmotes()VemoteLchatty/util/api/Emoticon;i$Ljava/util/Iterator;emotesLjava/util/Set;sortedLjava/util/List;subEmotesNotSubbedToLocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;,Ljava/util/List<Lchatty/util/api/Emoticon;>;
StackMapTablenopSourceFileEmotesDialog.java"#$%q2rstuvwnxy%You haven't added any favorite emotesz{|}&(Emotes may not have been loaded yet.)~java/util/ArrayList$�7chatty/gui/components/EmotesDialog$SortEmotesByEmotesetSortEmotesByEmoteset$����$2o��p�y��chatty/util/api/Emoticon�0�������������*You need to subscribe to use these emotes:�21chatty/gui/components/EmotesDialog$FavoritesPanel.chatty/gui/components/EmotesDialog$EmotesPanelEmotesPanel
java/util/Setjava/util/Listjava/util/Iteratorreset"chatty/gui/components/EmotesDialogaccess$500A(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticons;chatty/util/api/EmoticonsgetFavorites()Ljava/util/Set;isEmpty()ZaddTitle(Ljava/lang/String;)VgetNumNotFoundFavorites()IaddSubtitle(Ljava/lang/String;Z)V(Ljava/util/Collection;)V�)(Lchatty/gui/components/EmotesDialog$1;)Vjava/util/Collectionssort)(Ljava/util/List;Ljava/util/Comparator;)Viterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;emoteSetaccess$15005(Lchatty/gui/components/EmotesDialog;)Ljava/util/Set;java/lang/IntegervalueOf(I)Ljava/lang/Integer;contains(Ljava/lang/Object;)Zadd	removeAll(Ljava/util/Collection;)ZaddEmotesPanelrelayout$chatty/gui/components/EmotesDialog$1  !"#$%&S
*+�*+,��'def( 
),
-.
/012&��*�*���L+��*�*���	�*��Y+�
M,�Y���Y�N,�:��;��:��#*������-�W���,-�W*,�-��*�*-�*��'Rjklmn+o2t;uGxOymz�{�}�~������������(>m)34WB56�),�78;�9:Op;:< �7=;�9>Op;>?�2@�$AAB>� CD+" H*HV!Hm�PKʣGg��		9chatty/gui/components/EmotesDialog$OtherEmotesPanel.class���3{	<=>?@AB	CDAEFGHIJKJLM	
N	OPHQ	CRSTUVWXYthis$0$Lchatty/gui/components/EmotesDialog;<init>:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisOtherEmotesPanelInnerClasses5Lchatty/gui/components/EmotesDialog$OtherEmotesPanel;nameLjava/lang/String;updateOnIupdateEmotes()VemoteLchatty/util/api/Emoticon;i$Ljava/util/Iterator;ffzLjava/util/Set;ffzRegularffzFeaturedbttvLocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;
StackMapTableX[\MSourceFileEmotesDialog.java])^_`abcdfghijava/util/HashSet)[jk\lmnochatty/util/api/EmoticonprstruvwgGlobal FFZ Emotesxy"Global FFZ Emotes [Feature Friday]Global BTTV Emotesz)3chatty/gui/components/EmotesDialog$OtherEmotesPanel.chatty/gui/components/EmotesDialog$EmotesPanelEmotesPanel
java/util/Setjava/util/Iteratorreset"chatty/gui/components/EmotesDialogaccess$500A(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticons;chatty/util/api/EmoticonsgetOtherGlobalEmotes()Ljava/util/Set;chatty/util/api/Emoticon$TypeTypeFFZLchatty/util/api/Emoticon$Type;filterByType?(Ljava/util/Set;Lchatty/util/api/Emoticon$Type;)Ljava/util/Set;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;subTypeSubType"Lchatty/util/api/Emoticon$SubType; chatty/util/api/Emoticon$SubTypeFEATURE_FRIDAYadd(Ljava/lang/Object;)ZBTTV	addEmotes+(Ljava/util/Collection;Ljava/lang/String;)Vrelayout S
*+�*+,����� 
 #
$%
&'()��*�*�����L�Y�	M�Y�	N+�:��2��
:���-�W�,�W���*�����:*,�*-�*�*��>����%�C�N�Z�c�f�x��������HC *+-9,-� #~./v0/%n1/x2/3*~.4v04%n14x245$�-67778�,9��:;""?!?ZC
e@O
q@PKʣG_�J٪�=chatty/gui/components/EmotesDialog$SortEmotesByEmoteset.class���3/##	$%&()*<init>()VCodeLineNumberTableLocalVariableTablethisSortEmotesByEmotesetInnerClasses9Lchatty/gui/components/EmotesDialog$SortEmotesByEmoteset;compare7(Lchatty/util/api/Emoticon;Lchatty/util/api/Emoticon;)Io1Lchatty/util/api/Emoticon;o2'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x1+)(Lchatty/gui/components/EmotesDialog$1;)V&Lchatty/gui/components/EmotesDialog$1;	SignatureDLjava/lang/Object;Ljava/util/Comparator<Lchatty/util/api/Emoticon;>;SourceFileEmotesDialog.java	,-chatty/util/api/Emoticon.7chatty/gui/components/EmotesDialog$SortEmotesByEmotesetjava/lang/Objectjava/util/Comparator$chatty/gui/components/EmotesDialog$1emoteSetI"chatty/gui/components/EmotesDialog 	/*���
H+�,�d��
 AK
*+�,����
 


	9*���
 !"'PKʣGmQӘ��@chatty/gui/components/EmotesDialog$SortEmotesByTypeAndName.class���3C	) )	*+,	-./0	1345<init>()VCodeLineNumberTableLocalVariableTablethisSortEmotesByTypeAndNameInnerClasses<Lchatty/gui/components/EmotesDialog$SortEmotesByTypeAndName;compare7(Lchatty/util/api/Emoticon;Lchatty/util/api/Emoticon;)Io1Lchatty/util/api/Emoticon;o2compareTypeI
StackMapTable'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x16)(Lchatty/gui/components/EmotesDialog$1;)V&Lchatty/gui/components/EmotesDialog$1;	SignatureDLjava/lang/Object;Ljava/util/Comparator<Lchatty/util/api/Emoticon;>;SourceFileEmotesDialog.java
79:;<=>?@Achatty/util/api/EmoticonB:chatty/gui/components/EmotesDialog$SortEmotesByTypeAndNamejava/lang/Objectjava/util/Comparator$chatty/gui/components/EmotesDialog$1typeTypeLchatty/util/api/Emoticon$Type;chatty/util/api/Emoticon$Type	compareTo(Ljava/lang/Enum;)IcodeLjava/lang/String;java/lang/StringcompareToIgnoreCase(Ljava/lang/String;)I"chatty/gui/components/EmotesDialog 	
/*���~+�,��>�+�,��������*�AK
*+�,���� 


 #9*���$%&'(	2!+8@PKʣG�����7chatty/gui/components/EmotesDialog$SubemotesPanel.class���3{	;<=>?@A@B@CDEF	G	HIJ>KLMNO@CDP	QRS@TUVWXthis$0$Lchatty/gui/components/EmotesDialog;<init>:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisSubemotesPanelInnerClasses3Lchatty/gui/components/EmotesDialog$SubemotesPanel;nameLjava/lang/String;updateOnIupdateEmotes()VemotesetLjava/lang/Integer;i$Ljava/util/Iterator;turboEmotesLjava/util/Set;LocalVariableTypeTable$Ljava/util/Set<Ljava/lang/Integer;>;
StackMapTableZ[FSourceFileEmotesDialog.java\,]^_Z`abcde[fgjava/lang/Integerhijk.You don't seem to have any sub or turbo emoteslmno0(Must join a channel for them to be recognized.)pqjava/util/HashSet,rasctuvwkxyz,1chatty/gui/components/EmotesDialog$SubemotesPanel.chatty/gui/components/EmotesDialog$EmotesPanelEmotesPanel
java/util/Setjava/util/Iteratorreset"chatty/gui/components/EmotesDialogaccess$15005(Lchatty/gui/components/EmotesDialog;)Ljava/util/Set;isEmpty()Zsize()Iiterator()Ljava/util/Iterator;next()Ljava/lang/Object;valueOf(I)Ljava/lang/Integer;equals(Ljava/lang/Object;)ZaddTitle(Ljava/lang/String;)Vaccess$16008(Lchatty/gui/components/EmotesDialog;)Ljava/lang/String;addSubtitle(Ljava/lang/String;Z)VhasNextintValuechatty/util/api/EmoticonsisTurboEmoteset(I)Zadd	addEmotes(I)Vrelayout  S
*+�*+,��!���" 
#&
'(
)*+, ��*�*����1*����8*�����	���*�
*���*��Y�L*���M,��4,��	N-���+-�W�-��*-�����+�M,��,��	N*-�����*��!F��A�G�Q�X�`���������������������">�$-.m:/0�-.�/0�#&`q123`q145$�A�67�'8���7�9:%>$>YPKʣG���0��:chatty/gui/components/EmotesDialog$TwitchEmotesPanel.class���39		" #	$%&'()	*	+,-this$0$Lchatty/gui/components/EmotesDialog;<init>:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisTwitchEmotesPanelInnerClasses6Lchatty/gui/components/EmotesDialog$TwitchEmotesPanel;nameLjava/lang/String;updateOnIupdateEmotes()VemotesLjava/util/Set;LocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;SourceFileEmotesDialog.java
/012345Global Twitch Emotes6784chatty/gui/components/EmotesDialog$TwitchEmotesPanel.chatty/gui/components/EmotesDialog$EmotesPanelEmotesPanelreset"chatty/gui/components/EmotesDialogaccess$500A(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticons;chatty/util/api/EmoticonsgetGlobalTwitchEmotes()Ljava/util/Set;	addEmotes+(Ljava/util/Collection;Ljava/lang/String;)Vrelayout 	
S
*+�*+,����� 


q*�*���L*+�*������� !	%%.PKʣG�Ь	4	4(chatty/gui/components/EmotesDialog.class���3?	�O	�P	�Q	�R	�S	�T	�U	�V	�W	�X	�Y	�Z�[�\	�]�^	�_	�`	�abc	�dec	�fgchcij�k�l	�m�nop$qrstu(qvw+qxy.qz{1qr|}	�~7j�9c�;cr������5�@���9�	��@�;�@������Kq�N�	��	��;�;���;���Wc	W�	W������������`c	W�	W��d�d��������	j��l��������������������������5�����5�5�@Y�����c���������5��������@�@������EmoteDetailPanelInnerClassesOtherEmotesPanelTwitchEmotesPanelChannelEmotesPanelSubemotesPanelFavoritesPanelEmotesPanel�SortEmotesByTypeAndName�SortEmotesByEmotesetEmoteUPDATE_EMOTESET_CHANGEDI
ConstantValueUPDATE_CHANNEL_CHANGEDUPDATE_FAVORITESTITLE_INSETSLjava/awt/Insets;SUBTITLE_INSETSSUBTITLE_INSETS_SMALLER_MARGINEMOTE_INSETSFAVORITE_EMOTESLjava/lang/String;	MY_EMOTESCHANNEL_EMOTES
TWITCH_EMOTESOTHER_EMOTES
EMOTE_DETAILSemotesPanelLjavax/swing/JPanel;emoteManagerLchatty/util/api/Emoticons;	emoteUser�EmoticonUser'Lchatty/util/api/Emoticon$EmoticonUser;cardLayoutLjava/awt/CardLayout;
mouseListenerLjava/awt/event/MouseAdapter;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;panelsLjava/util/List;	SignatureBLjava/util/List<Lchatty/gui/components/EmotesDialog$EmotesPanel;>;buttonsLjava/util/Map;\Ljava/util/Map<Ljavax/swing/JToggleButton;Lchatty/gui/components/EmotesDialog$EmotesPanel;>;defaultPanel0Lchatty/gui/components/EmotesDialog$EmotesPanel;gbcLjava/awt/GridBagConstraints;	emotesetsLjava/util/Set;$Ljava/util/Set<Ljava/lang/Integer;>;streamdetailsEmoteLchatty/util/api/Emoticon;repaintZscaleF<init>t(Ljava/awt/Window;Lchatty/util/api/Emoticons;Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablebuttonLjavax/swing/JToggleButton;pi$Ljava/util/Iterator;panelthis$Lchatty/gui/components/EmotesDialog;ownerLjava/awt/Window;emotesmainLchatty/gui/MainGui;buttonActionLjava/awt/event/ActionListener;buttonGroupLjavax/swing/ButtonGroup;buttonPanel
StackMapTable���������	wrapPanel2(Ljavax/swing/JComponent;)Ljavax/swing/JComponent;Ljavax/swing/JComponent;outergbcTestscrollLjavax/swing/JScrollPane;openContextMenu(Ljava/awt/event/MouseEvent;)Vemote�
EmoticonImage(Lchatty/util/api/Emoticon$EmoticonImage;mLjavax/swing/JPopupMenu;eLjava/awt/event/MouseEvent;showDialog$(Ljava/util/Set;Ljava/lang/String;)VLocalVariableTypeTable9(Ljava/util/Set<Ljava/lang/Integer;>;Ljava/lang/String;)VshowChannelEmotes()VshowEmoteDetails(Lchatty/util/api/Emoticon;)VupdateupdateStream(Ljava/lang/String;)VsetEmotesUpdatedsetUpdated(I)VwhatupdateEmotesets(Ljava/util/Set;)V'(Ljava/util/Set<Ljava/lang/Integer;>;)VfavoritesUpdated
setEmoteScalepercentagenewScaleupdateTitlebase�	showPanel3(Lchatty/gui/components/EmotesDialog$EmotesPanel;)VshowPanelByNamename}getPanelByNameD(Ljava/lang/String;)Lchatty/gui/components/EmotesDialog$EmotesPanel;showEmotesaccess$0005(Lchatty/gui/components/EmotesDialog;)Ljava/util/Map;x0access$100W(Lchatty/gui/components/EmotesDialog;Lchatty/gui/components/EmotesDialog$EmotesPanel;)Vx1access$300B(Lchatty/gui/components/EmotesDialog;Ljava/awt/event/MouseEvent;)Vaccess$400C(Lchatty/gui/components/EmotesDialog;)Ljava/awt/GridBagConstraints;access$500A(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticons;access$700()Ljava/awt/Insets;access$800access$900access$1000C(Lchatty/gui/components/EmotesDialog;)Ljava/awt/event/MouseAdapter;access$1100'(Lchatty/gui/components/EmotesDialog;)Faccess$1200M(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticon$EmoticonUser;access$1300access$15005(Lchatty/gui/components/EmotesDialog;)Ljava/util/Set;access$16008(Lchatty/gui/components/EmotesDialog;)Ljava/lang/String;access$1700@(Lchatty/gui/components/EmotesDialog;)Lchatty/util/api/Emoticon;<clinit>SourceFileEmotesDialog.java������������������������'(����������java/awt/CardLayout���java/util/ArrayList��java/util/HashMapjava/util/HashSet$chatty/gui/components/EmotesDialog$1����������1chatty/gui/components/EmotesDialog$FavoritesPanel	Favorites�����1chatty/gui/components/EmotesDialog$SubemotesPanel	My Emotes5chatty/gui/components/EmotesDialog$ChannelEmotesPanelChannel4chatty/gui/components/EmotesDialog$TwitchEmotesPanelTwitch3chatty/gui/components/EmotesDialog$OtherEmotesPanelOther��.chatty/gui/components/EmotesDialog$EmotesPanel��$chatty/gui/components/EmotesDialog$2javax/swing/ButtonGroupjavax/swing/JPanel�������javax/swing/JToggleButton������������North�3chatty/gui/components/EmotesDialog$EmoteDetailPanel
Emote Details$chatty/gui/components/EmotesDialog$3���	
��Centerjava/awt/GridBagConstraintsjava/awt/GridBagLayout��javax/swing/JScrollPane� !�"�(chatty/gui/components/EmotesDialog$Emote	,chatty/gui/components/menus/EmoteContextMenu�#$%&'(')*+�,�-�.$./�),-01�Global/Subscriber/Turbojava/lang/StringBuilderEmoticons (23)456/#*789�:;�<�java/awt/Insets�="chatty/gui/components/EmotesDialogjavax/swing/JDialog:chatty/gui/components/EmotesDialog$SortEmotesByTypeAndName7chatty/gui/components/EmotesDialog$SortEmotesByEmoteset>%chatty/util/api/Emoticon$EmoticonUserjava/awt/Windowchatty/util/api/Emoticonschatty/gui/MainGui/chatty/gui/components/menus/ContextMenuListenerjava/awt/event/ActionListenerjava/util/Iterator&chatty/util/api/Emoticon$EmoticonImagejava/lang/String(Ljava/awt/Window;)V'(Lchatty/gui/components/EmotesDialog;)VsetFocusable(Z)VsetFocusableWindowStatesetResizable:(Lchatty/gui/components/EmotesDialog;Ljava/lang/String;I)Vjava/util/Listadd(Ljava/lang/Object;)Zget(I)Ljava/lang/Object;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;access$200D(Lchatty/gui/components/EmotesDialog$EmotesPanel;)Ljava/lang/String;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljavax/swing/AbstractButton;)Vchatty/gui/GuiUtilSMALL_BUTTON_INSETS	setMargin(Ljava/awt/Insets;)V*(Ljava/awt/Component;)Ljava/awt/Component;addActionListener"(Ljava/awt/event/ActionListener;)V)(Ljava/awt/Component;Ljava/lang/Object;)V;(Lchatty/gui/components/EmotesDialog;Lchatty/gui/MainGui;)Vjava/awt/ColorWHITELjava/awt/Color;
setBackground(Ljava/awt/Color;)V	setLayout(Ljava/awt/LayoutManager;)VweightxDweightypackgetPreferredSize()Ljava/awt/Dimension;setMinimumSize(Ljava/awt/Dimension;)VsetSize(II)Vjavax/swing/JComponentfillanchor(Ljava/awt/Component;)VgetVerticalScrollBar()Ljavax/swing/JScrollBar;javax/swing/JScrollBarsetUnitIncrementjava/awt/event/MouseEventisPopupTrigger	getSource\(Lchatty/util/api/Emoticon$EmoticonImage;Lchatty/gui/components/menus/ContextMenuListener;)VgetComponent()Ljava/awt/Component;getX()IgetYjavax/swing/JPopupMenushow(Ljava/awt/Component;II)Vequals
java/util/Set(Ljava/util/Collection;)VsetVisibleupdateEmotes	isVisibleappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setTitle)(Ljava/awt/Container;Ljava/lang/String;)VkeySet()Ljava/util/Set;&(Ljava/lang/Object;)Ljava/lang/Object;setSelectedisSelected(IIII)Vchatty/util/api/Emoticon!�������������������������%���)���,���/���2���L������������������������������������"����*+�*�*�*�*�Y��*�Y��*�Y��*�Y��*�Y*��*� *�!*�"*,�*�#*��$Y*%�&�'W*��(Y*)�*�'W*��+Y*,�-�'W*��.Y*/�0�'W*��1Y*2�3�'W**��4�5�6�7Y*�8:�9Y�::�;Y�<:*��=:�>�L�?�5:	�@Y	�A�B:*�	�CW�D�E�F�GW�H���*I�J*��KY*L�M�'W*�NY*-�O�*�;Y�<�P*�P�Q�R*�P*��S*��=:�>�#�?�5:	*�P	�T	�A�U���**�PV�J*�WY�X�*��Y*��Z*�[**�\�]*@,�^���0b89:MR*S5[@dLzQ{V|\}a~f�|������������������,�:�A�I�Q�X�[�c�x����������������������������
,,��:��	S�����	�*�������������+���"������0�	����������R�T��)����X*�Q�_�;Y�<L+�`Y�a�S+�Q�R�WY�XM,�b,�Y,�Z,�c+*,�U�dY+�eN-�f�g-��6
����!�)�.�3�8�>�D�M�V��*X��I�)/�M��0+�h�++�i�j�kM�lY,*�"�mN-+�n+�o+�p�q������/��*	0��0
�/��M,�,*��r�*�s,�*,�+�+*��t�*�s*�Y+�u�*�v*�w*�x��..3?CG
L� M��M��M��M�����5*,�y������U*+�*L�z�{*L�y�������O*�|*�}�*�w�� !"$������+*�}��+�+*��r��*+�*�v*�s*�w��&	-.0134!5&6*7�+��+�����%*��=L+�>�+�?�5M,�~����:;!<$=� ����%��������&*��=M,�>�,�?�5N-�����@A"B%C�*����&��&�������/*�}�+�+*��t��*�Y+�u�*�s*�w��LMO%P*Q.R�/��/��/���� �P*�s*�}�*�w��UVWY����!�u��o�E$*���*$�*����abcdf� ��"�#���$��R�L*��"*��Y�����+����������+*��Y�����+�����*������������lmn)pQr�R��O%��	�)&''(��L+��*�*�P+�A��*�����M,�>�#,�?�@N*�-��+�-����ڱ�uvw5xCyH{K|�*5��")��L��L����"�%�)�h*+�zM,�*,������� ��*�����+,-��/*��=M,�>�,�?�5N-�A+�r�-��������(�*�-��*
��#��/��/*�����.��G*�����L+�>�)+�?�@M,���**�,���5�����**�6����"�)�:�;�>�F�� "��/��G�����+�/0�/*���6�1�23�:*+���6�1�4�56�:*+�
��6�1�4
78�/*���6�1�9:�/*���6�1�;<����6=<��	��6><����6?@�/*���6�1�AB�/*���6�1�CD�/*���6�1�E<����6FG�/*���6�1�HI�/*���6�1�JK�/*���6�1�L�b>��Y�����Y�����Y���	��Y�����<=>-?MN�zK��1��.��+��(��$��5��������j��N7���	�PKʣG:;�11*chatty/gui/components/ErrorMessage$1.class���3%	 this$0$Lchatty/gui/components/ErrorMessage;<init>'(Lchatty/gui/components/ErrorMessage;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/ErrorMessage$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileErrorMessage.javaEnclosingMethod!	"	#$$chatty/gui/components/ErrorMessage$1java/lang/Objectjava/awt/event/ActionListener"chatty/gui/components/ErrorMessage<(Ljava/awt/Frame;Lchatty/gui/components/LinkLabelListener;)V()Vaccess$000 	4*+�*��]
@*���ab
PKʣGe����*chatty/gui/components/ErrorMessage$2.class���34	!	"#$%&'()*+this$0$Lchatty/gui/components/ErrorMessage;<init>'(Lchatty/gui/components/ErrorMessage;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/ErrorMessage$2;linkClicked'(Ljava/lang/String;Ljava/lang/String;)VtypeLjava/lang/String;ref
StackMapTableSourceFileErrorMessage.javaEnclosingMethod,
-
.minimize/012maximize3$chatty/gui/components/ErrorMessage$2java/lang/Object'chatty/gui/components/LinkLabelListener"chatty/gui/components/ErrorMessage<(Ljava/awt/Frame;Lchatty/gui/components/LinkLabelListener;)V()Vjava/lang/Stringequals(Ljava/lang/Object;)Zaccess$100access$200 	
4*+�*��e|$,��
*���,��*���i	jkl#n $$$ PKʣGv
*chatty/gui/components/ErrorMessage$3.class���3#	this$0$Lchatty/gui/components/ErrorMessage;<init>'(Lchatty/gui/components/ErrorMessage;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/ErrorMessage$3;windowGainedFocus(Ljava/awt/event/WindowEvent;)VeLjava/awt/event/WindowEvent;SourceFileErrorMessage.javaEnclosingMethod !"	$chatty/gui/components/ErrorMessage$3java/awt/event/WindowAdapter"chatty/gui/components/ErrorMessage<(Ljava/awt/Frame;Lchatty/gui/components/LinkLabelListener;)V()Vaccess$300 	4*+�*��q
@*���tu
PKʣG?��B��*chatty/gui/components/ErrorMessage$4.class���3G	#$%&!'!(!)!*!+,-./012this$0$Lchatty/gui/components/ErrorMessage;<init>'(Lchatty/gui/components/ErrorMessage;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/ErrorMessage$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileErrorMessage.javaEnclosingMethod3456789:;<=:>:?@ABCDEF$chatty/gui/components/ErrorMessage$4java/lang/Objectjava/awt/event/ActionListener"chatty/gui/components/ErrorMessage<(Ljava/awt/Frame;Lchatty/gui/components/LinkLabelListener;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$400;(Lchatty/gui/components/ErrorMessage;)Ljavax/swing/JButton;access$500((Lchatty/gui/components/ErrorMessage;I)Vaccess$600access$700access$800=(Lchatty/gui/components/ErrorMessage;)Ljavax/swing/JTextArea;javax/swing/JTextAreagetText()Ljava/lang/String;chatty/util/MiscUtilcopyToClipboard(Ljava/lang/String;)V 
4*+�*����N+�*���*���7+�*���*���+�*���*���	�����'�2�@�M�NN !"PKʣG�j���*chatty/gui/components/ErrorMessage$5.class���31		 !"#$%&this$0$Lchatty/gui/components/ErrorMessage;<init>'(Lchatty/gui/components/ErrorMessage;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/ErrorMessage$5;run()VSourceFileErrorMessage.javaEnclosingMethod'()
*+,-java/awt/Rectangle./0$chatty/gui/components/ErrorMessage$5java/lang/Objectjava/lang/Runnable"chatty/gui/components/ErrorMessageshow6(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)IsetFocusableWindowState(Z)Vaccess$800=(Lchatty/gui/components/ErrorMessage;)Ljavax/swing/JTextArea;javax/swing/JTextAreascrollRectToVisible(Ljava/awt/Rectangle;)V 	
4*+�*���L*��*���Y������PKʣGd�|�i)i)(chatty/gui/components/ErrorMessage.class���3�	A	A
	AA	AAAAA�	A	A A!A"A#A$%&'()	A*+,"-!.	A/0&-1	A23*-A45-A6A7	A8	�9	�:	�;<5=	�>?8	A@A	AB8C8D	AEFGHIJ@K@LAM	5N8OP	�QRKSTMUKV?�AOWS-XAY	AZ[XX\]X^X_A`AaAbAc	Adec-fghi	AjAk!lAmAnopqrstuvwxyz{|}~}�y����y���A�A�A�A�u0��X���!�����	��	��	��	���InnerClassesCONTINUEI
ConstantValueQUITERROR_LIMITTOP_MESSAGELjava/lang/String;MESSAGEMINIMIZED_MESSAGEMINIMIZE_AFTERu0errorsLjava/util/LinkedList;	Signature*Ljava/util/LinkedList<Ljava/lang/String;>;errorCountcontentGbcLjava/awt/GridBagConstraints;topMessage!Lchatty/gui/components/LinkLabel;messageminimizedMessagecontinueProgramLjavax/swing/JButton;quitProgramcopyTextdebugMessageLjavax/swing/JTextArea;parentLjava/awt/Frame;normalLjavax/swing/JPanel;	minimized
minimizeTimerLjavax/swing/Timer;timeOpenedJresult<init><(Ljava/awt/Frame;Lchatty/gui/components/LinkLabelListener;)VCodeLineNumberTableLocalVariableTablethis$Lchatty/gui/components/ErrorMessage;linkLabelListener)Lchatty/gui/components/LinkLabelListener;
localListenergbciconLjavax/swing/ImageIcon;scrollLjavax/swing/JScrollPane;actionListenerLjava/awt/event/ActionListener;show6(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)IerrorLjava/util/logging/LogRecord;previousLocalVariableTypeTable5Ljava/util/LinkedList<Ljava/util/logging/LogRecord;>;
StackMapTableU(Ljava/util/logging/LogRecord;Ljava/util/LinkedList<Ljava/util/logging/LogRecord;>;)IaddError6(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)V	errorText�U(Ljava/util/logging/LogRecord;Ljava/util/LinkedList<Ljava/util/logging/LogRecord;>;)V
makeErrorTextG(Ljava/util/logging/LogRecord;Ljava/util/LinkedList;)Ljava/lang/String;ri$Ljava/util/Iterator;bLjava/lang/StringBuilder;[�f(Ljava/util/logging/LogRecord;Ljava/util/LinkedList<Ljava/util/logging/LogRecord;>;)Ljava/lang/String;finishDialog()VminimizemaximizeupdatetimePassedleftToMinimize	stopTimerclose(I)VactionmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xywhaccess$000'(Lchatty/gui/components/ErrorMessage;)Vx0access$100access$200access$300access$400;(Lchatty/gui/components/ErrorMessage;)Ljavax/swing/JButton;access$500((Lchatty/gui/components/ErrorMessage;I)Vx1access$600access$700access$800=(Lchatty/gui/components/ErrorMessage;)Ljavax/swing/JTextArea;SourceFileErrorMessage.java��������������������java/util/LinkedList����javax/swing/JButtonContinue��Quit ProgramCopy to clipboardjavax/swing/JTextArea��Error������������chatty/gui/components/LinkLabela<html><body width='300px'>You can help to fix the error by [url:https://docs.google.com/forms/d/1pCc1xcWHOK1JPetQNc_N3boijnm3srcPH8PcfyVYG_U/viewform reporting it]. Please include a copy of the report message below and a short description of what you were doing when the error occured.<br /><br />Alternatively to the report page, you can also send a report via [url:http://www.twitch.tv/message/compose?to=tduva Twitch], [url:https://twitter.com/ChattyClient Twitter] or [url:mailto:[email protected] E-Mail]. You can use something like [url:http://pastebin.com Pastebin.com] to send the text as a link.����javax/swing/Timer$chatty/gui/components/ErrorMessage$1������$chatty/gui/components/ErrorMessage$2:<html><body width='300px'>An unexpected error has occured.��$chatty/gui/components/ErrorMessage$3��java/awt/GridBagLayout������������java/awt/Insets����javax/swing/JPanel��Y<html><body width='300px'>An unexpected error has occured. ([local:maximize Show more..])��������javax/swing/ImageIcon"chatty/gui/components/ErrorMessagedialog-warning.png�����������������javax/swing/JScrollPane��java/awt/Dimension����$chatty/gui/components/ErrorMessage$4������java/lang/StringBuilder�� Errors (stopped recording)��������������$chatty/gui/components/ErrorMessage$5������������������Error Report // ��� / ������ �� Errors���������java/util/logging/LogRecord����� �� Unhandled Exception:��������`<html><body width='300px'>An unexpected error has occured. ([local:minimize Minimize dialog] in ��s)����]<html><body width='300px'>An unexpected error has occured. ([local:minimize Minimize dialog])��java/awt/GridBagConstraints��������javax/swing/JDialogjava/lang/Stringjava/util/Iterator(Ljava/awt/Frame;)V(Ljava/lang/String;)VsetTitlesetAlwaysOnTop(Z)VsetAutoRequestFocussetModalsetLineWrapsetEditable>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)V#(ILjava/awt/event/ActionListener;)VaddWindowFocusListener'(Ljava/awt/event/WindowFocusListener;)V	setLayout(Ljava/awt/LayoutManager;)VfillweightxDweighty(IIII)VinsetsLjava/awt/Insets;add*(Ljava/awt/Component;)Ljava/awt/Component;java/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VgetImage()Ljava/awt/Image;setIconImage(Ljava/awt/Image;)Vbottom)(Ljava/awt/Component;Ljava/lang/Object;)V	setMargin(Ljava/awt/Insets;)Vanchor(Ljava/awt/Component;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VaddActionListener"(Ljava/awt/event/ActionListener;)Vappend(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;	isVisible()ZsetFocusableWindowStatesetLocationRelativeTojavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)Vjava/lang/SystemcurrentTimeMillis()J	isFocusedrestartsetVisible(Ljava/lang/Object;)Z
chatty/Chatty
chattyVersion
chatty/HelpersystemInfochatty/util/LogUtilgetMemoryUsagesetTextiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;	getMillischatty/util/DateTimeformat(J)Ljava/lang/String;getMessagesetMinimumSizepackgetPreferredSize()Ljava/awt/Dimension;remove(J)Ljava/lang/StringBuilder;stopcleargridxgridy	gridwidthgridheight!A����������������(������;������������������������������������������*+�*�Y��
*�Y��*�Y��*�Y��*�Y��*+�*�*�*�*�*��*��*�Y,�� *�!Y��"Y*�#�$�%�&Y*�'N*�Y(-��)*�*Y*�+�,*�-Y�.�/**�0�1*�1�2*�1�3*�1�4*�1�5Y�6�7*�8Y�9�:*�Y;-��<*�:*�<�=W*�8Y�-Y�.�>�?�@YAB�C�D:*�E�F*�0:�7�G*�?*�)�H*�0:*�?*� �H*�0:*��5Y�6�I�5Y�6�7
�J*�?*��H*�0:�2�3�4�KY*��L:�MY,d�N�O*�?�H*�0:
�J�5Y�6�7P�3**��R*�0:�J�5Y�6�7P�3**��R�SY*�T:*��U*��U*��U**�?*�1�R*�V��@S<DE*F7GBTGUMVRWWX\YdZl[z]�e�p�q�x�z�{�|�}�~����
��+�<�E�O�X�e�o�|��������������������������'�/�9�C�J�]�e�o�y������������R������������OV��<i������y,�����w*�W� *�XY�Y*�W�Z[�\�]��	*+,�^*�_�*�`*�**��a*�b�cY*�d�e*�f�g*�h�*�*�%�i*�j*�b��>�	�&�,�3�8�<�D�I�T�[�b�f�m�r�� w��w��w���w���&(������*Y�W`�W*+,�kN*�
-�lW*�W�C*�*��XY�Ym�\�n�\o�\�p�\o�\�q�\r�\�]�s�*�XY�Y*�W�Zt�\�]�*�-�u��&	����"�(�b�|����*���������t�������	�b������,y�XY�YN,�v:�w�<�x�y:�(-�z�{�\W-|�\W-�}�\W-~�\W���-+�z�{�\W-�\W-+�}�\W-r�\W-�]��6
��$�)�6�=�G�N�Q�]�d�m�t�>$*��C��y��y��y��q���y������?������H*��*��**������	������O**�?��**�:*�1�R*�V��
������O**�:��**�?*�1�R*�V���������K*�_�F�f*�ge@�e�mB!	��*�*��"*�)�XY�Y��\!����\�]����" $+J!� :��0��K����+����W*�%�*�%��*�)�����$%&(�������[*�b*�
��*�W*�j��+,-./���������9��Y��:���������5Y�6�7��2	3456"768�>9��9��9��9��9��	0�����/*�	��"������/*���"������/*���"�����/*���"����/*���"����:*���"�����/*���"����/*���"���	�/*���"����*cS*&"PKˣG��CCFchatty/gui/components/ExtendableDefaultTableHeaderCellRenderer$1.class���3,			" $SwitchMap$javax$swing$SortOrder[I<clinit>()VCodeLineNumberTableLocalVariableTableexLjava/lang/NoSuchFieldError;
StackMapTableSourceFile-ExtendableDefaultTableHeaderCellRenderer.javaEnclosingMethod#$%&	'()*java/lang/NoSuchFieldError+(@chatty/gui/components/ExtendableDefaultTableHeaderCellRenderer$1InnerClassesjava/lang/Object>chatty/gui/components/ExtendableDefaultTableHeaderCellRendererjavax/swing/SortOrdervalues()[Ljavax/swing/SortOrder;	ASCENDINGLjavax/swing/SortOrder;ordinal()IDESCENDING 	
~(�������O�K���O�K�	#&['WM!PKˣGa!DDDchatty/gui/components/ExtendableDefaultTableHeaderCellRenderer.class���3�IJKLMNOPQRSTUVWXYZ[O\	]^_`aWbcOdefghgijklmInnerClasses<init>()VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/ExtendableDefaultTableHeaderCellRenderer;getTableCellRendererComponent@(Ljavax/swing/JTable;Ljava/lang/Object;ZZII)Ljava/awt/Component;tableLjavax/swing/JTable;valueLjava/lang/Object;isSelectedZhasFocusrowIcolumntableHeader Ljavax/swing/table/JTableHeader;
StackMapTablengetIcon)(Ljavax/swing/JTable;I)Ljavax/swing/Icon;sortKeySortKeyLjavax/swing/RowSorter$SortKey;jgetSortKey6(Ljavax/swing/JTable;I)Ljavax/swing/RowSorter$SortKey;	rowSorterLjavax/swing/RowSorter;
sortedColumnsLjava/util/List;opSourceFile-ExtendableDefaultTableHeaderCellRenderer.java"#qrsrtruv)*wxynz{|}9:~TableHeader.cellBorder�����?@�����������Table.ascendingSortIcon9�Table.descendingSortIcon��o��p����javax/swing/RowSorter$SortKey>chatty/gui/components/ExtendableDefaultTableHeaderCellRenderer*javax/swing/table/DefaultTableCellRenderer@chatty/gui/components/ExtendableDefaultTableHeaderCellRenderer$1javax/swing/table/JTableHeaderjavax/swing/RowSorterjava/util/ListsetHorizontalAlignment(I)VsetHorizontalTextPositionsetVerticalAlignment	setOpaque(Z)Vjavax/swing/JTablegetTableHeader"()Ljavax/swing/table/JTableHeader;
getForeground()Ljava/awt/Color;
setForeground(Ljava/awt/Color;)VsetIcon(Ljavax/swing/Icon;)Vjavax/swing/UIManager	getBorder/(Ljava/lang/Object;)Ljavax/swing/border/Border;	setBorder(Ljavax/swing/border/Border;)V	getColumn()IconvertColumnIndexToView(I)I $SwitchMap$javax$swing$SortOrder[IgetSortOrder()Ljavax/swing/SortOrder;javax/swing/SortOrderordinal&(Ljava/lang/Object;)Ljavax/swing/Icon;getRowSorter()Ljavax/swing/RowSorter;getSortKeys()Ljava/util/List;sizeget(I)Ljava/lang/Object;!"#$W*�*�*�*�*��%)*	+,-.&'()*$�8*+,�W+�:�*��	**+��*�
�*�%EGHI"K-L6M&R8'(8+,8-.8/0810823843$567�"89:$�J*+�N-�@+-���4�-��.�& �����%YZ[<]B_Hb&*J'(J+,J43C;=7�<>?@$�)+�N-��-�:������%mn	orst'v&4)'()+,)43$ABCD7�E�FGH!e<	PKʣG�;����.chatty/gui/components/ExtendedTextPane$1.class���3SourceFileExtendedTextPane.javaEnclosingMethod(chatty/gui/components/ExtendedTextPane$1InnerClassesjava/lang/Object&chatty/gui/components/ExtendedTextPane 	PKʣG���C��Jchatty/gui/components/ExtendedTextPane$MyEditorKit$StyledViewFactory.class���3M-./01234564789:;4<=4>4?@A<init>()VCodeLineNumberTableLocalVariableTablethisCMyEditorKitInnerClassesStyledViewFactoryFLchatty/gui/components/ExtendedTextPane$MyEditorKit$StyledViewFactory;create3(Ljavax/swing/text/Element;)Ljavax/swing/text/View;elemLjavax/swing/text/Element;kindLjava/lang/String;
StackMapTableDSourceFileExtendedTextPane.javaEFGcontentDHI,chatty/gui/components/textpane/WrapLabelViewJ	paragraphjavax/swing/text/ParagraphViewsectionjavax/swing/text/BoxViewK	componentjavax/swing/text/ComponentViewiconjavax/swing/text/IconViewjavax/swing/text/LabelViewDchatty/gui/components/ExtendedTextPane$MyEditorKit$StyledViewFactoryjava/lang/Objectjavax/swing/text/ViewFactoryL2chatty/gui/components/ExtendedTextPane$MyEditorKitjava/lang/Stringjavax/swing/text/ElementgetName()Ljava/lang/String;equals(Ljava/lang/Object;)Z(Ljavax/swing/text/Element;)V(Ljavax/swing/text/Element;I)V&chatty/gui/components/ExtendedTextPane /*��"#$�o+�M,�^,���Y+��,���Y+�	�,��
�Y+��,
���Y+��,���Y+���Y+��6
&/8 B!K"T#]$f' o"o%&h'()�*+, B!PKʣG��*1��8chatty/gui/components/ExtendedTextPane$MyEditorKit.class���3!MyEditorKitInnerClassesStyledViewFactory<init>()VCodeLineNumberTableLocalVariableTablethis4Lchatty/gui/components/ExtendedTextPane$MyEditorKit;getViewFactory ()Ljavax/swing/text/ViewFactory;-(Lchatty/gui/components/ExtendedTextPane$1;)Vx0*Lchatty/gui/components/ExtendedTextPane$1;SourceFileExtendedTextPane.javaDchatty/gui/components/ExtendedTextPane$MyEditorKit$StyledViewFactory 2chatty/gui/components/ExtendedTextPane$MyEditorKit javax/swing/text/StyledEditorKit(chatty/gui/components/ExtendedTextPane$1&chatty/gui/components/ExtendedTextPane 3*��
2�Y��
9*��
	PKʣG˯����,chatty/gui/components/ExtendedTextPane.class���3]U���M���	M�M�M�M�	M��������	M����M�����M�M�����������!����M�!�������	M���������M����������M�������;��;�;�M�	M�������E���H���	H�W		
InnerClassesMyEditorKitLOGGERLjava/util/logging/Logger;doc!Ljavax/swing/text/StyledDocument;urlMatcherLjava/util/regex/Matcher;srlRegexLjava/lang/String;
ConstantValuesrlMatcherSRL_URLlinkController/Lchatty/gui/components/textpane/LinkController;<init>()VCodeLineNumberTableLocalVariableTablethis(Lchatty/gui/components/ExtendedTextPane;setLinkListener(Lchatty/gui/LinkListener;)VlistenerLchatty/gui/LinkListener;setContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)V1Lchatty/gui/components/menus/ContextMenuListener;setText(Ljava/lang/String;)Vex'Ljavax/swing/text/BadLocationException;text
StackMapTable�
printSpecialsrangeEntryLjava/util/Map$Entry;startIendrangesLjava/util/TreeMap;rangesStyleLjava/util/HashMap;lastPrintedPosrangesItLjava/util/Iterator;LocalVariableTypeTable=Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/Integer;>;;Ljava/util/TreeMap<Ljava/lang/Integer;Ljava/lang/Integer;>;NLjava/util/HashMap<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;SLjava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/Integer;>;>;���	findLinks3(Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)VfoundUrlLjava/util/Map;7Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;JLjava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;	Signature�(Ljava/lang/String;Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;)VfindSrlfoundSrlurlprint4(Ljava/lang/String;Ljavax/swing/text/AttributeSet;)VeprintStyleLjavax/swing/text/AttributeSet;inRanges(ILjava/util/Map;)Zi;(ILjava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;)ZcheckUrl(Ljava/lang/String;)ZLjava/net/URISyntaxException;uriToCheck�:(Ljava/lang/String;)Ljavax/swing/text/MutableAttributeSet;urlStyle%Ljavax/swing/text/SimpleAttributeSet;<clinit>SourceFileExtendedTextPane.javagh2chatty/gui/components/ExtendedTextPane$MyEditorKitg-chatty/gui/components/textpane/LinkControlleref\]nors%javax/swing/text/BadLocationExceptionZ[Bad location v|vjava/util/TreeMapjava/util/HashMap����!"#$%&'()*java/util/Map$Entry+)java/lang/Integer,-)./��0123javax/swing/text/AttributeSet4.5^_6789'����:;..<=)>�(��?@httpA�java/lang/StringBuilderhttp://BCD;��c_"http://speedrunslive.com/race/?id=EFjava/net/URIgvjava/net/URISyntaxException#javax/swing/text/SimpleAttributeSetGHIKMNOP&chatty/gui/components/ExtendedTextPaneQR;STUVWXY8#srl-([a-z0-9]{2,6})Z[javax/swing/JTextPane(chatty/gui/components/ExtendedTextPane$1java/lang/Stringjava/util/Iterator-(Lchatty/gui/components/ExtendedTextPane$1;)VsetEditorKit(Ljavax/swing/text/EditorKit;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)VgetStyledDocument#()Ljavax/swing/text/StyledDocument;javax/swing/text/StyledDocument	getLength()Iremove(II)Vjava/util/logging/LoggerwarningentrySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;
java/util/MapgetKeyintValuegetValue	substring(II)Ljava/lang/String;valueOf(I)Ljava/lang/Integer;get&(Ljava/lang/Object;)Ljava/lang/Object;length(I)Ljava/lang/String;java/util/regex/Matcherreset3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;findgroup()Ljava/lang/String;contains(Ljava/lang/CharSequence;)ZendsWithput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;startsWithappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringinsertString5(ILjava/lang/String;Ljavax/swing/text/AttributeSet;)Vjavax/swing/text/StyleConstantssetUnderline*(Ljavax/swing/text/MutableAttributeSet;Z)V\$javax/swing/text/html/HTML$Attribute	AttributeHREF&Ljavax/swing/text/html/HTML$Attribute;addAttribute'(Ljava/lang/Object;Ljava/lang/Object;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;
chatty/Helper
getUrlPattern()Ljava/util/regex/Pattern;java/util/regex/Patternmatchercompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;javax/swing/text/html/HTML!MUZ[\]^_`abSc_dabBefghiv4*�*�Y��*�Y��**��**��	**���jCDEF#G+H3Ik4lmnoiA	*�+��jLMk	lm	pqrsiA	*�+�
�jPQk	lm	ptuvi�%*�*����M��*+��j\_]^`$ak wx%lm%yazV{|vi�	��Y�M�Y�N*+,-�*+,-�6,��:��d��:� �!�"6�#�!�"6�*+�$�%*+`�$-�&�'�(�%`6���+�)�*+�*�%�jJprtux!y,z6{B|Q}`~g�t�����������k\	BR}QC��`4���lm�ya������!���,����*BR}�������,���z%�,������G��"��i�²++�,W�+�-���+�.6�+�/d6*,�0��*,�0���+�1:2�3����4�5�6�3��)d�$:��*�7�F,�&�&�8W9�:��;Y�<=�>�>�?:-�&*�@�8W��J�jJ����#�7�?�I�L�`�o�r�{�����������kH?�a���#����lm�ya�������������z�C�%9�����i=|�A+�,W�A�-�m�A�.6�A�/d6*,�0�N*,�0�D�A�1:�;Y�<B�>�>�?:,�&�&�8W-�&*�@�8W����j.����#�7�?�U�f�x�{�kR?9�aU#�a_��#U��|lm|ya|��|���|��|��z�o����i�!*�*��+,�C�N���j���� �k*�x!lm!ya!��zW{��i�I,�D�N-��5-��:� �!�"��#�!�"������j��� �B�D�G�k4 $}IlmI��I��=���  $}�I��=��z��7����it�EY+�FW�M��	Gj�	��
��k 
w�lm�azL���ia�HY�IM,�J,�K+�L,�j
k lm�a���hiE%M�N�O��PQ�R�+S�TQ�R�A�j,39��X"VMMY�~	JLPKʣG�Iy�-chatty/gui/components/FavoritesDialog$1.class���3'	 !"this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FavoritesDialog$1;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileFavoritesDialog.javaEnclosingMethod#	$	%&'chatty/gui/components/FavoritesDialog$1java/lang/Object"javax/swing/event/DocumentListener%chatty/gui/components/FavoritesDialogH(Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$000 	4*+�*��U
@*���YZ
@*���^_
@*���cd
PKʣG�H�F,,-chatty/gui/components/FavoritesDialog$2.class���3%	 this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FavoritesDialog$2;valueChanged)(Ljavax/swing/event/ListSelectionEvent;)Ve&Ljavax/swing/event/ListSelectionEvent;SourceFileFavoritesDialog.javaEnclosingMethod!"#	#$'chatty/gui/components/FavoritesDialog$2java/lang/Object'javax/swing/event/ListSelectionListener%chatty/gui/components/FavoritesDialogsetupTable()Vaccess$300 	4*+�*���
@*�����
PKʣG������-chatty/gui/components/FavoritesDialog$3.class���36	 !"#$%&'()this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FavoritesDialog$3;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTablemousePressed
mouseReleasedSourceFileFavoritesDialog.javaEnclosingMethod*+,	,-./0123,45'chatty/gui/components/FavoritesDialog$3java/awt/event/MouseAdapter%chatty/gui/components/FavoritesDialogsetupTable()Vjava/awt/event/MouseEvent
getClickCount()Iaccess$400>(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JButton;javax/swing/JButtondoClickaccess$500E(Lchatty/gui/components/FavoritesDialog;Ljava/awt/event/MouseEvent;)V 	
4*+�*���
X+��
*�������
A	*�+����		
A	*�+����		PKʣGY��8gg-chatty/gui/components/FavoritesDialog$4.class���3)	 !this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FavoritesDialog$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileFavoritesDialog.javaEnclosingMethod"#$	$%&'($'chatty/gui/components/FavoritesDialog$4javax/swing/AbstractAction%chatty/gui/components/FavoritesDialogsetupTable()Vaccess$400>(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JButton;javax/swing/JButtondoClick 	4*+�*���
C*������
PKʣG�G-�gg-chatty/gui/components/FavoritesDialog$5.class���3)	 !this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FavoritesDialog$5;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileFavoritesDialog.javaEnclosingMethod"#$	$%&'($'chatty/gui/components/FavoritesDialog$5javax/swing/AbstractAction%chatty/gui/components/FavoritesDialogsetupTable()Vaccess$600>(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JButton;javax/swing/JButtondoClick 	4*+�*���
C*������
PKʣGV�gg-chatty/gui/components/FavoritesDialog$6.class���3)	 !this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FavoritesDialog$6;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileFavoritesDialog.javaEnclosingMethod"#$	$%&'($'chatty/gui/components/FavoritesDialog$6javax/swing/AbstractAction%chatty/gui/components/FavoritesDialogsetupTable()Vaccess$700>(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JButton;javax/swing/JButtondoClick 	4*+�*���
C*������
PKʣGj�#Wgg-chatty/gui/components/FavoritesDialog$7.class���3)	 !this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FavoritesDialog$7;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileFavoritesDialog.javaEnclosingMethod"#$	$%&'($'chatty/gui/components/FavoritesDialog$7javax/swing/AbstractAction%chatty/gui/components/FavoritesDialogsetupTable()Vaccess$800>(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JButton;javax/swing/JButtondoClick 	4*+�*���
C*������
PKʣG���xx8chatty/gui/components/FavoritesDialog$CustomSorter.class���3�	LMNOP	Q	RSTUVWXYZ[	\	]^_`aMc	_defghijklmnoencoderLchatty/util/BitEncoder;	sortCountIsortedColumnsorter"Ljavax/swing/table/TableRowSorter;	SignatureBLjavax/swing/table/TableRowSorter<Ljavax/swing/table/TableModel;>;this$0'Lchatty/gui/components/FavoritesDialog;<init>L(Lchatty/gui/components/FavoritesDialog;Ljavax/swing/table/TableRowSorter;)VCodeLineNumberTableLocalVariableTablethisCustomSorterInnerClasses4Lchatty/gui/components/FavoritesDialog$CustomSorter;LocalVariableTypeTableE(Ljavax/swing/table/TableRowSorter<Ljavax/swing/table/TableModel;>;)VmouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;columnIndexsortColumn(I)V
StackMapTablesort(II)VorderLjavax/swing/SortOrder;sortKeysLjava/util/List;SortKey1Ljava/util/List<Ljavax/swing/RowSorter$SortKey;>;pqgetSorting()IsetSortingsortingSourceFileFavoritesDialog.java'()rchatty/util/BitEncoder[I)s#$tuvwxyz{G|}~9: !"!<=p�java/util/ArrayList�javax/swing/RowSorter$SortKey�?)�q������=�����~2chatty/gui/components/FavoritesDialog$CustomSorterjava/awt/event/MouseAdapterjavax/swing/SortOrderjava/util/List()V([[I)V%chatty/gui/components/FavoritesDialogaccess$1100=(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JTable;javax/swing/JTablegetColumnModel&()Ljavax/swing/table/TableColumnModel;java/awt/event/MouseEventgetX"javax/swing/table/TableColumnModelgetColumnIndexAtX(I)Ivalues()[Ljavax/swing/SortOrder;javax/swing/RowSorterDESCENDING(ILjavax/swing/SortOrder;)Vadd(Ljava/lang/Object;)Z javax/swing/table/TableRowSortersetSortKeys(Ljava/util/List;)VsetValueencode()Jdecode(J)VgetValue0 !"!#$%&'()*+�>*+�*�*�Y�Y�YOYOYOSY�YOYOS��*,��,i	Z8j=k->.1>#$2>#&%345+`*���	+��=*��,opq- .1678!9:+�+*Y�
`�
*��*�
�*�
**�
��,|���!�*�-+.1+8!;!<=+�M�p2N�Y�:��Y���W�Y-��W*��*�
*��,&	����(�9�B�G�L�-4M.1M8!M !E>?<@A2<@C;�(DEFG+U#*�*��*�*�
p�*����,���-#.1H:+Z*���**��*����,�	��-.1I!JK0S/bB	PKʣG��N���Cchatty/gui/components/FavoritesDialog$FavoritesActionListener.class���3>	$		% &'()*)+),)-./0this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisFavoritesActionListenerInnerClasses?Lchatty/gui/components/FavoritesDialog$FavoritesActionListener;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTable1S(Lchatty/gui/components/FavoritesDialog;Lchatty/gui/components/FavoritesDialog$1;)Vx0x1)Lchatty/gui/components/FavoritesDialog$1;SourceFileFavoritesDialog.java
23456789:;<=8=chatty/gui/components/FavoritesDialog$FavoritesActionListenerjava/lang/Objectjava/awt/event/ActionListener'chatty/gui/components/FavoritesDialog$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;%chatty/gui/components/FavoritesDialogaccess$400>(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JButton;access$902+(Lchatty/gui/components/FavoritesDialog;I)IsetVisible(Z)Vaccess$1000 	
4*+�*��D�B+�*���*��W*���"+�*���*��W*���HIJ"L0M9NAPBB"D*+��D 
 !"#	)PKʣG�~Z��Lchatty/gui/components/FavoritesDialog$MyDefaultTableHeaderCellRenderer.class���3A(	()*+,-.-/023<init>()VCodeLineNumberTableLocalVariableTablethis MyDefaultTableHeaderCellRendererInnerClassesHLchatty/gui/components/FavoritesDialog$MyDefaultTableHeaderCellRenderer;getSortKeySortKey6(Ljavax/swing/JTable;I)Ljavax/swing/RowSorter$SortKey;tableLjavax/swing/JTable;columnI	rowSorterLjavax/swing/RowSorter;
sortedColumnsLjava/util/List;
StackMapTable456,(Lchatty/gui/components/FavoritesDialog$1;)Vx0)Lchatty/gui/components/FavoritesDialog$1;SourceFileFavoritesDialog.java7894:;5<=>?javax/swing/RowSorter$SortKey@Fchatty/gui/components/FavoritesDialog$MyDefaultTableHeaderCellRenderer>chatty/gui/components/ExtendableDefaultTableHeaderCellRendererjavax/swing/RowSorterjava/util/List'chatty/gui/components/FavoritesDialog$1javax/swing/JTablegetRowSorter()Ljavax/swing/RowSorter;getSortKeys()Ljava/util/List;size()Iget(I)Ljava/lang/Object;%chatty/gui/components/FavoritesDialog 	/*��
��A+�N-��-�:�����������
&	��	����(�3�?�4AAA<0�� #9*��
�$%&'1+	!PKʣGK�

8chatty/gui/components/FavoritesDialog$MyTableModel.class���3�	!Z"[\]^_`abcd	!efghi	!j!klmnopqrqsmtmu$mvw!x!y��������z|}data[[Ljava/lang/Object;columns[Ljava/lang/String;this$0'Lchatty/gui/components/FavoritesDialog;<init>*(Lchatty/gui/components/FavoritesDialog;)VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses4Lchatty/gui/components/FavoritesDialog$MyTableModel;getRowCount()IgetColumnCountgetValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndexgetColumnClass(I)Ljava/lang/Class;c
StackMapTable
getColumnName(I)Ljava/lang/String;colsetData!(Ljava/util/Map;Ljava/util/Map;)VentryLjava/lang/String;i$Ljava/util/Iterator;timeLjava/lang/Long;channel	favoritesLjava/util/Map;historycountiLocalVariableTypeTable3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;~	Signaturei(Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;)VaddEntry'(IZLjava/lang/String;Ljava/lang/Long;)VfavoriteZSourceFileFavoritesDialog.java'()[Ljava/lang/Object;java/lang/Object���joshimuzjava/lang/Integer)�	ninkortekabc#$java/lang/StringFavChannelLast joined%&56��������~�������3��java/lang/LongTU����2chatty/gui/components/FavoritesDialog$MyTableModel$javax/swing/table/AbstractTableModeljava/util/Iterator()Vjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;(I)VgetClass()Ljava/lang/Class;
java/util/MapkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;containsKey(Ljava/lang/Object;)Zsizeget&(Ljava/lang/Object;)Ljava/lang/Object;fireTableDataChanged(J)Ljava/lang/Long;%chatty/gui/components/FavoritesDialog !"#$%&'()*+��*+�*�*�Y�Y�SYSY�Y�SSY�Y�SY	SY�YҷSSY�Y�SYSY�Y�SS�*�Y
SYSYS��,�	�o�-�.123+0*���,-.143+0*���,-.156+G	*�22�,- 	.1	78	98:;+[*����*���,-.1<8=>?+;*�2�,-.1@8AB+�>+��:�� ��:,������,�`>**����6+��:��)��:*,�������,��:��8��:,��:+��*�����*��,R%03!6"?$M%P's)�*�+�-�.�/�1�2�4�5�6-z%CD'EFsCD]0EF�GH�&ID�?EF�.1�JK�LK�M8P�N8O�JP�LP=!�Q#��&Q�/�Q;�RSTU+�7�� :*��S*�2�S*�2-S*�2S�,9:
=>#?,@6A-47.17N87VW7ID7GH=
XY0!{/PKʣGˉ3��8chatty/gui/components/FavoritesDialog$TestRenderer.class���3B
"#$%&'()	*+,-./12iconLjavax/swing/ImageIcon;<init>()VCodeLineNumberTableLocalVariableTablethisTestRendererInnerClasses4Lchatty/gui/components/FavoritesDialog$TestRenderer;setValue(Ljava/lang/Object;)VlabelLjavax/swing/JLabel;valueLjava/lang/Object;
StackMapTableSourceFileFavoritesDialog.javajavax/swing/ImageIcon345/chatty/gui/star.png6789java/lang/Boolean:;<=>?@A2chatty/gui/components/FavoritesDialog$TestRenderer*javax/swing/table/DefaultTableCellRendererjava/lang/ObjectgetClass()Ljava/lang/Class;java/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VbooleanValue()ZsetIcon(Ljavax/swing/Icon;)Vjavax/swing/JLabelsetHorizontalAlignment(I)V%chatty/gui/components/FavoritesDialog 
G*�*�Y*��������)+��$+��	�**���*�*M,������!�#�(� #)) !0PKʣGn�~��8chatty/gui/components/FavoritesDialog$TimeRenderer.class���37 !"��������# $%&'(*+<init>()VCodeLineNumberTableLocalVariableTablethisTimeRendererInnerClasses4Lchatty/gui/components/FavoritesDialog$TimeRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;timeJlabelLjavax/swing/JLabel;
StackMapTableSourceFileFavoritesDialog.java
java/lang/Long,--./01234562chatty/gui/components/FavoritesDialog$TimeRenderer*javax/swing/table/DefaultTableCellRenderer	longValue()JsetText(Ljava/lang/String;)Vchatty/util/DateTimeagoText(J)Ljava/lang/String;javax/swing/JLabelsetHorizontalAlignment(I)V%chatty/gui/components/FavoritesDialog 
/*����++��A ��*��* ��*:�	�����!�$�*�*++#$�)PKʣGF�v$55+chatty/gui/components/FavoritesDialog.class���3p	�H	�I	�J	�K	�L	�M�N	�O�P�Q�RST	�UVWXYZ[\�	�]	�^_�`�a	�bcd�efg!hijk$h	�lm'd'no'p*q'rs.t	�u�v�w	�x�y	z{|	�}~8�:�	���	������B�����������'���Ld'���Pd'������U���'��Yh���\h'�'������'��dh����hh��kh��nh'��������������������������������d'�'���������d����������$�����'���'�'����������.�.���d	��	��	��	����CustomSorterInnerClassesFavoritesActionListenerMyTableModel MyDefaultTableHeaderCellRendererTimeRendererTestRenderertableLjavax/swing/JTable;data4Lchatty/gui/components/FavoritesDialog$MyTableModel;sorter4Lchatty/gui/components/FavoritesDialog$CustomSorter;inputLjavax/swing/JTextField;addToFavoritesButtonLjavax/swing/JButton;removeFromFavoritesButtonremoveButtondoneButtoncancelButtondoneButtonTextLjava/lang/String;doneButtonTextOneChannel
ACTION_CANCELI
ConstantValueACTION_DONEBUTTON_ADD_FAVORITESBUTTON_REMOVE_FAVORITES
BUTTON_REMOVECOLUMN_FAVCOLUMN_CHANNELCOLUMN_AGOFAV_COLUMN_WIDTH2TIME_COLUMN_WIDTHdresultcontextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;<init>H(Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis'Lchatty/gui/components/FavoritesDialog;mainLchatty/gui/MainGui;gbcLjava/awt/GridBagConstraints;	rowSorter"Ljavax/swing/table/TableRowSorter;listenerLjava/awt/event/ActionListener;actionListenerLocalVariableTypeTableBLjavax/swing/table/TableRowSorter<Ljavax/swing/table/TableModel;>;setupTable()V	favColumnLjavax/swing/table/TableColumn;timeColumnshowDialog9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
channelPresetactionactionOneChannel'(Ljava/lang/String;Ljava/lang/String;)I	getAction(Ljava/lang/Object;)IsourceLjava/lang/Object;
StackMapTablesetChannel(Ljava/lang/String;)VchannelchannelsChangedchannelsPresentZcountselectionChangedupdateChosenFromSelectedselectedChannelsupdateEditButtonsselectedgetSelectedChannels()Ljava/util/Set;rowiLjava/util/Set;[I#Ljava/util/Set<Ljava/lang/String;>;�	Signature%()Ljava/util/Set<Ljava/lang/String;>;getChannelsarr$[Ljava/lang/String;len$i$channelschans��setData!(Ljava/util/Set;Ljava/util/Map;)VLjava/util/Iterator;	favoriteshistoryLjava/util/Map;favoritesWithHistory3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;��Y(Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;)VopenContextMenu(Ljava/awt/event/MouseEvent;)Vm)Lchatty/gui/components/menus/ContextMenu;clickedRoweLjava/awt/event/MouseEvent;setSorting(I)VcolumngetSorting()ImakeGbc#(IIII)Ljava/awt/GridBagConstraints;xywhaccess$000*(Lchatty/gui/components/FavoritesDialog;)Vx0access$300access$400>(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JButton;access$500E(Lchatty/gui/components/FavoritesDialog;Ljava/awt/event/MouseEvent;)Vx1access$600access$700access$800access$902+(Lchatty/gui/components/FavoritesDialog;I)Iaccess$1000access$1100=(Lchatty/gui/components/FavoritesDialog;)Ljavax/swing/JTable;SourceFileFavoritesDialog.java������������#$��������javax/swing/JTextField�+��javax/swing/JButtonAdd to favorites��Remove selected from favoritesRemove selectedUse chosen channelsCancel����Favorites / History������java/awt/GridBagLayout������'chatty/gui/components/FavoritesDialog$1�6���2chatty/gui/components/FavoritesDialog$MyTableModel��javax/swing/JTable�� javax/swing/table/TableRowSorter������2chatty/gui/components/FavoritesDialog$CustomSorter�����/0�	javax/swing/JScrollPane�java/awt/Insets�
+.Remove selected channel(s) from favorites only�5Remove selected channel(s) from favorites and history=chatty/gui/components/FavoritesDialog$FavoritesActionListener���java/lang/Boolean2chatty/gui/components/FavoritesDialog$TestRendererjava/lang/Long2chatty/gui/components/FavoritesDialog$TimeRenderer !"#$�Fchatty/gui/components/FavoritesDialog$MyDefaultTableHeaderCellRenderer�%&'('chatty/gui/components/FavoritesDialog$2)*+'chatty/gui/components/FavoritesDialog$3,-./0done12345'chatty/gui/components/FavoritesDialog$4627delete'chatty/gui/components/FavoritesDialog$5addFav'chatty/gui/components/FavoritesDialog$6unFav'chatty/gui/components/FavoritesDialog$789:;<=>+?+@����A����BCD�E.��FGHjava/util/HashSetIJKLjava/lang/StringMNOPQjava/util/HashMapRS�TCUV�WX2YZ[\C]^_`abcde..chatty/gui/components/menus/StreamsContextMenu�fg.h.ijk*+-.java/awt/GridBagConstraintsl�m�n�o�%chatty/gui/components/FavoritesDialogjavax/swing/JDialog
java/util/Set
java/util/Mapjava/util/Iterator(Ljava/awt/Frame;)VsetTitlesetModal(Z)V	setLayout(Ljava/awt/LayoutManager;)VgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)VsetModel!(Ljavax/swing/table/TableModel;)VgetModel ()Ljavax/swing/table/TableModel;setRowSorter(Ljavax/swing/RowSorter;)VL(Lchatty/gui/components/FavoritesDialog;Ljavax/swing/table/TableRowSorter;)Vfilladd)(Ljava/awt/Component;Ljava/lang/Object;)Vchatty/gui/GuiUtilSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)VweightyD(Ljava/awt/Component;)V(IIII)VinsetssetMnemonicweightxsetToolTipTextS(Lchatty/gui/components/FavoritesDialog;Lchatty/gui/components/FavoritesDialog$1;)VaddActionListener"(Ljava/awt/event/ActionListener;)Vchatty/gui/MainGuigetActionListener!()Ljava/awt/event/ActionListener;packgetSize()Ljava/awt/Dimension;setMinimumSize(Ljava/awt/Dimension;)VsetShowGridsetDefaultRenderer9(Ljava/lang/Class;Ljavax/swing/table/TableCellRenderer;)VgetTableHeader"()Ljavax/swing/table/JTableHeader;javax/swing/table/JTableHeaderaddMouseListener!(Ljava/awt/event/MouseListener;)VsetReorderingAllowed,(Lchatty/gui/components/FavoritesDialog$1;)V((Ljavax/swing/table/TableCellRenderer;)VgetSelectionModel"()Ljavax/swing/ListSelectionModel;javax/swing/ListSelectionModeladdListSelectionListener,(Ljavax/swing/event/ListSelectionListener;)VgetInputMap()Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke(II)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)VgetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel	getColumn"(I)Ljavax/swing/table/TableColumn;javax/swing/table/TableColumnsetMaxWidthsetMinWidthsetTextsetVisibleisEmpty()ZsetEnabledsize
chatty/HelperbuildStreamsString*(Ljava/util/Collection;)Ljava/lang/String;getSelectedRows()[IgetValueAt(II)Ljava/lang/Object;(Ljava/lang/Object;)ZgetText()Ljava/lang/String;
parseChannels((Ljava/lang/String;Z)[Ljava/lang/String;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;!(Ljava/util/Map;Ljava/util/Map;)Vjava/awt/event/MouseEventisPopupTriggergetPoint()Ljava/awt/Point;rowAtPoint(Ljava/awt/Point;)IarrayContainsInt([II)ZsetRowSelectionInterval(II)VgetSelectedRowJ(Ljava/util/Collection;Lchatty/gui/components/menus/ContextMenuListener;)VgetXgetY'chatty/gui/components/menus/ContextMenushow(Ljava/awt/Component;II)Vgridxgridy	gridwidthgridheight!������������������������������������������������������������������������;*+�*�Y�
�*�Y��*�Y��*�Y��*�Y��*�Y��*�*�*�*�*�*,�*�Y��*�� �!Y*�"�#*�$Y*�%�&*�'Y�(�*�*�&�)�*Y*��+�,:*��-*�.Y*�/�0*�1*�2N-�3**�-�4*�2N*��5�6**�-�4*�2N-�3-�7*�8Y*��9-�4*�2N-�:Y�;�<*��5�6**�-�4*�2N-�:Y�;�<*��5�6**�-�4*�J�=*�2N-�3-�>**�-�4*�C�=*�2N-�3**�-�4*�?�@*�A�@�BY*�C:*��D*��D+�E:*��D*��D*��D*��F*�*�G**�H�I���?L/12,394F5S7Y8_GdMjNoPtRU�h�i�j�k�l�m�n�q�r�s�uvwyz!{&|6~?N�X�a�j�y�����������������������������������!�*�.�2�:��H;��;��;���R���v���M��5����v������W*��J*�K�LY�M�N*�O�PY�Q�N*��R*�0�S*��R�T*��R�UY�V�W*��X�YY*�Z�[*��\Y*�]�^*��_J�`a�b*��_�`a�b*��ca�dY*�e�f*��_�`g�b*��cg�hY*�i�f*��_F�`j�b*��cj�kY*�l�f*��_U�`m�b*��cm�nY*�o�f*��p�qL+2�r+2�s*��p�qM,d�r,d�s��b���*�8�C�U�i�x����������������"�0�6�<�J�P�V�� W��0'��J
������**�,�t*,�*-�*+�u*�*�v*�w*���"	

 %�**��*��*��*�����F*+,�x��� ����������<+*��+*���+*���+*���+*���+*�����.!"$$%&'.(0*8+:-�<��<���				���R
+�*�+�y��679�
��
�������J*�z�{��<*��|*�z�}=�*��*�*��t�*�*��t��?@A$B0C>EIG� J��8��$&���@�,���;	*�~*�v��MNO�	�����M*���L*�+�y��RST���	���n#*��{��<*��|*��|��WXY"Z�#����@��B��Y��L*���M>,��+,.6*���:�+����W����+��&	]^_`a)b.c:_@f�>�)��.�B��:2�:	��'�
��@*���L+��M��Y��N,:�66�2:-��W����-��qrst/u8t>w�R/	��% �!�@��8�2*��*�	��!�
��D��Y��N+��:���#����:-,����W���*�&-,����{|&}7~:�C��>&��*D��DD<� D	D<�� !�)"#$��_+���Z*�+����=�*������*���*����'*�N��Y-*���:*�+��+������*����&�/�:�?�M�^��4?M%&K'�_��_()�?	�	�/�.*+�A	*�0�������	��	,�-.�2*�0��������/0��5��Y��:���������:Y�;�<���	����"�2��>5��51�52�53�54�	,��56�/*���)�7�86�/*�	��)�7�9:�/*���)�7�;<�:*+���)�7�=)>:�/*���)�7�?:�/*���)�7�@:�/*���)�7�AB�;*Z���)�7�=�C:�/*���)�7�DE�/*���)�7�FG�j
.��B��$��U��P��L��nkhd\Y!PKʣG�2S��-chatty/gui/components/FollowersDialog$1.class���34	 !"#$%&'this$0'Lchatty/gui/components/FollowersDialog;<init>*(Lchatty/gui/components/FollowersDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FollowersDialog$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileFollowersDialog.javaEnclosingMethod(+,-
.
/012,'chatty/gui/components/FollowersDialog$1java/lang/Objectjava/awt/event/ActionListener%chatty/gui/components/FollowersDialog3Type�(Lchatty/gui/components/FollowersDialog$Type;Ljava/awt/Window;Lchatty/util/api/TwitchApi;Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$000access$100access$200=(Lchatty/gui/components/FollowersDialog;)Ljavax/swing/JTable;javax/swing/JTablerepaint*chatty/gui/components/FollowersDialog$Type 	
4*+�*���Y*��*��*��������)*@PKʣG�3���-chatty/gui/components/FollowersDialog$2.class���3+	 !this$0'Lchatty/gui/components/FollowersDialog;<init>*(Lchatty/gui/components/FollowersDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FollowersDialog$2;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
mouseReleasedSourceFileFollowersDialog.javaEnclosingMethod"	%	&'()('chatty/gui/components/FollowersDialog$2java/awt/event/MouseAdapter%chatty/gui/components/FollowersDialog*Type�(Lchatty/gui/components/FollowersDialog$Type;Ljava/awt/Window;Lchatty/util/api/TwitchApi;Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$300E(Lchatty/gui/components/FollowersDialog;Ljava/awt/event/MouseEvent;)Vaccess$400*chatty/gui/components/FollowersDialog$Type 	4*+�*���
M*�+�*�+�����
M*�+�*�+�����
#$@PKʣG�?,[[-chatty/gui/components/FollowersDialog$3.class���3(	this$0'Lchatty/gui/components/FollowersDialog;<init>*(Lchatty/gui/components/FollowersDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/FollowersDialog$3;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
mouseReleasedSourceFileFollowersDialog.javaEnclosingMethod #$%&'chatty/gui/components/FollowersDialog$3java/awt/event/MouseAdapter%chatty/gui/components/FollowersDialog'Type�(Lchatty/gui/components/FollowersDialog$Type;Ljava/awt/Window;Lchatty/util/api/TwitchApi;Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$500E(Lchatty/gui/components/FollowersDialog;Ljava/awt/event/MouseEvent;)V*chatty/gui/components/FollowersDialog$Type 	4*+�*���
A	*�+����	
	A	*�+����	
	!"@PKʣG��9chatty/gui/components/FollowersDialog$MyContextMenu.class���3>	"
#$%&'()*+,-./01this$0'Lchatty/gui/components/FollowersDialog;<init>*(Lchatty/gui/components/FollowersDialog;)VCodeLineNumberTableLocalVariableTablethis
MyContextMenuInnerClasses5Lchatty/gui/components/FollowersDialog$MyContextMenu;saveMenuLjava/lang/String;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileFollowersDialog.java2Export list to filesaveSimpleNames only34saveVerboseNames and dates56789:;<=3chatty/gui/components/FollowersDialog$MyContextMenu'chatty/gui/components/menus/ContextMenu()VaddItem9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z%chatty/gui/components/FollowersDialogaccess$700+(Lchatty/gui/components/FollowersDialog;Z)V 
e!*+�*�M*�*���	��� �!z,+�	��*���+�	��*������#�+�,, !.PKʣG�3��<chatty/gui/components/FollowersDialog$MyListTableModel.class���3*	 !"$%this$0'Lchatty/gui/components/FollowersDialog;<init>*(Lchatty/gui/components/FollowersDialog;)VCodeLineNumberTableLocalVariableTablethisMyListTableModelInnerClasses8Lchatty/gui/components/FollowersDialog$MyListTableModel;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndex	SignatureKLchatty/gui/components/settings/ListTableModel<Lchatty/util/api/Follower;>;SourceFileFollowersDialog.java	java/lang/StringNameFollowed&'()6chatty/gui/components/FollowersDialog$MyListTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)Vget(I)Ljava/lang/Object;%chatty/gui/components/FollowersDialog 	
J*+�*�YSYS��uvw
D*��� #PKʣG�c�&;chatty/gui/components/FollowersDialog$MyRenderer$Type.class���38	()*+,-
.	/	01NAME3MyRendererInnerClassesType7Lchatty/gui/components/FollowersDialog$MyRenderer$Type;TIME$VALUES8[Lchatty/gui/components/FollowersDialog$MyRenderer$Type;values:()[Lchatty/gui/components/FollowersDialog$MyRenderer$Type;CodeLineNumberTablevalueOfK(Ljava/lang/String;)Lchatty/gui/components/FollowersDialog$MyRenderer$Type;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>ILjava/lang/Enum<Lchatty/gui/components/FollowersDialog$MyRenderer$Type;>;SourceFileFollowersDialog.java455chatty/gui/components/FollowersDialog$MyRenderer$Type6  
java/lang/Enum70chatty/gui/components/FollowersDialog$MyRendererclone()Ljava/lang/Object;5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;%chatty/gui/components/FollowersDialog@1@
@	"�����	5*���� 1*+���!"#$#J.�Y��	�Y���Y�	SY�S����"%&'2@PKʣGs�03;;6chatty/gui/components/FollowersDialog$MyRenderer.class���3�-W	,XYZ,[\,]^,_`	0a		b		cdedfgh,igj,kglmn�		o	,p�	,q	,rgs	0t	:�	,uQ�	,v		w	*x,yz*{}~MyRendererInnerClassesTypeBG_COLOR_NEWLjava/awt/Color;BG_COLOR_RECENT
BG_COLOR_HOURCOLOR_OLDER_THAN_WEEKCOLOR_OLDER_THAN_DAYtype7Lchatty/gui/components/FollowersDialog$MyRenderer$Type;<init>:(Lchatty/gui/components/FollowersDialog$MyRenderer$Type;)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/FollowersDialog$MyRenderer;getTableCellRendererComponent@(Ljavax/swing/JTable;Ljava/lang/Object;ZZII)Ljava/awt/Component;agoJtableLjavax/swing/JTable;valueLjava/lang/Object;isSelectedZhasFocusrowIcolumnfLchatty/util/api/Follower;
StackMapTable`<clinit>()VSourceFileFollowersDialog.java:T89�������error��chatty/util/api/Follower�9���D��������������������J234353���96373�J�3��java/awt/Color:��0chatty/gui/components/FollowersDialog$MyRenderer*javax/swing/table/DefaultTableCellRenderer5chatty/gui/components/FollowersDialog$MyRenderer$Typejavax/swing/BorderFactorycreateEmptyBorder!(IIII)Ljavax/swing/border/Border;	setBorder(Ljavax/swing/border/Border;)VsetText(Ljava/lang/String;)VsetToolTipTextNAMEnameLjava/lang/String;timechatty/util/DateTimeagoSingleVerbose(J)Ljava/lang/String;formatFullDatetimejavax/swing/JTablegetSelectionBackground()Ljava/awt/Color;
setBackground(Ljava/awt/Color;)VgetSelectionForeground
setForeground
getForegroundjava/lang/SystemcurrentTimeMillis()JnewFollower
getBackgroundTIMErefollowGRAYsetHorizontalAlignment(I)V(III)V%chatty/gui/components/FollowersDialog ,-234353637389:;<U*�*+�*���=��	��>?@89AB<9,�*�*�*�,�	:*���*��*���*��
�*����*+��*+����*+����em7��
*���1��
*�����
*���*+��*�� �&!��
*�#��$��*�&�*����'�*�(�*�� �*�)�*�)*�=�"������"�+�7�C�O�S�[�f�n�}��������������������

>\	}�CD?@EFGHIJKJLMNMOPQ
�$R�(�ST<�]�*Y��ҷ+��*Y���+��*Y����+��*Y����+�#�*Yxxx�+�&�=��&�9�L�UV/,|.0,1@PKʣG�4271chatty/gui/components/FollowersDialog$Stats.class���3�4o5p	4qrst	4u	vwxy	p	vzs{|}~~���	��s��4�	��������	���	����#p'��4�	:��Q�������4�����TIMESLjava/util/Map;	Signature6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;TIMES2<init>()VCodeLineNumberTableLocalVariableTablethisStatsInnerClasses-Lchatty/gui/components/FollowersDialog$Stats;add(ILjava/lang/String;)VsecondsIlabelLjava/lang/String;add2
makeFullStats2(Lchatty/util/api/FollowerInfo;)Ljava/lang/String;timeLjava/lang/Integer;i$Ljava/util/Iterator;infoLchatty/util/api/FollowerInfo;bLjava/lang/StringBuilder;	followersLjava/util/List;firstZLocalVariableTypeTable,Ljava/util/List<Lchatty/util/api/Follower;>;
StackMapTable�y���statsForTime7(Ljava/util/List;ILjava/lang/String;)Ljava/lang/String;fLchatty/util/api/Follower;iok�S(Ljava/util/List<Lchatty/util/api/Follower;>;ILjava/lang/String;)Ljava/lang/String;	makeStatsaccess$600x0<clinit>SourceFileFollowersDialog.javaKL;<67�����:7��Xjava/lang/StringBuilderUV����������java/lang/Integer | ������java/lang/Stringab�������chatty/util/api/Follower���M�: ��+: 0java/util/LinkedHashMapThis MonthDE	This WeekToday	Last HourLast 30 MinutesLast 15 MinutesLast 5 MinutesWeekJEDayHour�+chatty/gui/components/FollowersDialog$Statsjava/lang/Objectchatty/util/api/FollowerInfojava/util/Listjava/util/IteratorvalueOf(I)Ljava/lang/Integer;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;requestErrorkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;intValue()Iget&(Ljava/lang/Object;)Ljava/lang/Object;toString()Ljava/lang/String;size(I)Ljava/lang/Object;java/lang/SystemcurrentTimeMillis()JJ(I)Ljava/lang/StringBuilder;%chatty/gui/components/FollowersDialog 456789:789;<=/*��> ?@CDE=G��+�W�>45?FGHIJE=G��+�W�>89?FGHIKL=.n*����	Y�L*�M>���
:��:��:�+�W+,������W>���+��>2<=?@AB>CBDIFdGfHiI?>>(MN(AOPnQR\STWUVUWXYWUZ[ �\]^_� `�ab=9�>*�d6�k*��:��em���>�@��	Y�,��`� ���	Y�,��� !���������	Y�,�"���>*MNOP1Q6R:SUUsNyX?>UcdmeG�UV�FG�HI�fXY�UZ[��)g��8hiL=w�*���*�L���
M,��|,��N6+�d6�]+��:��em-����	6�.�)�	Y��-����`� �����������>:\]_`0a3bBcOdeekfpg�b�j�k?HOGcd=_eG3ifX0lMN�OP�QR�UVY�UZ[#�^_�`�-g�*��jL=/*��> ?kRl<=�`�#Y�$��#Y�$�%&�'()�'*+�',�'-�'�.�',/�'(0�1*2�13�1�>6
"#&'"())1*9+A,I.P/W0_1mnB4�APKʣG��W0chatty/gui/components/FollowersDialog$Type.class���3?	,-.012	345	67	89	FOLLOWERSTypeInnerClasses,Lchatty/gui/components/FollowersDialog$Type;SUBSCRIBERSnameLjava/lang/String;$VALUES-[Lchatty/gui/components/FollowersDialog$Type;values/()[Lchatty/gui/components/FollowersDialog$Type;CodeLineNumberTablevalueOf@(Ljava/lang/String;)Lchatty/gui/components/FollowersDialog$Type;LocalVariableTable<init>((Ljava/lang/String;ILjava/lang/String;)Vthis	Signature(Ljava/lang/String;)VtoString()Ljava/lang/String;<clinit>()V>Ljava/lang/Enum<Lchatty/gui/components/FollowersDialog$Type;>;SourceFileFollowersDialog.java:;<*chatty/gui/components/FollowersDialog$Type= >	Followers !Subscribersjava/lang/Enumclone()Ljava/lang/Object;%chatty/gui/components/FollowersDialog5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;(Ljava/lang/String;I)V@1@@	"����;	5*���; !H*+�*-��@AB"#$%&/*��F"'(N2�Y	���Y
���Y�SY�S��<;#)*+/@PKʣG�{F/�7�7+chatty/gui/components/FollowersDialog.class���3��X�Y�Z�[	�\�]�^�_`a	b	�cd	�efg	�h	i	�jkg	�l��������	�m	�n	�o	�pqi�rstu!iv!w!x!y	z�{|)}	~	~��s�	~�	~��1�1�1�1����	��7���	���<�1�1���1�1���1��E���HgG�G�G��Mg1����Qg��������1�1�1������\i1����	`��������e�����e����1�1�1���	<�������������	����	��	����	����	��	����	��	������	������������	�������	������	��������	��������!�������	

	`��� !"#$%&'()
MyContextMenuInnerClassesMyListTableModel*StatsMyRenderer+Type
REFRESH_TIMERI
ConstantValue'totalLjavax/swing/JLabel;statstableLjavax/swing/JTable;	followers/Lchatty/gui/components/settings/ListTableModel;	SignatureKLchatty/gui/components/settings/ListTableModel<Lchatty/util/api/Follower;>;loadInfoapiLchatty/util/api/TwitchApi;type,Lchatty/gui/components/FollowersDialog$Type;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;mainContextMenu5Lchatty/gui/components/FollowersDialog$MyContextMenu;streamLjava/lang/String;currentInfoLchatty/util/api/FollowerInfo;
lastValidInfoloadingZlastUpdatedJ<init>�(Lchatty/gui/components/FollowersDialog$Type;Ljava/awt/Window;Lchatty/util/api/TwitchApi;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis'Lchatty/gui/components/FollowersDialog;ownerLjava/awt/Window;gbcLjava/awt/GridBagConstraints;timerLjavax/swing/Timer;
selectClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;row
StackMapTableopenContextMenuselectedLchatty/util/api/Follower;selectedRowarr$[Ilen$i$m0Lchatty/gui/components/menus/StreamsContextMenu;streamsLjava/util/Collection;selectedRowsLocalVariableTypeTable*Ljava/util/Collection<Ljava/lang/String;>;(,-openMainContextMenuadjustColumnSize()Vrenderer%Ljavax/swing/table/TableCellRenderer;compLjava/awt/Component;widthsetColumnWidth(IIII)VcolumnminwidthmaxwidthtcLjavax/swing/table/TableColumn;.requestupdateshowDialog(Ljava/lang/String;)VsetFollowerInfo!(Lchatty/util/api/FollowerInfo;)VinfosetNewFollowerInfoupdateTotalLabel?(Lchatty/util/api/FollowerInfo;Lchatty/util/api/FollowerInfo;)VchangechangeStringnewInfooldInfoupdateStatssaveToFile(Z)VfLjava/util/Iterator;x2Ljava/lang/Throwable;writerLjava/io/BufferedWriter;exLjava/io/IOException;pathLjava/nio/file/Path;fileonlyName/012�!access$000*(Lchatty/gui/components/FollowersDialog;)Vx0access$100access$200=(Lchatty/gui/components/FollowersDialog;)Ljavax/swing/JTable;access$300E(Lchatty/gui/components/FollowersDialog;Ljava/awt/event/MouseEvent;)Vx1access$400access$500access$700+(Lchatty/gui/components/FollowersDialog;Z)VSourceFileFollowersDialog.java45������%$�3javax/swing/JLabelTotal: 123.456 (+123.456)�'��!| Week: 99+ | Day: 99+ | Hour: 23��6chatty/gui/components/FollowersDialog$MyListTableModel�J�����3chatty/gui/components/FollowersDialog$MyContextMenu����������java/awt/GridBagLayout45678java/lang/StringBuilderTotal number of 9:9;<=>'?@java/awt/Insets�ABCDEO in the last 7 days (Week), 24 hours (Day) and Hour (based on the current list)7FG�HEjavax/swing/JTable�IJ5KLMNOPQ0chatty/gui/components/FollowersDialog$MyRendererRST�U.VWXTjava/awt/Dimension�YZ[\]^_`abcdefghijavax/swing/JScrollPane�jjavax/swing/Timer'chatty/gui/components/FollowersDialog$1�kl5m'chatty/gui/components/FollowersDialog$2nopq'chatty/gui/components/FollowersDialog$3rstY,uvwxyz{|}~Y�java/util/HashSet�����chatty/util/api/Follower�����-?���.chatty/gui/components/menus/StreamsContextMenu���g�g�����g������������i�i�i����������'���'��/��%s (%s ago, updated %s ago)java/lang/Object����������'%s (%s ago)Last updated %s ago��	Loading..3 of  (100 most recent)�'���Total: -���5+)����,-�� (��) (+9�Total: ���| ��| Week: - | Day: - | Hour: -��=java/lang/Stringexported���<=.txt0��%java/nio/file/attribute/FileAttribute���UTF-8���java/nio/file/OpenOption�����2����1�'	����java/lang/Throwable��java/io/IOExceptionFailed to write file.��� exported to: 
File written.No data to write.%chatty/gui/components/FollowersDialogjavax/swing/JDialog+chatty/gui/components/FollowersDialog$Stats*chatty/gui/components/FollowersDialog$Typejava/awt/event/MouseEventjava/util/Collectionjavax/swing/table/TableColumnchatty/util/api/FollowerInfojava/nio/file/Pathjava/io/BufferedWriterjava/util/Iterator(Ljava/awt/Window;)V	setLayout(Ljava/awt/LayoutManager;)Vchatty/gui/GuiUtilmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setToolTipTextadd)(Ljava/awt/Component;Ljava/lang/Object;)Vjava/awt/GridBagConstraintsinsetsLjava/awt/Insets;weightxD#(IIII)Ljava/awt/GridBagConstraints;fillweighty!(Ljavax/swing/table/TableModel;)VsetShowGridsetTableHeader#(Ljavax/swing/table/JTableHeader;)VgetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel	getColumn"(I)Ljavax/swing/table/TableColumn;5chatty/gui/components/FollowersDialog$MyRenderer$TypeNAME7Lchatty/gui/components/FollowersDialog$MyRenderer$Type;:(Lchatty/gui/components/FollowersDialog$MyRenderer$Type;)VsetCellRenderer((Ljavax/swing/table/TableCellRenderer;)VTIME(II)VsetIntercellSpacing(Ljava/awt/Dimension;)VgetFont()Ljava/awt/Font;
java/awt/FontderiveFont(I)Ljava/awt/Font;setFont(Ljava/awt/Font;)VgetFontMetrics'(Ljava/awt/Font;)Ljava/awt/FontMetrics;java/awt/FontMetrics	getHeight()IsetRowHeight(I)V(Ljava/awt/Component;)V#(ILjava/awt/event/ActionListener;)VsetRepeatsstartaddMouseListener!(Ljava/awt/event/MouseListener;)VgetContentPane()Ljava/awt/Container;java/awt/ContainerpacksetSizegetPoint()Ljava/awt/Point;rowAtPoint(Ljava/awt/Point;)I
isRowSelected(I)ZgetSelectionModel"()Ljavax/swing/ListSelectionModel;javax/swing/ListSelectionModelsetSelectionIntervalisPopupTrigger()ZgetSelectedRows()[I-chatty/gui/components/settings/ListTableModelget(I)Ljava/lang/Object;namechatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;(Ljava/lang/Object;)ZisEmptyJ(Ljava/util/Collection;Lchatty/gui/components/menus/ContextMenuListener;)VgetXgetYshow(Ljava/awt/Component;II)VgetComponent()Ljava/awt/Component;getRowCountgetCellRenderer)(II)Ljavax/swing/table/TableCellRenderer;prepareRenderer=(Ljavax/swing/table/TableCellRenderer;II)Ljava/awt/Component;java/awt/ComponentgetPreferredSize()Ljava/awt/Dimension;java/lang/Mathmax(II)IsetPreferredWidthsetMaxWidthsetMinWidth	isVisible	FOLLOWERSchatty/util/api/TwitchApigetFollowersSUBSCRIBERSgetSubscribersrequestErrorrequestErrorDescriptiontimechatty/util/DateTimeagoSingleCompact(J)Ljava/lang/String;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;setTextagoSingleVerbosesetTitleequalsclearsetVisibleLjava/util/List;setData(Ljava/util/Collection;)VvalueOf(I)Ljava/lang/String;(I)Ljava/lang/StringBuilder;
chatty/HelperformatViewerCountaccess$6002(Lchatty/util/api/FollowerInfo;)Ljava/lang/String;
chatty/ChattygetUserDataDirectoryjava/nio/file/Paths;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;resolve((Ljava/lang/String;)Ljava/nio/file/Path;java/nio/file/FilescreateDirectoriesR(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;newBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;java/util/Listiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;writeformatFullDatetimenewLineclose
addSuppressed(Ljava/lang/Throwable;)Vjavax/swing/JOptionPaneshowMessageDialog<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)V!���������������������������������������'*,�*�	Y��*�	Y
��*�Y*��*�	Y��*�Y*��*�*�*+�*-�*�Y��� :*��!Y�"#�$+�%�&�'**��(� :�)Y�*�+�,*��!Y�"+�%-�$�&�'**��(�.:�/�,�0�)Y�*�+*�1Y*��2�*��3*��4*��5�6�7Y�8�9�:*��5�6�7Y�;�9�:*��<Y�=�>*�*��?�@�A*�*�*��?�B�C`�D*�EY*��F�(� :�)Y�*�+**��(�GY'�HY*�I�J:�K�L*��MY*�N�O*�P�QY*�R�S*�T*,��U���,wOPS+T6ZBsIyOzT{Y~d�o��������������������������#�=�W�g�y�����������������������H����������o����8������+*�+�V�W=�*��X�*��Y�Z�����*�� +��+�����*��`	|+�[�w�\Y�]M*��^N-:�66�-.6*��_�`:,�a�b�cW����,�d�"�eY,*��f:*�+�g+�h�i��.����0�>�M�S�\�j�{��f>0�94�"1�j	ld
|��|��l �"�0�'��`+�[�*�+�j+�g+�h�k������������A<=*��l�,*��mN*�-�n:�o�p�q<����*�r��"����%�2�8�@��4%
4��A��?���3��,*��5�6:�s��t�	�u��
!%+�>,��,�,�,�, �!"	�!#	$��K*�v�F*�w�?*�w�x�5*�y*��z�*�*�w�{�*��|�*�*�w�}��'5?J �K��5%��*�~��*�~��l*���7*����Y*�~��SY*�~����SY*���S�����G*����Y*�~��SY*�~����S�����*����Y*���S����*�y�*����*����*&'()P/z5�:�;�=�>�����P)&'��x*+�w*�!Y�"*��%��$+�$��$�&��*�~�*�~��+���0*���*����*���*�~*��*�*��*��*�*���:FG(H=KDLMMUNZO_PfQjSoTsUwV�x��x��=,()��?+��*�w���3*�y+��*�~�*�~��+����*+��*+�~*���_`a0e5g:h>j�?��?*�0+)�n&*+��*�+����*+*�~��*+���*����rstu!v%w�&��&*�,-�E�,��+,��,��*�w����,��{+��,��d>�:�#�!Y�"��$���$��$�&:�!��!Y�"��$����$�&:*��!Y�"��$+�����$�$�&���#*��!Y�"��$+�����$�&����.��(�,�0�P�T�n��������4(k.�,g/�����0��1��P2�'3�t4*���&*��!Y�"��$*�����$�&���*��������*�3��4��*45�k*��M,�[����Y�S��N-�!Y�"*����b�$��$�&��:-����W�������::*������:���h���`:�a���F�!Y�"��$�����$�&���!Y�"��$�����$��$�&��������U����H:���<���4::�:	�!����:�����	��:*����*�!Y�"*��%��$�%�&����*���������Y���Y���=-0��b��	��=�F�Y�}����������������-�0�2�;�<�^�a�j��p}V6go7�8989V�:;2<=E>?=!@?k��kA�f*�v�gBCCDEF�fG�QEGEHE�BCCDEEE�BCCBH�$IJ�/*���9�K�LJ�/*���9�K�MN�/*���9�K�OP�:*+���9�K�Q�RP�:*+���9�K�Q�SP�:*+���9�K�Q�TU�:*���9�K�Q�VW�J	�������7�����@QMH�7�@PKʣG�q��1chatty/gui/components/HighlightedMessages$1.class���3SourceFileHighlightedMessages.javaEnclosingMethod+chatty/gui/components/HighlightedMessages$1InnerClassesjava/lang/Object)chatty/gui/components/HighlightedMessages 	PKʣGJ����Echatty/gui/components/HighlightedMessages$MyContextMenuListener.class���3gD	EFGHIJKLMLNOPQRSTUVWthis$0+Lchatty/gui/components/HighlightedMessages;<init>.(Lchatty/gui/components/HighlightedMessages;)VCodeLineNumberTableLocalVariableTablethisMyContextMenuListenerInnerClassesALchatty/gui/components/HighlightedMessages$MyContextMenuListener;menuItemClicked(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableuserMenuItemClicked,(Ljava/awt/event/ActionEvent;Lchatty/User;)Vuser
Lchatty/User;urlMenuItemClicked1(Ljava/awt/event/ActionEvent;Ljava/lang/String;)VurlLjava/lang/String;streamsMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)VstreamsLjava/util/Collection;LocalVariableTypeTable*Ljava/util/Collection<Ljava/lang/String;>;	SignatureI(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Ljava/lang/String;>;)VstreamInfosMenuItemClickedstreamInfos4Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;S(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;)VemoteMenuItemClickedY
EmoticonImageG(Ljava/awt/event/ActionEvent;Lchatty/util/api/Emoticon$EmoticonImage;)Vemote(Lchatty/util/api/Emoticon$EmoticonImage;Z[(Lchatty/gui/components/HighlightedMessages;Lchatty/gui/components/HighlightedMessages$1;)Vx0x1-Lchatty/gui/components/HighlightedMessages$1;SourceFileHighlightedMessages.java[\]^clearHighlights_`abc[de"#&'*+2+69?chatty/gui/components/HighlightedMessages$MyContextMenuListenerjava/lang/Object/chatty/gui/components/menus/ContextMenuListenerf&chatty/util/api/Emoticon$EmoticonImage+chatty/gui/components/HighlightedMessages$1()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z)chatty/gui/components/HighlightedMessagesclearaccess$200^(Lchatty/gui/components/HighlightedMessages;)Lchatty/gui/components/menus/ContextMenuListener;chatty/util/api/Emoticon 4*+�*���j!+���*��*��+�	���� �!! !"#Q*��+,����  $%&'Q*��+,����  ()*+c*��+,����  ,-.,/012+c*��+,�
���  3-.340569Q*��+,����  :;>D*+��� ?@ABCL7X8<LPKʣG��bAchatty/gui/components/HighlightedMessages$MyVisibleListener.class���3*	 !"#$this$0+Lchatty/gui/components/HighlightedMessages;<init>.(Lchatty/gui/components/HighlightedMessages;)VCodeLineNumberTableLocalVariableTablethisMyVisibleListenerInnerClasses=Lchatty/gui/components/HighlightedMessages$MyVisibleListener;componentShown"(Ljava/awt/event/ComponentEvent;)VeLjava/awt/event/ComponentEvent;%[(Lchatty/gui/components/HighlightedMessages;Lchatty/gui/components/HighlightedMessages$1;)Vx0x1-Lchatty/gui/components/HighlightedMessages$1;SourceFileHighlightedMessages.java		&'();chatty/gui/components/HighlightedMessages$MyVisibleListenerjava/awt/event/ComponentAdapter+chatty/gui/components/HighlightedMessages$1()V)chatty/gui/components/HighlightedMessagesaccess$302/(Lchatty/gui/components/HighlightedMessages;I)I 	4*+�*���
B*��W��	�
	D*+���
 !!PKʣG܏T�8chatty/gui/components/HighlightedMessages$TextPane.class���3.		 !"$%<init>/(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;)VCodeLineNumberTableLocalVariableTablethisTextPaneInnerClasses4Lchatty/gui/components/HighlightedMessages$TextPane;mainLchatty/gui/MainGui;styleServerLchatty/gui/StyleServer;clear()VSourceFileHighlightedMessages.java&'1chatty/gui/components/menus/HighlightsContextMenu()*+,-2chatty/gui/components/HighlightedMessages$TextPane.chatty/gui/components/textpane/ChannelTextPanelinkController/Lchatty/gui/components/textpane/LinkController;-chatty/gui/components/textpane/LinkControllersetDefaultContextMenu,(Lchatty/gui/components/menus/ContextMenu;)VsetText(Ljava/lang/String;)V)chatty/gui/components/HighlightedMessages 	[*+,�*��Y���
��� 5*��
��#PKʣGQ��-/chatty/gui/components/HighlightedMessages.class���3�	0u	0v1w	0x	0y	0z	0{0|}	~0��	0��~����0���0�0�0������	0����"�"���"�	0�0��"��0������InnerClassesMyVisibleListenerMyContextMenuListenerTextPanemessages4Lchatty/gui/components/HighlightedMessages$TextPane;currentChannelLjava/lang/String;currentChannelMessageCountIdisplayedCountnewCountsetChatIconsYetZtitlelabelcontextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;<init>�(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;Ljava/lang/String;Ljava/lang/String;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis+Lchatty/gui/components/HighlightedMessages;ownerLchatty/gui/MainGui;styleServerLchatty/gui/StyleServer;scrollLjavax/swing/JScrollPane;addMessage�	TagEmotes[(Ljava/lang/String;Lchatty/User;Ljava/lang/String;ZLchatty/util/api/Emoticons$TagEmotes;Z)Vchanneluser
Lchatty/User;textactionemotes%Lchatty/util/api/Emoticons$TagEmotes;whispermessageLchatty/gui/Message;addInfoMessage'(Ljava/lang/String;Ljava/lang/String;)VmessageAdded(Ljava/lang/String;)V
StackMapTableupdateTitle()V
refreshStylescleargetDisplayedCount()IgetNewCountaccess$200^(Lchatty/gui/components/HighlightedMessages;)Lchatty/gui/components/menus/ContextMenuListener;x0access$302/(Lchatty/gui/components/HighlightedMessages;I)Ix1SourceFileHighlightedMessages.java?=DEF�<=@AB;C;fg;chatty/gui/components/HighlightedMessages$MyVisibleListenerF���2chatty/gui/components/HighlightedMessages$TextPaneF�89?chatty/gui/components/HighlightedMessages$MyContextMenuListener��javax/swing/JScrollPaneF�����java/awt/DimensionF����gcdchatty/gui/MessageF������d:;���java/lang/StringBuilderFg�� in :��>=�� (��)�dhgig)chatty/gui/components/HighlightedMessagesjavax/swing/JDialog+chatty/gui/components/HighlightedMessages$1�#chatty/util/api/Emoticons$TagEmotes(Ljava/awt/Frame;)V[(Lchatty/gui/components/HighlightedMessages;Lchatty/gui/components/HighlightedMessages$1;)VaddComponentListener%(Ljava/awt/event/ComponentListener;)V/(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;)VsetContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)V(Ljava/awt/Component;)V
setScrollPane(Ljavax/swing/JScrollPane;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;(II)VsetPreferredSize(Ljava/awt/Dimension;)VpackG(Lchatty/User;Ljava/lang/String;Lchatty/util/api/Emoticons$TagEmotes;)VsetWhisper(Z)VprintMessage(Lchatty/gui/Message;)V	printLinejava/lang/Stringequals(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;	isVisible()Z(I)Ljava/lang/StringBuilder;setTitlechatty/util/api/Emoticons!01	89:;<=>=?=@AB;C;DEFGH#�*+�*�*�*-�*�*�*�*�	Y*��*�Y+,�
�*��Y*���Y*��:*��*�W*�Y�,��*��IB; (<=> ?$A1C>DNI[JdLkN|P�QJH�KL�MN�OP�B;�C;�DE[&QRSVH�#*+��Y,-�:�*���IUVWX"YJR#KL#W;#XY#Z;#[A#\]#^A_`abHT*+�*�,��I\]
^J KLW;Z;cdH�u*� �*� +�!�*��3*��"Y�#*��$%�$+�$&�$�'�*+� *�*Y�`�*Y�(`�(*�*�)�
*Y�`��I*acAdFeKgUh_icjjktmJuKLuW;e/(fgHy9*�(�,*�"Y�#*��$*�$*�(�+,�$�'�-�**��-�Ipq0s8uJ9KLe0hgH6*��.�IxyJKLigHY*��/*� *�*�(*��I�����JKLjkH/*�(�I�JKLlkH/*��I�JKLmnH/*��IJoLpqH;*Z��IJoLr=st4*20	050607T�U	PKʣGw����(chatty/gui/components/JoinDialog$1.class���3'	 !"this$0"Lchatty/gui/components/JoinDialog;<init>%(Lchatty/gui/components/JoinDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses$Lchatty/gui/components/JoinDialog$1;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileJoinDialog.javaEnclosingMethod#	$	%&"chatty/gui/components/JoinDialog$1java/lang/Object"javax/swing/event/DocumentListener chatty/gui/components/JoinDialog(Lchatty/gui/MainGui;)V()Vaccess$000 	4*+�*��-
@*���12
@*���67
@*���;<
PKʣG��d���(chatty/gui/components/JoinDialog$2.class���3Z	-	./01+2+3+4+5+6+789:;<=>?@	val$ownerLchatty/gui/MainGui;this$0"Lchatty/gui/components/JoinDialog;<init>9(Lchatty/gui/components/JoinDialog;Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClasses$Lchatty/gui/components/JoinDialog$2;actionPerformed(Ljava/awt/event/ActionEvent;)VselectedFavoritesLjava/util/Set;eLjava/awt/event/ActionEvent;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;
StackMapTableSourceFileJoinDialog.javaEnclosingMethodABCDEFGHIJKLMNOHPHQRSTUVWXY"chatty/gui/components/JoinDialog$2java/lang/Objectjava/awt/event/ActionListener chatty/gui/components/JoinDialog(Lchatty/gui/MainGui;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$1009(Lchatty/gui/components/JoinDialog;)Ljavax/swing/JButton;access$200<(Lchatty/gui/components/JoinDialog;)Ljavax/swing/JTextField;access$302&(Lchatty/gui/components/JoinDialog;Z)ZsetVisible(Z)Vaccess$400access$500chatty/gui/MainGuichooseFavorites7(Ljava/awt/Component;Ljava/lang/String;)Ljava/util/Set;
chatty/HelperbuildStreamsString*(Ljava/util/Collection;)Ljava/lang/String;javax/swing/JTextFieldsetText(Ljava/lang/String;)V 9*+�*,�*��\ �t+�*���+�*���*��W*���F+�*��	�*���-+�*���*�*��M*��,�
��&	`a%b0c>dIeWfegsi e!"tt#$%e!&')()*+,PKʣG�����&chatty/gui/components/JoinDialog.class���3	E�	E�	E�	E�	E�E�F����� ����E�E�E���E������E����E���	?�	?��#� � �?陙����	?��*� ��E�G��E�E�����6����� ���� ���?�	?�	?�	?�	?���InnerClasseschannelsLjavax/swing/JTextField;joinButtonLjavax/swing/JButton;cancelButtonfavoritesButtonjoinZ<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis"Lchatty/gui/components/JoinDialog;ownerLchatty/gui/MainGui;gbcLjava/awt/GridBagConstraints;listenerLjava/awt/event/ActionListener;showDialog()Ljava/util/Set;
StackMapTable	Signature%()Ljava/util/Set<Ljava/lang/String;>;getChannelschannelLjava/lang/String;arr$[Ljava/lang/String;len$Ii$chanschansArrayresultLjava/util/Set;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;��g�changed()Vempty�makeGbc#(IIII)Ljava/awt/GridBagConstraints;xywhaccess$000%(Lchatty/gui/components/JoinDialog;)Vx0access$1009(Lchatty/gui/components/JoinDialog;)Ljavax/swing/JButton;access$200<(Lchatty/gui/components/JoinDialog;)Ljavax/swing/JTextField;access$302&(Lchatty/gui/components/JoinDialog;Z)Zx1access$400access$500SourceFileJoinDialog.javaNLMLOPIJKLuvQ�javax/swing/JTextFieldQ�javax/swing/JButtonJoinQ�CancelFavorites / HistoryJoin Channel������java/awt/GridBagLayoutQv����"chatty/gui/components/JoinDialog$1Q����yzjavax/swing/JLabel	Channel: ��java/awt/InsetsQ����ijava/awt/DimensionQ�������"chatty/gui/components/JoinDialog$2Q����v������c_�����java/util/HashSet���������
Join channelsJoin channeljava/awt/GridBagConstraints�i�i�i�i chatty/gui/components/JoinDialogjavax/swing/JDialogjava/lang/String
java/util/Set(Ljava/awt/Frame;)V(I)V(Ljava/lang/String;)VsetTitlesetResizable(Z)VsetModal	setLayout(Ljava/awt/LayoutManager;)VgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(IIII)VinsetsLjava/awt/Insets;fill(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetMnemonicweightxD9(Lchatty/gui/components/JoinDialog;Lchatty/gui/MainGui;)VaddActionListener"(Ljava/awt/event/ActionListener;)VpacksetTextrequestFocusInWindow()ZsetVisiblegetText()Ljava/lang/String;
chatty/Helper
parseChannels((Ljava/lang/String;Z)[Ljava/lang/String;(Ljava/lang/Object;)ZisEmptysetEnabledsize()Igridxgridy	gridwidthgridheight!EFIJKLMLNLOPQRSOo*+�*�Y�	�*�Y��*�Y
��*�Y��*�*�*�*�*�Y��*���Y*��*�M*�Y�,�*�M,�Y� �!,�"**�,�*�M,�",�Y� �!*��#Yd�$�%*�F�&**�,�*�M,�",�Y� �!,'�)**�,�*�M,�",�Y� �!**�,��*Y*+�+N*�-�,*�-�,*�-�,*�-�-*�.�T�'&,!9#>'D(I)N+Y-mAvB�D�E�F�H�J�K�L�M�N�O�Q�R�S	TUW"X'Y7Z@\JmRnZobpjrnsU*oVWoXYv�Z[J%\]^_S�4*�/�0*�*�*��1W*�2*��*�/�0*�3�T"v	wxyz{&|/~U4VW`/abc_S�@*��4L+�5M�6Y�7N,:�66�2:-�8W����-�T����/�8�>�UR/	de%fg hi!ji@VW8ke2lg*mno*mp`�!qrsts�abuvS�<*�3L+�9=*����:+�;�*�<�=�*�>�=�T����&�2�;�U <VW7kn0wPo7kp`'�qtx�qtxyzS�5�?Y�@:�A�B�C�D�Y� �!�T�	����"�2�U>5VW5{i5|i5}i5~i	,Z[�S/*��TU�W��S/*��TU�W��S/*��TU�W��S;*Z��TU�W�P��S/*��TU�W��S/*��TU�W��H*PKʣG������'chatty/gui/components/LinkLabel$1.class���38	 !"	#$!%&'()this$0!Lchatty/gui/components/LinkLabel;<init>$(Lchatty/gui/components/LinkLabel;)VCodeLineNumberTableLocalVariableTablethisInnerClasses#Lchatty/gui/components/LinkLabel$1;hyperlinkUpdate%(Ljavax/swing/event/HyperlinkEvent;)Ve"Ljavax/swing/event/HyperlinkEvent;
StackMapTableSourceFileLinkLabel.javaEnclosingMethod*+,-.01234567!chatty/gui/components/LinkLabel$1java/lang/Object#javax/swing/event/HyperlinkListenerchatty/gui/components/LinkLabel>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)V()V javax/swing/event/HyperlinkEventgetEventType	EventType.()Ljavax/swing/event/HyperlinkEvent$EventType;*javax/swing/event/HyperlinkEvent$EventType	ACTIVATED,Ljavax/swing/event/HyperlinkEvent$EventType;getDescription()Ljava/lang/String;access$0006(Lchatty/gui/components/LinkLabel;Ljava/lang/String;)V 	
4*+�*��([+���*�+���,-/#!/PKʣG+�!���%chatty/gui/components/LinkLabel.class���3�+T,U	+V+W+XY+Z+[	+\)]+^_`>abUcd_efg_hijkl+mnopqrs+tuvwx,yzw{|}~)U�InnerClasseslabelLjavax/swing/JLabel;listener)Lchatty/gui/components/LinkLabelListener;<init>>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)VCodeLineNumberTableLocalVariableTablethis!Lchatty/gui/components/LinkLabel;textLjava/lang/String;fontLjava/awt/Font;boldfontRule
StackMapTable���setText(Ljava/lang/String;)VlinkClickedlinkparts[Ljava/lang/String;Jaccess$0006(Lchatty/gui/components/LinkLabel;Ljava/lang/String;)Vx0x1<clinit>()VSourceFileLinkLabel.javaGF3Q12����	text/html�FEF/0�������normaljava/lang/StringBuilderbody { font-family: ����;font-size: ����
font-weight: }����"javax/swing/text/html/HTMLDocument����F!chatty/gui/components/LinkLabel$13���\[([^] ]+) ([^]]+)\]<a href="$1">$2</a>���EF:���G�javax/swing/JLabelchatty/gui/components/LinkLabeljavax/swing/JEditorPanejava/lang/String'chatty/gui/components/LinkLabelListener
java/awt/FontsetEditable(Z)V	setOpaquesetContentTypegetFont()Ljava/awt/Font;setFont(Ljava/awt/Font;)VgetStyle()Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;	getFamily()Ljava/lang/String;getSize(I)Ljava/lang/StringBuilder;toStringgetDocument()Ljavax/swing/text/Document;
getStyleSheet$()Ljavax/swing/text/html/StyleSheet; javax/swing/text/html/StyleSheetaddRule$(Lchatty/gui/components/LinkLabel;)VaddHyperlinkListener((Ljavax/swing/event/HyperlinkListener;)VreplaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;split((Ljava/lang/String;I)[Ljava/lang/String;'(Ljava/lang/String;Ljava/lang/String;)V!+,/012345I�*�*,�*�*�*�*+�*�	���	�N-��
�:�Y��-����-��������:*����*�Y*� �!�66
	(/@ �%�(�17>�89�:;�12/o<=@^>;�?;@�<ABCDABEF5K+"#�$L*+�%�6;	<=789:;GF5}%+&�'M,��*��*�,2,2�(�6FGH$J7 %89%H;IJ@�$KLM5:*+��67N9O;PQ5#�)Y�*�	�6RS.PKʣG�@����-chatty/gui/components/LinkLabelListener.class���3	linkClicked'(Ljava/lang/String;Ljava/lang/String;)VSourceFileLinkLabelListener.java'chatty/gui/components/LinkLabelListenerjava/lang/ObjectPKʣGW����.chatty/gui/components/LiveStreamListener.class���3	liveStreamClicked(Lchatty/util/api/StreamInfo;)VSourceFileLiveStreamListener.java(chatty/gui/components/LiveStreamListenerjava/lang/ObjectPKʣGi�˓��/chatty/gui/components/LiveStreamsDialog$1.class���3&	 this$0)Lchatty/gui/components/LiveStreamsDialog;<init>,(Lchatty/gui/components/LiveStreamsDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/LiveStreamsDialog$1;liveStreamClicked(Lchatty/util/api/StreamInfo;)VstreamLchatty/util/api/StreamInfo;SourceFileLiveStreamsDialog.javaEnclosingMethod!	"	#$%)chatty/gui/components/LiveStreamsDialog$1java/lang/Object(chatty/gui/components/LiveStreamListener'chatty/gui/components/LiveStreamsDialog4(Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$500H(Lchatty/gui/components/LiveStreamsDialog;Lchatty/util/api/StreamInfo;)V 	4*+�*��7
A	*�+��;<
		PKʣGS��KGG/chatty/gui/components/LiveStreamsDialog$2.class���36	!"#$%&%'()+this$0)Lchatty/gui/components/LiveStreamsDialog;<init>,(Lchatty/gui/components/LiveStreamsDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/LiveStreamsDialog$2;listDataChanged()VitemRemoved(Lchatty/util/api/StreamInfo;)VitemLchatty/util/api/StreamInfo;	itemAddedSourceFileLiveStreamsDialog.javaEnclosingMethod-./
01234)chatty/gui/components/LiveStreamsDialog$2java/lang/Object5=chatty/gui/components/LiveStreamsList$ListDataChangedListenerListDataChangedListener'chatty/gui/components/LiveStreamsDialog4(Lchatty/gui/components/menus/ContextMenuListener;)Vaccess$600access$700Y(Lchatty/gui/components/LiveStreamsDialog;)Lchatty/gui/components/LiveStreamsRemovedList;,chatty/gui/components/LiveStreamsRemovedList
addStreamInforemoveStreamInfo%chatty/gui/components/LiveStreamsList 	
4*+�*��C6*���GHD*��+��LMD*��+��QR 	*,	PKʣGÅ�GG/chatty/gui/components/LiveStreamsDialog$3.class���3%	 this$0)Lchatty/gui/components/LiveStreamsDialog;<init>,(Lchatty/gui/components/LiveStreamsDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/LiveStreamsDialog$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileLiveStreamsDialog.javaEnclosingMethod!	"	#$)chatty/gui/components/LiveStreamsDialog$3java/lang/Objectjava/awt/event/ActionListener'chatty/gui/components/LiveStreamsDialog4(Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$800 	4*+�*��X
@*���\]
PKʣG��?]44Gchatty/gui/components/LiveStreamsDialog$LiveStreamsGameComparator.class���3A	+ +,-./-01	2456<init>()VCodeLineNumberTableLocalVariableTablethisLiveStreamsGameComparatorInnerClassesCLchatty/gui/components/LiveStreamsDialog$LiveStreamsGameComparator;compare;(Lchatty/util/api/StreamInfo;Lchatty/util/api/StreamInfo;)Io1Lchatty/util/api/StreamInfo;o2game1Ljava/lang/String;game2
StackMapTable7'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x18.(Lchatty/gui/components/LiveStreamsDialog$1;)V+Lchatty/gui/components/LiveStreamsDialog$1;	SignatureFLjava/lang/Object;Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;SourceFileLiveStreamsDialog.java
9:7;<=:>?chatty/util/api/StreamInfo@Achatty/gui/components/LiveStreamsDialog$LiveStreamsGameComparatorjava/lang/Objectjava/util/Comparatorjava/lang/String)chatty/gui/components/LiveStreamsDialog$1getGame()Ljava/lang/String;equals(Ljava/lang/Object;)Z	getStream	compareTo(Ljava/lang/String;)I'chatty/gui/components/LiveStreamsDialog 	
/*���@+�N,�:-���-��+�,���-����-��&	 ,02794@@@;5�AK
*+�,��� 

 !
"!%9*�� &'()*	3#PKʣG���.@@Gchatty/gui/components/LiveStreamsDialog$LiveStreamsNameComparator.class���35$$%&'()+,-<init>()VCodeLineNumberTableLocalVariableTablethisLiveStreamsNameComparatorInnerClassesCLchatty/gui/components/LiveStreamsDialog$LiveStreamsNameComparator;compare;(Lchatty/util/api/StreamInfo;Lchatty/util/api/StreamInfo;)Io1Lchatty/util/api/StreamInfo;o2'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x1..(Lchatty/gui/components/LiveStreamsDialog$1;)V+Lchatty/gui/components/LiveStreamsDialog$1;	SignatureFLjava/lang/Object;Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;SourceFileLiveStreamsDialog.java/0123chatty/util/api/StreamInfo4Achatty/gui/components/LiveStreamsDialog$LiveStreamsNameComparatorjava/lang/Objectjava/util/Comparator)chatty/gui/components/LiveStreamsDialog$1	getStream()Ljava/lang/String;java/lang/String	compareTo(Ljava/lang/String;)I'chatty/gui/components/LiveStreamsDialog 	/*��
�J+�,���
� AK
*+�,���
� 


9*��
� !"#*PKʣG���]��Nchatty/gui/components/LiveStreamsDialog$LiveStreamsTimeChangedComparator.class���3=)	)*+,-./123<init>()VCodeLineNumberTableLocalVariableTablethis LiveStreamsTimeChangedComparatorInnerClassesJLchatty/gui/components/LiveStreamsDialog$LiveStreamsTimeChangedComparator;compare;(Lchatty/util/api/StreamInfo;Lchatty/util/api/StreamInfo;)Io1Lchatty/util/api/StreamInfo;o2time1Jtime2
StackMapTable'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x14.(Lchatty/gui/components/LiveStreamsDialog$1;)V+Lchatty/gui/components/LiveStreamsDialog$1;	SignatureFLjava/lang/Object;Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;SourceFileLiveStreamsDialog.java56789:;chatty/util/api/StreamInfo<Hchatty/gui/components/LiveStreamsDialog$LiveStreamsTimeChangedComparatorjava/lang/Objectjava/util/Comparator)chatty/gui/components/LiveStreamsDialog$1getStatusChangeTimeAgo()J	getStream()Ljava/lang/String;java/lang/String	compareTo(Ljava/lang/String;)I'chatty/gui/components/LiveStreamsDialog 	
/*���
�)+�B,�7!��+�,���!������%'4)))$�A
K
*+�,���� 


 #
9*���$%&'(0!PKʣG.!���Jchatty/gui/components/LiveStreamsDialog$LiveStreamsViewersComparator.class���3:&	&'()*+,./0<init>()VCodeLineNumberTableLocalVariableTablethisLiveStreamsViewersComparatorInnerClassesFLchatty/gui/components/LiveStreamsDialog$LiveStreamsViewersComparator;compare;(Lchatty/util/api/StreamInfo;Lchatty/util/api/StreamInfo;)Io1Lchatty/util/api/StreamInfo;o2
StackMapTable'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x11.(Lchatty/gui/components/LiveStreamsDialog$1;)V+Lchatty/gui/components/LiveStreamsDialog$1;	SignatureFLjava/lang/Object;Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;SourceFileLiveStreamsDialog.java2345678chatty/util/api/StreamInfo9Dchatty/gui/components/LiveStreamsDialog$LiveStreamsViewersComparatorjava/lang/Objectjava/util/Comparator)chatty/gui/components/LiveStreamsDialog$1getViewers()I	getStream()Ljava/lang/String;java/lang/String	compareTo(Ljava/lang/String;)I'chatty/gui/components/LiveStreamsDialog 	
/*��%
~&+�,���+�,���+�,���)*
,-/ &&&
A
K
*+�,���% 


 
9*��%!"#$%-PKʣG{���Cchatty/gui/components/LiveStreamsDialog$MyContextMenuListener.class���3U
0	
123456789:;<=>?=@ABthis$0)Lchatty/gui/components/LiveStreamsDialog;<init>,(Lchatty/gui/components/LiveStreamsDialog;)VCodeLineNumberTableLocalVariableTablethisMyContextMenuListenerInnerClasses?Lchatty/gui/components/LiveStreamsDialog$MyContextMenuListener;streamInfosMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)VeLjava/awt/event/ActionEvent;streamsLjava/util/Collection;cmdLjava/lang/String;LocalVariableTypeTable4Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;
StackMapTableC	SignatureS(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;)VDW(Lchatty/gui/components/LiveStreamsDialog;Lchatty/gui/components/LiveStreamsDialog$1;)Vx0x1+Lchatty/gui/components/LiveStreamsDialog$1;SourceFileLiveStreamsDialog.javaEFGHopenChannelInfoCIJKLMNOPchatty/util/api/StreamInfoQRSshowRemovedListT=chatty/gui/components/LiveStreamsDialog$MyContextMenuListener.chatty/gui/components/menus/ContextMenuAdapterjava/lang/String)chatty/gui/components/LiveStreamsDialog$1()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;equals(Ljava/lang/Object;)Zjava/util/Collectioniterator()Ljava/util/Iterator;java/util/Iteratornext()Ljava/lang/Object;'chatty/gui/components/LiveStreamsDialogaccess$500H(Lchatty/gui/components/LiveStreamsDialog;Lchatty/util/api/StreamInfo;)Vaccess$800 
4*+�*����7+�N-��*�,���	��-��*������&�/�6�*7772 !"7#$	�&%&'*D*+��� +,-./
=(PKʣG���-chatty/gui/components/LiveStreamsDialog.class���37\�	\�\�\�]�d	\�	\�	\��\���\�������	\��	\�\�����������"�	\�"��&�	\�\��*�	\�*���\�\��"�����	\��	\��	\�"���=�=��=����\�����������"�"�"�"�\�&��T��V��X�Z�LiveStreamsViewersComparatorInnerClassesLiveStreamsGameComparator LiveStreamsTimeChangedComparatorLiveStreamsNameComparatorMyContextMenuListenerNAME_COMPARATORLjava/util/Comparator;	Signature4Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;CHANGED_COMPARATORGAME_COMPARATORVIEWERS_COMPARATORchannelInfo)Lchatty/gui/components/ChannelInfoDialog;BASE_TITLELjava/lang/String;
ConstantValuescrollLjavax/swing/JScrollPane;list'Lchatty/gui/components/LiveStreamsList;removedList.Lchatty/gui/components/LiveStreamsRemovedList;cardLayoutLjava/awt/CardLayout;titleSortingtitleCountsliveStreamListSelectedZ<init>4(Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis)Lchatty/gui/components/LiveStreamsDialog;listener1Lchatty/gui/components/menus/ContextMenuListener;localCmllocalLiveStreamListener*Lchatty/gui/components/LiveStreamListener;	addStream(Lchatty/util/api/StreamInfo;)VstreamInfoLchatty/util/api/StreamInfo;setSorting(Ljava/lang/String;)Vsorting
StackMapTablesetHistoryRange(I)VrangeI(Ljava/util/Comparator;)VmodetextLocalVariableTypeTable7(Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;)VupdateTitle()VlistUpdatedopenChannelInfoDialoginfoswitchListaccess$500H(Lchatty/gui/components/LiveStreamsDialog;Lchatty/util/api/StreamInfo;)Vx0x1access$600,(Lchatty/gui/components/LiveStreamsDialog;)Vaccess$700Y(Lchatty/gui/components/LiveStreamsDialog;)Lchatty/gui/components/LiveStreamsRemovedList;access$800<clinit>SourceFileLiveStreamsDialog.java��uv����}�yozo{|Live Streams�java/awt/Dimension}=chatty/gui/components/LiveStreamsDialog$MyContextMenuListener})chatty/gui/components/LiveStreamsDialog$1}�%chatty/gui/components/LiveStreamsList}	st~if��)chatty/gui/components/LiveStreamsDialog$2,chatty/gui/components/LiveStreamsRemovedList)chatty/gui/components/LiveStreamsDialog$3'chatty/gui/components/ChannelInfoDialog}lmjava/awt/CardLayoutwxjavax/swing/JScrollPane}qr�����recentnameefgamejfviewerskf��	Sorting: java/lang/StringBuilder Name!"RecentGameViewers��#�Live Streams () []Offline/Left Streams$%&'()*+,-.�/01234Achatty/gui/components/LiveStreamsDialog$LiveStreamsNameComparator}5Hchatty/gui/components/LiveStreamsDialog$LiveStreamsTimeChangedComparatorAchatty/gui/components/LiveStreamsDialog$LiveStreamsGameComparatorDchatty/gui/components/LiveStreamsDialog$LiveStreamsViewersComparator'chatty/gui/components/LiveStreamsDialogjavax/swing/JFramejava/lang/StringsetTitle(II)VsetPreferredSize(Ljava/awt/Dimension;)VW(Lchatty/gui/components/LiveStreamsDialog;Lchatty/gui/components/LiveStreamsDialog$1;)V-(Lchatty/gui/components/LiveStreamListener;)VaddContextMenuListeneraddListDataChangedListener6ListDataChangedListenerB(Lchatty/gui/components/LiveStreamsList$ListDataChangedListener;)VaddBackButtonListener"(Ljava/awt/event/ActionListener;)V(Ljava/awt/Frame;)V	setLayout(Ljava/awt/LayoutManager;)V(Ljava/awt/Component;)VgetVerticalScrollBar()Ljavax/swing/JScrollBar;javax/swing/JScrollBarsetUnitIncrementadd*(Ljava/awt/Component;)Ljava/awt/Component;packupdateequals(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;
setComparatorgetModel()Ljavax/swing/ListModel;javax/swing/ListModelgetSize()IvalueOf(I)Ljava/lang/String;	isVisible()ZsetLocationRelativeTosetsetVisible(Z)VgetContentPane()Ljava/awt/Container;next(Ljava/awt/Container;)V.(Lchatty/gui/components/LiveStreamsDialog$1;)V=chatty/gui/components/LiveStreamsList$ListDataChangedListener!\]
efghifghjfghkfghlmnopqrstuvwxyozo{|}~��*�*�*�*�	*�*�Y^�
��Y*�M�Y*�N*�Y-��*�+�*�,�*��*��Y*��*�Y-��*�,�*�+�*��Y*� �!*�"Y*�#�$*�$+�%*�&Y�'�(**�(�)*�*Y*��+�,*�,�-�.**�,�/W**��/W*�0��n1,-/34,667??K@SA[BbCqU}V�W�X�}�~�����������������*������6���?�����M*�+�1*�$+�2�������������J+3�4�
*���9+5�4�
*�6��&+7�4�
*�8��+9�4�*�:���&	�	���&�/�9�B�I��J��J�o���A	*�$�;�����	��	�����<M+�6��=Y�>,�?@�?�AM�Z+���=Y�>,�?B�?�AM�<+�8��=Y�>,�?C�?�AM�+�:��=Y�>,�?D�?�AM*,�*�E*�+�F��6
���!�(�?�F�]�d�x�}������ �����f��o���h��!�g���|<*�	�1*�=Y�>G�?*��?H�?*��?I�?�A��	*J�����5�;��<���5��J**��K�L�M�*�E����������p#*�$�N�*�$*�O*�$+�P*�$�Q������"��#��#�����p **�	���	*�E*�(*�R�S������� ���L������:*+����������/*��������/*��������/*��������Q-�TY�U�6�VY�W��XY�Y�8�ZY�[�:��! ��_J	Z\^X\`V\aT\b\c
	PKʣGH�ì!!-chatty/gui/components/LiveStreamsList$1.class���3$	this$0'Lchatty/gui/components/LiveStreamsList;<init>*(Lchatty/gui/components/LiveStreamsList;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/LiveStreamsList$1;componentResized"(Ljava/awt/event/ComponentEvent;)VeLjava/awt/event/ComponentEvent;SourceFileLiveStreamsList.javaEnclosingMethod !!"#'chatty/gui/components/LiveStreamsList$1java/awt/event/ComponentAdapter%chatty/gui/components/LiveStreamsListaddListeners()VsetFixedCellHeight(I)V 	4*+�*���
N*��*����	��
PKʣGA��]PP-chatty/gui/components/LiveStreamsList$2.class���3C	%&#'#()*#+,#-./01this$0'Lchatty/gui/components/LiveStreamsList;<init>*(Lchatty/gui/components/LiveStreamsList;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/components/LiveStreamsList$2;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
mouseReleasedmouseClickedinfoLchatty/util/api/StreamInfo;
StackMapTableSourceFileLiveStreamsList.javaEnclosingMethod234
456789:;<=chatty/util/api/StreamInfo>?@AB'chatty/gui/components/LiveStreamsList$2java/awt/event/MouseAdapter%chatty/gui/components/LiveStreamsListaddListeners()Vaccess$000F(Lchatty/gui/components/LiveStreamsList;Ljava/awt/event/MouseEvent;Z)Vaccess$100E(Lchatty/gui/components/LiveStreamsList;Ljava/awt/event/MouseEvent;)Vjava/awt/event/MouseEvent
getClickCount()IgetSelectedValue()Ljava/lang/Object;access$200S(Lchatty/gui/components/LiveStreamsList;)Lchatty/gui/components/LiveStreamListener;(chatty/gui/components/LiveStreamListenerliveStreamClicked(Lchatty/util/api/StreamInfo;)V 
4*+�*���N*�+�*�+���	��A	*�+��		�/+��)*���M,�*���*��,�	�	!.
 //. !"#$PKʣG_N�mmCchatty/gui/components/LiveStreamsList$ListDataChangedListener.class���3listDataChanged()VitemRemoved(Lchatty/util/api/StreamInfo;)V	itemAddedSourceFileLiveStreamsList.java=chatty/gui/components/LiveStreamsList$ListDataChangedListenerListDataChangedListenerInnerClassesjava/lang/Object%chatty/gui/components/LiveStreamsList	
	PKʣGz�(��
�
:chatty/gui/components/LiveStreamsList$MyCellRenderer.class���3�4bcb	3defghijklbmnopqrstuvwxyz{|}j~	3	3���	3���	3���	3��r��r��r�r���	0����0�	0���PADDINGLjavax/swing/border/Border;MARGINTITLETITLE_SELECTED	TITLE_NEWareaLjavax/swing/JTextArea;<init>()VCodeLineNumberTableLocalVariableTablethisMyCellRendererInnerClasses6Lchatty/gui/components/LiveStreamsList$MyCellRenderer;getListCellRendererComponent>(Ljavax/swing/JList;Ljava/lang/Object;IZZ)Ljava/awt/Component;listLjavax/swing/JList;valueLjava/lang/Object;indexIisSelectedZcellHasFocusinfoLchatty/util/api/StreamInfo;textLjava/lang/String;widthtitletitleBaseBordertitleBorderinnerBorderborder
StackMapTableg��<clinit>SourceFileLiveStreamsList.java=>javax/swing/JTextArea;<����chatty/util/api/StreamInfo�������java/lang/StringBuilder��()���������%s (%s | %s)java/lang/Object��������������9686��:6���56��76��������������������java/awt/Color=����4chatty/gui/components/LiveStreamsList$MyCellRenderer#javax/swing/DefaultListCellRendererjava/lang/Stringjavax/swing/border/BordersetLineWrap(Z)VsetWrapStyleWordgetTitle()Ljava/lang/String;getGameisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringsetText(Ljava/lang/String;)Vjavax/swing/JListgetWidth()IsetSize(II)VgetDisplayNamegetViewers
chatty/HelperformatViewerCount(I)Ljava/lang/String;getTimeStartedWithPicnic()Jchatty/util/DateTimeagoUptimeCompact(J)Ljava/lang/String;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;getStatusChangeTimeAgojavax/swing/BorderFactorycreateTitledBorderq(Ljavax/swing/border/Border;Ljava/lang/String;IILjava/awt/Font;Ljava/awt/Color;)Ljavax/swing/border/TitledBorder;createCompoundBorder[(Ljavax/swing/border/Border;Ljavax/swing/border/Border;)Ljavax/swing/border/CompoundBorder;	setBorder(Ljavax/swing/border/Border;)VgetSelectionBackground()Ljava/awt/Color;
setBackground(Ljava/awt/Color;)VgetSelectionForeground
setForeground
getBackground
getForegroundcreateEmptyBorder!(IIII)Ljavax/swing/border/Border;LIGHT_GRAYLjava/awt/Color;createMatteBorder6(IIIILjava/awt/Color;)Ljavax/swing/border/MatteBorder;(III)VBLACK%chatty/gui/components/LiveStreamsList 3456768696:6;<=>?Z *�*�Y��*��*���@/0123A BEFG?:,�:�:�	��&�Y��
�
�	�
�
�:*��+�6�*����Y�SY��SY��S�:	�	���:����!:	�":�#�$:�%�$:
*�
�&�*�+�'�(*�+�)�*�*�+�+�(*�+�,�**��@Z9;
<=;?DAJBOC[F�J�K�L�N�P�Q�R�T�U�V�X�Y[A�BEHIJKLMNOPOQR
�STJ�UM��VT	�tW6�VX6�LY6�BZ6
[,�;\]��3]B^�^�G^^^_>?q	I�-�#�-�%�.�/��0Y����1�/��2�/�!�@"$&!(;*`aD3�CPKʣG��a<;chatty/gui/components/LiveStreamsList$UpdateTimer$1$1.class���3/		
	 !"#$%this$2&UpdateTimerInnerClasses'5Lchatty/gui/components/LiveStreamsList$UpdateTimer$1;<init>8(Lchatty/gui/components/LiveStreamsList$UpdateTimer$1;)VCodeLineNumberTableLocalVariableTablethis7Lchatty/gui/components/LiveStreamsList$UpdateTimer$1$1;run()VSourceFileLiveStreamsList.javaEnclosingMethod	()*+,-.5chatty/gui/components/LiveStreamsList$UpdateTimer$1$1java/lang/Objectjava/lang/Runnable1chatty/gui/components/LiveStreamsList$UpdateTimer3chatty/gui/components/LiveStreamsList$UpdateTimer$1this$13Lchatty/gui/components/LiveStreamsList$UpdateTimer;this$0'Lchatty/gui/components/LiveStreamsList;%chatty/gui/components/LiveStreamsListaccess$300*(Lchatty/gui/components/LiveStreamsList;)V 	4*+�*��j<*�����n
o
!
PKʣG��MBmm9chatty/gui/components/LiveStreamsList$UpdateTimer$1.class���3/		 !"#$%&(UpdateTimerInnerClassesval$this$0'Lchatty/gui/components/LiveStreamsList;this$13Lchatty/gui/components/LiveStreamsList$UpdateTimer;<init>](Lchatty/gui/components/LiveStreamsList$UpdateTimer;Lchatty/gui/components/LiveStreamsList;)VCodeLineNumberTableLocalVariableTablethis5Lchatty/gui/components/LiveStreamsList$UpdateTimer$1;run()VSourceFileLiveStreamsList.javaEnclosingMethod)
5chatty/gui/components/LiveStreamsList$UpdateTimer$1$1*+,-3chatty/gui/components/LiveStreamsList$UpdateTimer$1java/util/TimerTask.1chatty/gui/components/LiveStreamsList$UpdateTimer*(Lchatty/gui/components/LiveStreamsList;)V8(Lchatty/gui/components/LiveStreamsList$UpdateTimer$1;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V%chatty/gui/components/LiveStreamsList 
9*+�*,�*��g:�Y*���jq		'PKʣG���SS7chatty/gui/components/LiveStreamsList$UpdateTimer.class���3'		� !UpdateTimerInnerClassesthis$0'Lchatty/gui/components/LiveStreamsList;<init>*(Lchatty/gui/components/LiveStreamsList;)VCodeLineNumberTableLocalVariableTablethis3Lchatty/gui/components/LiveStreamsList$UpdateTimer;taskLjava/util/TimerTask;SourceFileLiveStreamsList.java
"3chatty/gui/components/LiveStreamsList$UpdateTimer$1#$%&1chatty/gui/components/LiveStreamsList$UpdateTimerjava/util/Timer()V](Lchatty/gui/components/LiveStreamsList$UpdateTimer;Lchatty/gui/components/LiveStreamsList;)Vschedule(Ljava/util/TimerTask;JJ)V%chatty/gui/components/LiveStreamsList 	
_*+�*��Y*+�M*,��e	gstPKʣG�&  +chatty/gui/components/LiveStreamsList.class���3KS�	S�S�S�T�	S�	S���	S�S���S���	S�S������������S�������S�S�S�	S�����*��������S�	S���S�S�S�S�<S�U�U�U���S��?�?��?�SS	S SS
M�SP�SListDataChangedListenerInnerClassesUpdateTimerMyCellRendererUPDATE_TIMER_DELAYI
ConstantValueCHECK_DELAY
REPAINT_DELAY<data'Lchatty/gui/components/SortedListModel;	SignatureELchatty/gui/components/SortedListModel<Lchatty/util/api/StreamInfo;>;contextMenuListenersLjava/util/List;CLjava/util/List<Lchatty/gui/components/menus/ContextMenuListener;>;liveStreamListener*Lchatty/gui/components/LiveStreamListener;STREAMINFO_NEW_TIME�listDataChangedListener?Lchatty/gui/components/LiveStreamsList$ListDataChangedListener;lastContextMenuLjavax/swing/JPopupMenu;lastCheckedJ
lastRepainted<init>-(Lchatty/gui/components/LiveStreamListener;)VCodeLineNumberTableLocalVariableTablethis'Lchatty/gui/components/LiveStreamsList;addContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)Vlistener1Lchatty/gui/components/menus/ContextMenuListener;
StackMapTableaddStreams(Ljava/util/List;)VinfoLchatty/util/api/StreamInfo;i$Ljava/util/Iterator;infosLocalVariableTypeTable.Ljava/util/List<Lchatty/util/api/StreamInfo;>;1(Ljava/util/List<Lchatty/util/api/StreamInfo;>;)V
setComparator(Ljava/util/Comparator;)VcomparatorLjava/util/Comparator;4Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;7(Ljava/util/Comparator<Lchatty/util/api/StreamInfo;>;)V	addStream(Lchatty/util/api/StreamInfo;)VaddListDataChangedListenerB(Lchatty/gui/components/LiveStreamsList$ListDataChangedListener;)VcheckStreams()VremoveLjava/util/Set;-Ljava/util/Set<Lchatty/util/api/StreamInfo;>;�checkToClearSelectionupdatecheckToRepainttimePassedlistDataChangeditemRemoveditem	itemAddedopenContextMenu(Ljava/awt/event/MouseEvent;)Vcmlselectedm4Lchatty/gui/components/menus/StreamInfosContextMenu;eLjava/awt/event/MouseEvent;�
selectClicked(Ljava/awt/event/MouseEvent;Z)VonlyOutsideZindexboundsLjava/awt/Rectangle;addListenersl"Ljava/awt/event/ComponentListener; getScrollableTracksViewportWidth()Zaccess$000F(Lchatty/gui/components/LiveStreamsList;Ljava/awt/event/MouseEvent;Z)Vx0x1x2access$100E(Lchatty/gui/components/LiveStreamsList;Ljava/awt/event/MouseEvent;)Vaccess$200S(Lchatty/gui/components/LiveStreamsList;)Lchatty/gui/components/LiveStreamListener;access$300*(Lchatty/gui/components/LiveStreamsList;)V1Ljavax/swing/JList<Lchatty/util/api/StreamInfo;>;SourceFileLiveStreamsList.java��jk����u�rsts%chatty/gui/components/SortedListModelcd4chatty/gui/components/LiveStreamsList$MyCellRendererjava/util/ArrayListgh��1chatty/gui/components/LiveStreamsList$UpdateTimeru� �!"chatty/util/api/StreamInfo����#�$�%�&&������no'()java/util/HashSet*�+�pq,-�.�������/�01�232chatty/gui/components/menus/StreamInfosContextMenuu4/chatty/gui/components/menus/ContextMenuListener|}567689:;<=>?%@ABCDEF'chatty/gui/components/LiveStreamsList$1GH'chatty/gui/components/LiveStreamsList$2IJ%chatty/gui/components/LiveStreamsListjavax/swing/JList=chatty/gui/components/LiveStreamsList$ListDataChangedListenerjava/util/Iterator
java/util/Setjava/util/Listjava/awt/RectanglesetModel(Ljavax/swing/ListModel;)VsetCellRenderer!(Ljavax/swing/ListCellRenderer;)Vadd(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;isValid	getOnlinecontains(Ljava/lang/Object;)Vjava/lang/SystemcurrentTimeMillis()JisEmptyisFocusOwnerjavax/swing/JPopupMenu	isVisibleclearSelectionrepaintjava/awt/event/MouseEventisPopupTriggergetSelectedValuesList()Ljava/util/List;(Ljava/util/List;Z)VgetX()IgetYshow(Ljava/awt/Component;II)VgetPoint()Ljava/awt/Point;locationToIndex(Ljava/awt/Point;)I
getCellBounds(II)Ljava/awt/Rectangle;(Ljava/awt/Point;)ZisSelectedIndex(I)ZaddSelectionInterval(II)VsetSelectedIndex(I)VaddComponentListener%(Ljava/awt/event/ComponentListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)V!ST[\]^_\]`a\]bcdefgheijkl\]mnopqrstsuvw�J*�*	�*	�*�Y�	�**��*�Y�
�*�Y��*+�*��Y*�W�x.;8	9<=!>,?7@<A@BICyJz{Jjk|}wU+�*�+�W�xFGIyz{~���w�#+�M,��,��N*-����xLMN"Oy*����#z{#�h�#������e���wS	*�+��xRSy	z{	���	��e���w�N+��-+��&*�+��*�+�*�+� *+�!�*�+��*�+�*+�"*�#�x*[\]!_)`1a<bDcIeMfyNz{N���!��w>*+�$�xnoyz{~o��w]��%*�e&m(���*�%��*Y�+L*��,M,��&,��N-��-��+-�-W���+�.M,��,��N*�-�*-�"���+�/�*�#�x>uvxy#z>{L|T~W�q�y�~�������y>>��+,��q
��^#���z{#l���#l���"���� ������"��wY*�0�*�1�
*�1�2�*�3�x���yz{���wC
*�4*�5*�6�x����y
z{��wq!�%*�e&m@7��*�9*�%��x�
��� �y!z{
�s�� ��wL*�$�*�$�:�x���yz{���wW*�$�
*�$+�;�x���yz{�����wW*�$�
*�$+�<�x���yz{�����wY+�=�T*+�*�>M�?Y,�@N*��:����A:-�B���*-�1-*+�C+�D�E�x*��
���=�C�F�K�X�y>=�'��F�h<��Yz{Y���F����'�������w�D*+�F�G>*�H:�,+�F�I� � *�J�*�K�*�L�*�3�x&	�	��"�&�.�7�?�C�y4Dz{D��D��	;�\3����7���w[�MY*�NL*+�O*�PY*�Q�R�x�	��yz{	����w,�xyz{��wE*+��x%y �{������w:*+��x%y�{����w/*��x%y�{��w/*��x%y�{e���W*USV	SXSYPMPKʣG�<�!4chatty/gui/components/LiveStreamsRemovedList$1.class���3SourceFileLiveStreamsRemovedList.javaEnclosingMethod.chatty/gui/components/LiveStreamsRemovedList$1InnerClassesjava/lang/Object,chatty/gui/components/LiveStreamsRemovedList 	PKʣGql����Bchatty/gui/components/LiveStreamsRemovedList$MyMouseListener.class���3T
,	
-./0/123/4567/8	9:;<=this$0.Lchatty/gui/components/LiveStreamsRemovedList;<init>1(Lchatty/gui/components/LiveStreamsRemovedList;)VCodeLineNumberTableLocalVariableTablethisMyMouseListenerInnerClasses>Lchatty/gui/components/LiveStreamsRemovedList$MyMouseListener;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
mouseReleasedmouseClickeditemRemovedListItem>Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;
StackMapTable>a(Lchatty/gui/components/LiveStreamsRemovedList;Lchatty/gui/components/LiveStreamsRemovedList$1;)Vx0x10Lchatty/gui/components/LiveStreamsRemovedList$1;SourceFileLiveStreamsRemovedList.java?@ABCDEFGHIJKL<chatty/gui/components/LiveStreamsRemovedList$RemovedListItemMNOPQRS<chatty/gui/components/LiveStreamsRemovedList$MyMouseListenerjava/awt/event/MouseAdapter.chatty/gui/components/LiveStreamsRemovedList$1()V,chatty/gui/components/LiveStreamsRemovedListaccess$100M(Lchatty/gui/components/LiveStreamsRemovedList;Ljava/awt/event/MouseEvent;Z)Vaccess$200L(Lchatty/gui/components/LiveStreamsRemovedList;Ljava/awt/event/MouseEvent;)Vjava/awt/event/MouseEvent
getClickCount()Iaccess$300C(Lchatty/gui/components/LiveStreamsRemovedList;)Ljavax/swing/JList;javax/swing/JListgetSelectedValue()Ljava/lang/Object;access$400Z(Lchatty/gui/components/LiveStreamsRemovedList;)Lchatty/gui/components/LiveStreamListener;
getStreamInfo()Lchatty/util/api/StreamInfo;(chatty/gui/components/LiveStreamListenerliveStreamClicked(Lchatty/util/api/StreamInfo;)V 
4*+�*���N*�+�*�+���	��A	*�+����		�5+��/*����	M,�*���*��,������$�4�  "55#4&D*+��� '()*+
/	/!$/PKʣG���11Bchatty/gui/components/LiveStreamsRemovedList$RemovedListItem.class���3l:	;<=>?	@A:>BCDEFGHGIJKLMGNOPQSTUVinfoLchatty/util/api/StreamInfo;timeLjava/lang/Long;<init>(Lchatty/util/api/StreamInfo;)VCodeLineNumberTableLocalVariableTablethisRemovedListItemInnerClasses>Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;toString()Ljava/lang/String;
StackMapTableASW
getStreamInfo()Lchatty/util/api/StreamInfo;getTime()Ljava/lang/Long;	compareToA(Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;)Io(Ljava/lang/Object;)Ix0Ljava/lang/Object;	SignaturehLjava/lang/Object;Ljava/lang/Comparable<Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;>;SourceFileLiveStreamsRemovedList.javaXYZ[\]^java/lang/StringBuilder_[`abcd ef'gh (followed)&'./i',-W0jk<chatty/gui/components/LiveStreamsRemovedList$RemovedListItem01java/lang/Objectjava/lang/Comparablejava/lang/String()Vjava/lang/SystemcurrentTimeMillis()Jjava/lang/LongvalueOf(J)Ljava/lang/Long;	longValuechatty/util/DateTimeformat(J)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/util/api/StreamInfogetDisplayNamegetFollowed()Z	getStream(Ljava/lang/String;)I,chatty/gui/components/LiveStreamsRemovedList T*�*+�*���� ��	��!"%&'�;�Y�*���	��*���*��
����� �!;"%(r)�*)+,-/*�� �!"%.//*�� �!"%01�3*��+�����*�+��*��+����� ����1�!3"%32%(A03=	*+��� �!	"%	456789$R#PKʣG:�0�``2chatty/gui/components/LiveStreamsRemovedList.class���3	@�	@�@�@�A���@��	�	@���	�	�	�	�	����	@�@�����	@������!��#��@����������#�������1��1�����1��������������InnerClassesRemovedListItemMyMouseListenerlistLjavax/swing/JList;	SignatureSLjavax/swing/JList<Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;>;buttonLjavax/swing/JButton;streamListener*Lchatty/gui/components/LiveStreamListener;contextMenuListenersLjava/util/List;CLjava/util/List<Lchatty/gui/components/menus/ContextMenuListener;>;data'Lchatty/gui/components/SortedListModel;gLchatty/gui/components/SortedListModel<Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;>;<init>-(Lchatty/gui/components/LiveStreamListener;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/LiveStreamsRemovedList;lgbcLjava/awt/GridBagConstraints;
addStreamInfo(Lchatty/util/api/StreamInfo;)VinfoLchatty/util/api/StreamInfo;removeStreamInfoaddContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)Vcml1Lchatty/gui/components/menus/ContextMenuListener;
StackMapTableaddBackButtonListener"(Ljava/awt/event/ActionListener;)VlistenerLjava/awt/event/ActionListener;getListItem\(Lchatty/util/api/StreamInfo;)Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;item>Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;i$Ljava/util/Iterator;�openContextMenu(Ljava/awt/event/MouseEvent;)V
selectedItemsselectedm4Lchatty/gui/components/menus/StreamInfosContextMenu;eLjava/awt/event/MouseEvent;LocalVariableTypeTablePLjava/util/List<Lchatty/gui/components/LiveStreamsRemovedList$RemovedListItem;>;.Ljava/util/List<Lchatty/util/api/StreamInfo;>;��
selectClicked(Ljava/awt/event/MouseEvent;Z)VonlyOutsideZindexIboundsLjava/awt/Rectangle;�access$100M(Lchatty/gui/components/LiveStreamsRemovedList;Ljava/awt/event/MouseEvent;Z)Vx0x1x2access$200L(Lchatty/gui/components/LiveStreamsRemovedList;Ljava/awt/event/MouseEvent;)Vaccess$300C(Lchatty/gui/components/LiveStreamsRemovedList;)Ljavax/swing/JList;access$400Z(Lchatty/gui/components/LiveStreamsRemovedList;)Lchatty/gui/components/LiveStreamListener;SourceFileLiveStreamsRemovedList.javaMNGHtu��U�java/awt/GridBagLayout��java/util/ArrayListOPjava/awt/GridBagConstraints����������javax/swing/JButtonBack to Live StreamsU�KL��javax/swing/JList%chatty/gui/components/SortedListModelRS��<chatty/gui/components/LiveStreamsRemovedList$MyMouseListenerU���javax/swing/JScrollPaneU�<chatty/gui/components/LiveStreamsRemovedList$RemovedListItemU`��mn������j��������������2chatty/gui/components/menus/StreamInfosContextMenuU�/chatty/gui/components/menus/ContextMenuListenerde�����	
�,chatty/gui/components/LiveStreamsRemovedListjavax/swing/JPanel.chatty/gui/components/LiveStreamsRemovedList$1java/util/Iteratorjava/util/Listjava/awt/Rectangle()V	setLayout(Ljava/awt/LayoutManager;)VgridxgridyweightxDweightyfill(Ljava/lang/String;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VsetModel(Ljavax/swing/ListModel;)Va(Lchatty/gui/components/LiveStreamsRemovedList;Lchatty/gui/components/LiveStreamsRemovedList$1;)VaddMouseListener!(Ljava/awt/event/MouseListener;)V(Ljava/awt/Component;)V(Ljava/lang/Object;)Vremove(Ljava/lang/Object;)ZaddActionListeneriterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;
getStreamInfo()Lchatty/util/api/StreamInfo;java/awt/event/MouseEventisPopupTriggergetSelectedValuesList()Ljava/util/List;(Ljava/util/List;Z)VgetX()IgetYshow(Ljava/awt/Component;II)VgetPoint()Ljava/awt/Point;locationToIndex(Ljava/awt/Point;)I
getCellBounds(II)Ljava/awt/Rectangle;contains(Ljava/awt/Point;)ZisSelectedIndex(I)ZaddSelectionInterval(II)VsetSelectedIndex(I)VclearSelection!@AGHIJKLMNOPIQRSITUVW>�*�*�Y��*+�*�	Y���Y�
M,�,�,�,�,�*�Y��**�,�,�,�,�,�*�Y��*�Y��*�*��*��Y*�� *�!Y*��",��XZ$%&')'*,+1,6-;.@/M0V2[3`4e5j6u7�8�9�:�;Y �Z[�\N'�]^_`WH*��#Y+�$�%�X>?YZ[abc`WE
*�*+�&�'�XBCY
Z[
abdeWU+�*�+�(W�XFGIYZ[fghijWA	*�+�)�XLMY	Z[	klmnW�**��*M,�+�,�,�#N-�-+�-�����XPQ#R%T(UY*op qr*Z[*abh�s�tuW~�+�.��*+�*��/M�	Y�N,�0:�+��,�#:-�-�(W��޻1Y-�2:*��0:�+��,�3:�4���*�+�5+�6�7�X6
^_
`ab;cGdJeUfvg}h�i�kY\	;op%%qrvfg` qr|vPtwPU<xy�Z[�z{||v}tw~h �%s�$��s����W�V*�+�8�9>*��::�5+�8�;�)�,*��<�*��=�*��>�*��?�X&	uvw(x,y7zC|N�U�Y4VZ[Vz{V��J��?��h�C���WE*+��XY �[�{����W:*+��XY�[�{��W/*��XY�[��W/*��XY�[��DB@#@E@FPKʣG:hP;��0chatty/gui/components/LivestreamerDialog$1.class���3r	3	45671819:1;<=>?1@1ABC1D1EFGH>I1JK1LMNOPval$settingsLchatty/util/settings/Settings;this$0*Lchatty/gui/components/LivestreamerDialog;<init>L(Lchatty/gui/components/LivestreamerDialog;Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses,Lchatty/gui/components/LivestreamerDialog$1;actionPerformed(Ljava/awt/event/ActionEvent;)VstreamLjava/lang/String;eLjava/awt/event/ActionEvent;
StackMapTableSourceFileLivestreamerDialog.javaEnclosingMethodQRSTUVWXYZlivestreamerQualities[\]^_`abcXd\efghijklivestreamerlmgnopklivestreamerUseAuthqklivestreamerShowDialog*chatty/gui/components/LivestreamerDialog$1java/lang/Objectjava/awt/event/ActionListener(chatty/gui/components/LivestreamerDialog\(Ljava/awt/Window;Lchatty/gui/components/LinkLabelListener;Lchatty/util/settings/Settings;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$000A(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JButton;setVisible(Z)Vaccess$100D(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JTextField;javax/swing/JTextFieldgetText()Ljava/lang/String;chatty/util/settings/Settings	setString'(Ljava/lang/String;Ljava/lang/String;)Iaccess$200access$300java/lang/StringisEmpty()Zopen'(Ljava/lang/String;Ljava/lang/String;)Vaccess$400C(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JCheckBox;javax/swing/JCheckBoxisSelectedsetBoolean(Ljava/lang/String;Z)Iaccess$500access$600  9*+�*,�*��!�"#&'( U�+�*���"*��*�*���	�W��+�*���+�*���!*���	M,�
�*�,��o+�*���*�*����W�J+�*���*�*����W�%+�*���*�*����W�!:���-�I�T�[�d�u�����������" T)*�#&�+,-	-$$!./012%PKʣGX|g��0chatty/gui/components/LivestreamerDialog$2.class���36	 	!	"#$%&'()*val$settingsLchatty/util/settings/Settings;this$0*Lchatty/gui/components/LivestreamerDialog;<init>L(Lchatty/gui/components/LivestreamerDialog;Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses,Lchatty/gui/components/LivestreamerDialog$2;	focusLost(Ljava/awt/event/FocusEvent;)VeLjava/awt/event/FocusEvent;SourceFileLivestreamerDialog.javaEnclosingMethod+,
-livestreamerCommand./012345*chatty/gui/components/LivestreamerDialog$2java/awt/event/FocusAdapter(chatty/gui/components/LivestreamerDialog\(Ljava/awt/Window;Lchatty/gui/components/LinkLabelListener;Lchatty/util/settings/Settings;)V()Vaccess$700D(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JTextField;javax/swing/JTextFieldgetText()Ljava/lang/String;chatty/util/settings/Settings	setString'(Ljava/lang/String;Ljava/lang/String;)I 	
9*+�*,�*���M*�*����W���PKʣG%����5chatty/gui/components/LivestreamerDialog$Item$1.class���3;	#	$%&%'()*+,-.val$commandLjava/lang/String;this$10ItemInnerClasses/Lchatty/gui/components/LivestreamerDialog$Item;<init>D(Lchatty/gui/components/LivestreamerDialog$Item;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis1Lchatty/gui/components/LivestreamerDialog$Item$1;run()VSourceFileLivestreamerDialog.javaEnclosingMethod12java/lang/StringBuilder	COMMAND: 3456789/chatty/gui/components/LivestreamerDialog$Item$1java/lang/Objectjava/lang/Runnable:-chatty/gui/components/LivestreamerDialog$ItemprocessStarted(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;access$1500access$16003(Lchatty/gui/components/LivestreamerDialog$Item;Z)V(chatty/gui/components/LivestreamerDialog 
9*+�*,�*���X&*��Y��*����	*�����%�& !"/PKʣG�K"I5chatty/gui/components/LivestreamerDialog$Item$2.class���33	 	!	"#$%&'()val$messageLjava/lang/String;this$1+ItemInnerClasses/Lchatty/gui/components/LivestreamerDialog$Item;<init>D(Lchatty/gui/components/LivestreamerDialog$Item;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis1Lchatty/gui/components/LivestreamerDialog$Item$2;run()VSourceFileLivestreamerDialog.javaEnclosingMethod,-
[cli][info] ./01/chatty/gui/components/LivestreamerDialog$Item$2java/lang/Objectjava/lang/Runnable2-chatty/gui/components/LivestreamerDialog$Itemmessage(Ljava/lang/String;)Vjava/lang/StringreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;access$1500(chatty/gui/components/LivestreamerDialog 	
9*+�*,�*���A*�*������*PKʣG��ke��5chatty/gui/components/LivestreamerDialog$Item$3.class���3-	   !"#this$1%ItemInnerClasses/Lchatty/gui/components/LivestreamerDialog$Item;<init>2(Lchatty/gui/components/LivestreamerDialog$Item;)VCodeLineNumberTableLocalVariableTablethis1Lchatty/gui/components/LivestreamerDialog$Item$3;run()VSourceFileLivestreamerDialog.javaEnclosingMethod&'	
PROCESS ENDED.()*+/chatty/gui/components/LivestreamerDialog$Item$3java/lang/Objectjava/lang/Runnable,-chatty/gui/components/LivestreamerDialog$ItemprocessFinished(I)Vaccess$1500D(Lchatty/gui/components/LivestreamerDialog$Item;Ljava/lang/String;)Vaccess$16003(Lchatty/gui/components/LivestreamerDialog$Item;Z)V(chatty/gui/components/LivestreamerDialog 	
4*+�*���D*��*����	��$PKʣG �|��Ichatty/gui/components/LivestreamerDialog$Item$QualityButtonListener.class���38#	$%&'()*+,this$1.ItemInnerClasses/Lchatty/gui/components/LivestreamerDialog$Item;<init>2(Lchatty/gui/components/LivestreamerDialog$Item;)VCodeLineNumberTableLocalVariableTablethisQualityButtonListenerELchatty/gui/components/LivestreamerDialog$Item$QualityButtonListener;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;/^(Lchatty/gui/components/LivestreamerDialog$Item;Lchatty/gui/components/LivestreamerDialog$1;)Vx0x1,Lchatty/gui/components/LivestreamerDialog$1;SourceFileLivestreamerDialog.java01234560Cchatty/gui/components/LivestreamerDialog$Item$QualityButtonListenerjava/lang/Objectjava/awt/event/ActionListener7-chatty/gui/components/LivestreamerDialog$Item*chatty/gui/components/LivestreamerDialog$1()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;access$1002U(Lchatty/gui/components/LivestreamerDialog$Item;Ljava/lang/String;)Ljava/lang/String;start(chatty/gui/components/LivestreamerDialog 	4*+�*���P*�+��W*������D*+���  !"
-PKʣGј�PT#T#3chatty/gui/components/LivestreamerDialog$Item.class���3�q�q�	q�	q�	q�q�	q����	�	q��	q���	q���	q���	q��	q�������� �q���	��	��q�	��	�	�-/-		
q	w !"#q$%	/&<'(q)*<+,-./01-234567[8	q9[:;	�	<<=<>?@AeBCDEhBFjGHI[Jq:KL<MNPItemInnerClassesQualityButtonListenercloseButtonLjavax/swing/JButton;retryButtonmessagesLjavax/swing/JTextArea;infoLjavax/swing/JLabel;urlLjava/lang/String;qualityrunningZlsLchatty/util/Livestreamer;qualityButtonListenerLjava/awt/event/ActionListener;buttonPanelLjavax/swing/JPanel;this$0*Lchatty/gui/components/LivestreamerDialog;<init>Q(Lchatty/gui/components/LivestreamerDialog;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/LivestreamerDialog$Item;gbcLjava/awt/GridBagConstraints;scrollLjavax/swing/JScrollPane;
StackMapTableMQaddMessage(Ljava/lang/String;)Vex'Ljavax/swing/text/BadLocationException;messagedocLjavax/swing/text/Document;RparseQualitiesqbuttonpartarr$[Ljava/lang/String;len$Ii$split2split�start()VcommandLjava/lang/StringBuilder;�setRunning(Z)V�processStartedprocessFinished(I)V	exitValueactionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;setQualityButtonsEnabledcLjava/awt/Component;[Ljava/awt/Component;enabled�S}(Lchatty/gui/components/LivestreamerDialog;Ljava/lang/String;Ljava/lang/String;Lchatty/gui/components/LivestreamerDialog$1;)Vx0x1x2x3,Lchatty/gui/components/LivestreamerDialog$1;access$9002(Lchatty/gui/components/LivestreamerDialog$Item;)Zaccess$1000C(Lchatty/gui/components/LivestreamerDialog$Item;)Ljava/lang/String;access$1100access$1500D(Lchatty/gui/components/LivestreamerDialog$Item;Ljava/lang/String;)Vaccess$16003(Lchatty/gui/components/LivestreamerDialog$Item;Z)Vaccess$1002U(Lchatty/gui/components/LivestreamerDialog$Item;Ljava/lang/String;)Ljava/lang/String;SourceFileLivestreamerDialog.java���������������javax/swing/JButtonClose��xyRetryzyjavax/swing/JTextArea{|javax/swing/JLabel}~Cchatty/gui/components/LivestreamerDialog$Item$QualityButtonListener�T��javax/swing/JPanel��java/lang/StringBuilderSelected quality: UVWXY�java/awt/GridBagLayoutZ[\]^_`�abcdefghibj�k�l�javax/swing/JScrollPane�mjava/awt/Dimension�nopqrQsXAvailable streams:tu��vwRxyz{%javax/swing/text/BadLocationException(chatty/gui/components/LivestreamerDialog|}X~������	\([^)]*\)��:��,��c��y������Click button to select quality.��No quality selected yet.��livestreamerCommand���	twitch.tv��livestreamerUseAuth�utoken�� --twitch-oauth-token  chatty/util/Livestreamer������End process��������m/chatty/gui/components/LivestreamerDialog$Item$1�����/chatty/gui/components/LivestreamerDialog$Item$2/chatty/gui/components/LivestreamerDialog$Item$3����������-chatty/gui/components/LivestreamerDialog$Item-chatty/util/Livestreamer$LivestreamerListenerLivestreamerListenerjava/awt/event/ActionListenerjava/lang/Stringjavax/swing/text/Document*chatty/gui/components/LivestreamerDialog$1^(Lchatty/gui/components/LivestreamerDialog$Item;Lchatty/gui/components/LivestreamerDialog$1;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setText	setLayout(Ljava/awt/LayoutManager;)Vchatty/gui/GuiUtilmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsfillweightxDadd)(Ljava/awt/Component;Ljava/lang/Object;)VSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)VweightysetEditablesetLineWrapsetWrapStyleWord(Ljava/awt/Component;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VaddActionListener"(Ljava/awt/event/ActionListener;)VtrimstartsWith(Ljava/lang/String;)ZgetDocument()Ljavax/swing/text/Document;	getLength()IinsertString5(ILjava/lang/String;Ljavax/swing/text/AttributeSet;)Vjava/lang/ClassgetNamejava/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VreplaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;'(Ljava/lang/String;)[Ljava/lang/String;	removeAll*(Ljava/awt/Component;)Ljava/awt/Component;getWidthgetPreferredSize()Ljava/awt/Dimension;widthpackaccess$1300K(Lchatty/gui/components/LivestreamerDialog;)Lchatty/util/settings/Settings;chatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;contains(Ljava/lang/CharSequence;)ZgetBooleanisEmpty()ZD(Ljava/lang/String;Lchatty/util/Livestreamer$LivestreamerListener;)VsetEnabled	isVisibleaccess$1400E(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JTabbedPane;javax/swing/JTabbedPaneremovejavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V2(Lchatty/gui/components/LivestreamerDialog$Item;)Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;kill
getComponents()[Ljava/awt/Component;java/awt/Component qrsxyzy{|}~����������������lg*+�*�*�	Y��*�	Y
��*�Y��*�Y��*�Y*��*�Y��*,�*-�-�*��Y��-���*� Y�!�"�#:�$�%**��&�#:*��'�(**��&�#:*��'�(**��&�#:�$�%�)*��**��+*��,�-Y*��.:�/Y,��0�1*�&�#:�$�%**��&*�*�2*�*�2���'&	#.9FQ'V([)_*y-�0�1�2�3�5�6�7�9�:�;�=�>�?�@�ABCDE/F7H@IFJLKVM^NfP�4g��g�g������J����y��������V*��+�34�5�*+�6*��7M,,�8�Y�+�9���:�N<�=�>�?-�@� @C;�"XY\ ^@aC_D`Ub�*D��V��V�� 6����*�������o�+AB�CL+D�EM,��x,2F�EN*��G-:�66�52:�3:�	Y�:		*��2*�	�HW����*�I*��J�K�*��L*�M���>n	pqrs&t?uFvQwZxdtjz{{�}��fF��Q�y	?%��)A��.<��19��l��������|���!�1������8����u�*���*�N*��*�O�� *��Y��*�����Y�L+*��PQ�R�W*�S�T�<*��PU�V�-*��PW�R�X�+Y�W+*��PW�R�W+Z�W+*��W*��+Z�W+*��W�[Y+�*�\M*,�],�^��R���
�� �=�E�V������������������������ ���E��������]�&����\�*�_�`�*��`*����a*���N*��*��*��b�*��c*�d��&	����)�6�;�P�[��\��\���+K����K����'���E
�eY*+�f�g�����
��
�����E
�hY*+�i�g�����
��
�����D�jY*�k�g�������������A+�l*��"*��
*�]�m�'*��c*�d�+�l*��*��*�n��"����*�5�<�@��A��A���
����'*��oM,�>6�,2:�p������� �&��>��������'��'���
������Z*+,-����4�������������/*���������/*���������/*���������:*+�����������:*�����������;*+Z����������u:q<tqvjhe�r[O	PKʣG{k&� � .chatty/gui/components/LivestreamerDialog.class���3z	l�	l�	l�	l�	l�	l�	l�	l�	l�	l�m���������������l�	l�l���l��l�����%�$���(��+�(���	��	��$����3�	����6�����6�	�����BGlllM�	M M
lVVllVVV !"#$!%&'()*+ItemInnerClassescloseButtonLjavax/swing/JButton;tabsLjavax/swing/JTabbedPane;parentLjava/awt/Window;enableContextMenuLjavax/swing/JCheckBox;openDialog	qualitiesLjavax/swing/JTextField;commandDefuseAuthstreamInputopenStreamButtonINFOLjava/lang/String;
ConstantValuesettingsLchatty/util/settings/Settings;<init>\(Ljava/awt/Window;Lchatty/gui/components/LinkLabelListener;Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethis*Lchatty/gui/components/LivestreamerDialog;linkLabelListener)Lchatty/gui/components/LinkLabelListener;	infoPanelLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;info!Lchatty/gui/components/LinkLabel;streamLabelLjavax/swing/JLabel;buttonActionLjava/awt/event/ActionListener;open'(Ljava/lang/String;Ljava/lang/String;)VnewItem/Lchatty/gui/components/LivestreamerDialog$Item;urlexistingItemstreamquality
StackMapTable,getExisitingItemU(Ljava/lang/String;Ljava/lang/String;)Lchatty/gui/components/LivestreamerDialog$Item;itemoLjava/lang/Object;arr$[Ljava/awt/Component;len$Ii$�loadSettings()Vaccess$000A(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JButton;x0access$100D(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JTextField;access$200access$300access$400C(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JCheckBox;access$500access$600access$700access$1300K(Lchatty/gui/components/LivestreamerDialog;)Lchatty/util/settings/Settings;access$1400E(Lchatty/gui/components/LivestreamerDialog;)Ljavax/swing/JTabbedPane;SourceFileLivestreamerDialog.javast��|{yx}xwx~{rz{qr�-javax/swing/JButtonClose�.javax/swing/JTabbedPane��javax/swing/JCheckBoxEnable context menu entryShow dialog when opening streamjavax/swing/JTextField�/&Use Authorization (Twitch Oauth Token)Open StreamLivestreamer0.uv12java/awt/BorderLayout34Center567/Southjavax/swing/JPaneljava/awt/GridBagLayout�4chatty/gui/components/LinkLabel�Livestreamer is an external program you have to install seperately that allows you to watch streams of many websites in a player like VLC. [help-livestreamer:top More information..]�8java/awt/Dimension�9:;<=>?@�AB=Cjava/awt/Insets�DEFjavax/swing/JLabel4Context menu qualities ("Select" to select quality):$Base command or commandline options:fSupply the Oauth token Chatty uses to authorize for the stream (e.g. to watch sub-only Twitch streams)G.2Enter stream name or URL (or commandline options):H2IFJKMain5L*chatty/gui/components/LivestreamerDialog$1�MNO*chatty/gui/components/LivestreamerDialog$2PQR�STU;java/lang/StringBuildertwitch.tv/VWXYZ[\��]�^2-chatty/gui/components/LivestreamerDialog$Item�_`abcdef��ghijklmnop,qrsplivestreamertu\vjlivestreamerQualitieswxy.livestreamerCommandlivestreamerUseAuthlivestreamerShowDialog(chatty/gui/components/LivestreamerDialogjavax/swing/JDialogjava/lang/String(Ljava/awt/Window;)V(Ljava/lang/String;)V(I)VsetTitlesetLocationRelativeTo(Ljava/awt/Component;)V	setLayout(Ljava/awt/LayoutManager;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VsetMnemonic>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)Vchatty/gui/GuiUtilmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsfillweightxD$(IIIII)Ljava/awt/GridBagConstraints;(IIII)VinsetsLjava/awt/Insets;setToolTipTextsetLabelForSMALL_BUTTON_INSETS	setMargin(Ljava/awt/Insets;)V<(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component;L(Lchatty/gui/components/LivestreamerDialog;Lchatty/util/settings/Settings;)VaddActionListener"(Ljava/awt/event/ActionListener;)VaddFocusListener!(Ljava/awt/event/FocusListener;)VpackgetSize()Ljava/awt/Dimension;setMinimumSizeappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;
chatty/HelpervalidateChannel(Ljava/lang/String;)ZstartsetSelectedComponent}(Lchatty/gui/components/LivestreamerDialog;Ljava/lang/String;Ljava/lang/String;Lchatty/gui/components/LivestreamerDialog$1;)Vchatty/util/StringUtil	shortenTo'(Ljava/lang/String;I)Ljava/lang/String;getSelectedIndex()IsetToolTipTextAt(ILjava/lang/String;)VisSelected()ZsetVisible(Z)V
getComponents()[Ljava/awt/Component;access$9002(Lchatty/gui/components/LivestreamerDialog$Item;)Zaccess$1000C(Lchatty/gui/components/LivestreamerDialog$Item;)Ljava/lang/String;equals(Ljava/lang/Object;)Zaccess$1100chatty/util/settings/SettingsgetBooleansetSelected	getString&(Ljava/lang/String;)Ljava/lang/String;setText!lmqrstuvwxyxz{|{}x~{r���)������	*+�*�Y
��*�Y��*�Y��*�Y��*�Y��	*�Y��*�Y��*�Y��*�Y��*-�*�*+�*+�*�Y��**� �!*�C�"**�#�!�$Y�%Y�&�':�(Y),�*:�+Y,2�,�-�.:�/�0�1�2:�3Y�4�5*��1�2:�3Y�4�5*��1�2:�3Y�4�5�6Y7�8�1�2:�/�3Y�4�5*�	�1�2:�3Y�4�5�6Y9�8�1�2:�/�3Y�4�5*��1�2:�3Y�4�5*�:�;*��1�2:�3Y�4�5�6Y<�8:*��=�1	�.:�/�0*��1	�.:*��>�?�/*��1*�@�AW�BY*-�C:*��D*��E*��E*��F*��F*��F*��GY*-�H�I*�J**�K�L��*JE./2*374D6Q7^9k:xF}G�I�K�M�O�P�Q�V�Y�Z�[�\�]�^`ab&d1eBfMhXihjxl�m�n�o�q�r�s�u�v�w�x�z{|#}.:�J�U�^�g�q�w�}�������������������������������\	��uv�����R���,���F��U����S�����^�+�|�MY�NO�P+�P�QN+�R�+N*-,�S:��T*��U�A�VY*-,�W:*�+�X�AW*��U*�*��Y+�Z�T*�J*�[+�,�
*��\�**��*�]��N����!�)�.�3�?�L�\�e�t�y�}����������>L1��e��)T�������������!����=����^*��^N-�66�I-2:�V�5�V:�_�&�`��`,�a��b+�a����������$�+�S�V�\��R++��:��T��P��M��^��^��^������F�����Q*�*�c�d�e*�	*�f�g�h*�*�i�g�h*�*�j�d�e*�*�k�d�e���� �0�@�P��Q�����/*���,������/*�	��,������/*���,������/*���,������/*���,������/*���,������/*���,������/*���,������/*���,������/*���,�����oVlnGBPKˣG�3z���*chatty/gui/components/SearchDialog$1.class���30	 !"#$%this$0$Lchatty/gui/components/SearchDialog;<init>'(Lchatty/gui/components/SearchDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/SearchDialog$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileSearchDialog.javaEnclosingMethod&'	()*+,-./$chatty/gui/components/SearchDialog$1java/lang/Objectjava/awt/event/ActionListener"chatty/gui/components/SearchDialog((Lchatty/gui/MainGui;Ljava/awt/Window;)V()Vaccess$100>(Lchatty/gui/components/SearchDialog;)Ljavax/swing/JTextField;access$000()Ljava/awt/Color;javax/swing/JTextField
setBackground(Ljava/awt/Color;)V 	
4*+�*��F
F*�����J
KPKˣG�����*chatty/gui/components/SearchDialog$2.class���3L	(	)	*
+&,-./0&1-2&345678val$gLchatty/gui/MainGui;	val$ownerLjava/awt/Window;this$0$Lchatty/gui/components/SearchDialog;<init>L(Lchatty/gui/components/SearchDialog;Lchatty/gui/MainGui;Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/SearchDialog$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileSearchDialog.javaEnclosingMethod9:;<=>?@ABCDEFGHIJK;$chatty/gui/components/SearchDialog$2java/lang/Objectjava/awt/event/ActionListener"chatty/gui/components/SearchDialog((Lchatty/gui/MainGui;Ljava/awt/Window;)V()Vaccess$100>(Lchatty/gui/components/SearchDialog;)Ljavax/swing/JTextField;javax/swing/JTextFieldgetText()Ljava/lang/String;chatty/gui/MainGuisearch&(Ljava/awt/Window;Ljava/lang/String;)Zaccess$200()Ljava/awt/Color;
setBackground(Ljava/awt/Color;)Vaccess$3009(Lchatty/gui/components/SearchDialog;)Ljavax/swing/Timer;javax/swing/Timerrestart 
>*+�*,�*-�*��Ny0*�*�*�����*����	*����RS%T/V00 !"/#$%&'PKˣG��	;��*chatty/gui/components/SearchDialog$3.class���3@	$	%	&'()"*+,"-+./0val$gLchatty/gui/MainGui;	val$ownerLjava/awt/Window;this$0$Lchatty/gui/components/SearchDialog;<init>L(Lchatty/gui/components/SearchDialog;Lchatty/gui/MainGui;Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/SearchDialog$3;
windowClosing(Ljava/awt/event/WindowEvent;)VeLjava/awt/event/WindowEvent;SourceFileSearchDialog.javaEnclosingMethod12
3456789:;<=>?$chatty/gui/components/SearchDialog$3java/awt/event/WindowAdapter"chatty/gui/components/SearchDialog((Lchatty/gui/MainGui;Ljava/awt/Window;)V()Vchatty/gui/MainGuiresetSearch(Ljava/awt/Window;)Vaccess$100>(Lchatty/gui/components/SearchDialog;)Ljavax/swing/JTextField;javax/swing/JTextFieldsetText(Ljava/lang/String;)Vaccess$000()Ljava/awt/Color;
setBackground(Ljava/awt/Color;)V 
>*+�*,�*-�*��[d$*�*��*���*����	�^_`#a$$ !"#PKˣG���Z��(chatty/gui/components/SearchDialog.class���3�	m	n	o	p	qrstuvwxryz7{|}~�	��������	�	�	���	�	��	w����&�%�%��*����.���	3��3��5��InnerClassesCOLOR_NORMALLjava/awt/Color;COLOR_NO_RESULTNO_RESULT_COLOR_TIMEI
ConstantValue�timerLjavax/swing/Timer;searchTextLjavax/swing/JTextField;searchButtonLjavax/swing/JButton;createdLjava/util/Map;	SignatureFLjava/util/Map<Ljava/awt/Window;Lchatty/gui/components/SearchDialog;>;showSearchDialogG(Lchatty/gui/components/Channel;Lchatty/gui/MainGui;Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablechannelLchatty/gui/components/Channel;gLchatty/gui/MainGui;ownerLjava/awt/Window;dialog$Lchatty/gui/components/SearchDialog;
StackMapTablet<init>((Lchatty/gui/MainGui;Ljava/awt/Window;)VthisgbcLjava/awt/GridBagConstraints;listenerLjava/awt/event/ActionListener;access$000()Ljava/awt/Color;access$100>(Lchatty/gui/components/SearchDialog;)Ljavax/swing/JTextField;x0access$200access$3009(Lchatty/gui/components/SearchDialog;)Ljavax/swing/Timer;<clinit>()VSourceFileSearchDialog.javaAB<;CD:;GH���"chatty/gui/components/SearchDialogZ[���������Z�javax/swing/JTextFieldZ�javax/swing/JButtonSearchZ�EF����java/awt/GridBagLayoutZj��java/awt/GridBagConstraints�>�>�>java/awt/InsetsZ����>������javax/swing/Timer$chatty/gui/components/SearchDialog$1Z�Z���$chatty/gui/components/SearchDialog$2Z���$chatty/gui/components/SearchDialog$3���j�;java/awt/ColorZ�java/util/HashMapjavax/swing/JDialog
java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;setLocationRelativeTo(Ljava/awt/Component;)Vchatty/gui/GuiUtilinstallEscapeCloseOperation(Ljavax/swing/JDialog;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;setVisible(Z)V(Ljava/awt/Window;)V(I)V(Ljava/lang/String;)VsetTitlesetResizable	setLayout(Ljava/awt/LayoutManager;)Vgridxgridy	gridwidth(IIII)VinsetsLjava/awt/Insets;anchoradd)(Ljava/awt/Component;Ljava/lang/Object;)VSMALL_BUTTON_INSETS	setMargin(Ljava/awt/Insets;)V'(Lchatty/gui/components/SearchDialog;)V#(ILjava/awt/event/ActionListener;)VsetRepeatsL(Lchatty/gui/components/SearchDialog;Lchatty/gui/MainGui;Ljava/awt/Window;)VaddActionListener"(Ljava/awt/event/ActionListener;)VaddWindowListener"(Ljava/awt/event/WindowListener;)VpackWHITE(III)V!7:;<;=>?@ABCDEFGHIJ	KLM�5�,��N-�!�Y+,�N-,�	-��,-�W-��N"*
+,- .$//142O*5PQ5RS5TU
(VWX�/YZ[M�*,�
*�Y��*�Y��*�*�*�Y���Y�N-�-�-�-�Y�� -�!**�-�"-�*��#�$**�-�"*�%Y�&Y*�'�(�*��)�*Y*+,�+:*��,*��-*�.Y*+,�/�0*�1�Nb5#$6%7*85:=;B<G=L>[?aAjBoCyD�F�M�N�X�Y�[�d�eO4�\W�RS�TU=�]^�%_`abM��NcdM/*��NOeWfbM��NghM/*��NOeWijMC#�2��3Y��P�4��5Y�6��N'kl9.*&PKʣG_zX�		.chatty/gui/components/SelectGameDialog$1.class���3#	this$0(Lchatty/gui/components/SelectGameDialog;<init>+(Lchatty/gui/components/SelectGameDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses*Lchatty/gui/components/SelectGameDialog$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileSelectGameDialog.javaEnclosingMethod !"	(chatty/gui/components/SelectGameDialog$1javax/swing/AbstractAction&chatty/gui/components/SelectGameDialog(Lchatty/gui/MainGui;)V()Vaccess$200 	4*+�*��M
@*���QR
PKʣG���7chatty/gui/components/SelectGameDialog$DoneAction.class���3)	 !"#$this$0(Lchatty/gui/components/SelectGameDialog;<init>+(Lchatty/gui/components/SelectGameDialog;)VCodeLineNumberTableLocalVariableTablethisDoneActionInnerClasses3Lchatty/gui/components/SelectGameDialog$DoneAction;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;%U(Lchatty/gui/components/SelectGameDialog;Lchatty/gui/components/SelectGameDialog$1;)Vx0x1*Lchatty/gui/components/SelectGameDialog$1;SourceFileSelectGameDialog.java		&'(1chatty/gui/components/SelectGameDialog$DoneActionjavax/swing/AbstractAction(chatty/gui/components/SelectGameDialog$1()V&chatty/gui/components/SelectGameDialogaccess$1000 	4*+�*��v
@*���z{
	D*+��v
 !PKʣG G+(��>chatty/gui/components/SelectGameDialog$ListClickListener.class���33!	"#$%&'$()*this$0(Lchatty/gui/components/SelectGameDialog;<init>+(Lchatty/gui/components/SelectGameDialog;)VCodeLineNumberTableLocalVariableTablethisListClickListenerInnerClasses:Lchatty/gui/components/SelectGameDialog$ListClickListener;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTable+U(Lchatty/gui/components/SelectGameDialog;Lchatty/gui/components/SelectGameDialog$1;)Vx0x1*Lchatty/gui/components/SelectGameDialog$1;SourceFileSelectGameDialog.java	,-./0128chatty/gui/components/SelectGameDialog$ListClickListenerjava/awt/event/MouseAdapter(chatty/gui/components/SelectGameDialog$1()V&chatty/gui/components/SelectGameDialogaccess$2000java/awt/event/MouseEvent
getClickCount()Iaccess$1000 	
4*+�*��k
`*��+��*���opqs
D*+��k  $PKʣG��n3��9chatty/gui/components/SelectGameDialog$ListRenderer.class���3xB	CDEFGHIJ	K	LMNO	PQRSTUVWXYZ[\]^iconLjavax/swing/ImageIcon;seperatorBorderLjavax/swing/border/Border;this$0(Lchatty/gui/components/SelectGameDialog;<init>+(Lchatty/gui/components/SelectGameDialog;)VCodeLineNumberTableLocalVariableTablethisListRendererInnerClasses5Lchatty/gui/components/SelectGameDialog$ListRenderer;getListCellRendererComponent>(Ljavax/swing/JList;Ljava/lang/Object;IZZ)Ljava/awt/Component;listLjavax/swing/JList;valueLjava/lang/Object;indexIisSelectedZcellHasFocuslabelLjavax/swing/JLabel;textLjava/lang/String;
StackMapTableRS_U(Lchatty/gui/components/SelectGameDialog;Lchatty/gui/components/SelectGameDialog$1;)Vx0x1*Lchatty/gui/components/SelectGameDialog$1;SourceFileSelectGameDialog.java `javax/swing/ImageIconchatty/gui/MainGuistar.pngabcdefghij()javax/swing/JLabeljava/lang/String-klmnopqrstulvw3chatty/gui/components/SelectGameDialog$ListRenderer#javax/swing/DefaultListCellRenderer(chatty/gui/components/SelectGameDialog$1()Vjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)Vjava/awt/ColorGRAYLjava/awt/Color;javax/swing/BorderFactorycreateMatteBorder6(IIIILjava/awt/Color;)Ljavax/swing/border/MatteBorder;equals(Ljava/lang/Object;)ZsetText(Ljava/lang/String;)V	setBorder(Ljavax/swing/border/Border;)V&chatty/gui/components/SelectGameDialogaccess$22009(Lchatty/gui/components/SelectGameDialog;)Ljava/util/Set;
java/util/SetcontainssetIcon(Ljavax/swing/Icon;)V  !]+*+�*�*�Y���	*����"�	��#+$'()!�N*+,�
�:,�:���*��*��,���*�	��""��� �&�/�B�K�#RN$'N*+N,-N./N01N21>348567�/89<!D*+��"�# $'=>?@A&X%:PKʣGX���=chatty/gui/components/SelectGameDialog$MyActionListener.class���3f0	1234565758595:5;5<5=5>5?5@5A5B5CDE5FGHIthis$0(Lchatty/gui/components/SelectGameDialog;<init>+(Lchatty/gui/components/SelectGameDialog;)VCodeLineNumberTableLocalVariableTablethisMyActionListenerInnerClasses9Lchatty/gui/components/SelectGameDialog$MyActionListener;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableJU(Lchatty/gui/components/SelectGameDialog;Lchatty/gui/components/SelectGameDialog$1;)Vx0x1*Lchatty/gui/components/SelectGameDialog$1;SourceFileSelectGameDialog.javaKLMNOPQRSTUSVWSXYZ[\S]^S_`SabcdKe7chatty/gui/components/SelectGameDialog$MyActionListenerjava/lang/Objectjava/awt/event/ActionListener(chatty/gui/components/SelectGameDialog$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;&chatty/gui/components/SelectGameDialogaccess$600B(Lchatty/gui/components/SelectGameDialog;)Ljavax/swing/JTextField;access$700?(Lchatty/gui/components/SelectGameDialog;)Ljavax/swing/JButton;access$800access$900access$1000access$1100access$1202,(Lchatty/gui/components/SelectGameDialog;Z)ZsetVisible(Z)Vaccess$1300access$1400access$1500access$1600access$1700access$18009(Lchatty/gui/components/SelectGameDialog;)Ljava/util/Set;
java/util/Setclearaccess$1900 4*+�*��D"#$�+�*���+�*���*��+�*���*��	+�*���*��W*��+�*��
�*��+�*���*��+�*���*���*���>HI#K1L8NFOOPWReSlUzV�X�Y�Z�\�"�%&'	 *D*+��D "+,-./!5 (PKʣGlk�8��Dchatty/gui/components/SelectGameDialog$MyListSelectionListener.class���3. 	!"#$#%&'(this$0(Lchatty/gui/components/SelectGameDialog;<init>+(Lchatty/gui/components/SelectGameDialog;)VCodeLineNumberTableLocalVariableTablethisMyListSelectionListenerInnerClasses@Lchatty/gui/components/SelectGameDialog$MyListSelectionListener;valueChanged)(Ljavax/swing/event/ListSelectionEvent;)Ve&Ljavax/swing/event/ListSelectionEvent;)U(Lchatty/gui/components/SelectGameDialog;Lchatty/gui/components/SelectGameDialog$1;)Vx0x1*Lchatty/gui/components/SelectGameDialog$1;SourceFileSelectGameDialog.java	*+,->chatty/gui/components/SelectGameDialog$MyListSelectionListenerjava/lang/Object'javax/swing/event/ListSelectionListener(chatty/gui/components/SelectGameDialog$1()V&chatty/gui/components/SelectGameDialogaccess$2000access$2100 	
4*+�*��_
K*��*���cde
D*+��_ #PKʣG{�0�e*e*,chatty/gui/components/SelectGameDialog.class���3�	����	�	��	��		�	�	��
	��	�	���	� !!"##	�$%&#	�&')#�(	�)*-#�+#,#-.2/#015/#234567#89:�;><�=>�?	�@?�	�A	BCD	�EFJG	�H	�IJNKLMQ/N!NOU/#PQX/#R�S�T�U!V�W�X!YiZ[\[]&\[^_`_ab&c[defm#gmh[imjkl�mmV#nidopqr#st^[u�v[w[xpypz{|�#	�}	�~	�	��#�����ListRendererInnerClassesDoneActionListClickListenerMyListSelectionListenerMyActionListenerINFOLjava/lang/String;
ConstantValuemainLchatty/gui/MainGui;okLjavax/swing/JButton;cancelsearchButtonaddToFavoritesButtonremoveFromFavoritesButtonclearSearchButtonsearchResultInfoLjavax/swing/JLabel;	gameInputLjavax/swing/JTextField;listLjavax/swing/JList;	Signature'Ljavax/swing/JList<Ljava/lang/String;>;listDataLjavax/swing/DefaultListModel;2Ljavax/swing/DefaultListModel<Ljava/lang/String;>;	favoritesLjava/util/Set;#Ljava/util/Set<Ljava/lang/String;>;searchResultsaveZ<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis(Lchatty/gui/components/SelectGameDialog;gbcLjava/awt/GridBagConstraints;doneActionLjavax/swing/Action;actionListenerLjava/awt/event/ActionListener;open&(Ljava/lang/String;)Ljava/lang/String;gamePreset
StackMapTableuseGameAndClose()VsetSearchResult(Ljava/util/Set;)VgamesLocalVariableTypeTable&(Ljava/util/Set<Ljava/lang/String;>;)Vupdategamei$Ljava/util/Iterator;�doSearchsearchStringbaddToFavoritesremoveFromFavoritestoggleFavorite
saveFavorites
loadFavorites
updateButtonsfavoriteSelectednonFavoriteSelectedmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xIywhupdateGameFromSelectionselecteditemSelectedaccess$200+(Lchatty/gui/components/SelectGameDialog;)Vx0access$600B(Lchatty/gui/components/SelectGameDialog;)Ljavax/swing/JTextField;access$700?(Lchatty/gui/components/SelectGameDialog;)Ljavax/swing/JButton;access$800access$900access$1000access$1100access$1202,(Lchatty/gui/components/SelectGameDialog;Z)Zx1access$1300access$1400access$1500access$1600access$1700access$18009(Lchatty/gui/components/SelectGameDialog;)Ljava/util/Set;access$1900access$2000access$2100access$2200SourceFileSelectGameDialog.java������������������������������������Select game��javax/swing/JButtonOk��CancelSearchAdd to favoritesRemove from favoritesClear searchjavax/swing/JLabelNo search performed yet.��javax/swing/JTextField��javax/swing/JList����javax/swing/DefaultListModel��java/util/TreeSet����java/awt/GridBagLayout������3chatty/gui/components/SelectGameDialog$ListRenderer����1chatty/gui/components/SelectGameDialog$DoneAction�����useSelectedGame��������(chatty/gui/components/SelectGameDialog$1�����<html><body style='width:280px'>The game name has to be exact so your game shows up in the right category on Twitch, so best use the search.<br />Enter the beginning of your game and press enter or 'Search'.�������������java/awt/Insets������javax/swing/JScrollPane����7chatty/gui/components/SelectGameDialog$MyActionListener��>chatty/gui/components/SelectGameDialog$MyListSelectionListener��8chatty/gui/components/SelectGameDialog$ListClickListener������������������������������java/lang/String����-java/lang/StringBuilderSearch: ������ / Favorites: ����Enter something to search.���Searching..�����������������java/awt/GridBagConstraints������������&chatty/gui/components/SelectGameDialogjavax/swing/JDialogjava/util/Iterator&(Ljava/awt/Frame;Ljava/lang/String;Z)V(Ljava/lang/String;)V(I)VsetResizable(Z)V	setLayout(Ljava/awt/LayoutManager;)VsetModel(Ljavax/swing/ListModel;)VsetVisibleRowCountU(Lchatty/gui/components/SelectGameDialog;Lchatty/gui/components/SelectGameDialog$1;)VsetCellRenderer!(Ljavax/swing/ListCellRenderer;)VgetInputMap()Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke(II)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VfillweightxDchatty/gui/GuiUtilSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)Vanchor(IIII)Vinsetsweighty(Ljava/awt/Component;)VsetMnemonicaddActionListener"(Ljava/awt/event/ActionListener;)VaddListSelectionListener,(Ljavax/swing/event/ListSelectionListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VpackgetSize()Ljava/awt/Dimension;setMinimumSize(Ljava/awt/Dimension;)VsetTextsetVisiblegetText()Ljava/lang/String;trim
java/util/SetclearaddAll(Ljava/util/Collection;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;addElement(Ljava/lang/Object;)VisEmptyappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;size()I(I)Ljava/lang/StringBuilder;toStringsetSelectedValue(Ljava/lang/Object;Z)Vchatty/gui/MainGuiperformGameSearchgetSelectedValuesList()Ljava/util/List;java/util/List(Ljava/lang/Object;)ZremovecontainssetGameFavoritesgetGameFavorites()Ljava/util/Set;setEnabledgridxgridy	gridwidthgridheightgetSelectedValue!�����A������������������������������������!����	*+�*�Y��*�Y��*�Y��*�Y��*�Y��*�Y��*�Y�� *�!Y�"�*�#Y�$�%*�&Y�'�(*�)Y�*�*�)Y�*�*�+*+�,*�-Y�.�/*�%*�(�0*�%�1*�%�2Y*�3�4�5Y*�6N*�%�7�89�:*�%�;9-�<*�%�7F�8=�:*�%�;=�>Y*�?�<*�@M*�YA�,�B*�@M,�C,D�F**�,�B*��G�H*�@M,�C**�,�B*�@M,�I,�JY�K�L**� ,�B*�@M*��G�H,�C,�JY�K�L**�,�B*�@M,�C,�F,�M*�NY*�%�O,�B*��G�H*�@M,�C,D�F**�,�B*��G�H*�@M,�C,D�F**�,�B*��P*�@M,D�F,�C**�,�B*�C�P*�@M,�C**�,�B�QY*�R:*��S*��T*��S*��S*�%�UY*�V�W*�%�XY*�Y�Z*��S*��S*��S*�[**�\�]��BP>'("+/,<-I.V1c2p3{4�7�8�?�A�C�D�E�F�I�J�K�LM$U-V;XDYIZP[Y]c^l_q`zb�c�d�e�g�h�i�j�k�m�n�o�p�q�stuvw!y+z4{9|@}IR�\�c�h�q�z������������������������������4	��	��-����*���l�����**�+�^*�_*�*�`*��*��a�b���������(��*��*���(���=*�*�`�����������k*��c*�+�dW*����	����������������^�*�(�e*��fL+�g�+�h�iM*�(,�j���*��k�*��k�*�(l�j*��fL+�g�+�h�iM*�(,�j���*� �mY�no�p*��q�rs�pt�p*��q�ru�p�v�w*�%*��a�x��2��$�,�/�G�P�m�u�x������4$����m��Z�������� �	�����.*��a�bL+�y�
*� z�w�*�,+�{*� |�w�������$�-��.��#���������7*�%�}�~L+�g�+�h�iM*�,�W���*��*���� �+�.�2�6��  ��
!��7����
� ����7*�%�}�~L+�g�+�h�iM*�,��W���*��*���� �+�.�2�6��  ��
!��7����
� ����R*�%�}�~L+�g�6+�h�iM*�,���*�,��W�*�,�W���*��*���"� �-�;FIMQ�  &��
<��R����
�-�����:*�,*�����	������U*��c*�*�,���dW*���	
�������N<=*�%�}�~N-�g�&-�h�i:*����<�=���*���*�����*%38:=E M!�4%��,��N��L��J�����&������5��Y��:���������JY�K�L��$	%&'(")2*�>5��5��5��5��5��	,�����f*�%���iL+�*�+�^��4568���
��������3*����AB������/*���������/*���������/*���������/*���������/*���������/*�
��������/*���������;*Z�����������/*���������/*�	��������/*���������/*���������/*���������/*���������/*���������/*���������/*���������/*��������22��5��X��U��Q��>PKʣGur���+chatty/gui/components/SortedListModel.class���3oIJI	K	LMNOPQRSTUVWXMYZ[\]^_dataLjava/util/ArrayList;	SignatureLjava/util/ArrayList<TE;>;comparatorLjava/util/Comparator;Ljava/util/Comparator<-TE;>;<init>()VCodeLineNumberTableLocalVariableTablethis'Lchatty/gui/components/SortedListModel;LocalVariableTypeTable,Lchatty/gui/components/SortedListModel<TE;>;
setComparator(Ljava/util/Comparator;)Vc(Ljava/util/Comparator<-TE;>;)VgetSize()IgetElementAt(I)Ljava/lang/Object;indexI(I)TE;add(Ljava/lang/Object;)VitemLjava/lang/Object;insertionPointTE;(TE;)Vcontains(Ljava/lang/Object;)Z(TE;)Zremove
StackMapTablefindInsertionPoint(Ljava/lang/Object;)I(TE;)Iupdatedcleariterator()Ljava/util/Iterator;S<E:Ljava/lang/Object;>Ljavax/swing/AbstractListModel<TE;>;Ljava/lang/Iterable<TE;>;SourceFileSortedListModel.java java/util/ArrayList`abc-def/?@3ghe:;i@=/jeklmnC DE%chatty/gui/components/SortedListModeljavax/swing/AbstractListModeljava/lang/Iterablejava/util/Collectionssort)(Ljava/util/List;Ljava/util/Comparator;)VsizefireContentsChanged(Ljava/lang/Object;II)Vget(ILjava/lang/Object;)VfireIntervalAddedindexOffireIntervalRemovedbinarySearch;(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)IisEmpty()Z! !Y*�*�Y��*��"#$%&$'()!w*+�*�+�***����"
#$%*&$'*+,-!D*���"##$%&$'./!O	*��	�"(#	$%	01&	$'234!}*+�=*�+�**��",-./# $%5671&$'589:;!Y	*�+�
�"2#	$%	56&	$'	58<=4!� *�+�=��*��W**��"6	78:;<#  $% 56	01& $' 58>�9?@!�*�+*��=�`t=�"?
@AC# $%56
71&$'58>�AB4!�*�+�=��**��"G	HIKL# $%56	01&$'58>�9C !r!*���***��d�*���"OPQ S#!$%&!$'> DE!D*���"\#$%&$'FGHPKʣG��q�dd1chatty/gui/components/StatusHistoryDialog$1.class���3%	 this$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses-Lchatty/gui/components/StatusHistoryDialog$1;valueChanged)(Ljavax/swing/event/ListSelectionEvent;)Ve&Ljavax/swing/event/ListSelectionEvent;SourceFileStatusHistoryDialog.javaEnclosingMethod!	"	#$+chatty/gui/components/StatusHistoryDialog$1java/lang/Object'javax/swing/event/ListSelectionListener)chatty/gui/components/StatusHistoryDialog*(Ljava/awt/Dialog;Lchatty/StatusHistory;)V()Vaccess$000 	4*+�*��C
@*���GH
PKʣGĺ��1chatty/gui/components/StatusHistoryDialog$2.class���3>	!"#$%&'(#)'*+,-this$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses-Lchatty/gui/components/StatusHistoryDialog$2;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTableSourceFileStatusHistoryDialog.javaEnclosingMethod./
01234567839:;<=+chatty/gui/components/StatusHistoryDialog$2java/awt/event/MouseAdapter)chatty/gui/components/StatusHistoryDialog*(Ljava/awt/Dialog;Lchatty/StatusHistory;)V()Vjava/awt/event/MouseEvent
getClickCount()Iaccess$100access$200W(Lchatty/gui/components/StatusHistoryDialog;)Lchatty/gui/components/StatusHistoryTable;(chatty/gui/components/StatusHistoryTablegetSelectedColumngetPoint()Ljava/awt/Point;rowAtPoint(Ljava/awt/Point;)Iaccess$300 
4*+�*��K�A+��
*���1+��)*����*��+���*��	�OPQR9T@WAA- PKʣGo�K�1chatty/gui/components/StatusHistoryDialog$3.class���3#	this$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses-Lchatty/gui/components/StatusHistoryDialog$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileStatusHistoryDialog.javaEnclosingMethod !!"	+chatty/gui/components/StatusHistoryDialog$3javax/swing/AbstractAction)chatty/gui/components/StatusHistoryDialogaddShortcuts()Vaccess$600 	4*+�*���
@*�����
PKʣG1�%1chatty/gui/components/StatusHistoryDialog$4.class���3#	this$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses-Lchatty/gui/components/StatusHistoryDialog$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileStatusHistoryDialog.javaEnclosingMethod !!"	+chatty/gui/components/StatusHistoryDialog$4javax/swing/AbstractAction)chatty/gui/components/StatusHistoryDialogaddShortcuts()Vaccess$300 	4*+�*���
@*�����
PKʣG��j�1chatty/gui/components/StatusHistoryDialog$5.class���3#	this$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses-Lchatty/gui/components/StatusHistoryDialog$5;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileStatusHistoryDialog.javaEnclosingMethod !!"	+chatty/gui/components/StatusHistoryDialog$5javax/swing/AbstractAction)chatty/gui/components/StatusHistoryDialogaddShortcuts()Vaccess$100 	4*+�*���
@*�����
PKʣG�I9���<chatty/gui/components/StatusHistoryDialog$ButtonAction.class���3F'	(
)*+,-,.,/,0,1,2,3456this$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisButtonActionInnerClasses8Lchatty/gui/components/StatusHistoryDialog$ButtonAction;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTable7[(Lchatty/gui/components/StatusHistoryDialog;Lchatty/gui/components/StatusHistoryDialog$1;)Vx0x1-Lchatty/gui/components/StatusHistoryDialog$1;SourceFileStatusHistoryDialog.java89:;<=>?@>AB>CDE6chatty/gui/components/StatusHistoryDialog$ButtonActionjava/lang/Objectjava/awt/event/ActionListener+chatty/gui/components/StatusHistoryDialog$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;)chatty/gui/components/StatusHistoryDialogaccess$700B(Lchatty/gui/components/StatusHistoryDialog;)Ljavax/swing/JButton;access$100access$800access$900access$1000access$1100setVisible(Z)V 
4*+�*��9�Q+�*���
*���;+�*���
*���#+�*��	�
*���*���"=>?&@0A>BHDPFQQ!D*+��9 "#$%&,PKʣG`�1B<<;chatty/gui/components/StatusHistoryDialog$CloseAction.class���3=	,-.0123	4	5	6	78CANCELCloseActionInnerClasses7Lchatty/gui/components/StatusHistoryDialog$CloseAction;TITLETITLE_GAMEGAME$VALUES8[Lchatty/gui/components/StatusHistoryDialog$CloseAction;values:()[Lchatty/gui/components/StatusHistoryDialog$CloseAction;CodeLineNumberTablevalueOfK(Ljava/lang/String;)Lchatty/gui/components/StatusHistoryDialog$CloseAction;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>ILjava/lang/Enum<Lchatty/gui/components/StatusHistoryDialog$CloseAction;>;SourceFileStatusHistoryDialog.java9:;5chatty/gui/components/StatusHistoryDialog$CloseAction<#$#$java/lang/Enumclone()Ljava/lang/Object;)chatty/gui/components/StatusHistoryDialog5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@0@@@@	"����$	5*���$ !"#$1*+��$ %&'('pT�Y��	�Y���Y��
�Y���Y�	SY�SY�
SY�S��%4$&)*+/@PKʣG�vI[NN<chatty/gui/components/StatusHistoryDialog$FilterAction.class���3+	 !"#$%&this$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisFilterActionInnerClasses8Lchatty/gui/components/StatusHistoryDialog$FilterAction;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;'[(Lchatty/gui/components/StatusHistoryDialog;Lchatty/gui/components/StatusHistoryDialog$1;)Vx0x1-Lchatty/gui/components/StatusHistoryDialog$1;SourceFileStatusHistoryDialog.java	()*6chatty/gui/components/StatusHistoryDialog$FilterActionjava/lang/Objectjava/awt/event/ActionListener+chatty/gui/components/StatusHistoryDialog$1()V)chatty/gui/components/StatusHistoryDialogaccess$1200 	4*+�*��
L@*���
PQD*+��
L 	"PKʣG�?���@chatty/gui/components/StatusHistoryDialog$TableContextMenu.class���3T	*+,-./0123456789:;<=<><?<@<ABCthis$0+Lchatty/gui/components/StatusHistoryDialog;<init>.(Lchatty/gui/components/StatusHistoryDialog;)VCodeLineNumberTableLocalVariableTablethisTableContextMenuInnerClasses<Lchatty/gui/components/StatusHistoryDialog$TableContextMenu;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileStatusHistoryDialog.javaDtoggleFavoriteToggle favoriteEFremoveRemoveGDuseAllUse title and gameuseTitle	Use titleuseGameUse gameHIJKLMNOPQRS:chatty/gui/components/StatusHistoryDialog$TableContextMenu'chatty/gui/components/menus/ContextMenu()VaddItem'(Ljava/lang/String;Ljava/lang/String;)VaddSeparatorjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z)chatty/gui/components/StatusHistoryDialogaccess$600access$300access$100access$900access$1100 |6*+�*�*�*�*�*	�*�*
��"Z	[\]^%_-`5a6"#$�l+���
*���X+���
*���B+�	��
*���,+���
*���+�
��*���.efg"h,i8jBkNlXmdnkpl"l%&'()!< PKʣG^/7Nl$l$/chatty/gui/components/StatusHistoryDialog.class���3�����	����	��	������	����������
����	�����	���	����	�	" !!
&) !�	��	�	�	�2�55 :!"#5$%?&	�'()B�
#?�?ə�����?�������*L!
"�+,�-	P.P/�0�1!234567!89[ :;<=_�>b	�?!@AfBfCDfE�FGH!I	�J	�K�L!M	�NO	tP��������tQ	�R	tS	�T!UGV	tWGX!YZ![!\�]
^_�	�`	�a	�b	�cdeTableContextMenuInnerClassesFilterActionButtonActionfCloseAction	INFO_TEXTLjava/lang/String;
ConstantValuehistoryLchatty/StatusHistory;useTitleButtonLjavax/swing/JButton;useAllButton
useGameButtoncancelButtontable*Lchatty/gui/components/StatusHistoryTable;filterCurrentGameLjavax/swing/JCheckBox;filterFavoritescurrentGamecloseAction7Lchatty/gui/components/StatusHistoryDialog$CloseAction;parentComponentLjava/awt/Dialog;<init>*(Ljava/awt/Dialog;Lchatty/StatusHistory;)VCodeLineNumberTableLocalVariableTablethis+Lchatty/gui/components/StatusHistoryDialog;parentgbcLjava/awt/GridBagConstraints;filterSelectionButtonsLjavax/swing/JPanel;filterListenerLjava/awt/event/ActionListener;buttonActionListeneraddShortcuts()VshowDialog/(Ljava/lang/String;)Lchatty/StatusHistoryEntry;selectedLchatty/StatusHistoryEntry;
StackMapTableOremoveSelectedtoggleFavoriteOnSelectedmodifieddgupdateFiltergame	favoritesZhsomethingSelected()Z
updateButtonsenabledmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xIywh	useStatususeTitleuseGameaccess$000.(Lchatty/gui/components/StatusHistoryDialog;)Vx0access$100access$200W(Lchatty/gui/components/StatusHistoryDialog;)Lchatty/gui/components/StatusHistoryTable;access$300access$600access$700B(Lchatty/gui/components/StatusHistoryDialog;)Ljavax/swing/JButton;access$800access$900access$1000access$1100access$1200SourceFileStatusHistoryDialog.java�����������������������ijavax/swing/JButton	Use title�jUse title and gameUse gameClose��javax/swing/JCheckBoxCurrent game��	Favorites��Status Historykjlmjava/awt/GridBagLayout��no��(chatty/gui/components/StatusHistoryTable:chatty/gui/components/StatusHistoryDialog$TableContextMenu���pqr+chatty/gui/components/StatusHistoryDialog$1stu+chatty/gui/components/StatusHistoryDialog$2vw������x�yz{zjavax/swing/JScrollPane�|}~javax/swing/JPanelShow only..����6chatty/gui/components/StatusHistoryDialog$FilterAction������}�java/awt/Insets����javax/swing/JLabel�<html><body style='width: 170px;'>Select and press <kbd>F</kbd> to toggle favorite, <kbd>Del</kbd> to delete, or right-click to open context menu.6chatty/gui/components/StatusHistoryDialog$ButtonAction��java/awt/Dimension���������������removeItem�����+chatty/gui/components/StatusHistoryDialog$3���toggleFavorite+chatty/gui/components/StatusHistoryDialog$4+chatty/gui/components/StatusHistoryDialog$5����java/lang/StringBuilderStatus Presets (Current game: ��)���|g���������m����chatty/StatusHistoryEntry�����������������������������mjava/awt/GridBagConstraints��������)chatty/gui/components/StatusHistoryDialogjavax/swing/JDialog5chatty/gui/components/StatusHistoryDialog$CloseActionchatty/StatusHistoryjava/lang/String(Ljava/awt/Dialog;)V(Ljava/lang/String;)VsetTitlesetModal(Z)V	setLayout(Ljava/awt/LayoutManager;)V(Ljavax/swing/JPopupMenu;)VgetSelectionModel"()Ljavax/swing/ListSelectionModel;javax/swing/ListSelectionModeladdListSelectionListener,(Ljavax/swing/event/ListSelectionListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VfillweightxDweighty(Ljava/awt/Component;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)Vjavax/swing/BorderFactorycreateTitledBorder5(Ljava/lang/String;)Ljavax/swing/border/TitledBorder;	setBorder(Ljavax/swing/border/Border;)V[(Lchatty/gui/components/StatusHistoryDialog;Lchatty/gui/components/StatusHistoryDialog$1;)VaddActionListener"(Ljava/awt/event/ActionListener;)VsetMnemonic(I)V*(Ljava/awt/Component;)Ljava/awt/Component;(IIII)VinsetsLjava/awt/Insets;packgetPreferredSize()Ljava/awt/Dimension;width(II)VsetMinimumSize(Ljava/awt/Dimension;)VsetSizegetInputMap()Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke(II)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)VrequestFocusInWindowappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setLocationRelativeTogetEntries()Ljava/util/List;setData(Ljava/util/List;)VCANCELsetVisiblegetSelectedEntry()Lchatty/StatusHistoryEntry;TITLEtitle*(Ljava/lang/String;Ljava/lang/String;JIZ)VGAMETITLE_GAMEremoveEntry(Lchatty/StatusHistoryEntry;)VremovefavoritesetFavorite9(Lchatty/StatusHistoryEntry;Z)Lchatty/StatusHistoryEntry;updateEntryisSelectedfilter(Ljava/lang/String;Z)VgetSelectedRowCount()IsetEnabledgridxgridy	gridwidthgridheight!�����C��������������������������*+�*�
Y��*�
Y��*�
Y��*�
Y��*�Y��*�Y��*�*�*�Y��*+� *�!Y�"Y*�#�$�	*�	�%�&Y*�'�(*�*�	�)Y*�*�+*�,*,�-*�.N-�/-�0-�1*�2Y*�	�3-�4�5Y�6:7�8�9�:Y*�;:*��<*��<*�G�=*�F�=*��>W*��>W*�.N-�?Y�@�A-�/*-�4*�.N*�BYC�D-�4*�U�E*�.N-�/-F�0-�?Y�@�A**�-�4*�M�E*�.N-�/-H�0-�?Y�@�A**�-�4*�T�E*�.N-�/-H�0-�?Y�@�A**�-�4*�C�E*�.N-�/-J�0**�-�4�LY*�M:*��N*��N*��N*��N*�O*�PY*�Q�RȷS�T*�PYX��S�U��E<./0,193F4S=Y>^?i@nB�C�J�K�Y�[�c�d�e�f�g�i�j�l�mn	opq%r/t8uGvLwSy\zj|s}|~�������������������������������#�*�3�>�G�P�Y�b�f�{����H���������������������>O������s*�	�V�WX�Y*�	�ZX�[Y*�\�]*�	�VF�W^�Y*�	�Z^�_Y*�`�]*�	�V�Wa�Y*�	�Za�bY*�c�]����&�8�L�^�r��s�����/�*+�d*�	�eW*�fY�gh�i+�ij�i�k�*�**� �l*�	*�-�m�n*�o�p*�q*�	�rM,�G*�p�s��tY,�uv�x�*�p�y��tY,�zv�x�*�p�{�,���F��
�)�-�5�C�J�O�W�[�e�w���������� ������WJ����w����o*�	�rL+�*�	+�|*�-+�}�������������������**�	�rL+� *�-++�~���M*�	,�������!�)�� !��*��"���*��������������#L*���=*����*�dL*�	+�������"� #��!�����	�����E*�	����������@���b*��<*���*���*�����
���������5��Y��:���������?Y�@�A��	"2�>5��5��5��5��5��	,�����?
*�{�p*�q��"#$�
�����?
*�s�p*�q��*+,�
�����?
*�y�p*�q��234�
�����/*���"������/*���"������/*�	��"������/*���"������/*���"������/*���"������/*���"������/*���"������/*���"������/*���"������/*���"������J	"��:��L�����@b_[)&PKˣG�#I�0chatty/gui/components/StatusHistoryTable$1.class���3:	"	#$% & ' ( )*+this$0*Lchatty/gui/components/StatusHistoryTable;<init>-(Lchatty/gui/components/StatusHistoryTable;)VCodeLineNumberTableLocalVariableTablethisInnerClasses,Lchatty/gui/components/StatusHistoryTable$1;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;rowI
StackMapTable
mouseReleasedSourceFileStatusHistoryTable.javaEnclosingMethod,-./0123456789*chatty/gui/components/StatusHistoryTable$1java/awt/event/MouseAdapter(chatty/gui/components/StatusHistoryTable(Ljavax/swing/JPopupMenu;)V()Vjava/awt/event/MouseEventgetPoint()Ljava/awt/Point;rowAtPoint(Ljava/awt/Point;)Iaccess$200.(Lchatty/gui/components/StatusHistoryTable;I)VgetRowCount()Iaccess$300H(Lchatty/gui/components/StatusHistoryTable;Ljava/awt/event/MouseEvent;)V 	
4*+�*��>�?*�+��=�*���*���*�*��d�*�+��BCDE&F6H>I ??3�A	*�+��MN		 !PKˣG��ynn0chatty/gui/components/StatusHistoryTable$2.class���3Z	8	9	:;!<=!>?@AB	CDE	FGHval$gameLjava/lang/String;
val$favoritesZthis$0*Lchatty/gui/components/StatusHistoryTable;<init>@(Lchatty/gui/components/StatusHistoryTable;Ljava/lang/String;Z)VCodeLineNumberTableLocalVariableTablethisInnerClasses,Lchatty/gui/components/StatusHistoryTable$2;includeIEntry (Ljavax/swing/RowFilter$Entry;)ZentryLjavax/swing/RowFilter$Entry;modelModel0Lchatty/gui/components/StatusHistoryTable$Model;eLchatty/StatusHistoryEntry;LocalVariableTypeTabledLjavax/swing/RowFilter$Entry<+Lchatty/gui/components/StatusHistoryTable$Model;+Ljava/lang/Integer;>;
StackMapTable=B	Signatureg(Ljavax/swing/RowFilter$Entry<+Lchatty/gui/components/StatusHistoryTable$Model;+Ljava/lang/Integer;>;)Z\Ljavax/swing/RowFilter<Lchatty/gui/components/StatusHistoryTable$Model;Ljava/lang/Integer;>;SourceFileStatusHistoryTable.javaEnclosingMethodJKLMNO.chatty/gui/components/StatusHistoryTable$ModelPOjava/lang/IntegerQRSTchatty/StatusHistoryEntryUVWXY*chatty/gui/components/StatusHistoryTable$2javax/swing/RowFilterjavax/swing/RowFilter$Entry(chatty/gui/components/StatusHistoryTablefilter(Ljava/lang/String;Z)V()VgetModel()Ljava/lang/Object;
getIdentifierintValue()Iget(I)Ljava/lang/Object;gamejava/lang/Stringequals(Ljava/lang/Object;)Zfavorite >*+�*,�*�*��l #�C+��M,+���	��N*��*�-��
��*��-����pqr/s1u?vAx*CC$%;&())*+C$,-�1./010234567!"	6'PKˣG��H��?chatty/gui/components/StatusHistoryTable$FavoriteRenderer.class���3I
(()*+,-./	
01	2
34578iconLjavax/swing/ImageIcon;<init>()VCodeLineNumberTableLocalVariableTablethisFavoriteRendererInnerClasses;Lchatty/gui/components/StatusHistoryTable$FavoriteRenderer;setValue(Ljava/lang/Object;)VlabelLjavax/swing/JLabel;valueLjava/lang/Object;
StackMapTable9/(Lchatty/gui/components/StatusHistoryTable$1;)Vx0,Lchatty/gui/components/StatusHistoryTable$1;SourceFileStatusHistoryTable.javajavax/swing/ImageIcon:;</chatty/gui/star.png=>?@java/lang/BooleanABCDEFGH9chatty/gui/components/StatusHistoryTable$FavoriteRenderer*javax/swing/table/DefaultTableCellRenderer*chatty/gui/components/StatusHistoryTable$1java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VbooleanValue()ZsetIcon(Ljavax/swing/Icon;)Vjavax/swing/JLabelsetHorizontalAlignment(I)V(chatty/gui/components/StatusHistoryTable 
G*�*�Y*�����
�)+�	�$+�	��**���*�*M,��!#( #)) #9*��$%&'
6!PKˣG�⬻�Cchatty/gui/components/StatusHistoryTable$LastActivityRenderer.class���39"	"#$%&'()+,<init>()VCodeLineNumberTableLocalVariableTablethisLastActivityRendererInnerClasses?Lchatty/gui/components/StatusHistoryTable$LastActivityRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;lastActivityLjava/lang/Long;labelLjavax/swing/JLabel;-/(Lchatty/gui/components/StatusHistoryTable$1;)Vx0,Lchatty/gui/components/StatusHistoryTable$1;SourceFileStatusHistoryTable.javajava/lang/Long./012345678=chatty/gui/components/StatusHistoryTable$LastActivityRenderer*javax/swing/table/DefaultTableCellRenderer*chatty/gui/components/StatusHistoryTable$1	longValue()Jchatty/util/DateTimeagoText(J)Ljava/lang/String;setText(Ljava/lang/String;)Vjavax/swing/JLabelsetHorizontalAlignment(I)V(chatty/gui/components/StatusHistoryTable 	/*��
p+�M*,���*N-��
*9*��
 !*PKˣGs �9��Echatty/gui/components/StatusHistoryTable$LineWrapCellRenderer$1.class���39	$	%	&	'	()*)+,-.	val$tableLjavax/swing/JTable;val$rowIval$heightthis$00LineWrapCellRendererInnerClasses?Lchatty/gui/components/StatusHistoryTable$LineWrapCellRenderer;<init>X(Lchatty/gui/components/StatusHistoryTable$LineWrapCellRenderer;Ljavax/swing/JTable;II)VCodeLineNumberTableLocalVariableTablethisALchatty/gui/components/StatusHistoryTable$LineWrapCellRenderer$1;run()V
StackMapTableSourceFileStatusHistoryTable.javaEnclosingMethod12
34567?chatty/gui/components/StatusHistoryTable$LineWrapCellRenderer$1java/lang/Objectjava/lang/Runnable8=chatty/gui/components/StatusHistoryTable$LineWrapCellRenderergetTableCellRendererComponent@(Ljavax/swing/JTable;Ljava/lang/Object;ZZII)Ljava/awt/Component;javax/swing/JTablegetRowCount()IsetRowHeight(II)V(chatty/gui/components/StatusHistoryTable 	
D*+�*,�*�*�*���Y*��*��*�*�*������ !"#/PKˣGܚ��Cchatty/gui/components/StatusHistoryTable$LineWrapCellRenderer.class���3y6789:;<=>?@ABC DEF	GHIJK;LM;NO;P;QSTULineWrapCellRendererInnerClasses<init>()VCodeLineNumberTableLocalVariableTablethis?Lchatty/gui/components/StatusHistoryTable$LineWrapCellRenderer;getTableCellRendererComponent@(Ljavax/swing/JTable;Ljava/lang/Object;ZZII)Ljava/awt/Component;tableLjavax/swing/JTable;valueLjava/lang/Object;isSelectedZhasFocusrowIcolumncWidthheight
StackMapTableSourceFileStatusHistoryTable.javaVWXWjava/lang/StringYZ[\]^_`abcdefjava/awt/Dimensionghijk2/?chatty/gui/components/StatusHistoryTable$LineWrapCellRenderer$1lmnopqrstqusvqwqx=chatty/gui/components/StatusHistoryTable$LineWrapCellRendererjavax/swing/JTextArea#javax/swing/table/TableCellRenderersetWrapStyleWord(Z)VsetLineWrapsetText(Ljava/lang/String;)Vjavax/swing/JTablegetTableHeader"()Ljavax/swing/table/JTableHeader;javax/swing/table/JTableHeadergetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel	getColumn"(I)Ljavax/swing/table/TableColumn;javax/swing/table/TableColumngetWidth()I(II)VsetSize(Ljava/awt/Dimension;)VgetPreferredSize()Ljava/awt/Dimension;X(Lchatty/gui/components/StatusHistoryTable$LineWrapCellRenderer;Ljavax/swing/JTable;II)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)VgetSelectionBackground()Ljava/awt/Color;
setBackground(Ljava/awt/Color;)VgetSelectionForeground
setForeground
getBackground
getForeground(chatty/gui/components/StatusHistoryTable  E*�*�*��!��	��"#$%& 	m*,��+����	6*�Y��*�
�6�Y*+���*+��*+���*+��*+��*�!.���+�4�D�H�P�[�c�k�"\	m#$m'(m)*m+,m-,m./m0/R1/492/3�[45RPKˣG}����4chatty/gui/components/StatusHistoryTable$Model.class���3M,-.	/0	1	2	3
4	56789:<=<init>([Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisModelInnerClasses0Lchatty/gui/components/StatusHistoryTable$Model;columns[Ljava/lang/String;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndexentryLchatty/StatusHistoryEntry;
StackMapTable.getColumnClass(I)Ljava/lang/Class;	SignatureLLchatty/gui/components/settings/ListTableModel<Lchatty/StatusHistoryEntry;>;SourceFileStatusHistoryTable.java>?chatty/StatusHistoryEntry@ABCDEFEGHBIJ BKjava/lang/Booleanjava/lang/Longjava/lang/Integerjava/lang/StringL.chatty/gui/components/StatusHistoryTable$Model-chatty/gui/components/settings/ListTableModelget(I)Ljava/lang/Object;favoriteZvalueOf(Z)Ljava/lang/Boolean;titleLjava/lang/String;gamelastActivityJ(J)Ljava/lang/Long;	timesUsed(I)Ljava/lang/Integer;(chatty/gui/components/StatusHistoryTable >*+��!"�E*��N�-����-���-���-��	��-����2&	'
()*+$,)-..6/;0C2*EE E! 	<"#$�%		&'u���
����=>@
ACDF! $()*+;PKˣG�&��66.chatty/gui/components/StatusHistoryTable.class���3D�D�E���������	D�D�D���D���	D�	D�D�D���������D���� �D�D���%�D����������������D��1��D�D����D��D�D���D�D�D��D�D���ModelInnerClassesFavoriteRendererLastActivityRendererLineWrapCellRendererdata0Lchatty/gui/components/StatusHistoryTable$Model;sorter"Ljavax/swing/table/TableRowSorter;contextMenuLjavax/swing/JPopupMenu;<init>(Ljavax/swing/JPopupMenu;)VCodeLineNumberTableLocalVariableTablethis*Lchatty/gui/components/StatusHistoryTable;tcLjavax/swing/table/TableColumn;	popupMenu(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTablesetColumnWidth(IIII)VcolumnIwidthminwidthmaxwidth�resetFilter()Vfilter(Ljava/lang/String;Z)VgameLjava/lang/String;	favoritesZsetData(Ljava/util/List;)VnewDataLjava/util/List;LocalVariableTypeTable-Ljava/util/List<Lchatty/StatusHistoryEntry;>;	Signature0(Ljava/util/List<Lchatty/StatusHistoryEntry;>;)VgetSelectedEntry()Lchatty/StatusHistoryEntry;modelIndexremoveEntry(Lchatty/StatusHistoryEntry;)V	viewIndexentryLchatty/StatusHistoryEntry;
indexToRemovesetRowSelected(I)VscrollToRowindexupdateEntryindexToModel(I)IindexToViewaccess$200.(Lchatty/gui/components/StatusHistoryTable;I)Vx0x1access$300H(Lchatty/gui/components/StatusHistoryTable;Ljava/awt/event/MouseEvent;)VSourceFileStatusHistoryTable.java[\��Ri.chatty/gui/components/StatusHistoryTable$Modeljava/lang/StringFavTitleGame
Last ActivityUsageR�LM��������� javax/swing/table/TableRowSorterR�NOPQ�������=chatty/gui/components/StatusHistoryTable$LineWrapCellRenderer���java/awt/ColorR���=chatty/gui/components/StatusHistoryTable$LastActivityRendererR�9chatty/gui/components/StatusHistoryTable$FavoriteRenderer`a����*chatty/gui/components/StatusHistoryTable$1R�����������������hi*chatty/gui/components/StatusHistoryTable$2Rp���chatty/StatusHistoryEntry	���
����(chatty/gui/components/StatusHistoryTablejavax/swing/JTablejavax/swing/table/TableColumn([Ljava/lang/String;)VsetModel!(Ljavax/swing/table/TableModel;)VgetTableHeader"()Ljavax/swing/table/JTableHeader;javax/swing/table/JTableHeadersetReorderingAllowed(Z)VsetFillsViewportHeightsetRowSorter(Ljavax/swing/RowSorter;)VgetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel	getColumn"(I)Ljavax/swing/table/TableColumn;setCellRenderer((Ljavax/swing/table/TableCellRenderer;)V(III)VsetGridColor(Ljava/awt/Color;)V/(Lchatty/gui/components/StatusHistoryTable$1;)VsetSelectionModetoggleSortOrder-(Lchatty/gui/components/StatusHistoryTable;)VaddMouseListener!(Ljava/awt/event/MouseListener;)Vjava/awt/event/MouseEventisPopupTrigger()ZgetX()IgetYjavax/swing/JPopupMenushow(Ljava/awt/Component;II)VsetPreferredWidthsetMaxWidthsetMinWidthsetRowFilter(Ljavax/swing/RowFilter;)V@(Lchatty/gui/components/StatusHistoryTable;Ljava/lang/String;Z)V(Ljava/util/Collection;)VgetSelectedRowget(I)Ljava/lang/Object;indexOf(Ljava/lang/Object;)IremovegetRowCountgetSelectionModel"()Ljavax/swing/ListSelectionModel;javax/swing/ListSelectionModelsetSelectionInterval(II)VgetCellRect(IIZ)Ljava/awt/Rectangle;scrollRectToVisible(Ljava/awt/Rectangle;)Vupdate(Ljava/lang/Object;)VconvertRowIndexToModelconvertRowIndexToView!DELMNOPQRST��*�*�Y�YSYSYSY	SYS��**��
*��*�*�Y*���*+�**��*��M,�Y��*�Y��ȷ�*���Y��*��� Y�!�*�"*��"*x�"*ddd�"*222�"*�#*��$*�%Y*�&�'�UZ$ ,%4(<)A*P+U,]-h.s/�1�2�4�5�6�7�8�:�<�>�QV �WX�PQh�YZ[\Td+�(�*��*�*+�)+�*�+�UTUWVWX]^_`aT�)*��:�,��-�	�.�UZ[\]_"`(bV>)WX)bc)dc)ec)fcYZ_	�g	hiT7	*��/�UefV	WXjkTu!+��*�0�*��1Y*+�2�/�Uijl |V !WX!lm!no_pqTS	*�+�3�U�V	WX	rst	ruvwxyTh**�4�5<��*��6�7�U�	���VWX	zc_�{|T�E*�+�8=�9*�9>*��:W*�;�*��d�*�;d�*d��U&	�	����%�-�=�D�V*0}cEWXE~	<�c_�-���TM*�<�=*�>�U���VWX}c��TV�**�?�@�U���VWX�c_�|TA	*�+�A�U��V	WX	~��TR
��*�B�U���V
WX
�c_��T:*�C�U�VWX�c��T:*��UV�X�c��T:*+��UV�X�^��G2DF DHDIDJ1%PKʣG�����(chatty/gui/components/StreamChat$1.class���3SourceFileStreamChat.javaEnclosingMethod"chatty/gui/components/StreamChat$1InnerClassesjava/lang/Object chatty/gui/components/StreamChat 	PKʣGT˜%��<chatty/gui/components/StreamChat$MyContextMenuListener.class���3mE	FGHIJKLMNOPMQRSTUVWXYZthis$0"Lchatty/gui/components/StreamChat;<init>%(Lchatty/gui/components/StreamChat;)VCodeLineNumberTableLocalVariableTablethisMyContextMenuListenerInnerClasses8Lchatty/gui/components/StreamChat$MyContextMenuListener;menuItemClicked(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableuserMenuItemClicked,(Ljava/awt/event/ActionEvent;Lchatty/User;)Vuser
Lchatty/User;urlMenuItemClicked1(Ljava/awt/event/ActionEvent;Ljava/lang/String;)VurlLjava/lang/String;streamsMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)VstreamsLjava/util/Collection;LocalVariableTypeTable*Ljava/util/Collection<Ljava/lang/String;>;	SignatureI(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Ljava/lang/String;>;)VstreamInfosMenuItemClickedstreamInfos4Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;S(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;)VemoteMenuItemClicked\
EmoticonImageG(Ljava/awt/event/ActionEvent;Lchatty/util/api/Emoticon$EmoticonImage;)Vemote(Lchatty/util/api/Emoticon$EmoticonImage;]I(Lchatty/gui/components/StreamChat;Lchatty/gui/components/StreamChat$1;)Vx0x1$Lchatty/gui/components/StreamChat$1;SourceFileStreamChat.java^_`aclearHighlightsbcdefghi^jk#$'(+,3,7:6chatty/gui/components/StreamChat$MyContextMenuListenerjava/lang/Object/chatty/gui/components/menus/ContextMenuListenerl&chatty/util/api/Emoticon$EmoticonImage"chatty/gui/components/StreamChat$1()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z chatty/gui/components/StreamChataccess$100T(Lchatty/gui/components/StreamChat;)Lchatty/gui/components/textpane/ChannelTextPane;.chatty/gui/components/textpane/ChannelTextPaneclearAllaccess$200U(Lchatty/gui/components/StreamChat;)Lchatty/gui/components/menus/ContextMenuListener;chatty/util/api/Emoticon 4*+�*��\m$+���
*���*��	+��`ac#d$$ !"#$Q*��	+,��hi  !%&'(Q*��	+,��mn  !)*+,c*��	+,�
�rs  !-./-0123,c*��	+,��wx  !4./45167:Q*��	+,��|}  !;<?D*+��\ @ABCDM8[9=MPKʣGK��ŷ�/chatty/gui/components/StreamChat$TextPane.class���3*	 !<init>0(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;Z)VCodeLineNumberTableLocalVariableTablethisTextPaneInnerClasses+Lchatty/gui/components/StreamChat$TextPane;mainLchatty/gui/MainGui;styleServerLchatty/gui/StyleServer;
startAtBottomZSourceFileStreamChat.java"#$1chatty/gui/components/menus/HighlightsContextMenu%&'())chatty/gui/components/StreamChat$TextPane.chatty/gui/components/textpane/ChannelTextPane1(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;ZZ)VlinkController/Lchatty/gui/components/textpane/LinkController;()V-chatty/gui/components/textpane/LinkControllersetDefaultContextMenu,(Lchatty/gui/components/menus/ContextMenu;)V chatty/gui/components/StreamChat 	g*+,�*��Y���QTU*
PKʣG�7<"��&chatty/gui/components/StreamChat.class���3z	J	KLMNOPQRSTUVWSXYZS[\]^S_S`SaSbScdefInnerClassesMyContextMenuListenerTextPanetextPane0Lchatty/gui/components/textpane/ChannelTextPane;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;<init>b(Lchatty/gui/MainGui;Lchatty/gui/StyleManager;Lchatty/gui/components/menus/ContextMenuListener;Z)VCodeLineNumberTableLocalVariableTablethis"Lchatty/gui/components/StreamChat;gLchatty/gui/MainGui;stylesLchatty/gui/StyleManager;
startAtBottomZscrollLjavax/swing/JScrollPane;printMessage(Lchatty/gui/Message;)VmessageLchatty/gui/Message;userBanned(Lchatty/User;)Vuser
Lchatty/User;setMessageTimeout(I)VsecondsI
refreshStyles()Vclearaccess$100T(Lchatty/gui/components/StreamChat;)Lchatty/gui/components/textpane/ChannelTextPane;x0access$200U(Lchatty/gui/components/StreamChat;)Lchatty/gui/components/menus/ContextMenuListener;SourceFileStreamChat.java#$!"%gStream Chathi)chatty/gui/components/StreamChat$TextPane%j6chatty/gui/components/StreamChat$MyContextMenuListener%klmnjavax/swing/JScrollPane%op=qrjava/awt/Dimension%stuCentervwxA4589<=@AyA chatty/gui/components/StreamChatjavax/swing/JDialog"chatty/gui/components/StreamChat$1(Ljava/awt/Frame;)VsetTitle(Ljava/lang/String;)V0(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;Z)VI(Lchatty/gui/components/StreamChat;Lchatty/gui/components/StreamChat$1;)V.chatty/gui/components/textpane/ChannelTextPanesetContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)V(Ljava/awt/Component;)VsetVerticalScrollBarPolicy
setScrollPane(Ljavax/swing/JScrollPane;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VpackclearAll!!"#$%&'�l*+�*-�*�*�Y+,��*��Y*�	��Y*��:�
*��*��Y�d��*�*��(2&'(*+/,<-C.L/_1g3k4)>l*+l,-l./l#$l01<02345'A	*�+��(78)	*+	6789'A	*�+��(;<)	*+	:;<='A	*���(?@)	*+	>?@A'6*���(CD)*+BA'6*���(GH)*+CD'/*��()E+FG'/*��()E+HI PKˣG���%��(chatty/gui/components/TabComponent.class���32 !"#$%&'<init>F(Ljava/lang/String;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis$Lchatty/gui/components/TabComponent;textLjava/lang/String;listener1Lchatty/gui/components/menus/ContextMenuListener;labelLjavax/swing/JLabel;SourceFileTabComponent.javajava/awt/FlowLayout
(
)javax/swing/JLabel
*+,-.*chatty/gui/components/menus/TabContextMenu
/01"chatty/gui/components/TabComponentjavax/swing/JPanel(III)V(Ljava/awt/LayoutManager;)V(Ljava/lang/String;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;	setOpaque(Z)V4(Lchatty/gui/components/menus/ContextMenuListener;)VsetComponentPopupMenu(Ljavax/swing/JPopupMenu;)V!
�/*�Y���Y+�N*-�W*�-�Y,�	��".*///PKʣG�Ȣ��)chatty/gui/components/TokenDialog$1.class���3#	this$0#Lchatty/gui/components/TokenDialog;<init>&(Lchatty/gui/components/TokenDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses%Lchatty/gui/components/TokenDialog$1;run()VSourceFileTokenDialog.javaEnclosingMethod !	"#chatty/gui/components/TokenDialog$1java/lang/Objectjava/lang/Runnable!chatty/gui/components/TokenDialogsetTokenInfo(Ljava/lang/String;)Vpack 	4*+�*���
6*�����
PKʣG���``'chatty/gui/components/TokenDialog.class���3-�Z����	S��	S��	S��	S���
�	S��	S��	S��	S�[	S�	S�S���S������	S�	S�S�S��&�S�	J���
�S���
���S�����4�S�4������4�	S�	S��S�
�4����G����J�	J�	J�	J�	J�	J�	J�������InnerClassesOK_IMAGELjava/lang/String;NO_IMAGE	nameLabelLjavax/swing/JLabel;nameaccessLabel!Lchatty/gui/components/LinkLabel;accessinfodeleteTokenLjavax/swing/JButton;requestTokenverifyToken	tokenInfodonecurrentUsernamecurrentToken<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis#Lchatty/gui/components/TokenDialog;ownerLchatty/gui/MainGui;gbcLjava/awt/GridBagConstraints;actionListenerLjava/awt/event/ActionListener;getRequestTokenButton()Ljavax/swing/JButton;getDeleteTokenButtongetVerifyTokenButton
getDoneButtonupdate()VemptyZ
StackMapTable��'(Ljava/lang/String;Ljava/lang/String;)VusernameupdateAccess(ZZZZZ)VchateditorcommercialusersubsbLjava/lang/StringBuilder;��accessStatusImage(Z)Ljava/lang/String;statusverifyingToken
tokenVerified(ZLjava/lang/String;)VvalidresultsetTokenInfo(Ljava/lang/String;)VmakeGridBagConstraints5(IIIIILjava/awt/Insets;)Ljava/awt/GridBagConstraints;xIywhanchorinsetsLjava/awt/Insets;constraints$(IIIII)Ljava/awt/GridBagConstraints;<clinit>SourceFileTokenDialog.javaLogin configurationojavax/swing/JLabel
Account name:o�`a<no account>ba<none>ea <html><body style='width:200px'>fajavax/swing/JButtonRemove loginghRequest login dataihVerify loginjhDonelhm^n^java/awt/GridBagLayouto�	chatty/gui/components/LinkLabelAccess [help:login (?)]:o
cdkd��java/awt/Insetso����<click below to create a login>���java/lang/StringBuilder&<html><body style='line-height:28px;'>��&nbsp;Chat access<br />&nbsp;Read user info<br />&nbsp;Editor access<br />&nbsp;Run commercials<br />&nbsp;Show subscribers]^_^Verifying login..��  <html><body style='width:170px'>�#chatty/gui/components/TokenDialog$1o!"#$java/awt/GridBagConstraints%�&�'�(�����(<img style='vertical-align:bottom' src='!chatty/gui/components/TokenDialogok.png)*+,'><img src='no.pngjavax/swing/JDialog&(Ljava/awt/Frame;Ljava/lang/String;Z)VsetResizable(Z)V	setLayout(Ljava/awt/LayoutManager;)Vchatty/gui/MainGuigetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(IIII)VfillgetActionListener!()Ljava/awt/event/ActionListener;addActionListener"(Ljava/awt/event/ActionListener;)Vpackjava/lang/StringisEmpty()ZsetVisiblesetTextappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setEnabled&(Lchatty/gui/components/TokenDialog;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)Vgridxgridy	gridwidthgridheightjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;java/net/URL!SZ]^_^`abacdeafaghihjhkdlhm^n^opq��*+�*�Y��*�Y��*�Y	��*�Y��*�
Y��*�
Y��*�
Y��*�
Y��*�*�*�*�Y��*�Y+� �!�"*�Y+� �!�#**�*�$�%**�*�&Y�'�(�%**�"*�$�%*�&Y�'�(M**�,�%*�$M**�#,�%*�$M,�)**�,�%*�$M**�,�%*�$M,�)**�,�%*
�$M**�,�%+�*N*�-�+*�-�+*�-�+*�-�+*�,�r�'("/<IV c"p$v%|)�+�-�/�3�4�6�89;<">.?3@<BHCQE]FbGkIwJ�L�M�N�O�P�R�Ss*�tu�vw�xy�%z{|}q/*��rVstu~}q/*��rZstu}q/*��r^stu�}q/*��rbstu��q�G*��-�
*��-��<*����.*��.*����.*�,�rfg*h2iBjFksGtu-���6@������V������q�7*+�*,�*��-�,�-�*�/�0�*�*��0*�1�rnopq't2w6xs 7tu7�^7n^���q��*��-�
*��-��6*����2*�"���3�4Y5�6:�7�89�8W�7�8:�8W�7�8;�8W�7�8<�8W�7�8=�8W*��>�0*�1�r2��,�=�H�W�g�v���������sR�tu������������������H^���E@������O������qG��?��@�r���s�����qA*A�B*��C�r���stu��q\*,�B*��C*�1�r��
��s tu���^��qj**�#�4Y�DE�8+�8�>�F*�,�GY*�H�I�r���)�s*tu*f^��q�3�JY�K:�L�M�N�O�P�Q�r"�	����"�)�0�sR3tu3��3��3��3��3��3��	*�y��qs*�&Y�'�(�r�s>tu������������qgK�4Y�DR�8ST�U�V�8W�8�>�?�4Y�DX�8SY�U�V�8W�8�>�@�r%��\GPKʣG�}��*chatty/gui/components/TokenGetDialog.class���3.�\���	[���	[���	�	[��	[��	[����	[��	[��	[��	[��	[�[�[���[�����!�	[��&�[�[�[���,�	J������	J�	J��	����[�[�[�	���[���B��B�B�����J�	J�	J�	J�	J�	J������������������INFOLjava/lang/String;
ConstantValueinfo!Lchatty/gui/components/LinkLabel;urlFieldLjavax/swing/JTextField;statusLjavax/swing/JLabel;copyUrlLjavax/swing/JButton;openUrlcloseincludeReadUserAccessLjavax/swing/JCheckBox;includeEditorAccessincludeCommercialAccessincludeShowSubsAccesscurrentUrl<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis&Lchatty/gui/components/TokenGetDialog;ownerLchatty/gui/MainGui;gbcLjava/awt/GridBagConstraints;getCloseButton()Ljavax/swing/JButton;reset()Vreadyerror(Ljava/lang/String;)VerrorMessage
tokenReceived	setStatustextmakeGridBagConstraints$(IIIII)Ljava/awt/GridBagConstraints;xIywhanchorconstraints	updateUrlurl
StackMapTable�itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;actionPerformed(Ljava/awt/event/ActionEvent;)VLjava/awt/event/ActionEvent;SourceFileTokenGetDialog.javaGet login datar�javax/swing/JTextFieldr�dejavax/swing/JLabelr�fgjavax/swing/JButtonCopy URLr�hiOpen (default browser)jiClosekijavax/swing/JCheckBox!Read user info (followed streams)lm&Editor access (edit stream title/game)nmAllow running adsomShow your subscriberspm�https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&scope=chat_loginq`�����chatty/gui/components/LinkLabel�<html><body>Request new login data ([help:login ?]):<br />1. Open the link below<br />2. Grant chat access for Chatty<br />3. Get redirectedrbcjava/awt/GridBagLayout��	�java/awt/Insetsr
2To get notified when streams you follow go online.�1To be able to edit your channel's title and game.-To be able to run commercials on your stream.0To be able to show the list of your subscribers.�������
Please wait..��Ready.java/lang/StringBuilderError: Token received.. completing..2<html><body style='width:150px;text-align:center'> �java/awt/GridBagConstraints!�"�#�$���%&+channel_editor+channel_commercial+user_read+channel_subscriptions'()*j+,-�$chatty/gui/components/TokenGetDialogjavax/swing/JDialogjava/awt/event/ItemListenerjava/awt/event/ActionListenerjava/lang/String&(Ljava/awt/Frame;Ljava/lang/String;Z)V(I)VsetResizable(Z)VsetDefaultCloseOperationchatty/gui/MainGuigetWindowListener!()Ljava/awt/event/WindowListener;addWindowListener"(Ljava/awt/event/WindowListener;)VgetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)V	setLayout(Ljava/awt/LayoutManager;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VsetSelected(IIII)VinsetsLjava/awt/Insets;setToolTipTextfillweightxDsetEditableaddActionListener"(Ljava/awt/event/ActionListener;)VgetActionListener!()Ljava/awt/event/ActionListener;addItemListener (Ljava/awt/event/ItemListener;)VpacksetEnabledappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setTextgridxgridy	gridwidthgridheightisSelected()Zjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;chatty/gui/UrlOpener(Ljava/lang/String;)Zchatty/util/MiscUtilcopyToClipboard![\]^_`a"bcdefghijikilmnmompmq`rst�o*+�*�Y��*�Y��*�	Y��*�	Y
��*�	Y��*�Y��*�Y��*�Y��*�Y��*�*�*�*+�� *�!Y"+�#�$�%*�&Y�'�(**�%*�)�**��+*��+*��+*��+*�)M,�,Y�-�.*�/�0**�,�**�)M,�,Y�-�.*�1�0**�,�**�)M,�,Y�-�.*�2�0**�,�**�)M,�,Y�-�.*�3�0**�,�**�)M,�4,�5*��6**�,�**
�)M,�,Y�-�.**�,�**
�)M,�,Y�-�.**�,�***�*�)�***�*
�)�**�*�7*�*�7*�+�8�7*�*�9*�*�9*�*�9*�*�9*�:*�;*�<�u�=2$% &-':(G*T+a,n-{/�3�4�5�7�9�<�?�@�A�B�E�F�GI
JK'L0M9NDOSP\QeRpST�U�X�Y�Z�[�\�]�^�_�`�a�bef'h/i7jBlJmRnZobqfrjtnuv owxoyz��{|}~t/*��uxvwx�tY*��=*��=*��>*?�@�u|}~�vwx��tY*��=*��=*��>*A�@�u�����vwx��tP*�BY�CD�E+�E�F�@�u��vwx�`��t5*G�@�u��vwx��t[*��BY�CH�E+�E�F�I*�<�u���vwx�`��t�<�JY�K:�L�M�N�O�,Y�-�.�P�u"�	����"�2�9�vH<wx<��<��<��<��<��	3�|��t�L*��Q��BY�C+�ER�E�FL*��Q��BY�C+�ES�E�FL*��Q��BY�C+�ET�E�FL*��Q��BY�C+�EU�E�FL*+�*�+�V*�+�W�u6
��
�!�+�?�I�]�g�{�������v�wx��`��!���t=*�;�u��vwx����tw)+�X*��*��YW�+�X*��*��Z�u���!�(�v)wx)�����PKʣGKqB��+chatty/gui/components/UpdateMessage$1.class���3<		$		%		& '()*+,"-./0val$openWebsiteLjavax/swing/JButton;	val$closethis$0%Lchatty/gui/components/UpdateMessage;<init>R(Lchatty/gui/components/UpdateMessage;Ljavax/swing/JButton;Ljavax/swing/JButton;)VCodeLineNumberTableLocalVariableTablethisInnerClasses'Lchatty/gui/components/UpdateMessage$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileUpdateMessage.javaEnclosingMethod12

3456http://chatty.github.io789:;%chatty/gui/components/UpdateMessage$1java/lang/Objectjava/awt/event/ActionListener#chatty/gui/components/UpdateMessage(Ljava/awt/Window;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;chatty/gui/UrlOpener
openUrlPrompt*(Ljava/awt/Component;Ljava/lang/String;Z)ZsetVisible(Z)V 	

>*+�*,�*-�*��;{-+�*��*��W�+�*��*���?@A$B,D-- !"#	PKʣG�T2�JJ+chatty/gui/components/UpdateMessage$2.class���34	!"#$%&'()this$0%Lchatty/gui/components/UpdateMessage;<init>:(Lchatty/gui/components/UpdateMessage;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClasses'Lchatty/gui/components/UpdateMessage$2;x0Ljava/lang/String;
requestResult(Ljava/lang/String;I)VresultresponseCodeI
StackMapTableSourceFileUpdateMessage.javaEnclosingMethod*+,	-./01-23Error loading changelog.%chatty/gui/components/UpdateMessage$2chatty/util/UrlRequest#chatty/gui/components/UpdateMessage
loadChangelog()V(Ljava/lang/String;)Vaccess$000>(Lchatty/gui/components/UpdateMessage;)Ljavax/swing/JTextArea;javax/swing/JTextAreasetTextaccess$102)(Lchatty/gui/components/UpdateMessage;Z)Z 	
?*+�*,��^
�+Ƞ*��+�*��W�*����bcdf*h +++ PKʣG�ֳ�)chatty/gui/components/UpdateMessage.class���3�	5c	5d6efghijklmnopqrg	5st5uvwxygz{|}~���5��5�5�5��'g�'�'������/��2�2���InnerClasses
CHANGELOG_URLLjava/lang/String;
ConstantValueversionLjavax/swing/JLabel;	changelogLjavax/swing/JTextArea;changelogLoadedZ<init>(Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablethis%Lchatty/gui/components/UpdateMessage;ownerLjava/awt/Window;buttonsLjavax/swing/JPanel;openWebsiteLjavax/swing/JButton;closebuttonActionLjava/awt/event/ActionListener;showDialog()V
setNewVersion(Ljava/lang/String;)VnewVersion
loadChangelogrequestLchatty/util/UrlRequest;
StackMapTableaccess$000>(Lchatty/gui/components/UpdateMessage;)Ljavax/swing/JTextArea;x0access$102)(Lchatty/gui/components/UpdateMessage;Z)Zx1SourceFileUpdateMessage.java@A>?BCjavax/swing/JTextAreaBSMonospaced�����������java/awt/InsetsB���javax/swing/JLabel<=North��javax/swing/JScrollPaneB�Centerjavax/swing/JPanelSouthjavax/swing/JButtonOpen websiteBUClose��%chatty/gui/components/UpdateMessage$1B����SUpdate available!�U��WSjava/lang/StringBuilder@<html><body style='padding: 6px;'>Your version: 0.8.1 | Latest: �����U	Loading..%chatty/gui/components/UpdateMessage$2#http://chatty.github.io/changes.txtB�java/lang/ThreadB��S#chatty/gui/components/UpdateMessagejavax/swing/JDialog
java/awt/Fontdecode#(Ljava/lang/String;)Ljava/awt/Font;setFont(Ljava/awt/Font;)VsetEditable(Z)VsetColumns(I)VsetRows(IIII)V	setMargin(Ljava/awt/Insets;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/awt/Component;)V*(Ljava/awt/Component;)Ljava/awt/Component;R(Lchatty/gui/components/UpdateMessage;Ljavax/swing/JButton;Ljavax/swing/JButton;)VaddActionListener"(Ljava/awt/event/ActionListener;)VpacksetTitlesetVisibleappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setText:(Lchatty/gui/components/UpdateMessage;Ljava/lang/String;)V(Ljava/lang/Runnable;)Vstart!569:;0<=>?@ABCDj�*+�*�Y��*���*��	*�W�*��*��Y�
�*�Y��**��*�Y*����Y�M*,��Y�N�Y�:,-�W,�W�Y*-� :-�!�!*�"�EV$&'($)-*6+H-S/]0n2v3}5�6�8�9�;�F�G�I�JF>�GH�IJvHKL�7MN�,ON�PQRSDF*#�$*�%*�&�EMNOPFGHTUDS*��'Y�()�*+�*�+�,�ESTFGHV:WSDy(*���*�-�.�/Y*0�1L�2Y+�3�4�EZ[]^j'kF(GHXYZ[\D/*��EF]H^_D;*Z��EF]H`Aab8/PKʣG[�l�66&chatty/gui/components/UserInfo$1.class���3D	$	%&"'()"*	+,-./012	val$ownerLchatty/gui/MainGui;this$0 Lchatty/gui/components/UserInfo;<init>7(Lchatty/gui/components/UserInfo;Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClasses"Lchatty/gui/components/UserInfo$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFile
UserInfo.javaEnclosingMethod34
56789:;=>?@ABC chatty/gui/components/UserInfo$1java/lang/Objectjava/awt/event/ActionListenerchatty/gui/components/UserInfoH(Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)V()VsetVisible(Z)Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;	getActionAction;(Ljava/lang/Object;)Lchatty/gui/components/UserInfo$Action;%chatty/gui/components/UserInfo$ActionNONE'Lchatty/gui/components/UserInfo$Action;chatty/gui/MainGuigetActionListener!()Ljava/awt/event/ActionListener; 
9*+�*,�*��Cp'*��*�+����*��+�	�GHI&K''& !"#+"<@PKʣG��vv&chatty/gui/components/UserInfo$2.class���3K	
*	
+,-.
/0(12-3-4-56789val$contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;this$0 Lchatty/gui/components/UserInfo;<init>T(Lchatty/gui/components/UserInfo;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethisInnerClasses"Lchatty/gui/components/UserInfo$2;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTable
mouseReleased
showPopupMenumenuLjavax/swing/JPopupMenu;SourceFile
UserInfo.javaEnclosingMethod:;<=>?"+chatty/gui/components/menus/UserContextMenu@ABCDEFGFHIJ chatty/gui/components/UserInfo$2java/awt/event/MouseAdapterchatty/gui/components/UserInfoH(Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)V()Vjava/awt/event/MouseEventisPopupTrigger()Zaccess$000/(Lchatty/gui/components/UserInfo;)Lchatty/User;A(Lchatty/User;Lchatty/gui/components/menus/ContextMenuListener;)VgetComponent()Ljava/awt/Component;getX()IgetYjavax/swing/JPopupMenushow(Ljava/awt/Component;II)V 
9*+�*,�*��{R
+��*+����

 !R
+��*+�����

 "j$�Y*��*��M,+�	+�+�����#� $$#$%&'()
PKʣG��cc&chatty/gui/components/UserInfo$3.class���3*		 !"#val$buttonLjavax/swing/JButton;this$0 Lchatty/gui/components/UserInfo;<init>8(Lchatty/gui/components/UserInfo;Ljavax/swing/JButton;)VCodeLineNumberTableLocalVariableTablethisInnerClasses"Lchatty/gui/components/UserInfo$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFile
UserInfo.javaEnclosingMethod$%&	'()' chatty/gui/components/UserInfo$3javax/swing/AbstractActionchatty/gui/components/UserInfoaddShortcut,(Ljava/lang/String;Ljavax/swing/JButton;ZZ)V()Vjavax/swing/JButtondoClick 	
9*+�*,�*��
@*���PKʣG~>���+chatty/gui/components/UserInfo$Action.class���3A	/013456	7	8	9	:	;<NONEActionInnerClasses'Lchatty/gui/components/UserInfo$Action;TIMEOUTMODUNMODCOMMAND$VALUES([Lchatty/gui/components/UserInfo$Action;values*()[Lchatty/gui/components/UserInfo$Action;CodeLineNumberTablevalueOf;(Ljava/lang/String;)Lchatty/gui/components/UserInfo$Action;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>9Ljava/lang/Enum<Lchatty/gui/components/UserInfo$Action;>;SourceFile
UserInfo.java=>?%chatty/gui/components/UserInfo$Action!@&'&'java/lang/Enumclone()Ljava/lang/Object;chatty/gui/components/UserInfo5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@@@	"���� &	!"5*��� &#$%&'1*+�� &#()*+*�g�Y��	�Y���Y��
�Y���Y���Y�	SY�SY�
SY�SY�S�� 'A&),-.2@PKʣGMd�!@@$chatty/gui/components/UserInfo.class���3?	�������	��	����	���	����
�	���	����	��	���	����	��
������ �	���������'��)�'�	��	��?�������	��	���2�	��	�� ���������;���	������������������������������ �� �P��������V�V�V��V
�		�

�����

	�	� 
!"�#$%&'$()~*+,+-�./�03�1Q�2345657 8�9:�;�<�=�>?@�A�BCDEFG	�H	�I�J	�K�L	�M	�N	�OPQ3��PRSTPUPVWPXYZP[�\�]^P_`a`bcPd�ePf�gPhPiPjklkmPnPopqrsPtuPvwPxyPz{P|}4~������	��	��`����	�������
��������	��	��	��	�����������ActionInnerClassesTIMESTAMP_MESSAGELjava/text/SimpleDateFormat;TIMESTAMP_ACTION_MESSAGETIMESTAMP_SPECIAL	firstSeenLjavax/swing/JLabel;
numberOfLineslinesLjavax/swing/JTextArea;	colorInfo	modButtonLjavax/swing/JButton;unmodButtontimeoutButtonsLjava/util/HashMap;	Signature=Ljava/util/HashMap<Ljavax/swing/JButton;Ljava/lang/Integer;>;commandButtons<Ljava/util/HashMap<Ljavax/swing/JButton;Ljava/lang/String;>;closeButtonbuttonPaneLjavax/swing/JPanel;buttonPane2infoPaneactionListenerLjava/awt/event/ActionListener;currentUser
Lchatty/User;currentLocalUsernameLjava/lang/String;fontSizeF<init>H(Lchatty/gui/MainGui;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis Lchatty/gui/components/UserInfo;ownerLchatty/gui/MainGui;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;gbcLjava/awt/GridBagConstraints;scrollPaneLjavax/swing/JScrollPane;setFontSize(F)Vsize
StackMapTableaddUserDefinedButtons(Ljava/lang/String;)VmatchdefnoKeyLabelZpLjava/util/regex/Pattern;mLjava/util/regex/Matcher;��GupdateButtonPane2Margin()VlayoutLjava/awt/FlowLayout;�addTimeoutButton:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)VlabeltimeIbuttonex!Ljava/lang/NumberFormatException;timeStringfactorkey�	addCommandButton)(Ljava/lang/String;ZLjava/lang/String;Z)VcommandsecondMenu�getKeyStroke+(Ljava/lang/String;)Ljavax/swing/KeyStroke;GaddShortcut,(Ljava/lang/String;Ljavax/swing/JButton;ZZ)VindexsmallButton	keyStrokeLjavax/swing/KeyStroke;�
clearShortcut(Ljavax/swing/JButton;)V	getFactor(Ljava/lang/String;)IfactorStringremoveUserDefinedButtonsi$Ljava/util/Iterator;�setUserDefinedButtonsDeffinishDialogtimeFormat(I)Ljava/lang/String;minutessecondsisTimeoutButton(Ljava/lang/Object;)ZLjava/lang/Object;getTimeoutButtonTime'(Ljava/lang/Object;)Ljava/lang/Integer;isCommandButtongetCommandButtonCommand&(Ljava/lang/Object;)Ljava/lang/String;	getAction;(Ljava/lang/Object;)Lchatty/gui/components/UserInfo$Action;sourcesetUser"(Lchatty/User;Ljava/lang/String;)Vuser
localUsernamecategoriesStringcategoriesLjava/util/Set;displayNickInfoLocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;���updateModButtonsupdateColorplainColorLjava/awt/Color;	colorTextcolorTooltipTextcolorcorrectedColorcolorNamedcorrectedColorNamed	colorCodecorrectedColorCode�	makeLines()Ljava/lang/String;MessageLchatty/User$Message;bLjava/lang/StringBuilder;messagesLjava/util/List;'Ljava/util/List<Lchatty/User$Message;>;�~�show6(Ljava/awt/Component;Lchatty/User;Ljava/lang/String;)VLjava/awt/Component;updategetUser()Lchatty/User;getChannelmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xywhaccess$000/(Lchatty/gui/components/UserInfo;)Lchatty/User;x0<clinit>SourceFile
UserInfo.java�javax/swing/JLabel,����javax/swing/JTextArea9�Color: #123456�javax/swing/JButtonModUnmodjava/util/HashMap	Close chatty/gui/components/UserInfo$1���java/awt/GridBagLayout��javax/swing/JPanel
��������javax/swing/JScrollPane�java/awt/Dimension����A����
java/awt/Insets���
��30,120,600,1800+,c9�� chatty/gui/components/UserInfo$2�����'��989nokeylabels��7(?:([0-9]+)([smhd]?)|/?/?([^\[,\s]+))(?:\[([^,\s]+)\])?����������/���e//JK=>��java/awt/FlowLayout�����\��[\java/lang/StringBuilder����de����Timeout for �� seconds�,RSjava/lang/NumberFormatException�������Custom command+ ���OP|�\�e��OP<html>��><span style='font-size:0.85em;font-weight:normal;color:gray;'> []�,������ [Shortcut: ���������� chatty/gui/components/UserInfo$3��������s�id�����YZ9^9�9	�%dmjava/lang/Object%dh%dd
ijava/lang/Integerjava/lang/Stringhimi��*User: ��� (�) / ��,��
 First seen:  Number of messages:  ��9!�"�#�$%&%'()*)+�,%Color: **Custom Color:  (Original: -� (default).�Corrected Color: /�<only last 0� lines are saved>12�chatty/User$Message3�4chatty/User$TextMessageTextMessage5�����6����Banned from talkingst7�8�9�:�java/awt/GridBagConstraints;A<A=A>Ajava/text/SimpleDateFormat[HH:mm:ss] [HH:mm:ss]* [HH:mm:ss]>chatty/gui/components/UserInfojavax/swing/JDialog%chatty/gui/components/UserInfo$Actionjava/util/regex/Patternjava/util/regex/Matcherjavax/swing/KeyStrokejava/util/Iterator
java/util/Setchatty/Userjava/awt/Colorjava/util/List(Ljava/awt/Frame;)V7(Lchatty/gui/components/UserInfo;Lchatty/gui/MainGui;)VaddActionListener"(Ljava/awt/event/ActionListener;)V	setLayout(Ljava/awt/LayoutManager;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VsetEditable(Z)VsetLineWrap(Ljava/awt/Component;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VfillweightxDweighty(IIII)VinsetsLjava/awt/Insets;*(Ljava/awt/Component;)Ljava/awt/Component;getContentPane()Ljava/awt/Container;T(Lchatty/gui/components/UserInfo;Lchatty/gui/components/menus/ContextMenuListener;)Vjava/awt/ContaineraddMouseListener!(Ljava/awt/event/MouseListener;)Vchatty/gui/GuiUtil(FLjava/awt/Component;)Vpackcontains(Ljava/lang/CharSequence;)Zcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;find()ZgroupstartsWith(Ljava/lang/String;)Z	getLayout()Ljava/awt/LayoutManager;getComponentCount()IsetVgap(I)VparseIntisEmptyappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringvalueOf(I)Ljava/lang/Integer;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(I)Ljava/lang/StringBuilder;setToolTipText
chatty/HelperreplaceUnderscoreWithSpace&(Ljava/lang/String;)Ljava/lang/String;SMALL_BUTTON_INSETS	setMargin(Ljava/awt/Insets;)VreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;indexOf	substring(II)Ljava/lang/String;getTextsetTextSPECIAL_SMALL_BUTTON_INSETSSPECIAL_BUTTON_INSETSgetToolTipTextgetRootPane()Ljavax/swing/JRootPane;javax/swing/JRootPanegetInputMap(I)Ljavax/swing/InputMap;javax/swing/InputMap,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;8(Lchatty/gui/components/UserInfo;Ljavax/swing/JButton;)Vjavax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)Vremove(Ljava/lang/Object;)VhashCodeequalskeySet()Ljava/util/Set;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;cleargetPreferredSize()Ljava/awt/Dimension;setMinimumSizeformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;containsKeyget&(Ljava/lang/Object;)Ljava/lang/Object;MOD'Lchatty/gui/components/UserInfo$Action;UNMODTIMEOUTCOMMANDNONE
getCategorieshasDisplayNickSethasCustomNickSetgetDisplayNicksetTitlegetCreatedAt()Jchatty/util/DateTime(J)Ljava/lang/String;formatFullDatetimegetNumberOfMessages	getStreamequalsIgnoreCaseisModeratorgetColor()Ljava/awt/Color;getCorrectedColorchatty/gui/HtmlColorsgetNamedColorString$(Ljava/awt/Color;)Ljava/lang/String;getColorStringhasCustomColor
getPlainColorhasDefaultColorhasCorrectedColormaxNumberOfLinesReachedgetMaxNumberOfLinesgetMessages()Ljava/util/List;getTypegetTimeisAction1(JLjava/text/SimpleDateFormat;)Ljava/lang/String;setLocationRelativeTorequestFocusInWindowsetVisible	isVisiblegridxgridy	gridwidthgridheight!��������������	


��*+�*�Y��*�Y��*�Y�	�*�Y��*�
Y��*�
Y��*�Y��*�Y��*�
Y��*�Y*+��*�*��*�*��*�*��*�Y��*� Y�!�"*�#N**�"-�$*��%*��&�'Y*��(:�)Y,ȷ*�+*�#N-�,-�--.�0*-�$*� Y�!�1*�#N-�2Y�3�4**�1-�$*� Y�!�5*�#N**�5-�$*�5*��6W*�5*��6W*�5*��6W*�#N-�,-�2Y�3�4**�-�$*7�8*�9*�:�;Y*,�<�=��-A*+,*-7/D0Q1\2g3tC�M�N�O�Q�U�V�W�Y�Z�[�\�]^_`ac%d.e=fFhQiZjclom{n�p�q�r�s�u�w�{��4�� �!"�#$��%&'(m#*�>��#*�?*�@*�9*#�>��	�����)*+,k*�A+B�C=D�EN-+�F:�G�I�H:I�J�*�KL�J�K�M�*�K�K�K�N���*�A�2����� �'�1�L�c�f�j�>'<-kk.`/0Z12S34*�56�37�89v#*�1�O�PL*�1�Q�+�R�+�R�����"�#:;*	�<=>{�+�S6,�T�$*,�Uh6�VY�W+�X,�X�Y:�*�Z:�
Y�:*�"�6W*��[�\W*���VY�W]�X�^_�X�Y�`*-�a�:���b:��
��.�6�A�K�Z�c���������f+?�@A6U?AJB�CD��E�F�G�/0*$�.�7�WH777IJK�V�
Y+�c�:��d�e*�1�6W�
*�"�6W*�+�\W*��f�`*-�a�*�
���&�0�;�D�K�U�>VVLVM0VGV/0
IB*	�&N	OPU+�+gh�i�+�j��G*@QRS��:+�"+k�l6�+`�m:+�nL*+�o:����+:�N�T�F,�VY�Wp�X,�q�Xr�Xs�X�Xt�X�Y�u�
,�v�e�,�w�e,�VY�W,�x�Xy�X+�Xt�X�Y�`*�z�{,�|*�z�},�~Y*,����R������&�-�2�3�=�@�M�{���������	RTA��G�B�U0�/0�?-�VW*�&7�X�HYZD*�z�}+���B[\��+M>,���adVhHm:s,,����/>�*,����!>�,����>�,����>�* #'�<������������]*�47


^9w*�����L+���%+���
M*�",��*�1,��*,�����*���*�����L+���+���
M*�",��*,�����*����2% &('0(5)8*?+_,g-l.o/v04 B
+_`_
BL#_`w*�
a�*�a�"b,j*��*+�8*��*�>*�?*�@*�9�:;	<
=@AB.c97	**�����EF	de�f<��VY�W�^��X�Y��<l=���Y�[S��������Yl�[S������Y�l�[S���"IJL!M&N7P=QRS &fAffgA*hi=	*�+���a		Bjkl@*�+�����mBjmi=	*�+���{		Bjno@*�+������Bjpq�4+*�����+*�����*+������*+���������&	����� �$�,�0�44rj*st*+�*,��N+��:����	��N+�����:*�VY�W��X+���X+���!�VY�W��X+���X��X�Y��X�X��X+���Xh�X-�X�Y��*���*�*����*��VY�W��X+�����X�Y��*�+������*��VY�W��X+���^�Y��*��*��*�9�F���
��"�(�8������������������>uv
�w�xy8�z{�x|*Q�(7}A7�:H~77}7H�H~77}7H7�9�U*���*�"*���*�"*���*���*�����(*����*�"*��6W�*�"*��6W�&	�����/�9�H�T�U*?�9�u*���L*���M+��N,��:+��:,��:*��ƙ^*���:	�VY�WȶX-�XɶX�Y:�VY�WʶX�X˶X	�ĶXI�X	�ŶX��X�Y:��*��̙;�VY�WȶX-�X��X�Y:�VY�WȶX�XͶX�Y:��*��Ιb���X�VY�WȶX�X��X-�X��X�Y:�VY�W϶X�X˶X-�XI�X�X��X�Y:�.�VY�WȶX-�X�Y:�VY�WȶX�X�Y:*���*����V�����!�'�1�:�T������������7�L�b�k�t��:O��	T8�������1�4�um��e��`�Z�!T�'N�L)�b�*-��H��7777�A�h�*77�����VY�WL*��Й+ѶXW+*��Ҷ^W+ӶXW*���M,��N-���x-����:�ך;+���ٶڙ	�ۧ�ܸݶXW+�ٶ޶XW+߶XW�*���!+�ز�ݶXW+�XW+߶XW���+�Y�F����%�,�4�O�W�x����������4Og3�;~_`����4���{4���*O�,��a�2H�a��H�a���&���q*,-��*+��*���W*��	
*�uv�te*�+�*��	*+,�� uv*��/*����2*����"���5��Y��:���������2Y�3�4�&	'()*"+2,>55�A5�A5�A5�A	,#$��/*�� ��9E%��Y��ܻ�Y��ۻ�Y���"#$���2���@~;�P�	�P�	PKʣG/���AA&chatty/gui/components/UserList$1.class���34	"#$% & '()*this$0 Lchatty/gui/components/UserList;<init>#(Lchatty/gui/components/UserList;)VCodeLineNumberTableLocalVariableTablethisInnerClasses"Lchatty/gui/components/UserList$1;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTablemousePressed
mouseReleasedmouseEnteredmouseExitedSourceFile
UserList.javaEnclosingMethod+,	-./01232 chatty/gui/components/UserList$1java/lang/Objectjava/awt/event/MouseListenerchatty/gui/components/UserListM(Lchatty/gui/components/menus/ContextMenuListener;Lchatty/gui/UserListener;)V()Vjava/awt/event/MouseEvent
getClickCount()Iaccess$000>(Lchatty/gui/components/UserList;Ljava/awt/event/MouseEvent;)Vaccess$100 	
4*+�*��
V+��*�+��!"$
A	*�+��()		
A	*�+��-.		
5�2
5�6 !PKʣG���*�
�
$chatty/gui/components/UserList.class���3�"["\#]^]	"_"`ab"c	"d	"efghijklm"noplqlrslt"u"vwx"y"z{|}~InnerClassesdataLchatty/gui/UserlistModel;	Signature)Lchatty/gui/UserlistModel<Lchatty/User;>;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;userListenerLchatty/gui/UserListener;<init>M(Lchatty/gui/components/menus/ContextMenuListener;Lchatty/gui/UserListener;)VCodeLineNumberTableLocalVariableTablethis Lchatty/gui/components/UserList;addUser(Lchatty/User;)Vuser
Lchatty/User;removeUserupdateUserresort()VclearUsersgetNumUsers()IgetData()Ljava/util/ArrayList;&()Ljava/util/ArrayList<Lchatty/User;>;openContextMenu(Ljava/awt/event/MouseEvent;)Vm-Lchatty/gui/components/menus/UserContextMenu;eLjava/awt/event/MouseEvent;
StackMapTablegetUser*(Ljava/awt/event/MouseEvent;)Lchatty/User;indexIboundsLjava/awt/Rectangle;�userSelected{access$000>(Lchatty/gui/components/UserList;Ljava/awt/event/MouseEvent;)Vx0x1access$100"Ljavax/swing/JList<Lchatty/User;>;SourceFile
UserList.javaCDQD.<chatty/gui/UserlistModel&'�� chatty/gui/components/UserList$1.���*+,-�����<�<�?@A���JK+chatty/gui/components/menus/UserContextMenu.��?�?���������������chatty/User���chatty/gui/components/UserListjavax/swing/JListjava/awt/RectanglesetModel(Ljavax/swing/ListModel;)V#(Lchatty/gui/components/UserList;)VaddMouseListener!(Ljava/awt/event/MouseListener;)Vadd(Ljava/lang/Comparable;)VremovesortcleargetSizejava/awt/event/MouseEventisPopupTrigger()ZA(Lchatty/User;Lchatty/gui/components/menus/ContextMenuListener;)VgetXgetYshow(Ljava/awt/Component;II)VgetPoint()Ljava/awt/Point;locationToIndex(Ljava/awt/Point;)I
getCellBounds(II)Ljava/awt/Rectangle;contains(Ljava/awt/Point;)ZsetSelectedIndex(I)VgetSelectedValue()Ljava/lang/Object;chatty/gui/UserListeneruserClicked+(Lchatty/User;Ljava/awt/event/MouseEvent;)V!"#&'()*+,-
./0�.*�*�Y��**��*�Y*�	�*+�*,��1#8(9-:2 .34.*+.,-560A	*�+�
�1=>2	34	78960A	*�+��1AB2	34	78:60M*�+�*�+�
�1EFI23478;<06*���1LM234=<06*���1PQ234>?02*���1T234@A02*���1X234(BCD0�,+��'*+�M,��Y,*��N-*+�+���1ab
cde+h2*
EF
78,34,GHI+JK0�.*+��=*�N-�-+���*�*�� ��1q	rst$u,w2*.34.GH	%LMNOI	�,PQD0n*+�M,�*�,+�!�1����2 34GH78I�RST0:*+��12U4VHWT0:*+��12U4VH(XYZ%PKʣGcK����+chatty/gui/components/ViewerHistory$1.class���3SourceFileViewerHistory.javaEnclosingMethod%chatty/gui/components/ViewerHistory$1InnerClassesjava/lang/Object#chatty/gui/components/ViewerHistory 	PKʣG�����?chatty/gui/components/ViewerHistory$MyContextMenuListener.class���3C '	()*+,-./0/1/234this$0%Lchatty/gui/components/ViewerHistory;<init>((Lchatty/gui/components/ViewerHistory;)VCodeLineNumberTableLocalVariableTablethisMyContextMenuListenerInnerClasses;Lchatty/gui/components/ViewerHistory$MyContextMenuListener;menuItemClicked(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTable5367O(Lchatty/gui/components/ViewerHistory;Lchatty/gui/components/ViewerHistory$1;)Vx0x1'Lchatty/gui/components/ViewerHistory$1;SourceFileViewerHistory.java
869:toggleShowFullVerticalRange;<=5>?@AB89chatty/gui/components/ViewerHistory$MyContextMenuListener.chatty/gui/components/menus/ContextMenuAdapter#chatty/gui/components/ViewerHistoryjava/awt/event/ActionEvent%chatty/gui/components/ViewerHistory$1()VgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Zaccess$200((Lchatty/gui/components/ViewerHistory;)Zaccess$202)(Lchatty/gui/components/ViewerHistory;Z)Zrepaint 
4*+�*����++���!*�*�����W*��	���#�*�++^�!D*+��� "
#$%&//PKʣG�9chatty/gui/components/ViewerHistory$MyMouseListener.class���3r9	:;<=>?@A@B@C>D@E��������@F@G@H@I@JKL@M@NOPthis$0%Lchatty/gui/components/ViewerHistory;<init>((Lchatty/gui/components/ViewerHistory;)VCodeLineNumberTableLocalVariableTablethisMyMouseListenerInnerClasses5Lchatty/gui/components/ViewerHistory$MyMouseListener;mouseClicked(Ljava/awt/event/MouseEvent;)VactualHoverEntryJeLjava/awt/event/MouseEvent;
StackMapTableOQRmouseEnteredmouseExitedmousePressed
mouseReleasedmouseMovedSO(Lchatty/gui/components/ViewerHistory;Lchatty/gui/components/ViewerHistory$1;)Vx0x1'Lchatty/gui/components/ViewerHistory$1;SourceFileViewerHistory.javaTUVWQXYRZ[\]^_`abcdef[gThijklmTnopq3chatty/gui/components/ViewerHistory$MyMouseListenerjava/awt/event/MouseAdapterjava/awt/event/MouseEvent#chatty/gui/components/ViewerHistory%chatty/gui/components/ViewerHistory$1()Vjavax/swing/SwingUtilitiesisLeftMouseButton(Ljava/awt/event/MouseEvent;)Z
getClickCount()Iaccess$302)(Lchatty/gui/components/ViewerHistory;Z)Zaccess$400((Lchatty/gui/components/ViewerHistory;)JsetFixedStartAt(J)VgetPoint()Ljava/awt/Point;access$5008(Lchatty/gui/components/ViewerHistory;Ljava/awt/Point;)Jaccess$6008(Lchatty/gui/components/ViewerHistory;Ljava/awt/Point;)Vaccess$702repaintaccess$300((Lchatty/gui/components/ViewerHistory;)Zaccess$800T(Lchatty/gui/components/ViewerHistory;)Lchatty/gui/components/ViewerHistoryListener;+chatty/gui/components/ViewerHistoryListenernoItemSelectedaccess$402)(Lchatty/gui/components/ViewerHistory;J)Jaccess$900C(Lchatty/gui/components/ViewerHistory;Ljava/awt/event/MouseEvent;)V 4*+�*���!"#�b+��]+��*��W*�*����;*�+�	�A*� ����W*�� ��*�+�	�
�&	����)�5�J�V�a� 5,$%b!b&'())�)*+�)*+�,#M*��W*����	��!&'-#�I*��W*����*��	��*���*���*��X*���"�	���*�6�A�H�I!I&'(!.#A	*�+����	!	&'/#A	*�+����	!	&'0#[*���*�+�	�
����!&'(3D*+��� !45678 @1@PKʣG�LALA)chatty/gui/components/ViewerHistory.class���3���	��	������	��	��	����	�	����	��	��	��	����	��	��	����	��	����	��	�����������!������%�������������	��	��-�	����������	��	��h���:�����
@�@��@�����@������������	���P���	�������	��	����@����@	����������f��h�f����l�����	l�	l	�:	����	� �	�:
	�����������J[� !�"@2l#$%	�&'@()*+:,:-$./01*2	345�678�9:;InnerClassesMyMouseListenerMyContextMenuListenerLOGGERLjava/util/logging/Logger;ONE_HOURF
ConstantValuePOINT_SIZEIFIRST_COLORLjava/awt/Color;SECOND_COLOR
OFFLINE_COLORHOVER_COLORHOVER_RADIUSFONTLjava/awt/Font;MARGINCONSIDERED_AS_NOW
@sdfLjava/text/SimpleDateFormat;foreground_colorbackground_colorhistoryLjava/util/LinkedHashMap;	SignatureRLjava/util/LinkedHashMap<Ljava/lang/Long;Lchatty/util/api/StreamInfoHistoryItem;>;maxValueminValue	startTimeJendTimedurationcurrentRangefixedStartTimefixedEndTimefixedStartTimesLjava/util/Map;3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;
fixedEndTimes
currentStreamLjava/lang/String;	locations;Ljava/util/LinkedHashMap<Ljava/awt/Point;Ljava/lang/Long;>;colors;Ljava/util/LinkedHashMap<Ljava/lang/Long;Ljava/awt/Color;>;contextMenu)Lchatty/gui/components/menus/ContextMenu;mouseEnteredZshowInfohoverEntryfixedHoverEntry
showFullRangelistener-Lchatty/gui/components/ViewerHistoryListener;<init>()VCodeLineNumberTableLocalVariableTablethis%Lchatty/gui/components/ViewerHistory;
mouseListener5Lchatty/gui/components/ViewerHistory$MyMouseListener;setListener0(Lchatty/gui/components/ViewerHistoryListener;)V
isShowingInfo()Z
StackMapTablepaintComponent(Ljava/awt/Graphics;)VtextviewersLjava/lang/Integer;ago	textWidthyxdrawInfoTextdLjava/util/Date;timeText
timeTextWidthtextXentryEntryLjava/util/Map$Entry;timeoffsetTimeseconds
historyObject'Lchatty/util/api/StreamInfoHistoryItem;pointLjava/awt/Point;i$Ljava/util/Iterator;gLjava/awt/Graphics;g2Ljava/awt/Graphics2D;fontMetricsLjava/awt/FontMetrics;fontHeighttopTextYvMarginhMarginwidthDheight
drawLowerLinenowTextXmaxValueTextmaxValueEnddisplayMaxValueminTextminTextWidthrangepixelPerViewerpixelPerTimeprevXprevYitLocalVariableTypeTableNLjava/util/Map$Entry<Ljava/lang/Long;Lchatty/util/api/StreamInfoHistoryItem;>;dLjava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Long;Lchatty/util/api/StreamInfoHistoryItem;>;>;/<�=>?�@���
makeTimesText(JJ)Ljava/lang/String;
startTimeTextendTimeTextmakeTimeText	fixedTimedategetStartAt(J)JendstartAtgetEndAt()JupdateVarshistoryObjviewerCountLjava/lang/Long;endAtmaxminstart�makeColorsitem	newStatusprevStatuscurrentColor�setHistory.(Ljava/lang/String;Ljava/util/LinkedHashMap;)VstreamnewHistoryg(Ljava/lang/String;Ljava/util/LinkedHashMap<Ljava/lang/Long;Lchatty/util/api/StreamInfoHistoryItem;>;)VmanageChannelSpecificVars(Ljava/lang/String;)V	checkVarssetForegroundColor(Ljava/awt/Color;)VcolorsetBackgroundColorsetRange(J)VaddContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)Vl1Lchatty/gui/components/menus/ContextMenuListener;setFixedStartAt(J)Ljava/lang/String;hoursopenContextMenu(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;findHoverEntry(Ljava/awt/Point;)JdistancepsmallestDistancefoundHoverEntryupdateHoverEntry(Ljava/awt/Point;)VhoverEntryBeforeaccess$202)(Lchatty/gui/components/ViewerHistory;Z)Zx0x1access$200((Lchatty/gui/components/ViewerHistory;)Zaccess$302access$400((Lchatty/gui/components/ViewerHistory;)Jaccess$5008(Lchatty/gui/components/ViewerHistory;Ljava/awt/Point;)Jaccess$6008(Lchatty/gui/components/ViewerHistory;Ljava/awt/Point;)Vaccess$702access$300access$800T(Lchatty/gui/components/ViewerHistory;)Lchatty/gui/components/ViewerHistoryListener;access$402)(Lchatty/gui/components/ViewerHistory;J)Jaccess$900C(Lchatty/gui/components/ViewerHistory;Ljava/awt/event/MouseEvent;)V<clinit>SourceFileViewerHistory.javamn����wxqr��������A���java/awt/Color�B��������java/util/HashMap������java/util/LinkedHashMap����.chatty/gui/components/menus/HistoryContextMenu����3chatty/gui/components/ViewerHistory$MyMouseListener�CDEFG9chatty/gui/components/ViewerHistory$MyContextMenuListenerHfgI�<JaKLMLNOjava/awt/Graphics2DPQTUVWX��YZ=[\]L����^_`a%chatty/util/api/StreamInfoHistoryItembL>^cdeHjava/lang/StringBuilderlatest: fghLijklmnow: Stream offlinenopqrLNo viewer history yetsLmax: ��java/util/Date�e	Viewers:  (��tu)Stream offline (min: ����<=fvk����wxyz{@|�}~java/util/Map$Entry�~java/lang/Long�H�~�Ojava/awt/Point�����x���������O@= - �kh)|CDGH���m?����]^��I�_�R�����%.1fjava/lang/Object�^�t�^k����L�L��s������Hovered Entry f�	 was null��^�m�m��#chatty/gui/components/ViewerHistory��m����
java/awt/FontConsolas�qjava/text/SimpleDateFormatHH:mm�^javax/swing/JComponent%chatty/gui/components/ViewerHistory$1java/awt/Graphicsjava/awt/FontMetricsjava/lang/Integerjava/lang/Stringjava/util/IteratorBLACK(III)VO(Lchatty/gui/components/ViewerHistory;Lchatty/gui/components/ViewerHistory$1;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)V'chatty/gui/components/menus/ContextMenuclearsetColorgetWidth()I	getHeightfillRect(IIII)Vjava/awt/RenderingHintsKEY_ANTIALIASING�KeyLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)VgetFontMetrics'(Ljava/awt/Font;)Ljava/awt/FontMetrics;setFont(Ljava/awt/Font;)V	getAscentvalueOf(J)Ljava/lang/Long;get&(Ljava/lang/Object;)Ljava/lang/Object;getViewers(I)Ljava/lang/Integer;java/lang/SystemcurrentTimeMillisappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;intValue
chatty/HelperformatViewerCount(I)Ljava/lang/String;toString()Ljava/lang/String;stringWidth(Ljava/lang/String;)IdrawString(Ljava/lang/String;II)VsizegetDescentformat$(Ljava/util/Date;)Ljava/lang/String;(I)Ljava/lang/StringBuilder;entrySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;
java/util/MapgetKey	longValuegetValuedrawLine(II)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;keySetisOnlinefillOvalgetStatusAndGameequals(Ljava/lang/Object;)ZisEmptyrepaintcontainsKeyjava/lang/Float(F)Ljava/lang/Float;9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;java/awt/event/MouseEventisPopupTriggergetXgetYshow(Ljava/awt/Component;II)V(Ljava/awt/geom/Point2D;)D+chatty/gui/components/ViewerHistoryListenernoItemSelected(J)Ljava/lang/StringBuilder;java/util/logging/LoggerwarninggetTitlegetGameitemSelected((ILjava/lang/String;Ljava/lang/String;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;WHITEjava/awt/RenderingHints$Key!��#������������������������������������������������������������������������������������������"���2�*�	*��*�Y����
�*	�*	�*	�*�Y��*�Y��*�*�Y��*�Y��*�Y��*�*�*�*�*��!Y*�"L*+�#*+�$*��%Y*�&�'��Z�MRf$g)h.j9kDmItTx_zjo�t�{�����������������������>*+�������������I*���*�����	�����	����# *��(+*��)+*�**�+�,+*��)+�-M,�.�/�0+�1�2N-�36+�1�4-�56`66*�*hd�9*�+hd�9t����66
*�6��*����*�6*�7�8�9�:�;�<:�=*�7e7>��"�@Y�AB�C�D�E�C�F:��@Y�AG�C�D�E�C�F:�D�H:*�*-�Id6
+
�J*�6�*�6�K��L:-�I6*�+l-�M`6*�*dl66*�6�G``�;``
�.�
`�#�*�+d6�666�6�
+�J��@Y�AN�C*�O�E�C�F:-�I66*����*�6*��8�9�:�;�<:�PY*��Q:�@Y�AR�C�D�E�CS�C�T�U�CV�C�F:�D�$�@Y�AW�C�T�U�CV�C�F:*�*-�Id6�6+�J�@Y�AX�C*�Y�E�C�F:-�I6�g**�Z*�7�[:-�I6*�*d6+*�+d�J*�Y�0`���$�@Y�AX�C*�Y�l�\]�C�F:*�^�@�+�J�+*�+d�J�``
�+`�J_���*�O*�Yd6*��	*�O6�6�o9*�a�o966*�6�b�c:�d���e�f:�g�h�i7*�Z����*�7�����*�Ze7�j�:�;6  �6 ��kc�6!*��t*�+`� �kg�6"�t*�+`� *�Yd�kg�6"�+!"�k!6"6*��lY!"�m�8�nW��/*��o�p:�d���e�l:�q6�r6*��9�h�i7*�6�8�9�::!*���
+�s�)�(!�t�
+�u�)�+*��8�9��)+dd�v��s���t����%�*�4�<�B�I�O�V�Z�f�r��������������������#�5�9�A�N�Y�\|�������
������� !B"K#l%y&�'�)�,�-�0�1�2�3�4�6�7< =%>.@3ACBPC]HfIgMrNyOQ�S�U�V�Z�[�\�]�^�a�b�c�e�ghimop4sLwRx^|b}f�~�������������������������4����r���h���$��9���Ay��Nl�Ya�\^����|BK��y��V��N��E�1�"��������}�� g�!L2�"�p��i��X
��G!�w�� �� *�<�B��O��V��Z��f�r� ��!���"�
�K#��C$��@%��x&��p'�r�(���)��*��+���,��s-.��/�s-0��$��1234@�a12345�6��T12346�1234��12346576��	12346��6	��%1234668�;9� �)��"1234668�
8�Y12346688:;�1234668<=��l**��w:*!*��w:�@Y�A�Cx�C�C�F:*�	��2*�	��)�@Y�A�CS�C**��y�Cz�C�F:�����1�C�i��>l��l��l��a>�V?�1;����i666@=��9�PY�Q:!��#�@Y�A{�C�T�U�C{�C�F��T�U�����0��*9��9�9A�/B��07CD��Y*�	��*��	��	�B*�6�o�p:�d��e�h�i7B���!e7	��	7��2�	�����A�D�G�L�S�V��>A�(Y��Y(�?E�L
F���8��GH�Y*�	��*�*���*�����������I���**��|@*�}B6677	*�6�o�p:�d���e�h:�i�����!���i!��������i7�i7	*�6�9�::

�;6�	�6�6�6��y*�O*�Y*�Z*	�7*	e�a��v�	������B�L�O�_�b�k�r�y����������������	����p�,J
�%K�BqL,����	�F��M��N��O��P��E�	�,	�,18�"Q�(;��R���	�*��(*�6�b�cLM�~N+�d�m+�e�f:�g�h�i7�j�::�:,�#�,���-�~���N��~N*��8-�nW�M�����J#.=IPb"i#p%t(�+�,�.�/�R.\=M�IASP:T����z-xU�tV�..\/z-0�@�86W�U186W9;6�186WXY��4*+��*,�6*�6�*�6���*��*��*���*�6*����&	9;>?@#A*C/E3F� 4��4Z�4[�.4[��*�\]^���+*�����*�*�*�*��8��W*�*�*��8��W*+�*	�*	�*�+���**�+���h�i�*�+���**�+���h�i���2OPQ'R<SATFUKVXWlYyZ�]�����Z���l _��i%*�Z��*�7��*	�*	�*����def g$i�%���
`a�F*+�*����qr	s���b�ca�F*+�*����{|	}���b�de�x#*�*�*�*�6�*��*����������"��#��#(��fg�A	*�+�'�����	��	hije��;*�7���*�	��	��*��
*�*�*�6�*��*����*�	���!�&�+�2�6�:��;��;F��	�k�y#��nF%�����Y%��S���%���������� #��#�l���mn�]+���*�*+��+������������op�qr��_�I7*��o�p:�d�>�e�l:+��9���(��*��9�h�i7I�����*	-
5>EVY\�H5$s-,E_��_t[u	Vv���8�A�wx�"�*�A**+��*� ���*��*��u*���*����^*�6*��8�9�::�.���@Y�A��C*�����C�F��*��*��;��������6
 "#$"%-&9(L)Q0r1|3�8�*LHS����t�y���9�B;�z{�;*Z����|�}�~�/*����|��{�;*Z����|�}����/*����|����:*+����|�}���:*+����|�}�{�;*Z����|�}���/*����|����/*����|����;*]����|�}����:*+����|�}p����a��������Y�>�
�~�Yܷ
���Y����
�u���s��Y����1��Y����T��&(,*?3E=TK���*��!��%��f�		R�S	PKʣG�z���1chatty/gui/components/ViewerHistoryListener.class���3	itemSelected((ILjava/lang/String;Ljava/lang/String;)VnoItemSelected()VSourceFileViewerHistoryListener.java+chatty/gui/components/ViewerHistoryListenerjava/lang/ObjectPKˣG@ꐠ��&chatty/gui/components/WrapLayout.class���3�QRST	UVWXWY���ZW[	\]	\^_`WaWbcdcecfg	hij	\k	\lmnoWpqrpreferredLayoutSizeLjava/awt/Dimension;<init>()VCodeLineNumberTableLocalVariableTablethis"Lchatty/gui/components/WrapLayout;(I)ValignI(III)Vhgapvgap*(Ljava/awt/Container;)Ljava/awt/Dimension;targetLjava/awt/Container;minimumLayoutSizeminimumlayoutSize+(Ljava/awt/Container;Z)Ljava/awt/Dimension;dmLjava/awt/Component;itargetWidthinsetsLjava/awt/Insets;horizontalInsetsAndGapmaxWidthdimrowWidth	rowHeightnmembersscrollPane	preferredZ
StackMapTablesqtu_vwaddRow(Ljava/awt/Dimension;II)VSourceFileWrapLayout.java!"!(!+34x*yzt{|}~z��u�*�*java/awt/Dimension!��z��v���~�~MN�*����*�*javax/swing/JScrollPane����� chatty/gui/components/WrapLayoutjava/awt/FlowLayoutjava/lang/Objectjava/awt/Containerjava/awt/Insetsjava/awt/Componentjava/lang/ThrowablewidthgetHgap()IgetTreeLock()Ljava/lang/Object;getSize()Ljava/awt/Dimension;getVgap	getInsets()Ljava/awt/Insets;leftright(II)VgetComponentCountgetComponent(I)Ljava/awt/Component;	isVisible()ZgetPreferredSizegetMinimumSizeheightjava/lang/Mathmax(II)Itopbottomjavax/swing/SwingUtilitiesgetAncestorOfClass;(Ljava/lang/Class;Ljava/awt/Component;)Ljava/awt/Container;isValid! !"#3*��$%&%&'!(#>*��$23%&')*!+#T*��$BC%*&')*,*-*.#;*+��$O%&'/01.#^*+�M,Y�*�`d�,�$\]^% &'/02 34#�,+�YN�+��6�	6*�6*�6+�:��
`h`6d6	�Y�:66+�6
6
�k+�:��U����:�`	�*�66�`6�`6��6����*�Y�`�Y���`h``�+�:�+��Y�`d�-ð:-��$%%)%$�"kqstvw%x+y=zD~OR�U�[�e�m�u����������������������������� �%�%��?5 mZ67^o8*9*,*%-*+�:;=�<*D�=*	O�> R�?*U�@*[�A*
B0,&',/0,CDEZ�F�DGHFIJ�"KDJ�J���RH�GHFLMN#�+++���+��+Y�*�`�+Y�`��$��� �*�%*+&'+> +?*+@*E OPPḲG�r�c[[(chatty/gui/components/dialog-warning.png�PNG

IHDR�abKGD�������	pHYs��tIME�'-��w�IDAT8˕��Ja��;��4�3��J�FC� �AJ�0�Hc�t�"]t�0�	\te�B�EIV��P>�P\�\�@I17�ȴ������;gs���Ȁ�x݀/�|z���yxpG@u�O�H�R�ZXXО�RZVC��
0a/
zbw�L�It���8�l�,z>��ϓ-�e�!��v�{�^��<�S��^��N`�ݿ6aŅ����8���8�O�Ņ�V"&�g�H�iX��eY����`��?�4���R	��ml�FD0J%��!� 1��x���:"�����0������,�^,/�gg�������L&���jm���K�7�{WO��?>�a��R��Z
�v��� "�8=�bc�.|����f̙\�x�rg\��uݑ[�Ra&�#���l�ח��=8`�^�K�=�@D�n�����=|�C>y���'���	�f"�/�t
�4��}��IEND�B`�PḲGf��6t6t/chatty/gui/components/help/0_4_overview_top.png�PNG

IHDR<�jIbKGD�C�	pHYs���o�dtIME�
#9�1� IDATx��w|Tי��;�k4��;B�ބ�)ƅ��؉���M���I����n��Y�l61�͎�c��wcl	0��*�P4���3���€}��G6s��3����s��}ϹG�eYF ��=�B�@ !x�@ ���@ �G �@�@ !x�@ ���@ �G �<�@ B��@ �#�@ �@ �<�@ B��@ �#�@ �@ !x�@ ���wj�P!mb�D�_�6�k%���M;���	�<�����c�d�۹	����2�,#�5l�^{��BL ��W�N6����C�R�v3�[�ɖZQB�@ �@0���t!D$U;�4x|��v��T1�1���'%��-[*��뢝���F֏t<H�\Ƀc�i�h�=
��dS�CT����ݻ@ �#ܐj�Mk��\�(塏o��Z�T����5��Y[��a:�j+<"#ˏ�f�t.�V����5�z�c���K(�P���v���4��k^"y�;�Ckx�f3�ld�hJ ��\K�Ν;|�>�[�r��b'jb�\�r��>϶���ac�6��`�))�D:���r6���UXB��䧜�_^3J�kxL�yl�K�f=EB�n>�����{��ק����J�����vPh�e�EזRT0�t�ch��e'�����k�<	�<��CA�TsfdL��U������C@�1Ll]*�3V:S��ֳ��l�(��<�	���-Tnc�@�M�!<<�@���f
�7V��G��R�a݅PS�*F��[��
�Cƥ�l�����˛�ٺv�oD�m-�̗'�ƽ�UC�?;7���E$�{�(�{N�<&�c�D������5Tu�<H�H�ѳ��\S�`M��*��Ge�t���+��6
�
`���&�+k����B�J[ce����k��D�C<T(qbǐ�>�@�B�eY�p>8IB<:�@ &�i	�@ �G �@�@ !x�@ ���@ �G �@�@ !x�_j�R!!����M��.�Fe�`"v6t��M׹5
�_m�_[v�S'����jeh*��W�����(�G6���4�;پ6�_}c���%Â��n7�P�!��հ�z��s=���ߚ͔�C������v�Z�1t���>T(D�@����6�ܹ��ld�P9�+�.l�Z��a���o7S>��L��a����5#�DY�c5�����#x_)�o��#���[)��1F�C]�ǣa�M�6�y�&���MKG�~�u��T1仝���������*����u�k��M�Q�V���F>�K��0�.���!!��0����Ĉ��]�y�WU�<϶��<2t����j��5ʯ@��g�ȰVtT�a]��Ɗ.��լ��B-��P~A8՜��r�cیמ����>�C�������j6����;JG�.��)��lܺv��4�m���*y�p����b��ڭl���[�y��غ
~�lܺ���5�)�����D�˻@�	��K(��SY��0�!x�K��_fs������l-��z':ju<����|-��@y�j��۫����ێ��*J�ƽ��k�����y��A�S���dž�?czVF<�qm&��`�f�z6����Gl����!�ֱ�|�}]%/����s�4��t��:˯@�e2w��1Vm\����''<�ٹ}k�3[Y;�;k�:�L�U�x���3ե�)�t�vvRÉ���Ƹ~�R��v�;`�|m>�kn�ӧO���]��׳2�O�f���͞�5����Da	�U'���<6Dx^�2���>��Sn�s��
�<��p���!+���_����[��
�I��[���1��zCV��V�D;���8��l��Bְ~c5g�lg��CVy�u�<;6�u��p����ɓ�t���F��1i��6S����ml��#�.���O��P��o^*^7�exe�}��G��^>,!x���ǷQ5L��~�a��/thk�o�z�6�y�K`۶j�b��~��XLT�q��KG����qb3oUs��2l��UC<B;7]+��?Y{��J̓��-A�γ,��,�k�_�<�D�G6RUU}��x�U	1ncC͐��%P���RUŐ	З����{���<T;m5�k�;�n(����Q��CB��6PS9|�C������
�X��,��9'g�N>v�;'Y_���=H�\Æm�CB<�E�y^���q~��$˲,��|p���xtW+]�@أ@ �ʵDxx�@ �#�@ �@ �<�@ B��@ \UT�����]�صk�E�}�ы�����z�jQh�@��mmm��g?���:��~xbo��������'>ANN�x ��ʿ���O��O<!K�����|�K_���+W�\\\�O�SQh1�{xnrss9��%�+..��ɓNw͚5����<O����ڊ�jCpUIMM�����p8&,���>����T�N�%��7�1������sp�}�M��ÓJw��X�B������'t�;��+:�nB�d2}�<�놻���D;��)��r���M�>��zR\\Lqq�(,!xn,���.9�r��j��bŊ)MWʊ+HII�(\��\��.�B�ܰ\�{s��}��D8K�n3���,�`b�_����a���r��R�%�mƳ9�.]OD8K����ZWb�ㅵD�@p-+�%�Q ^O�򾋁�<7<cyq�ԸǺ^��׊ф͊+D8K ��@�����˝��ޱ�Zb� �V�f{����~���,!x������aΜ9W��ha->\KF���=����<�F�*��u9���p��zh̅=c3�@@����y�02�5U�VF��(Ap�j���K�	"�%�{��a�����ʦ$ݡa->\���=����<�9\�S��,"| ��sa����p��&s��#�D�]�,)��T>���Z
K��g-�.X�`i���q�?g��e����2�Z��d�`�`4Y&'x��\�$I�$�!%���_����Ԕ��f�Z���_#j�uc�N�Sأ@0yE�F���Z$c$Y�剞|��>Jf-����1�-�����0��@�n�Vk�����xx&��W��Ԕ���V��@ ��Ȳ��@�����n��\��15:���cXTMv&H�؟���
�I#�F��4�?�|��>�����hy�8o#3"�(�Q�v��i�X^��q��E!ϑ�r����I�9���1��Xy���y��,��=^�F�o26qQZc�‡	�m̼^\n��.�n'c���R�}Լ92n���_�0�=�r���L�l[Ɣ�e���e��h����Uk˸��¶L���L���L�|[�mc�e\V[6�7�^EzPO�BK�^qe���
<r؃��e����Hj���F�<�Fb��
�H�˂G����ไ]���Yb"`�q�$>O��K���̫4�y�jy�ឳh�ƭ��㱿�.v��‘�� �DD���+��%��$S�ʺ�W�5�Q�%" �O��$�	y�]���q���|$I���@0��)<J_=���Xz�,�	�V	I%��=M���@wcW�LE���g�r$�b��/�@ S���)<z�����JT!	�V�����?#�4��Ϯ[�Y6����S�i�������7��8����>���Id/�Y����W?�zq�� �E7�M�t=�{��E��+Hk�2~���'�';���t���@���ܿ<�ɽ�q�yN:D��0��yq뒽���;O��&]��ys�YS���P=;9�N�lMM�ba���>\Ϯ�k�PY�,��C���zޞHG��SP��,����vj�
�Ƥ��$��3�\N�l���{ǖU*3�ܝ��������p]N2SvC#�������ټe����X����x��W��H؇��.	F��\���7�e��j����l�._z!H R���g��O�7���j�Ƒ���� ��ʎ��
��
���a�}[�����/;!��ǾU�l�1��+o���~�*-��;ϲ�
4����}���?��9�|��o���O�<��۹=Ո>vZ����?���?=�Փ�`A6(Q�����_[�j��oV���K`��|�+�Y�������6/��o��w��;��[�XuJ��.�8�a�cæa0 {��}�+�S�l���v�䇛���э�b~�JRt���3l~���-�{���S�0
\�]mi��6�h�%�]�m)L�4�d���S�O;��s�������~3�\�I�z�͖��r�#�3�����?ğ���俾��N��jDkT�Q^�;�c�%�Y���s'ر��v�i�t�,�R��$;�w���tc,ZQȚ%v�ᅽ�MY��泺<�<���5�x����/#I��A��Ơ��i��N�լ¨U^�u�Z�fe�f����
�p�@Ғ?=�ۖ&�;���b�z�h�K�Q6?���h��ˁc
<w�3�wL�RX`ts�H{������d���Sd�pjo{{�s���X�B�@��`�Uh��۴�DVV$rы?�>:�4���I>/VK3�����!J���cA��`��n�G}.Z2󓸻Ѐ��ͱ�&��\2g���,[���I�>��i��sF-3f���;�v�i�(��v�h	�(<����[�zyǞLE��E�^^kO�p�P�A��eN�'�t����ܹ����?��=�2� �$"�n�јQ��T�*5y3��<8�e�%1�F���B��*��WČ����o-��
|���sͿ����O[�pKJ<ىz�m�ʱ�7�q����A����έ�6���:��+�k�ķ������>�A��V>u�	~r���1E}6��Vn˱�cף�h��H3�/~o��&�mף���G�߇�?D(r9����o�������4��j���}ȕ5hU2W��#w�`<��>]G]���`��\�sI�S�p�L^9즣��Pmp�����|��f�O���Gx�� ����ә�>�ן8ʾ�hf-���0�s�G�8ʛ�n���((�����7R6��R~�����sH��tC/m���Foԓ`�ѦS���1�]G��w:��M�sJ���%��[������/��HL�!<���i)���-)d�ԘpөM )�=�9Z�S���奲|a"���h��c����T���5��3R>/��a�=������3ru8�[9V�ҐS����S�������Q�#A8��{��#DG[���gb���9~��]�~BjY��˨"�F
6"t��h�IF�ɤA�W�i����V��&�/�̩�%�uJ��Q�Υ�Tx?ن;7������:y��E[��;�U����\����Mk��;�Ut�9y�O���ͳ��i&��I�t��@�*BG��v7�����U�z|X��x�a�>�'#G.���ȿ�oj�z�C㍕2�:�}�_�}�ۼ6�NnR�PR�W��*�9�w�}��K�h�`NԢ�Y�R~���Tъ&A��~��&�G��Q(h�'��9��ϗ�~�O|�w~>��ᣖc<��7�}f��ԈI}�>��O�=&Yv�9̹�N���ɇ>�Ii���z~������a�?L'yR%��/��'�,��'�~:�þ;��W�� 颺!@hZ��*��������/<�x���rF|��=�_-��,!om"s�LV��:��w�s��OX��͑��VG�$���C{���� !%Ocݼ8�m�h�������#lq�>�[��w�����������"9���2��c��E�u9|���Υ�>��9���;���~�9NǗ�{�����6j0j����okQ,�͚&��M���ِ��fqSB/��#;NK��͉�搞��4#�E2
/7S��%$�-ߋW,�7e�sL;�/�1��i,/�C7P�����/��:݇'g�[W���ж��'�r�]gz�d�iMKr�k�g���^���ai6�V��� .�{o���t7/	�����R㙦m�W/��-��V䠫=�S�J�/di��^��^�����v��N,�d�X]��3��jO�m�9�S�������5e����|���Ne�3cY7�/��&-�V�2�M���˯��:5���%WOX!��k0��;�z%�F$w��Q�+�T�-/�֙����w�r*�œ�$��.�K����QK��ʼ%�̈�\]
���S�ަ��SL6�%��h㥃�x���5�Ә�έe�,I��ni��}��2�xa�Ή�8p��������!ژ�º��Qu���T����V,�e�=j�6v�!'��:�O���X�0�w3����Z3���73L���ѣ��t�9$�����'��gg�6������a��������A]��? �pxp�����,Z5��$˸^��ar�rpH�����f���:���.�H^~~�7���-ׁj�6P8=�ۧkimu��אo�إ�t�s�4��������R\���Z���s�G��v^>ҋd�c��l��A�R��A`�g.��Ư��	�/@�+�d�Pj����*�!?����r��NGnaw�,3䧹�ɑ
���a�J�3�Lf���#%RR"��2���r_-�"I��G�-���O��b5��sq2�!#'�;�4�w�Z�Dii:�5��2�i�m�[c������y�&�<]s~�9��7�/tH�,�p�3'L�/��c��0Rd�1W �o��G�#B�YM�Z};�J��Ҋ��A��p�e�����H���H~%�����q�3}!>W�!2�Gʒ�Da�&�>�Qk�iI�����78���Y���7���g�.�����i�{�[�SͲ/>�W�c�U�!��5�	��>Ɔ�����m�˳����Lq�Ig���7�z~2�ʗ�_r�[�Fq����j�}j#_�0�fQ���D�1=�ʉ�F��de%�R������.�exFt���5�A��Q��bu�������qC�A��tw���I|wed�$`իi�o���'�����\��
xN��ӎ|�Hg�L��=�w��r�<��.��(�0��#7q�MX_��wn=IIV������+Z̆%��������T�qS��.�����O�'9�d^I�������AZ�t,�������4�|�se���Co��1ެ�c``�0w���g��4����C�}�5���Y�0���S����yܻ�A��@Ɋi�մ��'�8��㳷�p�MNZ6�n��<];��y�j���[sY_�%.��EY�����g�J��+�ɸx3�IV�\��lv�o��$��]/F��AObb�N
:��x����~�<A�9����XZ��V'�&�nv�r�Co�P�e��Rn�]��.�z���MI�k��<ŋ�i�q�����V�楃mԅ-�/+���ǫ;��?�½K��u������Hj���Wϰ�i�li6���[�i��f��,�P��d1�b�w-��Y�$��s<8���n�aZ��ƃ���v]	)�\��M�^;�ަ �@�~���X�zlqz�]n:����l����ᶔ �ީ嘜���9�<?����c��PJ�BR�[���yi,�w�v�BBJ�K��d���B4�&�x^�
.��Br0��GE����Y�@%���IPjЫbՀ���&*��̜�����=n����zz����+��YO�ޏQ�P���@rb��!�� �7�'�yi��-"�doG�6��s�3I���E��E0���[t���8<x�#�7+huZ�V36��<�oC�ϵs��
J��X2���i>ڎ���$�)8[�ɾ��ϟC�� IDAT�$?#@cOwr2K#4�k��n5��d_��Q�����&(��ANZ��v��DVd�i�mdw����DVd����p��E�t��ݼrԃ&����'�ow����V��d����јHE���D';��j�f%}Z����%^�?HcC]��^���Q�".3�[2��u�ZL/NaZ�L����S8�/�q�B��j���B�b���x��P����{��dm;��_P)�6v����3��?��3�x����P��!'}�K�1��#��m+��:z�p�~���9�����I�(��ۜ�qR��fEn��>��?��Q�!1S�QG�.¡����%��'q[yG���<�Fa���:�g[X��n��4�v�S5]��"��'_�/�ky��+Q��c�+pkT��\�7����_[�M��]Gy�lϵ��7s1�����'h�>^����������R��($�P(I�ʗ�0͈8��_�ɮNZǜKif��D�f?ǎ���AIYi"KJ��37S��PT؏2w��5�B��݌��%N�B=�@���n�&�$ i1�%|�͜X�Cь4fŷ�=�N�����N��4�\J�y�5�u�ٕ�AY���!Jg�R�n�ɗ`AE�g7r���ھ����QMb�4HΡ��A~�J���HGwGCVy3��j!�Tnjt+��qܟ��ݒ�d�]�B~i"32�d%�q_J6w)4$���G,,PZ�I��v����6�B��{,A���c휏��3�	�i���v
r:~Ԙ�J4C[�HER�o�eN��Y��ơS#�|x!¨p�yhks�.i���{hks.� 73��4ք���f�b�0b��*��GgW�.-���A?��^:�>YE�V�v�"a\}jZ��Y`7b����"��好Í˪@g�`KMa�-��8{������!��'s�\V�������͜�D$("2DtVʖ�jf���y��}J�ҭx�u����*�r�Y�j%;���}�/ȡ,C�V��b�iԩ�).WK/�U�R�~wp�2�5�'�(�0����[�S�@�%G�z|4��I�S��'Ѣ.�y:����wa\
���Y��o��r��ٯ&ՠ%^�RI2���I�����=�B!AD&���U($�r"j=3R�u�#����;�z�w��������i�	h���d�4C�J��lT�Ԫ�
��!\���5�D�TJ�4�S,�}��79�����X(���K�KEF,}�YCr���x5}&��C�G�QI�7B�` ��/��&H������U#a�i�HT��y8���n"��%1р�30�#�	��i��a���L*�%�P�^��hq��u����%7I�A���#2��zb��RbK�gM���};���tj���!��2�� f��/�����x}anϜG��FoW�@?�#*d94\,����0
]B"Z{�/+K��e
������iUBXM:$I��`7<��O�b;�>�x+K��s�KY���u�w�����bB�^j�U���>�TO��<���a(֢PH�=����u���~��:J	V��gxh��:�"WOd�]��7Σb�
����|���~�IMgO�??�C���0�m��
�����!̨\���W]4߿�ϔ'��"����^G�N���a@Mb��b:���x��F��f'iQ_\_Ji�q~���h�/���!4�u�Qcjᵃ],L�f�m��2��jN����.��=Ͻ��75h�r(��B�
<���j������/�bv��Q}QE�y��'̗�*f~��DK_���[��LD�Q�h�j4*%���kukEM#�#R4�s�xΟ���s,�>�1c��@ L8<�
{<��;�m�W"4�*,ˌU#���|��,T�����q�s��I=7�F�F����ȋUuh	
������‹�#��׸�Z��2*J.�r�
��5��ce��8SIqZ��x�llL���J/g(��waa��py�*J��!�疅��Z�4d4*%�p$�G�`8�Z�Ě��͖*,n��:�ӆT ��t����[�y�Re9�Z`�l�"��F�3�("˃c"ȡ�}��/��9���gV<Vc��ST�A�%P�cG7U�s(���ܒ`"7I�ឱ'8�!���z%U���^�C���&+΅Q
Θ�p�yi��73gV˓�ԟ�����iç$����P{V*��J"�L0|�m���	�JA���\M+o6��s$�?�$.}s4j��qL7)QG,,Yl �RaP+��,L��b2s�	�J�,G=0�W(hTW�{a���0�����^�`��A����Ğٔ	������;Pi$J:YGi\&�Lį����B��-�"-@␖�ά�L���cQ���L#�1�\շ�����nG�Z��}�UDa��g�O�(��DA�1^>|_[[A��l�߱����8�q����I8l$5ņB�xZC[t�ȢU|�@���>;�u��-����M�X:Æ�q�o}o7�h�3$sMv���SW?|��зlֽr�C���j�-l<��ͯu���@�0wN�v��T���w�H-��o�f����4���Ǔ��Bn�u���&/��"HZ���V�W��dVf�����i鉮�����7�Z̬�0�;Z8{ZI��a���\.����r�i>x��?�99���NE��n�=dذ[�?���&?�y)��㱅jp4t30VŻ���ćC8��Θ������hѡӪp��ڄF��x����(s{b<�If�ttx��“�=;]>\��,�p5;���-q��HM0�d5���@�Å*{�C�O��:�����*�rY�`��b4� NG(ڹrqH������f���MG�yڝ~<!���7���
$�z��
t9��!-��1؋��G�%�4J�S��-����n*6�/&#� ��v:{�oe��LV����Ъ0�T�����Z��
8��t�Ll��nc��L��\�s��5�[g۰+��:���}�4y�h-2�H�8��Z��7@�p���x ��$��ĠW!�=^��٘1-����z���H�ڳN�%�nĬt���N���0!o�I�Q��p�e¡�P�/�J��dVCO���j��p�^MF�	���ٳ��BmБ_�L�UCv��nPJ�t*L���´9|h3�$�i�z$[��~�z�� �0ꔄ�A�Fh�P Āsj�-��!��px��\ȳ���f�nr��ܖ�Yt��7:��1�~���H8���#2���)Y�.t��������h��yc��`Q?�Ǻ:��i��������|��õ��__�+�λ��g����.��{��f��xfv7��`�㥺�eY:�c�r�bnP��S���C8���_�}�{�|�m�X�
K-�ڲ�eV-�8;�������� r�ҏn榜t�J����������ᾰl}Tr���W�,?��L3��2X���a���CT9�es�g�b��#�]�Ώ�s��?ƈ;����2V��aU�\̿�G۞d�nw��M�(N'+^r1=�Ƣ??ŏw;躂U"~g
?���?���{��'��h�	$\Tw��Y�,�a!����;u�n��#S+�s��$Rgd1�\K=цy��[y`UӒ�`���>-�JS"EE)'i�^�ß�W���R������)��/����_��]�8�0�[f/�k�x�6�����"�R�[����E|G
��8ir���	T,N�����z��U�]�_^—Paq7���]�:/\g�5��-ϡ8Aj)���[���0�q���kL$��Ł�k�hi�`7߷��w	������)�[��
+X�6��O�g�Rf��ٍ���&�,����Y���q�q�Tz�&�z��X3��	d�����IP��r��AcQ.V�'wQ{^��6vl����]�͞���y��<�ݾ���A�����O\��7C<KW�g.��N^=�Ƒ�^���o�g֒�d�H�TS��HV�::T����f���;o^�W�""����OdgP��hm�o�|�HʒnY��2Y���AՑf^�W1[e#w~2��1�i�Wr��Tj5��-d��T�.��
ɉ���bQ��*�� 5�[y�@�b=u���^TB~H��ޡc�����Ț��D?�G:8�1Tkɝ�ʲ�T��:���*�~��#��63��05z5��A	�y|01�P�Cm]u'ZHY���%%�Xp�Lo5y�~?N��t;�V��hy9{��a�g�p�j+^I�����=J���PW�C�B+s�P`P¥�g>���Py��WVLaX������_e��s�Z�I�� �{�	����C�y-#�n7��V*��@KgotІ��@Vxz��5�h핑��(M^�舋�b���l^���ܕAg��$�0�^g[㨰�s�*=N7�u]�3&2�(��r@��T��;�JNk�R4-�)jPK$f�X���&�(NV�J"1#��uZ�#&�Ŏ���="��i�JM�U��틭���ˌH$�$Obk��G�Q2k'��
����WA���.�#X�;�Zޟ��װ�����PH�X�J�M��A�I9|ߍ���Y��l+�������$�Ay0�hLK�4E�B�uG��H�+��w����3�z�f%bW*����j�tֶ��ѥ�2=Y���́:qYY�Z���[�n���I/L%͠@��q��?��y��ÿ���$RK��(��9T�"I2�[bǮV��kn�lO���e���+I���s����$=9�vlU4�ة�-͜��ˎìQ�m
U��=�7������KǶ��O��
�'�Ȏ]���S��m-�w�Hηa�Eo���������~��~4�C��$?��MG�B<����H�L ŤF���0=M]���ʠ����h@�qp�݃7�%-7��D_s7-}�[��ΰ`Յ�8��"��9)��x-��yp4�t���H=8�Z��^���px�D$		
�Yq$ը�)P*#�u8h
i�H4a�=�ks#����tDz{h���
���k���L•/��gj�('
I�,���n/�b!ӮǤQ��M}��>_d0�6��H0`�H���hm��a��s�^��l/={�ʳ�x�n:=��UZR�M،*�~��OK������$6S�ƀ��EK��l&)N��{���^�]2�x6m��N7O�0,6�qe�g__>�8��"@k���H�U���G�Ӈ;4`'*l�&�
j"�"I��뢳7@Po %^�E���M�]����B�v��vK���&�`��>�}a4F6}��C_X�=^�Q�����SH��Q��tF�����{f(8���7O����rz��Q��$Z�X��{�x#H�À��q8<�ÄG��"�4�{�ـݪC��01������'��b���E�}�裏׋ӯ�l�c�j� �-8x}�x"hMz4��"*
)��ϋ3�Vj4���X�?D��nW�A�ͪ�0�Y�q����a7�c�� ��>�'�H��I�ͪA3$�!��>_I�Ǫ�t*5��?���v��H�,z,��~��.Od�~S�����Yft�:v�D�>����!�� ���!��M�?��6@��`�j�"��!�P�+�B�%An�GP�բ�@��~>��E��h}����NJ*%f��*��������:�x�8f�����?�7�E=詐Ca�� IM�QA���&�Tb2j��E�az{��%P���[�(�a��D��Jh�j�&�@�'�΢�0�k�p�ۏ+��`����s�Q��k�A=�p���P*1�X41˗���z��Y�A�P�	B�%��X��������O`����t���nO�_���Tg��]?�d�����Ft�C��),ɕ8�9���@���C~���<4�/���TX�hP�Ql����n�.A���Cc�gNδ�8���ly�Eo`��2��CG<��yh����B�eP��c�=q�g��=�y�5�/|����=<���<u�G�2lb��G�kB_���f8�����1G�+��<twK7�p���)��l��M�%�v���Y�$#?��楓�j�CM��!_N[�u��R�=�ƺi���z�}I�π�r��4�s�a�̢S�Q[F�|�/x��F�ȴ��$��G!ZO5r�?�]a#��2sZ<ut�l���k`��e6q	��6ho��+x!��<�3M�J HG];���!�0D#1x@m 'ӂM����.O�j6j=�f�0m-}t�CQ�����RC��H�Q���?Z�B���Pk5���Az���xe!x��G����$!��c�	��NF�~�_R���	�L�) ��~�F����C�83n�px�Tq�Ә^��:�=�1]}==�3n���=��y�G_�O��yij��4ZG)�<��:�U*��o8B�:F����,�h��L2�)<�'}tn�@ �5f��pE�����>,��f�?�ɔ҄�g��	_7��t�sG?$M��I���^�4��&q�%JL��eLp4/M.Cc���~K��}O��#M�T��N\2mi��L��L�NHL�N�2�I��Z?!iE1��I4��$+�4N9M�܉�ī��xx��{�Ǵ�3E�q����Ą�b��&��'_ƩHl�3c�j�ě#X�4J�	���]yQ�N ��Z#IT*J��Jye��d��#��:>Q�rE�'��#��;�t�{iMbE�@ �5=��#��=�B�@�e���@��d�!#���>���g���n�y�z�em��ٝ?d���H"7}�c,N��35�^`����k5(�d�y��w�n�e��W3M���S��?�+GM󹯬��_>E�-�X=�݇�Q��c<�wl���>í%�=�y��7�/��{�2���M6���^8�q�n��L�v���;Ύ���Lg��[�e9�9w�ɒ�d��w)��x�LiQ6i��I^{�W��&�n^2��x5�ӯ��[MX��̒��kƸ���_}_�JV�+"�(/�@ ���TF�ȫ"x��x�o8�	t4����rIP�r������F[���{�c�����O$7?�$#�r�Hd*��"Ҷ�v�Ew�2rJ����$��x��e3��rs�I4*`�~w�89�}��i uN)�z�G���?�n�GX��c��;�-�9��4�.�(w�d�+/`��BYQf��܋�j�஗9b��-e$��Ȳ����sia�3O�t]>��$R�����ѷ^�h��Y����)q7��#$ŗRZ�F�j��ky�͗�3�Y�$�E�X &+x$I�F]������!&>��sӘ�0��/��z���t�D��/��/L@��մ�w��U������H��ذ0	�r2���%�H��,'N�*6"+8�s6deV�4,��45�#���(z��̓U������� �ω�ۨ�r����[y�;�vg��S�(2�8���TyK��Ա��'X�
U<��gi��>�v!Y-ޙ�$��bT���uo��_�E����{7w/��S�{�Y���@_l��9wq��Ĺ��x��^{*45��̽�;f<Ŏg���--8�~�s��΅Y�T�}�ٹ��:���̾�eǣ0�ez�w���qG;{�YY��E'MڶddL9Xq�R/�����\g�X�|���xnO'IKV��P�K���2&�����Pz��lV#����p���q̸u5��1����;���N��g�+��* D�6n���q����l��f���y6��d�IvO�M�&�'6`�!�1��)B���{��m�$�(�`߯�}�b�9�̹3��=gf��ysw{0����Pϑ��9��u�ӣ�31ʁi��r�;֋>�~��k=���!�k�qȤE��79� �\���u�1�
,]]t��`�t'��e�p��B��q�dx�{�q�L3�Cc���J�4�=�;�ih�G��.j3�fF�J����� IDATx�8���W��p�-om'k�׹�Pʞ�r��x�U�,4l�Į�fN�"�VW2�eO_���<��(�uiV����'��d�D��c��'<��!%��5%�=5��6��~�?{κ��[M��
*b��-��H!x�B&��#�-'��LJ�Ѯ`�SW��Z�̝�L����m��0T������؅qr-�r�ʏ��G�i���p&,��?Z�Jn����G��U�-�yA����B�ɏ2[��໹��y�����B+�ɫ��g����^�ԉ�t��WXV/c�P�E�5����x3�]])�ό�yr3����/qGZ(�+hm�6\_�6�:�[��Ϯ�R&P�r�R��3�(�"���F�q�K��s��[�Ќ��In���;�6R��QJ���5Ƨ����V���d[����!5:�0�~&��OHp6��䷱�K]ZЇ����� H�)cߎ��wZ%.!�*��6
�|u5m0�AGk/�ýy|�L�	s�s0���iVfO$B������I����lu=���r�j|hj%�yB9��6xP��e�dn����g���,ϧ��A&��tMCZ�14��WL#��f�S��lR1^ɕb��,��;�Q㾃HK'?n'p�<&Qk�'��S�y{
��~�/�K�� ��,���fO'�׸����JG"	j-
�<}�)�`Ҝ��
�C'�������":ʀA��4��&��e�k���]e�;�L�������NW����Yz���L��!8��%Y4���Ďr�N2�ڹed��~��S��Ok�^��,'xգ,�o��/n烢�؆2������%-t�f0�{I�Dr����3 �yjo�RD�݀��`�=3H�c��E�(�g��?�y�E��ۘ���z�sjPs�YJz�Ι����ULs��}w	��������h���~>85����KPs�^��0�h�}���d��O!1�6���;hh�t��ת�7�_s���FO�!v�)�7�k,^����v������,R���ih���̸�>f+6��ı�e̟�H�M�<Bq��`�LZ�ܐ�?q���tѡT�&f���#/t]G�
��UE��-t�%b5)(J7]=�=ᡕ�]_Pl��p=�d��\Q��H�?��w(��0� �+���D�#sE:=
ut�������zp�j9U��w�eZ�vj:i甆3n����xs7mUtL��A�W~5������Nv���70*��G��j��\�u�Rt����(LfE饷׋�1�^pD�`t��7`0��GG��2׈e�M�ty�x��˦�|,���(9�F�oDզ�(;�S[��j�!~��'�������-P�v�p��-�����2�~���#������~�����6������)oj�կ�.�O�n��9������F�����87N�Ղy(��"��~:(&+v���a]���V�\�t�g�b���i�m�����`�ym 2!�0G��b����׏����&��8����p����DEe-5�3!1�K9���,�cÆ��{�#�4ֿ®� t�s�m�4M<1�U�5
��dO����P�����1��1��+t}(�����6+ƤlO�&0ՆّN�#�����������Sx�|O��I4bD?W�1����h<N]�w�����7�~����kt���7`��O/[��.��:�SQm�������
�QQǃe�>�ق�jÖ8�������xGC�'�`��t����뢷l�ɧ/5��~�\������2�{�g�f���z��ty�0@/]=n�n
�P�4<�i>4]|���PM��7�%q��O�&��wn��6���l��rX������ܵt1Scl��o�T�It]C�tt]�`�`�ٰL���MH$��Ѐ���������P��әY/��T�3N�s=S���}h���ν����NE'+k.1J��O��o���y=��3:�Uex��̛ʎ�ȯ/# �I&1�,���O�ZG��Ŭ\��|'y����GQ,�M�@�.�u���(����Ɏ�F"�O!�h,��/u��Qv�4�ӂ�3��+��{��	�� �l�gF�GOC=�^/S�L#������������P��M����l��?	��|v�&"�C�zn���D)ޘ,Y��XGKw��2��K�J#�D��KŁ��_Ĕ��������}���;�4�Z{&RWFM����QDL�&�R��4�{��"���>n%($��9�M�	Ɨ(�X��>��G�C[X8AV+���ܵ4������[�?V�axw��7M��4wv�QIm�FDfA��K!�;�3ڐ�>����w��}�T�
�<�꺎��Ly���
�V�H�7�j���euF5�4�x�'}�4B�!�]ҿ�N�A=臘�:~�w���gظ�M66��.�I�R��aG�^Ȅ?�ĉ�T�WP�c���@G+g�b2�Wu2�#g���ؔ�o�QN��B_�nN�fs�
�r�	tx�����Sf�^@ž�x��IOW^���&7n������x�֙���26y��GQ�p�l�0C�ľ����p
u'�	�B�]Ȍ�@��:WR���.=��7k��G!j�=LRO����	��}�|��׻��y$��P��~�-�ü�8�r���L�O\b�-���{��+���ži,Nʶpa�i�Z|���AWf�����'^C۰������Q�[6U��8F�;���Y�&��UZß���έ�u��ڒ�S���7H�#���(�5��?��X?��TGxd,-MuX펋��5|�R2��A�փ�r�eF`�5!�L��N|B�f#������}q�a��O#�>{4S2���1��̩�G�@�a��B�G*W�c��O�IV�4���(��٣��1���(�p���0O`��̍�bR��5?b&�d��	��[�h~DM\@Vv2��U�
̄&%�������0%0��G�Nu`3���H��Az�?FE��Τ�	��$a�b6h躝�9�HH�&%5��`3�9����I���j��Ә�9�P��ħg��jX�S���Dh`$ɱA�<.�/��8f/^��	A�
^k8�����Ĕ�`t��׋���%�5%�E��:�5|��� +F�������a�L!�.�L�d̿�)qĄ`0���$��Vs�XZL�G$�Y�ɚM�q�A(��ǃ! ��w�ϼ�f
�g%tB��"�;v??+"�b
�b����OT�D��B�3�蚆! ���4�bI�
Fŋ��F��$3�^�O�%Ȭ���2�dS#GN��LJ�?��P���I֔B���/y�K^�<�E�`0��*�E�����ɘ6�������͛7��׹bŊ�w@�Q�lق�����˗c�X>ը4//����K.����b}�~�뭴M�:�X6i�޾<p�����\�p�Bbbb.��J����s(�Z�w��qv��Bq���|�5.��;::��|���Ѯ�.\.�%�{�^L�O�����nzzzF-�LT�Dp��mw=@_D�V�S����^:::.���r��|z`2�n��G�vU��B���]���k��G��҅Bq�1X,�V+�E��.�B�Ϟ'-���҅B!>E����o�5�i�d2I�#�B����`�h4��*��\[���y|P�B!��C�u�F����G!�7�ш�`�d2]��Vxx�i	!�5���%//��^*C��DUU�F��a-�xn����J��JN��l:WVt��V.%5���K��k�9����P�����6�{��r�AXH a��crrss��|Ƞ<B��qxJ*j))�����F�~�����nNW���I�x�@���'�$��T74SRQ+�5��s��i�<
�mW����/t�Z:����xɀ�bA��xJ+�(,���1����(�o�=����N���mI�����.��N��wMCEg����FXH�T�l��y7��ST^Cjb��RAWi����r����e۶m���z�w!�-𜩮�������B�`��Ś��v���dZ�|4�R.b�sn�������*fgJ�s��Z;(,��`�:q��l޼Y�!>�OyM�ϰ�l	v�PYmG��X�(��>2}����8YR���t	v�Rs['�J+IM�!!F��k�s�N�߯������ZGHH�U}n�ԩ�ݻWv�7"੬m�HA)��e�o�\z&�t׾�hIs����_P�a�X�ԫ��K�e�pz�,l	(�u��8O֡N��n<o٧�����5n�;���у�޺�{�H�1�YVE�#�����Vj[�DFb6������ԷY	MK$�b�0�W��uT�43��D�'d��ݮ���.���LpJAv�+,SCK;]�M̙:��N�Q�P|a�(
gP���#�i��Z`0X/>l9��MA�ME��u�3�ӂ�CG���ӊ�Ç��n��'÷�wR��6�D��޾�j{
��9�[�h�DF�d7^��BUm#�(b#��(�(
�t�D�Dl7^c�v����l
 4�2�j�i��E���˛��@X�ߘ���ŋ9ZP��j���j�N{{�

���<�.i��&�(��o�l����}��?�D�9@��h�ތV���_���3���Fӻ4}�K4m.G�\���t��yzK��7Q�ĭY9T��Cw����ã�Vw.��?n;JW����Oټ����.�?~�Mo����=˚����_��-]x����V�?�3��;���gr^�-�>:M��M��Z�����X�o��h]W��?]VŜ�i��]��
`�l�nCm>�y���>@�iG-ڈ��]�>�dzá��۟c����w��Ԓ�`�����kXO/jY���14v^���T7��Cbl�e��r����<��9�W��6�Oq�(����C�sy�H9ͣ]��S��W�g�+;8Y?p��ꤽ��������e�{�7�{)��5��9�k)/��_^�!g������n�{�c***x�Wx�'������y����A%k��N�����a~y�qi:&�	���0��@�ـ�X����gb��h
Tt��1�0q>��Y��38?�A5�(	Ӱ�Ä�	Y���jC��Y�!a�ֆ�i�9�OM���$L�=�7B���hՇq5a��������F�)C��a�1g��=�p�4j�����躋��2Z{)�ra��x3u.7�tT�d�K[������~	�zk�k��
���9/�twTP�܃�7����$b�,8*hu;����n��L
�.+��q8�:��崹�����_G}K7n�	�Ń��O�X���Pg���>4��yDEG37ُ��=��9��J��x�m��3	�58T�P�+0V���CI+��N|���1��&�v|i�B���zm�(nJ_?0x�ҝ���(�|�a�S��CA����ZTo��(t���\��	�
�Z��fT�wp=�|��(�;�ly	�sZ�D�p4�����ZdZ�Tz*Q[�P݃�т'�;P�way�%�=S����E8��c�F-�1y�`G�=t7���V��f�}6�K˨n�` RG�tSWQC�W��ۍ!0���0!�,�'�5�HK��Mt{��˅2�Cg{-
��(A1D�b�zi�o���/&��D�a3�Q�@s����y�`����m�_�@IdZJ �>��h���|D4��A�.�nG=�͝�QP{��{wp�܉�y�����Z���.[��e˖�����YB|V�1&k����>P��(��i�u�5��#<	R��+�_�"�~�wM��ލ16�I��F��阌���q��%܊��#��%�1
��G��5Z����@_��?���Q�����B�~G��w	kK)��SX"��\6�+;������a:�"�O��sH��Y��k4��N���Ɲ���V|��x���3E�D,��`��u�C���8p���� �^�+����Gh�I��Q�����g�H�c�8w�c�^��Ʉ�{q��30�پ��Ov*��<��S_�N����4z��̌.c��A~m��ܖ�ˡW������7�F9���
�9���ڦi<��gY�j�S���d"2e�wP��ǔ�&>x�]�,������n�#/b9�S�z�N��M�
hͧ1���ф�ٍ9�+��a(3��P�C��-��kԄ��/�G���=�S�E+���L�O�c��cu-��R���v��[��b���+���މ���ه��$|�Vp�c����Ӈ�7�o�wp-^���A=�{���g�'~��P�vcl�A���rpZL,����X����A��},wbv�����Vc;]�زk;��m���-�'�~��Yd9���Hu��|��PNlz��f���J鎽�'��(wǞk�����d��z���;	������1h:k�/����m|������Cx(A�B�h�����ć�dB�������y'�z�܄M���,ef�����t�kl�^FТ�YyGw�����5g&I��V����a3�%��_n%�Nj!pao�N�cI0�;D�r%��ּ��o����߉ےK�?Dѻ�Yڏw��m���BԻ~Lt�V"�&v���f��{�� �	̲���8]�@��d��D��mj^���q�_�!�K�h��B_��MT����s�}y
� ?���8'�|��.�_}�o=�M@�B�_�O<rw*~IKy�����;�dj���U|��ˉ��ώ=�.�6����P�Gz)�c�ʿf��涌`���D��t�NS�Ї���fՊ��@{�OC�
^B'gܙ�����ѓL�<�B2�0����������A���r���	�\�#�!�L��a��o�:��*��帾���_җ�_�M��G<����¹�kxMG1:���,}�}�=}�r�ś6��cGJ5j�_�$tC=�F<�?����5=������w�7�$LBO�2·��c/Ē���Gp~�-��g��#�Ӆ�q�LJQ��|�U�~����N�w<�'iz�c8��u<)q�u������[���Jf���/��|�&ff����cj6z]Q,x�k<�l��S�T�s��^W$s�O<8���BJ�j�8u�[�!GJ���Kn�A���]9;8>��������Q���������/|��{�|��t��������y}'�)<�����|�Żٹ�8
�s��;̱�V�f�`ɝs��<�G�:I�}�%�t���t/�|d�K��h�G���a�e��E�;� օV֊���,�[6���r�QŔ}f��{�����0'���?��?~���PLIV��ϛ��`2�c�`�(_>kf�	56��f����&��o�v�D��µ�O8q��2,���
]w��XMEq9n�X�u�9q��q"�M]x}��˺���aFjVk4�S�*S@&٫�p����t�u��1����/m.	��t�:�����d���g`�o%�i�bq7�C�+��)��l	�d��zh�aɤE����!*�T�'N���G%��KC�i���Fm��p�$���G0�<��G�lGpÈZSkO`�ė����F���v&��|����c�h�A��x�
A)�ź�}�UE����z�Q����u�{Ut���4>5��1�Ԣ�E���ك�T�I�q}���n)�:����ę�3���tVr�����&v����§CȄx�Ò�h�a���B&��Dd�
�����pp�Q�m�=;���9r����禓�B��D|���Z����㉉� LQ>�9�m����S8�j�1������9e(�S��]%x��d�3��p0G��W&�e���!�g �z�m��aH��xv�F�&�B�Q"��p�(���Pb�@���q}?�z��q7�N��!�ӊ�IDATӸ1qo=;N�e~����?�3�����l�}ݿ���t����a�u[0�Q�v���P����[�.���ԩ٬��`�=6l7`0*<����ʩ�*���9�m�l����w��#��^0����0�(��|�V�_���7����P}~�
7���N��m�TC4�m�(����(|a�F?�G����	����T����&㍊D�~ۋ�0�Og����'ضעT�VE3ƃ�c(�CWC�YA�끧Py
ӡ�Ƹ�Cg_��[ǻqs�&^}c/��@::��o��gma��|"����Ӗ:N�7Є��#x�t2����M6?�-<}�8\X�*��ke�����[P��)�΢t;�x\����f��PRm�O�`�l�29#	�Yx%��_��������DŬ�r�.�Hh��||�~(��m�E�-�%��t����	��=D��-�!V<z��n�y�K��q(�iD������^��Ʒ��0a�Qf�e\��(��W(��?�<�_H���q���?�ɑ�
Gy�a�ՆQ��r�Ѵ~�j��'w�������Տ�f�L����`�h#2.��C��@9q�RG_�nt�M]L�قex���o�����q��:�3���E����
�����p�x�hE������A���I�X_y����5{��(��_�f;���|}�M�(C��]Q�'ʀ|��B!o�L,G1��OX�/0��$�^���71���t�L�G�ن���Y�#�\����v���E��P��_�
�@(�~�_�X߀ړ4�uĴeP~����Yv���Ww�?�V,�O�� /_�[�"�r�ZK�s��I�2'1�l�d��~'.��Z�������2�TMfL�&����}L����ыf
$H+�0��b�t\���_x�SE$��$E�3�����730OP�JN�qdb�S��_��+�'���b��"���F����;�x
_[A���N�����o��Jb&�`#�U�.�M��.�vk��x)�&~^��e�*[Ѽ>�����Z�|���К+i6�ff�;V�V��Fs}����Qq�5PZ�d�>h�`�-4WVQ_���b
����^/L�����3���?Ȍ):���ST�A���������p5'NP}�J�����1;��G��7r�T1/�?��X�����:OZ�?t��@z�?�i��t���iAmn��x"�J��م�L��#��S��@#j���m�#.�֓���xS!����5�҈�p��]��ݨ}
��=(t��ۊ�����ĚQ+�`,;�a�ϰ����EP��ƿ�o�`.<������~���z�PZP���ގ6Z����`�k��m�@��n&4)�����m3Hj=��S��F���FS�I�:I�j��$g�a�X��ـQ륽�Opi�!�ם�ԉN���������_�K��Yv�&vq��i�]r�s!$�s�:���k��_1}���
(C��=�G��u_ZK��ף3��?=Op�E�[�S�w?����t-����P�1&'�[@%,	Sr����0L���U���:�>l����1��(�hL�,*J����[Z����`_�iw$�A���ƔXF��M�O�Q��w}�υ6��HMe
�[B����S��=���ݼ��n���)�Bss���L�J���h x��Y|��]�ˆ�2fi*Fs1��J�͌���	�D�0Eē�H�ϔ�lVPlwp���l��/��`B��Հ(!wp��Z�b��G[̪o<DztЈ^�kP$aQ!�MFƭ/�?�☌/"CU��x�CAQP��w�d|��a��o|���wl����xS��%G�������l��,�)|)��t�����2���D��A����X>~�i�&-��Z	��7	o�|�b����7��=���W�nx���=m8fӿBþ�������yу��fL�׾��wpM��i�~7�,������(B]��� R
�jR0��"�ς��GpX� ?,���L&{0aQ}��S
8B"��9���gd1���#�M4����/?��꛼��W�҃���c��o�~������p6����Ɣ�����&�q%�\F�_���˿� ��y讅$Y)'��ݬ�9�ٳ�����R���� �g��_A*���dL�G�CDǧ�(����/{����
x�����&��cD�iC1|>R�?��>5��n/n��tt��GOgn��d銷��6-`��a�y��ز���o�")FNJWk��I��arj�T�u���I�&#fL���
		��4�Y��*F����f(�{돩�����Y�=�&�8Sw�m�o���/�͂o=��� �� ��tS<�'^$�	��%�.��]RB!n�KB!�g�5exz��g[�z�ޫ���y�i:�N�&uq%�.�N�T�Ur{��֤�3�GGG�T�U���3T,f�b�`��I��ʼn�j�Z�z`�~��1ؾ����~�!����o绿�/!�!��%�x��o��q����͉�^<r��1�e�_m!�2T<>Iq���
����G*{%�7Tq�T�9!�1V���p}���$5!��&9q>MQ�4]�[w]�ܜMR�B�)���r���CR|I��rY�B!>�t��϶��I˷�
6�h�"�����f�ڵ�Y�F*B�EQ�ʅ�*���[o�ENN��uq�tvv����tvvJe!�<�o``���6n�({]�0999tvvJ�-��ܸ��{�족�Q���!�l	��B�⭷�:/�b�uvv�g����#�ZB!�κ��-�x�*^�
!����۰a���po[���x{���[m!���g\]�D#�m1��g��eXK!$�#�QHo[�(�eXK!$����ᬑ�m���R��B!�
=�\�.ĵ��p��@[���B���R�Y���i�@Z�����a�,�cǎ�`���z׋-��	�j�JK�MUU�y���vWYY)�$�7�����=!�NH��I�*B!�<B!��!�BH�#�B!�B!�<B!��!�BH�#�B	x�B!$�B!���G!�B!�B	x�B!$�([G������"��y�]����K.�ήt�Y���>�r����ˮ�ĭ��7ºlE�z�V�÷r�%�c��旟�A7�����\���ge�%�E�ٍ��,�Xr��O�[���=�ƚ�m�>�*em��s��M�O�k�?�mW���j֮-�{C�.�U��(()� �Y��U�d�H;�koy��b�F���<��Z�����'�[���+���ˬ�t����P����٬�P*���yϠd��R���e�`S��y�_͊ec��m�]��yǷ1/� u{v�MAyf���r�7];�������sь�uY_Ϥ�!��,��튛������Ϛ_^�ų���Ӳudg?�3�#�?��݅CNC�^7���]�.UWQ�K���ay�c�<�J�ٟ��K��X���
�:K��4{e��lU�ǥJ!�\֦����U�H��f���M䖝M�~���.����֖�`�e��ɱ.[��m��V��~d�?����elbM�X�#n�v������֐?�	p����9+ζ��K���	��ַ�Jג�j��x6UZ����Ry��6V�_z����4=�DG�_`�e�w�:n�hQ��e]Gׇ����ߥkɺ���죕��]>�t�c�<7���������駟��B/�k.�c(�eS�jV,���@%u�*�J(�rX��UPX���)����QH�I���s�zV�X2�m-7���ώ8]j�^�u^�Ԓ�fDЕ����������^z饛���f��9	C�ҵ��#v��ψ�Z���]�}Ώm7{<��#��N��"#m,ǗQ�[#[�O��sidd��;u��F���c+�؍v������q��Sx������˫���K�0G�����������DnY%��/I's}y�R8�{�$����p֒+�6KxA�K��	���a��,+)�H�w������z�hgcu���Iz꧷�����joCĨ�����Q�/�8n]c(�u+�e�����?�OX�3�c�)�d��bu>���l"�4��bu%�.6<u�mX�J(�� �+���O1\bY�:��6��tDo�lq2/�v)��WRqS���mL���[����[�3��w����4�q�]iٯ{YF;�K�#�+���Z�\0�!u�F^B~���%+VS�i�k�e��Mde�����X�Ϛ�k�~��n�lٗ��6ڲ�B�G���;Y���k���+1�;��r��7k;k�.��o��(�	b�F{[��f��Ĝ��uO��sÚ�����4�q��+���>���75�L�}���M��ю����
����1��	mgS�i�XU:�>#i�n\;5=��|X�lli�%+VY�x�(�N}��2Y�6�likDzl��=�>}.ck�b'�m/�0��#��/W�mgc�i���o�z�k�n��磽����m�kH1�(m�*J�?���t�2�zܺ����s����=��Y��NO��l�h��[���.�:q����92Je�J���'!�dx�gŅ�ռ��bK�M���=	�#q��I;{��,�Jo\���'!�<B!��i	!�B!�B	x�B!$�B!���G!�B!�B	x�B!$�B!�<B!��!�BH�#�B!�B!�<B!��!�BH�#�B!�B!$�B!���G!�B!�B	x�B!>
�?f�NxBIEND�B`�PKʣG�_�SS(chatty/gui/components/help/About$1.class���3l	3245	67489:9;<=>?@A'B9CD=E=F9G1H1IJKLthis$0"Lchatty/gui/components/help/About;<init>%(Lchatty/gui/components/help/About;)VCodeLineNumberTableLocalVariableTablethisInnerClasses$Lchatty/gui/components/help/About$1;hyperlinkUpdate%(Ljavax/swing/event/HyperlinkEvent;)VpathLjava/lang/String;fileurlprotocole"Ljavax/swing/event/HyperlinkEvent;
StackMapTableMSourceFileAbout.javaEnclosingMethodNOPQSTUVWXYZ[\[httpM]^https_`ajarb[/cdefg[hijk"chatty/gui/components/help/About$1java/lang/Object#javax/swing/event/HyperlinkListenerjava/lang/String chatty/gui/components/help/About()V javax/swing/event/HyperlinkEventgetEventType	EventType.()Ljavax/swing/event/HyperlinkEvent$EventType;*javax/swing/event/HyperlinkEvent$EventType	ACTIVATED,Ljavax/swing/event/HyperlinkEvent$EventType;getURL()Ljava/net/URL;java/net/URLtoString()Ljava/lang/String;getProtocolequals(Ljava/lang/Object;)Zchatty/gui/UrlOpener
openUrlPrompt*(Ljava/awt/Component;Ljava/lang/String;Z)ZgetFilelastIndexOf(Ljava/lang/String;)I	substring(I)Ljava/lang/String;getRefopen'(Ljava/lang/String;Ljava/lang/String;)Vaccess$0007(Lchatty/gui/components/help/About;Ljava/lang/String;)V 4*+�*��:"#$%�+���~+��M+��N-�	�-�	�*�,�W�O-�	�-
�	�/+��:�`�:*�+����*�+����2>@AB,C9DKETFdGtHwI�L>T %&d'&s(&k)&�"�*+,�,--+�
./012!64RPKʣGV�TC��(chatty/gui/components/help/About$2.class���3#	this$0"Lchatty/gui/components/help/About;<init>%(Lchatty/gui/components/help/About;)VCodeLineNumberTableLocalVariableTablethisInnerClasses$Lchatty/gui/components/help/About$2;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent;SourceFileAbout.javaEnclosingMethod 	!""chatty/gui/components/help/About$2java/lang/Object!java/beans/PropertyChangeListener chatty/gui/components/help/About()Vaccess$100 	4*+�*��P
@*���TU
PKʣG�
)	��(chatty/gui/components/help/About$3.class���3w	98:;<=>7?@ABC@DE7FG7H&IJ8KL7MNOPQRSTUVWthis$0"Lchatty/gui/components/help/About;<init>%(Lchatty/gui/components/help/About;)VCodeLineNumberTableLocalVariableTablethisInnerClasses$Lchatty/gui/components/help/About$3;actionPerformed(Ljava/awt/event/ActionEvent;)VurlLjava/lang/String;eLjava/awt/event/ActionEvent;itemHistoryItem.Lchatty/gui/components/help/About$HistoryItem;
StackMapTableBSourceFileAbout.javaEnclosingMethodX YZ[\historyBack]^_`abcd,chatty/gui/components/help/About$HistoryItemhistoryForwardedhomefguphiwebjava/lang/StringBuilder#http://chatty.github.io/help/0.8.1/jklmno\p\qrstuvu"chatty/gui/components/help/About$3java/lang/Objectjava/awt/event/ActionListener chatty/gui/components/help/About()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Zaccess$200=(Lchatty/gui/components/help/About;)Lchatty/util/WrapHistory;chatty/util/WrapHistorybackward()Ljava/lang/Object;forwardopen'(Ljava/lang/String;Ljava/lang/String;)Vaccess$3006(Lchatty/gui/components/help/About;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;access$400<(Lchatty/gui/components/help/About;)Ljavax/swing/JTextField;javax/swing/JTextFieldgetTexttoStringchatty/gui/UrlOpener
openUrlPrompt*(Ljava/awt/Component;Ljava/lang/String;Z)Zaccess$500B(Lchatty/gui/components/help/About$HistoryItem;)Ljava/lang/String;access$600  !"4*+�*��#Y$%()*"M�M+���*����M��+�	��*����M�m+���*���U+�
��*�*����6+���*�Y��*�����N*�-�W,�*�,�,���#>]^_`+a<bHcTd`esfg�h�l�m�o$*�+,�%(�-.�/12
�3245678'70PKʣGJ��u��(chatty/gui/components/help/About$4.class���3$	this$0"Lchatty/gui/components/help/About;<init>%(Lchatty/gui/components/help/About;)VCodeLineNumberTableLocalVariableTablethisInnerClasses$Lchatty/gui/components/help/About$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileAbout.javaEnclosingMethod 	!"#"chatty/gui/components/help/About$4java/lang/Objectjava/awt/event/ActionListener chatty/gui/components/help/About()VsetVisible(Z)V 	4*+�*���
A	*�����
		PKʣG�DŽ�FF2chatty/gui/components/help/About$HistoryItem.class���3<	(	)*,-.-/0*1234pageLjava/lang/String;ref<init>'(Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisHistoryItemInnerClasses.Lchatty/gui/components/help/About$HistoryItem;equals(Ljava/lang/Object;)Zobj2objLjava/lang/Object;
StackMapTable,toString()Ljava/lang/String;access$500B(Lchatty/gui/components/help/About$HistoryItem;)Ljava/lang/String;x0access$600SourceFileAbout.java
56,chatty/gui/components/help/About$HistoryItem789java/lang/StringBuilder:;# !java/lang/Object()V chatty/gui/components/help/Aboutjava/lang/StringisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; 
Y*�*+�*,��%&	'( 
�4+�1+��*+�M*�,���*�,������,-.20 "44
�0@� !h-*���*���Y�*��	�	*��	��568-"#/*�� $%#/*�� $&'+PKʣG��'s��&chatty/gui/components/help/About.class���3�	U�	U�	U�U�U�����	U��	U����U���������������������U�	U�K����	U������3�6�5	5 55
@UUUGUKN�UK�K !"#T$K%K&'()*	U+,^�-^./\01^234567897:	U;U<=n>?n@3ABKCD7EFwGHIJKL"M3NOPHistoryItemInnerClassesLOGGERLjava/util/logging/Logger;
BASE_HELP_URLLjava/lang/String;
ConstantValueQDEFAULT_PAGEhistoryBackButtonLjavax/swing/JButton;historyForwardButtoncurrentLocationLjavax/swing/JTextField;textPaneLjavax/swing/JTextPane;	referencecurrentPagecurrentReferencehistoryLchatty/util/WrapHistory;	SignatureILchatty/util/WrapHistory<Lchatty/gui/components/help/About$HistoryItem;>;<init>()VCodeLineNumberTableLocalVariableTablethis"Lchatty/gui/components/help/About;scrollLjavax/swing/JScrollPane;buttonActionLjava/awt/event/ActionListener;toolbarLjavax/swing/JToolBar;homeButtonupButton	webButtoncurrentLocationPanelLjavax/swing/JPanel;buttonmakeButtonM(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JButton;imageactiontooltiploadPage(Ljava/lang/String;)VexLjava/io/IOException;page
StackMapTable*actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;open'(Ljava/lang/String;Ljava/lang/String;)Vreflocation.Lchatty/gui/components/help/About$HistoryItem;updateHistoryButtonsjumpTopageLoadedreloaddocLjavax/swing/text/Document;access$0007(Lchatty/gui/components/help/About;Ljava/lang/String;)Vx0x1access$100%(Lchatty/gui/components/help/About;)Vaccess$200=(Lchatty/gui/components/help/About;)Lchatty/util/WrapHistory;access$3006(Lchatty/gui/components/help/About;)Ljava/lang/String;access$400<(Lchatty/gui/components/help/About;)Ljavax/swing/JTextField;<clinit>SourceFileAbout.java������������javax/swing/JTextPane����chatty/util/WrapHistory�RAbout/Help - ChattyS�javax/swing/JScrollPane�TUVWXRYZ"chatty/gui/components/help/About$1��[\"chatty/gui/components/help/About$2]^"chatty/gui/components/help/About$3javax/swing/JToolBargo-previous.pnghistoryBackGo back����_`go-next.pnghistoryForwardGo forward��go-home.pnghomeMain Help Page	go-up.pngup
Scroll To Topgo-web.pngwebOpen in online helpjavax/swing/JTextFieldjavax/swing/JPaneljava/awt/BorderLayout�abcdefgZhijZk�java/awt/Insets�lmnFirstho��java/awt/Dimension�pqr��javax/swing/JButtonClose��"chatty/gui/components/help/About$4Souths�t�javax/swing/ImageIcon chatty/gui/components/help/Aboutuvw�xyz{�|}~xjava/io/IOException��java/lang/StringBuilderInvalid page: �� (��)����� _���	help.html������,chatty/gui/components/help/About$HistoryItem�����������Z����java/awt/Rectangle������stream�������javax/swing/JFramejava/awt/event/ActionListener#http://chatty.github.io/help/0.8.1/(I)VsetTitle(Ljava/awt/Component;)VgetVerticalScrollBar()Ljavax/swing/JScrollBar;javax/swing/JScrollBarsetUnitIncrementsetEditable(Z)VaddHyperlinkListener((Ljavax/swing/event/HyperlinkListener;)VaddPropertyChangeListener8(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)VaddActionListener"(Ljava/awt/event/ActionListener;)V(Ljava/awt/LayoutManager;)Vjavax/swing/BorderFactorycreateEmptyBorder!(IIII)Ljavax/swing/border/Border;	setBorder(Ljavax/swing/border/Border;)V	setOpaqueadd*(Ljava/awt/Component;)Ljava/awt/Component;setFloatableaddSeparator(IIII)V	setMargin(Ljava/awt/Insets;)V)(Ljava/awt/Component;Ljava/lang/Object;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VpacksetActionCommandjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VsetIcon(Ljavax/swing/Icon;)VsetToolTipTextjava/lang/ObjectgetClass()Ljava/lang/Class;setPageappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getLocalizedMessage()Ljava/lang/String;toStringjava/util/logging/Loggerwarningjava/lang/StringreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;equals(Ljava/lang/Object;)ZaddIfNew(Ljava/lang/Object;)VsetTexthasNext()ZsetEnabledhasPreviousisEmptyscrollRectToVisible(Ljava/awt/Rectangle;)VscrollToReferencegetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentputProperty'(Ljava/lang/Object;Ljava/lang/Object;)VgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!U�����������j����������������������	�*�*�Y��	*�*�*�Y�
�*��Y*�	�L+�(�*�	�*�	�Y*��*�	�Y*���Y*�M�Y�N** !"�#�$*�$,�%**&'(�#�)*�),�%**+,�#:,�%*-./�#:,�%*012�#:,�%*�3Y�4��5Y�6Y�7�8:�9�:�;*��<W-�=-*�$�>W-*�)�>W-�>W-�>W-�?-�>W-�>W-�@Y�A�B*-C�D*�E*+�FW+�GY���H�I*�J�KYL�M:�NY*�O�%*P�D*�Q���/3-/01(4.7:8C9K:ZPkYts|t�u�v�w�x�y�z�{�|�}������
���%�.�5�<�@�G�N�]�d�h�n�������������\	���:p��t6��|.�������������������������+�KY�R:,�S�TYU+�V�W�X-�Y���	��"�(��4+��+��+��+��	"������C*�	*�Z+�V�[*+��.M�]�^Y�_`�a+�ab�a,�c�ad�a�e�f�\������B�� *��C��C���W�*���5������������],�M,gh�iM+�jL*��*�+�k�*,��*,�l*+�m�nY+,�oN*�-�p*�E*�-�q�r��:������)�1�6�;�E�M�Q�\��*]��]��]��E������O*�)*��s�t*�$*��u�t�����������x*+�v�*�	�wY�x�y�*�	+�z*+�����$)�*��*������T*�l�**�l�*�l���������f"*�	�{L+|�}**��l**��m��!�"�������:*+���#��������/*���#������/*���#������/*���#������/*���#������%
U�~��]��%���*nU�NPḲGF��RdRd(chatty/gui/components/help/followers.jpg���JFIF``��C  %# , #&')*)-0-(0%()(��C (((((((((((((((((((((((((((((((((((((((((((((((((((��Y�"��	���}!1AQa"q2���#B��R��$3br�	%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	���w!1AQaq"2�B����	#3R�br�$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?�+�F>m-SJ��n�'�X�mH��g;�J̏��d�K��ku�8�dA�zu��/ڴ�4��oŚ�:���^i�Z�F���l��N���ep��J㎵�`�1�N-G�~��#:������|t��O��e��*�L�8�,���В7��0�B���yq���Ww��:�ON��ѼM�h�����=��&���<�-�d��?�r%v��`�sɮ��f���1ĹѨ��<�̙~?��[�������ԇ�e�?�����ZV��=?Y�Ρ�9��Gv1��J������&��_隍���j�x���.�-�dT�2dob��v�2+��ay�T;u}oo��2窓m��-��U��!��z����j�_�7������U?tE���MN�����Udf�Ϗ��L�6s���TC�Ή���ϫ_]F�d�x�B�'�nnVPm9=XST��h�����r����?���_�R7��`����ƪU��#�����n�d�`��ް5]N{?����(�[���`����p9ȇ��t}6�A��t�yb�oRP[n��Lm�lw�a�ͥ������:���!��$���~-������O�7T��M�W���sg����?��	��cA�+��l���W<qm��b�F�K���!�����*��]�A�q�<�T�w.U�_A{Z�<͖ⴇ�`��I���U��#�&��?��]�W��4�f��	.f���+!m�X)�}ib�4��[�v�ٵ��8��Q���ѐ_ |��z����H����R����R��K����EH��o��A����"z<:sJ�Pic���\��+n<�8�y��zsg��59VSs��>�f�����Dۏ>�=MW��m���>ҭ�q��F��l��R��$?���O�"���!�Hn%��Ϩ=�m	U����1�MX���Y�4�M<�rL���& ��t�ֽ�?Q�ֽ��z��C�.~I��T����A�|��M��ń�
��<v�bn�7|� ����A��E5�76�$0���J���N@���8�;��U�Z����\�����W��7����|'�S[x^�BH&i�p�C!�nb~�C�ԕ��u�����h!x淝唠-�O7Q�t��t��{�J���{��R7��A�~���]���?���4��C�-�6�-���p�ʣ�6@��ܘ|:L9\O�J�_Ě���^�ݓ�i��X]^F��0ߤ��j�R��H��q��!Ry�B=A�x������,���Ʋi�*Y5�F}.�mX�yo;C,?�le�vq�3��q�S�4W�̺3�9ZO�:����������"��%����o�$Q����`9dpG�5�|?յ���G㫫��j[I�h��W���UG`�ct'0r�V���S��?��r�=-o^���w�Z�]���~��ɴ/�G�,O�bDM��-�x��OOJ�a����t�?�e�'�|������l��I�\���\��ꔠ���y���i�s��9��q��.�g�g�&�x'��o��X�[�٣U����@��_`QZ�iU��2��{��I|�b{�n��-�*�ϩ�tV��1� �Ki��v�{u�!�D�	#Ԃ���u2$���t�5?�?�}��G�x�g��x�41�vz�G4�iUoP	$!�o��'���_|I��&��-R+�%�K�H8�>OA�Ҿ�������>��o�C�R.�����Iz��1������Sj�����m��/;>�x�m�\ns��������v_w���{��_�D�z�	a$�X�6ۛ�c\�.�i�x7Ɠ�����K�����Y�:ų���W�Q������գ���/�|A�H䙵gx�%r0pw��>�A��ECR���ƷxT�n8'�5�tR���}��G�x�g���<bP��|T�  �c�}��ҭ����)D��Gu̷X,@N�@�^�E]�e����ݞ?o��������J�c�>��s����<Qı�x�e@�` n�s�{׮�K���#��{��a�K���+�&`��^xJ��c�-���=���ʹ�w�A����z�.ot���,<WVy��/�4�푴�dq�Ac��E����as��?���g��:(�� ��{��m7U�cCp��s�zAWmm�(me��#4r�09V`�k�����迯������=W9o��$�q�x5��i�(��>èEimlH͇��I$�q��z�>��h��w5i%�|ʍt��_ؾ1���_�+�]d��E�A�]�Y\9��r?���ZR�'ݎ��u�e��R��-�ֲsVi$��f�:ݳ���]'�r��@��Ѧ���	��:Aqgu4���<3q��O<�ue��O����*W��{����5(��N2u�d{TGF���[٣�,�M�\�Y]h0]CW��Ξ�G���RWv���%p�w�`��i�m
^���^j��rZWF8�N31nY@�c�IӢԤ�b��MBE�K�Xq�|d�~ª7�4EF��!�)��C��O�p9�������W���t�|�8��u����3j�U�֍��%â21ir�_��x��zF��i�o{%���[��vŔ
�wn�:6�s�wWA��J����LC�N�y��I�i:v�G����܋s�����Ӗ����tw~_��h7	�i�VZ�Οy5���Y.㈀d������^}�D��2�}�Qr�k*�����,��̓��~�d������.��-�[�AJe“ԁ�ǽV}J}7�9�����1g;���y�֛ww��$�_�k,����x{MX㿖�5<�_
�����?͟,�'�����\�/D�g��
g�l�򏙆O'�~����:=ՄWZU��P����8��ʤ`~������QF���D����:�(�EPEPEPEPEPEPEP\/�_�u/����k���/�����qo洘#���]'�r��@Z��:R��h���J�0�?!��RY����C��±������2�FMDz!����^_�:TZ=��%���sv�f3��8�����#�N���b�~����qsr�;�C����\��;P�]�,ۄ�&�鬥Y--�ǿ��6�H�*����:v�<ë�kI�����J!�v3*���8 �Z��e����������u�i6��]j�0YO�*�K�X�������s�V�ĺm��s��� 6��{%Ĭ��������z�Cu�(�k}P��y��\Z<�wYD�23�aQ^x^���m9_�Ӵ�U��i��.e�R�C��Fڣ;Oj���? ~_֫��O[���o�.��ۜL#p�3��ӂ��?�x�O��c��"W�k�b�7p��h�1���V���I>�g�b���0H��YA�}�����x�_xoX�Hu��$Z]��Z��J���f�I��Կ�����w��;m�p�׷Oe{��AL�j������PF	�#�G�$��j:ϕq�[:ʻWy�Y���㒧#𬏇�Z�/}}��א�w�^�y��;b�$�B(=��I<�3��+�K᷉����.�.5(�M�nc4��>�J�;vmu~��tG�mo�c�����&������4C�+#���$Gj����[�Ė�Ɲ<fU�4WH���u2�=�S\&��x�X���
'�3�Dֱ%� ��DU�UgR�)����Z��4k�3M�^���q�����}B�9��,�X�K�W������OŒ�ן�7���êi�܋ho�d�%��I��P����$�k"��:E���5漺��f�B���x�d��
f�M���1q�D��o5���[�+h�����:l�S��D��񷅵+T6��\Iy*�RC�I��=j-f��6�E���/��唯=��&i�1dž�l��p�r1Zqj�K�\�J�� �ᘁ����s�ޕ�4K��'C��j��
*HE*��#ns��'�j[�)z���-�dԖ����~����ᦽ�w�&���F���^~������eu}5�lP�k�|��u2"�rW9�Ͻy��Q:t�}�����?l}���o�����󷞛���šɞ�O��D���Ƣ����gI�@��xS�c��I7�����7k���_�/��&��IȚ��Fе�ap���ɜ��ݺSt�{G�fi���u)݄��$c�������^"�N�$�S�m�9u����,�]�c�#��|��e=�xv�]m�����u�A�Ԇ �>_�U���%�����7�	����Q����uGWmo,FYX���$��j��n�#ê\ŝ:�O1ڱe#ϑ�rr�Q�w�������c{�Q@Q@p��EԿ�5��_���"�_�ſ��`���t����Uʧe��O����*���[�hv7�4�[G#���d�����TT��RM�#j�˞�H���O}<vA��9�{OF�_�sV�fFD�����]G�!�>F\��bZ�K������z����[}�T�e��,͸�%�rz��f����=��z+I��HՍ�g�ui%ٞ��!�CZؖ�������x�-�.F[��&�L����+)p��n*�A������z_��|��]Y�����tUO�KO������tbZ�K�������0�g"�S��z_��|��]ؖ��������<��ȷET�Ĵ�����?�G�%��������>�0�r-�Y�XiQ�Ei%��]L���ڔ��/R~H�Cc�sqoc���ű�<P겻DrF	2� ����Fl�U?�-?������i�=/��>�.����=��tUO�KO������tbZ�K�������0�g"�S��z_��|��]Ag��w�	�.n!$��-JgRA��#��0�g#J���4�-tMB�	��X��to�Lp�I��5;]+L�k����mb8i���D\�����!8�]�F�p��EԿ�5������[ʆ�w�`O�����Uy��#�N��e��R��-�֭�u���?�?��n��"��tb@��X�@㞣�~��޲�]'�r��@/�#φ����t��@�^P�4�.Y\�O�����eծ��ͧF���q)b'n"B�T�`�2:-_^���>����uϯi������W~�����I��׶y~��_��Pܛ�/�t�@����Z��O�Sլ�5�Y.uI�Ö��9�f�'�h�%Sw$61�T�
uI�_�Yu5��xB��p��+�$�Ű@������_��G��Vnqq�K̓���/�O�����g�>�(�O�Ɨ����*��*t�R�F�=Fj�DxkA��Đ�}�`uf�Q�x���.��pă�z׸y~��_��W%&۶����%}��^�+���5�����W������&�p6���v��X������(�J��R�]��˯o��tT�_��G��T{)v+��Ry~��_��G��`�DtT�_��G��Q��9���o�OM��4��/��d��#ۉ;d�g/�8�~2ͪ�R6_;N��R�xh$2�Aٷ+�x&����(�J�)$���̗g}�?���V$?ڳ�n��Hl ���x����n���Fs���`��qSA��*����9�%�����_��D�a&�<���^_��G��RQ��o�O��w�����xƋ�M���:v������\i�W�G0nKDA��F�za�?T�.WJ�WÚ�u�}�O-{�Ǖ�y�]VBI�&p3�f����(�J���~Q=��O�O:�լ��_j���Px�K[��/dW�$2#O�z�rw{f��-�
��Mh�Zy������O��i�DjB�!����/����)ZV���[���WW����B��[��"�t�If���n�2�c?x�PO�}V���;/Mj���
�J�[H�~~r[�q���)���zY��ͷС��N����?���va��9KMNy��K]zn���펗
�����&�uw�<���v�qӠe�e��R��-�֭�ً{��7����[�O-�U>2�ȋ���kZԏ-��.c���]'�r��@���Mk����Y!�-|rF�YC�r
k�����C��M*��S�M���~m�ΟR�⻕���ǥs�^F�v�l�o�Z���.�c����ص��'Y�pr��v6J���<UȾ"�&�mweo�ؤ���W�h����x��`2*ǡk���</y`��V�b���`a���g$F
U��~�+��#��8㝥��Gp�)�3�� �``�)�&���JM/?��	�X���Zw��U��ϊF�$�Y�hT�~T3�w#=��~+��u��&3h����6	r�3B���G(�qЀ��9�'�{OhV��Cd�%�ԃ=Į��.�0�1$�rS�Iw�=�ݴ�m�]\%ܒ$�#��B��+��GSI5������yO]�����_q����x���f�v�	��i�J���9�l��k�q�ɬ[O�z~����}�Z\_F�s�M<6�c��@��W�f5ݷ��
��-�a����K��K�2�\3 d�&�����ݴ��Z����O$d�����<�brI'94�[��c�<�|_�Ϫ^kv�1�j�S���DI,�C
�@�����u�WW���F�k��=ٷ�H�!�ll{}pNs������+i���,�[��hP����.O �<g8v��\<�Ed��.�H�7YUB�#+�h�#���ھ�׽�Bl�v��;�:�����ime���#[,������@O���z��R��=�l��|���X�31�33X�I$�M]�����(�EP\�[+�4{�r�S���5fK{�D�۞Q���1��i�߽�-cš.�|/53,�nD��*�EV"睮��c3|e��;���_�կ��u0EhٷV^xgێ��Ҽo�M.����c[��^i̶�H�r$\��ی���CԴ�Jk	o`�$��\[�̾\��3�<����H�ϲ�g���?޿�,�����;��������������<��z���a���N1Z�jr���W���i	�2�9�x�|w�ê�6���o�X��J1&9�K�}�Oc]� ��������f��|����S;��9�_z��
�5�&k�:+���U��c�
���q�CV�r�O�7�����mo�S��񞻧��wwQ]�]���O�Ac,��#\�FŜa@��$�<֝׌�O���܍��G����m2�d����J��Q��;z���_hR��mfSsr/�u2���G�[���{�O�/iin�O����X���dV۳��ry9��n�~K�+�_���mƢ5�W��.tǗt�c'�,c����խ�0[�y��+�9��c�p����\֬����6v0��XKq��U�H���:9��m.&TU4����k���-��9���{2=��Z�s����e�f_��zv�Q��".��\[��i]�om=����ۆ��-��.2T�5��D]K����Z+�:]N��t����Riw��_�,��Z�i��+�����N;������C����J��>[iw���ޜ��_���qֹg~M
�nmLO�����:����Z��dK�Yc�E\���݂~R���EhG�7�o/�u5{;����u�ZU���d�9�\�N*����mSA}3U�R���C`#U�1fٙ�hx(��Ay�I.价��[���"Y�<ؕ�a�o��C0{Rv��\���l2/��^�lh�M�妬�X<A�ÐT \��Nq����z��k�ǨkZuՋ=�����$q>Ҩw�*0B���*]��A�ìG,�T�R�ω��ˀ�k��g�cj?o���]�-4��+ޢ,��%�pdfvc��P:g��]->�=����b�1��R{;m/V��)u40�����v�@ ��`��I��<�mnHm���s�����fA��������/k��7�6��6ڔ�\]Dm�n@��-�C(����o��M�%ަ�A"_�*C��s |�����ۥ/?'�����}�N��u����~�k5����H�2�L�cu�H�A���z��B��gh��p���7LbW����ͬJ�!��GC
��ͮ��%���%�������1ff+�-��G{w~���[mQ#�}pkq4��� _-�8,8�AK�����.-m���;�ZA�s֖�aEPEP\OďK�ma�a��P�H��@J��P�`��`��'��ڸ��>�|K��ķ6z���̸��m���`�0�OC��	�����5�Q�K9'������Z���c!R@;�@u�׎kM��a�Mm�;_��=�r�G�4A��v�N@S�OM��5u�
��q���]"�n�pei@B�K�y��X�x�x����5����6}�6���.����U�w����!�����[\]��7$�E�O5��"G�M�L��ʂǞ3�6n<u�A{wl�^��-��!I�(G�Fy=}�s��o�Ig��?���i^g�zl������j��[�vk�5u��}B�Q�k�̐��R�r|pm��y��"u�����|A7}��"�;��$�l�h�K�A�����!@��Z�za��M���ww~gX�H����V�7)�$���m��Qu��%���uI5[x�<�V�"J�@$R�6�Frj�׀����IHZG�)�XZ����$*Q�8>q�q槧����nW����K�p���n&�f���M��1�O �εMxY$iu��l���I�c��Tϥ&���m*)��,�ׅd��0X��hY�Ǥ���t�|���s�~�9uc�$�S]��<Kym�b����pK���D]K����Z�������_�r��EԿ�5�Rnz��*:#���]'�r��@R�R�G���r�<�rN���`�d��=jݗ��?�?��}B��S�W-��~m�Ƒ�D���c���m��i'$�4�.�4�f�Cխ�a�&��C�F�X��rs������m&/�G&w�����5�I "�,�2�|Ú����,<se��:�z���ۃ�j1�B����aW$�g��L���izׇ��t�����SӧyDΌ�$.:�$1|�db�ۙ���
|�U�_���.�c���jz>�bc�vMgy�©WGd �ݑ��2���q�˥A��wF	������@8ݿ�,����X�,�]�.����٬w��������eVs����}=jx�D�f�z����Xj��S��3oul1�Oŀ�)9wp0�����=����_�ʹ�֟<p;;�����$O1�,D��p�:�G~*;��Z=����Q�B�_�6h�=����>lm��X`�f���Zޅ�Z�#M{���)�#�1!�i���Y�灐XQM��n���)�_�([�i.nm��e���pX琥��Q�_�z�.��C{���Þ���vڵީon�+��?e���U��'#:⛫�֚N��Z_,���:GrB�J껶��A q��\w�	�q�nj�o/��Ksw��4O0e���H<�Տ[��=#J����C&�}mq��K�HbH$�:�C�[����?���hZv�����N-��$��70P�)`Y����_�SM��Z��y����R�2��l��+���u-O��~��/
B{yDS-��pȡ2��<����������<3m�%�[�g����F^��$g'���Ru��h��C(��2u�h�"!��j f+g���$�;*�a����X��|=j4��&�[hŤ1&_k��$m\�s���D�ե���X��it�o�m%�&����nn����Q�?�$��|1��}���RI�a�&<3!����8�h���_��_ ����z���Xiq$�����nJ�\L�� @,G`O�Um|G��H�Yj�u���"��7gA�����ӊ��΍y�����M
���7������$tɮV��ſ�AA�jR��1��Y7��F:���+�?��꿮���+���[�N���Qd��!�Cd.6�S�$�����F�������AY��a�׎��ớf��7� �E3E�9f,ɝ�q�������_]>%�6�kMku�Xj?iD��Ī[v�GL`���՗5���jOK�[_���t��P��na�m����4�*"���I�� �5z�_Ѭ��/5m>;�a�[�X��?+�ǥy�Dž|@����^'�|C>��m-�i��
��޹������-t}%���[퐽���Y&���(�,�Ԩ���G57�o�/ԫko�w�|�F���cTt`��r�����R�Ǥ���b�kyc����In��錓-�*FFr(`�?�����h�;����{������O���"�_�ſ��W�ǽ��~Z����".��\[��Cص��Y����C��n�q���당���+(�Ie`�� �$�:�t����W3��"����B��X64�$��J���^'�I�,�F��m2�������m~�R��|1��,:\�1��咽��/(��c���P8�<�����w����7�nn���7��>K���P��9�\���o��LuI����_���ٯ�\Bn��q�!8W�2�O^��j��1ŨGn�
�ڜ�}�q[�عR��lrH�1��u�7ĕ��P�m,��&A�0��g�y��4[���k�a��_�z���	5+-N�\����I�+ia6��/
�go�Uݙw�NOb+�itC��QEQEQEQEGU���"$�V�,�cs��e�1��ɩ��,����@J��Y�,pO�1\��k�-=�֯!��線;k�!RT��de*6�3���4����
��se����b�H‹�"�^O0m_�A�9<f��������t��T��z\/�Y�d��|�_X�\$�����Fdo�}��k��/uY�Y�����꺍����H�k.�T�dw��&�o���CKU�w�&{5�����Y����'�=ASW����kíj�=���c)y c;�3�89�=�tƿ}k�B�]V�)����"��`M�*�ڹ�2NbN&��/����}/�ms�c�9ZE�Dslp��8>��S�!��I�R���haoN�������b/(��+������{��
h3_x�o��o���</~Z�E��$�֦��?$�R�����Z�7��z��zK��}��zA�\�V%�ܷ�~�:\��il�DA1��B�'�>�������ʴjɣ4��+k��o�_���>:�>2�ȋ���k]^������k���S�/�����qo�b��]e��O����)���oI��H��L��]'�r��@��]]�+��N�`���D��ɼ)X��#�8��zTߖ-�.i$u�W�/�5�;;K+X�{k���K�O����A�1���~w�,z��S�߈#��d��MKK�KE��	�'	��8T��O�c�k^_�{~d�K�[_�=R��tkm^�T�'7�(#�Y%y@I���$�p3\�5���--F�o��Δ�	E<�08O3!���u�x�_�����J��?���H�x٭q��8�'�3~�լ���V�n��j+�����m��Y��[�7V�D�y��������ڷ�|A
��qib�N���X��C$�p���*[��>�՝���}/�m�*+�.<}��<�m�v��.��p���ic�"���Flm
���o�7���!�MkR��-���>�Pǿ
0%�~a��Z�]�e%�����z��'�-��Y�e��R��X!I;;���?p��q�A^�GK���2S���EP0��(����z��4x��O�Κ�SR{3	�B��x�"�j����}[Dԧ��n/l�6�ݮ&grK)bJ��c��9�(Z�y�����o�=r��|s�j:EƁm��O7S���1���w��#3�N:�3�x�]�];�E4Ʒ�����m�<*�H��;1�wv�7����[]ɞ�Ex�?��_Eqi�b��`��[�4�!iJ��gs<w�
�u(u]F� ���-9	F$�2���xg����[[[��&�_�����W�Xx�\���;����.���!�X�(�H�,DQ�gP�0I%�5�s�b�#Hk6��#���M��#1����"UG�w��s֦�_��?ԫko�ω��[տ��_�������ʲ����}A^:s˺�c'�,c���g���5�UmYX���V�?����-�|u�|e��R��-�ֺ�c�=����G�\��_�u/����j^�-κ�t����S4kXo|aku��{�FV�?#O��]'�r��@�>�6���J�cy�4�:,��,�3�8���Pm�&�'�|?,6�Ig;�_g�';�
�G!����@�*���&7�K~�<W3�W���m9��o�c�{q�,��@R{���_6K��y<$�>��(�i��ۚ��5�BFfI�P~}�+�1�����������x��Z~�yk<N��u���g-;�e8`��q��^kFhP�l���[E41�5��7�̝�b�������VP�f�^�K�g���DF��#���i,[#��Ҭ��:��i-�V[{�}9��[0O��<��It��/�Cn�]_������ H'Ә–�g�.f@�'�W�~�ŲA�5m�#��ݫ�d]M
�ٚO�H����GN9�bY��S���>�m4�le��IO�Hp�P��d��bY|H��K[��,n�I�U���24^S`�!,۲��^U��\�s|�7�7�����E�����s��%����$sȎ&:��d8�H�>��'��i<8���H>x|��mė��KrI9=덛�:�������_j6�v���k�+��oc��bC�>�Z��Ǎ��G��ʳ_Mgk�Y��[����2�@ 2�Xe=��k�ߦ��?�;�]��N�����G�����#{.��[�3�C�_�*/��}�Z-���]�qh/�PD��_`r��7�1�Q]�����#����h��(����<;�k�A&��4�9a�HU�wF�v��8�]�J����������md������ӥ`���Z��YY�k�3�3�Mw�Gd�D1��pj��<u&���o�Ig��]eyQ�@Ψe۸�	`n<�
]�� ������js��{�%�����e�&�g�x9F?	豋}�X�=ķQ���Ye��9��x�'���Μ����Kp-`��T�r��w2�8럯�>���[hƟ���I�[���&�1x��' )��iig�v�������/��
�߱=��w�;�%�'�'0+nT���Ns�ޤ��n�y��F�ɚ�Ί�"�UC$x��m,�q�q��;�>
.����Q�&�-By��8��n*e$`��x�8ظ�Ι�ճAx^��Nbpd��|�tg��ƫ[����?ĝ-�v�/��/�t9
�6�)���R�d)7?��<�99)���$��^���l�%���I̱J7��Ȭ�g'$��sX�O�p��m�.���v��I�#%��f$��`ƭ?�4���K=B���#��#+C��X;�ܤc�{dsS�����V�����Ưgo�x:�����#�4�[���H?�*���-߄/�&�e���M��1�O ��g���5�Un�ԅk�V�?����-�|u�|e��R��-�ֺ�c�=����G�\��_�u/����j^�-κ�t����U�?��Ǧy�G�4Ń�ۻf��23צj����?�?���j�h_-�[�������b�U��H�jt�w�j���"~YǤ�閷i
����-͸x��,4�l2�U܇�:�W,��g8���K]Iu[5-�`��#�#�gs3���^6��ԭ-�4�Z;{�a�/Z �%\��[sz�T�TcǺc�	��S�2�[F�dw���
��RČqW�����|����_���s�__A��V��ո�K���d�,�4���X	T���9��S�>�]k2^�b$�{�]F�%�9yaaX��`�A�'���c�ϥɨ]^E�Z�ܶ{��HCI �9�H�8�M��k�gХ��X��p�t�T�%�����R�-���K��j�]m��į'����?���4���~�߻>��?��lu�Bk�f��X"��Ӣ�l��2JVG�Fp����z�������;���hSdo�oP嗧R��7U�ge�\�o�P����l�HL1��u_�=�m>_{�1'}���?mƗ�V�_\�6�e`�Щ���0��l��g�6�U��Iw�j�Ϫ��5Ž7p�mHdPl���A��j��z}��Sk�C�� b �naG� �vR9	�3T|K�;=l��͈�'���h"F`��,7Aځ�9��_�`_��,�z��Ise�V��#���w�|�ɕh��={h#�A��(]�rNS�X�����Z\�z����m���۲�ǜ��w��J��u4�u��V_��R���He**��k���D�F���X�����V;a��
rw�4it(�l����T�6��D��X�0
���8'#��(Z�k�]V�@�.��n��V�+��l��95��|����,��P���Q����g��n����W��I��5�i-��5��ٴ�OO��'���,~|h�X��� �œ�+_N��?��
����N,|/��,�����"-+�7M��1��q������nuٯaՖY�]FX
��2@xH��=��|a�O�+�K��YRĈ�vd���-�Fx�Z)��o�M�&�dڄ+�Ka:�QpY3�9��U_U/���P�O�k~Z}{��]}�I}g2Q�Kx�<�V��*�E �cig&�]xˠ��q����yb�F��ݜ�cR�s�C�wk��]�$�d�U�h���A�NL��պ��.�����A��o3��M�{7�;s��8�����~�������K�I��=�K�i'K=9�Y$��23Z����s_�S���O�Ό�R�<�Ȩ,�����ʴm�vBI;"�������k���S�/�����qo�����o�_���>:�>2�ȋ���kP�)nu�_��P���u}>�V�C.����]��Q���@�@�iY����C����m<�\]K0Ec�$�QDc$���6N
1�i&�S\ӵ�J]�
��Om$���DQ��FC��Jm��2@鉦x?^�/ψ,-$�T]f��jn�J�!~`��� �s�W�����K�+g�n]��3��g���no�[��M�����x��/�V�^�[ҢmI��[S.��܍����e8��G��M�-b&�݄��Y<�)!�B;�"�) �ݵF����{�?��~�_[�[��+e�]c�{}CH�Pt+_.+�O>'f`�7�I��3S^x_�W6���鷗����#�����,���Іݎ���Jl�$1<���h3��P:�{������J]?��y����CT����/����vMB�'�T2�W-��w����}~O��O�@�.�ӭ�����P��!�o$4e��c��-5M>�U����V�nE2�17�|�Oc���^_�_���]?��D����i��	��i�g�o)e�\�~�� �U�z��f����d�p��]�	_��V:x�@�N�PMsJk�F�"�3�襳�yU�'Y���HԬ��3���u�)�%I�_��(��(���,@�S\��u��^k>)�o�uU��-5���[�F�$,]�1^H�sۛ�Q~,�����0y�3��z���U�kKԮn-��J�����h��dh�q��r�҅���c�u��>"�o!�VI��6�9<�0Ġ;rr1�O`j;Ok���N��D�z�Φ����g�@�P�7��[r�	���P^[\Oq�5�4h�2F@`9�y��[K]?����l���%�M�Ɛ�o]�J�q	N�ۇ8R:�|��z-w�7����.�zo��l�aqn"Ѕdh�T��0y��k�(��_ן��-?�O�9Hm/,~�����}��2�"�a�G!B��N*���zA�\�U�ȱ�ל������s_�V��d�f�[X��{�������)�D]K����Z�������_�r��EԿ�5�{�:�/���(�Y#��){�`3��+^�t����U��ȱ��ל?��k�

>Y&y6��A~�7���i��ݭ�͜��9�|�g_��Ո��N;�uˋ�3N�I��C��i�sqw}��[�����aX烌W��W'{�]���tIv���_���I�A��.u��5kM��&[��[�,rb����0P1�rj��}��^x��5�V7�մ�-��$H��À��A�z�����_[�[�������xv��j�{_����c�x��M5ޥ,>\&uG���D.~�^@����/�F����(�%��
�ݵ�\ʧ�;*4�)8bLg��{�-^6֖��U��o�ͱ�[�Ƴ��u��'�����F[�b��o$��9<q�_kz��oM��+���=?LI�c�T���)�ۜ��o��W�QW��_���Bm������x]�E�;�:����ཕd���ܫ5��T"�ĈW9'88�V�t�zΝ=���m&��-JW,C����Z�R��q��Oo{����o+~����}o���#X�K���\[jcѭ_�v�-��}�����C�^���m%����2j���ٛ�I<�3����(��o���q)Y%�l���QEHŠ(�.������J�{��ss$�,MŒs�UP�RxS�|K�_�"�K��ӭ��Ӵ�yf���f�r��F;�q�^�E��W�o�;������՚��Ǻ������i�̑N���p�����:Ʃ6�n��7��Yuk�/��;��+mav��"+ b�x潢�Iio�~#�������|����P��1�^Mum��.�]�;��`��(���#�Vξ%Ӽ9�Yψn�K�V��/�{�o����
�Dg�<q^�E7��V�_�KK]�?����P�Y����I��Y�n�2�b?x�PO�џAZ6���s_�V<U�"Ʊ�^s���Ǥ���\��~d%k"�������k���S�/�����qo�����o�_���>:�>2�ȋ���kP�-nu�_��P����Oum�I��aw{�����"\�ɦ�����C����Z��x7M���9��$�Eܮ�1�EN�.�VRW8����路��EKc��[KNv���\)6;��2
Z���"V����O�E���ޝqo�Ȍ�U��8 �X�:��W��?�թ��h�cH�k��f�b���P����G5,�!�[7c
��I.$�F�gf,������^���~������g��x�%���x�������Q���Y"D�[�a�[v0���'SG�ι5���i���ks��(cq2�/�B���WY7��	��uIlY�&�.e?h�d� �ݱ��c#��SY������{;����g��FgD��Nq⛀;w�$zR�K�_��r�o��eEPEPEPEPEPEP���k������w�@�6��#?3�,GR@�C�׌����}Z&����[;�"F*<€3w�zW�6�b���&��-��on"-����8�*iVI�I�,8�$�m�]��a��qԞq�#���������[~��O3����s˞�,�6��{4bh�ݵ0y�Ӓ{w��5B����dt{�Jm2��o#6�F�P�����h�7S��e�i�����c8��C�m���;}]�(l@�il\IJ0�:�N�r8,��&�N��_�~��^��_�q���{�"��Kk$���T|yѾ�_��1�u����'�m����4VG�Bn'���.'��A�4������+?xj��>��Mk%������Z5��� .1��d��h���0�m"���y ��#M�Jy����A88��N�֯������h���i���:��U�qs�<��f1��O�X+c��f�= ��k���l���jv0��XKq��U�E��zA�\�U��v�B��+k��o�_���>:�>2�ȋ���k]^������k���S�/�����qo�b��]e��O����*�ڜ�/��ڬo=���ƲT��8��6_��P����K��m��yl��7n훢8��3�"�ߑ�r����(/�(�I5�K�"����h|��]��e�v��:rA��]V��J�yq�ɥ�,�1X��;����;�:�3��
�K�uier-e�}��%s(�w/��j֟�xoύ��{��W�e���Z,��:��{s֮Z�?�W�������v�>w�WӾ%?�!^"�?��nddՠp	�bP�N@�g ���<;��WS�-N�t����B����X;o��p��=O)o��T��<?a�f��-����k2�NJy��d�f9�8��΁.��kW��s6�:\8HLj���f���^3�zѥ���K[��7袊@QEQEQEQEQEqw������K��F�5��q,p�ۉ<��D,%g'd`����{��5�y�aq�kɦ��j
j�G��E2�6�K��S��Ӵ��>+�u��b��[i/���݆7�v���NI��H���^ ���`jw6��mlR�@B��&�l*��(���z_����	u�����e�
i�
WI��f6p��X��[���*%���U ����4�5#�j�ZC|Q|��ѡݻ<0�RT�MU�|��V��Kgڵ[MOg���B��;�ݎ��
Gm�Gu3jf]�]F����"��iwa�r�y'�{y��_�G���?����������ɥK�ș�cm��{����H���,�a�&�SG���<٢T\7�I��d�'��{yuĖ��ѠU��Q$m���ss�:s��s��jZ���	"��@���u�M�–VG�~� �{;Z�����t����nlk�+y��F�#�5��W	4f7\�xe<��i����s_�Ud�SA�q>��N�zc��I��,df�Y�Ǥ���\�gn�+�r�������k���S�/�����qo�����o�_���>:�>2�ȋ���kP�-nu�_��P���-N��t�<zjO"�b�$H�֋/���(�To�nuO��X����\��(�p]����ϭKmA�RI�&\�e��M���Ԭ��&eP�Y[����zk������[��c����H�Uu$���.��+����U�����il�q=�h�\Hc���YKdq�<ֿ�ot�xv}3�:Ɨ�j�
��༉���̇�c'��8r�O�W�}�F��?��:��It!�.����}���[�����v��3�x�j|~ ѥ����WӞ����-��Hd�#���i:��q����ӄ:����Ia2�F�� BW ���J��<�O��L�z��ڝ��s[�[Eb0��ti�)N|�29�j����7�}����/���Ş�g�MHYc]�0˷;�7q��`�!�m��5�_N��s��d�E�C����=j�����q� 0x��Q��#8���~��S���8��|�+8�ہkzD?�0=����b��B<�ǵ����d{����d�[|����3�/�A�X\G����O R��r��!p	��=pj3�N���Z5��r���L�g���{@�<�W��+Q����l�r�O��.c��՘��y	�|�T�5�j��Osse ��V�HnUЦc�#!���.0:�[_����ԟ��_��QHaEPEPEPEP~��Yhzt����8W�:��eQ���6�}
��o�h�a�`R3�j�]�7�E�QIJN��"1B���F}�%��������X�28���]�mQz��ze���Cs��I.|��Hl�`{m9�vڦ�r"6�ֳ	K�����䁃�;�&��Hڭž�-Zu�T��v��nIPÌ����Դ��+F��h���15�s�	e�:���3�'<���o��������\�KU��X��*�eo��Q�Ǥ���3S�M;�w�Q�lt�����}��zA�\�U=�%j���{������O���"�_�ſ��W�ǽ��~Z����".��\[��Kإ��Y����C����_�4��@F�t����RZ���59ุ��O�W��CHT � t�jI�!k�#r+�Y�絆�	.�™�Yx�r����3֋��kW�nn!��qBGd|�s���x���O6��s@�v��$�m��,�v�@��#�pU[�2W9���V�4�8o�.�<�%�=>�]����s"��,� 6�G �M�z~k��������{��z���i>��YՀ6z�;�y$o!�Ȉ�)��rOׂs��j��|u�N;�o�ߧ�t񩝤�vU 1# ���8�ׯ����K�>��/�-t�I.��a���e��"�X�+����j'��������������/;zs�^��.-oB�4ˁ�����1�í'u�_��Zo���Ա-��7V���A���M .і�:�'*�x���j�f�����wD:lj{�H���@�0?��Ң��/b���u�F����ɯ5��Ė��br�YXE�0s�Uml��]�V_��������:��k�� ��f�!f�3FH� ��5�WZ����Y�ھ�'���-����W�������nt����+�E.��MZ�O��ax�A��m�\��D�a ,|�Gv���$uk�����J+�t=g�3��Q�uu��I�%��GxT7��e���d�7g�wb��f��_E;{˹}&v�E������<H`��ۇ�����������mm�o�ǹ�^e�T���P�{�5���F��T{�f��kH��s�Le�3�w�ڦ�Jw(��Š(��"EI+�F��3RM$2�<),2$�8��!��AEb��O�Q���\�<��y�#�UNc��Uy���_�~ﵦ��=�$,r=�_F�����u	q�$	,m4`�0,����3�RW�ŨAj��w7P�V(g�S7L�f9��@�8-���-&�QMB[ش�E��$vY"t��YCFI��z_������*��cX��9��Y0�d�ڍ�rơ]u�pA��pOm���d��t�<ב�1o,�$��w��u��R�85�B[6����gV��H��#9���+]Gj��r���_�M+^[mH�Vc��<k�/�����qo浵m��v�EķM}n�#�$aȸ�8Fx�� ���/�_�u/����j^�-κ�t����Rx{Z��|=�Cs�YC2�ù$�U����	���]'�r��@xH�`;�������ӿ�%?Ə�Ht_�i���K������d��~uZQ?�!��1��J����ӿ�%?Ɨ͓���������52�"�P�����obK?��o������d��m瞵�~����~f�3�'���R���������d��~th�V'�$:/�4�	O���w�����}�:<�?�ߝ��C���cN����?�!��1��J�/�'���͓��Ѡj'�$:/�4�	O���w�����}�:<�?�ߝ��C���cN����?�!��1��J�/�'���͓��Ѡj'�$:/�4�	O���w�����}�:<�?�ߝ��C���cN����?�!��1��J�/�'���͓��Ѡj'�$:/�4�	O���w�����}�:<�?�ߝ��C���cN������jԣ�;�R�H�Ä�hUbF���W<�?�ߝl��o΍S7Ě�7�uX��l$��%UE�BX�8g�\�Ox��}7\�+�_7v�.NO��#��<�GC]��'���͓���tg!�	�q��iS�"��!�8YUfN���G�/�����qo���}�:�2�ȋ���kJ^CG]e��O����*���hx�\���f4+��ϛ�&���:��e��O����+��ҵ�3��gm����o6��1a�"`{���}�f�>*��՗N����$hZ	7tuY�b�9�`�U	<}�}�����{��[=�Ķ�Lѩ�h�(��r�R@��_kC�z~�y&�rַ�5�H����i\"�F6ާ�r���C�Z��z}��V�f���Kyd���_�q�–�ik��No/�?�u��O��/�K;[���"|�9.6��q�`��L��hγ^>��6R�Wc8]�U$�Ӄ�sYz��u-S�ݦ�!��Q���+4Lbe#���_��Oz�5x��PӮ�����ψ�Q)��
�wٕݷ�8�V���K����J�-������·m���WF9%hbH���1�I��,^��<u�.����RIj�V�^<i�-�H8.�Q���3�\�>֭�ֳi�j7K|�Q�#�c�C2�ہ�w=*����]����L�m�i�Ag��P��G���źo;Xn[k���+�����Xյ�;�=�zH�͞X\+��/'�:�~PG&��~�,�ڤ�n>��_;��~V�3v9�ޜ�SZ�.�s���H�Z��Ȍ�۪��j�+`��84�|��Kk���a��n�}q2J�#y1|� ��_������g��/�6��F�mbŘ�#��Ub��a�h�����[��i˨���	�l�̐Aw���v؊�]�7_����ixKF�t�
�2���ȇ, .�;�x�0�a��Džu[F�F����=��R�.���b4h����`z�����N��z��F�
պZ�i�{��_1�2�H*��9�?�Z�J �Dp��y�xQ�S���PG�REW�O��Э�G����.��K������2I�I�j��{�Kk}`��n�=���;��I�,�	>Xq�ʬ�H�'�~6�1����0Ц��/E�5W�΂H�U��v2�!����2i�/�~�F�UT�mZ��O�!<��ab@�Ӟ��_��׭8��Ԉ���Wa�.<��'�~\��Ҷ�]�Z��v�8�b��o<�{D�C�P�+�W;�bA�`�Z_"U��B�׎<=mmk<��R�$�!��1��ʪ��{�9�j�����z;�@�n�ڭ�P�+��fp� 9�v2x�-����a�k�C4���†`�-�T�yU�	8'�9�R��}�.�5���c=�m�\4�8�?ĘC�����JK���R����������S]>����s!��U@���	��Vu�N�<��K*��Ω
��6���*��(��#"�]_�Z��%k�5�,L�ۼ���S�+$g������J�q�9���
jz�շ�^�{o42Y�J����1UV�`9�y	��[�_�qG�����O��!�k�@���[��A$�"c�v(�h$�g<�s��Ut��n��ߺs3��y،݃O�+�u��N�&�g����-���+{�Dx؀� �f';�6����Q�V�s>�g�cI�/ ��Vf�Sn�U���r�'�Ue+��娵������:(��Š(��_���"�_�ſ��u\/�_�u/����i0F���K�[�m�#R��!@ ��5'�%Z?����S�k�J(�ϲ��*������G�%Z?����S�k�J(�_�%Z?����S�h���G���?���|iE}��	V��?���?�*������_Q@e��U������?Ə�J���������ƔP��h����O���`����5��_�%Z?����S�h���G���?���|iE}��	V��?���?�*������_Q@e��U������?Ə�J���������ƔP��h����O���`����5��_�%Z?����S�h���G���?���|iE}��	V��?���?�*������_Q@e��U������?Ə�J���������ƔP��h����O�G⦷���㵻���[$RO#�ھb����PḲG�d^^&chatty/gui/components/help/go-home.png�PNG

IHDR�abKGD�C�	pHYs
�
�B(�xtIME�%S*�;�IDAT8˕��kSQ��{��K�@�$�U�dQ{hU�\�B���J'���\:�n�����%���`��?y[\�Z��bQ�!y�!�ٗP!g�\��s���)U������z�0�{JiO�=Iqhx�8��7o�W"���n�b��Y�'Nq��8'�&Skk�\��R��nu@�~S�a��1��2��j��J�\��~�z��d�t*M*�@kh�����,�B�~��D�0��.`�vК�����Ern.���R�T�k69?�#�#�	|�Ά����\��N�>��=6�o���3V?E�t��0F���,/-����yx�0�!O����"���^�����Sy�Zk&3�ú��Ӳ,L��0��K��;t�~�0 �R"�Ē��`��S�o�/:"Z$c`����(�.Ns5C�q.K��MB���~�����8p�A$��m����pg�,+���:���b���w�V�գ���IEND�B`�PḲG�J����&chatty/gui/components/help/go-next.png�PNG

IHDR�asBIT|d�tEXtSoftwarewww.inkscape.org��<6IDAT8���KHTa�����F�R�^D h��Fh�"�[F�B��r�6B+7���(r��Eb>p-f�)�7�",3����x���_3ԁ��������1�|��t��S���SRƣqw���p�5�X�b�55���<y��i�����Jj���7_�
�C��VL'#�+��[ٛ탁��cT���'��x��ʇ��ac8�:?7:��x)J(���OCx���w������369��1�bQg@�^���g(�QB�B�cٞ#�4��#VM՞ڧcw'��#u�5@�[%�Y�v��n�4�%e�B�-?F��^�wK�Ԅ�DksW�ЫG}ǯZ�4�ҏ9�'_�w�}��#�Y���/�OP�)͕�L���1�+l)P��e�?􁧲�,*�H/f̃�wV����Z][7P�@i��\/�'��n�	&�����W㲩D���'=[�(-���u�R�W6Q��2�af1�eĸyg4�|�p�2�[���%I�R�������N����589��Tbuzvj������%�(��|��6.6G��B_N��Ţ����A�	�nv�IEND�B`�PḲG/P	��*chatty/gui/components/help/go-previous.png�PNG

IHDR�asBIT|d�tEXtSoftwarewww.inkscape.org��<!IDAT8���OHqǿof~�;�Rbl��B	��n[��"V�LD"�%t��-�z�;�$��%��n$W��"K�P�l��������0����wz���{RJ��7�+�[Z�+�a��X&��殅�
�e��>�<��sm�g1o�x�
����ac��fRhsЪ�*�ȁ��SW
����i���TX��UՄ�$�\�LS�C}�;��_P���T�XS�	@J!�/����䯯o���������cf�����~{����m���q����F���w�ހ1tMW,Q�iP�VP�KPH��Ѻ;���6,�L�7J2p���\rH.�	��;r��u�83j_�.}���eڄ퓭{�zB/�@�P�̯@ըZ�"�����X��-��^#_������
��v�O�5��F��vD����ls���
�Ĉ�+�o�ƍ��t}�����(��0�p�1�6�z�rf̞�+���/�fggߖ��WZ�^�:RöP2��x�|�Z�m�4t���	IEND�B`�PḲGȾ�\��$chatty/gui/components/help/go-up.png�PNG

IHDR�asBIT|d�tEXtSoftwarewww.inkscape.org��<IDAT8���OhAƿ7�3ٍ�zhL�т�@*��ՊhDbE-rkJ�I�b���R��EO�B��M*^DP�C)�*��4���&��Q�!�����|ߛ!�5��ɛ|�f��v�n�<��I�uL:.O�	�<��W�L�F���f�G�฼�ʼns�֖�ǖ����%�E������p��74H�K�����:�
��]���"��G�J�
�a2�Wk�
��=��<؎�Q��l*����eh� ��:}�6�.�N_
���+���X�R�"K�(�u�@A���Vq��E�؟<�o��c�݇�b�����87PQT��6�����@�7DG��5򠑌��doLܱ@A‡�׹�-<�d#$2�ZC)�^����J��9cC�SnŞ�w�ባz���,s�mp��L��	snWeM[���!e.�zN�&����0�`ph@dM[/�<���>~ԋ�+����U�?c�j�J�Zۆ25�|I�=�/�b1� lܺ?n%&�Fs�'0��۶К"IEND�B`�PḲG�Ls��%chatty/gui/components/help/go-web.png�PNG

IHDR�abKGD�������	pHYs��tIME�,�ޏ5tEXtComment(c) 2004 Jakub Steiner Created with The GIMP�ًo�IDAT8˭�]h[e������c�4i�棍m�Т,�u��ī)�0o�)�Ee8o����R�]�GA��L�7�0����v+��\?��,Mr�s��������{.��~�8���)�-]�,�
�X�t�����ދ�����4u�lj�d�ȁ4c�(ˢ\o��i���ɍ��e!�ɹ��������`��W�'��M�
d(=��ؤQV�9?�r!��'��h��Ɋ'2��yG�D�pZm��H�C�6y.����K��Oho~��G�x�hnC���hCJLC�$�h/C��� �죤�����i-	�<��R.r�
އR�+@h�c����\�_$b)��� kN;�N��p�@f"����l�R��,B�Rl�ޡ�l2��Z^G�,-�Roa�<�K����6B��B��E��zːR�5��hi��!iQhR4L:]�V��d���z�8�þT�B�(HC�򷶊ÇƓdF������&M/ȧ�^�]�~��Z��k7�7
�;����sK�[x� =��ء��w�
���v�Ƕm��*��X]�|�/�|�x��B��HР��eq�弢�p�k��9.��ž�V����ίs3S��/R�P<q��Ó�%��J��g�u��^�lT�\�c�,�8���M��hfd6�3�$I��,��f׮��<[;��B����=���N��խ����P��N{]	�?�>���pl7�1��IEND�B`�PḲG���'%'%0chatty/gui/components/help/help-addressbook.html<!DOCTYPE html>
<html>
	<title>Chatty - Addressbook</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">To main help page</a></div>
    <h1><a name="top">Addressbook</a></h1>
    <p>
        <a href="#editing">Editing Locally</a> (<a href="#commands">Commands</a>) | 
        <a href="#advanced">Advanced Usage</a> (<a href="#modcommands">Mod Commands</a>, <a href="#file">Change via file</a>)
    </p>
     <p>The addressbook allows you to add usernames and assign categories to
        them, which can then be used in other places such as the <a href="help-settings.html#Usercolors">Usercolor settings</a>
        or the <a href="help-settings.html#Highlight">Highlight settings</a>.
        Categories cannot contain spaces and are all made lowercase when added/loaded from file.</p>
     <h2><a name="editing">Editing Locally</a></h2>
    <p>The addressbook can be edited in several ways:</p>
    <ul>
        <li>The addressbook dialog (<code>&lt;Main Menu&gt; - Channels - Addressbook</code>)
        where all entries are listed and you can add/edit/remove entries.</li>
        <li>From the user context menu (when you click on a user, then <code>Addressbook</code>)
        where the entry for this user can be directly added/edited/removed. There
        you can just select/unselect the categories this user should be in
        (although only the categories that are already used in the addressbook
        are listed, so if you want to add a completely
        new category, you have to add it once by manually editing an entry).</li>
        <li>The commands that are listed below.</li>
    </ul>
     <h3><a name="commands">Commands</a></h3>
    <p>In addition to the addressbook dialog and user context menu, there are also some commands to
        edit the addressbook. All commands are prefixed with <code>/ab</code>
        (e.g. <code>/ab add &lt;name&gt;</code>) or alternatively <code>/users</code> (e.g. <code>/users add &lt;name&gt;</code>):</p>
    <ul>
        <li><code>add &lt;name&gt;</code> - Adds a name</li>
        <li><code>add &lt;name&gt; &lt;categories&gt;</code> - Adds a name and directly assigns it the given categories, or adds the
            categories to the name if it already exists (categories are comma-seperated, without spaces)</li>
        <li><code>set &lt;name&gt; &lt;categories&gt;</code> - Sets the categories for this name, adding it if necessary, replacing
            any present categories for this name</li>
        <li><code>remove &lt;name&gt;</code> - Completely removes the given name</li>
        <li><code>remove &lt;name&gt; &lt;categories&gt;</code> - Removes the given categories from this name, but leaves
            the name</li>
        <li><code>change &lt;name&gt; &lt;categoriesModification&gt;</code> - Prepend categories with <code>+</code>,
            <code>-</code> or <code>!</code> to add, remove or toggle the categories respectively. You can specify more than
            one set of categories, for example: <code>change test +a,b -c !d</code> adds a and b, removes c and toggles d</li>
        <li><code>get &lt;name&gt;</code> - Shows the categories for this name</li>
        <li><code>info</code> - Shows number of entries and used categories</li>
    </ul>
    <p>Categories are given as a comma-seperated list without spaces, e.g. <code>cat1,cat2,cat3</code>.</p>
    <p>The following commands edit all entries at once, so they should be used with care:</p>
    <ul>
        <li><code>renameCategory &lt;currentName&gt; &lt;newName&gt;</code> - Renames a category, which means all occurences
            of <code>currentName</code> are replaced with <code>newName</code> in all entries. This can also
            be used to merge categories, if <code>newName</code> already exists.</li>
        <li><code>removeCategory &lt;name&gt;</code> - Removes the category with the given name from all entries</li>
    </ul>
     <h3>Command Examples</h3>
    <dl>
        <dt><code>/ab add josh vip</code></dt>
        <dd>Adds the category called <code>vip</code> to the user called <code>josh</code></dd>
        <dd>(Also adds the user to the addressbook in the first place, if not already there)</dd>
        <dd>(<code>josh</code>'s categories would now be: <code>vip</code>)</dd>
         <dt><code>/ab set josh rainbow</code></dt>
        <dd>Sets the categories of the user <code>josh</code> to <code>rainbow</code>, replacing
            any previously associated categories</dd>
        <dd>(<code>josh</code>'s categories would now be: <code>rainbow</code>)</dd>
        <dd>(Also makes <code>josh</code> kind of colorful in chat, try it out with your own name Kappa)</dd>
         <dt><code>/ab add josh vip</code></dt>
        <dd>Adds the category called <code>vip</code> to the user <code>josh</code></dd>
        <dd>(<code>josh</code>'s categories would now be: <code>rainbow,vip</code>)</dd>
         <dt><code>/ab remove josh vip</code></dt>
        <dd>Removes the category called <code>vip</code> from the user <code>josh</code>,
        keeping the other categories untouched</dd>
        <dd>(<code>josh</code>'s categories would now again be: <code>rainbow</code>)</dd>
     </dl>
     <h2><a name="advanced">Advanced Usage</a></h2>
    <p>The following features are a bit more advanced and should only be used if
    you somewhat know what you're doing.</p>
     <h3><a name="modcommands">Moderator Commands</a></h3>
    <p>You can use this to let the moderators of your channel edit your addressbook.
    Depending on what commands you allow them to use, this can be a powerful tool,
    so make sure you keep an eye on what your moderators do.</p>
     <p>The following settings affect the this feature (you have to change them
        via setting commands):</p>
     <dl>
        <dt><code>abCommandsChannel</code></dt>
        <dd>Set this to the channel you want this enabled in. You can reset the
            setting to empty using the <code>/clearSetting</code> command to
            disable the mod commands again.</dd>
        <dd><code>/set abCommandsChannel #yourchannel</code></dd>
         <dt><code>abCommands</code></dt>
        <dd>A comma-seperated list of commands you want the mods to be able to
        use. Commands can be anything that is
        listed in the <a href="#commands">Commands</a> section above. So for
        example if you wanted to allow the <code>add</code> and <code>set</code>
        commands, the setting value would be <code>add,set</code> (no spaces).</dd>
        <dd><code>/set abCommands add,set</code></dd>
        <dd><em>Default value for this is <code>add,set,remove</code>.</em></dd>
    </dl>
     <p>If you set the settings accordingly, then the mods will be able to use
        e.g. <code>!add name category</code> to add <code>name</code> to your
        Addressbook with the category <code>category</code>. Chatty will output
        a message about the change, similiar to when you enter the command yourself.
        It does not send a message to chat, so if you want your moderators to see an
        actual response, you need to have Chatty on stream (which means the response
        is also affected by stream delay of course).</p>
     <h3><a name="file">Change Addressbook via file</a></h3>
    <p><em>This is a rather experimental feature, so it might not work reliably.</em></p>
     <p>You can write Addressbook commands (one per line) to the <code>addressbookImport.txt</code>
        file in the settings directory (enter <code>/dir</code> to find out what
    your settings directory is). You can use any commands specified in the Commands section above, without
        the <code>/ab</code> or <code>/users</code> prefix (since it's already
    implied that they are Addressbook commands). For example:</p>
    <pre>add darthclide level1
change nightbot !vip
set testi ignore</pre>
     <p>To perform an import, enter the <code>/abImport</code> command and Chatty
        will read the file and execute each command as if you would have entered
        it in the input box. Information about the
        command results is output in the debug window (<code>Extra - Debug window</code>)
        and the debug log file.</p>
     <p>You can also set the <code>abAutoImport</code> setting (<code>/set abAutoImport on</code>)
    and the file will be read automatically within a few seconds when it is
    detected to have been changed. You have to restart Chatty after changing
    the <code>abAutoImport</code> value for it to take effect.
    To make sure no data is lost, you should not
    write to the file too often, or else it may already be overwritten once
    changes are detected and the file contents are read and the commands performed.</p>
     <p>It will also not be read automatically when you on start of Chatty,
    so you should only apply changes while Chatty is running or
    use the <code>/abImport</code> command to manually read the file once after
    start. If you only change the file while Chatty is running, manually reading
    the file should not be necessary.</p>
     <p>Example: <a href="http://pastebin.com/LDFpEUaC">mIRC script</a> to edit the Addressbook.</p>
</body>
</html>
 PḲG����*chatty/gui/components/help/help-admin.html<!DOCTYPE html>
<html>
	<title>Chatty - Admin Dialog</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">To main help page</a></div>
    <h1><a name="top">Admin Dialog</a></h1>
    <p>
        <a href="#status">Change game/title</a> | 
        <a href="#commercials">Run commercials</a>
    </p>
     <p><em>Open the Admin Dialog via <code>View - Channel Admin</code> or by
            right-clicking on the channel to open the context menu and choose
            <code>Channel Admin</code>.</em></p>
     <p>In the Admin Dialog you can change the title/game of your channel and
    run commercials, if you have allowed the necessary access when getting your
    login data. You need <code>Editor access</code> for changing game/title and
    <code>Commercial access</code> for running commercials. See <a href="help.html#access">allow more access</a>.</p>
    <p>The Admin Dialog is always opened for the currently selected channel,
    unless there is no channel open (which is the case just after you started Chatty),
    in which case it will always be opened for your own channel, which is derived
    from your configured account name.</p>
     <h2><a name="status">Change game/title</a></h2>
    <p>The Status-Tab lets you view and change the title and game of your channel.
    The information is loaded when you open the dialog and when you press the
    <code>reload</code>-Button. If others may have changed the info in the meantime,
    you may want to reload before trying to change it.</p>
     <h3>Select a game</h3>
    <p>When you select a game, another dialog will open where you should enter
        part of the name of the game in the search field and hit <kbd>Enter</kbd>
        or click the <code>Search</code>-Button to find the correct name, which
    you can then select. You can also just use the name you entered yourself,
    but you should usually use the search to make sure your stream appears in
    the correct category on Twitch.</p>
     <h3>Use presets</h3>
    <p>There are also status presets, which allow you to add a combination of
        title and game, so you can select it later. By pressing <code>Fav</code>
        on the Status-Tab, you can add the current status to the favorites.
        The status is also automatically added to the history every time you
        press the <code>Update</code> button.</p>
    <p>Press the <code>Presets</code> button to open a table with the favorites
        and status history. You can filter the table by only showing entries for
        the game currently have selected or only showing favorites.</p>
    <p>History entries (the ones that are not favorites) are automatically
        removed after some time, you can change when they are removed and
        whether they should be added in the first place in the settings.</p>
    <p>The <code>Last Activity</code> columns shows when this status was last
        set using the <code>Update</code> button (or when it was added to the
        favorites for the first time). The <code>Usage</code> column shows how
        often it was set using the <code>Update</code> button.</p>
     <h2><a name="commercials">Run commercials</a></h2>
    <p>If you are partnered with Twitch, you can run commercials on your channel
    here (even if you are not partnered it may run a commercial). Click on the
    appropriate button to try to run a commercial of the given length.</p>
     <p>The <code>Last run</code> time shows when a commercial was last run
    through Chatty (this session).</p>
     <h3>Schedule commercials</h3>
    <p>There are two different ways of scheduling a commercial, either running
    a single commerical on a delay or repeating running a commercial on a delay.
    Select either or both options and then press a <code>Run commercial</code>
    button to schedule the commercial. Press the same button again to cancel the
    scheduled commercial. Click a button of another length to change the length
    of the commercial while keeping it on schedule. Scheduled commercials are
    not completely exact, they may be run a few sceonds too late.</p>
     <p>If you have <code>Use delay</code> selected, then the commercial will be
        scheduled to run after the specified time. If you have <code>Repeat</code> selected,
    then - after each commercial run through Chatty - another commercial will automatically be scheduled to run again with the same delay.
    You don't need to have <code>Use delay</code> selected for <code>Repeat</code>
    to work, they just both use the same time as delay.</p>
     <p>The time for the delay will be interpreted as seconds by default, but you
    can also specify minutes. Examples: <code>30</code> (30 seconds), <code>5m</code>
    (5 minutes), <code>120s</code> (2 minutes).</p>
     <h3>Run commercials via global hotkey</h3>
    <p>If you have downloaded the appropriate version of Chatty (the one with
    "hotkey" in the .zip filename, Windows only), you can define a global hotkey
    to run 30s commercials on the channel you currently have open. The hotkey
    can be defined on the <code>Commercials</code> tab in the Admin Dialog
    (don't forget to press <code>Set</code> to actually set it).</p>
     <p>If you have the Admin Dialog open on the <code>Commercials</code> tab,
    then executing the hotkey will simulate a click on the 30s button, with all
    the implications like being able to use a delay, running the commercial on
    the channel that the Admin Dialog was opened on (instead of the currently
    active channel) and so on.</p>
</body>
</html>
 PḲGk��3!3!4chatty/gui/components/help/help-getting-started.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Getting Started</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Getting Started</a></h1>
    <p>This is a short guide to help you with installing Chatty and getting familiar with some of it's features.</p>
     <h2>Download & Installation</h2>
    <p>You can download Chatty from it's <a href="http://chatty.github.io/#download">Website</a>.
        The download simply consists of a <code>.zip</code>-file which you should
    extract wherever you want to have Chatty. The extracted files include a
    <code>Chatty.jar</code> which you should usually be able to double-click to
    start the program (if Java is installed properly). (See <a href="help-troubleshooting.html#start">the help</a>
    if Chatty won't start.)</p>
     <h3>Update Chatty</h3>
    <p>If you already have an older version of Chatty and want to update, then
        just replace all the files with the new ones in the <code>.zip</code>.
        Basicially just unzip the <code>.zip</code> into the same folder and overwrite
        all files if asked (unless you have some custom icons or sounds that have the same name).
        You can also unzip it into a new folder (just make sure you don't use the old version anymore).</p>
         <p>Your settings are saved seperately in the <a href="help-guide_folders.html">settings directory</a>
        and are not lost when you upgrade to a new version. The new version should normally
        automatically use the same settings without you needing to change anything.
        If you are interested in what your settings directory is,
        enter <code>/openDir</code> in Chatty. There is also a <code>backup</code>
        folder in there with <a href="help-guide_folders.html#backup">backups</a> of the settings.</p>
         <p>Please check out the <a href="help-releases.html">Release Information</a> for any changes in a new version that
        may require your attention.</p>
     <p><em>Note:</em> If you downgrade to an older version of Chatty, some settings (that the older
        version didn't have yet) may be lost. So make sure you don't run old versions of Chatty
        without knowing what you are doing, if you have changed settings unique to newer versions.</p>
     <h2>Creating a login</h2>
    <p>If you are starting Chatty for the first time, you will have to request
    login data from Twitch so Chatty can connect to chat for you and do other
    stuff like show live streams you follow.</p>
    <p>In the <code>Connect</code>-dialog, click on <code>Create login..</code>
        and then <code>Request login data</code> and simply follow the instructions.
    Once you successfully created the login, close the dialog until you get back
    to the <code>Connect</code>-dialog. (There is a <a href="help-guide2.html">Guide</a> on what to do
    when getting login data fails.)</p>
     <h2>Join channels (and leave channels)</h2>
    <p>In the <code>Connect</code>-dialog enter the name of the channel you want
        to join in the <code>Channel:</code> input box. The name of the channel
    is the same as the name of the stream. You can enter more than one channel
    name to join by seperating them with a comma. To connect simply press <kbd>Enter</kbd>
    or click on <code>Connect</code>. After connecting, it will automatically join
    the channels you specified.</p>
     <p>Even after connecting you can join additional channels via <code>Channels - Join Channel</code>
        or entering the command <code>/join &lt;channelname&gt;</code> in the inputbox
        (e.g. <code>/join joshimuz</code>).</p>
     <p>You can leave channels by right-clicking anywhere in the channel and
        selecting <code>Close Channel</code> from the context menu or right-clicking
    on the channel's tab (only available if there is more than one channel) and
    selecting <code>Close</code> from the context menu.</p>
     <h2>Chatting and Moderating</h2>
    <p>Chatting is pretty straightfoward as you would expect from any chat program,
    however the inputbox has a few useful features. Enter the beginning of a name
    in chat and press <kbd>TAB</kbd> to <a href="help.html#nickCompletion">auto-complete</a> the name.
    Press <kbd>Up-Arrow</kbd> key to go back to <a href="help.html#inputHistory">previous stuff you entered</a>.</p>
     <p>To moderate a chat, you can of course use the regular moderations commands
        like <code>/ban</code>, <code>/timeout</code> and so on, but a much more
    convenient method is to click on the name of a user you want to ban/timeout,
    which opens the <code>User</code>-dialog, containing several moderation
    buttons as well as the recent messages of that user, so you can quickly check
    if you are actually timing out the correct user.</p>
     <p>Also check out the options to <a href="help.html#pausechat">pause chat</a>
        and timing out users via <a href="help.html#userselection">shortcuts only</a>.</p>
     <p><img src="userdialog.jpg" alt="User Dialog with moderation buttons" /></p>
     <h2>Information about the current stream</h2>
    <p>Chatty regulary requests information about the current stream, which is
        displayed in the titlebar and the <code>Channel Info</code>-dialog.</p>
     <p><img src="0_4_overview_top.png" alt="Chatty Title and Tabs" /></p>
     <p>You can open the <code><a href="help.html#channelinfo">Channel Info</a></code> via the <code>View</code>-menu
    or the channel context menu (right-click anywhere on the channel). The
    <code>Channel Info</code> contains the current title/game but also a history
    of the Viewercount and previous title/games (if you hover over points).</p>
    <p><img src="viewerhistory_small.gif" alt="Chatty Channel Info Dialog" /></p>
     <h2>Get notified about streams you follow that go live (and join them)</h2>
    <p>Open the <code>Live Channels</code>-window via <code>Channels - Live Channels</code>
    to open up a list of streams you follow that are currently live or streams
    whose channel you have currently joined that are currently live.</p>
     <p>(You need to have the <a href="help.html#login">required access</a> with your login data to see streams
    you follow.)</p>
     <p>You can enable/disable showing streams you follow in the <code>Settings - Notifications</code>.
    There you can also configure what kind of Tray Notification you want to have
    pop up for stream status changes or highlighted messages.</p>
     <p>To join channels directly out of the <code>Live Channels</code>-dialog
        right-click on a stream to open the context menu and then select <code>Join channel</code>
    to join the channel for that stream and if you want also open the stream in
    your browser or <a href="help-livestreamer.html">Livestreamer</a>.</p>
     <h2>More stuff you might want to try out..</h2>
    <ul>
        <li><strong>Right-clicking</strong>, or whatever opens a context menu
        in your OS. There are a lot of context menus in Chatty, e.g. for usernames
        (as shown above), links, emoticons, anywhere else in the channel, tabs,
        entries in favorites, the live streams dialog, the Channel Info dialog..</li>
        <li><strong>Configure Chatty</strong> to your needs. Open the <code>Settings</code>
            from the <code>Main</code>-menu to get all kinds of settings to adjust
            Chatty to your preference. Please make use of the <code>Help</code> link
            in the bottom left corner of the <code>Settings</code>-dialog to get
            help on the current page of settings you have selected.</li>
        <li><strong>Ask</strong> if you don't understand something. I tried to
        make the help as comprehensive and easy to understand as possible, but
        a lot of stuff is probably pretty confusing if you aren't as familiar with
        the program as I am. So please ask about stuff and maybe also (if you can)
        propose changes to the help that would make it easier to understand. There
        are various ways to <a href="help.html#contact">contact</a> me.</li>
    </ul>
  </body>
</html>
 PḲG�R�BB+chatty/gui/components/help/help-guide1.html<!DOCTYPE html>
<html>
	<title>Chatty Help</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Guide: Run more than one instance of Chatty</a></h1>
    <p>If you want to run Chatty more than once at the same time, you may need
    to know how it saves it's settings. By default the settings are saved
    in your user-directory in the subfolder <code>.chatty</code> (where it is
    exactly is system-dependant, enter <code>/dir</code> in Chatty to show it's location). When you run the program, it loads the settings
    and when you exit the program, it saves them, overwriting the file with
    no regard to possible changes (to the file) that may have occured in the meantime.</p>
    <p>This means that when you run more than one instance on the same computer,
    the last one you close always overwrites the settings.</p>
     <h2>Seperate settings</h2>
    <p>You can change the default settings directory by using the <code>-cd</code>
    commandline paramter, which changes the settings directory to the current
    working directory, meaning the settings are loaded and saved in the same
    location you specified as working directory.</p>
    <p>This means you can easily run more than one instance on the same computer
    with completely different settings, just by using that commandline parameter
    and specifying different working directories (e.g. in Windows in the shortcut
    settings).</p>
    <p>See also: <a href="help-guide_create_shortcut.html">Create Shortcut</a>.</p>
     <h2>Sharing login data</h2>
    <p>When you want to run several instances with different settings, but want
    to use the same account, you run into problems. Everytime you request login
    data (token), the old login is invalidated, so you have to share the login data
    you already have between different instances.</p>
     <p>You can do this by simply copying the <code>login</code> settings file
    which contains the login data. Make sure you closed the Chatty instance
    you requested the login data with at least once, so it's actually saved
    to the file.</p>
     <p>You could also try to play around with <a href="https://en.wikipedia.org/wiki/Symbolic_link">symbolic links</a>
        to point to a shared <code>login</code> file.</p>
     <h2>Using Chatty on different computers</h2>
    <p>If you want to run Chatty on different computers with the same account,
    you run into the same problem as mentioned under <em>Sharing login data</em>:
    You can't have more than one access token with the same account for the same
    app at the same time.</p>
    <p>To use Chatty on more than one computer with the same account, you'll
        have to transfer the login data, either by copying the <code>login</code>
        file or by entering the access token manually
        (<code>/get token</code> displays the token,
        <code>/changetoken &lt;token&gt;</code> changes it).</p>
 </body>
</html>
 PḲG���cc+chatty/gui/components/help/help-guide2.html<!DOCTYPE html>
<html>
	<title>Chatty Help</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Guide: What to do when getting login fails</a></h1>
    <p>Use this guide when the normal procedure of getting login data fails.</p>
     <h2>Can't listen to port</h2>
    <p>If you open the <code>Get login data</code> dialog and it says it can't
    listen to the port, first check the following:</p>
    <ul>
        <li>Make sure no other instance of Chatty is running that may already
        have taken the port.</li>
        <li>Check if no other program may already be listening to that port.</li>
        <li>If the problem persists, reboot your PC and then try again.</li>
    </ul>
    <p>If you can't fix this problem and there are no other error messages that
    may indicate what is going wrong, then you can manually open the necessary
    page (<em>opening any of these links will invalidate any previous login
    you requested for Chatty, so only do it if you really want to get a new one</em>):</p>
    <table class="loginlinks">
        <tr>
            <th></th>
            <th>Chat</th>
            <th>User read</th>
            <th>Editor</th>
            <th>Commercials</th>
            <th>Subscribers</th>
        </tr>
        <tr>
            <td><a href="https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&scope=chat_login">Request new login</a></td>
            <td>x</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><a href="https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&scope=chat_login+user_read">Request new login</a></td>
            <td>x</td>
            <td>x</td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><a href="https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&scope=chat_login+channel_editor+user_read">Request new login</a></td>
            <td>x</td>
            <td>x</td>
            <td>x</td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><a href="https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&scope=chat_login+channel_editor+channel_commercial+user_read">Request new login</a></td>
            <td>x</td>
            <td>x</td>
            <td>x</td>
            <td>x</td>
            <td></td>
        </tr>
        <tr>
            <td><a href="https://api.twitch.tv/kraken/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&scope=chat_login+channel_editor+channel_commercial+user_read+channel_subscriptions">Request new login</a></td>
            <td>x</td>
            <td>x</td>
            <td>x</td>
            <td>x</td>
            <td>x</td>
        </tr>
    </table>
    <p>Since the webserver in Chatty won't run if you got any of the aforementioned
    errors, your browser will tell you it can't load the page when you get to
    <code>http://127.0.0.1:61324</code>. Read on in the next section, especially
    <a href="#addtokenmanually">Manually add the login into Chatty</a>.</p>
     <h2>The browser says it can't open the page after you authorized Chatty</h2>
    <p>If you successfully opened the link, authorized Chatty on the Twitch.tv
    page and got redirected, but the browser can't open the page, first check this:</p>
    <ul>
        <li>If you followed the regular process until now, check if the <code>
                Get login data</code> dialog is still open and it says <code>Ready.</code>.
        It needs to be open for this to work and will close automatically when it received
        the necessary data.</li>
    </ul>
    <p>If you can't get the page to load, you can manually add the login data into Chatty.</p>
    <h3><a name="addtokenmanually">Manually add the login into Chatty</a></h3>
    <p>The information you need should be in the address bar of your browser (where you got the error that it couldn't connect to the page).
    It should look something like this:</p>
    <code>http://127.0.0.1:61324/token/#access_token=<strong>[longish mix of letters and numbers]</strong>&amp;scope=chat_login+channel_editor+channel_commercial+user_read</code>
     <p>The <code>access_token</code> (longish mix of letters and numbers)
        is sort of a revokable password that lets Chatty
    use some of the Twitch services on behalf of your account. Copy that from
    the address bar, go to Chatty (close all dialogs if necessary) and paste
    it into the following command (that you type into the input bar):</p>
    <code>/changetoken &lt;the access token&gt;</code>
    <p>For example if the url looked like this:</p>
    <code>http://127.0.0.1:61324/token/#access_token=<strong>abcdefghi12345abcdefg</strong>&amp;scope=chat_login+channel_editor+channel_commercial+user_read</code>
    <p>Then you enter this in Chatty:</p>
    <code>/changetoken abcdefghi12345abcdefg</code>
     <p>After entering the command, Chatty will finish the process by checking
    the token and getting the username associated with it. If everything is ok,
    it should say that you are now ready to connect.</p>
    <p>If you want, you can check in <code>Main - Login..</code>
    whether the token you entered has the correct access associated with it.</p>
</body>
</html>
 PḲG,*���:chatty/gui/components/help/help-guide_create_shortcut.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Create Shortcut and add Icon</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Create Shortcut and add Icon</a></h1>
     <p>This applies to Windows 7, not sure about other OS.</p>
     <p>You can create a shortcut for Chatty, which has some potential advantages (depending on what you need):</p>
    <ul>
	    <li>You can give Chatty <a href="help.html#launch">launch options</a>, like <code>-cd</code> to use a different <a href="help-guide_folders.html">settings directory</a>.</li>
	    <li>You can attach Chatty to the taskbar.</li>
	    <li>You can give the shortcut the Chatty icon, to replace the Java icon without changing it for all Java programs.</li>
    </ul>
    <h2>Create shortcut</h2>
    <p>Create a shortcut to Java to start Chatty:</p>
    <h3>First way</h3>
<ul>
	<li>Right-click in the folder you want to create the shortcut in, choose <code>New - Shortcut</code> from the context menu. Enter <code>javaw -jar "D:\Chatty\Chatty.jar"</code> as location of the item.</li>
	<li>Go to the next page and enter a name for the shortcut and finish creating the shorcut.</li>
	<li>Right-click on the newly created shortcut and choose <code>Properties</code> from the context menu. Make sure that under <code>Shortcut</code> the <code>Start in</code> points to the folder that the <code>Chatty.jar</code> is in (otherwise some stuff might not work).</li>
</ul>
<h3>Second way</h3>
<ul>
	<li>Right-click on the <code>Chatty.jar</code> and drag it to an open area in the folder, then let go to open the context menu, choose the option to create a shortcut.</li>
	<li>Right-click on the newly created shortcut and choose <code>Properties</code> from the context menu. In the <code>Target</code> field, it should have the path to the <code>Chatty.jar</code>. Before that add: <code>javaw -jar </code>, so that in total it reads for example: <code>javaw -jar "D:\Chatty\Chatty.jar"</code></li>
</ul>
 <h2>Editing shortcut</h2>
<p>Add launch options or icon:</p>
<ul>
	<li>Right-click on the newly created shortcut and choose <code>Properties</code> from the context menu, then go to the <code>Shortcut</code> tab.</li>
	<li>Add any <a href="help.html#launch">launch options</a> you want to use with Chatty after the path to Chatty. For example: <code>javaw -jar "D:\Chatty\Chatty.jar" -cd</code></li>
	<li>Click <code>Change Icon..</code> and then <code>Browse..</code> to select an item to use for the Shortcut from your harddrive. (<a href="http://chatty.github.io/Chatty.ico">Download Chatty icon as <code>.ico</code> file</a>, right-click and <code>Save target as..</code>)</li>
</ul>
<h2>Use shortcut</h2>
<p>You can then start Chatty by using this shortcut or you can drag it to the taskbar to attach it to it.</p>
</body>
</html>
 PḲG�:,%,%2chatty/gui/components/help/help-guide_folders.html<!DOCTYPE html>
<html>
	<title>Chatty Help</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
        <style type="text/css">
            .fileComment {
                color: gray;
            }
            .fileCommentFolder {
             }
            .filesT {
                font-family: Monospace;
                margin: 10px 0 14px 0;
            }
            .filesT td {
                margin: 0;
                padding: 0;
                padding-right: 5px;
                padding-top: 2px;
            }
         </style>
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Guide: Chatty directories and files</a></h1>
    <p>
        <a href="#files">Files/Directory structure</a> |
        <a href="#backup">Backup</a>
    </p>
    <p>Learn what directories and files Chatty creates/uses.</p>
     <h2><a name="files">Files/Directory structure</a></h2>
    <h3>Settings Directory</h3>
        <p>The settings directory by default is in your user home directory in a
        subfolder called <code>.chatty</code>. If you use the <code>-cd</code>
    commandline parameter, then the settings directory is the current Working
    Directory.</p>
         <p>You can use commandline parameters by <a href="help-guide_create_shortcut.html">creating a shortcut</a> and setting the
        target to something like <code>javaw.exe -jar "D:\Chatty\Chatty.jar" -cd</code>.</p>
     <p>Use the command <code>/dir</code> to display and <code>/openDir</code> to
        open the Settings Directory.</p>
    <table class="filesT">
        <tr>
            <td>&lt;settings directory&gt;</td>
            <td></td>
        </tr>
        <tr>
            <td>|-- backup</td>
            <td class="fileCommentFolder">[Folder]</td>
        </tr>
        <tr>
            <td>|&nbsp; &nbsp;|-- backup_x_&lt;filename&gt;</td>
            <td class="fileComment">Setting backups</td>
        </tr>
        <tr>
            <td>|&nbsp; &nbsp;|-- backup_meta</td>
            <td class="fileComment">Backups meta (last backup, numbering)</td>
        </tr>
        <tr>
            <td>|-- cache</td>
            <td class="fileCommentFolder">[Folder]</td>
        </tr>
        <tr>
            <td>|&nbsp; &nbsp;|-- &lt;various cache files&gt;</td>
            <td class="fileComment">Cached emotes/image files</td>
        </tr>
        <tr>
            <td>|-- exported</td>
            <td class="fileCommentFolder">[Folder] Files intended to be read
                by the user</td>
        </tr>
        <tr>
            <td>|&nbsp; &nbsp;|-- stream_highlights.txt</td>
            <td class="fileComment">Recorded stream highlights</td>
        </tr>
        <tr>
            <td>|-- logs</td>
            <td class="fileCommentFolder">[Folder]</td>
        </tr>
        <tr>
            <td>|&nbsp; &nbsp;|-- &lt;channel&gt;.log</td>
            <td class="fileComment">Chat log files</td>
        </tr>
        <tr>
            <td>|-- addressbook</td>
            <td class="fileComment">[Settings] Addressbook entries</td>
        </tr>
        <tr>
            <td>|-- login</td>
            <td class="fileComment">[Settings] Your login data (keep this secure)</td>
        </tr>
        <tr>
            <td>|-- favoritesAndHistory</td>
            <td class="fileComment">[Settings] Channel History/Favorites</td>
        </tr>
        <tr>
            <td>|-- settings</td>
            <td class="fileComment">[Settings] Main Settings File</td>
        </tr>
        <tr>
            <td>|-- statusPresets</td>
            <td class="fileComment">[Settings] Stream Title/Game presets (Admin Dialog)</td>
        </tr>
        <tr>
            <td>|-- debug_session.log.x</td>
            <td class="fileComment">Last session debug log (overwritten every run)</td>
        </tr>
        <tr>
            <td>|-- debugx.log.x</td>
            <td class="fileComment">Rotating debug log</td>
        </tr>
        <tr>
            <td>|-- debug_ircx.log.x</td>
            <td class="fileComment">Rotating raw IRC log (only if enabled)</td>
        </tr>
     </table>
     <h3><a name="wdir">Working Directory</a></h3>
    <p>This directory is associated with Chatty when you start it. This is usually
    the directory the program is started from. If you created a shortcut to start
    Chatty with, this may point to the Java-executable instead of Chatty itself,
    which can lead to errors. In Windows, you can change the Working Directory
    in the shortcut settings by changing what is defined under <code>Run in</code>.
    Make sure this points to the same folder the <code>Chatty.jar</code> is in
    (or something else if you want to customize it, just make sure the files you
    need are there).</p>
     <p>Use the command <code>/wdir</code> to display and <code>/openWdir</code>
        to open the Working Directory.</p>
         <table class="filesT">
        <tr>
            <td>&lt;working directory&gt;</td>
            <td></td>
        </tr>
        <tr>
            <td>|-- sounds</td>
            <td class="fileCommentFolder">[Folder] Sound files</td>
        </tr>
        <tr>
            <td>|&nbsp; &nbsp;|-- &lt;sound&gt;.wav</td>
            <td class="fileComment">.wav files</td>
        </tr>
        <tr>
            <td>|-- img</td>
            <td class="fileCommentFolder">[Folder] Image files for custom usericons</td>
        </tr>
        <tr>
            <td>|&nbsp;&nbsp;&nbsp;|--&nbsp;&lt;various&nbsp;images&gt;</td>
            <td class="fileComment">.png files</td>
        </tr>
        <tr>
            <td>|-- JIntellitype.dll</td>
            <td class="fileComment">DLL for global hotkey support</td>
        </tr>
    </table>
     <h3>JAR Location</h3>
    <p>This is where the Chatty.jar is located and is used for loading libraries
    that Chatty uses.</p>
     <h2><a name="backup">Backup</a></h2>
    <p>Chatty performs an automatic backup (enabled by default) everytime it is
    started (if at least the number of days as defined in the settings have passed,
    by default one). It copies the setting files (except login) to the backup folder
    in the settings directory, increasing the numbering of the files with every
    backup. It only makes as many backups as defined in the settings and then
    starts over with the first number, rotating the files.</p>
     <p>This is supposed to make recovery of settings easier in case they are not
        read or written correctly and thus lost (which shouldn't usually
        happen). In that case you can manually copy/rename the lost files from
        a backup (just looks for the most recent one based on the change date
        that looks fine).</p>
     <p><em>If some settings are important to you this can help, but you
            shouldn't rely on it. Always make your own backups, best on a
            different device!</em></p>
             <h3>Restore backup</h3>
            <p>If you lost your setting files (or some of them) but still have
                a backup, you can manually copy the backup to restore it.</p>
            <ol>
                <li>Prepare & Locate Backup Folder
                    <ul>
                        <li>Make sure Chatty is not running. Settings are saved when
                    Chatty is closed, so if you change setting files manually
                    while it is running your manual changes would just be
                    overwritten once you close Chatty.</li>
                        <li>Enter <code>/openBackupDir</code> to open the Backup folder
                    (or enter <code>/dir</code> and navigate to the Backup folder
                    manually).</li>
                        <li>There should be several files in the format <code>backup_x_&lt;name&gt;</code>,
                    these represent the separate batches of backups.</li>
                    </ul>
                </li>
                <li>Find latest backup and rename
                    <ul>
                        <li>Sort the files by modification date in your file browser and
                    choose the latest batch that seems like it might work (e.g.
                    files that are not 0KB, although the addressbook might be if
                    you never used it).</li>
                        <li>Rename the files you want to restore from <code>backup_x_&lt;name&gt;</code>
                    to <code>&lt;name&gt;</code> (for example <code>backup_2_settings</code>
                    to <code>settings</code>). You can ignore the <code>backup_meta</code> file.</li>
                     </ul>
                </li>
                <li>Move renamed files
                    <ul>
                        <li>Copy or move the renamed files to the parent folder (the one
                    you get from <code>/dir</code> or <code>/openDir</code> commands),
                    overwriting any existing setting files.</li>
                    </ul>
                </li>
                <li>After you are done, start Chatty again and the settings
                    should be restored.</li>
            </ol>
</body>
</html>
 PḲGZ���+chatty/gui/components/help/help-issues.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Troubleshooting</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
 <p>Some documentation of prior or current issues for reference.</p>
  <h2>Java Crash: Graphics Driver</h2>
 <p>Chatty just randomly closes, apparently the JRE completely crashes.</p>
 <h3>Crash report excerpt</h3>
 <pre>
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000007f9c08f22bf, pid=272, tid=14464
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [atig6txx.dll+0x122bf]
 [..]
 Stack: [0x000000000f5d0000,0x000000000f6d0000],  sp=0x000000000f6c9bc0,  free space=998k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [atig6txx.dll+0x122bf]
C  0x0000000000000000
 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.awt.Win32GraphicsDevice.getMaxConfigsImpl(I)I+0
j  sun.awt.Win32GraphicsDevice.getMaxConfigs(I)I+10
j  sun.awt.Win32GraphicsDevice.getConfigurations()[Ljava/awt/GraphicsConfiguration;+69
j  javax.swing.ToolTipManager.getDrawingGC(Ljava/awt/Point;)Ljava/awt/GraphicsConfiguration;+36
 [..]
</pre>
 <h3>Solution/Workaround</h3>
<p>Seems to have to do with the graphics driver. Reinstalling/updating the graphics driver may
help or using the following commandline parameter, which should disable the calls to the library
that cause the error:</p>
 <p><code>-Dsun.awt.nopixfmt=true</code></p>
 <p>For example:</p>
 <p><code>javaw -Dsun.awt.nopixfmt=true -jar "H:\chatty\Chatty.jar" -cd</code></p>
  <h3>Links</h3>
<ul>
    <li><a href="http://obsproject.com/forum/threads/chatty.14149/#post-81264">http://obsproject.com/forum/threads/chatty.14149/#post-81264</a> (Chatty thread)</li>
    <li><a href="http://www.oxygenxml.com/forum/topic10290.html">http://www.oxygenxml.com/forum/topic10290.html</a> (Crashes of another program and workaround)</li>
    <li><a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6477756">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6477756</a> (Related Bug)</li>
</ul>
      <h2>Random Errors: Using Calibri Font</h2>
 <p>After some time, Chatty suddenly shows an error if using the Calibri font.</p>
 <h3>Excerpts</h3>
 <pre>
java.lang.ArrayIndexOutOfBoundsException: 168
	at sun.font.ExtendedTextSourceLabel.getCharX(ExtendedTextSourceLabel.java:353)
	at java.awt.font.TextLine$3.computeFunction(TextLine.java:515)
	at java.awt.font.TextLine.applyFunctionAtIndex(TextLine.java:651)
	at java.awt.font.TextLine.getCharXPosition(TextLine.java:668)
	at java.awt.font.TextLine.getCharLinePosition(TextLine.java:678)
	at java.awt.font.TextLayout.buildCache(TextLayout.java:683)
	at java.awt.font.TextLayout.ensureCache(TextLayout.java:655)
	at java.awt.font.TextLayout.getAdvance(TextLayout.java:885)
	at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:510)
	at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:422)
	at javax.swing.text.GlyphPainter1.getBoundedPosition(GlyphPainter1.java:213)
	at javax.swing.text.GlyphView.getBreakWeight(GlyphView.java:722)
	at javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:732)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:568)
	at javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:903)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:343)
	at javax.swing.text.BoxView.layout(BoxView.java:708)
	at javax.swing.text.BoxView.setSize(BoxView.java:397)
	at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1714)
	at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1046)
	at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1022)
	at javax.swing.text.JTextComponent.modelToView(JTextComponent.java:1428)
	at chatty.gui.components.ChannelTextPane$ScrollManager.scrollDown(ChannelTextPane.java:1107)
	at chatty.gui.components.ChannelTextPane$ScrollManager.access$200(ChannelTextPane.java:994)
	at chatty.gui.components.ChannelTextPane.printInternal(ChannelTextPane.java:932)
	at chatty.gui.components.ChannelTextPane.print(ChannelTextPane.java:906)
	at chatty.gui.components.ChannelTextPane.printSpecials(ChannelTextPane.java:772)
	at chatty.gui.components.ChannelTextPane.printMessage(ChannelTextPane.java:189)
	at chatty.gui.components.Channel.printMessage(Channel.java:228)
	at chatty.gui.MainGui$15.run(MainGui.java:1498)
  java.lang.ArrayIndexOutOfBoundsException: 0
        at sun.font.ExtendedTextSourceLabel.createCharinfo(Unknown Source)
        at sun.font.ExtendedTextSourceLabel.getCharinfo(Unknown Source)
        at sun.font.ExtendedTextSourceLabel.getCharX(Unknown Source)
        at java.awt.font.TextLine$3.computeFunction(Unknown Source)
        at java.awt.font.TextLine.applyFunctionAtIndex(Unknown Source)
        at java.awt.font.TextLine.getCharXPosition(Unknown Source)
        at java.awt.font.TextLine.getCharLinePosition(Unknown Source)
        at java.awt.font.TextLayout.buildCache(Unknown Source)
        at java.awt.font.TextLayout.ensureCache(Unknown Source)
        at java.awt.font.TextLayout.getAdvance(Unknown Source)
        at sun.font.FontDesignMetrics.charsWidth(Unknown Source)
        at javax.swing.text.Utilities.getTabbedTextWidth(Unknown Source)
</pre>
 <h3>Solution/Workaround</h3>
<p>Hopefully this will be fixed in future Java updates, but for now just don't
use a Calibri font.</p>
 <h3>Links</h3>
 <ul>
    <li><a href="http://stackoverflow.com/questions/16331075/error-generating-jasperreport-in-development-mode">http://stackoverflow.com/questions/16331075/error-generating-jasperreport-in-development-mode</a></li>
    <li><a href="https://community.oracle.com/message/11119052#11119052">https://community.oracle.com/message/11119052#11119052</a></li>
</ul>
  <h2>Twitch Emotes appearing wrong on Retina Displays</h2>
<p>Twitch Emoticons appear wrong when Chatty is displayed on a Retina display.
Instead of the Emoticon images, the 404 image the Twitch CDN redirects to is
shown.
 <p>Apparently in newer Java versions <code>Toolkit.getImage()</code> tries to find a higher
resolution image by adding @2 to the file name, which the Twitch CDN actually
responds to by redirecting to an error image, which is then displayed.</p>
 <h3>Solution/Workaround</h3>
<p>Use <code>Toolkit.createImage()</code> and create an <code>ImageIcon</code> with the created image.</p>
 <h3>Links</h3>
<ul>
    <li><a href="https://bugs.openjdk.java.net/browse/JDK-8011059">https://bugs.openjdk.java.net/browse/JDK-8011059</a> (OpenJDK Issue Page about this behaviour)</li>
</ul>
 </body>
</html>PḲG���Q��1chatty/gui/components/help/help-livestreamer.html<!DOCTYPE html>
<html>
	<title>Chatty - Livestreamer</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">To main help page</a></div>
    <h1><a name="top">Livestreamer</a></h1>
    <p>
        <a href="#usage">Usage</a> | 
        <a href="#settings">Settings</a> | 
        <a href="#troubleshooting">Troubleshooting</a>
    </p>
    <p><a href="http://livestreamer.readthedocs.org/en/latest/">Livestreamer</a>
    is a commandline program that can be used to watch streams in a player like
    VLC Player. It has to be downloaded and installed seperately from Chatty.</p>
     <h2><a name="usage">Usage</a></h2>
    <p>You can open the Livestreamer dialog that Chatty provides via 
    <code>Extra - Livestreamer</code>, where you can directly run Livestreamer
    and change some settings.</p>
     <p>Each time you open a stream via the dialog or a context menu, a tab is
    added to the dialog where the output of the Livestreamer process is
    redirected to. If you open a stream with the same stream name and quality you already
    have open in a tab whose process isn't currently running, then that tab will
    be reused.</p>
     <p>The tab of a stream is automatically closed when you close the Video
    Player opened by Livestreamer, if the dialog isn't currently open. Otherwise
    you have to close it yourself by using the <code>Close</code>-button on the
    top right, which turns into an <code>End process</code>-button as long as
    the process is still running. The <code>Retry</code>-button can be used to
    re-run the last command of that tab (for example when it couldn't find the
    stream, but you want to retry now because you know it's come online).</p>
     <h2><a name="settings">Settings</a></h2>
    <p>The settings can be changed in the Livestreamer dialog.</p>
    <ul>
        <li><strong>Enable context menu entry</strong>: Adds Livestreamer to all
        context menus that can be used to open streams (like User Context Menu,
        Channel Context Menu or Live Streams Context Menu).</li>
        <li><strong>Show dialog when opening stream</strong>: Automatically open
        the Livestreamer Dialog when you open a stream out of the context menu.</li>
        <li><strong>Context menu qualities</strong>: You can customize which
        quality options appear in the context menu. The options you enter here
        are directly given as a parameter to Livestreamer, except <code>Select</code>
        which tells Chatty you want to select a quality in the dialog. Seperate
        qualities by space or comma. Add a <code>|</code> (vertical bar) to add
        a seperator to the menu.
         <br /><br />
        Examples:
        <ul>
            <li><code>Best, High, Worst | Select</code></li>
            <li><code>Source High Medium Low Mobile | Select</code></li>
        </ul>
        </li>
        <li><strong>Base command or commandline options</strong>: This is used to
        construct the command to run Livestreamer and is basicially the part
        before the URL and the quality. This should point to the Livestreamer
        program itself, including any commandline options you always want to have included. The default is just <code>livestreamer</code>, which
        should usually be sufficient if the program is correctly included in
        the systems PATH variable (or similiar), but it may also include the
        full path to Livestreamer. Surround the path or any other parameter with quotes if it contains
        spaces (e.g. <code>"C:\My Programs\Livestreamer\livestreamer.exe"</code>).
        <br /><br />
        Examples:
        <ul>
            <li><code>"C:\My Programs\Livestreamer\livestreamer.exe" --player "C:\Program
                    Files\MPC-HC\mpc-hc64.exe"</code> (specify full path to Livestreamer
            and use a different player)</li>
            <li><code>/usr/local/bin/livestreamer</code> (this might work on Linux/Mac
            if it can't find Livestreamer without the full path)</li>
        </ul>
         </li>
        <li><strong>Use Authorization (Twitch Oauth Token)</strong>: Supplies to
        Twitch Access Token that is used for Chatty to Livestreamer to authenticate
        you when watching a stream via Livestreamer (probably only necessary to
        be able to watch sub-only streams).</li>
    </ul>
     <h2><a name="troubleshooting">Troubleshooting</a></h2>
    <p>If you get an error like <code>Error: java.io.IOException: Cannot run
            program "&lt;...&gt;": CreateProcess error=2 [..]</code>, then
    Chatty probably can't find Livestreamer on your system.</p>
     <p>To solve this, first make sure that
    you actually have Livestreamer installed. You need to install it on you own, it does
    not come bundled with Chatty. If you are sure it is installed (and you maybe can
    run it from the commandline just fine), you may have to tell Chatty the full
    path to the Livestreamer executable for it to work by entering it in the
    <code>Base command or commandline options</code> field. See the Settings section
    above for examples and help on that.</p>
</body>
</html>
 PḲG���<�	�	1chatty/gui/components/help/help-memory_usage.html<!DOCTYPE html>
<html>
	<title>Chatty Help</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Memory Usage</a></h1>
     <p>
        <a href="#restrict">Restrict Memory Usage</a> |
        <a href="#error">OutOfMemoryError</a>
    </p>
    <p>The programs memory is managed by Java, which means Java allocates a
        certain amount of memory which is then filled up with data of the program
        and once Java decides so, it cleans up data that is not used anymore
        (Garbage Collection). This leads to the actual memory usage going up and
        down constantly, while the allocated memory mostly stays the same. So
        even if only 50 MB are filled with data by the program <em>at the time</em>, Java may
        still have 200 MB reserved to optimize Gargabe Collection. Thus, the memory usage in e.g. the Task Manager
        may not reflect what the program actually <em>requires</em>, just how
        much Java uses.</p>
     <p>Use the <code>/appinfo</code> command in Chatty to get some information
        about the current memory usage.</p>
     <p>A typical memory usage pattern, which can change over time as the program
        is running while Java optimizes Gargabe Collection:<br />
        <img src="jconsole.jpg" alt="Typical memory usage pattern" /></p>
     <h2><a name="restrict">Restrict Memory Usage</a></h2>
    <p>You can <a href="http://stackoverflow.com/questions/1493913/how-to-set-the-maximum-memory-usage-for-jvm">restrict</a> how much memory Java is allowed to use by specifying
        commandline parameters for Java. <a href="help-guide_create_shortcut.html">Create a shortcut</a>
        and add the appropriate parameter after the <code>javaw.exe</code> but
        before the <code>-jar</code> parameter.</p>
     <p>For example to restrict memory to 100 MB: <code>javaw -Xmx100M -jar "D:\Chatty\Chatty.jar"</code></p>
     <h2><a name="error">OutOfMemoryError</a></h2>
    <p>If you get an OutOfMemoryError then Java ran out of memory. This can
        either be because it simply can't allocate enough memory (at least 100 MB is recommended)
        or there is a bug that prevents it from cleaning up memory that is not
        actually used anymore. These kinds of bugs are pretty difficult to track
        down though, especially if they only occur somewhat randomly.</p>
 </body>
</html>
 PḲGE;��-chatty/gui/components/help/help-releases.html<!DOCTYPE html>
<html>
	<title>Chatty Release Information</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
        <style type="text/css">
            pre {
                border-left: 1px solid #AAAAAA;
                padding: 10px;
                margin-top: 5px;
                color: #222222;
            }
        </style>
<body>
    <div id="backlink"><a href="help.html">To main help page</a></div>
    <h1><a name="top">Release Information</a></h1>
     <p>
    <a href="#0.8.1">0.8.1</a> |
    <a href="#0.8">0.8</a> |
    <a href="#0.7.3">0.7.3</a> |
    <a href="#0.7.2">0.7.2</a> |
    <a href="#0.7.1">0.7.1</a> |
    <a href="#0.7">0.7</a> |
    <a href="#0.6.7">0.6.7</a> |
    <a href="#0.6.6">0.6.6</a> |
    <a href="#0.6.5">0.6.5</a> |
    <a href="#0.6.4">0.6.4</a> |
    <a href="#0.6.3">0.6.3</a> |
    <a href="#0.6.2">0.6.2</a> |
    <a href="#0.6.1">0.6.1</a> |
    <a href="#0.6">0.6</a> |
    <a href="#0.5.1">0.5.1</a> |
    <a href="#0.5">0.5</a> |
    <a href="#0.4">0.4</a> |
    <a href="#0.3">0.3</a>
    </p>
     <p>This page shows important information about new versions as well as the
    full list of changes.</p>
     <h2>
        <a name="0.8.1">Version 0.8.1</a> <a name="latest">(This one!)</a> (2015-08-10)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights / Important Information</h3>
    <ul>
        <li>If you want to use the <code>/w</code> (whisper) command and receive whispers in Chatty, read the
            <a href="help-whisper.html">Whisper Help</a> (some configuration required).</li>
        <li>Added feature to <a href="help.html#pausechat">pause scrolling</a> when moving the mouse over chat
            (you have to enable it in the settings under <code>Chat</code>).</li>
        <li>Added Tabs drag and drop reordering, more menu options for closing and more.</li>
        <li>Readded FFZ Feature Friday support and improved it.</li>
        <li>Show more stream and channel state information (like slowmode, submode, etc.).</li>
    </ul>
        <h3>Full Changelog</h3>
<pre>
#### New features
- Added experimental Whisper support (this will probably not be developed much
  until Twitch moves Whispers to the new system, read help on how to enable)
- Improved TAB Completion: Added predictive sorting for names which gives users
  who recently talked/highlighted you a higher priority, added setting to
  toggle completion to common prefix (disabled by default)
- Added dedicated ignore user lists (separate for chat and whispers)
 #### Chat Window
- Added Pause Chat when moving mouse over chat feature (enable in the settings)
- Changed Ctrl to be used to pause chat, use AltGr for selecting when clicking
  on a username in chat
- Don't scroll down when scrolled up even when scroll down timeout has passed
  while holding Ctrl
- Added one-click moderation when holding Ctrl (configure in the Chat settings)
 #### Tabs
- Added manual resorting of tabs by drag and drop
- Added more menu entries to close tabs to Tab Context Menu
- Rejoin channels in the order the tabs were, when rejoining channels from last
  session on start (depends on the Tab Order setting of course)
- Switch to tab when right-clicking on it (which wasn't the case everywhere)
- Optional mouse wheel scrolling through tabs (enable in the settings)
 #### Emoticons
- Added FFZ Feature Friday again and improved support for it in Emotes Dialog
- Improved Emote Context Menu (open twitchemotes.com for Twitch emotes id,
  added channel submenu for more emotes where it makes sense)
- Added setting to toggle animated emotes (BTTV GIF emotes)
- Allow global FFZ/BTTV emotes to be added to the favorites as well
- Don't show 150% size in Emotes Dialog Detail View when emote is too wide
- Sort Channel Subscriber Emotes alphabetically
 #### Chat/Stream Info Display
- Improved display for long slowmode times in the titlebar
- Implemented new ROOMSTATE command, allowing for accurate display of
  submode/slowmode/r9k in titlebar
- Added stream uptime to the titlebar, added settings to customize what is shown
  in the titlebar a bit more (`View - Options - Titlebar`)
- Added stream uptime to Live Streams Dialog
 #### Settings / Configuration
- Added timestamp option to "Log to file" settings (previously only changeable
  with setting commands)
- Highlight/Ignore: Allow non-standard channels in `chan:`/`!chan:` prefixes
- Added setting for minimum userlist width
- Switched default ports to `6667,443` due to port 80 not being available
  anymore for standard IRC
- Increased default chat buffer size
- Updated Settings Dialog
- Added `$globalmod` and `$anymod` status identifiers for Usericons/Usercolors
- Added `$first` option for Custom Usericon restriction to show them in front of
  the regular Usericons
- Added setting for filtering of combining characters to change between off,
  lenient and strict replacing (filter can circumvent performance issues)
 #### Commands / Menus
- Added Copy Stream Name to Channel Context Menu (Miscellaneous submenu)
- Added hotkey action to close all/all shown notifications
- Added /openBackupDir command
- Added entries to the `Extra` menu to record/open Stream Highlights
- Added "Open speedrun.com" Channel Context Menu entry in Miscellaneous submenu
  (which tries to open the leaderboards page for the current game)
 #### Other Changes
- Added "Open in online help" button in Help window
- Show indication of action message (/me) in User Info Dialog chat history and
  log files (star in front of the message)
- Apply bans/timeouts to Stream Chat
- Changed website URL to GitHub
- Improved debug output a bit, renamed current session debug log file
- Keep showing "Update Available" notification after restart
- Removed condition to use maximum reconnection delay when host could not be
  resolved
- Updated help
 #### Bugfixes
- Fixed error in slowmode message parsing
- Changed Ignore option `config:info` to only apply to info messages, not
  regular chat messages
- Fixed tab not showing new message if message was highlighted with
  `config:!notify` option
- Fixed message parsing from inadvertently ignoring some (rare) messages
- Fixed raw message parsing
- Fixed replacing of all linebreak characters when sending message
- Fixed wrong channel being cleared when "Clear chat when cleared by a
  moderator" setting is enabled
- Fixed hotkey bug when opening/closing hotkey settings with global hotkeys
  disabled
- Fixed off-by-one error for reconnection attempts
- Fixed sounds on Linux (hopefully)
</pre>
     <h2>
        <a name="0.8">Version 0.8</a> (2015-06-09)
        <a href="#top" class="top">[back to top]</a>
    </h2>
     <h3>Highlights</h3>
    <ul>
        <li>Improved Emoticon Dialog: Shows all global emotes and a detail
        view for emotes.</li>
        <li>TAB Completion: Now supporting completion of emotes (<kbd>Shift-TAB</kbd>),
            setting names (<kbd>TAB</kbd> when typing after a setting command)
            and custom completion items which can be added in the <a href="help-settings.html#Completion">settings</a>.
            Also added popup showing info during completion and changed behaviour
            a bit accordingly.</li>
        <li>Correctly capitalized names are now enabled by default, since support
        for the new display name tag that Twitch Chat provides has been added.</li>
        <li>Added ability to write the current stream time to a textfile, aiding
            in making <a href="help.html#streamhighlights">Stream Highlights</a>
            (either by entering a command or allowing your mods to run the command).</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
Core Changes:
- Connection: Implemented IRCv3 tags/commands/membership support
- Userlist: IRCv3 now supports optional joins/parts (correct userlist), which is
  enabled by default in Chatty (doesn't mean joins/parts have to be shown)
- Added experimental support for secured connections
 Emoticons:
- Changed Emoticon parsing to use spaces as delimiter instead of word boundaries
  (to match changes made to Twitch Chat)
- Scaling: Added settings to scale emotes in chat and the Emotes Dialog
- BTTV: Implemented BTTV Custom Channel Emotes, switched to new BTTV API
- IRCv3: Implemented new Twitch Emotes API, including using IRCv3 tags
- Emote Dialog: Added overview of all global emotes (Twitch and Other)
- Detail View: Added Detail View that can be opened for an emote with different
  scaling and a table of information about the emote
- Context Menu: Added more entries and information
- Added emote image caching, making loading of emotes a bit faster and hopefully
  more reliable if the server can't be reached at the time of loading
- Added feature to add custom emotes (locally), also allowing you to replace
  other emotes
- FFZ: Switched to new API (and showing more info about the emotes)
 TAB Completion:
- Changed to work with @ in front (or any other non-word characters around it)
- Added info popup to show completion information (how many items are found,
  which item you are at while cycling through results)
- Added completion for emotes (Shift-TAB)
- Added completion for setting names (TAB when using after setting command)
- Added completion for some commands (TAB after /)
- Added support for custom completion items that you can add in the settings or
  via the /customCompletion command
 StreamChat:
- Added fitting context menu to stream chat dialog
- Added setting to START inserting text a the top in Stream Chat
  (but not insert text at the top in general), added streamChatResizable setting
- Added commands /clearStreamChat, /testStreamChat, /setStreamChatSize,
  /getStreamChatSize
 Other Enhancements:
- Added bot badge (bot names from BTTV/FFZ APIs and local setting)
- Added ability to record current stream time via commands to assist in creating
  stream highlights
- Added setting to clear chat when channel is cleared by a moderator
- Hosting: Added info in the title which channel is being hosted, added warning
  in chat when a channel is still being hosted when the stream is going live
- Streamlined reconnection messages a bit
- Output message if channel attempting to join doesn't exist on Twitch
- Added correctly capitalized names from IRCv3 display-name tag, removed
  commands to change capitalization of names locally
- Added experimental showing of slowmode/submode status in the titlebar (only
  shows correctly if mode toggled while you are already in the channel, until
  chat sends that info on join as well)
- Added feature to locally set custom names for any user which show up in chat
  and the userlist
- Highlighting: Added more prefix options
- Ignore: Added prefix option to ignore info messages
- Added Miscellaneous-menu to User Context menu and added entry Copy Name
  (meaning copy to clipboard)
- Added Miscellaneous-menu to Channel Context menu and added entry to join
  currently hosted channel
- Added /copy command which copies the given text to the clipboard
- Added /color command which redirects to the Twitch Chat /color command
- Added /livestreamer command to open streams/dialog via command
- Added /appinfo command
- Added /r9k and /r9koff commands
- Added workaround for Twitch API sometimes returning stream information with
  missing channel object (no title available), assuming previous title
- Updated help
 Changes:
- Files: Moved cache files to be saved in the /cache folder
- Reduced Twitch API debug log spam a bit
- Increased join delay a bit
- Updated Settings Dialog layout to adjust to the dialog size better
- Changed Twitch API version calls to use v3 by default
- Changed Usericon image files starting with "http" to be interpreted as URL
- Disabled auto request of mods list for the time being, since mod status for
  messages should always work and mod status in the userlist should probably
  work if the userlist works in the first place
- Decreased Live Streams dialog scroll speed a bit
 Settings:
- Highlighting: Added highlightIgnored setting whether to try to highlight
  messages that have already been ignored (disabled by default)
- Changed capitalizedNames (first letter only) setting to default to on (only
  affects fresh settings)
- Debugging: Added setting to log raw IRC traffic to file (disabled by default)
- Added mainResizable setting to be able to turn off resizing of the main window
- Added setting to ignore Stream Status Notifications for Stream Offline
- Added some more support for different setting types to setting commands
- Changed setting commands to support numeric lists
- Changed Settings Dialog to only tell you to reconnect if you don't have to
  also restart Chatty (required by a setting change)
 Bugfixes:
- Fixed bug where channel would constantly be reopened when it failed to join
  (especially happening on non-existing channels)
- Fixed bug where reonnection timer would sometimes not be cancelled
- Fixed synchronization that could lock up the GUI when performing API requests
- Fixed username case-sensitivity issues for commands
- Fixed error in stream status writer when stream doesn't have a game set
- StreamChat: Fixed bug where stream chat wouldn't scroll down properly
- Addressbook: Fixed remove commands issues with case-sensitivity
- Run correct commercial length in Admin Dialog when using a hotkey
- Fixed close channel hotkey to close active channel rather chan active tab
- Possibly fixed some info messages from Twitch Chat not showing up
- Changed "Mr. Freeman" to "Dr. Freeman"
- Fixed rare error in tables (like Follower Dialog)
- Fixed and enabled workaround for some combining characters causing performance
  issues (replacing more than two combining characters in a row with ****)
</pre>
     <h2>
        <a name="0.7.3">Version 0.7.3</a> (2015-01-19)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>You can now customize hotkeys (regular, application-wide and global
            hotkeys) that you can set to perform certain predefined actions and
            any command (Global Hotkeys Windows only).</li>
        <li>Improved character display, allowing potentially more characters to
        be displayed (depending on what fallback fonts are available).</li>
    </ul>
     <h3>Important Information</h3>
    <ul>
        <li>If you were using a global commercial hotkey before, you will have
        to redefine it when changing to this version (in the Settings - Hotkeys).</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
New features:
- Added customizable hotkeys feature allowing you to add/remove/change hotkeys
  in the settings (Global Hotkeys Windows only)
- Added Stream Chat dialog (only regular messages, optional message timeout to
  make them disappear after some time, mainly for testing right now)
- Added support for global mods
- Added $chan parameter to Custom Commands
- Log to file: Added setting to customize timestamp (via setting commands)
 Changes:
- Changed inputbox font to prevent bug where fallback fonts wouldn't work
  properly in JTextPane
- Changed default for "Restore dialogs" setting to "Restore dialogs from last
  session" (only if you start from fresh settings)
- Backup: Increased setting backup count to 5 backups
- Changed staff usermode symbol to &AMP; (text symbol, not the badge)
- Added scaling to emotes if the image is too big, set maximum size to 100x50
- Improved setting commands (added add/remove commands for String lists, save
  default for lists/maps), improved help for setting commands
- Added "set:" commandline parameter to set any setting that can be set with the
  /set command
- Changed to new BTTV emotes API
- Improved URL parsing a bit
- Updated help
 Bugfixes:
- Fixed Simple Title menu setting not being updated correctly
- Set foreground color of Viewer History based on the current foreground color
  of the dialog, so it fits the LAF
- Set Notification foreground color to black, in case a LAF uses another color
  that doesn't go well with the yellow background (Notification colors should be
  customizable eventually)
</pre>
     <h2>
        <a name="0.7.2">Version 0.7.2</a> (2014-12-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Timeout users (and more) using keyboard shortcuts. Use the
            <a href="help.html#userselection">User Selection Mode</a>
            (toggle with <kbd>Ctrl-Space</kbd>, then <kbd>W/S</kbd> and <kbd>E</kbd> to open
            User Dialog) and the new keyboard shortcuts in the User Dialog for
            quicker access to Timeout/Ban Buttons and Custom Commands you added.</li>
        <li>Added more <a href="help-settings.html#Highlight">Highlight/Ignore prefixes</a>,
            which for example enables you to create your own <a href="help-short_guides.html#localsubonly">local subscriber-only
        mode</a>.</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
New features:
- User Dialog Buttons (Timeout/Custom Commands) now support shortcuts, Ban and
  Unban buttons are not hardcoded anymore and have to be added to the setting
  (setting is automatically changed if you switch from a version before 0.7.2)
- Added User/Line Selection feature to select a User in chat via the keyboard
  so e.g. timeouts are possible completely via the keyboard
- Added feature to modify Addressbook entries via a file
- Added color restriction for Usericons
- Highlight/Ignore: Added prefixes ("start:", "status:", "!status:", "!cat:",
  "chanCat:", "!chanCat")
- Channel Info Dialog now allows to be resized a lot smaller, Viewercount info
  now adjusting better to smaller sizes
- Added setting to change Look&amp;Feel (only Default and System for now)
- Added setting to attach dialogs to main window, so they always stay in the
  same relative position when the main window is moved
- Added some keyboard shortcuts
- Added some support for FFZ feature friday, added /ffzGlobal command to show
  global FFZ emote codes
 Changes:
- Added menu entry to open login configuration for easier access (no need to
  disconnect from chat)
- Improved login configuration dialog
- When login was determined invalid by automatic check: Changed warning message,
  don't remove automatically anymore but let user do it if necessary
- Added Options submenu to View menu to allow more options with direct access
- Added more options to Title/Game Presets dialog due to S'ome demand
- Logging to file now enabled by default (only if you start from fresh settings)
- MOD/UNMOD messages are now disabled by default (from fresh settings)
- Custom Commands executed from the Channel Context Menu now include the name
  of the channel as first parameter (without leading #)
- Some small improvements of labels/info texts in Settings Dialog
- Increased join delay, increased delay between failed join attempts
- Ping connection more often if inactive to detect disconnect quicker and
  possibly prevent disconnect in some cases
- Improved URL detection (again)
- Improved debug messages a bit
- Improved error catching in some places
- Added more tests
- Updated help
 Bugfixes:
- Fixed URLs that don't have a protocol prefix (e.g. http://) being opened
  without a prefix, which resulted in the browser not opening correctly
- Fixed error in FrankerFaceZ emote parsing
- Fixed bug where "Close to tray" wouldn't work without "Minimize to tray" being
  enabled as well
- Fixed layout problem in Settings Dialog when log path was too long
- Use usercolor corrected for readability for colored /me messages
</pre>
      <h2>
        <a name="0.7.1">Version 0.7.1</a> (2014-10-26)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>You can now add your favorite Twitch Emotes to the new <code>Favorites</code>
        page of the Emote Dialog. Right-click on the emote you want to add to
        open the context-menu and click on <code>Favorite</code>, then open the
        Emote Dialog (<code>Extra - Emoticons</code> or <code>Ctrl+E</code>) and
        choose the <code>Favorites</code> page to view your favorites.</li>
    </ul>
    <h3>Important Information</h3>
    <ul>
        <li>The default location to write stream information to has been changed
            to the <code>exported</code> subfolder of the settings directory (so
            e.g. <code>C:\Users\name\.chatty\exported\</code>). If you are using
            this feature e.g. by refering to the created textfiles in your
            streaming software, you'll have to adjust the path to the textfile
            there.</li>
    </ul>
     <h3>Full Changelog</h3>
 <pre>
New features:
- Added Emoticon Favorites, that are displayed in the Emote Dialog (you can only
  add Twitch Emotes for now, not FFZ or BTTV)
- Added support for correct capitalization of names in chat (experimental, you
  have to enable it in the settings if you want to try it)
- Show correctly capitalized stream names in Live Streams/Channel Info Dialog
  (independent of the Correctly Capitalized Names setting)
- Added minimize to tray/close to tray options
- Added setting for auto scroll down timeout length
- Added setting to change font size of dialogs (experimental, only Userinfo now)
- Added setting to customize chat log file location
- Added context menu to Follower/Subscriber Dialog to export list to file
- Added support for FrankerFaceZ global event emotes
 Changes:
- Changed tray icon to only show when needed
- Set proper tooltip for tray icon
- Added some more timestamp options
- Changed stream status writer output to "exported" subfolder of settings folder
- Changed stream status writer to ignore case of stream name
- Channel Info: Added approx. last stream length as tooltip to "Offline" text
- Changed Twitch badges to use images instead of alpha (shows new colors now)
- Changed base colors for badges to new Twitch colors (affects FFZ Mod Icon and
  Fallback Icons)
- Allow for selection of text in chat by double-clicking (focus to inputbox now
  only on single-click on chat)
- Detect a few more URL formats to be made clickable
- Improved debug logging a bit (memory usage)
- Some small improvements to memory usage
- Added some more characters to Font Selection Dialog, but also an input field
  to enter your own text to test the font
- Catch the error if hotkey library couldn't be found and output warning instead
- Updated help
 Bugfixes:
- Fixed info messages sometimes going to the wrong window if popouts are used
- Fixed subscriber sorting in userlist (but overall sorting can still be screwed
  up sometimes)
- Fixed wrong channel being joined when joining channel out of user context menu
  with "Capitalize Names (First Letter)" option being enabled (fixed implicitly
  by changing some stuff around for supporting capitalized names)
- Added workaround for Twitch emotes appearing wrong on Retina displays
- Nothing to do with Chatty in particular (it's the same for every IRC client),
  but the "xy just subscribed" message should now work for everyone again,
  because Twitch fixed it :)
</pre>
     <h2>
        <a name="0.7">Version 0.7</a> (2014-09-25)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Added <a href="help.html#emoticons">Emoticon Dialog</a> showing your Subscriber and Turbo emotes as
        well as channel specific emotes.</li>
        <li><a href="help.html#followers">Followers and Subscribers</a> lists
            showing your most recent followers and subscribers (you probably
            need to request new login data with the necessary access for the
            subscriber list to work).</li>
        <li>Improved <a href="help-livestreamer.html">Livestreamer Dialog and Help</a>.</li>
    </ul>
    <p><em>Just a reminder:</em> If you don't care about a correct userlist or joins/parts,
        you may want to switch to Twitch Client Version 3 (<code>Settings - Advanced</code>),
        which has a few advantages.
        <a href="help-settings.html#Advanced-TC">More information..</a></p>
     <h3>Full Changelog</h3>
<pre>
New features:
- Added Emoticon Dialog, showing emotes you paid for (Subscriber/Turbo) and
  channel-specific emotes (FFZ/BTTV)
- Added Followers/Subscribers lists, added new follower sound (works only if
  Followers Dialog is open)
- Livestreamer: Added setting to use auth (for sub-only streams), added setting
  whether to open the Livestreamer Dialog when opening a stream from the menu
- Added setting to write stream info to a file (e.g. for display on stream)
- Automatically request moderator list once per channel, added /fixMods command
  to temporarily fix mods status without showing the list of all moderators
- Added /host and /unhost commands
- Added shortcut Ctrl-W to close active tab/restore popout to tab
- Admin Dialog: Added option to automatically repeat commercial on the set delay
- Added stream uptime to Channel Info Dialog (how long ago a stream was started)
 Changes:
- Changed message parsing to support "&lt;name&gt; is now hosting you" notification
  (only works on Twitch Client Version 3 though, see Settings - Advanced)
- Added setting to specify the timezone of the timestamp seperately from the
  system timezone setting
- Added kadgar.net to open live streams from the context menu
- Added optional filter to remove combining characters used in some languages
  that may cause an error in some cases
- Livestreamer: Reuse open tabs if process stopped and opening stream with the
  same stream/quality, re-enable quality selection buttons if process stopped,
  improved labels and help
- Added more timestamp options in the settings and changed to showing as example
- Added gzip support to Twitch API requests
- Added check to confirm status of stream going offline, which may or may not
  prevent wrong offline notifications if the Twitch API returns false data
- Added hint about entering Twitch Commands in invalid command message
- Updated help
 Bugfixes:
- Fixed error in message parsing
- Fixed display error with ban messages
- Fixed a possible bug with notifications
- Now showing "&lt;number&gt; /host commands remaining this half hour." message
</pre>
      <h2>
        <a name="0.6.7">Version 0.6.7</a> (2014-07-20)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Now supporting some of the <a href="http://nightdev.com/betterttv/">BetterTTV</a> emotes.</li>
        <li>Changed Game Select Dialog to using just one single list for both
            the Game Favorites and the search result (to use the available space
            more efficiently).</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
New features:
- Added support for some of the BetterTTV emotes
- Added feature to ignore indiviual emotes, which makes them not turn into an
  image (but their code will still show up)
- Changed game select dialog to one single list for favorites/search as to not
  waste so much space
- Added setting to change the livestreamer command (so you can also e.g. set the
  full path to Livestreamer if necessary)
- Added option to combine ban messages of the same user within 10 seconds, for
  example "&lt;name&gt; has been banned from talking (3)" means banned 3 times
- Added "/ab change" command to add/remove/toggle categories in a single command
- Added /uptime command
- Added /openUrl and /openUrlPrompt commands (for use in custom commands)
- Added ignore setting to not show ignored messages info (count/nick) in chat if
  the ignored messages dialog is currently open
 Changes:
- Live Streams window always on top of main window (seems a bit flickery though)
- More Dialogs now closeable with ESC
- Added Ctrl+J shortcut for opening Join Dialog
- Save Channel Favorites sort order between sessions
- Increased number of saved lines per user from 20 to 100
- Reorganized Settings Dialog a bit (Usericons/Emoticons on seperate pages)
- Added context menu to Race Id (blue link) in Race Viewer
- Possibly improved debugging of emoticon loading errors a bit
- Updated help
 Bugfixes:
- Search dialogs (Ctrl+F) fixed for popouts
- Fixed error on update notification
- Improved API response parsing a little bit
- Fixed context menus in Highlights/Ignored Messages dialogs
</pre>
      <h2>
        <a name="0.6.6">Version 0.6.6</a> (2014-06-25)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li><a href="help.html#ignore">Ignore</a> chat messages by keyword,
            username, addressbook category and channel, then choose whether to
            completely hide them, show how many were ignored every 30s (if any)
            or show which users where ignored. Ignored messages also get added
            to a seperate window so you can check them if you want to.</li>
        <li>Improved Update Notification.</li>
        <li><a href="help-livestreamer.html">Livestreamer</a> context menu
            quality selection customizable.</li>
        <li>Improved <a href="help.html#emoticons">Emoticon</a> Context Menu (right-click on any emoticon image),
            now allowing you to insert the emote code into your chat message by clicking the menu entry
            showing the emote code (and added some more information and options
            for subscriber emotes).</li>
    </ul>
    <h3>Important Information</h3>
    <ul>
        <li>Addressbook categories are now all lowercase. If you have any
        categories that only use case to differentiate between them, this might
        be a problem for you. Otherwise it should make things a bit clearer and
        easier.</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
New features:
- Ignore messages (similiar to the Highlight system, match messages by keywords,
  usernames, addressbook categories and channels)
- Improved Emote Context Menu (now with channel name on subemotes and clicking
  on emote code inserts it in the input box)
- Improved subscriber detection on Twitch Client 1
- Improved Update Notification to now also show in the Main Menubar (clicking
  on it opens a window showing the changelog)
- Livestreamer Context Menu quality selection now customizable
- Added some commands (including /ffz to show FFZ emotes of the current channel,
  some commands to open dialogs and stuff intended for use in Custom Commands)
 Changes:
- Addressbook categories are now all made lowercase when added/loaded from file
- Regular commands can now be also used in Context Menus/User Dialog settings
- Improved error handling a bit (hopefully)
- Removed Ignore Joins/Parts setting in favor of Twitch Client 3
- Changed Twitch Client 1/3 setting to include small explanation
- Added sort by viewercount in Live Streams Dialog
- Added chan: and !chan: prefixes (Highlights and Ignore)
- Updated help
- Show how many Highlighted/Ignored messages are in the dialogs in the View-menu
- Improved text settings editor (auto adjust size when typing, added help)
- Changed Context Menu/User Dialog settings to allow more flexible formatting
  (linebreaks allowed, / for command optional, | for seperator doesn't have to
  be directly in front of a command, but still applies to the following one)
- Moved to new FFZ server and updated parsing (recently added emotes should now
  show up)
 Bugfixes:
- Fixed horizontal scrolling sometimes happening in chat window
- Fixed URL Context Menu stream detection to be case-insensitive
- Fixed display of "&lt;" in Notifications
- Hopefully fixed possible display error
</pre>
     <h2>
        <a name="0.6.5">Version 0.6.5</a> (2014-06-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Reworked usericon (badges) system to be more flexible and allow for
            <a href="help-settings.html#Emotes/Icons">Custom Usericons</a>.</li>
        <li>Added <a href="help-settings.html#Commands">Custom Commands</a>,
            allowing you to define aliases for anything you could also enter into
            the inputbox manually (and also add those custom commands to the User/Channel
            Context Menus and the User Dialog).</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
New features:
- Reworked usericon (badges) system, which also allows custom usericons,
  either replacing the default ones or adding some of your own
- Added Custom Commands, which allow you to define aliases for anything you
  can enter into the inputbox (like chat messages, commands)
- Added settings to add Custom Commands to the User/Channel Context Menus and
  changed Timeout buttons setting to also add Custom Commands to User Dialog
- Added option to always show the chat scrollbar, which can be useful for
  streamers who always want to capture the same subregion of the window
- Added /clearchat command which clears all text from the current chat window
- Added settings for what to do when Chatty is started (show connect dialog
  or connect immediately and autjoin channels etc.)
 Changes:
- Only show the "&lt;user&gt; has been banned from talking" message for users that
  are currently known in the channel (that have said something, have joined,
  been modded, etc.)
- Removed hardcoded /slap command, but added it as default to Custom Commands
- Removed "Set color" entry from User Context Menu, but added /setcolor
  command (so it can be readded using Custom Commands if necessary)
- Updated help
- Changed list settings editor (used for Highlights, Logging, Commands)
- Reorganized Settings Dialog a bit
- Updated /testNotification command to also allow for a channel parameter
- Changed Highlight Notification to switch to the channel the highlight
  originated in (similiar to Stream Status Notifications)
- Regular commands now case-insensitive
- Handle image URLs which may brake due to possible changes in the Twitch API
- Added /echo command to just output text as info message (e.g. for testing)
 Bugfixes:
- Fixed speedrun.tv Race Link in SRL Race List context menu
- Made "Races with.." search case-insensitive
- Fixed possible flickering of chat window when being scrolled up
- Remove linebreaks from messages send to the server
- Fixed some possible display bugs in Settings Dialog
- Right-clicking on emotes now works on the whole emote
</pre>
     <h2>
        <a name="0.6.4">Version 0.6.4</a> (2014-05-26)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Added <a href="help-srl.html">SRL Race viewer</a>, which you can open in the <code>SRL</code>-menu.</li>
        <li>Added <a href="help-livestreamer.html">Livestreamer</a> support, with a dialog (<code>Extra</code>-menu)
        and optional context menu entry.</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
New features:
- Added SpeedrunsLive (SRL) race viewer
- Added automatic settings file backup (copies settings to the /backup folder
  when you start Chatty, at most once per day)
- Added Livestreamer support (start Livestreamer out of dialog/context menus)
- Added feature for unique addressbook categories under some circumstances
- Added "Simple Title" setting to have only "Chatty" as title (Extra menu)
 Changes:
- Improved debug logging (added append to current file, max file size, rotate
  between several files when max file size is reached)
- Improved scrolling when window is made smaller
- Added small delay between joins, automatically rejoin if join failed, added
  "Joining #channel.." message (which indicates a JOIN was send to the server)
- Some smaller improvements
- Added commands to open the current settings/working directory
- Updated help
 Bugfixes:
- Possibly maybe fixed bug with default userlist width, but it can still be a
  bit finicky
- Fixed bug in Channel Favorites dialog when table is empty
- Fixed /myemotes command
- Fixed bug when joining channel out of popout
</pre>
     <h2>
        <a name="0.6.3">Version 0.6.3</a> (2014-05-15)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Important Information</h3>
    <ul>
        <li>Right-click on a tab to not only <code>Close</code> but also
            <code>Popout</code> the channel.</li>
        <li>Using the commercial hotkey now will simulate a click on the
            <code>30s</code> button <em>if</em> the Admin Dialog is open on the
        Commercials tab.</li>
    </ul>
     <h3>Full Changelog</h3>
<pre>
New features:
- Popout channels into their own window to be able to view them side-by-side
- Added context menu and improved sorting to Channel Favorites dialog
- Added check whether window restore position is actually on a screen (if not
  then open on default position)
- Added Highlight prefix to cutomize color for individual highlight items
  (also added ordering buttons that can be necessary for this feature)
- Added navigation buttons with page history to Help window
- Added command to manually refresh emoticons (and badges if you rejoin)
- Added command to show a list of your subemote codes (better emote
  integration possibly maybe soon)
- Added option to show action messages (/me) colored like in webchat
 Changes:
- Commercials hotkey now simulates a click on the 30s button if the
  Admin Dialog is open on the Commercials tab (so you can also use a delay)
- Added more information to the emote context menu (unfortunately you have
  to right-click on the left side of the emoticon to open it)
- Changed default access options to all selected (you can still deselect them if
  you don't need them and you think it's safer not having them on the token)
- Decreased scrolling step a bit
- Improved scroll detection for scrolled up timeout
- Improved main window title change responsiveness
- Some small improvements
- Reorganized and updated help
 Bugfixes:
- Fixed some possible errors by adding some checks
- Fixed bug when adding a usercolor (not correctly enabled Done button)
- Fixed bug canceling the list item edit dialog (highlights/logging)
</pre>
 <h2>
    <a name="0.6.2">Version 0.6.2 (2014-04-20)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
    <h3>Important Information</h3>
    <ul>
        <li>The port setting has changed. If you have changed the port setting
        to another value before, it will be reverted to the new default with
        this update.</li>
        <li>With the introduction of group chat, Twitch apparently removed the
        "xy just subscribed" messages from the chat version Chatty uses. There
        was also a new version introduced that still has those messages and is
        generally better (association of bans/info messages/subscribers to
        channels), but it lacks joins/parts, which means no joins/parts can be
        shown and the userlist will only contain those people who have said
        something.<br />
        <br />
        If you don't care about showing joins/parts and you don't care about
        a correct/complete userlist, then it may be beneficial for you to
        enable the <code>Chat Client Version 3</code> option in the Settings
        Dialog under <code>Advanced</code>. <a href="help-settings.html#Advanced-Other">More information..</a></li>
    </ul>
    <h3>Full Changelog</h3>
<pre>
New features:
- Admin Dialog: Select previously used or favorited stream status (title/game)
  from the presets dialog for your title changing convenience
- Optional new chat version that has no joins/parts but has better channel
  association for bans/timeouts/subscribers and "xy just subscribed" message
- Added /slap command due to S'ome demand
- Improved connecting to chat (automatically trying different servers/ports)
- Added more shortcuts and stuff
- Added option to rejoin currently open channels when connecting
 Changes:
- Moved Ignore joins/parts option to settings dialog
- Some small improvements
- Updated help
 Bugfixes:
- Hopefully fixed synchronization error
- Fixed error when editing game favorites
- Fixed error when no stream title is set
</pre>
<h2>
    <a name="0.6.1">Version 0.6.1 (2014-03-24)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>
New features:
- Added Addressbook to associate name with categories, that can be referenced
  from usercolor settings and highlight settings
- Added usercolor settings to locally assign custom usercolors
- Option to restore dialog positions/reopen dialogs on start
 Changes:
- Improved setting for timeout buttons/added to GUI, improved timeout messages
- Highlight: Default username now matching on word bounds, added word bounds
  matching prefixes, added highlight next messages
- Reorganized settings dialog to accomondate new settings/features
- Updated help
- Parse /mods response to make users mods
- Improved Named Colors panel in color chooser
- Added Ctrl-Shift-Tab to switch to previous channel
- Added server/port settings
- Added setting to enable/disable stream status messages in chat
 Bugfixes:
- Fixed FrankerFaceZ mod icon parsing to reflect recent changes
- Fixed parsing error
- Fixed userstats max length
- Added scrolling to "Removed Streams.." list
</pre>
  <h2>
    <a name="0.6">Version 0.6 (2014-02-13)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Important Information</h3>
<ul>
    <li>The sound volume values have been changed, you should readjust the
        volumes when you use this feature.</li>
    <li>Chatlog is disabled by default, enable it in the settings if you
        want to use it.</li>
</ul>
<h3>Full Changelog</h3>
<pre>
New features:
- New more flexible notifications that replace the system tray notifications
  (you can still switch back to them though)
- Added chat logging to record messages and stream/chat infos to file
- Added Spam Protection
- Admin Dialog: Relative times, use own channel when no channel is joined,
  last commercial run time, improved several channels support, dialog
  not modal anymore, configurable commercial run delay, added help
- Added message sound, load sound file names from sounds folder, improved
  sound settings, changed volume values (you may need to adjust your volumes)
- Check if connection was lost a bit faster depending on previous activity
- Added new error dialog
- Show important release information on first startup of new version
 Changes:
- Changed shutdown process
- Improved settings dialog (help, icons, components, restart required
  warning)
- Remove additional whitespace from incoming messages
- Replace some special html character codes in incoming messages
- Default userlist width setting, userlist width 0 now possible
- Always output stream status on join (not only if it's new)
- Improved help
- Added setting to enable (and thus disable) open url prompts
- Added Copy URL option to url prompt
- Added setting to highlight own messages (always enabled before)
- Added setting to change the tabs order (join order/alphabetical)
- Added context menu item to clear the highlights dialog
- Fixed bug in ViewerHistory when item was still hovered when channel
  was changed
- Added help window icon
- Count number of mods on /mods-command response
- Prevent auto-scrolling when search is active
- Added speedrun.tv option for stream urls
</pre>
  <h2>
    <a name="0.5.1">Version 0.5.1 (2013-12-17)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>Changes:
- FrankerFaceZ: Show custom mod icons (available in some channels)
- FrankerFaceZ settings, Emoticons/Icon settings seperate
- Prevent dialogs that can open automatically (error messages) from
  stealing focus
- Added chat buffer size setting
- Added setting to enable/disable mod/unmod messages
- Added some shortcuts
- Added command to show working directory
- Added color preset
- Improved help
- Improved viewer history (fixed times per channel)
- Improved debug output
- Added command/guide in case getting login data doesn't work
 Bugfixes:
- Fixed error in Viewer history
</pre>
  <h2>
    <a name="0.5">Version 0.5</a> (2013-12-05)
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Import Information</h3>
<ul>
    <li>With Version 0.5, Chatty can notify you about streams you follow and
        show a list of them. You have to request
        new login data containing <code>&lt;Read user info&gt;</code> access to
        be able to use that. Go to 
        <code>&lt;Main - Connect - Configure login..&gt;</code>, remove the
        login and request it again.</li>
    <li>You can enable/disable this feature under
        <code>&lt;Main - Settings - Notifications&gt;</code> if you have the
        necessary access.</li>
</ul>
<h3>Full Changelog</h3>
<pre>
New features:
- Get notified when streams you follow go online (requires
  &lt;Read user info&gt; access, which wasn't even in Chatty before, so you'll
  have to request new login data)
- View a list of live streams (you followed or whose channel you are in)
- FrankerFaceZ emoticons
- Added search, allowing you to find text in the current chat window
- Deleted messages (from timeouts/bans) now get shortened to a maximum length,
  or you can use the previous behaviour or let the whole message be replaced
  with &lt;message deleted&gt;
- Change the displayed time range in Viewer History
- Automatically check if the login is valid, if it is suspected not to be
- Clickable links in Channel Info Dialog (also turns #srl-abcd into a race link)
- Cycle between tabs with Ctrl+TAB
 Changes:
- Updated Help
- Changed Settings Dialog Layout
- Detect subscribers even when in more than one channel (may not work correctly
  always, but it's a better guess than before)
 Bugfixes:
- Changed color of inputbox cursor to foreground color
- Possibly made emoticon image loading a bit more reliable, but it's hard to
  tell what happens when the loading fails
- Handle long URLs in the URL open dialog better
</pre>
  <h2>
    <a name="0.4">Version 0.4 (2013-11-16)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>
New features:
- Added version checker to inform you about new versions of Chatty
- Added window icon
- Added colors to viewer history to indicate stream status changes, hovering
  displays stream title/game at that time (in addition to viewercount/time)
- Stream information is now requested for all channels you have currently joined
- Added tray notifications for highlighted messages and stream status changes
- Added sound notifications for highlighted messages and stream status changes
- Added some commandline parameters, settings and context menu entries
 Changes:
- Nicks in JOIN/PART/MOD/UNMOD lines now clickable
- Settings now saved in seperate files for general settings, login data and
  history/favorites
- Fixed tab colors, added indicator for new stream status
- Added delay for global hotkey so it doesn't repeat as much if kept pressed
- Updated and improved help
- Added Mod/Unmod buttons to user dialog (only in your own channel)
 Bugfixes:
- Fixed bug where a status change could reopen a tab that couldn't be closed
- Improved error handling for API responses
- Fixed bug where focus sometimes wouldn't be on inputbox when changing tabs or
  clicking in channel
</pre>
  <h2>
    <a name="0.3">Version 0.3 (2013-09-19)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>
New features:
- Added Admin Dialog that let's you change the title/game of your stream
  and run commercials (optional global hotkey for running commercials)
- Added Channel Favorites/History that automatically saves channels you joined
  and also allows you to add favorites (history can be deactivated in the
  settings)
- Added Highlight system that makes a message appear in another color if defined
  keywords are found in it and/or it was send by a defined user (defaults to
  always highlight your own name)
- Added join dialog
- Messages from user "twitchnotify" as info messages (when someone subscribed)
- Added Warning when joining more than one channel
- Added context menus for nicks/links/channel/tabs
- Restore window position from last session
- Better debugging and error handling
- Automatically scroll down after 30s of inactivity when being scrolled up
 Changes:
- User Info Dialog: Auto-update message history, show bans, show channel context
- Lowered stream info (title, game, viewercount) update delay to 120s
- Improved default user colors
- Emoticons that contain only word characters match at word boundaries (to match
  the new behaviour in Twitch Webchat)
 New settings:
- Option for capitalized names
- Option to show ban message (.. has been banned from talking), defaults to not
  showing it
- Color GUI settings (with default and dark preset)
- And of course quite a few for the new features/bugfixes
 Bugfixes:
- Fixed bug where channels would re-open without being
  able to close them
- Fixed bug where the userlist wasn't loaded correctly on join
  when the channel was joined before in the same session
- Disabled Direct3D Hardware Acceleration by default to possibly
  fix Chatty appearing completely black under certain circumstances
</pre>
 <p>First published version was 0.2 so changelog starts from version 0.3.</p>
</body>
</html>
 PḲG%��wewe5chatty/gui/components/help/help-setting_commands.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Setting Commands</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Setting Commands</a></h1>
    <p><a href="#commands">Commands</a>
        | <a href="#settings">Settings</a></p>
    <p>There are a couple of commands that allow you to change settings from
        the chat inputbox. (<em>You should probably roughly know what you're doing
            before using these.</em>)</p>
     <h2>
        <a name="commands">Commands</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <ul>
        <li><code>/set &lt;setting&gt; &lt;value&gt;</code> changes a setting</li>
        <li><code>/get &lt;setting&gt;</code> shows the current value of a
            setting</li>
        <li><code>/reset &lt;setting&gt;</code> resets the setting to the
            default (hard-coded) value</li>
        <li><code>/clearsetting &lt;setting&gt;</code> sets string settings to
            an empty string</li>
        <li><code>/add &lt;setting&gt; &lt;value&gt;</code> adds item to a list
            of strings/numbers</li>
        <li><code>/remove &lt;setting&gt; &lt;value&gt;</code> removes item from
            a list of strings/numbers</li>
    </ul>
             <p><em>Tip:</em> You can use <a href="help.html#nickCompletion">TAB Completion</a>
                for setting names when using it behind a setting command.</p>
     <h2>
        <a name="settings">Settings</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>The following are settings that can be changed using the setting commands.
        A lot of those - but not all - can also be changed in the Settings Dialog,
        which is more convient in some cases. This does not show all settings.</p>
             <ul>
                <li>For Addressbook related settings, see <a href="help-addressbook.html#advanced">Addressbook Help</a>.</li>
            </ul>
     <p>Settings with a <span class="settingExclusive">slightly darker background color</span>
    are settings that are not available in the Settings Dialog and can only be
    changed via commands (and sometimes also commandline options). Settings with
    a <span class="settingNoCommandEdit">lighter color</span> can't (or are not recommended to) be changed
    via setting commands, but are added to the list because their value can be
    viewed with <code>/get</code>.</p>
     <p>
        <a href="#font">Font</a> |
        <a href="#time">Time</a> |
        <a href="#server">Server/Connection</a> |
        <a href="#chat">Chat</a> |
        <a href="#window">Window</a> |
        <a href="#streamchat">Stream Chat</a> |
        <a href="#streamhighlights">Stream Highlights</a> |
        <a href="#debugging">Debugging</a> |
        <a href="#bots">Bot Badges</a>
    </p>
            <table class="settings" style="border-collapse: collapse;">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">dontSaveSettings</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>Don't save settings when Chatty is closed (<code>-ds</code> commandline option).</td>
                </tr>
                <tr>
                    <td class="setting">timeoutButtons</td>
                    <td rowspan="3">String</td>
                    <td rowspan="3">See <a href="help-settings.html#commands-menu">Command Settings Help</a></td>
                    <td><em>too long</em></td>
                    <td>Buttons in the Userinfo dialog (not only timeout buttons)</td>
                </tr>
                <tr>
                    <td class="setting">userContextMenu</td>
                    <td><em>empty</em></td>
                    <td>Custom entries in the User Context Menu</td>
                </tr>
                <tr>
                    <td class="setting">channelContextMenu</td>
                    <td><em>empty</em></td>
                    <td>Custom entries in the Channel Context Menu</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">twitchnotifyAsInfo</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Show messages from user "twitchnotify" as info messages.
                    Turn off to show as regular message, so you can e.g. highlight
                    it.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">backupDelay</td>
                    <td>Integer</td>
                    <td>Number of days</td>
                    <td>1</td>
                    <td>How many days to wait between a <a href="help-guide_folders.html#backup">Backup</a></td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">backupCount</td>
                    <td>Integer</td>
                    <td>Number of backups</td>
                    <td>5</td>
                    <td>How many backups to rotate through</td>
                </tr>
                <tr class="settingNoCommandEdit">
                    <td class="setting">hotkeys</td>
                    <td>List</td>
                    <td colspan="2"><em>Cannot be edited by command</em></td>
                    <td>The hotkeys that are currently defined</td>
                </tr>
                <tr>
                    <td class="setting">globalHotkeysEnabled</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Enable global hotkeys that are defined in the settings.
                    Disable this to temporarily turn off the global hotkeys you
                    defined.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">imageCache</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Whether images (emotes, usericons) are cached in local
                    files.</td>
                </tr>
            </table>
             <h3><a name="font">Font</a></h3>
             <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr>
                    <td class="setting">font</td>
                    <td>String</td>
                    <td>Font name, e.g. <code>Arial</code> or <code>Arial Bold</code></td>
                    <td>Consolas</td>
                    <td>The font used for the chat</td>
                </tr>
                <tr>
                    <td class="setting">fontSize</td>
                    <td>Integer</td>
                    <td>Font size, e.g. <code>14</code></td>
                    <td>14</td>
                    <td>The font size used for the chat</td>
                </tr>
                <tr>
                    <td class="setting">lineSpacing</td>
                    <td>Integer</td>
                    <td>Numbers between <code>-1</code> and <code>10</code> probably
                        make the most sense.</td>
                    <td>3</td>
                    <td>The space between chatlines</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">inputFont</td>
                    <td>String</td>
                    <td>Font name and size, as understood by <a href="http://docs.oracle.com/javase/7/docs/api/java/awt/Font.html#decode%28java.lang.String%29">Font.decode()</a></td>
                    <td>Dialog 14</td>
                    <td>The font for the chat input box (should only be set to
                        Java logical fonts like <code>Dialog</code> or
                        <code>Monospaced</code>, otherwise fallback fonts in
                        chat may not work correctly*)</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">dialogFontSize</td>
                    <td>Integer</td>
                    <td>Font size or <code>-1</code> to keep default</td>
                    <td>-1</td>
                    <td>Setting to customize the font size of dialogs, currently
                        experimentel and only for User Info Dialog.</td>
                </tr>
            </table>
             <p>* If a character isn't contained in the chat font you have
            currently configured, Java will try to find it in the fallback
            fonts. While still not all characters will be displayed this way, it
            should work a lot better. You can also <a href="help-troubleshooting.html#font">add your own fallback fonts</a>
            to improve the situation further. However, setting the input box
            font to your chat font somehow breaks the fallback font mechanism,
            resulting in less characters being able to be displayed (like in
            versions before 0.7.3).</p>
             <h3><a name="time">Time</a> <span style="font-size:0.5em;">Dr. Freeman..</span></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr>
                    <td class="setting">timestamp</td>
                    <td>String</td>
                    <td>Format as understood by 
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>
                        or <code>off</code></td>
                    <td class="settingDefault">[HH:mm]</td>
                    <td>The timestamp used for all lines in chat</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">timestampTimezone</td>
                    <td>String</td>
                    <td>As understood by <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html#getTimeZone%28java.lang.String%29">Timezone.getTimeZone()</a>
                        e.g. <code>GMT+2</code> or <code>PST</code></td>
                    <td class="settingDefault"><code><em>empty</em></code></td>
                    <td>The timezone used for the <code>timestamp</code></td>
                </tr>
                <tr>
                    <td class="setting">logTimestamp</td>
                    <td>String</td>
                    <td>Format as understood by
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>
                        or <code>off</code></td>
                    <td class="settingDefault">[HH:mm:ss]</td>
                    <td>The timestamp used for all lines in the chatlog files</td>
                </tr>
            </table>
              <h3><a name="server">Server/Connection Settings</a></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr>
                    <td class="setting">serverDefault</td>
                    <td>String</td>
                    <td>The server address, host or IP</td>
                    <td class="settingDefault">irc.twitch.tv</td>
                    <td>Default server to connect to, which can be changed in
                    the Settings Dialog and is saved between sessions</td>
                </tr>
                <tr>
                    <td class="setting">portDefault</td>
                    <td>String</td>
                    <td>One or more ports, seperated by comma</td>
                    <td class="settingDefault">6667,80</td>
                    <td>Default port to connect to, which can be changed in the
                    Settings Dialog and is saved between sessions</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">server</td>
                    <td>String</td>
                    <td>The server address, host or IP</td>
                    <td class="settingDefault"><em>empty</em></td>
                    <td>If set, overrides the <code>defaultServer</code>, can be
                    set by commandline options, not saved in between sessions</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">port</td>
                    <td>String</td>
                    <td>One or more ports, seperated by comma</td>
                    <td class="settingDefault"><em>empty</em></td>
                    <td>If set, overrides the <code>defaultPort</code>, can be
                    set by commandline options, not saved in between sessions</td>
                </tr>
                <tr>
                    <td class="setting">username</td>
                    <td>String</td>
                    <td>Your username</td>
                    <td class="settingDefault"><em>empty</em></td>
                    <td>Public part of the <a href="help.html#login">Login data</a>
                         to login into chat</td>
                </tr>
                <tr>
                    <td class="setting">token</td>
                    <td>String</td>
                    <td>OAuth token</td>
                    <td class="settingDefault"><em>empty</em></td>
                    <td>Secret part of the <a href="help.html#login">Login data</a>
                         to authorize with Twitch, don't show this to anyone. You
                         shouldn't change this directly, but use the <code>/changetoken</code>
                        command instead when manually setting the token.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">spamProtection</td>
                    <td>String</td>
                    <td>messages/seconds, e.g. <code>10/20</code></td>
                    <td class="settingDefault">18/30</td>
                    <td>How many messages Chatty allows you to send to the server
                    in the given time, to prevent a ban from chat</td>
                </tr>
                <tr>
                    <td class="setting">membershipEnabled</td>
                    <td colspan="2">Boolean</td>
                    <td class="settingDefault">true</td>
                    <td>Refers to the <code>twitch.tv/membership</code> IRCv3 CAP, which
                    enables sending a userlist and joins/parts, allowing for a
                    correct userlist in Chatty and showing of joins/parts in chat
                    (if separately enabled of course)</td>
                </tr>
            </table>
             <h3><a name="chat">Chat</a></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr>
                    <td class="setting">pauseChatOnMouseMove</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>Enables the <a href="help.html#pausechat">Pause Chat</a>
                        feature</td>
                </tr>
                <tr>
                    <td class="setting">pauseChatOnMouseMoveCtrlRequired</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>Require <kbd>Ctrl</kbd> to be pressed to start pausing
                        chat</td>
                </tr>
                <tr>
                    <td class="setting">commandOnCtrlClick</td>
                    <td>String</td>
                    <td>Command to run (only the command name)</td>
                    <td><em>empty</em></td>
                    <td>The command to run when clicking on a user while holding
                        <kbd>Ctrl</kbd></td>
                </tr>
            </table>
             <h3><a name="window">Window</a></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr class="settingNoCommandEdit">
                    <td class="setting">windows</td>
                    <td>Map</td>
                    <td colspan="2"><em>Cannot be edited by command</em></td>
                    <td>The windows/dialogs positions/sizes as they where loaded
                        when you started Chatty (NOT necessarily the current ones).</td>
                </tr>
                <tr>
                    <td class="setting">tabOrder</td>
                    <td>String</td>
                    <td><code>normal</code>, <code>alphabetical</code></td>
                    <td>normal</td>
                    <td>How tabs are added (in the order they are added or
                        alphabetical).</td>
                </tr>
                <tr>
                    <td class="setting">tabsMwheelScrolling</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>Scroll through tabs with mousewheel.</td>
                </tr>
                <tr>
                    <td class="setting">tabsMwheelScrollingAnywhere</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>Allow scrolling through tabs with mousewheel everywhere
                        on the tabpane where nothing else can be scrolled (mainly
                        the inputbox).</td>
                </tr>
            </table>
             <h3><a name="streamchat">Stream Chat</a></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">streamChatChannels</td>
                    <td>List[String]</td>
                    <td>Channel name (with leading #) or empty</td>
                    <td><em>empty</em></td>
                    <td>Forwards messages from the given channels to
                        <a href="help.html#streamchat">Stream Chat</a>.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">streamChatMessageTimeout</td>
                    <td>Integer</td>
                    <td>Number of seconds, negative to disable</td>
                    <td>-1</td>
                    <td>How long messages are displayed before they disappear
                    from Stream Chat.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">streamChatBottom</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Start inserting messages at the bottom. Messages are
                    always inserted below previous messages, but disabling this setting
                    will make them <em>start</em> at the top. <em>Requires a
                        restart of Chatty after changing to take any effect.</em></td>
                </tr>
                <tr>
                    <td class="setting">streamChatResizable</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Whether the Stream Chat dialog is resizable by dragging
                    the edges.</td>
                </tr>
            </table>
             <h3><a name="streamhighlights">Stream Highlights</a></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">streamHighlightChannel</td>
                    <td>String</td>
                    <td>Channel name (with leading #) or empty</td>
                    <td><em>empty</em></td>
                    <td>Allows moderators in the given channel to run the
                    !addStreamHighlight command.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">streamHighlightChannelRespond</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>If this is enabled, Chatty sends a message to chat when
                    a moderator uses the !addStreamHighlight command. Otherwise
                    the response to the command is only shown locally.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">streamHighlightCommand</td>
                    <td>String</td>
                    <td>The command to use for moderators</td>
                    <td><em>!addstreamhighlight</em></td>
                    <td>Change this to define the command that can be used by
                    mods to add stream highlights in the channel defined with
                    the <code>streamHighlightChannel</code> setting.</td>
                </tr>
            </table>
              <h3><a name="debugging">Debugging</a></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr>
                    <td class="setting">debugLogIrc</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>Log raw IRC messages in the Debug Window.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">debugLogIrcFile</td>
                    <td colspan="2">Boolean</td>
                    <td>false</td>
                    <td>Log raw IRC messages to the debug_irc.log file in the
                    settings directory.</td>
                </tr>
            </table>
             <h3><a name="bots">Bot Badges</a></h3>
            <table class="settings">
                <tr style="border-bottom: 1px solid #EEE">
                    <th>Setting</th>
                    <th>Type</th>
                    <th>Values</th>
                    <th>Default</th>
                    <th>Description</th>
                </tr>
                <tr>
                    <td class="setting">botBadgeEnabled</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Show bot badge in chat for known bots.</td>
                </tr>
                <tr class="settingExclusive">
                    <td class="setting">botNames</td>
                    <td>List[String]</td>
                    <td>Name of the bot</td>
                    <td>some default names</td>
                    <td>List of locally defined known bots. You have to restart
                    Chatty for changes to take effect.</td>
                </tr>
                <tr>
                    <td class="setting">botNamesBTTV</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Use bot names from BTTV API. BTTV emotes have to be enabled for this to work.</td>
                </tr>
                <tr>
                    <td class="setting">botNamesFFZ</td>
                    <td colspan="2">Boolean</td>
                    <td>true</td>
                    <td>Use bot names from FFZ API. FFZ emotes have to be enabled for this to work.</td>
                </tr>
            </table>
</body>
</html>
 PḲG��1pp-chatty/gui/components/help/help-settings.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Settings</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Settings</a></h1>
    <p><a href="#Main">Main</a>
        | <a href="#Messages">Messages</a>
        | <a href="#Chat">Chat</a>
        | <a href="#Emoticons">Emoticons</a>
        | <a href="#Usericons">Usericons</a>
        | <a href="#Usercolors">Usercolors</a>
        | <a href="#Highlight">Highlight</a>
        | <a href="#Ignore">Ignore</a>
        | <a href="#Sounds">Sounds</a>
        | <a href="#Notifications">Notifications</a>
        | <a href="#Log to file">Log to file</a>
        | <a href="#Window">Window</a>
        | <a href="#Commands">Commands</a>
        | <a href="#Other">Other</a>
        | <a href="#Advanced">Advanced</a>
        | <a href="#Hotkeys">Hotkeys</a>
        | <a href="#Completion">Completion</a></p>
    <p>This page details some of the settings in the Settings Dialog
        (<code>Main Menu - Settings</code>). Also try hovering over settings
    in the settings dialog itself, sometimes you can get a tooltip with some
    additional information. You can open this help in the settings dialog by
    clicking on the "Help" link on the bottom left.</p>
     <h2>
        <a name="Main">Main</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Font</h3>
    <p>Change font and font size by clicking on <code>Select font</code>.</p>
     <h3>Startup</h3>
    <p>You can select what will happen when you start Chatty:</p>
    <ul>
        <li><strong>Do nothing</strong> - Just do nothing special</li>
        <li><strong>Open connect dialog</strong> - Open dialog to connect</li>
        <li><strong>Connect and join specified channels</strong> - Connect
        immediately and join the channels specified in the field below. You can
        define several channels by seperating them with a comma.</li>
        <li><strong>Connect and join previously open channels</strong> - Connect
        immediately and join the channels you had open when you closed Chatty.</li>
        <li><strong>Connect and join favorited channels</strong> - Connect
        immediately and join the channels that are favorited in the Channel
        Favorites/History dialog.</li>
    </ul>
     <h2>
        <a name="Messages">Messages</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Deleted Messages (Timeouts/Bans)</h3>
    <p>This allows you to define how timeouts or bans are displayed in Chatty.</p>
    <ul>
        <li>There are three options for deleted messages:<ul>
        <li><strong>Delete Message</strong> completely replaces the message with
            <code>&lt;message deleted&gt;</code>.</li>
        <li><strong>Strike through</strong> will keep the whole message displayed, but
        crossed out.</li>
        <li><strong>Strike through, shorten</strong> is same as the previous one, but
        it will also shorten the message to the defined number of characters, so long
        spam messages don't take as much space, but can mostly still be identified what
        they were about. Shortened messages are indicated by the points at the end
        that are <em>not</em> crossed out (e.g. <span style="text-decoration: line-through">Deleted spam message Long copy pas</span>..).</li>
    </ul></li>
    <li><strong>Show ban messages</strong>: In addition to handling the deleted
        message, Chatty can also show a message like
        <code>&lt;name&gt; has been banned from talking</code> once the timeout
    or ban is issued.</li>
    <li><strong>Combine ban messages</strong>: Chatty can combine ban messages,
    which means if several bans/timeouts are issued for the same user within 10
    seconds, only one message is shown for them, with the number of bans shown
    after the message, e.g. <code>&lt;name&gt; has been banned from talking (3)</code>.
    Ban messages are not combined if a new message from the banned user was
    received in the meantime.</li>
    </ul>
      <h3>Other</h3>
    <ul>
        <li><strong>Timestamp</strong>: Whether to show a timestamp in front of
        chat messages and what format it should have. If you want a different
        format from the ones provided here, you can use the command
        <code>/set timestamp &lt;format&gt;</code>. The format can be anything
        specified by the Java
        <a href="http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>
        class.</li>
        <li><strong>Show mod/unmod messages</strong>: Whether to show the MOD/UNMOD
            messages as they come in from Twitch Chat (which are used to show the
            moderator badge). These messages can be sometimes
        be kind of broken (on Twitch's side) and can show some or all mods in the channel
        as being modded/unmodded.</li>
        <li><strong>Show joins/parts</strong>: Show joins/parts, which
        are always kind of delayed, so don't take them too seriously (only works
        when <code>Advanced - Correct Userlist</code> is enabled).</li>
        <li><strong>Show stream status in chat</strong> outputs the stream status
        (title and game) in the chat window on join and when it changes
        (when the stream goes offline or online or changes the title or game).</li>
        <li><strong>/me messages colored</strong>: Show action messages colored
        like in webchat.</li>
        <li><strong>Filter combining characters</strong>: Replaces certain ranges of
        Unicode characters. Those characters are used in some
        languages to combine characters, but can apparently cause errors in some
        cases. The filter applies to the main chat window and the recent messages
        in the User Info Dialog (but not e.g. the chatlog written to file).
            <ul>
                <li><strong>Off</strong> - Do nothing</li>
                <li><strong>Lenient</strong> - Replaces at least 3 characters in a row with stars (****), which preserves some legitimate use</li>
                <li><strong>Strict</strong> - Replaces any number of characters in a row with stars (****), use this if you have performance
                problems when someone posts these kind of characters</li>
            </ul>
        </li>
    </ul>
     <h3><a name="capitalization">Name Capitalization</a></h3>
    <p>Names in Twitch Chat are send all-lowercase by default, however there is
        an IRCv3 tag send with each message with the display name which Chatty
        can use to show correct capitalization. You have the following settings:</p>
    <ul>
        <li><strong>Capitalized Names (First Letter)</strong> simply makes the
        first letter of names uppercase. This will be correct for many names,
        but by far not for all (names might have capital letters in the middle
        or be all-lowercase). You can enable this if you simply prefer it this
        way.</li>
        <li><strong>Correctly Capitalized Names</strong> uses the capitalization
        send in the IRCv3 tag with each message and should be what the user
        configured. In very rare cases the display nick may differ more than the
        capitalization. This is enabled by default.</li>
    </ul>
     <p><em>The previous function that requested correctly capitalized names from the
    Twitch API has been removed. This also means that the associated commands
    (<code>/refreshCase</code>, <code>/setCase</code> and <code>/getCase</code>)
    have been removed as well. If you want to customize the capitalization of someone else's
    name locally, you can now use the <a href="help.html#customNames">Custom Names feature</a>.
    The names in the userlist will not be correctly capitalized until Chatty has
    received a message from that user during this session.</em></p>
     <h2>
        <a name="Chat">Chat</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Chat Settings</h3>
    <ul>
        <li><strong>Scroll down after <code>&lt;x&gt;</code> seconds of inactivity</strong>: If you scrolled
            up in chat but haven't moved scrollposition in the given number of seconds, it will scroll down
            if new messages come in. This prevents new messages from being hidden
            indefinitely if you accidently stayed scrolled up.</li>
        <li><strong>Chat buffer size</strong>: How many lines of text are kept
            for each channel in chat to scroll back to.</li>
    </ul>
     <h3>Pause Chat</h3>
    <p>The Pause Chat feature stops Chatty from scrolling down when you move the
        mouse over chat. This can be useful if you want to click specific stuff
        in a fast moving chat, for example if you are moderating or just want to
        click on an emote to see what it is.</p>
     <p><em>Please note:</em> This will not work properly until the chat window is filled with
        text, because only then will Chatty actively scroll down. Also, this
        only stops Chatty from actively scrolling down, so if e.g. a big message
        is being timed out and thus shortened, stuff may still move around accordingly
        (which in that case couldn't really be prevented anyway).</p>
     <p>Chat is paused as long as you move the mouse over chat or if you hold
        <kbd>Ctrl</kbd> (and initiated pausing by moving the mouse). A little
        popup in the top-right will indicate that the chat is paused.</p>
     <p>Holding <kbd>Ctrl</kbd> basicially acts as if you moved the mouse
        continuously.</p>
     <ul>
        <li><strong>Pause chat when moving the mouse over it:</strong> Enables
        this feature.</li>
        <li><strong>Require Ctrl being pressed to start pausing chat:</strong>
            If this is enabled, you need to have <kbd>Ctrl</kbd> pressed to
            start pausing chat when moving the mouse over it. Once it's paused,
            you can let go of <kbd>Ctrl</kbd> and it will stay paused as long as
            you move the mouse (or hold <kbd>Ctrl</kbd> again to keep it paused
            even when not moving the mouse, as usual).</li>
        <li><strong>Run command when clicking on user (holding Ctrl):</strong>
            When you select a command here, then clicking on a user in chat
            while holding <kbd>Ctrl</kbd> will run the command on that user. You
            can <a href="help-setting_commands.html#chat">manually edit</a> this
            setting to use another command.</li>
    </ul>
     <h2>
        <a name="Emoticons">Emoticons</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>General Settings</h3>
    <ul>
        <li><strong>Show emoticons</strong>: Shows emoticons as images instead
        of just the text</li>
        <li><strong>Enable BetterTTV Emotes</strong>: Shows some of the BetterTTV emotes.
        <em>Requires a restart to take effect when you change it.</em></li>
        <li><strong>Enable FrankerFaceZ (FFZ)</strong>: Downloads <a href="help.html#emoticons">FrankerFaceZ</a>
            emotes and Mod Icons (where available). <em>Requires a restart to take
                effect when you change it.</em></li>
        <li><strong>Enable FFZ Mod Icon</strong>: Show the FFZ Mod Icon instead of the regular
            Mod Icon (where available). <em>Requires FrankerFaceZ setting to be enabled.</em></li>
        <li><strong>Allow animated emotes</strong>: Show animated emotes (BTTV GIF emotes).</li>
        <li><strong>Scale</strong>: The relative size of how emotes are displayed in chat (100% is regular size).</li>
        <li><strong>Maximum Height</strong>: The maximum height of emotes in chat (in pixels). Use 0 to allow any height.</li>
        <li><strong>Emotes Dialog</strong>: The relative size of how emotes are displayed in the Emotes Dialog (100% is regular size).</li>
    </ul>
     <h3>Ignored Emotes</h3>
    <p>Emotes added to this list will not be turned into an image, but instead
        are just shown as their emote code.</p>
    <p>The code added to the list has to be the
    exact code used internally to find the emote in the messages. Usually this is simply
    the emote code as you would type it in chat, but some emotes have a special syntax
    that you might not even know (e.g. <code>:)</code> has <code>\:-?\)</code> as actual code).
    It is recommended to use the emote context menu (right-click on an emote in chat) to
    ignore emotes, because then the correct code will automatically be added to
    the list.</p>
     <h2>
        <a name="Usericons">Usericons</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Usericon Settings</h3>
    <ul>
        <li><strong>Show Usericons</strong>: Shows badges as images instead of
        just text</li>
        <li><strong>Enable Custom Usericons</strong>: Use the custom icons
        defined in the table below</li>
        <li><strong>Enable Bot Badge</strong>: Enables showing of the bot badge
        for known bots. Chatty shows a single bot badge for all known bots. The
        list of bot names comes from different sources: The <code>botNames</code>
        setting, the BTTV API and the FFZ API.
        <ul>
            <li><strong>BTTV</strong>: Use botnames from the BTTV API</li>
            <li><strong>FFZ</strong>: Use botnames from the FFZ API</li>
        </ul>
        </li>
    </ul>
     <h3>Custom Usericons</h3>
    <p>By adding entries to the table you can either replace the default icons (Mod, Turbo, Subscriber, ..)
    or add additional icons for certain users or addressbook categories. The order
    of the entries can matter, they are matched from the top, so if more than one
    icon matches that is supposed to replace a default icon, then the first one
    is used. If more than one <code>Addon</code> icon matches, then all are used
    (unless you use the <code>$stop</code> restriction, see section <em>Restriction</em> below).</p>
     <p>You have the following options when you add/edit an item:</p>
    <dl class="paragraphs">
        <dt>Type</dt>
        <dd>The type determines whether a default icon will be replaced
            (if you choose <code>Moderator, Subscriber, Turbo, ..</code>) or if
            it should be an additional icon added after the default ones (<code>Addon</code>).
            Currently, you can have as many Addon-Icons as you want and they are
            all displayed at once (if they match the requirements of course).</dd>
         <dt>Restriction</dt>
        <dd>This is similiar to the <a href="#Usercolors">Usercolors</a> settings,
        where you can enter special restrictions the user has to match in order
        for the icon to be displayed. What makes the most sense in this case is
        probably just entering a username (e.g. <code>serenity</code>) or an
        addressbook category (e.g. <code>$cat:vip</code>, which would refer to
        the category <code>vip</code>). If you keep this empty, then no restriction
        is applied.</dd>
        <dd>Specifying a <em>Type</em> other than <code>Addon</code> carries an
        implicit restriction, since e.g. the default moderator icons are only
        displayed if the user is a moderator.</dd>
        <dd>Normally you can only specify <em>one</em> restriction, but you can
            also add  <strong>special restrictions</strong> for <code>Addon</code>
            icons:
            <ul>
                <li><code>$stop</code> means if this icon matches (and is thus used),
                    it stops searching for further <code>Addon</code> icons. So
                    it's not really a restriction for <em>this</em> icon, but
                    rather a restriction that affects the following icons and
                    can be used to limit the number of <code>Addon</code> icons.</li>
                <li><code>$first</code> puts this <code>Addon</code> icon before
                    the regular icons. The <code>$stop</code> restriction only
                    applies to one group of <code>Addon</code> icons separately
                    (before or after the regular icons).</li>
            </ul>
        </dd>
        <dd>Examples: <code>$cat:streamer $first</code>, <code>lotsofs</code></dd>
         <dt>Channel</dt>
        <dd>This is another requirement that also has to be met in order for the
        icon to be displayed. You can entere a channel name here, so that the
        icon will only be displayed in that channel. You can add an exclamation
        mark in front of the channel name (like <code>!#channel</code>) to have
        it displayed in all channels except the one you specified. If you keep
        this empty, then it will be displayed in all channels.</dd>
         <dt>Image File</dt>
        <dd>The image file to use for the icon. Must be a <code>.png</code> and
        should usually be about 18x18 pixels (because that is the size of the
        default icons). The image files are looked for in the <code>/img</code>
        subfolder of the working directory (similiar to the <code>/sounds</code>
        folder). You can click on <code>Image Folder</code> to show information
        about it and rescan it to update the list of images in the dropdown menu.</dd>
        <dd>You can add the special Image File name <code>$ffz</code> which will
        make it use a FrankerFaceZ icon for that, if available (this only really
        applies if you use the <em>Type</em> <code>Moderator</code> and want to
        replace the moderator icon in all channels execept the ones that have a
        FFZ Mod Icon).</dd>
        <dd>You should also be able to specify the full path to an image, if you
        don't want to use the dedicated image folder. A filename starting with
        <code>http</code> is interpreted as URL.</dd>
    </dl>
     <h2>
        <a name="Usercolors">Usercolors</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>This allows you to specify your own usercolors for either certain types
        of users (mod, subscriber etc.) or specific usernames. There are special
    items that you can use to specify that (to specify a username, just enter
    it without anything else):</p>
    <ul>
        <li><code>$mod</code> - Moderators</li>
        <li><code>$sub</code> - Subscribers</li>
        <li><code>$turbo</code> - Turbo Users</li>
        <li><code>$admin</code> - Admins</li>
        <li><code>$staff</code> - Staff members</li>
        <li><code>$all</code> - All users, this can be used to specify a default
        color (should be put at the very end of the list)</li>
        <li><code>$broadcaster</code> - Broadcasters</li>
        <li><code>$cat:&lt;category&gt;</code> - A category from the <a href="help.html#addressbook">Addressbook</a></li>
        <li><code>#&lt;color code&gt;</code> - A Html color code, e.g. <code>#0000FF</code> for blue, which can
            be used to replace colors</li>
        <li><code>$color:&lt;color code or name&gt;</code> - A Html color code or name (names
            as hardcoded into Chatty, may be different from other programs), e.g. <code>$color:Blue</code> for blue,
            which can be used to replace colors</li>
    </ul>
     <p>The order of the
    entries in the table matters, because it is checked from the top. If you
    were to put the <code>$all</code> item at the very top, any items below
    wouldn't do anything, because the first item would already match all users.
    This e.g. allows you to specify what color a user should have when he is
    both a subscriber and a moderator (by either putting <code>$mod</code>
    or <code>$sub</code> first).</p>
     <p>If an item is red and has "(error)" appended (e.g. "<span style="color:red">$color.Blue (error)</span>"),
    this means the item is invalid. In the example this is because a point has
    been used instead of a colon, so "$color:Blue" would be correct. This can
    also happen if it doesn't recognize the given color or the item is just in
    an invalid format.</p>
     <h2>
        <a name="Highlight">Highlight</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>General settings</h3>
    <ul>
        <li><strong>Enable Highlight</strong>: Determines whether highlighting
        is enabled at all.</li>
        <li><strong>Highlight own name</strong>: Makes messages that contain your
        own name (case-insensitive) highlighted, even if you didn't add it to the list manually.</li>
        <li><strong>Highlight follow-up</strong>: After a highlighted message,
        also highlight the following messages of the same user for a certain time.</li>
        <li><strong>Check own text for highlights</strong>: Highlights your own messages if
        they match the criteria, which can be particularly useful to test whether your terms
        are being matched correctly. This does not mean that all your own messages
        are automatically highlighted, they still have to match one of the items
        added to the list. To match all your own messages you can use the <code>user:</code>
        prefix with your own name.</li>
        <li><strong>Check ignored messages</strong>: Only checks ignored messages
        for highlights if this is enabled.</li>
    </ul>
    <h3>Add terms to be highlighted</h3>
    <p>Add items to the list to make a message highlighted if any one of them
    match the message. The following two types of prefixes can be used to change
    highlighting behaviour per item.</p>
     <h3>Text Matching Prefixes</h3>
    <p>By default, matching is done case-insensitive and when the word or phrase
        appears anywhere in the message. However, you can add the following
        prefixes in front of the text to change this matching behaviour. You can
        only use one of these prefixes per item, because all text following the
        prefix is interpreted as text to match.</p>
    <ul>
        <li><code>cs:</code> makes it case-sensitive, so <code>cs:test</code>
            matches <code>test</code> but not <code>Test</code>.</li>
        <li><code>w:</code> matches at word boundaries, e.g. <code>w:anna</code>
            will match <code>anna</code> or <code>Anna:</code> but not
            <code>Hannah</code> or <code>annah</code>. <em>(Is actually just a
                shortcut for a special regex, so special regex characters will work.)</em></li>
        <li><code>wcs:</code> is the same as <code>w:</code>, but case-sensitive.</li>
        <li><code>start:</code> to match at the start, so <code>start:!bet</code> will
            match messages starting with <code>!bet</code>.</li>
        <li><code>re:</code> to use a regular expression, e.g. <code>re:(?i).*\bGTA ?[V5]\b.*</code>
        to match GTA5, GTA 5, GTA V, gta5, .. (as a word) anywhere in the message. Note
        that the regex always tries to match the entire message, so you have to
        add the appropriate wildcards to match parts anywhere in the message.</li>
    </ul>
     <h3>Meta Prefixes</h3>
    <p>The following prefixes mostly influence which messages are matched,
        however they don't change the matching of the text itself, but instead
        provide other information for the highlight system. They can be
        placed in front of the Text Matching Prefixes (or the text if you don't
        have any other prefixes) and you can even use more than one per item.
        These prefixes have to be seperated from eachother and the text by a
        space.</p>
    <ul>
        <li><code>user:</code> to specifiy one exact username (case-insensitive)
            which should highlight only if this user send the message, doesn't
            search in the message itself.</li>
        <li><code>cat:</code> to specify a category the user who send the message
        should be in (as defined in the <a href="help.html#addressbook">Addressbook</a>).</li>
        <li><code>!cat:</code> to specify a category the user who send the message
        can NOT be in.</li>
        <li><code>chan:</code> to specify one or more channels the message has
        to be send in to match (several channels are specified as comma-seperated
        list, without spaces).</li>
        <li><code>!chan:</code> to specify one or more channels the message must
        NOT be send in to match.</li>
        <li><code>chanCat:</code> to specify one category the channel the message
        was send in has to be in (as defined in the <a href="help.html#addressbook">Addressbook</a>
        with the name of the channel, including leading #).</li>
        <li><code>!chanCat:</code> to specify one category the channel the message
        was send in can NOT be in.</li>
        <li><code>status:</code> to specify that the user has to have one of the
            given status codes (case-sensitive):
            <ul>
                <li><code>m</code> Moderator</li>
                <li><code>s</code> Subscriber</li>
                <li><code>a</code> Admin</li>
                <li><code>f</code> Staff</li>
                <li><code>b</code> Broadcaster</li>
                <li><code>t</code> Turbo User</li>
                <li><code>g</code> Global Moderator</li>
                <li><code>r</code> Bot as in <em>R</em>obot (depending on what the FFZ/BTTV APIs provides (if
                    enabled) and values in the <a href="help-setting_commands.html#bots">botNames</a> setting)</li>
                <li><code>M</code> User with any kind of moderator/special powers
                    (so Broadcaster/Moderator/Global Moderator/Admin/Staff combined)</li>
            </ul>
            For example: <code>status:st</code> matches
        all subscriber and turbo users.</li>
        <li><code>!status:</code> to specify that the user must NOT have any of
            the given status codes (see <code>status:</code> for codes). For example:
            <code>!status:stM</code> matches all 'normal' users that have no
            badge by default (NOT a Subscriber, Turbo User or any kind of Moderator).</li>
        <li><code>color:</code> to specify a color other than the default one
            for displaying this highlight. <em>If you have items with a custom
                color defined, which match something that might also be matched
                by other items (with another color or custom color)
            then the order of items is important so it displays the desired color.
            Items on the top are matched first, so move items up that should take
            precedence. For example <code>test</code> and
            <code>color:blue test2</code>. If <code>test</code> is on the top
            it will never get to the blue one, because <code>test</code> will
            always match when <code>test2</code> would match as well.</em></li>
            <li><code>config:</code> to specify one or more options (seperated
            by comma) that changes the behaviour):
            <ul>
                <li><code>silent</code> - Disable sounds for this item</li>
                <li><code>!notify</code> - Disable notifications for this item</li>
                <li><code>info</code> - This item applies to info messages instead
                of regular user messages (works only for Ignoring messages at the
                moment)</li>
            </ul></li>
    </ul>
     <h3>Examples</h3>
    <dl>
        <dt><code>word1 word2</code></dt>
        <dd>Matches e.g. <code>word1 word2</code>, <code>Word1 word2</code> anywhere in the message</dd>
        <dd>Does NOT match only <code>word1</code> or only <code>word2</code> anywhere in the message</dd>
        <dd><em>(Each item represents one word or phrase to match as a whole)</em></dd>
         <dt><code>w:anna</code></dt>
        <dd>Matches e.g. <code>Anna?</code>, <code>Anna :D</code>, <code> Anna,</code></dd>
        <dd>Does NOT match <code>Wanna?</code>, <code>Hannah</code>, <code>annah</code></dd>
        <dd><em>(Match on word boundaries to prevent undesired matches)</em></dd>
         <dt><code>user:joshimuz cs:Hello</code></dt>
        <dd>Matches <code>Hello</code> anywhere in the message, if the message was sent
        by the user named <code>joshimuz</code></dd>
        <dd>Does NOT match <code>hello</code></dd>
        <dd><em>(Combine a Meta Prefix (user-specific highlighting) and a Text Matching Prefix (case-sensitive))</em></dd>
         <dt><code>cs:Hello user:joshimuz</code></dt>
        <dd>Matches <code>Hello user:joshimuz</code> anywhere in the message</dd>
        <dd>Does NOT match <code>Hello</code>, does NOT matter who send the message</dd>
        <dd><em>(Anything after a Text Matching Prefix is interpreted as text to match, Meta Prefixes must be placed
                in front of the text)</em></dd>
         <dt><code>cs:abc re:\w+</code></dt>
        <dd>Matches <code>abc re:\w+</code> anywhere in the message</dd>
        <dd>Does NOT match <code>abc test</code>, but also NOT <code>Abc re:\w+</code></dd>
        <dd><em>(Can't combine Text Matching Prefixes)</em></dd>
         <dt><code>re:abc \w+</code></dt>
        <dd>Matches e.g. <code>abc test</code></dd>
        <dd>Does NOT match <code>aabc test</code></dd>
        <dd><em>(All Text Matching prefixes can also be replaced by regex)</em></dd>
         <dt><code>re:.*abc \w+.*</code></dt>
        <dd>Matches e.g. <code>abc test</code> anywhere in the message</dd>
        <dd><em>(Regex has to match the whole message, so you need to add wildcards to match anywhere in the message)</em></dd>
         <dt><code>color:yellow wcs:S</code></dt>
        <dd>Matches e.g. <code>S:</code>, <code>Hello S!</code> and makes the message
        display in yellow color</dd>
        <dd>Does NOT match <code>s:</code>, <code>Hello s!</code>, <code>SSSS</code>, <code>ssss</code></dd>
        <dd><em>(Define a custom color for this item and match case-sensitive on word boundaries)</em></dd>
         <dt><code>chan:lotsofs,joshimuz cs:Hello</code></dt>
        <dd>Highlight messages that contain <code>Hello</code>, but only if in
            the channel <code>#lotsofs</code> or <code>#joshimuz</code></dd>
        <dd><em>(Restrict matching to one or more channels)</em></dd>
         <dt><code>status:s chanCat:vip start:!test</code></dt>
        <dd>Match any message starting with <code>!test</code> send by
            subscribers of the channel, but only if the channel is in the
            Addressbook category <code>vip</code> (e.g.
            <code>/ab add #joshimuz vip</code>, notice the leading <code>#</code>)</dd>
        <dd><em>(Restrict matching by user status, channel category and start of message)</em></dd>
    </dl>
    <div class="moreInfo">More information: <a href="help.html#highlight">Highlight</a></div>
     <h2>
        <a name="Ignore">Ignore</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>Allows you to ignore chat messages that match the specified text or -
        using prefixes - that match other properties like ignoring messages of a
        specific user. Ignored messages get added to a special dialog that can
        be opened via <code>View - Ignored</code>.
    </p>
     <p>The matching of messages works the same as the <a href="#Highlight">Highlights</a>
        system, please see that help for information on that. For quick
        reference here just a few examples:
    </p>
     <dl>
        <dt><code>user:name</code></dt>
        <dd>Ignores the user with the name <code>name</code> in all channels</dd>
         <dt><code>user:name chan:tirean,gocnak</code></dt>
        <dd>Ignores the user with the name <code>name</code> in channels <code>#tirean</code> and <code>#gocnak</code></dd>
         <dt><code>config:info subscribed to</code></dt>
        <dd>Ignores the <code>x has subscribed to y</code> info messages that
        you get when someone subscribes in the channel that is being hosted</dd>
         <dt><code>cat:ignore !chan:lotsofs,joshimuz</code></dt>
        <dd>Ignores users in the addressbook category <code>ignore</code> in all channels,
            except <code>#lotsofs</code> and <code>#joshimuz</code></dd>
         <dt><code>chan:joshimuz re:!bet.*</code></dt>
        <dd>Ignores messages starting with <code>!bet</code>, but only in <code>#joshimuz</code></dd>
         <dt><code>!status:smb chanCat:subonly</code></dt>
        <dd>Ignores any message send by users that are not a subscriber, moderator
        or broadcaster of the channel, but only if the channel is in the Addressbook
        category <code>subonly</code> (e.g. <code>/ab add #joshimuz subonly</code>,
        notice the leading <code>#</code>)</dd>
    </dl>
     <h3>General Options</h3>
    <ul>
        <li><strong>Enable Ignore</strong>: Enable/disable the Ignore System
        altogether</li>
        <li><strong>Ignore own messages</strong>: Also ignore own messages (if
        they match), can be useful for testing</li>
        <li>What should happen with ignored messages:
            <ul>
                <li><strong>Hide</strong>: Don't show ignored messages in chat
                    at all (they still get added to the <code>Ignored</code> dialog)</li>
                <li><strong>Show count</strong>: Shows the number of ignored messages
                in chat every 30s (if there were any), so you know that messages
                were ignored</li>
                <li><strong>Show names</strong>: Shows the name of the sender of
                any ignored messages, in a list similiar to MOD/UNMOD or JOIN/PART
                messages</li>
            </ul>
        </li>
        <li><strong>Only show if ignored messages dialog is not open</strong>:
        Only show what is configured for "What should happen with ignored messages"
        when the ignored messages dialog isn't currently open.</li>
    </ul>
     <p>The <code>Ignored Users</code> list allows you to ignore
        users in chat or prevent them from whispering you, which is possible via
        the main ignore list as well, but was added as a separate function to be
        more convenient. Aside from the settings, you can also ignore/unignore
        users via the User Context Menu.</p>
     <p>Ignored users are independant of the main ignore list, so they also apply
        if ignore is disabled.</p>
     <h2>
        <a name="Sounds">Sounds</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>General Sound Settings</h3>
    <p>You can enable or disable all sounds here. Sounds are searched in the
    displayed folder, which is the current working directory. Any valid sound
    files in the folder should be selectable as a sound to be played. If you
    added or removed files, you may have to use <code>Rescan folder</code> to
    make the files show up in the list. You can open the folder in your standard
    file browser from here to add files to it more quickly.</p>
     <h3>Sound Types Settings</h3>
    <p>You can specify requirements, soundfile, volume and delay for
        different types of events:</p>
    <ul>
        <li>When a message is highlighted</li>
        <li>When a stream changes status (online/offline/changed title/changed game)</li>
        <li>When any message in received in any open channel</li>
        <li>When someone joins/leaves any open channel</li>
        <li>When a new follower is detected <em>(this only works if the <a href="help.html#followers">Follower
                    Dialog</a> is currently open)</em></li>
    </ul>
    <p>You can set a delay (seconds) so that the same sound won't be played twice during
    the set number of seconds. So if e.g. 3 highlighted messages come in within
    10 seconds and the delay is set to 15 seconds, only one sound will be played.</p>
     <p>Each sound has different options for when the sound should be played. See
        the <a href="#Notifications">Notification Settings</a> for help on the options.</p>
     <h2>
        <a name="Notifications">Notifications</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Notifications</h3>
    <p>You can show notifications for two kinds of things:</p>
    <ul>
        <li><strong>Highlights</strong> - When a message in chat is highlighted</li>
        <li><strong>Stream Status</strong> - When a stream changes status, e.g.
        offline -> online or changed title</li>
    </ul>
     <p>For both these you can select separately if and when they are shown:</p>
    <ul>
        <li><strong>Off</strong> - Never show</li>
        <li><strong>When channel/app not active</strong> - Only when the channel
        isn't the currently selected tab AND when the program doesn't have focus</li>
        <li><strong>When channel or app not active</strong> - Only when the channel
        isn't the currently selected tab OR when the program doesn't have focus</li>
        <li><strong>When app not active</strong> - Only when the program doesn't
        have focus</li>
        <li><strong>When channel not active</strong> - Only when the channel
        isn't the currently selected tab</li>
        <li><strong>When channel active</strong> - Only when the channel IS the
        currently selected tab</li>
        <li><strong>Always</strong> - No requirements, always show it</li>
    </ul>
     <p>In addition, the option <strong>Don't notify about "Stream offline"</strong> allows you
    to never show when a stream changes status to offline, so you will only be
    notified about streams going live or changing title/game.</p>
     <h3>Notification Type / Options</h3>
    <p>Select here whether to use the <em>Chatty Notifications</em> or the default
        <em>System Tray Notifications</em>. This settings DOES NOT enable or
    disable notifications altogether, just switch between the types.</p>
    <p>If you have <em>Chatty Notifications</em> selected, you can change some
    more options:</p>
    <ul>
        <li><strong>Position:</strong> In which corner the the notification appears on the screen</li>
        <li><strong>Screen:</strong> On which screen the notification appears (<code>auto</code> means
        it's on the same screen as the Chatty window)</li>
        <li><strong>Display Time:</strong> How long the notification will be displayed
        by default. This can vary a bit depending on the situation.</li>
        <li><strong>No User Activity:</strong> This is a tricky one. If you enable
        this, then the notification will not be closed after the defined Display Time
        if no activity was detected in the last few seconds. This can be useful
        to still see notifications from a few minutes ago if you were away from
        the computer.
        The time defines
        when the notification will be closed no
        matter what, so older notifications won't stay there forever if you are
        away from the computer for a bit longer. 
        <br /><br />Activity is tracked through two methods: 
        The first method is tracking the system-wide mouse movements, which is
        done through an API that may not always return accurate information
        (e.g. if you are in a game) and it only checks the position every few
        seconds (only the last location is saved at any time for comparison).
        The second method detects activity only inside of Chatty, by tracking
        button presses and mouse actions (e.g. if you type a message, open a
        dialog etc.).</li>
     </ul>
    <h3>Followed Streams</h3>
    <p>Enable this to make Chatty get a list of your followed streams regulary
    so it can display notifications if their status changes. This simpy allows
    Chatty to know about your followed streams, so notifications aren't the only
    advantage. It also allows it to record the viewer count and status history
    of followed live streams as long as Chatty is running.</p>
     <h2>
        <a name="Log_to_file">Log to file</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>If you enable logging, chat messages (and more if enabled) will be written
    into a seperate textfile for each channel.</p>
    <h3>Channels</h3>
    <p>You can specify which channels should be logged:</p>
    <ul>
        <li><strong>always</strong> - Log all channels without exception <em>(default)</em></li>
        <li><strong>blacklist</strong> - Log all channels, except the ones on
        the blacklist</li>
        <li><strong>whitelist</strong> - Log no channels, except the ones on the
        whitelist</li>
        <li><strong>off</strong> - Log no channels whatsoever</li>
    </ul>
     <h3>Messages Types</h3>
    <p>Normal chat messages are always logged, however you can log additional
    information:</p>
    <ul>
        <li><strong>Chat Info</strong> refers to general chat releated info messages
        like connecting/disconnecting/trying to timeout someone/stream title..</li>
        <li><strong>Bans/Timeouts</strong> refers to bans/timeouts in chat, which
            will be logged like this: <code>[12:32:25] BAN: name, name2</code></li>
        <li><strong>Mod/Unmod</strong> refers to when someone in chat is modded/
            unmodded, which will be logged like this: <code>[12:32:25] MOD: name1, name2</code></li>
        <li><strong>Joins/Parts</strong> refers to when someone joins/parts the
        channel, which will be logged like this: <code>[12:32:25] JOIN: name1, name2</code></li>
        <li><strong>System Info</strong> means any info messages that are related
        more to Chatty than chat itself, like info about new versions, if you use
        settings commands..</li>
        <li><strong>Viewerstats</strong> are stats about the viewercount which
        are logged in a semi-regular interval to give some idea about the viewercount
        during that time. It shows which interval it refers to, the min/max/avg viewers,
        the number of values and the development (first value/after offline is absolute, then +-
        relative change, _ means offline before/in between/after that value, e.g.
        <code>[21:06:21] Viewerstats (21:03-21:06): avg:28.612 min:28.432 max:28.887 [3/28.519-87+455_]</code>).</li>
        <li><strong>Viewercount</strong> will log the viewercount as it is updated,
            like this: <code>[15:23:58] VIEWERS: 12521</code></li>
    </ul>
     <h2>
        <a name="Window">Window</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Dialogs Location/Size</h3>
    <ul>
        <li>Restore Dialogs
            <ol>
                <li><strong>Open dialogs in default location</strong>: Always
                open dialogs in their default location (centered on the main
                window) when you open them.</li>
                <li><strong>Keep location during session</strong>: Puts dialogs
                at the same position when you reopen them during the same
                session (so they are put on the default location when you open
                them the first time after starting Chatty).</li>
                <li><strong>Restore dialogs from last session</strong>: Puts
                dialogs at the same position they were at when you closed Chatty
                last session and also keeps the position during the session.</li>
                <li><strong>Reopen dialogs from last session</strong>: Reopens
                any dialogs that were open when you closed Chatty last session
                and also puts them at the same position they were before.</li>
            </ol>
        </li>
        <li><strong>Attach dialogs position to main window</strong>: If enabled,
        moves the dialogs like Channel Info or Admin Dialog along with the
        main window, so they always keep the same relative position. You can
        still move the dialogs by themselves of course.</li>
    </ul>
     <h3>Other</h3>
    <ul>
        <li><strong>Open URL Prompt</strong>: Enable this to be asked
            when opening a URL. Even if this is disabled, you may still asked on
            some occasions, but not for URLs in chat.</li>
        <li><strong>Always show chat scrollbar</strong>: Always show the vertical
        scrollbar in the chat window (there should never be a horizontal one),
        even if no scrolling is necessary. This can be useful for using window
        capture for streaming, because you can always keep the same subregion.</li>
        <li><strong>Minimize to tray</strong>: When minimizing the main Chatty
        window, it will be minimized to tray.</li>
        <li><strong>Close to tray</strong>: Closing the main Chatty window will
        not actually exit the program, but instead minimize it to tray. You can
        actually close the program via <code>Main - Exit</code> or the tray icon
        context menu.</li>
        <li><strong>Tab Order</strong>: Whether to show tabs in the order they
        were opened or alphabetically.</li>
        <li><strong>Scroll through tabs with mousewheel</strong>: Hover mouse
            over tabs and scroll to change tabs.</li>
        <li><strong>Default Userlist Width</strong>: The default width of the
            userlist in pixels.</li>
        <li><strong>Min. Width</strong>: The minimum width of the userlist in
            pixels.</li>
     </ul>
     <h3>Popout</h3>
    <ul>
        <li><strong>Restore location/size</strong>: When you close a popout
        window then it's location/size is saved and used for the next popout
        window that is opened. Each saved location/size is only used once, if
        there is none left then the default attributes are used. This is also
        saved between sessions (attributes of popouts that are open when you
        close Chatty are saved as well).</li>
        <li><strong>Close popout when only channel</strong>: When you have a
        channel popout window open and close the last channel in the main window,
        then the popout window will automatically be closed and the channel
        moved to the main window. Disable this if the popout shouldn't be closed
        automatically.</li>
    </ul>
     <h2>
        <a name="Commands">Commands</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Custom Commands</h3>
    <p>Custom commands allow you to specify aliases for anything you could also
    enter directly into the inputbox (like chat messages or regular commands),
    with the exception of other custom commands, which is a limitation
    implemented to prevent infinite loops. Custom commands you add should be in
    the following format:</p>
     <p><code>/&lt;commandName&gt; &lt;what the command should do&gt;</code></p>
     <p>Everything until the first space is the name of the comand, and everything
    after the first space is the text of the command. For example:</p>
     <p><code>/hello Hello World!</code></p>
     <p>If you added that to the custom commands and enter <code>/hello</code>
        in the inputbox, then it would send <code>Hello World!</code>, just as
    if you would have written it yourself and pressed Enter.</p>
     <h3>Custom Command Parameters</h3>
    <p>You can also specify parameters in the command text, which will be replaced
    when you execute the custom command. For example:</p>
    <p><code>/permit !permit $$1</code></p>
    <p>When you enter <code>/permit name</code>, then it will replace <code>$$1</code>
        with the first word after the command, which in this case would be
        <code>name</code>, making the actually send text <code>!permit name</code>.</p>
     <p>This is the syntax for specifying parameters (word in this context means
    anything seperated by a space):</p>
    <dl>
        <dt><code>$1, $2, $3</code></dt>
        <dd>First word, second word, third word etc.</dd>
         <dt><code>$1-</code></dt>
        <dd>First word, and all the words after it</dd>
        <dd>Equivalently <code>$2-, $3-</code> etc.</dd>
         <dt><code>$$1</code></dt>
        <dd>First word, but required, meaning the command result will only be
        send if all the required commands are actually there</dd>
        <dd>Equivalently <code>$$2, $$3-</code> is also possible</dd>
         <dt><code>\$1-</code></dt>
        <dd>Escape any special character (like <code>$</code>) by prepending a backslash
            <code>\</code>, which means this won't be interpreted as a parameter
        and not be replaced</dd>
        <dd>If you actually want to use <code>\</code>, you can escape the
            backslash itself, for example <code>\\$1-</code> will be replaced
            (leaving one backslash in front of the replaced parameter)</dd>
    </dl>
     <h3><a name="commands-parameters-predefined">Predefined Parameters</a></h3>
    <p>In a context other than entering the command in the inputbox, there are
    some predefined parameters. For example if you add a command as a context
    menu entry (see next section), then clicking that entry will execute the
    command while automatically adding an appropriate parameter.</p>
     <p>So you can for example add just <code>/Permit</code> to the menu, but
        the custom command <code>/permit !permit $$1</code> will actually be
    executed as <code>!permit &lt;name of the user&gt;</code>.</p>
    <table class="settings">
        <tr>
            <th>Context</th>
            <th>Parameters</th>
        </tr>
        <tr>
            <td><em>All</em></td>
            <td><code>$chan</code> - the currently active channel (without leading #)</td>
        </tr>
        <tr>
            <td>User Context Menu</td>
            <td><code>$1</code> - name of the user</td>
        </tr>
        <tr>
            <td>User Dialog</td>
            <td><code>$1</code> - name of the user</td>
        </tr>
        <tr>
            <td>Channel Context menu</td>
            <td><code>$1</code> - name of the currently active channel (without leading #)</td>
        </tr>
        <tr>
            <td>Hotkey</td>
            <td><code>$1</code> - the currently <a href="help.html#userselection">selected user</a> (if present)</td>
        </tr>
    </table>
     <p>In addition, there is an implicit channel context, which means channel-aware
        commands like <code>/ban</code> are executed in the appropriate channel.</p>
     <h3><a name="commands-menu">Customize User/Channel Context Menu and User Dialog</a></h3>
    <p>You can add custom commands and regular commands to the <code>User Context Menu</code> (when you right-click
        on a user in chat), the <code>Channel Context Menu</code> (when you right-click anywhere on the chat
        that is not otherwise linked) and customize <code>User Dialog Buttons</code> (Custom Commands
        and Timeout Buttons).</p>
    <p>Commands can be added in the following format:</p>
    <p><code>/&lt;commandName1&gt;, /&lt;commandName2&gt;</code></p>
    <p>For example:</p>
    <p><code>/Slap, /Permit</code></p>
    <p>Which means the command with the name <code>slap</code> will be added
        first, then <code>permit</code> after that. You can use spaces,
        linebreaks and/or commas as seperators between commands.</p>
     <p>This is the syntax for specifying commands in the Context Menus/User Dialog:</p>
    <dl>
        <dt><code>/Slap /Permit</code> or <code>Slap, Permit</code> or <code>Slap Permit</code></dt>
        <dd>Commands can be specified with or without forward slash <code>/</code>, then the name
        (without parameters) and space, linebreak or comma to seperate to the next command.</dd>
        <dd><em>Custom Commands in the User Dialog require the <code>/</code> in front.</em></dd>
        <dt><code>//Slap</code></dt>
        <dd>Prepending two forward slashes <code>//</code> will put the command
            in the special submenu <code>More..</code> (for Context Menus) or
            in a second line of buttons (for the User Dialog).</dd>
        <dt><code>| Slap</code> or <code>|//Slap</code></dt>
        <dd>Adding <code>|</code> (vertical bar) will add a seperator before the
            menu item for the next command.
            The <code>|</code> doesn't have to be directly in front of the command,
            it simply applies to the following command.</dd>
        <dd><em>Does not work for custom buttons in the User Dialog.</em></dd>
        <dt><code>/Set_color</code> is displayed as <code>Set color</code></dt>
        <dd>Underscores in command names are replaced with a space for display
        in a Context Menu or on a button.</dd>
    </dl>
     <p>In addition, you can define for the <strong>User Dialog Buttons</strong>:</p>
    <dl>
        <dt><code>5, 2m, 10m, 24h</code></dt>
        <dd>In addition to Custom Commands you can also specify Timeout Buttons
        in the User Dialog. Times are added just like Custom Commands
        (seperated by comma/space/linebreak). However they
        can only be added to the first row of buttons. They are interpreted as
        seconds by default, unless you add a suffix: <code>s</code> - seconds,
        <code>m</code> - minutes, <code>h</code> - hours, <code>d</code> - days.</dd>
        <dt><code>120s, 120</code> is displayed as <code>120s</code> and <code>2m</code></dt>
        <dd>Both definitions create a button with a 120 seconds timeout, however
            if you use a suffix, then the definition is used as button label
            directly, otherwise the label is automatically created based on the
            time.</dd>
        <dt><code>/Ban[B], /Unban[U], 2s[P]</code></dt>
        <dd>You can add keyboard shortcuts to buttons, that can be used while the
        dialog is open and focused. Add a single button in brackets (uppercase).
        Everything that is understood by
        <a href="https://docs.oracle.com/javase/7/docs/api/javax/swing/KeyStroke.html#getKeyStroke%28java.lang.String%29">getKeyStroke()</a>
        can be used. No spaces are allowed, however a plus (<code>+</code>) can
        be used instead (which will be replaced with a space automatically).</dd>
        <dt><code>/Slap[NUMPAD1|Np1], /Permit[NUMPAD2|]</code></dt>
        <dd>Adding a vertical bar (<code>|</code>) after the shortcut will use
        the text after it up to the closing bracket as label for the shortcut on the button (no
        spaces are allowed). If you don't specify any text, then no label is
        used for that shortcut.</dd>
        <dt><code>nokeylabels</code></dt>
        <dd>If that text appears anywhere in the definition, then no labels will
        be displayed on the buttons for the shortcuts, unless they are
        explicitly defined.</dd>
    </dl>
     <h2>
        <a name="Other">Other</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>Other</h3>
    <ul>
        <li><strong>Inform me about new versions</strong>: Checks for new
        versions every few days and outputs a message about it.</li>
    </ul>
    <h3>Write Stream Status</h3>
    <p>You can let Chatty write information (title, game, viewercount) of a
        certain stream to a file. The file will be written to the subfolder <code>exported</code> of the settings directory
    (enter <code>/dir</code> to find out where that is). Stream information is
    only written if Chatty gets that data, so for it to work properly you need
    to currently have the channel of that stream open in Chatty. (When you change
    the setting, data will be requested once for testing, but you have to be in
    the channel for it to be updated regulary.)</p>
     <p>To save stream information to a file, you have to define it in the
    setting. Each line represents one stream/file and the content to write into
    the file. The format for each line is:</p>
     <p style="padding-left:10px;"><code>&lt;streamname&gt; &lt;filename&gt; [online/offline] &lt;content&gt;</code></p>
     <p>The optional parameter <code>online/offline</code> defines whether to
    write the given content to the file when the stream is online or offline. So
    you could for example define one line for online, which writes the viewercount
    and another for offline which writes "Offline" or maybe no content at all, which clears the file.
    If you only define one for online, then
    the file is not written if the stream is offline, so the previous info will
    stay in there. If you ommit this parameter, then online is assumed.</p>
     <p>The following codes in the content will be replaced with the appropriate data:</p>
    <ul>
        <li><code>%title</code> - The title of the stream</li>
        <li><code>%game</code> - The game of the stream</li>
        <li><code>%viewers</code> - The current viewercount</li>
    </ul>
    <p>Example which will write two files (if joined to #joshimuz):</p>
    <p style="padding-left:10px;">
    <code>
        joshimuz title.txt %title (%viewers Viewers)<br />
        joshimuz title.txt offline Stream offline<br />
        joshimuz game.txt %game<br />
        joshimuz game.txt offline
    </code>
    </p>
    <p>If the stream is online, it writes the title and viewercount to <code>title.txt</code>
        and the game to <code>game.txt</code>.
    If the stream is offline it writes "Stream offline" to <code>title.txt</code> and empties
    <code>game.txt</code>.</p>
     <h2>
        <a name="Advanced">Advanced</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>These settings should only be changed if you know what you're doing. You
    can however reset any setting to the default by either deleting the settings
    file or using <a href="help-setting_commands.html#server">setting commands</a>.</p>
     <h3>Connection</h3>
    <ul>
        <li><strong>Server</strong>: The default server to connect to</li>
        <li><strong>Port</strong>: The default port(s) to connect to (can be
            a list of ports, e.g. <code>6667,443</code>)</li>
        <li><a name="Advanced-Userlist"><strong>Correct Userlist</strong></a>:
        If this setting is enabled, the IRCv3 capability that enables joins/parts is send
        on connect. This doesn't mean you have to <em>show</em> joins/parts in
        chat, it just means joins/parts are received in the background to maintain the userlist.</li>
    </ul>
    <p>The server/port values are used when connecting, unless the commandline
        parameters <code>-server</code> and/or <code>-port</code> are used,
    then the value that is given there is used instead (without it being shown
    here). You should know if you set a server or port with a commandline
    parameter, but you can also check that by using <code>/get server</code>
    and <code>/get port</code>.</p>
     <h3>Whisper Feature</h3>
    <div class="moreInfo">Help: <a href="help-whisper.html">Whisper Feature</a></div>
     <h3><a name="Advanced-TC">Twitch Client Version</a></h3>
    <p>The Twitch Client Version setting has been removed since Twitch Chat was
    switched over to IRCv3 tags and commands (receiving of joins/parts is now
    controlled by the <a href="#Advanced-Userlist">Correct Userlist</a> setting).</p>
     <h2>
        <a name="Hotkeys">Hotkeys</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
                 <p>You can add hotkeys for certain actions. In general, there
                are the following types of hotkeys:</p>
                <ul>
                    <li><strong>Regular hotkeys</strong>, which will only trigger if the main Chatty
                    window has focus (or a popout window).</li>
                    <li><strong>Application-wide hotkeys</strong>, which will trigger anywhere in
                    Chatty.</li>
                    <li><strong>Global hotkeys</strong>, which are supposed to trigger everywhere
                    on your computer (Windows only, Hotkey version required). However some hotkeys may
                    not work, so just try it out.</li>
                </ul>
                 <p>With the <strong>Enable global hotkeys</strong> setting you
                can enable/disable the currently defined global hotkeys if your
                Chatty version supports global hotkeys. It does <em>not</em> do
                anything on it's own, it just toggles global hotkeys you defined
                on and off, in case you only need them sometimes and they
                interfer with other programs you use. You can also toggle that
                setting in the main menu under <code>Extra - Options</code> or
                use setting commands to change the <code>globalHotkeysEnabled</code>
                setting directly.</p>
                 <p>If a dialog pops up that tells you that <strong>global hotkeys
                    have not been properly initialized</strong>, check out the
                    <a href="help-troubleshooting.html#jintellitype">Troubleshooting</a> page.</p>
                 <h3>Adding/Editing hotkeys</h3>
                <p>When adding or changing a hotkey you have the following options:</p>
                <ul>
                    <li><strong>Action:</strong> The action to perform when the
                        hotkey is pressed. If you select <code>Custom Command</code>,
                        you have to enter the command to perform in the field below
                        (just the name of the command, see <a href="#Commands">Commands</a>).</li>
                    <li><strong>Hotkey:</strong> The key or key combination that
                    has to be pressed to perform the action, click into the field
                    and press the key or key combination you want to use.
                    <ul>
                        <li>If the hotkey shows as being already used you may
                        still add it, but having more than one action defined
                        for the same hotkey will not trigger all the actions
                        when the hotkey is pressed, but a random one,
                        so it doesn't really make a lot of sense.
                        Adding it anyway can be sensible if you're currently
                        changing several hotkeys and will change the other
                        hotkey afterwards, so each key combination is only used
                        once.</li>
                    </ul>
                    </li>
                    <li>Type:<ul><li><strong>Regular:</strong> Regular hotkey, which will only
                        trigger if the main window or a popout is focused.</li>
                    <li><strong>Application:</strong> Application-wide hotkey,
                        which will trigger if any Chatty component is focused.</li>
                    <li><strong>Global:</strong> Global hotkey, which will
                    trigger anywhere on your computer (only works with the hotkey
                    version of Chatty and if it loaded properly, Windows only).</li></ul></li>
                     <li><strong>Delay:</strong> The delay between performed actions,
                        in 1/10th of a second,
                    if this is 0 then there will be no delay required, otherwise
                    specifying a delay of e.g. <code>50</code> will execute the
                    action only once per 5 seconds, even if you keep the hotkey
                    pressed. This can be useful for actions you normally would
                    only want to execute once (e.g. running a commercial,
                    sending a message to chat) and
                    that you don't want to spam by accident.</li>
                </ul>
     <h2>
        <a name="Completion">Completion</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
                <p>TAB Completion allows you to write the beginning characters
                of a nickname in chat and then press TAB to complete it. To learn how to
                use TAB Completion <a href="help.html#nickCompletion">check out the general help</a>.</p>
                 <h3>TAB Completion</h3>
                <ul>
                    <li><strong>Show popup:</strong>
                    If enabled, shows a small window with information about the
                    current completion if there is more than one matching result.
                    It shows at which result of how many you are when cycling
                    through results as well as a limited overview of which results
                    there actually are.</li>
                    <li><strong>Max Items Shown:</strong> How many items
                        (e.g. names that match what you entered) to show
                    in the popup at once. You can set this to 0 to not show any
                    items.</li>
                    <li><strong>Complete to common prefix</strong>:
                        Pressing TAB only completes up to the common prefix for
                        all found matches, giving you the opportunity to add
                        more characters and then press TAB again to refine the
                        results or just press TAB again to start cycling through
                        the results.
                        <br /><br />
                    With this
                    setting disabled, it immediately completes the first found
                    result, allowing you to directly cycle through by pressing TAB repeatedly.</li>
                    <li><strong>Sorting:</strong> Changes how the matching usernames
                        are sorted for completion (only applies to usernames,
                        not for other stuff like emotes or setting names which
                        are always alphabetical).
                        <ul>
                            <li>Predictive: Gives names of users that were recently
                            active in chat higher priority, with users who send
                            a message that was highlighted the highest. This way
                            people you talk to probably appear under the first
                            few results.</li>
                            <li>Alphabetical: Sort names alphabetical.</li>
                            <li>Userlist: Sort names the same as in the userlist.</li>
                        </ul></li>
                </ul>
                     <h3><a name="Completion-custom">Custom Completion Items</a></h3>
                <p>Custom Completion allows you to add terms and their completion,
                    allowing you to not only complete names in chat (<kbd>TAB</kbd>) or emotes
                (<kbd>Shift-TAB</kbd>) but also custom stuff you added to the list by prepending the term with a
                point and using <kbd>Shift-TAB</kbd>.</p>
                 <p>Example: Add <code>chatty</code> as <em>Key</em> and
                    <code>http://chatty.github.io</code> as <em>Value</em>
                    and then in the inputbox type <code>.chatty</code> (notice the dot in front) and press
                    <kbd>Shift-TAB</kbd> to complete it to the URL.</p>
                 <p>Custom Completion items can only have one completion, so you
                    can't have <code>.chatty</code> complete to several things
                    as it could be the case with a nickname.</p>
                 <p>Besides the Settings Dialog, you can also use the
                    <code>/customCompletion</code> command to modify custom
                completion items:</p>
                 <ul>
                    <li><code>/customCompletion add &lt;item&gt; &lt;value&gt;</code> - Add an item</li>
                    <li><code>/customCompletion set &lt;item&gt; &lt;value&gt;</code> - Change an item that already exists</li>
                    <li><code>/customCompletion remove &lt;item&gt;</code> - Remove an item</li>
                </ul>
                 <p>Remember that you can also use TAB Completion for commands. Kappab</p>
</body>
</html>
 PḲGKۆ�O"O"1chatty/gui/components/help/help-short_guides.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Short Guides</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">More Guides..</a></h1>
    <p>
        <a href="#localsubonly">Local Subscriber-Only Mode</a> |
        <a href="#streamers">Chatty for Streamers</a> |
        <a href="#eventchat">Join Eventchat</a>
    </p>
    <p>Probably shorter guides about some aspects of Chatty.</p>
    <h2><a name="localsubonly">Local Subscriber-Only Mode</a></h2>
    <p>You can create your own local subonly mode, which ignores all messages
        written by non-subscribers.</p>
     <p>Features used: <a href="help-settings.html#Ignore">Ignore System</a>, <a href="help-addressbook.html">Addressbook</a>,
    <a href="help-settings.html#Commands">Custom Commands</a></p>
     <h3>Create Ignore Entry</h3>
    <p>Go to <code>Main - Settings - Ignore</code> and make sure <code>Enable Ignore</code>
        is ticked. Then add to the list (press the Plus-Button):</p>
    <p><code>!status:smbaf chanCat:subonly</code></p>
    <p>The <code>!status:smbaf</code> prefix matches on messages send by users that
        <em>don't</em> have any of the status levels defined, in this case users
        that are neither a subscriber (<code>s</code>), moderator (<code>m</code>), broadcaster (<code>b</code>),
        admin (<code>a</code>) or staff (<code>f</code>). So basicially this only matches on normal users.</p>
    <p>The second requirement for a match is the <code>chanCat:subonly</code>
        prefix, which refers to the channel category <code>subonly</code>, which
        means the channel the message was send in needs to have that Addressbook category.
        This is used to be able to easily toggle subonly-mode for a channel, and
        of course to prevent it being enabled in all channels you join in the
        first place.</p>
     <h3>Create Custom Command to modify Addressbook</h3>
    <p>To make use of the Ignore Entry defined in the previous section, you need
        to add the <code>subonly</code> category to the channel you want to have
        it enabled for. To do this, you could open the Addressbook Dialog
        (<code>Channels - Addressbook</code>) and add the channel with the
        category there (channels need a leading # in this case, so e.g. <code>#joshimuz</code>).</p>
     <p>You can however also use <a href="help-addressbook.html#commands">Addressbook Commands</a>:</p>
    <p><code>/ab change #joshimuz !subonly</code></p>
    <p>This toggles the <code>subonly</code> category for the given channel, so
    when the category is there, it removes the category, and when the category is not there,
    it adds the category.</p>
    <p>To do this a bit more conveniently, you can add it as a custom command. Go
        to <code>Main - Settings - Commands</code> and add the following to the
    list:</p>
    <p><code>/Toggle_Subonly /ab change #$$1 !subonly</code></p>
    <p>If you enter <code>/Toggle_Subonly joshimuz</code>, this will automatically
        run the Addressbook as mentioned above (<code>$$1</code> means this is
        being replaced with the first word after the command).</p>
     <p>To make this more convenient (entering the command with the correct channel
        could be a bit of a hassle), add the Custom Command to the <code>Channel Context Menu</code>
        (on the same page in the settings). Just click on <code>Edit</code> and add
    the command name (without any parameters):</p>
    <p><code>/Toggle_Subonly</code></p>
    <p>Now if you right-click on a channel, the context menu that opens should
        have an entry <code>Toggle Subonly</code>, which you can
        use to turn your own local subonly mode for the current channel on and off.</p>
      <h2><a name="streamers">Chatty for Streamers</a></h2>
     <h3>Stay informed</h3>
    <ul>
        <li>Open the <code>&lt;View - Channel Info&gt;</code> to see your current
        stream title/game, a graph of your viewercount and how long your current
        stream already is going.</li>
        <li>Open the <code>&lt;Extra - Followers/Subscribers&gt;</code> dialog
        to view your 100 most recent Followers/Subscribers and some stats based
        on that.</li>
    </ul>
     <h3>Manage your stream</h3>
    <ul>
        <li>Open the <code>&lt;View - Channel Admin&gt;</code> dialog to change
        the title/game of your stream and run commercials:
        <ul>
            <li>Presets/History for title/game combinations</li>
            <li>Favorite games you play often</li>
            <li>Run commercials on a delay and/or timer</li>
            <li>Run commercials while playing a game via a global hotkey
                (Windows only)</li>
        </ul>
        </li>
    </ul>
     <h3>Capture chat for on-stream chat</h3>
    <ul>
        <li>Customize chat colors, for example change to black background to be
            able to make the background transparent in your streaming program.</li>
        <li>If you capture Chatty with your streaming program, make sure to
            enable the setting <code>Settings - Window - Always show chat scrollbar</code>, so you can always capture the same
            region, independant of how many messages are in the chat window.</li>
        <li>Change the font so it shows up nicely on stream.</li>
        <li>If you want to have all text in bold - not just the names - you can
            set the font by command like this: <code>/set font Arial Bold</code>.</li>
        <li>You can clear the chat window by using the <code>/clearchat</code>
            command (e.g. if you changed some settings before starting the stream
        you don't want to show).</li>
    </ul>
      <h2><a name="eventchat">Join Eventchat</a></h2>
    <p>When you join a channel of a big event and you don't receive any (or few) messages,
        it's possible that the channel is on the Event Chat servers, not the
        regular Twitch Chat servers. It's a common problem to run into if you're
        not using the website (like any regular IRC client, Chatty and possibly
        mobile).</p>
     <p>In order to join Event Chat in Chatty, you have to connect to a different
        server. See <a href="http://twitchstatus.com/#chat">Twitchstatus.com</a> for an (unofficial) list
        of servers (make sure you choose the <code>Event Chat</code> tab and use
        a server/port combination that is marked as <code>irc</code> in the
        <code>Protocol</code> column).</p>
        <p>Since Chatty can only connect to one server at a time, you either have
           to only join channels that are on the Event Chat servers, or run two
           <a href="help-guide1.html">seperate instances</a> of Chatty at the
           same time.</p>
        <p>There are different ways of connecting to a different server:</p>
       <ul>
           <li>The <code>/server &lt;host&gt;[:port]</code> command connects to the given server and
               port manually (for example <code>/server irc.twitch.tv:443</code>,
               replace with an Event Chat server accordingly).</li>
           <li>The <code>-server</code> and <code>-port</code> commandline options
           allow you to specify a different server when you start Chatty.</li>
           <li>The <code>Server</code> and <code>Port</code> settings in the
               Settings Dialog under <code>Advanced</code> allows you to set
           fixed settings for the server to connect to. This especially makes sense
           if you are using <a href="help-guide1.html">seperate settings for different instances</a> of Chatty.</li>
       </ul>
        <p>If you want to switch between servers sometimes, you can create a
           custom command to connect to Event Chat so you don't have to enter
           the command with the IP and port manually every time. Go to
           <code>Settings - Commands</code>, add a new Custom Command and enter:
           <code>/eventchat /server &lt;server&gt;:&lt;port&gt;</code> (replace
           with the appropriate IP and port of course). Then you
           can just enter <code>/eventchat</code> in the inputbox (while not
           being connected) and it will connect to Event Chat and if you want to
           connect to regular Twitch Chat just connect regularly via the menu
           (and it will use <code>irc.twitch.tv</code> if you didn't change the
           server settings).</p>
 </body>
</html>
 PḲGeI?P��(chatty/gui/components/help/help-srl.html<!DOCTYPE html>
<html>
	<title>Chatty - SpeedRunsLive</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">To main help page</a></div>
    <h1><a name="top">SpeedRunsLive (SRL)</a></h1>
     <p><a href="http://speedrunslive.com">SpeedRunsLive</a> is a platform
    dedicated to speedrunning and racing (live speedruns against other players).
    Chatty has an integrated race viewer, which lists all the current races.</p>
     <h2>
        <a name="0.6.3">Race List / Race Info</a>
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Open the race list via <code>SRL - Race List</code>, which shows the
    current races. Right-click on a race to open a contextmenu with several
    options, double-click on a race to open the Race Info dialog.</p>
     <p>Notice that the race list isn't automatically updated, unless you have
    a Race Info dialog open (which is automatically updated in a regular
    interval). If you want actual real-time information on races, joining
    the SRL IRC is a good option. The integration in Chatty is mainly supposed
    to make opening/joining race related stuff easier and to give a quick and
    easy overview of who is in a race you are watching (without having to open
    a website).</p>
     <h2>
        <a name="0.6.3">Find races with someone</a>
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Use <code>SRL - Races with..</code> to find races that the stream of
    the currently active channel you have joined is part of. This will basicially
    take the stream you have clicked on, search through all the current races
    and list all the races that have an entrant that has that stream set. If
    there is only one matching race, and you currently don't have the Race Info
    dialog open, then it is immediately opened. Otherwise the matching races are
    listed for you to select.</p>
</body>
</html>
 PḲG�AӪ�8�84chatty/gui/components/help/help-troubleshooting.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Troubleshooting</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Troubleshooting</a></h1>
     <ul>
        <li>Startup/Folders/Settings
            <ul>
                <li><a href="#start">Chatty won't start</a></li>
                <li><a href="#jintellitype">Could not load JIntellitype.dll</a></li>
                <li><a href="#settings_lost">Settings lost</a></li>
                <li><a href="#wrong_folders">Wrong image/sounds folder</a></li>
            </ul>
        </li>
        <li>Connection Issues
            <ul>
                <li><a href="#login">Can't connect because the login failed</a></li>
                <li><a href="#connect">Can't connect</a></li>
            </ul>
        </li>
        <li>Other
            <ul>
                <li><a href="#known">Known Issues</a></li>
                <li><a href="#performance">Bad performance / OutOfMemoryError</a></li>
                <li><a href="#livestreamer">Livestreamer won't run properly</a></li>
                <li><a href="#font">Some characters in chat only show up as boxes / Fallback fonts</a></li>
                <li><a href="#log">Debug log</a></li>
            </ul>
        </li>
    </ul>
     <h2>
        <a name="known">Known Issues</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <h3>User Interface</h3>
    <ul>
        <li>Sometimes users aren't correctly sorted in the userlist</li>
        <li>Windows: Dragging the upper edge to maximize the window vertically
            doesn't resize the contents of the window. This may be a Java Bug
            that I cannot fix. Workaround: Try double-clicking the upper edge
            instead of dragging it.</li>
    </ul>
     <h3>Errors / Crashes</h3>
    <ul>
        <li>Using the Calibri font can cause random errors, due to a bug in
            Java.
            (<a href="http://stackoverflow.com/questions/16331075/error-generating-jasperreport-in-development-mode">More information</a>)</li>
        <li>Java can crash due to a bug with the graphics driver.
            (<a href="http://obsproject.com/forum/threads/chatty.14149/#post-81271">Forum Posts</a>)</li>
    </ul>
    <p><a href="help-issues.html">Documentation of some issues</a></p>
     <h2>
        <a name="performance">Bad performance / OutOfMemoryError</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>You may want to check if Irc logging is enabled in the Debug Window
        (<code>Extra - Debug window - Checkbox: Irc log</code>), which should
    be disabled by default, but can lower performance if checked.</p>
     <h2>
        <a name="jintellitype">Global hotkeys don't work</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>First of all, you only need Global Hotkey support when you want to use
        global hotkeys (which you can define in the settings). If you don't, you
        can just ignore any related messages or download the version of Chatty
        without Hotkey support. Global hotkeys currently only work on Windows.</p>
     <p>If you want to use global hotkeys and you get a message related to them
        not working, check the following sections. If you don't get a message,
        but the global hotkeys you defined just don't work, make sure you
        actually have global hotkeys enabled in the settings.</p>
     <h3>Wrong version of Chatty</h3>
    <p>If you try to add a global hotkey and it tells you that you have the
        wrong version of Chatty, you probably don't have the version supporting
        global hotkeys. Download the version that contains <code>hotkey</code>
        in the <code>.zip</code> filename and try that instead.</p>
     <h3>Could not load library (jintellitype-1.3.8.jar)</h3>
    <p>Chatty requires the <code>jintellitype-1.3.8.jar</code> to be in the
        <code>lib</code> subfolder of where the <code>Chatty.jar</code> is
        located.</p>
     <h3>Could not load JIntellitype.dll</h3>
    <p>If you get this error, you started Chatty with Hotkey support, but it
    couldn't load the library (.dll) necessary to register hotkeys. This can
    mean that:
     <ul>
        <li>You have the wrong version for your version
            of Java (32bit or 64bit Java need different versions of the <code>.dll</code>)</li>
        <li>The <code>JIntellitype.dll</code> isn't stored where the program can
        find it</li>
    </ul>
    <p>
        Find out if you have the 64bit or 32bit version of Java (e.g. by
        entering <code>java -version</code> on the commandline to check if there
        is 64bit in the response), then check if you downloaded the matching
        version of Chatty.</p>
     <p>Enter <code>/wdir</code> in Chatty to find out what your working directory
        is and make sure the <code>JIntellitype.dll</code> is in there. If you
        are starting Chatty via a shortcut, remember that the directory
        specified in the <code>Run in</code> field determines your working
        directory (on Windows at least, but global hotkeys are currently Windows only
        anyway).</p>
     <div class="moreInfo">Related information: <a href="help-guide_folders.html">Chatty directories and files</a></div>
     <h2>
        <a name="livestreamer">Livestreamer won't run properly</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>See the <a href="help-livestreamer.html">Chatty Livestreamer Help</a>.</p>
     <h2>
        <a name="settings_lost">Settings lost</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>If you loose your settings (or part of it like just the Addressbook) then
        either they weren't saved/loaded properly for some reason or you changed
        your configuration and your settings directory is not the same anymore.</p>
     <ul>
        <li>Enter <code>/dir</code> in Chatty to find out what your settings
            directory is (<code>/openDir</code> to open it) and whether that's
            the one you used before (there should be quite a few files and
            folders).</li>
        <li>If there is a <code>backup</code> folder you can try to restore the
            automatic backup. <a href="help-guide_folders.html#backup">More Information...</a></li>
    </ul>
     <h2>
        <a name="wrong_folders">Wrong image/sounds folder</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>The image/sounds folders are based on the current Working Directory,
        which is set when you start Chatty. <a href="help-guide_folders.html#wdir">More Information..</a></p>
     <h2>
        <a name="login">Can't connect because the login failed</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>If you repeatedly get disconnected because of possibly invalid login
    data, please go to <code>Main - Login.. - Verify login</code>.
    This will send a request to Twitch to check if the access token is valid.
    If the login data is valid, then Twitch may just have temporary problems
    and you should try again later. The same goes for when the check itself
    fails because it can't reach the Twitch API.</p>
    <p>If the login data isn't valid, you can just remove the login and request
        new login data. Also see the <a href="help.html#login-invalid">section about login</a>
    for more information about invalid logins.</p>
    <p>Another reason may be that you are connecting to the <a href="#connect">wrong port</a>.</p>
     <h2>
        <a name="connect">Can't connect</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>It's possible that your internet/firewall doesn't like the port you are
        using to connect. By default it tries to connect to <code>6667</code>
        first. Twitch may also have changed the ports. You can check <a href="http://twitchstatus.com">Twitchstatus.com</a>
        (not an official Twitch site) which chat server/ports are available (make sure to use an <code>irc</code> server).
        The host <code>irc.twitch.tv</code> should resolve to the available server IPs, so you normally
        shouldn't have to enter an IP directly (for main chat).</p>
     <p>If you are using a shortcut to start Chatty, also check any
        custom server/port you may have defined there using <a href="help.html#launch">commandline parameters</a>.</p>
     <h2>
        <a name="font">Some characters in chat only show up as boxes / Fallback fonts</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>If Java encounters a character that is not contained in the chat font
        you currently have configured, it will try to find it in the fallback
        fonts. While still not all characters will be displayed this way, it
        should work a lot better. If you want to be able to display even more
        characters, you can add your own fallback fonts into the Java fallback
        font directory: <code>&lt;JRE_INSTALL_DIR&gt;/jre/lib/fonts/fallback</code></p>
     <p>On Windows, the JRE would usually be located in
        <code>C:\Program Files\Java\</code> or
        <code>C:\Program Files (x86)\Java\</code>.</p>
     <p><em>Note:</em> If you set the <code>inputFont</code>
        <a href="help-setting_commands.html#font">setting</a> to something else
        besides a Java logical font, then the font fallback mechanism may break.
        This was the case before version 0.7.3.</p>
     <h2>
        <a name="start">Chatty won't start</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>You need to have at least Java 7 JRE (Java Runtime Environment) installed to run Chatty.</p>
    <p>If you try to start Chatty by double-clicking the <code>Chatty.jar</code>,
        first make sure that <code>.jar</code> files are associated with Java,
        and not some other program like WinRAR. The icon of the <code>Chatty.jar</code>
        should have a Java icon (coffee cup). If you right-click the <code>Chatty.jar</code>
        you can select the program to open it with under <code>Open with</code>.</p>
     <p>If you are sure that the <code>Chatty.jar</code> is actually started with
        Java, but no program window appears, it may be that an error occured before
    the window (GUI) could be created.</p>
     <h3>Check Association of .jar with Java (Windows)</h3>
    <p>Open a commandline window and enter <code>assoc .jar</code> which should output
        <code>.jar=jarfile</code> and enter <code>ftype jarfile</code> which should
        output something like <code>"C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*</code>
        (see also <a href="http://stackoverflow.com/questions/10875839/jar-file-keeps-giving-me-could-not-find-the-main-class-program-will-exit">
            Could not find the main class. Program will exit.</a>)</p>
     <h3>Run from commandline</h3>
    <p>Running Chatty from the commandline has the advantage of being able to
    get messages from before the GUI is established. Open a commandline where
    the <code>Chatty.jar</code> is located (Win7/8: Hold <kbd>Shift</kbd> while Right-Clicking to open
    the context menu, click <code>Open command window here</code>) and enter
    <code>java -jar Chatty.jar</code>.</p>
     <h3>Error: Java is not recognized as an internal or external command (Windows)</h3>
    <p>If you experience this when entering <code>java -jar Chatty.jar</code>
    in the commandline, then it probably can't find Java because it's not in the
    <code>PATH</code> environment variable (that defines where to look
    for programs of which only the filename has been entered, not the whole path).</p>
    <p>You can enter <code>PATH</code> in a commandline window to check what is
    in it. It should show a list of semicolon-seperated directories, one of which
    should point to Java.</p>
     <h3>Find errors in debug.log</h3>
    <p>See next section. Of course you'll have to navigate to the folder
    manually.</p>
     <h2>
        <a name="log">Debug log</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>If you experience any problems or errors, then there may be helpful
    information for debugging in the debug log, which is located in the settings
    directory <code>&lt;user_dir&gt;/.chatty/</code> (e.g.
    <code>C:\Users\&lt;username&gt;\.chatty\</code>, if you
        have Chatty running you can enter <code>/openDir</code> to open it or
        <code>/dir</code> to output the path).</p>
    <p>In that folder, there are two kinds of debug files:</p>
    <ul>
        <li>The <code>debug.log</code> which is overwritten everytime you start
            Chatty. It may also have a number at the end (like <code>debug.log.1</code>)
            if Java couldn't open the usual <code>debug.log</code>.</li>
        <li>Several files (<code>debug0.log, debug1.log, ..</code>), whereas
        one of them is written to at a time, and then switched to the next when
        a certain filesize is reached, rotating between a certain number of files.
        Those files are not overwritten when Chatty is started, but instead new data is appended.</li>
    </ul>
    <p>So to find possibly relevant data:</p>
    <ol>
        <li>If you haven't started Chatty again after the error occured, check
            the <code>debug.log</code> first.</li>
        <li>Otherwise check if one of the <code>debug0.log, debug1.log, ..</code>
            files could contain the necessary information, based on the last
        modification dates.
        <ul>
            <li>Even if the error is already some time back, it <em>may</em> still
            be in there, depending on how much data has been added in the meantime.</li>
        </ul></li>
    </ol>
     <h2>
        If you found a bug or have a suggestion..
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p><a href="help.html#contact">Contact</a> me please.</p>
</body>
</html>
        PḲGȖ�~�#�#,chatty/gui/components/help/help-whisper.html<!DOCTYPE html>
<html>
	<title>Chatty Help - Whisper Feature</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
<body>
    <div id="backlink"><a href="help.html">Back to main help page</a></div>
    <h1><a name="top">Whisper Feature</a></h1>
     <p>
        <a href="#start">Getting started</a> |
        <a href="#usage">Usage</a> |
        <a href="#troubleshooting">Troubleshooting</a>
    </p>
     <p><em>It is recommended that you read and understand this whole section
        before enabling this feature.</em></p>
     <p>Chatty implements the new <code>/w</code> command that Twitch Chat
        provides, allowing you to send private messages in chat to other users.
        However, it is disabled by default, since it has a few problems:</p>
     <ul>
        <li>Twitch is planning to move Whispering to a whole different system
            soon, which means in the current state it is not really encouraged
            to be used by third-party applications. It is unclear what the new
            system will be and whether it will be possible to implement it in
            Chatty. Also, due to these circumstances, not too much development
            time will be put into the Whisper feature in Chatty at this time.</li>
        <li>Whispering currently runs on the Group Chat servers, so Chatty can't
            just use <code>irc.twitch.tv</code> to connect as for regular chat.
            Since there is no easy official way to get the server data
            automatically, you have enter the IP and port yourself if you want
            to use this feature.</li>
    </ul>
      <h2><a name="start">Getting started</a></h2>
    <p>You have to change a few settings in order to use this feature
        (all under <code>Main - Settings - Advanced</code>):</p>
     <h3>Required settings</h3>
    <ul>
        <li><strong>Whisper Enabled</strong>: Connect to the given Group Chat
            server to send and receive whispers. Enable when you configured the
            server. Disable this it if you run into problems.</li>
        <li><strong>Server/Port</strong>: You can click on
            <code>Select server..</code> and select a server from the list (all
            listed <em>should</em> work). This is using an unsupported Twitch
            API which is not guaranteed to stay the same.</li>
    </ul>
     <p>Once these settings are correctly configured, Chatty will connect to
        Whispers when you connect to regular chat. It will disconnect when you
        disconnect from regular chat via the Main-menu. If the Whisper Feature
        is properly connected and ready to use, <code>[W]</code> will be shown
        in the titlebar and the <code>/connection</code> command will show the
        Whisper connection in addition to the regular chat connection.</p>
     <p>If you were already connected when you changed these settings, either
        disconnect and connect again (via the Main menu) or restart Chatty.</p>
     <p>If <code>Select server..</code> is not working, configure the server manually:</p>
    <ul>
        <li><strong>Server</strong>: The Group Chat server IP to connect to. You can check:
            <ul>
                <li><a href="http://twitchstatus.com/">Twitchstatus.com</a> (unofficial site) at the bottom of the page,
                    "Group Chat" tab, "irc" Protocol (not "ws_irc")</li>
                <li>Get an IP from the Twitch API using <a href="http://blog.bashtech.net/twitch-group-chat-irc/">this guide</a>
                    (you will need a token and be member of a Group Chat, you won't need to get a channelname)</li>
            </ul></li>
        <li><strong>Port</strong>: The port for the Group Chat server you
            are using (you should get it along with the IP).</li>
    </ul>
     <h3>Optional settings</h3>
    <ul>
            <li><strong>Whitelist</strong>: If enabled, only users that have the
                <a href="help-addressbook.html">Addressbook</a> category
                <code>whisper</code> will be able to send whispers to you.
                Messages from other users are discarded. Alternatively you can
                also <strong>blacklist</strong> users by adding them to the
                <code>blockwhisper</code> category (which makes most sense with
                the Whitelist setting disabled).<br /><br >
                 In addition, you can also add users to the Ignore List by
                right-clicking on them in chat to open the context menu and
                choosing <code>Miscellaneous - Ignore (whisper)</code>. Unlike
                the Blacklist or Whitelist using the Addressbook, this will not
                completely discard the messages, but instead add them to the
                Ignored Messages dialog and possibly output some other messages
                about it, depending on the Ignore settings.</li>
            <li><strong>Display</strong>: Changes where the whispers are
                displayed.
                <ul>
                    <li><strong>Active Chat</strong> - Show in the chat window
                        you are currently having active in Chatty.</li>
                    <li><strong>One Window</strong> - Show all whispers in one
                        separate window. In that window you will be able to
                        respond to whispers by just typing <code>&lt;name&gt;
                        &lt;message&gt;</code> instead of having to use the
                        <code>/w</code> command. To be sure you actually provide
                        the user to send it to you can only whisper to users
                        that have already whispered to you (so e.g.
                        <code>Hey how are you? :)</code> wont't be send to the
                        user named <code>Hey</code>). The tab for collecting all
                        whispers is named <code>$[whisper]</code>.</li>
                    <li><strong>Per User</strong> - Open an extra tab for every
                        user that whispers to you. You can respond to whispers
                        by just typing the message in the tab for that user. The
                        tab will be named <code>$&lt;username&gt;</code>.</li>
                </ul>
            </li>
    </ul>
      <h2><a name="usage">Usage</a></h2>
    <p>When the Whisper Feature is connected (<code>[W]</code> appears in the
        titlebar) you can receive and send whispers:</p>
    <ul>
        <li>When you receive a whisper, it will be displayed depending on the
            Display setting and will be indicated by the nickname being marked
            like this: <code>-[name]-</code></li>
        <li>When you send a whisper via
            <code>/w &lt;name&gt; &lt;message&gt;</code>, then this will be
            indicated in chat by the nickname being marked like this:
            <code>&gt;&gt;[name]</code></li>
        <li>In both cases the name is the name of the person you are talking
            with, not your own name.</li>
        <li>When you click on the name, you will be able to see your
            conversation, with your own messages marked with a asterisk in front
            (*), which is usually used to mark action messages
            (<code>/me</code>).</li>
    </ul>
     <h2><a name="troubleshooting">Troubleshooting</a></h2>
    <p>If you get a lot of errors like <code>Whisper feature: Disconnected</code> this
        may be due to different reasons:</p>
     <ul>
        <li>A temporary problem with Twitch or your internet connection, in which
            case just wait a while.</li>
        <li>Wrong server/port entered, follow the <a href="#start">Getting Started</a>
            guide to check if the data you entered is still correct.</li>
        <li>Twitch changed the system and it is not working as implemented in Chatty
            anymore (in which case you should disable the feature).</li>
    </ul>
     <p>How to proceed:</p>
    <ul>
        <li>Check <a href="http://twitchstatus.com">Twitchstatus.com</a> (mainly Group Chat Tab),
            <a href="https://twitter.com/chattyclient">@ChattyClient</a> and
            other usual places to find out if the problem lies with Twitch.
            Disable the Whisper Feature if necessary.</li>
        <li>If the <code>[W]</code> in the titlebar isn't there, but it also
            doesn't output errors anymore, it may have given up trying to connect,
            in which case you should connect to regular chat through the <code>Main</code>
            menu (disconnect first if necessary). Connecting to whispers is
            currently somewhat tied to connecting to regular chat. Disconnecting
            from regular chat from the <code>Main</code> menu will also disconnect
            from whispers.</li>
    </ul>
</body>
</html>
        PḲG�6tvv$chatty/gui/components/help/help.html<!DOCTYPE html>
<html>
<head>
	<title>Chatty Help</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
    <h1><a name="top">Chatty (Version: 0.8.1)</a></h1>
    <table>
        <tr>
            <td valign="top">
                <strong>General usage</strong>
                <ul class="menu">
                    <li><a href="#title">Title and Tabs</a></li>
                    <li><a href="#shortcuts">Shortcuts</a></li>
                    <li><a href="#commands">Commands</a></li>
                    <li><a href="#login">Login data</a></li>
                </ul>
                 <strong>Chat basics</strong>
                <ul class="menu">
                    <li><a href="#symbols">Symbols used in chat</a></li>
                    <li><a href="#favorites">Favorites / History</a></li>
                    <li><a href="help-whisper.html">Whisper Feature</a></li>
                </ul>
                 <strong>Chat moderation / utility</strong>
                <ul class="menu">
                    <li><a href="#nickCompletion">TAB Completion</a></li>
                    <li><a href="#inputHistory">Input History</a></li>
                    <li><a href="#userselection">User Selection Mode</a></li>
                    <li><a href="#emoticons">Emoticons/Emote Dialog</a></li>
                    <li><a href="#pausechat">Pause Chat / One-click moderation</a></li>
                </ul>
                 <strong>Chat customization</strong>
                <ul class="menu">
                    <li><a href="#highlight">Highlight</a></li>
                    <li><a href="#ignore">Ignore</a></li>
                    <li><a href="#userColors">User Colors</a></li>
                    <li><a href="#customemotes">Custom Emotes</a></li>
                    <li><a href="#customNames">Custom Usernames</a></li>
                </ul>
                 <strong>Stream features</strong>
                <ul class="menu">
                    <li><a href="#channelinfo">Channel Info / History</a></li>
                    <li><a href="#notifications">Live Streams / Notifications</a></li>
                    <li><a href="help-admin.html">Admin Dialog</a></li>
                    <li><a href="help-livestreamer.html">Livestreamer</a>
                    <li><a href="help-srl.html">SpeedrunsLive (SRL)</a></li>
                    <li><a href="#followers">Followers/Subscribers List</a></li>
                    <li><a href="#streamhighlights">Stream Highlights</a></li>
                    <li><a href="#streamchat">Stream Chat</a></li>
                </ul>
            </td>
            <td valign="top">
                <strong>Settings / Files</strong>
                <ul class="menu">
                    <li><a href="help-settings.html">Settings Help</a></li>
                    <li><a href="help-setting_commands.html">Setting commands</a></li>
                    <li><a href="#settingFiles">Setting files</a></li>
                    <li><a href="#launch">Launch options</a></li>
                    <li><a href="help-addressbook.html">Addressbook</a></li>
                    <li><a href="help-guide_folders.html">Chatty Directories and Files</a></li>
                </ul>
                 <strong>Miscellaneous</strong>
                <ul class="menu">
                    <li><a href="help-releases.html">Release Information</a></li>
                    <li><a href="help-troubleshooting.html">Troubleshooting</a></li>
                    <li><a href="#contact">Contact</a></li>
                    <li><a href="#thanks">Miscellaneous/Thanks</a></li>
                    <li><a href="#about">About/License</a></li>
                    <li><a href="#ignoreJoinsParts">Ignore joins/parts</a></li>
                    <li><a href="help-memory_usage.html">About Memory Usage</a></li>
                </ul>
                 <strong>Guides</strong>
                <ul>
                    <li><a href="help-getting-started.html">Getting Started Guide</a></li>
                    <li><a href="help-guide1.html">Run more than one instance of Chatty</a></li>
                    <li><a href="help-guide2.html">What to do when getting login fails</a></li>
 		    <li><a href="help-guide_create_shortcut.html">Create shortcut (launch options/icon)</a></li>
                    <li><a href="help-short_guides.html">More Guides..</a></li>
                </ul>
                <p style="padding: 10px;">Also check out the official
                    <a href="http://www.youtube.com/user/chattyclient">YouTube Channel</a>
                    with guides and stuff.</p>
            </td>
        </tr>
    </table>
     <h2>
        <a name="title">Title and Tabs</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <img src="0_4_overview_top.png" />
    <p>When in a channel, Chatty shows some information about that channel
    in the titlebar, e.g.:<br /><cite>[40|59] - GTA:SA Speedruns (Grand Theft Auto: San Andreas)</cite></p>
    <p>The first number is the number of people in the chat, the second is the
    viewercount, followed by the current stream title and game. Anything other
    than the number of people in the chat is requested from the Twitch API about
    every two minutes.</p>
     <p>In addition, the titlebar will also show additional information, if enabled:</p>
    <ul>
        <li>The name of the channel that is being hosted</li>
        <li><code>Sub</code> for Subscriber-Only Mode</li>
        <li><code>Slow: &lt;time&gt;</code> for Slowmode</li>
        <li><code>R9k</code> for R9Kbeta Mode</li>
        <li>A language code if Broadcaster Language Mode is enabled</li>
    </ul>
    <p>You can toggle showing some information under <code>View - Options - Titlebar</code>.</p>
     <h2>
        <a name="shortcuts">Shortcuts</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>You can customize some shortcuts/hotkeys in the settings.</p>
    <p>Default shortcuts which can't be changed:</p>
    <ul>
        <li><kbd>F1</kbd> - Open help</li>
        <li><kbd>PageUp/PageDown</kbd> - Scroll up or down in chat</li>
        <li><kbd>Arrow Up/Down</kbd> - Go through <a href="#inputHistory">Input History</a></li>
        <li><kbd>TAB</kbd> - For <a href="#nickCompletion">TAB Completion</a></li>
    </ul>
    <p>The following are more default shortcuts, however these can be changed
    in the settings:</p>
    <ul>
        <li><kbd>Ctrl-F</kbd> - Find text in chat</li>
        <li><kbd>Ctrl-L</kbd> - Open Live Channels window</li>
        <li><kbd>Ctrl-J</kbd> - Open dialog to join channel</li>
        <li><kbd>Ctrl-E</kbd> - Open/close the Emoticon dialog</li>
        <li><kbd>Ctrl-Tab/Ctrl-Shift-Tab</kbd> - Switch to next/previous tab</li>
        <li><kbd>Ctrl-W</kbd> - Leave/close the active channel/close the popout</li>
        <li><kbd>Ctrl-Space</kbd> - Toggle <a href="#userselection">User Selection Mode</a></li>
        <li><kbd>F10</kbd> - Toggle Menubar</li>
        <li><kbd>Ctrl-F10</kbd> - Toggle Inputbar</li>
        <li><kbd>Shift-F10</kbd> - Toggle Userlist</li>
        <li><kbd>F11</kbd> - Toggle "Fullscreen"-Mode (actually only removes the menubar and maximizes the window)</li>
    </ul>
     <h2>
        <a name="commands">Commands</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>All command names are case-insensitive. Something like <code>&lt;parameter&gt;</code>
        represents a required parameter which must be entered for the command to
        work properly (you don't enter the surrounding <code>&lt; &gt;</code>,
        they are just there to show it's a parameter). Equivalently <code>[parameter]</code>
    represents an optional parameter.</p>
    <p>Chat commands:</p>
    <ul>
	    <li><code>/me &lt;message&gt;</code> - Send an action message (* nickname says something) to the channel</li>
	    <li><code>/to &lt;nick&gt; [time]</code> - Timeout the user with the given nickname for "time" seconds (time is optional)</li>
            <li><code>/timeout</code>, <code>/ban</code>, <code>/unban</code>,
                <code>/slow</code>, <code>/slowoff</code>,
                <code>/subscribers</code>, <code>/subscribersoff</code>,
                <code>/clear</code>, <code>/mods</code>, <code>/host</code>,
                <code>/unhost</code>, <code>/color</code>
                just like in normal Twitch Chat</li>
            <li><code>/join &lt;channel&gt;</code> - Joins the given channel</li>
            <li><code>/part</code> or <code>/close</code> - Leaves the current channel</li>
            <li><code>/reconnect</code> - Disconnects and reconnects</li>
            <li><code>/fixMods</code> - Temporarily fixes the list of mods (like
                <code>/mods</code> but without showing the list of mods in chat)</li>
            <li><code>/ignore &lt;user&gt;</code>, <code>/unignore &lt;user&gt;</code> - To ignore/unignore user (chat and whisper)</li>
            <li><code>/ignoreChat</code>, <code>/unignoreChat</code>, <code>/ignoreWhisper</code>, <code>/unignoreWhisper</code>
                - To ignore/unignore user only from chat/whispering you</li>
    </ul>
    <p>Info commands:</p>
    <ul>
            <li><code>/connection</code> - Show info about the current connection</li>
            <li><code>/uptime</code> - Shows how long Chatty has been running</li>
            <li><code>/appinfo</code> - Shows Chatty uptime and current memory stats</li>
	    <li><code>/dir</code> - Show the directory the settings (and other stuff) are saved in</li>
            <li><code>/wdir</code> - Show the current working directory</li>
            <li><code>/openDir</code> - Opens the settings directory in your file browser</li>
            <li><code>/openWdir</code> - Opens the current working directory in your file browser</li>
            <li><code>/testNotification [channel]</code> - Display a test notification (optionally with channel,
            which means right-clicking on the notification will join that channel)</li>
            <li><code>/myemotes</code> - Show your subscriber emote codes (only works if you
            have joined any channel before, this is only a quick info, better emote
            integration maybe to be implemented later)</li>
            <li><code>/ffz</code>, <code>/ffzGlobal</code> - Shows the FFZ channel emote codes for the current channel/global FFZ emotes</li>
            <li><code>/releaseinfo</code> - Opens the help with the release information</li>
    </ul>
     <p>Other commands:</p>
    <ul>
        <li><code>/clearchat</code> - Clears the current chat window of all text</li>
        <li><code>/setcolor &lt;name&gt;</code> - Opens the usercolor settings
        for the given name</li>
        <li><code>/echo &lt;text&gt;</code> - Outputs the given text as a info message</li>
        <li><a href="#addressbook">Addressbook commands</a></li>
        <li><a href="#settings">Setting commands</a></li>
        <li><a href="#streamhighlights">Stream Highlights commands</a></li>
        <li><a href="#streamchat">Stream Chat commands</a></li>
        <li><code>/copy</code> - Copies the given text to the clipboard</li>
    </ul>
     <p>GUI commands:</p>
    <ul>
        <li><code>/settings</code>, <code>/livestreams</code>, <code>/channeladmin</code>,
            <code>/channelinfo</code>, <code>/search</code>, <code>/openFollowers</code>,
            <code>/openSubscribers</code> - Opens the according dialog</li>
        <li><code>/insert &lt;text&gt;</code> - Inserts the given text into the input box at
            the current caret position (can be useful for Custom Commands put
            in a menu)</li>
        <li><code>/insertword &lt;text&gt;</code> - Same as <code>/insert</code>,
            but adds spaces so it's seperated from text before and after (if present)</li>
        <li><code>/openUrl &lt;url&gt;</code> - Opens the given url</li>
        <li><code>/openUrlPrompt &lt;url&gt;</code> - Open the given url after
        showing a prompt for confirmation</li>
    </ul>
     <p>Advanced commands (<em>not recommended for use unless you know what you do</em>):</p>
    <ul>
        <li><code>/server &lt;host&gt;[:port]</code> - Connect to a custom server</li>
        <li><code>/raw &lt;command&gt;</code> - Send a raw command to the server</li>
        <li><code>/refresh &lt;emoticons/badges/ffz/ffzglobal/bttvemotes&gt;</code>
            - Refresh the Twitch emoticons or badges (current channel) list or
            refresh FrankerFaceZ channel emoticons (current channel) or global emoticons.
            <em>This downloads the lists from the Internet, so don't use this
            unless you need to (it's basicially like pressing reload in your
            browser, just only for some stuff).</em></li>
            <li><code>/changetoken &lt;token&gt;</code> - Checks if the given token
            is valid and sets it as new token if it is</li>
    </ul>
     <h2>
        <a name="login">Login data</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>The login data consists of a <em>username</em> (or account name) and most importantly an <em>access token</em>, which is sort of a
    revokable password that can also have different types of access associated with it, the ones usable for Chatty being:</p>
     <dl>
        <dt><code>Chat access</code></dt>
        <dd>Required to connect to chat (required for Chatty).</dd>
         <dt><code>Read user info</code></dt>
        <dd>Required to request the streams you follow, so you can get <a href="#notifications">notified</a>
            when they start streaming.</dd>
         <dt><code>Editor access</code></dt>
        <dd>Allows you to change the title/game of your stream and streams you
            are an editor in via the <a href="help-admin.html">Admin Dialog</a>.</dd>
         <dt><code>Run commercials</code></dt>
        <dd>Allows you to run comercials on your stream 
        via the <a href="help-admin.html">Admin Dialog</a> (if you are partnered).</dd>
         <dt><code>Show subscribers</code></dt>
        <dd>Required to view the list of your subscribers 
            via the <a href="#followers">Subscribers Dialog</a> (if you have a sub button).</dd>
    </dl>
     <p>Once requested from Twitch, the login data is stored locally on your computer
    along with the other settings of Chatty. Since Twitch gives out the access token
    per application, any access token for the same account requested with Chatty
    will be invalidated when you request a new access token.</p>
    <p>If getting login data fails, read <a href="help-guide2.html">this guide</a>.
        If your login was determined invalid, read <a href="#login-invalid">down below</a>.</p>
     <h3><a name="access">Allow more access</a></h3>
    <p>To allow Chatty more access than it already has (e.g. if you haven't selected
        editor access before, but you want it now),
        you need to request a new access token.
    Just go to <code>&lt;Main - Login..&gt;</code>, delete the login
    and request it again with the necessary access.</p>
     <h3>Allow less access</h3>
    <p>To allow Chatty less access than it already has (e.g. you don't want it
        to have editor access anymore) you need to first revoke access
        completely in your Twitch Account
        <a href="http://www.twitch.tv/settings/connections">Settings</a>, then
        authorize access again. What will not work is just requesting a new
        token without selecting the now unwanted access. Twitch will always
        respond with a token that has at least as much access as the previous
        one.</p>
     <h3><a name="login-security">Security</a></h3>
    <p>The access token is saved in the <code>login</code> file in the settings
        <a href="help-guide_folders.html">directory</a> and can thus be accessed
        by anyone having access to your computer.
    It allows anyone who obtains it to chat in your name and access the other
    things listed above (if you allowed it when getting the token). If you think
    the token may have been compromised, please immediately delete it and
    <em>request a new one</em> (which will invalidate any previously issued)
    or go to your Twitch Settings subsection
    <a href="http://www.twitch.tv/settings/connections">Connections</a>
    and <em>revoke the accesss</em> there.</p>
     <h3><a name="login-invalid">Invalid Login</a></h3>
    <p>If your login is determined invalid (either by checking it manually or
    when Chatty performed an automatic check), this can mean one of two things:</p>
    <ul>
        <li>Twitch returned false data and your login is actually still valid
        (which rarely happens, but it is possible).</li>
        <li>Your login is actually invalid:
            <ul>
                <li>You have requested new login data for the same Twitch Account from
                    another instance of Chatty, for example on another Computer, which
                    has automatically invalidated the previously requested login data
                    (access token).</li>
                <li>You have just requested login data and something went wrong, or it
                    wasn't loaded properly from the settings.</li>
                <li>The token was invalidated for some other reason.</li>
            </ul>
        </li>
    </ul>
     <p>What happens when your login is no longer valid:</p>
    <ul>
        <li>You can't connect to chat anymore. If you are already connected and
        stay connected, this doesn't matter.</li>
        <li>Your followed streams are no longer requested, so you may not be
        informed about streams starting anymore (if you had that enabled in the
        first place).</li>
        <li>Other features that require authentication won't work properly anymore, like
        the Admin Dialog.</li>
    </ul>
     <p>How to proceed:</p>
    <ul>
        <li>If it is known or reasonable to assume that Twitch is currently derping,
        then you can manually try to verify the login at a later time.
        <ul><li>Go to <code>&lt;Main - Login..&gt;</code> to open the <code>Login configuration</code>
                and click on <code>[Verify login]</code>.</li></ul>
        </li>
        <li>Request new login data.
        <ul><li>Go to <code>&lt;Main - Login..&gt;</code> to open the <code>Login configuration</code>
            (unless you are already there), <code>[Remove login]</code> and create
            a new login.</li></ul></li>
        <li>If you want to use more than one instance of Chatty with the
            same account, check out the
            <a href="help-guide1.html">Guide about running more than one instance of Chatty</a>.</li>
    </ul>
     <h2>
        <a name="symbols">Symbols used in chat</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>There are a few special symbols that are used for users in chat. These
    are displayed in the userlist and - if usericons are disabled - also in chat.</p>
    <ul style="list-style-type: none;">
        <li>~ The Streamer</li>
        <li>@ Moderators</li>
        <li>* Global Moderators</li>
        <li>! Admins</li>
        <li>&amp; Staff</li>
        <li>+ Turbo users</li>
        <li>% Subscribers</li>
        <li>^ Bots as recognized by local setting, FFZ API and BTTV API</li>
    </ul>
    <p><a href="http://frankerfacez.com">FrankerFaceZ</a> provides a custom
    mod icon for some channels. You can disable this in the settings if you
    want to keep the default one for all channels.</p>
     <h2>
        <a name="nickCompletion">TAB Completion</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>When you type in the inputbox, you can TAB-complete different types of
    things:</p>
    <ul>
        <li>Nicknames of who is currently in the userlist (using <kbd>TAB</kbd>)</li>
        <li>Chatty setting names when you use a setting command (using <kbd>TAB</kbd>)</li>
        <li>Some comands after <code>/</code> (using <kbd>TAB</kbd>, e.g. <code>/sub</code> then <kbd>TAB</kbd> to complete to <code>/subscribers</code>)</li>
        <li>Emoticon names (using <kbd>Shift-TAB</kbd>, e.g. <code>Datsh</code> then <kbd>Shift-TAB</kbd> to complete to <code>DatSheffy</code>)</li>
        <li><a href="help-settings.html#Completion-custom">Custom completion</a>
            that is prepended with a dot and for which items can be added in the
            settings (using <kbd>Shift-TAB</kbd>)</li>
    </ul>
     <h3>How it works</h3>
    <p>There are a couple of <a href="help-settings.html#Completion">settings</a>
    that change the behaviour of the TAB Completion.</p>
     <p>How the TAB Completion process works:</p>
     <ol>
        <li>Enter the beginning of an item (name, setting, emote).</li>
        <li>Press <kbd>TAB</kbd> for a nickname/setting/command or <kbd>Shift-TAB</kbd>
            to enter the completion mode, which will:
            <ul>
                <li>Complete to the full item (e.g. full name) if there is only
                one item matching what you entered</li>
                <li>For more than one match, depending on the <em>Complete to common prefix</em> setting:
                    <ul>
                        <li>Complete to the common prefix of all found items that match
                        what you entered, allowing you to enter more characters
                        to refine the search and then press <kbd>TAB</kbd> or
                        <kbd>Shift-TAB</kbd> again to enter a new completion</li>
                        <li>Complete to the full item of the first match</li>
                        <li>If enabled, it will also show a popup with information
                        about the completion, which doesn't show if there is only
                        one match</li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>You can then either:
            <ul>
                <li>Press <kbd>TAB</kbd> repeatedly to cycle forwards through the found
                    matches or <kbd>Shift-TAB</kbd> to cycle backwards</li>
                <li>Press <kbd>ESC</kbd> to cancel the completion mode and go
                    back to the text when you started the completion</li>
                <li>Continue typing/editing the text to exit the completion
                    while keeping what you already completed</li>
            </ul>
        </li>
    </ol>
     <p>The found matches are all ordered alphabetically, except for nickcompletion
    for which you can choose different types of sorting. By default nicknames use
    predictive sorting, which means users who recently wrote a message or highlighted
    you have a higher priority, increasing the chance that the users you want to
    address appear as the first few matches.</p>
     <h3>Example: Nick Completion</h3>
    <ul>
        <li>Enter <code>z</code> in the editbox</li>
        <li>Press <kbd>TAB</kbd> to complete as a nickname
            <ul>
                <li>On default settings, this may complete to <code>ze_tt</code>
                with two other results</li>
            </ul>
        </li>
        <li>Cycle through to <code>zMASKm</code> by:
            <ul>
                <li>Pressing <kbd>TAB</kbd>, which cycles fowards to <code>zMASKm</code></li>
                <li>Or press <kbd>Shift-TAB</kbd> to cycle backwards to <code>zeblover</code>
                    and <kbd>Shift-TAB</kbd> again to cycle to <code>zMASKm</code></li>
            </ul>
        </li>
    </ul>
     <h3>Example: Emote Completion</h3>
    <ul>
        <li>Enter <code>dat</code> in the editbox</li>
        <li>Press <kbd>Shift-TAB</kbd> to complete as an emote
            <ul>
                <li>On default settings, this may complete to <code>DatHass</code> with two other results</li>
            </ul>
        </li>
        <li>Cycle through to <code>DatSheffy</code> by:
            <ul>
                <li>Pressing <kbd>TAB</kbd>, which cycles fowards to <code>DatSaunce</code>
                    and <kbd>TAB</kbd> again to cycle to <code>DatSheffy</code></li>
                <li>Or press <kbd>Shift-TAB</kbd> to cycle backwards
                    to <code>DatSheffy</code></li>
            </ul>
        </li>
    </ul>
     <h2>
        <a name="inputHistory">Input History</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>Chatty provdes an input history for the chat input box that allows you to
    call up lines you entered previously, to make it easier to e.g. repeat
    commands with similiar parameters, repeat messages you send to chat or just
    look up what you wrote before. You can even save messages to the history
    that you haven't send yet to be able to send them later.</p>
    <ul>
        <li>How lines are saved in the history:
            <ul>
                <li>Send a message or enter a command</li>
                <li>Press <kbd>Down-Arrow</kbd> after entering/editing a message
                (which saves it to the history, but also clears the input box)</li>
                <li>Identical lines already in the history are removed (or you
                can think of it being moved to the latest position)</li>
            </ul>
        </li>
        <li>Using the history:
            <ul>
                <li>You can navigate backwards and forwards through the history by
                    pressing <kbd>Up-Arrow</kbd> and <kbd>Down-Arrow</kbd>.</li>
                <li>Pressing <kbd>Up-Arrow</kbd> when you already entered some
                text replaces that with the latest history item.</li>
                <li>Pressing <kbd>Down-Arrow</kbd> when you already entered some
                text clears the input box and but also saves what you entered to
                the history (as mentioned above).</li>
                <li>When you navigated to a history item and edited it:
                    <ul>
                        <li>Pressing <kbd>Up-Arrow</kbd> will move to the previous
                            history item, allowing you to then press <kbd>Down-Arrow</kbd>
                        again to go back to the unedited history item</li>
                        <li>Pressing <kbd>Down-Arrow</kbd> will act as if you
                        entered a completely new line and add the edited item
                        to the history and clear the input box</li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
     <h2>
        <a name="channels">Joining more than one channel</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p><em>This does not apply anymore since Twitch changed their system to use
        IRCv3 capabilities. Joining several channels does not have any drawbacks.</em></p>
     <h2>
        <a name="favorites">Favorites / History</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>If enabled, the history automatically saves channels you join and when
    you last joined them. By default channels expire from the history after
    30 days of not joining them (can be changed).</p>
    <p>You can also add channels from the history or any
    you enter manually to the favorites, which will always be kept until you
    remove them yourself.</p>
     <h2>
        <a name="highlight">Highlight</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p>The highlight system allows you to add words or phrases that make chat
    messages appear in another color and appear in a seperate window, which you can
    open under <code>View - Highlights</code> (you can clear the highlights window
    in it's context menu).</p>
    <div class="moreInfo">More information: <a href="help-settings.html#Highlight">Highlight Settings</a></div>
     <h2>
        <a name="ignore">Ignore</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>The ignore system works very similiar to the highlight system, just that
        it hides messages instead of highlighting them. They however also get
        added to a seperated window, which you can open under <code>View - Ignored</code>
        (you can clear the messagess in the window in it's context menu).</p>
     <p>Right-click on a user in chat to open the User Context Menu, where you
        can ignore or unignore that user from the <code>Miscellaneous</code>
        submenu. You can view and edit the list of ignored users in the settings.</p>
     <div class="moreInfo">More information: <a href="help-settings.html#Ignore">Ignore Settings</a></div>
     <h2>
        <a name="userColors">User Colors</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p>The color of a user is displayed in the User Info Dialog. Color Names
    are used where possible, HTML Color Codes are displayed in the Tooltip.
    Colors with asterisk (*) are default colors (the user hasn't set one
    or hasn't said anything during this session yet). A color in parentheses
    means it's the original color, while the other color is the corrected one
    that is actually displayed.</p>
    <h3>Corrected Colors</h3>
    <p>Chatty attempts to make colors more readable automatically by changing
    them to increase contrast. This doesn't work very well though, although it
    should work for extreme cases like white on white or black on black.</p>
     <h3>Custom Colors</h3>
    <p>You can also specify custom colors for certain users or types of users
    in the settings. Custom colors are indicated by two asterisks (**) in the
    User Info Dialog.</p>
     <div class="moreInfo">More information: <a href="help-settings.html#Usercolors">Usercolor Settings</a></div>
     <h2>
        <a name="emoticons">Emoticons/Emote Dialog</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p>Chatty supports the default Twitch Emoticons (Normal/Turbo/Subscriber),
    which should work the same as in normal Twitch Chat. It however also
    supports <a href="http://frankerfacez.com/">FrankerFaceZ</a>, a custom
    set of emotes that is normally made available in normal Twitch Chat by use of browser
    extensions. It also supports <a href="http://www.nightdev.com/betterttv/">BetterTTV</a> emotes.</p>
     <p>You can enable/disable Emoticons in general (displaying the icons instead
        of the text) in the settings under <code>Emoticons</code>. You can also
    ignore specific emotes in the same place in the settings.</p>
     <p>In chat you can right-click on an emoticon to show some info about it.
        Click on the emote code (e.g. <code>FrankerZ</code>) in the context menu
        to insert the emote in the inputbox. If it is a subscriber emote, you
        also have some more options.</p>
     <h3>Emote Dialog</h3>
    <p>Use <code>Extra - Emoticons</code> or press <kbd>Ctrl-E</kbd> to open
        the Emote Dialog, which has various pages:</p>
    <ul>
        <li>The <code>Favorites</code> page lists emotes you have added to the favorites
        via the Emote Context Menu (right-click on an emote in the dialog or chat and
        choose <code>Favorite</code>, emotes that already are favorited can be
        removed from favorites the same way).</li>
        <li>The <code>My Emotes</code> page lists the emotes you paid for (Subemotes/Turbo).</li>
        <li>The <code>Channel</code> page lists the emotes that are specific to the current channel
        (FFZ and BTTV, if there are any). It also includes
    the subscriber emotes of the current channel (if it has any), whether you
    can use them or not (but it displays a message if you are not subscribed).</li>
        <li>The <code>Twitch</code> page shows all free global Twitch emotes</li>
        <li>The <code>Other</code> page shows all global FZZ/BTTV emotes</li>
    </ul>
     <p>Click on an emote to insert it into the current channel inputbox. Double-click
        on an emote to also close the Emote Dialog in the process, or press <kbd>ESC</kbd> or
    <kbd>Ctrl-E</kbd> to close it. Right-click on an emote to show a context menu
    with some more information/options.</p>
     <p>Right-click on an emote and choose <code>Show Details</code> to open the
    Detail View in the Emote Dialog, which shows the emote in different sizes
    and some information about it. Clicking on an emote in chat also opens the
    Detail View.</p>
     <p><em>Note that you need to have joined at least one channel for your subemotes/turbo emotes
        to show up, because only then does Twitch Chat send that information to the client.</em></p>
         <h2>
            <a name="customemotes">Custom Emotes (local)</a>
            <a href="#top" class="top">[back to menu]</a>
        </h2>
        <p>You can add your own local emotes by creating a file called <code>emotes.txt</code>
            in the settings directory (enter <code>/dir</code> in Chatty to find the
            settings directory, <code>/openDir</code> to directly open it). The
        file can have one emote on each line, for example:</p>
         <pre>
D:      aww.png     size:18x18
re:Gr[e|a]yface Kappa.png
# Switching Kappa and MiniK
Kappa   http://static-cdn.jtvnw.net/emoticons/v1/3287/1.0
MiniK   http://static-cdn.jtvnw.net/emoticons/v1/25/1.0     set:793 id:3287</pre>
         <p>This can be used to replace existing emotes, since custom emotes are
        checked first and thus take precedence. This is not intended to replace
        FFZ or BTTV emotes, just to help configure emotes to your personal
        preference. For example you could also add an image for you own name to
        have it highlighted in chat in a different way.</p>
         <h3>Syntax</h3>
         <p>The syntax per line is (you can use as many spaces or TABs as seperators as you want):</p>
         <p><code>[settings] &lt;code&gt; [settings] &lt;image&gt; [settings]</code></p>
         <p>Settings can be in any of the shown places, but are always optional. Available settings are:
        </p>
         <ul>
            <li><code>set:&lt;setid&gt;</code> to specify a
        Twitch emote set. This will only affect messages you write yourself.</li>
            <li><code>id:&lt;emoteid&gt;</code> to specify a Twitch emote id to
            replace. This will only affect incoming messages.</li>
            <li><code>chan:&lt;channel&gt;</code> to restrict the emote to the
            given channel.</li>
            <li><code>size:&lt;width&gt;x&lt;height&gt;</code> to specify the
            size of the emote (you can omit this if you want to use the image
            size).</li>
        </ul>
         <p>Required:</p>
        <ul>
            <li>The <strong>code</strong> can be prefixed with <code>re:</code>
            to specify a regular expression. Otherwise it is interpreted as plain text.</li>
            <li>The <strong>image file</strong> is relative to the settings directory (where you created
            the <code>emotes.txt</code> in), so just put them in the same directory.
        You should also be able to use URLs to load the image from the internet.</li>
        </ul>
         <p>Lines starting with <code>#</code> are ignored and can be used for comments.</p>
         <p>The <code>emotes.txt</code> file is loaded when you start Chatty, so if you edit the file
            while Chatty is running, you have to use the <code>/reloadCustomEmotes</code>
            command for it to take effect.
        Emote images may be cached, so if you change the image, you MAY have to
        clear the cache (<code>/clearemotecache CUSTOM</code>).</p>
    <h2>
        <a name="addressbook">Addressbook</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p><em>This has been moved to it's <a href="help-addressbook.html">own page</a></em></p>
     <h2>
        <a name="userselection">User/Line Selection Mode</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p>With this feature, you can select a user in chat with keyboard shortcuts
    (if the window is active). So you can e.g. timeout a user with your keyboard
    alone.</p>
     <p>Press <kbd>Ctrl-Space</kbd> (can be changed in the settings) to enter
        this mode. If there are any user
    messages in chat, then the newest message will get another background color
    which shows that it is selected. In that mode, the focus is on the textpane,
    which enables more shortcuts:</p>
    <ul>
        <li><kbd>W</kbd> to move up a user</li>
        <li><kbd>S</kbd> to move down a user</li>
        <li><kbd>A</kbd> to move up twice</li>
        <li><kbd>D</kbd> to move down twice</li>
        <li><kbd>Q</kbd> to quit out of the mode</li>
        <li><kbd>E</kbd> to open the User Dialog for the currently selected user</li>
    </ul>
     <p>When you move up and down, it actually switches to the next user instead
    of to the next line. So if the same user send 10 messages in a row, it will
    jump to the first message of the next user above it.</p>
     <p>In addition to the currently selected message, it will also highlight all
        other messages by the same user. You can also hold <kbd>AltGr</kbd> and
    click on a username in chat to highlight all that users messages (and enter
    User Selection Mode).</p>
     <p>You can also click and hold in an empty area of the textpane, which puts
    and holds the focus there, so you can just use the shortcuts in the list
    above to enter the User Selection Mode and switch between messages. However
    if you let go of the mouse key, it will immediately leave the mode again.</p>
     <h3>Using Global Hotkeys</h3>
    <p>You can also configure global hotkeys with some User Selection actions.
    However, if the focus is not on the chat, then the usual shortcuts won't
    work, so you'll have to define additional global hotkeys to e.g. timeout the
    currently selected user. See the hotkey settings for what actions are
    available.</p>
     <h2>
        <a name="streamchat">Stream Chat</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
        <p>Stream Chat is a seperate dialog, opened via the <code>/openStreamChat</code>
            command or the <code>Extra</code> menu, that can have chat messages from one or several
    channels redirected to it (only regular chat messages, so no JOINS/PARTS, info messages
    and so on). It also can have a message timeout set, so messages will
    disappear after a certain amount of seconds.</p>
         <p>The idea is to capture Stream Chat to display chat on stream and
        messages will only be displayed if the chat has been recently active. So
        this doesn't really make a lot of sense for busier channels, unless you
        simply prefer to only have regular messages or to have a seperate dialog
        for the capture.</p>
         <h3>Getting started</h3>
        <p>You need to add the channel which messages are redirected to the
        Stream Chat dialog before anything will appear. The setting you are required
        to change is <code>streamChatChannels</code>,
        which is a list setting giving you different ways of editing it:</p>
        <ul>
            <li><code>/set streamChatChannels #&lt;channel&gt;</code> - To set
            the channel to only this one</li>
            <li><code>/add streamChatChannels #&lt;channel&gt;</code> - To add
            a channel in addition to the ones already set</li>
            <li><code>/remove streamChatChannels #&lt;channel&gt;</code> - To remove
            a channel from the list</li>
        </ul>
        <p>Check out other <a href="help-setting_commands.html#streamchat">settings</a> that are also edited with setting commands.</p>
        <p>In addition, make sure you have <code>Settings - Window - Restore dialogs</code>
            set to at least <code>Restore dialogs from last session</code> in order
            to keep the position/size of the Stream Chat dialog between sessions.</p>
         <h3>Commands</h3>
        <ul>
            <li><code>/openStreamChat</code> - Opens the Stream Chat dialog</li>
            <li><code>/setStreamChatSize &lt;width&gt;x&lt;height&gt;</code> - Set the exact size of the Stream Chat dialog in pixels</li>
            <li><code>/getStreamChatSize</code> - Shows the size of the Stream Chat dialog in pixels</li>
            <li><code>/clearStreamChat</code> - Removes all messages</li>
            <li><code>/streamChatTest [message]</code> - Adds a test message to the Stream Chat dialog, if you don't specify a message
            a default one is used</li>
        </ul>
     <h2>
        <a name="customNames">Custom Usernames</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>You can give people in chat custom names that will appear in chat and
    in the userlist instead of the regular Twitch username and in the User Info
    Dialog in addition to the regular Twitch username. In other places (like
    the User Context Menu or auto-completion) the regular Twitch username is
    used.</p>
     <p>The following commands are used to set custom names:</p>
    <ul>
        <li><code>/setname &lt;name&gt; &lt;custom name&gt;</code> - to set a custom name</li>
        <li><code>/resetname &lt;name&gt;</code> - to remove a custom name</li>
    </ul>
     <h2>
        <a name="pausechat">Pause Chat / One-click moderation</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>If enabled in the settings under <code>Main - Settings - Chat</code> you
        can stop the chat from scrolling down while you move the mouse over chat.
        This can prevent misclicks when the chat is moving. The chat will resume
        scrolling down as soon as you stop moving the mouse or move it out of
        the chat area. When the chat is already paused, you can also hold
        <kbd>Ctrl</kbd> to keep the chat paused even without moving the mouse.</p>
     <p>Optionally, you can set it to require <kbd>Ctrl</kbd> being pressed in
        conjunction with moving the mouse to initiate pausing. You can let go of
        <kbd>Ctrl</kbd> as soon as pausing is started and it will stay paused as
        long as you move the mouse inside the chat area.</p>
     <p>A little popup in the top-right will indicate that the chat is paused.</p>
     <p><em>Please note:</em> This only works when the chat area is already filled, so the scrollbar is
        actually used. In addition, there may be instances where something you
        want to click will move anyway, for example if a message is deleted due
        to a timeout/ban, causing other messages to move.</p>
     <h3>Scroll up to stop scrolling</h3>
    <p>Another way of preventing scrolling down is scrolling up. Once you are
        manually scrolled up, chat will stop scrolling down automatically.
        However messages may still be removed from the buffer causing the chat
        to move despite it not actively scrolling down. It will stop removing
        messages to get moving to a minimum as long as you keep holding
        <kbd>Ctrl</kbd>.</p>
     <p>A certain time after not moving the scroll position, it will scroll down
        automatically (unless <kbd>Ctrl</kbd> is still being pressed).</p>
     <h3>One-click moderation</h3>
    <p>Holding <kbd>Ctrl</kbd> and clicking on a user in chat can execute a ban
        or timeout on that user. Enable this feature and define what it does in
        the settings (<code>Main - Settings - Chat</code>).</p>
     <p>It is recommended to enable the pause chat feature if you are using this,
        or else misclicks could be very common.</p>
     <h2>
        <a name="channelinfo">Channel Info / History</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>The Channel Info Dialog shows the current stream status of the active
    stream. The data is requested from the Twitch API in a semi-regular interval,
    so it can take some time to update.</p>
     <h3>Online Time</h3>
    <p>If the stream is online, the <code>Online: 1h 30m</code>
    shows how long ago the stream was started. That time comes directly from the
    Twitch API, so it is able to show the correct online time, even if you started
    Chatty after the stream started.</p>
     <p>If there is a time in parentheses
    (like <code>1h 30m (2h)</code>), then that time denotes how long the stream
    was online, but including small offline periods (PICNICs) of at most 10 minutes,
    which means that this time is more of a guess of what might be expected as
    stream online time and also depends on when Chatty got the data (if you join
    the channel after a PICNIC, then it won't include the time before, because it
    never received the data for it).</p>
     <h3>History Graph</h3>
    <p>The History is a graph that shows the development of the viewers
                    of the currently active channel and also indicates stream status changes
                    (online/offline/title/game) by different colors.</p>
                <p>Hover over points to display the stream status and viewercount
                at that time. Right-click for a context-menu.</p>
    <table>
        <tr>
            <td>
                 <p>There are two ways to change which time range is being displayed:</p>
                <ul>
                    <li><strong>Time Range</strong> means only the last <em>x hours</em>
                        are being displayed. For example if the whole data spans 10 hours
                        you can choose to only display the last 2 hours. This will display
                        the <em>maximum range</em> after the <em>actual range</em>
                        (even if the <em>actual range</em> isn't as long as the
                        <em>maximum range</em>):<br />
                        <code>15:32 - 19:14 (2h)</code><br />
                        You can change this via the context menu.
                    </li>
                    <li style="padding-top: 5px"><strong>Fixed Start/End</strong> means that either
                    the beginning of the displayed data is fixed or both the
                    beginning and end of the data are fixed, meaning that the
                    displayed graph will never change. The times that show the
                    <em>actual range</em> indicate whether they are fixed:<br />
                    <code>|15:58| - 19:14</code> or <code>|15:58| - |18:20|</code><br />
                    Double-click on a point to set it as a fixed start, then
                    double-click on another point to set it as a fixed end.
                    Double-click anywhere else to clear fixed start/end.
                    This setting is channel-specific and isn't saved when you
                    close Chatty.</li>
                </ul>
              </td>
            <td>
                <img src="viewerhistory_small.gif" alt="History Demonstration" />
             </td>
        </tr>
    </table>
                <p>The History is recorded while you have the channel open in Chatty
                as well as for all followed channels, if you have that feature
                enabled.</p>
                <p>The shown data usually fits to the available vertical space
                (so if the min/max viewercounts were 341/403 then only this
                range is shown). If you choose <code>Toggle Vertical</code> in
                the context-menu, you can switch between the shown range
                (min/max) and the full range (0-max).</p>
     <h2>
        <a name="notifications">Live Streams / Notifications</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p>Chatty can show Notifications when the status of a stream changes.
        There is also a Live Streams window (<code>Channels - Live Channels</code>)
        that shows the currently live streams. Both these features always include channels you have
        joined and - if enabled - channels you have followed. Streams that are
        no longer online, or whose channels you have left and you don't follow,
        are added to a list that you can open in the Live Streams window context
        menu (<code>Removed streams..</code>).</p>
     <h3>Notifications</h3>
    <p>Chatty Notifications are little info boxes that can be shown for stream
    status changes and highlighted messages. When you left-click on a notification
    it is closed immediately, right-clicking closes it as well and in addition
    also joins the associated channel.</p>
     <div class="moreInfo">More information: <a href="help-settings.html#Notifications">Notification Settings</a></div>
     <h3><a name="followed">Followed Streams</a></h3>
    <p>Chatty can request a list of streams you follow on a regular basis, so
    you have both an overview of currently live streams as well as be
    informed about status changes (offline -> online, title change, game change).
    This is always available for streams whose channels you have joined in chat,
    but with this feature enabled, this works for all streams you follow even
    without joining their channel.</p>
    <p>This feature requires <code>Read user info</code> access, so Chatty can
        request your followed streams. Read the <a href="#login">section about login</a>
    to learn more about login data and access.</p>
    <p>You can enable/disable this feature in the Settings under <code>Notifications</code>.</p>
     <h2>
        <a name="admin">Admin Dialog</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p><em>This has been moved to it's <a href="help-admin.html">own page</a></em></p>
     <h2>
        <a name="followers">Followers/Subscribers List</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>You can open a list of the <em>Followers</em> of a channel by joining that channel
        and then opening the Followers Dialog via <code>Extra - Followers</code>.
    It always opens on the currently active channel, or if you are in no channel
    at all, your own channel.</p>
     <p>You can open a list of your <em>Subscribers</em> by opening the Subscribers Dialog
        via <code>Extra - Subscribers</code>. It always opens on your own channel,
    because you can only display the Subscribers of your own channel. If you don't
    have any Subscribers, it will simply show an empty list (and an error). You
    also need to have selected the necessary <a href="#login">access</a> when
    requesting login data.</p>
     <p>You can save the current list to a file by right-clicking on the dialog
    (not the list) and selecting the format.</p>
     <h3>Usage</h3>
    <p>Both the Followers and Subscribers Dialog otherwise work in pretty much
        the same way. Data is only requested as long as you have the dialog open. It
        is requested in a semi-regular interval and then displays that data in the
        list (and some stats).</p>
    <p>If followers/following is mentioned below, then the same applies for
    subscribers/subscribing in the appropriate dialog.</p>
    <table>
        <tr>
            <td valign="top">
                <p>At the top it shows some stats:</p>
                <ul>
                    <li><strong>Total:</strong> The total number of followers (not to be confused
                    with the followers shown in the list, which are the most recent 100).
                    After the total number, it shows the change compared
                    to the last update, e.g. <code>Total: 3.190 (+2)</code>,
                    which will stay there until the next update.</li>
                    <li><strong>Week/Day/Hour:</strong> These are some stats based
                    on the current list shown below. It shows how many followers
                    there are in the list that followed in the last 7 days (Week), 24 hours (Day) and
                    60 minutes (Hour). (So <em>Day</em> does NOT mean <em>Today</em>
                    as in since 0:00.)<br /><br />
                    If it says <code>99+</code> it means that there are more than
                    99 followers in that timespan, but Chatty can't determine whether
                    it's 100 or more than 100, because the list only contains the
                    100 most recent followers.</li>
                </ul>
                 <p>There are different background colors for some entries:</p>
                <ul>
                    <li><span style="background-color:#FFF5D2">New entries</span> (meaning entries
                    that appeared first in the last update)</li>
                    <li><span style="background-color:#FFFAF0">Entries of the last 15 minutes</span></li>
                    <li><span style="background-color:#F5F5F5">Entries of the last hour</span></li>
                </ul>
                 <p>The time has different colors for older entries:</p>
                <ul>
                    <li><span style="color:#787878">Entries older than a day</span></li>
                    <li><span style="color:#B4B4B4">Entries older than a week</span></li>
                </ul>
                <p>At the bottom, it shows approximately how long ago data was last received,
                or a short error message if an error occured.</p>
            </td>
            <td valign="top"><img src="followers.jpg" alt="Followers Dialog" /></td>
        </tr>
    </table>
     <h3>About New Followers/Refollows</h3>
    <p>Everything that determines whether a follower is new or a refollow is
    saved per session. So if you restart Chatty, it assumes that all followers
    except from the first request are new. So if you start Chatty, open the
    Followers Dialog on your channel, it will load the followers for the first
    time and show none of them as new. Now if it updates a minute later, and there
    are users it hasn't seen as having followed before, then it assumes these
    users as new followers.</p>
     <p>Now a user of course might have been a follower for a year, then unfollow
        and follow again. Chances are that Chatty won't notice that and assume a new
        follower. What it however does is that it only shows each user as new follower
        <em>once per session</em>. So if someone follows and Chatty shows that user as a new follower,
        then that user unfollows and follows again, Chatty will notice that the first
        and the second follow time are different, and will show this user as a refollow
        (the name slightly grey).</p>
     <p>So this basicially just prevents the same user from e.g. making a sound
        go off (if you have that enabled) several times just by refollowing several
        times. At most that will happen once per session. Other than that
        the data is mostly shown just as it comes in from Twitch. It will still
        show refollows on the top of the list.</p>
     <h2>
        <a name="streamhighlights">Stream Highlights</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p>Chatty can help you with creating Highlights of your stream by recording
    the stream time (how long the stream has been online) using a command or
    hotkey. When you add a Stream Highlight in Chatty, it is written to a file
    which you can then view later.</p>
     <p>The following commands are available:</p>
    <ul>
        <li><code>/addStreamHighlight [comment]</code> - Adds a highlight at
        the current time, with a comment if you want to.</li>
        <li><code>/openStreamHighlights</code> - Opens the file where the stream
        highlights are stored in your default text editor.</li>
    </ul>
     <p>You can also add a hotkey to add stream highlights, so you can also do it
    yourself while streaming out of a game (given that global hotkeys work in
    the game).</p>
     <p>The highlights are written to the file <code>stream_highlights.txt</code>
        in the <code>exported</code> subfolder of the settings directory (which
        you can open with the <code>/openDir</code> and show with the
        <code>/dir</code> command).</p>
     <h3>Allow your moderators to add highlights</h3>
    <p>You can also let your moderators add stream highlights
        (<code>!addStreamHighlight [comment]</code>), but you first have to
        change some <a href="help-setting_commands.html#streamhighlights">settings</a>:</p>
     <ul>
        <li><code>/set streamHighlightChannel #&lt;yourchannelname&gt;</code> to
        allow moderators in the given channel to run the command</li>
        <li><code>/set streamHighlightChannelRespond 1</code> to send a response to
        chat when the mod command is used (otherwise the message is just shown locally)</li>
        <li><code>/set streamHighlightCommand !highlight</code> to set <code>!highlight</code>
        as mod command</li>
    </ul>
     <h2>
        <a name="ignoreJoinsParts">Ignore joins/parts</a>
        <a href="#top" class="top">[back to menu]</a>
     </h2>
    <p><em>Both the ignore joins/parts and Twitch Client Version 3 option have
            been removed. You can now disable the <a href="help-settings.html#Advanced-Userlist">Correct Userlist</a>
        setting to not get any joins/parts if you think it could improve performance.</em></p>
     <h2>
        <a name="launch">Launch options</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>There are a few options you can launch Chatty with, that will override
    settings loaded from the settings file. You need to run Chatty from the
    commandline or <a href="help-guide_create_shortcut.html">Create a shortcut</a>
    to use these.</p>
     <p>These need to be defined after the <code>Chatty.jar</code>, for example:
        <code>javaw -jar Chatty.jar -channel lotsofs</code></p>
     <dl class="defList">
        <dt><code>-server &lt;host/ip&gt;</code></dt>
        <dd>Specify a different server to connect to</dd>
         <dt><code>-port &lt;port&gt;</code></dt>
        <dd>Specify a different port to use for connecting</dd>
         <dt><code>-user &lt;username&gt;</code></dt>
        <dd>Your username</dd>
         <dt><code>-password [password]</code></dt>
        <dd>Login with password instead of access token, optionally
                    also the actual password to use. <em>Twitch doesn't allow
                    password login anymore.</em></dd>
         <dt><code>-token [token]</code></dt>
        <dd>Login with the given token</dd>
         <dt><code>-connect</code></dt>
        <dd>Connect immediately when starting Chatty</dd>
         <dt><code>-channel &lt;channel&gt;</code></dt>
        <dd>The channel to join</dd>
         <dt><code>-ds</code></dt>
        <dd>Don't save settings on exit (settings are everything that is
                saved between sessions like login data, always on top, ..)</dd>
         <dt><code>-cd</code></dt>
        <dd>Use current working directory (usually the directory you
                start Chatty from) for saving/loading settings and other files.
                This can be useful to make Chatty more portable or use several
                different setting files on the same computer.</dd>
         <dt><code>-set:&lt;settingName&gt; &lt;setting value&gt;</code></dt>
        <dd>Change any setting that can be edited via the <code>/set</code>
        command (see <a href="help-setting_commands.html">Setting Commands</a>).</dd>
    </dl>
     <h2>
        <a name="settings">Setting commands</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p><em>This has been moved to it's <a href="help-setting_commands.html">own page</a></em></p>
     <h2>
        <a name="settingFiles">Setting files</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>Settings are loaded from files when Chatty is started and saved into files
        once it is closed. By default these files are saved in a subfolder
        <code>.chatty</code> of your user directory. You can also use the
        <code>-cd</code> commandline parameter to use the current working
    directory instead. You can find out which folder is used by entering the
    <code>/dir</code> command.</p>
    <p>Since Version 0.4 of Chatty, the settings are no longer saved in a single
        <code>settings</code>-file, but instead several files:</p>
    <ul>
        <li><code>login</code>: Contains the login data, including the access
        token, which should be kept confidential.</li>
        <li><code>favoritesAndHistory</code>: Contains channel history and
        favorites, as well as game favorites.</li>
        <li><code>settings</code>: The main file, which contains all customizations
        made to Chatty that should not be confidential or private.</li>
        <li><code>statusPresets</code>: Contains status (title/game) presets
        from the Admin Dialog.</li>
    </ul>
     <div class="moreInfo">More information: <a href="help-guide_folders.html">Chatty directories and files</a></div>
     <h2>
        <a name="contact">Contact</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <ul>
        <li>Website: <a href="http://chatty.github.io">http://chatty.github.io</a></li>
        <li>E-Mail: [email protected]</li>
        <li>Twitch Account: <a href="http://twitch.tv/tduva">tduva</a></li>
        <li>Twitch Chat: Channel <a href="http://www.twitch.tv/chattyclient/chat?popout=">#chattyclient</a> (Highlight "tduva" to get my attention if I'm there)</li>
        <li>Twitter: <a href="https://twitter.com/ChattyClient">@ChattyClient</a></li>
    </ul>
    <p>If you are referring to a specific version of Chatty, please provide the
    actual version number, which you can find on the top of the main help page in Chatty
    (this one if you are reading this in Chatty, otherwise go to Chatty and open
    <code>Help - About/Help</code> or press <kbd>F1</kbd>).</p>
     <h2>
        <a name="thanks">Miscellaneous/Thanks</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>Some of the resources that were helpful in the development of this program:</p>
    <ul>
        <li>Thanks to <a href="http://java-sl.com">java-sl.com</a> for some nice articles.</li>
        <li>Thanks to <a href="http://twitchemotes.com">Twitchemotes.com</a> for
            their <a href="http://twitchemotes.com/api/sets">Emoteset API endpoint</a>.</li>
        <li>Thanks to <a href="http://www.nightdev.com">Nightdev</a> for allowing the use
            of the <a href="http://www.nightdev.com/betterttv/">BetterTTV</a> emotes.</li>
    </ul>
     <h2>
        <a name="about">About/License</a>
        <a href="#top" class="top">[back to menu]</a>
    </h2>
    <p>Chatty is using a few libraries/resources made freely available by others:</p>
    <ul>
        <li>Using <a href="https://code.google.com/p/json-simple/">JSON-Simple</a>, which is licensed under
            the <a href="http://www.apache.org/licenses/LICENSE-2.0">"Apache License 2.0"</a>.</li>
        <li>Versions with Windows Global Hotkey support use <a href="https://code.google.com/p/jintellitype/">JIntellitype</a>,
            which is licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">"Apache License 2.0"</a>.</li>
        <li><a href="https://www.iconfinder.com/icons/17999/bookmark_favorite_star_icon">Favorite Icon</a>
            (Star Icon) by Everaldo Coelho under <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>.</li>
        <li>Several Icons from the <a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a>
        (Public Domain).</li>
        <li>Edit Icon (Pencil Image), Ok Icon (Green Arrow), Invalid Icon (Cross) from <a href="http://www.icon-king.com/projects/nuvola/">NUVOLA ICON THEME</a> for KDE 3.x by David Vignoni
        under <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>.</li>
        <li>Robot Icon by <a href="http://p.yusukekamiyamane.com">Yusuke Kamiyamane</a> under <a href="http://creativecommons.org/licenses/by/3.0/">CC-BY 3.0</a>.</li>
    </ul>
     <p>This application (except for the parts mentioned in the previous paragraph)
        is released under the MIT License.</p>
    <pre>
 Copyright (c) 2014 tduva
 Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.</pre>
</body>
</html>
 PḲG���K�K'chatty/gui/components/help/jconsole.jpg���JFIF``��
8ExifII*2&i�:@2015:07:01 21:18:37j����JFIF��C  %# , #&')*)-0-(0%()(��C (((((((((((((((((((((((((((((((((((((((((((((((((((��G�"��	���}!1AQa"q2���#B��R��$3br�	%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	���w!1AQaq"2�B����	#3R�br�$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?�]V�R��4�����uX���Y��%���0,l��'*w�����ٞ#=���Et:�r2+xrSd }R�!�BT����N~���f�,H��:�M��&1��|�}�N��5�����m2*��<���8nN�i��i�/y$�������d������ŠN�.���p1���ݏ1�mn5E�]�d�.�S d�ǎx��~硵����J� 2J��$q^��D�e|�A��=_��U�+�}��������(�u��S��G��;�z��?��=_��G(\��X�E?���G۬?�"���?�A����!��WR���lt�G(\�~�a�A����n������½c�W���Q���C�(��}��������(�u��S��G��;�z��?��=_��G(\��X�E?���G۬?�"���?�A����!�Я����=�����R���Y�*FA�?��.��=&����Z���.�:�PP݃�zM���HWi\<�,��9 zS���?�!@t�O�TD���c/�m�<��?�b<�#�e��\��F��|�볮:��ޠ
9�5k�^��QWU�/��_:�o���P���k7����wG�?^3]�.\,���H�[�`�����Tؙ�������J��4V��yH���g�O�s�M=���YA*,��;B����1�=�k9lI�EG�����ʺ��`�v�В�+��wE8䞄��<���l�{��X�y52*���� Um*yN�o$�^�	�el��
g�[�j�4�і���*q!�{zBMR��������]R��S�Z�k,@Ȅ�2)d������H�e���*J��F>�tチ�‡M���mn!��I�Y!q�u�ET��
V��2ͻ�c�o�A��3G�[$q����0ؓ��~Fc$�}ޤU0eI��9D��qЀ�U�g��WS��`.��YV0�'�>�sSI"D�<�$�ɬǂMN[�~[ZFCt��aǮ�*>yu���dA�<{��q�s��U�ȭ���-�^Y��z~��Í����<����Ph�k/lQ6���f0ˆ'����^���B�7��hs��BJ�k�1�A!�'���Ҷl�"�����6�J�i���U�k��tO�P�?S���^y���y�3,J�B��O�|Qnm>��̩�n#PH�Y�Go�߱��
I�5k�^��QVށ����w��?���k�ӯ�S�M��9V)��꤅;��G�~��������Cu�3r�T�`p�tݥ��\����*�cq%�v�uO_S�c�ڔ
u����6U'�c���۲Goe�`Fx��Ry�������Un��v��I4�$:{(a�)�k��n����"�(TP�o����|��_G���Q)_m�ā��M��4��p���>�����[r�����5}��?�L�@J`?
��C�NR�K����)?��6�0!G�W�_�G��߶srG���}����/j���#�2��2A�(�@����)���w��د>�s�eV�~@X�n�K`��8������`��������j�?��5}��?�Iͻ���Y��n���۫��}��?ZX"�!�#R7aFK1'�$�Ɵ毣���)�A�1��p��T���rڗ��.�:�V5/�\��F�u^�e�5����'��)�����?�~��ө���?Ν@4�j�OX���;�1�~�sN��m�E��l��!F������PG�S��z��BKv��3����GU��62�+nP��X�c�?��Vl�!��ɶM��-��ri�,K���r�o�7G�����?�)���>�.���r�o�7P�kz��#Y����`1���8�5�	q�M�I�b:}(�X���S�f��r���2>N�a��Z��W\����n���t���w�i\�J�_T_ʵ(�Xg�����?�)���ں� �����t�(�Xg�����?�)���W:���4�)�T�Ӽ�N6r3�z�Un,a��e�yeۀ��a���(�X��5�Cs�ĝ��c��T�V�����¬���� ��ʭR����D�Ѕ:����]�B�%�\��+�?Z]����h��
����h�7���Ɗ(T�o�'i ����$y[r2������ׂ�B�K[�ne��\�sI�Gt,Gj(�!F�t"1+2E��P1�YH���ߑ�ô}m2��E��h�9�+���3��ރ���(+��y�⺹��ŀ�ŷ󎃎�P����0k�A�|���y��袀&�Я`�d����²|탆�?ӷ��h�)0��).�O�T�e��p>n��ފ(J�J���F��,2��'���U+�#l�o�,�����wl񎃷Q@�4�����"iVl(�P���0n	�QQ�-͞�5іgI?�}z��1��F}��(cl��5�6�<�_�C
����iJJf2�I^ ��E���C  %# , #&')*)-0-(0%()(��C (((((((((((((((((((((((((((((((((((((((((((((((((((����"��	���}!1AQa"q2���#B��R��$3br�	%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	���w!1AQaq"2�B����	#3R�br�$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?�+��Kg	su.FB� S�^k���i_ې�]�C�1X�%�D��j�j�FKm��]u��E{��N��;a�8=g�;�}�N�
�ڶ�k�6�/>VbH�g��ֲV�����K&�Ěd��Y$���e-��ݔȒm��0r�I�[�*��g��$2��\,��Y�"1� �b;O�b��8o�	m�ҢFw[�����
��*��X����3ި�R�5K+�]�c:~ϥ�6�*E:�1��;1���~�P�O���(<.5���J�1ø��� ���V ���V��:|�������_lR[.L{bT�b%��rK&�A�/C�Ů�L/V�i��	$��υ��	�'{�k?���aof�Z[*JD-�6��m̬p˺<�����_����Ɓo=�����Yd��0�w�czX��4�<i�Gl&77
�x�����,LA���#e9�g&���I�ٙ�.-J�g�c����,<�^r:c�w���Υ��Z�N�gδ�F�ĥv�S�T��9 �F�������%�H���4��#F��K��ȑO^�="]S^�����pnKV�c�p���#r3���#���7��-20����6�	����}�t��Aѵ)�k��]�2�	v8$�p8�ݵ�.�,�"��/��Kw��P��**(%�s�9����*;k{�
���X	O���|ó�X?���Ҳ�+�j�#��y8�A��M��";y�4���-q�\u�Y:��i�D��U��o!�2_ٽ�K�n�2JLg�$��/<����Կ��H�	-�Ex�Di��QdRξv�/*�7d`����Z톦�
n�G�pU���ٕNp�dU;N͌py��?��]GT}�9c��Kw(�X�|�HG1o�V 4K��s�3ÇË>��H�gϥ�ȶ��v�y�9��Z�~F�����AO����G����AO����Z�m��������_��?��4�'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4'�[N������_�[N������_�o�������ۯ�����4��ʬ�e�t ��=������^��^V��)h��[�ޣ��󞦨m���Q�r��SP����t��j����l1�2�H}��S��,%ԥ�⾵{��<��2�Q}Jg r;w������𷵽�n�ĶD����	$&X�a���>�kp5�>��]%ͦ�}qr�2��J'�X�6�G��X�j6FK���0
���]���˕���4�V�T��s�B���h�E�t`RD9�<-s�x��[���Π�ݬ��^Z�[b��::g�Qֹ��j66�0���k���ac�;_!l�3 FNU�e�(4Xg���^�u��΍qa�{i���ϝ<qR�&6�$���8�[��e��n^9'�VlrB�H퓏SHK��k�i	b\ڵ�5�:���*��oZ�������?��o�"�A�~!���ɓ��|�Wo���~-����u�I�6q?ؾ.����(���w�t��7�]�5蹎:��F|�-�����T�/����7�O����|]������Q������?��o�"�m����o�~���e�[�߆����Avq?ؾ.����(���w�t��7�]�������
��Ѳ��~-����tr��8��_wA����b�����������e�[�߆����{�?����9P]�O�/���������?�|]������Wm���~-����tl�������]�.�'�������Eؾ.����+��{�?����6^��ſ��o�.�Tg������?��o�"��_wA�����l�������]/����7�G*�����w�t��7�G�/����������^��ſ��o�.�f�1��[��ϟ%��Q����J9P]�w�/���������?�|]������Wm���~-����tl�������]�.�'�������Eؾ.����+��{�?����6^��ſ��o�.�Tg������?��o�"��_wA�����l�������]/����7�G*�����w�t��7�G�/����������^��ſ��o�.�����o�~������b�����������������Ev�/����7�F������
���ʂ���|]������Q������?��o�"�m����o�~���e�[�߆����Avq?ؾ.����(���w�t��7�]�������
��Ѳ��~-����tr��8��_wA����b�����������Z����o�"�|��%����j]����o�~������}���8�Tkct˽���2@�'����;d�kx��?���C��ɬ�� ��)QEQEQE
�������KE?�����E-���>��-���5Cm�z�����z��ER��(�����+���t��9����WM���+����E_�I����@�?���U��T��::��;�*�!;��'���j��!;��'���j���(��(��(��(��(��(���!;��'���j��!;��'���j�(��(��(��(��(��(��(����N���=Z����N���=Z�w����r��Mkx��?���C��ɬ��h(����|5ܞ\m,P�������ՙG�y��m��g�I3uQ�"m?*9uS�������EKH�a�-$��Y�{bwE+�ǂx,��lt�@h��(����Azo�y[�襢����o����opAm�z�����z������G��o�=MC��)QE�x��@v����������+���t�����䢯������נW���J*��*O�zi�{�d�����q��BJ�Ud�����q��BJ�LAEPEPEPEPE#�Y�I=�h��(���N����%Z�C��)_�Xyv�w3)2���H�J�s�SWN���B�M��袊��Q@W%��xr���Q�-��+�d%�fs�:)��aZR�*�P��M��h���a\��?K�:�[D�I�EepHXW�#�ϩ��{��������ֶ/�Þ�l��R>��_��F0����-�;�+���T�|��'��������kb��\$��ֵ{�+�JaRM���݂���օp-�������O��GG{��?T\���xsQ]_@ӵ��V�1��$~"��EB�eׯ�������N���=Z����N���=R��g�i�u�?i��|�a��q�#�t��X�.n�eO��_��3Y5���3�F�;�7�n�g���Q�-g�]���O�y_꼟.=�_�9�ל�<�{�����;[�I\��\�e���̒��9�(#�k�����y��o-􄾔�$V�v��<�|?�ɝ�M����#��DpK�^%Ι��F,��H�>F�T�1�i��j�/|5m���M?OӢ���x��h4�Rͽ�\��dc��;F3��
��:�j���� �_9t�&Cp��2�ûn�12>���|�K��},g��73�I1F�O$���^�J���Eֿ��e�#A�\�[�Ȩ"�1��Y�e]���뛶�h|C���zq{�[O�O��2$��s�����2�eW%�p`z��c5���	�Ƙ�\�V֗

Ƒ6��4"&�B�u3da��dM?M՗Ő]��c~ Sm-���y�1�~C�B�=r��~�j�t�%�X�H���L�����cmv�L�W��Y@{j��Azo�y[�襢����o������>��-���5Cm�z�����z��N��MG�[}_Y�,'d,wWQ��I#pA�A�5j-R�]J]>+�W��C�l�)�Ԧr#�z��$�sY�+�c�c%�N�%1���.J�?����*��k�}���K�Mb����e��O�.6�>l#h$�/�0(�����1ym��r�j�Wp.3��y�4�3U���\�r����|�Z4�p��FG5ŏ\�*���mms�$wk$g���؀��Ύ�釔u�g������+m���v�B���[;D������p�`��
�<{� ;_��]tu�M�Q�F�:uդ5+�{f���6D���0w^���	��%�x� <hQY��I g�N=M3��QW��R����+ϴ O� ��I���ֿ�&�.<3n�ݤ��-��,l�Z)2X�䝹Ͻm^]����{������2�IV�6D��у3��ʓ�8�S��X�{�?����@Z��������]/����7�@�4�dž�	�uu�-��C�s�����Z�}�_X[]��sIJ�9�#��'��s�/O���=��{K�JH�%�
��6�֦�|.���vxA�f��
bNU9���ƺ�R�i�yo�����OS���������]/����7�\����/����7�\��5��I�M����ɹ-�" z<�����*�	Tv�7b��"�œ\�Z�B������#�p��Ǔ�����K�z=�I-�l�����9�4[�M�e����3<$����bw�8��*]Ai���<,5��$�v�m�b�g(ʓ�v�_�_�o���ξ�����~-����u[Q��M����hT��B@���D�vE��\�Bӄ��q+�m��y�o�����&����˧�j�,���g:�M� �������?ޥ���/�uV�+�B�v�?f��#w7�������F��*L$�N۾��)��
����D-�|�6��]*�\���!��@0��`EV�c�mw$>q��+`���1�ۡ����ഺ�}sKY�_�jS	?$�L��fF����'�Ɠ$��Vz\��b 	nF���*���ZF�>����]?A]��+·ך����Cπ5ʹr00�C��Ej������]rJ.q}-W
e`<Yo�=JQ�
B	4���2��'�V�ku�}�
O���:�leLQ�Ys��j�"�llf�����Kh��E�4�@�~��taη{z/�����T�|��'��������kb�%�6���@���@BI���vU��e�[�߆���:�Q�$���b=oQ�H��u��V�4�;��{��K��t�g�-b��\�]Y�%��,G���lW:����
4M���$l���tic�k��{�?�����{���-�S�?��-;�|5+�@�F5��*�ƽ�ãhך��&;x��\�Q�N�5��iuk�v�M7v����'�tM��0#�ר��E
Ʊ�]'E�Ky ��i܏$�q�[��͏�gZJu�-���!l����z)xC_��sv޳9�߀���S�'�,��x:v�* =�����L�kwe�[�߆���D����"y�*�L�N�>�e_��3uT����q�cS\��t%���lG1Q�H�*(�ĐE�]*��\j��S�_��ȅ݅O���95���k�8��𽖊��Ǻ!����l���=+��{�?����R��9�N�����?���/��?�����7�E�\��5�\R��QH�(��(��(�l���ו���Z(���^��^V��)h�����m�穪o���ܶ�s��0(��Q@��k�a]7�K��������ºo��A]0+��J*��*O�l�W��>(��n��1���.��?�%�'����g�D��j�Q�^"}^(��ʺ�kG�����D�7d�����q��BJ�Ud�����q��BJ�]խtM*�P�r�B�!F�c�*��+8�ɤ�?�Z�Œ[�i)5��)l��zWj�q��ު\h ���+�Kȥ[�61DpF8/����nCO�k�Z�F���D9HGӫz�>��:�Oe���n잿>���+i�Pi�}������ƣ�������v=�A��;�b|~0�ޮ���o����I>�!�IQ*��*�M��>����Ξ����u�ח��ok��Y�Ԛ�\խ4M2k�BB�D9�73�TI'�+�I��
�:��b򭑼�](�<���z/��N�k�zG��_ր��/��Fɡ��N���)�����A��~��=�D�0XDWq�,�wI3wgc�1��)N��,U����`�cM�D���[��{iox�쥢�E]=s��'��3{�g�F���z	W?��:�G����3��:DO�VMI���]/�X�V�U�^��>�3E�jlb�T�c�%����EkgJ���6���6[��w��}I�O�����������꬟����2�IV�������2�I\�0��B��2�Tӕǡ���v̿��'��"�u���W�<d���u�Bn��Vgũn��7N�t��.�=��D���?�u�5�ZV�e�����!^;(�WeF�>���J����,�M7�����*;�f�P�2��+������k��(!C$�DžP2I�{N�C���A��p^/��h�����5�;à�o����C����F�8*�n�j���xB�kٮ<E�#%������l9E�b�y�������>y\iX�4��O�Dž����_v��G�]=s�'�|;t8[��lܕYW�D��j_k_�:4�Z8:��=�+��#|���s����pue]�_���^��������r�+C�La$?ސ�~�WST�]:#H�����D�)=N2}�Z�YV���[t�[9}l�/xz�s̓�В�2����h�07������f�{[�V!��������G�Gga:[ܭ�r	X��9Y |�|{�Emv��A�$�:*��?*�U#�R[���u�ڒ�!�_�[�z��j�Z���T���*�G8�̌O`���Xҩ��k���>�WE��a��D(��z�+4��~�I�����?��ժ�I͹=��w����r��Mkx��?���C��ɬ%�h(��@QEQEQECc� �7�����R�E�������KE7� ����G��o�=MP��ޣ��󞦡�QE�(���<{� ;_��]tu�x��@v������_��QW��R���gƟ��~ԇfԣ��+C��t?�cx�J*��*O�t�2�.5��Y��x���BHr���4������ȑz�D��)%uH�	Y���S$�J�t��kW ��j��0�Z�>����=9�*9<1.�}	�u��h݅���9^��:�X㎕�",h����T`�ix�ME�O�oAn:�(�q�r��[�e�,��w����4�?�)R��])�MK����h����R�^�ax�"�M��r���g�#���k���u*s�ˢ�QEf0�_�)�]G8�ͻ��'�E����������k[�c��d)$R(eu<A�+JSP���'�9��&�qu�K�e���#`A�������~�v��������UFu*��+U��Bv���O�	*�U��Bv���O�	*Y ��-P)���K��Zw[�qe<�����}�@?:����=�ַx��Z���#u�1~�f��*�����A��� ����<>�ָ@�tʬ}���g�{�o�B���E�3����F{h�KȮak��8l��3qަ�|?�4���ڬ��f{�"�?Zڢ����ko����QE�Š(��(����N���=Z����N���=Z�w����r��Mkx��?���C��ɬ��h(��@QEQEQECc� �7�����R�E�������KE7� ����G��o�=MP��ޣ��󞦡��}���������������70Pv�$e�3ɨm�A�\j�Cp�v��'̠U����<�$�⹏�z�ƿ=���Oqc���׾BZL�#	%M��C�0�p����t�N=f��[&K;
V�S�i�L�	�ƪ�����pNh�>#�EƱ^(�HE{�(��VM��^xϧZ_k�> ��}1�x"x�H˴H�VPy��W�9��&�ĺ��x�AjK:*E���mo@%�y�H����d�]h&J9��F�e��"���&����)c�NrN��ǿ���������WGX�'�N��'T���R|Z�N�GY����@F1�s�Z�Ѵ6�G$�N�ZY������O^�P<?�%�'������A�!��:L�#���|�]�٥��ۏ��?�&��Ľ�O�	��?�$�UL�9�d7���8��w٥��ۏ��?�&��TU_�K�?����Mf��n?����EU�4��q�|���i������TU_�K�?����Mf��n?����EU�4��q�|���i������TU_�K�?����Mf��n?����EU�4��q�|���i������UVO�	��?�$��������M6NeY
��A�}3�>€.QU~�/����1��4}�_�����c��h�W�������G٥��ۏ��?�&�-QU~�/����1��4}�_�����c��h�W�������G٥��ۏ��?�&�-QU~�/����1��4}�_�����c��h�W�������G٥��ۏ��?�&�-QU~�/����1��4}�_�����c��h��Bw��?�	��SN%i��I�}q�>�i��������_��3Y5��o������k&��堢�)QEQEQE
�������KE?�����E-���>��-���5Cm�z�����z��ER��(��(֮m.���r����s�z�q��U�����/�U�?��?��^����p:���V�-��1<��$d&�U*��H��p��?�/��8��\����mo���y�1�^�h�!��Yʎ ��*�!�g��k�=����\,v_����_�b��{������ֽ����=G�!�g��k�=����\,v_����_�b��{������ֽ����=G�!�g��k�=����\,v_����_�b��{������ֽ����=G�!�g��k�=����\,v_����_�b��{������ֽ����=G�!�g��k�=����\,v_����_�b��{������ֽ����=G�!�g��k�=����\,v_����_�b��{������ֽ����=G�!�g��k�=����\,v_����_��_�[��k���#H����T�f POm�ֹ�C���׿�{}�Ǫ�����mo���y�1�^�h�!��Yʎ ��(�X��/��8��G�������+���;L���{���z��C���׿�{}�Ǩ�X쿶/��8��G�������+���;L���{���z��C���׿�{}�Ǩ�X쿶/��8��G�������+���;L���{���z��C���׿�{}�Ǩ�X쿶/��8��G�������+���;L���{���z��C���׿�{}�Ǩ�X쿶/��8��G�������+���;L���{���z��C���׿�{}�Ǩ�X쿶/��8��G�������+���;L���{���z��C���׿�{}�Ǩ�X쿶/��8��G�������+���;L���{���z��C���׿�{}�Ǩ�X�_�k��[����񀛕X�V#�`}�Ҥ�ؾ������pxO�Y��7��I��F5{��Q�$���x\>�oi��1Oƴ^7�Mf�E$�)=� ���c�����@�h8�¡��@QEQEQEQECc� �7�����R�E�������KE7� ����G��o�=MP��ޣ��󞦡�QE�(��(��(����5�w�D}DHᲺ{s#`�!�v�r�h�����?k{��r[D�X��9-A�h�w�R@��ޱ�iד����jN|��[��3���3��z#д��-.�����!��n��#c*�$`qɦ���@��]B8�\�����I"�z��9 �� 8|�����J+��_��-Մڕ�0mn�6�.���Z�#eߗ<���A�_hZF�f-/��Q+N!���X��#�f$�;���IӟS]I�F�Uv�хL�t�|g�^��)QEQEQEQEV'��c�� ��"@G
��ۙ��8_s���x����4-#Z��t�
C�ϗ��t�fq����p3�ALKD�l�_�[�N{��%��@�$��j�@�㽺��NY�;���-.WP�9c�-�c��RH�ޱyNH';:���z=H����=.�.��[L��� "62��F�/�-#P���]�ը���n��F,Y���ijz����#u�^C���y,,�m���/�"�h�Ûp6�JA,�%FTנU9t�	u�	lm^�%)�B�T_@����r�(��Q@Q@Q@Q@׋4�u�@�� Ԍ{m���H�l��Ȋ@q����ri�k�k�Iw<��`��(���{�m���RI��|�[�z�r����_Ψ#Y.�c���N�X��q�j�ZN��6���jS'�-�¢Y���#�^	�=)��]]�Kq�;��#&�r�I`���-e3�RF�@���H:67�יcu���V��>�q$/$���D�P>w�[�hZD��v�a'�~>Ǻ�ٱ�y||�ڽ1�G�^��iZ���m�P7��8g�P�QE (��(��(��!���^��^V��)h��Azo�y[�襢��[�ޣ��󞦨m���Q�r��SP�(��@QEQEQEQ\���_C�x�x�ĺ{��m���-�q۟���=i�]���Q�u�]��[9��t�Cn�8`3?ڦ>jį�[�L[!��8��񆩨����b��L̗r�m�0�ui 6L���!������h�s�W��:6�.�ݡ:m��myô����W�F�z�z��k�:�N�o�|�sqj�[�1[��?�o�9P>|��ڪJ��wW:�+�𼺌:�w��B8��/�G�e�3���|���ĸ ��ݖ�<kmf��t�le�D�aĊ���Ü|�+j�p����Z��5�=Y���e��������e�7b�F�w������Uo	x�W��]�0�)�� ��v��l�&ݻ�'�\n$DW6�_�=N���|Aq{>���7��������4G�le���L��U�� ��3����K��I��#�Ǧۋ���X$��6�&�p�� 8��N��.%]&��nfY>݆h��ː��c�Us��J�k�'��}Ep3��P��
&��nf��3Eo/�!���� ���J�,��^�Y���8���qq8W����t�>�I�TnOE_��5���Q^ge��Z�M���^��졻�kAq6�|�+�ە�v�*�pH�}{S�5���K}$��[��k>m��)�
M�w!#.O�v��s����Z�W��C�qYIi�2Fe�,\=�,�B���K9 ��O�M^�)�4��r�����XC���F�h��Sj��*����Ի���W�kz��{�7�l��ur�-�A+r��Ѩa���B=�/kz����ӱ-�ԱMck,��Z��
#-����A��0i�ٵ���	��=R���֬u�";ǃ��C,[���7dp#r��£��ŏ�u{�9LW0��$r
��� �"�Х��Ey�>,�T�༚;x,$��T�u��2Hq*�D�#�z؊�i�Vӵ��$�ǧ���!�]�ϻ2����$�\Г��a\館m+S��6��"����3��!��Ԯ%��q��c'�Q�ww�������E<F,���0��Q�ܞ9 �{0��7h�[�חֲX�:�����Z}���Wv!O.L)˒����\�z����0�J�W�эd�T��-#W��vaC�䃌P����;+��MuȢ��uƆ�,z�:{)S��o��`a��=މ�ū��:����wN��@e����_�[h��@QEQEQEQECc� �7�����R�E�������KE7�"{ki{|�W0B��Q$�K`Ϝg�2?:O�m;�����ƴ⸚%��"��+)�m�������@2���Z��?���Z���m���
m�������@2���Z��?���Z���m���
m�������@2���Z��?���Z���m���
m�������@2���Z��?���Z���m���
m�������@2���Z��ſӼ1~�w71$*eD�"��0d�\$�>`xt��������ۯ������Ѽ'+�4��7�7nYuc�Ɍ"#���Ah��b��I<�fIX����a�qC��'i��_�������ۯ�����4�59}6/铉�g��Am�?i�����n<�皘>�.�n~�fg�E�vk�w"��x3p1�'����_��?��4}��~g��������$�7�Co��%��{��y'ޱ�؅��9<sZ3��O�C�ɨ�B�4+�H��=G�a9�z��u�?3���G�n�����i�,`Aq�۽�Eyh�u'�1�@;�h\���JȲ�|'ewż񩈣$M�HІD��(X*�����u�?3���G�n�����i-6
̟�m;�����Ƴ���5��K��rп���e��A+"0e�$A����_��?��4}��~g�����$�%(��'��#n[R����e;�0�Iě�'�թ,|1$RD��x片ڏ+3�}��3�����~g����������Ӹ��a�x�[C�4L>�yY�|��wa�nإ[?
$ֳGqn�Z��%�_����a�e-����q����_��?��4}��~g����4z��X��[�W�F�W�&	��%d�9��rpMX�L�z���\B.�2����]ԇe�~�,�2NO<�c�ۯ�����>�u�?3���@շ����k{1� E��"����9���tIih�?%��h�#����W۰3�9��p+��m���
m�������}@��K�{K�eI�V/��ck���XxkU�7wh.F�Mo��6�
�H��<����_��?��4}��~g�����>�FӬ�������|�}�$��NI'�I&���G�,�������t1ȟhr��2En���~g�����������C��?�5X��P���8�mSp���?�f�g���r�t��x�f��䘹��M��;��$�P1�}��~g�����������)ck��嵞��9"��,�H��@-�eW�@`qK���j��wW����|&JHB�L�G�$r���U�ۯ�����>�u�?3���E��b������R�e��[��W���f,#�ˆ�ӑ�8�=@���,�n,���ر��e~�FR���ں?�������ۯ�����4�oxI���M�2�fq#��;����0Č(��
GJ����8�P��*�<�m���
m��������O����AO����G����AO����Z�m��������_��?��4hO����AO����G����AO����Z�m��������_��?��4hO����AO����G����AO����Z�m��������_��?��4hO����AO����G����AO����Z�m��������_��?��4hO����AO����G����AO����Z�m��������_��?��4h���o�����#��^FgcԱ�4P���PḲG{��QXX$chatty/gui/components/help/style.cssbody {
    max-width: 700px;
    font-size: 1em;
    background-color: #FDFDFD;
    font-family: Arial, sans-serif;
    padding: 10px;
    margin: 0;
}
h1 {
    margin: 4px 0 5px 0;
    font-size: 1.2em;
    background-color: #EEEEEE;
    padding: 3px;
    border-bottom: 1px solid #AAAAAA;
}
h2 {
    margin: 14px 0 0 0;
    font-size: 1.1em;
    border-bottom: 1px solid #AAAAAA;
    padding-bottom: 2px;
}
h3 {
    font-size: 1em;
    margin: 10px 0 0 0;
    padding: 0;
}
li ul {
    margin-top:1px;
    margin-bottom:3px;
}
li {
    font-size: 1em;
    margin-top: 2px;
}
.sub {
    list-style-type: none;
    margin-top: 0;
}
.top {
    font-size: 0.75em;
}
code {
    background-color: #EEEEEE;
}
cite {
    background-color: #EEEEEE;
}
#backlink {
    margin: 0 0 10px 0;
}
 td {
    padding: 10px;
}
 table.settings {
    border-collapse: collapse;
    margin-top: 10px;
}
table.settings td {
    padding: 3px;
    margin: 0;
    border: 1px solid #DDDDDD;
}
table.settings th {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #000;
}
.setting {
    font-family: monospace;
}
.settingExclusive {
    background-color: #EEEEEE;
}
.settingNoCommandEdit {
    color: #999999;
}
table.versionCompareTable {
    border-collapse: collapse;
}
.versionCompareTable td {
    padding: 2px;
    margin: 0;
}
table.loginlinks {
    border-collapse: collapse;
}
.loginlinks td {
    padding: 2px;
    border: 1px solid #DDDDDD;
    text-align: center;
}
.loginlinks th {
    padding: 2px;
}
 table.files {
    border-collapse: collapse;
    margin-top: 10px;
}
 .files td {
    padding: 2px;
    border: none;
    text-align: left;
    vertical-align: top;
}
 .moreInfo {
    padding: 7px;
    font-style: italic;
}
.moreInfo a {
    font-weight: bold;
    font-style: normal;
}
.paragraphs dd {
    padding-bottom: 4px;
/*    padding: 0 0 0 16px;
    background-image: url(go-next.png);
    background-repeat: no-repeat;*/
}
 .defList {
    margin-left: 20px;
}
.defList dt {
    margin-top: 5px;
}PḲG(�~��N�N)chatty/gui/components/help/userdialog.jpg���JFIF``��C  %# , #&')*)-0-(0%()(��C (((((((((((((((((((((((((((((((((((((((((((((((((((���"��	���}!1AQa"q2���#B��R��$3br�	%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	���w!1AQaq"2�B����	#3R�br�$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?�ox�P��-ŜW��V0Z5��%��UQA ����n|o�k���.*`@�Wv���5���k��%�U�e2.��I�b�l>x��h�OftR�2A8Q��+�����~sD�g}���|[�c_ݙ0aPp1�Ǒ�1�I℆)��g-����|�U��x��R�iv�|���h�*�'����!��e�����'-���rrX���O��m�7d}�H�9��<N#�o4�`�pr;r*x�7����DDJUw:w�ݜ�`{qO��s��$��RD�	۱���1E���|K(b��2�(ʏL�ia�6�(��ui�pJ)��m�φ|X��M���Ɇ�[!����oZjxK�i�J� y��[vp��zS	�U��r5ͻf\,@��jt>(��y�hHv�h�\g,��,�4�I�B�tf �F:Qk�?Z��+�@C1�I ��vS�4�/�<K����;IX���%�H d�}�pOAV���X�8��V�O���9��)�{�q�N��ɑI�9-�A֐\�/��A�3���ի]k�w�tq�Ta�����i%�ϊ%�#X �s������4��8����4�]o�1��˸pg��U���F$vUF8`5yt�h�`�j�̝���dTW�5�*�c�OJ����~��2<M�L��<e��PaSˮ�Ѻ.�}�J�9��I�<F�f�5exy����j�h'\ľ>�̼`�w�+�WZ��81�(_�Z����j��K����y#�GQV�Þ#p�����d?2�-�{ךK�x��Ew�#j�O��O4Px�U���߱K�	F��=����x�v��>��/�ӿ�����z��O��m����ڧ������x�>��/�Ӈ�u��?��ƍ���g�['����MO�{'����s�|O��_���ſ�����G���d��b��	��=����w�"������_�k_����ƍ���/���R��C��d��b�<+�ϋ�k�4��mg�|���_�@��H5���������|x�>M�}��Ӈ�5�Ǔ�k�4h#���?���5�C�z���)����7����K�ί�>M�}��Ѡ\`�5�����ܿ����|x�֯�>M�}/�ӿ���ɿ�4�
n��z���R�j��z���SLJ5o����Ɯ<;�ϛ�K�4h5���?�J5���?�R�;��ϛ�K�4��گ������F�r?�{��?�J5k��?�R������;�T��7����h�w"���ȧj^�_�tT�����F����ӿ�u?�����CT������VW��<��B.��֣�����1�4˝]KI㰵E�e�K!]��m���Ұ�o�	-�I�v��p�̑S?�����$��:O�b����%��m�od�`� |���/�[G��P�y��rM&ce`���)��ԓL���,��]е�3��;s)��o.?�v18��J�5���[�sM�5k��-�]���vpd�^1����x��-VE�D�;�s�&r�S���G�����6��Ϧi��v1ƥ.^B���2�>V^N�3�����<5��>�g�����Z�%�Y$*�g%����w�!���%�O����dxX r�����?J�e���=¤�"�`�xLi�*K��>�Dq��q]e��]�^���3�ǰ��U��@��M����w{\[��1�XA#�>�RL�̭;�z��ս��!6������W���@�g��m�Mu.�v�t�+օ��0Y0v�x<�L���o��?�UG?���/���'Yha�~jv�/����Z5��m��(��h�g��;t$	$����$��&��մ�s,�$��݁�?w�fx^z�퍽݀qcዛp���n#�~j���_��W���BAs}g��u�#��p��Us����!}>Ku)n��G��S��r1����������UJ��{9���� �K8=��j0�e�"���R�c�1pV_-_�>b3��'8�<���H�e�ʻ�D�����F����x9??�=�5�_��D?�Uh������TXwG$�?�$E�X,�?���8���
��p@vK�H�:@ѵS�iW�6�RR�J�0y��3������"�*��Տ��o���U�:���G�klں����’I`2̬�� �rT��2�B�ǚu��f��:����裕�`�ȧ�������O�Xw3�#N쟺O�Z�ׯYl��%m>��9�Xfm�C��<(��a�ir�I#HEI����i�o&��z��-�ldpFx5���.��c��.ode��)?��;וxT�[i�G�,k4r,�wev�Tcܯ+EE�K��c.�n�9l~\VV�H�zM��
.8%�y�̆خy����ai�ݿ���yE��Y��	�.Ř�����U�wӖA��YO�2��w���7�,Z�Ⱥ�����@F�d�\1 ��T��zi�YE�!Sٸ-���ׁ�:s\tw��F�X�8%3��7qҠE�I����K�-��g����HJ���J���~[�h���J���~Z��"��xt��\1���g�"� 2�亗��'��4��/�Ot�����Ɣx�K?�ٿ���p1>�Uf@���w~F8�c	]0!��b@�����@��	ޙ�=���7��	֚�ߦ���XVE�Rђ�6@�m?�Ft�r��ԁ��a�x��z�':o��o����K�	ƜzJ��Ƽ���V�e�>6!s���z�$��K�Wg��@Ϯ?�?�)��o��V��G�i�6��ߣ�5���0O�T��3��ӏz}�Vrکr<�C�$�>�>��wCƖ�Z7��?�G�&v?�o��Ƹp4���lc#��3H���bB�2�d�����3�����~��ҏ��o��Ƹ��#<��7w瞵�G��ae����g�h�����v��g�k�<Q`=��?�7��?�K�	m���~����E���,���߳�4������?�\ �i‹��Um������z���Ƹ�=��E���(��o�����|�� ��&��{������I�_��^��E�����8fu�X�Ϊj�'�
�Ԧ&󢷒t�E+�b��t�����=����k�j�p�9���q̌�����,�6{c#��'��6�����n$[��nr�߁�}�06�)��;�5���i"G t�?ֹ��o�.�����	�i��N�ۡ^��#������Vo�弓��]i�م�v̲F۲�i?�S·�?�0k���5t��k�?�0k���5t�LQ�Z(���Pb�R�@	�1KE&(�-����q�q��k����C��2�O��\(b��瓴C]������V��#�.���(��%v��#��_�O��������O�����_뉣hw�@���B3�;xݞ<V��-=|��I���iaa��8�a�vÀ�:��"n��<7�@���)?��tz?�X�\J�v��WPN	�H�cZ~�-��d�6�p���	Epx$`����Vu)cw�������t����GI��J���RV�Fdi��;�@���r�5���Z��͟��՟�OG�I���$�����q�ǿ^���;����;�@���r�4e�{��C���j��D�o.+]*�[�4Q�P��D��6y*\}��ĝ"�խ��jzm%�ÍÃ��4Y�g�3����'�O�I�&�D�lBB���@���k6z���I;:����:��i�RG&�g�c��S�Avb����Et�C+�-$ �n)����?�R_���X�D��"�5��gk6V�ɾ�2�2��#��H��F��Aޕ�]�����䜿�J�v��F����j﶑A>�#�CÞ%�����h�c$�C��n@'ppGqV59�sf`��?�Q��9��������m#��2(���@�����l�SĐL�E���U?km�i�����)��eg'�H�S�؜����vb��ЇM9��_���@��I������\��l,57�%tM�349���#���]G�`���	.�vs�aЄ1�,�(�QB���m����H-4N�{�$��V��Aqj��۞?��l��1�P93��&��@���I�����/�V=��	"�춊b����#�>T,��P@baz�-��\^�n�:���!Y�fL�x|�x�L�b��`m���to�����)�d�D)(�B��5,Xg#n3�n��}�}��4 ��s�
���Te�����'��}�G��)?�_��z�5�������V��ݞB�r�V)`Jg$
���p(��_��?��O���(�4��.R�,��Um� i3�G���(�Lț?�s���3�zWTn ���]���?g�)(�]�jNX��F�g��ړ����_���*h$Aq��7��J���9B��.���4��G��Ϥ�
/�W7a�:>�׺X�)��1�dd(؍Tm��u#�ֶ�6w�������ѓj�WĿ+`��bn�=y$�]�<�(�ˤ�?��/�Y�)����;U���Fl��~����n`%x��\���>��m�q��)+!�ݝ^�� �/����+���?����WU��&��G���~&ȷ���1��&�3C�?�0k���5t��g�F
{������Q@Š(��(��(��(��S�e�����M�z���ı�Q�ѡa�_#������p�Eg��Mw2��D��k$���Σ��N2�w�2��}��{k�2�kw��h[���+<�q�d>�Ȥ�c�[$��,ܜ�Mu�́��?b������َ�u�#�y.<�Θ�b_-n�m��`&q�Ҵ����w0l-ƟGc�\�̩`��A��UG�V�k��l�Z]"��ٞ"�
�:�H�$�g�I���9<�u�$+�I����P��8veR�D�r��`��:�����gO�ݰ��`V"A��SR��S�#�4���BJ���20z��:ֺgK�Vw��UFY�����Pa��?��{G���nq�%��;M�J������9��A��T�黃�;&Byc���gFz���������Q�}G�}���{G�9s��W��Cm���fm��Y�1�I'�zq��T�䶸�4�@ZHʌ������?������G����?���E�j��N�9f�qY����H�N!'��n�㻺���H��x��8�=3��<�����Q��{?���Eg�煟��o�"�h��]�cO�]:7K*�v�؅�c�I$��U���ז��]"��ٞ"���ks�������(�>��<,���:��Xj	3��3\���e3��"A������j-n׺U�n�dM庘��*G8$~5��Q�������>Ϩ�Ͻ���o�"�Q�,�SI����B�2�u"ݸ`�@z�|������������>��>������>Ϩ��?���E��O��c�]>�ŵ�u��F@�eV�0H�G�G�s�����|�G�xY����(�>��<,���*�
�3��ҭnD�~�<�d���|�X���@�P�U��t9����ۆ����[�]w��������Q�}G�}���{G�\�����ύ�4�WN�qmp\]K# L�V�0H�G�[�g�煟��o�"�#Q�������N�cPH���W����I��&#�LfO4�}��9�	�F+��>��<,���}�Q��{?���E?j��w9�Z	�`᷃�v��g�����֏�u�>W�������������Q�}G�xY����(���{4��F;�ӭ�[\ܒ2�‘&	���|���Y^����5��g����������P�47�1t9T����B>����_N)�h�p��\G�N��s�ʟ����7''�>��}�Q��{?���Eg�������G�}�Ȼ�k=�#������$��<�VTh�s��0FC�:�~Ϩ��?���E`�ɧ�a��e�w\����v�srEF.�M��&��G���~&ȷ���1��&��H��M��p��@�L��o_��c�MPY��5�w���j�|3�#��n��WM@��(�aEPEPEPEPn��/��W1��t��L�[E�%�Ne�9U��˜�ߘ��Y�>��\����q�����ݰ+w�z��_an	�HP {f��
mU��eX��ڔ���٤�.~\G��.A�O ��I��Ɵ������E�F័��P�m1��9l�*����^��WW`g���4��(���$Uݻ'���*m�h��[ˋ��0 �2�����K3o`:�'P?	�&�=��ؚPmDd���NG��9��K��j�q�J��1�_<m)��%�22r?{�Y�\x�t[�e�,����%IG2�Ñ�'h��������[�nY�����˕�jy��U	��z�+� !��:���@�[�9��̘�P�O���Σ#/*p+��!6�}�,��8���(���Q��U�>���5�3[!~<����v�Kw�����[)��������=Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@q?����4��Z�;���@����O�դE��&��G���~&ȷ���1��&��H��M��p��@�L��o_��c�ML
���ۿ����W3�5�w���jQE(��(��(��(��3u���{��s�f��C��&;+i"���|�Q�D�Q@�d���Һ-h�#>�Q�ivp�Q�D��Q/ϴ����@w=)�g�ۍ����O�đJ�xS�'�-�m��8�v��
B�V[[�%���z�BF�d�Ш�A�����j�m�[!�Da]�s���9楏J��̎��$��-�b����0=���'��K�=��`[�6�4n��ڄ�+�Y��*[�\�pJm!�	��a	��!�r�O8^����4�|�v��S9��9����ޣ�H����he�#�7�	2���1��a���_yM�J-��,O�O8B[o_�ÏL��"�y��s���)��M*��Q��s�Rt�3���y�u��B�Fi��X�k;r��cJ��t��$P9�	\�V�]*U�.b�<�!�H�����<q�_�k�
.3`�G�&|����?�a��<��C ��dX6��I�������c�}����V>��N�f���4-D�P��A,2�^6`� 0G^V�GC�ɍ{nm��1���J(��(��(��(��(��(��(��(��(��(��(��;���@����O�ծӽq?����4��Z贏�����\������7����i�	������_���-��o�	�C�?�0k���5t��g�F
{������Q@Š(��(��(��(��o�G��J����*�����*���#��^��g�\S�A-�EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEw�/���������]�z� �_��i�ڴ�i�	������_���-��o�	���?�e�\#��r�?�[���P���`׿��@j髙��������
]5(���Q@Q@Q@Q@��܏�{G��U��qO�Uo�G��J����*�����([��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(�\_����
?�V�N��@��>��`��h��?�e�\#��r�?�[���WU��&��G���~&ȷ���1��&�
���ۿ����W'���g�����AA$��v���<{V�z����y�תZ�s�2p���sҋ1��V���ӭ��7
l�D�C�ʒ]V�+�e-�	v#2���m��q����;=�^�������+�5�ʰ��FuH$��9<r9�۸,me���!�!����SE��������V��XOŴ�rH�U����א���ur�`�w�-����R�`,�I�qޑXuW0�,��*<��(`J3�;pA��@��܏�{G��U��qO�U
h��Q�֫�?������"�-�EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEw�/���������]�z� �_��i�ڴ�i�	������_���-��o�	���?�e�\#��r�?�[���P�G�;{x�I����1���;���_��mZ0�e�VY�ch�`7���=�T�?��|Wz#�
�M�8ݶ&8�n���̶�z-�՛	uA�'
N#gۓ�n�Z����ք�c�xJ[k-N7ky��t����f��Fb��+�x���W�-'P��"\�9t�au�wWY��A9��LѼai�Cw(�dX!K�����',�L�l��c#󫚦����Ci=��9���dS��B�6��d��U7;�Ռ[�+Q��Ry�rOu�N�t��;����n�����3=��)��A��"��Q%dž���dC4h跂L+2�!�H�7��Z��X��J�匾���=�e~��u|+�Z\����Xإ�0+"�7��<}ϯ8�MdC᛻�j��-�,�H�=��2d.H`��{�Em���[kV�I�����Ȱ����FK)��O_��
�P�����qI$�6���ېNOL�`�):�VFn�ᛙ��x�T`|����x�j��Á�O��eƗ�ݥ݀��IUˈ�^i��`ی���Z��[Y/#T�O������2��m��9<�p1�I�="-=�ٮ��-���`��c;v��"����`�r�����ZE�D5-�y�QY.�ѹ�s�~c���i�i:o���Ai�Q������A߁ҧ�Ht��S�YE沢��z�X�g��u�ԇO���9�%W�}�q2N}���;""]"	��,�䑟�Q)ϖ'2�}�u?�J���Y����Er��}[Q���9L0³-�!U�s���0�~���4�Y����ED���袊@QEQEQEQEQEQEQEQEQEQEQEQEQEQEQE��� }����j�i޸�������tZG��l����W�g��z����Bj괏�����\������7���%���.<YdFn`��d.�g����񴛋뉾�a�_�J��_iRv��H�'�kϖ�<gqn�9ᴎH�uV���{�˥��}N&�2��S4��v
���AG�q�*❴����gW�\,����,̒�$�pF2zz�$Э�\}XMx�O���!6p��x�8'��kB����̷�Z��B�e�tKx�,��G�(R	����mjX�^�m��ld�$ֲ�j"��?1b�8�1 pK��qh[���\��3�{��湞��K��|�p����n��.m䈼����e�t5��k7W���5�yiwI00�rZ=ʭ(�=9�Ȯ�^{����t�As�U]AWrP�n���iI=��@�SL�E'	U*'lLˏ0g��n{��R�xv��y&�.�w��θgP�A���z?����+`o�WI��sI�b��p�y�k_�%]r�Ha
�K/�&��I��#fpy��i\.���zK	G�X�k%�\7��0�z����<Q�Sn�S%�F���Vp[�X��<8�{��u���G8�M0M\��2m�B@��{�x���yss��t�0ʩ;[)�B7�Ь��9�Ŷz��cSt'm��O�Q��QQs�P�
�9��g�����e����X�|�)Ý̭�� �Vn��[�C��d�KV�b3��z�m����U���g�\�5��Ɣ��"Z��N!�3������vP�Z<�5��4�!ē3�F�YQA8U��v������)������K�I*H��5�,Rxw1_*Pz8ۜ}x�'���g�\S�A2�~��tQE (��(��(��(��(��(��(��(��(��(��(��(��(��(��(����@��>��`��k��\_����
?�V�:-#�A6_��?�W+�3�E������5uZG��l����W�g��z����Bj���Σ�h/�ic�%���6'��+�E���a<�"���^�y$��Mq�#6~8�6J1��W���֩�=CK����Y��h�IB�—��O�=�V�u��a\��T��A�0)hϹ��W����:��g��.̅!�`hฝ՘�����`�$���U�_M����4�c���D7д[�gF]�."�� �%��75{]>��5X��y��Ux#w#;{�ik��ʹ�Kgkmj
�h�(��O�>Yc%7�7�$�8滽Q.崕4����,���Fy;r2q�s֔���d̪J����ҕB����:��-+X�W�醴����m"�x$���,�d�@{�(��;k[�+yu8w�W�k��Fc��%NӃ�9��G&���׏l���UP�Tv�ѧ����1�n.l!�Dl츗0+/�0���6#���4�\Y�{��|JΪ��b]�����5M2��N���]���s��gj��{]Z^j20H<�6�[���$)oBA>�^�=U�*���5_&!&�UbF�0+��$sXPh:���q{qy���.!�H�tFǖ$,����Hc��<Ҍz�;�t��1���iXn\�$y�z���Jl��<�A��=ƙq%���5�ʾo�r��(��8��08�lm�-�=I�¥���of���,�������Q�?���+�����Y�ϝ���_����m�~W�(>�f�>�e�>�����Y�ϝ���_���5��/���+�}��|������h�`}��}-���`���;o���@��5��?���+�}��|����1�o���,�������Q�?���+����3X`���K_���G�,�������S4gڰ>�g�>v���Y�ϝ���_���5��/���+�}��|������h�`}��}-���`���;_���F���ϵ��Yϥ���_��_��k�~W�(��3X`��zZ�ߕ�>�e�>��������Y�ϝ���_�XY���������Yϝ���_����m�~W�)�
�њ������ߕ�>�g�>v��€7�\g��t�����j֧�,�������VO� ��^D1E��L�@���&3��?�e�\#��r�?�[���WU��&��G���~&ȷ���1��&�E�Y�~%��1������[�V�V����KG�XaK�d��+�������X!D�cls[3�W�=ל��d>c�щ�H��=��m��5�`��>����=��au��8X���S�o��S��S��m`���G!R��6p��ߌdN3ҳl<7���eI�UcV�$h�J�Ff�|zOԴ)5
Ny�n�ZIl����Aԇ*۸c����Z/+�C���X:�i��—[<���n7a�%rG#=zUo���oM�}�ݘ�1}���^�>��T�3Yikj�[�������J|�r{'8䓚��&��ӛh%��.��ą��Ү�樔���`�s����}m�q��bA�y%eU���Zx�K�-on���խ����I99PH��t��^3}�BV֧��:ѹ�UW>d�D�	�du���4K����3[]i�H�$�pex�:�H �����kЯF�R�V߭�iߩ��H֋ĺT��Tw���Q�"�VwdX���ʟ��\�U��A���e@Ve?3r��S�ָ��o��Y3l�M����e���I��9��l�m�f�$MBrl�F�̑C�s�oA+�1�G�c*x~���:���6[s<Z���%u+�L�� �$T�אXZKu{2Co�wc��_x.]���%���͵ēO��("�����I�����o,�-�$$Ѵd��#�k���_��˅�\�'�����{I��`U�`��;��t�Oki�f��ι��ݙSb�W�;rpy���d�ԩ�����QEQQ�J�!\��c�����Ke�Oi�����K8r��;�3����Q�3[�'�M�f�N��P\$_{wR�Ϝ�kЁ ���>�����x�ői6jm�{��I�݄��u' 
�w�]Cj��hW��ƫ/��[��F?g�2��d�|�`�u�9�Nzu��rsC��z�����=Nx�Z[5��[���X��bx$g#8����-Mµ�s(��N,�J��{��ݕq�Ez&O������t���?�n��GK2k3$rl����,�A�j�nj<F�k�in����%�t�%*�A .Q	�1׏J�>�i	���n[�~���:�Y���Y$[�ZIs,F�m�eYv�%O����~���NUU�E.K)$¡�\�6�Fzv&��cHb‰c�"�Q�)�ԓ��7���:��qsj��i��(7.�᳞1���b�ou�è���ÍJ� ���_)"��y`r����#�RM=�����{[�E�����,<覷�b�� �u,�.�������kPæZ�i-L��n��k���*�S�$gr
v>�zѓ�2pz�@yg�oK.������!_"E��q�����ޣ���v���"�H���-���
��!v�#��:��ry��מ�d���g�]x���P	wyss�<p�p����Pī�#�H�8n�����j�_��ut��Č���}�@�e;�,�-�&G�GB}:ѓ�d��4y[�k���b@���?�:u���`���r�'n��A��o�2�ͯ��<�	th&h|�����p��Fxu�9�N}sE��O�jV�W���&�Ҭv�C=�[�P�
�;�l��e?�|O�Ԣ�C(�Y��dr�]�Pr�m���2+�2}O�d��΁�·�j�SNu�n��#�lX�*.q߸������]�dVV�C��u*ۤ�$��*�|�K+�E �v.@ `�q^��	'�'�O�6�w�X�ll��������\����Tnp��ݎ��<�y��Z(��(�?�ȡ��פ�������zK��L�H��M��p��@�L��o_��c�M]V�� �/����+����"޿�`�К��s���F���)�8;IX����.�}k�Z�3��h�Bc��'�������g�f�I�^x��FdK�a��q�&��l��gp�dڒ��S�(C��T��҄##�,�S��W�]�-��[[��������"�9��v��M�j�)m��Z�r�'c4k.ˌ$�Ɨ�&�l��Z�7����=�$��8���Zd�����F�� �I	?:�T�f#��f����}p[�[\“�K��!LH���t�>*�z����t{�my��"I�z�;�U��1g���n���jfI��b�!Il���`0*���"�\�v3[Apg�T{�؀������{H�mt5��Z��8dԠ��6�wzz��B�=�c>���g���<!j�^ɫX��\�6�Ƅ�����v鞕緞����M�-�<�3ざ�ڽ[HЭ��t5���N�!���IF88�]��I%t��z|��=�+?�1\�C�9�L�[u����+�<���#��y����=�/��#��$�<K"�&7Y��uDO��Ǹ��>�I�S;+HU�W.� �$�c�Z��4x
��L�_�[�� D0��ތ�J�S�=�������ri�ws���V�$f6�°�0}�B�パ��5����ac=��@�ې8�?δ�ij��m�B��9P	�Ǐ-�9��\z`ե}i�����$�J�^7V\����A_��i�"�^����)�$9��1FRT���+N7��I�����1��'s��zF��������\��$��I$�Ԛ,o^�����KQ����|�O�y�~r�^��<�9?¥��>�iZӑ�3�"�?��e��yz������H���}h�}�����睗�'�Q������*_�#�G������r//S��v_���G����;/�O�����G֎G�9ȼ�O�y�~r�^��<�9?¥��>�iZ9`�"�?��e��yz������H���}h�}�����睗�'�Q������*_�#�G������r//S��v_���I�S���'�T�R$�nj�^|����I$m�˭��7aŹA9©�Х6������4�_a�y���O�y��R�5?��e�}I������vNm�H�ꯋI%��YB�+4��FB������Z�7�[�`���Q!C�ܹ#A�94r�7��z����<�O�y�~r�K��}h��>��as�yz����<�O�y�~r�K��}h��>�r>��E������(�?��e��/�����H���9����;/�O���睗�'�T��G֏�#�G#��^^��<�9?/S��v_���R�iZ?�����s�yz����<�O�y�~r�K��}h��>�r>��E������(�?��e��/�����H���9����;/�O�OK,��\,k$PJ��$�����⮃�I�k��D�ox�C�%��S(�]�^�� �/����+����"޿�`�К��#�A6_��?�W+�3�E������5AdS��Z��H��D�FWF*�D/�����>���N���-Y�R۬o"2�_
#�'��3~��ɫx�.�ݒ"�ʕ�� �LWEd�����Y�����@�/�G���r+=j[˙JCr��t��3	qVٍ� �z�ͯj7�x���$�k�l�s���W���|�K�����X�rG)o.Er�kml�w�͏����1���Ǯ)��.on|<�r]�����i�i	h���Ae+�}�V�7F�x�9>��[#{2��/��ob�߭��q̬�`�(<b
V�v�g�M]7S�X��tvx�+��:�Ғ�ԟF5��
ռ�[�����Ab���Oq��z��d�G��N�S���~�ג�iRجW*��j������@=���S>���D3�>�I@:פh�[Ziv�63y�ZĐ)�FH�]ձQ�V|�y��6���Rx��6���Z�N--嵒�T��=�����T�.;{t�мm�_j��w�%��\Nm��H�řv�fe�g�s�v�]�m:K�6�wq�?ˑˆ��2R��F�g�#�t�3�Oeo�ދؖR�hލ)��P�'�#�5�������x�ZԴ�ɯ��%��v�&�#3� B�QOd/�q���3�_�#���Ay�|�b��^���Ӷkl|�NCF=3X՚��V��S]���$��S[�+ĩ�	�L�#q������&�t����/iJ��\+8$d�8��{[k��h���@�=��J��#N��}����T&��g����ɣ�����];��M��ڮ����,,�=�?—�#N��}���O�'����t�4��Q����ɣ����o�;�����?�;�����?i0�q8��];��M��j���2h���l��#N��}���O�#N��}���O��L=�N'�WN���H���eںw��?��+���ӿ�g�~�(��ӿ�g�~�(��g���ӿ�d�??��G����C&������4��߄�?�4��߄�=������t�4���Q����ɤ~���o�;�����?�;�����?i0�q8��];��M��j���2i��l��#N��}���O�#N��}���O��L=�N'�WN���G���:?�t��4�����#N��}���O�#N��}���O��O�{8�O����C&�����?�t�4���Wm����>��'�Q����>��'�Q�&�=�'�WN���G���eںw��?��+���ӿ�g�~�(��ӿ�g�~�(��g���ӿ�d�?��G����C&������4��߄�?�4��߄�=������t�4��Q����ɣ����o�;�����?�;�����?i0�q8��];��M��j���1���l��#N��}���O�Z�����qaf3>��y���a��r�ں�zG��)?�t�4���V�t�=�/K��/�@�	�Hqڶ��4��߄�~�}���q?ںw��G��(��ӿ�d�??��]��F��@�?���G�F��@�?���K�L~�'����ɣ�����];��M#���di�����	�di�����	�{I����j���2i��gU��cIOkp
gO�y����U\���?�]��F��@�?���G�F��@�?���I�RVcQQ�v�� �/����+����"޿�`�К�P+����"޿�`�К��}-Y�P�����I>[V��=͍�QFD|�HJ���c�=�L�KM_V�#	���v��w�Z���ϙ�ȿ�j���d��%[tkq� ��P��I{i=��?�XDl���H,F9�@3�}*�i����_�5G������/��.�k}1�p�Y��ZM��8�8'�V��o��f��3�9�	�U���?�����ƨ�֟�|�E��TXw�LѼ�6�b>w?2۲8䜟Ni��|�	V��@d`9,#���'������/���Z��?���Q`��qW6�q��QцC) �L\�>
����ӬR�(�H]��]����ǿZ�֟�|�E��TkO�>g�"��,+�6.�"��r��e���8�d�}�b��[�v�r�'t����ϑ�ȿ�j��i����_�5E��6�"��a��2�b�N��㯿J�	V�r!�q<�u�}*?�i����_�5G������/��.\�m~�d��M�|�Ho~�}*�ckO�>g�"��?����#����sf��֟�|��E��TkO�>G�"��,6h�o�i����_�5G������/���sf��֟�|�E��TkO�>G�"��,6h�o�i����_�5G������/���sf��֟�|�E��TkO�>g�"��,6h�o�i����_�5G������/���sf��֟�|��E��TkO�>g�"��,6h�o�i����_�5G������/���sf��֟�|��E��TkO�>G�"��,6h�o�i����_�5G������/���sf��֟�|��E��TkO�>G�"��,6j������?���S�Z��?���TR�K<��Kv�"��HIX�����v��K�<��!s��
n�/��Oa
�f�Ku4�p�yg�*�������/���cf��֟�|�E��TkO�>g�"��V�4V7������/���Z��?���Q`��EckO�>G�"��?����3�����5�L��o_��c�M[���ϙ�ȿ�j��\=Džu�$��Ξ���I?2/��gS����wO���^�4�Y�>�o���>����Q�?ݧ����|A���Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��Exo�.�/�j����G�.�/�j����E��\?ŏ�u�������|A���o��v���ڴ:�K5����,AT�9;q�)���PḲGI����1�12chatty/gui/components/help/viewerhistory_small.gifGIF89a����;
7H�&@&NW��/V(&k#j$&#*q;!T0u+,*1)G)'�O y7/@2313u21T20d/2Z20}11w"6y:5>7�b �796U10;}[01.3�V1XD4yT1w#@�X1~?@>w13B?E~00(C�v'�y2Y H�?7�z2|FHE/J�RC�3N�0UWNOMgB�9R��.�3W{�1�WU21V�YN�TVS[J�7Z�TUt�:�PV�zV/wH�C]�[X�]_\Ga�wT�~X[%hŚU/tW��TVLf�^^��J�egd�YVKm��[x'w�hh�lnkPvx�P�"~�/~��V���Rt�uv2m�Wv�tvs\x�`{�"�?y{xK�Ѡy/yw�d��u1�z�g���~�k�c��������yX�k�9��~3�;���{��T��k�Š��P��/�R��ˏ����}W��v�ª���}�؀���u���Q��y�ƺ�������R��뀝̰����������������~ӖT}��F�e��������ѣ����������ػ��ǝ�ޟW���ޜ�x��ˢ���ګ��ƞ�ϛ�ģ�����Ʈ���ߠ��o��ީ�������Ѵt���������ž���{��u�����ə��ӻ�ӽ�����ѵ⻶ڸ���������������|����ʳ�����є�Ŭ������ݡ�Д�������˺�����������ٳ����������������������������������������������!�NETSCAPE2.0!�Created with GIMP!���,����	H����*\Ȱ�Ç#J���73j�ȱ�Ǐ C�I��ɓ(Sv�c�ŗ0cʜI�&B�m��ɳ�φ8]~�@��ѣF!(���i���rA�U�.���A��;����#�ٳJҪUʔ�S�ȕ����/j��}��_8v��ç�a>�+>��#K�-q�<���ˬ2kfE�sg^�AM���ӧ��^ͺ�kj�L������*���)T�TE\Ū��W�bɞE�6m[�q�j�kW�޾>lx�bǏ#�S�|��f͞?��E�4jԯ㿎�r6���ُ�
,@�@�D��SOU �TU
��V]}%�Xe-Dsι�t�Q��uj�`��b�1�Xd��W�y�q��z�|���j��4Q���;�#�4�D@��&�`pá�q&W�r���[z��u"fW�(z��q�")1����ݘZ�@��7��AҀ�N>u0��\�G8	eSi�Í��5xՕz5�rf�9]>��\�`
u ���_ڙ�]��*6Ʀ�/ƙ-t�h'3�	�K<�Y���"�"��I(Z��B��>q�SZJ\VXj��Y���2�#trm����Z&�g����Z��3�W箽�K_�}U�-ƪ�E:�ز�h0������FE���e�\X��Z��s�c���Jb`�6�R�&�sꫫ����7�g�@nb�4$��&�@,���[����=,Xa5F��@������G��)F�1�Z%{Z���fI���<b�h�,k����㭹��+�x���B�(�����l�K�蓾����W��y#�PNő�Mn#��p�ֿ���/k���bL�+)�[�?�|a�, ���v�H/dm�w����s�����G$�\���p��;�9�~����7.��77��~F�Į���La;����CG�\��⩉fȳf������F=�Y�',
�؃��4p|B��F�|nw��/��>��/~�C��?��.w��y7����U��C`�lV+�ǁ���	NOq��S���*z|D(AD1�1�Z&�\�~!:�Os�a#<�*��S$��eC��w����D��,�{K �v��,��S��&�D�I(��@���$@r�$iQ#����T@�~�Ì.���v������*���?~�n�������2<����<�<�=T�+�8�D�B�����G�&cǸ�Mm�9�1Yt�²�x@<` �(L���D$���e>�I�P@
��PӚ��ƴe��Ǜ����v�^�4�b��N7�G��{I
�� 
iH�E?9�05�R��DI�٬��-��K㤋C��È�s�BL�E7cH$nt����R��Ԧ���Qd�T;ɛ�bsc�2h�@�M��]�)'O���rV�&Q�Y#y"S>p%X��:U�N@J��fV�IS�&�"�N��St�Q�����0��C��q�OIB��Z���>6���z���
�hGK�Қ���M�jW��͖������lgK��ڶ����nw���6����p�K��6��M�r�k[�2��Ѝ�q��
�Z���un26�]YlVm�v������M/l�+�$�W;��0����|�Z��W�N-{��Y�r�ሁNЁj�w
��(���D�c�d8���	�Z���-��	{�F��q������v���"��+ެ�A_�������b�n�%ހ}��Y��2�����Z�?n�klc�z��.��_�-_��Z^�Gak8���x\�c�.�2��+aWC�q����+�;���kn�g'L�(���3�\dv���y�sv����l&2gC]iJ'Zԟ�4IM�I�9�/������Q�:ԟ�.�C=aY��g�.�m-�F۷׿��}��cv�:�f�5s�{��!H�/-k��j���7[m�{!�Lj7�m�b��^���nK{�|������}�[���������?�Ÿ��;ܸ
���[\����g�Bx�� ��GN��(O��W��\�-x!TB���8�y�g�َ��@�Ї�|���2'�җ��{��M�ӧN�����շ��?��Q�5>f����X����v��]�m���w���}�xϻH�.v����߇�Y���y������]�Ba��'�v�D�ϼ�-_��^�:�1��7}�7�Ꙏ�����Co��aO{�˾���z�՞�ޟ�~I�/�⃄��O�F����3���>�/��_�c������{����nt�C�b߸�w�����������_���^������Y�7��W��~��\8fm�fZ�ƀ�VpciH��q�_kfm�d�3�^�c�VF&k]�_cRVi����P�'`��_�6؂.h�q��,8gv�P��&�d�k@�pBHa�����`�w`_8xe�EjJ����5cOhilV�Ƅ^�g(�A(vc�Yfc�vfeƆ�փ?��E��5c�&k�d��c�.6a! oKho~X\�cqvZw`���o�Z�hi��`~v�Ӗ���q�8��������W��8k���z���p�
�������؋������8��X��x��X��Gx��
��p�v̈��W��U��o�x��x�˸x��׍b���xo�8�蘎����H��o�y�8����(��(m�xy�؏����Ǐ�g�Y�x�ꕐɐ�	�&�I��e�������e��8�$Y�&y�(���ؑ	����.��^���5�4�[6y��:��ؓ2ɓ@��8�Е�F)[Υ_�h*�I�~�k��dQY�bdV
[�`Xx"�����DF_�`0&c,H��E�,�d]H�
�^u�^��_>քi� �gJ8��Fj8x�C�7��y�k�hQ�g하DV�T�_�0a0��d�VasHoP薙���`�f8n,v����6nsHlC�o�p�6���g�]!�kq�l7ؖ1�ov)j[Fo4�l�&g�]�	���By�ą�ҹZ�Y�����E���u��YZ����9��y�͕��I[�ٞȞ�i&�Z�Y�``ʰY����/�c`]�`����
�p8�E��)������ �`\	p��]`]`����%��Y	H�T��/@	�%'�R�YzZ!�Y����Y��~0��u*$�p���3J��%��y��٢��VJ��0r�8�^J��Y`q��uA� 0>Z���HP�W���e��j��n���H�p�Yv�rjt�Y? ��D��*�fj�aZ�H��0���Z�,��:������0�Z���Y���\�����H�YAj��j��|��5*�ں��z�ͺ��g��J�	�:p
p�?�̺\���ڭ�z��U��:���YA:tJ��*��J���p:�.�n ��`�j~�?*Z�p��5r�˕��	&����Y0�$˰�*�Z0�k�2;�%[�.z�$��:���!*��Y?У[��%�Vz��J\�iϰY�JJ�^ꠌ�@+�5�Yװ`�z�[���6������Iq���u�rK�ok����ɷ���	��)��I���0��Aٝֈ��˸�����������q��;�P��c0��[�: n����[���X��+�c��P����n : ���湍����Y�+��չ��\��p�H0H�˛Z����ˀ�@M[א��p���[�����@	�{��{[]���@�`��0����H���+����5P��)��Ǻ���ƥ*q�~�����ɅC���0�\�|���+]П&<�(��5�z���*|]��/������c;�0lp��䠼��0������~P,Q�Y�`�P�����jL��^-����ƾU�pj�b���eUz��]�O��@���,�T��n��F�o_,0�<p�0�L���j����M<\�Y�<�{�
p���*ʚ�\��Y�����lq�౰���ž�+��,�~�0p���<[�k���Lˬ|������L���Y�<p�ZZr��p��[
�l{Z��q̓�[t�����0Σ5�ώ���ך����K��K���ϡ�Pʝ���R�� l��[��K���
�Z����<����Ʋۂ ҧ��,�lZ��Y7���Оe��ϱ,Z�����Ӝ���̊F}Ԧ����A��O
ե��J�5͐W�բ��������@�f}�i]֢%�w�hZi�d�Yu}�xm�z
Zpm/
�H�Y|mעZت@����M���-ا����v=ٔ�ן�����,Ӥ��j�֡-�n��U=�U��G�ئh���]
�����܏�M��
������ۃ]ұ-��������]�o��ȝ����♞�ܤ��q�
[c�R���u����?���m�M�ۤ���=ަE�*�[s��Z�z� =�]�}ߞ����m���[�����,d��p
��\ZJ�ʶh��}JZ��`S-]Φ>��]�0�ձ�����`�@�&0K��-�����������R����)�=��5ˤ。�E�BN��u��`GJ�x���ղ2K��=����ؚ^�Gj�U������f>�]�YR�d:��p����\�^�Z�*�����e�t��e���E��u�����5��Q��%�-�~�^�>�N�Hn�������5��G;��*��0�[��f˲�Z�u�>k����`�s�h;`k�Z�N�I�㲺Y�P�����,�w�ҭ�F����=Y�5��^�<�'�����"�����>��^�~����N���?�_�������T!���,����H��A�~*\H��Ç�"JDĨ�ŋ)i��1�ǏA�IҔɓ(S�\��˗0]֚I����8u�ɳ籟@��TF���gH�*]��A7]�J�:��«~j%4Q"Ư9���,ɳ�P�5Ųm̷�jʭ�gϻ���=f�hӿMv��a<l�`����Xnu�5"X�c;�
�v�ڔm[…9�f]�xy�ڗ���c˞����ц
��9#+�L��寙7n��9�g��E��Yz�iԩ��h���k�;(�8w��0`�aӥ=�('��ӷfÉs5~��o�$G�f�|�M.�=]t�L�Ru֝��N�q��k��f�@��|�
�G6�g~	�_W���F˔�M(�y�͌�9��
:��M�]��a��lꁛ4��|#jӉB'�G\e��_�m��f���������9a�C]�ݑH���?�4��@��R�7��#����.����73j���h(^v�b��jcc��h �")��gBH��k�Y�p–$n���ŝ�z�ʞ�"�C�Hi�6�Ⱥk(1�b�.��F^�9c��(J�΀#���飨jf�&_n"�jl��	xL�*+�~��(�������1��%:s,%��	��N��*h��ؒ����>�rj�����hp��扮�yڪ�}�~#l��zѽ�:�����d�5�t�%䶧z�p�����a<��7N�P��Hh�����
&�<���"����Ƭ�̣՜���ed�I�!��CD#h �#�AЈ%6����xks��̈́<2�"3b_���Юܬ֠�˩נE*���s��g���pd�e��-�%�r�Y-��bns�Dr���u��?�7�@��~%�8�r�;���M�v9+|{AR� ��#T����Έ�g�����ܼ]ϯ}�If�}���"���_f�a�ٵ�
��s���w:���~����,�4e/��ӹZ�̠7�z� �GH���(L�W����0��gH���8̡w���Є����,�q�D�f�F26 �
LF���*~pS$����jd(�a�`�h�2vh����#&q�M��(�{\a�F�7���'���8��a�p4�"��F"6��\|#�x�$�q�]���H&�#�l�"G�D�q�|T�$O�I�`��Z\#O ,R1���%x��"�Q�M\���J/�Q�v���
�Q�Є�)}I`ʆ�Ŝe"d�"l���e#}	�.�q�F����Lƀ����'C�E�Q����/)Lg����	R��|�2y�g'EYOR�"�@4����\��#�c+�HŊz� 
�HGJҒ��(M�JW�Җ��0��LgJӚ�t��x�>6�S}��H*7P���:���A�.5��h�ʱ���J]�SaÏl>��>��/���_ݩU�:̱��@��@U�0��T
�[���� IE+X��Q̱�8�]�JT�zu�T�NE����x��U�^6�f��N���b�c�,6>PW�N����
�:��^u���,Y�ڠ�V���-nM�Z�bV���j\g���ǭDp�{[����%lk��J���յ�t��Y�N76��vǛݐn�sd-[�aV�n@����QŪ���p���V�z5��(�Y�[W���=�}[���6e5�X���&����]�*�bt���-�1�`�����.^W<�ʪֻ��f�����#Ů��j����w�@��>�����-��)��9��ō�T;a�Z��h=Â;T��xCpB�1�q��̀�)���dgv�i.j�<�f��7��;�f��]����F;�ѐ���'M�J[�Ҙδ�7��N{�Ӡ��GM�R��ԨN��W��V��հ���gM�Z�ָε�w��^������M�b���N����l��q�F�F:�S�1�☶l��#q��^X��1��p;6�hB<h��R�Y����Czӻ�ږͽ�q�T]����M�Q����"��oyG��-X�n}���v����M�c	Nh%���ac� �9;:N�q�[���M����{���
�����&t�!Ǵ�=�9&B�}��}�������'/.sm?��M�z�g�Q��;6�nz7h��t���ӮG��u�Ǜ�ꦍ׷�'#��p��ّ�Y���.�x��^r?����~xn�ܘk�0ay�r����G����#<��"���J*���(����?~���{�	Z�p��w���M�وc��{���\�{�'��`����v4��[
ӫ~�og��e��q_~7�~㯠��c<�ɐz�m���g���8����&���}�??7�|�}��y1�}Vgv_G|GEv�IvwvT�o~�s�7uB�Q�x�6mM�n8��t%J��so�{^���}C�y'�|�4T��mv�fN�q1����n��m��Q,w{Vn����>(z'8t`0xP���p�D��9]t�Z��\؅^��`�b8�dX�fx�h��j��l؆n��p�r8�tX�vx�x��qh&�K����8��X�Hp��}0`������8��	�	G� c� ���� ��``� 0�Q�HJ����`�����ȋ0�p
�����0p�p=���p����hr �(:��d�00��q0p�Rn��`��xh~0���		0����hc�n����pO�0�`�F��&@�è0ИF���hFnЎ]��������P��Їp���&��))�n��0�p����0�8B�F�� �p�h��ȓ��H��`׀�F�ؑe�h�#)0����~���c9�Ø�h�&`��Fc��R�L	�� WٗpI���(���ٗidF�I9$�芰��	�H��8���0P��Y�|Y�h$�X�F���x��I���F�MH�] ����	]����0���Ԛ�P9�	�P�I��xO�8��9|�(�����M��(��	�H��`����稞�9���������`��)c`�d�FP9��:��j&p�*T�Hk�B�������ڡ�� �":�$Z�&z�(��*��,ڢ.��0�2:�]��p��`�7��:���`���fh�8�!uy�H���xRJڤN��uYRP:�TZ��IRV��Z����^��GN`:�d:�bZ�h��W�KjڦezBn�r�p:�vz��hBx��|:�.՚}���x�:���Z�^z����jʨ�ꨒ��<>�������C�z����~Z�>z����ʩ�J��j��������ڪ�J�\ة�z�^h��J��J��:������꩘�*��:�e���z�fȬdX��!���,	5���Sl�����*\Ȱ�Ç#J�H��Ŋ�2��g��ŏ C�I2������N��^�c)��� f��7cCΒ@���d��8z���)M}�r���AA��ʵ+E�W&�ڴ&S�c;�국۶�Yv�Ӗ>x�IP�ۿ���;��?�w_����Ⱦ��K�lr�a�H�R��x�M��~�L��i�5�8�������S'_��s��ͻ���[N����ȓ+_μ���УK�N����سk�ν������O�����ӫ_Ͼ�����˟O��������Ͽ���(�h�&��6��F(�Vh�f��v�� �(�$�h�(���,���0�(�4�h�8��<���@)�Di�H&��L6��PF)�TVi�Xf��\v��`�)�d�i�h���l���p��p&(0��>f�p͞|��g~�@-d�	���"�����H0�%0�9��0����*ꨤ�jꩨ��ꪬ�����*무�j뭸�뮼���u�2H)�,�B�p)� �.��:\2+��	q���P���[�I����k�覫��������+��ک"���o�؋��/��k��'�.�����3��W<pB�h��J|P� r,r�L��(�[������,��2�0����(G�P�<ˌ3�3��?���'�1��"ݢ��봒g<5�"_}��Zɵ�F�<�!���,;�~Q��	HЄ	|*\Ȱ�Ç#>$H��ŋA��TB�C�����,����˗���j���S@ݿy=G������gJ̧�D ��s��g�&,ePxF	�����
#|e�C�π�fJ S!H�cR�J#�T`W>�w΄S7R�u�00B$��sz��s�2�ìYBnԍ�ÿ-+L���m�2\�3	��sj�Ze�IJ���#P����O6�&<����������L�S��B��-�+ՆL5�o��v��ND��4�W��@H���~	���<u��5]����%d]B�&l!%%J$�@�#�ɡSY~�K�%Rqd�X�-W_ܽ@�}tP�;�(֊�
�xY�4�Xf��\v��`�)�d�i�h���l���p�)�t�i�x��|��矀*蠄j衈&�袌6�裐F*餔Vj饘^��?�擩����i��r:*�הzꗛv�꫽�*J�@N�[�*�
��������嬵�*���b)S�Y����&��.*��>u-��v�ҷ�����{��[����v"������ҷ��ۨ�����dž�y�F�0�L��Q+�����k����1�!�+p�%����,����0�,��4�l��8���%Oj��5M��3S!���,	5����	XL`��*�'��‡�7Qa�+#j�ȱ�Ǐ Cv��QcC�+�X�˗0c��G�]�}���7c�4�ٰ�M�>���FD�H�T)7�bT'�:�ɵ�יGmP�)���Wf��7�_�h��H�a��>����.ޢ~�~L��N����'v�\�F!�k�o.�r+'L�w��,'c�\��i��=�$��ߟrA�!e
�]�
z���ɹ*B�
g��|�����z��fl�5;��/��Ͻ#��������4ڶl��nӖ�k]a��y;�����K�&X�N���5T���VSO!u�b�mv�C`UO��g�_����vm�(�$�h�(���,���0�(�4�h�8��<���@)�Di�H&��L6��PF)�TVi�Xf��\v��`�)�d�i�h���l���p�)�t�i�x��|��矀*蠄j衈&�袌6�裐F*餔Vj饘f�馜v�駠�*ꨤ�jꩨ��ꪬ��.�`�2�l�D-��"A������z鯾�����{� [鯰�Ь��R�������v���+��k�覫������+��>J�@�C�Є���+@�MG�'�����<]�@����Ezo��.�/M��+��$�@�
��0�l����+�sr�0�l3>�4�7��r�:����04�D'���Gk���
3�4�PW���S�h��\��u�5v-v�_�=��h'��t۲lc�p��6�;���E�L76�x��r�3ﭣ߄����v���!����ۑW���4Zn9�gk^�ۏ{.��/!���,5����	H����*\Ȱ�Ç#J�H��ŋ3j�ȱ�Ǐ C�I��ɓ(S�\ɲ�˗0cʜI��͛8s��ɳg�@�J��ѣH�*]ʴ�ӧP�J�J��իX�j�ʵ�ׯ`ÊK��ٳhӪ]˶�۷p�ʝK��ݻx���˷�߿�L���È+^̸��ǐ#K�L���˘3k�̹��ϠC�M���ӨS�^ͺ��װc˞M���۸s��ͻ���W�N����ȓ+_μ���УK�N����سk�ν������O�����ӫ_Ͼ�����˟O��������Ͽ���(�h�&��6��F(�Vh�f��v�� �(�$����`Bg�H�2F|���@�x#����P*nהs0�X\��t��1�1�E|��dPQN���i%�X�e��p�P>�T~"@�c�L���H��rn�c�5ā�����i�r�Y�?n�X�X0��N�)t1&PN���PH���1wΨ=��)�(����C�e�k�?�I&�3���*�::�c��9z��O'���;�?�&��<��:����z%����#�`I�ɹ��K�x���Pג[\���m��&��<��/r�zˮ���/sX�k�㥒*>��0��Gv11>���?¨�r0����.|\�=��#"�����~�b&<�l�Xڨ�����lpr�l�9��s�ez�5P�ը�3[m��d�m��h����l���p�-��t�m��x���|��c�2�"�-� �����/^JفR�:Wn��o��v�m��`��X��N��x�.�]���z���{�T�n���߮{q��{>��T��^���~�S�+O��Þ�@�3���g���C�=�2����C3��ov���~�%�����b�������������y����?�$r�G�j ��%��%p}t_��;PKˣGKXnn4chatty/gui/components/menus/ChannelContextMenu.class���3S,	-./0123456789:;<=>?@4ABCDE	MISC_MENULjava/lang/String;
ConstantValuelistener1Lchatty/gui/components/menus/ContextMenuListener;<init>4(Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/menus/ChannelContextMenu;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileChannelContextMenu.javaFchannelInfoChannel InfoGHchannelAdmin
Channel AdminIFJKLjoinHostedChannelJoin Hosted Channel
MiscellaneousGMcopyCopy Stream NameINsrcOpenOpen Speedrun.comcloseChannel
Close ChannelOPQR&.chatty/gui/components/menus/ChannelContextMenu'chatty/gui/components/menus/ContextMenu()VaddItem'(Ljava/lang/String;Ljava/lang/String;)VaddSeparator-chatty/gui/components/menus/ContextMenuHelperaddStreamsOptions.(Lchatty/gui/components/menus/ContextMenu;IZ)V9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V(Ljava/lang/String;)VaddCustomChannelCommands,(Lchatty/gui/components/menus/ContextMenu;)V/chatty/gui/components/menus/ContextMenuListenermenuItemClicked! �\*�*+�*�*�*�*�	*�*�
*�
*�*�
*�*�*��!>	#'1;AKOW![""\#$\%& W*��
*�+��!&')"#$'()*+PKˣGN���
�
-chatty/gui/components/menus/ContextMenu.class���3TUT	VWT	XYZ[\]^_`a`bcdeffghijiklZimnopsubMenusLjava/util/Map;	Signature6Ljava/util/Map<Ljava/lang/String;Ljavax/swing/JMenu;>;	listenersLjava/util/Set;BLjava/util/Set<Lchatty/gui/components/menus/ContextMenuListener;>;<init>()VCodeLineNumberTableLocalVariableTablethis)Lchatty/gui/components/menus/ContextMenu;makeItem=(Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JMenuItem;actionLjava/lang/String;textitemLjavax/swing/JMenuItem;makeCheckboxItem>(Ljava/lang/String;Ljava/lang/String;Z)Ljavax/swing/JMenuItem;selectedZaddItem'(Ljava/lang/String;Ljava/lang/String;)V9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vparent
StackMapTableaddCheckboxItem((Ljava/lang/String;Ljava/lang/String;Z)V:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)VaddSeparator(Ljava/lang/String;)VaddContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)Vlistener1Lchatty/gui/components/menus/ContextMenuListener;getContextMenuListeners()Ljava/util/Set;D()Ljava/util/Set<Lchatty/gui/components/menus/ContextMenuListener;>;	isSubmenu(Ljava/lang/String;)ZnamegetSubmenu'(Ljava/lang/String;)Ljavax/swing/JMenu;menuLjavax/swing/JMenu;SourceFileContextMenu.java()java/util/HashMap!"java/util/HashSet%&javax/swing/JMenuItem(CqCrsjavax/swing/JCheckBoxMenuItem(t/0uvNO:;67?@KLB)wuxyzx{|javax/swing/JMenu}~'chatty/gui/components/menus/ContextMenujavax/swing/JPopupMenujava/awt/event/ActionListenersetActionCommandaddActionListener"(Ljava/awt/event/ActionListener;)V(Ljava/lang/String;Z)Vadd0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
java/util/Set(Ljava/lang/Object;)Z
java/util/MapcontainsKeyget&(Ljava/lang/Object;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;! !"#$%&#'()*M*�*�Y��*�Y���+,-./0*i�Y,�	N-+�-*�-�+	,*-.1232	4567*x�Y,�
:+�*��+!"#$,4-.12328945:;*N**+,��W�+/0, -.1232:<*{-�*-�*+,��W�	*+,��+>?AC,*-.1232=2>?@*Y
**+,��W�+FG,*
-.
12
32
89?A*�!-�*-�*+,��W�*+,��+JKM O,4!-.!12!32!=2!89>BC*f+�*+��*+���*��+XY[],-.=2>DE*U+�*�+�W�+`ac,-.FG>HI*/*��+f,-.#JKL*?*�+��+j,-.M2NO*�6*�+���Y+�M*,�W*�+,�W*�+���+n
opq(s, PQ6-.6M2>(RSPKˣG�0�ll4chatty/gui/components/menus/ContextMenuAdapter.class���34-./0<init>()VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/menus/ContextMenuAdapter;userMenuItemClicked,(Ljava/awt/event/ActionEvent;Lchatty/User;)VeLjava/awt/event/ActionEvent;user
Lchatty/User;urlMenuItemClicked1(Ljava/awt/event/ActionEvent;Ljava/lang/String;)VurlLjava/lang/String;menuItemClicked(Ljava/awt/event/ActionEvent;)VstreamsMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)VstreamsLjava/util/Collection;LocalVariableTypeTable*Ljava/util/Collection<Ljava/lang/String;>;	SignatureI(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Ljava/lang/String;>;)VstreamInfosMenuItemClickedstreamInfos4Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;S(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;)VemoteMenuItemClicked2
EmoticonImageInnerClassesG(Ljava/awt/event/ActionEvent;Lchatty/util/api/Emoticon$EmoticonImage;)Vemote(Lchatty/util/api/Emoticon$EmoticonImage;SourceFileContextMenuAdapter.java.chatty/gui/components/menus/ContextMenuAdapterjava/lang/Object/chatty/gui/components/menus/ContextMenuListener3&chatty/util/api/Emoticon$EmoticonImagechatty/util/api/Emoticon!/*��	
?�	 ?�	 5�	Q�$	  Q�)	 !!"#$(?�-	 )*+,'%1&PKˣG^y���3chatty/gui/components/menus/ContextMenuHelper.class���3�C~B�a�~������������������B�������_��	B��	B�	B�������������	B�B�	B�	B�������q��	B������������������enableLivestreamerZlivestreamerQualitiesLjava/lang/String;userCustomCommandschannelCustomCommandssettingsLchatty/util/settings/Settings;LIVESTREAMER_PATTERNLjava/util/regex/Pattern;CUSTOM_COMMANDS_PATTERNCUSTOM_COMMANDS_SUBMENU
ConstantValue<init>()VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/menus/ContextMenuHelper;addStreamsOptions-(Lchatty/gui/components/menus/ContextMenu;I)Vm)Lchatty/gui/components/menus/ContextMenu;numStreamsI.(Lchatty/gui/components/menus/ContextMenu;IZ)Vjoincounts
streamSubmenu
StackMapTable�addLivestreamerOptions,(Lchatty/gui/components/menus/ContextMenu;)VmatchlivestreamerMenumatcherLjava/util/regex/Matcher;sep�addCustomUserCommandsaddCustomChannelCommandsaddCustomCommands>(Ljava/lang/String;Lchatty/gui/components/menus/ContextMenu;)Vcommandsubmenucommands	addIgnoreQ(Lchatty/gui/components/menus/ContextMenu;Ljava/lang/String;Ljava/lang/String;Z)Vsettinglabelitemnamewhisper<clinit>SourceFileContextMenuHelper.javaQRX^java/lang/StringBuilder����� ��
Twitch StreamstreamNormal���streamPopoutPopoutstreamsMultitwitchtvMultitwitch.tvstreamsSpeedruntvSpeedrun.tv
streamsKadgarKadgar.netefprofileTwitch Profile���RJoin channelDELivestreamerLMFG�i������|����
livestreamerQHGopIGNM��//��More..���JKignoredUsersWhisperignoredUsers	(whisper)(chat)Whisper���unignore	Unignore ignoreIgnore (\|)|([^,\s]+)��(\|)|(?:/?/?([^,\s]+))-chatty/gui/components/menus/ContextMenuHelperjava/lang/Objectjava/lang/Stringjava/util/regex/MatchervalueOf(I)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;'chatty/gui/components/menus/ContextMenuaddItem9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V'(Ljava/lang/String;Ljava/lang/String;)VaddSeparatorjava/util/regex/Pattern3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;find()Zgroupequals(Ljava/lang/Object;)Z(Ljava/lang/String;)VstartsWith(Ljava/lang/String;)Z
chatty/HelperreplaceUnderscoreWithSpace&(Ljava/lang/String;)Ljava/lang/String;chatty/util/settings/SettingslistContains'(Ljava/lang/String;Ljava/lang/Object;)Zcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;!BC	DE	FG	HG	IG	JKLMNMOGP1	QRS/*��TUVWXYS?*��T12UZ[\]X^Sl�N:�:�Y���	��N�Y����:*
�*�*�*�*�*�*�Y������**�*�Y��-������TF?@ABC'E=FGGQH[IeJoKsL�M�N�O�QU>�Z[�\]�_E�`G�aG=|bGc�'dd��d	efS[��W L�!�"�#M>,�$�A,�%:&�'�>�)�*+�(*�Y�)���+�>����T:Z[	]^_`"a,b1d5e:gUhWjZlU4"5gG	QhGGijEkE[Z[c�dl�d��	mfSI�*��**�+�Ttu
wUZ[c
	nfSI�,��,*�+�T�
�UZ[c
	opS2m�-*�#M>,�$�^,�%:&�'�>�F,�.::/�0�1:�	+�(+�Y�2����3�>����TB�����!�&�-�0�:�>�B�H�g�i�l�UH-<qG09rGRgGmsGmZ[eijckEc�l�d�dd	� 	tuSC��4���5�6:�7�8:�9�:�4+�:�3*�Y�;����Y�<���,��0*�Y�=����Y�>���,��T"��� �-�9�i���UH�vG vwG-ixG�Z[�yG�rG�zEc$Ad�dAd�dAd�=d�,{RS5�?�@�!A�@�-�T|}PKʣG���Ë�5chatty/gui/components/menus/ContextMenuListener.class���3userMenuItemClicked,(Ljava/awt/event/ActionEvent;Lchatty/User;)VurlMenuItemClicked1(Ljava/awt/event/ActionEvent;Ljava/lang/String;)VmenuItemClicked(Ljava/awt/event/ActionEvent;)VstreamsMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)V	SignatureI(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Ljava/lang/String;>;)VstreamInfosMenuItemClickedS(Ljava/awt/event/ActionEvent;Ljava/util/Collection<Lchatty/util/api/StreamInfo;>;)VemoteMenuItemClicked
EmoticonImageInnerClassesG(Ljava/awt/event/ActionEvent;Lchatty/util/api/Emoticon$EmoticonImage;)VSourceFileContextMenuListener.java/chatty/gui/components/menus/ContextMenuListenerjava/lang/Object&chatty/util/api/Emoticon$EmoticonImagechatty/util/api/Emoticon	
PKˣG�����2chatty/gui/components/menus/EmoteContextMenu.class���3�ChIi	Bj	Bkl	mnBoHIp	mqrshtuvw	mx	yzB{	y|}~	m��	y���m�	m�m����	y��	m�B������������m�	B�����������B�����B�����emoteManagerLchatty/util/api/Emoticons;listener1Lchatty/gui/components/menus/ContextMenuListener;emoteImage�
EmoticonImageInnerClasses(Lchatty/util/api/Emoticon$EmoticonImage;<init>\(Lchatty/util/api/Emoticon$EmoticonImage;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/menus/EmoteContextMenu;emoteLchatty/util/api/Emoticon;
StackMapTable����actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;setEmoteManager(Lchatty/util/api/Emoticons;)VemotesaddStreamSubmenu(Lchatty/util/api/Emoticon;)VsubMenuLjava/lang/String;SourceFileEmoteContextMenu.javaM���FGHLcode�le������emoteIdjava/lang/StringBuilderID: ���������������ffzlinkFrankerFaceZ Emote�eemoteCreatorEmote by: ��bttvlinkBetterTTV Emote�����������Custom Emote�ebc���twitchturbolinkTurbo EmoticonSubscriber EmoticonEmoteset: Emoteset: unknownemoteDetailsShow DetailsignoreEmoteIgnore��DE��unfavoriteEmoteUnFavorite
favoriteEmoteFavorite���profileTwitch Profile��joinJoin ����showChannelEmotesShow Emotes,chatty/gui/components/menus/EmoteContextMenu'chatty/gui/components/menus/ContextMenu&chatty/util/api/Emoticon$EmoticonImage/chatty/gui/components/menus/ContextMenuListenerchatty/util/api/Emoticon()VgetEmoticon()Lchatty/util/api/Emoticon;addItem'(Ljava/lang/String;Ljava/lang/String;)V
getSizeString()Ljava/lang/String;	numericIdIappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toStringtypeTypeLchatty/util/api/Emoticon$Type;chatty/util/api/Emoticon$TypeTWITCHaddSeparatorFFZcreatorBTTVhasStreamSet()ZemoteSet	getStream
chatty/HelpervalidateStream(Ljava/lang/String;)ZCUSTOMinfochatty/util/api/EmoticonsisTurboEmoteset(I)ZhasStreamRestrictionsisFavorite(Lchatty/util/api/Emoticon;)ZemoteMenuItemClickedG(Ljava/awt/event/ActionEvent;Lchatty/util/api/Emoticon$EmoticonImage;)V9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VtoValidChannel&(Ljava/lang/String;)Ljava/lang/String;(Ljava/lang/String;)V!BCDEFGHLMNO��*�+�N*,�*+�*-��*+�	�-��*�Y�
�-����-����*�-���1*�-��l*�Y�
�-�����M-���1*�-��4-��,-� �!�"*"-� ��-��#�*"$�-�%�
*"-�%�*-�&-��E*�-��'�*()��*"*�*-�&*"�Y�
+�-����-���*�*",�*�*-.�*�*/0�-�1� �2-�3�*45��*67��P�*	'/K"U#Y$c%k&r'�)�*�+�.�0�1�3�4�6�:�;�<=?@B;DDEHFPITJ\L`MhNoOyP�R�YQ*�RS�HL�FG	�TUV"�KWXYZ�E7 3[\O[*��*�+*��8�P]^`QRS]^V	_`O3*�2�PcdQaEbcO�N+��I+� �!�?+� M*9:,�;*<�Y�
=�+� �>��,�;*,�?*@A,�;�Pghij?kDlMnQ 7deNRSNTUV�MfgKImJym�@PKˣG�Q>ZZ7chatty/gui/components/menus/HighlightsContextMenu.class���3; !"#$%&'(')*	+,-<init>()VCodeLineNumberTableLocalVariableTablethis3Lchatty/gui/components/menus/HighlightsContextMenu;actionPerformed(Ljava/awt/event/ActionEvent;)Vl1Lchatty/gui/components/menus/ContextMenuListener;i$Ljava/util/Iterator;eLjava/awt/event/ActionEvent;
StackMapTable.SourceFileHighlightsContextMenu.java
clearHighlightsClear/012345.6789/chatty/gui/components/menus/ContextMenuListener:1chatty/gui/components/menus/HighlightsContextMenu'chatty/gui/components/menus/ContextMenujava/util/IteratoraddItem'(Ljava/lang/String;Ljava/lang/String;)VgetContextMenuListeners()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;menuItemClicked!
?
*�*��
�(*��M,��,��	N-+����$'*((��PKˣG<�U>##4chatty/gui/components/menus/HistoryContextMenu.class���3_23456789:;<=>?@ABCDEFGHIHJKLMNRANGE_MENULjava/lang/String;
ConstantValue<init>()VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/menus/HistoryContextMenu;actionPerformed(Ljava/awt/event/ActionEvent;)Vl1Lchatty/gui/components/menus/ContextMenuListener;i$Ljava/util/Iterator;eLjava/awt/event/ActionEvent;
StackMapTableOSourceFileHistoryContextMenu.java range1h1 HourRangePQrange2h2 Hoursrange4h4 Hoursrange8h8 Hoursrange12h12 HoursRSrangeAllAlltoggleShowFullVerticalRangeToggle VerticalPTUVWXYOZ[\]/chatty/gui/components/menus/ContextMenuListener^'.chatty/gui/components/menus/HistoryContextMenu'chatty/gui/components/menus/ContextMenujava/util/IteratoraddItem9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VaddSeparator(Ljava/lang/String;)V'(Ljava/lang/String;Ljava/lang/String;)VgetContextMenuListeners()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;menuItemClicked! !�O*�*�*�*	�*�*
�*�*�*��"*",6<FN#O$%&'!�(*��M,��,��N-+����"$'#*()*+($%(,-.�/�01PKˣGػ|���1chatty/gui/components/menus/RaceContextMenu.class���3='	()*+,-./012345listener1Lchatty/gui/components/menus/ContextMenuListener;<init>K(Lchatty/util/srl/Race;Lchatty/gui/components/menus/ContextMenuListener;Z)VCodeLineNumberTableLocalVariableTablethis-Lchatty/gui/components/menus/RaceContextMenu;raceLchatty/util/srl/Race;raceInfoZ
StackMapTable467actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileRaceContextMenu.java8Open Race Info9:;8srlRacePageSpeedrunsLive.comspeedruntvSpeedrun.tvjoinSrlChannelJoin IRC7<"+chatty/gui/components/menus/RaceContextMenu'chatty/gui/components/menus/ContextMenuchatty/util/srl/Race/chatty/gui/components/menus/ContextMenuListener()VaddItem'(Ljava/lang/String;Ljava/lang/String;)VaddSeparatormenuItemClicked!�6*�*,��*�*�*�*	�*�*��*	
! )!-"5#*6666� !"C*�+�
�'(#$%&PKˣG�w���8chatty/gui/components/menus/RaceEntrantContextMenu.class���3n9	:;9	<=>?@?AC		DEFGHGFIJKGLMNOPQRstreamsLjava/util/Collection;	Signature*Ljava/util/Collection<Ljava/lang/String;>;listener1Lchatty/gui/components/menus/ContextMenuListener;<init>D(Ljava/util/List;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTableentrantEntrantInnerClassesLchatty/util/srl/Race$Entrant;i$Ljava/util/Iterator;this4Lchatty/gui/components/menus/RaceEntrantContextMenu;entrantsLjava/util/List;LocalVariableTypeTable0Ljava/util/List<Lchatty/util/srl/Race$Entrant;>;
StackMapTableQSTUd(Ljava/util/List<Lchatty/util/srl/Race$Entrant;>;Lchatty/gui/components/menus/ContextMenuListener;)VactionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileRaceEntrantContextMenu.javaVjava/util/ArrayListSWXUYZ[\]chatty/util/srl/Race$Entrant^_`aZbcd
No stream setefghijkTlm2chatty/gui/components/menus/RaceEntrantContextMenu'chatty/gui/components/menus/ContextMenujava/util/List/chatty/gui/components/menus/ContextMenuListenerjava/util/Iterator()Viterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;chatty/util/srl/RacetwitchLjava/lang/String;java/lang/StringisEmptyjava/util/Collectionadd(Ljava/lang/Object;)ZaddItem'(Ljava/lang/String;Ljava/lang/String;)Vsize()I-chatty/gui/components/menus/ContextMenuHelperaddStreamsOptions-(Lchatty/gui/components/menus/ContextMenu;I)VstreamsMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)V!q*�*,�*�Y��+�N-��+-��	:���*���W���*��
�*��**����.	/:ILXcp  4/!$1%&q'(q)*q+q),-�./01-�234G*�+*���$% '(5678#	B"	PKˣG�/��8chatty/gui/components/menus/StreamInfosContextMenu.class���3�(N	'OPNQRSTSUVWQXQYZ[
N\
]Q^
_'`'aQbcdefg'hijklmnop'qrRs%tuvstreamInfosLjava/util/List;	Signature.Ljava/util/List<Lchatty/util/api/StreamInfo;>;SORT_SUBMENULjava/lang/String;
ConstantValue<init>(Ljava/util/List;Z)VCodeLineNumberTableLocalVariableTableinfoLchatty/util/api/StreamInfo;i$Ljava/util/Iterator;this4Lchatty/gui/components/menus/StreamInfosContextMenu;selectedliveStreamsZstreamsLocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;
StackMapTableuwx2(Ljava/util/List<Lchatty/util/api/StreamInfo;>;Z)VactionPerformed(Ljava/awt/event/ActionEvent;)Vl1Lchatty/gui/components/menus/ContextMenuListener;eLjava/awt/event/ActionEvent;SourceFileStreamInfosContextMenu.java0y)*java/util/ArrayListwz{x|}~chatty/util/api/StreamInfo�����}openChannelInfojava/lang/StringBuilderInfo: ���������y�����sortRecentRecent	Sort by..��sortNameNamesortGameGamesortViewersViewersshowRemovedListRemoved Streams..���/chatty/gui/components/menus/ContextMenuListener��2chatty/gui/components/menus/StreamInfosContextMenu'chatty/gui/components/menus/ContextMenujava/util/Listjava/util/Iterator()Viterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;	getStream()Ljava/lang/String;add(Ljava/lang/Object;)ZisEmptyappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;get(I)Ljava/lang/Object;toStringaddItem'(Ljava/lang/String;Ljava/lang/String;)VaddSeparatorsize()I-chatty/gui/components/menus/ContextMenuHelperaddStreamsOptions-(Lchatty/gui/components/menus/ContextMenu;I)V9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VgetContextMenuListeners()Ljava/util/Set;
java/util/SetstreamInfosMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)V!'()*+,-./012��*�*+��Y�N+�:����:-�	�W���+��>*�
Y��+���	���*�*-���*��3*�*�*�* �*!"��3N	/;>Glpz!~"�%�&�'�(�)�*�,4>/56%78�9:�;*�<=�>*?�;,�>@A�BCCD�$�C3+EFG2�,*�#�$M,��,��%N-+*��&���301(2+34*HI!78,9:,JKA�D� LMPKˣG��}�``4chatty/gui/components/menus/StreamsContextMenu.class���35 	!	"#$%&'()*listener1Lchatty/gui/components/menus/ContextMenuListener;nicksLjava/util/Collection;	Signature*Ljava/util/Collection<Ljava/lang/String;>;<init>J(Ljava/util/Collection;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/menus/StreamsContextMenu;streamsLocalVariableTypeTable^(Ljava/util/Collection<Ljava/lang/String;>;Lchatty/gui/components/menus/ContextMenuListener;)VactionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileStreamsContextMenu.java+	,-./01234.chatty/gui/components/menus/StreamsContextMenu'chatty/gui/components/menus/ContextMenu()Vjava/util/Collectionsize()I-chatty/gui/components/menus/ContextMenuHelperaddStreamsOptions-(Lchatty/gui/components/menus/ContextMenu;I)V/chatty/gui/components/menus/ContextMenuListenerstreamsMenuItemClicked5(Ljava/awt/event/ActionEvent;Ljava/util/Collection;)V!	
y*�*,�*+�*+���	 	
[*��*�+*���PKˣGGGrVV0chatty/gui/components/menus/TabContextMenu.class���3H)	*+,-./0123456789:;<=>?listener1Lchatty/gui/components/menus/ContextMenuListener;<init>4(Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/components/menus/TabContextMenu;subMenuLjava/lang/String;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileTabContextMenu.java@	Close All
popoutChannelPopoutABC@closeChannelClosecloseAllTabsButCurrentExcept currentADcloseAllTabsToLeftTo left of currentcloseAllTabsToRightTo right of currentCEcloseAllTabsAllFG#*chatty/gui/components/menus/TabContextMenu'chatty/gui/components/menus/ContextMenu()VaddItem'(Ljava/lang/String;Ljava/lang/String;)VaddSeparator9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V(Ljava/lang/String;)V/chatty/gui/components/menus/ContextMenuListenermenuItemClicked!�J*�*+�M*�*�*	�*,�*
,�*,�*,�*,��.	 )2;@I JJ> !"#W*��
*�+�� !#$%&'(PKˣG Nl}}0chatty/gui/components/menus/UrlContextMenu.class���3w=	>	?@ABCDEFG	HIJKLKM	NOP=QRSTUVWXYZI[\]listener1Lchatty/gui/components/menus/ContextMenuListener;urlLjava/lang/String;channelchannelFromUrlLjava/util/regex/Pattern;<init>G(Ljava/lang/String;ZLchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/components/menus/UrlContextMenu;deletedZmLjava/util/regex/Matcher;
StackMapTable\^_`actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;<clinit>()VSourceFileUrlContextMenu.java%: !Warning: Link may be maliciousabc:open	Open linkcopyCopy to clipboard#$def`ghij"!joinjava/lang/StringBuilderJoin #klmnopn^qr_st<(?i)(?:https?://)?(?:[a-z]+.)?twitch.tv/([a-z_0-9]+)(?:/.*)?uv*chatty/gui/components/menus/UrlContextMenu'chatty/gui/components/menus/ContextMenujava/lang/String/chatty/gui/components/menus/ContextMenuListenerjava/util/regex/MatcheraddItem'(Ljava/lang/String;Ljava/lang/String;)VaddSeparatorjava/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;matches()Zgroup(I)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/awt/event/ActionEventgetActionCommandequals(Ljava/lang/Object;)ZurlMenuItemClicked1(Ljava/awt/event/ActionEvent;Ljava/lang/String;)Vcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;! !"!#$%&'j*�*+�*-��*�*�*	�*��+�
:��-*��*�*�Y��*�����(:	!"#%&&.(7)?*I+M,i.)4j*+j !j,-j73./0�123�J456'�3*��.+���*�+*���*�+*���(234$72:)3*+3780$
9:'!	���(;<PKˣG���??1chatty/gui/components/menus/UserContextMenu.class���3�+U	*V	*WXYUZ[\]^*_*`abcd\efgh*i*j	\kal\mn\opqrsrtuvwx*ypz{|}~a�����listener1Lchatty/gui/components/menus/ContextMenuListener;user
Lchatty/User;MISCLjava/lang/String;
ConstantValue<init>A(Lchatty/User;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTableselectedZpresetCategoryi$Ljava/util/Iterator;submenuuserCategoriesLjava/util/Set;this-Lchatty/gui/components/menus/UserContextMenu;presetCategoriesLjava/util/List;LocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;$Ljava/util/List<Ljava/lang/String;>;
StackMapTable����u��actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileUserContextMenu.java3�,-./userinfojava/lang/StringBuilderUser: ��������������joinJoin #��copy	Copy Name
Miscellaneous�����1����Addressbook����������java/lang/String���cat����addressbookEditEditaddressbookRemoveRemoveAdd�����+chatty/gui/components/menus/UserContextMenu'chatty/gui/components/menus/ContextMenuchatty/User/chatty/gui/components/menus/ContextMenuListenerjava/util/List
java/util/Setjava/util/Iterator()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getDisplayNick()Ljava/lang/String;toStringaddItem'(Ljava/lang/String;Ljava/lang/String;)VaddSeparator-chatty/gui/components/menus/ContextMenuHelperaddStreamsOptions.(Lchatty/gui/components/menus/ContextMenu;IZ)VgetNick9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V(Ljava/lang/String;)Vnick	addIgnoreQ(Lchatty/gui/components/menus/ContextMenu;Ljava/lang/String;Ljava/lang/String;Z)VgetPresetCategories()Ljava/util/List;
getCategories()Ljava/util/Set;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;contains(Ljava/lang/Object;)ZaddCheckboxItem:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)VisEmptyaddCustomUserCommands,(Lchatty/gui/components/menus/ContextMenu;)VuserMenuItemClicked,(Ljava/awt/event/ActionEvent;Lchatty/User;)V!*+,-./012345X	*�*,�*+�*�Y��+�	���*�*�
*�*�Y��+����*�*�*�*+��*+��+�N-��:+�:-�:��D��:���6*�Y� ����!���-�"�	*��*#$�*%&��
*#'�*�(�6v	*.48TX!b"h#s$~(�)�*�.�1�2�4�6�9�:�?�@ACGH7\	�89�2:1�K;<��=1��>?@A./,-��BCD��>E��BFG.��HIJKLMN�&L@�"�	OP5[*��*�+*��)�6LMO7@AQRGSTPḲGH72���chatty/gui/components/no.png�PNG

IHDRH-�	pHYs��~��IDAT(�-�k�g����y��[�4���+���s���(��Mdcb�tG�1�t�y�]=w�4�aI�]��� ��s�����T�%雴�m��}��Cw�����X01�3"�?���P�t��w���¿O�NޯT��U�lUM+"%��'�^]�x�Xuk+v����
�J%����K+#�w���U����O��q��k�=�X�U�J%�ׯ1��0to�w�`����/����,�}��Ů7���V�f�̑�^tg��^Io&cS���L�����F��A�H:}a���cLNFo��pd��ѣ,ܹ��ׯ��<v���ÇQ.��}�s�/�
X[��G��9�N���U(�41��G�h�͈p�LO*��:n{�C��͛����h��	���d�M��!R�dM�1�����e�8�����4�iBU��p?g���ML��_���oݢ?�g�X�67��0���GO�9��a��T�Z\
C�S���`�X�^���:;˦�#�G�:��D���f�r9
������TJ�1�.��:38�К�o`&)������gMkU�	[Ƹ��+��up/D�9c�[X:ò��*Ϣ�gTO�v�P��ԍ�;�����"<�w*`���U��|>��ßO�o0k��(����9��;��IEND�B`�PḲG���M��chatty/gui/components/ok.png�PNG

IHDRH-�	pHYs��~��IDAT(�U�]��iǿ���v^�h�H�c0�f�4+4c��%!�Ŋ�6��֕��r�XoiE)v3��`)y�1�8�bf���y��!�����{��w�=0��1�W'"��qv�T2"��@H	�q�d�F��c���y)�WtB��e�M�r���T��š����T��K�
�u\	Rě�[�j�>uʥ{Oo�ԤV8	�#ǎ�;bv`�Tku*�G����]X����z�����m"��Y�g�	$� �&�����e�[߶i͜����]��<�ۮ:���0C/�s�o$t|�Ig؏e�����_6�X���\gߣ��ۼ���DI�\������0�v?/wK�ߣ��[������ �8p�h��rG��+��j(ce�P,�¦=�~
�{{���x׾
�7�k��tP��0����L�SFהQ�e߰,4M+��Zf��^��L=�qB����{ko���]t��ѣ9��)�W�m���y�bS�T�I$��5��y��[����L�;9�U�H�k�O2�+Y�J��*��h�,�O���@z���<KgtB;&���8���rr�\�X���DY?��ؐ�2C|�[)[���I0�� �/S���0�J�Ű�T�����؇4���رr��7�������F
���� ��>[�=�T|��IEND�B`�PKˣG~��HH7chatty/gui/components/settings/AdvancedSettings$1.class���34	$	%	&'()*+,val$groupChatSelect-GroupChatSelectInnerClassesALchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;val$d/Lchatty/gui/components/settings/SettingsDialog;this$01Lchatty/gui/components/settings/AdvancedSettings;<init>�(Lchatty/gui/components/settings/AdvancedSettings;Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis3Lchatty/gui/components/settings/AdvancedSettings$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileAdvancedSettings.javaEnclosingMethod./012301chatty/gui/components/settings/AdvancedSettings$1java/lang/Objectjava/awt/event/ActionListener?chatty/gui/components/settings/AdvancedSettings$GroupChatSelect/chatty/gui/components/settings/AdvancedSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()VsetLocationRelativeTo(Ljava/awt/Component;)VshowDialog 	>*+�*,�*-�*��sO*�*��*���wxy !"#
"PKˣG��QL0	0	Gchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$1.class���3r	;	<=>?@ABCDE	FGHIJGKLGMNOPQRSTval$this$01Lchatty/gui/components/settings/AdvancedSettings;this$1UGroupChatSelectInnerClassesALchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;<init>u(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Lchatty/gui/components/settings/AdvancedSettings;)VCodeLineNumberTableLocalVariableTablethisCLchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$1;actionPerformed(Ljava/awt/event/ActionEvent;)VserverLjava/lang/String;portexLjava/lang/Exception;sepIeLjava/awt/event/ActionEvent;selected
StackMapTableRVALSourceFileAdvancedSettings.javaEnclosingMethodWXYZ[\]java/lang/String:^_`abcdefghijkgjava/lang/ExceptionlmInvalid server infonojpqAchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$1java/lang/Objectjava/awt/event/ActionListener?chatty/gui/components/settings/AdvancedSettings$GroupChatSelectjava/awt/event/ActionEventc(Lchatty/gui/components/settings/AdvancedSettings;Lchatty/gui/components/settings/SettingsDialog;)V()Vaccess$000V(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;)Ljavax/swing/JList;javax/swing/JListgetSelectedValue()Ljava/lang/Object;lastIndexOf(Ljava/lang/String;)I	substring(II)Ljava/lang/String;length()Ithis$0/chatty/gui/components/settings/AdvancedSettingsaccess$100a(Lchatty/gui/components/settings/AdvancedSettings;)Lchatty/gui/components/settings/StringSetting;,chatty/gui/components/settings/StringSettingsetSettingValue(Ljava/lang/String;)Vaccess$200access$300()Ljava/util/logging/Logger;java/util/logging/LoggerwarningsetVisible(Z)V  9*+�*,�*��!�"#%&' f*����M,�N,�>,�	:,`,��	:*����
*����
�
:��*���PS!2����!�.�?�P�S�U�]�e�"H!/()."*)U+,D-.f#%f/0X1)2�S3456�	789:GPKˣGu���&&Ichatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2$1.class���35	"	#	$%	&'()*val$resultLjava/lang/String;val$responseCodeIthis$2,GroupChatSelectInnerClasses-CLchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2;<init>Y(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisELchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2$1;run()VSourceFileAdvancedSettings.javaEnclosingMethod./
0123Cchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2$1java/lang/Objectjava/lang/Runnable4?chatty/gui/components/settings/AdvancedSettings$GroupChatSelectAchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2
requestResult(Ljava/lang/String;I)Vthis$1ALchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;access$400W(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Ljava/lang/String;I)V/chatty/gui/components/settings/AdvancedSettings 	
>*+�*,�*�*���A*��*�*����� !+PKˣG���Gchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2.class���32	 !"#$%&')GroupChatSelectInnerClassesthis$1ALchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;<init>V(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisCLchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2;x0Ljava/lang/String;
requestResult(Ljava/lang/String;I)VresultresponseCodeISourceFileAdvancedSettings.javaEnclosingMethod*+
,Cchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2$1-./0Achatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2chatty/util/UrlRequest1?chatty/gui/components/settings/AdvancedSettings$GroupChatSelectrequestList()V(Ljava/lang/String;)VY(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2;Ljava/lang/String;I)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V/chatty/gui/components/settings/AdvancedSettings 
?*+�*,���P�Y*+����
� (	PKˣG,yrrEchatty/gui/components/settings/AdvancedSettings$GroupChatSelect.class���3\f�	f�	f�g���	f���� �	f���
�	f�f�f��f��j���	f���	f���s�x�"�f��%����	��	��	��f���.�
�f�	f�f�f��f���7�����<�<� ��@��@�@��@�f��H�H��K��M���� f
	@
GroupChatSelectInnerClassescardsLjavax/swing/JPanel;cardLayoutLjava/awt/CardLayout;serversListLjavax/swing/JList;	Signature'Ljavax/swing/JList<Ljava/lang/String;>;serversLjavax/swing/DefaultListModel;2Ljavax/swing/DefaultListModel<Ljava/lang/String;>;selectButtonLjavax/swing/JButton;info!Lchatty/gui/components/LinkLabel;successfullyLoadedZthis$01Lchatty/gui/components/settings/AdvancedSettings;<init>c(Lchatty/gui/components/settings/AdvancedSettings;Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethisALchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;d/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;showDialog()V
StackMapTablerequestListrequestLchatty/util/UrlRequest;parseResult(Ljava/lang/String;I)VserverLjava/lang/Object;i$Ljava/util/Iterator;rootLorg/json/simple/JSONObject;serversDataLorg/json/simple/JSONArray;exLjava/lang/Exception;resultLjava/lang/String;responseCodeIparser#Lorg/json/simple/parser/JSONParser;���error(Ljava/lang/String;)VshowInfoinfoTextshowServersaccess$000V(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;)Ljavax/swing/JList;x0access$400W(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Ljava/lang/String;I)Vx1x2SourceFileAdvancedSettings.java��op|}~java/awt/CardLayout~�mnjavax/swing/JListjavax/swing/DefaultListModelstjavax/swing/JButtonClose~�vw
Select server�chatty/gui/components/LinkLabel !"~#xyjavax/swing/JPanel~$kljavax/swing/JScrollPane~%&'java/awt/GridBagLayout($java/awt/Dimension~)*+,-./�012134Achatty/gui/components/settings/AdvancedSettings$GroupChatSelect$1~5678�z{��9	Loading..��Achatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2+https://tmi.twitch.tv/servers?cluster=group~:Group Chat Servers;<�java/lang/Thread~=>�?�java/lang/StringBuilderRequest error (@A@B)CD��!org/json/simple/parser/JSONParserEForg/json/simple/JSONObjectGHorg/json/simple/JSONArrayIJKLMNjava/lang/StringOPQR��Use selected serverS�java/lang/ExceptionError parsing serversTUVError parsing servers: @WXY�!<html><body style='width:200px;'><br /><br />8This may be a temporary problem or the used API may haveJ changed. Please try again later or consult the [help-whisper:top help] on, how to add the server manually.<br /><br />1If this keeps happening, check the usual channelsr ([url:http://chatty.github.io Chatty website], [url:https://twitter.com/chattyclient @ChattyClient]) for updates.S�Z[?chatty/gui/components/settings/AdvancedSettings$GroupChatSelectjavax/swing/JDialogjava/util/Iterator(Ljava/awt/Dialog;)VsetModal(Z)VsetResizablesetTitle-chatty/gui/components/settings/SettingsDialoggetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)V(Ljava/awt/LayoutManager;)V(Ljava/awt/Component;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V	setLayout(II)VsetPreferredSize(Ljava/awt/Dimension;)VmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsfillweightxDweightysetModel(Ljavax/swing/ListModel;)Vu(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Lchatty/gui/components/settings/AdvancedSettings;)VaddActionListener"(Ljava/awt/event/ActionListener;)VpacksetVisibleV(Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Ljava/lang/String;)Vchatty/util/UrlRequestsetLabel(Ljava/lang/Runnable;)Vstartclearappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;parse&(Ljava/lang/String;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;addElement(Ljava/lang/Object;)VsetSelectedIndex(I)VsetText/chatty/gui/components/settings/AdvancedSettingsaccess$300()Ljava/util/logging/Logger;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerwarningshow)(Ljava/awt/Container;Ljava/lang/String;)V fgklmnopqrstquvwxyz{|}	~��*+�*,�*�Y��*�Y�	�*�Y��*�
Y��*�*�*�*�Y,���*�Y*���*��Y*��� *�*�!� *�"Y�#�$*��%Y�2�&�',�(N-�)-�*-�+**�-�,,�(N-�)-�***�-�,*�*��-*��.Y*+�/�0*�1��r���� �+�8�=�B�H�Y�h�|������������������������������� �����T�����X*�2�*�3*�1*�4��������������g#*5�6�7Y*8�9L+:�;�<Y+�=�>������"��#���������*��?+�ȟ *�@Y�AB�C�DE�C�F�G��HY�IN-+�J�K:�L�M:�N:�O��P:*��Q�R���*��S*�T*�2*�U�V�%:*X�G�Y�@Y�AZ�C�[�F�\�7��W�N���.�/�7�A�M�g�s�v�~����������������\	g��T"��AO��MC��� �����������7���6�$�������!�����!���{?*�@Y�A]�C+�C^�C_�C`�Ca�Cb�Cc�C�F�6*��V���5�>��?��?�����Z*�+�d*�*�!�e*�1��������������D*�*��e*�1��
������/*����������E*+����� ��������if	h7.PKˣG�2���5chatty/gui/components/settings/AdvancedSettings.class���3�	Cp	Cq	CrFstsuvwxCyCz{C|}~��~����~����~����������$s��������-��~�L�N���5w	��5��:��<�5���~�?�������GroupChatSelectInnerClassesLOGGERLjava/util/logging/Logger;groupChatServer.Lchatty/gui/components/settings/StringSetting;
groupChatPort<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis1Lchatty/gui/components/settings/AdvancedSettings;d/Lchatty/gui/components/settings/SettingsDialog;warningLjavax/swing/JPanel;connectionwhisperdisplayModeLjava/util/Map;displayModeSetting1Lchatty/gui/components/settings/ComboLongSetting;selectServerLjavax/swing/JButton;groupChatSelectALchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;LocalVariableTypeTable3Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;access$100a(Lchatty/gui/components/settings/AdvancedSettings;)Lchatty/gui/components/settings/StringSetting;x0access$200access$300()Ljava/util/logging/Logger;<clinit>()VSourceFileAdvancedSettings.javaJKNMLMOmjavax/swing/JPaneljavax/swing/JLabel�<html><body style='width:300px'>These settings can break Chatty if you change them, so you should only change these settings if you know what you are doing.O�������Connection��Server:�����
serverDefault��Port:portDefault6(These might be overridden by commandline parameters.)��membershipEnabled1Correct Userlist (receives joins/parts, userlist)bEnables the membership capability while connecting, which allows receiving of joins/parts/userlist��"Whisper (experimental, read help!)whisperEnabledWhisper Enabled.Connects to group chat to allow for whisperingwhisperWhitelist	WhitelistJOnly users in the Addressbook category 'whisper' may send messages to you.Display:java/util/LinkedHashMap���Active Chat���One WindowPer User/chatty/gui/components/settings/ComboLongSettingO�whisperDisplayMode��,chatty/gui/components/settings/StringSettingjavax/swing/JTextFieldjavax/swing/JButtonSelect server..�����?chatty/gui/components/settings/AdvancedSettings$GroupChatSelectO�1chatty/gui/components/settings/AdvancedSettings$1O���chatty/gui/components/LinkLabel[help-whisper:top Whisper Help]��O�/chatty/gui/components/settings/AdvancedSettings������,chatty/gui/components/settings/SettingsPanel(Ljava/lang/String;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;getGbc (I)Ljava/awt/GridBagConstraints;addPanel8(Ljavax/swing/JComponent;Ljava/awt/GridBagConstraints;)VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;)(Ljava/awt/Component;Ljava/lang/Object;)VaddSimpleStringSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;#(IIII)Ljava/awt/GridBagConstraints;addSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;java/lang/LongvalueOf(J)Ljava/lang/Long;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)VaddLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)Vchatty/gui/GuiUtilSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)Vc(Lchatty/gui/components/settings/AdvancedSettings;Lchatty/gui/components/settings/SettingsDialog;)V�(Lchatty/gui/components/settings/AdvancedSettings;Lchatty/gui/components/settings/AdvancedSettings$GroupChatSelect;Lchatty/gui/components/settings/SettingsDialog;)VaddActionListener"(Ljava/awt/event/ActionListener;)VgetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)Vjava/lang/ClassgetName()Ljava/lang/String;java/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!CFJKLMNMOPQ@	,*��Y�M,�Y�	�W*,*��*
�N-�Y�	+
��-+�+��-�Y�	+
��-+�+��-�Y�	+��-+�+��*�:+�+��+ !"�+
���Y#�	+���$Y�%:	�&'�(W�&)�(W*�&,�(W�-Y�.:+/�0+��*+1��2�*+3��2��Y�	+��*��4+���Y�	+
��*��4+���5Y6�7:�8�9�:Y*+�;:+���<Y*+�=�>�?Y@+�A�B+���R�#,.05$7,9C;Z>q@�C�F�K�M�S�Y\]^+_;`FaNb]emf|g�h�j�k�n�o�p�qs|+�S\	,TU,VW XY,ZY�n[Y\]F�^_�M`a�:bcd\efgQ/*��R%ShUigQ/*��R%ShUjkQ��R%lmQ%
C�D�E��R'noH:CG<PKʣG�]Ի��3chatty/gui/components/settings/BooleanSetting.class���3	getSettingValue()Ljava/lang/Boolean;setSettingValue(Ljava/lang/Boolean;)VSourceFileBooleanSetting.java-chatty/gui/components/settings/BooleanSettingjava/lang/ObjectPKˣG�e""3chatty/gui/components/settings/ChatSettings$1.class���33	!	"	#$%&%'()*val$ctrlLjavax/swing/JCheckBox;	val$pausethis$0-Lchatty/gui/components/settings/ChatSettings;<init>^(Lchatty/gui/components/settings/ChatSettings;Ljavax/swing/JCheckBox;Ljavax/swing/JCheckBox;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ChatSettings$1;itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;SourceFileChatSettings.javaEnclosingMethod+,
-./012-chatty/gui/components/settings/ChatSettings$1java/lang/Objectjava/awt/event/ItemListener+chatty/gui/components/settings/ChatSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vjavax/swing/JCheckBoxisSelected()ZsetEnabled(Z)V 	
>*+�*,�*-�*��]G*�*����ab PKˣG��ݎ��1chatty/gui/components/settings/ChatSettings.class���3�9Z[8\]Z^_`abcdaefg
haijk	lmnopqr8sat	uvwxyz{|}~		��&�z��)Z���-Z:�������Ta���InnerClassesPAUSE_CHAT_INFOLjava/lang/String;
ConstantValue<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis-Lchatty/gui/components/settings/ChatSettings;d/Lchatty/gui/components/settings/SettingsDialog;mainLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;autoScrollPanel	pauseChatpauseLjavax/swing/JCheckBox;ctrlcommandPanelcommandChoicesLjava/util/Map;commandOnCtrlClick3Lchatty/gui/components/settings/ComboStringSetting;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;SourceFileChatSettings.java?�
Chat Settings��javax/swing/JPanelautoScrollScroll down aftergAfter the given number of seconds of not changing position of the scrollbar, automatically scroll down.�����autoScrollTimeout��javax/swing/JLabelseconds of inactiviy?���java/awt/Insets?������Chat buffer size:bufferSize'(too high values may lower performance)Pause Chat�������<html><body style='width:310px'>Pausing the chat stops scrolling, only works when window already filled with messages (and thus scrollbar is active). Read the help for more information.pauseChatOnMouseMove(Pause chat when moving the mouse over itQStop scrolling while moving the mouse over chat (only if the scrollbar is active)��� pauseChatOnMouseMoveCtrlRequired0Require Ctrl being pressed to start pausing chatORequires you to have Ctrl pressed when moving the mouse over that to pause chat����-chatty/gui/components/settings/ChatSettings$1?���java/awt/GridBagLayout?�1Run command when clicking on user (holding Ctrl):java/util/HashMapOff���/timeoutTimeout/banBan��+chatty/gui/components/settings/ChatSettings,chatty/gui/components/settings/SettingsPanel()VaddTitledPanel*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;add*(Ljava/awt/Component;)Ljava/awt/Component;addSimpleLongSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;(Ljava/lang/String;)VmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;(IIII)Vjava/awt/GridBagConstraintsinsetsLjava/awt/Insets;)(Ljava/awt/Component;Ljava/lang/Object;)V)(Ljava/lang/String;I)Ljavax/swing/JPanel;#(IIII)Ljava/awt/GridBagConstraints;bottomIjavax/swing/JCheckBoxsetSelected(Z)Vlefttop^(Lchatty/gui/components/settings/ChatSettings;Ljavax/swing/JCheckBox;Ljavax/swing/JCheckBox;)VaddItemListener (Ljava/awt/event/ItemListener;)V(Ljava/awt/LayoutManager;)V
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;addComboStringSettingX(Ljava/lang/String;IZLjava/util/Map;)Lchatty/gui/components/settings/ComboStringSetting;!89<=>?@A�*�*�M�Y�:+�	�W+��W�
Y��W+�N-�Y��,-�+�N,�
Y�-�+�N,+�-�+�N,�
Y�-�*�:+�N-�Y�`��
Y�-�+�	:� +��+!"#�	:+�N-�Y�$`�$-�Y�%d�%-��&Y*�'�(�Y�)Y�*�+:�
Y,�+���-Y�.:		/0�1W	23�1W	45�1W+6	�7:+��+�N-�Y��-��B�( 
#$&&4'C)N*]+d/o0}3�4�7�8�=�?�@�A�D�K�L�PST$U1V9]JeZgpjyk�l�m�n�o�r�s�t�uCp�DE�FG
�HIN�JK�LI�%MI��NO�POZ�QIycRS	�2TUVycRW	XY;&PKˣG��.�@@3chatty/gui/components/settings/ColorChooser$1.class���3%	 this$0-Lchatty/gui/components/settings/ColorChooser;<init>0(Lchatty/gui/components/settings/ColorChooser;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ColorChooser$1;stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;SourceFileColorChooser.javaEnclosingMethod!	"	#$-chatty/gui/components/settings/ColorChooser$1java/lang/Object javax/swing/event/ChangeListener+chatty/gui/components/settings/ColorChooser(Ljavax/swing/JDialog;)V()Vaccess$000 	4*+�*��H
@*���LM
PKˣG��Rpp3chatty/gui/components/settings/ColorChooser$2.class���35	 !"#$%&'(this$0-Lchatty/gui/components/settings/ColorChooser;<init>0(Lchatty/gui/components/settings/ColorChooser;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ColorChooser$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileColorChooser.javaEnclosingMethod)*+,-./01234-chatty/gui/components/settings/ColorChooser$2java/lang/Objectjava/awt/event/ActionListener+chatty/gui/components/settings/ColorChooser(Ljavax/swing/JDialog;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$100D(Lchatty/gui/components/settings/ColorChooser;)Ljavax/swing/JButton;access$2021(Lchatty/gui/components/settings/ColorChooser;Z)ZsetVisible(Z)V 	
4*+�*��fi +�*���*��W*���jkmn  PKˣG��ʰ�;chatty/gui/components/settings/ColorChooser$MyPreview.class���3=$%&'
(
)*+,
-./12<init>()VCodeLineNumberTableLocalVariableTablethis	MyPreviewInnerClasses7Lchatty/gui/components/settings/ColorChooser$MyPreview;update#(Ljava/awt/Color;Ljava/awt/Color;)VforegroundLjava/awt/Color;background
setForeground(Ljava/awt/Color;)VforegroundColor
setBackgroundbackgroundColorSourceFileColorChooser.javaPreview Text3java/awt/Dimension45678
java/awt/FontArial9:; <5chatty/gui/components/settings/ColorChooser$MyPreviewjavax/swing/JLabel(Ljava/lang/String;I)V(II)VsetPreferredSize(Ljava/awt/Dimension;)V	setOpaque(Z)V(Ljava/lang/String;II)VsetFont(Ljava/awt/Font;)V+chatty/gui/components/settings/ColorChooser 
g-*�*�Y�2��*�*�Y�	������,�-Q*+�*,����� 5�� 5��!"#
0PKˣG�8���1chatty/gui/components/settings/ColorChooser.class���3�	A|	A}A~B	A���	A��	�	A�����	A�A��A���A�A����������� �	 �	 �	 �	 �	 �	 �A��)�	 �?ə������.��A��	A�	�A���A�A��9��9�9�	��A���	MyPreviewInnerClassesFOREGROUNDI
ConstantValueBACKGROUNDtypechooserLjavax/swing/JColorChooser;preview7Lchatty/gui/components/settings/ColorChooser$MyPreview;doneButtonLjavax/swing/JButton;cancelButtonsecondaryColorLjava/awt/Color;returnNewColorZ<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis-Lchatty/gui/components/settings/ColorChooser;parentLjavax/swing/JDialog;gbcLjava/awt/GridBagConstraints;buttonListenerLjava/awt/event/ActionListener;
updatePreview()VnewColor
StackMapTable�chooseColorStringY(ILjava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;presetColornameLjava/lang/String;textchooseColorW(ILjava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)Ljava/awt/Color;access$0000(Lchatty/gui/components/settings/ColorChooser;)Vx0access$100D(Lchatty/gui/components/settings/ColorChooser;)Ljavax/swing/JButton;access$2021(Lchatty/gui/components/settings/ColorChooser;Z)Zx1SourceFileColorChooser.javaVWQRefX�LGjavax/swing/JColorChooserXfMN5chatty/gui/components/settings/ColorChooser$MyPreviewOPjavax/swing/JButtonUse selected colorX�CancelSR��Choose color��java/awt/GridBagLayout����/chatty/gui/components/settings/NamedColorsPanel������-chatty/gui/components/settings/ColorChooser$1Xs���java/awt/GridBagConstraints�G�����G�G�G��java/awt/InsetsX���-chatty/gui/components/settings/ColorChooser$2���f��TU��pq�������java/lang/StringBuilderChange Color: ����������+chatty/gui/components/settings/ColorChooserjavax/swing/JDialogjava/awt/Color(Ljava/awt/Dialog;)V(Ljava/lang/String;)VsetModal(Z)VsetTitle	setLayout(Ljava/awt/LayoutManager;)VsetResizableaddChooserPanel7(Ljavax/swing/colorchooser/AbstractColorChooserPanel;)VsetPreviewPanel(Ljavax/swing/JComponent;)VgetSelectionModel0()Ljavax/swing/colorchooser/ColorSelectionModel;,javax/swing/colorchooser/ColorSelectionModeladdChangeListener%(Ljavax/swing/event/ChangeListener;)VfillweightxDweightygridxgridy	gridwidthadd)(Ljava/awt/Component;Ljava/lang/Object;)V(IIII)VinsetsLjava/awt/Insets;addActionListener"(Ljava/awt/event/ActionListener;)VpackgetColor()Ljava/awt/Color;update#(Ljava/awt/Color;Ljava/awt/Color;)Vchatty/gui/HtmlColorsgetNamedColorString$(Ljava/awt/Color;)Ljava/lang/String;	getParent()Ljava/awt/Container;setLocationRelativeTo(Ljava/awt/Component;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setTextsetColor(Ljava/awt/Color;)VsetVisible!AB	FGHIJGHKLGMNOPQRSRTUVWXYZ�*+�*�*�Y��*�	Y��*�Y
��*�Y��*�*�*�Y��*�*��Y��*�*��*���Y*��� Y�!M,�",�#,�$,�%,�&,�'**�,�(,�)Y�*�+,�&,�'**�,�(,�%,,�#**�,�(�.Y*�/N*�-�0*�-�0*�1�[�!=*,- .-/:>??E@PAUDcEnH�Q�R�S�T�U�V�W�X�Z�[�\�^�`�b�c�f�r�suv\*]^_`�|ab�cdefZ~+*��2L*��*�+*�3�4�*�*�3+�4�[~��*�\+]^#gUh	�ijkZk*,-�5�6�[�\>]^LGlUTUmnonpqZ�V**�7�8*�*�9Y�:;�<�<�=�*�*-�3*��>*�,�?*�@*��*��2�,�[.��
�%�*�/�8�@�E�L�T�\>V]^VLGVlUVTUVmnVonh�TrsZ/*��[\t^uvZ/*��[\t^wxZ;*Z��[\t^yWz{D	AC.PKˣG�q�3chatty/gui/components/settings/ColorSetting$1.class���3C	(	)	*	+,&-&.&/01&2345val$typeIval$nameLjava/lang/String;val$textthis$0-Lchatty/gui/components/settings/ColorSetting;<init>U(Lchatty/gui/components/settings/ColorSetting;ILjava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ColorSetting$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;resultSourceFileColorSetting.javaEnclosingMethod6789:;<=<>?@AB-chatty/gui/components/settings/ColorSetting$1java/lang/Objectjava/awt/event/ActionListener+chatty/gui/components/settings/ColorSettingg(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lchatty/gui/components/settings/ColorChooser;)V()Vaccess$200\(Lchatty/gui/components/settings/ColorSetting;)Lchatty/gui/components/settings/ColorChooser;access$000?(Lchatty/gui/components/settings/ColorSetting;)Ljava/awt/Color;access$100+chatty/gui/components/settings/ColorChooserchooseColorStringY(ILjava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;setSettingValue(Ljava/lang/String;)V 
D*+�*�*-�*�*��St.*��*�*��*��*�*��	M*�,��W%X-Y .. !%	"#$%&'PKˣG�iI�1chatty/gui/components/settings/ColorSetting.class���3�	.r	.s	.t/uvw	.xyu	.z{|}	.~	.	.����u�������������.���.��.���	.���.��	.������InnerClassesFOREGROUNDI
ConstantValueBACKGROUNDtypebaseColorSettingLjava/lang/String;	textFieldLjavax/swing/JTextField;previewLjavax/swing/JLabel;	baseColorcurrentColorLjava/awt/Color;secondaryColorlistener5Lchatty/gui/components/settings/ColorSettingListener;colorChooser-Lchatty/gui/components/settings/ColorChooser;chooseColorLjavax/swing/JButton;<init>g(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lchatty/gui/components/settings/ColorChooser;)VCodeLineNumberTableLocalVariableTablethis-Lchatty/gui/components/settings/ColorSetting;nametextchooser
StackMapTable���hasBase(Ljava/lang/String;)Zsettinginitiate()VgetText()Ljava/lang/String;updatedforegroundColorbackgroundColor�update(Ljava/lang/String;)VgetSettingValuesetSettingValuevaluesetListener8(Lchatty/gui/components/settings/ColorSettingListener;)Vaccess$000?(Lchatty/gui/components/settings/ColorSetting;)Ljava/awt/Color;x0access$100access$200\(Lchatty/gui/components/settings/ColorSetting;)Lchatty/gui/components/settings/ColorChooser;SourceFileColorSetting.javaFGCBABJ\javax/swing/JTextFieldJ�<=javax/swing/JLabel>?javax/swing/JButtonChooseJdHI94:;���java/lang/StringBuilder ���^�d��java/awt/DimensionJ���-chatty/gui/components/settings/ColorSetting$1J�����[\����]^e^���@;����_\DE��\+chatty/gui/components/settings/ColorSettingjavax/swing/JPanel,chatty/gui/components/settings/StringSettingjava/lang/String+chatty/gui/components/settings/ColorChooserjava/awt/Color(I)VisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringsetText	setOpaque(Z)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VU(Lchatty/gui/components/settings/ColorSetting;ILjava/lang/String;Ljava/lang/String;)VaddActionListener"(Ljava/awt/event/ActionListener;)VsetEditableequals(Ljava/lang/Object;)Zadd*(Ljava/awt/Component;)Ljava/awt/Component;chatty/gui/HtmlColorsdecode$(Ljava/lang/String;)Ljava/awt/Color;
setForeground(Ljava/awt/Color;)V
setBackground3chatty/gui/components/settings/ColorSettingListenercolorUpdated!./03456745894:;<=>?@;ABCBDEFGHIJKL`�*�*�Y��*�Y�	�*�Y�
�*�*,�*���&*��Y�����*��*��Y���*��Y*-��*��YP��*�� *�!�MBE'+9)G.H3I9LAM\NdPwS�[�^�a�bN>�OP�94�:;�Q;�R;�SGT�dUVVVWXYL=	+*��"�MeN	OP	Z;[\LR**��#W**��#W**��#W�Ml	mnoNOP]^L2*��$�MrNOP_\L�E**�%�&�**�'�&�*��*�L*�M�
*�L*�M*�+�(*�,�)�M*z{��"�*�/�4�<�D�N4"`B'aBEOP/`B4aBT*�	bbcdLF*+�'*�*�M��	�NOP@;e^L2*��$�M�NOPfdLj*�+�+*�,�*�,�-*�*�M�����NOPg;ThiL>*+�,�M��NOPDEjkL/*��MNlPmkL/*��MNlPnoL/*��MNlPpq2PKˣG�H�ȵ�9chatty/gui/components/settings/ColorSettingListener.class���3	colorUpdated()VSourceFileColorSettingListener.java3chatty/gui/components/settings/ColorSettingListenerjava/lang/ObjectPKˣGT\qYffIchatty/gui/components/settings/ColorSettings$MyColorSettingListener.class���3#		 settingLjava/lang/String;this$0.Lchatty/gui/components/settings/ColorSettings;<init>C(Lchatty/gui/components/settings/ColorSettings;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisMyColorSettingListenerInnerClassesELchatty/gui/components/settings/ColorSettings$MyColorSettingListener;colorUpdated()VSourceFileColorSettings.java	!"
Cchatty/gui/components/settings/ColorSettings$MyColorSettingListenerjava/lang/Object3chatty/gui/components/settings/ColorSettingListener,chatty/gui/components/settings/ColorSettingsaccess$000 	
K*+�*�*,��S	TU	:*�*���YZPKˣGt1����<chatty/gui/components/settings/ColorSettings$Presets$1.class���3?		%		& '()*)+,-./0val$this$0.Lchatty/gui/components/settings/ColorSettings;this$12PresetsInnerClasses6Lchatty/gui/components/settings/ColorSettings$Presets;<init>g(Lchatty/gui/components/settings/ColorSettings$Presets;Lchatty/gui/components/settings/ColorSettings;)VCodeLineNumberTableLocalVariableTablethis8Lchatty/gui/components/settings/ColorSettings$Presets$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;selectedLjava/lang/String;SourceFileColorSettings.javaEnclosingMethod3
456789:;java/lang/String<=6chatty/gui/components/settings/ColorSettings$Presets$1java/lang/Objectjava/awt/event/ActionListener>4chatty/gui/components/settings/ColorSettings$Presets1(Lchatty/gui/components/settings/ColorSettings;)V()Vaccess$100O(Lchatty/gui/components/settings/ColorSettings$Presets;)Ljavax/swing/JComboBox;javax/swing/JComboBoxgetSelectedIndex()I	getItemAt(I)Ljava/lang/Object;access$200K(Lchatty/gui/components/settings/ColorSettings$Presets;Ljava/lang/String;)V,chatty/gui/components/settings/ColorSettings 	
9*+�*,�*��tg!*��*�����M*�,��xy z !!	 !"#$1	PKˣG�eJ���:chatty/gui/components/settings/ColorSettings$Presets.class���3�At	Au	AvBwxw	Ayzw{| }	A~A����������A��� ��������������������������������������������PresetsInnerClassespresetsLjava/util/Map;	SignatureXLjava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;comboLjavax/swing/JComboBox;+Ljavax/swing/JComboBox<Ljava/lang/String;>;loadPresetLjavax/swing/JButton;this$0.Lchatty/gui/components/settings/ColorSettings;<init>1(Lchatty/gui/components/settings/ColorSettings;)VCodeLineNumberTableLocalVariableTablepresetNameLjava/lang/String;i$Ljava/util/Iterator;this6Lchatty/gui/components/settings/ColorSettings$Presets;
StackMapTable���(Ljava/lang/String;)VcolorsettingloadedPresetLocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;�initPresets()V
defaultColorsdarkColorsdarkColors2access$100O(Lchatty/gui/components/settings/ColorSettings$Presets;)Ljavax/swing/JComboBox;x0access$200K(Lchatty/gui/components/settings/ColorSettings$Presets;Ljava/lang/String;)Vx1SourceFileColorSettings.javaM`JKOPQhjava/util/HashMapFGjavax/swing/JComboBoxjavax/swing/JButtonLoad presetQ`MNgh������������java/lang/String����6chatty/gui/components/settings/ColorSettings$Presets$1Q�������
java/util/Map������backgroundColor#FAFAFA��foregroundColor#111111	infoColor#001480compactColor#A0A0A0highlightColorRedinputBackgroundColorWhiteinputForegroundColorBlacksearchResultColorLightYellowsearchResultColor2#FFFF80default	LightGreyDeepSkyBlue#222222
DarkSlateBlue	SlateBluedark#FF9900#FFCC00#66FF66#FFFFFF#000000#333333#555555dark24chatty/gui/components/settings/ColorSettings$Presetsjavax/swing/JPanel,chatty/gui/components/settings/ColorSettingsjava/util/IteratorsetEditable(Z)VkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;addItem(Ljava/lang/Object;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;g(Lchatty/gui/components/settings/ColorSettings$Presets;Lchatty/gui/components/settings/ColorSettings;)VaddActionListener"(Ljava/awt/event/ActionListener;)VcontainsKey(Ljava/lang/Object;)Zget&(Ljava/lang/Object;)Ljava/lang/Object;access$300_(Lchatty/gui/components/settings/ColorSettings;)Lchatty/gui/components/settings/SettingsDialog;-chatty/gui/components/settings/SettingsDialogsetStringSetting'(Ljava/lang/String;Ljava/lang/String;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ABFGHIJKHLMNOPQRS�*+�*�*�Y��*�Y�	�*�Y��
*�*��*���M,��,��N*�-����**��W**�
�W*�
�Y*+���T6
h	def,i0k8mZnboeqnrwt�|U ZVWGXY�Z[\�G]^_�M`S�[*�+���*�+��M,��N-��,-��:,��:*�����ѱT"�
���<�I�W�Z�U>IaW<bW(2XY[Z[[VW?cGd?ce\�f_�1ghS[i�Y�L+ �!W+"#�!W+$%�!W+&'�!W+()�!W+*+�!W+,-�!W+./�!W+01�!W*�2+�!W�Y�M,#�!W,"3�!W,$4�!W,&'�!W,()�!W,*5�!W,,+�!W,.6�!W,07�!W*�8,�!W�Y�N--�!W-"+�!W-$9�!W-&:�!W-(;�!W-*<�!W-,=�!W-.>�!W-0?�!W*�@-�!W�T�"����)�4�?�J�U�`�k�x����������������������������$�/�:�E�P�[�h�U*iZ[aiG��jG�qkGd aie��je�qkelmS/*��TbUn[opS:*+��TbUn[qWrsDA�CPKˣG�X��TT2chatty/gui/components/settings/ColorSettings.class���3�	;o;p<qrq	;stu	;vw;x	;yz{|}~����;���������������������)��+�)�z����0�	����)���������)�)���PresetsInnerClassesMyColorSettingListenerd/Lchatty/gui/components/settings/SettingsDialog;
colorSettingsLjava/util/Map;	SignaturePLjava/util/Map<Ljava/lang/String;Lchatty/gui/components/settings/ColorSetting;>;colorChooser-Lchatty/gui/components/settings/ColorChooser;mainLjavax/swing/JPanel;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/settings/ColorSettings;gbcLjava/awt/GridBagConstraints;addColorSettingy(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lchatty/gui/components/settings/ColorSetting;settingLjava/lang/String;typeIbaseSettingnametextrowcolorSetting-Lchatty/gui/components/settings/ColorSetting;updated(Ljava/lang/String;)Vi$Ljava/util/Iterator;newColor
StackMapTable��access$000C(Lchatty/gui/components/settings/ColorSettings;Ljava/lang/String;)Vx0x1access$300_(Lchatty/gui/components/settings/ColorSettings;)Lchatty/gui/components/settings/SettingsDialog;SourceFileColorSettings.java@A_`J�java/util/HashMapBC+chatty/gui/components/settings/ColorChooserJ�FGCustomize Colors��HI���4chatty/gui/components/settings/ColorSettings$PresetsJ����backgroundColorforegroundColorBackgroundBackground ColorSTForegroundNormal message	infoColorInfoYou have joined #channelcompactColorCompactMOD: nick1, nick2highlightColor	HighlightHighlighted messageinputBackgroundColorinputForegroundColorInput BackgroundInput ForegroundsearchResultColor
Search ResultsearchResultColor2Search Result 2+chatty/gui/components/settings/ColorSettingJ�Cchatty/gui/components/settings/ColorSettings$MyColorSettingListenerJh�������java/awt/InsetsJ���������������������`,chatty/gui/components/settings/ColorSettings,chatty/gui/components/settings/SettingsPaneljava/lang/Stringjava/util/Iterator()V(Ljavax/swing/JDialog;)VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;1(Lchatty/gui/components/settings/ColorSettings;)Vjavax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)Vg(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lchatty/gui/components/settings/ColorChooser;)VsetListener8(Lchatty/gui/components/settings/ColorSettingListener;)VaddStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(IIII)Vjava/awt/GridBagConstraintsinsetsLjava/awt/Insets;get&(Ljava/lang/Object;)Ljava/lang/Object;getSettingValue()Ljava/lang/String;values()Ljava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;hasBase(Ljava/lang/String;)Zupdate!;<@ABCDEFGHIJKLN�*�*�Y��*+�*�Y+��	**��+�
M*��Y*�,�*�W*�W*�W*�W* �W*!"##�W*"!$$�W*%&&�W*'((	�W�MF + 4!D"S#b$q%�&�'�(�)�*�+N �OP�@A4�QRSTL�	e�)Y-*�	�*:�+Y*+�,�-*�+�.W*�+�/W*��
:�0Y�1�2*���M"01!2,394G5W6b7N\	eOPeUVeWXeYVeZVe[Ve\XR]^GQR_`L�G*�+�3�)�4M*��5�6N-�7� -�8�):+�9�	,�:��ݱMBD4E=FCHFIN44]^ &abGOPGUV6cVd� ef"�ghL:*+��MNiPjVklL/*��MNiPmn>;=+;?PKˣG����LL5chatty/gui/components/settings/ComboLongSetting.class���3' !"#$<init>(Ljava/util/Map;)VCodeLineNumberTableLocalVariableTablethis1Lchatty/gui/components/settings/ComboLongSetting;itemsLjava/util/Map;LocalVariableTypeTable3Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;	Signature6(Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;)VsetSettingValue(Ljava/lang/Long;)Vx0Ljava/lang/Long;getSettingValue()Ljava/lang/Long;rLchatty/gui/components/settings/GenericComboSetting<Ljava/lang/Long;>;Lchatty/gui/components/settings/LongSetting;SourceFileComboLongSetting.java	%&java/lang/Long/chatty/gui/components/settings/ComboLongSetting2chatty/gui/components/settings/GenericComboSetting*chatty/gui/components/settings/LongSetting(Ljava/lang/Object;)V()Ljava/lang/Object;!	P*+��

A:*+��
A2*���
PKʣG~��`��7chatty/gui/components/settings/ComboStringSetting.class���32	'	(	)*	+,-./0<init>([Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis3Lchatty/gui/components/settings/ComboStringSetting;items[Ljava/lang/String;(Ljava/util/Map;)VLjava/util/Map;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;	Signature8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VgetSettingValue()Ljava/lang/String;setSettingValue(Ljava/lang/String;)VvalueLjava/lang/String;(Ljava/lang/Object;)Vx0Ljava/lang/Object;()Ljava/lang/Object;vLchatty/gui/components/settings/GenericComboSetting<Ljava/lang/String;>;Lchatty/gui/components/settings/StringSetting;SourceFileComboStringSetting.java1#java/lang/String 1chatty/gui/components/settings/ComboStringSetting2chatty/gui/components/settings/GenericComboSetting,chatty/gui/components/settings/StringSetting([Ljava/lang/Object;)V!	
>*+��

P*+��
2*���
>*+��A 
=	*+���		!"A#
/*��$%&PKˣG�b���6chatty/gui/components/settings/CommandSettings$1.class���3/	"#$%&'()this$00Lchatty/gui/components/settings/CommandSettings;<init>3(Lchatty/gui/components/settings/CommandSettings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses2Lchatty/gui/components/settings/CommandSettings$1;format&(Ljava/lang/String;)Ljava/lang/String;inputLjava/lang/String;&(Ljava/lang/Object;)Ljava/lang/Object;x0Ljava/lang/Object;	SignatureTLjava/lang/Object;Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;SourceFileCommandSettings.javaEnclosingMethod*+	,-.java/lang/String0chatty/gui/components/settings/CommandSettings$1java/lang/Object,chatty/gui/components/settings/DataFormatter.chatty/gui/components/settings/CommandSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vtrim()Ljava/lang/String; 	
4*+�*��.
9+��2A
=	*+���.		 !PKˣGR���RR4chatty/gui/components/settings/CommandSettings.class���3�">?!@ABCADEFGHIGJ	KL	KM	KNOPQ!R	KSTUVWXYAZ[\]^_`abcInnerClassesINFO_HEADERLjava/lang/String;
ConstantValuedINFOINFO_TIMEOUT
INFO_COMMANDS<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/settings/CommandSettings;d/Lchatty/gui/components/settings/SettingsDialog;baseLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;items-Lchatty/gui/components/settings/ListSelector;menusSourceFileCommandSettings.java,eCustom Commandsfghijcommandskl0chatty/gui/components/settings/CommandSettings$1,mnop�<html><style type='text/css'>code { border: 1px solid #000; } p { margin: 2px; }</style><body style='width:300px;font-weight:normal;'><p>Each entry is one custom command: <code>/commandName Text to send to chat or regular command</code></p><p>Parameters (replaced when executing the command): <code>$$1</code> required parameter, <code>$1</code> optional parameter, <code>$2-</code> second parameter to end</p><p>Example: <code>/hello /me welcomes $$1 to chat</code></p>qrstuvwxwyz{Menu/Button Commandsf|}ujavax/swing/JLabelUser Context Menu:,ruserContextMenuEdit User Context Menu:T<html><style type='text/css'>code { border: 1px solid #000; } p { margin: 2px; }</style><body style='width:300px;font-weight:normal;'><p>Add commands as <code>/Command</code> or <code>Command</code> (no parameters), seperated by space or comma, <code>//Command</code> to put into submenu, <code>|</code> (vertical bar) to add seperator.</p>~Channel Context Menu:channelContextMenuEdit Channel Context Menu:User Dialog Buttons:timeoutButtonsEdit User Dialog Buttons:�<html><style type='text/css'>code { border: 1px solid #000; } p { margin: 2px; }</style><body style='width:300px;font-weight:normal;'><p>Add commands as <code>/Command</code> (no parameters), seperated by space or comma, <code>//Command</code> to put into second row of buttons.</p><p>Timeout buttons: <code>30</code> interpreted as seconds, <code>30s/m/h/d</code> interpreted as seconds/minutes/hours/days respectively.</p><p>Add shortcuts in brackets: <code>/Ban[B]</code>.</p>.chatty/gui/components/settings/CommandSettings,chatty/gui/components/settings/SettingsPanel�<html><style type='text/css'>code { border: 1px solid #000; } p { margin: 2px; }</style><body style='width:300px;font-weight:normal;'>(Z)VaddTitledPanel*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;addListSettingD(Ljava/lang/String;IIZ)Lchatty/gui/components/settings/ListSelector;3(Lchatty/gui/components/settings/CommandSettings;)V+chatty/gui/components/settings/ListSelectorsetDataFormatter1(Lchatty/gui/components/settings/DataFormatter;)VsetInfo(Ljava/lang/String;)Vjava/awt/GridBagConstraintsfillIweightxDweightyjavax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V)(Ljava/lang/String;I)Ljavax/swing/JPanel;anchoraddEditorStringSettingO(Ljava/lang/String;IZLjava/lang/String;ZLjava/lang/String;)Ljavax/swing/JPanel;!!"%&'()&'*&' +&',-.�*�*�M+�N+���:�Y*��	�-�-�
-�,-�*�:+�N-
��Y�-�+�N+�-�+�N-
��Y�-�+�N+�-�+�N-
��Y�-�+�N+ �-��/n&(,-&.35:6?7D8I9P;Y=b>h?wA�B�D�E�F�H�I�K�L�M�O�PR0>1234�56�78&�9:Y�;6<=$PKˣG>�����9chatty/gui/components/settings/CompletionSettings$1.class���3:		%		&		'		( )*+*,-,./0val$commonLjavax/swing/JCheckBox;	val$popupval$maxLjavax/swing/JTextField;this$03Lchatty/gui/components/settings/CompletionSettings;<init>|(Lchatty/gui/components/settings/CompletionSettings;Ljavax/swing/JCheckBox;Ljavax/swing/JCheckBox;Ljavax/swing/JTextField;)VCodeLineNumberTableLocalVariableTablethisInnerClasses5Lchatty/gui/components/settings/CompletionSettings$1;stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;SourceFileCompletionSettings.javaEnclosingMethod12

34567893chatty/gui/components/settings/CompletionSettings$1java/lang/Object javax/swing/event/ChangeListener1chatty/gui/components/settings/CompletionSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vjavax/swing/JCheckBoxisSelected()ZsetEnabled(Z)Vjavax/swing/JTextField 	

D*+�*,�*-�*�*��.Y*�*���*�*����234 !"#$	PKˣG�$�0

7chatty/gui/components/settings/CompletionSettings.class���3�)EF(GHIJKLKMNOPQRST
UKVWXYZ[K\]^K_`abcd(efKghij	kl	km	kn	kopqrInnerClasses<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis3Lchatty/gui/components/settings/CompletionSettings;d/Lchatty/gui/components/settings/SettingsDialog;mainLjavax/swing/JPanel;popupLjavax/swing/JCheckBox;commonchoices[Ljava/lang/String;maxLjavax/swing/JTextField;gbcLjava/awt/GridBagConstraints;customeditor2Lchatty/gui/components/settings/StringTableEditor;SourceFileCompletionSettings.java,sTAB CompletiontucompletionShowPopupShow popupGShows the info popup (also requirement for "Complete to common prefix")vwxyz{|}completionCommonPrefixComplete to common prefixQIf more than one match, complete to common prefix ("Show popup" required as well)javax/swing/JLabelSorting:,~yjava/lang/StringpredictivealphabeticaluserlistcompletionSorting��Max Items Shown:completionMaxItemsShown��3chatty/gui/components/settings/CompletionSettings$1,����Custom Completion Itemst�customCompletion��[^\w]��~����������<html><body style='width:100px'>Use <kbd>Shift-TAB</kbd> to complete '.Key' (prefixed with a dot) to 'Value'.<br /><br />Example: Add <code>dsh</code> as Key and <code>DatSheffy</code> as Value, then <code>.dsh</code> completes to <code>DatSheffy</code>.1chatty/gui/components/settings/CompletionSettings,chatty/gui/components/settings/SettingsPanel(Z)VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;makeGbc$(IIIII)Ljava/awt/GridBagConstraints;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/lang/String;)V#(IIII)Ljava/awt/GridBagConstraints;addComboStringSetting\(Ljava/lang/String;IZ[Ljava/lang/String;)Lchatty/gui/components/settings/ComboStringSetting;addSimpleLongSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;|(Lchatty/gui/components/settings/CompletionSettings;Ljavax/swing/JCheckBox;Ljavax/swing/JCheckBox;Ljavax/swing/JTextField;)Vjavax/swing/JCheckBoxaddChangeListener%(Ljavax/swing/event/ChangeListener;)V*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;
addMapSettingH(Ljava/lang/String;II)Lchatty/gui/components/settings/StringTableEditor;0chatty/gui/components/settings/StringTableEditorsetKeyFilterjava/awt/GridBagConstraintsfillIweightxDweightyanchor!(),-.
)*�*�M+�N,-+��	+�:,+��	,�
Y�+��	�YSYSYS:,+�+��	,�
Y�+��	+�:,+��	-�Y*-��+�:*�:+ȶ :		!�"�#�$�%	�	+�:�&�
Y'��	�/f
'3C X"m$�(�*�+�.�<�=�>�?�@�A�B�CEFG(N0f)12)34
56783�98m�:;��<=�\>?�R@6�DAB	CD+PKˣG���2chatty/gui/components/settings/DataFormatter.class���3format&(Ljava/lang/Object;)Ljava/lang/Object;	Signature(TE;)TE;(<E:Ljava/lang/Object;>Ljava/lang/Object;SourceFileDataFormatter.java,chatty/gui/components/settings/DataFormatterjava/lang/Object	PKˣG�$##Achatty/gui/components/settings/DeletedMessagesModeSetting$1.class���3SourceFileDeletedMessagesModeSetting.javaEnclosingMethod;chatty/gui/components/settings/DeletedMessagesModeSetting$1InnerClassesjava/lang/Object9chatty/gui/components/settings/DeletedMessagesModeSetting 	PKˣG���]��Nchatty/gui/components/settings/DeletedMessagesModeSetting$MyItemListener.class���3+	 !"#$%&this$0;Lchatty/gui/components/settings/DeletedMessagesModeSetting;<init>>(Lchatty/gui/components/settings/DeletedMessagesModeSetting;)VCodeLineNumberTableLocalVariableTablethisMyItemListenerInnerClassesJLchatty/gui/components/settings/DeletedMessagesModeSetting$MyItemListener;itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;'{(Lchatty/gui/components/settings/DeletedMessagesModeSetting;Lchatty/gui/components/settings/DeletedMessagesModeSetting$1;)Vx0x1=Lchatty/gui/components/settings/DeletedMessagesModeSetting$1;SourceFileDeletedMessagesModeSetting.java	()*Hchatty/gui/components/settings/DeletedMessagesModeSetting$MyItemListenerjava/lang/Objectjava/awt/event/ItemListener;chatty/gui/components/settings/DeletedMessagesModeSetting$1()V9chatty/gui/components/settings/DeletedMessagesModeSettingaccess$100 	4*+�*��
;@*���
?@D*+��
; 	""PKˣG<>k?chatty/gui/components/settings/DeletedMessagesModeSetting.class���3�%P&QRS	%TUVW	%XY	%Z[Q\]^_`abcde	%fghijkilmno%pqrsstuvInnerClassesMyItemListener
OPTION_DELETELjava/lang/String;
ConstantValueOPTION_STRIKE_THROUGHOPTION_STRIKE_THROUGH_SHORTENcombo3Lchatty/gui/components/settings/ComboStringSetting;	maxLength2Lchatty/gui/components/settings/SimpleLongSetting;maxLengthLabelLjavax/swing/JLabel;maxLengthLabel2<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis;Lchatty/gui/components/settings/DeletedMessagesModeSetting;d/Lchatty/gui/components/settings/SettingsDialog;optionsLjava/util/Map;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;update()VselectedshortenZ
StackMapTableraccess$100>(Lchatty/gui/components/settings/DeletedMessagesModeSetting;)Vx0SourceFileDeletedMessagesModeSetting.javaDE7E0chatty/gui/components/settings/SimpleLongSetting7w23javax/swing/JLabel (max. 7x45characters)65java/util/LinkedHashMapdeleteDelete Messageyz{keepStrike through
keepShortenedStrike through, shorten1chatty/gui/components/settings/ComboStringSetting7|01}~deletedMessagesMode��deletedMessagesMaxLength��Hchatty/gui/components/settings/DeletedMessagesModeSetting$MyItemListener7�������java/lang/String�~9chatty/gui/components/settings/DeletedMessagesModeSettingjavax/swing/JPanel;chatty/gui/components/settings/DeletedMessagesModeSetting$1(IZ)V(Ljava/lang/String;)V
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)VsetEditable(Z)V-chatty/gui/components/settings/SettingsDialogaddStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;addLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)V{(Lchatty/gui/components/settings/DeletedMessagesModeSetting;Lchatty/gui/components/settings/DeletedMessagesModeSetting$1;)VaddItemListener (Ljava/awt/event/ItemListener;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;getSelectedItem()Ljava/lang/Object;setEnabled!%&+,-.,-/,-01234565789N�*�*�Y��*�Y��	*�Y���Y�
M,�W,�W,�W*�Y,��*��+*��W+*��*��Y*��**�� W**�	� W**�� W**�� W*��:N+3>I T!`"h#s%}&�(�)�*�+�-�.; �<=�>?3�@AB3�@CDE9�0*��!�"L+��=*��#*�	�$*��$�:4567'8/9; 0<=%F,GHI�J@KL9/*��:;M=NO)'%%*PKʣG�m����4chatty/gui/components/settings/DurationSetting.class���3i789:;<=>?>@AB<C>D<EFGHIJKLMNO<init>(IZ)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/settings/DurationSetting;sizeIeditableZgetSettingValue()Ljava/lang/Long;ex!Ljava/lang/NumberFormatException;valueLjava/lang/String;numberLjava/lang/Long;
StackMapTableMPQAsetSettingValue(Ljava/lang/Long;)VsettingSourceFileDurationSetting.javaRSTUV[^0-9]*PWXQYZ[\java/lang/NumberFormatExceptionm]^_`java/lang/StringBuilderabcsbdeVfgbh.chatty/gui/components/settings/DurationSettingjavax/swing/JTextField*chatty/gui/components/settings/LongSettingjava/lang/Stringjava/lang/Long(I)VsetEditable(Z)VgetText()Ljava/lang/String;replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;	parseLong(Ljava/lang/String;)JvalueOf(J)Ljava/lang/Long;endsWith(Ljava/lang/String;)Z	longValue()J()Vappend-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringsetText(Ljava/lang/String;)V(J)Ljava/lang/StringBuilder;!Q*�*��
  !"#$%&�1*�LM+���M�N+��,�
i�M,�	"#/*'(1 ,)**+,-�./0123�F+�
q	��*�Y�+�����!*�Y�+�
m�����!
"'$E&F F4,-'56PKˣG����-chatty/gui/components/settings/Editor$1.class���3SourceFileEditor.javaEnclosingMethod'chatty/gui/components/settings/Editor$1InnerClassesjava/lang/Object%chatty/gui/components/settings/Editor 	PKˣG��gQ8chatty/gui/components/settings/Editor$ButtonAction.class���3b,	-./01213451617891:1;1<=>?98@ABCthis$0'Lchatty/gui/components/settings/Editor;<init>*(Lchatty/gui/components/settings/Editor;)VCodeLineNumberTableLocalVariableTablethisButtonActionInnerClasses4Lchatty/gui/components/settings/Editor$ButtonAction;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableDS(Lchatty/gui/components/settings/Editor;Lchatty/gui/components/settings/Editor$1;)Vx0x1)Lchatty/gui/components/settings/Editor$1;SourceFileEditor.javaEFGHIJKLMNOPQRSTUVWXKYZ[\]^_`aE2chatty/gui/components/settings/Editor$ButtonActionjava/lang/Objectjava/awt/event/ActionListener'chatty/gui/components/settings/Editor$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;%chatty/gui/components/settings/Editoraccess$200>(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JButton;access$400@(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JTextArea;javax/swing/JTextAreagetText()Ljava/lang/String;access$302M(Lchatty/gui/components/settings/Editor;Ljava/lang/String;)Ljava/lang/String;access$500>(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JDialog;javax/swing/JDialogsetVisible(Z)Vaccess$600access$700D(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JToggleButton;access$800=(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JLabel;javax/swing/JToggleButtonisSelected()Zjavax/swing/JLabelpack 4*+�*��� �w+�*���#*�*����W*��	��K+�*���*��	��/+�*���!*��
*����*��	��&	�� �.�<�J�X�l�v�ww!"#.+&D*+��� '()*+1$1PKˣGnz;���<chatty/gui/components/settings/Editor$ChangeListener$1.class���3+			 !"this$1#ChangeListenerInnerClasses6Lchatty/gui/components/settings/Editor$ChangeListener;<init>9(Lchatty/gui/components/settings/Editor$ChangeListener;)VCodeLineNumberTableLocalVariableTablethis8Lchatty/gui/components/settings/Editor$ChangeListener$1;run()VSourceFileEditor.javaEnclosingMethod$%
&'()*6chatty/gui/components/settings/Editor$ChangeListener$1java/lang/Objectjava/lang/Runnable4chatty/gui/components/settings/Editor$ChangeListenerinsertUpdate$(Ljavax/swing/event/DocumentEvent;)Vthis$0'Lchatty/gui/components/settings/Editor;%chatty/gui/components/settings/Editoraccess$1000*(Lchatty/gui/components/settings/Editor;)V 
4*+�*��9*����!"		PKˣG�"��:chatty/gui/components/settings/Editor$ChangeListener.class���38$	%	&'()*+,-./ChangeListenerInnerClassesthis$0'Lchatty/gui/components/settings/Editor;<init>*(Lchatty/gui/components/settings/Editor;)VCodeLineNumberTableLocalVariableTablethis6Lchatty/gui/components/settings/Editor$ChangeListener;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdate0S(Lchatty/gui/components/settings/Editor;Lchatty/gui/components/settings/Editor$1;)Vx0x1)Lchatty/gui/components/settings/Editor$1;SourceFileEditor.java1236chatty/gui/components/settings/Editor$ChangeListener$145674chatty/gui/components/settings/Editor$ChangeListenerjava/lang/Object"javax/swing/event/DocumentListener'chatty/gui/components/settings/Editor$1()V%chatty/gui/components/settings/Editoraccess$9009(Lchatty/gui/components/settings/Editor$ChangeListener;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V 	4*+�*��O*���Y*���$@*���()@*���-.D*+��  !"#''PKˣG��Ud��+chatty/gui/components/settings/Editor.class���3ba�a�	a�	a�	a�	a�	a�	a�	a�b����������	a������������	a����!�	�����	��	��	���)�)��,���)�a�)�)��)����)��8���	���=���������	F�F��)�	a	a	�
a)aX	FaInnerClassesChangeListenerButtonActiondialogLjavax/swing/JDialog;labelLjavax/swing/JLabel;inputLjavax/swing/JTextArea;okButtonLjavax/swing/JButton;cancelButtontoggleInfoButtonLjavax/swing/JToggleButton;parentLjava/awt/Window;info	formatter.Lchatty/gui/components/settings/DataFormatter;	SignatureBLchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;allowEmptyZresultLjava/lang/String;<init>(Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablethis'Lchatty/gui/components/settings/Editor;gbcLjava/awt/GridBagConstraints;buttonActionLjava/awt/event/ActionListener;	preferredLjava/awt/Dimension;showDialogJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;titlepreset
StackMapTable�setFormatter1(Lchatty/gui/components/settings/DataFormatter;)VLocalVariableTypeTableE(Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;)V
setAllowEmpty(Z)VallowsetAllowLinebreaksformat&(Ljava/lang/String;)Ljava/lang/String;updateOkButton()VisSomethingToSave()ZcurrentInputbigger+(Ljava/awt/Dimension;Ljava/awt/Dimension;)Zd1d2adjustSizeaccess$200>(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JButton;x0access$302M(Lchatty/gui/components/settings/Editor;Ljava/lang/String;)Ljava/lang/String;x1access$400@(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JTextArea;access$500>(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JDialog;access$600access$700D(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JToggleButton;access$800=(Lchatty/gui/components/settings/Editor;)Ljavax/swing/JLabel;access$900*(Lchatty/gui/components/settings/Editor;)Vaccess$1000SourceFileEditor.java����ukqrpohilm|}no~�javax/swing/JButtonSave~Canceljavax/swing/JToggleButtonHelpjavax/swing/JDialog~stInput� !java/awt/GridBagLayout"#javax/swing/JLabelabcjk$%java/awt/Insets~&'()*+$,-./010javax/swing/JTextArea234chatty/gui/components/settings/Editor$ChangeListener~45678��9�:�test;Monospaced<=>?@javax/swing/JScrollPane~AB�C.2chatty/gui/components/settings/Editor$ButtonActionDEFGPress ESC to cancelHI�JKjava/awt/DimensionL.~MNOP�Q�R�SOTAvwz{filterNewlinesUVWXYZ�[java/lang/String��\�]^��_�`.aK��%chatty/gui/components/settings/Editorjava/lang/Object'chatty/gui/components/settings/Editor$1javax/swing/text/Document(Ljava/lang/String;)VsetTitlesetModalchatty/gui/GuiUtilinstallEscapeCloseOperation(Ljavax/swing/JDialog;)V	setLayout(Ljava/awt/LayoutManager;)VmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;(IIII)Vjava/awt/GridBagConstraintsinsetsLjava/awt/Insets;add)(Ljava/awt/Component;Ljava/lang/Object;)V#(IIII)Ljava/awt/GridBagConstraints;fillIweightxDweightygetDocument()Ljavax/swing/text/Document;S(Lchatty/gui/components/settings/Editor;Lchatty/gui/components/settings/Editor$1;)VaddDocumentListener'(Ljavax/swing/event/DocumentListener;)V	setMargin(Ljava/awt/Insets;)VsetLineWrapsetWrapStyleWordsetText
java/awt/Fontdecode#(Ljava/lang/String;)Ljava/awt/Font;setFont(Ljava/awt/Font;)V(Ljava/awt/Component;)VsetVisibleanchoraddActionListener"(Ljava/awt/event/ActionListener;)VsetMnemonic(I)VsetToolTipTextpackgetPreferredSize()Ljava/awt/Dimension;height(II)VsetMinimumSize(Ljava/awt/Dimension;)V	isVisiblesetSelectedrequestFocusInWindowsetSizesetLocationRelativeTojava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;putProperty'(Ljava/lang/Object;Ljava/lang/Object;)V,chatty/gui/components/settings/DataFormatter&(Ljava/lang/Object;)Ljava/lang/Object;setEnabledgetText()Ljava/lang/String;isEmptywidthgetSize!abhijklmnopoqrstukvwxyz{|}~�-*�*�Y�
�	*�Y�
�*�Y��*�Y+��*+�*��*��*��*��Y��*�Y��� M,�!Y�"�#*�*�,�$�%M,�&,�',�(,�!Y�"�#*�)Y�*�*��+�,Y*�-�.*��!Y�"�/*�0*��1*��2*�3�4*�5�6�7*��8Y*��9,�$�%M,�!Y�"�#*�Y�:�*�*�,�$*��;�%M*�*�,�$�%M,
�<,�'*�*�	,�$�%M*�*�,�$�=Y*�>N*�	-�?*�-�?*�-�@*�	S�A*�C�A*�B�C*��D*��E:*��FY��G�H�I���44)*++576<8E9M:T<b@oAyB�C�E�F�G�H�I�J�K�L�M�N�OPRS+U3VEWPX\]d_l`xb�c�d�e�g�h�j�k�l�m�o�p�s�y�z�{|�4��sty����Z��������|*�,�4*�+�J*�-�J-�*��;*�-���K*�*��L�M*�*��NW*��D*�*��E�O*�*��P*��Q*���:�����$�4�B�G�O�V�d�o�w��*|��|�}|�}|u}�$K����������P*+�R�������vw�vyx����>*�S��������{���~*��+T���U�V��������{�%�����������`*�R�+�*�R+�W�X�+��������l}����:*�	*�Y�Z����������w&*�S��**��[�\L+�+�]������	���&���}�	��@���`*�G+�G�*�^+�^�������������W*��E*��_�`�*��D��
�������/*�	��$������;*+Z���$����}���/*���$������/*���$������/*���$������/*���$������/*���$������/*���$������/*���$�����eca,af=agPKˣGTv���:chatty/gui/components/settings/EditorStringSetting$1.class���3?		&		'		( )$*$+,-$./01	val$titleLjava/lang/String;val$infothis$04Lchatty/gui/components/settings/EditorStringSetting;<init>[(Lchatty/gui/components/settings/EditorStringSetting;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClasses6Lchatty/gui/components/settings/EditorStringSetting$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;result
StackMapTable2SourceFileEditorStringSetting.javaEnclosingMethod34

56789:;<=>4chatty/gui/components/settings/EditorStringSetting$1java/lang/Objectjava/awt/event/ActionListenerjava/lang/String2chatty/gui/components/settings/EditorStringSetting;(Ljava/awt/Window;Ljava/lang/String;IZZLjava/lang/String;)V()Vaccess$100](Lchatty/gui/components/settings/EditorStringSetting;)Lchatty/gui/components/settings/Editor;access$000H(Lchatty/gui/components/settings/EditorStringSetting;)Ljava/lang/String;%chatty/gui/components/settings/EditorshowDialogJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;setSettingValue(Ljava/lang/String;)V 	

>*+�*,�*-�*��&'*��*�*��*��M,�*�,��*+,&. ''

�& !"#$%	PKˣG���a8chatty/gui/components/settings/EditorStringSetting.class���3�	L	MNOPQRSTUVWX	YZ[\]	^	_`abcdefghijInnerClasseseditor'Lchatty/gui/components/settings/Editor;previewLjavax/swing/JTextField;editButtonLjavax/swing/JButton;valueLjava/lang/String;<init>;(Ljava/awt/Window;Ljava/lang/String;IZZLjava/lang/String;)VCodeLineNumberTableLocalVariableTablethis4Lchatty/gui/components/settings/EditorStringSetting;parentLjava/awt/Window;titlesizeIallowEmptyZallowLinebreaksinfosetFormatter1(Lchatty/gui/components/settings/DataFormatter;)V	formatter.Lchatty/gui/components/settings/DataFormatter;LocalVariableTypeTableBLchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;	SignatureE(Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;)VgetSettingValue()Ljava/lang/String;setSettingValue(Ljava/lang/String;)Vaccess$000H(Lchatty/gui/components/settings/EditorStringSetting;)Ljava/lang/String;x0access$100](Lchatty/gui/components/settings/EditorStringSetting;)Lchatty/gui/components/settings/Editor;SourceFileEditorStringSetting.java!"'()klmjava/awt/FlowLayoutnopo%chatty/gui/components/settings/Editor)qrstsjavax/swing/JTextField)o#$usjavax/swing/JButtonEdit)D%&vwxyz4chatty/gui/components/settings/EditorStringSetting$1){|}~9:�D2chatty/gui/components/settings/EditorStringSettingjavax/swing/JPanel,chatty/gui/components/settings/StringSetting()V	getLayout()Ljava/awt/LayoutManager;setHgap(I)VsetVgap(Ljava/awt/Window;)V
setAllowEmpty(Z)VsetAllowLinebreakssetEditablechatty/gui/GuiUtilSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)V[(Lchatty/gui/components/settings/EditorStringSetting;Ljava/lang/String;Ljava/lang/String;)VaddActionListener"(Ljava/awt/event/ActionListener;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;setText!!"#$%&'()*+"�*�*���*���*�Y+�	�*��*��*�Y�
�*��*�Y��*���*��Y*,��**��W**��W�,:&/8!D"L$Y%c&u1~2�3-H�./�01�2(�34�56�76�8(9:+S	*�+��,67-	./	;<=	;>?@AB+/*��,;-./CD+J*+�*�+��,@A
B-./'(EF+/*��,-G/HI+/*��,-G/JK PKˣG�-YJ((4chatty/gui/components/settings/EmoteSettings$1.class���33	!	"	#$%&%'()*val$ffzModLjavax/swing/JCheckBox;val$ffzthis$0.Lchatty/gui/components/settings/EmoteSettings;<init>_(Lchatty/gui/components/settings/EmoteSettings;Ljavax/swing/JCheckBox;Ljavax/swing/JCheckBox;)VCodeLineNumberTableLocalVariableTablethisInnerClasses0Lchatty/gui/components/settings/EmoteSettings$1;itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;SourceFileEmoteSettings.javaEnclosingMethod+,
-./012.chatty/gui/components/settings/EmoteSettings$1java/lang/Objectjava/awt/event/ItemListener,chatty/gui/components/settings/EmoteSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vjavax/swing/JCheckBoxisSelected()ZsetEnabled(Z)V 	
>*+�*,�*-�*��\G*�*����`a PKˣGH�4��2chatty/gui/components/settings/EmoteSettings.class���3�;de:fghijkjlmnopqjrPstuvwxyz{|}~j���d������#d#��#�#��)�Uj��W���0����:�j��j�	�����InnerClassesIGNORED_INFOLjava/lang/String;
ConstantValue<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTableiIthis.Lchatty/gui/components/settings/EmoteSettings;d/Lchatty/gui/components/settings/SettingsDialog;mainLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;ffzLjavax/swing/JCheckBox;ffzModscaleDefLjava/util/Map;emoteScale1Lchatty/gui/components/settings/ComboLongSetting;emoteScaleDialogignoredLocalVariableTypeTable3Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;
StackMapTable������SourceFileEmoteSettings.javaA�General Settings��emoticonsEnabledShow emoticonsFWhether to show emotes as icons.Changing this only affects new lines.��������bttvEmotesEnable BetterTTV EmotesShow BetterTTV emoticons��Enable FrankerFaceZ (FFZ)-Retrieve custom emotes and possibly mod icon.ffzModIconEnable FFZ Mod IconFShow custom mod icon for some channels (only works if FFZ is enabled).showAnimatedEmotesAllow animated emotes!Show animated BetterTTV emoticonsjavax/swing/JLabelMaximum Height:A�emoteMaxHeight��pixelsScale:java/util/LinkedHashMap���Normal���java/lang/StringBuilder��%����/chatty/gui/components/settings/ComboLongSettingA���Emotes Dialog:���.chatty/gui/components/settings/EmoteSettings$1A���Ignored Emotes����
ignoredEmotes����G<html><body style='width:160px;'><p style='padding:5px;'>Ignored emotes are shown as just the emote code and not turned into an image.</p><p style='padding:5px;'>It is recommended to use the emote context menu (right-click on an emote in chat) to add emotes to this list.</p>,chatty/gui/components/settings/EmoteSettings,chatty/gui/components/settings/SettingsPanel-chatty/gui/components/settings/SettingsDialogjavax/swing/JPaneljava/awt/GridBagConstraintsjavax/swing/JCheckBox
java/util/Map()VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;addSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;
makeGbcCloser$(IIIII)Ljava/awt/GridBagConstraints;add)(Ljava/awt/Component;Ljava/lang/Object;)VmakeGbc(Ljava/lang/String;)VaddSimpleLongSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;java/lang/LongvalueOf(J)Ljava/lang/Long;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/util/Map;)VaddLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)VsetEnabled(Z)V_(Lchatty/gui/components/settings/EmoteSettings;Ljavax/swing/JCheckBox;Ljavax/swing/JCheckBox;)VaddItemListener (Ljava/awt/event/ItemListener;)V*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;#(IIII)Ljava/awt/GridBagConstraints;addListSettingD(Ljava/lang/String;IIZ)Lchatty/gui/components/settings/ListSelector;anchor!:;>?@9ABCU�*�*�M,+�+��	,+�+��	+�
N+�:,-�	+�:+�
N,-�	,+�+�
�	,�Y�+�
�	,+�+�
�	,�Y�+�
�	,�Y�+�
�	�Y�:26ȣE��� !�"W�%�� �#Y�$�%&�'�(�"W�����)Y�*:++�,,+�
�	,�Y-�+�
�	�)Y�*:+.�,,+�
�	�/�0Y*�1�2*3�4:	+�5N	+6���7-�	+�5N-�8	�Y9�-�	�D�% $&<,G-S/Z3f6q7x:�?�A�C�G�I�JKLN<JBQMRUSeU|W�X�Y�[�\�e�g�h�j�k�l�nEp�JFG�HI�JK�LMG�NOS�PQf�RQ�STM�UV�tWV�;XM	Y�SZ[$��\]^_``a!!�bc=0PKˣG�p����2chatty/gui/components/settings/FontChooser$1.class���3'	 !"this$0,Lchatty/gui/components/settings/FontChooser;<init>/(Lchatty/gui/components/settings/FontChooser;)VCodeLineNumberTableLocalVariableTablethisInnerClasses.Lchatty/gui/components/settings/FontChooser$1;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileFontChooser.javaEnclosingMethod#	$	%&,chatty/gui/components/settings/FontChooser$1java/lang/Object"javax/swing/event/DocumentListener*chatty/gui/components/settings/FontChooser(Ljava/awt/Dialog;)V()Vaccess$000 	4*+�*��m
@*���qr
@*���vw
@*���{|
PKˣG�/�^��Achatty/gui/components/settings/FontChooser$FontPreviewLabel.class���3#<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisFontPreviewLabelInnerClasses=Lchatty/gui/components/settings/FontChooser$FontPreviewLabel;previewTextLjava/lang/String;SourceFileFontChooser.javajava/awt/Dimension !	";chatty/gui/components/settings/FontChooser$FontPreviewLabeljavax/swing/JLabel()V(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetText*chatty/gui/components/settings/FontChooser 	Z*�*�Y,d��*+������
PKˣG[J��dd<chatty/gui/components/settings/FontChooser$InputList$1.class���3&	this$0!	InputListInnerClasses6Lchatty/gui/components/settings/FontChooser$InputList;<init>9(Lchatty/gui/components/settings/FontChooser$InputList;)VCodeLineNumberTableLocalVariableTablethis8Lchatty/gui/components/settings/FontChooser$InputList$1;run()VSourceFileFontChooser.javaEnclosingMethod"#$
6chatty/gui/components/settings/FontChooser$InputList$1java/lang/Objectjava/lang/Runnable%4chatty/gui/components/settings/FontChooser$InputListvalueChanged)(Ljavax/swing/event/ListSelectionEvent;)Vaccess$100*chatty/gui/components/settings/FontChooser 
4*+�*���6*����� 	PKˣG�-���:chatty/gui/components/settings/FontChooser$InputList.class���3�-o-p.qrs	-tuvw	xyq	-z{|}~�q-��-�-�	-�����-����� �������� � �-�-��*��������	InputListInnerClasseslistLjavax/swing/JList;	Signature'Ljavax/swing/JList<Ljava/lang/String;>;inputLjavax/swing/JTextField;listener2Lchatty/gui/components/settings/InputListListener;<init>([Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis6Lchatty/gui/components/settings/FontChooser$InputList;data[Ljava/lang/String;1([Ljava/lang/String;Ljavax/swing/InputVerifier;)V
inputVerifierLjavax/swing/InputVerifier;listScrollLjavax/swing/JScrollPane;addInputListListener5(Lchatty/gui/components/settings/InputListListener;)VgetValue()Ljava/lang/String;setValue(Ljava/lang/String;)VvalueLjava/lang/String;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;valueChangednewValue
StackMapTableupdateTextInput()V�updateListSelectioniIinputValuesize
scrollToValueinsertUpdate$(Ljavax/swing/event/DocumentEvent;)V!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdate)(Ljavax/swing/event/ListSelectionEvent;)V&Ljavax/swing/event/ListSelectionEvent;access$1009(Lchatty/gui/components/settings/FontChooser$InputList;)Vx0SourceFileFontChooser.javaZ[=F=[javax/swing/JList=�56����javax/swing/JScrollPane=�javax/swing/JTextField9:���������java/awt/BorderLayout��North����;<�N�[���PWP���java/lang/String����������������bP][6chatty/gui/components/settings/FontChooser$InputList$1=k����4chatty/gui/components/settings/FontChooser$InputListjavax/swing/JPanel'javax/swing/event/ListSelectionListenerjava/awt/event/ActionListener"javax/swing/event/DocumentListener([Ljava/lang/Object;)VaddListSelectionListener,(Ljavax/swing/event/ListSelectionListener;)VsetSelectionMode(I)V(Ljava/awt/Component;)VsetInputVerifier(Ljavax/swing/InputVerifier;)VaddActionListener"(Ljava/awt/event/ActionListener;)VgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)V	setLayout(Ljava/awt/LayoutManager;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V*(Ljava/awt/Component;)Ljava/awt/Component;getTextclearSelectionsetSelectedValue(Ljava/lang/Object;Z)VsetText0chatty/gui/components/settings/InputListListenergetSelectedValue()Ljava/lang/Object;isEmpty()Zchatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;getModel()Ljavax/swing/ListModel;javax/swing/ListModelgetSize()IgetElementAt(I)Ljava/lang/Object;equalsIgnoreCase(Ljava/lang/String;)ZstartsWithjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V*chatty/gui/components/settings/FontChooser -./0156789:;<=>??*+��@ABCDE=F?�p*�*�Y+��*�*�*���	Y*��N*�Y��
*�
,�*�
*�*�
�*�*�Y��**�
�*-�W�@6
 ,7?GT_$i%o&A*pBCpDEpGH,DIJKL?>*+��@)*ABC;<MN?2*�
��@/ABCOP?Y*��*�+�*�
+��@3456ABCQRST?D**�
���@:;ABCUVWP?W*��
*�+��@>?AABCXRYZ[?v$*��� L+�+�!�*�
+�*+��@HIJK#MA$BCXRY�#\][?q*�
��"L+�!��*��#�$=>�L*��#�%� :+�&�*��*���"+�'�*�(�	�����@>TUVX Y'Z9\B]L^R_UaabgcjYpfA491QR"N^_qBCf`R Qa_Y�\��2\��bP?M*�+�*���@i	jkABCQRcd?=*�)�@rsABCUefd?=*�)�@wxABCUegd?5�@|ABCUeWh?D�*Y*�+�,�@��ABCUijk?/*��@AlCmn3-�2*PKˣG��io��@chatty/gui/components/settings/FontChooser$IntegerVerifier.class���30 !"#$%'(<init>()VCodeLineNumberTableLocalVariableTablethisIntegerVerifierInnerClasses<Lchatty/gui/components/settings/FontChooser$IntegerVerifier;verify(Ljavax/swing/JComponent;)Zex!Ljava/lang/NumberFormatException;inputLjavax/swing/JComponent;	componentLjavax/swing/JTextField;
StackMapTable')!%SourceFileFontChooser.java	javax/swing/JTextField*+,-.java/lang/NumberFormatException/:chatty/gui/components/settings/FontChooser$IntegerVerifierjavax/swing/InputVerifierjavax/swing/JComponentgetText()Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)I*chatty/gui/components/settings/FontChooser 	/*���
�+�M,��W�N���
���*

�&PKˣG4ePV��0chatty/gui/components/settings/FontChooser.class���3�r��s����	r���	r����	r��	r��������������	r�	r�� �r��#�r����(�'������-�	r��0�-�	r�'�'-9�=	r
	g	g?�ffffff	gr?�333333	g?�r	r\\S-SS	rrr-S !"S#\$%&`�'`()`*+g�	g,	g-	g.	g/0m1	g2r3456789:IntegerVerifierInnerClasses	InputListFontPreviewLabelfontList6Lchatty/gui/components/settings/FontChooser$InputList;fontSizeListPREVIEW_TEXTLjava/lang/String;
ConstantValuepreview=Lchatty/gui/components/settings/FontChooser$FontPreviewLabel;testLjavax/swing/JTextField;okLjavax/swing/JButton;cancelcloseActionI	ACTION_OK
ACTION_CANCELfontLjava/awt/Font;FALLBACK_FONT_SIZE	fontSizes[Ljava/lang/String;ownerLjava/awt/Dialog;<init>(Ljava/awt/Dialog;)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/components/settings/FontChooser;
fontSelectionLjavax/swing/JPanel;fontsfontPreviewfontTestgbcLjava/awt/GridBagConstraints;getFontName()Ljava/lang/String;getFontSize()Ljava/lang/Integer;showDialog(Ljava/lang/String;I)IdefaultFontdefaultFontSizeupdateFont()Vex!Ljava/lang/NumberFormatException;fontNamefontSizeLjava/lang/Integer;
StackMapTable6�!updatePreviewTextmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xywhvalueChanged)(Ljavax/swing/event/ListSelectionEvent;)Ve&Ljavax/swing/event/ListSelectionEvent;(Ljava/lang/String;)VvalueactionPerformed(Ljava/awt/event/ActionEvent;)VLjava/awt/event/ActionEvent;access$000/(Lchatty/gui/components/settings/FontChooser;)Vx0SourceFileFontChooser.java��Choose font�;;chatty/gui/components/settings/FontChooser$FontPreviewLabel�<html><body style="margin: 4px;">ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />abcdefghijklmnopqrstuvwxyz<br />1234567890<br />ÄÖÜäöüôàúåãë.,-\/#+-µ[:]{}$����javax/swing/JTextField����javax/swing/JButtonOk����Cancel��java/lang/String8910111213141516182022����java/awt/GridBagLayout<=java/awt/Dimension�>?@ABjavax/swing/JPaneljava/awt/GridLayout�=CDEFG4chatty/gui/components/settings/FontChooser$InputList�H|}:chatty/gui/components/settings/FontChooser$IntegerVerifier�I~}JKSelect font family and sizeLMNOPQRjava/awt/BorderLayoutPreviewST,chatty/gui/components/settings/FontChooser$1��UVWEnter additional text to test��X�YZ[ZJ\]�^���_�`abcd�java/lang/Integer�ef���ghijk�lmjava/lang/NumberFormatException
java/awt/Fontna�opqjava/lang/StringBuilder�<html><body style="margin: 4px;">ABCDEFGHIJKLMNOPQRSTUVWXYZ<br />abcdefghijklmnopqrstuvwxyz<br />1234567890<br />ÄÖÜäöüôàúåãë.,-\/#+-µ[:]{}$<br />rst�u�java/awt/GridBagConstraintsv�w�x�y�java/awt/Insets�z{|��}~*chatty/gui/components/settings/FontChooserjavax/swing/JDialog0chatty/gui/components/settings/InputListListener'javax/swing/event/ListSelectionListenerjava/awt/event/ActionListener'(Ljava/awt/Dialog;Ljava/lang/String;Z)V	setLayout(Ljava/awt/LayoutManager;)V(II)VsetMinimumSize(Ljava/awt/Dimension;)VaddActionListener"(Ljava/awt/event/ActionListener;)Vjava/awt/GraphicsEnvironmentgetLocalGraphicsEnvironment ()Ljava/awt/GraphicsEnvironment;getAvailableFontFamilyNames()[Ljava/lang/String;([Ljava/lang/String;)V1([Ljava/lang/String;Ljavax/swing/InputVerifier;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;javax/swing/BorderFactorycreateTitledBorder5(Ljava/lang/String;)Ljavax/swing/border/TitledBorder;	setBorder(Ljavax/swing/border/Border;)VaddInputListListener5(Lchatty/gui/components/settings/InputListListener;)VgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)VfillweightxDweighty)(Ljava/awt/Component;Ljava/lang/Object;)VanchorpackgetNamegetSize()IvalueOf(I)Ljava/lang/Integer;setValue(I)VtoStringsetLocationRelativeTo(Ljava/awt/Component;)VsetVisible(Z)VgetValueparseInt(Ljava/lang/String;)IintValue(Ljava/lang/String;II)VsetFont(Ljava/awt/Font;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getTextsetTextgridxgridy	gridwidthgridheight(IIII)VinsetsLjava/awt/Insets;java/awt/event/ActionEvent	getSource()Ljava/lang/Object;!rstuv|}~}���������������������������������c1*+�*�Y��*�Y�	�*�Y�
�*�Y�
�*�YSYSYSYSYSYSYSYSYSY	SYSYS�*+�*� Y�!�"*�#Y,�$�%*�*�&*�*�&�'Y�(Y�)�*M�+�,N*�-Y-�.�/*�-Y*��0Y�1�2�3,*�/�4W,*�3�4W,5�6�7*�/*�8*�3*�8�'Y�9Y�:�*:*��4W;�6�7�'Y�9Y�:�*:*��4W*��<�=Y*�>�?@�6�7*�A:�B�CD�F*,�G*�A:�B�CH�F*�G*�A:�B�C�F*�G*�A:
�JK�C**��G*�A:K�C�J**��G*�M���4B$& )-*:5�C�E�F�H�I�N�Q�T�W�Y�Z[^_d+e5f?kOlYmm~w�������������������������������������	���"�,�0��H1��1���j���c��+��O����������2*�N�O���������5*�N�P�Q����������1*�/+�R*�3�SY�T�U�R*�V**��W*�X*�V������'�,�� 1��1��1������=*�/�YL�QM*�3�Y�Z�QM�N*�\Y+,�]�^�N*�*�N�_�[�"����� �1�<��* ��=��5��/�����������O!*��`Y�ab�c*��d�c�e�f��� ��!������5�gY�h:�i�j�k�l�mY�n�o���	����"�2��>5��5��5��5��5��	,�����=*�p������������=*�p������������_+�q*��*�V*�X���������������/*��������x"0rw-ryrz=PKʣG��]��:chatty/gui/components/settings/GenericComboSetting$1.class���3W	-./0+12+3+4+5+6+789:;+<=>?this$04Lchatty/gui/components/settings/GenericComboSetting;<init>7(Lchatty/gui/components/settings/GenericComboSetting;)VCodeLineNumberTableLocalVariableTablethisInnerClasses6Lchatty/gui/components/settings/GenericComboSetting$1;LocalVariableTypeTable6Lchatty/gui/components/settings/GenericComboSetting.1;itemStateChanged(Ljava/awt/event/ItemEvent;)VcommandLjava/lang/String;eLjava/awt/event/ItemEvent;selected
StackMapTable2SourceFileGenericComboSetting.javaEnclosingMethod@ABBCDEFGjava/lang/StringHIJEKLMNOPjava/awt/event/ActionEventQRSTUV4chatty/gui/components/settings/GenericComboSetting$1java/lang/Objectjava/awt/event/ItemListener2chatty/gui/components/settings/GenericComboSettingaddListener()Vjava/awt/event/ItemEventgetStateChange()IgetSelectedItem()Ljava/lang/Object;access$000Z(Lchatty/gui/components/settings/GenericComboSetting;Ljava/lang/String;)Ljava/lang/String;getSelectedIndexaccess$1007(Lchatty/gui/components/settings/GenericComboSetting;)IsetSelectedIndex(I)Vaccess$200U(Lchatty/gui/components/settings/GenericComboSetting;)Ljava/awt/event/ActionListener;((Ljava/lang/Object;ILjava/lang/String;)Vjava/awt/event/ActionListeneractionPerformed(Ljava/awt/event/ActionEvent;)Vaccess$1028(Lchatty/gui/components/settings/GenericComboSetting;I)I F*+�*��� w+���*���M,�a*�,�N-�E*��*���*�*���	*���+*���Y*-��
�*�*���W�2��	���!�%�6�D�N�g�v�*!U!"ww#$c%"w&	�:''"�()*+,PKʣG�_�W��8chatty/gui/components/settings/GenericComboSetting.class���3�	-�	-�-�.���	-�	-��-���-����
�.�-��-�����-�-���-�-�-���������-�-���-����%��%�-��*�-���InnerClassesitemsLjava/util/Map;	Signature&Ljava/util/Map<TE;Ljava/lang/String;>;commands5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;actionListenerLjava/awt/event/ActionListener;lastSelectedI<init>([Ljava/lang/Object;)VCodeLineNumberTableLocalVariableTableitemLjava/lang/Object;arr$[Ljava/lang/Object;len$i$this4Lchatty/gui/components/settings/GenericComboSetting;initialItemsLocalVariableTypeTableTE;9Lchatty/gui/components/settings/GenericComboSetting<TE;>;[TE;
StackMapTable�C([TE;)V(Ljava/util/Map;)V)(Ljava/util/Map<TE;Ljava/lang/String;>;)VgetSettingValue()Ljava/lang/Object;selectedLjava/lang/String;value��()TE;setSettingValue(Ljava/lang/Object;)V(TE;)VaddCommand'(Ljava/lang/String;Ljava/lang/String;)Vcommandlabeladdclear()VsetDatadataaddDatakeyLjava/util/Iterator;�'(Ljava/lang/Object;Ljava/lang/String;)V(TE;Ljava/lang/String;)V(Ljava/lang/String;)VinsertAtgetKeyFromItem&(Ljava/lang/String;)Ljava/lang/Object;entryEntryLjava/util/Map$Entry;,Ljava/util/Map$Entry<TE;Ljava/lang/String;>;(Ljava/lang/String;)TE;getCommandFromItem&(Ljava/lang/String;)Ljava/lang/String;;Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;contains(Ljava/lang/Object;)Zi(TE;)ZsetActionListener"(Ljava/awt/event/ActionListener;)VlisteneraddListeneraccess$000Z(Lchatty/gui/components/settings/GenericComboSetting;Ljava/lang/String;)Ljava/lang/String;x0x1access$1007(Lchatty/gui/components/settings/GenericComboSetting;)Iaccess$200U(Lchatty/gui/components/settings/GenericComboSetting;)Ljava/awt/event/ActionListener;access$1028(Lchatty/gui/components/settings/GenericComboSetting;I)IA<E:Ljava/lang/Object;>Ljavax/swing/JComboBox<Ljava/lang/String;>;SourceFileGenericComboSetting.java789:vw;djava/util/HashMap5212��bm�����java/util/Vector��;�;��Tjava/lang/Stringop�z���\�\cd�dgQ���������Tbk��������java/util/Map$Entry�T�z�T��4chatty/gui/components/settings/GenericComboSetting$1;���2chatty/gui/components/settings/GenericComboSettingjavax/swing/JComboBoxjava/lang/Objectjava/util/IteratorvalueOf&(Ljava/lang/Object;)Ljava/lang/String;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;setSelectedIndex(I)Vvalues()Ljava/util/Collection;(Ljava/util/Collection;)V(Ljava/util/Vector;)VgetSelectedItemcontainsKeyget&(Ljava/lang/Object;)Ljava/lang/Object;setSelectedItemaddItemremoveAllItemskeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()ZnextgetItemCount()IsizeinsertItemAt(Ljava/lang/Object;I)VentrySetgetValueequalsgetKey	getItemAt(I)Ljava/lang/Object;7(Lchatty/gui/components/settings/GenericComboSetting;)VaddItemListener (Ljava/awt/event/ItemListener;)V!-.12345236789:;<=Y*�*�Y��*�Y��+M,�>6�),2:*�	�*��	�W����+��*��>*.7HNS X#?>.@A2BC/D:",E:YFGYHCI .@JYFKYHLM�"NOO�+	3P;Q=~"*�
Y+���*�Y��*+��>&'!)?"FG"12I"FK"143RST=�*��L+��*+�M,�,��>,-.0124? FGUVWAIFKWJM�X�Y3Z[\=�3*�+��*�++�	�W*+�	�**�+���>8
9:$<2=?3FG3WAI3FK3WJM$3]^_=j*�+,�W*,��>@AB? FG`VaVIFKb\=p*�++�	�W*+�	��>EFG?FG@AIFK@J3]cd=R*��*��>M	N
O?FGIFKeQ=b*�*+��>VW	X?FGf2IFKf43RgQ=�3+�1+��M,��,�N*-+-��� ���>`a b/c2e?* hA"Ei3FG3f2I  hJ3FK3f4M�j�!3Rbk=t*�+,�W*,��>nop? FG@AaVIFK@J3lbm=�*�!*��"d=�=*+�#�>xyz|}? FG@V
n:IFKM�op=�;*��$�M,��$,��%N+-�&�'�-�(�����>�"�/�6�9�?*"qs*Ei;FG;@VI"qt;FKM�j&�3uvw=�>*��$�M,��',��%N+-�&�'�
-�(������>�"�/�9�<�?*"qs-Ei>FG>@VI"qx>FKM�j)�yz=�#=*�!�*�)�+�'�������>����!�? {:#FG#WAI#FK#WJM��3|}~=P*+��>��?FG8IFK�d=M
*�*Y*�+�,�>��?
FGI
FK��=:*+��>?�G�V��=/*��>?�G��=/*��>?�G��=;*Z��>?�G�:3���0*%�r	PKˣG�<����8chatty/gui/components/settings/HighlightSettings$1.class���3/	"#$%&'()this$02Lchatty/gui/components/settings/HighlightSettings;<init>5(Lchatty/gui/components/settings/HighlightSettings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses4Lchatty/gui/components/settings/HighlightSettings$1;format&(Ljava/lang/String;)Ljava/lang/String;inputLjava/lang/String;&(Ljava/lang/Object;)Ljava/lang/Object;x0Ljava/lang/Object;	SignatureTLjava/lang/Object;Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;SourceFileHighlightSettings.javaEnclosingMethod*+	,-.java/lang/String2chatty/gui/components/settings/HighlightSettings$1java/lang/Object,chatty/gui/components/settings/DataFormatter0chatty/gui/components/settings/HighlightSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vtrim()Ljava/lang/String; 	
4*+�*��N
9+��RA
=	*+���N		 !PKˣGd� �6chatty/gui/components/settings/HighlightSettings.class���3�&AB%CDE	FG	
H	FIJKLDMNOP
QRSTUVWXYZ[\]^D_`abcdae	Ff	Fg	FhijInnerClassesINFOLjava/lang/String;
ConstantValuekINFO_HIGHLIGHTS<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/settings/HighlightSettings;d/Lchatty/gui/components/settings/SettingsDialog;baseLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;
settingInsetsLjava/awt/Insets;items-Lchatty/gui/components/settings/ListSelector;SourceFileHighlightSettings.java.lHighlight Messagesmnopqrs<tuvuhighlightEnabledEnable HighlightMIf enabled, shows messages that match the highlight criteria in another colorwxyz{java/awt/Insets.|highlightUsernameHighlight own namehIf enabled, highlights messages containing your current username, even if you didn't add it to the list.highlightNextMessagesHighlight follow-upjIf enabled, highlights messages from the same user that are writtenshortly after the last highlighted one.highlightOwnTextCheck own text for highlightswIf enabled, allows own messages to be highlighted, otherwise your own messages are NEVER highlighted. Good for testing.highlightIgnoredCheck ignored messages^If enabled, checks ignored messages as well, otherwise they are just ignored for highlighting.	highlight}~0<html><body style='width:300px;font-weight:normal;'>Quick Reference (see regular help for more):<ul style='margin-left:30px'><li><code>cs:</code> - match case sensitive</li><li><code>w:/wcs:</code> - match as whole word / case-sensitive</li><li><code>re:</code> - use regular expression</li><li><code>chan:chan1,chan2/!chan:</code> - restrict to channel(s) / inverted</li><li><code>user:name</code> - restrict to user with that name</li><li><code>cat:category</code> - restrict to users in that category</li></ul>Example: <code>user:botimuz cs:Bets open</code>��2chatty/gui/components/settings/HighlightSettings$1.����u����0chatty/gui/components/settings/HighlightSettings,chatty/gui/components/settings/SettingsPanel<html><body style='width:300px;font-weight:normal;'>Quick Reference (see regular help for more):<ul style='margin-left:30px'><li><code>cs:</code> - match case sensitive</li><li><code>w:/wcs:</code> - match as whole word / case-sensitive</li><li><code>re:</code> - use regular expression</li><li><code>chan:chan1,chan2/!chan:</code> - restrict to channel(s) / inverted</li><li><code>user:name</code> - restrict to user with that name</li><li><code>cat:category</code> - restrict to users in that category</li></ul>(Z)VaddTitledPanel*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsinsetsbottomIanchoraddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V(IIII)VaddListSettingD(Ljava/lang/String;IIZ)Lchatty/gui/components/settings/ListSelector;+chatty/gui/components/settings/ListSelectorsetInfo(Ljava/lang/String;)V5(Lchatty/gui/components/settings/HighlightSettings;)VsetDataFormatter1(Lchatty/gui/components/settings/DataFormatter;)VfillweightxDweighty!%&)*+,-*+./0**�*�M+�N-�Y�d�-�,+	�-��
Y�:+�N-�-�,+�-�+�N-�-�,+�-�+�N-�-�,+�-�+�N-�-�,+�-�+�N-�
Y��+���:��Y*� �!-�"-�#-�$,-��1�!#$$%*&9*G,P-V.\/k4t5z6�7�;�<�=�>�C�D�E�F�J�K�L�MNUVW"X)e2>*34*56789:G�;<�+=>?@(PKˣG.Q�f
f
4chatty/gui/components/settings/HistorySettings.class���3�/LMNO	.P	.QR.STU	VWXYZT[\]L^_`abcdeTfg@Ohi	VjklmnopqrstuvwxTyz{|clearHistoryLjavax/swing/JButton;d/Lchatty/gui/components/settings/SettingsDialog;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/settings/HistorySettings;mainLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;dayspresetsdaysPresetsactionPerformed(Ljava/awt/event/ActionEvent;)VresultIeLjava/awt/event/ActionEvent;
StackMapTableSourceFileHistorySettings.java5}javax/swing/JButton
Clear history5~12347Channel History (shown in the Favorites/History Dialog)������FsaveChannelHistoryEnable History<If enabled, automatically add joined channels to the history����javax/swing/JPanel��java/awt/FlowLayout��historyClear&Only keep channels joined in the last ��channelHistoryKeepDays��javax/swing/JLabeljava/awt/Insets5����<html><body style='width: 280px'>Expired entries (defined as per the setting above) are automatically deleted from the history when you start Chatty.��9Status Presets (shown in the Presets in the Admin Dialog)saveStatusHistoryEIf enabled, automatically add used status (title/game) to the historystatusHistoryClear#Only keep entries used in the last -Whether to remove old status history entries.statusHistoryKeepDays���*Do you want to delete all history entries?���1}.chatty/gui/components/settings/HistorySettings,chatty/gui/components/settings/SettingsPaneljava/awt/event/ActionListener()V(Ljava/lang/String;)VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsanchoraddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;add)(Ljava/awt/Component;Ljava/lang/Object;)V	getLayout()Ljava/awt/LayoutManager;setVgap(I)V*(Ljava/awt/Component;)Ljava/awt/Component;addSimpleLongSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;(IIII)VinsetsLjava/awt/Insets;addActionListener"(Ljava/awt/event/ActionListener;)Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;javax/swing/JOptionPaneshowConfirmDialog=(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;II)I!./01234567t~*�*�Y��*+�*�M+�	N-�,+
�-��Y�:���+��W+��W�Y��W+�	N-�-�Y�� ,-�+�	N-�Y�� ,�Y!�-�+�	N-�,*�-�*�*�"*#�:+�	N-�+$%�-��Y�:���+&'(��W+)��W�Y��W+�	N-�-�Y�� -��8�% '!-"<$E%Q&a'o(~*�+�,�-�/�0�1�6�7�8�:�<�>�?@CD)E9HGIVK_LeMuN}P9H~:;~34`<='W>?E9@=��A=aB=CD7y"+�**��*+�,=�*��-�8TU[\!_9 EF":;"GHI!JKPKˣG$�����@chatty/gui/components/settings/HotkeyEditor$MyItemEditor$1.class���3r	34567894:;<	=>?@ABCDEFGHIJLthis$0OMyItemEditorInnerClasses:Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;<init>=(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)VCodeLineNumberTableLocalVariableTablethis<Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor$1;
hotkeyChanged(Ljavax/swing/KeyStroke;)V	newHotkeyLjavax/swing/KeyStroke;
hotkeyEnteredmessageLjava/lang/String;hotkeyLchatty/util/hotkeys/Hotkey;
StackMapTablePSourceFileHotkeyEditor.javaEnclosingMethodSTUVWXYZ[java/lang/StringBuilderUsed already: \]^_P`*abcjava/lang/StringdefghijklmnT:chatty/gui/components/settings/HotkeyEditor$MyItemEditor$1java/lang/ObjectoAchatty/gui/components/settings/HotkeyTextField$HotkeyEditListenerHotkeyEditListenerp8chatty/gui/components/settings/HotkeyEditor$MyItemEditorchatty/util/hotkeys/HotkeyqMyTableModelR(Ljavax/swing/JDialog;Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;)V()Vaccess$002j(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;Ljavax/swing/KeyStroke;)Ljavax/swing/KeyStroke;access$100access$200o(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;Ljavax/swing/KeyStroke;)Lchatty/util/hotkeys/Hotkey;access$300X(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Lchatty/util/hotkeys/Hotkey;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;access$400K(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljava/util/Map;actionId
java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;toString()Ljava/lang/String;access$500P(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JLabel;javax/swing/JLabelsetText(Ljava/lang/String;)Vaccess$600Q(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JDialog;javax/swing/JDialogpack.chatty/gui/components/settings/HotkeyTextField+chatty/gui/components/settings/HotkeyEditor8chatty/gui/components/settings/HotkeyEditor$MyTableModel 4*+�*��� !#$%M*�+�W*����	�� !#&'(%�l*�+�M,�L,*���A�Y�	�*��,��
���N*��-�*����*���*����&	�	��>�I�S�V�a�k� *>)*l!#l&'	c+,-	�V./012"N	KM	QNRPKˣG�'�@chatty/gui/components/settings/HotkeyEditor$MyItemEditor$2.class���3-	 !"#this$0%MyItemEditorInnerClasses:Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;<init>=(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)VCodeLineNumberTableLocalVariableTablethis<Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor$2;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileHotkeyEditor.javaEnclosingMethod()*
:chatty/gui/components/settings/HotkeyEditor$MyItemEditor$2java/lang/Object"javax/swing/event/DocumentListener+8chatty/gui/components/settings/HotkeyEditor$MyItemEditor,MyTableModelR(Ljavax/swing/JDialog;Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;)V()Vaccess$100+chatty/gui/components/settings/HotkeyEditor8chatty/gui/components/settings/HotkeyEditor$MyTableModel 
4*+�*���@*�����@*�����@*�����$		&$'PKˣG]i:���@chatty/gui/components/settings/HotkeyEditor$MyItemEditor$3.class���3R	
&'()*+,-./0123456this$08MyItemEditorInnerClasses:Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;<init>=(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)VCodeLineNumberTableLocalVariableTablethis<Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileHotkeyEditor.javaEnclosingMethod;<=>?@ABCDEFGAHIJKLMNO:chatty/gui/components/settings/HotkeyEditor$MyItemEditor$3java/lang/Objectjava/awt/event/ActionListenerP8chatty/gui/components/settings/HotkeyEditor$MyItemEditorQMyTableModelR(Ljavax/swing/JDialog;Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$700Q(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JButton;access$600Q(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JDialog;javax/swing/JDialogsetVisible(Z)Vaccess$800access$002j(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;Ljavax/swing/KeyStroke;)Ljavax/swing/KeyStroke;access$900o(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Lchatty/gui/components/settings/ComboStringSetting;access$100access$1000V(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JRadioButton;access$1100+chatty/gui/components/settings/HotkeyEditor8chatty/gui/components/settings/HotkeyEditor$MyTableModel 
4*+�*����o+�*���*����U+�*���*��W*����0+�*��	�
*���+�*���*���*���*�3�A�O�Y�g�n�oo !$"#$%7	
97:PKˣG~ �9..>chatty/gui/components/settings/HotkeyEditor$MyItemEditor.class���3��	�	�	�	�	�	�	�	�� �!	�"�#$%&'#	�()#*+,	�-.	�/012,3	�45"6	�789&:%;	�<=>+:?@A.BC.D.EF3:GGGH8#8IJ;#;KL>M;NOA#.PQRS,.T	UV?�	UWX	UY	Z[\]P^	U_`a?�������.b.cde.f	qgh	qi%j	qklmb#�bn	qobpbq"l	qr�stl%u.vwx�yz�{q|"z}~	���	���	��������	��	���������������������MyItemEditorInnerClassesGLOBAL_HOTKEY_WARNING_GENERALLjava/lang/String;
ConstantValue�GLOBAL_HOTKEY_WARNING_VERSIONGLOBAL_HOTKEY_WARNING_ERROR�dialogLjavax/swing/JDialog;actionId3Lchatty/gui/components/settings/ComboStringSetting;customLjavax/swing/JTextField;
hotkeyChooser0Lchatty/gui/components/settings/HotkeyTextField;hotkeyInfoLjavax/swing/JLabel;delay.Lchatty/gui/components/settings/LongTextField;
currentHotkeyLjavax/swing/KeyStroke;globalHotkeysAvailableZ"globalHotkeysAvailableWarningShowndata�MyTableModel:Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;actionNamesLjava/util/Map;	Signature5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;presetLchatty/util/hotkeys/Hotkey;regularLjavax/swing/JRadioButton;applicationWideglobalokLjavax/swing/JButton;cancel<init>R(Ljavax/swing/JDialog;Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;)VCodeLineNumberTableLocalVariableTablethis:Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;ownerlistenerLjava/awt/event/ActionListener;scopeSelectionLjavax/swing/ButtonGroup;scopeSelectionPanelLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;showEditorO(Lchatty/util/hotkeys/Hotkey;Ljava/awt/Component;Z)Lchatty/util/hotkeys/Hotkey;actioncLjava/awt/Component;edit
StackMapTablegetDelay()Iex!Ljava/lang/NumberFormatException;
setHotkeyType�Type$(Lchatty/util/hotkeys/Hotkey$Type;)Vtype!Lchatty/util/hotkeys/Hotkey$Type;
getHotkeyType#()Lchatty/util/hotkeys/Hotkey$Type;
updateButtons()V
customEnabledenabled%checkForGlobalHotkeyWarningsetActions(Ljava/util/Map;)VactionsLocalVariableTypeTable8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VsetGlobalHotkeysAvailable(Z)V	availablegetHotkeyForKeyStroke5(Ljavax/swing/KeyStroke;)Lchatty/util/hotkeys/Hotkey;hotkeyiI	keyStroke;(Ljava/lang/Object;Ljava/awt/Component;Z)Ljava/lang/Object;x0Ljava/lang/Object;x1x2access$002j(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;Ljavax/swing/KeyStroke;)Ljavax/swing/KeyStroke;access$100=(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Vaccess$200o(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;Ljavax/swing/KeyStroke;)Lchatty/util/hotkeys/Hotkey;access$300X(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Lchatty/util/hotkeys/Hotkey;access$400K(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljava/util/Map;access$500P(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JLabel;access$600Q(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JDialog;access$700Q(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JButton;access$800access$900o(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Lchatty/gui/components/settings/ComboStringSetting;access$1000V(Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;)Ljavax/swing/JRadioButton;access$1100ItemEditorgLjava/lang/Object;Lchatty/gui/components/settings/TableEditor$ItemEditor<Lchatty/util/hotkeys/Hotkey;>;SourceFileHotkeyEditor.java��������������������������1chatty/gui/components/settings/ComboStringSettingjava/lang/String��javax/swing/JTextField��javax/swing/JLabeljavax/swing/JRadioButtonRegular����Application��Globaljavax/swing/JButtonDoneCancel��,chatty/gui/components/settings/LongTextField����.chatty/gui/components/settings/HotkeyTextField:chatty/gui/components/settings/HotkeyEditor$MyItemEditor$1�������:chatty/gui/components/settings/HotkeyEditor$MyItemEditor$2���javax/swing/JDialog��	Edit Item����:chatty/gui/components/settings/HotkeyEditor$MyItemEditor$3��javax/swing/ButtonGroup��javax/swing/JPanel��java/awt/FlowLayout����java/awt/GridBagLayout�����Action:�������Hotkey:�������java/awt/Insets����Delay:(1/10th seconds)����	Edit itemAdd item��������������java/lang/StringBuilder������������0������chatty/util/hotkeys/Hotkey�����������java/lang/NumberFormatException����������custom.�������������<html><body style='width:300px;'>Global Hotkey feature is not available in this version, so global hotkeys will not work.<br /><br />This message will not be shown again this session.Global Hotkeys not available�����--Select Action--��������������8chatty/gui/components/settings/HotkeyEditor$MyItemEditorjava/lang/Object�5chatty/gui/components/settings/TableEditor$ItemEditor><br /><br />This message will not be shown again this session.�<html><body style='width:300px;'>Global Hotkey feature was not initialized properly, so global hotkeys will not work.<br /><br />This message will not be shown again this session.8chatty/gui/components/settings/HotkeyEditor$MyTableModelchatty/util/hotkeys/Hotkey$Type([Ljava/lang/String;)V(Ljava/lang/String;)V(IZ)V�HotkeyEditListenerG(ILchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener;)VgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)V(Ljava/awt/Dialog;)VsetTitlesetModaladdActionListener"(Ljava/awt/event/ActionListener;)Vadd(Ljavax/swing/AbstractButton;)V	getLayout()Ljava/awt/LayoutManager;setVgap(I)V*(Ljava/awt/Component;)Ljava/awt/Component;	setLayout(Ljava/awt/LayoutManager;)Vchatty/gui/GuiUtilmakeGbc#(IIII)Ljava/awt/GridBagConstraints;)(Ljava/awt/Component;Ljava/lang/Object;)Vjava/awt/GridBagConstraintsfillweightxDanchorjava/awt/ColorredLjava/awt/Color;
setForeground(Ljava/awt/Color;)V(IIII)VinsetsLjava/awt/Insets;packsetResizablesetLocationRelativeTo(Ljava/awt/Component;)VsetSettingValue	setHotkey(Ljavax/swing/KeyStroke;)VsetTextappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;requestFocusInWindow()ZsetVisiblegetSettingValuegetText`(Ljava/lang/String;Ljavax/swing/KeyStroke;Lchatty/util/hotkeys/Hotkey$Type;Ljava/lang/String;I)Vjava/lang/IntegerparseInt(Ljava/lang/String;)IAPPLICATIONsetSelectedGLOBALisSelectedREGULARstartsWith(Ljava/lang/String;)ZsetEnabledsetEditableisEmptyjavax/swing/JOptionPaneshowMessageDialog<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)Vclear'(Ljava/lang/Object;Ljava/lang/String;)VaddDatagetRowCountget(I)Ljava/lang/Object;javax/swing/KeyStrokeequals(Ljava/lang/Object;)Z+chatty/gui/components/settings/HotkeyEditor*chatty/gui/components/settings/TableEditorAchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener!��������������������������������������������������������*�
*�Y���*�Y��*�Y��*�Y��*�Y��*�Y��*�Y��*�Y ��*,�!*�"Y�#�$*�%Y�&Y*�'�(�)*��*�+Y*�,�-*�.Y+�/�*�0�1*��2�3Y*�4N*�-�5*�-�5*�-�6*�-�7�8Y�9:*��:*��:*��:�;Y�<:�=�>�?*��@W*��@W*��@W*��AY�B�C�D:*��YE�F�G�D:�HI�K*�*��G�D:�HI�K*�*��G�D:*��YL�F�G�D:�HI�K*�*�)�G�D:�M*��N�O�PY�Q�R*�*��G�D:�M*��G�D:�M*��YS�F�G�D:�M*�*�$�G�D:�M*��YT�F�G�D:�HI�K*�*��G�D:�HU�K*�*��G*��W*��X��.K�|}�)�6�C�P�]�j�o�|����������������������������$�.�8�B�P�Y�k�t�z������������������������������)29DMTf	ov�
��������������H����������4��������Y��������*+�	�*�Y�1�*�Z�1*�,�[+�L*�+�\�]*�)+�^�_*�+�`�a*�$�bY�cd�e+�f�g�h�i*+�j�k�)*��]*�)�_*��a*�$l�i*�k*��m*��W*�*�)�nW*��o*��p�0*��)*��p:�qY*�*�r*��s*�t�u���f!$	%')&,*-5.@/K0h1s3{4�5�6�7�;�<�=�>�A�D�E�F�I�4�����������������T%�Y���^*�$�v�w�L�x�NOP������K�����-+�y�*��z�+�{�*��z�*��z��UVWX$[,]�-��-������d *��|��y�*��|��{��}��`abce� ���
����\*��pL+�+~���=*���*���*��p�*���*��s����>*�����ijk#l+nSp[q�*\��T��A��S	�����@�2@���i**��|�"*���*���*�����*����tv${)}�*���)����)*���*�����*�+��*+�*��W������!�(��)��)���)�������>*���������������.=*�!���"*�!���qN-�^+���-��������
��$�&�,��*
��*��.��.����#�A���S*+�q,����j�*�����������;*+Z���j�������/*���j����:*+���j������/*�	��j����/*���j����/*���j���	�/*���j����/*���j���
�/*���j����/*���j����/*���j����/*���j�����B���	3+&����q�@��	�%�	PKˣG�6�6HH>chatty/gui/components/settings/HotkeyEditor$MyTableModel.class���3m>?@ABCD	EFGH	IJK	LMNDOPQRS	T	UVXYactionsLjava/util/Map;	Signature5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;<init>()VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses:Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;setActions(Ljava/util/Map;)VLocalVariableTypeTable8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VgetValueAt(II)Ljava/lang/Object;hotkeyLchatty/util/hotkeys/Hotkey;actionLjava/lang/String;rowIndexIcolumnIndex
StackMapTableH>getColumnClass(I)Ljava/lang/Class;cMLchatty/gui/components/settings/ListTableModel<Lchatty/util/hotkeys/Hotkey;>;SourceFileHotkeyEditor.javajava/lang/StringActionHotkeyTypeZjava/util/HashMap )[\chatty/util/hotkeys/Hotkey]1^[_`1abjava/lang/StringBuildercd ()efgfhijk1l8chatty/gui/components/settings/HotkeyEditor$MyTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)Vget(I)Ljava/lang/Object;actionId
java/util/Map&(Ljava/lang/Object;)Ljava/lang/Object;customisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;
getHotkeyTexttype!Lchatty/util/hotkeys/Hotkey$Type;chatty/util/hotkeys/Hotkey$Typename+chatty/gui/components/settings/HotkeyEditor  !U#*�YSYSYS�*�Y���"HE"I##$'()!W
*�Y+�	��"LM#
$'
*
+,-!�u�T*��N*�-��
�:-��/-���%�Y���-����:��*����*�����"&	QR
ST0URWUXZYf[#4
H./601u$'u23u435�R67�89!8�"a#$':3;<=&W%UA@PKˣG�m"��1chatty/gui/components/settings/HotkeyEditor.class���3Q123	4567	89:;<;=>?MyItemEditorInnerClassesMyTableModelitemEditor:Lchatty/gui/components/settings/HotkeyEditor$MyItemEditor;data:Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis-Lchatty/gui/components/settings/HotkeyEditor;ownerLjavax/swing/JDialog;setData#(Ljava/util/Map;Ljava/util/List;Z)VactionsLjava/util/Map;hotkeysLjava/util/List;globalHotkeysAvailableZLocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;.Ljava/util/List<Lchatty/util/hotkeys/Hotkey;>;	Signatureg(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/List<Lchatty/util/hotkeys/Hotkey;>;Z)VJLchatty/gui/components/settings/TableEditor<Lchatty/util/hotkeys/Hotkey;>;SourceFileHotkeyEditor.java@8chatty/gui/components/settings/HotkeyEditor$MyTableModelABC8chatty/gui/components/settings/HotkeyEditor$MyItemEditorDEHIJKL!MNO+chatty/gui/components/settings/HotkeyEditor*chatty/gui/components/settings/TableEditor(IZ)V()VsetModel2(Lchatty/gui/components/settings/ListTableModel;)VR(Ljavax/swing/JDialog;Lchatty/gui/components/settings/HotkeyEditor$MyTableModel;)V
setItemEditorPItemEditor:(Lchatty/gui/components/settings/TableEditor$ItemEditor;)VsetFixedColumnWidth(II)VsetActions(Ljava/util/Map;)V(Ljava/util/List;)VsetGlobalHotkeysAvailable(Z)V5chatty/gui/components/settings/TableEditor$ItemEditor!�9*�*�Y��**��*�Y+*���**��	*<��(%)*)+1-8.99 !"�*�+�*,�*�+�
*���:;
<=>*#$%&'()#*%+,-,./0	FG	PKʣG
۝$		3chatty/gui/components/settings/HotkeySettings.class���3k:	;<=>?	@ABCD>EFGHI	JKLM	@N	@O	@PQRSTd/Lchatty/gui/components/settings/SettingsDialog;data-Lchatty/gui/components/settings/HotkeyEditor;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/settings/HotkeySettings;mainLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;setData#(Ljava/util/Map;Ljava/util/List;Z)VactionsLjava/util/Map;hotkeysLjava/util/List;globalHotkeysAvailableZLocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;.Ljava/util/List<Lchatty/util/hotkeys/Hotkey;>;	Signatureg(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/List<Lchatty/util/hotkeys/Hotkey;>;Z)VgetData()Ljava/util/List;0()Ljava/util/List<Lchatty/util/hotkeys/Hotkey;>;SourceFileHotkeySettings.javaUHotkeysVWXYZ[\]globalHotkeysEnabledEnable global hotkeys2Enable or disable currently defined global hotkeys^_`ab+chatty/gui/components/settings/HotkeyEditorcjava/awt/Dimensiondefg]hiji()56-chatty/gui/components/settings/HotkeySettings,chatty/gui/components/settings/SettingsPanel(Z)VaddTitledPanel*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsanchorIaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljavax/swing/JDialog;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VfillweightxDweighty!�q*�*+�*�M+�N-�,+	�-�*�Y+�
�*��Y��+�N-�-�-�,*�-�� :"1#=$O%X&]'b(g)p*!*q"#q^$%U&'()s*�+,�� ./!*"#*+,-./0*1,234562*��� 2!"#3789PKˣG�KHWW6chatty/gui/components/settings/HotkeyTextField$1.class���3?	'	(	)*+%,-./012val$listener3HotkeyEditListenerInnerClassesCLchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener;this$00Lchatty/gui/components/settings/HotkeyTextField;<init>v(Lchatty/gui/components/settings/HotkeyTextField;Lchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener;)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/settings/HotkeyTextField$1;keyPressed(Ljava/awt/event/KeyEvent;)VeLjava/awt/event/KeyEvent;	newHotkeyLjavax/swing/KeyStroke;keyTypedkeyReleasedSourceFileHotkeyTextField.javaEnclosingMethod456789:;<;=>60chatty/gui/components/settings/HotkeyTextField$1java/lang/Objectjava/awt/event/KeyListenerAchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener.chatty/gui/components/settings/HotkeyTextFieldG(ILchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener;)V()Vjavax/swing/KeyStrokegetKeyStrokeForEvent2(Ljava/awt/event/KeyEvent;)Ljavax/swing/KeyStroke;	setHotkey(Ljavax/swing/KeyStroke;)V
hotkeyEnteredjava/awt/event/KeyEventconsume 	9*+�*,�*��j+�M*�,�*�,�+��
   =+��$%!=+��)*"#$%&%
	PKˣGv��2VVGchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener.class���3	
hotkeyChanged(Ljavax/swing/KeyStroke;)V
hotkeyEnteredSourceFileHotkeyTextField.java
Achatty/gui/components/settings/HotkeyTextField$HotkeyEditListenerHotkeyEditListenerInnerClassesjava/lang/Object.chatty/gui/components/settings/HotkeyTextField	PKˣG5��n4chatty/gui/components/settings/HotkeyTextField.class���3A
&	'()*+	,-./01234HotkeyEditListenerInnerClasseslistenerCLchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener;hotkeyLjavax/swing/KeyStroke;<init>G(ILchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/settings/HotkeyTextField;sizeI	setHotkey(Ljavax/swing/KeyStroke;)V
StackMapTable	getHotkey()Ljavax/swing/KeyStroke;SourceFileHotkeyTextField.java50chatty/gui/components/settings/HotkeyTextField$16789:;<=>?No hotkey set.@ .chatty/gui/components/settings/HotkeyTextFieldjavax/swing/JTextFieldAchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener(I)Vv(Lchatty/gui/components/settings/HotkeyTextField;Lchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener;)VaddKeyListener(Ljava/awt/event/KeyListener;)VsetFocusTraversalKeysEnabled(Z)Vchatty/util/hotkeys/HotkeykeyStrokeToText+(Ljavax/swing/KeyStroke;)Ljava/lang/String;setText(Ljava/lang/String;)V
hotkeyChanged!
k*�*,�*�Y*,��*��-.  w%*+�+�*+��	�	*�	*�+��78	9;=$>%%!"#/*��G$%	PKˣG�a;S;;5chatty/gui/components/settings/IgnoreSettings$1.class���3T	2	3	4	56"789:;<=>?@ABCDval$mode1Lchatty/gui/components/settings/ComboLongSetting;val$ignoreShowNotDialogLjavax/swing/JCheckBox;val$modeInfoLjavax/swing/JLabel;this$0/Lchatty/gui/components/settings/IgnoreSettings;<init>�(Lchatty/gui/components/settings/IgnoreSettings;Lchatty/gui/components/settings/ComboLongSetting;Ljavax/swing/JCheckBox;Ljavax/swing/JLabel;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/IgnoreSettings$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;infoLjava/lang/String;
StackMapTableESourceFileIgnoreSettings.javaEnclosingMethodFGHIJKjava/lang/LongLM0Doesn't show ignored messages in the chat at allNOP5Regulary shows the number of ignored messages in chat8Lists the name of the sender of ignored messages in chatQRS/chatty/gui/components/settings/IgnoreSettings$1java/lang/Objectjava/awt/event/ActionListenerjava/lang/String-chatty/gui/components/settings/IgnoreSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()V/chatty/gui/components/settings/ComboLongSettinggetSettingValue()Ljava/lang/Object;	longValue()Jjavax/swing/JCheckBoxsetEnabled(Z)Vjavax/swing/JLabelsetText(Ljava/lang/String;)V D*+�*,�*-�*�*��6 !$%&�kM*����		��M*���B*����	��M*���"*����	
��M*��*�,��2:;<=#>5?8@CAWBZCbEjF  k!$k'(h)*+�#,-./01#PKˣG��$��5chatty/gui/components/settings/IgnoreSettings$2.class���3/	"#$%&'()this$0/Lchatty/gui/components/settings/IgnoreSettings;<init>2(Lchatty/gui/components/settings/IgnoreSettings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/IgnoreSettings$2;format&(Ljava/lang/String;)Ljava/lang/String;inputLjava/lang/String;&(Ljava/lang/Object;)Ljava/lang/Object;x0Ljava/lang/Object;	SignatureTLjava/lang/Object;Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;SourceFileIgnoreSettings.javaEnclosingMethod*+	,-.java/lang/String/chatty/gui/components/settings/IgnoreSettings$2java/lang/Object,chatty/gui/components/settings/DataFormatter-chatty/gui/components/settings/IgnoreSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vtrim()Ljava/lang/String; 	
4*+�*��d
9+��hA
=	*+���d		 !PKˣG^D���5chatty/gui/components/settings/IgnoreSettings$3.class���31	 ! "#$%this$0/Lchatty/gui/components/settings/IgnoreSettings;<init>2(Lchatty/gui/components/settings/IgnoreSettings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/IgnoreSettings$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileIgnoreSettings.javaEnclosingMethod&'	()+,-./0/chatty/gui/components/settings/IgnoreSettings$3java/lang/Objectjava/awt/event/ActionListener-chatty/gui/components/settings/IgnoreSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vaccess$000IgnoredUsersm(Lchatty/gui/components/settings/IgnoreSettings;)Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers;:chatty/gui/components/settings/IgnoreSettings$IgnoredUserssetLocationRelativeTo(Ljava/awt/Component;)VsetVisible(Z)V 	
4*+�*��o
V*��*��*����stu *PKˣG�y-9ssBchatty/gui/components/settings/IgnoreSettings$IgnoredUsers$1.class���3.!"#$%&'(<init>()VCodeLineNumberTableLocalVariableTablethis*IgnoredUsersInnerClasses>Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers$1;format&(Ljava/lang/String;)Ljava/lang/String;inputLjava/lang/String;&(Ljava/lang/Object;)Ljava/lang/Object;x0Ljava/lang/Object;	SignatureTLjava/lang/Object;Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;SourceFileIgnoreSettings.javaEnclosingMethod\s+,java/lang/String<chatty/gui/components/settings/IgnoreSettings$IgnoredUsers$1java/lang/Object,chatty/gui/components/settings/DataFormatter-:chatty/gui/components/settings/IgnoreSettings$IgnoredUsersreplaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;-chatty/gui/components/settings/IgnoreSettings0	/*��
�=	+��
�		A=	*+���
�		 )PKˣG=ɠG��Bchatty/gui/components/settings/IgnoreSettings$IgnoredUsers$2.class���3)	 !this$0#IgnoredUsersInnerClasses<Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers;<init>?(Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers;)VCodeLineNumberTableLocalVariableTablethis>Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileIgnoreSettings.javaEnclosingMethod$%&'<chatty/gui/components/settings/IgnoreSettings$IgnoredUsers$2java/lang/Objectjava/awt/event/ActionListener(:chatty/gui/components/settings/IgnoreSettings$IgnoredUsers2(Lchatty/gui/components/settings/SettingsDialog;)V()VsetVisible(Z)V-chatty/gui/components/settings/IgnoreSettings 
4*+�*���A	*�����		"	PKˣG��M���@chatty/gui/components/settings/IgnoreSettings$IgnoredUsers.class���3�(D'EF'GHI'JKLMN	O'PQ	RS?�	RT	RUVKW	'XYZ[\]^O_`abc	Rd'e'f'gh%IjkIgnoredUsersInnerClasses	FORMATTER.Lchatty/gui/components/settings/DataFormatter;	SignatureBLchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis<Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers;d/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;ignoredChat-Lchatty/gui/components/settings/ListSelector;ignoredWhisperscloseButtonLjavax/swing/JButton;<clinit>()VSourceFileIgnoreSettings.java0lmn
Ignored Usersopjava/awt/GridBagLayout0Aqrstujavax/swing/JLabelIgnored in chat0pvwIgnored for whispersxyz{|}|ignoredUsers~,-���ignoredUsersWhisper�<html><body style='width:260px;'>These lists are independant from the main ignore list, so the users are ignored even if the Ignore system is disabled.javax/swing/JButtonClose<chatty/gui/components/settings/IgnoreSettings$IgnoredUsers$20���java/awt/Insets0����A����<chatty/gui/components/settings/IgnoreSettings$IgnoredUsers$1�:chatty/gui/components/settings/IgnoreSettings$IgnoredUsersjavax/swing/JDialog(Ljava/awt/Dialog;)VsetDefaultCloseOperation(I)VsetTitle(Ljava/lang/String;)V	setLayout(Ljava/awt/LayoutManager;)V-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;add)(Ljava/awt/Component;Ljava/lang/Object;)Vjava/awt/GridBagConstraintsfillIweightxDweightyaddListSettingD(Ljava/lang/String;IIZ)Lchatty/gui/components/settings/ListSelector;+chatty/gui/components/settings/ListSelectorsetDataFormatter1(Lchatty/gui/components/settings/DataFormatter;)V?(Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers;)VaddActionListener"(Ljava/awt/event/ActionListener;)V(IIII)VinsetsLjava/awt/Insets;packgetPreferredSize()Ljava/awt/Dimension;setMinimumSize(Ljava/awt/Dimension;)V-chatty/gui/components/settings/IgnoreSettings '(,-./012�*+�*�*�*�Y��+�M*�	Y�,�+�M*�	Y
�,�+�M,�,�,�+���N-��*-,�+�M,�,�,�+���:��*,�+�M*�	Y�,��Y�:�Y*��+�M,�,�,�Y� �!*,�*�"**�#�$�3�"�����$�2�;�I�R�W�^�c�q�x�~���������������������������������4>5678$�9:q�;<�t=<�C>?@A2#�%Y�&��3�BC*'i)%PKˣGC��p3chatty/gui/components/settings/IgnoreSettings.class���3�	AkBlmnoApqr	stuvwqxyz{|}Z~E�������������q��$�	s�q����	s�	s�	s��q�����2�����5}	��5��:�5���q�=���IgnoredUsersInnerClassesINFO_IGNORELjava/lang/String;
ConstantValueignoredUsers<Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/settings/IgnoreSettings;d/Lchatty/gui/components/settings/SettingsDialog;baseLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;modeInfoLjavax/swing/JLabel;ignoreShowNotDialogLjavax/swing/JCheckBox;modeDefLjava/util/HashMap;mode1Lchatty/gui/components/settings/ComboLongSetting;items-Lchatty/gui/components/settings/ListSelector;ignoredUsersButtonLjavax/swing/JButton;LocalVariableTypeTable7Ljava/util/HashMap<Ljava/lang/Long;Ljava/lang/String;>;access$000m(Lchatty/gui/components/settings/IgnoreSettings;)Lchatty/gui/components/settings/IgnoreSettings$IgnoredUsers;x0SourceFileIgnoreSettings.javaIJK�:chatty/gui/components/settings/IgnoreSettings$IgnoredUsersKLIgnore Messages��������
ignoreEnabled
Enable IgnoreMIf enabled, shows messages that match the highlight criteria in another color�����javax/swing/JLabel-Shows the number of ignored messages regularyK�0Only show if ignored messages dialog is not openjava/util/HashMapK����Hide��Show countShow names/chatty/gui/components/settings/ComboLongSettingK�/chatty/gui/components/settings/IgnoreSettings$1K���ignoreMode��java/awt/InsetsK�����
ignoreOwnTextIgnore own messagesCIf enabled, ignores messages your wrote yourself. Good for testing.������ignore��.<html><body style='width:300px;font-weight:normal;'>Quick Reference (see regular help for more):<ul style='margin-left:30px'><li><code>cs:</code> - match case sensitive</li><li><code>w:/wcs:</code> - match as whole word / case-sensitive</li><li><code>re:</code> - use regular expression</li><li><code>chan:chan1,chan2/!chan:</code> - restrict to channel(s) / inverted</li><li><code>user:name</code> - restrict to user with that name</li><li><code>cat:category</code> - restrict to users in that category</li></ul>Example: <code>chan:joshimuz re:!bet.*</code>���/chatty/gui/components/settings/IgnoreSettings$2K���javax/swing/JButton
Ignored Users�����/chatty/gui/components/settings/IgnoreSettings$3chatty/gui/components/LinkLabelT<html><body style="width:220px;">Click on the Help link on the bottom left for help.��K�-chatty/gui/components/settings/IgnoreSettings,chatty/gui/components/settings/SettingsPanel(Z)VaddTitledPanel*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsanchorIaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/lang/String;)V()Vjava/lang/LongvalueOf(J)Ljava/lang/Long;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)V�(Lchatty/gui/components/settings/IgnoreSettings;Lchatty/gui/components/settings/ComboLongSetting;Ljavax/swing/JCheckBox;Ljavax/swing/JLabel;)VaddActionListener"(Ljava/awt/event/ActionListener;)VaddLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)V(IIII)VinsetsLjava/awt/Insets;$(IIIII)Ljava/awt/GridBagConstraints;fillweightyDweightxaddListSettingD(Ljava/lang/String;IIZ)Lchatty/gui/components/settings/ListSelector;+chatty/gui/components/settings/ListSelectorsetInfo2(Lchatty/gui/components/settings/IgnoreSettings;)VsetDataFormatter1(Lchatty/gui/components/settings/DataFormatter;)Vchatty/gui/GuiUtilSMALL_BUTTON_INSETS	setMargin(Ljava/awt/Insets;)VgetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)V!ABFGH0IJKLMS�*�*�Y+��*�M+�N-�,+	�-�
�Y�:+�:�Y�:	��W��W��W�Y�:�Y*� �!+"�#+�N-�$Y�%�&-�,-�
+
�'N-�$Y�%�&,-�
+
�'N-�$Y�%�&,-�
+�N-�$Y�%�&-
�,+()*�-�
+�N-�$Y�%�&-�+-�,-�-+.���/:0�1�2Y*�3�4,-�
�5Y6�7:		�8�9	�:Y*�;�<+�N-�$Y�%�&-�,	-�
+�N-�$Y�%�&,�=Y>+�?�@-�
�N�1 "$(#))*8.C/O1X2d3p4~5�6�H�I�J�K�L�N�O�P�R�STVW%X+Y:]C^S_X`]abbqcxd�k�m�n�o�w�x�y�z�|�}�~��Of�PQ�RS�TU#�VWC�XYO�Z[X�\]�t^_q�`a�fbc	dX�\efgM/*��NOhQijD"AC:2PKʣG�rɮ��2chatty/gui/components/settings/ImageSettings.class���3�%BC$DEFGHIEJKL	MN	OPQRSTUVWXYZ[\]^	$_`abEc	Md	Me	Mfghij
usericonsData/Lchatty/gui/components/settings/UsericonEditor;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/settings/ImageSettings;d/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;	usericonsLjavax/swing/JPanel;setData(Ljava/util/List;)VdataLjava/util/List;LocalVariableTypeTable#Ljava/util/List<Lchatty/Usericon;>;	Signature&(Ljava/util/List<Lchatty/Usericon;>;)VgetData()Ljava/util/List;%()Ljava/util/List<Lchatty/Usericon;>;SourceFileImageSettings.java(kUsericon Settings (Badges)lmnopusericonsEnabledShow UsericonsAShow mod/turbo/.. as icons. Changing this only affects new lines.qrstuvwxyz{customUsericonsEnabled%Enable Custom Usericons (table below).Configure custom usericons in the table below.botBadgeEnabledEnable Bot BadgebotNamesBTTVBTTV]Loads bot names from the BTTV API to give them the bot badge. BTTV emotes have to be enabled.botNamesFFZFFZ[Loads bot names from the FFZ API to give them the bot badge. FFZ emotes have to be enabled.-chatty/gui/components/settings/UsericonEditor(|&'java/awt/Dimension(}~���{����56=>,chatty/gui/components/settings/ImageSettings,chatty/gui/components/settings/SettingsPanel(Z)VaddTitledPanel*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialog
makeGbcCloser$(IIIII)Ljava/awt/GridBagConstraints;addSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)Vjava/awt/GridBagConstraintsinsetsLjava/awt/Insets;java/awt/InsetsleftI(Ljavax/swing/JDialog;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VmakeGbc#(IIII)Ljava/awt/GridBagConstraints;fillweightyDweightx!$%&'()*��*�*�N+�M-+�,�	+�M,�Y�`�-+
�,�	+�M-+�,�	+�M,�Y�`�-+�,�	+�M,�Y�`�-+�,�	*�Y+��*��Y����+�M,�,� ,�!-*�,�	�+^(3A P#[$j&u'�(�+�,�-�0�1�2�3�4�5�6�7,*�-.�/0�12�3456*S	*�+�"�+:;,	-.	789	7:;<=>*2*��#�+>,-.;?@APKˣGY��5��6chatty/gui/components/settings/InputListListener.class���3	valueChanged(Ljava/lang/String;)VSourceFileFontChooser.java0chatty/gui/components/settings/InputListListenerjava/lang/ObjectPKʣG�O��3chatty/gui/components/settings/ListSelector$1.class���3L	'()*%+%,%-%.%/%0%1%2%3%4%5678this$0-Lchatty/gui/components/settings/ListSelector;<init>0(Lchatty/gui/components/settings/ListSelector;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ListSelector$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileListSelector.javaEnclosingMethod9:;<=>?@ABCD@EF@GH@IJ@K-chatty/gui/components/settings/ListSelector$1java/lang/Objectjava/awt/event/ActionListener+chatty/gui/components/settings/ListSelector(Ljava/awt/Window;Z)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$000D(Lchatty/gui/components/settings/ListSelector;)Ljavax/swing/JButton;access$100G(Lchatty/gui/components/settings/ListSelector;)Ljavax/swing/JTextField;access$200access$300access$400access$500access$600access$700access$800access$900access$1000 4*+�*��/��+�*���+�*���
*���`+�*���
*���H+�*��	�
*���0+�*���
*���+�*��
�*���.34&647>9L:V<d=n?|@�B�� !	"#$%&PKʣG��3chatty/gui/components/settings/ListSelector$2.class���3#	this$0-Lchatty/gui/components/settings/ListSelector;<init>0(Lchatty/gui/components/settings/ListSelector;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ListSelector$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileListSelector.javaEnclosingMethod !"	-chatty/gui/components/settings/ListSelector$2javax/swing/AbstractAction+chatty/gui/components/settings/ListSelector(Ljava/awt/Window;Z)V()Vaccess$400 	4*+�*��F
@*���JK
PKʣG�4Bs||3chatty/gui/components/settings/ListSelector$3.class���3*	 !"this$0-Lchatty/gui/components/settings/ListSelector;<init>0(Lchatty/gui/components/settings/ListSelector;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ListSelector$3;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTableSourceFileListSelector.javaEnclosingMethod#	$	%&'()-chatty/gui/components/settings/ListSelector$3java/awt/event/MouseAdapter+chatty/gui/components/settings/ListSelector(Ljava/awt/Window;Z)V()Vjava/awt/event/MouseEvent
getClickCount()Iaccess$600 	4*+�*��O
U+��*���STV
PKʣG�_|SS3chatty/gui/components/settings/ListSelector$4.class���3%	 this$0-Lchatty/gui/components/settings/ListSelector;<init>0(Lchatty/gui/components/settings/ListSelector;)VCodeLineNumberTableLocalVariableTablethisInnerClasses/Lchatty/gui/components/settings/ListSelector$4;valueChanged)(Ljavax/swing/event/ListSelectionEvent;)Ve&Ljavax/swing/event/ListSelectionEvent;SourceFileListSelector.javaEnclosingMethod!	"	#$-chatty/gui/components/settings/ListSelector$4java/lang/Object'javax/swing/event/ListSelectionListener+chatty/gui/components/settings/ListSelector(Ljava/awt/Window;Z)V()Vaccess$1100 	4*+�*��[
@*���_`
PKʣGb᫮�'�'1chatty/gui/components/settings/ListSelector.class���3�J�J�	J�J�	J�J�	J�J�	J�J�	J�	J|	J	J	 
	"	%	J !"##$%6J&'9	9(	9)	9*	9+J,	9-	9.	9/0C12E3	J4	J56789I:;<	J=>?@AB~ECJDcEFGHIJKLMNOPOQRSTUVWXJYZ[\m]^_^`MabJcJd[[	JefghzijkInnerClassesBUTTON_SIZELjava/awt/Dimension;listLjavax/swing/JList;	Signature'Ljavax/swing/JList<Ljava/lang/String;>;dataLjavax/swing/DefaultListModel;2Ljavax/swing/DefaultListModel<Ljava/lang/String;>;addLjavax/swing/JButton;removechangemoveUpmoveDowninputLjavax/swing/JTextField;infoLjava/lang/String;	formatter.Lchatty/gui/components/settings/DataFormatter;BLchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;editor'Lchatty/gui/components/settings/Editor;<init>(Ljava/awt/Window;Z)VCodeLineNumberTableLocalVariableTablethis-Lchatty/gui/components/settings/ListSelector;parentLjava/awt/Window;enableSortingButtonsZbuttonActionLjava/awt/event/ActionListener;gbcLjava/awt/GridBagConstraints;
StackMapTable7lm'setInfo(Ljava/lang/String;)VconfigureButton<(Ljavax/swing/JButton;Ljava/lang/String;Ljava/lang/String;)VbuttonicontooltipaddItem()V
selectedIndexIitemRremoveItemi$Ljava/util/Iterator;nchangeItemnewValue
selectedValueswap(II)Vindex1index2tempupdateEditButtonssomethingIsSelectedexactlyOneIsSelectedgetData()Ljava/util/List;Ljava/util/List;eLjava/util/Enumeration;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;+Ljava/util/Enumeration<Ljava/lang/String;>;op&()Ljava/util/List<Ljava/lang/String;>;setData(Ljava/util/List;)V'(Ljava/util/List<Ljava/lang/String;>;)VgetSettingValuesetSettingValuevaluesetEnabled(Z)VenabledsetDataFormatter1(Lchatty/gui/components/settings/DataFormatter;)VE(Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;)Vformat&(Ljava/lang/String;)Ljava/lang/String;access$000D(Lchatty/gui/components/settings/ListSelector;)Ljavax/swing/JButton;x0access$100G(Lchatty/gui/components/settings/ListSelector;)Ljavax/swing/JTextField;access$2000(Lchatty/gui/components/settings/ListSelector;)Vaccess$300access$400access$500access$600access$700access$800access$900access$1000access$1100<clinit>TLjavax/swing/JPanel;Lchatty/gui/components/settings/ListSetting<Ljava/lang/String;>;SourceFileListSelector.java��������������������������javax/swing/JList��javax/swing/DefaultListModel��javax/swing/JButtonjavax/swing/JTextField-chatty/gui/components/settings/ListSelector$1��qrsturemoveItemsvwxyz-chatty/gui/components/settings/ListSelector$2{w|-chatty/gui/components/settings/ListSelector$3}~-chatty/gui/components/settings/ListSelector$4�list-add.png%Add item (or press enter in inputbox)��list-remove.pngRemove selected itemedit.png,Edit selected item (or double-click on item)	go-up.pngMove selected item upgo-down.pngMove selected item down����java/awt/GridBagLayout��java/awt/GridBagConstraints����������������javax/swing/JScrollPane��%chatty/gui/components/settings/Editor������javax/swing/ImageIcon+chatty/gui/components/settings/ListSelector�������������������Add entry:��������������������o��n����java/lang/String��������
Change entry:��������java/util/ArrayList��p�����������������java/awt/Dimension��javax/swing/JPanel*chatty/gui/components/settings/ListSettingjava/awt/Windowjava/awt/event/ActionListenerjava/util/Iteratorjava/util/Listjava/util/EnumerationgetInputMap()Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke(II)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VaddListSelectionListener,(Ljavax/swing/event/ListSelectionListener;)VaddActionListener"(Ljava/awt/event/ActionListener;)VsetModel(Ljavax/swing/ListModel;)V	setLayout(Ljava/awt/LayoutManager;)VgridxgridyfillweightxD)(Ljava/awt/Component;Ljava/lang/Object;)Vanchorgridheightweighty(Ljava/awt/Component;)V(Ljava/awt/Window;)Vjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VsetIcon(Ljavax/swing/Icon;)VsetToolTipTextsetPreferredSize(Ljava/awt/Dimension;)VsetSizesetMaximumSizesetMinimumSizeshowDialogJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;isEmpty()Zcontains(Ljava/lang/Object;)ZgetSelectedIndex()I(ILjava/lang/Object;)VsetSelectedValue(Ljava/lang/Object;Z)VaddElement(Ljava/lang/Object;)VsetTextgetSelectedValuesListiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;
removeElementsizeget(I)Ljava/lang/Object;getSelectedValueset'(ILjava/lang/Object;)Ljava/lang/Object;getSelectedIndices()[Ielements()Ljava/util/Enumeration;hasMoreElementsnextElementclear,chatty/gui/components/settings/DataFormatter&(Ljava/lang/Object;)Ljava/lang/Object;!J|}���������������������������������M�*�
*�Y��*�Y��*�Y��*�Y��	*�Y��*�Y��*�Y��*�Y���Y*�N*����*���Y*� �!*��"Y*�#�$*��%Y*�&�'**�()�***�	+,�***�-.�***�/0�***�12�**�-�3*�	-�3*�-�4*�-�3*�-�3*�-�3*�*��5*�6Y�7�8�9Y�::�;�<�=�>�>�=�;**��?�>�<�@**�	�?�<**��?�#�<**��?�<**��?�>�;�<�A�=�B*�CY*��D�?*�*�EY+�F�G���9,% 0!;"F#Q$\/eEwF�O�[�d�e�f�g�h�k�l�m�no
pr t+v4w:x@yFzL}R~X^�h�n�t�{������������������������������������4���������e���4�������������>*+�H�������������4+�IYJ,�K�L�M+-�N+�O�P+�O�Q+�O�R+�O�S������%�,�3��*4��4��4��4������b*�GTU*�H�VL*+�WL+�J+�X�C*�+�Y�8*��Z=�*�`+�[*�+�\�*�+�]*�U�^��*���,�4�9�D�P�X�a�� 4-��b��R���
�P������n*��Z<*��_�`M,�a�,�b�cN*�-�dW����7*��e�*�*��f�\��*�*�d�f�\��*��(�1�4�9�D�W�[�m��*(	����n��f������"����C*��g�cL*��Z=�-*�Gh+*�H�VN*-�WN-�-�X�
*�-�iW��"����'�-�8�B��*'��C��8��0���	�B����w'*��Z<�*d�j*�*�d�f�\������&��'������&����5*��Z<�**��ed�*`�j*�*�`�f�\�����"�4��5��-����4���|(*��f�cN*�*��f�iW*�-�iW�����'��*(��(��(��������D*��Z��<*��k���=*�	�l*��l*��l*��l����#�+�3�;�C�� D��3��#!���@�@����+�mY�nL*��oM,�p�+,�q�rW���+��)� +��#�����#��������������-*��s+�`M,�a�,�b�cN*�-�]����!),�*!����-��-���-�����������/*�t����������P*+�u�� !�������������M*��v*��w��%&'��������P*+�x��*+�������������`*�x�+�*�x+�y�c�+��78:���������/*���������/*���������/*���������/*�	��������/*���������/*���������/*���������/*���������/*���������/*���������/*���������/*���������'�zY�{�O������"%"PKʣG���ii0chatty/gui/components/settings/ListSetting.class���3
getSettingValue()Ljava/util/List;	Signature()Ljava/util/List<TT;>;setSettingValue(Ljava/util/List;)V(Ljava/util/List<TT;>;)V(<T:Ljava/lang/Object;>Ljava/lang/Object;SourceFileListSetting.java*chatty/gui/components/settings/ListSettingjava/lang/Object	PKˣG�w=���3chatty/gui/components/settings/ListTableModel.class���3{]^]	_	`abcdedfdghdidjkdldmmnodpqrscolumnNames[Ljava/lang/String;dataLjava/util/List;	SignatureLjava/util/List<TT;>;<init>([Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/settings/ListTableModel;columnsLocalVariableTypeTable4Lchatty/gui/components/settings/ListTableModel<TT;>;setData(Ljava/util/Collection;)VLjava/util/Collection;Ljava/util/Collection<TT;>;
StackMapTable(Ljava/util/Collection<TT;>;)Vclear()VgetData()Ljava/util/List;()Ljava/util/List<TT;>;get(I)Ljava/lang/Object;indexI(I)TT;add(Ljava/lang/Object;)IitemLjava/lang/Object;TT;(TT;)Iinsert(ILjava/lang/Object;)V(ITT;)Vsetcontains(Ljava/lang/Object;)Z(TT;)ZindexOfupdate(Ljava/lang/Object;)Vpresent(TT;)VmoveUp(I)ImoveDownremoveremovedswap(II)Vindex2tempgetRowCount()IgetColumnCount
getColumnName(I)Ljava/lang/String;n<<T:Ljava/lang/Object;>Ljavax/swing/table/AbstractTableModel;SourceFileListTableModel.java0java/util/ArrayList*t0)*u459DvUwQ9@BxyQCDF:B@PQN5zQ-chatty/gui/components/settings/ListTableModel$javax/swing/table/AbstractTableModelfireTableDataChangedjava/util/ListsizefireTableRowsInserted'(ILjava/lang/Object;)Ljava/lang/Object;fireTableRowsUpdatedfireTableRowsDeleted! !g*�*�Y��*+��"#$%&'$()*!�#+�*�Y���*�Y+��*��" !#%"&##$%#+'#$(#,-./0!F*��")*#$%'$(12!H�Y*���"2#$%'$(345!Q*��	�"<#$%67'$(89:!�+*�+�W**��*���*���"FG!H#+$%+;<'+$(+;=>?@!t*�,�
*��"RST# $%67;<'$(;=AB@!u*�,�W*��"]^_# $%67;<'$(;=ACD![*�+��"h#$%;<'$(;=EF:![*�+��"r#$%;<'$(;=>GH!�*+�=�	*+��"}~�# $%;<I7'$(;=-�JKL!y�*d�*d�d��"�����#$%67'$(-ML!�%*��d�*`�*`�`��"����#�#%$%%67'%$(-#N5!u*��M*�,�"���# $%67O<'$(O=8PQ!�-*��	N*�*��	�W*�-�W�"�� �,�#*-$%-67-R7"S<'-$("S=TU!F*���"�#$%'$(VU!B*���"�#$%'$(WX!M*�2�"�#$%Y7'$(Z[\PḲG^T��II2chatty/gui/components/settings/LogSettings$1.class���3%	 this$0,Lchatty/gui/components/settings/LogSettings;<init>/(Lchatty/gui/components/settings/LogSettings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses.Lchatty/gui/components/settings/LogSettings$1;itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;SourceFileLogSettings.javaEnclosingMethod!	"	#$,chatty/gui/components/settings/LogSettings$1java/lang/Objectjava/awt/event/ItemListener*chatty/gui/components/settings/LogSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vaccess$000 	4*+�*��)
@*���-.
PḲG��r���Achatty/gui/components/settings/LogSettings$ChannelFormatter.class���3C
))*+,-)./01
2456<init>()VCodeLineNumberTableLocalVariableTablethisChannelFormatterInnerClasses=Lchatty/gui/components/settings/LogSettings$ChannelFormatter;format&(Ljava/lang/String;)Ljava/lang/String;inputLjava/lang/String;
StackMapTable&(Ljava/lang/Object;)Ljava/lang/Object;x0Ljava/lang/Object;71(Lchatty/gui/components/settings/LogSettings$1;)V.Lchatty/gui/components/settings/LogSettings$1;	SignatureTLjava/lang/Object;Lchatty/gui/components/settings/DataFormatter<Ljava/lang/String;>;SourceFileLogSettings.java89#:;java/lang/StringBuilder<=>?@Ajava/lang/StringB;chatty/gui/components/settings/LogSettings$ChannelFormatterjava/lang/Object,chatty/gui/components/settings/DataFormatter,chatty/gui/components/settings/LogSettings$1isEmpty()ZstartsWith(Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;length()I*chatty/gui/components/settings/LogSettings 
/*����4+�'+�� +���Y��+��	L+��L+���(�0�2�44(	A=	*+����		 #9*���$%&'(
3!PḲGC��I��0chatty/gui/components/settings/LogSettings.class���3l}�~��}���?ٙ�����	����	����������	}���i�?�333333��	}���	}�� ���#��������)��	��	�����0�	��	�	}�?�	��	�������������������������������S��SSR��?�������	0`�	
ii}}	�	�i� !	"#$%ChannelFormatterInnerClassesinfoLjavax/swing/JLabel;modeSetting3Lchatty/gui/components/settings/ComboStringSetting;cardManagerLjava/awt/CardLayout;cardsLjavax/swing/JPanel;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/components/settings/LogSettings;d/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;mode	formatter=Lchatty/gui/components/settings/LogSettings$ChannelFormatter;	whitelist-Lchatty/gui/components/settings/ListSelector;	blacklistemptyemptyLabeltypes
otherSettingslogPath,Lchatty/gui/components/settings/PathSetting;timestampOptionsLjava/util/Map;comboLocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;update()VLjava/lang/String;infoTextswitchTo
StackMapTable$�access$000/(Lchatty/gui/components/settings/LogSettings;)Vx0SourceFileLogSettings.java����Channels to log to file&'()*+,-javax/swing/JLabelLogging Mode: �./0logModejava/lang/Stringalwaysoff12��,chatty/gui/components/settings/LogSettings$1��34java/awt/CardLayout��javax/swing/JPanel�5��java/awt/Dimension�678;chatty/gui/components/settings/LogSettings$ChannelFormatter�9logWhitelist:;<=>logBlacklistjava/awt/GridBagLayout<No List in this mode>?@ABC)Dnonejava/awt/Insets�EFG��HIJI
Message TypeslogInfo	Chat InfoMLog infos like stream title, messages from twitch, connecting, disconnecting.KLM*logBan
Bans/Timeouts"Log Bans/Timeouts as BAN messages.logMod	Mod/UnmodLog MOD/UNMOD messages.logJoinPartJoins/PartsLog JOIN/PART messages.	logSystemSystem Info.Messages that concern Chatty rather than chat.logViewerstatsViewerstats1Log viewercount stats in a semi-regular interval.logViewercountViewercount%Log the viewercount as it is updated.Other Settings*chatty/gui/components/settings/PathSettingjava/lang/StringBuilderNOPQRlogsSP�TUVWIFolder:java/util/LinkedHashMapXYZ[HH:mm:ss][hh:mm:ss a][hh:mm:ssa][yyyy-MM-dd HH:mm:ss][yyyy-MM-dd hh:mm:ss a][yyyy-MM-dd hh:mm:ssa]1chatty/gui/components/settings/ComboStringSetting�[\]logTimestampTimestamp:^_`abIcIdPefghNothing is logged.All channels are logged..All channels but those on the list are logged.)Only the channels on the list are logged.4<html><body style='width: 200px;text-align:center;'>i.jk*chatty/gui/components/settings/LogSettings,chatty/gui/components/settings/SettingsPanelcreateTitledPanel((Ljava/lang/String;)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsweightxD(Ljava/lang/String;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VaddComboStringSetting\(Ljava/lang/String;IZ[Ljava/lang/String;)Lchatty/gui/components/settings/ComboStringSetting;addItemListener (Ljava/awt/event/ItemListener;)V(Ljava/awt/LayoutManager;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)V1(Lchatty/gui/components/settings/LogSettings$1;)VaddListSettingD(Ljava/lang/String;IIZ)Lchatty/gui/components/settings/ListSelector;+chatty/gui/components/settings/ListSelectorsetDataFormatter1(Lchatty/gui/components/settings/DataFormatter;)Vjava/awt/ColorgrayLjava/awt/Color;
setForeground(Ljava/awt/Color;)V#(IIII)Ljava/awt/GridBagConstraints;(IIII)VinsetsLjava/awt/Insets;anchorIfilladdSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;
makeGbcCloser
chatty/ChattygetUserDataDirectory()Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString)(Ljava/awt/Component;Ljava/lang/String;)VaddStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;bottom.chatty/gui/components/settings/MessageSettingsaddTimestampFormat$(Ljava/util/Map;Ljava/lang/String;)V(Ljava/util/Map;)VsetEditable(Z)VgetGbc (I)Ljava/awt/GridBagConstraints;addPanel8(Ljavax/swing/JComponent;Ljava/awt/GridBagConstraints;)Vgridx	gridwidthgetSettingValuehashCode()Iequals(Ljava/lang/Object;)ZsetTextshow)(Ljava/awt/Container;Ljava/lang/String;)V!}~�����������R	d*�*�N+
�M,�-�	Y�,�*+
�YSYSYSYS��*��Y*��+�M,�-*�,�*�Y��*�Y*���*�� Y���!�"�#Y�$:+%�&:�'+(�&:�'*��*���Y�)Y�*�:�	Y+�:�,�-+�.�*�/�+�.M,�0Y�1�2-*�,�*�	Y�3�4+�.M,5�,�7,�8,�-*�4,�*9�:		+:;<�=+�>�	+?@A�=+�>�	+BCD�=+�>�	+EFG�=+�>�	+HIJ�=+�>�	+KLM�=+�>�	+NOP�=+�>�*Q�:�RY+�SY�T�U�VW�V�X�Y:+Z�[W+�.M,�8,\�,�2Y�^`�^�	Y_�+��,��`Y�a:�bc�bd�be�bf�bg�bh�b�iY�j:

�k+l
�[W�	Ym�+�.�
+��*�nM,�7*-,�o*�nM,�7,�p*	,�o*�nM,�q*,�o*���6M"$%&+(O)^0i1p2y5�6�7�9�:�;�<�=�?�@�A�BCDE(G1HAIJLUM^NeOkPpQuR~T�V�X�Z�\�^`b6f>h]ifjoktl{m�n�o�q�r�s�t�u�v�w�x�y�z�{�}~#�)�/�5�;�A�F�M�S�X�_�c���d��d��N��Y���������������i��^������	>&��]�������w��
����������*��rLsM/N+:6�t�h�l@G[���;�o+Ot)K�u�66�0�u�&6� �u�6��u�6�>&/8vM/N�wM/N�xMN�	yMN*�4�SY�Tz�V,�V�X�{*�*�-�|��J���������������������������������*�������������$�D���������/*���������#}PKʣG��-{��0chatty/gui/components/settings/LongSetting.class���3	getSettingValue()Ljava/lang/Long;setSettingValue(Ljava/lang/Long;)VSourceFileLongSetting.java*chatty/gui/components/settings/LongSettingjava/lang/ObjectPKˣG)]%��4chatty/gui/components/settings/LongTextField$1.class���3'	 !"this$0.Lchatty/gui/components/settings/LongTextField;<init>1(Lchatty/gui/components/settings/LongTextField;)VCodeLineNumberTableLocalVariableTablethisInnerClasses0Lchatty/gui/components/settings/LongTextField$1;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileLongTextField.javaEnclosingMethod#	$	%&.chatty/gui/components/settings/LongTextField$1java/lang/Object"javax/swing/event/DocumentListener,chatty/gui/components/settings/LongTextField(IZ)V()Vaccess$000 	4*+�*��
@*���!"
@*���&'
@*���+,
PKˣGl��rr4chatty/gui/components/settings/LongTextField$2.class���36	 !"#$%&'()this$0.Lchatty/gui/components/settings/LongTextField;<init>1(Lchatty/gui/components/settings/LongTextField;)VCodeLineNumberTableLocalVariableTablethisInnerClasses0Lchatty/gui/components/settings/LongTextField$2;focusGained(Ljava/awt/event/FocusEvent;)VeLjava/awt/event/FocusEvent;	focusLost
StackMapTableSourceFileLongTextField.javaEnclosingMethod*+,-./012345.chatty/gui/components/settings/LongTextField$2java/lang/Objectjava/awt/event/FocusListener,chatty/gui/components/settings/LongTextField(IZ)V()VgetText()Ljava/lang/String;java/lang/StringisEmpty()Zaccess$100B(Lchatty/gui/components/settings/LongTextField;)Ljava/lang/String;setText(Ljava/lang/String;)V 	
4*+�*��.5�2a*����*�*����6
79PKˣGk�X�ooBchatty/gui/components/settings/LongTextField$IntegerVerifier.class���35	#$%&'()+,this$0.Lchatty/gui/components/settings/LongTextField;<init>1(Lchatty/gui/components/settings/LongTextField;)VCodeLineNumberTableLocalVariableTablethisIntegerVerifierInnerClasses>Lchatty/gui/components/settings/LongTextField$IntegerVerifier;verify(Ljavax/swing/JComponent;)Zex!Ljava/lang/NumberFormatException;inputLjavax/swing/JComponent;	componentLjavax/swing/JTextField;
StackMapTable+-%)SourceFileLongTextField.java	.javax/swing/JTextField/0123java/lang/NumberFormatException4<chatty/gui/components/settings/LongTextField$IntegerVerifierjavax/swing/InputVerifierjavax/swing/JComponent()VgetText()Ljava/lang/String;java/lang/Long	parseLong(Ljava/lang/String;)J,chatty/gui/components/settings/LongTextField 	
4*+�*��C
�+�M,��X�N�GI
JKL*
� !"*PKˣGC�2chatty/gui/components/settings/LongTextField.class���3^	3456789:;<=> ?@8ABC8DEFGHIIntegerVerifierInnerClasses
previousValueLjava/lang/String;<init>(IZ)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/settings/LongTextField;sizeIeditableZinputChanged()V
StackMapTableaccess$0001(Lchatty/gui/components/settings/LongTextField;)Vx0access$100B(Lchatty/gui/components/settings/LongTextField;)Ljava/lang/String;SourceFileLongTextField.java)*JKL<chatty/gui/components/settings/LongTextField$IntegerVerifier-MNOP!javax/swing/text/AbstractDocumentchatty/gui/RegexDocumentFilter\D+QRS.chatty/gui/components/settings/LongTextField$1TUV.chatty/gui/components/settings/LongTextField$2WXYZ[\],chatty/gui/components/settings/LongTextFieldjavax/swing/JTextField(I)VsetEditable(Z)VsetInputVerifier(Ljavax/swing/InputVerifier;)VgetDocument()Ljavax/swing/text/Document;(Ljava/lang/String;)VsetDocumentFilter$(Ljavax/swing/text/DocumentFilter;)Vjavax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)VaddFocusListener!(Ljava/awt/event/FocusListener;)VgetText()Ljava/lang/String;java/lang/StringisEmpty()Z! �M*�*�*�*�Y*��*�	��Y�
�*�	�Y*��*�Y*���!"/@.L;" M#$M%&M'()* N*���**���!>?A"#$+,- /*��!".$/0 /*��!".$12PḲG�X漴�1chatty/gui/components/settings/MainSettings.class���3^����	]���	]�	]��]����������	���������������Z�����������2�{������8������	]�2�d����	]�������K�~�������Z����������2��Z������selectFontButtonLjavax/swing/JButton;fontChooser,Lchatty/gui/components/settings/FontChooser;onStart1Lchatty/gui/components/settings/ComboLongSetting;channelsLjavax/swing/JTextField;d/Lchatty/gui/components/settings/SettingsDialog;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis-Lchatty/gui/components/settings/MainSettings;gbcLjava/awt/GridBagConstraints;fontSettingsPanelLjavax/swing/JPanel;startSettingsPanellafSettingsPanelfontSetting4Lchatty/gui/components/settings/SimpleStringSetting;lineSpacingDefLjava/util/Map;lineSpacingonStartDeflafDeflaf3Lchatty/gui/components/settings/ComboStringSetting;LocalVariableTypeTable3Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;actionPerformed(Ljava/awt/event/ActionEvent;)VfontLjava/lang/String;fontSizeIresultchannelsEnabledZeLjava/awt/event/ActionEvent;
StackMapTableSourceFileMainSettings.javaj�javax/swing/JButtonSelect fontj�`a*chatty/gui/components/settings/FontChooserj�bchi	Chat Font��Startup	Look&Feel���javax/swing/JLabelFont Name:������Font Size:2chatty/gui/components/settings/SimpleStringSettingj�������
Line Spacing:java/util/HashMap��Smallest���SmallerSmallNormalBigBiggerBiggest/chatty/gui/components/settings/ComboLongSettingj�����	On start:java/util/LinkedHashMapDo nothingOpen connect dialog#Connect and join specified channels)Connect and join previously open channels#Connect and join favorited channelsde	Channels:autojoinChannel�fgLook&Feel:defaultDefaultsystemSystem1chatty/gui/components/settings/ComboStringSetting<(Restart of Chatty required for all changes to take effect.)	
java/lang/Long+chatty/gui/components/settings/MainSettings,chatty/gui/components/settings/SettingsPaneljava/awt/event/ActionListener()V(Ljava/lang/String;)V(Ljava/awt/Dialog;)VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)Vjava/awt/GridBagConstraintsanchor(IZ)VaddStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;addSimpleLongSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;addActionListener"(Ljava/awt/event/ActionListener;)VvalueOf(J)Ljava/lang/Long;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)VaddLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)V$(IIIII)Ljava/awt/GridBagConstraints;addSimpleStringSettingjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;getStringSetting&(Ljava/lang/String;)Ljava/lang/String;getLongSetting$(Ljava/lang/String;)Ljava/lang/Long;intValue()IshowDialog(Ljava/lang/String;I)IgetFontName()Ljava/lang/String;setStringSetting'(Ljava/lang/String;Ljava/lang/String;)VgetFontSize()Ljava/lang/Integer;java/lang/Integer	longValue()JsetLongSetting%(Ljava/lang/String;Ljava/lang/Long;)VgetSettingValueequals(Ljava/lang/Object;)Zjavax/swing/JTextFieldsetEnabled(Z)V!]^_`abcdefghijkl��*�*�Y��*�Y+��*+�	*�N*�:*
�:+�M-�Y�,�+�M,
�-�Y�,�+�M�Y�:+�W-,�+�M,�-+�,�*�*�+�M-*�,�+�M-�Y�,��Y�:	� �!W�"�!W#�%�!W&�(�!W)�+�!W,�.�!W/�1�!W�2Y�3:+4�5+�M,�-,�+
�6M�Y7�,��8Y�9:			�:�!W	�;�!W	#�<�!W	&�=�!W	)�>�!W*�2Y	�3�?*�?*�@+A*�?�5+�6M*�?,�+
�6M�YB�,�+�6M*+C�D�E*�E,�+�M�YF�,��8Y�9:GH�!WIJ�!W�KY�L:+M�W+�6M,�+�M�YN�,��mC""*#3$<*E+S,\-b.p1y2�3�4�5�6�7�:�;�<�>�?�A�B�CDE(F8GHHXIcJkKtLzM�O�P�R�S�T�U�V�W�X�YZ[\$^/_>aIbVc`eifxh�i�j�k�l�m�n�p�q�rnz�op�hiE�qr*�st3�ut<�vt�Twx��yzcv{e�5|z	�X}z�5~� ��y��5|�	�X}���l�+�O*��T*�	�PM*�	�Q�R>*�,�S6�)*�	*��T�U*�	*��V�W��X�*+�O*�?�*�?�Y�Z#��[=*�E�\�m.vwx"y-z3{C|Y~g{���n>D��"7��-,��{���op�����Y&��PKʣGq�Z�}}/chatty/gui/components/settings/MapSetting.class���3
getSettingValue()Ljava/util/Map;	Signature()Ljava/util/Map<TK;TV;>;setSettingValue(Ljava/util/Map;)V(Ljava/util/Map<TK;TV;>;)V<<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;SourceFileMapSetting.java)chatty/gui/components/settings/MapSettingjava/lang/Object	PKˣGY8�g��6chatty/gui/components/settings/MessageSettings$1.class���34	"	#	$%&'&()*+"val$capitalizedNamesSettingsDialogLjavax/swing/JDialog;val$d/Lchatty/gui/components/settings/SettingsDialog;this$00Lchatty/gui/components/settings/MessageSettings;<init>w(Lchatty/gui/components/settings/MessageSettings;Ljavax/swing/JDialog;Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses2Lchatty/gui/components/settings/MessageSettings$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMessageSettings.javaEnclosingMethod,-
./01230chatty/gui/components/settings/MessageSettings$1java/lang/Objectjava/awt/event/ActionListener.chatty/gui/components/settings/MessageSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vjavax/swing/JDialogsetLocationRelativeTo(Ljava/awt/Component;)VsetVisible(Z)V 	
>*+�*,�*-�*��EP*�*��*���IJK !PKˣGs�>BBOchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings$1.class���3)	 !this$0#CapitalizedNamesSettingsInnerClassesILchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings;<init>L(Lchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings;)VCodeLineNumberTableLocalVariableTablethisKLchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileMessageSettings.javaEnclosingMethod$%&'Ichatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings$1java/lang/Objectjava/awt/event/ActionListener(Gchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()VsetVisible(Z)V.chatty/gui/components/settings/MessageSettings 
4*+�*���A	*�����		"	PḲG^1A��Mchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings.class���3�'?&@A&BCD&EFGH	I	JKLMN&OPQRFSFTUVWXYZF[\]^N_ `a	Jb	Jc&dfgCapitalizedNamesSettingsInnerClassesINFO0Ljava/lang/String;
ConstantValueINFO1INFO2<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethisILchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings;d/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;closeButtonLjavax/swing/JButton;SourceFileMessageSettings.java0hijName Capitalization Settingskljava/awt/GridBagLayout0mnopqrjava/awt/Insets0stuvjavax/swing/JLabel�<html><body style='width:300px;'>Names in Twitch Chat are send all-lowercase by default, the following options can be used to change capitalization:0lwxcapitalizedNames%Capitalized Names (First Letter only)0Requires a restart of Chatty to have any effect.yzq{l<html><body style='width:280px;'>If enabled, simply makes the first letter of the name uppercase by default.ircv3CapitalizedNames(Correctly Capitalized Names (IRCv3 tags)1Requires a restart of Chatty to have full effect.chatty/gui/components/LinkLabel*<html><body style='width:280px;'>If enabled, it uses the display name send by Twitch Chat in the IRCv3 tag.<br /><br />As opposed to the previous method which requested the names from Twitch API this has much less impact and thus should be enabled unless you don't want correctly capitalized names.|}0~javax/swing/JButtonCloseIchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings$10�������m�Gchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettingsjavax/swing/JDialog(Ljava/awt/Dialog;)VsetDefaultCloseOperation(I)VsetTitle(Ljava/lang/String;)V()V	setLayout(Ljava/awt/LayoutManager;)V-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;(IIII)Vjava/awt/GridBagConstraintsinsetsLjava/awt/Insets;add)(Ljava/awt/Component;Ljava/lang/Object;)VaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;$(IIIII)Ljava/awt/GridBagConstraints; getSettingsHelpLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)VL(Lchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings;)VaddActionListener"(Ljava/awt/event/ActionListener;)VfillIweightxDpack.chatty/gui/components/settings/MessageSettings &'+,-
.,-/,-012�*+�*�*�*�Y��+�M,�	Y��*�Y
�,�*+�+��+�M,�	Y��*�Y�,�*+�+��+�M,�	Y��*�Y+��,��Y�N-� Y*�!�"+�M,�#,�$,�	Y��*-,�*�%�3b�����$�3�A�Y�b�s�������������������������4*5678$�9:�9;<=>)&e( PḲG��=��4chatty/gui/components/settings/MessageSettings.class���3U��T����	����������T��������������������	����#������������������������9�p������@������������������ۺ�Q�����CapitalizedNamesSettingsInnerClasses<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/settings/MessageSettings;d/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;timeoutSettingsPanelLjavax/swing/JPanel;otherSettingsPaneltimestampOptionsLjava/util/Map;combo3Lchatty/gui/components/settings/ComboStringSetting;capitalizedNamesSettingsDialogLjavax/swing/JDialog;(openCapitalizedNamesSettingsDialogButtonLjavax/swing/JButton;
filterSettingfilterCombiningCharacters1Lchatty/gui/components/settings/ComboLongSetting;deletedMessagesModeSetting;Lchatty/gui/components/settings/DeletedMessagesModeSetting;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;3Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;addTimestampFormat$(Ljava/util/Map;Ljava/lang/String;)VhourIformatLjava/lang/String;label
StackMapTable�	SignatureJ(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/String;)VSourceFileMessageSettings.javaY� Deleted Messages (Timeouts/Bans)��Other�����zjavax/swing/JLabelTimestamp: Y����java/util/LinkedHashMapoffwx[HH:mm:ss][HH:mm][hh:mm:ss a]	[hh:mm a][h:mm a][hh:mm:ssa][hh:mma][h:mma]1chatty/gui/components/settings/ComboStringSettingY���	timestamp��Gchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettingsYZjavax/swing/JButtonName Capitalization Settings..�����0chatty/gui/components/settings/MessageSettings$1Y���showModMessagesShow mod/unmod messages1Whether to show when someone was modded/unmodded.��showJoinsPartsShow joins/partseShow users joining/parting the channel (only with Userlist Connection enabled, see Advanced settings)��
actionColored/me messages coloredAIf enabled, action messages (/me) have the same color as the nickFilter combining chars:���Off���LenientStrict/chatty/gui/components/settings/ComboLongSetting��printStreamStatusShow stream status in chat@Output stream status when you join a channel and when it changes9chatty/gui/components/settings/DeletedMessagesModeSettingshowBanMessagesShow ban messagesIIf enabled, shows '<user> has been banned from talking' for bans/timeoutscombineBanMessagesCombine ban messagesZIf enabled, combines ban messages for the same user into one, appending the number of bansclearChatOnChannelCleared&Clear chat when cleared by a moderatorRIf enabled, removes all text from the channel when a moderator clears the channel.����java/text/SimpleDateFormat{.chatty/gui/components/settings/MessageSettings,chatty/gui/components/settings/SettingsPaneljava/lang/String()VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsanchor(Ljava/lang/String;)Vjavax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/util/Map;)VsetEditable(Z)VaddStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;chatty/gui/GuiUtilSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)Vw(Lchatty/gui/components/settings/MessageSettings;Ljavax/swing/JDialog;Lchatty/gui/components/settings/SettingsDialog;)VaddActionListener"(Ljava/awt/event/ActionListener;)VaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;$(IIIII)Ljava/awt/GridBagConstraints;java/lang/LongvalueOf(J)Ljava/lang/Long;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;addLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)Vequals(Ljava/lang/Object;)Zchatty/util/DateTimecurrentHour12Hour()IcurrentTime&(Ljava/lang/String;)Ljava/lang/String;java/lang/SystemcurrentTimeMillis()J1(JLjava/text/SimpleDateFormat;)Ljava/lang/String;!TUYZ[�8*�*�N*�:+�M,��Y�	,�+�M�Y�:
����������Y�:�+�W,��Y+�:�Y� :�!�"�#Y*+�$�%+��+�M,�+&'(�),�+�M,�+*+,�),�+�-M+./0�),��Y1�	+���Y�:			�23�4W	�25�4W	6�28�4W�9Y	�::+;�<+��+�-M+=>?�),�+�M�@Y+�A:-,�+�M,�-+BCD�),�+�M,�-+EFG�),�+�M,�-+HIJ�),��\�9!"()$*3,<3E4L5S6Z7a8h9o:v;}<�=�>�?�@�B�C�D�E�M�\�]�^cde o+p;wQzZ{h|v}�~������������������������"�(�7�]z8^_8`abc,de#feE�gh��ij��kl�}mnZ�oh	��pq�brstE�guZ�ov		wx[�>+M+
�K�,�L>��+�MM��NOe�QY+�R�SM*+,�4W�\"�����!�4�=�]*%yz>gh>{|<}|t>gu~�!�����WTV#PḲG��_�?chatty/gui/components/settings/NamedColorsPanel$ColorArea.class���3W	O�P����	O�	O���	O���	O�O�O�O�	O�O�	O�O���	O�	O�	O�	O�������������!���	!�	!�	�	�	�	�����	���	����	O��2��2����2���������	�����	��	��AO��OOOO�	
PADDINGI
ConstantValueMARGINMARGIN_TOP(COLSROWSFONTLjava/awt/Font;TITLE_FONTBACKGROUND_COLORLjava/awt/Color;colorsToDrawLjava/util/List;	SignatureColorToDrawInnerClassesOLjava/util/List<Lchatty/gui/components/settings/NamedColorsPanel$ColorToDraw;>;hoveredColor=Lchatty/gui/components/settings/NamedColorsPanel$ColorToDraw;heightwidthelementWidth
elementHeightcompHeight	compWidththis$01Lchatty/gui/components/settings/NamedColorsPanel;<init>4(Lchatty/gui/components/settings/NamedColorsPanel;)VCodeLineNumberTableLocalVariableTablethis	ColorArea;Lchatty/gui/components/settings/NamedColorsPanel$ColorArea;
makePositions()VcLchatty/gui/NamedColor;rLjava/awt/Rectangle;rowcolcolsrowspaddingmargin	marginTopxyitLjava/util/Iterator;LocalVariableTypeTable-Ljava/util/Iterator<Lchatty/gui/NamedColor;>;
StackMapTable	drawColorS(Ljava/awt/Graphics;Lchatty/gui/components/settings/NamedColorsPanel$ColorToDraw;)VgLjava/awt/Graphics;colorwh���drawHoveredColor(Ljava/awt/Graphics;)VtextLjava/lang/String;fontMetricsLjava/awt/FontMetrics;	textWidthtextHeight	drawTitlepaintComponenti$g2Ljava/awt/Graphics2D;�getColorFromPointO(Ljava/awt/Point;)Lchatty/gui/components/settings/NamedColorsPanel$ColorToDraw;pLjava/awt/Point;mouseDragged(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;mouseMovedmouseClickedmousePressed
mouseReleasedmouseEnteredmouseExitedSourceFileNamedColorsPanel.javaqrs|
java/awt/FontArials^_`_java/awt/Colorsabjava/util/ArrayListcd{|oTpT|lTkTmTnT !"#$%&'chatty/gui/NamedColorjava/awt/Rectangles(;chatty/gui/components/settings/NamedColorsPanel$ColorToDraws)*+��~�T�T,-.(/b0(1b234+ijjava/lang/StringBuilder5678 (96):6;<=>?@AbB"Click Color to select (X11 colors)java/awt/Graphics2DCDGHIJK������LMNOP��Q|RSTU-9chatty/gui/components/settings/NamedColorsPanel$ColorAreajavax/swing/JComponent"java/awt/event/MouseMotionListenerjava/awt/event/MouseListenerjava/util/Iteratorjava/awt/Graphicsjava/lang/Stringjava/awt/FontMetrics(Ljava/lang/String;II)V(III)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)V	getHeight()IgetWidthjava/util/Listclear/chatty/gui/components/settings/NamedColorsPanelaccess$000C(Lchatty/gui/components/settings/NamedColorsPanel;)Ljava/util/List;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;(IIII)V.(Lchatty/gui/NamedColor;Ljava/awt/Rectangle;)Vadd(Ljava/lang/Object;)ZsetColor(Ljava/awt/Color;)VfillRectWHITEdrawRect	DARK_GRAYaccess$100J(Lchatty/gui/components/settings/NamedColorsPanel;)Lchatty/gui/NamedColor;equalsgetName()Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getRgbStringtoStringgetFontMetrics'(Ljava/awt/Font;)Ljava/awt/FontMetrics;setFont(Ljava/awt/Font;)VstringWidth(Ljava/lang/String;)IBLACKdrawStringjava/awt/RenderingHintsKEY_ANTIALIASINGVKeyLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)Vcontains(Ljava/awt/Point;)Zjava/awt/event/MouseEventgetPoint()Ljava/awt/Point;repaintgetColorSelectionModel0()Ljavax/swing/colorchooser/ColorSelectionModel;,javax/swing/colorchooser/ColorSelectionModelsetSelectedColorjava/awt/RenderingHints$Key OPQRSTUVWTUXYTUZ[TUX\TU]^_`_abcdehijkTlTmTnToTpTqrstu�W*+�*�*�Y��*�Y��*�Y����	�*�Y��
**�**�*��v&	]	OP)Q=SH^M_R`VawWxz{|uY
*�*��*�*���**��**��<=*�
�>6(666**�dhdhd�**�dhddd�**�l�**�l�*���:6		�r6�T��9��:�Y*�*�� :*�
�!Y�"�#W*�``6����*�``66�	����vvjkmn'p*q-s6u8v<w@yDzH|[}oy������������������������	�w�
�*}~���W�T�u�T	xz*��T-��T8��T<��T@��TD��TH��T�y����y���%�|����E����uS	,�$N,�%:-�&6-�'6-�(6-�)6+�*+�++�,�*+�-+�.�**��/�0�#+�-+dd``�-�v>������#�)�5�<�H�O�^�j�~�w\	xz���jz�t}bn�Th�Tb�T#\�T��~	�������u��*�1��*�1�$M,�&>,�'6,�)6�2Y�3*�1�%�4�56�5*�1�%�7�58�5�9:+*��::+*��;�<6�=6	`*��`*�dd>+�>�*+ddd`	`�++�,�*+ddd`	`�++�>�*+d	`d�?�vR������!�Q�[�c�l�s�~���������������wf�xz�������T��T!��TQ���[���lx�Tsq�T	����������u�B+*��:M+*��;+�>�*@N,-�<6,�=`6*�lld6+-�?�v&	�	����"�+�8�A�wHBxzB��	9��'��" �T+�T8�T��u�\*�+�AM,�B�C�D+*��*+*�*��+*+�E*�
�FN-��-��!:*+�G���*+�H�v.��	���)�.�L�S�V�[�w4L}j8��\xz\��	S����8�����u�/*�
�FM,��,��!N-�$+�I�-�����v��(�*�-�w*
�j#��/xz/��������u5�vwxz����u|*�1*+�J�KM,�*,�1*�L�v	w xz��}j�����u5�vwxz����uv*+�J�KM,�*��M,�%�N�v	
w xz��	}j�����u5�v!wxz����u5�v&wxz����u5�v+wxz����g!�fO�yE�F	PḲG]�"���Achatty/gui/components/settings/NamedColorsPanel$ColorToDraw.class���3		colorLchatty/gui/NamedColor;rLjava/awt/Rectangle;<init>.(Lchatty/gui/NamedColor;Ljava/awt/Rectangle;)VCodeLineNumberTableLocalVariableTablethisColorToDrawInnerClasses=Lchatty/gui/components/settings/NamedColorsPanel$ColorToDraw;SourceFileNamedColorsPanel.java	;chatty/gui/components/settings/NamedColorsPanel$ColorToDrawjava/lang/Object()V/chatty/gui/components/settings/NamedColorsPanel 	Y*�*+�*,��
78	9: 	PḲG�����5chatty/gui/components/settings/NamedColorsPanel.class���3~	E	FGHIJK	LMNOPQPRSTUVGWXYZ[\]^_`abColorToDrawInnerClasses	ColorAreanamedColorsLjava/util/List;	Signature)Ljava/util/List<Lchatty/gui/NamedColor;>;	colorArea;Lchatty/gui/components/settings/NamedColorsPanel$ColorArea;
selectedColorLchatty/gui/NamedColor;<init>()VCodeLineNumberTableLocalVariableTablethis1Lchatty/gui/components/settings/NamedColorsPanel;
updateChoosernamedColori$Ljava/util/Iterator;colorLjava/awt/Color;
StackMapTablecdbuildChoosergetDisplayName()Ljava/lang/String;getSmallDisplayIcon()Ljavax/swing/Icon;getLargeDisplayIconaccess$000C(Lchatty/gui/components/settings/NamedColorsPanel;)Ljava/util/List;x0access$100J(Lchatty/gui/components/settings/NamedColorsPanel;)Lchatty/gui/NamedColor;SourceFileNamedColorsPanel.java&' !()efg9chatty/gui/components/settings/NamedColorsPanel$ColorArea(h$%ijklmdnopqchatty/gui/NamedColorrst)java/awt/BorderLayoutuvCenterwxjava/awt/Dimension(yz{|{}{Named Colors/chatty/gui/components/settings/NamedColorsPanel2javax/swing/colorchooser/AbstractColorChooserPanel;chatty/gui/components/settings/NamedColorsPanel$ColorToDrawjava/awt/Colorjava/util/Iteratorchatty/gui/HtmlColorsgetNamedColors()Ljava/util/List;4(Lchatty/gui/components/settings/NamedColorsPanel;)VgetColorFromModel()Ljava/awt/Color;java/util/Listiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;equals(Ljava/lang/Object;)Zrepaint	setLayout(Ljava/awt/LayoutManager;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetMinimumSizesetMaximumSize  !"#$%&'()*W*�*��*�Y*��*��+2,-./)*�B*�*�L*��	M,�� ,��N-+�
�*-�����*���+&	 !'"/#4$7&:'A(,*'0'&12B-.8345�67"�8)*�I*�Y��**��*�YX,��*�YX,��*�YX���+,./&071H3,I-.9:*-�+7,-.;<*,�+<,-.=<*,�+A,-.>?*/*��+,@.AB*/*��+,@.CDPKʣGSh�q;chatty/gui/components/settings/NotificationSettings$1.class���3%	 this$05Lchatty/gui/components/settings/NotificationSettings;<init>8(Lchatty/gui/components/settings/NotificationSettings;)VCodeLineNumberTableLocalVariableTablethisInnerClasses7Lchatty/gui/components/settings/NotificationSettings$1;itemStateChanged(Ljava/awt/event/ItemEvent;)VeLjava/awt/event/ItemEvent;SourceFileNotificationSettings.javaEnclosingMethod!	"	#$5chatty/gui/components/settings/NotificationSettings$1java/lang/Objectjava/awt/event/ItemListener3chatty/gui/components/settings/NotificationSettings2(Lchatty/gui/components/settings/SettingsDialog;)V()Vaccess$000 	4*+�*��*
@*���./
PKʣG&�[�[[9chatty/gui/components/settings/NotificationSettings.class���3�V�W��V��������	V����������������������	V�a������������������	V�_��/�	V�b���	V�	V�d���	��;����������\��	V��X��J�	V��J�������/���InnerClassesuserReadPermission!Lchatty/gui/components/LinkLabel;requestFollowedStreamsLjavax/swing/JCheckBox;	useCustomnScreen1Lchatty/gui/components/settings/ComboLongSetting;	nPositionnDisplayTime0Lchatty/gui/components/settings/DurationSetting;nMaxDisplayTimeuserActivity<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis5Lchatty/gui/components/settings/NotificationSettings;d/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;mainLjavax/swing/JPanel;nPositionOptionsLjava/util/Map;nScreenOptionstypeshl3Lchatty/gui/components/settings/ComboStringSetting;statusfollowsLocalVariableTypeTable3Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;setUserReadPermission(Z)VenabledZ
StackMapTableupdateSettingsState()Vaccess$0008(Lchatty/gui/components/settings/NotificationSettings;)Vx0SourceFileNotificationSettings.java��f�Notification Type / Options�����useCustomNotifications7Use Chatty Notifications (Tray Notifications otherwise)`Select this to use more flexible notifications instead of the default system tray notifications.��^]5chatty/gui/components/settings/NotificationSettings$1f�������javax/swing/JLabel	Position:f�java/util/LinkedHashMap���Top-Left���	Top-RightBottom-LeftBottom-Right/chatty/gui/components/settings/ComboLongSettingf�a`����Screen:Auto1234_`
Display Time:.chatty/gui/components/settings/DurationSettingf�bc	nActivityNo User Activity:2Display longer unless the mouse was recently movede]dc
NotificationsHighlight:1chatty/gui/components/settings/ComboStringSetting��thighlightNotification��Stream Status:statusNotificationignoreOfflineNotifications#Don't notify about "Stream offline"4Don't show notifications about streams going offlineFollowed StreamsRequest followed streams\Allows Chatty to know about live streams you follow to notify you and display a list of them\]chatty/gui/components/LinkLabel��f�Z[.Required access available. ([help:followed ?])��.User read access required. ([help:followed ?])�~��3chatty/gui/components/settings/NotificationSettings,chatty/gui/components/settings/SettingsPaneladdTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;addSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;javax/swing/JCheckBoxaddItemListener (Ljava/awt/event/ItemListener;)Vjavax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/lang/String;)Vjava/lang/LongvalueOf(J)Ljava/lang/Long;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)VaddLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)V#(IIII)Ljava/awt/GridBagConstraints;(IZ)V/chatty/gui/components/settings/SettingConstantsrequirementOptionsaddStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;getLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)VsetTextsetEnabledisSelected()Z!VWZ[\]^]_`a`bcdce]fghg�*�*�N+�M*+�	�*��Y*��
-*�,�-�Y�+
���Y�:	��W��W��W��W*�Y�� +!*� �"+�#M-*� ,�-�Y$�+
���Y�:%�'�W	�(�W�)�W�*�W�+�W*�Y��,+-*�,�"+�M-*�,,�-�Y.�+
��*�/Y�0�1+2*�1�"-*�1+��*+345�	�6-*�6+
��*�/Y�0�7+8*�7�"-*�7+��*9�:+
�M�Y:�,�+�#M�;Y�<�=:+>�?W,�+
�M�Y@�,�+�#M�;Y�<�=:+A�?W,�+�#M+BCD�	,�*E�:	+�M*+FGH�	�I	*�I,�+�M*�JYK+�L�M�N	*�N,�*��i�<#%&%*41=3T5]6k7y8�9�:�;�<�=�?�A�B�CDEF.G;HEIPJYLpN}O�P�R�T�W�X�Y�^�`�acde#f+h6iEkNlZmcnkptq�u�v�w�{�}�~�����jf�kl�mn�op�qr]~st��ut��vr�wxZ�yx�Nzr	{]~s|��u|}~hp"�*�NO�P�*�NQ�P*�I�R�i����!�j"kl"����h}1*��S<*� �T*�,�T*�1�U*�7�U*�6�R�i���� �(�0�j1kl)���h/*��ij�l��YPḲG��Ԕ��2chatty/gui/components/settings/OtherSettings.class���3^23456789:;<=>?6@AB6CDEFGHIJK6LMNINFOLjava/lang/String;
ConstantValueINFO_WRITER<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/settings/OtherSettings;d/Lchatty/gui/components/settings/SettingsDialog;graphicsLjavax/swing/JPanel;othergbcLjava/awt/GridBagConstraints;versionCheckLjavax/swing/JCheckBox;SourceFileOtherSettings.java OGraphic SettingsPQOtherRSTjavax/swing/JLabel�<html><body style='width:300px'>The following settings disable Hardware Acceleration for Chatty, which may resolve display issues. You have to restart Chatty for changes to take effect. UVWXnod3dDisable Direct3DYZnoddrawDisable DirectDrawS[checkNewVersionInform me about new versionsdAutomatically check for a new version every few days and output a message if a new one is available.enableStatusWriterWrite Stream Status:abcstatusWriter�<html><body style='width:300px'><p>Add one file per line to write Stream Status of a stream into: </p><p><code>&nbsp;&lt;streamname&gt; &lt;filename&gt; [online|offline] &lt;content&gt;</code> <p>You can define whether to write the info if the stream is online or offline (online if omitted). The <code>&lt;content&gt;</code> can contain the following codes, which will be replaced:</p><ul><li><code>%title</code> - The stream title</li><li><code>%game</code> - The game being played</li><li><code>%viewers</code> - The viewercount</li></ul><p>Example:</p><p><code> joshimuz status.txt %title %game (%viewers)<br /> joshimuz status.txt offline Stream offline</code></p>\],chatty/gui/components/settings/OtherSettings,chatty/gui/components/settings/SettingsPanel()VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;(Ljava/lang/String;)Vjavax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)VaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;$(IIIII)Ljava/awt/GridBagConstraints;addEditorStringSettingO(Ljava/lang/String;IZLjava/lang/String;ZLjava/lang/String;)Ljavax/swing/JPanel;! !"V�*�*�M*�N+�:,�Y��	+�:,+�
�	+�:,+�
�	+�:+�
:-�	+�:-+�
�	+�:-+��	�#F*,-23-576G8Q9a<m=y@�F�G�I�J�L$>�%&�'(�)*�+*�,-yA./01PḲG��ݿMM2chatty/gui/components/settings/PathSetting$1.class���3P	(	)*+,&-&.&/&0&1&23456789val$parentComponentLjava/awt/Component;this$0,Lchatty/gui/components/settings/PathSetting;<init>C(Lchatty/gui/components/settings/PathSetting;Ljava/awt/Component;)VCodeLineNumberTableLocalVariableTablethisInnerClasses.Lchatty/gui/components/settings/PathSetting$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFilePathSetting.javaEnclosingMethod:;<=>?@ABCDAEFGAHIJKLMNO,chatty/gui/components/settings/PathSetting$1java/lang/Objectjava/awt/event/ActionListener*chatty/gui/components/settings/PathSetting)(Ljava/awt/Component;Ljava/lang/String;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$000C(Lchatty/gui/components/settings/PathSetting;)Ljavax/swing/JButton;access$100/(Lchatty/gui/components/settings/PathSetting;)Vaccess$200setSettingValue(Ljava/lang/String;)Vaccess$300access$400B(Lchatty/gui/components/settings/PathSetting;)Ljava/nio/file/Path;java/nio/file/PathtoFile()Ljava/io/File;chatty/util/MiscUtilopenFolder%(Ljava/io/File;Ljava/awt/Component;)Z 9*+�*,�*��J�U+�*���
*���?+�*���*��	�%+�*���*���*��
W�NOP&Q2R@STUUU !"!#$%&'PḲG{����0chatty/gui/components/settings/PathSetting.class���3�<v	<w	<x<y	<z={|{	<}~ ���	<�	<��	�� ��{<��{	�	�	�<�	�	�	�	�	���"� �	<��&{/��?&�<�&���������2�2�2��2�2���<����InnerClassesdisplayLjavax/swing/JTextField;changeButtonLjavax/swing/JButton;resetButtonopenButtonvalueLjava/lang/String;defaultPathparentComponentLjava/awt/Component;<init>)(Ljava/awt/Component;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/components/settings/PathSetting;gbcLjava/awt/GridBagConstraints;buttonActionLjava/awt/event/ActionListener;getSettingValue()Ljava/lang/String;setSettingValue(Ljava/lang/String;)V
StackMapTable��|�getCurrentPathValuegetCurrentPath()Ljava/nio/file/Path;ex$Ljava/nio/file/InvalidPathException;�chooseDirectory()VchooserLjavax/swing/JFileChooser;�access$000C(Lchatty/gui/components/settings/PathSetting;)Ljavax/swing/JButton;x0access$100/(Lchatty/gui/components/settings/PathSetting;)Vaccess$200access$300access$400B(Lchatty/gui/components/settings/PathSetting;)Ljava/nio/file/Path;SourceFilePathSetting.javaabFDEDfgCDLgjavax/swing/JTextFieldABjavax/swing/JButtonChangeLZDefaultOpenIHJK�������java/awt/GridBagLayout��java/awt/GridBagConstraints�������������������,chatty/gui/components/settings/PathSetting$1L���GHjava/lang/StringBuilder��[default] ��`X�X�Zjava/lang/String���"java/nio/file/InvalidPathExceptionjavax/swing/JFileChooser���L�����
Select folder������XYZ*chatty/gui/components/settings/PathSettingjavax/swing/JPanel,chatty/gui/components/settings/StringSettingsetEditable(Z)Vchatty/gui/GuiUtilSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)V	setLayout(Ljava/awt/LayoutManager;)VfillIweightxD	gridwidthadd)(Ljava/awt/Component;Ljava/lang/Object;)Vanchorgridygridxinsetsjava/awt/InsetsleftC(Lchatty/gui/components/settings/PathSetting;Ljava/awt/Component;)VaddActionListener"(Ljava/awt/event/ActionListener;)VisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringsetTextjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/nio/file/PathtoFile()Ljava/io/File;(Ljava/io/File;)VsetAcceptAllFileFilterUsedsetFileSelectionMode(I)VshowDialog)(Ljava/awt/Component;Ljava/lang/String;)IgetSelectedFilejava/io/FilegetPath!<=>ABCDEDFDGHIHJKLMN�
*�*�Y��	*�Y��*�Y
��*�Y��*,�*+�*�	�*���*���*���*�Y���Y�N-�-�-�**�	-��Y�N-
�-�-�-�**�-�-�-�**�-�-�-� Y�!`�!**�-��"Y*+�#:*��$*��$*��$�O�"+)6,;-@/H0R1\2f4q6y7~8�9�;�=�>�?�@�A�B�C�D�E�F�G�H�J�W�XYZP4
QR
JK
IHy�ST�UVWXN/*�%�OdPQRYZN�/*+�%*�	�&Y�'+�(�)�*�+*�,�+�-�.�Oop.qP/QR/GH[+�\]^_�\]^_]`XNO*�%�(�*��*�%�O{|~PQR[abN_*�,�/�0�L�1O��
�P
cdQR[LefgN�4�2Y*��3�4L+�5+�6+*�7�8�*+�9�:�;�O����(�3�P4QR#hi[�3jklN/*��OPmRnoN/*��OPmRplN/*��OPmRqlN/*��OPmRrsN/*��OPmRtu@"PḲGʳ�d5chatty/gui/components/settings/SettingConstants.class���3<$%$	&'()*+,-./012345678requirementOptionsLjava/util/Map;	Signature5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;<init>()VCodeLineNumberTableLocalVariableTablethis1Lchatty/gui/components/settings/SettingConstants;<clinit>SourceFileSettingConstants.javajava/util/LinkedHashMapoffOff9:;bothWhen channel/app not activeeitherWhen channel or app not activeappWhen app not activechannelWhen channel not active
channelActiveWhen channel activealwaysAlways/chatty/gui/components/settings/SettingConstantsjava/lang/Object
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;!/*�� !�f�Y����W�	�W��W�
�W��W��W��W�&	
$1>KXe"#PKʣGt�g�II5chatty/gui/components/settings/SettingsDialog$1.class���3#	this$0/Lchatty/gui/components/settings/SettingsDialog;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/SettingsDialog$1;
windowClosing(Ljava/awt/event/WindowEvent;)VeLjava/awt/event/WindowEvent;SourceFileSettingsDialog.javaEnclosingMethod !"	/chatty/gui/components/settings/SettingsDialog$1java/awt/event/WindowAdapter-chatty/gui/components/settings/SettingsDialog6(Lchatty/gui/MainGui;Lchatty/util/settings/Settings;)V()Vaccess$000 	4*+�*���
@*�����
PKʣGm�o��5chatty/gui/components/settings/SettingsDialog$2.class���3.	 	!"#$%&'(	val$ownerLchatty/gui/MainGui;this$0/Lchatty/gui/components/settings/SettingsDialog;<init>F(Lchatty/gui/components/settings/SettingsDialog;Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/SettingsDialog$2;linkClicked'(Ljava/lang/String;Ljava/lang/String;)VtypeLjava/lang/String;refSourceFileSettingsDialog.javaEnclosingMethod)
*	
+help-settings.html,-/chatty/gui/components/settings/SettingsDialog$2java/lang/Object'chatty/gui/components/LinkLabelListener-chatty/gui/components/settings/SettingsDialog6(Lchatty/gui/MainGui;Lchatty/util/settings/Settings;)V()Vchatty/gui/MainGuiopenHelp 	
9*+�*,�*���M*�,���� PKʣG�&?��5chatty/gui/components/settings/SettingsDialog$3.class���32	 !"#$%&'this$0/Lchatty/gui/components/settings/SettingsDialog;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/SettingsDialog$3;valueChanged)(Ljavax/swing/event/ListSelectionEvent;)Ve&Ljavax/swing/event/ListSelectionEvent;SourceFileSettingsDialog.javaEnclosingMethod()*+,-./java/lang/String01/chatty/gui/components/settings/SettingsDialog$3java/lang/Object'javax/swing/event/ListSelectionListener-chatty/gui/components/settings/SettingsDialog6(Lchatty/gui/MainGui;Lchatty/util/settings/Settings;)V()Vaccess$100D(Lchatty/gui/components/settings/SettingsDialog;)Ljavax/swing/JList;javax/swing/JListgetSelectedValue()Ljava/lang/Object;access$200D(Lchatty/gui/components/settings/SettingsDialog;Ljava/lang/String;)V 	
4*+�*���M*�*��������PKʣG�/�]]5chatty/gui/components/settings/SettingsDialog$4.class���32	!	"#$%&'()*	val$ownerLchatty/gui/MainGui;this$0/Lchatty/gui/components/settings/SettingsDialog;<init>F(Lchatty/gui/components/settings/SettingsDialog;Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/SettingsDialog$4;linkClicked'(Ljava/lang/String;Ljava/lang/String;)VtypeLjava/lang/String;refSourceFileSettingsDialog.javaEnclosingMethod+,
-help-settings.html./01/chatty/gui/components/settings/SettingsDialog$4java/lang/Object'chatty/gui/components/LinkLabelListener-chatty/gui/components/settings/SettingsDialog6(Lchatty/gui/MainGui;Lchatty/util/settings/Settings;)V()Vaccess$300C(Lchatty/gui/components/settings/SettingsDialog;)Ljava/lang/String;chatty/gui/MainGuiopenHelp 	
9*+�*,�*���S*�*������  PKʣG05,�&&5chatty/gui/components/settings/SettingsDialog$5.class���32		 	!"#$%&'()val$itemLjava/lang/String;this$0/Lchatty/gui/components/settings/SettingsDialog;<init>D(Lchatty/gui/components/settings/SettingsDialog;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClasses1Lchatty/gui/components/settings/SettingsDialog$5;run()VSourceFileSettingsDialog.javaEnclosingMethod*+,
Usercolors-./01,/chatty/gui/components/settings/SettingsDialog$5java/lang/Objectjava/lang/Runnable-chatty/gui/components/settings/SettingsDialogeditUsercolorItem(Ljava/lang/String;)Vaccess$200access$400c(Lchatty/gui/components/settings/SettingsDialog;)Lchatty/gui/components/settings/UsercolorSettings;0chatty/gui/components/settings/UsercolorSettingseditItem 	
9*+�*,�*��J*��*��*���!	"#PKʣGl�6�\\3chatty/gui/components/settings/SettingsDialog.class���3�	(		( (	((
+	(	( !"#$%&'()*+,	(-.	(/	(0	(12)3	(4	(5	(6	(7	(8(9(:;2<(=>5?	(@	(A	(BC:3(DE	(F=G=H=I=JKCLCM=N=O=PQR=S(TULV	W	X	Y	Z([\S3	(]^V_	(`aY<bV[c]<de`<fgc<	(hijg<klj<mnm<opp<qrs<stv<	(uvwz<xy}<z{�<|}�<~�<���<���<	(����<���<���<=�	�����?���?��(�(�(����v�(���(�(�=�(�	���������S�=�(�(�(�(�(���z���c���������)�������)����������������������������(�(�(�(�(�z���c�����������������������(�������������	(���3�������������������(��3	�	�	�	�)���)(	 (
�(((��InnerClassesLOGGERLjava/util/logging/Logger;okLjavax/swing/JButton;cancelrestartRequiredDefLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;reconnectRequiredDefrestartRequiredZreconnectRequiredRESTART_REQUIRED_INFOLjava/lang/String;
ConstantValueRECONNECT_REQUIRED_INFOstringSettingsLjava/util/HashMap;ULjava/util/HashMap<Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;>;longSettingsSLjava/util/HashMap<Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;>;booleanSettingsVLjava/util/HashMap<Ljava/lang/String;Lchatty/gui/components/settings/BooleanSetting;>;listSettingsSLjava/util/HashMap<Ljava/lang/String;Lchatty/gui/components/settings/ListSetting;>;mapSettingsRLjava/util/HashMap<Ljava/lang/String;Lchatty/gui/components/settings/MapSetting;>;settingsLchatty/util/settings/Settings;ownerLchatty/gui/MainGui;notificationSettings5Lchatty/gui/components/settings/NotificationSettings;usercolorSettings2Lchatty/gui/components/settings/UsercolorSettings;
imageSettings.Lchatty/gui/components/settings/ImageSettings;hotkeySettings/Lchatty/gui/components/settings/HotkeySettings;PANEL_MAINPANEL_MESSAGESPANEL_EMOTESPANEL_IMAGESPANEL_COLORSPANEL_HIGHLIGHTPANEL_IGNORE
PANEL_HISTORYPANEL_SOUNDPANEL_NOTIFICATIONSPANEL_USERCOLORS	PANEL_LOGPANEL_WINDOWPANEL_COMMANDSPANEL_OTHERPANEL_ADVANCED
PANEL_HOTKEYSPANEL_COMPLETIONPANEL_CHATcurrentlyShowncardManagerLjava/awt/CardLayout;cardsLjavax/swing/JPanel;	selectionLjavax/swing/JList;'Ljavax/swing/JList<Ljava/lang/String;>;settingsHelpLinkLabelListener)Lchatty/gui/components/LinkLabelListener;MENU[Ljava/lang/String;<init>6(Lchatty/gui/MainGui;Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/settings/SettingsDialog;gbcLjava/awt/GridBagConstraints;defaultFontLjava/awt/Font;showSettings()V'(Ljava/lang/String;Ljava/lang/String;)Vaction	parameter
StackMapTablestuffBasedOnPaneleditUsercolorItem(Ljava/lang/String;)Vitem	showPanelshowCardloadSettingsloadStringSettingssetting.Lchatty/gui/components/settings/StringSetting;valuesettingNamei$Ljava/util/Iterator; loadNumericSettings,Lchatty/gui/components/settings/LongSetting;Ljava/lang/Long;loadBooleanSettings/Lchatty/gui/components/settings/BooleanSetting;Ljava/lang/Boolean;loadListSettings,Lchatty/gui/components/settings/ListSetting;dataLjava/util/List;loadMapSettings+Lchatty/gui/components/settings/MapSetting;Ljava/util/Map;saveSettingsoptionsresultIsaveStringSettingssaveBooleanSettingssaveIntegerSettings�!changedsaveListSettingssaveMapSettingsmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xywh$(IIIII)Ljava/awt/GridBagConstraints;anchor
makeGbcCloseraddBooleanSettingD(Ljava/lang/String;Lchatty/gui/components/settings/BooleanSetting;)VnameaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;descriptiontooltipText5Lchatty/gui/components/settings/SimpleBooleanSetting;setBooleanSetting((Ljava/lang/String;Ljava/lang/Boolean;)VgetBooleanSetting'(Ljava/lang/String;)Ljava/lang/Boolean;addComboStringSetting\(Ljava/lang/String;IZ[Ljava/lang/String;)Lchatty/gui/components/settings/ComboStringSetting;sizeeditablechoices3Lchatty/gui/components/settings/ComboStringSetting;X(Ljava/lang/String;IZLjava/util/Map;)Lchatty/gui/components/settings/ComboStringSetting;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;~(Ljava/lang/String;IZLjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lchatty/gui/components/settings/ComboStringSetting;addStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;addSimpleStringSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;s4Lchatty/gui/components/settings/SimpleStringSetting;addEditorStringSettingO(Ljava/lang/String;IZLjava/lang/String;ZLjava/lang/String;)Ljavax/swing/JPanel;titlelinebreaksinfo4Lchatty/gui/components/settings/EditorStringSetting;setStringSettinggetStringSetting&(Ljava/lang/String;)Ljava/lang/String;addSimpleLongSetting2Lchatty/gui/components/settings/SimpleLongSetting;addLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)VsetLongSetting%(Ljava/lang/String;Ljava/lang/Long;)VgetLongSetting$(Ljava/lang/String;)Ljava/lang/Long;addListSettingD(Ljava/lang/String;IIZ)Lchatty/gui/components/settings/ListSelector;widthheightenableSortingButtons-Lchatty/gui/components/settings/ListSelector;
addMapSettingH(Ljava/lang/String;II)Lchatty/gui/components/settings/StringTableEditor;table2Lchatty/gui/components/settings/StringTableEditor;clearHistoryactionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;saveclosegetLinkLabelListener+()Lchatty/gui/components/LinkLabelListener; getSettingsHelpLinkLabelListeneraccess$0002(Lchatty/gui/components/settings/SettingsDialog;)Vx0access$100D(Lchatty/gui/components/settings/SettingsDialog;)Ljavax/swing/JList;access$200D(Lchatty/gui/components/settings/SettingsDialog;Ljava/lang/String;)Vx1access$300C(Lchatty/gui/components/settings/SettingsDialog;)Ljava/lang/String;access$400c(Lchatty/gui/components/settings/SettingsDialog;)Lchatty/gui/components/settings/UsercolorSettings;<clinit>SourceFileSettingsDialog.javaQRj=��op3�Settingsv"javax/swing/JButtonSavev�12Cancel32java/util/HashSetjava/lang/StringcapitalizedNamesffznod3dnoddraw
userlistWidthuserlistMinWidthtabOrderbttvEmotescorrectlyCapitalizedNameslogPathlogTimestampbotNamesBTTVbotNamesFFZircv3CapitalizedNameswhisperEnabledgroupChatServer
groupChatPorttabsMwheelScrolling#$%v&45membershipEnabled859:;:java/util/HashMapv�@ACAEAGAIA'()*/chatty/gui/components/settings/SettingsDialog$1v�+,/chatty/gui/components/settings/SettingsDialog$2v-rsMNKLjava/awt/GridBagLayout./javax/swing/JListtuv01*2345
java/awt/Font67v89:;*<*=>?@A��java/awt/InsetsvBCDE�FGHGIJjava/awt/CardLayoutkljavax/swing/JPanelv/mn+chatty/gui/components/settings/MainSettingsMain.chatty/gui/components/settings/MessageSettingsMessages,chatty/gui/components/settings/EmoteSettings	Emoticons,chatty/gui/components/settings/ImageSettingsST	Usericons,chatty/gui/components/settings/ColorSettingsColors0chatty/gui/components/settings/HighlightSettings	Highlight-chatty/gui/components/settings/IgnoreSettingsIgnore.chatty/gui/components/settings/HistorySettingsHistory,chatty/gui/components/settings/SoundSettingsSounds3chatty/gui/components/settings/NotificationSettingsOP
Notifications0chatty/gui/components/settings/UsercolorSettingsUsercolors*chatty/gui/components/settings/LogSettingsLog to file-chatty/gui/components/settings/WindowSettingsWindow.chatty/gui/components/settings/CommandSettingsCommands,chatty/gui/components/settings/OtherSettingsOther/chatty/gui/components/settings/AdvancedSettingsAdvanced-chatty/gui/components/settings/HotkeySettingsUVHotkeys1chatty/gui/components/settings/CompletionSettingsCompletion+chatty/gui/components/settings/ChatSettingsChat/chatty/gui/components/settings/SettingsDialog$3KL��chatty/gui/components/LinkLabel[maeh:muh Help]/chatty/gui/components/settings/SettingsDialog$4vMN*OPQ�����token_userRSTU(VWXY����Z[\(]^_`a(/chatty/gui/components/settings/SettingsDialog$5vbcdefgh����������ijklmjnopjq[krstuvw x[yz{|,chatty/gui/components/settings/StringSetting}�~�*chatty/gui/components/settings/LongSetting�!��~�-chatty/gui/components/settings/BooleanSetting���~�*chatty/gui/components/settings/ListSetting��~l)chatty/gui/components/settings/MapSetting��~������������l�lk&~<html><body style='width: 280px'>One or more settings you have changed require a restart of Chatty to take any or full effect.Info���
Reconnect nowReconnect manuallys<html><body style='width: 280px'>One or more settings you have changed require you to reconnect to have any effect.	Reconect?�����7�������[��������/0java/lang/StringBuilder"Invalid number format for setting ���7����Y�j�����o����java/awt/GridBagConstraints����������3chatty/gui/components/settings/SimpleBooleanSettingv��Y1chatty/gui/components/settings/ComboStringSettingv��(v�2chatty/gui/components/settings/SimpleStringSettingv���2chatty/gui/components/settings/EditorStringSettingv�0chatty/gui/components/settings/SimpleLongSetting��+chatty/gui/components/settings/ListSelectorv�java/awt/Dimensionv3��0chatty/gui/components/settings/StringTableEditorv�����z��������-chatty/gui/components/settings/SettingsDialog��7��javax/swing/JDialogjava/awt/event/ActionListenerjava/util/Iteratorjava/lang/Long&(Ljava/awt/Frame;Ljava/lang/String;Z)Vjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)VsetResizable(Z)VsetDefaultCloseOperation(I)VaddWindowListener"(Ljava/awt/event/WindowListener;)VF(Lchatty/gui/components/settings/SettingsDialog;Lchatty/gui/MainGui;)V	setLayout(Ljava/awt/LayoutManager;)V([Ljava/lang/Object;)VsetSelectedIndexsetSize(II)VgetFont()Ljava/awt/Font;getFontName()Ljava/lang/String;(Ljava/lang/String;II)VsetFont(Ljava/awt/Font;)VsetFixedCellHeightsetFixedCellWidthjavax/swing/BorderFactorycreateEtchedBorder()Ljavax/swing/border/Border;	setBorder(Ljavax/swing/border/Border;)V(IIII)VinsetsLjava/awt/Insets;fillweightxDweightyadd)(Ljava/awt/Component;Ljava/lang/Object;)VaddListSelectionListener,(Ljavax/swing/event/ListSelectionListener;)V>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)VsetMnemonicaddActionListener"(Ljava/awt/event/ActionListener;)Vpackchatty/util/settings/SettingsgetBoolean(Ljava/lang/String;)ZsetUserReadPermissionsetLocationRelativeTo(Ljava/awt/Component;)Vequals(Ljava/lang/Object;)ZrequestFocusInWindow()ZsetVisiblechatty/gui/MainGui
hotkeyManager#Lchatty/util/hotkeys/HotkeyManager;!chatty/util/hotkeys/HotkeyManagersetEnabledjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)Vshow)(Ljava/awt/Container;Ljava/lang/String;)VsetSelectedValue(Ljava/lang/Object;Z)VgetUsercolorData()Ljava/util/List;setData(Ljava/util/List;)VgetUsericonData
getActionsMap()Ljava/util/Map;getDataglobalHotkeysAvailable#(Ljava/util/Map;Ljava/util/List;Z)VkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;	getStringsetSettingValuegetLong(Ljava/lang/String;)JvalueOf(J)Ljava/lang/Long;(Ljava/lang/Long;)Vjava/lang/Boolean(Z)Ljava/lang/Boolean;(Ljava/lang/Boolean;)VgetList$(Ljava/lang/String;)Ljava/util/List;getMap#(Ljava/lang/String;)Ljava/util/Map;(Ljava/util/Map;)VsetUsercolorDatasetUsericonDatajavax/swing/JOptionPaneshowMessageDialog<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)VshowOptionDialogt(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;IILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)I	reconnectgetSettingValue	setString'(Ljava/lang/String;Ljava/lang/String;)I()Ljava/lang/Boolean;booleanValuesetBoolean(Ljava/lang/String;Z)I()Ljava/lang/Long;	longValue()JsetLong(Ljava/lang/String;J)Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/util/logging/LoggerwarningcontainsputList%(Ljava/lang/String;Ljava/util/List;)VsetSettingChangedputMap$(Ljava/lang/String;Ljava/util/Map;)Vgridxgridy	gridwidthgridheightput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;containsKey([Ljava/lang/String;)VsetEditable(IZ)V;(Ljava/awt/Window;Ljava/lang/String;IZZLjava/lang/String;)V(Ljava/awt/Window;Z)VsetPreferredSize(Ljava/awt/Dimension;)V(Ljavax/swing/JDialog;)Vjava/awt/event/ActionEvent	getSourcejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!(+,-/01232456785679:;:<=>�?=>�@A6BCA6DEA6FGA6HIA6JKLMNOPQRSTUVW=>[X=>_Y=>bZ=>f[=>i\=>l]=>o^=>r_=>u`=>ya=>|b=>c=>�d=>�e=>�f=>�g=>�h=>�i=>�j=klmnop6qrstu4vwx�**+�*�Y	��*�Y��
*�Y�YSYSYSYSYSYSYSYSYSY	SYSYSYSY
SYSYSY SY!S�"�#�$*�Y�Y%S�"�#�&*�'*�(*�)Y�*�+*�)Y�*�,*�)Y�*�-*�)Y�*�.*�)Y�*�/*�0*�1*�2Y*�3�4*�5Y*+�6�7*+�8*,�9*�:Y�;�<*�=Y�>�?�*��@*��ȶA*��B:*��CY�D�E�F*��G*�d�H*��I�J*�KN-�LY�M�N-�O-�P-�Q**�-�R*�SY�T�U*�VY*�U�W�X*�X�YY*�Z[�\*�X�]Y*�^_�\*�X�`Y*�ab�\*�cY*�d�e*�X*�ef�\*�X�gY*�hi�\*�X�jY*�kl�\*�X�mY*�no�\*�X�pY*�qr�\*�X�sY*�tu�\*�vY*�w�x*�X*�xy�\*�zY*�{�*�X*�|�\*�X�}Y*�~�\*�X��Y*����\*�X��Y*����\*�X��Y*����\*�X��Y*����\*��Y*����*�X*����\*�X��Y*����\*�X��Y*����\*[�*���Y*����*�KN-�O-�P-�Q**�X-�R*�KN-��-�LY�M�N*��Y���Y*+����-�R*�S��*�KN-��P-
��-�LY�M�N**�-�R*�
C��*�KN-�P-��-�LY�M�N**�
-�R*�*��*�
*��*���yVU�)*",�4�7�8�@�A�B�C�D������	��� �+�9�A�N�W�m�v������������������������	��"�3�D�U�f�w���������������������(�9�?�N�W�\�a�f�o�x�~����������������������������%�)�z4*{|*MN*KL��}~W����x5*���yz{|��x�@*��*�x*�9�����**�8��+�+����*,��*��*���W*���y*	 )
.2:?z @{|@�=@�=�.��xS*�����*�8�����yz{|���xE
��Y*+�����y%z
{|
�=��xc*�U*�X+��*+�*�+��*���y()*+,z{|�=��x�V*��*��*��*��*��*�*�8����*�e*�8����*��*�8����*�8����*�8���¶ñy&	234567"809U;zV{|��x�B*�+�Ĺ�L+���.+���M*�+,���N*�9,��:-����ϱyA B,C6D>EAFz4,��6�= �=
4��B{|��
��3��x�E*�,�Ĺ�L+���1+���M*�,,���N*�9,�͸�:-����̱yL M,N9OAPDQz4,��9�� !�=
7��E{|��
��6��x�E*�-�Ĺ�L+���1+���M*�-,���N*�9,����:-����̱yW X,Y9ZA[D\z4,��9�� !�=
7��E{|��
��6��x�B*�.�Ĺ�L+���.+���M*�.,���N*�9,��:-����ϱy_ `,a6b>cAdz4,��6�� �=
4��B{|��
��3��x�B*�/�Ĺ�L+���.+���M*�/,���N*�9,��:-����ϱyg h,i6j>kAlz4,��6�� �=
4��B{|��
��3��x�*�'*�(*��*��*��*��*��*�8*��޶�*�8*�e���*�8��*�����*�'�*����*�(�+�Y�SY�SL*��+��=�*�8��yJrstuvwxy,z:{K|R}[b�q������z q�u���{|��[.��x�K*�+�Ĺ�L+���7+���M*�+,���N-��:*�9,���*,��Ʊy� �,�4�B�G�J�z4,��4�= '�=
=��K{|��
�9���x�J*�-��L+���6+���M*�-,���N*�9,-������*,��DZy� �,�A�F�I�z*,�� &�=
<��J{|��
�8���xs*�,��L+���_+���M*�,,���N-��:� *�9,-������$*,������Y�����,����������y&	� �,�4�9�N�V�o�r�z4,C��4;�� O�=
e��s{|��
��H�������x�1*�$+���
*�'*�(*�&+���*�'�*�(�y�
���+�0�z1{|1�=���x�F*�.�Ĺ�L+���2+���M*�.,���N*�9,-����*�9,���˱y� �,�:�B�E�z*,�� "�=
8��F{|��
��7��x�F*�/�Ĺ�L+���2+���M*�/,���N*�9,-��*�9,���˱y� �,�:�B�E�z*,�� "�=
8��F{|��
��7��x^*��y�z4{|����������x�<�Y�:����	�LY�M�N���y"�	����"�2�9�zH<{|<��<��<��<��<��	3}~��x�<�Y�:����	�LY�M�N���y"�	����"�2�9�zH<{|<��<��<��<��<��	3}~��xM*�-+,�W�y��z {|�=����xs�Y,-�:*�-+�W�y���z4{|�=�=�=����xl*�-+�
�*�-+���,���y���z {|�=�����xc*�-+�
�*�-+����yz{|�=���x��Y�:�*�++�W�y	z>{|�=���:�u����x��Y�:�*�++�W�yz>{|�=���:�������6���xN*�++,�W,�yz {|�=����xp�Y�:*+�W�y"#$z4{|�=���:����x��Y*�:*+�W�y=>?zR{|�=���:�=�:�=����xl*�++�
�*�++���,���yJKMz {|�=�=���xc*�++�
�*�++��ɹ���yVWYz{|�=���xo�Y�:*+��yefgz4{|�=���:����xM*�,+,�W�yklz {|�=����xl*�,+�
�*�,+���,���yvwyz {|�=�����xc*�,+�
�*�,+��̹���y���z{|�=���x�(�Y*�:�Y��*�.+�W�y���%�z>({|(�=(��(��(�:����x�&�Y*� :�Y��!*�/+�W�y���#�z4&{|&�=&��&������x6*�8�"�y��z{|��xp"+�#*��*�$�+�#*�
�*��y����!�z"{|"�����x;	*�%*�&�y���z	{|3�x3*�&�y��z{|��xC*�8����*���y���z{|��x2*�8�'�y�z{|��x/*�7�y�z{|��x/*��y%z�|��x/*��y%z�|�x:*+��y%z�|=x/*��y%z�|x/*��y%z�|�x��(�)�*���Y[SY_SY�SYbSYfSYiSY|SYlSYoSY	rSYuSYySYSY
�SY�SY�SY�SY�SY�S�>�y'j.*���52PKʣGw�e2chatty/gui/components/settings/SettingsPanel.class���3uFGHGIJK	LM	G		N		O		P		QRST	USVWXYZR		[\]		^_]`PADDINGLjavax/swing/border/Border;baseLjavax/swing/JPanel;<init>()VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/settings/SettingsPanel;(Z)VexpandZgbcLjava/awt/GridBagConstraints;
StackMapTable`McreateTitledPanel((Ljava/lang/String;)Ljavax/swing/JPanel;titleLjava/lang/String;paneltitleBorderaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;rowI*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;JgetGbc (I)Ljava/awt/GridBagConstraints;addPanel8(Ljavax/swing/JComponent;Ljava/awt/GridBagConstraints;)VLjavax/swing/JComponent;<clinit>SourceFileSettingsPanel.java#*#$java/awt/GridBagLayoutabjavax/swing/JPanel#b!"java/awt/GridBagConstraintsc;d;efgfhijkl mnop8<23>?q;java/awt/Insets#rstjavax/swing/border/EmptyBorder,chatty/gui/components/settings/SettingsPanel	setLayout(Ljava/awt/LayoutManager;)VanchorfillweightxDweightyadd)(Ljava/awt/Component;Ljava/lang/Object;)Vjavax/swing/BorderFactorycreateTitledBorder5(Ljava/lang/String;)Ljavax/swing/border/TitledBorder;createCompoundBorder[(Ljavax/swing/border/Border;Ljavax/swing/border/Border;)Ljavax/swing/border/CompoundBorder;	setBorder(Ljavax/swing/border/Border;)Vgridy(IIII)VinsetsLjava/awt/Insets;! !"#$%4*��& '()#*%�T*�*�Y��*�Y�Y����	Y�M,��,��,�,�
,�**�,��&2"#$!%)&/'3(;*@,E-J.S/' T()T+,)+-./�;0123%u!�Y�Y��M+�N,-���,�&89:;'*!()!456"
7 89%F*+��&?' ()45:;8<%�5*+�:*�:����	�*���&"JKLMN!P'R2S'>5()5455:;5+,.6"'-./�!=1>?%}+�	Y�M,�,�
,�,�Y��,�&]^
_`a)b' +()+:;#-.@A%L*�+,��&f	g' ()6B-.C$%'�Y���&DEPḲG^�e��9chatty/gui/components/settings/SimpleBooleanSetting.class���30 !"#$%<init>'(Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis5Lchatty/gui/components/settings/SimpleBooleanSetting;textLjava/lang/String;tooltipgetSettingValue()Ljava/lang/Boolean;setSettingValue(Ljava/lang/Boolean;)VvalueLjava/lang/Boolean;SourceFileSimpleBooleanSetting.java&'&()*+,-)./3chatty/gui/components/settings/SimpleBooleanSettingjavax/swing/JCheckBox-chatty/gui/components/settings/BooleanSetting(Ljava/lang/String;)VsetToolTipTextisSelected()Zjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;booleanValuesetSelected(Z)V!	Q*+�*,��
 2*���
A	*+���
		PḲG���RR6chatty/gui/components/settings/SimpleListSetting.class���3
<init>()VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/settings/SimpleListSetting;SourceFileSimpleListSetting.java0chatty/gui/components/settings/SimpleListSettingjava/lang/Object!/*��		PKˣGE��|666chatty/gui/components/settings/SimpleLongSetting.class���37	"#$%$&'$()*+,<init>(IZ)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/settings/SimpleLongSetting;sizeIeditableZgetSettingValue()Ljava/lang/Long;ex!Ljava/lang/NumberFormatException;
StackMapTable'setSettingValue(Ljava/lang/Long;)VsettingLjava/lang/Long;SourceFileSimpleLongSetting.java-./0123java/lang/NumberFormatException4.560chatty/gui/components/settings/SimpleLongSetting,chatty/gui/components/settings/LongTextField*chatty/gui/components/settings/LongSettinggetText()Ljava/lang/String;java/lang/Long	parseLong(Ljava/lang/String;)JvalueOf(J)Ljava/lang/Long;toStringsetText(Ljava/lang/String;)V!	
I*��
 
^*����L�K
A	*+���		 !PḲG�ES�8chatty/gui/components/settings/SimpleStringSetting.class���3' !<init>(IZ)VCodeLineNumberTableLocalVariableTablethis4Lchatty/gui/components/settings/SimpleStringSetting;sizeIeditableZgetSettingValue()Ljava/lang/String;setSettingValue(Ljava/lang/String;)VvalueLjava/lang/String;SourceFileSimpleStringSetting.java"#$%&2chatty/gui/components/settings/SimpleStringSettingjavax/swing/JTextField,chatty/gui/components/settings/StringSetting(I)VsetEditable(Z)VgetTextsetText!	Q*�*�� 
/*��
>*+��
PḲG�;�KK8chatty/gui/components/settings/SliderLongSetting$1.class���33	 !"#$%&'this$02Lchatty/gui/components/settings/SliderLongSetting;<init>5(Lchatty/gui/components/settings/SliderLongSetting;)VCodeLineNumberTableLocalVariableTablethisInnerClasses4Lchatty/gui/components/settings/SliderLongSetting$1;stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;SourceFileSliderLongSetting.javaEnclosingMethod()*+,-./012
2chatty/gui/components/settings/SliderLongSetting$1java/lang/Object javax/swing/event/ChangeListener0chatty/gui/components/settings/SliderLongSetting(IIII)V()Vaccess$100I(Lchatty/gui/components/settings/SliderLongSetting;)Ljavax/swing/JSlider;javax/swing/JSlidergetValue()Iaccess$0026(Lchatty/gui/components/settings/SliderLongSetting;J)Jaccess$200 	
4*+�*��#W*�*�����X*���'()PḲG]����6chatty/gui/components/settings/SliderLongSetting.class���3�!S	!T	!U"VWXYZ[	!\]^_
`a!bcdefgVhijkklmnopqrsInnerClassessliderLjavax/swing/JSlider;valueJvalueLabelLjavax/swing/JLabel;LABEL_PREFIXLjava/lang/String;
ConstantValue<init>(IIII)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/settings/SliderLongSetting;orientationIminmaxpresetValuegetSettingValue()Ljava/lang/Long;setSettingValue(Ljava/lang/Long;)VLjava/lang/Long;updateLabel()VsetMajorTickSpacing(I)VsetMinorTickSpacingsetPaintLabels(Z)VZ
setPaintTicksaccess$0026(Lchatty/gui/components/settings/SliderLongSetting;J)Jx0x1access$100I(Lchatty/gui/components/settings/SliderLongSetting;)Ljavax/swing/JSlider;access$2005(Lchatty/gui/components/settings/SliderLongSetting;)VSourceFileSliderLongSetting.java@A&'()/Ajavax/swing/JSlider/0javax/swing/JLabelq<html><body style='width: 30px;text-align: right;border: 1px solid #AAAAAA;margin-left: 4px;padding-right: 2px;'>/t*+uvwx2chatty/gui/components/settings/SliderLongSetting$1/Pyz{|}~��C��java/lang/StringBuilder��java/lang/Long/����tBCDCEFHF0chatty/gui/components/settings/SliderLongSettingjavax/swing/JPanel*chatty/gui/components/settings/LongSetting(Ljava/lang/String;)VgetPreferredSize()Ljava/awt/Dimension;setMinimumSize(Ljava/awt/Dimension;)VaddChangeListener%(Ljavax/swing/event/ChangeListener;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;valueOf(J)Ljava/lang/Long;intValue()IsetValue	longValue()Jappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(J)VtoString()Ljava/lang/String;setText!!"#&'()*+,-./01�^*�*	�*�Y��**��*�Y�	�*�*���*��
Y*��**��W**��W�2*	! .!<#K,T-].34^45^67^87^97^:7;<12*���22345=>1X*�+��*+��*��2789:345(?@A1V(*��Y���Y*�������2='>3(45BC1A	*���2AB3	45	(7DC1A	*���2EF3	45	(7EF1A	*���2IJ3	45	(GHF1A	*�� �2MN3	45	(GIJ1;*]��23K5L)MN1/*��23K5OP1/*��23K5QR%
PḲG�s4chatty/gui/components/settings/SoundSettings$1.class���3I	(	)	*+&,-.-/01234567val$fileSettingLjava/lang/String;val$volumeSettingthis$0.Lchatty/gui/components/settings/SoundSettings;<init>U(Lchatty/gui/components/settings/SoundSettings;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClasses0Lchatty/gui/components/settings/SoundSettings$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;filevolumeJSourceFileSoundSettings.javaEnclosingMethod89:;<=>?@ABCDEtestFGH.chatty/gui/components/settings/SoundSettings$1java/lang/Objectjava/awt/event/ActionListener,chatty/gui/components/settings/SoundSettingsmakeSoundOptions:(Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JPanel;()Vaccess$100_(Lchatty/gui/components/settings/SoundSettings;)Lchatty/gui/components/settings/SettingsDialog;-chatty/gui/components/settings/SettingsDialoggetStringSetting&(Ljava/lang/String;)Ljava/lang/String;getLongSetting$(Ljava/lang/String;)Ljava/lang/Long;java/lang/Long	longValue()Jchatty/util/Soundplay)(Ljava/lang/String;FLjava/lang/String;I)V 
>*+�*,�*-�*���+*��*��M*��*���B,!�	����!�*�*++ !!"#$%&'PḲGCbº��Cchatty/gui/components/settings/SoundSettings$MyButtonListener.class���3N)	*+,-./012342567829:;<this$0.Lchatty/gui/components/settings/SoundSettings;<init>1(Lchatty/gui/components/settings/SoundSettings;)VCodeLineNumberTableLocalVariableTablethisMyButtonListenerInnerClasses?Lchatty/gui/components/settings/SoundSettings$MyButtonListener;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTable=a(Lchatty/gui/components/settings/SoundSettings;Lchatty/gui/components/settings/SoundSettings$1;)Vx0x10Lchatty/gui/components/settings/SoundSettings$1;SourceFileSoundSettings.java>?@AopenFolderBCDjava/io/FileEFAGHIJ.KscanFolderLM=chatty/gui/components/settings/SoundSettings$MyButtonListenerjava/lang/Objectjava/awt/event/ActionListener.chatty/gui/components/settings/SoundSettings$1()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z,chatty/gui/components/settings/SoundSettingsaccess$300(Ljava/lang/String;)Vaccess$100_(Lchatty/gui/components/settings/SoundSettings;)Lchatty/gui/components/settings/SettingsDialog;chatty/util/MiscUtil%(Ljava/io/File;Ljava/awt/Component;)Zaccess$4002(Lchatty/gui/components/settings/SoundSettings;Z)V 4*+�*��	�9+����Y��	*���W�+���*��
�
$0899 $#D*+��	 $%&'(2!PḲG��Dchatty/gui/components/settings/SoundSettings$WavFilenameFilter.class���3, !"$%&<init>()VCodeLineNumberTableLocalVariableTablethisWavFilenameFilterInnerClasses@Lchatty/gui/components/settings/SoundSettings$WavFilenameFilter;accept#(Ljava/io/File;Ljava/lang/String;)ZdirLjava/io/File;nameLjava/lang/String;
StackMapTable'3(Lchatty/gui/components/settings/SoundSettings$1;)Vx00Lchatty/gui/components/settings/SoundSettings$1;SourceFileSoundSettings.java	.wav()*+>chatty/gui/components/settings/SoundSettings$WavFilenameFilterjava/lang/Objectjava/io/FilenameFilter.chatty/gui/components/settings/SoundSettings$1java/lang/StringendsWith(Ljava/lang/String;)Z,chatty/gui/components/settings/SoundSettings 	/*��
\
,����	 



9*��
#PḲGǑ�BD%D%2chatty/gui/components/settings/SoundSettings.class���3���	��	������	����	�������	���I�	�	
		�	�$&	�&&&0�� �!"#�$%&'()*+,�-0.A�A/0A123456J�I78MI9:	;<P=�>?�@P
PABCDZEFG]]H]I]J�KL�MNeOgPeQ�RSATUeVWXAYZ[\]\^P_P`TaPbcAdeAfgPhijklmnop�q	�rstWavFilenameFilterInnerClassesMyButtonListenerSMALL_BUTTON_INSETSLjava/awt/Insets;	FILE_PATHLjava/lang/String;VOLUME_MINI
ConstantValueVOLUME_MAXdFILE_FILTER$Ljavax/swing/filechooser/FileFilter;d/Lchatty/gui/components/settings/SettingsDialog;fileSettingsLjava/util/Map;	SignatureVLjava/util/Map<Lchatty/gui/components/settings/ComboStringSetting;Ljava/lang/String;>;filesResultLjavax/swing/JLabel;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/settings/SoundSettings;generalLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;pathLjavax/swing/JTextField;buttonListenerLjava/awt/event/ActionListener;rescanButtonLjavax/swing/JButton;openFolderButtontabsLjavax/swing/JTabbedPane;addSoundOptions@(Ljavax/swing/JTabbedPane;Ljava/lang/String;Ljava/lang/String;)VidlabelmakeSoundOptions:(Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JPanel;
statusSettingfileSetting
volumeSettingdelaySettingpanel	hlSetting3Lchatty/gui/components/settings/ComboStringSetting;fileplaysecondPanelvolumeSlider2Lchatty/gui/components/settings/SliderLongSetting;delay	scanFiles(Z)Viitemarr$[Ljava/lang/String;len$i$selectedLjava/lang/Object;currentOneStillThereZsLjava/util/Iterator;	fileNamesshowMessageLjava/io/File;files[Ljava/io/File;resultTextwarningText
StackMapTablesN�?�u:vaccess$100_(Lchatty/gui/components/settings/SoundSettings;)Lchatty/gui/components/settings/SettingsDialog;x0access$300()Ljava/lang/String;access$4002(Lchatty/gui/components/settings/SoundSettings;Z)Vx1<clinit>()VSourceFileSoundSettings.java��������java/util/LinkedHashMap��javax/swing/JLabel��General Sound Settingswxyz{|}�sounds
Enable sounds&Use this to enable/disable all sounds.~��z�java/awt/Insets����3Chatty looks for sound files (.wav) in this folder:��javax/swing/JTextFieldjava/awt/Dimension��������������=chatty/gui/components/settings/SoundSettings$MyButtonListener��javax/swing/JButton
Rescan folder������scanFolder��Open folderopenFolderjavax/swing/JTabbedPane����	highlight	Highlight��status
Stream StatusmessageMessagejoinPart	Join/PartfollowerFollower��java/lang/StringBuilder��Sound��	SoundFileSoundVolumeSoundDelayjavax/swing/JPaneljava/awt/GridBagLayout��javax/swing/border/EmptyBorder��1chatty/gui/components/settings/ComboStringSetting�������java/lang/String�����Play.chatty/gui/components/settings/SoundSettings$1��Volume:0chatty/gui/components/settings/SliderLongSetting��������Delay:��java/io/File>chatty/gui/components/settings/SoundSettings$WavFilenameFilter����Error scanning folder.No sound files found.�� sound files found.����������u������������'��' (used as �� sound) wasn't found.����������/javax/swing/filechooser/FileNameExtensionFilterWav soundswav����,chatty/gui/components/settings/SoundSettings,chatty/gui/components/settings/SettingsPaneljava/util/Iteratorjava/lang/ObjectaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsanchoraddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;add)(Ljava/awt/Component;Ljava/lang/Object;)V$(IIIII)Ljava/awt/GridBagConstraints;(IIII)Vinsets(Ljava/lang/String;)VgetPreferredSize()Ljava/awt/Dimension;height(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetEditablefillweightxDa(Lchatty/gui/components/settings/SoundSettings;Lchatty/gui/components/settings/SoundSettings$1;)V	setMargin(Ljava/awt/Insets;)VaddActionListener"(Ljava/awt/event/ActionListener;)VsetActionCommandgetGbc (I)Ljava/awt/GridBagConstraints;addPanel8(Ljavax/swing/JComponent;Ljava/awt/GridBagConstraints;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString(Ljava/awt/LayoutManager;)V	setBorder(Ljavax/swing/border/Border;)V/chatty/gui/components/settings/SettingConstantsrequirementOptions(Ljava/util/Map;)VaddStringSettingp(Ljava/lang/String;Lchatty/gui/components/settings/StringSetting;)Lchatty/gui/components/settings/StringSetting;addComboStringSetting\(Ljava/lang/String;IZ[Ljava/lang/String;)Lchatty/gui/components/settings/ComboStringSetting;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;U(Lchatty/gui/components/settings/SoundSettings;Ljava/lang/String;Ljava/lang/String;)VsetMajorTickSpacing(I)VsetMinorTickSpacing
setPaintTicksaddLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)VaddSimpleLongSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;3(Lchatty/gui/components/settings/SoundSettings$1;)V	listFiles)(Ljava/io/FilenameFilter;)[Ljava/io/File;(I)Ljava/lang/StringBuilder;getNamejava/util/Arrayssort([Ljava/lang/Object;)VkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;getSelectedItemremoveAllItemsequals(Ljava/lang/Object;)Z(Ljava/lang/Object;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;get&(Ljava/lang/Object;)Ljava/lang/Object;setSelectedItemjavax/swing/JOptionPaneshowMessageDialogsetText
chatty/ChattygetSoundDirectory((Ljava/lang/String;[Ljava/lang/String;)V!����������������������������	�*�*�Y��*�Y�	�*+�*�M+�
N-�,+�-�+�N-�Y��,�Y�-�+�
N-�Y���Y��:�Y���� �!-�"-�#,-��$Y*�%:+
�N�&Y'�(:�)�*�+,�-,-�+
�N-�#,*�-�+
�N�&Y.�(:�)�*�+/�-,-��0Y�1:+�
N-�Y��-�"-�#**�2�3*45�6*78�6*9:�6*;<�6*=>�6*,*�2�3*����1,)*-/'30465E8P9`:n=w>�?�@�A�B�C�D�F�H�I�J�K�L�M�OP
QS!T,U4V;WBXI[R\[]j^o_t`b�c�d�e�f�s�u�v�\	������'���0����.����������,���Ro�����X+*,-�?-�@��yz�*�������������AY�B+�CD�C�EN�AY�B+�CF�C�E:�AY�B+�CG�C�E:�AY�B+�CH�C�E:�IY�JY�K�L:�MY�N�O*��
:�PY�Q�R:	*�-	�SW	�*��
:*��T�U:�Yx�V���W*�,�XW��&YY�(:�ZY*�[�+*��
:��IY�JY�K�L:*��
:��Y\���]Yd�^:

�_
�`
�a*�
�b*��
:�"�#
�*��
:
��Yc��*��d:*��
:�Y��
��*��
:�����,��)�>�S�c�t������������������������.�;�B�R�`�g�m�s�~��������������������������������������)���>���S�������c�������	�^���'��.���`���
�M�����Q�eY��fM,�gY�h�iNj:j:-�k:�-��l:��AY�B-��mn�C�E:-��T:6-��-2�oS�����p*��q�r:�s���t�P:�u:	�v6:�66

�$
2:	�w�6�x�
����A	�<�AY�B�Cy�C	�z{�C*��|�T�C}�C�E:�	�~��]�*�AY�B�C�C�E�*�����~���� �$�+�0�7�M�T�^�j�p�u���������������������!�(+/GP��W������0���+���(��
����	�~����������T���Q��Q��F��9��5�� 1����
�+������	����0����������������������B�����/*���������������:*�����������L,�Y��)�����Y��TY�S������ %���g��$��ZPKʣG�U}J��2chatty/gui/components/settings/StringSetting.class���3	getSettingValue()Ljava/lang/String;setSettingValue(Ljava/lang/String;)VSourceFileStringSetting.java,chatty/gui/components/settings/StringSettingjava/lang/ObjectPKʣG���Echatty/gui/components/settings/StringTableEditor$MyItemEditor$1.class���3/	!	"#$%&'val$this$02Lchatty/gui/components/settings/StringTableEditor;this$1)MyItemEditorInnerClasses?Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;<init>t(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;Lchatty/gui/components/settings/StringTableEditor;)VCodeLineNumberTableLocalVariableTablethisALchatty/gui/components/settings/StringTableEditor$MyItemEditor$1;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileStringTableEditor.javaEnclosingMethod*	+,-?chatty/gui/components/settings/StringTableEditor$MyItemEditor$1java/lang/Object"javax/swing/event/DocumentListener.=chatty/gui/components/settings/StringTableEditor$MyItemEditorJ(Lchatty/gui/components/settings/StringTableEditor;Ljavax/swing/JDialog;)V()Vaccess$200B(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)V0chatty/gui/components/settings/StringTableEditor 	9*+�*,�*��|@*�����@*�����@*����� 
(PKʣG���G		Echatty/gui/components/settings/StringTableEditor$MyItemEditor$2.class���3e	/	01234	56789: 1; <= >?@ABCDEFGval$this$02Lchatty/gui/components/settings/StringTableEditor;this$1HMyItemEditorInnerClasses?Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;<init>t(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;Lchatty/gui/components/settings/StringTableEditor;)VCodeLineNumberTableLocalVariableTablethisALchatty/gui/components/settings/StringTableEditor$MyItemEditor$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileStringTableEditor.javaEnclosingMethodIJKLMNOPQRSTUVWjava/lang/StringBuilderAn item with the key 'XY' already existsZ[\]^_`abcdO?chatty/gui/components/settings/StringTableEditor$MyItemEditor$2java/lang/Objectjava/awt/event/ActionListener=chatty/gui/components/settings/StringTableEditor$MyItemEditorJ(Lchatty/gui/components/settings/StringTableEditor;Ljavax/swing/JDialog;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$300V(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)Ljavax/swing/JButton;this$0access$400S(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)Ljava/lang/String;0chatty/gui/components/settings/StringTableEditoraccess$500G(Lchatty/gui/components/settings/StringTableEditor;Ljava/lang/String;)Zaccess$600V(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)Ljavax/swing/JDialog;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;javax/swing/JOptionPaneshowMessageDialog)(Ljava/awt/Component;Ljava/lang/Object;)Vjavax/swing/JDialogsetVisible(Z)Vaccess$702C(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;Z)Zaccess$800  9*+�*,�*��!�"#%&' �~+�*���Y*��*����.*��	�Y��
*���
�
���3*��	�*��W�+�*���*��	��!"��"�M�X�d�r�}�"~#%~()*�M+,-.7PKʣG%�7>>Cchatty/gui/components/settings/StringTableEditor$MyItemEditor.class���3�	?�	?�	?�?�	?�?�	?�@��	�	?�	?���
���������	�����
����� �	 �	 �	 �?�	 ��(�	 �	 �������7�	�7�	���	�7���
��<�?����MyItemEditorInnerClassesdialogLjavax/swing/JDialog;keyLjavax/swing/JTextField;valueokLjavax/swing/JButton;cancelsaveZthis$02Lchatty/gui/components/settings/StringTableEditor;<init>J(Lchatty/gui/components/settings/StringTableEditor;Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis?Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;ownerdocumentListener$Ljavax/swing/event/DocumentListener;listenerLjava/awt/event/ActionListener;gbcLjava/awt/GridBagConstraints;showEditor
StringMapItem�(Lchatty/gui/components/settings/StringTableEditor$StringMapItem;Ljava/awt/Component;Z)Lchatty/gui/components/settings/StringTableEditor$StringMapItem;preset@Lchatty/gui/components/settings/StringTableEditor$StringMapItem;cLjava/awt/Component;edit
StackMapTablegetKey()Ljava/lang/String;
updateButtons()VenabledsetKeyFilter$(Ljavax/swing/text/DocumentFilter;)V	keyFilter!Ljavax/swing/text/DocumentFilter;;(Ljava/lang/Object;Ljava/awt/Component;Z)Ljava/lang/Object;x0Ljava/lang/Object;x1x2access$200B(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)Vaccess$300V(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)Ljavax/swing/JButton;access$400S(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)Ljava/lang/String;access$600V(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;)Ljavax/swing/JDialog;access$702C(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;Z)Zaccess$800	SignatureItemEditor�Ljava/lang/Object;Lchatty/gui/components/settings/TableEditor$ItemEditor<Lchatty/gui/components/settings/StringTableEditor$StringMapItem;>;SourceFileStringTableEditor.javaLKMNEFhiJKjkOPQkjavax/swing/JTextFieldGHIHjavax/swing/JButtonDoneQ�Canceljavax/swing/JDialogQ�	Edit Item����?chatty/gui/components/settings/StringTableEditor$MyItemEditor$1Q������?chatty/gui/components/settings/StringTableEditor$MyItemEditor$2��java/awt/GridBagLayout��java/awt/GridBagConstraints��������java/awt/InsetsQ��������k��	Edit itemAdd item�������������>chatty/gui/components/settings/StringTableEditor$StringMapItem�iQ������!javax/swing/text/AbstractDocument�n_a=chatty/gui/components/settings/StringTableEditor$MyItemEditorjava/lang/Object�5chatty/gui/components/settings/TableEditor$ItemEditor(Ljava/lang/String;)V(Ljava/awt/Dialog;)VsetTitlesetModal(Z)Vt(Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;Lchatty/gui/components/settings/StringTableEditor;)VgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)VaddActionListener"(Ljava/awt/event/ActionListener;)V	setLayout(Ljava/awt/LayoutManager;)VgridxIgridyfillweightxD(IIII)VinsetsLjava/awt/Insets;	gridwidthadd)(Ljava/awt/Component;Ljava/lang/Object;)VpacksetResizablesetLocationRelativeTo(Ljava/awt/Component;)Vaccess$000T(Lchatty/gui/components/settings/StringTableEditor$StringMapItem;)Ljava/lang/String;setTextaccess$100requestFocusInWindow()ZsetVisible0chatty/gui/components/settings/StringTableEditorgetText'(Ljava/lang/String;Ljava/lang/String;)Vjava/lang/StringisEmptysetEnabledsetDocumentFilter*chatty/gui/components/settings/TableEditor ?@AEFGHIHJKLKMNOPQRS?]*+�*�*�	Y��*�	Y��*�
Y��*�
Y��*�Y,��*��*���Y*+�N*��-�*��-��Y*+�:*��*��*��Y��� Y�!:�"�#�$%�'�(Y�)�*�+*�*��,�"�#*�*��,�+�"�"�#�(Y�)�**�*��,�"*�*��,*��-*��.�T�%w	opr,s9xEyNzV|`�m�z����������������������������������-�:�@�M�T�\�U4]VW]XF`�YZ��[\��]^_aS�*��*�/��*�0�*�,�1+�*�+�2�3*�+�4�3�*��3*��3*�*��5W*��6*���7Y*�*��8�9��TB��	���&�*�5�C�K�S�W�_�g�n���U*�VW�bc�de�fNg$-hiS2*��8�T�UVWjkSm&*��:�*��8�:��<*��;�T��%�U&VW	lNg@mnSG*���<+�=�T��UVWopA_qSS*+�7,�>�TlU*VWrsteuNvwS/*��TlUrWxyS/*��TlUrWz{S/*��TlUrW|}S/*��TlUrW~S;*Z��TlUrWtN�yS/*��TlUrW����C*?�B7�`A��	PKʣG�m�]��Cchatty/gui/components/settings/StringTableEditor$MyTableModel.class���31 ! "	#%&'()<init>()VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses?Lchatty/gui/components/settings/StringTableEditor$MyTableModel;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndex
StackMapTable	Signature
StringMapItemqLchatty/gui/components/settings/ListTableModel<Lchatty/gui/components/settings/StringTableEditor$StringMapItem;>;SourceFileStringTableEditor.javajava/lang/StringKeyValue*+,->chatty/gui/components/settings/StringTableEditor$StringMapItem./0/=chatty/gui/components/settings/StringTableEditor$MyTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)Vget(I)Ljava/lang/Object;0chatty/gui/components/settings/StringTableEditoraccess$000T(Lchatty/gui/components/settings/StringTableEditor$StringMapItem;)Ljava/lang/String;access$100 	
A*�YSYS��_`
k�*����*����deg 	$$PKʣG,08�^^Dchatty/gui/components/settings/StringTableEditor$StringMapItem.class���3 		keyLjava/lang/String;value<init>'(Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis
StringMapItemInnerClasses@Lchatty/gui/components/settings/StringTableEditor$StringMapItem;access$000T(Lchatty/gui/components/settings/StringTableEditor$StringMapItem;)Ljava/lang/String;x0access$100SourceFileStringTableEditor.java	>chatty/gui/components/settings/StringTableEditor$StringMapItemjava/lang/Object()V0chatty/gui/components/settings/StringTableEditor 	Y*�*+�*,��TU	VW
 /*��P
/*��P
PKʣG3�5+6chatty/gui/components/settings/StringTableEditor.class���3�#]$^_`	#a#bcd	#e#fghij`klmnonpqrstuvw`txymzt{|}~����MyItemEditorInnerClassesMyTableModel
StringMapItemdata?Lchatty/gui/components/settings/StringTableEditor$MyTableModel;editor?Lchatty/gui/components/settings/StringTableEditor$MyItemEditor;<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/settings/StringTableEditor;ownerLjavax/swing/JDialog;setKeyFilter(Ljava/lang/String;)VpLjava/lang/String;getSettingValue()Ljava/util/Map;item@Lchatty/gui/components/settings/StringTableEditor$StringMapItem;i$Ljava/util/Iterator;mapLjava/util/Map;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
StackMapTable��	Signature7()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;setSettingValue(Ljava/util/Map;)VvaluekeyvaluesitemsLjava/util/Collection;XLjava/util/Collection<Lchatty/gui/components/settings/StringTableEditor$StringMapItem;>;�8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)VhasKey(Ljava/lang/String;)Zaccess$500G(Lchatty/gui/components/settings/StringTableEditor;Ljava/lang/String;)Zx0x1�Lchatty/gui/components/settings/TableEditor<Lchatty/gui/components/settings/StringTableEditor$StringMapItem;>;Lchatty/gui/components/settings/MapSetting<Ljava/lang/String;Ljava/lang/String;>;SourceFileStringTableEditor.javaTU.�=chatty/gui/components/settings/StringTableEditor$MyTableModel.�*+��=chatty/gui/components/settings/StringTableEditor$MyItemEditor.�,-��chatty/gui/RegexDocumentFilter.87�java/util/HashMap����������>chatty/gui/components/settings/StringTableEditor$StringMapItem���������java/util/ArrayList���java/lang/String��.��������0chatty/gui/components/settings/StringTableEditor*chatty/gui/components/settings/TableEditor)chatty/gui/components/settings/MapSetting
java/util/Mapjava/util/Iteratorjava/util/Collection(IZ)V()VsetModel2(Lchatty/gui/components/settings/ListTableModel;)VJ(Lchatty/gui/components/settings/StringTableEditor;Ljavax/swing/JDialog;)V
setItemEditor�ItemEditor:(Lchatty/gui/components/settings/TableEditor$ItemEditor;)V$(Ljavax/swing/text/DocumentFilter;)VgetData()Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;access$000T(Lchatty/gui/components/settings/StringTableEditor$StringMapItem;)Ljava/lang/String;access$100put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;clearkeySet()Ljava/util/Set;
java/util/Setget&(Ljava/lang/Object;)Ljava/lang/Object;'(Ljava/lang/String;Ljava/lang/String;)Vadd(Ljava/lang/Object;)ZsetData(Ljava/util/Collection;)Vequals5chatty/gui/components/settings/TableEditor$ItemEditor!#$%*+,-./0w/*�*�Y��**��*�Y*+��	**�	��1)%*+&,.-2/34/56780H*�	�Y+��
�1012349:;<0�<�Y�L*���M,��,��N+-�-��W���+�156(778:92*(=>%?@<344ABC4ADE�FG�$HIJK0Z*���Y�M+��N-��0-��:+��:,�Y�� W���*�,�!�1">?@/A<BNCQDYE2><L:/M:6?@Z34ZNBKOPCZNDKOQE�RG�5HSTU0�2*���M,��,��N-�+�"������1H I+J-L0M2* 
=>
#?@2342M:E�
G�VW0:*+��1#2X4Y:HZ[\'"#&#(#)�$�	PKʣG`����2chatty/gui/components/settings/TableEditor$1.class���3'	 !"this$0,Lchatty/gui/components/settings/TableEditor;<init>/(Lchatty/gui/components/settings/TableEditor;)VCodeLineNumberTableLocalVariableTablethisInnerClasses.Lchatty/gui/components/settings/TableEditor$1;LocalVariableTypeTable.Lchatty/gui/components/settings/TableEditor.1;valueChanged)(Ljavax/swing/event/ListSelectionEvent;)Ve&Ljavax/swing/event/ListSelectionEvent;SourceFileTableEditor.javaEnclosingMethod#	$	%&,chatty/gui/components/settings/TableEditor$1java/lang/Object'javax/swing/event/ListSelectionListener*chatty/gui/components/settings/TableEditor(IZ)V()Vaccess$100 	F*+�*��`
R*���de
PKʣG-r�T��2chatty/gui/components/settings/TableEditor$2.class���3:	#	$%&!'%(!)!*+,this$0,Lchatty/gui/components/settings/TableEditor;<init>/(Lchatty/gui/components/settings/TableEditor;)VCodeLineNumberTableLocalVariableTablethisInnerClasses.Lchatty/gui/components/settings/TableEditor$2;LocalVariableTypeTable.Lchatty/gui/components/settings/TableEditor.2;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTablemousePressed
mouseReleasedSourceFileTableEditor.javaEnclosingMethod-./0123
456789,chatty/gui/components/settings/TableEditor$2java/awt/event/MouseAdapter*chatty/gui/components/settings/TableEditor(IZ)V()Vjava/awt/event/MouseEvent
getClickCount()Iaccess$200getPoint()Ljava/awt/Point;access$300?(Lchatty/gui/components/settings/TableEditor;Ljava/awt/Point;)Vaccess$400J(Lchatty/gui/components/settings/TableEditor;Ljava/awt/event/MouseEvent;)V 	
F*+�*��ig+��*���lmob*�+��*�+��stuS	*�+��yz			 !"PKʣG*�ɼxx2chatty/gui/components/settings/TableEditor$3.class���3%	 this$0,Lchatty/gui/components/settings/TableEditor;<init>/(Lchatty/gui/components/settings/TableEditor;)VCodeLineNumberTableLocalVariableTablethisInnerClasses.Lchatty/gui/components/settings/TableEditor$3;LocalVariableTypeTable.Lchatty/gui/components/settings/TableEditor.3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileTableEditor.javaEnclosingMethod!"#$#,chatty/gui/components/settings/TableEditor$3javax/swing/AbstractAction*chatty/gui/components/settings/TableEditor(IZ)V()VremoveSelected 	F*+�*��

R*�����

PKʣGnEL�zz2chatty/gui/components/settings/TableEditor$4.class���3)	 !"#$this$0,Lchatty/gui/components/settings/TableEditor;<init>/(Lchatty/gui/components/settings/TableEditor;)VCodeLineNumberTableLocalVariableTablethisInnerClasses.Lchatty/gui/components/settings/TableEditor$4;LocalVariableTypeTable.Lchatty/gui/components/settings/TableEditor.4;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileTableEditor.javaEnclosingMethod%	&	'(,chatty/gui/components/settings/TableEditor$4java/lang/Object"javax/swing/event/DocumentListener*chatty/gui/components/settings/TableEditor(IZ)V()Vaccess$500 	F*+�*���
R*�����
R*�����
R*�����
PKʣG�Q�	cc=chatty/gui/components/settings/TableEditor$ButtonAction.class���3^/	012345464748494:4;4<4=4>4?4@ABCDEthis$0,Lchatty/gui/components/settings/TableEditor;<init>/(Lchatty/gui/components/settings/TableEditor;)VCodeLineNumberTableLocalVariableTablethisButtonActionInnerClasses9Lchatty/gui/components/settings/TableEditor$ButtonAction;LocalVariableTypeTable>Lchatty/gui/components/settings/TableEditor<TT;>.ButtonAction;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableF](Lchatty/gui/components/settings/TableEditor;Lchatty/gui/components/settings/TableEditor$1;)Vx0x1.Lchatty/gui/components/settings/TableEditor$1;SourceFileTableEditor.javaGHIJKLMNGOMPGQMRGSMTUMVWXMY[\]G7chatty/gui/components/settings/TableEditor$ButtonActionjava/lang/Objectjava/awt/event/ActionListener,chatty/gui/components/settings/TableEditor$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;*chatty/gui/components/settings/TableEditoraccess$600C(Lchatty/gui/components/settings/TableEditor;)Ljavax/swing/JButton;moveUpSelectedaccess$700moveDownSelectedaccess$800removeSelectedaccess$900access$200access$1000addItem(Ljava/lang/Object;)Vaccess$1100access$1200TableEditorListenern(Lchatty/gui/components/settings/TableEditor;)Lchatty/gui/components/settings/TableEditor$TableEditorListener;>chatty/gui/components/settings/TableEditor$TableEditorListenerrefreshData F*+�*��d !"#&�+�*���
*����+�*���
*���p+�*��	�
*���X+�*���
*���@+�*��
�*���'+�*���*���*����:hij&k0l>mHnVo`pnqyr�s�t�w��$% �!&#)V*+��d *+, !-.4'A4Z	PKʣGf\
#��;chatty/gui/components/settings/TableEditor$ItemEditor.class���3showEditor;(Ljava/lang/Object;Ljava/awt/Component;Z)Ljava/lang/Object;	Signature(TT;Ljava/awt/Component;Z)TT;(<T:Ljava/lang/Object;>Ljava/lang/Object;SourceFileTableEditor.java5chatty/gui/components/settings/TableEditor$ItemEditorItemEditorInnerClassesjava/lang/Object*chatty/gui/components/settings/TableEditor	
	PKʣG����Achatty/gui/components/settings/TableEditor$TableContextMenu.class���3<init>()VCodeLineNumberTableLocalVariableTablethisTableContextMenuInnerClasses=Lchatty/gui/components/settings/TableEditor$TableContextMenu;LocalVariableTypeTableBLchatty/gui/components/settings/TableEditor$TableContextMenu<TT;>;showMenu+(Ljava/lang/Object;Ljava/awt/Component;II)V	Signature(TT;Ljava/awt/Component;II)V.<T:Ljava/lang/Object;>Ljavax/swing/JPopupMenu;SourceFileTableEditor.java;chatty/gui/components/settings/TableEditor$TableContextMenujavax/swing/JPopupMenu*chatty/gui/components/settings/TableEditor!A*���	
		PKʣGDX�Dchatty/gui/components/settings/TableEditor$TableEditorListener.class���3	itemAdded(Ljava/lang/Object;)V	Signature(TT;)VitemRemoveditemEdited'(Ljava/lang/Object;Ljava/lang/Object;)V	(TT;TT;)VrefreshData()V(<T:Ljava/lang/Object;>Ljava/lang/Object;SourceFileTableEditor.java>chatty/gui/components/settings/TableEditor$TableEditorListenerTableEditorListenerInnerClassesjava/lang/Object*chatty/gui/components/settings/TableEditor	
	PKʣG�Y��?�?0chatty/gui/components/settings/TableEditor.class���3�	�b	�c	�d	�e	�f	�g	�h�i�j�k�l�m�nop	�qrnsn	�t	�uvn	�wxyz{|}~ |���������(|�����������������8n����	h�	h�	h��?����B�	h���E�E���J|��	����O�	���O�����������������	��	�������������������hn	h�	h�	h�	h�������	��O�������u���	���������}�����������������������������������������TableEditorListenerInnerClasses	ItemEditorTableContextMenuButtonActionBUTTON_SIZELjava/awt/Dimension;SORTING_MODE_MANUALI
ConstantValueSORTING_MODE_SORTEDbuttonActionListener9Lchatty/gui/components/settings/TableEditor$ButtonAction;	Signature>Lchatty/gui/components/settings/TableEditor<TT;>.ButtonAction;tableLjavax/swing/JTable;data/Lchatty/gui/components/settings/ListTableModel;4Lchatty/gui/components/settings/ListTableModel<TT;>;editor7Lchatty/gui/components/settings/TableEditor$ItemEditor;<Lchatty/gui/components/settings/TableEditor$ItemEditor<TT;>;sorter"Ljavax/swing/table/TableRowSorter;XLjavax/swing/table/TableRowSorter<Lchatty/gui/components/settings/ListTableModel<TT;>;>;sortingModecurrentlyFilteringZaddLjavax/swing/JButton;removeeditmoveUpmoveDownrefreshfilterInputLjavax/swing/JTextField;listener@Lchatty/gui/components/settings/TableEditor$TableEditorListener;contextMenu=Lchatty/gui/components/settings/TableEditor$TableContextMenu;<init>(IZ)VCodeLineNumberTableLocalVariableTablefilterInputLabelLjavax/swing/JLabel;this,Lchatty/gui/components/settings/TableEditor;
refreshButtongbcLjava/awt/GridBagConstraints;LocalVariableTypeTable1Lchatty/gui/components/settings/TableEditor<TT;>;
StackMapTable�setModel2(Lchatty/gui/components/settings/ListTableModel;)Vmodel7(Lchatty/gui/components/settings/ListTableModel<TT;>;)VsetDefaultRenderer9(Ljava/lang/Class;Ljavax/swing/table/TableCellRenderer;)V	cellClassLjava/lang/Class;renderer%Ljavax/swing/table/TableCellRenderer;setRendererForColumn)(ILjavax/swing/table/TableCellRenderer;)VcolumnsetFixedColumnWidth(II)VsizesetColumnWidthsetData(Ljava/util/List;)VLjava/util/List;Ljava/util/List<TT;>;(Ljava/util/List<TT;>;)VgetData()Ljava/util/List;()Ljava/util/List<TT;>;
setItemEditor:(Lchatty/gui/components/settings/TableEditor$ItemEditor;)V?(Lchatty/gui/components/settings/TableEditor$ItemEditor<TT;>;)VsetPopupMenu@(Lchatty/gui/components/settings/TableEditor$TableContextMenu;)VmenuBLchatty/gui/components/settings/TableEditor$TableContextMenu<TT;>;E(Lchatty/gui/components/settings/TableEditor$TableContextMenu<TT;>;)VsetTableEditorListenerC(Lchatty/gui/components/settings/TableEditor$TableEditorListener;)VELchatty/gui/components/settings/TableEditor$TableEditorListener<TT;>;H(Lchatty/gui/components/settings/TableEditor$TableEditorListener<TT;>;)V	popupMenu(Ljava/awt/event/MouseEvent;)VentryLjava/lang/Object;modelIndexeLjava/awt/event/MouseEvent;TT;selectRowAt(Ljava/awt/Point;)VpLjava/awt/Point;rowmakeGbc#(IIII)Ljava/awt/GridBagConstraints;xywhupdateFiltering()Vex(Ljava/util/regex/PatternSyntaxException;filterTextLjava/lang/String;rfLjavax/swing/RowFilter;_Ljavax/swing/RowFilter<Lchatty/gui/components/settings/ListTableModel<TT;>;Ljava/lang/Object;>;��configureButton<(Ljavax/swing/JButton;Ljava/lang/String;Ljava/lang/String;)Vbuttonicontooltip
updateButtonsenabledsetRowSelected(I)V	viewIndexscrollToSelectionindexscrollToRowaddItem(Ljava/lang/Object;)Voptions[Ljava/lang/String;r
selectedIndexpresetresult(TT;)VeditSelectedItemeditItem(ILjava/lang/Object;)Vpresent(ITT;)VremoveSelectedremovedItemmoveUpSelectedmoveDownSelectedindexToModel(I)IindexToViewaccess$100/(Lchatty/gui/components/settings/TableEditor;)Vx0access$200access$300?(Lchatty/gui/components/settings/TableEditor;Ljava/awt/Point;)Vx1access$400J(Lchatty/gui/components/settings/TableEditor;Ljava/awt/event/MouseEvent;)Vaccess$500access$600C(Lchatty/gui/components/settings/TableEditor;)Ljavax/swing/JButton;access$700access$800access$900access$1000access$1100access$1200n(Lchatty/gui/components/settings/TableEditor;)Lchatty/gui/components/settings/TableEditor$TableEditorListener;<clinit>*<T:Ljava/lang/Object;>Ljavax/swing/JPanel;SourceFileTableEditor.java��������������	?-�7chatty/gui/components/settings/TableEditor$ButtonAction�
��javax/swing/JButtonjavax/swing/JTextField����javax/swing/JTable��0,chatty/gui/components/settings/TableEditor$1�L,chatty/gui/components/settings/TableEditor$2removeItems !,chatty/gui/components/settings/TableEditor$3"#list-add.pngAdd selected item()edit.pngEdit selected itemlist-remove.pngRemove selected item	go-up.pngMove selected item upgo-down.pngMove selected item downview-refresh.pngRefresh datajava/awt/GridBagLayout$%&�'()(javax/swing/JScrollPane�*�+java/awt/Insets�,-.javax/swing/JLabelFilter: �/0*12,chatty/gui/components/settings/TableEditor$4345���6 javax/swing/table/TableRowSorter�6��7890��:;<=>?@AB0C0D0E�F������GHIJKHILMNKOKPQRS/0java/awt/GridBagConstraintsT�U�V�W�XYZ[&java/util/regex/PatternSyntaxException\I��]^2javax/swing/ImageIcon+chatty/gui/components/settings/ListSelector_`a�bcde/��fghgigjgklmKno�40pqrstuvwjava/lang/StringDon't saveEdit again7Another item with the same name is already in the list.Duplicate itemxyz56{AJI|6@A}~ReplaceA���K�M�6�I�I�I�Ijava/awt/Dimension��*chatty/gui/components/settings/TableEditorjavax/swing/JPanel>chatty/gui/components/settings/TableEditor$TableEditorListener5chatty/gui/components/settings/TableEditor$ItemEditor;chatty/gui/components/settings/TableEditor$TableContextMenujavax/swing/RowFilterjava/lang/Object](Lchatty/gui/components/settings/TableEditor;Lchatty/gui/components/settings/TableEditor$1;)VsetSelectionModesetFillsViewportHeight(Z)VgetSelectionModel"()Ljavax/swing/ListSelectionModel;javax/swing/ListSelectionModeladdListSelectionListener,(Ljavax/swing/event/ListSelectionListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VgetInputMap()Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke(II)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)V	setLayout(Ljava/awt/LayoutManager;)VfillweightxDweighty(Ljava/awt/Component;)V)(Ljava/awt/Component;Ljava/lang/Object;)V(IIII)VinsetsLjava/awt/Insets;(Ljava/lang/String;)VsetLabelForgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)V!(Ljavax/swing/table/TableModel;)VsetRowSorter(Ljavax/swing/RowSorter;)VtoggleSortOrdergetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel	getColumn"(I)Ljavax/swing/table/TableColumn;javax/swing/table/TableColumnsetCellRenderer((Ljavax/swing/table/TableCellRenderer;)VsetMaxWidthsetMinWidthsetPreferredWidth-chatty/gui/components/settings/ListTableModel(Ljava/util/Collection;)Vjava/awt/event/MouseEventisPopupTrigger()ZgetSelectedRow()Iget(I)Ljava/lang/Object;getXgetYshowMenu+(Ljava/lang/Object;Ljava/awt/Component;II)VrowAtPoint(Ljava/awt/Point;)Igridxgridy	gridwidthgridheightgetText()Ljava/lang/String;regexFilter-(Ljava/lang/String;[I)Ljavax/swing/RowFilter;isEmptysetRowFilter(Ljavax/swing/RowFilter;)Vjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VsetIcon(Ljavax/swing/Icon;)VsetToolTipTextsetPreferredSize(Ljava/awt/Dimension;)VsetSizesetMaximumSizesetMinimumSizeaddActionListener"(Ljava/awt/event/ActionListener;)VgetSelectedRowCountsetEnabledsetSelectionIntervalgetCellRect(IIZ)Ljava/awt/Rectangle;scrollRectToVisible(Ljava/awt/Rectangle;)VshowEditor;(Ljava/lang/Object;Ljava/awt/Component;Z)Ljava/lang/Object;contains(Ljava/lang/Object;)Zjavax/swing/JOptionPaneshowOptionDialogt(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;IILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)Iinsert	itemAddedindexOf(Ljava/lang/Object;)IsetitemEdited'(Ljava/lang/Object;Ljava/lang/Object;)VgetRowCountitemRemovedconvertRowIndexToModelconvertRowIndexToView!����������������������������������������������������*����&*�
*�Y*��*�Y��*�Y��*�Y��*�Y��*�Y��*�Y��*�Y��*�*�Y��*��*��*���Y*��*�� Y*�!�"*��#�$%�&*��'%�(Y*�)�***�+,�-**�./�-**�01�-**�23�-**�45�-**�67�-*�8Y�9�:*�;N-�<-�=-�>*�?Y*��@-�A�h*�;N-�BY�C�D�EYF�G:*��H*-�A*�;N-�<-�=**�-�A*��I�JY*�K�L*�;N**�-�A*�;N**�-�A*�;N**�-�A�'*�;N**�-�A*�;N**�-�A�*�;N**�-�A*����8Y3?@'A2B=CHDSF^Zc[n\v]~`�i�~��������������$�)�.�3�C�H�R�a�l�u�|���������������������������������!�%��4lA��&��&��&��$���&��������]����5*+�M*�+�N*��"*�OY+�P�Q*�*�Q�R*�Q�S����
��!�,�4��5��5���5��5���4�����^*�+,�T���	�� ������������f*��U�V,�W����� ������������{#*��U�V�X*��U�V�Y����"�� #��#��#���#�����f*��U�V�Z����� ������������e
*�M+�[*������
��
���
��
�������D*�M�\�������������Z*+�]���������������Z*+�^�����������Z*+���$%����������	��=*�^�8+�_�1**��`�a=� *�M�bN*�^-*�+�c+�d�e��./01(2<5�*("
�=��=�(=���<�|*�+�f=�*�g��=	>?A� ��	��������%�hY�i:�j�k�l�m��M	NOPQ"R�>%��%�%�%�%�	���%���@*��nLM+�YO�oM�N�*,�+�q���r*�Q,�s*�t*��p�.WXZ][\^/_7`;a?c�*@��8 !6"#�@��6"$�.��%&'O��%&�()��<+�uYv,�w�x�y+-�z+�{�|+�{�}+�{�~+�{�+*�����"opqr%s,t3u;v�*<��<*�<+!<,!�<��-��a*�����<*���*���*���*���*���*�r�#*���*���*���*�����2|}~!)�1�9�@�H�P�X�`��a��P.��a���	@�O/0�b*����*����������1����2�\*��`<*������
����3����40�n�*�*�������������3�����56���*�]+*��M,��*�M,���/��Y�SY�SN*��-��6�*,���R*��`>*�a6�*�M,��**���g�*�M,��**���g*��
*�,����J�
���+�:�@�E�H�P�W�]�g�t�}��������H+78:9�PG:�W@
�����;
�<� ����;
�<��E=�+��>?�G*������������@0�Q*���������
����@A����**��`�a<��**���g,�*�M�bM*�],*��N-�d*�M-��6�9�3��Y�SY�S:*�����6�	*-���*�M-��*��*�,-��**���g��V����� �$�-�:�>�H�T�d�u{�������Hd78u9�HWB�����
��;:o<� ����;:o<��S=��CD�k*�����*��`<*�a=��*�M��N*����*�g�d�*���d�*d�g*�*��
*�-����>(!3";#N$U(Y)`*j,�*k��X1�R
�(CE�k��(CE���=F��$*��`<�*�M*�a��=**���g��45
67#9� 	3�$��:��$����#G��$*��`<�*�M*�a��=**���g��AB
CD#F� 	3�$��:��$����#HI�g��*�����PQS���3�����JI�O	*�����^�	��	3��	��KL�/*���,�M�NL�/*���,�M�OP�:*+���,�M�QRS�:*+�	��,�M�QTL�/*���,�M�UV�/*���,�M�WV�/*���,�M�XV�/*���,�M�YV�/*���,�M�ZV�/*���,�M�[V�/*���,�M�\]�/*���,�M�^�'��Y���{��.�_`a�B���	���	���	��J( PKˣG��Z@Bchatty/gui/components/settings/UsercolorEditor$ColorRenderer.class���3e56789:9;<=>?@ 5 ABC DEFGEHJKL<init>()VCodeLineNumberTableLocalVariableTablethis
ColorRendererInnerClasses>Lchatty/gui/components/settings/UsercolorEditor$ColorRenderer;getTableCellRendererComponent@(Ljavax/swing/JTable;Ljava/lang/Object;ZZII)Ljava/awt/Component;tableLjavax/swing/JTable;valueLjava/lang/Object;isSelectedZhasFocusrowIcolumncolorLjava/awt/Color;namedColorStringLjava/lang/String;colorString
StackMapTable7MSourceFileUsercolorEditor.javaNOjava/awt/ColorPQRSTUTVWMXYZWjava/lang/StringBuilder[\ ()]^_`abQcad<chatty/gui/components/settings/UsercolorEditor$ColorRendererjavax/swing/JLabel#javax/swing/table/TableCellRendererjava/lang/String	setOpaque(Z)V
setForeground(Ljava/awt/Color;)Vchatty/gui/HtmlColorsgetNamedColorString$(Ljava/awt/Color;)Ljava/lang/String;getColorStringsetText(Ljava/lang/String;)Vequals(Ljava/lang/Object;)ZsetToolTipTextappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;javax/swing/JTablegetSelectionBackground()Ljava/awt/Color;
setBackground
getBackground.chatty/gui/components/settings/UsercolorEditor!<*�*��ST	U Dt,�*�,�:*��:�:	*�	��*	�	�%*�Y��
�	����	�*+���*+��*�:]^bcfg h&i0j9l[p_qjsruftt!"t#$t%&t'&t()t*)h+,[-. T/.	0�2122!34I	PKˣG|���Cchatty/gui/components/settings/UsercolorEditor$ItemIdRenderer.class���3u789:;<=>?@	AB7	CDEF	GHI>J	KLM>NO>PRST<init>()VCodeLineNumberTableLocalVariableTablethisItemIdRendererInnerClasses?Lchatty/gui/components/settings/UsercolorEditor$ItemIdRenderer;getTableCellRendererComponent@(Ljavax/swing/JTable;Ljava/lang/Object;ZZII)Ljava/awt/Component;tableLjavax/swing/JTable;valueLjava/lang/Object;isSelectedZhasFocusrowIcolumnitemLchatty/UsercolorItem;
StackMapTable=SourceFileUsercolorEditor.javaUVWXerrorYXchatty/UsercolorItemZ[\]^_/java/lang/StringBuilder`abc (error)defghijklmhnopqlrjslt=chatty/gui/components/settings/UsercolorEditor$ItemIdRendererjavax/swing/JLabel#javax/swing/table/TableCellRenderer	setOpaque(Z)VsetText(Ljava/lang/String;)VsetToolTipTextjavax/swing/JTablegetFont()Ljava/awt/Font;setFont(Ljava/awt/Font;)VtypeidLjava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/awt/ColorREDLjava/awt/Color;
setForeground(Ljava/awt/Color;)V
getForeground()Ljava/awt/Color;idColorchatty/gui/HtmlColorsgetColorString$(Ljava/awt/Color;)Ljava/lang/String;getSelectionBackground
setBackground
getBackground.chatty/gui/components/settings/UsercolorEditor!<*�*����	� !$%&]�,�*�*�*�,�:*+��	��(*�Y��
����*���*�
�*+����*����*��*+���*+��*�J������ �)�D�N�W�_�h�w�|������� R�!$�'(�)*�+,�-,�./�0/}123�;456#Q"	PKˣG�mVT��Cchatty/gui/components/settings/UsercolorEditor$MyItemEditor$1.class���3*	 !"#this$0%MyItemEditorInnerClasses=Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;<init>@(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)VCodeLineNumberTableLocalVariableTablethis?Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor$1;insertUpdate$(Ljavax/swing/event/DocumentEvent;)Ve!Ljavax/swing/event/DocumentEvent;removeUpdate
changedUpdateSourceFileUsercolorEditor.javaEnclosingMethod&'(
=chatty/gui/components/settings/UsercolorEditor$MyItemEditor$1java/lang/Object"javax/swing/event/DocumentListener);chatty/gui/components/settings/UsercolorEditor$MyItemEditor(Ljavax/swing/JDialog;)V()Vaccess$000.chatty/gui/components/settings/UsercolorEditor 
4*+�*���@*�����@*�����@*�����$		PKˣG�F����Cchatty/gui/components/settings/UsercolorEditor$MyItemEditor$2.class���3_	+,-./01234567	89:;<=>?@this$0BMyItemEditorInnerClasses=Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;<init>@(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)VCodeLineNumberTableLocalVariableTablethis?Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor$2;actionPerformed(Ljava/awt/event/ActionEvent;)VnewColorLjava/awt/Color;eLjava/awt/event/ActionEvent;
StackMapTableSourceFileUsercolorEditor.javaEnclosingMethodCDEFGHIJKLMNOIPQRISTUVWX#TestYZ[\]=chatty/gui/components/settings/UsercolorEditor$MyItemEditor$2java/lang/Objectjava/awt/event/ActionListener^;chatty/gui/components/settings/UsercolorEditor$MyItemEditor(Ljavax/swing/JDialog;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$100T(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Ljavax/swing/JButton;access$200T(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Ljavax/swing/JDialog;javax/swing/JDialogsetVisible(Z)Vaccess$300access$402_(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;Ljava/awt/Color;)Ljava/awt/Color;access$500access$600l(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Lchatty/gui/components/settings/ColorChooser;access$400O(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Ljava/awt/Color;java/awt/ColorWHITE+chatty/gui/components/settings/ColorChooserchooseColorW(ILjava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)Ljava/awt/Color;access$700P(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;Ljava/awt/Color;)V.chatty/gui/components/settings/UsercolorEditor 4*+�*��� !�r+�*���*����X+�*���*��W*����3+�*��	�%*��*���

�M*�,��&	���*�3�A�O�i�q� i"#rr$%&$/'()*A	PKˣG'U�&uuAchatty/gui/components/settings/UsercolorEditor$MyItemEditor.class���3D�	D�	D�	D�	D�	D�	D�D�E�� �	D�	D������������ �� ���������"���%�	%�	%�	%�?�	%��-�	%��������>� �>� �� ����>� ����D����MyItemEditorInnerClassescolorChooser-Lchatty/gui/components/settings/ColorChooser;dialogLjavax/swing/JDialog;idLjavax/swing/JTextField;colorchangeColorLjavax/swing/JButton;currentColorLjava/awt/Color;okcancel<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis=Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;ownerlistenerLjava/awt/event/ActionListener;gbcLjava/awt/GridBagConstraints;showEditorC(Lchatty/UsercolorItem;Ljava/awt/Component;Z)Lchatty/UsercolorItem;presetLchatty/UsercolorItem;cLjava/awt/Component;editZ
StackMapTableupdateColor(Ljava/awt/Color;)VnewColor
updateButtons()Venabled;(Ljava/lang/Object;Ljava/awt/Component;Z)Ljava/lang/Object;x0Ljava/lang/Object;x1x2access$000@(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Vaccess$100T(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Ljavax/swing/JButton;access$200T(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Ljavax/swing/JDialog;access$300access$402_(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;Ljava/awt/Color;)Ljava/awt/Color;access$500access$400O(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Ljava/awt/Color;access$600l(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;)Lchatty/gui/components/settings/ColorChooser;access$700P(Lchatty/gui/components/settings/UsercolorEditor$MyItemEditor;Ljava/awt/Color;)V	SignatureItemEditoraLjava/lang/Object;Lchatty/gui/components/settings/TableEditor$ItemEditor<Lchatty/UsercolorItem;>;SourceFileUsercolorEditor.javalmJKQRSTVRLMURopWpjavax/swing/JTextFieldW�NOPOjavax/swing/JButtonSelect ColorW�DoneCancel+chatty/gui/components/settings/ColorChooserWXjavax/swing/JDialogW�	Edit Item��������=chatty/gui/components/settings/UsercolorEditor$MyItemEditor$1Wx���=chatty/gui/components/settings/UsercolorEditor$MyItemEditor$2��java/awt/GridBagLayout��java/awt/GridBagConstraints��������java/awt/InsetsW��������p��	Edit itemAdd item�����������������chatty/UsercolorItemW��m�cd;chatty/gui/components/settings/UsercolorEditor$MyItemEditorjava/lang/Object5chatty/gui/components/settings/TableEditor$ItemEditor(I)V(Ljava/lang/String;)V(Ljava/awt/Dialog;)VsetTitlesetEditable(Z)VsetModalgetDocument()Ljavax/swing/text/Document;javax/swing/text/DocumentaddDocumentListener'(Ljavax/swing/event/DocumentListener;)VaddActionListener"(Ljava/awt/event/ActionListener;)V	setLayout(Ljava/awt/LayoutManager;)VgridxIgridyfillweightxD(IIII)VinsetsLjava/awt/Insets;add)(Ljava/awt/Component;Ljava/lang/Object;)V	setMargin(Ljava/awt/Insets;)VpacksetResizablesetLocationRelativeTo(Ljava/awt/Component;)VgetId()Ljava/lang/String;setTextgetColor()Ljava/awt/Color;requestFocusInWindow()ZsetVisiblegetTextjava/lang/StringisEmpty%(Ljava/lang/String;Ljava/awt/Color;)V
setForegroundchatty/gui/HtmlColorsgetNamedColorString$(Ljava/awt/Color;)Ljava/lang/String;setEnabled.chatty/gui/components/settings/UsercolorEditor*chatty/gui/components/settings/TableEditor!DEFJKLMNOPOQRSTURVRWXYKo*�	*�Y��*�Y��
*�Y��*�Y��*�Y��*�Y+��*�Y+��*��*�
�*��*���Y*���Y*� M*�,�!*�,�!*�,�!*��"Y�#�$�%Y�&N-�'-�(-�)-*�,-�-Y�.�/*�*�-�0-�'*�*�
-�0-�'*��-Y�.�1*�*�-�0-�'-�(-�-Y�.�/*�*�-�0-�'*�*�-�0*��2*��3�Z�&����+�8�E�Q�]�f�n�v��������������������������������(�-�2�B�N�S�_�f�n�[*o\]o^M��_`��abcdY��*�4��*�5�*�,�6+�*�+�7�8*+�9��*��8*�
�8*�*��:W*��;*��<�=�*���>Y*��<*��?��Z>!%0;CK
OW_s�[*�\]�ef�gh�ijk!:lmYa*�
+�@*+�*�
+�A�8*��Z
[\]nTopYj#*��<�=�*���<*��B�Z" [#\]	qjk@AcrYS*+�>,�C�Z�[*\]stuhvjwxY/*��Z�[s]yzY/*��Z�[s]{|Y/*��Z�[s]}zY/*��Z�[s]~Y;*+Z��Z�[s]uT�zY/*��Z�[s]��Y/*��Z�[s]��Y/*��Z�[s]��Y:*+��Z�[s]uT����H"D�G	F��	PKˣGݐ�}}Achatty/gui/components/settings/UsercolorEditor$MyTableModel.class���3A()*
+,	-./01245<init>()VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses=Lchatty/gui/components/settings/UsercolorEditor$MyTableModel;	indexOfId(Ljava/lang/String;)IidLjava/lang/String;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndex
StackMapTablegetColumnClass(I)Ljava/lang/Class;c	SignatureGLchatty/gui/components/settings/ListTableModel<Lchatty/UsercolorItem;>;SourceFileUsercolorEditor.javajava/lang/StringItemColor6chatty/UsercolorItem789:;<=>?java/awt/Color@;chatty/gui/components/settings/UsercolorEditor$MyTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)VBLACKLjava/awt/Color;%(Ljava/lang/String;Ljava/awt/Color;)VindexOf(Ljava/lang/Object;)Iget(I)Ljava/lang/Object;getColor()Ljava/awt/Color;.chatty/gui/components/settings/UsercolorEditor 
A*�YSYS��34D*�Y+����7e�	*�	�*�	���<=?  !"Q���EFH# $%&'3PKˣGLHB��4chatty/gui/components/settings/UsercolorEditor.class���3]567	89:;<=> 7?@A7	
B	CDEFGHMyItemEditorInnerClassesItemIdRenderer
ColorRendererMyTableModeldata=Lchatty/gui/components/settings/UsercolorEditor$MyTableModel;<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/settings/UsercolorEditor;ownerLjavax/swing/JDialog;edit(Ljava/lang/String;)VitemLjava/lang/String;presetLchatty/UsercolorItem;indexI
StackMapTable=	SignatureDLchatty/gui/components/settings/TableEditor<Lchatty/UsercolorItem;>;SourceFileUsercolorEditor.javaI;chatty/gui/components/settings/UsercolorEditor$MyTableModelJKL;chatty/gui/components/settings/UsercolorEditor$MyItemEditorMPchatty/UsercolorItem=chatty/gui/components/settings/UsercolorEditor$ItemIdRendererQRjava/awt/Color<chatty/gui/components/settings/UsercolorEditor$ColorRendererSTUVWXYZ[.chatty/gui/components/settings/UsercolorEditor*chatty/gui/components/settings/TableEditor(IZ)V()VsetModel2(Lchatty/gui/components/settings/ListTableModel;)V
setItemEditor\ItemEditor:(Lchatty/gui/components/settings/TableEditor$ItemEditor;)VsetDefaultRenderer9(Ljava/lang/Class;Ljavax/swing/table/TableCellRenderer;)VBLACKLjava/awt/Color;%(Ljava/lang/String;Ljava/awt/Color;)VindexOf(Ljava/lang/Object;)IaddItem(Ljava/lang/Object;)VeditItem(I)V5chatty/gui/components/settings/TableEditor$ItemEditor! �B*�*�Y��**��*�Y+��*	�Y��*
�Y���! !%"3#A$"B#$B%&'( �(�	Y+��M*�,�>�*,��*��!'()*",'."*(#$()*+,-./�"01234*			NO	PKʣGlZ�556chatty/gui/components/settings/UsercolorSettings.class���3y@ABCD	EFGHICJKLMN	OPQR	ES	ET	EUVWCXYZ[\]^	INFO_TEXTLjava/lang/String;
ConstantValuedata0Lchatty/gui/components/settings/UsercolorEditor;<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis2Lchatty/gui/components/settings/UsercolorSettings;d/Lchatty/gui/components/settings/SettingsDialog;mainLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;info!Lchatty/gui/components/LinkLabel;setData(Ljava/util/List;)VLjava/util/List;LocalVariableTypeTable(Ljava/util/List<Lchatty/UsercolorItem;>;	Signature+(Ljava/util/List<Lchatty/UsercolorItem;>;)VgetData()Ljava/util/List;*()Ljava/util/List<Lchatty/UsercolorItem;>;editItem(Ljava/lang/String;)VitemSourceFileUsercolorSettings.java"_Usercolors`abcdefgcustomUsercolorsEnable custom usercolorsChanges colors and stuff..hijkl.chatty/gui/components/settings/UsercolorEditor"m !java/awt/Dimension"nopqgrstschatty/gui/components/LinkLabelL<html><body style='width:105px'>Add items to the list to assign them colors. The order matters, items on the top are matched first.<br /><br />Special Items:<br />$mod - Moderators<br />$sub - Subscribers<br />$turbo - Turbo Users<br />$admin - Admin<br />$staff - Staff<br />$all - All Users<br /><br />[help:Usercolors And more..]uv"w1289x<0chatty/gui/components/settings/UsercolorSettings,chatty/gui/components/settings/SettingsPanel(Z)VaddTitledPanel*(Ljava/lang/String;IZ)Ljavax/swing/JPanel;-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsanchorIaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljavax/swing/JDialog;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VfillweightxDweighty getSettingsHelpLinkLabelListener+()Lchatty/gui/components/LinkLabelListener;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)Vedit! !"#$�*�*�M+�N-�,+�	-�*�Y+��
*�
�Y���+�N-�-�-�,*�
-��Y+��:,+���%>"$()*,,8-J.S/X0]1b2k4z5�7&4�'(�)*{+,r-.z/012$S	*�
+��%:;&	'(	 34	 56789$2*�
��%>&'(6:;<$A	*�
+��%BC&	'(	=>?PKˣGEҴ���5chatty/gui/components/settings/UsericonEditor$1.class���3SourceFileUsericonEditor.javaEnclosingMethod/chatty/gui/components/settings/UsericonEditor$1InnerClassesjava/lang/Object-chatty/gui/components/settings/UsericonEditor 	PKˣG�[�̨�Cchatty/gui/components/settings/UsericonEditor$ChannelRenderer.class���3V-	./	012	34-5678	9:;	<=>@AdefaultColorLjava/awt/Color;<init>(Ljava/awt/Color;)VCodeLineNumberTableLocalVariableTablethisChannelRendererInnerClasses?Lchatty/gui/components/settings/UsericonEditor$ChannelRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;iconLchatty/Usericon;
StackMapTable/@B4CSourceFileUsericonEditor.javaDchatty/UsericonEFCGHIFjava/lang/StringBuilderJK (error)LMNOPQRSTNOT U=chatty/gui/components/settings/UsericonEditor$ChannelRenderer*javax/swing/table/DefaultTableCellRendererjava/lang/Objectjava/lang/String()VchannelRestrictionLjava/lang/String;isEmpty()Zchannelappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setText(Ljava/lang/String;)Vjava/awt/Colorred
setForegroundchannelInverseZ-chatty/gui/components/settings/UsericonEditor F*�*+����	� l+�M,���1,���'*�Y�,��	�	��*�
��1*�Y�,����	,��	��**������3�=�c�k� ll!"g#$%8�=&�'(&')�'(&')*+,?PKˣG�㵊JJ>chatty/gui/components/settings/UsericonEditor$IdRenderer.class���3`0	12	3	4560	789:;	<=>	?	@AB	CDFGdefaultColorLjava/awt/Color;<init>(Ljava/awt/Color;)VCodeLineNumberTableLocalVariableTablethisIdRendererInnerClasses:Lchatty/gui/components/settings/UsericonEditor$IdRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;iconLchatty/Usericon;
StackMapTable2FH6ISourceFileUsericonEditor.javaJchatty/UsericonKMNOMjava/lang/StringBuilderPQRS (error)TUVWXYZ[Q\] (first)^] (stop)_8chatty/gui/components/settings/UsericonEditor$IdRenderer*javax/swing/table/DefaultTableCellRendererjava/lang/Objectjava/lang/String()V	matchType	MatchTypeLchatty/Usericon$MatchType;chatty/Usericon$MatchType	UNDEFINEDrestrictionLjava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setText(Ljava/lang/String;)Vjava/awt/Colorred
setForegroundrestrictionValuefirstZstop-chatty/gui/components/settings/UsericonEditor F*�*+��wx	y!"#6s+�M,���'*�Y�,��	�	��*�
��B*�Y�,��	,����	,����	��**���}�)�3�j�r� s!s$%n&'(g�3)�*+)*,�*+)*,-�*+)*,�*+)*,-./ E4L@PKˣG=��Gchatty/gui/components/settings/UsericonEditor$ImageFilenameFilter.class���3, !"$%&<init>()VCodeLineNumberTableLocalVariableTablethisImageFilenameFilterInnerClassesCLchatty/gui/components/settings/UsericonEditor$ImageFilenameFilter;accept#(Ljava/io/File;Ljava/lang/String;)ZdirLjava/io/File;nameLjava/lang/String;
StackMapTable'4(Lchatty/gui/components/settings/UsericonEditor$1;)Vx01Lchatty/gui/components/settings/UsericonEditor$1;SourceFileUsericonEditor.java	.png()*+Achatty/gui/components/settings/UsericonEditor$ImageFilenameFilterjava/lang/Objectjava/io/FilenameFilter/chatty/gui/components/settings/UsericonEditor$1java/lang/StringendsWith(Ljava/lang/String;)Z-chatty/gui/components/settings/UsericonEditor 	/*���
\
,�����	�� 



9*���
##PKˣG��V�ppAchatty/gui/components/settings/UsericonEditor$ImageRenderer.class���3> !"	#$%&'%()	*,-<init>()VCodeLineNumberTableLocalVariableTablethis
ImageRendererInnerClasses=Lchatty/gui/components/settings/UsericonEditor$ImageRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;iconLchatty/Usericon;
StackMapTable"SourceFileUsericonEditor.java
./chatty/Usericon01$23456789:;<=;chatty/gui/components/settings/UsericonEditor$ImageRenderer*javax/swing/table/DefaultTableCellRenderersetHorizontalAlignment(I)VfileNameLjava/lang/String;java/lang/StringstartsWith(Ljava/lang/String;)ZsetIcon(Ljavax/swing/Icon;)V	substring(I)Ljava/lang/String;setText(Ljava/lang/String;)VimageLjavax/swing/ImageIcon;-chatty/gui/components/settings/UsericonEditor 
<*�*����	��:+�M,��#,���*�*,���	�*,��*�	�����,�4�9� ::5	�,+PKˣG��((Bchatty/gui/components/settings/UsericonEditor$MyItemEditor$1.class���3>		" #$%&'(
)
*
+,-.this$00MyItemEditorInnerClasses<Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;<init>?(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)VCodeLineNumberTableLocalVariableTablethis>Lchatty/gui/components/settings/UsericonEditor$MyItemEditor$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileUsericonEditor.javaEnclosingMethod12345comboBoxChanged6789:;<<chatty/gui/components/settings/UsericonEditor$MyItemEditor$1java/lang/Objectjava/awt/event/ActionListener=:chatty/gui/components/settings/UsericonEditor$MyItemEditor(Ljava/awt/Window;)V()Vjava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Zaccess$200@(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;Z)Vaccess$300access$400-chatty/gui/components/settings/UsericonEditor 	4*+�*���p#+���*��*��*�������"�##" 
!
/	PKˣG�7�OOBchatty/gui/components/settings/UsericonEditor$MyItemEditor$2.class���3[	)*+,-./0123456 789:;<=>this$0@MyItemEditorInnerClasses<Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;<init>?(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)VCodeLineNumberTableLocalVariableTablethis>Lchatty/gui/components/settings/UsericonEditor$MyItemEditor$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileUsericonEditor.javaEnclosingMethodABCDEFGHIJGKLMNOPGjava/io/FileQRSTUVWXGY<chatty/gui/components/settings/UsericonEditor$MyItemEditor$2java/lang/Objectjava/awt/event/ActionListenerZ:chatty/gui/components/settings/UsericonEditor$MyItemEditor(Ljava/awt/Window;)V()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;access$500S(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)Ljavax/swing/JButton;access$602@(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;Z)Zaccess$700access$800S(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)Ljavax/swing/JDialog;javax/swing/JDialogsetVisible(Z)Vaccess$900
chatty/ChattygetImageDirectory()Ljava/lang/String;(Ljava/lang/String;)Vchatty/util/MiscUtilopenFolder%(Ljava/io/File;Ljava/awt/Component;)Zaccess$1000access$1100-chatty/gui/components/settings/UsericonEditor 4*+�*�� !�}+�*���*��W+�*���+�*���*����>+�*��	��Y��*���
W�+�*���*���&	3 A"O#g%u&|(}}"#$
%%&'(?PKˣG��9�Bchatty/gui/components/settings/UsericonEditor$MyItemEditor$3.class���3>	"	#	$%&'()*+,-val$sourceInfoButtonLjavax/swing/JToggleButton;this$0/MyItemEditorInnerClasses<Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;<init>Z(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;Ljavax/swing/JToggleButton;)VCodeLineNumberTableLocalVariableTablethis>Lchatty/gui/components/settings/UsericonEditor$MyItemEditor$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileUsericonEditor.javaEnclosingMethod01
23456789:;<<chatty/gui/components/settings/UsericonEditor$MyItemEditor$3java/lang/Objectjava/awt/event/ActionListener=:chatty/gui/components/settings/UsericonEditor$MyItemEditorcreateMainPanel()Ljavax/swing/JPanel;()Vaccess$1200R(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)Ljavax/swing/JPanel;javax/swing/JToggleButtonisSelected()Zjavax/swing/JPanelsetVisible(Z)Vaccess$1300?(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)V-chatty/gui/components/settings/UsericonEditor 	
9*+�*,�*��zU*��*���*���~� !.PKˣG��hC)C)@chatty/gui/components/settings/UsericonEditor$MyItemEditor.class���3��	��	�
	�	�	�	�	�����	�	� !	�"	�#$%& '()*+,%-	�./%01+	�2+34/5+6�7A89:	;<=�>?�ffffff	;??�333333@=56ABACDEFAG9HIA=JK3LM	LNLOP	9QRSTUVWXYXZ[[X6XR+\]	e^�_	�`%abcdefg	�hi`jk	�lmpnoppqprnsptuvw	�xe	�y%z+{	�|%}~8��������������+�+�������MyItemEditorInnerClassesERROR_LOADING_IMAGELjava/lang/String;
ConstantValuedialogLjavax/swing/JDialog;fileNameLjavax/swing/JComboBox;	Signature+Ljavax/swing/JComboBox<Ljava/lang/String;>;type4Lchatty/gui/components/settings/GenericComboSetting;TypeLLchatty/gui/components/settings/GenericComboSetting<Lchatty/Usericon$Type;>;idLjavax/swing/JTextField;streamokButtonLjavax/swing/JButton;cancelButtonopenDirscanDirfolderPanelLjavax/swing/JPanel;scanResultLjavax/swing/JLabel;previewsaveZcurrentIconLchatty/Usericon;<init>(Ljava/awt/Window;)VCodeLineNumberTableLocalVariableTablethis<Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;ownerLjava/awt/Window;gbcLjava/awt/GridBagConstraints;buttonActionLjava/awt/event/ActionListener;createFolderPanel()Ljavax/swing/JPanel;panelpathcreateMainPanelsourceInfoButtonLjavax/swing/JToggleButton;createIcon(Z)Vfile
StackMapTable]updateOkButton()V�
updatePreviewimageLjavax/swing/ImageIcon;updateSizeshowEditor9(Lchatty/Usericon;Ljava/awt/Component;Z)Lchatty/Usericon;presetcLjava/awt/Component;edit	scanFilesiIitemarr$[Ljava/lang/String;len$i$	fileNamesselectedLjava/io/File;files[Ljava/io/File;resultText��;(Ljava/lang/Object;Ljava/awt/Component;Z)Ljava/lang/Object;x0Ljava/lang/Object;x1x2access$200@(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;Z)Vaccess$300?(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)Vaccess$400access$500S(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)Ljavax/swing/JButton;access$602@(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;Z)Zaccess$700access$800S(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)Ljavax/swing/JDialog;access$900access$1000access$1100access$1200R(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;)Ljavax/swing/JPanel;access$1300ItemEditor\Ljava/lang/Object;Lchatty/gui/components/settings/TableEditor$ItemEditor<Lchatty/Usericon;>;SourceFileUsericonEditor.java��������������������������javax/swing/JTextField����javax/swing/JButtonDone��CancelOpen dirRescanjavax/swing/JLabelError loading image.����javax/swing/JDialog��java/awt/GridBagLayout������2chatty/gui/components/settings/GenericComboSetting�������IChoosing a type other than Addon replaces the corresponding default icon.��javax/swing/JComboBox����<chatty/gui/components/settings/UsericonEditor$MyItemEditor$1��������������������<chatty/gui/components/settings/UsericonEditor$MyItemEditor$2��javax/swing/JPanel��Image Source�������5Chatty looks for image files (.png) in this folder:  ���java/awt/Dimension������������Type:Restriction:Channel:Image File:Preview:javax/swing/JToggleButtonImage Folder<chatty/gui/components/settings/UsericonEditor$MyItemEditor$3����java/lang/String��������chatty/Usericon$Type��������	No image.��$��Ref image.��java/lang/StringBuilder�����x������	Edit item��Add item��������������java/io/FileAchatty/gui/components/settings/UsericonEditor$ImageFilenameFilterImageFilenameFilter����Error scanning folder.No files found.
 files found.���������chatty/Usericon��:chatty/gui/components/settings/UsericonEditor$MyItemEditorjava/lang/Object�5chatty/gui/components/settings/TableEditor$ItemEditor(Ljava/lang/String;)V	setLayout(Ljava/awt/LayoutManager;)VsetResizablesetModal-chatty/gui/components/settings/UsericonEditoraccess$100()Ljava/util/Map;(Ljava/util/Map;)VsetToolTipTextsetEditableaddActionListener"(Ljava/awt/event/ActionListener;)VsetVisiblechatty/gui/GuiUtilmakeGbc#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsfilladd)(Ljava/awt/Component;Ljava/lang/Object;)VweightxDpackjavax/swing/BorderFactorycreateTitledBorder5(Ljava/lang/String;)Ljavax/swing/border/TitledBorder;	setBorder(Ljavax/swing/border/Border;)V$(IIIII)Ljava/awt/GridBagConstraints;
chatty/ChattygetImageDirectory()Ljava/lang/String;getPreferredSize()Ljava/awt/Dimension;height(II)VsetPreferredSize(Ljava/awt/Dimension;)VSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)VZ(Lchatty/gui/components/settings/UsericonEditor$MyItemEditor;Ljavax/swing/JToggleButton;)VgetSelectedItem()Ljava/lang/Object;	UNDEFINEDLchatty/Usericon$Type;createCustomIcon_(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lchatty/Usericon;getSettingValuegetTextsetEnabledsetTextsetIcon(Ljavax/swing/Icon;)VstartsWith(Ljava/lang/String;)Zjavax/swing/ImageIcongetIconWidth()Iappend(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;
getIconHeighttoStringsetTitlerestrictionsetSettingValue(Ljava/lang/Object;)VsetSelectedItemchannelRestrictionsetSelectedIndex(I)VsetLocationRelativeTo(Ljava/awt/Component;)V�4(Lchatty/gui/components/settings/UsericonEditor$1;)V	listFiles)(Ljava/io/FilenameFilter;)[Ljava/io/File;getNamejava/util/Arrayssort([Ljava/lang/Object;)VremoveAllItemsaddItem*chatty/gui/components/settings/TableEditor/chatty/gui/components/settings/UsericonEditor$1 �������������������������������������������*�
*�Y��*�Y��*�Y��	*�Y��*�Y��*�Y��*�Y��*�Y��*�Y+��*�� Y�!�"*��#*��$*�%Y�&�'�(*�()�**�+Y�,�-*�-�.*�-�/Y*�0�1**�2�*��3�4M,�5*�*�,�6�4M,�5*�*�7,�6�4M*��Y�,�6�4M,�5,8�:*�*�	,�6�4M,�5,;�:*�*�,�6�=Y*�>N*�	-�?*�-�?*�-�?*�-�?*��@���+����'�4�A�N�[�f�r�����������������������	#,18DMRYen*v+~,�-�/�0�*����������n(�����Z��AY� Y�!�BL+C�D�E�FM+�YG�,�H�4M�Y�I�JN-�K-�LY-�M�N�O�P,�5,�:+-,�H�4M,�5,�:+*�,�H*��Q�R�4M+*�,�H*��Q�R�4M+*�,�H+��Z347"80;8<C=H>[?`@eAkCsDxE}F�H�I�J�L�M�N�P�*������"���C{�������AY� Y�!�BL+�YS��4�H�FM,�5+*�(,�H+�YT��4�H�FM,�5+*�,�H+�YU��4�H�FM,�5+*�,�H+�YV��4�H�FM,�5+*�-,�H+�YW��4�H�FM+*�,�H�XYY�ZN-�[Y*-�\�]-�Q�^�4M+-,�H+��jTX#[-\2];_OaYb^dgf{h�i�k�m�p�q�r�t�v�w�y�z������*����-����%������R*�-�_�`M�*�a,�b�c�5*�(�d�&**�(�d�e*��f,*��f�b�c�*�c������)�L�Q�� R��R��G�����,���f*�	*�c�*�(�d���g��������Y��������*��h*��i*�c�*�j�h�h*�c�kl�m�*�n�h�M*�c�o�*��h�7*�c�oL*�+�i*��pY�q+�r�st�u+�v�s�w�h*���6
����#�2�>�H�T�\�d������\,������#3���6*��@����������S�*��*�x�y�*�z�y+�7*�+�{�|*�(+�}�~*�-+�k�*�+���|*+�c�(*��|*�(��*�-�*��|*�c*�*�*�,��*���*��
*�*�c���^�����!�,�7�B�M�U�]�e�m�u�z�~��������������*�������������7$)�������Y�I��L+��Y����M�N,�	�N��,��	�N��pY�q,��s��u�wN,��`:6,��,2��S������*�-�_�`:*�-��:�66�2:	*�-	������*�-�*�-�h��V�����%�*�0�E�L�V�b�h�m�y��������������pO���	��	�%��� �����Lf��y9���������������>�%����	���#	���������A���S*+��,������*�����������:*������������/*����������/*����������/*�	���������;*Z������������/*����������/*���������/*���������/*���������/*��������/*���������/*��������	�B�+�[=/e��@��	�+��+PKˣG�1�bb@chatty/gui/components/settings/UsericonEditor$MyTableModel.class���3>&'()*
+,-	./0123<init>()VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses<Lchatty/gui/components/settings/UsericonEditor$MyTableModel;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndexiconLchatty/Usericon;
StackMapTable-getColumnClass(I)Ljava/lang/Class;	SignatureBLchatty/gui/components/settings/ListTableModel<Lchatty/Usericon;>;SourceFileUsericonEditor.javajava/lang/StringTypeRestrictionImageChannel456chatty/Usericon79:;<javax/swing/ImageIcon:chatty/gui/components/settings/UsericonEditor$MyTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)Vget(I)Ljava/lang/Object;type=Lchatty/Usericon$Type;-chatty/gui/components/settings/UsericonEditoraccess$000*(Lchatty/Usericon$Type;)Ljava/lang/String;chatty/Usericon$Type 
K*�YSYSYSYS��PQ�,*��N�-�	���-��-��-��*U	V
WXYZ![#\(]*_*,,,	#� !d�����de	fgi	"#$%/8'@PKˣG�TAj113chatty/gui/components/settings/UsericonEditor.class���3�	(P(Q)RST(UVW(XY(Z [(\]T^[	7_`T	7abcd	7ef	7gh	7ij	7kl	7mn	7op	7qr	7stuvwInnerClassesxImageFilenameFilterMyItemEditorChannelRenderer
ImageRendererIdRendererMyTableModel	typeNamesLjava/util/Map;	SignaturezType9Ljava/util/Map<Lchatty/Usericon$Type;Ljava/lang/String;>;<init>(Ljavax/swing/JDialog;)VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/settings/UsericonEditor;ownerLjavax/swing/JDialog;getTypeName*(Lchatty/Usericon$Type;)Ljava/lang/String;typeLchatty/Usericon$Type;access$000x0access$100()Ljava/util/Map;<clinit>()V?Lchatty/gui/components/settings/TableEditor<Lchatty/Usericon;>;SourceFileUsericonEditor.java45CD:{:chatty/gui/components/settings/UsericonEditor$MyTableModel:L|}:chatty/gui/components/settings/UsericonEditor$MyItemEditor:~�8chatty/gui/components/settings/UsericonEditor$IdRenderer��:���;chatty/gui/components/settings/UsericonEditor$ImageRenderer=chatty/gui/components/settings/UsericonEditor$ChannelRenderer��java/util/LinkedHashMap�FAddon����F	Moderator�FSubscriber�FTurbo�FAdmin�FStaff�FBroadcaster�FGlobal Moderator�FBot-chatty/gui/components/settings/UsericonEditor*chatty/gui/components/settings/TableEditor/chatty/gui/components/settings/UsericonEditor$1Achatty/gui/components/settings/UsericonEditor$ImageFilenameFilter�chatty/Usericon$Type(IZ)VsetModel2(Lchatty/gui/components/settings/ListTableModel;)V(Ljava/awt/Window;)V
setItemEditor�ItemEditor:(Lchatty/gui/components/settings/TableEditor$ItemEditor;)V
getForeground()Ljava/awt/Color;(Ljava/awt/Color;)VsetRendererForColumn)(ILjavax/swing/table/TableCellRenderer;)VlabelLjava/lang/String;ADDON
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;MODSUBTURBOADMINSTAFFBROADCASTERGLOBAL_MODBOTchatty/Usericon5chatty/gui/components/settings/TableEditor$ItemEditor ()4569:;<�J*�*�Y��*�Y+��	*�Y*���
*�Y��
*�Y*���
�=,./0-192I3>J?@JABCD</*��=F>EFGD</*��='>HFIJ<��='KL<���Y�����W���W���W���W���W�� !�W��"#�W��$%�W��&'�W�=.9:;&<4=B>P?^@lAzB�C6MNO,J	*(-(.(/(0(1 (2(37y8@�)�	PḲG�`��3chatty/gui/components/settings/WindowSettings.class���3�CYZB[\]^_`abc	YdefghijklmQ_nopq_r_stuvwxyz{|}~������_������_������������<init>2(Lchatty/gui/components/settings/SettingsDialog;)VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/settings/WindowSettings;d/Lchatty/gui/components/settings/SettingsDialog;dialogsLjavax/swing/JPanel;restoreModeOptionsLjava/util/Map;restoreMode1Lchatty/gui/components/settings/ComboLongSetting;otherpopoutLocalVariableTypeTable3Ljava/util/Map<Ljava/lang/Long;Ljava/lang/String;>;SourceFileWindowSettings.javaD�Dialogs Location/Size��javax/swing/JLabelRestore dialogs:D�������java/util/LinkedHashMap��� Open dialogs in default location���Keep location during session!Restore dialogs from last session Reopen dialogs from last session/chatty/gui/components/settings/ComboLongSettingD���attachedWindows&Attach dialogs position to main window0Moves the dialogs when you move the main window.����Other	urlPromptOpen URL Prompt1Show a prompt to confirm you want to open an URL.chatScrollbarAlwaysAlways show chat scrollbarHAlways show scrollbar in chat window, even if no scrolling is necessary.minimizeToTrayMinimize to tray;When minimizing Chatty, it will be hidden to the tray icon.closeToTray
Close to trayXWhen closing the window, Chatty will not exit but instead be minimized to the tray icon.Tab Order:tabOrderjava/lang/Stringnormalalphabetical��tabsMwheelScrolling#Scroll through tabs with mousewheel,Scrolling over the tabs changes between themDefault Userlist Width:
userlistWidth��Min. Width:userlistMinWidthPopoutpopoutSaveAttributesRestore location/sizePSave and restore the location and size of popout dialogs during the same sessionpopoutCloseLastChannelClose popout when only channelMAutomatically close a popout if the last channel in the main window is closed-chatty/gui/components/settings/WindowSettings,chatty/gui/components/settings/SettingsPanel()VaddTitledPanel)(Ljava/lang/String;I)Ljavax/swing/JPanel;(Ljava/lang/String;)V-chatty/gui/components/settings/SettingsDialogmakeGbc#(IIII)Ljava/awt/GridBagConstraints;javax/swing/JPaneladd)(Ljava/awt/Component;Ljava/lang/Object;)Vjava/lang/LongvalueOf(J)Ljava/lang/Long;
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)VaddLongSettingA(Ljava/lang/String;Lchatty/gui/components/settings/LongSetting;)VaddSimpleBooleanSettingO(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JCheckBox;$(IIIII)Ljava/awt/GridBagConstraints;addComboStringSetting\(Ljava/lang/String;IZ[Ljava/lang/String;)Lchatty/gui/components/settings/ComboStringSetting;addSimpleLongSetting.(Ljava/lang/String;IZ)Ljavax/swing/JTextField;!BCDEF�	�*�*�M,�Y�+���	Y�N-��
W-��
W-��
W-��
W�Y-�:+�,+��,+�+��* �:+!"#�+��+$%&�+��+'()�+��+*+,�+���Y-�+��+.�/Y0SY1S�2+��+345�+���Y6�+��+7�8+���Y9�+��+:�8+��*;�:+<=>�+��+?@A�+���Gr!)6ETcmu� �%�'�+�/�37 8E=^BvD�G�I�M�O�R�VHH�IJ�KL�MN)�OPm�QR�PSN�/TNU)�OVWXPḲG@����'chatty/gui/components/settings/edit.png�PNG

IHDR�agAMA��7��bKGD�C�	pHYsHHF�k>	vpAg\ƭ��IDAT8ˍ�ILS����>Z�ײ���*�(�Dcp���AM<���$DOƫ7ϊ��-�D)`���lj�n�t����$����&���'�A���b�P�}`�N+=����.�j_]���F� U���Uƀ^��b�Ws�W�yŞ�N�.�ݬY�9c[A�b��+�r{SF�K����_�w,�b�yJOnN�<iG�͏+���9��=�x~*�EgA��ѳĸ+�D"Q���^��\WMZ��A�ߩH��W�lY�����G�U�y9�#��q�N*�7��<��ThEU�0/���2|�i��[�n0�7fp<X����7b�z��9>y�<��J���ú�Ə��&ƨ�����l	����t��4~Y�4�$���[�}{���X�39�����"���E����T!I�4���1j6u�=o��C͌�ԤS��ׁT�+�X�T<-�ʳp,�&,��֯�
�ɏ�L�3��6|M@�a�wD�~J��T�s,�H:�	ˤ����r��{pQ�0�24���?���	+dF�h��Z�eV�� ��t�
}�O�|EG�V�:0�6m�	���ˠY!�g:-���>-Z���YX��H�/�c�k��bs�D�w�5���*:����\;����OaН�-:�˰�m�����j(�_�%tEXtcreate-date2009-11-15T16:08:44-07:00v��G%tEXtdate:create2010-02-22T13:47:20-07:00&:�%tEXtdate:modify2010-01-11T09:18:40-07:00o}{5tEXtLicensehttp://creativecommons.org/licenses/LGPL/2.1/;��%tEXtmodify-date2009-11-15T16:08:44-07:00)'�stEXtSoftwareAdobe ImageReadyq�e<
tEXtSourceNuvola�O5�4tEXtSource_URLhttp://www.icon-king.com/projects/nuvola/v=�RIEND�B`�PḲG���wjj*chatty/gui/components/settings/go-down.png�PNG

IHDRĴl;sBIT|d�tEXtSoftwarewww.inkscape.org��<�IDAT8���OlU�?��LwV�����m8���L4m!i4!�8@01�1�^4&4%zE�4OrV#6�&D�h�"	Q4*�
!�R����y~vv;]v[9�_��ͼ���w~�Q"���P��݋�����e�5M���{��z{�#�78o�>�y���
�K8t����ۃP���U�@�.����?�q���ǡP�k�`AX���ZijR5-^�x_{"�q�O��x�HtR<����JD|,��x��,u[n����955j�������G�޳��bD8���/�G���		���+�ވE��*'�fo�y��Sy������?�����׾�b�T��;�U���A"�N������W����5��x�=3��ƿ=w,ټ�� TU���V�!�5�&�5�b���8�lr�ƥ�<�.0�ڒ�������ٸ��ٴ���D0�:‾���^�?�~��ʼ{���Z�͖}�S���g_�
����	B�J�㫶Q��21y�3���2��hYng�mm��䉣��*6��'�PD͆��(��|y���B�L+h[0��1�jS������h�|�f���|�\M��3���ŷ�"?F�;�|����"�'�}X�9{s�����▀�Rr��Z�����ᠠTi�t���u���ND�p��5L��l�O����!3���h3�L6[��Q��7�Mbڬ�zKׯ�O�_Sg��]C���@*"����N�̯'��].����\ �HIEND�B`�PḲG�R�mm(chatty/gui/components/settings/go-up.png�PNG

IHDRĴl;sBIT|d�tEXtSoftwarewww.inkscape.org��<�IDAT8���Mh\U��~�y�1Fd,m1ŶBЅ��NRl)� ��#�.�Y�KlRAp�+?@\��u�"P�B�H��ݸ���2&L��N;3��ȼ�RK��9p��]��=��+��f���f��F7�t�l�6OMi�'�K���;�Aj�ۻ��z1�b`���T~�`�hihϑbϭ��{'�֋���bp,�K����(��ϒ���{�t��ƕV�ȷoD_޴�Gƥ�z7�āgK�W���j��X�|��=Y�Ν�w�xpR�Sgg�{�'�-.\�g�x~]��FRg�z����������U�����R�j~Y�k|������n)��C[�wӕQ��kw���C��wT�O���b��S|`P��x���Y�����C�]=�����}wU���?�f1N�aX =�i�BP0�#�y���}�vW'��<k�+����;��;t��9����03�XZԯ�s-�g9J��Γh�h�v��ӟ\�_���ٷ�� ��+�/�u���X/�WO|���h/��P�w>z��5� �8V�g_��_W5��ϕ��`0AU�V��~�f$��w�Ff�Ј�Fm��ASE�
y���^B+8o0N��)�6wuWȲ9)dk͸�B�(I�h�JLQD"�J�ˀ��|��U8�;�J�� ",�����
�@$"q6w�6u@�����k�z&"g$����<4�d������$S	������y6;Il�3��lIs�$W���I�,��IEND�B`�PḲGg1GP��+chatty/gui/components/settings/list-add.png�PNG

IHDRĴl;bKGD�������	pHYs
�
�B(�xtIME�,�+�IDAT8��1KA��;OPl��,���J���4!� �I���[-,lr���������s!1��Xd`af�=v��������V��c>�jf�;q`i�ݠ�n0V���?�57�5)��w�)C�*�.O�2�"�1o\P��@���Y�&�v��xz~G3ag�Ή„�l��=�wz�S�6��_����ɽ�U��Z}E����T��-c�G܆f�%�Tn�7W����5�Gؕ��_�F�/�-[��->�`|�^4l�e'IEND�B`�PḲG��s��.chatty/gui/components/settings/list-remove.png�PNG

IHDRĴl;bKGD�������	pHYs
�
�B(�xtIME�;w(�{�IDAT8�풱	aF�6n`�w#8���#���a����ֶ"�]�Y؈���� �Gx	!�$�_�w�nN=�Tz���n?�Y���+FM�IzWv�g�H�i\o$p.0�09��Ʌ;,�pp$�ݥ��UIR�Wb1�O�IEND�B`�PḲG�D�)��/chatty/gui/components/settings/view-refresh.png�PNG

IHDR�asBIT|d�tEXtSoftwarewww.inkscape.org��<"IDAT8�mRMlTe=�{��3m[������3�јF7�`X��D����aMta���1L%�47�!��«q�В���F;��̴�����Yp����=''�\bf�He��4����jՄ�'¸��.ؖ���p�|�t&�E��@O�*}]g����Q(V02v�|g��'�-�lzW6Ì�Ĉ���d������ǂЉ�
 �
3�E�WŊ
5�>.W
f43��=gO��k�40ĭ���C��ձž������	��_�M��^l���8�l���?�3]��X1/2�3ǕgƧg���^�h�ڷuS(��w�D-�H��U��/<�����A�2�e^��ۏ^�,��}��?,az��,���Hc$�Ug��nSui�&vn{'�v>E�q4A��kw�_?߼�'�'�k�'�W�%߼��[�0j�����>AX�-�/�?����ԩ��T=�e�Y��c�J奎�G�o��@�W�!'�$_ԓS�l���n\{&?3���D�V������%r�=?�Je����������F�m��Xv@x\qqah�=�Ѿ2��;�}З|��9r-�k�5t�T2>�hM�A҄����ǡ��������̖M�D,��	z�=*�]�;[��x	8wy��Iu�I1M��N�<�-����I��7��,
��#?[FՕD(̗�ˣ�R��m�c����er-0�{
��W1o�R�
]�!�PՑ�l���.Uvje��IEND�B`�PKˣG���#��,chatty/gui/components/srl/RacesTable$1.class���3SourceFileRacesTable.javaEnclosingMethod&chatty/gui/components/srl/RacesTable$1InnerClassesjava/lang/Object$chatty/gui/components/srl/RacesTable 	PKˣG������@chatty/gui/components/srl/RacesTable$MyContextMenuListener.class���3f1	23456789:4;<=>	?@ABCDEAFGAHIJthis$0&Lchatty/gui/components/srl/RacesTable;<init>)(Lchatty/gui/components/srl/RacesTable;)VCodeLineNumberTableLocalVariableTablethisMyContextMenuListenerInnerClasses<Lchatty/gui/components/srl/RacesTable$MyContextMenuListener;menuItemClicked(Ljava/awt/event/ActionEvent;)VurlLjava/lang/String;eLjava/awt/event/ActionEvent;selectedRaceLchatty/util/srl/Race;
StackMapTableKLQ(Lchatty/gui/components/srl/RacesTable;Lchatty/gui/components/srl/RacesTable$1;)Vx0x1(Lchatty/gui/components/srl/RacesTable$1;SourceFileRacesTable.javaMNOPQRSraceInfoTUVWYZ[\srlRacePageK]"^_`abcspeedruntvd`joinSrlChannele`:chatty/gui/components/srl/RacesTable$MyContextMenuListener.chatty/gui/components/menus/ContextMenuAdapterchatty/util/srl/Race&chatty/gui/components/srl/RacesTable$1()V$chatty/gui/components/srl/RacesTablegetSelectedRace()Lchatty/util/srl/Race;java/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Zaccess$500RacesTableListenera(Lchatty/gui/components/srl/RacesTable;)Lchatty/gui/components/srl/RacesTable$RacesTableListener;7chatty/gui/components/srl/RacesTable$RacesTableListeneropenRace(Lchatty/util/srl/Race;)Vidchatty/gui/TwitchUrlmakeSrlRaceLink&(Ljava/lang/String;)Ljava/lang/String;chatty/gui/UrlOpener
openUrlPrompt*(Ljava/awt/Component;Ljava/lang/String;Z)ZmakeSrtRaceLinkmakeSrlIrcLink 4*+�*��� 0�*��M,��+���*��,�	�c+���,��N*�-�
W�B+���,��N*�-�
W�!+���,��N*�-�
W�>���
��)�5�=�G�V�^�h�w����>=!"^!"!"��#$�%&'�
(  +D*+��� ,-./04)4<4X	PKˣG�7i��:chatty/gui/components/srl/RacesTable$MyMouseListener.class���3s9	:;<=>?>@ABCD<EF>GH<I<J<KLM<N>O>PQRthis$0&Lchatty/gui/components/srl/RacesTable;<init>)(Lchatty/gui/components/srl/RacesTable;)VCodeLineNumberTableLocalVariableTablethisMyMouseListenerInnerClasses6Lchatty/gui/components/srl/RacesTable$MyMouseListener;mouseClicked(Ljava/awt/event/MouseEvent;)VselectedRaceLchatty/util/srl/Race;eLjava/awt/event/MouseEvent;
StackMapTablemousePressed
mouseReleasedopenContextMenum)Lchatty/gui/components/menus/ContextMenu;
selectClickedclickedRowISQ(Lchatty/gui/components/srl/RacesTable;Lchatty/gui/components/srl/RacesTable$1;)Vx0x1(Lchatty/gui/components/srl/RacesTable$1;SourceFileRacesTable.javaTUVWXYZ[]^_`.#+#ab+chatty/gui/components/menus/RaceContextMenucdefghWiWjklmnopqr4chatty/gui/components/srl/RacesTable$MyMouseListenerjava/awt/event/MouseAdapter&chatty/gui/components/srl/RacesTable$1()Vjava/awt/event/MouseEvent
getClickCount()I$chatty/gui/components/srl/RacesTablegetSelectedRace()Lchatty/util/srl/Race;access$500RacesTableListenera(Lchatty/gui/components/srl/RacesTable;)Lchatty/gui/components/srl/RacesTable$RacesTableListener;7chatty/gui/components/srl/RacesTable$RacesTableListeneropenRace(Lchatty/util/srl/Race;)VisPopupTrigger()Zaccess$600Y(Lchatty/gui/components/srl/RacesTable;)Lchatty/gui/components/menus/ContextMenuListener;K(Lchatty/util/srl/Race;Lchatty/gui/components/menus/ContextMenuListener;Z)VgetComponent()Ljava/awt/Component;getXgetY'chatty/gui/components/menus/ContextMenushow(Ljava/awt/Component;II)VgetPoint()Ljava/awt/Point;rowAtPoint(Ljava/awt/Point;)IsetRowSelectionInterval(II)V 4*+�*��W!"#y"+��*��M,�*��,��[\]^!a $%"!"&'(!)#G*+�*+�	�efg!&'*#>*+�	�kl!&'+#�5+��0*��M,�$�Y,*���
N-+�+�+���opqr$s4v*$,-%$%5!5&'(4.#q*�+��=�*���yz{} !&'/0(�3D*+��W !45678 >1>A>\	PKˣGt?E9��3chatty/gui/components/srl/RacesTable$MySorter.class���3I( )*+*,./	01 2356<init>7MyTableModelInnerClasses6(Lchatty/gui/components/srl/RacesTable$MyTableModel;)VCodeLineNumberTableLocalVariableTablethisMySorter/Lchatty/gui/components/srl/RacesTable$MySorter;model3Lchatty/gui/components/srl/RacesTable$MyTableModel;toggleSortOrder(I)VcolumnIsortKeysLjava/util/List;LocalVariableTypeTableSortKey2Ljava/util/List<+Ljavax/swing/RowSorter$SortKey;>;
StackMapTable8	SignatureWLjavax/swing/table/TableRowSorter<Lchatty/gui/components/srl/RacesTable$MyTableModel;>;SourceFileRacesTable.java9:;8<=>?@javax/swing/RowSorter$SortKeyABCDEFGH-chatty/gui/components/srl/RacesTable$MySorter javax/swing/table/TableRowSorter1chatty/gui/components/srl/RacesTable$MyTableModeljava/util/List!(Ljavax/swing/table/TableModel;)VgetSortKeys()Ljava/util/List;size()Iget(I)Ljava/lang/Object;javax/swing/RowSortergetSortOrder()Ljavax/swing/SortOrder;javax/swing/SortOrderDESCENDINGLjavax/swing/SortOrder;setSortKeys(Ljava/util/List;)V$chatty/gui/components/srl/RacesTable >*+�����-*�M,��,�����	*��*�	����!�&�'�,� --((!"�'#$%&'
4 4- 	PKˣGl~]�qq7chatty/gui/components/srl/RacesTable$MyTableModel.class���3h89:;<=>?@		A		B		C	DEFG		HIJKLMNOQR<init>()VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses3Lchatty/gui/components/srl/RacesTable$MyTableModel;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndexrLchatty/util/srl/Race;
StackMapTable@getColumnClass(I)Ljava/lang/Class;cformatTime(J)Ljava/lang/String;timeJupdateTimesi	SignatureGLchatty/gui/components/settings/ListTableModel<Lchatty/util/srl/Race;>;SourceFileRacesTable.javajava/lang/StringGameGoalStateTimeEntrantsSTUchatty/util/srl/RaceVWXWYWZ[\]^_`01./java/lang/Integerabc-d^efg1chatty/gui/components/srl/RacesTable$MyTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)Vget(I)Ljava/lang/Object;gameLjava/lang/String;	statetextgoalgetEntrants()Ljava/util/Collection;java/util/Collectionsize()IvalueOf(I)Ljava/lang/Integer;chatty/util/DateTimeagoClock(JZ)Ljava/lang/String;getRowCountfireTableCellUpdated(II)V$chatty/gui/components/srl/RacesTable P"*�YSYSYSYSYS���!�"!"#�S*��	N�G",'>1-��-��-��-�
���*-����"�	�,�1�6�;�H�Q�*S!S$%S&%	J'()
�,*+,R
�����	�
!
-%)	./T	��	������!01)2f<*��*���������3%!)	��4567 PPKˣGٞt=chatty/gui/components/srl/RacesTable$RacesTableListener.class���3
openRace(Lchatty/util/srl/Race;)VSourceFileRacesTable.java7chatty/gui/components/srl/RacesTable$RacesTableListenerRacesTableListenerInnerClassesjava/lang/Object$chatty/gui/components/srl/RacesTable 		PKˣGa��;;8chatty/gui/components/srl/RacesTable$StateRenderer.class���3W33456	789	:;<	=	>?@A	BCDEGHOPENLjava/awt/Color;ENDEDCOMPLETE<init>()VCodeLineNumberTableLocalVariableTablethis
StateRendererInnerClasses4Lchatty/gui/components/srl/RacesTable$StateRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;stateLjava/lang/String;
StackMapTable4I+(Lchatty/gui/components/srl/RacesTable$1;)Vx0(Lchatty/gui/components/srl/RacesTable$1;<clinit>SourceFileRacesTable.javajava/lang/StringEntry OpenJKLMRace endedComplete	Race OverNOPjava/awt/ColorQRBlueVioletSTUV2chatty/gui/components/srl/RacesTable$StateRenderer*javax/swing/table/DefaultTableCellRenderer&chatty/gui/components/srl/RacesTable$1equals(Ljava/lang/Object;)Z
setForeground(Ljava/awt/Color;)VBLACKsetText(Ljava/lang/String;)V(III)VREDchatty/gui/HtmlColors
getNamedColor+(Ljava/lang/String;)Lchatty/gui/NamedColor;$chatty/gui/components/srl/RacesTable /*���"#$�T+�M,��
*���9,��
*�	��&,��,��
*���*�
�*,��*����!�+�=�G�N�S� T"T%&O'()�*	-9*���"./0@ �Y<�����	������12!F +FPKˣG�f����2chatty/gui/components/srl/RacesTable$Updater.class���32 	!"#$%&'()this$0&Lchatty/gui/components/srl/RacesTable;<init>)(Lchatty/gui/components/srl/RacesTable;)VCodeLineNumberTableLocalVariableTablethisUpdaterInnerClasses.Lchatty/gui/components/srl/RacesTable$Updater;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;*Q(Lchatty/gui/components/srl/RacesTable;Lchatty/gui/components/srl/RacesTable$1;)Vx0x1(Lchatty/gui/components/srl/RacesTable$1;SourceFileRacesTable.java	+,-/01+,chatty/gui/components/srl/RacesTable$Updaterjava/lang/Objectjava/awt/event/ActionListener&chatty/gui/components/srl/RacesTable$1()V$chatty/gui/components/srl/RacesTableaccess$400MyTableModel[(Lchatty/gui/components/srl/RacesTable;)Lchatty/gui/components/srl/RacesTable$MyTableModel;1chatty/gui/components/srl/RacesTable$MyTableModelupdateTimes 	
4*+�*��N
C*����RS
D*+��N ##%#.PKˣG�ҝF__*chatty/gui/components/srl/RacesTable.class���3�	#X	#Y	#Z$[\[]^_	^#`#ab
c#d#e#f#ghijklmjnop^qrst#u#vwxyz{InnerClasses|RacesTableListenerMyContextMenuListener
StateRendererMySorterMyTableModelMyMouseListenerUpdaterUPDATE_DELAYI
ConstantValueu0listener9Lchatty/gui/components/srl/RacesTable$RacesTableListener;races3Lchatty/gui/components/srl/RacesTable$MyTableModel;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;<init><(Lchatty/gui/components/srl/RacesTable$RacesTableListener;)VCodeLineNumberTableLocalVariableTablethis&Lchatty/gui/components/srl/RacesTable;timerLjavax/swing/Timer;setData(Ljava/util/Collection;)VdataLjava/util/Collection;LocalVariableTypeTable.Ljava/util/Collection<Lchatty/util/srl/Race;>;	Signature1(Ljava/util/Collection<Lchatty/util/srl/Race;>;)VgetSelectedRace()Lchatty/util/srl/Race;selected
StackMapTableaccess$400[(Lchatty/gui/components/srl/RacesTable;)Lchatty/gui/components/srl/RacesTable$MyTableModel;x0access$500a(Lchatty/gui/components/srl/RacesTable;)Lchatty/gui/components/srl/RacesTable$RacesTableListener;access$600Y(Lchatty/gui/components/srl/RacesTable;)Lchatty/gui/components/menus/ContextMenuListener;SourceFileRacesTable.java894567:}1chatty/gui/components/srl/RacesTable$MyTableModel:chatty/gui/components/srl/RacesTable$MyContextMenuListener:~4chatty/gui/components/srl/RacesTable$MyMouseListener���-chatty/gui/components/srl/RacesTable$MySorter:���������������2chatty/gui/components/srl/RacesTable$StateRenderer:���javax/swing/Timer,chatty/gui/components/srl/RacesTable$Updater:����}CD������chatty/util/srl/Race$chatty/gui/components/srl/RacesTablejavax/swing/JTable&chatty/gui/components/srl/RacesTable$17chatty/gui/components/srl/RacesTable$RacesTableListener()VQ(Lchatty/gui/components/srl/RacesTable;Lchatty/gui/components/srl/RacesTable$1;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VsetModel!(Ljavax/swing/table/TableModel;)V6(Lchatty/gui/components/srl/RacesTable$MyTableModel;)VsetRowSorter(Ljavax/swing/RowSorter;)VsetFillsViewportHeight(Z)VsetSelectionMode(I)VgetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel	getColumn"(I)Ljavax/swing/table/TableColumn;javax/swing/table/TableColumnsetMaxWidth+(Lchatty/gui/components/srl/RacesTable$1;)VsetCellRenderer((Ljavax/swing/table/TableCellRenderer;)V#(ILjava/awt/event/ActionListener;)VsetRepeatsstartgetSelectedRow()IconvertRowIndexToModel(I)Iget(I)Ljava/lang/Object;!#$0123456789:;<-�*�*�Y��*+�*�Y*��*�	Y*��**��*�
Y*���*�*�*��d�*��2�*��(�*���Y���Yu0�Y*��M,�,��=F,)-/!0.263E4J5O7^8m9|;�=�>�?�@> �?@�45�ABCD<S	*�+��=CD>	?@	EFG	EHIJKL<h*�<��*�*� �!�"�=GHIK>?@M1N�OP</*��=$>Q@RS</*��=$>Q@TU</*��=$>Q@VW'B%#(#)	#*#+
#,#-	#.#/PKʣG���''%chatty/gui/components/srl/SRL$1.class���3#	this$0Lchatty/gui/components/srl/SRL;<init>"(Lchatty/gui/components/srl/SRL;)VCodeLineNumberTableLocalVariableTablethisInnerClasses!Lchatty/gui/components/srl/SRL$1;componentHidden"(Ljava/awt/event/ComponentEvent;)VeLjava/awt/event/ComponentEvent;SourceFileSRL.javaEnclosingMethod !"	chatty/gui/components/srl/SRL$1java/awt/event/ComponentAdapterchatty/gui/components/srl/SRLd(Ljava/awt/Window;Lchatty/util/srl/SpeedrunsLive;Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$000 	4*+�*��E
@*���IJ
PKʣGJ<77%chatty/gui/components/srl/SRL$2.class���3%	 this$0Lchatty/gui/components/srl/SRL;<init>"(Lchatty/gui/components/srl/SRL;)VCodeLineNumberTableLocalVariableTablethisInnerClasses!Lchatty/gui/components/srl/SRL$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileSRL.javaEnclosingMethod!	"	#$chatty/gui/components/srl/SRL$2java/lang/Objectjava/awt/event/ActionListenerchatty/gui/components/srl/SRLd(Ljava/awt/Window;Lchatty/util/srl/SpeedrunsLive;Lchatty/gui/components/menus/ContextMenuListener;)V()Vaccess$100 	4*+�*��M
@*���QR
PKʣGŬ����=chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$1.class���3.		 	!"#$%&val$newRacesLjava/util/List;this$1'MySpeedrunsLiveListenerInnerClasses7Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener;<init>J(Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener;Ljava/util/List;)VCodeLineNumberTableLocalVariableTablethis9Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener$1;run()VSourceFileSRL.javaEnclosingMethod()	*+,-)7chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$1java/lang/Objectjava/lang/Runnable5chatty/gui/components/srl/SRL$MySpeedrunsLiveListener
racesReceived(Ljava/util/List;)Vthis$0Lchatty/gui/components/srl/SRL;chatty/gui/components/srl/SRLsetRaces 	9*+�*,�*���=*��*�����"
PKʣG���7��=chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$2.class���3.		 	!"#$%&val$descriptionLjava/lang/String;this$1'MySpeedrunsLiveListenerInnerClasses7Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener;<init>L(Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis9Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener$2;run()VSourceFileSRL.javaEnclosingMethod()	*+,-)7chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$2java/lang/Objectjava/lang/Runnable5chatty/gui/components/srl/SRL$MySpeedrunsLiveListenererror(Ljava/lang/String;)Vthis$0Lchatty/gui/components/srl/SRL;chatty/gui/components/srl/SRLrequestError 	9*+�*,�*���=*��*���"
PKʣGг���;chatty/gui/components/srl/SRL$MySpeedrunsLiveListener.class���3@	+		, -./0123567MySpeedrunsLiveListenerInnerClassesthis$0Lchatty/gui/components/srl/SRL;<init>"(Lchatty/gui/components/srl/SRL;)VCodeLineNumberTableLocalVariableTablethis7Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener;
racesReceived(Ljava/util/List;)VnewRacesLjava/util/List;LocalVariableTypeTable(Ljava/util/List<Lchatty/util/srl/Race;>;	Signature+(Ljava/util/List<Lchatty/util/srl/Race;>;)Verror(Ljava/lang/String;)VdescriptionLjava/lang/String;8C(Lchatty/gui/components/srl/SRL;Lchatty/gui/components/srl/SRL$1;)Vx0x1!Lchatty/gui/components/srl/SRL$1;SourceFileSRL.java97chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$1:;<=7chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$2>?5chatty/gui/components/srl/SRL$MySpeedrunsLiveListenerjava/lang/Object%chatty/util/srl/SpeedrunsLiveListenerchatty/gui/components/srl/SRL$1()VJ(Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener;Ljava/util/List;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)VL(Lchatty/gui/components/srl/SRL$MySpeedrunsLiveListener;Ljava/lang/String;)Vchatty/gui/components/srl/SRL 	4*+�*���W
�Y*+�����


 !E
�Y*+����

"#%D*+��� &'()*
"	4$PKʣG������#chatty/gui/components/srl/SRL.class���3Q_�_�H�	_�	_���	_��	�	_���	_��������������_�_���	_���	_�_�_���	�������_���	�	�	�*�	_���b��	_�	_��9�9��9_���������		_ u0_
�

		U����*	Z�	ZMySpeedrunsLiveListenerInnerClassesUPDATE_DELAYI
ConstantValue�AUTO_UPDATE_DELAY�DATA_STALE_DELAYu0parentLjava/awt/Window;racesDialog$Lchatty/gui/components/srl/SRLRaces;raceInfo#Lchatty/gui/components/srl/SRLRace;raceFinder)Lchatty/gui/components/srl/SRLRaceFinder;srlLchatty/util/srl/SpeedrunsLive;currentRacesLjava/util/Collection;	Signature.Ljava/util/Collection<Lchatty/util/srl/Race;>;lastReceivedJloadingZ	lastErrorerrorMessageLjava/lang/String;entrantToSearch<init>d(Ljava/awt/Window;Lchatty/util/srl/SpeedrunsLive;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/gui/components/srl/SRL;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;timerLjavax/swing/Timer;openRaceList()V
StackMapTablesearchRaceWithEntrant(Ljava/lang/String;)Vstream(Ljava/util/Collection;)VfoundRacesracesLocalVariableTypeTable1(Ljava/util/Collection<Lchatty/util/srl/Race;>;)VcancelSearchopenRaceInfo(Lchatty/util/srl/Race;)VraceLchatty/util/srl/Race;isAutoUpdating()ZisOpen(Lchatty/util/srl/Race;)ZupdateinfoTextagoerrorAgoisDataStalereloadsetLoading(Z)VsetRaces(Ljava/util/List;)VnewRacesLjava/util/List;(Ljava/util/List<Lchatty/util/srl/Race;>;+(Ljava/util/List<Lchatty/util/srl/Race;>;)VrequestErrordescription	findRaces@(Ljava/lang/String;Ljava/util/Collection;)Ljava/util/Collection;eEntrantLchatty/util/srl/Race$Entrant;i$Ljava/util/Iterator;rresult�p(Ljava/lang/String;Ljava/util/Collection<Lchatty/util/srl/Race;>;)Ljava/util/Collection<Lchatty/util/srl/Race;>;findSrlName<(Ljava/lang/String;Lchatty/util/srl/Race;)Ljava/lang/String;entrantaccess$000"(Lchatty/gui/components/srl/SRL;)Vx0access$100SourceFileSRL.java������stkl"chatty/gui/components/srl/SRLRaces�mn!chatty/gui/components/srl/SRLRace�op'chatty/gui/components/srl/SRLRaceFinderqrchatty/gui/components/srl/SRL$1�� !javax/swing/Timerchatty/gui/components/srl/SRL$2�"#�$�5chatty/gui/components/srl/SRL$MySpeedrunsLiveListener�%&'(����)*+��,�uv����-./�0�1234chatty/util/srl/Race��5�,�6789{|	Loading..:�;<=yz}zjava/lang/StringBuilder>?Last updated: @chatty/util/DateTime$FormattingFormattingAB agoCD�� (auto updating)
 [%s ago: %s]java/lang/Object~EF��G�����H�java/util/ArrayListI�JKchatty/util/srl/Race$EntrantLMNO9Pchatty/gui/components/srl/SRLjava/util/Collectionjava/lang/Stringjava/util/Iterator3(Ljava/awt/Window;Lchatty/gui/components/srl/SRL;)VE(Ljava/awt/Window;Lchatty/gui/components/menus/ContextMenuListener;)VaddComponentListener%(Ljava/awt/event/ComponentListener;)V#(ILjava/awt/event/ActionListener;)VsetRepeatsstartC(Lchatty/gui/components/srl/SRL;Lchatty/gui/components/srl/SRL$1;)Vchatty/util/srl/SpeedrunsLiveaddListener*(Lchatty/util/srl/SpeedrunsLiveListener;)VsetLocationRelativeTo(Ljava/awt/Component;)VshowDialogopensize()I	isVisiblecloseiterator()Ljava/util/Iterator;next()Ljava/lang/Object;
setFoundRacesgetRace()Lchatty/util/srl/Race;equals(Ljava/lang/Object;)Z
setStatusTextjava/lang/SystemcurrentTimeMillis()Jappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/util/DateTimeduration9(JII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;toString()Ljava/lang/String;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;requestRaceserrorhasNextgetEntrants()Ljava/util/Collection;twitchequalsIgnoreCase(Ljava/lang/String;)Zaddname!_Hcdefgdehidejklmnopqrstuvwxyz{|}z~�����q*�*,�*+�*�Y+*��*�	Y+-��*�Y+*�
�*��Y*���Y��Y*��:��,�Y*����2>?	@AB(C5EDMXT^UcWpX�4q��qklqstq��X�����a*��*�*�*��*����_`bcd��������/*+�*�*�� *�+�!*��*��**�"�#��nopqr&t.v�/��/��&����N*��I*�+�$M,�%�)*��&�*��'*,�(�)�*�+�*�,�,*���"���$�+�@�H�M�� =�vN��N�v�=�xN�x��@��w����4*������������6*��&�&*��-�*�*��.�*�*��.*�+�/�����"�-�5��6��6���"���2*��&���������]*��&�+*��0�1�����������@���s�*�2�*�3�4��5L�6*�7eA�6*�8e7*�7	��)�9Y�:+�;<�; �=�>�;?�;�@L*�A�8�9Y�:+�;B�;�@L C��*�8E��C��*��*�8E��3�9Y�:+�;G�HY�=�>SY*�IS�J�;�@L*�+�4��B�����)�2�X�_�s��������������*����z)��z�����D�6:����J�6*�7eK����������@���?
*�M*��N������
�����^*��O*��P*�2*�����������{|����.*+�"*E�8*�+�Q*�+�R*�6�7*�M*+�#��"�����#�(�-��.��.���.��w����h *�6�8*+�I*��S*��T*�M��������� �� ����!b�UY�VM+�WN-�X�K-�)�*:�Y�W:�X�'�)�Z:*�[�\�,�]W��է��,��"#EQZ]`�HE��/.��#:��Q��b�b�vZ�v�b�xZ�x�������*��w�����2+�Y�WM,�X� ,�)�ZN*-�[�\�-�^������%&('-)0*�*��&��2�2�����"����/*���������/*��������a*_`Z*�	=@PKˣGjS�R��)chatty/gui/components/srl/SRLRace$1.class���3SourceFileSRLRace.javaEnclosingMethod#chatty/gui/components/srl/SRLRace$1InnerClassesjava/lang/Object!chatty/gui/components/srl/SRLRace 	PKˣGJ��ii9chatty/gui/components/srl/SRLRace$ContextMenuOpener.class���3Q,	-./01234256070809:;<=this$0#Lchatty/gui/components/srl/SRLRace;<init>&(Lchatty/gui/components/srl/SRLRace;)VCodeLineNumberTableLocalVariableTablethisContextMenuOpenerInnerClasses5Lchatty/gui/components/srl/SRLRace$ContextMenuOpener;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
mouseReleasedopenContextMenum)Lchatty/gui/components/menus/ContextMenu;
StackMapTable>K(Lchatty/gui/components/srl/SRLRace;Lchatty/gui/components/srl/SRLRace$1;)Vx0x1%Lchatty/gui/components/srl/SRLRace$1;SourceFileSRLRace.java? @ABCDE+chatty/gui/components/menus/RaceContextMenuFGHIJKLMLNOP3chatty/gui/components/srl/SRLRace$ContextMenuOpenerjava/awt/event/MouseAdapter#chatty/gui/components/srl/SRLRace$1()Vjava/awt/event/MouseEventisPopupTrigger()Z!chatty/gui/components/srl/SRLRaceaccess$900;(Lchatty/gui/components/srl/SRLRace;)Lchatty/util/srl/Race;access$1000V(Lchatty/gui/components/srl/SRLRace;)Lchatty/gui/components/menus/ContextMenuListener;K(Lchatty/util/srl/Race;Lchatty/gui/components/menus/ContextMenuListener;Z)VgetComponent()Ljava/awt/Component;getX()IgetY'chatty/gui/components/menus/ContextMenushow(Ljava/awt/Component;II)V 4*+�*���>*+����>*+���� �9+��4*���*�Y*��*���	M,+�+�+��
����(�8� (!"99#8&D*+��� '()*+2$2PKˣG�瘕113chatty/gui/components/srl/SRLRace$MouseClicks.class���3z<	=>?@ABCDEFGCH	IAJAKALMNCOAPQRQSQTUVthis$0#Lchatty/gui/components/srl/SRLRace;<init>&(Lchatty/gui/components/srl/SRLRace;)VCodeLineNumberTableLocalVariableTablethisMouseClicksInnerClasses/Lchatty/gui/components/srl/SRLRace$MouseClicks;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
mouseReleasedopenContextMenum)Lchatty/gui/components/menus/ContextMenu;selectedEntrantsLjava/util/List;LocalVariableTypeTableXEntrant0Ljava/util/List<Lchatty/util/srl/Race$Entrant;>;
StackMapTable
selectClickedclickedRowIYK(Lchatty/gui/components/srl/SRLRace;Lchatty/gui/components/srl/SRLRace$1;)Vx0x1%Lchatty/gui/components/srl/SRLRace$1;SourceFileSRLRace.javaZ1#'#[\]^_`ab]2chatty/gui/components/menus/RaceEntrantContextMenucdefghijiklmnopqrstuvwx-chatty/gui/components/srl/SRLRace$MouseClicksjava/awt/event/MouseAdapterychatty/util/srl/Race$Entrant#chatty/gui/components/srl/SRLRace$1()Vjava/awt/event/MouseEventisPopupTrigger()Z!chatty/gui/components/srl/SRLRaceaccess$12005(Lchatty/gui/components/srl/SRLRace;)Ljava/util/List;java/util/ListisEmptyaccess$1300V(Lchatty/gui/components/srl/SRLRace;)Lchatty/gui/components/menus/ContextMenuListener;D(Ljava/util/List;Lchatty/gui/components/menus/ContextMenuListener;)VgetComponent()Ljava/awt/Component;getX()IgetY'chatty/gui/components/menus/ContextMenushow(Ljava/awt/Component;II)Vaccess$14009(Lchatty/gui/components/srl/SRLRace;)Ljavax/swing/JTable;getPoint()Ljava/awt/Point;javax/swing/JTablerowAtPoint(Ljava/awt/Point;)I
isRowSelected(I)ZsetRowSelectionInterval(II)Vchatty/util/srl/Race 4*+�*��W!"#G*+�*+��[\]!$%&#>*+��ab!$%'#�9+��4*��M,��#�	Y,*���N-+�+�
+���efgh(i8l*(())*+9!9$%,)*/081#�/*��+��=�*����*����op"q.s /!/$% 230�.6D*+��W !789:; C-W.	4CPKˣG�4��;chatty/gui/components/srl/SRLRace$MyLinkLabelListener.class���35!	"#$%&')*+this$0#Lchatty/gui/components/srl/SRLRace;<init>&(Lchatty/gui/components/srl/SRLRace;)VCodeLineNumberTableLocalVariableTablethisMyLinkLabelListenerInnerClasses7Lchatty/gui/components/srl/SRLRace$MyLinkLabelListener;linkClicked'(Ljava/lang/String;Ljava/lang/String;)VtypeLjava/lang/String;ref,K(Lchatty/gui/components/srl/SRLRace;Lchatty/gui/components/srl/SRLRace$1;)Vx0x1%Lchatty/gui/components/srl/SRLRace$1;SourceFileSRLRace.java	-./012345chatty/gui/components/srl/SRLRace$MyLinkLabelListenerjava/lang/Object'chatty/gui/components/LinkLabelListener#chatty/gui/components/srl/SRLRace$1()Vchatty/gui/TwitchUrlmakeSrlRaceLink&(Ljava/lang/String;)Ljava/lang/String;chatty/gui/UrlOpener
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)Z!chatty/gui/components/srl/SRLRace 	
4*+�*��N
O
*�,��W�RS 



D*+��N  ((PKˣGn��_..6chatty/gui/components/srl/SRLRace$MyLinkListener.class���3.	 !"#%&'this$0#Lchatty/gui/components/srl/SRLRace;<init>&(Lchatty/gui/components/srl/SRLRace;)VCodeLineNumberTableLocalVariableTablethisMyLinkListenerInnerClasses2Lchatty/gui/components/srl/SRLRace$MyLinkListener;linkClicked(Ljava/lang/String;)VurlLjava/lang/String;(K(Lchatty/gui/components/srl/SRLRace;Lchatty/gui/components/srl/SRLRace$1;)Vx0x1%Lchatty/gui/components/srl/SRLRace$1;SourceFileSRLRace.java	)*+,-0chatty/gui/components/srl/SRLRace$MyLinkListenerjava/lang/Objectchatty/gui/LinkListener#chatty/gui/components/srl/SRLRace$1()Vchatty/gui/UrlOpener
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)Z!chatty/gui/components/srl/SRLRace 	4*+�*��
EB*�+�W�
I	JD*+��
E 	$$PKˣG����UU4chatty/gui/components/srl/SRLRace$MyTableModel.class���3]6789:;<=?		@		AB		CDE		FGHIJLM<init>()VCodeLineNumberTableLocalVariableTablethisMyTableModelInnerClasses0Lchatty/gui/components/srl/SRLRace$MyTableModel;getValueAt(II)Ljava/lang/Object;rowIndexIcolumnIndexeEntrantLchatty/util/srl/Race$Entrant;
StackMapTable?getColumnClass(I)Ljava/lang/Class;cgetPlace2(Lchatty/util/srl/Race$Entrant;)Ljava/lang/String;formatTime(J)Ljava/lang/String;timeJ	SignatureOLchatty/gui/components/settings/ListTableModel<Lchatty/util/srl/Race$Entrant;>;SourceFileSRLRace.javajava/lang/StringPlaceNameTimeStatePointsNOPQchatty/util/srl/Race$EntrantRS01./T"UVjava/lang/IntegerW"UX-YZ[\.chatty/gui/components/srl/SRLRace$MyTableModel-chatty/gui/components/settings/ListTableModel([Ljava/lang/String;)Vget(I)Ljava/lang/Object;chatty/util/srl/RacenameLjava/lang/String;pointsvalueOf(I)Ljava/lang/Integer;place(I)Ljava/lang/String;chatty/util/DateTime
durationClock(JZ)Ljava/lang/String;!chatty/gui/components/srl/SRLRace P"*�YSYSYSYSYS��!" �H*��	N�<"$)24-�-��*-���-�-�
���"	,.3<>F*HH!"H#"	?$&'
�,()*i����	��"#	$%'+"'	,-Y+�	��+����,	-/$&'./T	��	���34601'2345K	>%	PKˣG����5chatty/gui/components/srl/SRLRace$PlaceRenderer.class���3C&&(	)	*+,-.	/023<init>()VCodeLineNumberTableLocalVariableTablethis
PlaceRendererInnerClasses1Lchatty/gui/components/srl/SRLRace$PlaceRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;eEntrantLchatty/util/srl/Race$Entrant;
StackMapTable(4((Lchatty/gui/components/srl/SRLRace$1;)Vx0%Lchatty/gui/components/srl/SRLRace$1;SourceFileSRLRace.java
5chatty/util/srl/Race$Entrant6789:;<=>-?@A>B/chatty/gui/components/srl/SRLRace$PlaceRenderer*javax/swing/table/DefaultTableCellRenderer#chatty/gui/components/srl/SRLRace$1chatty/util/srl/RacetimeJplaceIjava/lang/StringvalueOf(I)Ljava/lang/String;setText(Ljava/lang/String;)VmessageLjava/lang/String;setToolTipText!chatty/gui/components/srl/SRLRace 
/*��{�++�M,�	��*,����	*�*,�	�����"�*� ++&	�
!9*��{"#$%1'	1PKˣG*�vG��3chatty/gui/components/srl/SRLRace$PlaceSorter.class���32$$%'(*+,<init>()VCodeLineNumberTableLocalVariableTablethisPlaceSorterInnerClasses/Lchatty/gui/components/srl/SRLRace$PlaceSorter;compareEntrant?(Lchatty/util/srl/Race$Entrant;Lchatty/util/srl/Race$Entrant;)Io1Lchatty/util/srl/Race$Entrant;o2'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x1-((Lchatty/gui/components/srl/SRLRace$1;)V%Lchatty/gui/components/srl/SRLRace$1;	SignatureHLjava/lang/Object;Ljava/util/Comparator<Lchatty/util/srl/Race$Entrant;>;SourceFileSRLRace.java	./0chatty/util/srl/Race$Entrant1-chatty/gui/components/srl/SRLRace$PlaceSorterjava/lang/Objectjava/util/Comparator#chatty/gui/components/srl/SRLRace$1	compareTo!(Lchatty/util/srl/Race$Entrant;)Ichatty/util/srl/Race!chatty/gui/components/srl/SRLRace 	/*���
D+,��
 AK
*+�,����
 


	9*���
 !"#)&	)PKˣG=<�Z\\?chatty/gui/components/srl/SRLRace$RaceContextMenuListener.class���3Y.	/01234567	89:;<=>:?@:ABCthis$0#Lchatty/gui/components/srl/SRLRace;<init>&(Lchatty/gui/components/srl/SRLRace;)VCodeLineNumberTableLocalVariableTablethisRaceContextMenuListenerInnerClasses;Lchatty/gui/components/srl/SRLRace$RaceContextMenuListener;menuItemClicked(Ljava/awt/event/ActionEvent;)VurlLjava/lang/String;eLjava/awt/event/ActionEvent;selectedRaceLchatty/util/srl/Race;
StackMapTableDEK(Lchatty/gui/components/srl/SRLRace;Lchatty/gui/components/srl/SRLRace$1;)Vx0x1%Lchatty/gui/components/srl/SRLRace$1;SourceFileSRLRace.javaFGHIJKLsrlRacePageMNODPQRSTUVspeedruntvWSjoinSrlChannelXS9chatty/gui/components/srl/SRLRace$RaceContextMenuListener.chatty/gui/components/menus/ContextMenuAdapterchatty/util/srl/Race#chatty/gui/components/srl/SRLRace$1()V!chatty/gui/components/srl/SRLRaceaccess$900;(Lchatty/gui/components/srl/SRLRace;)Lchatty/util/srl/Race;java/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Zidchatty/gui/TwitchUrlmakeSrlRaceLink&(Ljava/lang/String;)Ljava/lang/String;chatty/gui/UrlOpener
openUrlPrompt*(Ljava/awt/Component;Ljava/lang/String;Z)ZmakeSrtRaceLinkmakeSrlIrcLink 4*+�*���n*��M,��+���,��	N*�-�W�B+���,��N*�-�W�!+�
��,��N*�-�W�6
���
��!�+�:�B�L�[�c�m�>!Bcnn !f"#$�
%  (D*+��� )*+,-1&1PKˣG"Wj}UU5chatty/gui/components/srl/SRLRace$StateRenderer.class���3�F FH	IJKLM	NOP	QR	S	TUFV	WKX?YZ[\	]	^_`abcefDEFAULTLjava/awt/Color;FORFEITENTEREDFINISHED<init>()VCodeLineNumberTableLocalVariableTablethis
StateRendererInnerClasses1Lchatty/gui/components/srl/SRLRace$StateRenderer;setValue(Ljava/lang/Object;)VvalueLjava/lang/Object;eEntrantLchatty/util/srl/Race$Entrant;stateLjava/lang/String;
StackMapTableHgehUi((Lchatty/gui/components/srl/SRLRace$1;)Vx0%Lchatty/gui/components/srl/SRLRace$1;<clinit>SourceFileSRLRace.java&'jchatty/util/srl/Race$Entrantk7ForfeitglmDisqualified#"noEntered$"Finished%"!"java/lang/StringBuilderpqr7st [..]uvwxyxz"{"java/awt/Color&|BlueViolet}~�/chatty/gui/components/srl/SRLRace$StateRenderer*javax/swing/table/DefaultTableCellRendererjava/lang/Stringjava/lang/Object#chatty/gui/components/srl/SRLRace$1chatty/util/srl/Race	statetextequals(Ljava/lang/Object;)Z
setForeground(Ljava/awt/Color;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;messageisEmpty()ZtoString()Ljava/lang/String;setText(Ljava/lang/String;)VsetToolTipTextBLACKRED(III)Vchatty/gui/HtmlColors
getNamedColor+(Ljava/lang/String;)Lchatty/gui/NamedColor;!chatty/gui/components/srl/SRLRace  !"#"$"%"&'(/*��)�*+./0(@�+�M,�N-��-��
*��	�0-��
*��	�-��
*�
�	�*��	*�Y�-�,�������*,���)2����&�/�9�B�L�S�y���**�+.�12}35x678D�9:	�;<9:;=�;<9:;=:&@(9*��)�*+.ABC'(I%�����Yxxx����
�)����DE-d,G4	>dPKˣG����3chatty/gui/components/srl/SRLRace$UpdateTimer.class���3+	 !"#$%&this$0#Lchatty/gui/components/srl/SRLRace;<init>&(Lchatty/gui/components/srl/SRLRace;)VCodeLineNumberTableLocalVariableTablethisUpdateTimerInnerClasses/Lchatty/gui/components/srl/SRLRace$UpdateTimer;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;'K(Lchatty/gui/components/srl/SRLRace;Lchatty/gui/components/srl/SRLRace$1;)Vx0x1%Lchatty/gui/components/srl/SRLRace$1;SourceFileSRLRace.java	()*-chatty/gui/components/srl/SRLRace$UpdateTimerjava/lang/Objectjava/awt/event/ActionListener#chatty/gui/components/srl/SRLRace$1()V!chatty/gui/components/srl/SRLRaceaccess$1100 	4*+�*��
�@*���
��D*+��
� 	""PKˣG�?W>#>#'chatty/gui/components/srl/SRLRace.class���3�	��	������	��	������	����	����	����	����	���	�
%#	�)#?�	/	�	 !="#$%&'D(G)*+,-./.01N2G34Q2.56T2	78W9:Y;�<�=�>�?�@A`�	}B`CD}EFG`HI`JK	}LK	}MNOP	}QRS#N	}T	�UVW�XYZY[Y\]^	}_`abc��d\YefghInnerClasses
StateRenderer
PlaceRendererMouseClicksMyLinkLabelListenerMyLinkListenerMyTableModelPlaceSorterUpdateTimerRaceContextMenuListenerContextMenuOpenerUPDATE_DELAYI
ConstantValue�id!Lchatty/gui/components/LinkLabel;stateLjavax/swing/JLabel;gameLjavax/swing/JTextField;goal(Lchatty/gui/components/ExtendedTextPane;
entrantsTableLjavax/swing/JTable;timestreamsContextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;raceContextMenuListenertimeStartedJcurrentRaceLchatty/util/srl/Race;entrants0Lchatty/gui/components/srl/SRLRace$MyTableModel;<init>E(Ljava/awt/Window;Lchatty/gui/components/menus/ContextMenuListener;)VCodeLineNumberTableLocalVariableTablethis#Lchatty/gui/components/srl/SRLRace;parentLjava/awt/Window;timerLjavax/swing/Timer;gbcLjava/awt/GridBagConstraints;sorter"Ljavax/swing/table/TableRowSorter;columns$Ljavax/swing/table/TableColumnModel;LocalVariableTypeTableTLjavax/swing/table/TableRowSorter<Lchatty/gui/components/srl/SRLRace$MyTableModel;>;open(Lchatty/util/srl/Race;)VracesetRaceupdate(Ljava/util/List;)VracesLjava/util/List;(Ljava/util/List<Lchatty/util/srl/Race;>;
StackMapTable	Signature+(Ljava/util/List<Lchatty/util/srl/Race;>;)Verror()VgetRace()Lchatty/util/srl/Race;getSelectedEntrants()Ljava/util/List;iarr$[Ilen$i$selectedselectedEntrantsiEntrant0Ljava/util/List<Lchatty/util/srl/Race$Entrant;>;f�j2()Ljava/util/List<Lchatty/util/srl/Race$Entrant;>;access$900;(Lchatty/gui/components/srl/SRLRace;)Lchatty/util/srl/Race;x0access$1000V(Lchatty/gui/components/srl/SRLRace;)Lchatty/gui/components/menus/ContextMenuListener;access$1100&(Lchatty/gui/components/srl/SRLRace;)Vaccess$12005(Lchatty/gui/components/srl/SRLRace;)Ljava/util/List;access$1300access$14009(Lchatty/gui/components/srl/SRLRace;)Ljavax/swing/JTable;SourceFileSRLRace.java�������������kjavax/swing/JLabel����javax/swing/JTextField��&chatty/gui/components/ExtendedTextPane��javax/swing/JTable��.chatty/gui/components/srl/SRLRace$MyTableModel��9chatty/gui/components/srl/SRLRace$RaceContextMenuListener�ljavax/swing/Timer-chatty/gui/components/srl/SRLRace$UpdateTimer�mnop�java/awt/GridBagLayoutqrstuchatty/gui/components/LinkLabel5chatty/gui/components/srl/SRLRace$MyLinkLabelListener�v��3chatty/gui/components/srl/SRLRace$ContextMenuOpenerwxyz{java/awt/Insets�|}~�Game:�����oGoal:��������0chatty/gui/components/srl/SRLRace$MyLinkListener���������o-chatty/gui/components/srl/SRLRace$MouseClicks javax/swing/table/TableRowSorter��������������-chatty/gui/components/srl/SRLRace$PlaceSorter����/chatty/gui/components/srl/SRLRace$PlaceRenderer��/chatty/gui/components/srl/SRLRace$StateRenderer�{javax/swing/JScrollPane��java/awt/Dimension�����������ojava/lang/StringBuilder���� (������� entrants)������������[srl:�� #srl-]����Race:  [��j������chatty/util/srl/Race(error) �������java/util/ArrayList���!chatty/gui/components/srl/SRLRacejavax/swing/JDialog#chatty/gui/components/srl/SRLRace$1chatty/util/srl/Race$Entrantjava/util/List(Ljava/awt/Window;)VK(Lchatty/gui/components/srl/SRLRace;Lchatty/gui/components/srl/SRLRace$1;)V#(ILjava/awt/event/ActionListener;)VsetRepeats(Z)Vstart	setLayout(Ljava/awt/LayoutManager;)Vchatty/gui/GuiUtilmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;>(Ljava/lang/String;Lchatty/gui/components/LinkLabelListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)Vjava/awt/GridBagConstraintsweightxD(IIII)VinsetsLjava/awt/Insets;add)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/lang/String;)VfillsetEditable
getBackground()Ljava/awt/Color;
setBackground(Ljava/awt/Color;)V	getBorder()Ljavax/swing/border/Border;	setBorder(Ljavax/swing/border/Border;)VsetLinkListener(Lchatty/gui/LinkListener;)V	getMargin()Ljava/awt/Insets;	setMargin(Ljava/awt/Insets;)VsetModel!(Ljavax/swing/table/TableModel;)VsetFillsViewportHeightsetRowSorter(Ljavax/swing/RowSorter;)VgetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel	getColumn"(I)Ljavax/swing/table/TableColumn;javax/swing/table/TableColumnsetMaxWidth(I)VsetMinWidth((Lchatty/gui/components/srl/SRLRace$1;)V
setComparator(ILjava/util/Comparator;)VsetCellRenderer((Ljavax/swing/table/TableCellRenderer;)Vweighty(Ljava/awt/Component;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetSizesetMinimumSizesetVisible	statetextLjava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getEntrants()Ljava/util/Collection;java/util/Collectionsize()I(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setTextsetData(Ljava/util/Collection;)VsetTitlecontains(Ljava/lang/Object;)ZindexOf(Ljava/lang/Object;)Iget(I)Ljava/lang/Object;chatty/util/DateTimeagoClock(JZ)Ljava/lang/String;getSelectedRows()[IconvertRowIndexToModel(I)I!��������������������������������*+�*�Y�	�*�Y��
*�Y��*�Y��*�Y�	�*�Y��*,�*�Y*���Y�Y*��N-�-�*�Y� �!
�":*�#Y$�%Y*�&�'�(*�(�)Y*�*�+,�.�/Y�0�1**�(�2�":**��2
�":**��2�":�/Y�0�1*�Y3�4�2�":�5�.*�
�6**�
�2�":�/Y�0�1*�Y7�4�2�":�5�.*��8*�*�
�9�:*�*�
�;�<*��=Y*�>�?*�*�
�@�A**��2*�*��B*��C*��DY*�E�F�GY*��H:*��I*��J:�K(�L�KP�L�KF�M�Kx�L�K(�M�K(�L�NY�O�P�K�QY�R�S�K�TY�U�S�":�5�.�V*�WY*��X�2*�YY^��Z�[*�YYT��Z�\*�YY�,�Z�]��CD678&91:<AGELFYGmHrIvK�O�P�Q�R�S�T�V�W�Y�Z�\	]^(`3a9b?cGdQf\glh{j�k�l�m�n�o�p�q�r�t�u�vwxy z-{:|G}T~an�|���������������������H������m����x����� ����������G*+�^*�_��������������*+�*��`Y�a+�b�cd�c+�e�f�gh�c�i�j*�
+�k�l*�+�m�n*�+�e�o*�(�`Y�ap�c+�q�cr�c+�q�cs�c�i�t*+�u�v*�*�`Y�aw�c+�k�cx�c+�b�cs�c�i�y��*��3�>�I�T��������������������-*���+*��z�*++*��{�|�}�^������,��-��-���-���#�����`%*�� *�`Y�a~�c*��k�c�i�y����$��%���$���/*����������p0*�v	�� *���*�*�v���j�*�$�j����&�/��0���&����E*���L��Y��M+N-�66�&-.6,*�*�������W����,��<=>&?=>CB�H&��1��-��*��E��=��5���5���������)�����/*���1������/*���1������/*���1������/*���1������/*���1������/*���1������b��T��Q��D��%��=����N������)���}�	PKˣG�5��/chatty/gui/components/srl/SRLRaceFinder$1.class���3.		 !"#$&val$srlLchatty/gui/components/srl/SRL;this$0)Lchatty/gui/components/srl/SRLRaceFinder;<init>K(Lchatty/gui/components/srl/SRLRaceFinder;Lchatty/gui/components/srl/SRL;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/srl/SRLRaceFinder$1;openRace(Lchatty/util/srl/Race;)VraceLchatty/util/srl/Race;SourceFileSRLRaceFinder.javaEnclosingMethod()	*+,)chatty/gui/components/srl/SRLRaceFinder$1java/lang/Object-7chatty/gui/components/srl/RacesTable$RacesTableListenerRacesTableListener'chatty/gui/components/srl/SRLRaceFinder3(Ljava/awt/Window;Lchatty/gui/components/srl/SRL;)V()Vchatty/gui/components/srl/SRLopenRaceInfo$chatty/gui/components/srl/RacesTable 	
9*+�*,�*��+A	*�+��/0		%'	PKˣG7�:�JJ/chatty/gui/components/srl/SRLRaceFinder$2.class���3&	 this$0)Lchatty/gui/components/srl/SRLRaceFinder;<init>,(Lchatty/gui/components/srl/SRLRaceFinder;)VCodeLineNumberTableLocalVariableTablethisInnerClasses+Lchatty/gui/components/srl/SRLRaceFinder$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileSRLRaceFinder.javaEnclosingMethod!	"	#$%)chatty/gui/components/srl/SRLRaceFinder$2java/lang/Objectjava/awt/event/ActionListener'chatty/gui/components/srl/SRLRaceFinder3(Ljava/awt/Window;Lchatty/gui/components/srl/SRL;)V()VsetVisible(Z)V 	4*+�*��>
A	*���BC
		PKˣGbi���-chatty/gui/components/srl/SRLRaceFinder.class���3�@uvw	?xyz{	?|	?}~ w?��?�����	?���	��	��	����������?�?��"w�"��"�?�	?��?�������"��A������������������InnerClasses	selection&Lchatty/gui/components/srl/RacesTable;	infoLabelLjavax/swing/JLabel;cancelButtonLjavax/swing/JButton;srlLchatty/gui/components/srl/SRL;
currentStreamLjava/lang/String;<init>3(Ljava/awt/Window;Lchatty/gui/components/srl/SRL;)VCodeLineNumberTableLocalVariableTablethis)Lchatty/gui/components/srl/SRLRaceFinder;parentLjava/awt/Window;gbcLjava/awt/GridBagConstraints;defaultSizeLjava/awt/Dimension;open(Ljava/lang/String;)VstreamsetLoading(Z)VloadingZ
StackMapTableerror()V
setFoundRaces(Ljava/util/Collection;)VsrlNameracesLjava/util/Collection;infoLocalVariableTypeTable.Ljava/util/Collection<Lchatty/util/srl/Race;>;����	Signature1(Ljava/util/Collection<Lchatty/util/srl/Race;>;)VcloseSourceFileSRLRaceFinder.javaM�javax/swing/JLabelMcEFjavax/swing/JButtonCloseM[GHIJjava/awt/GridBagLayout�������$chatty/gui/components/srl/RacesTable)chatty/gui/components/srl/SRLRaceFinder$1M�M�CD���������javax/swing/JScrollPaneM���)chatty/gui/components/srl/SRLRaceFinder$2M���java/awt/DimensionM�����java/lang/StringBuilderRaces with �� - SpeedRunsLive���[KL�e�^	Loading..�[Error loading races.Found ����� races with �����chatty/util/srl/Race������ ()�� (already open)'chatty/gui/components/srl/SRLRaceFinderjavax/swing/JDialogjava/util/Collectionjava/lang/String(Ljava/awt/Window;)V	setLayout(Ljava/awt/LayoutManager;)Vchatty/gui/GuiUtilmakeGbc$(IIIII)Ljava/awt/GridBagConstraints;add)(Ljava/awt/Component;Ljava/lang/Object;)VK(Lchatty/gui/components/srl/SRLRaceFinder;Lchatty/gui/components/srl/SRL;)V�RacesTableListener<(Lchatty/gui/components/srl/RacesTable$RacesTableListener;)V#(IIII)Ljava/awt/GridBagConstraints;java/awt/GridBagConstraintsfillIweightxDweighty(Ljava/awt/Component;)VsetMnemonic(I)V,(Lchatty/gui/components/srl/SRLRaceFinder;)VaddActionListener"(Ljava/awt/event/ActionListener;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetSizeappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setTitlesetDatasetVisiblesetTextsize()I(I)Ljava/lang/StringBuilder;iterator()Ljava/util/Iterator;java/util/Iteratornext()Ljava/lang/Object;chatty/gui/components/srl/SRLfindSrlName<(Ljava/lang/String;Lchatty/util/srl/Race;)Ljava/lang/String;equalsIgnoreCase(Ljava/lang/String;)ZisOpen(Lchatty/util/srl/Race;)Z7chatty/gui/components/srl/RacesTable$RacesTableListener!?@CDEFGHIJKLMNOn�*+�*�Y��*�Y��*,�	*�Y��**��
�*�Y�Y*,����N-�-�-�*�Y*��-��N-�-�**�-�*�C�*��Y*���Y�ȷ:*� *�!�PZ#$"&-)>+R2Z3_4d5i6y8�9�:�;�=�>�F�G�H�IQ4�RS�TU�IJZnVW�
XYZ[Os/*�"Y�#$�%+�%&�%�'�(*+�)*��**�+�PRS!T)U.VQ/RS/\L]^OS�*�,�-�PYZ
\QRS_`a
bcO8*�.�-�P_	`QRSdeOtл"Y�#/�%+�0�12�%+�0�3�4�%5�%*�)�%�'M+�0�E*�)+�6�7�8�9N-�+-*�)�:� �"Y�#,�%;�%-�%<�%�'M+�0�/*�	+�6�7�8�=��"Y�#,�%>�%�'M*�,�-*�+�*�P*h>jGk]llm�p�q�s�t�uQ*],fL�RS�gh>�iLj�gka il�mnlo�]o5pqrcO4*�+�PxyQRSstB��	PKˣG+�����*chatty/gui/components/srl/SRLRaces$1.class���3.		 !"#$&val$srlLchatty/gui/components/srl/SRL;this$0$Lchatty/gui/components/srl/SRLRaces;<init>F(Lchatty/gui/components/srl/SRLRaces;Lchatty/gui/components/srl/SRL;)VCodeLineNumberTableLocalVariableTablethisInnerClasses&Lchatty/gui/components/srl/SRLRaces$1;openRace(Lchatty/util/srl/Race;)VraceLchatty/util/srl/Race;SourceFile
SRLRaces.javaEnclosingMethod()	*+,$chatty/gui/components/srl/SRLRaces$1java/lang/Object-7chatty/gui/components/srl/RacesTable$RacesTableListenerRacesTableListener"chatty/gui/components/srl/SRLRaces3(Ljava/awt/Window;Lchatty/gui/components/srl/SRL;)V()Vchatty/gui/components/srl/SRLopenRaceInfo$chatty/gui/components/srl/RacesTable 	
9*+�*,�*��&A	*�+��*+		%'	PKˣGM��QQ5chatty/gui/components/srl/SRLRaces$ButtonAction.class���3<#	$	%&'()(*+,-./this$0$Lchatty/gui/components/srl/SRLRaces;<init>'(Lchatty/gui/components/srl/SRLRaces;)VCodeLineNumberTableLocalVariableTablethisButtonActionInnerClasses1Lchatty/gui/components/srl/SRLRaces$ButtonAction;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTable0M(Lchatty/gui/components/srl/SRLRaces;Lchatty/gui/components/srl/SRLRaces$1;)Vx0x1&Lchatty/gui/components/srl/SRLRaces$1;SourceFile
SRLRaces.java

123456789:;1/chatty/gui/components/srl/SRLRaces$ButtonActionjava/lang/Objectjava/awt/event/ActionListener$chatty/gui/components/srl/SRLRaces$1()Vjava/awt/event/ActionEvent	getSource()Ljava/lang/Object;"chatty/gui/components/srl/SRLRacesaccess$100;(Lchatty/gui/components/srl/SRLRaces;)Ljavax/swing/JButton;access$200E(Lchatty/gui/components/srl/SRLRaces;)Lchatty/gui/components/srl/SRL;chatty/gui/components/srl/SRLreload 	
4*+�*��[^+�*���
*����_`b
D*+��[  !"(PKˣG�	���(chatty/gui/components/srl/SRLRaces.class���3�	k	l6mno	pqrstuvw
xy	z{o|}~	}���������	��	��	���!��#���&�������-o��-��-�-����ButtonActionInnerClassestable&Lchatty/gui/components/srl/RacesTable;srlLchatty/gui/components/srl/SRL;infoLjavax/swing/JLabel;reloadButtonLjavax/swing/JButton;<init>3(Ljava/awt/Window;Lchatty/gui/components/srl/SRL;)VCodeLineNumberTableLocalVariableTablethis$Lchatty/gui/components/srl/SRLRaces;ownerLjava/awt/Window;gbcLjava/awt/GridBagConstraints;buttonActionLjava/awt/event/ActionListener;
setStatusText(Ljava/lang/String;)VtextLjava/lang/String;setLoading(Z)VloadingZ
StackMapTableq�setRaces(Ljava/util/List;)VnewRacesLjava/util/List;LocalVariableTypeTable(Ljava/util/List<Lchatty/util/srl/Race;>;	Signature+(Ljava/util/List<Lchatty/util/srl/Race;>;)VshowDialog()Vaccess$100;(Lchatty/gui/components/srl/SRLRaces;)Ljavax/swing/JButton;x0access$200E(Lchatty/gui/components/srl/SRLRaces;)Lchatty/gui/components/srl/SRL;SourceFile
SRLRaces.java<=@AB�javax/swing/JLabelBc>?javax/swing/JButtonreloadBP
SpeedRunsLive�P$chatty/gui/components/srl/RacesTable$chatty/gui/components/srl/SRLRaces$1B�B�:;java/awt/GridBagLayout�����������javax/swing/ImageIcon"chatty/gui/components/srl/SRLRacesview-refresh.png���B����������javax/swing/JScrollPaneB�/chatty/gui/components/srl/SRLRaces$ButtonActionB���java/awt/DimensionB����c�P�T��java/lang/StringBuilder����� Races - SpeedRunsLive����ST�Tjavax/swing/JDialog(Ljava/awt/Window;)VsetTitleF(Lchatty/gui/components/srl/SRLRaces;Lchatty/gui/components/srl/SRL;)V�RacesTableListener<(Lchatty/gui/components/srl/RacesTable$RacesTableListener;)V	setLayout(Ljava/awt/LayoutManager;)Vchatty/gui/GuiUtilmakeGbc#(IIII)Ljava/awt/GridBagConstraints;add)(Ljava/awt/Component;Ljava/lang/Object;)VSMALL_BUTTON_INSETSLjava/awt/Insets;	setMargin(Ljava/awt/Insets;)Vjava/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)VsetIcon(Ljavax/swing/Icon;)Vjava/awt/GridBagConstraintsfillIweightxDweighty(Ljava/awt/Component;)VM(Lchatty/gui/components/srl/SRLRaces;Lchatty/gui/components/srl/SRLRaces$1;)VaddActionListener"(Ljava/awt/event/ActionListener;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VpacksetTextsetEnabledsetData(Ljava/util/Collection;)Vjava/util/Listsize()Iappend(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setVisible7chatty/gui/components/srl/RacesTable$RacesTableListener!6:;<=>?@ABCD��*+�*�Y��*�Y�	�*�*,�*�Y�
Y*,���*�Y���N**�-��N*���*��Y���**�-��N-�-�-� *�!Y*��"-��#Y*�$:*��%*�&YX��'�(*�)�E^"##$(&</G3O4X6`7j8�9�;�<�=�>�?�A�B�D�F�GF4�GH�IJ�<=O�KL�MNOPDA	*�+�*�EJKF	GH	QRSTDd*����+�ENOFGHUVWLX�YXZ[D|**�+�,*�-Y�.+�/�01�2�3�*�4�ERS$T)UF*GH*\]^*\_`abcD4*�5�EXYFGHdeD/*��EFfHghD/*��EFfHij8#7
��	PḲG\u�g��*chatty/gui/components/srl/view-refresh.png�PNG

IHDRVu\�	pHYs��~�WIDAT(�L������Z��@��4�������윉h=�XC(�}��]�����c��R���F:% ��������ݹ0$���ߎ_���n���K<%4������K;$F5�����������F%�4��������;=��ߦ����qW3������y�xL9"˘tD� o���������������$pV4����'Z��!h&�������@��콘�����������F5z��������1xZ4�Wbm#d}c;	����ZD(\�i>��P�������������
3'��눘�с����|�NJF7#���	�pC�����1$��d>���\���P���G7 ��������S?&w{��CB5 I%�\L0��������/"�* ����{^G*�8)�h��H) g5����~L�	x��=2�IEND�B`�PḲG�#6chatty/gui/components/tabs/DraggableTabbedPane$1.class���3�	? >=@=ABC=DEF=G=H=I=J=KL=M=N
OPQRS=T=U	VW=X	VY=Z=[	V\	V]R^=_=`abthis$00Lchatty/gui/components/tabs/DraggableTabbedPane;<init>3(Lchatty/gui/components/tabs/DraggableTabbedPane;)VCodeLineNumberTableLocalVariableTablethisInnerClasses2Lchatty/gui/components/tabs/DraggableTabbedPane$1;mouseDragged(Ljava/awt/event/MouseEvent;)VboundsLjava/awt/Rectangle;totalImageLjava/awt/Image;
totalGraphicsLjava/awt/Graphics;gtabIndexIeLjava/awt/event/MouseEvent;
StackMapTableSourceFileDraggableTabbedPane.javaEnclosingMethodc#d!"efghijklmnopqrsftuvwxyjava/awt/image/BufferedImagez{|{#}~����������6�w�6�����6�6�����d0chatty/gui/components/tabs/DraggableTabbedPane$1!java/awt/event/MouseMotionAdapter.chatty/gui/components/tabs/DraggableTabbedPane()Vaccess$0003(Lchatty/gui/components/tabs/DraggableTabbedPane;)Zaccess$1003(Lchatty/gui/components/tabs/DraggableTabbedPane;)Jjava/lang/SystemcurrentTimeMillis()Jaccess$1024(Lchatty/gui/components/tabs/DraggableTabbedPane;J)Jjava/awt/event/MouseEventgetPoint()Ljava/awt/Point;access$202R(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Point;)Ljava/awt/Point;access$300access$400C(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Point;)Iaccess$5024(Lchatty/gui/components/tabs/DraggableTabbedPane;I)IgetBoundsAt(I)Ljava/awt/Rectangle;getWidth()I	getHeight(III)Vjava/awt/ImagegetGraphics()Ljava/awt/Graphics;java/awt/GraphicssetClip(Ljava/awt/Shape;)VsetDoubleBuffered(Z)VpaintComponent(Ljava/awt/Graphics;)Vjava/awt/Rectangleheightaccess$602widthaccess$702R(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Image;)Ljava/awt/Image;access$700B(Lchatty/gui/components/tabs/DraggableTabbedPane;)Ljava/awt/Image;xy	drawImage9(Ljava/awt/Image;IIIIIIIILjava/awt/image/ImageObserver;)Zaccess$3024(Lchatty/gui/components/tabs/DraggableTabbedPane;Z)Zrepaint  !"#$%4*+�*��&9'(+,-%�*����*��	��*���X*�+��W*��	��*�+��=��*��W*��N�
Y*��*���:�:-�*��*��*�-��W*��
Y-�-���W*���:-�-�-�-�-�-�`-�-�`*��W*��W*���&Z=>@A"D.E8FDGHHQJZLrNyOP�Q�S�T�V�W�]�`a'HZ�./r�01y�23�943D�56(+789��:;<=>*PḲG���BBB6chatty/gui/components/tabs/DraggableTabbedPane$2.class���3S	)('*+,'-'.'/01'2'3'4'5'6'789this$00Lchatty/gui/components/tabs/DraggableTabbedPane;<init>3(Lchatty/gui/components/tabs/DraggableTabbedPane;)VCodeLineNumberTableLocalVariableTablethisInnerClasses2Lchatty/gui/components/tabs/DraggableTabbedPane$2;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
mouseReleaseddropOnIndexI
StackMapTableSourceFileDraggableTabbedPane.javaEnclosingMethod:;<=>?@ABCDEDFGHIJKLMNOBPQR;0chatty/gui/components/tabs/DraggableTabbedPane$2java/awt/event/MouseAdapter.chatty/gui/components/tabs/DraggableTabbedPane()Vaccess$1024(Lchatty/gui/components/tabs/DraggableTabbedPane;J)Jjavax/swing/SwingUtilitiesisLeftMouseButton(Ljava/awt/event/MouseEvent;)Zaccess$0024(Lchatty/gui/components/tabs/DraggableTabbedPane;Z)Zaccess$3003(Lchatty/gui/components/tabs/DraggableTabbedPane;)Zaccess$800java/awt/event/MouseEventgetPoint()Ljava/awt/Point;access$900C(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Point;)Iaccess$5003(Lchatty/gui/components/tabs/DraggableTabbedPane;)Iaccess$10005(Lchatty/gui/components/tabs/DraggableTabbedPane;II)Vaccess$302access$702R(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Image;)Ljava/awt/Image;repaint 4*+�*��dR*�	�X*�+��W�h	op �V*���,*���"*�+��	=�*�*���*��W*��
W*�	�X*���&	tu v$w3z<{E|N}U~  !"VV#3$%&'(PḲGz9)���6chatty/gui/components/tabs/DraggableTabbedPane$3.class���3+	 !"#this$00Lchatty/gui/components/tabs/DraggableTabbedPane;<init>3(Lchatty/gui/components/tabs/DraggableTabbedPane;)VCodeLineNumberTableLocalVariableTablethisInnerClasses2Lchatty/gui/components/tabs/DraggableTabbedPane$3;stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;SourceFileDraggableTabbedPane.javaEnclosingMethod$%	&'()*%0chatty/gui/components/tabs/DraggableTabbedPane$3java/lang/Object javax/swing/event/ChangeListener.chatty/gui/components/tabs/DraggableTabbedPane()Vaccess$3024(Lchatty/gui/components/tabs/DraggableTabbedPane;Z)Zaccess$1024(Lchatty/gui/components/tabs/DraggableTabbedPane;J)Jrepaint 	
4*+�*���
Z*��W*�	�X*����	���PḲG�}���4chatty/gui/components/tabs/DraggableTabbedPane.class���3�4�4�4�	4�	4�	4�4�	4�	4�	4�	4�5��
�4���4���4�5�	��	����4�4���	��	��	����	������������4�d4�4�4�4�4�4�4�4�4�4�4�����InnerClassesDRAG_STARTED_THRESHOLDI
ConstantValueddraggingZdraggedTabIndexdraggedTabImageLjava/awt/Image;draggedTabImageHeight
mouseLocationLjava/awt/Point;canDragdragStartedJ<init>()VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/tabs/DraggableTabbedPane;paintComponent(Ljava/awt/Graphics;)V
drawBeforeTabboundsLjava/awt/Rectangle;tabIndexgLjava/awt/Graphics;
StackMapTable�dragStartedAgo()JdragStartedThreshold()ZmoveTab(II)VfromtocompLjava/awt/Component;titleLjava/lang/String;toolTipiconLjavax/swing/Icon;tabComp����getIndexForPoint(Ljava/awt/Point;)IpgetDropIndexForPointindexaccess$0003(Lchatty/gui/components/tabs/DraggableTabbedPane;)Zx0access$1003(Lchatty/gui/components/tabs/DraggableTabbedPane;)Jaccess$1024(Lchatty/gui/components/tabs/DraggableTabbedPane;J)Jx1access$202R(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Point;)Ljava/awt/Point;access$300access$400C(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Point;)Iaccess$5024(Lchatty/gui/components/tabs/DraggableTabbedPane;I)Iaccess$602access$702R(Lchatty/gui/components/tabs/DraggableTabbedPane;Ljava/awt/Image;)Ljava/awt/Image;access$700B(Lchatty/gui/components/tabs/DraggableTabbedPane;)Ljava/awt/Image;access$3024(Lchatty/gui/components/tabs/DraggableTabbedPane;Z)Zaccess$002access$800access$900access$5003(Lchatty/gui/components/tabs/DraggableTabbedPane;)Iaccess$10005(Lchatty/gui/components/tabs/DraggableTabbedPane;II)Vx2SourceFileDraggableTabbedPane.java\]omZ[?@A9>9lm<=BCEFD=GH0chatty/gui/components/tabs/DraggableTabbedPane$1G���0chatty/gui/components/tabs/DraggableTabbedPane$2��0chatty/gui/components/tabs/DraggableTabbedPane$3��NO��9�9������������9���9��YXY������������������������.chatty/gui/components/tabs/DraggableTabbedPanejavax/swing/JTabbedPanejava/awt/Rectanglejava/awt/Componentjava/lang/Stringjavax/swing/Icon3(Lchatty/gui/components/tabs/DraggableTabbedPane;)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VaddChangeListener%(Ljavax/swing/event/ChangeListener;)Vjava/awt/Pointxyjava/awt/Graphics	drawImage3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)ZgetTabCount()IgetUI!()Ljavax/swing/plaf/TabbedPaneUI;javax/swing/plaf/TabbedPaneUIgetTabBounds0(Ljavax/swing/JTabbedPane;I)Ljava/awt/Rectangle;heightfillRect(IIII)Vwidthjava/lang/SystemcurrentTimeMillisgetComponentAt(I)Ljava/awt/Component;getTitleAt(I)Ljava/lang/String;getToolTipTextAt	getIconAt(I)Ljavax/swing/Icon;getTabComponentAtremoveTabAt(I)V	insertTabN(Ljava/lang/String;Ljavax/swing/Icon;Ljava/awt/Component;Ljava/lang/String;I)VsetTabComponentAt(ILjava/awt/Component;)VsetSelectedComponent(Ljava/awt/Component;)VindexAtLocation(II)IgetBoundsAt(I)Ljava/awt/Rectangle;contains(Ljava/awt/Point;)Z!4589:;<=>9?@A9BCD=EFGHIc)*�*�
Y*��*�Y*��*�Y*���J79d�(�K)LMNOIQ�*+�*���*�	��*���*���+*�*�	�*�	�*�ld*�W**�	�=�j*��b*�`�X>*��*�d=>*�*�:�+���� �+��!`d��� �J:��!�@�I�_�a�i�p�r�}�������K4aSP=}7QRIkS9�LM�TUV�r�%W�XYIQ*�	��"��$*�e�J�	�
�KLMV
Z[IF*�%&����J�KLMV@\]IN��*�(N*�):*�*:*�+:*�,:*�-���*-�.*�/*-�0�J:������!�(�-�2�5�A�H�M�KRNLMN^9N_9B`a;bc4dc!-ef(&gaV�.hijjkilmIA
*+�+��1�J�K
LM
nComI�M*+�=�!*�2N+�-�-�!l`��`�**�d�2N-Y�!`�!-+�3�*���J.����"�$�(3>FKK4QR3QRMLMMnCGp9V
�$W�"qrI/*��JKsMtuI/*��JKsMvwI;*]��JKsMxFyzI;*+Z�	�JKsMxC{rI/*��JKsM|}I:*+��JKsMxC~I;*Z��JKsMx9�I;*Z��JKsMx9��I;*+Z��JKsMx@��I/*��JKsM��I;*Z��JKsMx=��I;*Z��JKsMx=�rI/*��JKsM�}I:*+��JKsMxC��I/*��JKsM��IE*��JK sMx9�9��7
PKʣGܤ�ptt'chatty/gui/components/tabs/Tabs$1.class���3N	('&)&*+,+-./&0+1&2+3&4&5678this$0!Lchatty/gui/components/tabs/Tabs;<init>$(Lchatty/gui/components/tabs/Tabs;)VCodeLineNumberTableLocalVariableTablethisInnerClasses#Lchatty/gui/components/tabs/Tabs$1;mouseWheelMoved#(Ljava/awt/event/MouseWheelEvent;)VindexIe Ljava/awt/event/MouseWheelEvent;
StackMapTableSourceFile	Tabs.javaEnclosingMethod9:;<=>?@ABACDEF<GHIJKAL:M:!chatty/gui/components/tabs/Tabs$1java/lang/Object!java/awt/event/MouseWheelListenerchatty/gui/components/tabs/Tabs()Vaccess$000$(Lchatty/gui/components/tabs/Tabs;)Zaccess$100<(Lchatty/gui/components/tabs/Tabs;)Ljavax/swing/JTabbedPane;java/awt/event/MouseWheelEventgetX()IgetYjavax/swing/JTabbedPaneindexAtLocation(II)Iaccess$200getPoint()Ljava/awt/Point;access$3004(Lchatty/gui/components/tabs/Tabs;Ljava/awt/Point;)ZgetWheelRotationsetSelectedPrevioussetSelectedNext 4*+�*��7�Z*���R*��+�+��=*����*�+�	��"+��
*���+��*��
�";=>:@AAKBRCYG <ZZ !"�:�
#$%&'PKʣG@}w��'chatty/gui/components/tabs/Tabs$2.class���38	! "#$#%&'&()*this$0!Lchatty/gui/components/tabs/Tabs;<init>$(Lchatty/gui/components/tabs/Tabs;)VCodeLineNumberTableLocalVariableTablethisInnerClasses#Lchatty/gui/components/tabs/Tabs$2;mousePressed(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;indexI
StackMapTableSourceFile	Tabs.javaEnclosingMethod+,-./012134567!chatty/gui/components/tabs/Tabs$2java/awt/event/MouseAdapterchatty/gui/components/tabs/Tabs()Vaccess$100<(Lchatty/gui/components/tabs/Tabs;)Ljavax/swing/JTabbedPane;java/awt/event/MouseEventgetX()IgetYjavax/swing/JTabbedPaneindexAtLocation(II)IsetSelectedIndex(I)V 	
4*+�*��Jz$*��+�+��=�*����QRS#U $$�# PKʣG��Ozz.chatty/gui/components/tabs/Tabs$TabOrder.class���35	&'(*+,
-	.	/0	INSERTIONTabOrderInnerClasses*Lchatty/gui/components/tabs/Tabs$TabOrder;ALPHABETIC$VALUES+[Lchatty/gui/components/tabs/Tabs$TabOrder;values-()[Lchatty/gui/components/tabs/Tabs$TabOrder;CodeLineNumberTablevalueOf>(Ljava/lang/String;)Lchatty/gui/components/tabs/Tabs$TabOrder;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit><Ljava/lang/Enum<Lchatty/gui/components/tabs/Tabs$TabOrder;>;SourceFile	Tabs.java123(chatty/gui/components/tabs/Tabs$TabOrder4
java/lang/Enumclone()Ljava/lang/Object;chatty/gui/components/tabs/Tabs5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@
@	"����	5*���1*+�� !"!N.�Y��	�Y���Y�	SY�S��
) #$%)@PKʣGxΎ��%chatty/gui/components/tabs/Tabs.class���3�6�	6�	6�	6�7���	8�	6�� �6���������������	��������	6��6�6�6�6�6�7�������6���	8��������������������1�6��������TabOrderInnerClassestabsLjavax/swing/JTabbedPane;	firstCompLjava/awt/Component;mouseWheelScrollingZmouseWheelScrollingAnywhereorder*Lchatty/gui/components/tabs/Tabs$TabOrder;<init>()VCodeLineNumberTableLocalVariableTablethis!Lchatty/gui/components/tabs/Tabs;
isNearLastTab(Ljava/awt/Point;)ZpLjava/awt/Point;boundsLjava/awt/Rectangle;setMouseWheelScrollingEnabled(Z)Venabled%setMouseWheelScrollingAnywhereEnabledsetPopupMenu(Ljavax/swing/JPopupMenu;)VmenuLjavax/swing/JPopupMenu;addTab(Ljava/awt/Component;)Vcomp
StackMapTable	removeTabgetTabCount()I	appendTabtitleLjava/lang/String;insertAtIfindInsertPosition(Ljava/lang/String;)IinewTabNameaddChangeListener%(Ljavax/swing/event/ChangeListener;)Vlistener"Ljavax/swing/event/ChangeListener;getSelectedComponent()Ljava/awt/Component;getSelectedIndexsetSelectedComponentcsetSelectedNextindexcountsetSelectedPrevioussetForegroundAt(ILjava/awt/Color;)VforegroundLjava/awt/Color;setForegroundForComponent'(Ljava/awt/Component;Ljava/awt/Color;)VsetTitleForComponent)(Ljava/awt/Component;Ljava/lang/String;)VsetOrder-(Lchatty/gui/components/tabs/Tabs$TabOrder;)V
getComponents-(Ljava/awt/Component;I)Ljava/util/Collection;	directionresultLjava/util/List;LocalVariableTypeTable&Ljava/util/List<Ljava/awt/Component;>;�	SignatureC(Ljava/awt/Component;I)Ljava/util/Collection<Ljava/awt/Component;>;getAllComponents()Ljava/util/Collection;.()Ljava/util/Collection<Ljava/awt/Component;>;access$000$(Lchatty/gui/components/tabs/Tabs;)Zx0access$100<(Lchatty/gui/components/tabs/Tabs;)Ljavax/swing/JTabbedPane;access$200access$3004(Lchatty/gui/components/tabs/Tabs;Ljava/awt/Point;)Zx1SourceFile	Tabs.javaLMBA<=@AEF.chatty/gui/components/tabs/DraggableTabbedPane�DCDjava/awt/BorderLayout����S!chatty/gui/components/tabs/Tabs$1E���!chatty/gui/components/tabs/Tabs$2��_`����e�M�W>?Center���F�F�[a[no���fg���D����gjkp`��q[��wx��java/util/ArrayList�����chatty/gui/components/tabs/Tabsjavax/swing/JPanel(chatty/gui/components/tabs/Tabs$TabOrderjava/util/List	INSERTION	setLayout(Ljava/awt/LayoutManager;)Vjavax/swing/JTabbedPane	setOpaque$(Lchatty/gui/components/tabs/Tabs;)VaddMouseWheelListener&(Ljava/awt/event/MouseWheelListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VgetBoundsAt(I)Ljava/awt/Rectangle;java/awt/RectanglewidthcontainssetComponentPopupMenuadd)(Ljava/awt/Component;Ljava/lang/Object;)Vvalidaterepaintremovejava/awt/ComponentgetName()Ljava/lang/String;	insertTabN(Ljava/lang/String;Ljavax/swing/Icon;Ljava/awt/Component;Ljava/lang/String;I)VALPHABETICgetTitleAt(I)Ljava/lang/String;java/lang/StringcompareToIgnoreCaseindexOfComponent(Ljava/awt/Component;)IsetSelectedIndex(I)VsetTitleAt(ILjava/lang/String;)VgetComponentAt(I)Ljava/awt/Component;(Ljava/lang/Object;)Z!67<=>?@ABACDEFG�R*�*�Y��*�*�*��	*�Y��*��
*��Y*��*��Y*���H*4,/02 5+637BJQYIRJKLMGh"*�*��d�M,Y�`�,+��H\]^I "JK"NOPQRSG>*��HbcIJKTAUSG>*��HfgIJKTAVWGA	*�+��HjkI	JK	XYZ[G�U*���H*��*+�*+�*�*��/**��**��**�� *+� *��*+� �H6
uxyz}!~(�0�:�B�G�O�T�IUJKU\?](&^[G�z*���)*��*�+��**��!*�*�*��*�+�"*���9*�*��#�**��#�*�*��"**��**��!�HB����"�'�+�/�0�8�C�Q�\�g�q�y�IzJKz\?]+_`Ga*���*���*����H�����IJK]a[Gl+�$M*,�%>*�,+,�&�H����I*JK\?bc
defgG�6*�	�'�'=*���+*��(�)������*���H���&�(�.�I "he6JK6ic]��jkGA	*�+�*�H��I	JK	lmnoGO*��*��*��#�H���IJK]p`G2*��+�H�IJKq[GZ*�+�,�*�+�-�H���IJKr?]sFG�1*��+<*��=`�*�`�.��*��.�H$	(0I 1JK)te!ue]�$vFG�2*��+<*��=� d�*�d�.�
*�d�.�H'1I 2JK*te"ue]�'	wxGL*�,�/�H	I JKteyz{|Gx*�+�,>�*�,�/�H	 !#I*JK\?yz	te]�}~Gx*�+�,>�*�,�0�H&	'(*I*JK\?bc	te]��G>*+�	�H-.IJKCD��G4r�1Y�2N*�+�,6�[��(`6*�3�-*��4�5W������$d6�-*��4�5W�����-�H2<=>?!@0A@@FDOEZFjEpJIH'heUherJKrr?r�ej��`te�j��]�!���������G�>�1Y�2L*��+*��5W�"=*�3�+*��4�5W����+�HNOPR'S6R<VI he>JK6���6��]��������G/*��HI�K��G/*��HI�K��G/*��HI�K��G:*+��HI�K�O��:869@PKʣGO���ii6chatty/gui/components/textpane/ChannelTextPane$1.class���3%	 this$00Lchatty/gui/components/textpane/ChannelTextPane;<init>3(Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethisInnerClasses2Lchatty/gui/components/textpane/ChannelTextPane$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannelTextPane.javaEnclosingMethod!	"	#$#0chatty/gui/components/textpane/ChannelTextPane$1java/lang/Objectjava/awt/event/ActionListener.chatty/gui/components/textpane/ChannelTextPane1(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;ZZ)V()VremoveOldLines 	4*+�*���
@*�����
PKʣG��a�6chatty/gui/components/textpane/ChannelTextPane$2.class���3*	 !this$00Lchatty/gui/components/textpane/ChannelTextPane;<init>3(Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethisInnerClasses2Lchatty/gui/components/textpane/ChannelTextPane$2;run()VSourceFileChannelTextPane.javaEnclosingMethod"#	$&'()0chatty/gui/components/textpane/ChannelTextPane$2java/lang/Objectjava/lang/Runnable.chatty/gui/components/textpane/ChannelTextPanescrollDownIfNecessaryaccess$800
ScrollManagerp(Lchatty/gui/components/textpane/ChannelTextPane;)Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;<chatty/gui/components/textpane/ChannelTextPane$ScrollManageraccess$900A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)V 	4*+�*��
�9*����
��%PKʣG�*S==>chatty/gui/components/textpane/ChannelTextPane$Attribute.class���3M	89:%<=>?	@	A	B	C 	D!	E"	F#	GHBAN_MESSAGE	AttributeInnerClasses:Lchatty/gui/components/textpane/ChannelTextPane$Attribute;BAN_MESSAGE_COUNT	TIMESTAMPUSERUSER_MESSAGEURL_DELETEDDELETED_LINEEMOTICON$VALUES;[Lchatty/gui/components/textpane/ChannelTextPane$Attribute;values=()[Lchatty/gui/components/textpane/ChannelTextPane$Attribute;CodeLineNumberTablevalueOfN(Ljava/lang/String;)Lchatty/gui/components/textpane/ChannelTextPane$Attribute;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>LLjava/lang/Enum<Lchatty/gui/components/textpane/ChannelTextPane$Attribute;>;SourceFileChannelTextPane.java$%%IJK8chatty/gui/components/textpane/ChannelTextPane$Attribute*L/0/0 !"#java/lang/Enumclone()Ljava/lang/Object;.chatty/gui/components/textpane/ChannelTextPane5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1	@@@@@ @!@"@#$%	&'("����)l	*+(5*���)l,-./0(1*+��)l,12343(���Y��	�Y���Y��
�Y���Y���Y���Y���Y���Y�	SY�SY�
SY�SY�SY�SY�SY�S��)mAnjl2567;@PKʣG^����Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$1.class���3?		$		% &'()*+,-./val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$11
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$1;focusGained(Ljava/awt/event/FocusEvent;)VeLjava/awt/event/FocusEvent;
StackMapTable	focusLostSourceFileChannelTextPane.javaEnclosingMethod2
3456789$chatty/gui/components/ChannelEditBox:;<=>chatty/gui/components/textpane/ChannelTextPane$LineSelection$1java/awt/event/FocusAdapter><chatty/gui/components/textpane/ChannelTextPane$LineSelectionL(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)V()Vjava/awt/event/FocusEventgetOppositeComponent()Ljava/awt/Component;java/lang/ObjectgetClass()Ljava/lang/Class;access$402h(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Ljava/awt/Component;)Ljava/awt/Component;access$300A(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)V.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*���f!+��+���*�+��W��� �!! a+��+���*������ !"#0	PKʣG1+�7��Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$2.class���3+		  !"#val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$1%
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannelTextPane.javaEnclosingMethod&	
'()>chatty/gui/components/textpane/ChannelTextPane$LineSelection$2javax/swing/AbstractAction*<chatty/gui/components/textpane/ChannelTextPane$LineSelectionL(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)V()Vaccess$100B(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;I)V.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*���A	*�����		$PKʣGy�A���Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$3.class���3+		  !"#val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$1%
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannelTextPane.javaEnclosingMethod&	
'()>chatty/gui/components/textpane/ChannelTextPane$LineSelection$3javax/swing/AbstractAction*<chatty/gui/components/textpane/ChannelTextPane$LineSelectionL(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)V()Vaccess$100B(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;I)V.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*���M*��*������$PKʣGW�����Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$4.class���3+		  !"#val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$1%
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannelTextPane.javaEnclosingMethod&	
'()>chatty/gui/components/textpane/ChannelTextPane$LineSelection$4javax/swing/AbstractAction*<chatty/gui/components/textpane/ChannelTextPane$LineSelectionL(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)V()Vaccess$100B(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;I)V.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*���M*��*������$PKʣG��A��Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$5.class���3+		  !"#val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$1%
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$5;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannelTextPane.javaEnclosingMethod&	
'()>chatty/gui/components/textpane/ChannelTextPane$LineSelection$5javax/swing/AbstractAction*<chatty/gui/components/textpane/ChannelTextPane$LineSelectionL(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)V()Vaccess$100B(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;I)V.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*���A	*�����		$PKʣGV�`���Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$6.class���3A	&	'	()*	+,-./012val$this$00Lchatty/gui/components/textpane/ChannelTextPane;val$userListenerLchatty/gui/UserListener;this$13
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>�(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$6;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileChannelTextPane.javaEnclosingMethod4
5678
9:;<=>?@>chatty/gui/components/textpane/ChannelTextPane$LineSelection$6javax/swing/AbstractAction<chatty/gui/components/textpane/ChannelTextPane$LineSelectionL(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)V()Vaccess$500Z(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)Ljavax/swing/text/Element;this$0.chatty/gui/components/textpane/ChannelTextPaneaccess$600E(Lchatty/gui/components/textpane/ChannelTextPane;Ljava/lang/Object;)Zaccess$700M(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)Lchatty/User;chatty/gui/UserListeneruserClicked+(Lchatty/User;Ljava/awt/event/MouseEvent;)V 
>*+�*,�*-�*���u0*���(*��*����*�*���	���/�00 !/"#$%,PKʣG�<�r��Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$7.class���3+		  !"#val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$1%
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$7;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileChannelTextPane.javaEnclosingMethod&	
'()>chatty/gui/components/textpane/ChannelTextPane$LineSelection$7javax/swing/AbstractAction*<chatty/gui/components/textpane/ChannelTextPane$LineSelectionL(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)V()Vaccess$300A(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)V.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*���@*�����$PKʣG	�\Dchatty/gui/components/textpane/ChannelTextPane$LineSelection$8.class���3,		 !"this$1$
LineSelectionInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;<init>A(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$LineSelection$8;run()VSourceFileChannelTextPane.javaEnclosingMethod%
&'()*>chatty/gui/components/textpane/ChannelTextPane$LineSelection$8java/lang/Objectjava/lang/Runnable+<chatty/gui/components/textpane/ChannelTextPane$LineSelectiondisableaccess$400T(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)Ljava/awt/Component;java/awt/ComponentrequestFocusInWindow()Z.chatty/gui/components/textpane/ChannelTextPane 
4*+�*��:*���W�		#PKʣG�;S1�%�%Bchatty/gui/components/textpane/ChannelTextPane$LineSelection.class���3aO�	O�	O�	O�O�O�O�O�	O�P������������������������������!����%����)����������/���������������O�����O����������@�����	�������	�

LineSelectionInnerClassescurrentSelectionLjavax/swing/text/Element;currentUser
Lchatty/User;shouldReturnFocusToLjava/awt/Component;this$00Lchatty/gui/components/textpane/ChannelTextPane;<init>L(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)VCodeLineNumberTableLocalVariableTablethis>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;userListenerLchatty/gui/UserListener;toggleLineSelection()V
StackMapTabledisablemove(I)VjumpI(IZ)VelementuserselectedZiexitAtBottomcountstartSearchstart	directionselect(Ljavax/swing/text/Element;)Z	otherLinelineNumberLjava/lang/Integer;i$Ljava/util/Iterator;linesLjava/util/ArrayList;lineLocalVariableTypeTable*Ljava/util/ArrayList<Ljava/lang/Integer;>;
highlightLine(Ljavax/swing/text/Element;Z)VprimarystartOffset	endOffsetlengthstyle&Ljavax/swing/text/MutableAttributeSet;onLineAdded(Ljavax/swing/text/Element;)VuserClicked+(Lchatty/User;Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;getSelectedUser()Lchatty/User;emoteClicked8(Lchatty/util/api/Emoticon;Ljava/awt/event/MouseEvent;)VemoteLchatty/util/api/Emoticon;~(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;Lchatty/gui/components/textpane/ChannelTextPane$1;)Vx0x1x22Lchatty/gui/components/textpane/ChannelTextPane$1;access$100B(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;I)Vaccess$200C(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;IZ)Vaccess$300A(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)Vaccess$402h(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Ljava/awt/Component;)Ljava/awt/Component;access$500Z(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)Ljavax/swing/text/Element;access$700M(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)Lchatty/User;access$400T(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)Ljava/awt/Component;access$2000[(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Ljavax/swing/text/Element;)VSourceFileChannelTextPane.java��WXUVYZigjnjk]^[\]g>chatty/gui/components/textpane/ChannelTextPane$LineSelection$1]WLineSelection.moveUp !">chatty/gui/components/textpane/ChannelTextPane$LineSelection$2#$ALineSelection.moveUpMore>chatty/gui/components/textpane/ChannelTextPane$LineSelection$3DLineSelection.moveDownMore>chatty/gui/components/textpane/ChannelTextPane$LineSelection$4SLineSelection.moveDown>chatty/gui/components/textpane/ChannelTextPane$LineSelection$5ELineSelection.action>chatty/gui/components/textpane/ChannelTextPane$LineSelection$6]%QLineSelection.exit>chatty/gui/components/textpane/ChannelTextPane$LineSelection$7&'(g)+,-.>chatty/gui/components/textpane/ChannelTextPane$LineSelection$8]�/0123456789:;<=>{|?@AB��CDEFG'HIjava/lang/IntegerJ8K8L8MOPQRSRTUVWXYZ['\']'^;_`6<chatty/gui/components/textpane/ChannelTextPane$LineSelectionjava/lang/Objectchatty/gui/UserListenerjavax/swing/text/Elementchatty/Userjava/util/ArrayListjava/util/Iterator$javax/swing/text/MutableAttributeSet0chatty/gui/components/textpane/ChannelTextPane$1q(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;)V.chatty/gui/components/textpane/ChannelTextPaneaddFocusListener!(Ljava/awt/event/FocusListener;)VgetInputMap(I)Ljavax/swing/InputMap;javax/swing/KeyStrokegetKeyStroke+(Ljava/lang/String;)Ljavax/swing/KeyStroke;javax/swing/InputMapput,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;javax/swing/ActionMap)(Ljava/lang/Object;Ljavax/swing/Action;)V�(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;)VrequestFocusInWindow()ZresetSearchaccess$800
ScrollManagerp(Lchatty/gui/components/textpane/ChannelTextPane;)Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;<chatty/gui/components/textpane/ChannelTextPane$ScrollManageraccess$900A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)Vaccess$1000S(Lchatty/gui/components/textpane/ChannelTextPane;)Ljavax/swing/text/StyledDocument;javax/swing/text/StyledDocumentgetDefaultRootElement()Ljavax/swing/text/Element;getElementCount()Iaccess$600E(Lchatty/gui/components/textpane/ChannelTextPane;Ljava/lang/Object;)ZgetElement(I)Ljavax/swing/text/Element;access$1100Y(Lchatty/gui/components/textpane/ChannelTextPane;Ljavax/swing/text/Element;)Lchatty/User;access$1200M(Lchatty/gui/components/textpane/ChannelTextPane;Ljavax/swing/text/Element;)Zaccess$13003(Lchatty/gui/components/textpane/ChannelTextPane;)Vaccess$1400T(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/User;)Ljava/util/ArrayList;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;intValuegetStartOffsetgetEndOffsetstylesStyles7Lchatty/gui/components/textpane/ChannelTextPane$Styles;5chatty/gui/components/textpane/ChannelTextPane$Styles
searchResult2)(Z)Ljavax/swing/text/MutableAttributeSet;searchResultsetCharacterAttributes%(IILjavax/swing/text/AttributeSet;Z)Vaccess$1500B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;I)Vaccess$1600Z(Lchatty/gui/components/textpane/ChannelTextPane;Ljavax/swing/text/Element;Lchatty/User;)Zjava/awt/event/MouseEvent	isAltDown
isControlDownisAltGraphDown-chatty/gui/components/textpane/LinkController7(Ljava/awt/event/MouseEvent;)Ljavax/swing/text/Element;getParentElement OPQUVWXYZ[\]^_J�*+�	*�+�Y*+��
+���+��Y*+��+���+��Y*+��+���+��Y*+��+�� �+� �!Y*+�"�+�#�$�+�$�%Y*+,�&�+�'�(�+�(�)Y*+�*��`>�	��%�7�F�X�g�y�������������a�bc�defg_`*��*��*�	�+W*��`��abchig_�5*�	�,*��
*�	�-�.*�*�*���/Y*�0�1�`"")4a5bchjk_?*��`abclmjn_�*�	�2�3�4>*��*�	*��5�*�*���6*����66�d666�w`�o��*��*�	�2�3�6:*�	�7:	*��	6�'	*�����*�86��
`6����`z'('),,:/E0F3I4L5P6U7X:i;o>s?wAxC�D�E�H�J�L�M�O�P�S�T�U�:�Xap�>oV�3pX	�qr\ysm�bc�lm�tr�um:�vrI�wmL�xmh)
�,@�
���.yz��	{|_F*�	+�9�u*�	+�7M*�	�:*+�;*+�*,�*�	,�<N-�=:�>�:�?�@:*�	�2�3�A�6:*��*�;�����`:defg!h&j+k4lPmhnqoxq{r}taHh}VP(~:A��ipX4I��bc�V�4I��h�:z��=����_�X+�B>+�Cd6d6�*�	�D�E�*�	�D�F:*�	�2�G�*�	�-�H�`"����6�H�L�W�aHXbcXoVX�rQ�mG�mA�m6"��h�)J��"���_b*��*�	+*��I�	*+�;�`���abcoVh��_�?,�=,�J�,�K�,�L�(,�MN:-�N�-:-�NN���*�8W�`"���!�*�-�7�>�a4 oV!�V?bc?pX?��h�yy���_P*�	*��5�*���`���abch��_?�`�a bc����]�_O*+,��`�a*bc�\�e����_:*��`�a�c�m��_E*��`�a �c�m�r��_/*��`�a�c��_;*+Z��`�a�c�Z��_/*��`�a�c��_/*��`�a�c��_/*��`�a�c��_:*+��`�a�c�V��SbO�R/)%!���*��NPKʣG���88@chatty/gui/components/textpane/ChannelTextPane$MessageType.class���39	)*+-./0	1	2	34REGULARMessageTypeInnerClasses<Lchatty/gui/components/textpane/ChannelTextPane$MessageType;HIGHLIGHTEDIGNORED_COMPACT$VALUES=[Lchatty/gui/components/textpane/ChannelTextPane$MessageType;values?()[Lchatty/gui/components/textpane/ChannelTextPane$MessageType;CodeLineNumberTablevalueOfP(Ljava/lang/String;)Lchatty/gui/components/textpane/ChannelTextPane$MessageType;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>NLjava/lang/Enum<Lchatty/gui/components/textpane/ChannelTextPane$MessageType;>;SourceFileChannelTextPane.java567:chatty/gui/components/textpane/ChannelTextPane$MessageType8 ! !java/lang/Enumclone()Ljava/lang/Object;.chatty/gui/components/textpane/ChannelTextPane5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@	"����q	5*���q !1*+��q"#$%$]A�Y��	�Y���Y��
�Y�	SY�SY�
S��r'q#&'(,@PKʣG�is�XXDchatty/gui/components/textpane/ChannelTextPane$ScrollManager$1.class���3:		$		% &'()�*+,-val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$1/
ScrollManagerInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileChannelTextPane.javaEnclosingMethod0
12345678>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$1java/lang/Objectjava/awt/event/ActionListener9<chatty/gui/components/textpane/ChannelTextPane$ScrollManager3(Lchatty/gui/components/textpane/ChannelTextPane;)V()Vjava/lang/SystemcurrentTimeMillis()Jaccess$2200A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)JsetFixedChat(Z)V.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*��`�*��e��*���"#% !"#.	PKʣG��g�eeDchatty/gui/components/textpane/ChannelTextPane$ScrollManager$2.class���3:	#	$	%&'&()*+,-val$this$00Lchatty/gui/components/textpane/ChannelTextPane;this$1/
ScrollManagerInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;<init>q(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager$2;dispatchKeyEvent(Ljava/awt/event/KeyEvent;)ZeLjava/awt/event/KeyEvent;
StackMapTableSourceFileChannelTextPane.javaEnclosingMethod0
1234546787>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$2java/lang/Objectjava/awt/KeyEventDispatcher9<chatty/gui/components/textpane/ChannelTextPane$ScrollManager3(Lchatty/gui/components/textpane/ChannelTextPane;)V()Vjava/awt/event/KeyEventgetKeyCode()IgetIDaccess$2300A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Zaccess$2400.chatty/gui/components/textpane/ChannelTextPane 	
9*+�*,�*��*s%+��+���*���*����.	/02#5%% !".PKʣG�}����Dchatty/gui/components/textpane/ChannelTextPane$ScrollManager$3.class���3G	&'()*+,*-./0123this$15
ScrollManagerInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;<init>A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager$3;componentResized"(Ljava/awt/event/ComponentEvent;)VeLjava/awt/event/ComponentEvent;cLjava/awt/Component;
StackMapTable6SourceFileChannelTextPane.javaEnclosingMethod78
89:;6<=>?@=A?BCDED>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$3java/awt/event/ComponentAdapterF<chatty/gui/components/textpane/ChannelTextPane$ScrollManagerjava/awt/ComponentaddListeners()Vjava/awt/event/ComponentEventgetComponent()Ljava/awt/Component;getWidth()Iaccess$2500A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)I	getHeightaccess$2600access$900access$2502B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;I)Iaccess$2602.chatty/gui/components/textpane/ChannelTextPane 
4*+�*��N�A+�M,�*���,�*���*��*�,��	W*�,��W�RS!T(V4W@X AA< 	�!!"#$%4PKʣG��VVDchatty/gui/components/textpane/ChannelTextPane$ScrollManager$4.class���3I	$%&'&()*+,-./012this$14
ScrollManagerInnerClasses>Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;<init>A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)VCodeLineNumberTableLocalVariableTablethis@Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager$4;adjustmentValueChanged#(Ljava/awt/event/AdjustmentEvent;)Ve Ljava/awt/event/AdjustmentEvent;
StackMapTableSourceFileChannelTextPane.javaEnclosingMethod566789:;<=>?@ABCDEFG>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$4java/lang/Object!java/awt/event/AdjustmentListenerH<chatty/gui/components/textpane/ChannelTextPane$ScrollManageraddListeners()Vjava/awt/event/AdjustmentEventgetValueIsAdjusting()ZgetValue()Iaccess$2700A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Ijava/lang/SystemcurrentTimeMillis()Jaccess$2802B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;J)Jaccess$2702B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;I)Iaccess$1702B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;Z)Zaccess$2900.chatty/gui/components/textpane/ChannelTextPane 
4*+�*��^�=+��8+�*���**���X*�+��W*��	W*���bd e,k5l<n==< !"#3PKʣG*n>b'b'Bchatty/gui/components/textpane/ChannelTextPane$ScrollManager.class���3�d�	d�	d�	d�	d�d�d�	d�d�	d�d�	d�d�d�	d�e�����	d�����	d������	d�d�� ������$�����������		 1�11
1	��ddd	 !	"#$H%	&'()(*(+H,	&-H./01H2H3	d4	d5d6�7H8	9�	:;�<=>?@	:A?BCDCEFGH
ScrollManagerInnerClasses	fixedChatZpauseKeyPressedkeyListenerLjava/awt/KeyEventDispatcher;popupLjavax/swing/Popup;fixedChatInfoLabelLjavax/swing/JLabel;mouseLastMovedJscrollpaneLjavax/swing/JScrollPane;lastChangedlastScrollPositionIwidthheightupdateTimerLjavax/swing/Timer;this$00Lchatty/gui/components/textpane/ChannelTextPane;<init>3(Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis>Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;cleanUp()VkfmLjava/awt/KeyboardFocusManager;
setScrollPane(Ljavax/swing/JScrollPane;)VpaneaddListenersisScrollpositionAtTheEnd()ZvbarLjavax/swing/JScrollBar;
StackMapTableIscrolledUpTimeouttimePassedscrollDownendPositionbottomLjava/awt/Rectangle;ex'Ljavax/swing/text/BadLocationException;scrollToOffset(I)VrectoffsetsetFixedChat(Z)VfixedmouseDragged(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;mouseMovedisPauseEnabledmouseExitedhandleKeyPressedhandleKeyReleasedcreateFixedChatInfoLabellabelborderLjavax/swing/border/Border;showFixedChatInfopLjava/awt/Point;labelWidthhideFixedChatInfoaccess$900A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Vx0access$1500B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;I)Vx1access$1700A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Zaccess$1800access$1900access$2100access$2200A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Jaccess$2300access$2400access$2500A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Iaccess$2600access$2502B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;I)Iaccess$2602access$2700access$2802B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;J)Jaccess$2702access$1702B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;Z)Zaccess$2900SourceFileChannelTextPane.java��wtxy{yzy����st��lk��jk����~��javax/swing/Timer>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$1�J�K|}L�M�>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$2mnNOPQRS�uv��>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$3��TUVWX>chatty/gui/components/textpane/ChannelTextPane$ScrollManager$4IYZ[R\]^]_]`acde�fghijkl]mnjava/lang/StringBuilderScrolledUp Timeout (opoq)rstuvwxyz]{|}~%javax/swing/text/BadLocationExceptionBad Location�v���������������javax/swing/JLabelchat paused�v����������������#EEEEEE�������qrop���������y����]����y�������<chatty/gui/components/textpane/ChannelTextPane$ScrollManagerjava/awt/event/MouseAdapter"java/awt/event/MouseMotionListenerjavax/swing/JScrollBarq(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;Lchatty/gui/components/textpane/ChannelTextPane;)V#(ILjava/awt/event/ActionListener;)VsetRepeatsstartjava/awt/KeyboardFocusManagergetCurrentKeyboardFocusManager!()Ljava/awt/KeyboardFocusManager;removeKeyEventDispatcher (Ljava/awt/KeyEventDispatcher;)Vstopjavax/swing/JScrollPaneaddComponentListener%(Ljava/awt/event/ComponentListener;)VgetVerticalScrollBar()Ljavax/swing/JScrollBar;addAdjustmentListener&(Ljava/awt/event/AdjustmentListener;)VaddKeyEventDispatchergetMaximum()IgetValuegetVisibleAmount.chatty/gui/components/textpane/ChannelTextPanestylesStyles7Lchatty/gui/components/textpane/ChannelTextPane$Styles;5chatty/gui/components/textpane/ChannelTextPane$StylesautoScrolljava/lang/SystemcurrentTimeMillis()JautoScrollTimeout()Ljava/lang/Integer;java/lang/IntegerintValueaccess$3000()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerinfo(Ljava/lang/String;)Vaccess$1000S(Lchatty/gui/components/textpane/ChannelTextPane;)Ljavax/swing/text/StyledDocument;javax/swing/text/StyledDocument	getLengthmodelToView(I)Ljava/awt/Rectangle;java/awt/RectanglescrollRectToVisible(Ljava/awt/Rectangle;)Vwarning	isVisible6chatty/gui/components/textpane/ChannelTextPane$SettingSettingPAUSE_ON_MOUSEMOVE8Lchatty/gui/components/textpane/ChannelTextPane$Setting;	isEnabled;(Lchatty/gui/components/textpane/ChannelTextPane$Setting;)Z PAUSE_ON_MOUSEMOVE_CTRL_REQUIREDjava/awt/ColorGRAYLjava/awt/Color;javax/swing/BorderFactorycreateLineBorder-(Ljava/awt/Color;)Ljavax/swing/border/Border;createEmptyBorder!(IIII)Ljavax/swing/border/Border;createCompoundBorder[(Ljavax/swing/border/Border;Ljavax/swing/border/Border;)Ljavax/swing/border/CompoundBorder;	setBorder(Ljavax/swing/border/Border;)VBLACK
setForeground(Ljava/awt/Color;)Vchatty/gui/HtmlColorsdecode$(Ljava/lang/String;)Ljava/awt/Color;
setBackground	setOpaquegetLocationOnScreen()Ljava/awt/Point;getPreferredSize()Ljava/awt/Dimension;java/awt/Dimensionjava/awt/PointxgetViewport()Ljavax/swing/JViewport;javax/swing/JViewportgetWidthjavax/swing/PopupFactorygetSharedInstance()Ljavax/swing/PopupFactory;ygetPopup?(Ljava/awt/Component;Ljava/awt/Component;II)Ljavax/swing/Popup;javax/swing/Popupshowhide def
jklkmnopqrstuvwtxyzy{y|}~$����Q*+�*�*�*�*	�*�*�Y�Y*+���*��*��*�Y*+����*	��4'<(C*P8�Q�����\�L+*��*�*����?@ABC��������F*+�*���FG	H����v���r.*�� Y*�!�"*��#�$Y*�%�&�L+*��'��N]!q%r-s�.��%	�����i!*��#L+�(d+�)+�*`����|}�!�������@����a*��*���*��+�,���-*�e@�*��+�.�/h���#�0�1Y�23�4�56�4�7�8���&	�����(�?�]�_��a��(9�t�	�?����B*���*��9�:<*��;M,�,,�<d`�<*�,�=�L�0?�@�58>�.�����"�-�5�8�9�A��* �y��9��B���	,B�����*��;M*�,�=�M�0?�@�>��	������*	�������y�T�����7*��#�A���*��*�*��*�B�*�*���*�
����"�&�-�1�6��7��7�k����5�����������d*�-�*�C�*��*�D���������������n/*��+�E�F��*��+�G�F�*���������/���@���R
*��*�D������
��
������Z*�*��*�-�����������5*����������;�HYI�JL�K�L�M�NM+,�O+�P�Q+R�S�T+�U*+�V��" '05:� ;��1�r ������]*�W�X*�V�*�X*�VL*��YM+�Z�[>,Y�\*��]�^dd`�\*�_*�+,�\,�`�a�W*�W�b��* !'">#U%\'�*E�r=��'5�y]����I���S*�W�*�W�c*�W��*+,.�������/*����������:*�
�������y���/*����������/*����������/*����������/*�	���������/*����������/*����������/*����������/*����������/*����������;*Z��������y���;*Z��������y���/*����������;*]��������t���;*Z��������y���;*Z��������k���/*���������h:dg$ b�@PKʣG��{��<chatty/gui/components/textpane/ChannelTextPane$Setting.class���3u	VWXCZ,[,\-]	^1	_2	`3	a4	b5	c6	d7	e8	f9	g:	h;	i<	j=	k>	l?	m@	nA	opTIMESTAMP_ENABLEDSettingInnerClasses8Lchatty/gui/components/textpane/ChannelTextPane$Setting;EMOTICONS_ENABLEDAUTO_SCROLLUSERICONS_ENABLEDSHOW_BANMESSAGESCOMBINE_BAN_MESSAGESDELETE_MESSAGESDELETED_MESSAGES_MODEACTION_COLOREDBUFFER_SIZEAUTO_SCROLL_TIMEEMOTICON_MAX_HEIGHTEMOTICON_SCALE_FACTORBOT_BADGE_ENABLEDFILTER_COMBINING_CHARACTERSPAUSE_ON_MOUSEMOVE PAUSE_ON_MOUSEMOVE_CTRL_REQUIREDEMOTICONS_SHOW_ANIMATED$VALUES9[Lchatty/gui/components/textpane/ChannelTextPane$Setting;values;()[Lchatty/gui/components/textpane/ChannelTextPane$Setting;CodeLineNumberTablevalueOfL(Ljava/lang/String;)Lchatty/gui/components/textpane/ChannelTextPane$Setting;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>JLjava/lang/Enum<Lchatty/gui/components/textpane/ChannelTextPane$Setting;>;SourceFileChannelTextPane.javaBCCqrs6chatty/gui/components/textpane/ChannelTextPane$SettingHtMNMN-0102030405060708090:0;0<0=0>0?0@0A0java/lang/Enumclone()Ljava/lang/Object;.chatty/gui/components/textpane/ChannelTextPane5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1,@-0@10@20@30@40@50@60@70@80@90@:0@;0@<0@=0@>0@?0@@0@A0BC	DEF"����Gz	HIF5*���GzJKLMNF1*+��GzJO0PQRQF�w�Y��	�Y���Y��
�Y���Y���Y���Y���Y���Y���Y	���Y���Y���Y ��!�Y"
��#�Y$��%�Y&��'�Y(��)�Y*��+�Y�	SY�SY�
SY�SY�SY�SY�SY�SY�SY	�SY�SY�SY�!SY
�#SY�%SY�'SY�)SY�+S��G{4|\}�~����zPSTU/Y.@PKʣGAv��Achatty/gui/components/textpane/ChannelTextPane$SpecialColor.class���35	&'(*+,
-	.	/0RAINBOWSpecialColorInnerClasses=Lchatty/gui/components/textpane/ChannelTextPane$SpecialColor;GOLD$VALUES>[Lchatty/gui/components/textpane/ChannelTextPane$SpecialColor;values@()[Lchatty/gui/components/textpane/ChannelTextPane$SpecialColor;CodeLineNumberTablevalueOfQ(Ljava/lang/String;)Lchatty/gui/components/textpane/ChannelTextPane$SpecialColor;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>OLjava/lang/Enum<Lchatty/gui/components/textpane/ChannelTextPane$SpecialColor;>;SourceFileChannelTextPane.java123;chatty/gui/components/textpane/ChannelTextPane$SpecialColor4
java/lang/Enumclone()Ljava/lang/Object;.chatty/gui/components/textpane/ChannelTextPane5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@0@
@	"����=	5*���=1*+��= !"!F.�Y��	�Y���Y�	SY�S��= #$%)@PKʣG� p��=chatty/gui/components/textpane/ChannelTextPane$Styles$1.class���31		 !"#$%this$1&StylesInnerClasses7Lchatty/gui/components/textpane/ChannelTextPane$Styles;<init>:(Lchatty/gui/components/textpane/ChannelTextPane$Styles;)VCodeLineNumberTableLocalVariableTablethis9Lchatty/gui/components/textpane/ChannelTextPane$Styles$1;run()VSourceFileChannelTextPane.javaEnclosingMethod'	
()*+-./07chatty/gui/components/textpane/ChannelTextPane$Styles$1java/lang/Objectjava/lang/Runnable5chatty/gui/components/textpane/ChannelTextPane$Stylesrefreshthis$00Lchatty/gui/components/textpane/ChannelTextPane;.chatty/gui/components/textpane/ChannelTextPaneaccess$800
ScrollManagerp(Lchatty/gui/components/textpane/ChannelTextPane;)Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;<chatty/gui/components/textpane/ChannelTextPane$ScrollManageraccess$900A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)V 	
4*+�*��	<*�����	!
	"!,PKʣG֤���?�?;chatty/gui/components/textpane/ChannelTextPane$Styles.class���3�	�g�hij&�	�klh	�m	�n	�o	�pqh	�rs	�t	�uvwxyz{|}|~��������$�������	��\�+�$h����	��$��������������<�������	����	��	��	��	��	��	��	��	��	��	��	��	����	����	��	��	��	����	�����+��\��^������b�+������gh�g�g��g�������������b����������z�������	��	��������	������	������������	��������������������������@Y	��������_	��	�		��	StylesInnerClassesbaseStyles[Ljava/lang/String;stylesLjava/util/HashMap;	SignatureMLjava/util/HashMap<Ljava/lang/String;Ljavax/swing/text/MutableAttributeSet;>;	rawStylesFLjava/util/HashMap<Ljava/lang/String;Ljavax/swing/text/AttributeSet;>;settingsSetting`Ljava/util/HashMap<Lchatty/gui/components/textpane/ChannelTextPane$Setting;Ljava/lang/Boolean;>;numericSettingsLjava/util/Map;\Ljava/util/Map<Lchatty/gui/components/textpane/ChannelTextPane$Setting;Ljava/lang/Integer;>;
changedStylesLjava/util/ArrayList;)Ljava/util/ArrayList<Ljava/lang/String;>;TYPELjava/lang/String;
ConstantValuetimestampFormatLjava/text/SimpleDateFormat;savedIconsRLjava/util/HashMap<Ljavax/swing/ImageIcon;Ljavax/swing/text/MutableAttributeSet;>;this$00Lchatty/gui/components/textpane/ChannelTextPane;<init>3(Lchatty/gui/components/textpane/ChannelTextPane;)VCodeLineNumberTableLocalVariableTablethis7Lchatty/gui/components/textpane/ChannelTextPane$Styles;addSpaceToIcon0(Ljavax/swing/ImageIcon;)Ljavax/swing/ImageIcon;iconLjavax/swing/ImageIcon;widthIheighthspaceresLjava/awt/image/BufferedImage;gLjava/awt/Graphics;	setStyles()Z	styleNamearr$len$i$somethingChangedZnick%Ljavax/swing/text/SimpleAttributeSet;	paragraph&Ljavax/swing/text/MutableAttributeSet;deleteddeletedLinesearchResult
searchResult2clearSearchResult
StackMapTable�setSettings()VaddSetting<(Lchatty/gui/components/textpane/ChannelTextPane$Setting;Z)Vkey8Lchatty/gui/components/textpane/ChannelTextPane$Setting;defaultValueloadFromobjLjava/lang/Object;result�addNumericSetting>(Lchatty/gui/components/textpane/ChannelTextPane$Setting;III)Vminmax	loadStyle(Ljava/lang/String;)ZnamenewStyleoldStyleLjavax/swing/text/AttributeSet;�refreshelementLjavax/swing/text/Element;typestartendlengthstylejlineiroot
ibase(()Ljavax/swing/text/MutableAttributeSet;infocompactstandard8(Ljava/awt/Color;)Ljavax/swing/text/MutableAttributeSet;specialColorcolorLjava/awt/Color;banMessage5(Lchatty/User;)Ljavax/swing/text/MutableAttributeSet;user
Lchatty/User;banMessageCount)(I)Ljavax/swing/text/MutableAttributeSet;count	highlight)(Z)Ljavax/swing/text/MutableAttributeSet;italic[(Lchatty/User;Ljavax/swing/text/MutableAttributeSet;)Ljavax/swing/text/MutableAttributeSet;	userColor	userStyle��subscriberIcongetAddonIconStyles (Lchatty/User;Z)Ljava/util/List;Ljava/util/Iterator;firsticonsLjava/util/List;iconStylesLocalVariableTypeTable)Ljava/util/List<Ljavax/swing/ImageIcon;>;8Ljava/util/List<Ljavax/swing/text/MutableAttributeSet;>;H(Lchatty/User;Z)Ljava/util/List<Ljavax/swing/text/MutableAttributeSet;>;getIconStyleTypeK(Lchatty/User;Lchatty/Usericon$Type;)Ljavax/swing/text/MutableAttributeSet;Lchatty/Usericon$Type;
makeIconStyle?(Ljavax/swing/ImageIcon;)Ljavax/swing/text/MutableAttributeSet;
showTimestamp
showUsericons
showEmoticonsemoticonMaxHeight()IemoticonScaleFactor()FbotBadgeEnabledfilterCombiningCharactersshowBanMessagescombineBanMessagesautoScrollautoScrollTimeout()Ljava/lang/Integer;
actionColoreddeleteMessagesdeletedMessagesMode	isEnabled;(Lchatty/gui/components/textpane/ChannelTextPane$Setting;)Zsettingurl:(Ljava/lang/String;)Ljavax/swing/text/MutableAttributeSet;urlStyleemoticonB(Lchatty/util/api/Emoticon;)Ljavax/swing/text/MutableAttributeSet;Lchatty/util/api/Emoticon;emoteStyleemoteImage
EmoticonImage(Lchatty/util/api/Emoticon$EmoticonImage;()Ljava/text/SimpleDateFormat;bufferSizeSourceFileChannelTextPane.java����java/lang/Stringspecial��java/util/HashMap��������java/util/ArrayList��ChannelTextPanel Style Type����GGjava/awt/image/BufferedImage��javax/swing/ImageIcon�� !#javax/swing/text/SimpleAttributeSet�"#$%&'()$javax/swing/text/MutableAttributeSet*,-./012%3%4-56789:;<=%java/awt/Color�>background;?��@���A�B�C�D�E�F�G�H�I�J�K�L���M�N�O�P�Q�Rc��SXT)java/lang/BooleanU�java/lang/NumberVG.WXjavax/swing/text/AttributeSetYZ[\��]^java/lang/StringBuilderUpdate styles (only types _`_a)bcdefghij
kGlmn\oGpGq!r!st7chatty/gui/components/textpane/ChannelTextPane$Styles$1�uvwxy<z-{-|}~.��-&��-�9���������?�-subscriber��������AB������java/lang/Integer���HIFG������-�������������e5chatty/gui/components/textpane/ChannelTextPane$Stylesjava/lang/Object6chatty/gui/components/textpane/ChannelTextPane$Settingjavax/swing/text/Elementjava/util/Listjava/util/Iterator�chatty/Usericon$Type&chatty/util/api/Emoticon$EmoticonImagegetIconWidth
getIconHeight(III)VgetGraphics()Ljava/awt/Graphics;getImage()Ljava/awt/Image;java/awt/Graphics	drawImage3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Zdispose(Ljava/awt/Image;)Vclearadd(Ljava/lang/Object;)Z"(Ljavax/swing/text/AttributeSet;)Vjavax/swing/text/StyleConstantssetBold*(Ljavax/swing/text/MutableAttributeSet;Z)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;8chatty/gui/components/textpane/ChannelTextPane$Attribute	AttributeDELETED_LINE:Lchatty/gui/components/textpane/ChannelTextPane$Attribute;valueOf(Z)Ljava/lang/Boolean;addAttribute'(Ljava/lang/Object;Ljava/lang/Object;)VsetStrikeThroughsetUnderlineURL_DELETED.chatty/gui/components/textpane/ChannelTextPaneaccess$3100()Lchatty/gui/StyleServer;chatty/gui/StyleServergetColor$(Ljava/lang/String;)Ljava/awt/Color;
setBackground9(Ljavax/swing/text/MutableAttributeSet;Ljava/awt/Color;)V	setItalic(IIII)V(Ljava/awt/Color;)VEMOTICONS_ENABLEDUSERICONS_ENABLEDTIMESTAMP_ENABLEDSHOW_BANMESSAGESAUTO_SCROLLDELETE_MESSAGESACTION_COLOREDCOMBINE_BAN_MESSAGESBOT_BADGE_ENABLEDPAUSE_ON_MOUSEMOVE PAUSE_ON_MOUSEMOVE_CTRL_REQUIREDEMOTICONS_SHOW_ANIMATEDFILTER_COMBINING_CHARACTERSDELETED_MESSAGES_MODEBUFFER_SIZEAUTO_SCROLL_TIMEEMOTICON_MAX_HEIGHTEMOTICON_SCALE_FACTORgetTimestampFormatgetStylegetAttributebooleanValueintValue(I)Ljava/lang/Integer;
java/util/MapisEqual"(Ljavax/swing/text/AttributeSet;)ZcopyAttributes!()Ljavax/swing/text/AttributeSet;access$3000()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Logger(Ljava/lang/String;)Vaccess$1000S(Lchatty/gui/components/textpane/ChannelTextPane;)Ljavax/swing/text/StyledDocument;javax/swing/text/StyledDocumentgetDefaultRootElement()Ljavax/swing/text/Element;getElementCountgetElement(I)Ljavax/swing/text/Element;
getAttributesgetStartOffsetgetEndOffsetcontainsequalssetCharacterAttributes%(IILjavax/swing/text/AttributeSet;Z)V:(Lchatty/gui/components/textpane/ChannelTextPane$Styles;)Vjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V
setForegroundBAN_MESSAGE	TIMESTAMPjava/lang/SystemcurrentTimeMillis()Jjava/lang/Long(J)Ljava/lang/Long;BAN_MESSAGE_COUNTUSER_MESSAGEchatty/User()Ljava/awt/Color;hasCustomColor
getBackgroundchatty/gui/HtmlColorscorrectReadability2(Ljava/awt/Color;Ljava/awt/Color;)Ljava/awt/Color;setCorrectedColorUSER
getAddonIcons(Z)Ljava/util/List;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;getIcon/(Lchatty/Usericon$Type;)Ljavax/swing/ImageIcon;setIcon;(Ljavax/swing/text/MutableAttributeSet;Ljavax/swing/Icon;)V�$javax/swing/text/html/HTML$AttributeHREF&Ljavax/swing/text/html/HTML$Attribute;chatty/util/api/Emoticon�EmoticonUserS(FILchatty/util/api/Emoticon$EmoticonUser;)Lchatty/util/api/Emoticon$EmoticonImage;getImageIcon()Ljavax/swing/ImageIcon;EMOTICONhasStreamSetmainLchatty/gui/MainGui;chatty/gui/MainGui	emoticonsLchatty/util/api/Emoticons;emoteSetchatty/util/api/EmoticonsgetStreamFromEmoteset(I)Ljava/lang/String;	setStreamchatty/Usericonjavax/swing/text/html/HTML%chatty/util/api/Emoticon$EmoticonUser!�����������������������������������0����y*+�*�*�YSYSYSYSYSY	S�*�Y��
*�Y��*�Y��*�Y��*�Y��*�*�Y����&	4	80<;AFEQG\KgOmY�y������?+�=+�>6�Y`�:�:+��W��Y� ��"cde
fg#h0i5k�H?��?��:��5��
2��#��#������	Z*��!<*�M,�>6�$,2:*�"�<*��#W���ܻ$Y*�%�&M,�'*�
(,�)W*�
	�*�+N-�,�-�.*�
	-�)W�$Y�/:�0�1�2�-�3*�
4�)W�$Y�/:�,�-�3*�
5�)W�$Y�/:�67�8�9�:*�
7�)W�$Y�/:�6;�8�9*�
;�)W�$Y�/:�<Y�=�9�:*�
>�)W*��6?�8�@*�A���#uv	w x)y+z5w;G�L�W�d�q�|�����������������������������!�1�7�C�T�X���
 ��-��*��'��Z��	Q��G��d����������������]��!9������ ����0�*�B�C*�D�C*�E�C*�F�C*�G�C*�H�C*�I�C*�J�C*�K�C*�L�C*�M�C*�N�C*�O�P*�QR�P*�S�'�P*�TҷP*�U�,�P*�VdȷP*�6�W�X��R���� �(�0�8�@�H�P�X�`�j�v�������������������=�6Y�ZN-+�[:6��\�
�\�]6*�+�-�)W������$�.�<��>=��=��=��2��)��&����.�����U�6Y�Z:+�[:6��^�
�^�_6�6�6*�+�`�aW��.����&�0�7�;�A�D�T��RU��U��U��U��U�I��?��<����0����J�6+�ZM*�+�*�bN-�-,�c��*�+,�d�)W,+�.*�
+,�)W��"���$�&�5�>�H��*J��J�@�4��&����*�e���f�gY�hi�j*��kl�j�m�n*��o�pL=+�q��+�rN6-�q��-�r:�s�t�:�u6�v6d6	�:*�
�*�+:*��w�#	�x��*��o	�y���y���^�zY*�{�|��Z�		)	6	B	J	X	b		u	~	�	�	
�	�	�	�	�	�	�	�	�	$�pbo	u\�~S��J
��C�	�,�M��J�8�����6��J�/��I��&������7
*�
�*�+��	'�
���7
*�
�*�+��	+�
���7
*�
�*�+��	/�
���s+��$Y*�}�&M,+�~,�*�}��	3	4	5	6	8� �����7
*�
�*�+��	<�
�� �q'�$Y*�}�&M,�+�.,�������.,��	@	A	B%	C� '��'!"�#$�a�$Y*���&M,���`�.,��	G	H	I� ��%����7
*�
(�*�+��	M�
����7
*�
4�*�+��	Q�
����7
*�
5�*�+��	U�
����7
*�
	�*�+��	[�
��&�s+��$Y*���&M,+�~,�*����	_	`	a	b	d� ����&�7
*�
�*�+��	h�
���'�U*�
7�*�+�:*�
7�*�+��	l	m���(��'�U*�
;�*�+�:*�
;�*�+��	q	r���(���7
*�
>�*�+��	v�
���)��X,�D�$Y*���&N-���-�3+��:+���*�����:+��-�~��$Y,�&N-��+�3-��2	�	�	�	�!	�(	�6	�<	�B	�E	�N	�V	��>!!*5+�X��X!"X�N+���<,-��,.�7
*�
��*�+��	��
��/0��A+��N�Y�:-��:��� ���:*����W�����	�	�	�-	�;	�>	��H-��'�1A��A!"A2�;342546;37258��99:�&�;<?�H*+,������	�� ��!"@AB��5*�+�*�+M,�&�$Y*���&M+�,*+����*�+,�)W,��	�	�	�	� 	�)	�3	�� 5��5��)��	�)�	C��;*��E�*�\�]��	����D��;*��D�*�\�]��	����E��;*��B�*�\�]��	����FG�=*��U��������	����HI�C*��V��������o���	����J��;*��K�*�\�]��	����KG�=*��O��������	����L��;*��F�*�\�]��	����M��;*��J�*�\�]��	����N��;*��G�*�\�]��	����OP�:*��T������	����Q��;*��I�*�\�]��	����R��;*��H�*�\�]��	����SG�=*��Q��������	����TU�C*�+�*�\�]��	����V�WX�e�$Y*�}�&M,�1,��+�3,��	�� ��W�Y�Z[��G�$Y�/M+*��*��*���N,-����,��-�3+���+*�����+������,��
!)0E�*G��GZ\?]�.^a��E,b�c�/*�X�����dG�=*��S�����������ef�B���z���@=>@_�`��+@��+���	PKʣGt�����4chatty/gui/components/textpane/ChannelTextPane.class���3�					 		
									 !"#$$&%&')()*+,/-./0321	2232425$678)9:	;<	;=>?	;@	;A	;B	;C;D	;EFGHIJKLMNO�PQRSTU	�VWXYZ[Y\�������T]T^	�_`abbbcTdTefghijklkmknkopkqrfstuvwfx�fy	�zW{|'}~��������������������	���	������k������f������t�	�����f�W������j����$�$�f���������	����	��������������j���G�j�@!�TD-@�R8-se��@_�@@[����@�:��A@E@h`����	������	�����	�����	�����	�����	�����	������	������$�$�$��?������v�	��v����u0j�	�
j��v	 !"#j$%&'(j)*+	,-./-01�2	�-34-5-6�7-8	�9:;	L<	L=->Q?@-AQBC	DETFTGTHTI-JKLjMNOQP	QQ	�RSQTQUV��WiXYZyY[\]	Z^_`a$bctde$fghi9jklmnopqrStylesInnerClasses
ScrollManagertSpecialColor
LineSelectionuSettingvMessageTypew	AttributeLOGGERLjava/util/logging/Logger;doc!Ljavax/swing/text/StyledDocument;BACKGROUND_COLORLjava/awt/Color;compactModeLjava/lang/String;compactModeStartJcompactModeLengthIMAX_COMPACTMODE_LENGTH
ConstantValueMAX_COMPACTMODE_TIMEu0MAX_BAN_MESSAGE_COMBINE_TIME'BUFFER_SIZE_MINBUFFER_SIZE_MAXurlMatcherLjava/util/regex/Matcher;mainLchatty/gui/MainGui;linkController/Lchatty/gui/components/textpane/LinkController;styleServerLchatty/gui/StyleServer;newlineRequiredZDELETED_MESSAGES_KEEPstyles7Lchatty/gui/components/textpane/ChannelTextPane$Styles;
scrollManager>Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;
lineSelection>Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;messageTimeoutupdateTimerLjavax/swing/Timer;
lastSearchPosLjavax/swing/text/Element;<init>/(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/textpane/ChannelTextPane;1(Lchatty/gui/MainGui;Lchatty/gui/StyleServer;ZZ)Vspecial
startAtBottomcaretLjavax/swing/text/DefaultCaret;
StackMapTable�xy,cleanUp()VsetMessageTimeout(I)VsecondssetContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)Vlistener1Lchatty/gui/components/menus/ContextMenuListener;setMouseClickedListener$(Lchatty/gui/MouseClickedListener;)V!Lchatty/gui/MouseClickedListener;iconLoadedprintMessage(Lchatty/gui/Message;)Vstyle&Ljavax/swing/text/MutableAttributeSet;messageLchatty/gui/Message;user
Lchatty/User;ignoredcoloractiontextemotesz	TagEmotes%Lchatty/util/api/Emoticons$TagEmotes;highlighted�{�|z�getTimeAgo(Ljavax/swing/text/Element;)Jelement	timestampLjava/lang/Long;Y getElementContainingAttributeKeyH(Ljavax/swing/text/Element;Ljava/lang/Object;)Ljavax/swing/text/Element;iparentkeyLjava/lang/Object;result}increasePreviousBanMessage(Ljavax/swing/text/Element;)VcountElementcountLjava/lang/Integer;startex'Ljavax/swing/text/BadLocationException;lineatgetText.(Ljavax/swing/text/Element;)Ljava/lang/String;findPreviousBanMessage)(Lchatty/User;)Ljavax/swing/text/Element;attrLjavax/swing/text/AttributeSet;firstElementrootuserBanned(Lchatty/User;)VprevMessagelinesLjava/util/ArrayList;itLjava/util/Iterator;deleteLocalVariableTypeTable*Ljava/util/ArrayList<Ljava/lang/Integer;>;)Ljava/util/Iterator<Ljava/lang/Integer;>;�~getLinesFromUser$(Lchatty/User;)Ljava/util/ArrayList;	Signature9(Lchatty/User;)Ljava/util/ArrayList<Ljava/lang/Integer;>;
isMessageLine(Ljavax/swing/text/Element;)ZgetUserFromLine)(Ljavax/swing/text/Element;)Lchatty/User;elementUserjisLineFromUser*(Ljavax/swing/text/Element;Lchatty/User;)ZgetUserFromElement	isMessageLjava/lang/Boolean;deleteLine(II)VremovedStart
removedLength	maxLengthelementToRemoveoffsets[IstartOffset	endOffsetmessageStartOffsetmessageEndOffsetlength
messageLength5
deleteMessagemessageOffsets
isLineDeletedsetLineDeletedoffsetgetMessageOffsets(Ljavax/swing/text/Element;)[IselectPreviousUserselectNextUserselectNextUserExitAtBottomexitUserSelectiontoggleUserSelectiongetSelectedUser()Lchatty/User;
doesLineExist(Ljava/lang/Object;)Zsearch(Ljava/lang/String;)ZsearchTextstartSearchresetSearchclearSearchResult	printUser(Lchatty/User;ZZZ)VignorewhisperuserNameprintRainbowUser`(Lchatty/User;Ljava/lang/String;ZLchatty/gui/components/textpane/ChannelTextPane$SpecialColor;)Vctype=Lchatty/gui/components/textpane/ChannelTextPane$SpecialColor;	userStyle%Ljavax/swing/text/SimpleAttributeSet;�makeRainbowColor(II)Ljava/awt/Color;stepDdeltargb
makeGoldColorprintUserIcons
addAddonIcons(Lchatty/User;Z)Vi$firstaddonIconsLjava/util/List;8Ljava/util/List<Ljavax/swing/text/MutableAttributeSet;>;
clearSomeChatmaxremoveFirstLinesamount
firstToRemovelastToRemoveremoveOldLinesclearAllresetNewlineRequiredprintCompact"(Ljava/lang/String;Lchatty/User;)V	seperatorstartCompactModetimePassedcloseCompactModeprintNewline	printLine(Ljava/lang/String;)V;(Ljava/lang/String;Ljavax/swing/text/MutableAttributeSet;)V
printSpecialsm(Ljava/lang/String;Lchatty/User;Ljavax/swing/text/MutableAttributeSet;Lchatty/util/api/Emoticons$TagEmotes;)V	processedrangeEntryLjava/util/Map$Entry;endrangesLjava/util/TreeMap;rangesStyleLjava/util/HashMap;lastPrintedPosrangesIt=Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/Integer;>;;Ljava/util/TreeMap<Ljava/lang/Integer;Ljava/lang/Integer;>;NLjava/util/HashMap<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;SLjava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/Integer;>;>;processText3(Lchatty/User;Ljava/lang/String;)Ljava/lang/String;prevfilterMode	findLinks3(Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)VfoundUrlLjava/util/Map;7Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;JLjava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;�(Ljava/lang/String;Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;)V
findEmoticonse(Ljava/lang/String;Lchatty/User;Ljava/util/Map;Ljava/util/Map;Lchatty/util/api/Emoticons$TagEmotes;)V
emoticonsById	emoticonsLjava/util/HashSet;setLjava/util/Set;	tagEmotes
channelEmotes>Ljava/util/Map<Ljava/lang/Integer;Lchatty/util/api/Emoticon;>;/Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;+Ljava/util/Set<Lchatty/util/api/Emoticon;>;�(Ljava/lang/String;Lchatty/User;Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;Lchatty/util/api/Emoticons$TagEmotes;)VaddTwitchTagsEmoticonst(Lchatty/User;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Lchatty/util/api/Emoticons$TagEmotes;)VcodeurlBuilder"Lchatty/util/api/Emoticon$Builder;	emoteDataTagEmote$Lchatty/util/api/Emoticons$TagEmote;idemoticonLchatty/util/api/Emoticon;customEmote	isIgnored	emotesDefdefHLjava/util/Map<Ljava/lang/Integer;Lchatty/util/api/Emoticons$TagEmote;>;�;@(Lchatty/User;Ljava/util/Map<Ljava/lang/Integer;Lchatty/util/api/Emoticon;>;Ljava/lang/String;Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;Lchatty/util/api/Emoticons$TagEmotes;)VB(Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)V�(Ljava/util/Set<Lchatty/util/api/Emoticon;>;Ljava/lang/String;Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;)VO(Lchatty/User;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Vm0Ljava/util/Iterator<Lchatty/util/api/Emoticon;>;��(Lchatty/User;Ljava/util/Set<Lchatty/util/api/Emoticon;>;Ljava/lang/String;Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;)VaddEmoticon=(Lchatty/util/api/Emoticon;IILjava/util/Map;Ljava/util/Map;)V�(Lchatty/util/api/Emoticon;IILjava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/Integer;Ljavax/swing/text/MutableAttributeSet;>;)VinRanges(ILjava/util/Map;)Z;(ILjava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;)ZcheckUrlLjava/net/URISyntaxException;uriToCheckYgetLastLine7(Ljavax/swing/text/Document;)Ljavax/swing/text/Element;Ljavax/swing/text/Document;printnewlineescrollDownIfNecessary
setScrollPane(Ljavax/swing/JScrollPane;)VscrollLjavax/swing/JScrollPane;
getTimePrefix()Ljava/lang/String;
refreshStyleslinkClickedaccess$600E(Lchatty/gui/components/textpane/ChannelTextPane;Ljava/lang/Object;)Zx0x1access$800p(Lchatty/gui/components/textpane/ChannelTextPane;)Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;access$1000S(Lchatty/gui/components/textpane/ChannelTextPane;)Ljavax/swing/text/StyledDocument;access$1100Y(Lchatty/gui/components/textpane/ChannelTextPane;Ljavax/swing/text/Element;)Lchatty/User;access$1200M(Lchatty/gui/components/textpane/ChannelTextPane;Ljavax/swing/text/Element;)Zaccess$13003(Lchatty/gui/components/textpane/ChannelTextPane;)Vaccess$1400T(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/User;)Ljava/util/ArrayList;access$1600Z(Lchatty/gui/components/textpane/ChannelTextPane;Ljavax/swing/text/Element;Lchatty/User;)Zx2access$3000()Ljava/util/logging/Logger;access$3100()Lchatty/gui/StyleServer;<clinit>SourceFileChannelTextPane.java����)* R�#$%&����KL����������-chatty/gui/components/textpane/LinkController����5chatty/gui/components/textpane/ChannelTextPane$Styles��������<chatty/gui/components/textpane/ChannelTextPane$LineSelectionx��������������������<chatty/gui/components/textpane/ChannelTextPane$ScrollManager*chatty/gui/components/textpane/MyEditorKit����)chatty/gui/components/textpane/MyDocument��������javax/swing/text/DefaultCaret����javax/swing/Timer0chatty/gui/components/textpane/ChannelTextPane$1�������������������{����IGNORED{|����������V����������������ST����������}�������java/lang/Long�������������java/lang/Integer����������/|��java/lang/StringBuilder (����)������%javax/swing/text/BadLocationExceptionBad location����������������
������� has been banned from talking����~����=�./java/util/ArrayList�L+&��chatty/User��java/lang/Boolean��Line �� is unexpected null.?$BC..����@�<message deleted>Bad location: - �����������L��������IJ����������R����irainbowN\XYgolden\>>[] -[]- * : #javax/swing/text/SimpleAttributeSet���	:�`aha�
java/awt/Color�jk�~�&�!�*�@ !�+"#�%$%�&�^'()$javax/swing/text/MutableAttributeSet*+,+-+.�t�z�.chatty/gui/components/textpane/ChannelTextPane/0�1234567, ~N8�9L��:;��java/util/TreeMapjava/util/HashMap��<���=>?�java/util/Map$Entry@�A���B�CDE�F�G�****GH.Filtered combining characters from message by I� [result: ]�����JKL������M�NN(�NOPhttpQNhttp://�R�STU>��VW��X>YZ��[>\>]�Y^��_L"chatty/util/api/Emoticons$TagEmote����`abNchatty/util/api/Emoticoncde� chatty/util/api/Emoticon$Builderfgh�ijklkmnopAdded emote from message: ��qrstruvw�xyz{|}~���java/net/URI��java/net/URISyntaxException���r�����BadLocationException����+0chatty/gui/components/textpane/ChannelTextPane$2�������������������Kjavax/swing/JTextPanechatty/gui/LinkListener%chatty/util/api/Emoticon$EmoticonUserEmoticonUser;chatty/gui/components/textpane/ChannelTextPane$SpecialColor6chatty/gui/components/textpane/ChannelTextPane$Setting:chatty/gui/components/textpane/ChannelTextPane$MessageType8chatty/gui/components/textpane/ChannelTextPane$Attributechatty/gui/MainGuichatty/gui/StyleServer#chatty/util/api/Emoticons$TagEmoteschatty/gui/Messagejava/lang/Stringjavax/swing/text/Elementjava/util/Iteratorjava/util/List
java/util/Mapjava/util/regex/MatchergetUserListener()Lchatty/gui/UserListener;~(Lchatty/gui/components/textpane/ChannelTextPane;Lchatty/gui/UserListener;Lchatty/gui/components/textpane/ChannelTextPane$1;)V
setBackground(Ljava/awt/Color;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)VaddUserListener(Lchatty/gui/UserListener;)VsetLinkListener(Lchatty/gui/LinkListener;)V(Z)VsetEditorKit(Ljavax/swing/text/EditorKit;)VsetDocument(Ljavax/swing/text/Document;)VgetStyledDocument#()Ljavax/swing/text/StyledDocument;setEditablegetCaret()Ljavax/swing/text/Caret;setUpdatePolicy	setStyles()Z#(ILjava/awt/event/ActionListener;)VsetRepeatsstoprefreshignored_compact
isHighlightedinfo(()Ljavax/swing/text/MutableAttributeSet;javax/swing/text/StyleConstants
getForeground1(Ljavax/swing/text/AttributeSet;)Ljava/awt/Color;	highlight8(Ljava/awt/Color;)Ljavax/swing/text/MutableAttributeSet;standard
actionColoredgetDisplayColor()Ljava/awt/Color;
getAttributes!()Ljavax/swing/text/AttributeSet;	TIMESTAMP:Lchatty/gui/components/textpane/ChannelTextPane$Attribute;javax/swing/text/AttributeSetgetAttribute&(Ljava/lang/Object;)Ljava/lang/Object;java/lang/SystemcurrentTimeMillis()J	longValuegetElementCount()IgetElement(I)Ljavax/swing/text/Element;BAN_MESSAGE_COUNTvalueOf(I)Ljava/lang/Integer;intValuegetStartOffsetgetEndOffsetjavax/swing/text/StyledDocumentremovecontains(Ljava/lang/CharSequence;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringbanMessageCount)(I)Ljavax/swing/text/MutableAttributeSet;insertString5(ILjava/lang/String;Ljavax/swing/text/AttributeSet;)Vjava/util/logging/Loggerwarning(II)Ljava/lang/String;getDefaultRootElement()Ljavax/swing/text/Element;BAN_MESSAGEcontainsAttribute'(Ljava/lang/Object;Ljava/lang/Object;)ZshowBanMessagescombineBanMessagesbanMessage5(Lchatty/User;)Ljavax/swing/text/MutableAttributeSet;
getCustomNicknick[(Lchatty/User;Ljavax/swing/text/MutableAttributeSet;)Ljavax/swing/text/MutableAttributeSet;iterator()Ljava/util/Iterator;deletedMessagesModehasNextnext()Ljava/lang/Object;addUSERUSER_MESSAGEbooleanValue(I)Ljava/lang/StringBuilder;deletedsetCharacterAttributes%(IILjavax/swing/text/AttributeSet;Z)VgetLocalizedMessageDELETED_LINE(Z)Ljava/lang/Boolean;deletedLinesetParagraphAttributes	isDefinedaccess$100B(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;I)Vaccess$200C(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;IZ)Vaccess$300A(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;)VtoggleLineSelectionisEmptychatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;searchResult)(Z)Ljavax/swing/text/MutableAttributeSet;access$1500B(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;I)Vaccess$900A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)V	getLength
showUsericonshasCategoryRAINBOWGOLD"(Ljavax/swing/text/AttributeSet;)VaddAttribute'(Ljava/lang/Object;Ljava/lang/Object;)V
setForeground9(Ljavax/swing/text/MutableAttributeSet;Ljava/awt/Color;)V	substringjava/lang/Mathcos(D)D(III)V
isBroadcaster�chatty/Usericon$TypeTypeBROADCASTERLchatty/Usericon$Type;getIconStyleK(Lchatty/User;Lchatty/Usericon$Type;)Ljavax/swing/text/MutableAttributeSet;isStaffSTAFFisAdminADMINisGlobalModGLOBAL_MODisModeratorMODhasTurboTURBOisSubscriberSUBisBotbotBadgeEnabledBOTgetAddonIconStyles (Lchatty/User;Z)Ljava/util/List;access$1700A(Lchatty/gui/components/textpane/ChannelTextPane$ScrollManager;)Zaccess$1800access$1900bufferSizejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vcompactequalsaccess$2000[(Lchatty/gui/components/textpane/ChannelTextPane$LineSelection;Ljavax/swing/text/Element;)V
showEmoticonsentrySet()Ljava/util/Set;
java/util/SetgetKeygetValueget(I)Ljava/lang/String;
chatty/Helperhtmlspecialchars_decoderemoveDuplicateWhitespacefilterCombiningCharacters9(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;getRegularDisplayNickreset3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;findgroupendsWithput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;startsWith:(Ljava/lang/String;)Ljavax/swing/text/MutableAttributeSet;Lchatty/util/api/Emoticons;chatty/util/api/EmoticonsgetCustomEmotesgetEmoticonsById()Ljava/util/HashMap;getEmoteSetgetEmoticons(I)Ljava/util/HashSet;getGlobalTwitchEmotesgetOtherGlobalEmotes	getStream'(Ljava/lang/String;)Ljava/util/HashSet;containsKeygetCustomEmoteById(I)Lchatty/util/api/Emoticon;allowedForStreamisEmoteIgnored(Lchatty/util/api/Emoticon;)ZgetTwitchEmoteUrlByIdchatty/util/api/Emoticon$TypeTWITCHLchatty/util/api/Emoticon$Type;F(Lchatty/util/api/Emoticon$Type;Ljava/lang/String;Ljava/lang/String;)VsetNumericId%(I)Lchatty/util/api/Emoticon$Builder;setEmotesetbuild()Lchatty/util/api/Emoticon;addTempEmoticon(Lchatty/util/api/Emoticon;)VcodePointAt(I)Ijava/lang/Character	charCountmatchesUser(Lchatty/User;)ZisAnimatedEMOTICONS_SHOW_ANIMATED8Lchatty/gui/components/textpane/ChannelTextPane$Setting;	isEnabled;(Lchatty/gui/components/textpane/ChannelTextPane$Setting;)ZgetMatcher-(Ljava/lang/String;)Ljava/util/regex/Matcher;getIcon�
EmoticonImageQ(Lchatty/util/api/Emoticon$EmoticonUser;)Lchatty/util/api/Emoticon$EmoticonImage;B(Lchatty/util/api/Emoticon;)Ljavax/swing/text/MutableAttributeSet;javax/swing/text/Document(J)Ljava/lang/Long;	paragrapherrLjava/io/PrintStream;java/io/PrintStreamprintlnaccess$2100javax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)VtimestampFormat()Ljava/text/SimpleDateFormat;chatty/util/DateTimecurrentTime0(Ljava/text/SimpleDateFormat;)Ljava/lang/String;getTopLevelAncestor()Ljava/awt/Container;chatty/gui/UrlOpener
openUrlPrompt)(Ljava/awt/Component;Ljava/lang/String;)Z
getUrlPattern()Ljava/util/regex/Pattern;java/util/regex/Patternmatcherchatty/Usericon&chatty/util/api/Emoticon$EmoticonImage!������������������������������������������������������������P���K	*+,������ 	��	��	�����*�*�
*	�*�*�Y��*�*�Y*��*�*�*�Y*+���,�*+�*��**�� **��!*�+��"*�*��"*�*�#*�$Y*�%�	**�	� **�	�!*�&Y�'�(*�)Y�*�+**�,�*�-*�.�/:�0*��1W�+*�2Yл3Y*�4�5�6*�6�7*�6�8�*�6���"�T	UVix#�/�4�9�J�N�S�Z�b�j�u���������������������������������>�����������@�����������U*�6�*�6�9*�	�:�������������>*�������������A	*�+�;�����	��	�����A	*�+�<�����	��	�����A*��)�=*�>�������������+�?M+�@>�*A,�B�+�C:+�D6+�E:+�F:+�G6+�H�+�D�*��I�J:6*�K�*��L:	�*��M:	**�N	�O*,+�H�P��*��Q�*�,�R�S:	*,	�T*�U��b�������"�(�.�4�B�N�Q�U�Z�h�q�{����������pe��	���������������"���(���.���4���qG��	�-���:	��������6���{#+�V�W�X�YM,��Z,�[e�\��� #��#�����������0M>*�^�#*�_M,�V+�X��	����,��%(.�**��0��0��.���
��#���o�+�`�aM,�V�`�X�bN-��cN�2-:-�d`�cYN:W*�,�e,�f,�ed�g,�f6*,�hi�j���*��kY�lm�n-�op�n�q*�-�d�r�s�M�u�v*�>���t�>&)*-&091UM]NjOmQ�U�S�T�V�W�>���]>��������!�&�.��0��	��)*�+�e+�f+�ed�w�M�u�vx�t�[\]&_� )��)���]	
�j*��yM,�^d>�T,�_:*+����_:�*�V:�z+�{�*�|}����������2klm n*p,u6v;wDx_zblh~�HD B�6,�U��j��j��`�������5����*���]M*����	*+��M,�*,���?*�K**�N*�+���O*+��*�+*��I���O*�*��I�O*�U*+�M,��N*����	���6-���5�*-���b�d�����*-���b�d*�������ȱ�N����� �(�,�<�S�`�d�j�o������������>X�������jUoP�<�jUoP����;�@�  ��F*��yM��Y��N6,�^�',�_:*+��
-�c��W����-��"��� �*�4�>�D��>*�/��F��F��<�4�4����(�!"#$�M*+�����������@%&��'=� +�_N*-��:��������������%��4��'�#(�'��'����)*��0>�)+�_:*��:,����������&	�����!�&�(�.��>��'�,(�0��0�0��������+&��8+�5+�V���X��M+�V���X��N-�
-���,������(�4�6��* '�(,-8��8���6./�-
�*��y�_N-�"��kY�l��n����n�q�v�*-����*-��:���-�e6-�f6.6.6d6	dd6�L�F`6d6*��g	dd6	*��*��I�s�
:�u�v*�	*�����*������t�n�23;<CJKS[agnw���������!�"�$���00��*1��������2��3�C�45S�6�[�7�a8�gy9�nr:�	wi;��+�3��<�n��<		=����*��y�_M,�"��kY�l��n����n�q�v�*,����*,��N-��o-.6-.6*�dd�g*��*��I�s*���6:��kY�l��n����n����n���n�q�v�R~�t�F-./2032;4<6B7H8M9R<d=x>~A�?�@�C�H�1Mg6�Rb7�������3�Bs>5�"�3��D��<	�2?$�G+�V�����{��M����@��L*�*�������WX���A�BC�n+�^=>6�*+�_:�V�����`>�����/+�_�e6+d�_�f6�YOYO����2[\	]^_.`3]9c>dLe\fjh�R��-��L6�\7�n��n�g�	e��
�&�0D��7	*�����lm�	��E��7	*�����pq�	��F��8*�����t	u���G��6*�����xy���H��6*�����|}���IJ�2*���������KL��3*��y�^=>�*��y�_+�����������)�+�1��* ��3��3�$����MN�b+�+����*�*��y�^=*��**���*�*���>+��Ld6��*��y�_:*��>��*��z��s�e6�fd6d6*��w:		��+�j�+*�*�����*�	��*���
:	�u�v*�����W*��*�	�������t��"��
�� �2�7�D�I�S�e�n�p�u�}���������������������������	�p�4��	�	e����g6��\7��U:�N�����O� ��D�P��6�)@��.��]B		����Q��<*�*���	���R��J*�*���*����������ST���+��:*�����*+��+��:+����*+������+����*+�������Y�,*�kY�l��n�n��n�q*�+���O�z*�kY�l��n�n��n�q*�+���O�Q�,*�kY�l¶n�n��n�q*�+���O�$*�kY�l�nön�q*�+���O��B%&'(*(+6,?-M/R0V13�5�6�8�;�>����������U��V��W����1(, XY��	���Y*��ŷ�:��������+��,��6�*�*��ŶO6�?���*��:�
*��:��*,`���O�����*�*�+���O�*�*�+���O��FNOP%R+S/T<VFXNY[[e]l^|V�b�c�e�g�fXZ�eZ�?C���������W�����[\�]^+}:���<_��	�`a��a��oJ�9�)kkc���k�c�6�)kkc���k�c�6�)k�kc���k�c�6	��Y	�ٰ�jkm#n:oSq�Ra��a��a:�ZbcUdc#>e�:'f�Sg�	ha��9��oJ�9�6�)kkc���k�c�66	��Y	�ٰ�uvxy(z+|�R9��9��9:�2bc-dc(e�(f�+g�	i�o�*+��+��*�*�+���O�l+��*�*�+���O�Q+��*�*�+���O�6+��*�*�+���O�+��*�*�+���O+��*�*�+���O+��*�*�+����O+���*����*�*�+����O*+���N��
�!�(�<�C�W�^�r�y�������������������������!!jk��4*�+��N-��:�������:*��O������(�0�3��>(��!l4��4��4m�*no*np��q� r���X*�	����*�	���*�	���*��y�^<*��=���k��*�	���*���&	���� �/�7�R�W�� X��/)�7!s���1t��;w�<*��y�^��*��y�_M*��yd�_N,�e6-�f6*����*���6*��g�:�dqtt�:�����)�;�C�K�Y�d�q�t�v��Hvw��wu�)Nv�;<w�C46�K,7���J���O	x���A*��<*��y�_�_L+�"*+�|*��h���*�*�>*������3�8�<�@��#��A����@y���-*�*����g*��L���	+��t������,��-���Z	z��M*����*����������{|��wN*+��3**�N*��
�O*�kY�l+�nön�q*��
�OxN*-*��
�O*,��*�,*��
���O*Y�`�*��*�K��.9<H_
irv�*w��w[�w��s}��	�<�9~N��@�Z*�eA ��*�K+*�
��*�K*�
�*+�
*�Z�*����.	 $ %$)+*0+7,<->/� @��@[�	7������P*�
�*�U*�
��678:�������F*�*�*�����IJP������E
*+*��I���WX�
��
����m#*�K*�kY�l*�N�n+�n�q,�O*�U��abc"d� #��#�#�����
ϻY�:�Y�:*+�*���*+,�6��:���n���:		��b�d6	��b�d6�*,+�̷ :*-�O*+`���c�!���O`6���+�Ȣ**,+�"� -�O��Rv	xz|%}1�4�@�J�V�e�t�{�����������������
���V\��	eM�t>�����������������	������4���@��*V\��		������@�����1����P��#����],�#N-�$N*��%6�F-:-&�'N-��0��kY�l(�n+�)�n*�n-�n+�n�q�,-��&	������%�.�[��>@��]��]��]��X��J���	�[�����Ȳ-+�.W�-�/���-�06�-�1d6*,�2��*,�2���-�3:��j����p�4� 5�j���d��:��*�6�K,�c�c�7W8�9��kY�l:�n�n�q:-�c*��;�7W��D��J����#�7�?�I�L�a�p�s�|������������H?�����#�����������������������C�&;�!�����	�*,*��<�=+-�>�*��<�?:*,+-�@,�A�B:���-���b:*��<�d�C:*+-�D����*��<�E:*+-�D*��<�F:*+-�D*��<,�G�H:*,+-�>��B���$�1�R�c�m�p�u���������������
$
��c��R�<4l����������������������&�����H$
��c������������&������
1��3!����DN���I:66		-�Ȣ4	d�c�J�	d�c�K�L:�M6	6�N`6
:*��<�O:�+�G�P�:�,�c�K�Q:�*��<�R��6
-�Ȣ{�v�c-
��:�S:�TY�U�V:�WW��XW�Y:*��<�Z��kY�l[�n�o�q�,*
�\-	�]�^d`6	-	�]�^`6	��ɱ�z���
	.BIMWZhy�����!�"�#�%�&�'�()+,4<5M7���V���N���>g�B���I���M��W���
Z���h�������:��	N��N��N��N��N��N��N��
A��>A�*N��N��N��
A���d	���l�����������@�t�
��������� !�����*+,-�>��;<�4���������� ������!������,�:���y���Q:+�_����*��<�R�����`�*��a�b����-�c:�/�$�06	�1d6*	�\��ڧ����FABDE'F*H9I<KQMTO\PdTkUtV�W�X�Y�pk�	t��g��\)���������������������*��������������!���(!�����S*�2�K*�2�A+*�d�9�c�c�7W*�+�e:f�c�g�c�7W��^_`,a6eDfRi�H6�S��S��S�S��S��S��S��S����R!�����I,�h�N-���5-���:��b�d���b�d�������tuv wBxDzG{�4 $��I��I��I��=�  $��I��=����7!��N�t�iY+�jW�M��	k��	��
��� 
������L�	���C*�l*�l�^d�_���������E
*+*��M�O�����
��
�����<�xN*����*��,�W�Z�m�g*��iN*�*�n*�*����kY�l-�n+�n�q,�s*�*���*��o��*�>�
N�pq�r�|t�:���%�,�/�4�8�]�x�|�������4y���	��������������F���		���n.*�	���
*�	�s�*��*�	���tY*�u�v����"�-��.������A	*�	+�w�����	��	�����e**��x� �kY�l*��x�y�n��n�q������'��*���'���6*��z����������B*�{+�|W���	���������:*+���K��������/*�	��K������/*���K������:*+���K��������:*+���K��������/*���K������:*+���K��������E*+,���K� ������������K������K���K+�����Y����ٳ�}x�~�-��MQe�����$���@���@��@��@t3�-�	�	TQ�	L-�	�Qs	�@DQ@Q�PḲG5�4C��0chatty/gui/components/textpane/ChatBoxView.class���3%	 !"#enabledZ<init>(Ljavax/swing/text/Element;IZ)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/components/textpane/ChatBoxView;elemLjavax/swing/text/Element;axisIlayoutMajorAxis	(II[I[I)VitextBlockHeightoffsettargetSpanoffsets[Ispans
StackMapTableSourceFileChatBoxView.java$*chatty/gui/components/textpane/ChatBoxViewjavax/swing/text/BoxView(Ljavax/swing/text/Element;I)V 	\*+�*��*
Q*-�*��C666��.`6����d66-��-\.`O����2	!+1 7"A#J"P&\	:=:Q
QQQQ����PKˣGA�Ü��3chatty/gui/components/textpane/LinkController.class���3^J���	I���	I�	I�	I�	I�������I�I���I���������I�-����I����������	I��	I�I�	�����	���(�	���	��������.���	��	��	������I��������>��@��BD	HAND_CURSORLjava/awt/Cursor;
NORMAL_CURSORuserListenerLjava/util/Set;	Signature*Ljava/util/Set<Lchatty/gui/UserListener;>;linkListenerLchatty/gui/LinkListener;mouseClickedListener!Lchatty/gui/MouseClickedListener;contextMenuListener1Lchatty/gui/components/menus/ContextMenuListener;defaultContextMenu)Lchatty/gui/components/menus/ContextMenu;<init>()VCodeLineNumberTableLocalVariableTablethis/Lchatty/gui/components/textpane/LinkController;addUserListener(Lchatty/gui/UserListener;)VlistenerLchatty/gui/UserListener;
StackMapTablesetLinkListener(Lchatty/gui/LinkListener;)VsetMouseClickedListener$(Lchatty/gui/MouseClickedListener;)VsetContextMenuListener4(Lchatty/gui/components/menus/ContextMenuListener;)VsetDefaultContextMenu,(Lchatty/gui/components/menus/ContextMenu;)VcontextMenumousePressed(Ljava/awt/event/MouseEvent;)Vi$Ljava/util/Iterator;urlLjava/lang/String;user
Lchatty/User;emote
EmoticonImageInnerClasses(Lchatty/util/api/Emoticon$EmoticonImage;eLjava/awt/event/MouseEvent;���
mouseReleasedmouseClickedmouseMovedtextLjavax/swing/JTextPane;�getUrl/(Ljava/awt/event/MouseEvent;)Ljava/lang/String;attributesLjavax/swing/text/AttributeSet;isUrlDeleted(Ljava/awt/event/MouseEvent;)ZdeletedLjava/lang/Boolean;�getUser*(Ljava/awt/event/MouseEvent;)Lchatty/User;getEmoticonE(Ljava/awt/event/MouseEvent;)Lchatty/util/api/Emoticon$EmoticonImage;getElement7(Ljava/awt/event/MouseEvent;)Ljavax/swing/text/Element;rectLjava/awt/Rectangle;ex'Ljavax/swing/text/BadLocationException;doc!Ljavax/swing/text/StyledDocument;elementLjavax/swing/text/Element;
mouseLocationLjava/awt/Point;posI��
getAttributes<(Ljava/awt/event/MouseEvent;)Ljavax/swing/text/AttributeSet;
openContextMenumLjavax/swing/JPopupMenu;<clinit>SourceFileLinkController.java[\java/util/HashSetOPSTUVWXYZl������� !chatty/gui/UserListener"#���$%&'�q()*�\+!javax/swing/JTextPaneLM,-NM��/1234java/lang/String678java/lang/Boolean9:8chatty/User;8<&chatty/util/api/Emoticon$EmoticonImagejava/awt/Point=>[?@ABCDE�F�G�%javax/swing/text/BadLocationExceptionHIJKL��
�MNOPQ+chatty/gui/components/menus/UserContextMenu[R*chatty/gui/components/menus/UrlContextMenu[S,chatty/gui/components/menus/EmoteContextMenu[T.chatty/gui/components/menus/ChannelContextMenu[lUVWXYZ[-chatty/gui/components/textpane/LinkControllerjava/awt/event/MouseAdapter"java/awt/event/MouseMotionListenerjava/util/Iteratorjavax/swing/text/AttributeSetjavax/swing/text/Elementjavax/swing/JPopupMenu
java/util/Setadd(Ljava/lang/Object;)Z'chatty/gui/components/menus/ContextMenuaddContextMenuListenerjava/awt/event/MouseEvent
getClickCount()Ijavax/swing/SwingUtilitiesisLeftMouseButtonchatty/gui/LinkListenerlinkClicked(Ljava/lang/String;)Viterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;userClicked+(Lchatty/User;Ljava/awt/event/MouseEvent;)V()Lchatty/util/api/Emoticon;emoteClicked8(Lchatty/util/api/Emoticon;Ljava/awt/event/MouseEvent;)VisPopupTrigger	isAltDownisAltGraphDownchatty/gui/MouseClickedListener	getSource	setCursor(Ljava/awt/Cursor;)V\$javax/swing/text/html/HTML$Attribute	AttributeHREF&Ljavax/swing/text/html/HTML$Attribute;getAttribute&(Ljava/lang/Object;)Ljava/lang/Object;]8chatty/gui/components/textpane/ChannelTextPane$AttributeURL_DELETED:Lchatty/gui/components/textpane/ChannelTextPane$Attribute;booleanValueUSEREMOTICONchatty/util/api/EmoticongetXgetY(II)VviewToModel(Ljava/awt/Point;)ImodelToView(I)Ljava/awt/Rectangle;java/awt/RectanglexyheightgetStyledDocument#()Ljavax/swing/text/StyledDocument;javax/swing/text/StyledDocumentgetCharacterElement(I)Ljavax/swing/text/Element;!()Ljavax/swing/text/AttributeSet;getComponent()Ljava/awt/Component;java/awt/Component	isShowingA(Lchatty/User;Lchatty/gui/components/menus/ContextMenuListener;)VG(Ljava/lang/String;ZLchatty/gui/components/menus/ContextMenuListener;)V\(Lchatty/util/api/Emoticon$EmoticonImage;Lchatty/gui/components/menus/ContextMenuListener;)Vshow(Ljava/awt/Component;II)Vjava/awt/CursorgetPredefinedCursor(I)Ljava/awt/Cursor;getDefaultCursor()Ljava/awt/Cursor;javax/swing/text/html/HTML.chatty/gui/components/textpane/ChannelTextPane!IJKLMNMOPQRSTUVWXYZ[\]>*�*�Y���^)1_`abc]U+�*�+�W�^CDF_`adefgh]>*+��^NO_`adTij]>*+��^RS_`adVkl]^*+�*�	�*�	+��^[\]__`adXfmn]J*+�	+*���^hi
j_`aoZpq]��+���+���*+�
M,�*+��*��
*�,��*+�N-�1*��:����:-+����*+�:�5*��:����:�+���ݱ�+��*+��^Zvwx!y(z2|3~9=�^�g�j�k�r�w���������������_\	^	deH"rs�
de�&rs�tu9pvwr7x{�`a�|}f'�2~���!����%��q]R
+��*+��^���_
`a
|}f�q]l'*��"+��+��+��*���^��&�_'`a'|}f&�q]�<+��M*+�
N-�*+��*+��*+��
,� �!�,�"�!�^���*�4�;�_*<`a<|}4��.tuf��~	��]s+�#M,�,�$�%�&�&��^��	��_ `a|}��f����]�#+�#M,�,�'�%�(N-��-�)��^��	����!�_*��#`a#|}��f������]s+�#M,�,�*�%�+�+��^��	��_ `a|}��f����]s+�#M,�,�,�%�-�-��^��	��_ `a|}��f��	��](h*��L�.Y*�/*�0�1M+,�2>�G+�3:*�/�4�*�0�5�6`�����:+�8:�9:��"NQ7^6
����"�)�K�NQ�SYcf_R)%��S��Y
��c��h|}`��P��J��f�N��B�	��]`*�:L+�+�;��^	_|}
��f���q]q�+�<�=��*+�M*+�
N*+�:,��>Y,*��?:�Q-��@Y-*+�*��A:�7��BY*��C:� *�	��DY*��E:�	*�	:+�<+�/+�0�F�^B!"#%"&3(7)M+R,d/k0{2�5�6_f0��J��a��x���`a�|}�vw|tuux{���f�'~����\]+�G� �H�"�^+,��z-�y�.0�50@PḲG��җ��/chatty/gui/components/textpane/MyDocument.class���3K'()+	,-./01	345678<init>()VCodeLineNumberTableLocalVariableTablethis+Lchatty/gui/components/textpane/MyDocument;refresh(II)VoffsetIlenchangesDefaultDocumentEventInnerClasses8Ljavax/swing/text/AbstractDocument$DefaultDocumentEvent;rootLjavax/swing/text/Element;removedjavax/swing/text/Element;addedSourceFileMyDocument.java9:;6javax/swing/text/AbstractDocument$DefaultDocumentEvent=?@ABCjavax/swing/text/Element-javax/swing/text/AbstractDocument$ElementEditElementEditDEFGHI)chatty/gui/components/textpane/MyDocument&javax/swing/text/DefaultStyledDocument	getLength()I!javax/swing/text/AbstractDocumentJ)javax/swing/event/DocumentEvent$EventType	EventTypeCHANGE+Ljavax/swing/event/DocumentEvent$EventType;S(Ljavax/swing/text/AbstractDocument;IILjavax/swing/event/DocumentEvent$EventType;)VgetDefaultRootElement()Ljavax/swing/text/Element;T(Ljavax/swing/text/Element;I[Ljavax/swing/text/Element;[Ljavax/swing/text/Element;)VaddEdit"(Ljavax/swing/undo/UndoableEdit;)ZendfireChangedUpdate$(Ljavax/swing/event/DocumentEvent;)Vjavax/swing/event/DocumentEvent /*��8**���	�=�Y*��N*�:�:�:-�	Y��W-�*-�
�" 37<H===/) !#"# $#%&*	*2	,<>PḲG��1Bchatty/gui/components/textpane/MyEditorKit$StyledViewFactory.class���3O.	/012345678	69:;<=6>?6@6BCD
startAtBottomZ<init>(Z)VCodeLineNumberTableLocalVariableTablethisStyledViewFactoryInnerClasses>Lchatty/gui/components/textpane/MyEditorKit$StyledViewFactory;create3(Ljavax/swing/text/Element;)Ljavax/swing/text/View;elemLjavax/swing/text/Element;kindLjava/lang/String;
StackMapTableESourceFileMyEditorKit.javaFGHIcontentEJK,chatty/gui/components/textpane/WrapLabelViewL	paragraph.chatty/gui/components/textpane/MyParagraphViewsection*chatty/gui/components/textpane/ChatBoxViewM	componentjavax/swing/text/ComponentViewicon)chatty/gui/components/textpane/MyIconViewjavax/swing/text/LabelViewN<chatty/gui/components/textpane/MyEditorKit$StyledViewFactoryjava/lang/Objectjavax/swing/text/ViewFactoryjava/lang/String()Vjavax/swing/text/ElementgetName()Ljava/lang/String;equals(Ljava/lang/Object;)Z(Ljavax/swing/text/Element;)V(Ljavax/swing/text/Element;IZ)V*chatty/gui/components/textpane/MyEditorKit F*�*��#$	% #$%�s+�M,�b,���Y+��,���	Y+��,���Y+*��
�,���Y+��,���Y+���Y+��6
)*+,-&.//80F1O2X3a4j7 s #s&'l()*�+,-"A!PḲG��)��0chatty/gui/components/textpane/MyEditorKit.class���3	StyledViewFactoryInnerClasses
startAtBottomZ<init>(Z)VCodeLineNumberTableLocalVariableTablethis,Lchatty/gui/components/textpane/MyEditorKit;getViewFactory ()Ljavax/swing/text/ViewFactory;SourceFileMyEditorKit.java	<chatty/gui/components/textpane/MyEditorKit$StyledViewFactory*chatty/gui/components/textpane/MyEditorKit javax/swing/text/StyledEditorKit()V 	
F*�*��	 
6�Y*���PḲG;����/chatty/gui/components/textpane/MyIconView.class���3=()*?333+,-./012345lineHeightI
ConstantValue<init>(Ljavax/swing/text/Element;)VCodeLineNumberTableLocalVariableTablethis+Lchatty/gui/components/textpane/MyIconView;elemLjavax/swing/text/Element;getAlignment(I)Faxis
StackMapTablegetPreferredSpanheightFtestgetMinimumSpanSourceFileMyIconView.java!%"java/lang/IllegalArgumentExceptionjava/lang/StringBuilder6Invalid axis: 7879:;<)chatty/gui/components/textpane/MyIconViewjavax/swing/text/IconView()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;)V >*+��R
��*��"

 !�*�EF$%jE$�*��'(*,-/*	"#$# %�?�#�*���Y�Y�	����
�;=?$A?? &'PḲG_��O��Cchatty/gui/components/textpane/MyParagraphView$MyFlowStrategy.class���31 !"!#	$%&(<init>()VCodeLineNumberTableLocalVariableTablethisMyFlowStrategyInnerClasses?Lchatty/gui/components/textpane/MyParagraphView$MyFlowStrategy;createView7(Ljavax/swing/text/FlowView;III)Ljavax/swing/text/View;fvLjavax/swing/text/FlowView;startOffsetIspanLeftrowIndexresLjavax/swing/text/View;
StackMapTable*SourceFileMyParagraphView.java	*+,-,./=chatty/gui/components/textpane/MyParagraphView$MyFlowStrategy0&javax/swing/text/FlowView$FlowStrategyFlowStrategyjavax/swing/text/ViewgetEndOffset()IgetStartOffset.chatty/gui/components/textpane/MyParagraphView
MAX_VIEW_SIZEjavax/swing/text/FlowView!	/*��
�*+�:��d���!$>
�$	')	PḲG�Ŭ884chatty/gui/components/textpane/MyParagraphView.class���3'		MyFlowStrategyInnerClasses
MAX_VIEW_SIZEI<init>(Ljavax/swing/text/Element;)VCodeLineNumberTableLocalVariableTablethis0Lchatty/gui/components/textpane/MyParagraphView;elemLjavax/swing/text/Element;<clinit>()VSourceFileMyParagraphView.java
=chatty/gui/components/textpane/MyParagraphView$MyFlowStrategy #.chatty/gui/components/textpane/MyParagraphViewjavax/swing/text/ParagraphViewstrategy%FlowStrategy(Ljavax/swing/text/FlowView$FlowStrategy;&&javax/swing/text/FlowView$FlowStrategyjavax/swing/text/FlowView 	
M*+�*�Y���2��		!$"	PḲG�(�\��2chatty/gui/components/textpane/WrapLabelView.class���30 !"#$%&'(<init>(Ljavax/swing/text/Element;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/components/textpane/WrapLabelView;elemLjavax/swing/text/Element;getMinimumSpan(I)FaxisI
StackMapTableSourceFileWrapLabelView.java
"java/lang/IllegalArgumentExceptionjava/lang/StringBuilder
)Invalid axis: *+*,-.
/,chatty/gui/components/textpane/WrapLabelViewjavax/swing/text/LabelView()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;)V!
>*+���?�#�*���Y�Y����	��!$#??PḲG\u�g��&chatty/gui/components/view-refresh.png�PNG

IHDRVu\�	pHYs��~�WIDAT(�L������Z��@��4�������윉h=�XC(�}��]�����c��R���F:% ��������ݹ0$���ߎ_���n���K<%4������K;$F5�����������F%�4��������;=��ߦ����qW3������y�xL9"˘tD� o���������������$pV4����'Z��!h&�������@��콘�����������F5z��������1xZ4�Wbm#d}c;	����ZD(\�i>��P�������������
3'��눘�с����|�NJF7#���	�pC�����1$��d>���\���P���G7 ��������S?&w{��CB5 I%�\L0��������/"�* ����{^G*�8)�h��H) g5����~L�	x��=2�IEND�B`�PḲGr$���chatty/gui/help-browser.png�PNG

IHDR�asBIT|d�tEXtSoftwarewww.inkscape.org��<6IDAT8�m�[lTe����ZQ��N��6�N�S�MS.F-����Ą�+IL'A�i��$�A
���	�G#��ՠiZۂc�b��-P{�i�v��CK��엝�W�^YKSJqcok	�u@p~�D�ָ�q_�P��E��r�Ww>�ξ'��������B�;t���dz�	x;�����B-/=윊p�=FO�0kJ�x���Ƶ�����O�@m�
{�<��M�JCo�z�ٳ�K�����f*����f��#N����_b����n���F�����@p�{�������OUQ}�z���f=��?�F��J)�N���������P��qܾ?]T�����/���M��i�б���g��s�=G{�_<��nV.����{MQ�b	%+��S�?'PWU��N���L�K��H^Ma[U>����0tr��߇�.R�:˖���0$�i`Y�i�{�F�R<ځc[���2���<<���ED
C�1���L����b��_E�4J�c"���L444@]]�˄��ca�,��f 9ƙ�m�A�ı-r���e��!��@�܅��e}�.�u�a�hB�s� �{�H)�mc�ҟG�C^6�E��3�
kW�����R�KA�"��O�K�c��8&�eb�&k��̗ˁ�HF)�*�n�o"�i��7S�?��P���)�����Dm)�}���D*�w�}7Yyk������hl�hl�ĕIl{����e��/����i����̿��q7���;n����q�]U�����i��(���x�|�]f|r�)�y7���,��SJ��]��وR�8�f�L��ۊaIEND�B`�PḲG)����chatty/gui/icon_admin.png�PNG

IHDRVΎWbKGD�������	pHYs��tIME�,�C��iTXtCommentCreated with GIMPd.e�IDAT8��SAJ�@�6a�x��(z5��"̇Ľ���z�!�L7d����ALvs߂�����b�N���M��y��D���0\UU5�7k�����D�e�ڻ��E!"� �2=���~#"_�ݶ�53D���oV	�nE$�^��w"���Ye����<�1�|{�9b�O���{���u�4M��R�mY�'�%IR���_���\zf)vU}�ޏ�;���/���Hw�Jғ�IEND�B`�PḲG����chatty/gui/icon_bot.png�PNG

IHDRVΎWbKGD�������	pHYs��tIME��:IDAT8˭SKLSQ=��Z�+%M�U?A��&��E1��~��B�	qU7؄���(&ʚ-�QY��D7�#���J%"%����<�+�7.���x�I�̜����~��8�GP�Ý�5M����p�B�X����B�P 8�p8|P,Wfgg���d2��'GGG�;�,;I__ߑ���h$���u���U.��i��j������I�XZZ*����333�/B�h��p8����1M�kk%ll䰱Q@���T*`��r����Ó��+MMM�t:]�-��jg0��퍺n�T��榁bq��&4̀a���:�v{c0�QU�s;_lEi�'eY�LO���m�0���٬����㩇,��'Ei�r�����ګ�*$�	��lO+��r�UUQ]m�*��� ��$���J�����d����FF�R*������~��b��H$hnn�Z:NQK�)�w-Fҝ�.�yL���*|nn��Y,�������,��"��g'���
��1�����Ş(ZWW�.�pJ���z<�YE���9�<�Yh���x�e��=�^�������Y?2��e�ظi���1���.�>0�i�q�b�������Qo>�V���<s�o�|���y@Dk�>�s�8����'&�|��_�l6G���-����*ML<�_~�9��9g��5�Lj�V�"�[ccc�c�D��b��Pi�1umm�Cwww������`jj*@5MSP@���40ƚc]��&Ƙ�H5}$��D��3���o��w��IEND�B`�PḲGq�><22chatty/gui/icon_broadcaster.png�PNG

IHDRVΎWbKGD�C�	pHYs��tIME����biTXtCommentCreated with GIMPd.e�IDAT8���1�0�5P��Dz���[��h7�"n�	Z��������|<~�-�,_��1��j�=3s�s>:�!""��N�X��I��������ұh#�`������@�_w�qc��㬆���ֶ2^Kd�Ї�ۗ���0ǿ�F�IEND�B`�PḲG�Y�4uuchatty/gui/icon_globalmod.png�PNG

IHDRVΎWbKGD�������	pHYs��tIME�(;	�iTXtCommentCreated with GIMPd.e�IDAT8��1j�@EG�������
n|����R��@�q�N���&E�[5n�!BT�Eaw߸�B,��+g�ǟaG�Ng����,���&A�$�]Ux���)˲c̣�~	|ޚd$�^#UUk�Ȩ��e9����w����c���(�&�>�6k�_KԴ연�m�QgQH���sn^�(��v�J$"�{R�;|�?�|o��m������3��IEND�B`�PḲGa��::chatty/gui/icon_mod.png�PNG

IHDRVΎWbKGD�������	pHYs��tIME�8ͻ�OiTXtCommentCreated with GIMPd.e�IDAT8��1�@E��Z+x0Eѻ��d�����Aص��/���9ՙ<f��;3��7E �����}�Q�1ƥ�H�q�@_J)�xq���OU Um��l@��mHD$�tt���>7E�B��!��'�[��f�mS*�,��_^��N�IEND�B`�PḲG8ȍ���chatty/gui/icon_staff.png�PNG

IHDRVΎWbKGD�C�	pHYs��tIME�!{��iTXtCommentCreated with GIMPd.eIDAT8�퓱J�@�g7&Ҙ�-�!��|-�,��J��v�iDT��%A��HDCfl�8�r���2�|��l4Xι"N�hAD�����y���@Dt����*��c&Mӌ�s�m����*�VHU��1;a�'I����.�]�ݽ��Q-����3*�b/��e9#D�|��,�����>z����~�IUUo"2_�k'HDn���4M� x�G��eYv!"'𤪿�����u]m��0�E�����M�IEND�B`�PḲGt����chatty/gui/icon_sub.png�PNG

IHDRVΎWbKGD�C�	pHYs��tIME�
A�	iTXtCommentCreated with GIMPd.eIDAT8˥�1hSQ����GR	�Cn_(ʥ�4�"���(�Dh�@L������MB�A0C��.� JAphjB�`�.�u0�����˽����o�c΅o�Bw��BQ`cU�p�T*}+�g�μ��Bbyy92�l&�s޲[[[�|\J�h4��n��_g)2��񙝸����H�R�Gg��9�	8ލy�:�S.�moo��R�Rʧ�҄!�v��z=�i��^�w~||���l�����8����&����[��,KB`��a ��b��/����j�^
��مGg�~�m�����-�,I)/5�u]*��f����Y�]
�Å�����8j8�E�qT2�����}�ȓ�`�9��a�?]l�&��;�Λi%�%;����~1-�uq]�T*��pk�@~�_�u�Z�F�Z�P,7���-y��t:�̲,��d��r���R�mnn*˲�ثN66B�P��]�F�����k`�k�ow�'2HO����+��~�ڨ��9��IEND�B`�PḲGo7���chatty/gui/icon_turbo.png�PNG

IHDRVΎWbKGD�������	pHYs��tIME�;
�LQ�iTXtCommentCreated with GIMPd.e/IDAT8�c`�#6�����ǫ��Cݜ�����F
����%#{�)IEND�B`�PKʣG��S��-chatty/gui/notifications/Notification$1.class���3<		$		% &"'()*+","-./val$listener/Lchatty/gui/notifications/NotificationListener;this$0'Lchatty/gui/notifications/Notification;<init>Y(Lchatty/gui/notifications/Notification;Lchatty/gui/notifications/NotificationListener;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/notifications/Notification$1;mouseClicked(Ljava/awt/event/MouseEvent;)VeLjava/awt/event/MouseEvent;
StackMapTablemouseEnteredmouseExitedSourceFileNotification.javaEnclosingMethod01
232456789:9;9'chatty/gui/notifications/Notification$1java/awt/event/MouseAdapter%chatty/gui/notifications/NotificationW(Ljava/lang/String;Ljava/lang/String;Lchatty/gui/notifications/NotificationListener;I)V()Vclosejavax/swing/SwingUtilitiesisRightMouseButton(Ljava/awt/event/MouseEvent;)Z-chatty/gui/notifications/NotificationListenernotificationAction*(Lchatty/gui/notifications/Notification;)Vaccess$000access$100 	
9*+�*,�*���p#*��+��*��*�*�������"�##"@*�����@*����� !"#	PKʣG�|&[[-chatty/gui/notifications/Notification$2.class���3%	 this$0'Lchatty/gui/notifications/Notification;<init>*(Lchatty/gui/notifications/Notification;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/notifications/Notification$2;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileNotification.javaEnclosingMethod!	"	#$'chatty/gui/notifications/Notification$2java/lang/Objectjava/awt/event/ActionListener%chatty/gui/notifications/NotificationW(Ljava/lang/String;Ljava/lang/String;Lchatty/gui/notifications/NotificationListener;I)V()Vaccess$200 	4*+�*���
@*�����
PKʣG� ��-chatty/gui/notifications/Notification$3.class���3%	 this$0'Lchatty/gui/notifications/Notification;<init>*(Lchatty/gui/notifications/Notification;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/notifications/Notification$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileNotification.javaEnclosingMethod!"#	#$'chatty/gui/notifications/Notification$3java/lang/Objectjava/awt/event/ActionListener%chatty/gui/notifications/NotificationfadeOut()Vaccess$400 	4*+�*��'
@*���+,
PKʣG����-chatty/gui/notifications/Notification$4.class���3&	 this$0'Lchatty/gui/notifications/Notification;<init>*(Lchatty/gui/notifications/Notification;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/notifications/Notification$4;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileNotification.javaEnclosingMethod!"#	$%$'chatty/gui/notifications/Notification$4java/lang/Objectjava/awt/event/ActionListener%chatty/gui/notifications/NotificationstartTimer(Z)V()Vhide 	4*+�*��A
@*���EF
PKʣG��4-chatty/gui/notifications/Notification$5.class���3%	 this$0'Lchatty/gui/notifications/Notification;<init>*(Lchatty/gui/notifications/Notification;)VCodeLineNumberTableLocalVariableTablethisInnerClasses)Lchatty/gui/notifications/Notification$5;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileNotification.javaEnclosingMethod!"#	#$#'chatty/gui/notifications/Notification$5java/lang/Objectjava/awt/event/ActionListener%chatty/gui/notifications/NotificationstartFallbackTimer()Vhide 	4*+�*��N
@*���QR
PKʣG��#qpp-chatty/gui/notifications/Notification$6.class���3-			";$SwitchMap$chatty$gui$notifications$Notification$HideMethod[I<clinit>()VCodeLineNumberTableLocalVariableTableexLjava/lang/NoSuchFieldError;
StackMapTableSourceFileNotification.javaEnclosingMethod#$&'	()*+java/lang/NoSuchFieldError,)'chatty/gui/notifications/Notification$6InnerClassesjava/lang/Object%chatty/gui/notifications/Notification0chatty/gui/notifications/Notification$HideMethodHideMethodvalues5()[Lchatty/gui/notifications/Notification$HideMethod;FADE_OUT2Lchatty/gui/notifications/Notification$HideMethod;ordinal()ICLOSE 	
~(�������O�K���O�K�	#&�'WM!%@PKʣG��U���6chatty/gui/notifications/Notification$HideMethod.class���35	&'(*+,
-	.	/0FADE_OUTHideMethodInnerClasses2Lchatty/gui/notifications/Notification$HideMethod;CLOSE$VALUES3[Lchatty/gui/notifications/Notification$HideMethod;values5()[Lchatty/gui/notifications/Notification$HideMethod;CodeLineNumberTablevalueOfF(Ljava/lang/String;)Lchatty/gui/notifications/Notification$HideMethod;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>DLjava/lang/Enum<Lchatty/gui/notifications/Notification$HideMethod;>;SourceFileNotification.java1230chatty/gui/notifications/Notification$HideMethod4
java/lang/Enumclone()Ljava/lang/Object;%chatty/gui/notifications/Notification5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@
@	"�����	5*����1*+��� !"!J.�Y��	�Y���Y�	SY�S���� #$%)@PKʣGK'C>chatty/gui/notifications/Notification$MyActivityListener.class���3)	 !"#$this$0'Lchatty/gui/notifications/Notification;<init>*(Lchatty/gui/notifications/Notification;)VCodeLineNumberTableLocalVariableTablethisMyActivityListenerInnerClasses:Lchatty/gui/notifications/Notification$MyActivityListener;activity()V%S(Lchatty/gui/notifications/Notification;Lchatty/gui/notifications/Notification$1;)Vx0x1)Lchatty/gui/notifications/Notification$1;SourceFileNotification.java	&'(8chatty/gui/notifications/Notification$MyActivityListenerjava/lang/Objectchatty/util/ActivityListener'chatty/gui/notifications/Notification$1%chatty/gui/notifications/Notificationaccess$500+(Lchatty/gui/notifications/Notification;Z)V 	4*+�*��
�7	*���
��	D*+��
� 	 PKʣG$�o9k-k-+chatty/gui/notifications/Notification.class���3A�2�3�4�5�6�7	�8w@	�9�`	�:	�;	�<	�=	�>	�?@7	�ABCDE	FGH�I?}p��JKL7M	�NOP	�QRS&7T(7	�U(V	&W	&X	&YZ/[	&\]^(_	�`(aA bc(d	�e(fghijk>7il>mn>o�p	�q	&rstHuvw	Hx(y	�z{O|}~�	����V�U�	��U�U�����	�����b�	�������	��������	��U�U��������	���t�	��?��y��{��������?�������=L��J���	����U������<�>������������	�������	������InnerClassesMyActivityListener�HideMethodSECONDI
ConstantValue�ICONLjavax/swing/ImageIcon;PADDING_BORDERLjavax/swing/border/Border;LINE_BORDERBORDER	MAX_WIDTH�HTMLLjava/lang/String;HTML_FIXED_WIDTHBACKGROUND_COLORLjava/awt/Color;MAX_MESSAGE_LENGTH�DEFAULT_OPACITYFUPDATE_TIME_INTERVALSHORTER_AFTER_ACTIVITYZSHORTER_CUTOFF�timeoutfallbackTimeoutactivityTimevisibleSinceJ	createdAtclosedwindowLjavax/swing/JWindow;listener/Lchatty/gui/notifications/NotificationListener;translucencySupportedhideMethod2Lchatty/gui/notifications/Notification$HideMethod;	timeLabelLjavax/swing/JLabel;fadeOutTimerLjavax/swing/Timer;
fallbackTimerregularTimerupdateTimeTimeractivityListenerLchatty/util/ActivityListener;<init>W(Ljava/lang/String;Ljava/lang/String;Lchatty/gui/notifications/NotificationListener;I)VCodeLineNumberTableLocalVariableTablethis'Lchatty/gui/notifications/Notification;titlemessageexpireTimepanelLjavax/swing/JPanel;gbcLjava/awt/GridBagConstraints;	iconLabelcontent
StackMapTable���KSTgetVisibleTime()JsetActivityTime(I)Vtime
setHideMethod5(Lchatty/gui/notifications/Notification$HideMethod;)VmethodsetTimeoutsetLocation(Ljava/awt/Point;)VlocationLjava/awt/Point;	getHeight()IgetSize()Ljava/awt/Dimension;moveVerticaloffsetshow()VhidesetFallbackTimeoutclosefadeOutstartTimer(Z)VtimerDelay
afterActivitystartFallbackTimermakeContent9(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;fixedWidthkperformFadeOutopacitysetOpacity(F)VcheckTranslucencySupportmouseEnteredmouseExitedstopTimers	stopTimer(Ljavax/swing/Timer;)VtimerupdateCreatedTimeagomakeTimeString(J)Ljava/lang/String;minuteshoursaccess$000*(Lchatty/gui/notifications/Notification;)Vx0access$100access$200access$400access$500+(Lchatty/gui/notifications/Notification;Z)Vx1<clinit>SourceFileNotification.java
 �����������������javax/swing/JWindow���
�
�
�
�����javax/swing/JPaneljava/awt/GridBagLayout�������
����java/awt/GridBagConstraintsjavax/swing/JLabel����������java/awt/Insets������55m��������������������java/lang/StringBuilder����[..]������java/awt/Dimension�����'chatty/gui/notifications/Notification$1�	
���javax/swing/Timer'chatty/gui/notifications/Notification$2�'���
����8chatty/gui/notifications/Notification$MyActivityListener���
�� !�"'#��'chatty/gui/notifications/Notification$3��'chatty/gui/notifications/Notification$4'chatty/gui/notifications/Notification$55<html><body style='width:190px;font-weight: normal;'>)<html><body style='font-weight: normal;'>"<p style='margin-bottom: 1px;'><b></b></p><p></p>$%&'()*+-./012"#�3mhjavax/swing/ImageIcon%chatty/gui/notifications/Notificationapp_16.png456�789:��java/awt/Color�;<=��>?java/lang/Object'chatty/gui/notifications/Notification$60chatty/gui/notifications/Notification$HideMethodjava/lang/String-chatty/gui/notifications/NotificationListenerFADE_OUTsetFocusablesetFocusableWindowStatesetAutoRequestFocussetAlwaysOnTop@"java/awt/Dialog$ModalExclusionTypeModalExclusionTypeAPPLICATION_EXCLUDE$Ljava/awt/Dialog$ModalExclusionType;setModalExclusionType'(Ljava/awt/Dialog$ModalExclusionType;)V(Ljava/awt/LayoutManager;)V	setBorder(Ljavax/swing/border/Border;)V	setOpaque
setBackground(Ljava/awt/Color;)VsetIcon(Ljavax/swing/Icon;)Vgridxgridyanchor(IIII)VinsetsLjava/awt/Insets;add)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/lang/String;)VgetFont()Ljava/awt/Font;
java/awt/FontderiveFont(F)Ljava/awt/Font;setFont(Ljava/awt/Font;)VGRAY
setForeground
chatty/Helperhtmlspecialchars_encode&(Ljava/lang/String;)Ljava/lang/String;length	substring(II)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;BLACKgridheight*(Ljava/awt/Component;)Ljava/awt/Component;(II)VsetMaximumSize(Ljava/awt/Dimension;)VgetPreferredSizewidthsetTextY(Lchatty/gui/notifications/Notification;Lchatty/gui/notifications/NotificationListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)Vpackjava/lang/SystemcurrentTimeMillis#(ILjava/awt/event/ActionListener;)VsetRepeatsstartgetLocation()Ljava/awt/Point;java/awt/Pointychatty/util/ActivityTrackergetLastActivityAgoS(Lchatty/gui/notifications/Notification;Lchatty/gui/notifications/Notification$1;)VaddActivityListener!(Lchatty/util/ActivityListener;)VsetVisible;$SwitchMap$chatty$gui$notifications$Notification$HideMethod[Iordinal	isRunning()ZstopdisposenotificationRemovedremoveActivityListenergetOpacity()FgetGraphicsConfiguration"()Ljava/awt/GraphicsConfiguration;java/awt/GraphicsConfiguration	getDevice()Ljava/awt/GraphicsDevice;*java/awt/GraphicsDevice$WindowTranslucencyWindowTranslucencyTRANSLUCENT,Ljava/awt/GraphicsDevice$WindowTranslucency;java/awt/GraphicsDeviceisWindowTranslucencySupported/(Ljava/awt/GraphicsDevice$WindowTranslucency;)Zrestart(J)Ljava/lang/StringBuilder;java/lang/ClassgetResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)Vjavax/swing/BorderFactorycreateEmptyBorder!(IIII)Ljavax/swing/border/Border;(III)VcreateLineBorder.(Ljava/awt/Color;I)Ljavax/swing/border/Border;createCompoundBorder[(Ljavax/swing/border/Border;Ljavax/swing/border/Border;)Ljavax/swing/border/CompoundBorder;java/awt/Dialog!���������������������~���}���������������������������������������������������� ���|	�*�*'�*�	*�*	�*�
*�*��*�Y��*��*��*��*��*���*�*��Y�Y�� :�!�"�#�$�%�&Y�':�(Y�):�*�+�,�-�.�/Y�0�1�2*�(Y3�4�5*�5*�5�67�8�9*�5�:�;�,�-*�5�2,�<M,�=���>Y�?,��@�AB�A�CM�(Y*+,�D�4:�E�;�,�-�F�2*��GW*��HY�d�I�J*��K�L��*+,�D�M*-�N*��OY*-�P�Q*��R*�S�T*�*�UY�VY*�W�X�Y*�Y�Z*�Y�[���8hABCEH!P&Q-j8k@lHmPnXobpfqlt|u�v�w�y�|�}�~������������������(�C�S�[�a�g�m�v��������������������������\	���������������|���`���W��S����%�C��������k����3	�S*�e����	�����>*�������������>*+�������������>*�������������A	*�+�\�����	��	���2*��]�������2*��^��������e*��_M,Y�``�`*�,�\������� �������C*���a*����*��*�bY*�c�d*�d�e*�f*�S�*��g��"���(�/�3�:�B��C����u0�h*��i.�$ *�j�*�k���$�(�+/�0���$	��o"*�	*�l�*�l�m�*�l�n*�f��
!�"��"���!��0*�o*�
*��p*�N�
*�N*�q*�d�*�d�r��"	!(/ �0���!
�c$*�s�*�UYP�tY*�u�X�s*�s�[��&'.#0�$���#
��U*�v�P*�
�I*�=��wk�=�=*�UY�yY*�z�X�v*�v�Z*�v�[��*89:<&=->1AEHMITK� A�U��U��	�1�"�]'*�UY*�	�{Y*�|�X�l*�l�Z*�l�[��NTU&V�'����5�>Y�?�}�~�A�A+�A��A��A,�A��A�C��Y�*5��5��5��5��P�������/*��*�k�#*���D#����*�k�*#�f���abdef&h.k��/������f*��#��D*�#����st
uwy������C**�����������������=*�*�o���������Q*�
�*�v�*�v������������d&**�s��**�v��**�l��**�Y��*�s������ �%��&���U+�+�m�+�n���������� �V�S*�Te�m@*�5*���M���
�����

!�"#��I������mB!����>Y�?!����A�C�!�m7�>Y�?����A�C�������-�4��*I��I��8$�4%���!&'�/*���!�(�)'�/*���!�(�*'�/*���!�(�+'�/*���!�(�,-�:*���!�(�.�/�|T��Y�������*			������Y222�������������!��Y�����$��%' (4)@001�R��b�����@{ytVOF��@��,@PKʣG�!��##9chatty/gui/notifications/NotificationActionListener.class���3notificationAction(Ljava/lang/Object;)V	Signature(TT;)V(<T:Ljava/lang/Object;>Ljava/lang/Object;SourceFileNotificationActionListener.java3chatty/gui/notifications/NotificationActionListenerjava/lang/Object	PKʣGV�=��3chatty/gui/notifications/NotificationListener.class���3	notificationRemoved*(Lchatty/gui/notifications/Notification;)VnotificationActionSourceFileNotificationListener.java-chatty/gui/notifications/NotificationListenerjava/lang/ObjectPKʣGl�mm4chatty/gui/notifications/NotificationManager$1.class���3=	#	$!%!&!'()*+,-.this$0.Lchatty/gui/notifications/NotificationManager;<init>1(Lchatty/gui/notifications/NotificationManager;)VCodeLineNumberTableLocalVariableTablethisInnerClasses0Lchatty/gui/notifications/NotificationManager$1;LocalVariableTypeTable0Lchatty/gui/notifications/NotificationManager.1;notificationRemoved*(Lchatty/gui/notifications/Notification;)Vsource'Lchatty/gui/notifications/Notification;notificationAction
StackMapTableSourceFileNotificationManager.javaEnclosingMethod/
0
123456789:;<.chatty/gui/notifications/NotificationManager$1java/lang/Object-chatty/gui/notifications/NotificationListener,chatty/gui/notifications/NotificationManager(Ljava/awt/Component;)V()Vaccess$000X(Lchatty/gui/notifications/NotificationManager;Lchatty/gui/notifications/Notification;)Vaccess$100e(Lchatty/gui/notifications/NotificationManager;)Lchatty/gui/notifications/NotificationActionListener;access$200?(Lchatty/gui/notifications/NotificationManager;)Ljava/util/Map;
java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;3chatty/gui/notifications/NotificationActionListener(Ljava/lang/Object;)V 	
F*+�*��US	*�+��YZ			{$*���*��*��+���^_#a$$$# !"PKʣG�ˇoo4chatty/gui/notifications/NotificationManager$2.class���3/  !"#$%&<init>()VCodeLineNumberTableLocalVariableTablethisInnerClasses0Lchatty/gui/notifications/NotificationManager$2;runm.Lchatty/gui/notifications/NotificationManager;SourceFileNotificationManager.javaEnclosingMethod'(
,chatty/gui/notifications/NotificationManager)*+,+TestTest message with some text.-..chatty/gui/notifications/NotificationManager$2java/lang/Objectjava/lang/Runnablemain([Ljava/lang/String;)V(Ljava/awt/Component;)VsetPosition(I)V	setScreenshowMessage'(Ljava/lang/String;Ljava/lang/String;)V0	
/*���
`�Y�L+�+�+���	����		PKʣG��,/'/'2chatty/gui/notifications/NotificationManager.class���3�	^�	^�^�_���	^�	^��	�	^�w@	^�	^���	^�	^�	^�	^�	��	^�	^�^�^	^	^ ^
^^^	^^	^	^	^ !"#$^%^&'^(^)*+,-.-/0123-45H�	R6	H6	R7	H7	R8	98	R:	9:;<=R>?@?A	BC	BD	BE	BFG[�HIJKInnerClassesVERTICAL_MARGINI
ConstantValueHORIZONTAL_MARGINSECOND�MINUTE�`	displayedLjava/util/LinkedList;	Signature?Ljava/util/LinkedList<Lchatty/gui/notifications/Notification;>;queuenotificationDataLjava/util/Map;;Ljava/util/Map<Lchatty/gui/notifications/Notification;TT;>;screenpositionverticalMoveDirectionhorizontalMoveDirectiondisplayTimemaxDisplayTimeshortMaxDisplayTimeexpireTimeactivityTimemaxItemsmaxQueueSizehideMethodLHideMethod2Lchatty/gui/notifications/Notification$HideMethod;parentLjava/awt/Component;listener/Lchatty/gui/notifications/NotificationListener;actionListener5Lchatty/gui/notifications/NotificationActionListener;:Lchatty/gui/notifications/NotificationActionListener<TT;>;<init>(Ljava/awt/Component;)VCodeLineNumberTableLocalVariableTablethis.Lchatty/gui/notifications/NotificationManager;LocalVariableTypeTable3Lchatty/gui/notifications/NotificationManager<TT;>;showMessage9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)VtitleLjava/lang/String;messagedataLjava/lang/Object;n'Lchatty/gui/notifications/Notification;TT;
StackMapTable*(Ljava/lang/String;Ljava/lang/String;TT;)V'(Ljava/lang/String;Ljava/lang/String;)VclearAll()V
clearAllShowni$Ljava/util/Iterator;MsetPosition(I)V	setScreensetDisplayTimesetMaxDisplayTimesetShortMaxDisplayTimeshortDisplayTimesetMaxQueueSizesizesetMaxDisplayItemscount
setExpireTimetimesetActivityTime
setHideMethod5(Lchatty/gui/notifications/Notification$HideMethod;)VsetNotificationActionListener8(Lchatty/gui/notifications/NotificationActionListener;)V=(Lchatty/gui/notifications/NotificationActionListener<TT;>;)VisClear()ZupdateVariablesnotificationRemoved*(Lchatty/gui/notifications/Notification;)VnextremovedoffsetititQueue=Ljava/util/Iterator<Lchatty/gui/notifications/Notification;>;checkQueueSizeshowNotificationconfig Ljava/awt/GraphicsConfiguration;locationLjava/awt/Point;N5getCurrentOffset()IgetGraphicsConfig"()Ljava/awt/GraphicsConfiguration;gdevices[Ljava/awt/GraphicsDevice;�calculateLocation<(ILjava/awt/Rectangle;Ljava/awt/Dimension;I)Ljava/awt/Point;boundsLjava/awt/Rectangle;Ljava/awt/Dimension;
getSafeBounds6(Ljava/awt/GraphicsConfiguration;)Ljava/awt/Rectangle;insetsLjava/awt/Insets;main([Ljava/lang/String;)Vargs[Ljava/lang/String;access$000X(Lchatty/gui/notifications/NotificationManager;Lchatty/gui/notifications/Notification;)Vx0x1access$100e(Lchatty/gui/notifications/NotificationManager;)Lchatty/gui/notifications/NotificationActionListener;access$200?(Lchatty/gui/notifications/NotificationManager;)Ljava/util/Map;(<T:Ljava/lang/Object;>Ljava/lang/Object;SourceFileNotificationManager.javaqr������java/util/LinkedListlmpmjava/util/HashMapxcyczc{c|c}c~cO��������.chatty/gui/notifications/NotificationManager$1�P��%chatty/gui/notifications/Notification�Q��R�������ST��UVW��X����YZ[M\��]^���uc��tc_`�a�vcwcb�c�d�e]����fg����hij�k�lmnopqr�st�uvjava/awt/Pointwcxcycz{cjava/awt/RectangleN|}�~������c�c�c�c.chatty/gui/notifications/NotificationManager$2���,chatty/gui/notifications/NotificationManagerjava/lang/Object0chatty/gui/notifications/Notification$HideMethodjava/util/Iteratorjava/awt/GraphicsConfigurationFADE_OUT1(Lchatty/gui/notifications/NotificationManager;)VW(Ljava/lang/String;Ljava/lang/String;Lchatty/gui/notifications/NotificationListener;I)VsetFallbackTimeoutadd(Ljava/lang/Object;)Z
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;clear(Ljava/util/Collection;)Viterator()Ljava/util/Iterator;hasNext()Ljava/lang/Object;closechatty/util/ActivityTracker
startTrackingisEmpty	getHeightremovemoveVerticalgetFirstgetSize()Ljava/awt/Dimension;setLocation(Ljava/awt/Point;)VsetTimeoutshowjava/awt/GraphicsEnvironmentgetLocalGraphicsEnvironment ()Ljava/awt/GraphicsEnvironment;getScreenDevices()[Ljava/awt/GraphicsDevice;java/awt/GraphicsDevicegetDefaultConfigurationjava/awt/ComponentgetGraphicsConfigurationgetDefaultScreenDevice()Ljava/awt/GraphicsDevice;xywidthjava/awt/Dimensionheight	getBounds()Ljava/awt/Rectangle;(Ljava/awt/Rectangle;)Vjava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;getScreenInsets3(Ljava/awt/GraphicsConfiguration;)Ljava/awt/Insets;java/awt/Insetslefttoprightbottomjavax/swing/SwingUtilitiesinvokeLater(Ljava/lang/Runnable;)V!^_bcdefcdghcdijcdklmnopmnoqrnstcucvcwcxcyczc{c|c}c~c�������n�����q*�*�Y��*�Y��*�	Y��*'�*�
*е*�*�*�*�*��*+�*�*�*�Y*����FP%')%5,7299;?=D@IBNDUQZR_SdUpc�q��q���q�����a�Y+,*�*��:*��*�
�*�� *��!*��*�"�*��#W*�$*�-�%W��*mnp%q.r<sEuOvSx`y�4a��a��a��a��N���a��a���	�E�
n����\*+,�&��|}� ������������P*��'*�(���������������*�Y*��)�*L+�+�+�,�M,�-�����"�&�)�� "����*���*���������l*�.�*�/*�0���������uc�������d
*�.�*�1������
��
tc�
������T*�h����	����xc������T*�h�
���	����yc������P*���������c������P*���������c������P*���������c������P*���������c������o*�h�*���2���	�������c�������P*+���������������Z*+���������������n����e*��3�*��3������������������;*�/�*�/�*�4�*�4*�/�*�/�*�5�*�5������-�5�:��;���;������q�=*��6N-�+�7-�,�:+��7`=-�8��*�4h�9���*��6:�+�-*��!*���,�:�8*�"��ϱ�F	$,5
9DGPht{���H&��t
����������c{��P5��� ���{��P5������*����3���w**��!*��*��!�*��:�*���� !)#�*���*���)����h*�$*�;M**�/,�<+�=*�>�?N+-�@+*�*�l*��!h`�A*��!*��*��!�+*��*�+�#W+�B��*./	02#3:4R5Z7c8g9�*h��h��	_��J���h����Z������+<*��*M,�+�,�,�N-�7``<�����ABC&D)E�*	����+��)�c�+����������B�C�DL*�1�+�d*�1�
+*�12�E�*��*��FM,�,��C�G�E��"OQR#U*V2W6X8[� 2��B��;���B���	�#����p�HY�I:,�J*�5hd�K,�L�M��Y�K,�N-�Od`�K��Y�M,�P-�Qd`�Mt6Y�M`�M��*j	kl"m,n?pIq\ratmu�>p��pucp��p��p�c	g���p����,�	����T�RY*�S�TL�U*�VM+Y�J,�W`�J+Y�L,�X`�L+Y�N,�W,�Y`d�N+Y�P,�X,�Z`d�P+�����!�.�@�R�� T��H��@�����9�[Y�\�]����������:*+�����������/*���������/*������n���a[��@PḲG���#chatty/gui/notifications/app_16.png�PNG

IHDR�a	pHYs��~��IDAT8���Mhe����7s�M�4?�X�DDj�B�qѢƍHՒ���NQ�"�څ�"��MAhZD��J����T����{3ɝ;3�����*�_8�s8��p�� �&���W�����7�g��9x��G�N6FB�B�Z�X���e�S��W���_/��կ��֞��mcͳ�.{��{L8�t8�@Cw�+��C|ZW�M�VW����?,o,������S�\�i(��p����l.�g��Q^�{�n�N����jycQ)g-E^ba�֐�,�{�_��;�ʹ��I7�䋋�K#��X%�:��@x�T]G��|v�2O��ǡ�S��SΙ7�#��d���7�������6��P;��!�V�ѴV<�%�'�#f�*w���@
���k���]�������#HC^��,'�Z �"��Q�g��.[s�q�[�2��\�q��^��0T$I���X�l&�9D�^ct�m�*ץ�EZ�:r��45vzba�L���"�+��t�tdGM�Rd�ʺ�,6��!&� ���ۙʓJyWz�7��K��N��DQPIK}߽���<3���Cj�~�x��:u~G8YZg���ڝ¥oz�o~\�������d��}�>RC'��.jo��@�������_�[{��"AiA��$��`�'��O5�r+gn
����3�'��N��o�IEND�B`�PḲG��۪cc!chatty/gui/preferences-system.png�PNG

IHDR�abKGD�������	pHYs��tIME�	9�c�H�IDAT8˥�Kha����L�M�J��ƅ��E�.4bf�Bp!T���-RCB�kAte@��‰��bW��6�I�Uiӗ� DD:3nf�1�³���{�?�'�#�Q����X"�M4�Ql��RT�����������l��b4u#�Q�ZêE�tF�Zd�����fx��>�XBr"��2�>�0���6�א:%��Z���,1�`o��%�n�Fa~N(�/�;+�t��H�Ra�� �%��N�ʿ4J��'{(��L��A0�:Ԭ���N�	��G��l6y7��5<N�p��P'/ٙM��K.}^:�}���?�Jm�����U���TP{4&3[^d��H�A��r.�I�8{��dv"P3��Ė�#��Qo�#�#��'�9���L�`�i��]�����/���p�I.�R�X�#l`e�;�}�zx>� �irt�I4M�k�@ҾB0��L8���;�77���T�IEND�B`�PḲG��á��chatty/gui/star.png�PNG

IHDR�a~IDAT8�}RKOQ=�N;P����ChSH5U��ԍtc\����E���;6+Ԩ7.�qa�C\��Wą�& &J�tڙ��h��&'7_�N��9 "T�����a�8Ub��}�qayf8
�Y��Q�tv�\�u�k�����;�����I��N�E^J�>�S��Z�F��ʹ���;x��mw"����i�C��aJDFIl��k�-�����S����RE�2X
�d�ҙL6���$Z:�XX��zaQm���{:�@&�(��I�X��$$��;��v��;^2�erj.\��mǎ��Jr(�*��	�fELR��a�ˇ���UFD�b��<��'���$�H��Ʋ��P�ez5�8_�Fb�̈p3ļA����ͽe�Q"z9�=�N�C�1Z�+�{������nE�|�&��L�,'6�7��`��Q��-�L0.�z��Y�nI�	� &��]_�ՀL�(�ť��M��Y}���P����׳+o�f�BcsZ�ۅ�TN6;���Ef��@fhҋ���OL~][y�#z60JZ4�����l�lPu�sS�n�Ja$�ܜp@'�/��;�0.v���1|���)�k}�ĸ_IEND�B`�PKʣG�c��"chatty/util/ActivityListener.class���3	activity()VSourceFileActivityListener.javachatty/util/ActivityListenerjava/lang/ObjectPḲG�P�N{{#chatty/util/ActivityTracker$1.class���3 <init>()VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/ActivityTracker$1;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;SourceFileActivityTracker.javaEnclosingMethodchatty/util/ActivityTracker$1java/lang/Objectjava/awt/event/ActionListenerchatty/util/ActivityTracker
startTrackingaccess$0000/*��	/<��	34
PḲG/���tt#chatty/util/ActivityTracker$2.class���3 <init>()VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/ActivityTracker$2;eventDispatched(Ljava/awt/AWTEvent;)VeventLjava/awt/AWTEvent;SourceFileActivityTracker.javaEnclosingMethodchatty/util/ActivityTracker$2java/lang/Objectjava/awt/event/AWTEventListenerchatty/util/ActivityTracker
startTrackingtriggerActivity0/*��	7<��	;<
PḲG����

!chatty/util/ActivityTracker.class���3�%b*c	%defcghijk cil	%mnopqr	%s%tuvwx	%yz{	%|%}%~	%�����������"������o��(c�InnerClassesLOGGERLjava/util/logging/Logger;DELAYI
ConstantValue�	listenersLjava/util/List;	Signature0Ljava/util/List<Lchatty/util/ActivityListener;>;lastLocationLjava/awt/Point;	lastMovedJlastActivitytimerLjavax/swing/Timer;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/ActivityTracker;
startTracking
StackMapTabletriggerActivitycheckMouseLocationinfoLjava/awt/PointerInfo;currentLocation��getLastActivityTime()JgetLastActivityAgogetLastMouseMovedTimegetLastMouseMovedAgoaddActivityListener!(Lchatty/util/ActivityListener;)VlistenerLchatty/util/ActivityListener;removeActivityListenerinformListenersitLjava/util/Iterator;LocalVariableTypeTable4Ljava/util/Iterator<Lchatty/util/ActivityListener;>;�access$000<clinit>SourceFileActivityTracker.javaH?>?<=javax/swing/Timerchatty/util/ActivityTracker$1>��?���chatty/util/ActivityTracker$2��-. Started tracking user activity..�I���O;:X?������78���9:G?E?34������������chatty/util/ActivityListener�?�?chatty/util/ActivityTracker�����java/util/ArrayListjava/lang/Objectjava/awt/PointerInfojava/awt/Pointjava/util/Iterator#(ILjava/awt/event/ActionListener;)Vstartjava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;addAWTEventListener%(Ljava/awt/event/AWTEventListener;J)Vjava/util/logging/Logger(Ljava/lang/String;)Vjava/lang/SystemcurrentTimeMillisjava/awt/MouseInfogetPointerInfo()Ljava/awt/PointerInfo;getLocation()Ljava/awt/Point;equals(Ljava/lang/Object;)Zjava/util/Listaddremoveiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;activityjava/lang/ClassgetName()Ljava/lang/String;	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!%*-./0123456789:;:<=
>?@/*��ABCD	E?@u<��8��Y��Y������	�Y�����A-.	/6#73>;@F;	G?@*����AFG	HH?@�,�K*��*�L���+�����+��A&	NQR	TVW$X'Z+[B(IJK8F�	L�M	NO@��Ac	PO@ ��e�Al	QO@#���Auv	RO@'���e�A�	ST@Q*���*�W�A����BUVF	WT@9�*�W�A��BUVX?@�*��K*� �*�!�"�#*�$���A�	�� �)�B	!YZ[	!Y\F	�	]^?@��A_?@C%�&�'��(Y�)�	�	��A!$%`a,PKʣG�����chatty/util/BTTVEmotes$1.class���3E	&	'($)*+,$-./$01234val$streamLjava/lang/String;this$0Lchatty/util/BTTVEmotes;<init>?(Lchatty/util/BTTVEmotes;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/BTTVEmotes$1;x0
requestResult(Ljava/lang/String;I)VresultresponseCodeI
StackMapTableSourceFileBTTVEmotes.javaEnclosingMethod567
789$global$:;<=>?@7ABCD<chatty/util/BTTVEmotes$1chatty/util/UrlRequestchatty/util/BTTVEmotesrequest(Ljava/lang/String;)Vaccess$000?(Lchatty/util/BTTVEmotes;Ljava/lang/String;Ljava/lang/String;)Ijava/lang/Stringequals(Ljava/lang/Object;)Zaccess$1003(Lchatty/util/BTTVEmotes;)Lchatty/util/SimpleCache;chatty/util/SimpleCachesaveaccess$200)(Lchatty/util/BTTVEmotes;)Ljava/util/Set;
java/util/Setremove 
D*+�*-�*,��P�?Ƞ)*�+*���*���*��+�*��	*��W�TU"V-Y>Z ??? -!"#$%PKʣG��m��"�"chatty/util/BTTVEmotes.class���3�	d�	d�d�i�����	d�	d���	d�Q� ������<���d�d� �d���������"�""dd	d	�"
2�2�58 "!"�<#$�d%&����(	)*L+L,L-L.L/0L1�52�d3L456789:;`<L=8#>?@ABCDEInnerClassesLOGGERLjava/util/logging/Logger;URLLjava/lang/String;
ConstantValueURL_CHANNELCACHE_EXPIRES_AFTERIQ�FILElistenerLchatty/util/EmoticonListener;cacheLchatty/util/SimpleCache;requestPendingLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;alreadyRequested<init>!(Lchatty/util/EmoticonListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/BTTVEmotes;
requestEmotes(Ljava/lang/String;Z)VchannelforcedUpdateZstream
StackMapTableloadGlobal(Z)Vcachedrequest(Ljava/lang/String;)VurlLchatty/util/UrlRequest;getUrlForStream&(Ljava/lang/String;)Ljava/lang/String;loadEmotes'(Ljava/lang/String;Ljava/lang/String;)IjsonstreamRestrictionemotesbotsLocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;	parseBots#(Ljava/lang/String;)Ljava/util/Set;oLjava/lang/Object;i$Ljava/util/Iterator;rootLorg/json/simple/JSONObject;	botsArrayLorg/json/simple/JSONArray;exLjava/lang/Exception;resultparser#Lorg/json/simple/parser/JSONParser;FGH7(Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;parseEmotes5(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Set;emoteLchatty/util/api/Emoticon;urlTemplateemotesArraychannelRestrictionQ(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;parseEmote\(Lorg/json/simple/JSONObject;Ljava/lang/String;Ljava/lang/String;)Lchatty/util/api/Emoticon;
knownAndValidrrestrictionscodeinfoid	imageTypebuilderBuilder"Lchatty/util/api/Emoticon$Builder;restrictionLjava/lang/RuntimeException;(EIaddRestrictionS(Ljava/lang/Object;Lorg/json/simple/JSONObject;Lchatty/util/api/Emoticon$Builder;)Zchanemoticon_setvaluekeyaccess$000?(Lchatty/util/BTTVEmotes;Ljava/lang/String;Ljava/lang/String;)Ix0x1x2access$1003(Lchatty/util/BTTVEmotes;)Lchatty/util/SimpleCache;access$200)(Lchatty/util/BTTVEmotes;)Ljava/util/Set;<clinit>()VSourceFileBTTVEmotes.javaz{xy���java/util/HashSetJKL~{vwchatty/util/SimpleCacheBTTVuoMNO�PQ$global$RSFTS����UV��WSchatty/util/BTTVEmotes$1X[BTTV]YZ�java/lang/Thread[\�"https://api.betterttv.net/2/emotesjava/lang/StringBuilder%https://api.betterttv.net/2/channels/]^_V����lmBTTV: Found `a]b emotes /  botsc��defgh!org/json/simple/parser/JSONParserijorg/json/simple/JSONObjectklorg/json/simple/JSONArraymnGopqrjava/lang/String%org/json/simple/parser/ParseExceptionjava/lang/ClassCastExceptionBTTV: Error parsing bots: ]st�upNo URL Template��BTTV: Error parsing emotes: v chatty/util/api/Emoticon$Builderw�yz{|}~|�|gif�~������java/lang/NullPointerExceptionBTTV: Error parsing emote:  []channelsemoticonSetjava/lang/Number�a��chatty/util/BTTVEmotes��V����Vbttvemotesjava/lang/Object
java/util/Setjava/util/Iteratorjava/lang/Exceptionjava/lang/RuntimeExceptionjava/util/CollectionssynchronizedSet (Ljava/util/Set;)Ljava/util/Set;((Ljava/lang/String;Ljava/lang/String;J)V
chatty/HelpertoStreamvalidateStream(Ljava/lang/String;)Zequals(Ljava/lang/Object;)Zcontainsload()Ljava/lang/String;add?(Lchatty/util/BTTVEmotes;Ljava/lang/String;Ljava/lang/String;)Vchatty/util/UrlRequestsetLabel(Ljava/lang/Runnable;)Vstartappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringsize()I(I)Ljava/lang/StringBuilder;java/util/logging/Loggerchatty/util/EmoticonListenerreceivedEmoticons(Ljava/util/Set;)VreceivedBotNames$(Ljava/lang/String;Ljava/util/Set;)Vparse&(Ljava/lang/String;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningisEmptychatty/util/api/Emoticonchatty/util/api/Emoticon$TypeTypeLchatty/util/api/Emoticon$Type;F(Lchatty/util/api/Emoticon$Type;Ljava/lang/String;Ljava/lang/String;)V	setStream6(Ljava/lang/String;)Lchatty/util/api/Emoticon$Builder;setLiteral%(Z)Lchatty/util/api/Emoticon$Builder;setStringIdaddStreamRestrictionsetAnimatedkeySet()Ljava/util/Set;build()Lchatty/util/api/Emoticon;intValuesetEmoteset%(I)Lchatty/util/api/Emoticon$Builder;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;
chatty/ChattygetCacheDirectory!di	lmnop!qop$rsptuovwxyz{|}~{|}���9*�*�Y���*�Y���*+�	*�Y�
����)$& *%+8,�9��9vw!����?+�N-��
-����*�-���-��*��*-���&	/013'4(61799>;�*?��?�o?��:�o�������#M�*��M,�
*,�W�	*���>?@BCE"G� #��#��!�o���
����G*�+���*+�M*�+�W*�+�W�Y*,+�N-��Y-�� ��&	J
KMNO*P5\;]F^�*G��G�o3�o5������e +��!��"Y�#$�%+�%�&��a	bd� �� �o�����j,�,��M+,�'N+�(:�)�"Y�#*�%-�+�,-�%�+�,.�%�&�/*�	-�0*�	,�1-�+��"q
rtuvMwWxcy�4j��j�oj�oU�{O�{�U��O�}����{y�Y�L*�+��2Y�3M,*�4�5N-6�7�8:�+��9:�:��;:+�<�W���N�)�"Y�#?�%-�@�&�A+�0]=0]>1Z]=1Z]>�>������*�/�1�K�W�Z�]�^�w��RK��8"��;��*0��^��y�oq�{c���q�}�"���"������!B�|�������Y�M*�,��2Y�3N-*�4�5:B�7�<:��C�
�)D�A,�E�7�8:�9:�:�2�;:�5��5+�F:		�,	�W��ʧ:�)�"Y�#G�%�@�&�A,�B�=B�>C��=C��>�R����� �,�9�A�C�O�i�q�~��������������p~��	i#��V9�� o��,c�oO@�������o��o��{��������7���*���	���5�����B�|����� +N*H�7�<:*I�7�<:*J�7�<::*K�7�<�*K�7�<:��C���C���LY�M-�N:�OW�PW�QW,�,�RW�S���TW*U�7:		�F	�5�>	�5:�V�W:�:�!�;:�X6

������Y�N�)�"Y�#[�%*�@\�%-�@]�%�&�A�X�>X�ZY��>Y��Z���>���Z�v��
��#�&�2�=�W�Y�h�p�w������������������������������������
����(���4����o
��o��o#��o&��oh����N��	�)�� �� �o �o�M	�=���������0��'���$�����������*�<N-^��:+*�7�8�9:�:�!�;:�<�
,�<�RW����-_��++-�7:��<��,�`�a�bW��+*�7:��8�c���N�D�ZD�>Ec�ZEc�>dr�Zdr�>s��Zs��>�V.6@C	ENUZ
bdqsv}��!��"�\	.��(��U��}����o�������������(���$�����B����E*+,���� ���o�o���/*���������/*���������A%d�e�f�)�"Y�#�g�%h�%�&�����kL'�	)'x@PKʣG5��eechatty/util/BackupManager.class���33L�	G�	G���	G������G�G�G�����	G���������	G������������� ������ � � ��	��������	G�G��	G��������������:������������������������LOGGERLjava/util/logging/Logger;CHARSETLjava/nio/charset/Charset;	META_FILELjava/lang/String;
ConstantValuedefaultSourcePathLjava/nio/file/Path;backupPathfilesLjava/util/List;	Signature&Ljava/util/List<Ljava/nio/file/Path;>;lastBackupJnumberI<init>+(Ljava/nio/file/Path;Ljava/nio/file/Path;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/BackupManager;addFile(Ljava/nio/file/Path;)Vfile(Ljava/lang/String;)VfileName
performBackup(II)VexLjava/io/IOException;targetFileNametargetFilesourceFilei$Ljava/util/Iterator;delaycount
StackMapTable�����checkBackupDelay(J)ZbackupDelayagoloadMetadata()Vlinesplit[Ljava/lang/String;x2Ljava/lang/Throwable;readerLjava/io/BufferedReader;Ljava/lang/RuntimeException;f���saveMetadatawriterLjava/io/BufferedWriter;Ljava/lang/Exception;��<clinit>SourceFileBackupManager.java_�VUTUjava/util/ArrayListWX���java/lang/String���fg��|}%java/nio/file/attribute/FileAttribute���java/io/IOExceptionMNjava/lang/StringBuilderCould not create backup dir: �������i]^Performing backup (�)..i�java/nio/file/Path	java/nio/file/LinkOptionbackup__
	java/nio/file/CopyOptionCould not perform backup: �[\��backup_metaOP�� � !"#�java/lang/Throwable$%$No backup meta file, using default. java/lang/NumberFormatException(java/lang/ArrayIndexOutOfBoundsException0Backup meta file invalid format, using default. java/nio/file/OpenOption&'()(*�+i Error writing backup meta file: chatty/util/BackupManager,-�./UTF-8012java/lang/Objectjava/util/Iteratorjava/io/BufferedReaderjava/lang/RuntimeExceptionjava/io/BufferedWriterjava/lang/Exceptionjava/util/Listadd(Ljava/lang/Object;)Zjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/nio/file/FilescreateDirectoriesR(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getLocalizedMessage()Ljava/lang/String;toStringjava/util/logging/Loggerwarning(I)Ljava/lang/StringBuilder;infoiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;resolve*(Ljava/nio/file/Path;)Ljava/nio/file/Path;
isRegularFile2(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)ZgetFileName()Ljava/nio/file/Path;((Ljava/lang/String;)Ljava/nio/file/Path; java/nio/file/StandardCopyOptionREPLACE_EXISTING"Ljava/nio/file/StandardCopyOption;copyY(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/lang/SystemcurrentTimeMillis()JnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;readLine'(Ljava/lang/String;)[Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)Ijava/lang/Long	parseLong(Ljava/lang/String;)Jclose
addSuppressed(Ljava/lang/Throwable;)VnewBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;valueOf(I)Ljava/lang/String;(J)Ljava/lang/String;writejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;!GLMNOPQRS1TUVUWXYZ[\]^_`ah*�*+�*,�*�Y���bFG	HIJc deVUTUfgaD*�+�W�bSTcdehUfiaE
*+��	��b^_c
de
jRklaE#*�*�h�����*��
�W�!N��Y��-�����**�`p���Y��*�����*��N-���-�� :*��!:�"�#���ӻY�$�*��%��&�'��:*��(:�)Y�*S�+W�:��Y�,��-����f*�.�/*�0�"%���bbklmp"t%q&rBsCuOvpw�x�y�z�|�}����������"�c\	&mn�mn�>oR�1pU��qUz�rs#de#t^#u^v6	Nw�6x�/y�Mzxy{yw��|}ae�.*�/eB!����b�	�c de~\	\v�@��a$�*�1�(L+�2�3MN,�4:5�6:*2�7�*2�8�/,�K-�,�9�@:-�;�5,�9�.:N�:,�-�,�9�:-�;�,�9��DM��Y�<�,�-���'M��Y�?�,�-��*�*	�/�CGJ:;\:;dnru:\fd����=��>bJ����%�0�;�\�d�������������������c\	�R%��L��w��s���mn�#m��de��UvT�Jzy���F�G��zy�����zyBw\�#��a��*�1�(L+�2�@�AMN,�Y�*��B�5�*�/�C���D,�K-�,�E�@:-�;�5,�E�.:N�:,�-�,�E�:-�;�,�E��M��Y�F�,�-���IMP:Ab:Ajtx{:blj����=b*���A�b�j���������c>R��}��u���m��de��UvO�Pzy���F�G��zy�����zyB���a1G�H�I�J�K�2�b!#��PKˣGg����chatty/util/BitEncoder.class���32'	(	)@*+,-valueDef[[Ivalues[I<init>([[I)VCodeLineNumberTableLocalVariableTablethisLchatty/util/BitEncoder;setValue(II)VidIvaluegetValue(I)Iencode()Jiresultcount
StackMapTabledecode(J)VbitmaskJSourceFileBitEncoder.java
.	/01chatty/util/BitEncoderjava/lang/Object()Vjava/lang/Mathpow(DD)D!	�
R*�*+�*+����		J*�O� ;*�.� �O<=>*���@6*�2��+*�2.*�.����c�<����τ�����*$%&'(0)=+@'F&L.44FOMK ��*��!"�U>6*���H6*�2��2���7��*�*�2.O����DŽ����*2345*647E9H4N3T<>*#$<OUU$S ���2��%&PKʣG�0chatty/util/BotNameManager$BotNameListener.class���3
botNameAdded'(Ljava/lang/String;Ljava/lang/String;)VSourceFileBotNameManager.java*chatty/util/BotNameManager$BotNameListenerBotNameListenerInnerClassesjava/lang/Objectchatty/util/BotNameManager 		PKʣGҌ�zSS chatty/util/BotNameManager.class���3�MNM	OPM	Q RSTUVWVXYZU
[\]^_^`^ab
cdefghijBotNameListenerInnerClassesbotNamesLjava/util/Map;	SignatureFLjava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;	listenersLjava/util/Set;=Ljava/util/Set<Lchatty/util/BotNameManager$BotNameListener;>;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTablenameLjava/lang/Object;i$Ljava/util/Iterator;thisLchatty/util/BotNameManager;settingsLchatty/util/settings/Settings;
StackMapTableikladdBotNames$(Ljava/lang/String;Ljava/util/Set;)VLjava/lang/String;channelLocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;8(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)VaddBotName'(Ljava/lang/String;Ljava/lang/String;)VbotNamejm	isBotName'(Ljava/lang/String;Ljava/lang/String;)ZaddListener/(Lchatty/util/BotNameManager$BotNameListener;)Vlistener,Lchatty/util/BotNameManager$BotNameListener;informListenersSourceFileBotNameManager.java'njava/util/HashMap !java/util/HashSet$%kopqrsltuvwjava/lang/String?@xuyz{|}~���
java/util/Setz��~J@�~*chatty/util/BotNameManager$BotNameListener�@chatty/util/BotNameManagerjava/lang/Objectchatty/util/settings/Settingsjava/util/Iteratorjava/lang/Throwable()VgetList$(Ljava/lang/String;)Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;isEmptychatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;
java/util/MapcontainsKey(Ljava/lang/Object;)Zput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;()Ljava/lang/String;addcontainsbotNameAdded! !"#$%"&'()�G*�*�Y��*�Y��+�++�	�M,��,�N*-�
����*":CF+*:	,-*./G01G234�*567�89)�&,�N-��-��
:*+����*$%"&%'+4,:./&01&;:& %<& =4�7�">?@)�a,�,���,�M*�YN�*�+��*�+�Y��W*�+��,��W-ç:-��*+,��PSSWS**12456%779N:Z;`<+ a01a;:aA:4�*B[C�DE)�\*�YN�*�+��*�+��,��&*���*���,���-ì:-��TUUYU*GHUJ+ \01\;:\A:4�*B"@BCFG)U+�*�+�W�*STV+01HI4J@)�+*��N-��-��:+,����*_`'a*b+4	HI ./+01+;:+A:4�7�KL	PKʣG0y�(%chatty/util/DateTime$Formatting.class���3E	2346789	:	;	<	=	>	?@COMPACTFormattingInnerClasses!Lchatty/util/DateTime$Formatting;VERBOSELEADING_ZERO_VALUESNO_ZERO_VALUES	NO_SPACESLAST_ONE_EXACT$VALUES"[Lchatty/util/DateTime$Formatting;values$()[Lchatty/util/DateTime$Formatting;CodeLineNumberTablevalueOf5(Ljava/lang/String;)Lchatty/util/DateTime$Formatting;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>3Ljava/lang/Enum<Lchatty/util/DateTime$Formatting;>;SourceFile
DateTime.javaABCchatty/util/DateTime$Formatting$D)*)*java/lang/Enumclone()Ljava/lang/Object;chatty/util/DateTime5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@@@@	 !""����#w	$%"5*���#w&'()*"1*+��#w&+,-.-"�{�Y��	�Y���Y��
�Y���Y���Y���Y�	SY�SY�
SY�SY�SY�S��#xAyNw,/015@PKʣG_�,7RRchatty/util/DateTime.class���3\)�������	�	\�\�	\��	���\�	\����X��Q������������\�<����S���\�	-�\6�\	-\\	-		-	-	\
\	\	\SS?�������	S	�d�@\ !"#$%&'()*+FormattingInnerClasses
FULL_DATETIMELjava/text/SimpleDateFormat;SDFSDF2MINUTEJ
ConstantValueHOURDAYTIMENAMES_COMPACT[Ljava/lang/String;TIMENAMES_VERBOSESIMHDNTIME_DEF[J<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/DateTime;currentHour12Hour()IcalLjava/util/Calendar;currentTime0(Ljava/text/SimpleDateFormat;)Ljava/lang/String;sdf
StackMapTable��,fullDateTime()Ljava/lang/String;&(Ljava/lang/String;)Ljava/lang/String;formatLjava/lang/String;1(JLjava/text/SimpleDateFormat;)Ljava/lang/String;time(J)Ljava/lang/String;formatFullDatetimeformat2agoTexthourssecondsdays�"agoClock(JZ)Ljava/lang/String;showSecondsZtimePassed
durationClockminutesagoSingleCompactagoSingleVerboseagoUptimeCompactago7(J[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;options"[Lchatty/util/DateTime$Formatting;:(JIII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;millisecondsupperLimitmaxlowerLimitduration9(JII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;;(JIIII[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;exactleftlastOnetimeNameiminoptions2Ljava/util/List;leadingZeroValuesnoZeroValuesverboselastOneExactsepnegativetimes[D	timeNamesbLjava/lang/StringBuilder;shownshownNonzeroLocalVariableTypeTable3Ljava/util/List<Lchatty/util/DateTime$Formatting;>;�-�igetTimes(J[JI)[DdefinputtimeDefresultoffsetmain([Ljava/lang/String;)Vargsacv<clinit>SourceFile
DateTime.javaxy./01234�5_`��a`java/text/SimpleDateFormatx6java/util/Datex7��b`89:just nowrecentlyjava/lang/StringBuilder;< ;=hour ago>�day��%02d:%02d:%02djava/lang/Object?@A�B	%02d:%02dchatty/util/DateTime$Formatting��CD����ED����FGHID-JKLDMDvw��jihi-N�OPQRS%.1fT@U�V;WXY��Z[6yyyy-MM-dd HH:mm:ss ZZHH:mm:ssHH:mmjava/lang/Stringdhms days hours minutes secondschatty/util/DateTimejava/lang/Throwablejava/util/Listjava/util/CalendargetInstance()Ljava/util/Calendar;get(I)IgetTime()Ljava/util/Date;$(Ljava/util/Date;)Ljava/lang/String;(Ljava/lang/String;)V(J)Vjava/lang/SystemcurrentTimeMillis()Jappend(J)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/lang/LongvalueOf(J)Ljava/lang/Long;9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;VERBOSE!Lchatty/util/DateTime$Formatting;LAST_ONE_EXACTjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;LEADING_ZERO_VALUEScontains(Ljava/lang/Object;)ZNO_ZERO_VALUES	NO_SPACESlength	substring(II)Ljava/lang/String;java/util/LocaleENGLISHLjava/util/Locale;java/lang/Double(D)Ljava/lang/Double;K(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;(I)Ljava/lang/StringBuilder;outLjava/io/PrintStream;java/io/PrintStreamprintln!\)_`a`b`cde&fdegdehijiklemnleopleqrlestleuvwxyz3*��{w|}~	�z9�K*��{|��	��z�*YL¸M*,��+ðN+�-�{ !"|���`�����	��z���{&	��z���{*	��z6�	Y*���{.|��	��z,YN�,�Y��-ð:-��{234|�d�`�����	��z2��
�{8|�d	��z2��
�{<|�d	��z2��
�{@|�d	��zB��emA ��� ��� ��5 m7�Y������ �!��"� m7�Y�����#�$�!��"�{*DEFHI K(L/MZOaP|*/+�d��d��da+�d�D��+������#����	��zd�eB!m7�%�{TU
W|*�d���d
�d	��z�]mBq?&m7&q?�#(�)Y!�*SY�*SY�*S�+�,�)Y!�*SY�*SY�*S�+�{[\^_ab=c|*]�d]��W�dJ�d��=	��z6�-�.�{g|�d	��z?�e�-Y�/S�0�{k|�d	��zx	,�eA 1�� �-�3� �-Y�4S�3�{pqrt|,�d&�d�����z>�e,�5�{�|�d�����za�e�3�{�|4�d�l�l�l�����z<,�0�{�|�d�����zR�3�{�|*�d�l�l�����z^�6�{�|4�d�l�l�l�����z��7:�8�96�:�96	�/�96�4�96:�;�9�<:6
	��	u?6
�=�>:�	�?��@:�Y�:666����d61�6�)`��	���������W�
�A�W���d���6�`�d2:���Bd�C:�0�+1Dg9�FG�)Y�HS�I�W��JW�W����	����"�{�/����+�7�;�H�L�O�U�X�[�e�u�~���������������������������������	��#�2�<�G�a�d�l�t�y�|�������|�G�r���l���l	{��l����l��d��l��l��l��l������}��q��	+e��7Y��;U��OA��
e+��u�i~����l��l�������L������B��������-
@�*�1��������	��zPm�9�	,��,�>�:,�d66��%,`/7		�oR	�s9�����{.����� �+�4�?�G�M�|R4�d	#*�lP�dP�wP�lH�r6�� 0�l���
��)��z��K�Le�N�O< =>�6�{|4�i�l�l�l�l�yz�w�	YP���	YQ���	YR���SYTSYUSYVSYWS�@�SYXSYYSYZSY[S�?�YPYPY&PYP�=�{$|?}Z���^-\]@PKʣG	3M{��&chatty/util/DelayedActionQueue$1.class���3SourceFileDelayedActionQueue.javaEnclosingMethod chatty/util/DelayedActionQueue$1InnerClassesjava/lang/Objectchatty/util/DelayedActionQueue 	PKʣGtZntt:chatty/util/DelayedActionQueue$DelayedActionListener.class���3actionPerformed(Ljava/lang/Object;)V	Signature(TE;)V(<E:Ljava/lang/Object;>Ljava/lang/Object;SourceFileDelayedActionQueue.java4chatty/util/DelayedActionQueue$DelayedActionListenerDelayedActionListenerInnerClassesjava/lang/Objectchatty/util/DelayedActionQueue	
	PKʣG���]]+chatty/util/DelayedActionQueue$Reader.class���3W.	/012341567189:1;<=>?@this$0 Lchatty/util/DelayedActionQueue;<init>#(Lchatty/util/DelayedActionQueue;)VCodeLineNumberTableLocalVariableTablethisReaderInnerClasses'Lchatty/util/DelayedActionQueue$Reader;LocalVariableTypeTable,Lchatty/util/DelayedActionQueue<TE;>.Reader;run()VitemLjava/lang/Object;ex Ljava/lang/InterruptedException;TE;
StackMapTable:AE(Lchatty/util/DelayedActionQueue;Lchatty/util/DelayedActionQueue$1;)Vx0x1"Lchatty/util/DelayedActionQueue$1;SourceFileDelayedActionQueue.javaBCDEFGHJKLMNOPQjava/lang/InterruptedExceptionRSReader Thread interrupted.TUV%chatty/util/DelayedActionQueue$Readerjava/lang/Thread chatty/util/DelayedActionQueue$1chatty/util/DelayedActionQueueaccess$100F(Lchatty/util/DelayedActionQueue;)Ljava/util/concurrent/BlockingQueue;"java/util/concurrent/BlockingQueuetake()Ljava/lang/Object;access$200DelayedActionListenerX(Lchatty/util/DelayedActionQueue;)Lchatty/util/DelayedActionQueue$DelayedActionListener;4chatty/util/DelayedActionQueue$DelayedActionListeneractionPerformed(Ljava/lang/Object;)Vaccess$300#(Lchatty/util/DelayedActionQueue;)Jsleep(J)Vaccess$400()Ljava/util/logging/Logger;java/util/logging/Loggerwarning(Ljava/lang/String;)V F*+�*��K�4*���L*��+�*���	���L��
��$'"Q
RS$W'T(U0V3Y 
 (!"4
#4$f%(V*+��K )*+,-1&161I	PKʣG�l��$chatty/util/DelayedActionQueue.class���3g	I	J	K	LMNOPQ	PRSOTUTVWXYZ[\InnerClasses]DelayedActionListenerReaderLOGGERLjava/util/logging/Logger;listener6Lchatty/util/DelayedActionQueue$DelayedActionListener;	Signature;Lchatty/util/DelayedActionQueue$DelayedActionListener<TE;>;delayJq$Ljava/util/concurrent/BlockingQueue;)Ljava/util/concurrent/BlockingQueue<TE;>;createY(Lchatty/util/DelayedActionQueue$DelayedActionListener;J)Lchatty/util/DelayedActionQueue;CodeLineNumberTableLocalVariableTable Lchatty/util/DelayedActionQueue;LocalVariableTypeTable;Lchatty/util/DelayedActionQueue$DelayedActionListener<TT;>;%Lchatty/util/DelayedActionQueue<TT;>;y<T:Ljava/lang/Object;>(Lchatty/util/DelayedActionQueue$DelayedActionListener<TT;>;J)Lchatty/util/DelayedActionQueue<TT;>;<init>:(Lchatty/util/DelayedActionQueue$DelayedActionListener;J)Vthis%Lchatty/util/DelayedActionQueue<TE;>;?(Lchatty/util/DelayedActionQueue$DelayedActionListener<TE;>;J)Vstart()Vadd(Ljava/lang/Object;)VitemLjava/lang/Object;TE;(TE;)Vclearaccess$100F(Lchatty/util/DelayedActionQueue;)Ljava/util/concurrent/BlockingQueue;x0access$200X(Lchatty/util/DelayedActionQueue;)Lchatty/util/DelayedActionQueue$DelayedActionListener;access$300#(Lchatty/util/DelayedActionQueue;)Jaccess$400()Ljava/util/logging/Logger;<clinit>(<E:Ljava/lang/Object;>Ljava/lang/Object;SourceFileDelayedActionQueue.java !"chatty/util/DelayedActionQueue./34.4(java/util/concurrent/LinkedBlockingQueue%chatty/util/DelayedActionQueue$Reader.^_5`;4abcdefjava/lang/Object chatty/util/DelayedActionQueue$14chatty/util/DelayedActionQueue$DelayedActionListenerE(Lchatty/util/DelayedActionQueue;Lchatty/util/DelayedActionQueue$1;)V"java/util/concurrent/BlockingQueue(Ljava/lang/Object;)Zjava/lang/ClassgetName()Ljava/lang/String;java/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;! !"#	$%&r�Y*�N-�-�' !"(  !)*+!,-./&�*�*�	Y��*+�* ��'+,-.( 0) *01234&M
�Y*��
�'45(
0)*
0156&`*�+�W�'=>(0)78*0179:;4&J*���'D	E(0)*01<=&/*��'(>)?@&/*��'(>)AB&/*��'(>)CD&��'E4&%
����'FGH	PKʣGf)S�xx"chatty/util/EmoticonListener.class���3
receivedEmoticons(Ljava/util/Set;)V	Signature.(Ljava/util/Set<Lchatty/util/api/Emoticon;>;)VreceivedBotNames$(Ljava/lang/String;Ljava/util/Set;)V8(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)VSourceFileEmoticonListener.javachatty/util/EmoticonListenerjava/lang/Object	PḲG�A)chatty/util/FileWatcher$1.class���3=	 !	"#$!%&'()*+,-val$fileLjava/nio/file/Path;<init>(Ljava/nio/file/Path;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/FileWatcher$1;fileChanged()VSourceFileFileWatcher.javaEnclosingMethod/01234java/lang/StringBuilder56 changed5789:;<chatty/util/FileWatcher$1java/lang/Object+chatty/util/FileWatcher$FileChangedListenerFileChangedListenerchatty/util/FileWatchermain([Ljava/lang/String;)Vjava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V0
4*+�*��}K��Y�*����	����
.	PḲG���1chatty/util/FileWatcher$FileChangedListener.class���3
fileChanged()VSourceFileFileWatcher.java+chatty/util/FileWatcher$FileChangedListenerFileChangedListenerInnerClassesjava/lang/Objectchatty/util/FileWatcher 		PḲG�iİchatty/util/FileWatcher.class���3�yz{|}	~���,�����������9�,�	�	�	�����	��	��,���������������(�	��(��,�,�;��������4���������FileChangedListenerInnerClassesLOGGERLjava/util/logging/Logger;watcherLjava/nio/file/WatchService;fileLjava/nio/file/Path;	directorylistener-Lchatty/util/FileWatcher$FileChangedListener;createFileWatcherD(Ljava/nio/file/Path;Lchatty/util/FileWatcher$FileChangedListener;)ZCodeLineNumberTableLocalVariableTableLchatty/util/FileWatcher;threadLjava/lang/Thread;exLjava/io/IOException;
StackMapTable�<init>D(Ljava/nio/file/Path;Lchatty/util/FileWatcher$FileChangedListener;)VthisExceptionsrun()V Ljava/lang/InterruptedException;kindKindLjava/nio/file/WatchEvent$Kind;evLjava/nio/file/WatchEvent;fileNamechangedFileeventi$Ljava/util/Iterator;keyLjava/nio/file/WatchKey;validZLocalVariableTypeTable"Ljava/nio/file/WatchEvent$Kind<*>;0Ljava/nio/file/WatchEvent<Ljava/nio/file/Path;>;Ljava/nio/file/WatchEvent<*>;�����main([Ljava/lang/String;)Vargs[Ljava/lang/String;<clinit>SourceFileFileWatcher.javachatty/util/FileWatcherTUjava/lang/ThreadT��Y?@java/lang/StringBuilderTYAdded file watcher for: �����������java/io/IOExceptionError adding file watcher for:  []����EDFGCD������ABjava/nio/file/WatchEvent$Kind��]�����java/lang/InterruptedException�������������java/nio/file/WatchEvent[��]��java/nio/file/Path�����Y��
test/test.txtjava/lang/String���chatty/util/FileWatcher$1T�HI�����java/lang/Objectjava/lang/Runnable+chatty/util/FileWatcher$FileChangedListenerjava/nio/file/WatchKeyjava/util/Iterator(Ljava/lang/Runnable;)Vstartappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toAbsolutePath()Ljava/nio/file/Path;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerinfo(Ljava/lang/String;)Vwarning	getParentjava/nio/file/FileSystemsgetDefault()Ljava/nio/file/FileSystem;java/nio/file/FileSystemnewWatchService()Ljava/nio/file/WatchService;%java/nio/file/StandardWatchEventKindsENTRY_MODIFYregisterV(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;)Ljava/nio/file/WatchKey;java/nio/file/WatchServicetake()Ljava/nio/file/WatchKey;sleep(J)VpollEvents()Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;!()Ljava/nio/file/WatchEvent$Kind;OVERFLOWcontextresolve*(Ljava/nio/file/Path;)Ljava/nio/file/Path;equals(Ljava/lang/Object;)ZfileChangedresetjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;(Ljava/nio/file/Path;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!9:?@ABCDEDFG	HIJ�p+�*���Y*+�M�Y,�N-���Y�	�*���
��M��Y��*���,���
��@AK*(),-.!/?0A1B2n3L4-AM$NOB.PQpCDpFGRvSTUJ�;*�*+��*,�*+�*���*�*��Y�S�W�K789:;"<:=L ;VM;CD;FGWXYJ��*��L�M�!�#�M�+�$�%M,�&�V,�'�(N-�):�*����-:�+�,:*��-:*��.�*��/���+�0=����p�
  K^HK
IJSVTUX9YA[I\L_O`[ahbvce�g�h�i�k�lLpPZPZA>[]O0^_[$`DhaD9Fb_&\cd�ef�gh�VMi A>[jO0^k9FblR+Lm�nHm�o�%pq�2��
rsJT1�2�3L+�4Y+�5�6W�K|}�LtuCDvYJ%
�7�8��Kwx=;<	4(\	PKʣG�#�r{{ chatty/util/FrankerFaceZ$1.class���3!	this$0Lchatty/util/FrankerFaceZ;<init>(Lchatty/util/FrankerFaceZ;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/FrankerFaceZ$1;run()VSourceFileFrankerFaceZ.javaEnclosingMethod chatty/util/FrankerFaceZ$1java/util/TimerTaskchatty/util/FrankerFaceZautoUpdateFeatureFridayEmotesrequestFeatureFridayEmotes(Z)V 	4*+�*��b
7	*���fg	
PKʣG@
��� chatty/util/FrankerFaceZ$2.class���3>		'		(		)		* +%,-.%/01val$urlLjava/lang/String;val$type2TypeInnerClassesLchatty/util/FrankerFaceZ$Type;val$streamthis$0Lchatty/util/FrankerFaceZ;<init>`(Lchatty/util/FrankerFaceZ;Ljava/lang/String;Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/FrankerFaceZ$2;
requestResult(Ljava/lang/String;I)VresultresponseCodeISourceFileFrankerFaceZ.javaEnclosingMethod345
6789:;<=chatty/util/FrankerFaceZ$2chatty/util/UrlRequestchatty/util/FrankerFaceZ$Typechatty/util/FrankerFaceZrequest5(Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;Z)V()Vaccess$000+(Lchatty/util/FrankerFaceZ;)Ljava/util/Set;
java/util/Setremove(Ljava/lang/Object;)Zaccess$100`(Lchatty/util/FrankerFaceZ;Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;Ljava/lang/String;)V 	
D*+�*,�*-�*�*���h"*��*��W*�*�*�+����!� """ !"#$%&%@	PKʣG�ڢ�� chatty/util/FrankerFaceZ$3.class���3u	>?@ABCDAEAFGH<IJDKLGMNOPQR<STUVWthis$0Lchatty/util/FrankerFaceZ;<init>/(Lchatty/util/FrankerFaceZ;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/FrankerFaceZ$3;x0Ljava/lang/String;
requestResult(Ljava/lang/String;I)Vlinearr$[Ljava/lang/String;len$Ii$linesbotNamesLjava/util/Set;resultresponseCodeLocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;
StackMapTableVX)YSourceFileFrankerFaceZ.javaEnclosingMethodZ[\]X^_java/util/HashSet\`abcYdefgjava/lang/StringBuilderFFZ Bots: Found hijkhl namesmano]pqrstchatty/util/FrankerFaceZ$3chatty/util/UrlRequestjava/lang/String
java/util/Setchatty/util/FrankerFaceZrequestBotNames()V(Ljava/lang/String;)Vsplit'(Ljava/lang/String;)[Ljava/lang/String;trim()Ljava/lang/String;isEmpty()Zadd(Ljava/lang/Object;)Zaccess$200()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;size()I(I)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerinfoaccess$300>(Lchatty/util/FrankerFaceZ;)Lchatty/util/FrankerFaceZListener; chatty/util/FrankerFaceZListenerbotNamesReceived(Ljava/util/Set;)V ?*+�*,��+"#$%&b	�+��Ƞ}+�N�Y�:-:�66�)2:�:��
�	W���ָ�Y�
������*����./01243;4C5M2S8w9�;\	4'$5()#0*+&-,+s-)j./�"�0$�1+2j.34"�&56787&��19:;<=!PKʣG�A�]]#chatty/util/FrankerFaceZ$Type.class���39	)*+-./0	1	2	34GLOBALTypeInnerClassesLchatty/util/FrankerFaceZ$Type;ROOMFEATURE_FRIDAY$VALUES [Lchatty/util/FrankerFaceZ$Type;values"()[Lchatty/util/FrankerFaceZ$Type;CodeLineNumberTablevalueOf3(Ljava/lang/String;)Lchatty/util/FrankerFaceZ$Type;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>1Ljava/lang/Enum<Lchatty/util/FrankerFaceZ$Type;>;SourceFileFrankerFaceZ.java567chatty/util/FrankerFaceZ$Type8 ! !java/lang/Enumclone()Ljava/lang/Object;chatty/util/FrankerFaceZ5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@0@@@	"����	5*��� !1*+��"#$%$YA�Y��	�Y���Y��
�Y�	SY�SY�
S��#&'(,@PKʣGU��^�!�!chatty/util/FrankerFaceZ.class���3�	l�	l�l�	l�U�����	l�	l���d�	o�l�l�	l�l�	o�l�	l������I��	o�l������!�������&�&�+�++l�	4�
�	�	l?�+ �!"	#$L%L&'(')l*l+,-./.0.1d2d34[�[56�^78a9:;<=>?@hABCDEFGTypeInnerClassesLOGGERLjava/util/logging/Logger;listener"Lchatty/util/FrankerFaceZListener;botNamesRequestedZalreadyRequestedLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;requestPendingFEATURE_FRIDAY_UPDATE_DELAYJ
ConstantValuefeatureFridayTimerStartedfeatureFridayChannelLjava/lang/String;featureFridaySetI<init>%(Lchatty/util/FrankerFaceZListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/FrankerFaceZ;
requestEmotes(Ljava/lang/String;Z)VstreamforcedUpdate
StackMapTablerequestGlobalEmotes(Z)VautoUpdateFeatureFridayEmotes()VtimerLjava/util/Timer;requestFeatureFridayEmotesrequest5(Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;Z)VtypeLchatty/util/FrankerFaceZ$Type;urlLchatty/util/UrlRequest;;getUrlE(Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;)Ljava/lang/String;parseResultF(Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;Ljava/lang/String;)VmodIconLchatty/Usericon;emoteLchatty/util/api/Emoticon;i$Ljava/util/Iterator;emotesUpdate Lchatty/util/api/EmoticonUpdate;resultglobalglobalTextemotes	usericonsLjava/util/List;LocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;#Ljava/util/List<Lchatty/Usericon;>;HIJ"handleFeatureFriday(Ljava/lang/String;)VjsonsetparseFeatureFriday(Ljava/lang/String;)Iparser#Lorg/json/simple/parser/JSONParser;rootLorg/json/simple/JSONObject;exLjava/lang/Exception;KclearFeatureFridayEmotesrequestBotNamesaccess$000+(Lchatty/util/FrankerFaceZ;)Ljava/util/Set;x0access$100`(Lchatty/util/FrankerFaceZ;Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;Ljava/lang/String;)Vx1x2x3access$200()Ljava/util/logging/Logger;access$300>(Lchatty/util/FrankerFaceZ;)Lchatty/util/FrankerFaceZListener;<clinit>SourceFileFrankerFaceZ.javauvst��}z��java/util/HashSetLMNyz��OPQRST�����wx��U����xjava/util/TimerFFZ Feature Friday��chatty/util/FrankerFaceZ$1�VWXY���HZ[\[chatty/util/FrankerFaceZ$2�][FFZ]^_�`�java/lang/Thread�ab�)http://api.frankerfacez.com/v1/set/global-http://cdn.frankerfacez.com/script/event.jsonjava/lang/StringBuilder$https://api.frankerfacez.com/v1/set/cdef$http://api.frankerfacez.com/v1/room/��localjava/util/ArrayListghijiklImYopqrsJtSuvchatty/util/api/Emoticon��w�[FFZ] (, ): xycz emotes received.{|� usericons received.chatty/util/api/EmoticonUpdate}~�������������![FFZ] No Feature Friday found: %sjava/lang/Object����Q�Q����!org/json/simple/parser/JSONParser��org/json/simple/JSONObject��java/lang/Number�ychanneljava/lang/String%org/json/simple/parser/ParseExceptionjava/lang/NullPointerExceptionjava/lang/ClassCastExceptionchatty/util/FrankerFaceZ$3+http://cdn.frankerfacez.com/script/bots.txt��FFZ Botschatty/util/FrankerFaceZ��f��chatty/util/FrankerFaceZ$Type
java/util/Setjava/util/Listjava/util/Iteratorjava/lang/Exceptionjava/util/CollectionssynchronizedSet (Ljava/util/Set;)Ljava/util/Set;
chatty/HelpertoStream&(Ljava/lang/String;)Ljava/lang/String;isEmpty()ZROOMGLOBAL(Lchatty/util/FrankerFaceZ;)Vschedule(Ljava/util/TimerTask;JJ)VFEATURE_FRIDAYcontains(Ljava/lang/Object;)Zadd`(Lchatty/util/FrankerFaceZ;Ljava/lang/String;Lchatty/util/FrankerFaceZ$Type;Ljava/lang/String;)Vchatty/util/UrlRequestsetLabelsetUrl(Ljava/lang/Runnable;)Vstartappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;chatty/util/FrankerFaceZParsingparseGlobalEmotes#(Ljava/lang/String;)Ljava/util/Set;parseRoomEmotesparseModIcon%(Ljava/lang/String;)Lchatty/Usericon; chatty/util/api/Emoticon$SubTypeSubType"Lchatty/util/api/Emoticon$SubType;parseSetEmotesE(Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Ljava/util/Set;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;	setStreamsize()I(I)Ljava/lang/StringBuilder;java/util/logging/Loggerinfochatty/util/api/Emoticon$TypeFFZLchatty/util/api/Emoticon$Type;S(Ljava/util/Set;Lchatty/util/api/Emoticon$Type;Lchatty/util/api/Emoticon$SubType;)V(Ljava/util/Set;)V chatty/util/FrankerFaceZListenerchannelEmoticonsReceived#(Lchatty/util/api/EmoticonUpdate;)VusericonsReceived(Ljava/util/List;)Vchatty/util/StringUtil	shortenTo'(Ljava/lang/String;I)Ljava/lang/String;removeLinebreakCharacterstrimformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;valueOf(I)Ljava/lang/String;parse&(Ljava/lang/String;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;intValue/(Lchatty/util/FrankerFaceZ;Ljava/lang/String;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!lU	stuvwxyz{|}z{|~��x�������s+*�*�Y���	*�Y���*�*+���5!( 2%6*7�+��+uv!����0+�L+�+���*�
+�*�*��*�*���&	ABCEFG&H*I/K� 0��0��0�x�!���K*��*���T	UV����x!���|+*���*��Y�L+�Y*����]^`
ab*i�+�����!���B*����r	s����x����j*+,�:*���*�	����*�	� W*�� W�!Y*+,�":#�$�%�&Y�'�(��*��(�)�5�A�O�V�]�i��>j��j��j��j�xb��O���	�(�����@+��)�+��,�*��+Y�,-�.,�.�/��+Y�,0�.,�.�/��������,�� @��@��@���
����f-��+��
,�	*-�1�+��+���6�2�3:�Y�:�4Y�5:+��-�6:�c+�
�!-�7:-�8:�
�9W�>+��7-�:�;:�<:�=��>�?:		*�@�A����+Y�,B�.,�.C�.�.D�.�E�FG�.�/�H�I�0��+Y�,B�.,�.D�.�J�FK�.�/�H+���LY�M�:�N:��LY�O:*��P*��Q��z������+�9�B�K�R�[�b�h�n�s�}���������������)�0�D�O�Z�e���
n���	��	�"��A��f��f��f��f��+;�x9-��B$�zK��O���B$��K���1
@�A��#���!���!�m������S*+�R=�-*�*�S�T�UY+d�V�W�XS�Y�H� *��*�S*�*��Z���*�����5�=�AFR� S��S��M����5����A�[Y�\M,+�]�^N-_�`�a�b6*-c�`�d�@*�@���M*�@�59e59f59g�*,369:?�>.��%����:��A��A���6B����F*��LY�M�:�N�P��"%������]�hY*i�jL+k�$�&Y+�'�(��+=>?��������/*���������P*+,-����*�����������������/*���������%
l�m�n�����q2olp@h!?n@#?p@PKʣG�lC^��&chatty/util/FrankerFaceZListener.class���3channelEmoticonsReceived#(Lchatty/util/api/EmoticonUpdate;)VusericonsReceived(Ljava/util/List;)V	Signature&(Ljava/util/List<Lchatty/Usericon;>;)VbotNamesReceived(Ljava/util/Set;)V&(Ljava/util/Set<Ljava/lang/String;>;)VSourceFileFrankerFaceZListener.java chatty/util/FrankerFaceZListenerjava/lang/Object	
PḲG�zq��%chatty/util/FrankerFaceZParsing.class���3&F�����V����	���������m�������	�C�	C����������"�d�~��C��C�������������	��	��7�7�7�7�7�7�7�7�7��������LOGGERLjava/util/logging/Logger;<init>()VCodeLineNumberTableLocalVariableTablethis!Lchatty/util/FrankerFaceZParsing;parseModIcon%(Ljava/lang/String;)Lchatty/Usericon;parser#Lorg/json/simple/parser/JSONParser;oLorg/json/simple/JSONObject;roomroomIdLjava/lang/String;modBadgeUrlexLjava/lang/Exception;json
StackMapTable����parseGlobalEmotes#(Ljava/lang/String;)Ljava/util/Set;setIsetData	setObjectLjava/lang/Object;i$Ljava/util/Iterator;defaultSetsLorg/json/simple/JSONArray;sets��	Signature?(Ljava/lang/String;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;parseRoomEmotesparseSetEmotes�SubTypeInnerClassesE(Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Ljava/util/Set;rootsubType"Lchatty/util/api/Emoticon$SubType;a(Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;
parseEmoteSeta(Lorg/json/simple/JSONObject;Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Ljava/util/Set;	emoticonstitleLjava/lang/RuntimeException;streamRestriction�}(Lorg/json/simple/JSONObject;Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;parseEmoticonsr(Lorg/json/simple/JSONArray;Ljava/lang/String;Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Ljava/util/Set;createdEmoteLchatty/util/api/Emoticon;emoteemotesinforesultLjava/util/Set;LocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;��(Lorg/json/simple/JSONArray;Ljava/lang/String;Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;parseEmote~(Lorg/json/simple/JSONObject;Ljava/lang/String;Ljava/lang/String;Lchatty/util/api/Emoticon$SubType;)Lchatty/util/api/Emoticon;widthheightcodeurlsurl1url2idownercreatorbBuilder"Lchatty/util/api/Emoticon$Builder;��<clinit>SourceFileFrankerFaceZParsing.javaIJ!org/json/simple/parser/JSONParser��org/json/simple/JSONObject��java/lang/Stringmoderator_badge������%org/json/simple/parser/ParseExceptionjava/lang/ClassCastExceptionjava/lang/NullPointerExceptiondefault_setsorg/json/simple/JSONArray�������java/lang/Number����|}GHjava/lang/StringBuilder!Error parsing global FFZ emotes: java/util/HashSetError parsing FFZ emotes: 	��Error parsing FFZ emote set: ���
name12display_name� chatty/util/api/Emoticon$BuilderI !Error parsing FFZ emote: chatty/util/FrankerFaceZParsing"#$%java/lang/Objectjava/lang/Exceptionjava/util/Iterator chatty/util/api/Emoticon$SubTypejava/lang/RuntimeException
java/util/Setparse&(Ljava/lang/String;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;chatty/Usericon$TypeTypeMODLchatty/Usericon$Type;chatty/UsericoncreateTwitchLikeIconN(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;I)Lchatty/Usericon;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;intValue()IvalueOf(I)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerwarning(Ljava/lang/String;)Vchatty/util/JSONUtil	getStringB(Lorg/json/simple/JSONObject;Ljava/lang/Object;)Ljava/lang/String;add(Ljava/lang/Object;)ZgetInteger2(Lorg/json/simple/JSONObject;Ljava/lang/Object;I)IisEmptychatty/util/api/Emoticonchatty/util/api/Emoticon$TypeFFZLchatty/util/api/Emoticon$Type;F(Lchatty/util/api/Emoticon$Type;Ljava/lang/String;Ljava/lang/String;)VsetX2Url6(Ljava/lang/String;)Lchatty/util/api/Emoticon$Builder;setSize&(II)Lchatty/util/api/Emoticon$Builder;setCreatorsetNumericId%(I)Lchatty/util/api/Emoticon$Builder;addStreamRestrictionsetInfosetSubTypeF(Lchatty/util/api/Emoticon$SubType;)Lchatty/util/api/Emoticon$Builder;build()Lchatty/util/api/Emoticon;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!CFGH	IJK/*��LMNO	PQK0H�Y�L+*��M,��N-��	:-��	:�����L�7E
7E7E8DE
8DE8DEL*!"#$&%1&6'8)E+F.MH=RS4TU*VU&WX1YXFZ[H\X](�8^_``^^�^a	bcK}	��Y�L+*��M,��N,��:-�:��-�:��6���:���L��Y��+�� �!�"Y�#�_c
_c_cL2;<=>&??@IAXB`FcDdE}GMfIdeXfU?!gh,4ijXRSOTUEkl&:mUdZ[�\X]*�,^_`n`o�3^Bapq	rcKAy�Y�L+*��M,��N-��	:-$���6,��:���:��L��Y�%�+�� �!�"Y�#�VW
VWVWL.UVWX&Y4Z?[N\W]X^q`M\	ORSFTU<VU&1WX4#de?mUN	fUXZ[y\X]�Wapq	swK�F�Y�M,*��N-$��:+��M��Y�%�,�� �!�"Y�#�#$
#$#$Lnopq$r%s>uM>RSxUfU%Z[F\XFyz]dap{	|}K�=*&��N*'�(:-+,�)�N��Y�*�-�� �!�"Y�#�L�����5�M>~l	XZ�=fU=�X=yz][�p�	��KU�"Y�#:*�H*�:��8�:�'���+,-�+:�
�,W����L&	�	�
�&�3�@�E�O�R�MR@��&)�h?ijU�lU�XU�XUyz	L���	L��]��o;�p�	��K��*-�.6*/�.6*0��	:*1��:2��	:3��	:	*���6*4�::����5��	:��6����6���7Y�8�9:

	�:W
�;W
�<W
�=W
+�>W
,�?W
-�@W
�A�:��Y�B��� �!�����������������Ln�	���(�4�@�N�V�Y�f�u�������������������������������M�	��e��e��X(��U4��X@��X	N��eV��hY��X�=��
�Z���U��X��X�yz]D�u
`^^�^`^^�^�L`^^���JK%
C�D�E��L��v"t�u@7��	���@���@PḲG�!].�'�'chatty/util/ImageCache.class���3�k�	�	���������	��������		 
�O��	 !"#$#%3&3'()*+,-./0123	456789:H;<=>?@ABCDQEQF�������GHI9JKLMNOPQNRSTUVWXY�Z[\	]^_`^a^bcn�LOGGERLjava/util/logging/Logger;
GLOBAL_PREFIXLjava/lang/String;
ConstantValueDELETE_FILES_OLDER_THANIdefaultPathLjava/nio/file/Path;cachingEnabledZlockObjectsLjava/util/Map;	Signature5Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/ImageCache;setDefaultPath(Ljava/nio/file/Path;)VpathsetCachingEnabled(Z)Venabledmain([Ljava/lang/String;)VtestUrlLjava/net/URL;ex Ljava/net/MalformedURLException;args[Ljava/lang/String;
StackMapTable�clearCache(Ljava/lang/String;)Vprefix)(Ljava/nio/file/Path;Ljava/lang/String;)VfileLjava/io/File;arr$[Ljava/io/File;len$i$filesd��e
clearOldFiles(Ljava/nio/file/Path;I)VlastModifiedJagodeletedtoDeleteexpireTimegetImage:(Ljava/net/URL;Ljava/lang/String;I)Ljavax/swing/ImageIcon;urlN(Ljava/net/URL;Ljava/nio/file/Path;Ljava/lang/String;I)Ljavax/swing/ImageIcon;imageLjavax/swing/ImageIcon;getImageDirectly'(Ljava/net/URL;)Ljavax/swing/ImageIcon;loadedIcon"getCachedImageidresultoLjava/lang/Object;�`:getCachedImage2<(Ljava/net/URL;Ljava/nio/file/Path;I)Ljavax/swing/ImageIcon;fromFilehasExpired(ILjava/nio/file/Path;)ZgetFilename8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;saveFile%(Ljava/net/URL;Ljava/nio/file/Path;)Zx2Ljava/lang/Throwable;writtenisLjava/io/InputStream;Ljava/io/IOException;f<	saveFile2fosLjava/io/FileOutputStream;rbc'Ljava/nio/channels/ReadableByteChannel;gDgetImageFromFile-(Ljava/nio/file/Path;)Ljavax/swing/ImageIcon;sha1&(Ljava/lang/String;)Ljava/lang/String;mdLjava/security/MessageDigest;Ljava/lang/Exception;inputhbyteArrayToHexString([B)Ljava/lang/String;ib[BisLocalURL(Ljava/net/URL;)Z
getLockObject&(Ljava/lang/String;)Ljava/lang/Object;removeLockObject<clinit>SourceFileImageCache.java�wxyzcachejava/lang/Stringijk��java/net/URLhttp://127.0.0.1�lmntest��opqjava/net/MalformedURLExceptionchatty/util/ImageCacherstuvwxyz{|��d}~�e��	imgcache-��java/lang/StringBuilder��__�t����������pqImageCache: Deleted ��/ old files����������javax/swing/ImageIcon������������������������������java/nio/file/CopyOption������f��java/lang/Throwable��java/io/IOException
Error saving �� to : �����java/io/FileOutputStream������g�����SHA-1���UTF-8������&java/security/NoSuchAlgorithmException$java/io/UnsupportedEncodingException������t��jar{|�j�java/lang/Object����java/util/HashMapjava/nio/file/Pathjava/io/Filejava/io/InputStream%java/nio/channels/ReadableByteChanneljava/lang/Exceptionjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/Object;)Vjava/lang/ClassgetName()Ljava/lang/String;java/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VtoAbsolutePath()Ljava/nio/file/Path;toFile()Ljava/io/File;	listFiles()[Ljava/io/File;startsWith(Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringdelete()Z()JcurrentTimeMillis(I)Ljava/lang/StringBuilder;infojava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;createImage (Ljava/net/URL;)Ljava/awt/Image;(Ljava/awt/Image;)VgetImageLoadStatus()Imkdirsresolve((Ljava/lang/String;)Ljava/nio/file/Path;openStream()Ljava/io/InputStream; java/nio/file/StandardCopyOptionREPLACE_EXISTING"Ljava/nio/file/StandardCopyOption;java/nio/file/FilescopyG(Ljava/io/InputStream;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Jclose
addSuppressed(Ljava/lang/Throwable;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningjava/nio/channels/ChannelsnewChannel>(Ljava/io/InputStream;)Ljava/nio/channels/ReadableByteChannel;(Ljava/io/File;)VgetChannel!()Ljava/nio/channels/FileChannel;java/nio/channels/FileChanneltransferFrom,(Ljava/nio/channels/ReadableByteChannel;JJ)JtoUri()Ljava/net/URI;java/net/URItoURL()Ljava/net/URL;java/security/MessageDigestgetInstance1(Ljava/lang/String;)Ljava/security/MessageDigest;getBytes(Ljava/lang/String;)[Bdigest([B)[Bjava/lang/Integer(II)Ljava/lang/String;	substring(I)Ljava/lang/String;getProtocolequalsIgnoreCase
java/util/Map&(Ljava/lang/Object;)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;remove!kpqrstuvt#JwxJyz{|}~��/*���'���	���3*���DE��x	���3���NO��z	����:����Y	�L�+�
��L���+��$'�Z[]$`'^(_9a� ��(��:���g�	���6�*���jk��s	���j*���M,�Y,N-�66�I-2:+����&��Y��+��� ��	�!W������uvw)y]|cwi��H):��T��P�vM�vj�xj�s[���$�������"��	���#��"����	���5*#�$������x	����
�*���M,��>6,:�66�I2:����,�%7	�&	e'm7�����!�������+�)�Y�*��+,��+-�� �.��F�����1�>�A�H�T�\�_�g�j�p�u����pH"��	T��19��U�� P�v#M�v��v��v��x��v����&�#������(��,	���H*�+�/���� ���s�v	����#��*�0�*+,�1:��*�2���
�����4��#��#�x#�s#�v�	���i�3Y�4*�5�6L+�7�+��������������"P*�8�9:+��:W+,�;�<::�=:Y:�*�>:ç:	�	��?�1=@@E@�*.	01!2$4+516:7H8M9�RP��P�xP�sP�v	G�s!/�x$,��+%���(�@	��������������0+�@N-�*+�A� +�@N�+�B�*+�A�+�@N-��"=>	ABF!H)J.N�*0��0�x0�v+���	������++��%A�& e'm7 	���
������RST'U)W�*+�v+�x!������'���Q�Y��*��+�� ��[��s�s�����*�CMN,+�DY�ES�F7	��'6,�-�,�G�:-�I�,�G�,�K-�,�G�@:-�I�5,�G�.:N�:,�-�,�G�:	-	�I�,�G��/M�)�Y�K�*�LM�+�LN�,�L� �O�*.1HKORH"dH"lvz}Hdnl@�JC��J�._`ab"dd_ld�f�d�e�g�R3��+��T����	����+�������x�]�1������N�F�G��	���������B�+���)�*�C�PMN�QY+��R:�S,	T�V7	��+6,�!-�,�W�:-�I�	,�W�,�S-�,�W�F:-�I�;,�W�2:N�:	,�!-�,�W�:-�I�	,�W	��/M�)�Y�K�*�LM�+�LN�,�L� �O�:@CH_ehH2|H2����H|��T�JW��J�2klm(n/o2q|k�q�s�q�r�t�\	E��>��(/��j���������+�������x�a�C�������P�H�G�����������B�+����'�3Y�4*�X�Y�5�6L+�7�+��L� $�yz{!�$~%�� ��%��'�x�!B�	����(Z�[L+*\�]�^�_�L���+��`a�����&�� ����(�s�T�	����9bL=*��/�Y�+�*3�~`�c�d�� L����+�����1�7�� 2�v9��6�s����1	���Te*�f�g�h*�f�g���������@����0�iYL²i*�jM,��kY�M�i*,�lW,+ðN+�-�*++.+������'�+����0�s��'���������|�iYL²i*�mW+çM+�,���������s���������K'���)b�����nY�o�i��)78���PḲG�5���chatty/util/JSONUtil.class���3+ !"#$%<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/JSONUtil;	getStringB(Lorg/json/simple/JSONObject;Ljava/lang/Object;)Ljava/lang/String;dataLorg/json/simple/JSONObject;keyLjava/lang/Object;value
StackMapTable%getInteger2(Lorg/json/simple/JSONObject;Ljava/lang/Object;I)IerrorValueISourceFile
JSONUtil.java	&'(java/lang/Stringjava/lang/Number)*chatty/util/JSONUtiljava/lang/Objectorg/json/simple/JSONObjectget&(Ljava/lang/Object;)Ljava/lang/Object;intValue()I!	/*��
	p*+�M,�,��,��� �	}*+�N-�-��-����'()+*�PKʣG��-���0chatty/util/Livestreamer$InputStreamHelper.class���3t	<=	>?@ABCDEFGDHI=JKDLMNOPQRSTUVWOXYZinputLjava/io/InputStream;this$0Lchatty/util/Livestreamer;<init>2(Lchatty/util/Livestreamer;Ljava/io/InputStream;)VCodeLineNumberTableLocalVariableTablethisInputStreamHelperInnerClasses,Lchatty/util/Livestreamer$InputStreamHelper;run()VlineLjava/lang/String;x2Ljava/lang/Throwable;readerLjava/io/BufferedReader;exLjava/io/IOException;
StackMapTable?RYTSourceFileLivestreamer.java !",java/io/BufferedReaderjava/io/InputStreamReader"["\]^_`bcdefgjava/lang/StringBuilderLivestreamer (hijk): l^mneo,java/lang/Throwablepqjava/io/IOExceptionError: hr): Error reading stream / se*chatty/util/Livestreamer$InputStreamHelperjava/lang/Thread(Ljava/io/InputStream;)V(Ljava/io/Reader;)VreadLine()Ljava/lang/String;chatty/util/Livestreameraccess$000LivestreamerListenerK(Lchatty/util/Livestreamer;)Lchatty/util/Livestreamer$LivestreamerListener;-chatty/util/Livestreamer$LivestreamerListenermessage(Ljava/lang/String;)Vaccess$200()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;access$100.(Lchatty/util/Livestreamer;)Ljava/lang/String;toStringjava/util/logging/Loggerinfoclose
addSuppressed(Ljava/lang/Throwable;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warning  !"#$K*+�*�*,��%W	XY&'*+,$��Y�Y*���LM+�YN�;*��	-���Y�
�*����-������+�F,�+��;N,-��2+��+N-M-�:+�,�+��:,��+���KL*��	�Y�
�+�����Y�
�*����+����^beVuVz���u|z��%2]_`+aVcu]zc�f�c�d�e�g&>;-.f/0�/0�12�G34�'*5E�67�@N7F7D7�86777�8B9�G:;)D(FDa	PKʣG�;�BB3chatty/util/Livestreamer$LivestreamerListener.class���3processStarted(Ljava/lang/String;)VmessageprocessFinished(I)VSourceFileLivestreamer.java-chatty/util/Livestreamer$LivestreamerListenerLivestreamerListenerInnerClassesjava/lang/Objectchatty/util/Livestreamer	
	PKʣG3�@chatty/util/Livestreamer.class���3	=�=�	=�@�	=���=���	=�� �� ��=�� ���C������������C���� �C��������������+�����������������Y��4�	�����������InputStreamHelperInnerClasses�LivestreamerListenerLOGGERLjava/util/logging/Logger;commandLjava/lang/String;listener/Lchatty/util/Livestreamer$LivestreamerListener;processLjava/lang/Process;<init>D(Ljava/lang/String;Lchatty/util/Livestreamer$LivestreamerListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/Livestreamer;run()VrtLjava/lang/Runtime;cmd[Ljava/lang/String;errorStream,Lchatty/util/Livestreamer$InputStreamHelper;inputStream	exitValueIexLjava/io/IOException; Ljava/lang/InterruptedException;
StackMapTable��id()Ljava/lang/String;killsplit'(Ljava/lang/String;)[Ljava/lang/String;inputresultLjava/util/List;mLjava/util/regex/Matcher;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;��filterToken&(Ljava/lang/String;)Ljava/lang/String;main([Ljava/lang/String;)Vargsaccess$000K(Lchatty/util/Livestreamer;)Lchatty/util/Livestreamer$LivestreamerListener;x0access$100.(Lchatty/util/Livestreamer;)Ljava/lang/String;access$200()Ljava/util/logging/Logger;<clinit>SourceFileLivestreamer.javaEFefIJMUGH���hi��KLjava/lang/StringBuilderLivestreamer: Process �� started. [st]�f�����*chatty/util/Livestreamer$InputStreamHelper���M����U������ finished.java/io/IOExceptionError: ����'Livestreamer: Error starting process / ��java/lang/InterruptedExceptionLivestreamer: ������Livestreamer: Killing Process �Ujava/util/ArrayList"([^"]*)"|([^"\s]+)���������������java/lang/String��--twitch-oauth-token \w+--twitch-oauth-token <token>�����"--twitch-oauth-token abcfwf --fwaf���chatty/util/Livestreamerfjava/lang/Thread-chatty/util/Livestreamer$LivestreamerListenerjava/util/Listjava/util/regex/Matcherjava/lang/RuntimegetRuntime()Ljava/lang/Runtime;exec(([Ljava/lang/String;)Ljava/lang/Process;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerinfo(Ljava/lang/String;)VprocessStartedjava/lang/ProcessgetErrorStream()Ljava/io/InputStream;2(Lchatty/util/Livestreamer;Ljava/io/InputStream;)VgetInputStreamstartwaitFor()Ijoin(J)VprocessFinished(I)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;messagewarningjava/lang/ObjecthashCodejava/lang/IntegertoHexString(I)Ljava/lang/String;destroyjava/util/regex/Patterncompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;find()Zgroupadd(Ljava/lang/Object;)ZsizetoArray(([Ljava/lang/Object;)[Ljava/lang/Object;replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!=@EFGHIJKLMNOY*�*+�*,��P	Q RSGHIJTUO(/�L*��M+,�N*-�	��Y��
*��
�
*���
�
��*�*���Y*-��:�Y*-��:��-�6��*����Y��
*��
�
���rL*��Y� �
+�!��"��Y�#�
+�!��$�9L*��Y� �
+�!��"��Y�&�
+�!��$�����%Pb$%&'(G)T-b.p0u1z3�4�5�6�7�>�8�9�:�>�;�<=.?Q\	�VW�XY�KLbZZ[pL\[�<]^�5_`�5_a/RSb
��cxd5efO5*�	�'�(�PBQRSgUOV$��Y�)�
*��
��*�	�*�PFG#HQ$RShiO�R�+Y�,L-�.*�/M,�0�),�1�+,�1�2W���+,�1�2W���++�3�4�5�6�P����!�0�?�Q RjHJkl@mnoJkpb
�qrstO3	*78�9�P�Q	jHuvO:�:;��<�P��QwYxyO/*��PQzS{|O/*��PQzS}~O��PUO%
=�>�?��P��B=AC=D	PḲGҨ��chatty/util/LogUtil$1.class���3<init>()VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/LogUtil$1;runSourceFileLogUtil.javaEnclosingMethodchatty/util/LogUtil$1java/util/TimerTaskchatty/util/LogUtilstartMemoryUsageLogginglogMemoryUsage0/*��'	
2��+,	
PḲGq����chatty/util/LogUtil$2.class���3<init>()VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/LogUtil$2;runSourceFileLogUtil.javaEnclosingMethodchatty/util/LogUtil$2java/util/TimerTaskchatty/util/LogUtilstartDeadlockDetectionlogDeadlocks0/*��H	
2��LM	
PḲG���
�
chatty/util/LogUtil.class���3�f	0g0hijklmnkopqkrkstuvwxyzf'
��{|}~�������f�����i�	|��������,f�`���i�InnerClassesLOGGERLjava/util/logging/Logger;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/LogUtil;logMemoryUsagegetMemoryUsage()Ljava/lang/String;runtimeLjava/lang/Runtime;startMemoryUsageLoggingtLjava/util/Timer;logDeadlockseLjava/lang/StackTraceElement;arr$[Ljava/lang/StackTraceElement;len$Ii$stackbLjava/lang/StringBuilder;info!Ljava/lang/management/ThreadInfo;"[Ljava/lang/management/ThreadInfo;infosstartJbean#Ljava/lang/management/ThreadMXBean;	threadIds[J
StackMapTable�ZS�J�startDeadlockDetection<clinit>SourceFileLogUtil.java7856?@�Q����F[Memory] total: %2$,d used: %4$,d free: %3$,d max: %1$,d [Uptime] %5$sjava/lang/Object�����������@���java/util/Timer7�chatty/util/LogUtil$1����������������java/lang/StringBuilder����Deadlock detected: �@����Deadlock check took ��
 milliseconds���!Started Thread Deadlock Detectionchatty/util/LogUtil$2chatty/util/LogUtil��@��!java/lang/management/ThreadMXBeanjava/lang/management/ThreadInfojava/util/logging/Logger(Ljava/lang/String;)Vjava/lang/RuntimegetRuntime()Ljava/lang/Runtime;	maxMemory()Jjava/lang/LongvalueOf(J)Ljava/lang/Long;totalMemoryfreeMemory
chatty/Chattyuptimejava/lang/Stringformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;(Z)Vschedule(Ljava/util/TimerTask;JJ)Vjava/lang/SystemcurrentTimeMillis&java/lang/management/ManagementFactorygetThreadMXBean%()Ljava/lang/management/ThreadMXBean;findDeadlockedThreads()[J
getThreadInfo&([J)[Ljava/lang/management/ThreadInfo;
getStackTrace ()[Ljava/lang/StackTraceElement;append-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringwarningoutLjava/io/PrintStream;(J)Ljava/lang/StringBuilder;java/io/PrintStreamprintlnjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!056789/*��:;<=	>89&����:		?@9Q�K�Y*�	m�SY*�	m�SY*�
	m�SY*�*�
e	m�SY�S��:;MAB	C89M�Y�K*�Y���:&	'.;	DE	F89���?�M,�N-��,-�::�66�m2:�:	�Y�:	:�66

� 
2:� W!�"W�
��߲�Y�#�"�$�"�$�%�����&�Y�'�"�e�()�"�$�*�:B12356869=:F;`<h=p;v?�8�B�C;�`GHJ,IJO'KLR$ML
=VNJ	FMOP6]QR yIS%tKL(qML}TS�UV�WX�YZ[M�(\]^^�)
\]^^_`a`�#�"\]	b89Y#�+��Y�K*�,Y�-.��:FGH"O;DEc89%
0�1�2��:de4,PḲG񽯟nnchatty/util/MiscUtil.class���3H
'()(*+,-./0/1234567<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/MiscUtil;copyToClipboard(Ljava/lang/String;)VtextLjava/lang/String;c!Ljava/awt/datatransfer/Clipboard;openFolder%(Ljava/io/File;Ljava/awt/Component;)ZexLjava/lang/Exception;folderLjava/io/File;parentLjava/awt/Component;
StackMapTable2SourceFile
MiscUtil.java89:;<%java/awt/datatransfer/StringSelection=>?@ABCDjava/lang/ExceptionOpening folder failed.EFGchatty/util/MiscUtiljava/lang/Objectjava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;getSystemClipboard#()Ljava/awt/datatransfer/Clipboard;java/awt/datatransfer/ClipboardsetContentsM(Ljava/awt/datatransfer/Transferable;Ljava/awt/datatransfer/ClipboardOwner;)Vjava/awt/DesktopgetDesktop()Ljava/awt/Desktop;open(Ljava/io/File;)Vjavax/swing/JOptionPaneshowMessageDialog)(Ljava/awt/Component;Ljava/lang/Object;)V!
/*��	Q��L+�Y*���	��*��M+�	+���	% !"$&  !"#J$�$�%&PḲG�^���#chatty/util/ParameterReplacer.class���3�#UVU	!W	!X	!Y	!Z	![\]\^	!_`	!abcd	!e!fgh	!i!j	!kl!mno!p!qrst\uv!UwoutputLjava/lang/StringBuilder;bufferparameters[Ljava/lang/Object;startFoundZrequiredescapetoEndindex1Iindex2invalidParameters<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/ParameterReplacer;replace9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;indexcCiinputLjava/lang/String;
StackMapTablecleardumpBufferresetisNumber(C)ZbuildRange)([Ljava/lang/Object;II)Ljava/lang/String;startendVmain([Ljava/lang/String;)Vargs[Ljava/lang/String;text	parameterreplacerSourceFileParameterReplacer.java23java/lang/StringBuilder$%&%./0/'(xyz{|,*}~+*�}���)*EF���-*B31*��GH}�}�C3D3 -/me slaps $$1 around a bit with a large trouttest��chatty/util/ParameterReplacerjava/lang/Objectjava/lang/Stringlength()IcharAt(I)Cappend(C)Ljava/lang/StringBuilder;subSequence(II)Ljava/lang/CharSequence;3(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;deleteCharAt(I)Ljava/lang/StringBuilder;java/lang/CharactergetNumericValue(C)ItoString()Ljava/lang/String;-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;split'(Ljava/lang/String;)[Ljava/lang/String;!!#$%&%'()*+*,*-*./0/1*234_%*�*�Y��*�Y��*�*��5	6%789:4OA*,�>+�	� +�6\�$*��*�*��W��*���*��I$�B*�
�*�*���W*��W*��*�
*�*��W��*��V*��O��G�d6*��*��**��*��*��*�*��W�:*��%*��*��-�*�*��*�*��W*���	����*�*���*���5�$12345$6)769>;L<S=d>m@tAyC~D�E�F�G�H�I�J�L�M�OPQSTV#W&2,Z0[7\9^6>�8;/<=%>/A78A?@A'(A ��..�/�
(
�	�B34�z*��q*��e*��*�*���*�
�=*��5*��*�*�*�*���W�*�*�*�2�W*�Y���*�*��52fgi"j)k1m8nRpcrqtuwyx6z78A" 
C34J*�*��W*�Y���5~�678D34a*�*�
*�*�*�*��5�������678EF4G1�
9���5�6<=A@GH4�R�*�d���*�=�Y�N6�)*����-�W-*2�W����-��56
������'�.�1�7�>�G�M�64!,>/R?(RI/RJ/4$%A�K�LM4yLM,� N�!Y�":�5���
��64NOP@Q@
'OR8STPKʣGa����chatty/util/Replacer.class���3�$RSTU	#VWXYSZ[\]^]_`abcdefghijSkl	#m`nRopoqr#sotfouovwxreplacementValues[Ljava/lang/String;patternLjava/util/regex/Pattern;<init>(Ljava/util/Map;)VCodeLineNumberTableLocalVariableTableex(Ljava/util/regex/PatternSyntaxException;itemLjava/lang/String;i$Ljava/util/Iterator;thisLchatty/util/Replacer;replacementsLjava/util/Map;sbLjava/lang/StringBuilder;iILocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
StackMapTablewyWzUb	Signature8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Vreplace&(Ljava/lang/String;)Ljava/lang/String;input
lastAppendPosmatcherLjava/util/regex/Matcher;{getReplacement-(Ljava/util/regex/Matcher;)Ljava/lang/String;SourceFile
Replacer.java)|y}~java/lang/String%&java/lang/StringBuilder)�����z�������&java/util/regex/PatternSyntaxException"java/lang/IllegalArgumentExceptionInvalid replacement pattern.)��~|��()����'(K�{���~��NO�~�~��chatty/util/Replacerjava/lang/Object
java/util/Mapjava/util/Iteratorjava/util/regex/Matcher()Vsize()I(Ljava/lang/String;)VkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;java/util/regex/Patterncompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;*(Ljava/lang/String;Ljava/lang/Throwable;)Vlengthappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;get&(Ljava/lang/Object;)Ljava/lang/Object;toString()Ljava/lang/String;3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;findstart5(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;endgroupCountgroup(I)Ljava/lang/String;!#$%&'()*+��*�*+����Y�M>+��	:��\��:�W�:�Y��,��,�W,���W*�+��S����*,����@FI
,F !@#F&I$K%W'^(e*v.�/�0�1�2-HK./@J01*c23�45�67~89|:;<�6=>5�*?@AB�?@ABCD

�'EFGH+�L=*�+�N�Y�:-��"+-��W*-��W-�=���++� �W��,&	<=>?@'A2B:DFE-4L45LI1JJ;AKL889>
�MA%NO+�$=+�!�+�"�
*���2������,QRSQ"V-  :;$45$KL>��PQPKʣG�K�}}chatty/util/RingBuffer.class���39(	)*(	+,-./01capacityIdataLjava/util/LinkedList;	SignatureLjava/util/LinkedList<TT;>;<init>(I)VCodeLineNumberTableLocalVariableTablethisLchatty/util/RingBuffer;LocalVariableTypeTableLchatty/util/RingBuffer<TT;>;add(Ljava/lang/Object;)VitemLjava/lang/Object;TT;
StackMapTable(TT;)VgetItems()Ljava/util/LinkedList;()Ljava/util/LinkedList<TT;>;(<T:Ljava/lang/Object;>Ljava/lang/Object;SourceFileRingBuffer.java2
java/util/LinkedList345678chatty/util/RingBufferjava/lang/Object()VaddLastsize()IremoveFirst()Ljava/lang/Object;(Ljava/util/Collection;)V!
g*�*�*�Y���	
!�*�+�*��*��*��W� !!"#H�Y*��	�$%&'PKʣGg�@��chatty/util/SimpleCache.class���3�4h	/ijkl	/m	/n	/ophqrstuv	/wxyz{|}�~t�������������u�/��y�������������u�����LOGGERLjava/util/logging/Logger;CHARSETLjava/nio/charset/Charset;idLjava/lang/String;fileLjava/nio/file/Path;expireTimeJ<init>((Ljava/lang/String;Ljava/lang/String;J)VCodeLineNumberTableLocalVariableTablethisLchatty/util/SimpleCache;save(Ljava/lang/String;)Vx2Ljava/lang/Throwable;writerLjava/io/BufferedWriter;exLjava/io/IOException;data
StackMapTable�j���load()Ljava/lang/String;(Z)Ljava/lang/String;timetimePassedLjava/lang/StringBuilder;linereaderLjava/io/BufferedReader;Ljava/lang/Exception;loadEvenIfExpiredZ�p�<clinit>()VSourceFileSimpleCache.java?e9:java/lang/String���;<=>56java/lang/StringBuilderCache: Trying to save ��..�V��G78java/nio/file/OpenOption���java/lang/Long���?���G
Cache: Saved .�ejava/lang/Throwable��java/io/IOExceptionCache: Error saving  [��]�GUWCache: Trying to load ����V��Cache: Did not load  (expired)java/lang/NumberFormatExceptionCache: Error loading chatty/util/SimpleCache��V��UTF-8���java/lang/Objectjava/io/BufferedWriterjava/io/BufferedReaderjava/lang/Exceptionjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerinfojava/nio/file/FilesnewBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;java/lang/SystemcurrentTimeMillis()J(J)Vwriteclose
addSuppressed(Ljava/lang/Throwable;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;readLine	parseLong(Ljava/lang/String;)Jjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;!/456789:;<=>?@As*�*+�*,���*!��B%&	'()C*DE9:;:=>FGA���Y�	�*����
�*����MN,�Y�	�Y�m�����
�,+���Y�	�*����
�,�K-�,��@:-��5,��.:N�:,�-�,��:-��,���.M��Y�	 �*��!�,�"#��
�$����2�2�������!��B21!223Y4^56�2�6�9�7�8�:C>�HI�HI0�JK�*LM�DE�N:OO��PQRSSFSGS�PQRSSS�PQBT*UVA0*�%�B=CDEUWA<��Y�	&�*����
�*���'MN,�(�)7�me7�R*���H��Y�	*�*��+��
�:,�-�,�,�:	-	��,�,��Y�	:,�(Y:	�	�W�W����
:,�-�,�,�:-��,�,�:N�:,�-�,�,�:
-
��,�,�M��Y�	.�*��!�,�"#��
�$�}�����.u����.u����������!�!�-����-��-BJH!I.J7KCLQMrNuW�P�R�S�T�V�W�I�WX:YCp�HI	�HI7�X>C�Y>�ENZ�>[:	�HI
,�\],L^<DE<_`O���PaSQS��b�Q�	PaSbQQS�PaSSGS�
PaSSS�PcdeA1/�0�1�2�3��BfgPḲG���LLchatty/util/Sound.class���3H�	?���������������
�	?�
�
�������������	�	�?�5�5�?�5�5���	?��������������������B�@Y?������ ��������	���F��MAX_VOLUMEI
ConstantValuedMIN_VOLUMEMIN_GAIN����LOGGERLjava/util/logging/Logger;PATHLjava/lang/String;lastPlayedLjava/util/Map;	Signature3Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/Sound;play)(Ljava/lang/String;FLjava/lang/String;I)VtimePassedJvolumeInfofileLjava/io/File;ais&Ljavax/sound/sampled/AudioInputStream;infoInfoInnerClasses#Ljavax/sound/sampled/DataLine$Info;clipLjavax/sound/sampled/Clip;gain"Ljavax/sound/sampled/FloatControl;exLjava/lang/Exception;fileNamevolumeFiddelay
StackMapTable�������getFirstAvailableControlTypef(Ljavax/sound/sampled/Clip;[Ljavax/sound/sampled/FloatControl$Type;)Ljavax/sound/sampled/FloatControl;type'Ljavax/sound/sampled/FloatControl$Type;arr$([Ljavax/sound/sampled/FloatControl$Type;len$i$types�
calculateGain(FFF)Fminmaxrange<clinit>SourceFileSound.javaYZUV��������java/lang/Long������java/io/Filejava/lang/StringBuilderST����Y�����!javax/sound/sampled/DataLine$Infojavax/sound/sampled/Clip���Y�����%javax/sound/sampled/FloatControl$Type��������������no volume control�ZQRPlaying sound / ()i�java/lang/NullPointerException,javax/sound/sampled/LineUnavailableExceptionjava/io/IOException1javax/sound/sampled/UnsupportedAudioFileExceptionCouldn't play sound (): ��� javax/sound/sampled/FloatControl	chatty/util/Sound�
user.dirTsoundsjava/util/HashMapjava/lang/Objectjava/lang/String$javax/sound/sampled/AudioInputStreamjava/lang/Exception
java/util/MapcontainsKey(Ljava/lang/Object;)Zjava/lang/SystemcurrentTimeMillis()Jget&(Ljava/lang/Object;)Ljava/lang/Object;	longValuevalueOf(J)Ljava/lang/Long;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;)Vjavax/sound/sampled/AudioSystemgetAudioInputStream6(Ljava/io/File;)Ljavax/sound/sampled/AudioInputStream;javax/sound/sampled/DataLine	getFormat#()Ljavax/sound/sampled/AudioFormat;5(Ljava/lang/Class;Ljavax/sound/sampled/AudioFormat;)VgetLine;(Ljavax/sound/sampled/Line$Info;)Ljavax/sound/sampled/Line;open)(Ljavax/sound/sampled/AudioInputStream;)VMASTER_GAINVOLUMEgetMinimum()FgetMaximumsetValue(F)Vstartjava/util/logging/LoggergetLocalizedMessagewarningisControlSupported%(Ljavax/sound/sampled/Control$Type;)ZgetControlA(Ljavax/sound/sampled/Control$Type;)Ljavax/sound/sampled/Control;java/lang/Mathpow(DD)Djava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;getProperty&(Ljava/lang/String;)Ljava/lang/String;	separatorjavax/sound/sampled/Line$Info javax/sound/sampled/Control$Typejavax/sound/sampled/Linejavax/sound/sampled/Control!?HIJKLMJKNOJKPQRSTUVWXYZ[/*��\]^_	`a[�4�,��%��,���em7������,���W�Y�
Y���*���:�:�Y��:��:��Y�SY�S�:		� 	#	�	�� �!	�":�#:�$�%�
Y�&�,�'�*�(��)���*�4:�%�
Y�/�,�'�*�0��1���2�B�+B�,B�-B�.\Z %!-#.&2'B,_-f/w0�1�5�7�8�:�<�?�@�CAB3D]�
%	bc�dT_�eff�ghw�il�~mn�8dT�^op	/qr4sT4tu4vT4wJxW.��yyz{|}~�yyz{|}y~�:yy0���[�3+M,�>6�&,2:*�3�*�4�5������\HIJ+H1M]>��/��,�J)�J3mn3��x��"���[�C"6��6C"��C779;"�k�=kg�C#>��>D$#fF%"j6n#b8�\*RSUVX(Z/[2]6^@_]4CtuC�uC�u6
�u@oux�Z[]=?�@�A�%�
Y�B�C��D�E��D����FY�G��\2��k"�j	5�	�j	�	PKʣG� ��chatty/util/Speedruncom.class���3j2	34567489:;<;=>?@ 2A BC DEFGHI>JKLMNOPQ	twitchApiLchatty/util/api/TwitchApi;<init>(Lchatty/util/api/TwitchApi;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/Speedruncom;openCurrentGame"(Lchatty/gui/components/Channel;)VgameLjava/lang/String;infoLchatty/util/api/StreamInfo;chanLchatty/gui/components/Channel;
StackMapTable
replaceForUrl&(Ljava/lang/String;)Ljava/lang/String;SourceFileSpeedruncom.javaRSTUVWXYUZ[\]^_`Uab_java/lang/StringBuilderhttp://speedrun.com/cd./eUfgXhttp://speedrun.com _hi:'&andchatty/util/Speedruncomjava/lang/Object()Vchatty/gui/components/ChannelgetName()Ljava/lang/String;
chatty/HelperisRegularChannel(Ljava/lang/String;)Z
getStreamNamechatty/util/api/TwitchApi
getStreamInfo?(Ljava/lang/String;Ljava/util/Set;)Lchatty/util/api/StreamInfo;chatty/util/api/StreamInfoisValid()ZgetGamejava/lang/StringisEmptyappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringchatty/gui/UrlOpeneropenUrlreplaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;! F*�*+��!	"#$%& �O+���A*�+��M,��-,��	�#,�N�Y��
-��
��W��W�!"(-GHN "*-'(1)*O#$O+,-�H./ H*�����!#"'(01PKʣGf�R���'chatty/util/StreamHighlightHelper.class���3?+���������	M�	M�	M�����������	M�������
�
�����
�
�
�����M�����������������������
��M���������	M��	��	��	�����������@��	M����������������������LOGGERLjava/util/logging/Logger;CHARSETLjava/nio/charset/Charset;	FILE_NAMELjava/lang/String;
ConstantValuesettingsLchatty/util/settings/Settings;apiLchatty/util/api/TwitchApi;fileLjava/nio/file/Path;lastStreamStartWrittenJ<init>=(Lchatty/util/settings/Settings;Lchatty/util/api/TwitchApi;)VCodeLineNumberTableLocalVariableTablethis#Lchatty/util/StreamHighlightHelper;modCommand3(Lchatty/User;Ljava/lang/String;)Ljava/lang/String;commentuser
Lchatty/User;linechannelsettingChannelcommand
StackMapTable�addHighlight8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;shortCommentsuccessZstreamInfoLchatty/util/api/StreamInfo;streamTime����	addToFile(Ljava/lang/String;)Zx2Ljava/lang/Throwable;wLjava/io/BufferedWriter;exLjava/io/IOException;��openFile()Ljava/lang/String;<clinit>()VSourceFileStreamHighlightHelper.javaa�_`YZ[\java/lang/StringBuilder�����stream_highlights.txt��java/lang/String���]^���streamHighlightChannel���streamHighlightCommand��	[�]st
�,Failed adding stream highlight (no channel).�Stream Time N/A�chatty/util/DateTime$FormattingFormattingInnerClasses
%s %s [%s] %sjava/lang/Object�-�()Added stream highlight for  [] -Failed adding stream highlight (write error).TUjava/nio/file/OpenOption !"!#!$%&��'(�)�java/lang/Throwable*+java/io/IOExceptionRS#Failed to write stream highlights: �,-./012343Error opening stream highlights file (not present).5675Opened stream highlights file in default application.%Error opening stream highlights file.!chatty/util/StreamHighlightHelper89�:;UTF-8<=>chatty/util/api/StreamInfojava/io/BufferedWriter
chatty/ChattygetExportDirectoryappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;chatty/UsergetChannelchatty/util/settings/Settings	getString&(Ljava/lang/String;)Ljava/lang/String;isEmpty()Zequals(Ljava/lang/Object;)ZhasChannelModeratorRightschatty/util/StringUtiltoLowerCasestartsWithlength()I	substring(I)Ljava/lang/String;getDisplayNick
chatty/HelperisRegularChanneltoStreamchatty/util/api/TwitchApi
getStreamInfo?(Ljava/lang/String;Ljava/util/Set;)Lchatty/util/api/StreamInfo;isValid	getOnlinegetTimeStarted()Jchatty/util/DateTimeago7(J[Lchatty/util/DateTime$Formatting;)Ljava/lang/String;fullDateTimeformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;	shortenTo'(Ljava/lang/String;I)Ljava/lang/String; java/nio/file/StandardOpenOptionCREATE"Ljava/nio/file/StandardOpenOption;WRITEAPPENDjava/nio/file/FilesnewBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;*(Ljava/lang/CharSequence;)Ljava/io/Writer;newLineclose
addSuppressed(Ljava/lang/Throwable;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerwarning(Ljava/lang/String;)Vjava/nio/file/PathtoFile()Ljava/io/File;java/io/Fileexistschatty/util/MiscUtilopenFolder%(Ljava/io/File;Ljava/awt/Component;)Zjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;!M+RSTUVWXYZ[\]^_`abc�6*�*�*+�*,�*�Y��	����
���d)'*+-5.e 6fg6YZ6[\hic|+�N*��:*��:�]��U�P-��G+��@,���4,��:*-�Y��+��������d"9:;<=?I@TBzEeHT&jW|fg|kl|mWwnWloWapWq�zrrrstc�+�+��+�� �*�+�!�"N#:-�$�-�%�-�&�'�(:,�)M*�+Y�,SY+SYSY,S�-:*Y:�-�&*���*.�/W*�/6�`*-�&�):,��"�Y�0�,�1�2��:�Y�3�+�4��5���ð6ð:	�	�k��������dVSTX"Y&Z4[A^E_Hcfikkwl~p�q�r�s�t�u�w�y�zeR�QuW�hvw�fg�nW�jW"�xy&�zWf�mWq@�+{r�5r|�>r�*�}rr{rr|~�c��*��7�8Y�9SY�:SY�;S�<MN,+�=W,�>,�K-�,�?�@:-�A�5,�?�.:N�:,�-�,�?�:-�A�,�?��M�C�Y�D�,�E��F��59<@#-N@#-V`dg@NXVy|Bd.�#�)�-�N�V�y�|�}�����e>>��i��!X��}���fg�mWqO�<}r�~~F~G~�}r�~~~�}rB���cl(*��G�H�I�*��G�J�K�L�d���"�%�e(fgq��c1M�N�O�CP�Q�7�d���'��@PKʣGlt")chatty/util/StreamStatusWriter$Item.class���3J/	0	1	2	34/56789:;=9>?streamLjava/lang/String;filecontent	forOnlineZ<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)VCodeLineNumberTableLocalVariableTablethisItemInnerClasses%Lchatty/util/StreamStatusWriter$Item;toString()Ljava/lang/String;hashCode()IhashI
StackMapTable=equals(Ljava/lang/Object;)ZobjLjava/lang/Object;otherSourceFileStreamStatusWriter.java@java/lang/StringBuilderAB/AC !D"EFGH#chatty/util/StreamStatusWriter$Item(Ijava/lang/Object()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(Z)Ljava/lang/StringBuilder;java/util/Objects(Ljava/lang/Object;)IgetClass()Ljava/lang/Class;chatty/util/StreamStatusWriter'(Ljava/lang/Object;Ljava/lang/Object;)Z �*�*+�*,�*-�*����	����4 !`6�Y�*��	�*��	�*��	�*�����6"#�#<h*��`<h*���`<����!�#!$%&�'�'()�7+��*�
+�
��+�M*�,����*�,����*������&�(�3�5� 77*+,&�'-.<PKʣGd�w�$chatty/util/StreamStatusWriter.class���3JQ���	J�	J�	J�	J�	J���	J���������������������������J���J�	����	���	�	�J�J��������������������	J���������9��	J��=��=�=�=����J�J���H������������ItemInnerClassesLOGGERLjava/util/logging/Logger;CHARSETLjava/nio/charset/Charset;pLjava/util/regex/Pattern;enabledZitemsLjava/util/Set;	Signature6Ljava/util/Set<Lchatty/util/StreamStatusWriter$Item;>;streams#Ljava/util/Set<Ljava/lang/String;>;pathLjava/lang/String;apiLchatty/util/api/TwitchApi;<init>0(Ljava/lang/String;Lchatty/util/api/TwitchApi;)VCodeLineNumberTableLocalVariableTablethis Lchatty/util/StreamStatusWriter;setEnabled(Z)VsetSetting(Ljava/lang/String;)Vstreamfileonline	forOnlinecontentsettingmLjava/util/regex/Matcher;
StackMapTable��test()Vi$Ljava/util/Iterator;streamStatus(Lchatty/util/api/StreamInfo;)Vitem%Lchatty/util/StreamStatusWriter$Item;infoLchatty/util/api/StreamInfo;checkItemAndWriteD(Lchatty/util/api/StreamInfo;Lchatty/util/StreamStatusWriter$Item;)ZmakeContentB(Lchatty/util/api/StreamInfo;Ljava/lang/String;)Ljava/lang/String;write'(Ljava/lang/String;Ljava/lang/String;)Vx2Ljava/lang/Throwable;writerLjava/io/BufferedWriter;exLjava/io/IOException;fileNameLjava/nio/file/Path;��settingChanged((Ljava/lang/String;ILjava/lang/Object;)VtypeIvalueLjava/lang/Object;<clinit>SourceFileStreamStatusWriter.javagjava/util/HashSet]^a^cdef[\YZ	
offline#chatty/util/StreamStatusWriter$Itemgjava/lang/String�� ��rd!"#$u\%sdvd����%title&"'(%game)"%viewers*+,exported-./01%java/nio/file/attribute/FileAttribute234WXjava/nio/file/OpenOption56�q7java/lang/Throwable89java/io/IOExceptionUVjava/lang/StringBuilderError writing status: :;:<=">?qstatusWriterpq~enableStatusWriterjava/lang/Boolean@chatty/util/StreamStatusWriterAB"CDUTF-8EFG4(\w+) ([0-9_A-Za-z\.]+)( online| offline)?( [^\n]+)?HIjava/lang/Object*chatty/util/settings/SettingChangeListenerjava/util/regex/Matcherjava/util/Iteratorjava/nio/file/Pathjava/io/BufferedWriter
java/util/Setclearjava/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;find()Zgroup(I)Ljava/lang/String;chatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;trimequals(Ljava/lang/Object;)Z:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Vadditerator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;chatty/util/api/TwitchApi
getStreamInfo?(Ljava/lang/String;Ljava/util/Set;)Lchatty/util/api/StreamInfo;chatty/util/api/StreamInfoisValid	getStream()Ljava/lang/String;equalsIgnoreCase(Ljava/lang/String;)Z	getOnlinegetTitlereplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;getGamegetViewers()IvalueOfjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;resolve((Ljava/lang/String;)Ljava/nio/file/Path;java/nio/file/FilescreateDirectoriesR(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;newBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;close
addSuppressed(Ljava/lang/Throwable;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/util/logging/LoggerwarningbooleanValuejava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;compile-(Ljava/lang/String;)Ljava/util/regex/Pattern;!JQRUVWXYZ[\]^_`a^_bcdefghiw%*�*�Y��*�Y��*+�*,��jM9?NO$Pk %lm%cd%ef!noi>*��jXYklm[\!pqix�*��	*��	�+�M,��k,�
�N,�
:,�
�:6��6,�
�:��:*��Y-��W*�-�W����jBb	cde!f*g1h;i>jHkKmUnco{p�q�skR*\rd1Usd;Ktd>Hu\U1vd�lm�wdpxyz<�{�0|}{}}}�}A}�'|}{!~i�5*��0*��L+��+��M**�,�����jz{$|1}4k $
rd#��5lmz���"!��i�6*��1+��**��M,��,��N*+-�W���j��+�2�5�k*+����6lm6��z�����i�?,�+�� �2,�!�+�"�,�!�+�"�*,�#*+,�$�%�&��j��*�;�=�k ?lm?��?��z
��ip&,'+�(�)M,*+�+�)M,,+�-�.�)M,�j���$�k &lm&��&vd��i��*��Y/S�0N-+�1:-�2�3W�4�5�6::,�7�U��8�H:�:�<�8�4::�:�!��8�:		�:��8��:�<�=Y�>?�@�A�B�C�DIL94:`94:iuz}9`ki��;j2���#�4�:�`�i���������k\	N����	1`������lm��d�vd�c��s�zj�L|}}�����G�H��	|}}�������|}}��B���i�1+D��*-��E*�F�+G��*-�H�I�*�F�j�	���!�,�0�k*1lm1wd1��1��z�i=J�K�L�<M�N�4O�P��j/12��TJSPḲG .�XXchatty/util/StringUtil.class���3�#abacdefeghij akd l mnopqrstu	vwx"y	"z{|}~	"���{����WHITESPACELjava/util/regex/Pattern;LINEBREAK_CHARACTERS<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/StringUtil;
getStringList$(Ljava/lang/Object;)Ljava/util/List;itemLjava/lang/Object;i$Ljava/util/Iterator;objresultLjava/util/List;LocalVariableTypeTable$Ljava/util/List<Ljava/lang/String;>;
StackMapTablec�	Signature8(Ljava/lang/Object;)Ljava/util/List<Ljava/lang/String;>;join<(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;itemsLjava/util/Collection;	delimiterLjava/lang/String;bLjava/lang/StringBuilder;it*Ljava/util/Collection<Ljava/lang/String;>;(Ljava/util/Iterator<Ljava/lang/String;>;jP(Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;)Ljava/lang/String;	shortenTo'(Ljava/lang/String;I)Ljava/lang/String;inputmaxItrim&(Ljava/lang/String;)Ljava/lang/String;snullToStringtoLowerCasehtrimAllremoveDuplicateWhitespacetextremoveLinebreakCharactersappendJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;asep<clinit>SourceFileStringUtil.java'(java/util/ArrayListjava/util/List�������java/lang/String��java/lang/StringBuilder�Z����������..��P����T�WQ$%��� ��Q&%��\s+��[\r\n]+chatty/util/StringUtiljava/lang/Objectjava/util/Iteratoriterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;add(Ljava/lang/Object;)Zjava/util/Collection-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;length()Ijava/lang/Mathabs(I)I	substring(II)Ljava/lang/String;(I)Ljava/lang/String;java/util/LocaleENGLISHLjava/util/Locale;&(Ljava/util/Locale;)Ljava/lang/String;java/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/MatcherreplaceAllisEmptycompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;!"#$%&%'()/*��*+,-	./)�@�Y�L*��2*��M,��,�N-��+-��	W���+�*)0;!>#+*)01%23@4185678589�:;!�<=	>?)�=�Y�M*�N-��#,-���
W-����,+�
W���,��*'()*&+/,8/+*=@A=BC5DE.F37=@G.FH9�I;(<J	KL)�Y*�V*���K��Y�*d��
�
����"�Y��
**�``��
���*�*ABC/D5ETGWJ+YMCYNO9/$	PQ)F*��*��*NOQ+RC9	SQ)D	*��*�*UVX+	RC9	TQ)G*�
*����*\+RC9@U	VQ)I*�*�*���*ijl+RC9	WQ)7
�*���*z+
XC	YQ)N*���*���*���+RC9	Z[)t$*�*��,��Y�*�
+�
,�
��*��
�+ $\C$]C$DC9^()-� �!� ��*o}_`PKʣGpH�d88chatty/util/TimedCounter.class���3W454	6	7	89:;<	=	>?@ABCDEFGdataLjava/util/LinkedList;	Signature(Ljava/util/LinkedList<Ljava/lang/Long;>;intervalJaccuracy	lastAddedcountI<init>(JJ)VCodeLineNumberTableLocalVariableTablethisLchatty/util/TimedCounter;getCount(Z)IremoveZ
StackMapTableincrease()VtimePassedclearUplimitsetInterval(J)VSourceFileTimedCounter.java,java/util/LinkedList.,HIJKLMNOPQRSTjava/lang/LongULVTchatty/util/TimedCounterjava/lang/Objectsize()Ijava/lang/SystemcurrentTimeMillis()JvalueOf(J)Ljava/lang/Long;addFirst(Ljava/lang/Object;)VisEmpty()ZgetLast()Ljava/lang/Object;	longValueremoveLast! !h*�*�Y��*�*!��"!
"#$# $%!&'!U�*�*���"-.0#$%()*!+,!�d*�	��L�	*�e@*���-*�*��*�*�*�a��
*�	�*�*Y�`��*�*��	��
�"6
7	89:;&<9>@?EAOBRCVDcF#=-d$%*�9�.,!~1�	*�e@*��� *������*��W��ܱ"L	M%N0P#1$%	(/*�	&!01!F*�*��"XY	Z#$%23PKʣG�X�-- chatty/util/TwitchEmotes$1.class���36	!"#$%&'()this$0Lchatty/util/TwitchEmotes;<init>/(Lchatty/util/TwitchEmotes;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/TwitchEmotes$1;x0Ljava/lang/String;
requestResult(Ljava/lang/String;I)VresultresponseCodeI
StackMapTableSourceFileTwitchEmotes.javaEnclosingMethod*+,	-./0123-45chatty/util/TwitchEmotes$1chatty/util/UrlRequestchatty/util/TwitchEmotesrequestEmotesetsFromApi()V(Ljava/lang/String;)Vaccess$000/(Lchatty/util/TwitchEmotes;Ljava/lang/String;)Iaccess$1005(Lchatty/util/TwitchEmotes;)Lchatty/util/SimpleCache;chatty/util/SimpleCachesaveaccess$202(Lchatty/util/TwitchEmotes;Z)Z 	
?*+�*,��:
~'Ƞ*�+��*��+�*��W�>?@C&D ''' PKʣG�E#__3chatty/util/TwitchEmotes$TwitchEmotesListener.class���3
emotesetsReceived(Ljava/util/Map;)V	Signature9(Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;)VSourceFileTwitchEmotes.java-chatty/util/TwitchEmotes$TwitchEmotesListenerTwitchEmotesListenerInnerClassesjava/lang/Objectchatty/util/TwitchEmotes		PKʣG���?��chatty/util/TwitchEmotes.class���3	9�	9�9�=�	9���	9�Q���9�������9�	9������������>�� ��"�"��v%�%����������������������������������TwitchEmotesListenerInnerClassesLOGGERLjava/util/logging/Logger;EMOTESET_URLLjava/lang/String;
ConstantValueCACHED_EMOTICONS_EXPIRE_AFTERIQ�FILElistener/Lchatty/util/TwitchEmotes$TwitchEmotesListener;cacheLchatty/util/SimpleCache;pendingRequestZ<init>2(Lchatty/util/TwitchEmotes$TwitchEmotesListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/TwitchEmotes;requestEmotesets(Z)VforcedUpdatecached
StackMapTable�requestEmotesetsFromApi()VrequestLchatty/util/UrlRequest;
loadEmotesets(Ljava/lang/String;)IjsonemotesetStreamsLjava/util/Map;LocalVariableTypeTable6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;parseEmotesets#(Ljava/lang/String;)Ljava/util/Map;emotesetLjava/lang/Integer;streamexLjava/lang/RuntimeException;keyLjava/lang/Object;i$Ljava/util/Iterator;rootLorg/json/simple/JSONObject;setsLjava/lang/Exception;parser#Lorg/json/simple/parser/JSONParser;��������	SignatureJ(Ljava/lang/String;)Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;access$000/(Lchatty/util/TwitchEmotes;Ljava/lang/String;)Ix0x1access$1005(Lchatty/util/TwitchEmotes;)Lchatty/util/SimpleCache;access$202(Lchatty/util/TwitchEmotes;Z)Z<clinit>SourceFileTwitchEmotes.javaOPMNbcQ_KLchatty/util/SimpleCache	emotesetsJEQ���^_chatty/util/TwitchEmotes$15http://direct.twitchemotes.com/api_cache/v2/sets.jsonQ�java/lang/ThreadQ��_ijBCjava/lang/StringBuilderFound ������� emotesets�������java/util/HashMap!org/json/simple/parser/JSONParser��org/json/simple/JSONObject������������java/lang/String��c�������java/lang/ClassCastExceptionjava/lang/NumberFormatExceptionjava/lang/NullPointerExceptionError parsing emoteset: ����%org/json/simple/parser/ParseExceptionError parsing emotesets: chatty/util/TwitchEmotes������java/lang/Object-chatty/util/TwitchEmotes$TwitchEmotesListener
java/util/Mapjava/util/Iteratorjava/lang/RuntimeExceptionjava/lang/Exception((Ljava/lang/String;Ljava/lang/String;J)Vload()Ljava/lang/String;/(Lchatty/util/TwitchEmotes;Ljava/lang/String;)V(Ljava/lang/Runnable;)Vstartappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;size()I(I)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerinfo(Ljava/lang/String;)VemotesetsReceived(Ljava/util/Map;)Vparse&(Ljava/lang/String;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;keySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;java/lang/IntegerparseIntvalueOf(I)Ljava/lang/Integer;
chatty/HelpertoStream&(Ljava/lang/String;)Ljava/lang/String;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;
chatty/ChattygetCacheDirectory!9=BCDEFGHFIJEKLMNBOP	QRS]*�*+�*�Y�	���T%&	'(UVWKL!XYS� M�*��M,�*,�W�*�
�T+,-/024U  VW ZP[E\�]^_Su$*����Y*�L�Y+��*��T78:FG#HU$VW`a\bcS�:*+�M��Y��,�����*�,�,��TKL)M3NU :VW:dE4efg4ehijS*�� Y�!M+�,��"Y�#N-+�$�%:&�'�%:�(�):�*�U�+:�,�-�.:�'�,�/:	,	�0W�:��Y�4��5��6����:��Y�8��5��6,�Kru1Kru2Kru3��7��1��3TJRSTVX Y,ZK\X]g^rau_w`�b�e�c�d�fUzXklgmE	wnoKFpq8\rs ttu,hvu�nw�VW�dE�ef�xyg�eh\Q�z�){]z|}}~�<{]z|}}~���B�����S:*+��TU�W�E��S/*��TU�W��S;*Z��TU�W�P�_SA%9�:�;��Y��<�����T��@>9?	PḲG
�C��chatty/util/UrlRequest.class���3�:yz	5{	5|}y~�	5����5�	5��	5�����	5��5�������������!���	5�$�#�#��#��+��������������������LOGGERLjava/util/logging/Logger;CHARSETLjava/nio/charset/Charset;CONNECT_TIMEOUTI
ConstantValue'READ_TIMEOUTurlLjava/lang/String;responseCoderesultencodinglabel<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/UrlRequest;(Ljava/lang/String;)VsetUrlsetLabelrun
StackMapTable��}�
requestResult(Ljava/lang/String;I)VgetUrllinex2Ljava/lang/Throwable;readerLjava/io/BufferedReader;Ljava/net/URL;inputLjava/io/InputStream;responseLjava/lang/StringBuilder;exLjava/io/IOException;	targetUrlconnectionLjava/net/HttpURLConnection;	exceptionLjava/lang/Exception;�������<clinit>SourceFileUrlRequest.javaKLJFEFjava/lang/StringBuilder�� ��<=	Request: ��R]RHFResponse (GA��, ���IF): [\java/net/URLKR��java/net/HttpURLConnection��������gzip��java/util/zip/GZIPInputStreamK�java/io/BufferedReaderjava/io/InputStreamReader>?K�K����Ljava/lang/Throwable�����LRequest Error [] (��)�Rjava/io/IOExceptionchatty/util/UrlRequest�����UTF-8���java/lang/Objectjava/lang/Runnablejava/util/logging/Loggerjava/lang/Stringjava/lang/Exceptionjava/io/InputStreamappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;info(I)Ljava/lang/StringBuilder;length()IopenConnection()Ljava/net/URLConnection;setConnectTimeout(I)VsetReadTimeoutgetContentEncodinggetInputStream()Ljava/io/InputStream;equals(Ljava/lang/Object;)Z(Ljava/io/InputStream;)V2(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V(Ljava/io/Reader;)VreadLineclose
addSuppressed(Ljava/lang/Throwable;)VgetResponseCodedisconnect-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;!5:;	<=>?@ABCDABCEFGAHFIFJFKLM=*�*��N(#)OPQKRMP*�*�*+��N+#,-OPQEFSRM>*+��N56OPQEFTRMP*�Y�+���	��N@AOPQJFULM���Y�*���*���	�**��
*��f��Y�*���*���*���*���Y��*���	���*���	�**�*���NE#F+G2H�K�LO�PQV&�~WXY�WXYZ[\]RM�=MN�Y+�:��M,'�,'�*,��,�:,�� ��!Y�":�Y�:�#Y�$Y�%�&�'::�(Y:	�	�W)�W����U��*�H:		�,�<�*�4:		:	�:�!��*�:�,��*�*�	�,��*,�-�,�.*�ȟ@��Y�*��/�*��0�*���-�12��	�3��:��Y�*��/�*��0�-�12��	�3�Ʋ�Y�*��/�*��0�-�12��	�3��:N,��*,�-�,�.*�ȟ@��Y�*��/�*��0�*���-�12��	�3�3:��Y�*��/�*��0�-�12��	�3����Y�*��/�*��0�-�12��	�3��:,��*,�-�,�.*�ȟ@��Y�*��/�*��0�*���-�12��	�3�j:
��Y�*��/�*��0�-�12��	�3�4��Y�*��/�*��0�-�12��	�3�����+k��+k�����+����@C4��4�	4�v��v|��4vxvN�6`acdef%g-j3k?lJoSpkrvs~t�v�p�v�w�{�}�~��@�C�E�v�y����x�y�{�}�~���	���?�B�s�v{|}�~�����������<�O�s^F	�_`	�_`hxab�Ec3�deS�fgE1hi�hi1hi�1hi
=PQ=jF;kl9mnV��JWZopqr� YstQtGtHt�WZopqrYsttt�WZopqrY�_Bu5su�[Bu5st�X
WZoptBu50�WZopvLM15�6�7�8�9�%�NwxPKʣG#���chatty/util/Webserver$1.class���36	!	"#$%&'()*+,<init>()VCodeLineNumberTableLocalVariableTablethisInnerClassesLchatty/util/Webserver$1;webserverStartedwebserverStoppedwebserverError(Ljava/lang/String;)VerrorLjava/lang/String;webserverTokenReceivedtokenSourceFileWebserver.javaEnclosingMethod./0123-Display a message that it's ready or whatever456Do whatever you want to do when the server was stopped'Display a message that an error occuredSave token and stuffchatty/util/Webserver$1java/lang/Object'chatty/util/Webserver$WebserverListenerWebserverListenerchatty/util/Webservermain([Ljava/lang/String;)Vjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln0	
/*��&
7	���*+	
7	���/0	
A	���45		
A	���9:		 -	PKʣG[Juff/chatty/util/Webserver$WebserverConnection.class���3#	P�Q�	P�	P�����������P����������P������������P���������P����P�������������������������������������P��Q�����I���������connectionNumberIconnectionLjava/net/Socket;this$0Lchatty/util/Webserver;<init>,(Lchatty/util/Webserver;Ljava/net/Socket;I)VCodeLineNumberTableLocalVariableTablethisWebserverConnectionInnerClasses+Lchatty/util/Webserver$WebserverConnection;debugConnection(Ljava/lang/String;)VmessageLjava/lang/String;run()Vrequestx2Ljava/lang/Throwable;inputLjava/io/BufferedReader;ex!Ljava/net/SocketTimeoutException;Ljava/io/IOException;
StackMapTable�����respondtokenresponseoutputLjava/io/OutputStream;��closeremoveToken&(Ljava/lang/String;)Ljava/lang/String;getTokenstartendend2makeResponseLjava/io/InputStream;bufferedReaderbufferLjava/lang/StringBuilder;lineLjava/lang/Exception;fileNamecontent���makeHeader(Z)Ljava/lang/String;okZheaderSourceFileWebserver.javaWXYgSTUVjava/lang/StringBuilder[����] �����Handling connectionbcjava/io/BufferedReaderjava/io/InputStreamReader���Y�Y�����vc}gjava/lang/Throwable�java/net/SocketTimeoutExceptionSoTimeout: �java/io/IOExceptionError reading: ClosedMaking response for ~get /token/��	token_redirect.html�Token redirecttoken_received.htmlToken received
cget /tokenreceived/token_received_no_redirect.htmlUTF-8�Error responding: Failed closing connection: <token>/token/ /���Nothing here.. !java/lang/Exception"�?<html><body>An error occured (couldn't read file)</body></html>HTTP/1.0 200 OKHTTP/1.0 403 ForbiddenServer: ChattyWebserver(Content-Type: text/html; charset=UTF-8 )chatty/util/Webserver$WebserverConnectionjava/lang/Objectjava/lang/Runnablejava/lang/Stringjava/io/OutputStreamjava/io/InputStreamappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;chatty/util/Webserveraccess$000,(Lchatty/util/Webserver;Ljava/lang/String;)Vjava/net/SocketgetInputStream()Ljava/io/InputStream;(Ljava/io/InputStream;)V(Ljava/io/Reader;)VsetSoTimeout(I)VreadLine
addSuppressed(Ljava/lang/Throwable;)VgetLocalizedMessagegetOutputStream()Ljava/io/OutputStream;chatty/util/StringUtiltoLowerCasestartsWith(Ljava/lang/String;)ZisEmpty()Zaccess$100WebserverListenerB(Lchatty/util/Webserver;)Lchatty/util/Webserver$WebserverListener;'chatty/util/Webserver$WebserverListenerwebserverTokenReceivedgetBytes(Ljava/lang/String;)[Bwrite([B)VreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;indexOf(Ljava/lang/String;)Ilength()I(Ljava/lang/String;I)I	substring(II)Ljava/lang/String;trimgetClass()Ljava/lang/Class;java/lang/ClassgetResourceAsStream)(Ljava/lang/String;)Ljava/io/InputStream;getMessage PQRSTUVWX	YZ[^*+�*�*�*,��\�	���] ^aUVSTbc[_'*��Y��*��	�+����\�&�]'^a'defg[��*
��Y�Y*����LM*�'�+�N-�*-�+�F,�+��;N,-��2+��+N-M-�:+�,�+��:,��+���<L*�Y��+�����L*�Y��+����* ��>BE6U6ZdhkU\Z}�}�\J����(�-�1�6�U�Z�}���������������]H-	heFijmijakl�mn�mo�^apD�6qrNrFrDr�sqrrr�sBt]uvc[�*�Y�!�*+�"���*��#MN$:+�%&�'�L*+�(:�)�**�+:*,��)*-�+:*.�*��/�*��/�0�!+�%1�'�*2�+:�*�+:,3�4�5,�K-�,�6�@:-��5,�6�.:N�:,�-�,�6�:-��,�6��M*�Y�7�,��������%��%����������\b��%�)�5<DLU]	cm{~����������]R<?we)~xe�ij�ij#�yz�mo^ahepo�Us{|r{{�%�s{|rrFrGr�s{|rrr�s{Bu}g[&*��8�L*�Y�9�+�����\!$"#%%]mo&^apJu~[^*+�(�)�+�+*+�(:�;�\./
1]^ahep
�[�I+<�==�$�<�>`=+?�@>+A�@6��>�$�+�B�C�\.>?ACDE(G4H7J<K?M]4I^aIheB�T*�T(!�Tp��'�[{�+��Y�*�D�E���$M*�F+�GN�Y�Y-��:�Y�:�Y:��WH�W����M�N*�-�J�KM�Y�*�D�,���fiI\>XY\`(a9bBdMeUf`hfmijjkulxn]R(>k�9-�lB$��J�ejm��^a��ep�ep6�%s{{�q��{�s{{���[�\$M��Y�,�L��M��Y�,�M��M�Y�,�N��M�Y�,�O��M,�\xyz|2~FZ�] \^a\��Y�ep	�{��`P�_��	PKʣGod��]]-chatty/util/Webserver$WebserverListener.class���3webserverStarted()VwebserverStoppedwebserverError(Ljava/lang/String;)VwebserverTokenReceivedSourceFileWebserver.java'chatty/util/Webserver$WebserverListenerWebserverListenerInnerClassesjava/lang/Objectchatty/util/Webserver	
	PKʣG�i���chatty/util/Webserver.class���3�	���������=�	�	�	���	�������	����	�����������?��?�����)���?������3�������3���������WebserverListenerInnerClassesWebserverConnectionLOGGERLjava/util/logging/Logger;ERROR_COULD_NOT_LISTEN_TO_PORTI
ConstantValueSO_TIMEOUT'portrunningZserverSocketLjava/net/ServerSocket;listener)Lchatty/util/Webserver$WebserverListener;connectionCountconnectionsLjava/util/ArrayList;	SignatureBLjava/util/ArrayList<Lchatty/util/Webserver$WebserverConnection;>;main([Ljava/lang/String;)VCodeLineNumberTableLocalVariableTableargs[Ljava/lang/String;sLchatty/util/Webserver;<init>,(Lchatty/util/Webserver$WebserverListener;)Vthisstop()Vdebug(Ljava/lang/String;)VmessageLjava/lang/String;runexLjava/io/IOException;Ljava/net/SocketException;clientSocketLjava/net/Socket;
StackMapTable����close
newConnection(Ljava/net/Socket;)Vconnection+Lchatty/util/Webserver$WebserverConnection;closeConnectionsci$Ljava/util/Iterator;�access$000,(Lchatty/util/Webserver;Ljava/lang/String;)Vx0x1access$100B(Lchatty/util/Webserver;)Lchatty/util/Webserver$WebserverListener;<clinit>SourceFileWebserver.javaQRfgchatty/util/Webserverchatty/util/Webserver$1aeabjava/lang/Threada��eMNOPSGjava/util/ArrayListTUuejava/lang/StringBuilderWebserver: ����DE��g"Trying to start webserver at port LG��java/net/ServerSocket���a�java/io/IOExceptionCould not listen to port  (��)�gde�eWaiting for connections��java/net/SocketExceptionAccept interrupted: ServerSocket accept failed: vw�eStoppedzeError closing ServerSocket: )chatty/util/Webserver$WebserverConnectiona���������������java/lang/Objectjava/lang/Runnable'chatty/util/Webserver$WebserverListenerjava/net/Socketjava/util/Iterator(Ljava/lang/Runnable;)Vstartappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerinfo(I)Ljava/lang/StringBuilder;java/net/InetAddressgetLoopbackAddress()Ljava/net/InetAddress;(IILjava/net/InetAddress;)VgetLocalizedMessagewebserverErrorwebserverStartedaccept()Ljava/net/Socket;webserverStopped,(Lchatty/util/Webserver;Ljava/net/Socket;I)Vadd(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!=>	DEFGHIJGHKLGBMNBOPQRSGTUVW	XYZW�Y�Y��L�Y+��	�[&<=\]^_`abZp$*�*�*�*�
*�Y��*+��[E	F#G\$c`$QRdeZ<*�*��[QR	S\c`fgZX�Y��+��L�+��[[\]\c`hijeZ*�Y������*�Y�����XL*�Y� ���!�+�"�#���*��!*��Y� �����$*�%�*��*��&*��Z*'�L*��(L�?M*�Y�*�,�+����)M*�Y�,�,�"����*+�-���*�*��*��.*/��+.���)���[vdf+n.g/hYi`j~l�m�p�q�t�u�v�x���y�z�}�~���������������\4/Tkl�km�kl�Lnoc`p)	nq�Oq��rst]q�ueZ�6*�0*��*��1*��L*�Y�2�+�"����["�������5�\kl6c`pBqvwZt*�3Y*+*Y�
Z`�
�4M�Y,��	*�,�5W�[�� �)�\ *c`*noxyzeZ~#*��6L+�7�+�8�3M,�9���[���"�\ {y|}#c`p�~��Z:*+��[\�`�i��Z/*��[\�`�eZ.�:�;�<��[��A?@	3BPKʣG��ӈ�chatty/util/WrapHistory.class���3�/d	e	fgd	h	ij/klmnmomp	qmrstudvwxyz{|}~	���������������������dataLjava/util/List;	SignatureLjava/util/List<TE;>;sizeIposstartend<init>(I)VCodeLineNumberTableLocalVariableTablethisLchatty/util/WrapHistory;LocalVariableTypeTableLchatty/util/WrapHistory<TE;>;addIfNew(Ljava/lang/Object;)VitemLjava/lang/Object;TE;
StackMapTable(TE;)VaddpeekForward()Ljava/lang/Object;nextPos()TE;
peekBackwardsprevPosforwardnextItem�backwardprevItemcurrenthasNext()ZhasPreviousdebug()Ljava/lang/String;main([Ljava/lang/String;)Vargs[Ljava/lang/String;h-Lchatty/util/WrapHistory<Ljava/lang/String;>;(<E:Ljava/lang/Object;>Ljava/lang/Object;SourceFileWrapHistory.java9�6575java/util/ArrayList0145UK��IC�4�I���85��JKNKjava/lang/StringBuilderPos: ����
 First/Last: / Data: ���Zchatty/util/WrapHistory9:���peekForward:java/lang/String���peekBackwards:test1YZXW��test2forward:PKtest3test4backwards:SKtest5java/lang/Object()Vequals(Ljava/lang/Object;)Zjava/util/List()Iset'(ILjava/lang/Object;)Ljava/lang/Object;get(I)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)V(Z)V!/0123456575859:;y*�*�*�*�Y��*��</#	(012=>?45@>ABC;r+*��	�*+��<<=?=>?DE@>ADFG2HIC;�o**�`*�p�*��*��*�+�W�*�*�+�
W*��*��*�*��**�`*�p�**���<*IJK-M<ODPLRWUfZn[=o>?oDE@o>AoDFG-2HJK;�1*�`*�p<*���*�*���*���<de$i&k=1>?%L5@1>AG�$2MNK;�6*�*�`d*�p<*���*�*���*���<wx)|+~=6>?%O5@6>AG�)2MPK;�*�L+��**�`*�p�+�<��	���=>?QE@>AQFG�R2MSK;�!*�L+��**�*�`d*�p�+�<��	���=!>?TE@!>ATFG�R2MUK;u'*��*�*����*�*���<���='>?@'>AG2MVW;T
*����<�=
>?@
>AG@XW;T
*����<�=
>?@
>AG@YZ;w;�Y��*���*���*���*����<�=;>?@;>A	[\;��Y�L��Y��+�� ���!��Y�"�+�� ���!+#��+�$�!��Y��+�� ���!��Y�"�+�� ���!�+�%�&+'��+�$�!��Y��+�� ���!��Y�(�+�)� ���!��Y�"�+�� ���!+*��+�$�!++��+�$�!��Y�"�+�� ���!��Y�,�+�-� ���!��Y�,�+�-� ���!+.��+�$�!��Y��+�� ���!��Y�,�+�-� ���!�+�$�!��Y��+�� ���!��Y�(�+�)� ���!��Y�(�+�)� ���!��Y�,�+�-� ���!�+�$�!��Y�,�+�-� ���!�+�$�!��Y�,�+�-� ���!�+�$�!��Y�(�+�)� ���!�+�$�!��Y�,�+�-� ���!�+�$�!�<�'�	�(�G�M�W�v����������������"�,�K�j���������������>�]�g���������������=]^	_?@	_`2abcPKɣG��ff!chatty/util/api/ChannelInfo.class���3		statusLjava/lang/String;game<init>'(Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/ChannelInfo;	getStatus()Ljava/lang/String;getGameSourceFileChannelInfo.java	chatty/util/api/ChannelInfojava/lang/Object()V!	Y*�*+�*,��	
 /*��
/*��
PKʣG���� chatty/util/api/Emoticon$1.class���3SourceFile
Emoticon.javaEnclosingMethodchatty/util/api/Emoticon$1InnerClassesjava/lang/Objectchatty/util/api/Emoticon 	PKʣG���66&chatty/util/api/Emoticon$Builder.class���3�	m	n	o	p	q	r	s	t	u	v	w	x	y	z	{	|}~}�������type�TypeInnerClassesLchatty/util/api/Emoticon$Type;searchLjava/lang/String;urlsubtype�SubType"Lchatty/util/api/Emoticon$SubType;urlX2widthIheightliteralZstreamstreamRestrictionsLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;emoteset	numericIdstringIdcreatorinfoisAnimated<init>F(Lchatty/util/api/Emoticon$Type;Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisBuilder"Lchatty/util/api/Emoticon$Builder;setSize&(II)Lchatty/util/api/Emoticon$Builder;addStreamRestriction6(Ljava/lang/String;)Lchatty/util/api/Emoticon$Builder;
StackMapTablesetEmoteset%(I)Lchatty/util/api/Emoticon$Builder;	setStreamsetLiteral%(Z)Lchatty/util/api/Emoticon$Builder;setNumericIdidsetStringIdsetX2UrlsetCreatorsetInfosetAnimatedsetSubTypeF(Lchatty/util/api/Emoticon$SubType;)Lchatty/util/api/Emoticon$Builder;build()Lchatty/util/api/Emoticon;access$1006(Lchatty/util/api/Emoticon$Builder;)Ljava/lang/String;x0access$200C(Lchatty/util/api/Emoticon$Builder;)Lchatty/util/api/Emoticon$Type;access$300%(Lchatty/util/api/Emoticon$Builder;)Iaccess$400access$500access$600access$700access$8003(Lchatty/util/api/Emoticon$Builder;)Ljava/util/Set;access$900access$1000%(Lchatty/util/api/Emoticon$Builder;)Zaccess$1100access$1200access$1300access$1400access$1500access$1600F(Lchatty/util/api/Emoticon$Builder;)Lchatty/util/api/Emoticon$SubType;SourceFile
Emoticon.java"%6+5 4 3 2(*+, -.)('(& ! 1( 7�java/util/HashSet������chatty/util/api/Emoticon7� chatty/util/api/Emoticon$Builderjava/lang/Objectchatty/util/api/Emoticon$Type chatty/util/api/Emoticon$SubType()Vchatty/util/StringUtiltoLowerCase&(Ljava/lang/String;)Ljava/lang/String;
java/util/Setadd(Ljava/lang/Object;)Z�A(Lchatty/util/api/Emoticon$Builder;Lchatty/util/api/Emoticon$1;)Vchatty/util/api/Emoticon$1! ! "%& '()(*+, -./01(2(3 4 5 6+789�7*�*�*�*�*�*�*�*�*+�*,�*-�
�:2��	�����"�'�,�1�6�;*7<>77 7! ?@9R*�*�*�:���; <>'()(AB9t&+�#*�	�*�Y��	*�	+��W*�:����$�;&<>&, C
DE9?*�*�:��;<>1(FB9?*+�*�:��;<>, GH9?*�*�:��;<>*+IE9?*�*�:��;<>J(KB9?*+�*�:��;<>J LB9?*+�*�:��;<>! MB9?*+�*�:��;<>4 NB9?*+�*�:��;<>5 OH9?*�*�:��;<>6+PQ9?*+�*�:��;<>"%RS94�Y*��:�;<>TU9/*��:;V>WX9/*��:;V>YZ9/*��:;V>[U9/*�
�:;V>\U9/*��:;V>]Z9/*��:;V>^Z9/*��:;V>_`9/*�	�:;V>aU9/*��:;V>bc9/*��:;V>dZ9/*��:;V>eU9/*��:;V>fU9/*��:;V>gU9/*��:;V>hc9/*��:;V>ij9/*��:;V>kl"@#$@=	�PKʣG	�,,,chatty/util/api/Emoticon$EmoticonImage.class���3>M�M�M�	M�M�M�	M�N�	M�	M�	M�	M�	M�M�M�������	���	������	M���	M�u0� � �M�0�M�	M��'������������.��0�����	��	���6�6��	��	��9�	����	�����������0�0���������iconLjavax/swing/ImageIcon;scaleFactorF	maxHeightIusersLjava/util/Set;	SignatureEmoticonUserInnerClasses8Ljava/util/Set<Lchatty/util/api/Emoticon$EmoticonUser;>;loadedFromLjava/lang/String;loadingZloadingErrorloadingAttemptslastLoadingAttemptJthis$0Lchatty/util/api/Emoticon;<init>(Lchatty/util/api/Emoticon;FI)VCodeLineNumberTableLocalVariableTablethis
EmoticonImage(Lchatty/util/api/Emoticon$EmoticonImage;getImageIcon()Ljavax/swing/ImageIcon;
StackMapTablegetEmoticon()Lchatty/util/api/Emoticon;
getLoadedFrom()Ljava/lang/String;	loadImage()ZsetLoadingError()VsetImage(Ljava/awt/Image;)VimageLjava/awt/Image;
setLoadedFrom(Ljava/lang/String;)VurlsetLoadingDoneaddUser*(Lchatty/util/api/Emoticon$EmoticonUser;)Vuser'Lchatty/util/api/Emoticon$EmoticonUser;informUsersi$Ljava/util/Iterator;�getDefaultIcongetDefaultImage(Z)Ljava/awt/Image;errordLjava/awt/Dimension;widthheightresLjava/awt/image/BufferedImage;gLjava/awt/Graphics;��toString
getSizeStringscaledWidthscaledHeightaccess$1700R(Lchatty/util/api/Emoticon$EmoticonImage;Lchatty/util/api/Emoticon$EmoticonUser;)Vx0x1access$2200=(Lchatty/util/api/Emoticon$EmoticonImage;Ljava/lang/String;)Vaccess$2800+(Lchatty/util/api/Emoticon$EmoticonImage;)Iaccess$2900+(Lchatty/util/api/Emoticon$EmoticonImage;)Vaccess$3000;(Lchatty/util/api/Emoticon$EmoticonImage;Ljava/awt/Image;)Vaccess$3100SourceFile
Emoticon.javawxyvw`T|}��cdew]^_^QRSTOP�ntujava/lang/StringBuilderTrying to load \ again (~\)�s	}[\ab#chatty/util/api/Emoticon$IconLoaderIconLoadere
w���wUVjava/util/WeakHashMap�u%chatty/util/api/Emoticon$EmoticonUserwjavax/swing/ImageIconey�T�Tjava/awt/image/BufferedImagee !java/awt/Graphics2D"#&'()*+,-./0-[x]123w4/567898:;<;x (&chatty/util/api/Emoticon$EmoticonImagejava/lang/Objectjava/util/Iteratorjava/awt/Dimensionjava/awt/Graphicschatty/util/api/Emoticonaccess$2100()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;codejava/util/logging/Loggerwarningjava/lang/SystemcurrentTimeMillis()JE(Lchatty/util/api/Emoticon;Lchatty/util/api/Emoticon$EmoticonImage;)Vexecutejava/util/Collections
newSetFromMap (Ljava/util/Map;)Ljava/util/Set;
java/util/Setadd(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;iconLoadedaccess$18000(Lchatty/util/api/Emoticon;)Ljava/awt/Dimension;access$1900,(Ljava/awt/Dimension;FI)Ljava/awt/Dimension;(III)VgetGraphics()Ljava/awt/Graphics;java/awt/RenderingHintsKEY_ANTIALIASING=KeyLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)Vjava/awt/ColorLIGHT_GRAYLjava/awt/Color;setColor(Ljava/awt/Color;)VreddrawString(Ljava/lang/String;II)Vdispose(F)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getIconWidth()I
getIconHeightaccess$2400(Lchatty/util/api/Emoticon;)Iaccess$2500java/awt/RenderingHints$Key!MNOPQRSTUVWZ[\]^_^B`Tabcdefgy#*+�*�*�	*�*�*$�*��h|	wxy}~"i #jl#QR#STmng�]*�
�**��
*�W�D*��=*��6��Y��*����*������*�
�h�����%�X�i]jlo�@pqg/*��h�ijlrsg/*��h�ijltug�L*�	�F*��>�*�e��/*�	*�*Y�`�*��� Y*�*�!�"��h"��#�(�2�9�H�J�iLjlo�JvwgD*�
*�#�$*��h���ijlxygA	*�
+�$�h��i	jl	z{|}g>*+��h��ijl~\wg<*�%*�	�h��	�ijl��gj!*�&�*�'Y�(�)�&*�&+�*W�h��� �i!jl!��o�wg�'*�&�+L+�,�+�-�.M,�/���h��#�&�i ����'jlo����ng7
�0Y*�#�1�h�i
jl��gj*��2*�*��3M,�4>,�56�6Y�7:�8:�9�:�;�<�=�>��?�>@ll�A�B�h2����+�2�@�H�L�T�bgiHjjlj�^W��R�TL�T+?��28��o�T�����sgT*�Y�*��CD�*��ED�*�
�F��hi*jl�sg�*�
�G<*�
�H=*��I�*��J��Y��EK��E��*��I�*��J�>�Y��EK��EL�*��I�EK�*��J�E����Y�*��I�EK�*��J�E��h&>T�i �jl��T��To�&:��g:*+��hhi�l����g:*+��hhi�l�\��g/*��hhi�l��g/*��hhi�l��g:*+��hhi�l�{��g/*��hhi�l��Y".�X	M�k ��$�%	PKʣG0��%��+chatty/util/api/Emoticon$EmoticonUser.class���3
iconLoaded()VSourceFile
Emoticon.java%chatty/util/api/Emoticon$EmoticonUserEmoticonUserInnerClassesjava/lang/Objectchatty/util/api/Emoticon 		PKʣG�5���)chatty/util/api/Emoticon$IconLoader.class���38	L�M�	L���	O�	O���	��	��	��	��	��	������������	�����L�O�9�9���������9�9�	�������9�������O��,��	:������,����������9������>�����L�O�O�O����L���image�
EmoticonImageInnerClasses(Lchatty/util/api/Emoticon$EmoticonImage;this$0Lchatty/util/api/Emoticon;<init>E(Lchatty/util/api/Emoticon;Lchatty/util/api/Emoticon$EmoticonImage;)VCodeLineNumberTableLocalVariableTablethisIconLoader%Lchatty/util/api/Emoticon$IconLoader;doInBackground()Ljavax/swing/ImageIcon;builtUrlLjava/lang/String;targetSizeLjava/awt/Dimension;scaledLjava/awt/Image;defaultSizescaledSizeurl	urlFactorIiconLjavax/swing/ImageIcon;actualImageSize
StackMapTable����Exceptions�	loadEmote+(Ljava/lang/String;)Ljavax/swing/ImageIcon;ex Ljava/net/MalformedURLException;x2Ljava/lang/Throwable;inputLjava/io/InputStream;cLjava/net/URLConnection;Ljava/io/IOException;loadedIcon�����done()VLjava/lang/Exception;�()Ljava/lang/Object;	SignatureDLjavax/swing/SwingWorker<Ljavax/swing/ImageIcon;Ljava/lang/Object;>;SourceFile
Emoticon.javaSTU�NR������i��g`�����������i����java/lang/StringBuilderCouldn't build URL for ����/`tu	
�		i.gif� !"java/net/URLUemote_#$java/net/MalformedURLExceptionInvalid url for : %&�'()(*+,-.javax/swing/ImageIconULoaded emoticon  via alternate way.�/�java/lang/Throwable01java/io/IOExceptionError loading emoticon  (): 2�345674java/lang/InterruptedException'java/util/concurrent/ExecutionException(Unexpected error when loading emoticon: ]^#chatty/util/api/Emoticon$IconLoaderjavax/swing/SwingWorker&chatty/util/api/Emoticon$EmoticonImagejava/awt/Dimensionjava/lang/Stringjava/lang/Exceptionjava/net/URLConnectionjava/io/InputStreamchatty/util/api/Emoticonaccess$18000(Lchatty/util/api/Emoticon;)Ljava/awt/Dimension;scaleFactorF	maxHeightaccess$1900,(Ljava/awt/Dimension;FI)Ljava/awt/Dimension;typeTypeLchatty/util/api/Emoticon$Type;chatty/util/api/Emoticon$TypeTWITCHBTTVFFZwidthaccess$2000/(Lchatty/util/api/Emoticon;I)Ljava/lang/String;access$2100()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;codetoString()Ljava/lang/String;java/util/logging/Loggerwarning(Ljava/lang/String;)Vaccess$2200=(Lchatty/util/api/Emoticon$EmoticonImage;Ljava/lang/String;)VgetImageLoadStatus()IgetImage()Ljava/awt/Image;java/awt/Imageflushaccess$2300H(Lchatty/util/api/Emoticon;Ljavax/swing/ImageIcon;I)Ljava/awt/Dimension;access$2400(Lchatty/util/api/Emoticon;)Iaccess$2500getIconWidth
getIconHeightheightendsWith(Ljava/lang/String;)Zaccess$2600>(Lchatty/util/api/Emoticon;Ljava/awt/Image;II)Ljava/awt/Image;setImage(Ljava/awt/Image;)Vaccess$2402(Lchatty/util/api/Emoticon;I)Iaccess$2502access$2700(Lchatty/util/api/Emoticon;II)Vaccess$2800+(Lchatty/util/api/Emoticon$EmoticonImage;)Ichatty/util/ImageCache:(Ljava/net/URL;Ljava/lang/String;I)Ljavax/swing/ImageIcon;openConnection()Ljava/net/URLConnection;setReadTimeout(I)VsetConnectTimeoutgetInputStream()Ljava/io/InputStream;javax/imageio/ImageIOread5(Ljava/io/InputStream;)Ljava/awt/image/BufferedImage;close
addSuppressed(Ljava/lang/Throwable;)Vgetaccess$2900+(Lchatty/util/api/Emoticon$EmoticonImage;)Vaccess$3000;(Lchatty/util/api/Emoticon$EmoticonImage;Ljava/awt/Image;)Vaccess$3100 LMNRSTUVWK*+�*�*,��Xe	fgYZ\NR]^W�	�*��L+*��*���M*��N6*��	��*��	��*��	��U,�
+�
�6*��:�4��Y��*��	��*������N*-�:*�-�����
���*��:*���*�� �*��*���:�,:�!�
��"�#�5-$�%�,��"*���
�#�&:�'*���*�� �J*��
�(W*��#�)W*���*�� �*�*��*�� �*�X~mnt#u&vMwXx[zf{k|�����������������������3�K�R�h�u�������Ypf9_`abKcd�Z\�eb�fb#�g`&�hi�jk��lb�abm9�Mnoop
�@p��q�"o�o11rstuW�	MM*��+�X�,Y+�-�Y�.�*��	��/�0M�N��Y�2�*���3�+�����,Y+�-�4N-'�5-'�6-�7::�8:�1�9Y�:M��Y�;�*���<����U��=�H:�?�<�=�4::�:�!��=�:�?��=��5N��Y�A�*���B�+�C�-���,�
471���>���>�����>���b@XZ��
�4�7�8�`�b�n�u�|����������������KYf8*vw�3Nd�xyxy��z{n�|}1v~MZ\Mg`Kkmf
�7npq�*�\���Q�G�H��npq������npqB�1��W�F*�D�9L+�
*��E�*�+��F*��G�L��Y�J�+����(+H(+IX&	!(+,EY  k,v�FZ\m�q�	n�D]�W/*�K�XaYZ\rs����QO�PL�[���@PKɣG*B�&chatty/util/api/Emoticon$SubType.class���31	#$%' ( )*	+,FEATURE_FRIDAYSubTypeInnerClasses"Lchatty/util/api/Emoticon$SubType;$VALUES#[Lchatty/util/api/Emoticon$SubType;values%()[Lchatty/util/api/Emoticon$SubType;CodeLineNumberTablevalueOf6(Ljava/lang/String;)Lchatty/util/api/Emoticon$SubType;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>4Ljava/lang/Enum<Lchatty/util/api/Emoticon$SubType;>;SourceFile
Emoticon.java-./ chatty/util/api/Emoticon$SubType0java/lang/Enumclone()Ljava/lang/Object;chatty/util/api/Emoticon5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@	"����9	5*���91*+��97�Y��	�Y�	S��:
9 !"
&@PKɣG�@���#chatty/util/api/Emoticon$Type.class���3=	,-.0123	4	5	6	78TWITCHTypeInnerClassesLchatty/util/api/Emoticon$Type;FFZBTTVCUSTOM$VALUES [Lchatty/util/api/Emoticon$Type;values"()[Lchatty/util/api/Emoticon$Type;CodeLineNumberTablevalueOf3(Ljava/lang/String;)Lchatty/util/api/Emoticon$Type;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>1Ljava/lang/Enum<Lchatty/util/api/Emoticon$Type;>;SourceFile
Emoticon.java9:;chatty/util/api/Emoticon$Type<#$#$java/lang/Enumclone()Ljava/lang/Object;chatty/util/api/Emoticon5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@@@@	"����5	5*���5 !"#$1*+��5 %&'('pT�Y��	�Y���Y��
�Y���Y�	SY�SY�
SY�S��645&)*+/@PKʣG;hW��5�5chatty/util/api/Emoticon.class���3\�]�^	�_	�`�a	�b�c�d�e�f	�g	�h	�i�j	�k	�l�m	�n�opqrstuvw	�xyz{y|}~	��q	��������	������	������������B�BH���������	����	����	��������	����	����	����	��	��	��������������S������Z�������	��Zq�������	d�	d�d�d���������������p�	p`	p_�������w�w�	��	��������������������������������InnerClasses
EmoticonImage�EmoticonUser�IconLoader�Builder�SubType�TypeLOGGERLjava/util/logging/Logger;SET_GLOBALI
ConstantValue
SET_UNDEFINED����SET_UNKNOWN����ID_UNDEFINEDNOT_WORDLjava/util/regex/Pattern;MAX_LOADING_ATTEMPTSTRY_ALTERNATE_AFTER_ATTEMPTSLOADING_ATTEMPT_DELAYu0CACHE_TIME	:�
DEFAULT_WIDTHDEFAULT_HEIGHT	MAX_WIDTHFMAX_HEIGHTMAX_SCALED_WIDTH�MAX_SCALED_HEIGHT�typeLchatty/util/api/Emoticon$Type;subType"Lchatty/util/api/Emoticon$SubType;codeLjava/lang/String;emoteSetstreamRestrictionsLjava/util/Set;	Signature#Ljava/util/Set<Ljava/lang/String;>;urlliteralZ	numericIdstringIdurlX2creatorinfoisAnimatedstreamwidthheightmatcherLjava/util/regex/Matcher;images9Ljava/util/Set<Lchatty/util/api/Emoticon$EmoticonImage;>;igetEmoteUrl(I)Ljava/lang/String;CodeLineNumberTableLocalVariableTablethisLchatty/util/api/Emoticon;factor
StackMapTablegetTwitchEmoteUrlById(II)Ljava/lang/String;idgetBttvEmoteUrl'(Ljava/lang/String;I)Ljava/lang/String;result	getFFZUrl<init>%(Lchatty/util/api/Emoticon$Builder;)Vbuilder"Lchatty/util/api/Emoticon$Builder;���
createMatcher()Vex(Ljava/util/regex/PatternSyntaxException;searchflags�getStreamRestrictions()Ljava/util/Set;%()Ljava/util/Set<Ljava/lang/String;>;hasStreamRestrictions()ZstreamRestrictionContains(Ljava/lang/String;)Z	getStream()Ljava/lang/String;hasStreamSethasGlobalEmoteset	setStream(Ljava/lang/String;)VgetMatcher-(Ljava/lang/String;)Ljava/util/regex/Matcher;textgetIconS(FILchatty/util/api/Emoticon$EmoticonUser;)Lchatty/util/api/Emoticon$EmoticonImage;image(Lchatty/util/api/Emoticon$EmoticonImage;i$Ljava/util/Iterator;scaleFactor	maxHeightuser'Lchatty/util/api/Emoticon$EmoticonUser;resultImage��Q(Lchatty/util/api/Emoticon$EmoticonUser;)Lchatty/util/api/Emoticon$EmoticonImage;getCachedSizeId
getCachedSize()Ljava/awt/Dimension;
setCachedSize(II)VwhgetDefaultSizedLjava/awt/Dimension;�
getScaledSize,(Ljava/awt/Dimension;FI)Ljava/awt/Dimension;scaledWidthscaledHeightresultWidthresultHeightgetSizeFromImage.(Ljavax/swing/ImageIcon;I)Ljava/awt/Dimension;iconLjavax/swing/ImageIcon;	urlFactorimageWidthimageHeightgetScaledImage$(Ljava/awt/Image;II)Ljava/awt/Image;imgLjava/awt/Image;scaleImagetmpLjava/awt/image/BufferedImage;gLjava/awt/Graphics2D;toStringgetWidth()I	getHeightmatchesUser(Lchatty/User;)Z
Lchatty/User;allowedForStreamequals(Ljava/lang/Object;)ZobjLjava/lang/Object;otherhashCodehashA(Lchatty/util/api/Emoticon$Builder;Lchatty/util/api/Emoticon$1;)Vx0x1Lchatty/util/api/Emoticon$1;access$18000(Lchatty/util/api/Emoticon;)Ljava/awt/Dimension;access$1900x2access$2000/(Lchatty/util/api/Emoticon;I)Ljava/lang/String;access$2100()Ljava/util/logging/Logger;access$2300H(Lchatty/util/api/Emoticon;Ljavax/swing/ImageIcon;I)Ljava/awt/Dimension;access$2400(Lchatty/util/api/Emoticon;)Iaccess$2500access$2600>(Lchatty/util/api/Emoticon;Ljava/awt/Image;II)Ljava/awt/Image;x3access$2402(Lchatty/util/api/Emoticon;I)Iaccess$2502access$2700(Lchatty/util/api/Emoticon;II)V<clinit>SourceFile
Emoticon.java)*����"#������������������������java/lang/StringBuilder��)http://static-cdn.jtvnw.net/emoticons/v1/����/.02������{{id}}	{{image}}x����\&lt\;<\&gt\;>����	
	Changed ''/�
 emote size:  -> �������������������� !�	(?<=^|\s)(?=$|\s)"#&java/util/regex/PatternSyntaxExceptionError compiling pattern for '' [$�](?!)"%java/util/HashSet�&'(;��)��*+�,�-.&chatty/util/api/Emoticon$EmoticonImage	���/012;.�34567java/awt/Dimension�894:4;<=java/awt/image/BufferedImage�>?@ABEF=GHIJKL�MN�OPQ������RSchatty/util/api/EmoticonT:U?VWX�YZ[^\w]java/lang/Objectchatty/util/api/Emoticon$1%chatty/util/api/Emoticon$EmoticonUser#chatty/util/api/Emoticon$IconLoader chatty/util/api/Emoticon$Builder chatty/util/api/Emoticon$SubTypechatty/util/api/Emoticon$Typejava/lang/Stringjava/util/IteratorTWITCHBTTVFFZappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;isEmptyreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;access$1006(Lchatty/util/api/Emoticon$Builder;)Ljava/lang/String;access$200C(Lchatty/util/api/Emoticon$Builder;)Lchatty/util/api/Emoticon$Type;access$300%(Lchatty/util/api/Emoticon$Builder;)Iaccess$400
chatty/HelpercheckHttpUrl&(Ljava/lang/String;)Ljava/lang/String;access$500access$600access$700-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerwarningaccess$8003(Lchatty/util/api/Emoticon$Builder;)Ljava/util/Set;access$900access$1000%(Lchatty/util/api/Emoticon$Builder;)Zaccess$1100access$1200access$1300access$1400access$1500access$1600F(Lchatty/util/api/Emoticon$Builder;)Lchatty/util/api/Emoticon$SubType;java/util/regex/Pattern3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/Matcherfindcompile.(Ljava/lang/String;I)Ljava/util/regex/Pattern;getLocalizedMessage-(Ljava/lang/String;)Ljava/util/regex/Pattern;(Ljava/util/Collection;)V
java/util/Setcontainsresetiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;(Lchatty/util/api/Emoticon;FI)Vaccess$1700R(Lchatty/util/api/Emoticon$EmoticonImage;Lchatty/util/api/Emoticon$EmoticonUser;)Vadd!chatty/util/api/EmoticonSizeCachegetSize((Ljava/lang/String;)Ljava/awt/Dimension;setSize(Ljava/lang/String;II)Vjavax/swing/ImageIcongetIconWidth
getIconHeightjava/awt/ImagegetScaledInstance(III)Ljava/awt/Image;(III)VcreateGraphics()Ljava/awt/Graphics2D;java/awt/RenderingHintsKEY_INTERPOLATION[KeyLjava/awt/RenderingHints$Key;VALUE_INTERPOLATION_BICUBICjava/awt/Graphics2DsetRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V	drawImage5(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Zdisposechatty/UsergetEmoteSetjava/lang/IntegervalueOf(I)Ljava/lang/Integer;getClass()Ljava/lang/Class;java/util/Objects'(Ljava/lang/Object;Ljava/lang/Object;)Z(Ljava/lang/Object;)Ijava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/awt/RenderingHints$Key!��#�����������������������������������������������3���4��������������������������������������B��B����������,����H*���*�
�*�
��*���*��
**���*���	*�������,�6�@�F��H��H���	���V"�Y�����������"��"������<*��
*����*�N-+�N- �Y��!���N-������ �:��*<��<��<��$������[�*�"�*�"�*������������VS*�#*�$+�%M,&'�M,()�M*,�**+�+�*+�,�-*+�.�/�*+�0�/�"+�1>+�26�����3����3nn�6d>�4����4nn�>26�>�6+�1�+�2�S��Y�5�,�6�*��78�+�1�!�+�2�9��!����:*�*�*+�;�<*+�=�>*+�?�@*+�A�
*+�B�*+�C�D*+�E�F*+�G�H*+�I�J���%
D	 %-5@KPVa i!u"x$�%�&�(�)�+�,�.�/�34567"8*92::;B<J=R>�4S��S��E��P��V�����x����O���%�*�K��*�*L=*�@��L*�*�M�N�	=��Y�O�*�*�P��L*+�QR�M�K�<N��Y�T�+�U�-�V�W���:*X�YR�M�K�GUXS�2ADEF%G+IGMUSXNYO�R�U�*Y8�������������+�P�8!���P*�<���ZY*�<�[��^_	a����	��!���B
*�<����e�
���@!���Y*�<�*�<+�\����i������@���/*�>��v������B
*�>������
���@���K*�-�*�-���������@���>*+�>����������E
*�]*�K+�^�����
��
��v*�_�*�ZY�`�_:*�_�a:�b�)�c�d:�e#���f�:�����dY*#�g:-�h*�_�iW��2����6�I�M�P�U�a�g�s��H6 0v��v	�v�va
��
,��<*+�j���������R*���!�Y�*��7k�*�
���*���!�Y�*��7k�*��������(�2�P��R���('�2*�l�m�������~-*���*�
�*���*��*�l�n���#�,�� -��-�-����7*��*��*�oL+�+��pY�q��pY*�*��q�������'��7������:v*�r�F*�s�8#��
%#jF#j8����%�nnF�8%�6�6�6�6���6���6�pY�q��N
)159>DG M!P(X)]+e,j.�Hvv	�v�p�
i�9= �>8!����"#��%+�t>+�u6�
l>l6�pY�q��:;<=>@�4%��%$%%&� '�(���)*�P+�v��H�*��+,��-*��4>�wY�x:�y:�z�{�|*�}W�~��PQRS T,U1V�>4+,4�4�2��&./012��/*�*�����34�/*���!���54�/*���%���67��8+��*�-�+�*�-���\��*���*+��������)*, ."04264�8��88�9��U*���*+������8������@:;��G+��*��+����+��M*�*,�*����*�-,�-��*�<,�<������2=>@ACD&E(G3H5JCKEM� G��G<=/>����?4�m)<Oh*�*��`<Oh*�-`<Oh*�<��`<��RSTU'V�)��&@��A�D*+���,� ��B�CDEF�/*�	��,�B�G�E*#���,� BC�H�IJ�:*���,�B�C�KL����,MN�E*+���,� B�C%H�OP�/*���,�B�QP�/*���,�B�RS�P*+���,�*B�C,H�T�UV�;*Z���,�B�C�WV�;*Z���,�B�C�XY�E*���,� B�C�H�Z��1��������Y�L��.=[\�B��d�����	������	���@���@C�D	PKɣGѼ�'!!%chatty/util/api/EmoticonManager.class���3'H�	C���	C�Q��	C�C�C���	C������������C��7�C�	�������� ��"�"��%��'�����C�����������������9����	��<��<�<�<����������LOGGERLjava/util/logging/Logger;CACHED_EMOTICONS_EXPIRE_AFTERI
ConstantValueQ�FILELjava/lang/String;cacheLchatty/util/SimpleCache;listener)Lchatty/util/api/TwitchApiResultListener;<init>,(Lchatty/util/api/TwitchApiResultListener;)VCodeLineNumberTableLocalVariableTablethis!Lchatty/util/api/EmoticonManager;
loadEmoticons(Z)ZparsedLjava/util/Set;useFileEvenIfExpiredZfromFileLocalVariableTypeTable+Ljava/util/Set<Lchatty/util/api/Emoticon;>;
StackMapTable�����emoticonsReceived'(Ljava/lang/String;Ljava/lang/String;)VresulttypesaveEmoticonsToFile(Ljava/lang/String;)Vjson��loadEmoticonsFromFile(Z)Ljava/lang/String;loadEvenIfExpiredparseEmoticons#(Ljava/lang/String;)Ljava/util/Set;emote_jsonLorg/json/simple/JSONObject;emoteLchatty/util/api/Emoticon;objLjava/lang/Object;i$Ljava/util/Iterator;root	emoticonsLorg/json/simple/JSONArray;exLjava/lang/Exception;parser#Lorg/json/simple/parser/JSONParser;errors������	Signature?(Ljava/lang/String;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;
parseEmoticon8(Lorg/json/simple/JSONObject;)Lchatty/util/api/Emoticon;emoteSetcodeidurlbBuilderInnerClasses"Lchatty/util/api/Emoticon$Builder;Ljava/lang/RuntimeException;��<clinit>()VSourceFileEmoticonManager.javaU�STchatty/util/SimpleCacheOPU�QRtuwx���IJjava/lang/StringBuilderUsing emoticons list from file.��	 (forced)����p���opupdate��\]�!Error requesting emotes from API.pujava/util/HashSet!org/json/simple/parser/JSONParserorg/json/simple/JSONObject	org/json/simple/JSONArray��
��Error loading emote: �p�� emotes couldn't be loaded%org/json/simple/parser/ParseExceptionjava/lang/NullPointerExceptionjava/lang/ClassCastExceptionError parsing emoticons: java/lang/Stringjava/lang/Number� chatty/util/api/Emoticon$BuilderUemoticon_set chatty/util/api/EmoticonManager!"�#$%&�emoticon_imagesjava/lang/Object
java/util/Setjava/util/logging/Loggerjava/lang/Throwablejava/util/Iteratorchatty/util/api/Emoticonjava/lang/Exceptionjava/lang/RuntimeException((Ljava/lang/String;Ljava/lang/String;J)V'chatty/util/api/TwitchApiResultListenerreceivedEmoticons(Ljava/util/Set;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;infoisEmpty()Zequals(Ljava/lang/Object;)Zchatty/LoggingUSERINFOLjava/util/logging/Level;log.(Ljava/util/logging/Level;Ljava/lang/String;)Vsaveloadparse&(Ljava/lang/String;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warningadd(I)Ljava/lang/StringBuilder;intValue()IgetTwitchEmoteUrlById(II)Ljava/lang/String;chatty/util/api/Emoticon$TypeTypeTWITCHLchatty/util/api/Emoticon$Type;F(Lchatty/util/api/Emoticon$Type;Ljava/lang/String;Ljava/lang/String;)VsetEmoteset%(I)Lchatty/util/api/Emoticon$Builder;setNumericIdbuild()Lchatty/util/api/Emoticon;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;
chatty/ChattygetCacheDirectory!CHIJKLMNOPQRSTUVW]*�*+�*�Y���	�X"#	$%YZ[ST\]WG*�M,�>*,�N-��*�-��
�Y���������X&	/01235 6C7E9Y*5^_GZ[G`aAbPc5^de?�fg�!hfgij�hfgijf�klW�T*+�N-�"-��*+�*��
*�-�-�-�� ,��*�W��
���X.=>?@BC)F6G?HHJSMY*TZ[TmPTnPN^_cN^de�gopW�*�	YM�*�	+�,çN,�-��XVWXYYZ[qPe�hfrs�tuW|*�	YM�*�	�,ðN,�-�XbcdYZ[vae�hrswxWq� Y�!M+���"Y�#N6-+�$�%:�&�':�(:�)�[�*:�%�G�%:	*	�+:�*��
�Y�,�	�-��.��,�/W�����
�Y��01���.d��,�:�
�Y�5��-��.���2��3��4���2���3���4Xfnoprsu#v/wIxQyXz`{e|l}���������������������YzX=yz	`5{|IL}~6b�#��z/�������Z[�qP�m_�����Lc�mdeQ	�g�'hfg�����Or�����hfg������W3\+6�&�7M+8�&�9�:>�;:�<Y�=,�>:+?�&�+?�&�9�:6�@W�AW�B�M�XY3XY4X.����-�6�D�L�S�Y�Z�YRD�LO�PB�L;�P-,��Z��\Z[\{ze)�Lh�ff��h����WA%C�D�E�
�Y��F�G����X���<��	��@PḲG'�K``'chatty/util/api/EmoticonSizeCache.class���3�7p	-qrstutv	-w	-xyz{t|}~����p��	���	�����������	-�����z�������-�����������������3p����LOGGERLjava/util/logging/Logger;FILELjava/nio/file/Path;dataLjava/util/Map;	Signature7Ljava/util/Map<Ljava/lang/String;Ljava/awt/Dimension;>;CHARSETLjava/nio/charset/Charset;<init>()VCodeLineNumberTableLocalVariableTablethis#Lchatty/util/api/EmoticonSizeCache;setSize(Ljava/lang/String;II)VidLjava/lang/String;widthIheightgetSize((Ljava/lang/String;)Ljava/awt/Dimension;saveToFiledLjava/awt/Dimension;i$Ljava/util/Iterator;x2Ljava/lang/Throwable;writerLjava/io/BufferedWriter;exLjava/io/IOException;
StackMapTable����loadFromFilesplit[Ljava/lang/String;sizeLjava/lang/RuntimeException;linereaderLjava/io/BufferedReader;���<clinit>SourceFileEmoticonSizeCache.javaBC<=java/awt/DimensionB������:;@Ajava/nio/file/OpenOption�������������java/lang/Stringjava/lang/StringBuilder�� MN��xON������C�Cjava/lang/Throwable��java/io/IOException89Error saving emoticon sizes: ������������c����IJ(java/lang/ArrayIndexOutOfBoundsExceptionjava/lang/NumberFormatExceptionError loading emoticon sizes: !chatty/util/api/EmoticonSizeCache��������emoticon_sizes���java/util/HashMapUTF-8���java/lang/Objectjava/io/BufferedWriterjava/util/Iteratorjava/io/BufferedReaderjava/lang/RuntimeException(II)V
java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;java/nio/file/FilesnewBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;keySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;write(Ljava/lang/String;)VnewLineclose
addSuppressed(Ljava/lang/Throwable;)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/LoggerwarningnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;readLinetrim'(Ljava/lang/String;)[Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)Ijava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;
chatty/ChattygetCacheDirectoryjava/nio/file/Paths;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;!-789:;<=>?@ABCD/*��EFGH)IJDV�*�Y��W�E F KLMNON)PQD7
�*���E#F
KL)RCD�ײ��	�KL���M,�
�N,��N�-��:*�Y�-���������*����*�F+�*��;M+,��2*��+M,L,�:*�+�*��:+��*���K��Y� �*�!��"�z~�r�r���������E6
'(1)?*k+o,r-�'�-�/�-�.�0FH?0ST1>KLTUV�WX�WX�YZ�[\]B�^_`�SN_F_D_�^___�Ba)bCD(����#KL*�$YM�@,�%M,�&N-2:-2�&:2�'62�'6�(���N���*�F+�*�+�;M+,��2*�+�+M,L,�:*�+�*�+�:	+	��*�+��K��Y�,�*�!��"�KN)KN*Z^aRqRv���qxv��EN3578!9&:0;9<B=K@N>O@RBq3vB�D�B�C�EFp!*cd&%KL0ed9MNB	ONO[f@gLbWX�WX	�hi�[\]U
�j_�Aj_kl�N_F_D_�	j___�BamCDb>-�.�/��Y��0�1����2��3Y�4�5�6��E+5noPKʣG�,,$chatty/util/api/EmoticonUpdate.class���37)	*+*	,	-	./0emotesLjava/util/Set;	Signature+Ljava/util/Set<Lchatty/util/api/Emoticon;>;typeToRemove2TypeInnerClassesLchatty/util/api/Emoticon$Type;subTypeToRemove3SubType"Lchatty/util/api/Emoticon$SubType;<init>(Ljava/util/Set;)VCodeLineNumberTableLocalVariableTablethis Lchatty/util/api/EmoticonUpdate;LocalVariableTypeTable.(Ljava/util/Set<Lchatty/util/api/Emoticon;>;)VS(Ljava/util/Set;Lchatty/util/api/Emoticon$Type;Lchatty/util/api/Emoticon$SubType;)V
StackMapTable/423o(Ljava/util/Set<Lchatty/util/api/Emoticon;>;Lchatty/util/api/Emoticon$Type;Lchatty/util/api/Emoticon$SubType;)VSourceFileEmoticonUpdate.java 5java/util/HashSetchatty/util/api/EmoticonUpdatejava/lang/Object6chatty/util/api/Emoticon$Type chatty/util/api/Emoticon$SubType
java/util/Set()Vchatty/util/api/Emoticon!	
R*+��
 � *�+��Y�L*+�*,�*-�� *     
!�"#$%&'(1@1@PKʣGs�y��(chatty/util/api/Emoticons$Favorite.class���3H-	.	/	01235167	-	89	:;	<=codeLjava/lang/String;emotesetI
notFoundCount<init>(Ljava/lang/String;II)VCodeLineNumberTableLocalVariableTablethisFavoriteInnerClasses$Lchatty/util/api/Emoticons$Favorite;hashCode()Ihashequals(Ljava/lang/Object;)ZobjLjava/lang/Object;other
StackMapTable5toString()Ljava/lang/String;SourceFileEmoticons.java>?@ABC"chatty/util/api/Emoticons$Favorite"Djava/lang/StringBuilderEF[EG])*java/lang/Object()Vjava/util/Objects(Ljava/lang/Object;)IgetClass()Ljava/lang/Class;chatty/util/api/Emoticons'(Ljava/lang/Object;Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder; l*�*+�*�*����	���* [<h*��`<h*�`<�����!"#�7+��*�+���+�M*�,����*�,����*������&�(�3�5� 77$%&'�()*M#�	Y�*���*��
���#+,4PKʣG��(chatty/util/api/Emoticons$TagEmote.class���3/		 !"#$%&()idIend<init>(II)VCodeLineNumberTableLocalVariableTablethisTagEmoteInnerClasses$Lchatty/util/api/Emoticons$TagEmote;starttoString()Ljava/lang/String;SourceFileEmoticons.java*
java/lang/StringBuilder>+,+-:."chatty/util/api/Emoticons$TagEmotejava/lang/Object()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;chatty/util/api/Emoticons!
Y*�*�*��	
 M#�Y��*��	�*����#'	PKʣG)EJ�bb)chatty/util/api/Emoticons$TagEmotes.class���3;)	*+,./0/12emotesLjava/util/Map;	Signature3TagEmoteInnerClassesHLjava/util/Map<Ljava/lang/Integer;Lchatty/util/api/Emoticons$TagEmote;>;<init>(Ljava/util/Map;)VCodeLineNumberTableLocalVariableTablethis	TagEmotes%Lchatty/util/api/Emoticons$TagEmotes;LocalVariableTypeTableK(Ljava/util/Map<Ljava/lang/Integer;Lchatty/util/api/Emoticons$TagEmote;>;)VtoString()Ljava/lang/String;equals(Ljava/lang/Object;)ZobjLjava/lang/Object;other
StackMapTable.hashCode()IhashISourceFileEmoticons.java4	567#chatty/util/api/Emoticons$TagEmotes89#:java/lang/Object"chatty/util/api/Emoticons$TagEmote()VgetClass()Ljava/lang/Class;chatty/util/api/Emoticonsjava/util/Objects'(Ljava/lang/Object;Ljava/lang/Object;)Z(Ljava/lang/Object;)I!	X*�*+����	� 	2*�����*+��*�+���+�M*�,�����"������&�(� ** !�"#$M<%h*��`<����%&'(-
	-	PKʣG�e�b�\�\chatty/util/api/Emoticons.class���3�%	�	�	� 	�!	�"	�#	�$%&	�'	�(	�)	�*	�+	�,	�-�.	/0K1�2	/3	�4K567689	:	/;	<6=	�>?@QA+BCDK5EFGHIJ�KL	�M	N	OP5Q5RKS5TUVSWX�YZ5[�\K]^	_K`aGaHaIb/c/`	�d	�eKfgQh�i5ajk+flmanKoKp�qr�stuvwxyz{|5}~�����������/5���	�����z����aoo�5���	z_	���C���n���`a�	z���������h��	z�a1aS��������a����������������������������+�+��+��+�+��Q�������������������[��	����������	��	����������5����S�	��5�5���+�+���������	���������C	
 !"#$%&TagEmoteInnerClasses	TagEmotesFavoriteLOGGERLjava/util/logging/Logger;
EMOTICONS_MAPLjava/util/Map;	Signature5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;emoticonsByEmotesetLjava/util/HashMap;WLjava/util/HashMap<Ljava/lang/Integer;Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;>;customEmotesLjava/util/Set;+Ljava/util/Set<Lchatty/util/api/Emoticon;>;customEmotesById>Ljava/util/Map<Ljava/lang/Integer;Lchatty/util/api/Emoticon;>;globalTwitchEmotesotherGlobalEmotestwitchEmotesByIdBLjava/util/HashMap<Ljava/lang/Integer;Lchatty/util/api/Emoticon;>;streamEmoticonsVLjava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;>;emotesetStreams6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;	EMPTY_SETLjava/util/HashSet;/Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;EMPTY_STRING_SET#Ljava/util/Set<Ljava/lang/String;>;
ignoredEmotesfavoritesNotFoundGLjava/util/Map<Ljava/lang/String;Lchatty/util/api/Emoticons$Favorite;>;	favoritesSLjava/util/HashMap<Lchatty/util/api/Emoticons$Favorite;Lchatty/util/api/Emoticon;>;loadedFavoritesFromSettingsZemoteNamesemotesNamesPerStreamFLjava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;localEmotesets$Ljava/util/Set<Ljava/lang/Integer;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/Emoticons;updateEmoticons#(Lchatty/util/api/EmoticonUpdate;)Vupdate Lchatty/util/api/EmoticonUpdate;
StackMapTableremoveEmoticonsemoteLchatty/util/api/Emoticon;itLjava/util/Iterator;removedILocalVariableTypeTable0Ljava/util/Iterator<Lchatty/util/api/Emoticon;>;'9addEmoticons(Ljava/util/Set;)VchannelLjava/lang/String;i$emotesetLjava/lang/Integer;channelRestrictionsnewEmoticonsbFg.(Ljava/util/Set<Lchatty/util/api/Emoticon;>;)VaddEmote3(Ljava/util/Collection;Lchatty/util/api/Emoticon;)VstreamcollectionLjava/util/Collection;2Ljava/util/Collection<Lchatty/util/api/Emoticon;>;O(Ljava/util/Collection<Lchatty/util/api/Emoticon;>;Lchatty/util/api/Emoticon;)VaddTempEmoticon(Lchatty/util/api/Emoticon;)VgetCustomEmotes()Ljava/util/Set;-()Ljava/util/Set<Lchatty/util/api/Emoticon;>;getCustomEmoteById(I)Lchatty/util/api/Emoticon;idgetGlobalTwitchEmotesgetOtherGlobalEmotesgetEmoticonsById()Ljava/util/HashMap;D()Ljava/util/HashMap<Ljava/lang/Integer;Lchatty/util/api/Emoticon;>;getEmoticons(I)Ljava/util/HashSet;emoteSetresult2(I)Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;'(Ljava/lang/String;)Ljava/util/HashSet;C(Ljava/lang/String;)Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;
getEmoteNames()Ljava/util/Collection;,()Ljava/util/Collection<Ljava/lang/String;>;getEmotesNamesByStream*(Ljava/lang/String;)Ljava/util/Collection;names*Ljava/util/Collection<Ljava/lang/String;>;J>(Ljava/lang/String;)Ljava/util/Collection<Ljava/lang/String;>;updateEmoteNames	emotesets'(Ljava/util/Set<Ljava/lang/Integer;>;)VisTurboEmoteset(I)ZaddEmotesetStreams(Ljava/util/Map;)Vdata9(Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;)VgetStreamFromEmoteset(I)Ljava/lang/String;getEmotesetFromStream(Ljava/lang/String;)IsetIgnoredEmotes(Ljava/util/Collection;)V-(Ljava/util/Collection<Ljava/lang/String;>;)VaddIgnoredEmote(Ljava/lang/String;)V	emoteCodeisEmoteIgnored(Lchatty/util/api/Emoticon;)ZgetEmoteInfo&(Ljava/lang/String;)Ljava/lang/String;streamsfoundbLjava/lang/StringBuilder;sepP�findMatchingEmoticons#(Ljava/lang/String;)Ljava/util/Set;?(Ljava/lang/String;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;9(Ljava/lang/String;Ljava/util/Collection;)Ljava/util/Set;emotesvaluesGLjava/util/Collection<Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;>;�(Ljava/lang/String;Ljava/util/Collection<Ljava/util/HashSet<Lchatty/util/api/Emoticon;>;>;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;filterByType(Type?(Ljava/util/Set;Lchatty/util/api/Emoticon$Type;)Ljava/util/Set;typeLchatty/util/api/Emoticon$Type;filteredw(Ljava/util/Set<Lchatty/util/api/Emoticon;>;Lchatty/util/api/Emoticon$Type;)Ljava/util/Set<Lchatty/util/api/Emoticon;>;toWriteable	writeableaddFavoritecreateFavorite@(Lchatty/util/api/Emoticon;)Lchatty/util/api/Emoticons$Favorite;loadFavoritesFromSettings"(Lchatty/util/settings/Settings;)Vf$Lchatty/util/api/Emoticons$Favorite;itemLjava/util/List;settingsLchatty/util/settings/Settings;
entriesToLoad"Ljava/util/List<Ljava/util/List;>;�saveFavoritesToSettings
entriesToSave�listToFavorite6(Ljava/util/List;)Lchatty/util/api/Emoticons$Favorite;code
notFoundCountexLjava/lang/RuntimeException;)favoriteToList7(Lchatty/util/api/Emoticons$Favorite;Z)Ljava/util/List;list
findFavoritescount(Ljava/util/Collection;)Z5(Ljava/util/Collection<Lchatty/util/api/Emoticon;>;)Z
checkFavoriteremoveFavoritegetFavoritesgetNumNotFoundFavorites()IisFavoriteloadCustomEmotescountLoadedlinex2Ljava/lang/Throwable;rLjava/io/BufferedReader;Ljava/io/IOException;fileLjava/nio/file/Path;*+��loadCustomEmote(Ljava/lang/String;)Z!Ljava/lang/NumberFormatException;sizes[Ljava/lang/String;widthheightpath Ljava/net/MalformedURLException;iBuilder"Lchatty/util/api/Emoticon$Builder;literalurlsizeLjava/awt/Dimension;streamRestrictionsplit�����getCustomEmotesInfo()Ljava/lang/String;info$Ljava/util/List<Ljava/lang/String;>;parseEmotesTag9(Ljava/lang/String;)Lchatty/util/api/Emoticons$TagEmotes;rangeSplitstartendrangearr$len$emoteRangesidEndtagHLjava/util/Map<Ljava/lang/Integer;Lchatty/util/api/Emoticons$TagEmote;>;,main([Ljava/lang/String;)Vargs<clinit>SourceFileEmoticons.javaABjava/util/HashMap !java/util/HashSet#$&($)$*!,!-./.5$68!<$=?$MI0�$12XY3�4�56'7289chatty/util/api/Emoticon��:=>=?BRemoved %d emotes (%s/%s)java/lang/Object@ABCD�Eojava/lang/StringFGHIJKjava/util/CollectionefL2M�{SNSjava/lang/StringBuilderAdded OP��OQ emotes. Now  emotesets and ! channels with exclusive emotes (to global emotes).R�BSGT2�[UG,
java/util/Set?G013$VGjava/lang/IntegerW�yzX�--twitch-turbo--turboTurbo EmotesYoZB[���No emote specified.��No matching emote found.Found  emote emotes for '': '	 / Type: O\ / Usable by everyoneEmoteset:  (��) / Usable in all channels / Only usable in:  ### ����]^_`2��"chatty/util/api/Emoticons$FavoriteAafavoriteEmotesbcdjava/util/List��:;[Not saving favorite emotes, because they don't seem to have been loaded in the first place.e�java/util/ArrayList���SNot saving favorite emote  (not found)fgJhjava/lang/Numberjava/lang/ClassCastException(java/lang/ArrayIndexOutOfBoundsException]S��Emoticons: Found all remaining  favoritesEmoticons:  favorites still not found�m?KA�iGjkemotes.txtlJmUTF-8nopqrs+t��Loaded  custom emotesuBjava/lang/Throwablevwjava/io/IOExceptionDidn't load custom emotes: #x�y\s+�zre:{�|�id:}�java/lang/NumberFormatExceptionset:chan:~�size:xjava/awt/DimensionA�http*��������java/net/MalformedURLException chatty/util/api/Emoticon$Builder��A��������S�S������No custom emotes loaded custom emotes loaded:A�""    �[��/:��|�,-"chatty/util/api/Emoticons$TagEmote#chatty/util/api/Emoticons$TagEmotesA����131:1-2,4-5/43:1-7	���chatty/util/api/Emoticons����B-?\)B)R-?\)R)\:-?D:D\;-?\);)	\:-?(o|O):O\:-?\):)	\;-?(p|P);P[o|O](_|\.)[o|O]o_O>\(>(\:-?(?:\/|\\)(?!\/):/\:-?\(:(	\:-?(p|P):p\:-?[z|Z|\|]:|:-?(?:7|L):7\:>:>	\:-?(S|s):S#-?[\\/]#/<\]<]	\:-?[\\/]java/util/Iteratorchatty/util/api/Emoticon$Typejava/lang/RuntimeExceptionjava/nio/file/Pathjava/io/BufferedReader
java/util/Mapjava/util/CollectionssynchronizedMap (Ljava/util/Map;)Ljava/util/Map;chatty/util/api/EmoticonUpdateisEmpty()ZtypeToRemoveFFZiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;subTypeToRemove�SubType"Lchatty/util/api/Emoticon$SubType;subTyperemovevalueOf(I)Ljava/lang/Integer;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;java/util/logging/LoggergetStreamRestrictionscontainsKey(Ljava/lang/Object;)Zput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;hasGlobalEmotesetTWITCH	numericIdappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toStringcontainshasStreamRestrictionsaddequalsintValueputAllkeySetclearaddAll-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getMatcher-(Ljava/lang/String;)Ljava/util/regex/Matcher;java/util/regex/Matchermatches(Ljava/lang/String;II)Vchatty/util/settings/SettingsgetList$(Ljava/lang/String;)Ljava/util/List;warningputList%(Ljava/lang/String;Ljava/util/List;)V(I)Ljava/lang/Object;
containsValue
chatty/ChattygetUserDataDirectoryjava/nio/file/Paths;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;java/nio/file/FilesnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;readLineclose
addSuppressed(Ljava/lang/Throwable;)VstartsWithtrim'(Ljava/lang/String;)[Ljava/lang/String;length	substringparseInt
chatty/HelpertoStream(II)Vresolve*(Ljava/nio/file/Path;)Ljava/nio/file/Path;toUri()Ljava/net/URI;java/net/URItoURL()Ljava/net/URL;java/net/URLCUSTOMF(Lchatty/util/api/Emoticon$Type;Ljava/lang/String;Ljava/lang/String;)VsetLiteral%(Z)Lchatty/util/api/Emoticon$Builder;setEmoteset%(I)Lchatty/util/api/Emoticon$Builder;setNumericIdsetSize&(II)Lchatty/util/api/Emoticon$Builder;addStreamRestriction6(Ljava/lang/String;)Lchatty/util/api/Emoticon$Builder;build()Lchatty/util/api/Emoticon;delete(II)Ljava/lang/StringBuilder;indexOf(II)Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/Object;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger; chatty/util/api/Emoticon$SubType!�% !"#$%&'($%)$%*!+,!-./0123$45$4678!9:;<$4=>?$@0ABC�*�*�Y��*�Y��*�Y��*�Y��	*�Y��*�Y��*�Y��*�Y��
�*�Y��*�Y��*�Y��*�Y��*�Y��*�Y���DB-LNP%U0Z;_FdQi_ojqus�w�y�{�E�FGHICc*+�+���*+���D~��EFGJKLMIC?�+���=+���L*��N-��9-��:�+��+� ��!+� �-�"�����'�#$�%Y�&SY+�SY+� S�'�(�D>������'�2�>�Q�W�Z�]�a���E42(NO?PQ�FG�JK|RST?PUL�V�2W��'XYCe+�)M,���,��N-�*:�V�):��@��+:*��,�*��Y��-W**��.�/-�0����o-�1�%-��2�**�	-�0�R**�-�0�F-�3�
-�3�&�:*��,�*��Y��-W**��.�/-�0-��2�-�4�*�-�4�&-�-W���#�5Y�67�8+�9�:;�8<�8*��=�:>�8*��=�:?�8*�@�9�:A�8�B�(*�C�DZ�� �%�D�P�a�r�x�������������������	�`�d�ERD.Z[.G\Q�.]^ �_$�NO\QeFGe`$T �_4e`%L4
�V�&WaV�2b�@c�c��!�defCB�,�1�*�,�3�&�D�u,�E�*�,�F�GW�],�*�)N-��J-��+:*��H�*��Y��IW*��J�K,�F�GW���+,�LW+,�MW�D.��!�2�P�^�q���������E4P9g[<P\Q�FG�hi�NOT�hjL�	V�4b�klmCI*�+�4�&+�-W�D��EFGNOnoC/*��DEFGpqrCE*��&�J��DEFGsStoC/*�	�DEFGpuoC/*��DEFGpvwC/*��DEFGxyzC�*��&�.�M,��NM,�D!"#%E FG{S|1T|2L�}~yC�*�+�.�M,��NM,�D0124E FGg[|1T|2L�}���C/*��D8EFG���C�*�+�J�/M,�	�O�,�D<=E FGg[�iT��L��@���YCe*�+�P�Z*+�+�)M,��E,��Q�R>*�S�T:��!��:*��F�GW��ۧ���D"A
BC/DOE^FaGdIE>ONO9(\Q/2]SK\QeFGe�$Te�@L�V�V�'��	��CZ!�*�ɟ���DSUWE{SL��CU*�+�U�D`aEFG�T�/���C�7*��&�J�+MV,�W�X,�W�Y�*��&�J�+�Dmn#o&qE 7FG7]S&g[L	�#b��C�C*��Z�)M,��,,��Q�R>*��&�J�++�W������D}%~<>�A�E*%]S2\QCFGCg[L�V.���Cc*��[*�+�\W�D�	��EFG5iT5���mCA	*+�F�]�D��E	FG	NO��CD*�+�GW�D��EFG�[��CB*�+�F�D�D�EFGNO��C�'+�^�*+�_M,��`��5Y�6N-a�8,�9�:W,�9�
-b�8W�-c�8W-d�8+�8e�8Wf:,�):�����:�*:-�5Y�6�8g�8�F�8g�8h�8��ij�8�1�k�0�5Y�6l�8�3�:m�8*�3�n�8o�8�B�8�p��5Y�6q�8�i�B�8�B�8Wr:��I-�B�DJ���
���!�1�;�E�L�\�`�~�����"�ER���$~�NOh�\Q'FG'�[
�$!��`��[T���4
�%L��a�+��bV�Z�ba�bVWa���,�ba�bVWa��b��ba�bVWa����ba�bVWa��b���C�0�Y�M,*+*��s�t�\W,*+*��s�t�\W,�D���.�E 0FG0�[(�$T(�%���C5b�Y�N,�u:��I��/:�u:��'��:+�v�w�-�GW��է��-�D"��&�E�Q�Z�]�`�ERENO/.\Q&7�iP\QbFGb�[b�iZ�$T &7�jb��Z�%L�aV��V*�����C�:�Y�M*�)N-��#-��:�+�,�GW���,�D#,58E4#NO)\Q:�$:��2�$T:�%2�%L�aV%����Cc�x*�J�+L+�*�+�D

E�[
�[L�b�mCG*�*+�y+�-W�DEFGNO��CE�zY+�F+�3�{�D#EFGNO��C]+|�}M*��~*��,��N-��/-���:*��:�*����IW���*�C*���D.,-./20:1?2P4S5W6\7E>:��2��5\Q]FG]��V��TV��L��V1���C��*����#������Y��M*����)N-��-��z:,*����W���*����uN-��K-��z:���%�#�5Y�6��8�i��8�B���,*����W���+|,���D:@ABDE9FGGJHmIwJ�L�N�O�PEH9��%%\Qm:��YQ\Q�FG������T���L!��V�$�V�?�
���C�7+���+M+������>+������6�zY,�{�M�34�34�D]^_(`4a5bE>)�[]S(�S5��7FG7��Lt���C�E��Y��N-+����W-+���&��W�-�&��W�-+��`�&��W-�Dyz{!|%}3C�E*EFGE��E�;=��L	�3��BC��*�����*���<**��s��W**���W*����$�#�5Y�6��8�:��8�B�(�)�#�5Y�6��8*����:��8�B�(�D&	��
��#�,�8�Y��E�FGi�SL
�K%��C�2+�uM,��#,��N*-��*���������D���+�-�0�E*NO)\Q2FG2�iT2�jL�V%���mC�9*�+�F�J�zM,�&,��+�3�*�,+�-W*�+�F��W�D�� �*�8�E 9FG9NO(��L�8��mCX*�*+�y��W*�+�F��W�D�
��EFGNO�oC9�Y*��s���D�EFGp��C4*����D�EFG��Ca!*�+�F�H�*�+�����D�E!FG!NOL@�BC,�*��[*��~�5Y�6���8��8�B�+��L+�����MN6,��Y:�*��������#�5Y�6��8�:��8�B�(,�K-�,���@:-���5,���.:N�:,�-�,���:-���,����M�#�5Y�6��8,�i�B�(�~���;v��;v��������/���DB	/;>HQWv������ER>8�SE1�[������9�������FG/���Lj�>�����b�-�����F�G����������B���C?�+�����M>:66::+�����:	6	��2	2:���� ������>�����M�������������6��:�������������6��:������"�������������:������;��������:2��6
2��6��Y
��:�V:�Q,�	M�G�B:Ķ��4���+���+����:���Ƕ�:�::����,�t�o��Y��,��:����W��W����Ѷ�W��W��:*��GW�*��&�IW��l{~���������,UX�D�;1	25
6789;<>)?4@;BRCTDbElG{J~H�J�K�M�P�N�P�Q�R�S�V�W�X�Z][]abcd"e,gFhUkXiZj]?ctlu{v�w�x�y�{�|�}�~�����E������������S
�
�S��F��Z��;"�[,7�S{]���%NO�FG��[
��[��;��[�]S�sS�����[)���	LS� �bbb�b�5b[[(|�	~���@�1W�C5*��9�հ�5Y�5Y�6*��9�:ֶ8�B��L*��)M,���,��N��Y��:-�E�.�5Y�6��8-�*���+�8�B��W-�3�!�5Y�6��8-�3�:�B��W-�4�!�5Y�6��8-�4�:�B��W+�5Y�6ض8-�F�8ٶ8�B�8W���+�iW+۶8W+-�ܶ8W+ݶ8W��++��d+�޶�W+�B�DR���2�O�X�_������������������!�0�E4X��O�NO<�\Q5FG2��TX�L�,�V�MW�%%0�		CuȻY�L*��*��M,N-�66��-2:��6�����6`����:		:�66�N2:

��:2��62��6��+�&��Y��IW�����:���b��Y+��9���9���DR�����+�4�9�F�V�p�y�����������������E�y5��,S�#Sp>
[
ZZ�_USbR\SFnsSV^�	���4�S+�N[���S�\S�[�|���T�|Le��b�C
bb�K�bbB��	C:�����D��E�BC�9���#�Y��x�x��IW�x��IW�x���IW�x���IW�x���IW�x���IW�x���IW�x��IW�x�IW�x�IW�x�IW�x�IW�x	�IW�x�IW�x
�IW�x�IW�x�IW�x�IW�x�IW�Y��N�Y��O�D^/14#506=7J8W9d:q;<�=�>�?�@�A�B�C�DEF$k.m2��	��	z���@��	;<@PKɣGI7/�qqchatty/util/api/Follower.class���3"				 nameLjava/lang/String;timeJrefollowZnewFollower<init>(Ljava/lang/String;JZZ)VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/Follower;toString()Ljava/lang/String;SourceFile
Follower.java!	

chatty/util/api/Followerjava/lang/Object()V!	

�*�*+�* �*�*��*+	,-./4	

/*��3PKɣGDșg��"chatty/util/api/FollowerInfo.class���3G.	/	012	3	4	5	67	.	89	:	;	<=>	followersLjava/util/List;	Signature,Ljava/util/List<Lchatty/util/api/Follower;>;totalItimeJstreamLjava/lang/String;requestErrorZrequestErrorDescription<init>&(Ljava/lang/String;Ljava/util/List;I)VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/FollowerInfo;LocalVariableTypeTableB(Ljava/lang/String;Ljava/util/List<Lchatty/util/api/Follower;>;I)V'(Ljava/lang/String;Ljava/lang/String;)VerrortoString()Ljava/lang/String;SourceFileFollowerInfo.java?@ABjava/lang/StringBuilderCD CECF*+chatty/util/api/FollowerInfojava/lang/Object()Vjava/lang/SystemcurrentTimeMillis()Jappend(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;! !�%*�*,�*�*��*+�*�*��""56	789:;$<#*%$%%%%&%'(!%*�*�*�*��*+�*�*,��""DE	FGHIJ$K# %$%%%)*+!H�	Y�*���
*����"O#$%,-PKɣG�ff*chatty/util/api/FollowerManager$Type.class���35	&'(*+,
-	.	/0	FOLLOWERSTypeInnerClasses&Lchatty/util/api/FollowerManager$Type;SUBSCRIBERS$VALUES'[Lchatty/util/api/FollowerManager$Type;values)()[Lchatty/util/api/FollowerManager$Type;CodeLineNumberTablevalueOf:(Ljava/lang/String;)Lchatty/util/api/FollowerManager$Type;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>8Ljava/lang/Enum<Lchatty/util/api/FollowerManager$Type;>;SourceFileFollowerManager.java123$chatty/util/api/FollowerManager$Type4
java/lang/Enumclone()Ljava/lang/Object;chatty/util/api/FollowerManager5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@1@
@	"����	5*���1*+�� !"!J.�Y��	�Y���Y�	SY�S�� #$%)@PKɣG�K�� � %chatty/util/api/FollowerManager.class���3�j���	g���	g�	g�	g�	g�	g�	g������	�b����b�b�U�	��U��g�	k���	k�����		�`gg	g	�
g4�	g7�777>�> !"�A�#$%G&'(')g*�+,O�-./�012��g3456789:;b<=U>	?@ABCDEFTypeInnerClassesLOGGERLjava/util/logging/Logger;
REQUEST_DELAYI
ConstantValue<cachedLjava/util/Map;	SignatureALjava/util/Map<Ljava/lang/String;Lchatty/util/api/FollowerInfo;>;	requestedLjava/util/Set;#Ljava/util/Set<Ljava/lang/String;>;alreadyFollowed`Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lchatty/util/api/Follower;>;>;errors6Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;type&Lchatty/util/api/FollowerManager$Type;apiLchatty/util/api/TwitchApi;listener)Lchatty/util/api/TwitchApiResultListener;<init>m(Lchatty/util/api/FollowerManager$Type;Lchatty/util/api/TwitchApi;Lchatty/util/api/TwitchApiResultListener;)VCodeLineNumberTableLocalVariableTablethis!Lchatty/util/api/FollowerManager;hasNewFollowers(Ljava/util/List;)Z	followersLjava/util/List;LocalVariableTypeTable,Ljava/util/List<Lchatty/util/api/Follower;>;
StackMapTable/(Ljava/util/List<Lchatty/util/api/Follower;>;)Zerror(Ljava/lang/String;I)VstreamLjava/lang/String;amountcurrentLjava/lang/Integer;�noError(Ljava/lang/String;)VrequestcachedInfoLchatty/util/api/FollowerInfo;�checkTimePassed!(Lchatty/util/api/FollowerInfo;)ZinfoerrorCountreceived((ILjava/lang/String;Ljava/lang/String;)VerrorMessageerrorResultresponseCodejsonresult0parseFollowersD(Ljava/lang/String;Ljava/lang/String;)Lchatty/util/api/FollowerInfo;followerLchatty/util/api/Follower;oLjava/lang/Object;i$Ljava/util/Iterator;parser#Lorg/json/simple/parser/JSONParser;rootdataLorg/json/simple/JSONObject;followstotalObjectex'Lorg/json/simple/parser/ParseException;totalGE HA-
parseFollower@(Ljava/lang/String;Ljava/lang/Object;)Lchatty/util/api/Follower;created_attimeJuserdisplay_nameLjava/lang/Exception;IcreateFollowerItemA(Ljava/lang/String;Ljava/lang/String;J)Lchatty/util/api/Follower;nameentries
existingEntryrefollowZ	newFollownewEntry=Ljava/util/Map<Ljava/lang/String;Lchatty/util/api/Follower;>;=�<clinit>()VSourceFileFollowerManager.java��java/util/HashMaptujava/util/HashSetxy{u}u�����GJKLMchatty/util/api/FollowerN�LOjava/lang/IntegerPQRSTUVOWXYZ[chatty/util/api/FollowerInfo��\�]^�_�`�abcdc��efg����������hcijkChannel not found.��Parse error.Access denied.No data for this channel.Request error.�ljava/util/ArrayListnojava/lang/StringBuildermn data null.mopqrs�!org/json/simple/parser/JSONParsertuorg/json/simple/JSONObjectError parsing : root should be object
subscriptionsorg/json/simple/JSONArray: follows/subs should be objectvwHxKyz��_totaljava/lang/Number%org/json/simple/parser/ParseException: �{java/lang/String|}~��java/lang/ClassCastExceptionjava/lang/NullPointerExceptionjava/text/ParseExceptionError parsing entry of  []Z��k
java/util/MapZq�k��chatty/util/api/FollowerManager��q��java/lang/Object$chatty/util/api/FollowerManager$Typejava/util/Listjava/util/Iteratorjava/lang/ExceptionisEmpty()Zget(I)Ljava/lang/Object;newFollower&(Ljava/lang/Object;)Ljava/lang/Object;valueOf(I)Ljava/lang/Integer;intValue()Iput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;removejava/util/LocaleENGLISHLjava/util/Locale;toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;	FOLLOWERSchatty/util/api/TwitchApirequestFollowersSUBSCRIBERSrequestSubscribers'chatty/util/api/TwitchApiResultListenerreceivedFollowers!(Lchatty/util/api/FollowerInfo;)VreceivedSubscribersjava/lang/SystemcurrentTimeMillis()JnewFollowers
java/util/Setadd(Ljava/lang/Object;)Z'(Ljava/lang/String;Ljava/lang/String;)Vappend-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerwarningparse&(Ljava/lang/String;)Ljava/lang/Object;iterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;&(Ljava/lang/String;Ljava/util/List;I)Vchatty/util/api/Util	parseTime(Ljava/lang/String;)Jchatty/util/StringUtil&(Ljava/lang/String;)Ljava/lang/String;containsKeycontains(Ljava/lang/String;JZZ)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!gj	nopqrstuvwxyvz{uv|}uv~���������@*�*�Y��*�Y��*�Y��*�Y��	*+�*,�*-���&	D'-3%90E5F:G?H�*@��@�@��@�����p+�
�+�������T���������@v�����;*�	+��N-��N-��	�N*�	+-�`��W��^_`b c&e:f�*;��;��;�q-���	�����D*�	+�W��ij�����$����+�+���+��L*�+��M,�*,��-*���*�+��C*���9*�+��.*���*�,� �*���
*�,�!��:stvw"x.y8zC{M|Xb�o�y���� ������"b����!�����7*�	+�"��M,��M�#+�$e%%,�hl`����������3�5�� 7��7��&���	��$���)*,-�&:�g*,�'*�,�W*���(*�� *�(�)�&*��*�*���*��!*�,�+W��,:��-:*,�.�QȠ/:*,�.�=����0:*,�.�"��1:*,�.�
2:*,�.�Y,�3:*�,�W*���*�� �*���*��!���!��
���)�4�@�N�X�c�q�u�|���������������������������������	����Hu����:�����q��������N�
��
	�0������B�4Y�5N6,�!�6�7Y�8*��9:�;�<�=��>Y�?:,�@:�A�&�6�7Y�8B�;*��9C�;�<�=��A:D�E:*���F�E:�G�&�6�7Y�8B�;*��9H�;�<�=��G�I:		�J�&	�K:*+�L:�-�MW���N�E:		�O�
	�O�P6�-:�6�7Y�8B�;*��9R�;�9�<�=��Y+-�S�-hQi�Q�	Q�z����+�-�6�>�F�g�i�p�y�������������������������	���4�6����������-��	6���>���p���y������	(��B��B��B��:��7�q�:���?�-��;��"��*�	�)������B�)���,	n,�AN-T�E�U:�V7-W�E�A:X�E�U:*+�Y�N�6�7Y�8]�;*��9R�;,�9^�;-�9_�;�<�=�78Z78[78\�&	����"�.�8�9l�\	3��(��!��"��.��93��n��n��n���x������+�`L*�+�a�*�+�Y��W*�+��b:,�c��:66�6�d!��6*�+�e�6�Y,!�f:	�*�+��b,�c	�W	��F$3CFINQ[^"k#n%}&�'�)�\	������������3k�uC[��FX��IU��}!��	�3k���#$�9������,����%
g�h�i�6����mkgl@PKɣG�k;��-chatty/util/api/StreamInfo$UpdateResult.class���39	)*+-./0	1	2	34UPDATEDUpdateResultInnerClasses)Lchatty/util/api/StreamInfo$UpdateResult;CHANGEDSET_OFFLINE$VALUES*[Lchatty/util/api/StreamInfo$UpdateResult;values,()[Lchatty/util/api/StreamInfo$UpdateResult;CodeLineNumberTablevalueOf=(Ljava/lang/String;)Lchatty/util/api/StreamInfo$UpdateResult;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>;Ljava/lang/Enum<Lchatty/util/api/StreamInfo$UpdateResult;>;SourceFileStreamInfo.java567'chatty/util/api/StreamInfo$UpdateResult8 ! !java/lang/Enumclone()Ljava/lang/Object;chatty/util/api/StreamInfo5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@0@@@	"����	5*��� !1*+��"#$%$YA�Y��	�Y���Y��
�Y�	SY�SY�
S��#&'(,@PKɣG�&�'',chatty/util/api/StreamInfo$ViewerStats.class���3`9	:	;	<	=	>	?	@�A9BCDEFGHIJKLMNOPQSTmaxIminavg	startTimeJendTimecounthistoryLjava/lang/String;<init>(IIIJJILjava/lang/String;)VCodeLineNumberTableLocalVariableTablethisViewerStatsInnerClasses(Lchatty/util/api/StreamInfo$ViewerStats;duration()JisValid()Z
StackMapTabletoString()Ljava/lang/String;SourceFileStreamInfo.java'U !"#"$%&java/lang/StringBuilder
Viewerstats (VWXYZ-): avg:[\] min: max: [V^/]56_&chatty/util/api/StreamInfo$ViewerStatsjava/lang/Object()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/util/DateTimeformat2(J)Ljava/lang/String;
chatty/HelperformatViewerCount(I)Ljava/lang/String;(I)Ljava/lang/StringBuilder;chatty/util/api/StreamInfo! !"#"$%&'()�,*�*�*�*�*�*�*�*	��*&	��	�����%�+�+R,,/,,, ,!",#",$,%&	01)8*�*�e	m�*�+,/23)C*����*�+,/4@56)�x�Y�
�*����*�����*����*����*����*���*�����*�+x,/78.R-	PKɣG�w���+�+ chatty/util/api/StreamInfo.class���3�s		p	p	p
	p	p��������	p	p	p	p	p	p	p	p	p	p		p	p	p	 !	p"	v#p$	v%p&p'()*+p,(-p.p/010203	p45+	6+78+9:;<p=Xg>?7@pApBpCDE7	pFGH:IpJ	pK	pL MpN	vO�P QRST	pU'pVW+XYZ[+\]^	p_�w@  `abcdcefggh7ijklmnnopqr:stViewerStatsInnerClassesuUpdateResultLOGGERLjava/util/logging/Logger;streamLjava/lang/String;display_namelastUpdatedJlastStatusChangestatusgameviewersI	startedAtlastOnlinestartedAtWithPicniconlineZupdateSucceededupdateFailedCounter	requestedfollowednotFoundrecheckOfflinelastViewerStatsVIEWERSTATS_DELAY
ConstantValuew@VIEWERSTATS_MAX_LENGTH  RECHECK_OFFLINE_DELAY'MAX_PICNIC_LENGTHXcurrentFullStatusprevFullStatushistoryLjava/util/LinkedHashMap;	SignatureRLjava/util/LinkedHashMap<Ljava/lang/Long;Lchatty/util/api/StreamInfoHistoryItem;>;expiresAfterlistener$Lchatty/util/api/StreamInfoListener;<init>9(Ljava/lang/String;Lchatty/util/api/StreamInfoListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/StreamInfo;streamInfoUpdated,(Lchatty/util/api/StreamInfo$UpdateResult;)Vr)Lchatty/util/api/StreamInfo$UpdateResult;
StackMapTable()VstreamInfoStatusChangedsetRequestedisRequested()ZsetFollowed)(Ljava/lang/String;Ljava/lang/String;IJ)V
saveToHistoryset*(Ljava/lang/String;Ljava/lang/String;IJZ)VresulttvpwusetOfflinesetUpdateFailedsetUpdateSucceeded,(Z)Lchatty/util/api/StreamInfo$UpdateResult;	succeeded
statusChangedsetUpdatedsetExpiresAfter(I)V	getStream()Ljava/lang/String;
getFullStatusmakeFullStatusfullStatusgetDisplayNamehasDisplayNamesetDisplayName(Ljava/lang/String;)VnamesetNotFoundisNotFoundgetFollowed	getOnlinegetTimeStarted()JgetTimeStartedWithPicnicgetTimeStartedWithPicnicAgo
lastOnlineAgogetLastOnlineTime	getStatusgetTitlegetGamegetViewers()IgetUpdatedDelayhasExpiredisValidlastUpdateLongAgogetStatusChangeTimeAgogetStatusChangeTimetoStringaddHistoryItem:(Ljava/lang/Long;Lchatty/util/api/StreamInfoHistoryItem;)VtimeLjava/lang/Long;item'Lchatty/util/api/StreamInfoHistoryItem;f?getHistory()Ljava/util/LinkedHashMap;T()Ljava/util/LinkedHashMap<Ljava/lang/Long;Lchatty/util/api/StreamInfoHistoryItem;>;getViewerStats+(Z)Lchatty/util/api/StreamInfo$ViewerStats;diffi$Ljava/util/Iterator;timePassedstartAtminmaxtotalcount	firstTimelastTimebLjava/lang/StringBuilder;prevViewersavgforce5x<clinit>SourceFileStreamInfo.java��}~~�{�{���~�~�~�������������~java/util/LinkedHashMap������yz{w|}z{~�����������������������������xyjava/lang/StringBuilderStreamInfo ��: Stream not offline anymore�����: Stream not offline����%chatty/util/api/StreamInfoHistoryItem��������&Waiting to recheck offline status for Offline after check: ��: Update failed, delayed setting offline�����{�{������No stream title set�� ()Stream offline|{��Online: ��	 Status:  Game:  Viewers: �������~�����x����java/lang/Long������+���_&chatty/util/api/StreamInfo$ViewerStats��chatty/util/api/StreamInfo�����java/lang/Object'chatty/util/api/StreamInfo$UpdateResultjava/lang/Throwablejava/lang/Stringjava/util/Iteratorjava/util/LocaleENGLISHLjava/util/Locale;toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;SET_OFFLINECHANGED"chatty/util/api/StreamInfoListener(Lchatty/util/api/StreamInfo;)Vjava/lang/SystemcurrentTimeMillis1(Lchatty/util/api/StreamInfo;Ljava/lang/String;)Vchatty/util/StringUtilremoveLinebreakCharacters&(Ljava/lang/String;)Ljava/lang/String;trimnullToStringappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/util/logging/LoggerinfovalueOf(J)Ljava/lang/Long;((ILjava/lang/String;Ljava/lang/String;)Vwarningequals(Ljava/lang/Object;)ZUPDATEDisEmpty(Z)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/util/Map;)VkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;	longValueget&(Ljava/lang/Object;)Ljava/lang/Object;
chatty/HelperformatViewerCount(I)Ljava/lang/String;(IIIJJILjava/lang/String;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!psxyz{|{}~~�{�{���~�~�~����������B���~�~�����������������{�{��������-���	{*�*	�*	�*�*�*�*�*�*�*�
*�*�*�*�*�*�*�Y��*,�*,�*+�����VY&	'()*+%,,-3.8/=0B1G2L3Q<XScUjZo[z\� {��{z{{�����m+��*�+��*�*� ��_`bcef���������M*��
*�*�!��ijl�������\*�"�*��*�**�#�$��opqs����!���4*���vw���!���/*���z�������*�6*�%�6*+,�&���������>���{�{���~�������a*+,�&�����4���{�{���~�����*Y:�*+�'�(�*,�)�(�*�*���R*���'�*�+Y�,-�.*��./�.�0�1�$�*�+Y�,-�.*��.2�.�0�1*�*�34��	*�*�*�"�*�
�*�"�6�7Y+,�8�9*�::ç:	�	�*�;�������R���� �+�5�Y�z������������������������H�����{��{�����~�������&�Y� *L���������,�*YM�*�
�4*���)�*�+Y�,<�.*��.�0�1*�"��G*����*�+Y�,=�.*��.�0�1*�*�
*�"�6�7Y�>�9*�:L,çN,�-�*+�;�������6
���2�<�G�c�j�o������������������<�&J��������*YM�*�:L,çN,�-�*+�;������������� �����������=*�*�?�*��B*Y�`�*���-�*�+Y�,-�.*��.@�.A�.�0�B��**�C�D�*�D*�E�F�*�G�
**�D�E=����H��B	
!,RV^w�"�#�%� �����������>	���C*�"Im�*���)*+���!���>*���./��������/*���2���!���/*�D��?�������V*�
�E*�L*��KL*��-*��L�#�+Y�,+�.M�.*��.N�.�0L+�*���O��*HIJKM'NGPIRPSSV�=�{V���
��0�	���J*�P�*�P�*���a����C����B
*�P����k�
���@���>*+�P��tu����{!���4*���xy���!���/*���|���!���U *����"*�eQ������� ���@!���/*�������!���/*�
������!���/*�������!���/*�������!���3	�"*�e����	��!���7
�"*�eIm����
��!���/*�������!���/*�������!���J*��K�*����������!���/*�������!���/*�������!���7
�"Im*�e����
��!���Q*�S*�*�l`h�����������@!���V*��*�S*�h������	����!���U*��*�S*�h����������!���7
�"*�eIm���
��!���/*��� ���!���e;�+Y�,T�.*�
�UV�.*��.W�.*��.X�.*��Y�0��%�;������*�YN�*�+,�ZW-ç:-����,-./� �����������������t*�YL»Y*��[+ðM+�,��234���������������*�YM�*�\	���*�"]e�\�"*�\eB�!_��,ð*�\a7!a���"ae7666	677
�+Y�,:�6*��c�d:�e���f�g�h7�����*�\*��6�i�7�j6�+�%d6�k�.W�l�.W�"��m�.W�l�.W6���k��77
�6��6	`6	���1�m�.W�,ð	l6�nY
�0�o,ð:,��7�8j�k�������3?@CE(F4G8I@KHLQNTOWPZQ]RbSgTpVtW�X�Y�_�a�d�f�g�h�j�k�l�np
ruvy#z'|+~26�C�G�N�Q�T�Z�b�g�k�r���������������~����(e�~@M�~T9��W6��Z3��	]0��b+�~g&�~
p�t�r�������V�����0���#�9�
�
�!�����%
p�q�r�*��unpt	vpw@PKʣG85"Р�+chatty/util/api/StreamInfoHistoryItem.class���3L5	6	7	8	9	:;<	=>	?@5ABCDEonlineZviewersIstatusLjava/lang/String;game
statusAndGametimeJtitle<init>()VCodeLineNumberTableLocalVariableTablethis'Lchatty/util/api/StreamInfoHistoryItem;((ILjava/lang/String;Ljava/lang/String;)V
StackMapTableDFgetViewers()I	getStatus()Ljava/lang/String;getTitlegetGameisOnline()ZgetStatusAndGamegetTime()JSourceFileStreamInfoHistoryItem.javaGH2Stream offlinejava/lang/StringBuilderIJK+No stream title set%chatty/util/api/StreamInfoHistoryItemjava/lang/Objectjava/lang/Stringjava/lang/SystemcurrentTimeMillisappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString!	u+*�*�*�*�*�*�*��*	�� &		$*!+"#$�H*�*�*,�*-�*�*�Y�,�
-�
��*��,�*��*,�� .	 !"#.$5%9&B(G*!*H"#HHH%�B&''()/*�� -!"#*+/*�� 6!"#,+/*�� @!"#-+/*�� D!"#.//*�� H!"#0+/*�� L!"#12/*�� P!"#34PKɣG�_x](chatty/util/api/StreamInfoListener.class���3	streamInfoUpdated(Lchatty/util/api/StreamInfo;)VstreamInfoStatusChanged1(Lchatty/util/api/StreamInfo;Ljava/lang/String;)VSourceFileStreamInfoListener.java"chatty/util/api/StreamInfoListenerjava/lang/ObjectPKɣGf�|00'chatty/util/api/StreamInfoManager.class���3��%	�&'%	�(	�)	�*	�+	�,-	�.	�/	�0	�1	�2345	�67:8:9�:;<=>	�?@%ABCDEFGHIJK��L�M�NOP=Q	RS:TUVW�XY5%EZ[\[]^_E`E8=abWcde�fbghijk�l�mnopJq�r�st=uvS%Swx�VUy�z{|}~^������bZ��E��b�������������V�����������q��������������J��LOGGERLjava/util/logging/Logger;UPDATE_STREAMINFO_DELAYI
ConstantValuexSPECIAL_CHECK_DELAYUPDATE_FOLLOWS_DELAY�!UPDATE_STREAMINFO_DELAY_NOT_FOUND,FOLLOWED_STREAMS_LIMITdFOLLOWED_STREAMS_REQUEST_LIMITfollowedStreamsRequestscachedStreamInfoLjava/util/HashMap;	SignatureCLjava/util/HashMap<Ljava/lang/String;Lchatty/util/api/StreamInfo;>;streamsInfoLastRequestedJfollowsLastRequestedspecialCheckLastDonefollowsRequestErrors	prevTokenLjava/lang/String;streamsRequestErrorspendingRequestsLjava/util/Map;PLjava/util/Map<Ljava/lang/String;Ljava/util/Set<Lchatty/util/api/StreamInfo;>;>;listener$Lchatty/util/api/StreamInfoListener;apiLchatty/util/api/TwitchApi;invalidStreamInfoLchatty/util/api/StreamInfo;<init>B(Lchatty/util/api/TwitchApi;Lchatty/util/api/StreamInfoListener;)VCodeLineNumberTableLocalVariableTablethis#Lchatty/util/api/StreamInfoManager;getFollowedStreams(Ljava/lang/String;)Vtoken
StackMapTablegetFollowedStreamsNexturlcheckTimePassed(JII)ZlastTimedelayerrorstimePassed
getStreamInfo?(Ljava/lang/String;Ljava/util/Set;)Lchatty/util/api/StreamInfo;streamstreamsLjava/util/Set;cachedLocalVariableTypeTable#Ljava/util/Set<Ljava/lang/String;>;3S(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Lchatty/util/api/StreamInfo;0(Ljava/lang/String;)Lchatty/util/api/StreamInfo;checkRerequest(Ljava/util/Set;)V&(Ljava/util/Set<Ljava/lang/String;>;)VrequestStreamsInforequestStreamsInfo2(Ljava/util/Set;Z)Vi$Ljava/util/Iterator;specialZstreamsForRequeststreamInfosForRequest-Ljava/util/Set<Lchatty/util/api/StreamInfo;>;h�^'(Ljava/util/Set<Ljava/lang/String;>;Z)V
requestResult:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)VresultresponseCodestreamInforequestResultStreams((Ljava/lang/String;Ljava/lang/String;I)VexpectedstreamsRequestErrorinfo0(Ljava/util/Set<Lchatty/util/api/StreamInfo;>;)VrequestResultFollows(Ljava/lang/String;I)VnextUrlcountparseStream1(Lchatty/util/api/StreamInfo;Ljava/lang/String;)Vparser#Lorg/json/simple/parser/JSONParser;rootLorg/json/simple/JSONObject;ex'Lorg/json/simple/parser/ParseException;jsonvx�~parseStreams$(Ljava/lang/String;Ljava/util/Set;)ILjava/lang/ClassCastException;parsedInfoobjLjava/lang/Object;streamsArrayLorg/json/simple/JSONArray;streamInfos���B(Ljava/lang/String;Ljava/util/Set<Lchatty/util/api/StreamInfo;>;)I;(Lorg/json/simple/JSONObject;Z)Lchatty/util/api/StreamInfo;channelLjava/lang/Exception;followsviewersTempLjava/lang/Number;statusgamenamedisplay_nametimeStartednoChannelObjectviewers��getNextUrl&(Ljava/lang/String;)Ljava/lang/String;links<clinit>()VSourceFileStreamInfoManager.java�"��java/util/HashMap��������������������chatty/util/api/StreamInfoinvalid�����"��������������java/lang/StringBuilder(Followed streams: Not getting next url '��' (requests: ��, limit: )������������������������������java/util/HashSet�������java/lang/String�������Error requesting stream data: �"�"����
java/util/SetNo pending request for: Unexpected response code  or result null (errors: ��Got 	 (limit: ) followed streams.����,Access denied when getting followed streams.�"!org/json/simple/parser/JSONParser��org/json/simple/JSONObject�"�Error parsing stream (��): %org/json/simple/parser/ParseExceptionError parsing stream info: ��org/json/simple/JSONArrayjava/lang/ClassCastException&Error parsing streams: unexpected type.Error parsing streams: streams array not foundError parsing stream ����#Element in array wasn't JSONObject ��Error parsing streams info: 4Error parsing stream: Should be JSONObject, not nulljava/lang/Number&Error parsing StreamInfo: channel null��-Error parsing StreamInfo: no channel object ()Error parsing StreamInfo: unpexected type,Error parsing StreamInfo: name null or empty,Error parsing StreamInfo: viewercount null (created_at���java/text/ParseExceptionjava/lang/NullPointerException8Warning parsing StreamInfo: could not parse created_at (��7Warning: Viewercount should not be negative, set to 0 ().����������_linksnextError parsing next url: !chatty/util/api/StreamInfoManager�����java/lang/Objectjava/util/Iteratorjava/lang/Exception9(Ljava/lang/String;Lchatty/util/api/StreamInfoListener;)VsetRequestedisEmpty()Zequals(Ljava/lang/Object;)Zjava/lang/SystemcurrentTimeMillis()Jchatty/util/api/TwitchApirequestFollowedStreams'(Ljava/lang/String;Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/LoggerwarninghasExpiredisRequestedrequestStreamInfojava/util/LocaleENGLISHLjava/util/Locale;toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;get&(Ljava/lang/Object;)Ljava/lang/Object;setExpiresAfter(I)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;hasNext()Ljava/lang/Object;recheckOfflineadd#(Ljava/util/Set;)Ljava/lang/String;
java/util/MapsetNotFoundsetUpdateFailedremoveaccessDeniedparse&(Ljava/lang/String;)Ljava/lang/Object;setOffline	getStreamgetLocalizedMessage-(Ljava/lang/Object;)Ljava/lang/StringBuilder;size()IcontainsKeychatty/util/api/Util	parseTime(Ljava/lang/String;)JintValue	getStatusgetGamesetDisplayNamesetFollowed)(Ljava/lang/String;Ljava/lang/String;IJ)Vsetjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!������������������������������������������������������������^*�*�*�Y��*	�*	�*	�*�	*�*�*,�
*+�*�Y��*�Y,��*����>jB	GMNO#Q(R.T3k8l=mHoVq]r� ^��^��^��!����H+�+���*�+��*�	*��*�	��*+�*��*�*�+���*uvxy{-}2~9>�G��H��H���*����c+�$*��*Y�`�*�*�+��@��Y��+�� �*��!"�#��!$��%�&�����%�b��c��c���%<	���}�e7'mhl`�����������*����������!����,*,�)*,�**+�+N-�,�-�-�-�*�+�.-�������"�*��*,��,��,�����,����*�������G+�+��*��+�/�0L*�+�1�M,� �Y+*�
�M,x�2*�+,�3W,��&	����$�(�5�;�E�� G��G��$#����4����s*�*����*+�4��������������������s*�x*����*+�4�����������������������5Y�6N�5Y�6:+�7:�8�F�9�::*�+:�-�'��;�-�<W�<W�����*��-�=�&�*��*�-�>:*��?W��F���/�7�KT^cfjqz	~��
��\	7,��/4��M��������������������� ���������� ����1�����$����G*�+:,�6��Y�@�,��%�&��,�2�A�B�*,�C��*% ,!4"9$>%?'F)�>G��G��G��G��G��?���	�9�$���R�*�+�D�E:���Y�F�+��%�&�|Ƞ,�T��*Y�`��
*Y�`���Y�G��!H�*��!$��%�&*�I� *,�J�*Y�`��*���6
34506;7B8O:Y<�>�@�A�C�F�4���������������������0�	2����&+�$+�7M,�8�,�9�N-�B����NOP"Q%S�*����&��&���&�������$����ȠP+�L*+�J>��Y�K��!L�d�!M��%�Nd�+�O:*�P*�	�0��*Y�	`�	�Q�&*��R�
*Y�	`�	��6
WXY:Z@[F\L^Q_[`eambwd�f�4F��?�������������L�"	���g��SY�TN-,�U�V:W�X�V:�+�Y�@*�Z:�	+�,��Y�[�+�\�]�,��%�&+�B�$N+�B��Y�_�-�`��%�&�gj^�:tuwy#z*|3}>~c�g�j�k�o����R34��_��U��I��k ������������)�*�����(��B ��SY�TN-+�U�V:a�X�b:�:�d�&*,�I���e�&*,�I��f:�8�w�9:�V�I*�V,���Z:� ��Y�g��V�h�%�&,�,�iW���Y�j��h�%�&���,�),�7:�8��9�:�Y����k�N��Y�l�-�`��%�&*,�I�!c1�^2E�^F��^�~����!�#�+�0�2�7�?�D�F�`�h�|�������������������������������
��#�|/�`hM~������������	�#������������!������(����
������
��&������������
�+�
�m�&�n76+p�X�qN+r�X�V:�
�s�&�t�X�::u�X�::v�X�::w�X�::t�x�%��Y�y��$��%�&6�:�z�&����
�{�&�-�$��Y�|��$��%�&�+}�X�:�~7�$:��Y����h$��%�&-��6�%6��Y�������%�&*�+:���:��:���������9�c:��c����������c��,������ �+�0�8�:�F�R�^�j�t��������������������	���!@HMT[bf v"�$��+k������������� fF@�R4�^(�j�s�p�m�H>�����+���[�������������	$P �,����O�SY�TL+*�U�VM,��XN-�-�V�-�V��X�:��L��Y���+�h�%�&�/3^�&	/012#3073546M8�4(���� 4��O���0B!"�%
��������#$PKɣGH��::chatty/util/api/TokenInfo.class���3( 				 		!		"		#		$		%&'channel_commercialsZchannel_editorchat_access	user_readchannel_subscriptionsnameLjava/lang/String;valid<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/TokenInfo;(Ljava/lang/String;ZZZZZ)VSourceFileTokenInfo.java
chatty/util/api/TokenInfojava/lang/Object!	
r(*�*�*�*�*�*�*�*��&		"'(�+*�*+�*�*�*�*�*�*��&		 !"#$%%*&H++++
+++PKɣG�m��+chatty/util/api/TwitchApi$RequestType.class���3a	GHI4K"L"M#N	O'	P(	Q)	R*	S+	T,	U-	V.	W/	X0	Y1	Z2	[\STREAMRequestTypeInnerClasses'Lchatty/util/api/TwitchApi$RequestType;	EMOTICONSVERIFY_TOKENCHAT_ICONSCHANNELCHANNEL_PUTGAME_SEARCHCOMMERCIALSTREAMSFOLLOWED_STREAMS	FOLLOWERSSUBSCRIBERSUSERINFO$VALUES([Lchatty/util/api/TwitchApi$RequestType;values*()[Lchatty/util/api/TwitchApi$RequestType;CodeLineNumberTablevalueOf;(Ljava/lang/String;)Lchatty/util/api/TwitchApi$RequestType;LocalVariableTablenameLjava/lang/String;<init>(Ljava/lang/String;I)Vthis	Signature()V<clinit>9Ljava/lang/Enum<Lchatty/util/api/TwitchApi$RequestType;>;SourceFileTwitchApi.java344]^_%chatty/util/api/TwitchApi$RequestType9`>?>?#&'&(&)&*&+&,&-&.&/&0&1&2&java/lang/Enumclone()Ljava/lang/Object;chatty/util/api/TwitchApi5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@0"@#&@'&@(&@)&@*&@+&@,&@-&@.&@/&@0&@1&@2&34	567"����8(	9:75*���8(;<=>?71*+��8(;@&ABCB72�Y��	�Y���Y��
�Y���Y���Y���Y���Y���Y���Y	���Y���Y���Y ��!
�Y�	SY�SY�
SY�SY�SY�SY�SY�SY�SY	�SY�SY�SY�!S��8)N*�+�(ADEF%J$@PKɣG�:o�P�Pchatty/util/api/TwitchApi.class���3����	E���	E�����	E�	E���	E���	E��	���	E�	��	E���	E���	E��������E��	��%����	��%��	������	�������	���	���	������	��	��S���������	�	�	�E%	 
��X	E�E	�	�%S !"#$%E&'()*�+E,-.�/E01E2345E6�789E:;E<=>?@AEBCDEEFEGHIJKLMN���OP$�Q{R�ST��U}~VW��XYZ[�\]^��	�_`�EaEb	�cd	�ef	�gh	�ij	�kl	�mno�pqrs/tuvwx�Dy�z{|���}~�����\�������:��������RequestTypeInnerClassesLOGGERLjava/util/logging/Logger;pendingRequestLjava/util/HashMap;	Signature9Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;CACHED_EMOTICONS_EXPIRE_AFTERI
ConstantValueQ�TOKEN_CHECK_DELAYX
ACCESS_DENIEDSUCCESSFAILED	NOT_FOUNDRUNNING_COMMERCIALINVALID_CHANNELresultListener)Lchatty/util/api/TwitchApiResultListener;streamInfoManager#Lchatty/util/api/StreamInfoManager;emoticonManager!Lchatty/util/api/EmoticonManager;followerManager!Lchatty/util/api/FollowerManager;subscriberManagertokenLastCheckedLjava/lang/Long;defaultTokenLjava/lang/String;requestedChatIconsLjava/util/Set;#Ljava/util/Set<Ljava/lang/String;>;executor&Ljava/util/concurrent/ExecutorService;<init>P(Lchatty/util/api/TwitchApiResultListener;Lchatty/util/api/StreamInfoListener;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/TwitchApi;apiResultListenerstreamInfoListener$Lchatty/util/api/StreamInfoListener;
getStreamInfo?(Ljava/lang/String;Ljava/util/Set;)Lchatty/util/api/StreamInfo;streamstreamsLocalVariableTypeTable
StackMapTableS(Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Lchatty/util/api/StreamInfo;getFollowedStreams(Ljava/lang/String;)VtokensetTokengetSubscribersgetFollowersrequestFollowersrequest"Lchatty/util/api/TwitchApiRequest;url
requestSubscribersrequestFollowedStreams'(Ljava/lang/String;Ljava/lang/String;)VnextUrlrequestChatIcons(Ljava/lang/String;Z)VforcedZrequestEmoticons(Z)VforcedUpdate�requestUserInfonamerequestStreamInforequestStreamsInfo#(Ljava/util/Set;)Ljava/lang/String;
streamsString7(Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;getChannelInfo
getGameSearchex&Ljava/io/UnsupportedEncodingException;gameencodedGame�putChannelInfoD(Ljava/lang/String;Lchatty/util/api/ChannelInfo;Ljava/lang/String;)VinfoLchatty/util/api/ChannelInfo;attemptRequest'(Ljava/lang/String;Ljava/lang/String;)Z��
removeRequest&(Ljava/lang/String;)Ljava/lang/String;accessDenied()VcheckTokenverifyToken
runCommercial((Ljava/lang/String;Ljava/lang/String;I)Vlength
requestResults(Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)ViconsLjava/util/List;gamesdisplayNametype'Lchatty/util/api/TwitchApi$RequestType;resultresponseCodeerrorencodingencodingText#Ljava/util/List<Lchatty/Usericon;>;������(Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V	tokenInfoLchatty/util/api/TokenInfo;resultTextresultCodehandleChannelInfoResulta(Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)VyhandleChannelInfoResultError=(Ljava/lang/String;Lchatty/util/api/TwitchApi$RequestType;I)VparseVerifyToken/(Ljava/lang/String;)Lchatty/util/api/TokenInfo;parser#Lorg/json/simple/parser/JSONParser;rootLorg/json/simple/JSONObject;validusername
authorizationscopesLorg/json/simple/JSONArray;allowCommercialsallowEditorchatAccessuserAccessreadSubscriptionse'Lorg/json/simple/parser/ParseException;jsonNP]parseChatIcons6(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;iconsNewI(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Lchatty/Usericon;>;addUsericon�TypeM(Ljava/util/List;Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;)ViconLchatty/Usericon;Lchatty/Usericon$Type;`(Ljava/util/List<Lchatty/Usericon;>;Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;)VgetChatIconUrlT(Lorg/json/simple/JSONObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;image Ljava/lang/NullPointerException;Ljava/lang/ClassCastException;twparseChannelInfo1(Ljava/lang/String;)Lchatty/util/api/ChannelInfo;statusmakeChannelInfoJson1(Lchatty/util/api/ChannelInfo;)Ljava/lang/String;channelLjava/util/Map;parseGameSearch#(Ljava/lang/String;)Ljava/util/Set;objLjava/lang/Object;itLjava/util/Iterator;�7(Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;parseNameFromUserInfoLjava/lang/Exception;�<clinit>SourceFileTwitchApi.javaRjava/util/HashMap�����	java/util/HashSet���
�!chatty/util/api/StreamInfoManager�chatty/util/api/EmoticonManager�chatty/util/api/FollowerManager���������"#)#java/lang/StringBuilder&https://api.twitch.tv/kraken/channels/��*/follows?direction=desc&limit=100&offset=0��KL chatty/util/api/TwitchApiRequest�_����0/subscriptions?direction=desc&limit=100&offset=0�_�@https://api.twitch.tv/kraken/streams/followed?limit=100&offset=0�_"https://api.twitch.tv/kraken/chat//badges����_��+https://api.twitch.tv/kraken/chat/emoticons1https://api.twitch.tv/kraken/chat/emoticon_imagesupdate�_#https://api.twitch.tv/kraken/users/�_%https://api.twitch.tv/kraken/streams/�_,���@https://api.twitch.tv/kraken/streams?offset=0&limit=100&channel=�_�_��UTF-8���$java/io/UnsupportedEncodingExceptionchatty/util/api/TwitchApi�����������9https://api.twitch.tv/kraken/search/games?type=suggest&q=�_�_��PUT�/������java/lang/String�QR�������Checking token..I#T#https://api.twitch.tv/kraken/�_/commercial�_length=��POST!application/x-www-form-urlencoded�#W�, GOT ():  []OPX��V�/Error requesting stream icons: �#��Error parsing stream icons: ����pqError searching for game�� Error parsing game search result�����P�P�/ (using authorization)uv��XY3Commercial probably not running (unknown response: )Running commercial..9Commercial length not allowed or trying to run too early.#Can't run commercial: Access deniedCan't run commercial: Channel '' not found�V��st��Error parsing channel info: ����)Error setting channel info: Access denied+Error setting channel info: Unknown error ((Error parsing verify token result (null)!org/json/simple/parser/JSONParser��org/json/simple/JSONObject��java/lang/Boolean��chatty/util/api/TokenInfo	user_nameorg/json/simple/JSONArraychannel_commercialchannel_editorchat_login	user_readchannel_subscriptions�%org/json/simple/parser/ParseExceptionjava/util/ArrayList��mod������subscriber��turbo��broadcaster��staff��admin��global_modError parsing chat icons: ����java/lang/NullPointerExceptionError parsing chat icon : unexpected nulljava/lang/ClassCastException: unexpected typechatty/util/api/ChannelInfo/Error parsing ChannelInfo.*Error parsing ChannelInfo: Unexpected type���*Error parsing game search: Should be array��	Error parsing game search.*Error parsing game search: Unexpected null*Error parsing game search: Unexpected typedisplay_nameError parsing userinfo: �java/lang/Object%chatty/util/api/TwitchApi$RequestTypejava/lang/Throwablejava/util/logging/Loggerjava/util/List
java/util/Setchatty/Usericon$Typejava/util/Iteratorjava/lang/Exceptionjava/lang/LongvalueOf(J)Ljava/lang/Long;java/util/CollectionssynchronizedSet (Ljava/util/Set;)Ljava/util/Set;B(Lchatty/util/api/TwitchApi;Lchatty/util/api/StreamInfoListener;)V,(Lchatty/util/api/TwitchApiResultListener;)V$chatty/util/api/FollowerManager$Type	FOLLOWERS&Lchatty/util/api/FollowerManager$Type;m(Lchatty/util/api/FollowerManager$Type;Lchatty/util/api/TwitchApi;Lchatty/util/api/TwitchApiResultListener;)VSUBSCRIBERSjava/util/concurrent/ExecutorsnewCachedThreadPool(()Ljava/util/concurrent/ExecutorService;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;W(Lchatty/util/api/TwitchApi;Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;)V$java/util/concurrent/ExecutorServiceexecute(Ljava/lang/Runnable;)Vi(Lchatty/util/api/TwitchApi;Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;Ljava/lang/String;)VFOLLOWED_STREAMScontains(Ljava/lang/Object;)ZCHAT_ICONS
loadEmoticons(Z)Z	EMOTICONSUSERINFOSTREAMchatty/util/StringUtiljoin<(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;STREAMSCHANNELisEmpty()Zjava/net/URLEncoderencode8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VGAME_SEARCHCHANNEL_PUTsetDatacontainsKeyput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;remove&(Ljava/lang/Object;)Ljava/lang/Object;'chatty/util/api/TwitchApiResultListenerjava/lang/SystemcurrentTimeMillis()J	longValueVERIFY_TOKENCOMMERCIAL(I)Ljava/lang/StringBuilder;setContentType()I:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)VrequestResultStreamsemoticonsReceivedwarningreceivedUsericons(Ljava/util/List;)VaddgameSearchResult(Ljava/util/Set;)Vreceived((ILjava/lang/String;Ljava/lang/String;)VtoLowerCasereceivedDisplayName
tokenVerified0(Ljava/lang/String;Lchatty/util/api/TokenInfo;)VrunCommercialResultrequestResultFollows(Ljava/lang/String;I)VputChannelInfoResult(I)VreceivedChannelInfo3(Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)Vparse&(Ljava/lang/String;)Ljava/lang/Object;getbooleanValue(Ljava/lang/String;ZZZZZ)VMODSUBTURBOBROADCASTERSTAFFADMINGLOBAL_MODgetLocalizedMessagechatty/UsericoncreateTwitchIconM(Lchatty/Usericon$Type;Ljava/lang/String;Ljava/lang/String;)Lchatty/Usericon;	getStatus
java/util/MapgetGametoJSONStringiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;!E����������������������������������������B	B
�$�q*�*�Y��*	��*�Y��	�*+�*�Y*,�
�*�Y+��*�Y�**���*�Y�**���*���.F<@%G*H7ICJVKiMpN qqqw,��Y�M*�+,��]^` 
 �!"#A	*�+��de		$%#>*+��hi$&#A	*�+��lm		'#A	*�+��pq		(#�:�Y� �!+�!"�!�#M*,+�$��%Y*�&,�'N*�-�(�tv"w/y9{*/)*::!+ �9,-#�>�Y� �!+�!)�!�#M*,+�$��%Y*�*,*��+N*�-�(�~�"�3�=�*3)*>>%+ �=,./�',�,N�,N�%Y*�--+�+:*��(���	���&�>+''$'0+)* 		�,12�M�Y�.�!+�!/�!�#N*-+�$�-�*�+�0��%Y*�1-�':*��(���"�3�A�L�4A)*MMM344+ 	�3,56�@�*��2�33M4M*,�5�6�$��%Y*�7,�'N*�-�(�����(�5�?�*5)*-+@@74 1�8,8,�8,8,,�9#�5�Y�8�!+�!�#M*,+�$��%Y*�9,�'N*�-�(����*�4�**)*55:!+ �4,;#�5�Y�:�!+�!�#M*,+�$��%Y*�;,�'N*�-�(����*�4�**)*55!+ �4,<=�6+<�=M�Y�>�!,�!�#N�%Y*�?-�':*��(-����)�4�466
/>+)
)*6�?@#�:+���Y� �!+�!�#M*,+�$��%Y*�@,�'N*�-�(�����"�/�9�*/)*::!+ 	�3,A#Y+�+�A��6M+B�CM�NE�F�G�H-�I�Y�J�!,�!�#N�%Y*�K-�':*��(�D.�������+�?�M�X�>BCYYDJE?+M)* �8,,FGH�L+���Y� �!+�!�#:*+�$�*�%Y*�L-�+:*,�MN�O*��(�"����$4@K>4)*LLLIJL$2+ 	�E,KL�+*�YN�*�+�P�*�+,�QW-ì-ì:-��$ #$$($ $ ++++ � MCNOP�*�YM�*�+�R�S,ðN,�-�'()+ �8,MNQR8*��T�1	2S#�9+�7+�A�0�U*��VeWmY���[\�]*�U��*+�^�;!=)>3?8A99$ 8T#p_M�%Y*�`,+�+N*�-�(�DFHJ*$+)*UV�a�Y� �!+�!a�!�#:*+�$�?�%Y*�b,�+:�Y�c�!�d�#e�Of�g*��(�MN$O4QNRUS`V>4,)*aaa$aW�G+ �`,XY��6-�	-�h6�6��Y�i�!�!�#:�[�Y�j�!�di�!�d�!k�!,�!��Y�l�!�!m�!�#�6�!�#�]*,�n:	+�;�*�,-	�o�0+�?�*�,-�p�+�7�*�-	�q�+�1�c-��[�Y�r�!-�!�#�s�*-	�t:��[�Y�u�!-�!�#�s�*��v*�	�wW��+�@�+�L�*+,-	�x��+�K�3-��[y�s�*-�z:��[{�s�*��|�M+�&�*�	-�}�7+�*�*�	-�}�!+�9�*-�~:*�	�����+ijk
m-n�p�q�r�t�u�w�x�z�{�|�}�������$�0�3�A�O�V�Z�b�c�j�o�w�x��������������������
�6Z[j\
�]��^_�+�`�a��b�c�W�-�d�E	�6Zej\ w�
	S,�N	8f,,,,,gh�	8f,,,,,gh,�&,$�'i�

�j�
XkY
�6-�	-�h6�6��Y�i�!�!�#:	�[�Y�j�!�di�!�d	�!k�!,�!��!��Y�l�!�!m�!�#�6�!�#�]+�`�*-��:*�����+�L�*+,-����+�b��*,�n:�Y���!�d��!�#:6̠
�:6�Y��
�:6�G�����:6*���)��!�Y���!�!��!�#:6*��*����1+�-�*�-���+�*�*,�n:*�-�}��%���
�-������������������������������	���#�&�-�5�P�S�Z�i�l�s�����������
lm����n�~o����^_�+�`�a��b�c�$�W�-nd	 r�
	S,�S8f,,,,,,gh�8f,,,,,,gh,&�=,,
%�pqe-�ȟ
*+���*-��:�&�[�Y���!-�!�#�s*+���+�L�
*���*����2�����"�;�D�E�L�V�d�Hee^_e+e`ea�eHIJ 	�.rst�,�@�(��*�+���u*�+���f��*����R�����[��s*���*���+�[�Y���!�d��!�#�s*����6
	,3@NV`g��*���^_�a� 
'uv�+�
�[��s���Y��M,+����N-�����:���������6���Y�������S:�����:�����:���6	���6���6���6���6
��Y	
���M�0��1L��M���Z=>?BCE*G/H1K@MENMQYReSqUzV�W�X�Y�[�]�^��wx�yz*�$z@r{4YY|eM}zqA~z8�4	�/�4�&�4��4��4
������ #�"�����d8,����ɻ�Y��N-+����:��Y��:*��*������*��,*������*��*������*��*������*��*������*��*������*��*�������N�[�Y���!-�¶!�#�s����:klno/pCqWrkst�u�w�y�z�{H�wx�yz��[�B�������e ��������%�"�A�,-��:�+��W��
���$�>��%%Z[%^�%%+%Ze $����]+,����:-���S:�:�[�Y�ƶ!,�!Ƕ!�#�s�#:�[�Y�ƶ!,�!ɶ!�#�s��;�&	�����8�;�=�[�R�z�B�=B�]]yz]:]^ X�b���I��Y��M,+����N-ʶ��S:-˶��S:��Y�ͰM�[ζs�M�[϶s�23�2>�.����'�3�4�<�>�?�G�R+wx"yz�'D4B�?B�II� s�J����7��Y��M�Y�N-�+�ѹ�W-�+�ӹ�W,�-��W,�ְ����*�2�*77IJ/yz'����	��Y�M��Y��N-+����:׶�:���
�[ضs�����:���/��:�����ܶ��S:,�wW���,�N�[ݶs�N�[޶s�N�[߶s�4w�5vw�4��5v��4��5v��b����#�+�3�5�?�I�R�Z�i�r�u�w�x���������������zi	:R ��gwx]yz#T\�?8��xB��B��B�����`
�` >�58,j��M�	�2�8,j�J�J����P�;��Y��M,+����N-���S:�M�[�Y��!,��#�s��������� �9�>wxyz] B�;;� _��R%
E�F�G�[�����E�@�q�@��@PḲG�ŏ���&chatty/util/api/TwitchApiRequest.class���3'N�Q�	N�	N��	N��	N��	N�	N�	N�	N�	N�N�	N�	N��������������`��������������������.�.�.��3�	N��������������@���C�B�B�B�����K�I��������LOGGERLjava/util/logging/Logger;CONNECT_TIMEOUTI
ConstantValueu0READ_TIMEOUT	CLIENT_IDLjava/lang/String;urloriginLchatty/util/api/TwitchApi;type�RequestTypeInnerClasses'Lchatty/util/api/TwitchApi$RequestType;tokendataencodingresponseCode
requestMethodcontentTypeapiVersionerror<init>W(Lchatty/util/api/TwitchApi;Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis"Lchatty/util/api/TwitchApiRequest;i(Lchatty/util/api/TwitchApi;Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;Ljava/lang/String;)VsetData'(Ljava/lang/String;Ljava/lang/String;)V
setApiVersion(Ljava/lang/String;)VversionsetRequestTypesetContentTyperun()Vresult
StackMapTable�getUrl&(Ljava/lang/String;)Ljava/lang/String;x2Ljava/lang/Throwable;outLjava/io/OutputStreamWriter;linereaderLjava/io/BufferedReader;exLjava/io/IOException;inputLjava/io/InputStream;responseLjava/lang/StringBuilder;!Ljava/net/SocketTimeoutException;	targetUrlcharsetLjava/nio/charset/Charset;Ljava/net/URL;connectionLjava/net/HttpURLConnection;�����������<clinit>SourceFileTwitchApiRequest.javalsl|e[gVGETh[application/jsoni[v3j[\[]^_cd[��k[f[�����UTF-8���java/net/URLlwjava/net/HttpURLConnectionAcceptjava/lang/StringBuilderapplication/vnd.twitchtv.+json	uAccept-Encodinggzip	Client-IDspyiu9jqdnfjtwv6l1xjk5zgt8qb91l
AuthorizationOAuth wContent-Typejava/io/OutputStreamWriter
lw|java/lang/ThrowableSTSending data: w ():  (using authorization)�java/util/zip/GZIPInputStreamljava/io/BufferedReaderjava/io/InputStreamReaderll !java/io/IOException"|java/net/SocketTimeoutException chatty/util/api/TwitchApiRequest#$%&java/lang/Objectjava/lang/Runnable%chatty/util/api/TwitchApi$RequestTypejava/lang/Stringjava/nio/charset/Charsetjava/io/InputStreamchatty/util/api/TwitchApi
requestResult�(Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vs(Lchatty/util/api/TwitchApi$RequestType;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)VforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;openConnection()Ljava/net/URLConnection;setConnectTimeout(I)VsetReadTimeoutappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;setRequestPropertysetRequestMethodsetDoOutput(Z)VgetOutputStream()Ljava/io/OutputStream;3(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)Vwriteclose
addSuppressed(Ljava/lang/Throwable;)Vjava/util/logging/LoggerinfogetRequestMethodgetContentEncodinggetInputStream()Ljava/io/InputStream;equals(Ljava/lang/Object;)Z(Ljava/io/InputStream;)V2(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V(Ljava/io/Reader;)VreadLinegetResponseCode()Idisconnectjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!NQRSTUVWXYVWZ[W(\[]^_cd[e[f[gVh[i[j[k[	lmnU	*+,-��o78p*	qr	]^	_c	\[lsn�6*�*�*�*�*�*	�*-�*+�*,�
*��o.C'	)*+, D%E*F/G5Hp46qr6]^6_c6\[6d[tunQ*+�*,��oQRSp qre[h[vwn>*+��oVWpqrx[ywn>*+��o_`pqrh[zwn>*+��ohipqri[{|n�P**��L*��&*�*�
*�+*�*�*�*���*�*�
*�+*�*�*���om	no3rOtpPqr	G}[~	�3��n*��M:�Y+�N-��:u0���Y� �!*��!"�!�#�$%&�$'(�$*�� )�Y�*�!*��!�#�$*��+,*��$*����-�.Y�/,�0::*��1�U��2�H:�4�<�2�4::�:�!��2�:		�4��2��5�Y�6�!*��!�#�7*��=�5�Y��8�!9�!*��!:�!+�!;�!<�!�#�7�0�5�Y��8�!9�!*��!:�!+�!�#�7*�=��>:&�=�?��@Y�A:�BY�CY,�D�E::�Y�:�FY:	�	�!W����U��G�H:		�4�<�G�4:		:	�:�!��G�:�4��G��#:�*�H��:�J�:*�L�:�*�H��:�J�:*�M�:�*�H��:�J�:�*�H��:
�J����3���3�����3���3��"3��+7<?3"-+_hkI	ZuK���I	Z�I���I	Z�u��������I���o�>~�	���#�*�L�U�^�e��������������������1�8�r�������������������"�+�S�Z�_�h�k�m�u�w���������������������������������������p������	�c����[	��	A���y��m�������������w'������'�����
�qr��[����\�	���~�&������M�������G�H��	��������������@,�'�����Q��	��������H������������������������������������������������������
������|n%
N�O�P�5�o��b`�a@PKɣG��\��-chatty/util/api/TwitchApiResultListener.class���3 receivedEmoticons(Ljava/util/Set;)V	Signature.(Ljava/util/Set<Lchatty/util/api/Emoticon;>;)VreceivedUsericons(Ljava/util/List;)V&(Ljava/util/List<Lchatty/Usericon;>;)VgameSearchResult&(Ljava/util/Set<Ljava/lang/String;>;)V
tokenVerified0(Ljava/lang/String;Lchatty/util/api/TokenInfo;)VrunCommercialResult((Ljava/lang/String;Ljava/lang/String;I)VputChannelInfoResult(I)VreceivedChannelInfo3(Ljava/lang/String;Lchatty/util/api/ChannelInfo;I)VaccessDenied()VreceivedFollowers!(Lchatty/util/api/FollowerInfo;)VnewFollowersreceivedSubscribersreceivedDisplayName'(Ljava/lang/String;Ljava/lang/String;)VSourceFileTwitchApiResultListener.java'chatty/util/api/TwitchApiResultListenerjava/lang/Object	
PḲG	�����chatty/util/api/Util.class���3h4	56789	:;:<=>?@ABCDEFG	HIFJKLMNOPARSE_DATELjava/text/SimpleDateFormat;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/api/Util;	parseTime(Ljava/lang/String;)JtimeLjava/lang/String;parsedLjava/util/Date;Exceptionsmain([Ljava/lang/String;)VtestJexLjava/text/ParseException;args[Ljava/lang/String;
StackMapTableB<clinit>SourceFile	Util.javaPQRST2015-05-15T22:16:57+02UVWXTYZ[2015-05-15T17:27:16+00 !2015-05-15T17:27:16Zjava/text/ParseExceptionchatty/util/api/FollowerManager\]^_`abcdefjava/text/SimpleDateFormatyyyy-MM-dd'T'HH:mm:ssXgchatty/util/api/Utiljava/lang/Objectparse$(Ljava/lang/String;)Ljava/util/Date;java/util/DategetTime()Jjava/lang/SystemoutLjava/io/PrintStream;currentTimeMillisjava/io/PrintStreamprintln(J)Vjava/lang/ClassgetName()Ljava/lang/String;java/util/logging/Logger	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V(Ljava/lang/String;)V!/*��
	 !E
�*�L+��
"#$%&'(�E��L+�A�� e��	������L
���+��/2&		 !"$#/&2$3%D'*	&)%!"*3+,E-./r01%
�Y���23PKʣG�tnn)chatty/util/chatlog/ChatLog$Compact.class���3s	CD	EFGHD	IJKLMNOP	QRST	U�	VWXJYZ[\]^	SEPERATORLjava/lang/String;
ConstantValueMAX_LENGTHIMAX_TIME�channeltextLjava/lang/StringBuilder;lengthstartJmodethis$0Lchatty/util/chatlog/ChatLog;<init>2(Lchatty/util/chatlog/ChatLog;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisCompactInnerClasses%Lchatty/util/chatlog/ChatLog$Compact;add"(Ljava/lang/String;Lchatty/User;)Vtypeuser
Lchatty/User;	seperator
StackMapTable_(Ljava/lang/String;)ZtimePassedclose()VSourceFileChatLog.java*+,@#, '=java/lang/StringBuilder$%`abcd: efg&?@hij'()_klmnogpqr#chatty/util/chatlog/ChatLog$Compactjava/lang/Objectjava/lang/Stringchatty/util/chatlog/ChatLogaccess$0001(Lchatty/util/chatlog/ChatLog;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;chatty/UsergetDisplayNick()Ljava/lang/String;java/lang/SystemcurrentTimeMillis()Jequals(Ljava/lang/Object;)Zaccess$100?(Lchatty/util/chatlog/ChatLog;)Lchatty/util/chatlog/LogManager;toStringchatty/util/chatlog/LogManager	writeLine'(Ljava/lang/String;Ljava/lang/String;)V 	 !"#$%&'()*+,-.K*+�*�*,��/�	��014#56.�hN*+��3*�Y��*�*��	�W*�+�W*��WN*�-�W*�,�
�W*Y�`�*��*��/6
��%.8;DP	Zc
g0*h14h7h89e:;	�;<+'=.�@�*�eA ��*�+*���*�*��*+�*��*���/.	  !$%+&0'7(<)>+0 @14@7	7>(;�?@.k,*��'*���*��*�*���*��/23&5+70,14;+AB3J2PKʣG2�Y��!chatty/util/chatlog/ChatLog.class���3H	S�S�V�	S�S�����	S�������������	S�����������	S�����S�����S��S���������S����������S�S�C�C������������C����	c�
�CompactInnerClassesLOGGERLjava/util/logging/Logger;sdfLjava/text/SimpleDateFormat;compactForChannelsLjava/util/Map;	SignatureHLjava/util/Map<Ljava/lang/String;Lchatty/util/chatlog/ChatLog$Compact;>;settingsLchatty/util/settings/Settings;log Lchatty/util/chatlog/LogManager;<init>"(Lchatty/util/settings/Settings;)VCodeLineNumberTableLocalVariableTable	timestampLjava/lang/String;ex$Ljava/lang/IllegalArgumentException;thisLchatty/util/chatlog/ChatLog;pathLjava/nio/file/Path;
StackMapTable�getPath()Ljava/nio/file/Path;$Ljava/nio/file/InvalidPathException;	pathToUsecustomPath��start()Vmessage5(Ljava/lang/String;Lchatty/User;Ljava/lang/String;Z)Vlinechanneluser
Lchatty/User;actionZinfo'(Ljava/lang/String;Ljava/lang/String;)VviewerstatsViewerStats=(Ljava/lang/String;Lchatty/util/api/StreamInfo$ViewerStats;)Vstats(Lchatty/util/api/StreamInfo$ViewerStats;viewercount(Ljava/lang/String;I)VIsystem	writeLinecompact4(Ljava/lang/String;Ljava/lang/String;Lchatty/User;)VtypecompactAddtpyecompactClose(Ljava/lang/String;)Vc%Lchatty/util/chatlog/ChatLog$Compact;i$Ljava/util/Iterator;getCompact9(Ljava/lang/String;)Lchatty/util/chatlog/ChatLog$Compact;�()Ljava/lang/String;closecloseChannel	isEnabled(Ljava/lang/String;)Zmode
isTypeEnabledaccess$0001(Lchatty/util/chatlog/ChatLog;)Ljava/lang/String;x0access$100?(Lchatty/util/chatlog/ChatLog;)Lchatty/util/chatlog/LogManager;<clinit>SourceFileChatLog.javacdj�eabwxchatty/util/chatlog/LogManagerejava/util/HashMap]^logTimestampoffjava/text/SimpleDateFormatjava/lang/StringBuilder �e�[\"java/lang/IllegalArgumentException !�logslogPath"#java/lang/String$%&"java/nio/file/InvalidPathExceptionYZInvalid path for chatlog: '(�~��<)>* > ��Info��Viewerstats*#Viewercount	VIEWERS: +,-System��MODUNMODModJOINPARTJoinPartBANBan����./�0123456#78#chatty/util/chatlog/ChatLog$Compact%9e:;<=>?logModealways	blacklistlogBlacklist@A	whitelistlogWhitelistB�chatty/util/chatlog/ChatLogCD�EFjava/lang/Objectchatty/util/settings/Settingsjava/nio/file/PathG&chatty/util/api/StreamInfo$ViewerStatschatty/Userjava/lang/Throwablejava/util/Iterator(Ljava/nio/file/Path;)V	getString&(Ljava/lang/String;)Ljava/lang/String;equals(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString
chatty/ChattygetUserDataDirectoryisEmpty()Zjava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/util/logging/Loggerwarning-(Ljava/lang/Object;)Ljava/lang/StringBuilder;isValid
chatty/HelperformatViewerCount(I)Ljava/lang/String;add"(Ljava/lang/String;Lchatty/User;)V
java/util/Mapvalues()Ljava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;&(Ljava/lang/Object;)Ljava/lang/Object;2(Lchatty/util/chatlog/ChatLog;Ljava/lang/String;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;chatty/util/DateTimecurrentTime0(Ljava/text/SimpleDateFormat;)Ljava/lang/String;listContains'(Ljava/lang/String;Ljava/lang/Object;)ZgetBooleanjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;chatty/util/api/StreamInfo!SVYZ[\]^_`abcdefgi*�*+�*�M,�*��*�Y,��*�Y�	�+�N-
��!*�Y�Y�-������	N*��1_bh:()	+,-/&11384A5_9b7c8h:i48'jkclminoiab[pqr�stu8Bvwxg�N�Y�����L*��M,��,L+���N��Y� �+���!�)12h"DE F'G)J2K3LLMi*3lyNno8zk .{kr�)||H}~gJ*��*��"�hRSUinor��g�b*+�#�\�+�Y�*��$�,�%&�-��:�(�Y�*��$�,�%'�-��:*+�(�hXZ
[5]Z_aaiH2�kZ�kbnob�kb��b�kb��r5�$|���g{,*)�*�%*+�#�*+�Y�*��,���(�hde+gi ,no,�k,�kr+��g�7*+�*�0*+�#�(,�$,�,�*+�Y�*��,�%��(�hjkl6pi 7no7�k7��r6��g�4*-�*�-*+�#�%*+�Y�*��.��/���(�hst3wi 4no4�k4��r3��g{,*+�#�&*0�*�*+�Y�*��,���(�hz{+}i ,no,�k,�kr+��gi*��*+�1*�+,�2�h����i no�k�kr��g�X*+�#�R,3��,4��*5�*�0,6��,7��*8�*�,9��*:�*�*+,-�;�h��P�W�i*XnoX�kX�kX��r��g�!*�Y:�*+�<,-�=ç:���h��� �i*!no!�k!�k!��r�s||������g�N*�YM�+�*+�<�>�.*��?�@N-�A�-�B�C:�>���,ç:,���CFFJFh"����9�>�A�M�i*9��%��NnoN�kr�����D����g�**�+�D�CM,��CY*+�EM*�+,�FW,�h����(�i *no*�k��r�(�j�gM*��G�*��H�h���inor�gS*��*�1*��I�h����inor��g_*��*+�1*�+�2�h����ino�kr��g�h*���+�+���*�J�M,
���,K���,L��*�M+�N��,O��*�P+�N���h:��	��� �)�+�4�6�L�N�d�f�i hnoh�k H�kr	�|��gO*��Y�Q�+���R�h�ino�k��g/*��hi�o��g/*��hi�o�g%
S�T�U��h��XCSW��	PKʣG��ﴢ�!chatty/util/chatlog/LogFile.class���3�6opoqrstuvw	
xvy
z{
|	
}	
~����	
�.�.�.������
�
��v���.�������'�'�'�'�������.��������LOGGERLjava/util/logging/Logger;CHARSETLjava/lang/String;
ConstantValueMAX_ATTEMPTSIwriterLjava/io/BufferedWriter;validZfileLjava/nio/file/Path;<init>)(Ljava/nio/file/Path;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablefileNameithisLchatty/util/chatlog/LogFile;pathname
StackMapTable{��getE(Ljava/nio/file/Path;Ljava/lang/String;)Lchatty/util/chatlog/LogFile;channelgetPath()Ljava/nio/file/Path;write(Ljava/lang/String;)ZexLjava/io/IOException;line�isValid()Zclose()VcloseResourcestryFile(Ljava/io/File;)ZrafLjava/io/RandomAccessFile;Ljava/nio/channels/FileChannel;lockLjava/nio/channels/FileLock;Ljava/io/File;<clinit>SourceFileLogFile.javaEbjava/lang/StringBuilder��.log��-�����CD��dechatty/util/chatlog/LogFileEFAB78#Log: Tried writing to invalid file �����?@Y��b�bjava/io/IOExceptionLog: Error writing to  (��)abcbLog: Closed file �X��Log: Could not close Log: Trying to open ���java/io/RandomAccessFilerwE����������java/io/BufferedWriterUTF-8���E�Log: Lock failed ( / �����java/lang/Objectjava/nio/file/Pathjava/lang/Stringappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(I)Ljava/lang/StringBuilder;resolve((Ljava/lang/String;)Ljava/nio/file/Path;toFile()Ljava/io/File;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerwarning(Ljava/lang/String;)VnewLineflushgetLocalizedMessagetoAbsolutePathinfojava/io/FilegetAbsolutePath#(Ljava/io/File;Ljava/lang/String;)Vlength()Jseek(J)VgetChannel!()Ljava/nio/channels/FileChannel;java/nio/channels/FileChanneltryLock()Ljava/nio/channels/FileLock;java/nio/channels/Channels	newWriterK(Ljava/nio/channels/WritableByteChannel;Ljava/lang/String;)Ljava/io/Writer;(Ljava/io/Writer;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!
6789:;/<=;>?@ABCD	EFGk*�>�b��Y�,���:�!�Y�,�����:*+�	�**�����	�����H*"#%&'(E*Q+a,d#j/I>$J:EJ:dK=kLMkNDkO:P �QRS �S��	TUGm�
Y*+�M,��,��H9:;=I NDV:CMP�QWXG/*��HAILMYZG�v*��&��Y��*������*�+�*��*���M��Y��*���,�����*��*ABH.FG(H*K2L9M@NBOCPpQtRI C3[\vLMv]:P*W^_`G/*��HWILMabGa+*�*���Y� �*��!���"�H^_	`*aI+LMcbG�E*��*��#�6L��Y�$�*��!��+������HhimklDnI2[\ELMPB^2deGM���Y�%�+�&���"�'Y+(�)M,,�*�+,�,N-�-:�*�.Y-/�0�1�*���.M��Y�2�+�3�,�������Y�2�+�����VZH:z{'|/}4~:?�P�U�W�Z�[�����I>'0fg4#Vh:ij[*[\�LM�CkP�WB^*lbG%

�4�5��HmnPKʣG��bb$chatty/util/chatlog/LogManager.class���3�,\]\	)^_`abac	)de	\f	g	h	ijklm	)nopqr	)stuv'	wxyz{|}~�y�������j��LOGGERLjava/util/logging/Logger;QUEUE_CAPACITYI
ConstantValuedMAX_WAIT'errors+Ljava/util/concurrent/atomic/AtomicInteger;queue$Ljava/util/concurrent/BlockingQueue;	SignatureLogItemInnerClassesMLjava/util/concurrent/BlockingQueue<Lchatty/util/chatlog/LogWriter$LogItem;>;writerThreadLjava/lang/Thread;<init>(Ljava/nio/file/Path;)VCodeLineNumberTableLocalVariableTablethis Lchatty/util/chatlog/LogManager;pathLjava/nio/file/Path;
StackMapTable��start()VcloseaddedZex Ljava/lang/InterruptedException;}	writeLine'(Ljava/lang/String;Ljava/lang/String;)VcurrentchannelLjava/lang/String;line<clinit>SourceFileLogManager.java?L)java/util/concurrent/atomic/AtomicInteger56��������-.java/lang/StringBuilderLog: Failed to create path: ���������(java/util/concurrent/LinkedBlockingQueue?�78java/lang/Threadchatty/util/chatlog/LogWriter?�?�=>KL%chatty/util/chatlog/LogWriter$LogItem?T��������%Log: Could not close Log (Queue full)java/lang/InterruptedException1Log: Interrupted when waiting for Log to finish..���L����Log: Failed writing  lines (queue full)chatty/util/chatlog/LogManager�����java/lang/Objectjava/nio/file/PathtoFile()Ljava/io/File;java/io/Filemkdirs()Zexistsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerwarning(Ljava/lang/String;)V(I)V;(Ljava/util/concurrent/BlockingQueue;Ljava/nio/file/Path;)V(Ljava/lang/Runnable;)Vjava/util/concurrent/TimeUnitMILLISECONDSLjava/util/concurrent/TimeUnit;"java/util/concurrent/BlockingQueueoffer5(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Zjoin(J)V
currentThread()Ljava/lang/Thread;	interrupt(Ljava/lang/Object;)ZincrementAndGet()Ijava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!),-./012301456789<=>?@A�c*�*�Y��+��W+�����	Y��+�
��*�Yd��*�Y�Y*�+����B"% >"K#b$CcDEcFGH�>IJKLA6*���B'(CDEMLA�E*��Y���<�*���� ��L�"��#�$�25!B&	012*4295667>8D:C NO6PQEDEH�*�BRSTA�J*��Y+,��%>�5*��&6p�$��	Y�'�*��
(����B>?@ A(BIEC4 )U0JDEJVWJXW7NOH�IYLA%
)�*�+��BZ[;:	PKʣGg*X"!!+chatty/util/chatlog/LogWriter$LogItem.class���3		channelLjava/lang/String;message<init>'(Ljava/lang/String;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLogItemInnerClasses'Lchatty/util/chatlog/LogWriter$LogItem;SourceFileLogWriter.java	%chatty/util/chatlog/LogWriter$LogItemjava/lang/Object()Vchatty/util/chatlog/LogWriter!	Y*�*+�*,����	��
 	PKʣG!2f��#chatty/util/chatlog/LogWriter.class���3CU���	O���	O�	O�	O������O�	�	�O�O����������O��	������������O���O�O�O��O����O�������-��-�O�-�	O���-�����	O������	O���R�	O�	O�	O�	O���	O����-��-������RLogItemInnerClassesLOGGERLjava/util/logging/Logger;dateFormatLjava/text/SimpleDateFormat;STATS_INTERVALI
ConstantValue�STATS_TIME_INTERVAL��filesLjava/util/Map;	Signature@Ljava/util/Map<Ljava/lang/String;Lchatty/util/chatlog/LogFile;>;errorsLjava/util/Set;#Ljava/util/Set<Ljava/lang/String;>;queue$Ljava/util/concurrent/BlockingQueue;MLjava/util/concurrent/BlockingQueue<Lchatty/util/chatlog/LogWriter$LogItem;>;pathLjava/nio/file/Path;addedQueueSizeJaddedQueueSizeCounterrorCount
lastStatsTimemaxQueueSizetotalLines<init>;(Ljava/util/concurrent/BlockingQueue;Ljava/nio/file/Path;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/chatlog/LogWriter;LocalVariableTypeTabled(Ljava/util/concurrent/BlockingQueue<Lchatty/util/chatlog/LogWriter$LogItem;>;Ljava/nio/file/Path;)Vrun()VchannelLjava/lang/String;i$Ljava/util/Iterator;item'Lchatty/util/chatlog/LogWriter$LogItem;ex Ljava/lang/InterruptedException;Z
StackMapTable��
closeAllFilesfileLchatty/util/chatlog/LogFile;
handleMessage'(Ljava/lang/String;Ljava/lang/String;)Vmessage	writeLineline�getFile1(Ljava/lang/String;)Lchatty/util/chatlog/LogFile;addFile	fileError(Ljava/lang/String;)VcloseFileForChannel	closeFile (Lchatty/util/chatlog/LogFile;)VgetDateTime()Ljava/lang/String;calLjava/util/Calendar;stats(I)VsizelastStatsAgooutputStatsavg<clinit>SourceFileLogWriter.javav�java/util/HashMapcdjava/util/HashSetghjkmn	%chatty/util/chatlog/LogWriter$LogItem�����������
java/lang/String��java/lang/InterruptedExceptionInterrupted��chatty/util/chatlog/LogFile�� �������!"��#$%��&'%()java/lang/StringBuilder# Log started: *+��,�YZLog: Opened file -.*/01�2r^# Log closed: -3�456[\789:opq^u^t^;<spLog: total: *= / queue size (avg: *>, max: ) / errors: chatty/util/chatlog/LogWriter?@�ABjava/text/SimpleDateFormatyyyy-MM-dd HH:mm:ss ZZv�java/lang/Objectjava/lang/Runnablejava/util/Iterator"java/util/concurrent/BlockingQueuetake()Ljava/lang/Object;()I
java/util/MapkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNext()Znextjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnjava/lang/Thread
currentThread()Ljava/lang/Thread;	interruptget&(Ljava/lang/Object;)Ljava/lang/Object;clearwrite(Ljava/lang/String;)ZisValidcontains(Ljava/lang/Object;)ZE(Ljava/nio/file/Path;Ljava/lang/String;)Lchatty/util/chatlog/LogFile;addput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringgetPath()Ljava/nio/file/Path;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerinforemoveclosejava/util/CalendargetInstance()Ljava/util/Calendar;getTime()Ljava/util/Date;format$(Ljava/util/Date;)Ljava/lang/String;currentTimeMillis()J(I)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;java/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!OUVYZ[\]^_`a^_bcdefgheijkelmnopq^r^spt^u^vwx�%*�*�Y��*�Y��*+�*,�	�y)*+$,z %{|%jk%mn}%jle~�xi�<�z*���M**���
,��J,��*�<*��B*���N-��-��:*,�����*,�,������M��*����}�yR0245 6'7.8294:;>^?h@nCzE}J�F�G�H�I�Kz>^��J!��g������{|���	��8���� �B���x�B*���L+��#+��M*�,��N*-� ���*��!�yN"O0P5Q8RASz*0��"��)��B{|����(��xg,�*+�"�	*+,�#�yVWY[z {|�������x{*+�$N-�-,�%�*+�&�y^_`bz*{|�������	����x�0*�+��M,�,�'�,�*�+�(��*+�)�yefgi(j*lz 0{|0��"���	����x�`*�	+�*M,�*�+�+W�F*�+,�,W,�-Y�./�0*�1�0�2�%W�3�-Y�.4�0,�5�6�2�7,�yp	q
rt'uBv^xz `{|`��	W������B��xa!*�+�8W*�+�+W*Y�9`�9�y}~ �z!{|!����xi*�+��M*,� *�+�8W�y����z {|������x2+�0+�'�)+�-Y�.:�0*�1�0�2�%W+;�%W+�<�y��&�-�1�z2{|2���1��xG�=L�>+�?�@�y��z{|����x�L*Y�A�a�A*Y�B`�B*Y�C`�C*�D�*�D�E*�FeA*�B� G��*��y&	����'�,�5�G�K�z L{|L�^5�p�,���x�o*�B�*�A*�B�m�	@�3�-Y�.I�0*�C�JK�0�LM�0*�D�JN�0*�9�J�2�7*	�A*�B*�9*�D*�E�F�y"��S�X�]�b�g�n�zo{|Y�p�@��x5O�P�Q�3�RYS�T�>�y��XOW	PKˣG�3X�++Achatty/util/hotkeys/GlobalHotkeySetter$GlobalHotkeyListener.class���3
onHotkey(Ljava/lang/Object;)VSourceFileGlobalHotkeySetter.java;chatty/util/hotkeys/GlobalHotkeySetter$GlobalHotkeyListenerGlobalHotkeyListenerInnerClassesjava/lang/Object&chatty/util/hotkeys/GlobalHotkeySetter 		PKˣG�ע�!!,chatty/util/hotkeys/GlobalHotkeySetter.class���3�7w	4xyw	4z	4{4|}~}��w�� ��	4�	��������-���9�4�4�}������}��������������������-����	4�4�}���������GlobalHotkeyListenerInnerClassesLOGGERLjava/util/logging/Logger;initializedZlistener=Lchatty/util/hotkeys/GlobalHotkeySetter$GlobalHotkeyListener;hotkeysLjava/util/Map;	Signature6Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Object;>;idCountI<init>@(Lchatty/util/hotkeys/GlobalHotkeySetter$GlobalHotkeyListener;)VCodeLineNumberTableLocalVariableTablethis(Lchatty/util/hotkeys/GlobalHotkeySetter;initialize()VinfoLjava/lang/String;ex2Lcom/melloware/jintellitype/JIntellitypeException;
StackMapTable�isInitalized()ZonHotKey(I)VihotkeyIdLjava/lang/Object;�registerHotkey(Ljava/lang/Object;II)Vidmod	modifierskeyCodeunregisterAllHotkeysLjava/lang/Integer;i$Ljava/util/Iterator;���getModFromModifiers(I)I
checkModifier(II)ZmodifiercleanUpgetId(Ljava/lang/Object;)I<clinit>SourceFileGlobalHotkeySetter.javaHP>?java/util/HashMapBC@AOP�����0com/melloware/jintellitype/JIntellitypeExceptionjava/lang/StringBuilderFailed adding HotKeyListener: ������<=��� (if you don't use global !hotkeys you can just ignore this)������������rslm�Z,[Global Hotkeys] Trying to register hotkey: ��/Q�����+[Global Hotkeys] Couldn't register hotkey: ���X[Global Hotkeys] Unregistering �� global hotkeys.�������X��java/lang/Integer��-[Global Hotkeys] Couldn't unregister hotkey: �PFGnoqP&chatty/util/hotkeys/GlobalHotkeySetter�����java/lang/Object)com/melloware/jintellitype/HotkeyListener;chatty/util/hotkeys/GlobalHotkeySetter$GlobalHotkeyListenerjava/util/Iterator'com/melloware/jintellitype/JIntellitypegetInstance+()Lcom/melloware/jintellitype/JIntellitype;addHotKeyListener.(Lcom/melloware/jintellitype/HotkeyListener;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getLocalizedMessage()Ljava/lang/String;toStringchatty/LoggingUSERINFOLjava/util/logging/Level;java/util/logging/Loggerlog.(Ljava/util/logging/Level;Ljava/lang/String;)Vwarning(Ljava/lang/String;)VvalueOf(I)Ljava/lang/Integer;
java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;onHotkey(Ljava/lang/Object;)VunregisterHotKey(I)Ljava/lang/StringBuilder;registerHotKey(III)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;isEmptysize()IkeySet()Ljava/util/Set;
java/util/Setiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;intValueclearjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!478<=>?@ABCDEFGHIJf*�*�*�Y��*+�*��K$	%&'LMN@AOPJ�P�*�	*��CL�Y�
�+���M���Y�,������,��K"./501'2H4O6L '(QR?STPMNUOV?WXJ/*��K9LMNYZJu*���M,�
*�,��KCDEGL MN[G\]U�^_`J0�*���*+�6*�6����Y��������� ��!*��+�"W�:��Y�#��$�� �fiK2RSVWZ[K\V]f`i^k_�aLHWaGPbGkST�MN�\]�cG�dGU�`VePJ>�*���*��%�)��Y�&�*��'�(��� *��)�*L+�+�7+�,�-M�,�.��N��Y�/�-�$�� ���*��0*�1�\fiK6
ghjk:m\ofripjq�s�t�u�vL*jST\'afI=gh�MNU#1�i�jikV��lmJ�*=��2���2��@�2���K"yz{}~�%�(�L *MN*cG(bGU�noJL
~���K�L
cG
pGU@qPJI*��	��3�K��
�LMNU
rsJ�D*��)�*M,�+�#,�,�-N*�-�+�-�.����*Y�1Z`�1�K�"�0�5�8�L*"af)ghDMND\]U�i%�tPJ%
4�5�6��Kuv;94:	PKʣG�LF��%chatty/util/hotkeys/Hotkey$Type.class���3X	?@A$CDE	F	GH	IJK	LM	NO	PQRREGULARTypeInnerClasses!Lchatty/util/hotkeys/Hotkey$Type;APPLICATIONGLOBAL	UNDEFINEDidInameLjava/lang/String;$VALUES"[Lchatty/util/hotkeys/Hotkey$Type;values$()[Lchatty/util/hotkeys/Hotkey$Type;CodeLineNumberTablevalueOf5(Ljava/lang/String;)Lchatty/util/hotkeys/Hotkey$Type;LocalVariableTable<init>)(Ljava/lang/String;IILjava/lang/String;)Vthis	Signature(ILjava/lang/String;)V
getTypeFromId$(I)Lchatty/util/hotkeys/Hotkey$Type;typearr$len$i$typeId
StackMapTable$<clinit>()V3Ljava/lang/Enum<Lchatty/util/hotkeys/Hotkey$Type;>;SourceFileHotkey.java#$$STUchatty/util/hotkeys/Hotkey$Type)V,W !"%&Regular,-AppGlobal	undefinedjava/lang/Enumclone()Ljava/lang/Object;chatty/util/hotkeys/Hotkey5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;(Ljava/lang/String;I)V@1@@@@ !"#$	%&'"����(	)*'5*���(+!",-'\*+�*�*��(+ . !"/0	12'�)�	L+�=>�+2:��������(!"#!%&+43!4$5 	6 )7 8�	9�:;'�`�Y�
��Y�
��Y�
��Y�
��Y�SY�SY�SY�S��( 0@/<=>B@PKʣG����� chatty/util/hotkeys/Hotkey.class���3m>	?	@	A	B	CDEF	GHIJKHLJMNOP>QRSTUVWXYZTypeInnerClassesactionIdLjava/lang/String;custom	keyStrokeLjavax/swing/KeyStroke;type!Lchatty/util/hotkeys/Hotkey$Type;delayIlastActionExecutedJ<init>`(Ljava/lang/String;Ljavax/swing/KeyStroke;Lchatty/util/hotkeys/Hotkey$Type;Ljava/lang/String;I)VCodeLineNumberTableLocalVariableTablethisLchatty/util/hotkeys/Hotkey;hotkey
getHotkeyText()Ljava/lang/String;shouldExecuteAction()ZtimePassed
StackMapTablekeyStrokeToText+(Ljavax/swing/KeyStroke;)Ljava/lang/String;modkey[toStringSourceFileHotkey.java(\ !"#$%67]^_&'`abcdefbge[h3java/lang/StringBuilderij+;1[]ikilchatty/util/hotkeys/Hotkeyjava/lang/Objectchatty/util/hotkeys/Hotkey$Typejava/lang/String()Vjava/lang/SystemcurrentTimeMillis()Jjavax/swing/KeyStrokegetModifiers()Ijava/awt/event/KeyEventgetKeyModifiersText(I)Ljava/lang/String;getKeyCodegetKeyTextisEmptyappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;! !"#$%&'()*� *�*+�*,�*-�*�*��+67	89:;<,> -.  /! "#  $%01*2*���+E,-.23*�**����*�	e@*�dh���*��	��+PQ	STU&V(X,*-.4'5	�	67*�1*��L*��
M+��,��Y�+��,���+bcdeg, 1 !)8!95�::;1*e;�Y�*���*����*��*��*����+q,;-.<=@PKˣGmC�	  &chatty/util/hotkeys/HotkeyAction.class���3			idLjava/lang/String;labelactionLjavax/swing/Action;<init>;(Ljava/lang/String;Ljava/lang/String;Ljavax/swing/Action;)VCodeLineNumberTableLocalVariableTablethis"Lchatty/util/hotkeys/HotkeyAction;SourceFileHotkeyAction.java	 chatty/util/hotkeys/HotkeyActionjava/lang/Object()V!	
l*�*+�*,�*-��	*	PKʣG\��@@)chatty/util/hotkeys/HotkeyManager$2.class���3&	 this$0#Lchatty/util/hotkeys/HotkeyManager;<init>&(Lchatty/util/hotkeys/HotkeyManager;)VCodeLineNumberTableLocalVariableTablethisInnerClasses%Lchatty/util/hotkeys/HotkeyManager$2;dispatchKeyEvent(Ljava/awt/event/KeyEvent;)ZeLjava/awt/event/KeyEvent;SourceFileHotkeyManager.javaEnclosingMethod!	"	#$%#chatty/util/hotkeys/HotkeyManager$2java/lang/Objectjava/awt/KeyEventDispatcher!chatty/util/hotkeys/HotkeyManager(Lchatty/gui/MainGui;)V()Vaccess$000?(Lchatty/util/hotkeys/HotkeyManager;Ljava/awt/event/KeyEvent;)Z 	4*+�*��f
=	*�+��j
		PKʣG�D�cc)chatty/util/hotkeys/HotkeyManager$3.class���3G	'	(	)
*	+,-	./0	,123456val$hotkeyLchatty/util/hotkeys/Hotkey;val$hotkeyAction"Lchatty/util/hotkeys/HotkeyAction;this$0#Lchatty/util/hotkeys/HotkeyManager;<init>d(Lchatty/util/hotkeys/HotkeyManager;Lchatty/util/hotkeys/Hotkey;Lchatty/util/hotkeys/HotkeyAction;)VCodeLineNumberTableLocalVariableTablethisInnerClasses%Lchatty/util/hotkeys/HotkeyManager$3;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;
StackMapTableSourceFileHotkeyManager.javaEnclosingMethod789:;<=>?@ABjava/awt/event/ActionEventCDEF#chatty/util/hotkeys/HotkeyManager$3javax/swing/AbstractAction!chatty/util/hotkeys/HotkeyManagercreateAction2(Lchatty/util/hotkeys/Hotkey;)Ljavax/swing/Action;()VenabledZchatty/util/hotkeys/HotkeyshouldExecuteAction()Z chatty/util/hotkeys/HotkeyActionactionLjavax/swing/Action;customLjava/lang/String;((Ljava/lang/Object;ILjava/lang/String;)Vjavax/swing/Action 
>*+�*,�*-�*���v1*��,*���"*���Y*�*��	�����0�11 !0"#$%&PKʣG�gP�2�2'chatty/util/hotkeys/HotkeyManager.class���3�,�-.-	�/0-	�12	-	�3	�4	�5	�6	�789:;8<	�=>?@A8B�C@DEFGHGI	J	K�L�M�N`O`P`Q�R�ST	�UVW	0X@Y�Z�[`F\�]	0^	_`B�a@bcFd�eRfgh	0ij=-k=l=mnogp�qrs	t�uVvVwVx�y�zV{|N-n}n~R�c�r��n�	������`���������Vm	���	0�	0�`�V�	���=����`��o��0��������y���0��}���V�	�VO������InnerClassesLOGGERLjava/util/logging/Logger;SETTING_NAMELjava/lang/String;
ConstantValue
INPUT_MAP_KEYIPREFIXsettingsLchatty/util/settings/Settings;mainLchatty/gui/MainGui;hotkeysLjava/util/List;	Signature.Ljava/util/List<Lchatty/util/hotkeys/Hotkey;>;actionsLjava/util/Map;ELjava/util/Map<Ljava/lang/String;Lchatty/util/hotkeys/HotkeyAction;>;popouts8Ljava/util/Map<Ljavax/swing/JDialog;Ljava/lang/Object;>;globalHotkeysRegisterZglobalHotkeysEnabledenabled
globalHotkeys(Lchatty/util/hotkeys/GlobalHotkeySetter;<init>(Lchatty/gui/MainGui;)VCodeLineNumberTableLocalVariableTablethis#Lchatty/util/hotkeys/HotkeyManager;kfmLjava/awt/KeyboardFocusManager;setSettings"(Lchatty/util/settings/Settings;)VregisterAction;(Ljava/lang/String;Ljava/lang/String;Ljavax/swing/Action;)VidlabelactionLjavax/swing/Action;hotkeyAction"Lchatty/util/hotkeys/HotkeyAction;registerPopout(Ljavax/swing/JDialog;)VpopoutLjavax/swing/JDialog;
getActionsMap()Ljava/util/Map;i$Ljava/util/Iterator;mapLocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
StackMapTable��7()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;setEnabled(Z)VsetGlobalHotkeysEnabledsetGlobalHotkeysRegisteredregisterprevioussetData(Ljava/util/Collection;)VhotkeysDataLjava/util/Collection;4Ljava/util/Collection<Lchatty/util/hotkeys/Hotkey;>;7(Ljava/util/Collection<Lchatty/util/hotkeys/Hotkey;>;)VgetData()Ljava/util/List;0()Ljava/util/List<Lchatty/util/hotkeys/Hotkey;>;globalHotkeysAvailable()ZcleanUp()VdoesHotkeyHaveAction(Lchatty/util/hotkeys/Hotkey;)ZhotkeyLchatty/util/hotkeys/Hotkey;
updateHotkeysaddHotkeys(Ljavax/swing/JRootPane;)VpaneLjavax/swing/JRootPane;\	addHotkey6(Lchatty/util/hotkeys/Hotkey;Ljavax/swing/JRootPane;)VaddGlobalHotkeysaddGlobalHotkey(Lchatty/util/hotkeys/Hotkey;)VremoveAllHotkeysremoveGlobalHotkeys
removeHotkeyskeyLjava/lang/Object;	keyStrokeLjavax/swing/KeyStroke;arr$[Ljavax/swing/KeyStroke;len$toBeRemovedLjava/util/Set;inputLjavax/swing/InputMap;Ljavax/swing/ActionMap;(Ljava/util/Set<Ljavax/swing/KeyStroke;>;����removeHotkeysFromActionssaveToSettingsdataToSave"Ljava/util/List<Ljava/util/List;>;�loadFromSettingsentrylloadFromhotkeyToList.(Lchatty/util/hotkeys/Hotkey;)Ljava/util/List;listToHotkey.(Ljava/util/List;)Lchatty/util/hotkeys/Hotkey;actionIdtype�Type!Lchatty/util/hotkeys/Hotkey$Type;customdelayexLjava/lang/RuntimeException;list����createAction2(Lchatty/util/hotkeys/Hotkey;)Ljavax/swing/Action;>
updateActionsupdateActiononGlobalHotkey(Ljava/lang/Object;)VhotkeyIdapplicationKeyTriggered(Ljava/awt/event/KeyEvent;)ZeLjava/awt/event/KeyEvent;access$000?(Lchatty/util/hotkeys/HotkeyManager;Ljava/awt/event/KeyEvent;)Zx0x1<clinit>SourceFileHotkeyManager.java!"��java/util/ArrayList��java/util/LinkedHashMap��java/util/WeakHashMap�������������#chatty/util/hotkeys/HotkeyManager$2������ chatty/util/hotkeys/HotkeyAction����������������������������������������������������chatty/util/hotkeys/Hotkey���������javax/swing/JDialog���������java/lang/StringBuilderchatty.util.hotkeys.���������������������������java/util/HashSet����java/lang/String�����javax/swing/KeyStroke����AcceleratorKey��������java/util/List	����������Error loading hotkey, invalid: ��java/lang/Number�	�#java/lang/IndexOutOfBoundsExceptionjava/lang/NullPointerExceptionjava/lang/ClassCastExceptionError loading hotkey:  []#chatty/util/hotkeys/HotkeyManager$3��
�java/awt/event/ActionEvent�!chatty/util/hotkeys/HotkeyManager�java/lang/Object
java/util/Mapjava/util/Iterator
java/util/Setjavax/swing/InputMapjavax/swing/ActionMapchatty/util/hotkeys/Hotkey$Typejava/lang/RuntimeExceptionjava/awt/KeyboardFocusManagergetCurrentKeyboardFocusManager!()Ljava/awt/KeyboardFocusManager;&(Lchatty/util/hotkeys/HotkeyManager;)VaddKeyEventDispatcher (Ljava/awt/KeyEventDispatcher;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;getRootPane()Ljavax/swing/JRootPane;values()Ljava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;equals(Ljava/lang/Object;)ZclearaddAll(Ljava/util/Collection;)Z&chatty/util/hotkeys/GlobalHotkeySetterget&(Ljava/lang/Object;)Ljava/lang/Object;REGULARchatty/gui/MainGuikeySet()Ljava/util/Set;hashCode()IvalueOf(I)Ljava/lang/String;javax/swing/JRootPanegetInputMap(I)Ljavax/swing/InputMap;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;,(Ljavax/swing/KeyStroke;Ljava/lang/Object;)VgetActionMap()Ljavax/swing/ActionMap;)(Ljava/lang/Object;Ljavax/swing/Action;)VGLOBALgetModifiersgetKeyCoderegisterHotkey(Ljava/lang/Object;II)VunregisterAllHotkeyskeys()[Ljavax/swing/KeyStroke;+(Ljavax/swing/KeyStroke;)Ljava/lang/Object;startsWith(Ljava/lang/String;)Zaddremove(Ljavax/swing/KeyStroke;)Vjavax/swing/ActionputValue'(Ljava/lang/String;Ljava/lang/Object;)Vchatty/util/settings/SettingsputList%(Ljava/lang/String;Ljava/util/List;)VgetList$(Ljava/lang/String;)Ljava/util/List;java/lang/Integer(I)Ljava/lang/Integer;(I)Ljava/lang/Object;getKeyStroke+(Ljava/lang/String;)Ljavax/swing/KeyStroke;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/util/logging/Loggerwarning(Ljava/lang/String;)VsizeintValue
getTypeFromId$(I)Lchatty/util/hotkeys/Hotkey$Type;`(Ljava/lang/String;Ljavax/swing/KeyStroke;Lchatty/util/hotkeys/Hotkey$Type;Ljava/lang/String;I)Vd(Lchatty/util/hotkeys/HotkeyManager;Lchatty/util/hotkeys/Hotkey;Lchatty/util/hotkeys/HotkeyAction;)VshouldExecuteAction((Ljava/lang/Object;ILjava/lang/String;)VactionPerformed(Ljava/awt/event/ActionEvent;)VgetKeyStrokeForEvent2(Ljava/awt/event/KeyEvent;)Ljavax/swing/KeyStroke;APPLICATIONjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!��
�����]�������?������������������������!����J*�*�Y��*�Y��*�	Y��*�*�
*�*+��M,�Y*����.K9:;%@*F/G4L9e=fIm� J��J��=
�����>*+���pq��������t�Y+,-�:*�+�W��|}~�4�������������Q*�+�W*+����������������>�Y�L*���M,��,��N+-�-��W���+����*�9�<��**��%��>��6���6������$��!���`*��*�
�*� ������������!���G*�
*� ��������������#*�=*���*�!��*�"��������"�� #��#������!����**�+�#�*��$*�+�%W*�&*�'���
��!�%�)��*��*���*���)��!���6�Y*��(�����������B
*�)������
���@���J*�)�*�)�*������������U*�+�+�,�����������@���L*�-*�*�!*�.����	�
�������� *��/M,��n,��0N*-�1�Y-�2�3�O+�E*-*��4�5*��6�7:����8:*-��5���	*-+�5�����*/	3?eo
u{~�>e��O#��^��t���������D��"������G+�9�:N,�;+�<�=Y�>?�@-�@�A�B,�C�=Y�>?�@-�@�A*+�D�E��'F�*G��G��G��?������@*���*��/L+��'+��0M*,�1�,�2�F�*,�G��ֱ�&')%*7+<-?.� %��-��@���
�	�)����c*�)�*�)++�<�H+�<�I�J��67;����������A**��4�K*��6�7L+��+��8M*,��K���*�"*�L��AB-C5D8E<F@G� -����A��������J*�)�*�)�M��MNP����������NY�OM+�;N+�C:-�P��-�P:�66�=2:-�Q:		�R� 	�R?�S�,�TW	�U����,�7:����V:-�W����>YZ[\]_8`@aUb^ce_kf�g�h�i�z@%��	8-��"I��'D��*A�����s���������������������#�����
�:�������2*���L+��+��M,�XY�Z����p"q.r1s� "��"��2�����!"����F*��A�Y�L*��/M,��,��0N+*-�[�\W���*�]+�^��z{|,}8~;E��*,��"��6��F���6����!�	!���Q*+�+]�_M*��$,�/N-��*-��`:*�a:�*��\W���*�&��*����0�8�=�I�L�P��>8�0�0��Q��Q��E��E���,���M�Y�M,+�+�\W,+�<�b�\W,+�2�c�d�\W,+�e�\W,+�f�d�\W,�����!�2�=�K�� M��M��E�	���+�g�RM+�g�R�hN-��i�=Y�>j�@+�k�A�l��3:m:6+�n�+�g�o�p�q:+�n�+�g�R:+�n�+�g�o�p6�0Y,-�r�M�i�=Y�>v�@+�kw�@,�kx�@�A�l�7�s7�t7�u8��s8��t8��u�J����6�8�=�A�D�N�`�j�v������������R�����=bA^�D[��)������'�8�'��z"*�+�+�,�M,���yY*+,�z������� "��"���������&*��/L+��+��0M*,�{������"�%�� ����&��������&*�+�+�,�M,��,�XY+�<�Z������%�� &��&��������?+�0M*�,�+�,�N*��$-� ,�|�-�X�}Y-,�e�~������(�>��*?��? �:��)����>�!"��*���+��M*��/N-��c-��0:�2���J�<,���>*��+�,�:�&�|��X�}Y�e�~�������.	,C	Vc|~��>V(��,R��i������#$u���	��e�%&�:*+���%�'�($)��%
������i��'*+�y0
@PKʣG�	ك��"chatty/util/settings/Setting.class���3bL	M	NOPQ	RSTU	V	WXYZ[\	UNDEFINEDI
ConstantValue����BOOLEANSTRINGLONGMAPLISTCHANGEDNOT_CHANGEDdefaultValueLjava/lang/Object;typevaluesaveZfileLjava/lang/String;<init>)(Ljava/lang/Object;IZLjava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/settings/Setting;
StackMapTable[\]
allowedToSave()ZgetValue()Ljava/lang/Object;isOfType(I)ZgetType()IsetValue(Ljava/lang/Object;)ZsetToDefaultsetSave(Z)VsetFile(Ljava/lang/String;)VfileNamegetFile()Ljava/lang/String;toStringSourceFileSetting.java,^()'%java/util/HashMap
java/util/Map,_$%java/util/ArrayListjava/util/List,`&*+a@?@IHchatty/util/settings/Settingjava/lang/Objectjava/lang/String()V(Ljava/util/Map;)V(Ljava/util/Collection;)Vequals!
 !"#$%&'%()*+,-.�R*�*�*+��*�Y+�����*�Y+�	���*+�*�*�*��/2-"	./0%1*2<4A6F7K8Q904R12R'%R&R()R*+3�%45678./*��/A0129:./*��/J012;<.M*����/U012&3@=>./*��/^012?@.]*�+�
��*+��/hi
kl012'%3
A8.�?*��*�Y*�����*��*�Y*��	���**���/uvx#y6{0?123BC.>*��/��012()DE.>*+��/��012F+GH./*��/�012IH.2*���/�012JKPKʣG,�E���0chatty/util/settings/SettingChangeListener.class���3	settingChanged((Ljava/lang/String;ILjava/lang/Object;)VSourceFileSettingChangeListener.java*chatty/util/settings/SettingChangeListenerjava/lang/ObjectPḲG��TK��7chatty/util/settings/SettingFileNotFoundException.class���3<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis3Lchatty/util/settings/SettingFileNotFoundException;messageLjava/lang/String;SourceFile!SettingFileNotFoundException.java1chatty/util/settings/SettingFileNotFoundExceptionjava/lang/RuntimeException!>*+��
	
PḲG�C���3chatty/util/settings/SettingNotFoundException.class���3<init>()VCodeLineNumberTableLocalVariableTablethis/Lchatty/util/settings/SettingNotFoundException;(Ljava/lang/String;)VmsgLjava/lang/String;SourceFileSettingNotFoundException.java-chatty/util/settings/SettingNotFoundExceptionjava/lang/RuntimeException!3*��	>*+��	
PKʣGu��2XX#chatty/util/settings/Settings.class���3���	����	����	��	��	��	������������������������������"���"��&�"���9�������������&��"�"�"�"������9���<����N�N�N�N�N����E��H�H�H�H�H����������"���������������������;��;;����	 �
;������� !"#;$�%&'()*+,-��./��"0"1�2���34���5���6�7�8&�N9&:H��;	�<	=>?@A�B	�CDEF�GHI	�JKLMNONPQ�RSTEU�VWLXYZ�[\	]^_E`YPabcd9�efgEhijkLOCKLjava/lang/Object;settingsLjava/util/HashMap;	SignatureELjava/util/HashMap<Ljava/lang/String;Lchatty/util/settings/Setting;>;	listenersLjava/util/Set;=Ljava/util/Set<Lchatty/util/settings/SettingChangeListener;>;settingsListeners8Ljava/util/Set<Lchatty/util/settings/SettingsListener;>;defaultFileLjava/lang/String;files#Ljava/util/Set<Ljava/lang/String;>;LOGGERLjava/util/logging/Logger;CHARSETLjava/nio/charset/Charset;savedZ<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLchatty/util/settings/Settings;pathaddSettingChangeListener/(Lchatty/util/settings/SettingChangeListener;)Vlistener,Lchatty/util/settings/SettingChangeListener;settingChanged((Ljava/lang/String;ILjava/lang/Object;)Vi$Ljava/util/Iterator;settingtypeIvalue
StackMapTableladdSettingsListener*(Lchatty/util/settings/SettingsListener;)V'Lchatty/util/settings/SettingsListener;aboutToSaveSettings()VaddFilefileNamesetFile'(Ljava/lang/String;Ljava/lang/String;)VsettingNameLchatty/util/settings/Setting;	isSetting(Ljava/lang/String;)ZisOfType(Ljava/lang/String;I)Zobj�isOfSubtypegetType(Ljava/lang/String;)IisBooleanSettingisStringSetting
isLongSettingisMapSetting
isListSettingaddBoolean(Ljava/lang/String;ZZ)Vsave	addString((Ljava/lang/String;Ljava/lang/String;Z)VaddLong(Ljava/lang/String;JZ)VJ(Ljava/lang/String;Z)V(Ljava/lang/String;J)VaddMap%(Ljava/lang/String;Ljava/util/Map;I)VLjava/util/Map;addList&(Ljava/lang/String;Ljava/util/List;I)VLjava/util/List;	setString'(Ljava/lang/String;Ljava/lang/String;)IsetBoolean(Ljava/lang/String;Z)IsetLong(Ljava/lang/String;J)Iadd*(Ljava/lang/String;Ljava/lang/Object;IIZ)VsubTypeset((Ljava/lang/String;Ljava/lang/Object;I)Ichanged�Qget'(Ljava/lang/String;I)Ljava/lang/Object;&(Ljava/lang/String;)Ljava/lang/Object;e�getBoolean	getString&(Ljava/lang/String;)Ljava/lang/String;getLong(Ljava/lang/String;)JgetMap#(Ljava/lang/String;)Ljava/util/Map;2(Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;map�putMap$(Ljava/lang/String;Ljava/util/Map;)VsettingMapmapGet8(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;keymapPut9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)VmapClear	mapRemove'(Ljava/lang/String;Ljava/lang/Object;)VgetList$(Ljava/lang/String;)Ljava/util/List;%(Ljava/lang/String;Ljava/util/List;)Vlist�putListsettingListlistContains'(Ljava/lang/String;Ljava/lang/Object;)ZlistRemovelistAdd	listClearsetAddgetMapInternalgetListInternalsetSettingChangedsettingValueToStringsettingToStringaddTextualex!Ljava/lang/NumberFormatException;textsplit[Ljava/lang/String;	parameterd
removeTextualsetTextual
mapParametersresetTextualresultgetTextualoutputclearTextualsettingInvalidMessagesettingsToJsonentryEntryInnerClassesLjava/util/Map$Entry;fileLorg/json/simple/JSONObject;LocalVariableTypeTableGLjava/util/Map$Entry<Ljava/lang/String;Lchatty/util/settings/Setting;>;XLjava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lchatty/util/settings/Setting;>;>;-msettingsFromJsonobjTypejsonparser#Lorg/json/simple/parser/JSONParser;root4/ExceptionsmapFromJson7(Ljava/util/Map;Lchatty/util/settings/SubtypeSetting;)V%Lchatty/util/settings/SubtypeSetting;listFromJson8(Ljava/util/List;Lchatty/util/settings/SubtypeSetting;)VgetTypeFromObject(Ljava/lang/Object;)IsaveSettingsToJsonx2Ljava/lang/Throwable;writerLjava/io/BufferedWriter;Ljava/io/IOException;Ljava/nio/file/Path;noSloadSettingsFromJsoninputreaderLjava/io/BufferedReader;'Lorg/json/simple/parser/ParseException;pbgetSettingNames()Ljava/util/Collection;,()Ljava/util/Collection<Ljava/lang/String;>;<clinit>SourceFile
Settings.java�java/lang/Object��java/util/HashMap��java/util/HashSet��������m+qrsltuvw*chatty/util/settings/SettingChangeListener��%chatty/util/settings/SettingsListener�x-chatty/util/settings/SettingNotFoundExceptionjava/lang/StringBuilderCould not find setting: yz{|��}q1chatty/util/settings/SettingFileNotFoundExceptionCould not find setting file: 3~chatty/util/settings/Setting�	#chatty/util/settings/SubtypeSetting��	��+,���./�������u�w�q34java/lang/Boolean�ujava/lang/Stringjava/lang/Number��Z>������~java/util/ArrayList[N��java/util/List���q
java/util/MapMN=>{|	Setting '' is 8y�.;<y�' is '9:'.y��uUsage: /add <setting> <value>�| c�
WL�<java/lang/NumberFormatExceptionp:' (List): Added '', now:  Usage: /remove <setting> <value>VU' (List): Removed 'Usage: /set <setting> <value>1�qtrueon'(	' set to %&' set to '1Invalid value (must be numeric for this setting).)*X�' (List) set to .Invalid number of parameters to set map value.HI' (Map) set to Usage: /reset <setting>35' reset to default ()' already default (Setting does not exist.Usage: /get <setting>c�^:Usage: /clearSetting <setting>"Boolean settings can't be cleared."Numeric settings can't be cleared.' set to empty string.Invalid setting: '#' (can't change with this command).org/json/simple/JSONObject��java/util/Map$Entry�u�|�w�|!org/json/simple/parser/JSONParser�5����������������Saving settings.�������Saving settings to file: ���q:�3���java/nio/file/OpenOption���o���java/lang/Throwable��java/io/IOExceptionError saving settings to file: ����Loading settings from file: ��p�|}�Settings file empty: ���-Settings file empty, using default settings (��"Error loading settings from file: %org/json/simple/parser/ParseExceptionError parsing settings: /Settings file corrupt, using default settings (chatty/util/settings/Settings��|��UTF-8���java/util/Iterator
java/util/Setjava/nio/file/Pathjava/io/BufferedWriterjava/io/BufferedReader(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;"(Lchatty/util/settings/Settings;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;contains&(Ljava/lang/Object;)Ljava/lang/Object;(I)ZisOfSubType()IvalueOf(Z)Ljava/lang/Boolean;java/lang/Long(J)Ljava/lang/Long;*(Ljava/lang/Object;IIZLjava/lang/String;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;)(Ljava/lang/Object;IZLjava/lang/String;)VsetToDefaultgetValuesetValuebooleanValue	longValue()J(Ljava/util/Map;)VputAllclearremove(Ljava/util/Collection;)VaddAll(Ljava/util/Collection;)Z(Z)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;isEmptytrim((Ljava/lang/String;I)[Ljava/lang/String;	parseLongequals'(Ljava/lang/String;)[Ljava/lang/String;entrySet()Ljava/util/Set;
allowedToSavegetFilegetKeytoJSONStringparsekeySetgetSubTypejava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnjava/util/logging/Loggerinfojava/nio/file/Paths;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;java/nio/file/FilesnewBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;writeclose
addSuppressed(Ljava/lang/Throwable;)VwarningnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;readLinechatty/LoggingUSERINFOLjava/util/logging/Level;log.(Ljava/util/logging/Level;Ljava/lang/String;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;!�	��������������������������H����A*�*�Y��*�Y��*�Y��	*�Y��*�Y��*+���"/#$%%0';0@1�A��A�����D*�	+�
W��45���������/*�	�:����:+-�����8!9+:.;�>!��#��/��/��/��/������"���D*�+�
W��>?��������(*��L+��+��M,*�����BC$D'E� ����(��������D*�+�
W��HI������]*+���Y�Y��+����*�,���Y�Y��,��� �*�+�!�"N-,�#��LM#O0PKRWS\T�*]��]�]�W��#'�R
*+�$����W	XZ�
��
��	�~*�+�!�"N-�
-�%����hijl�*�������
��"*�+�!�"N-�-�&�-�&�'���pqr t�*"��"�"���� �o*�+�!�"M,�,�(���xyz|� ������;*+�)��������;*+�)��������;*+�)��������;*+�)��������;*+�)��������Y
*+�*�+�����*
��
�
��
��V*+,�+���	��*�������Z*+ �,�+���
��*������J*+�-����� ������J*+,�.����� ������J*+ �/����� ���� �V*+,�+���	��*����!��"#�V*+,�+���	��*����$��%&�F*+,�0���� �����'(�I*+�*�0���� �����)*�I*+ �,�0���� ����+,��	@�� *�+�&Y,*��1�2W�*�+�"Y,*��3�2W����'�?��>@��@�@��@��@-�@��./�7w6*�Y:�*+�)��Y�Y��+����*�+�!�":,��46�5M�,�66ç:���*+,�7��[^^c^�:����/�<�@�G�P�X�f�k�r�t��><�w��w�w��w��t0���/1� �E2�
34��C*�YN�*+�)��Y�Y��+����*�+�!�"�5-ð:-��;<<@<����+�<�� C��C�C����+1P235��*�YM�*�+�!�"�5,ðN,�-��������67128�A
*+�8�9�:��	�
��
�9:�>*+�8�;�������;<�D*+�8�<�<�=�������=>��*�YM»Y*+�>�?,ðN,�-��$%&������6712=?��*�YN�,*+�>�@,-ð:-���5678� ���@!��67A12BC��**�YN�*+�>:�A,�@-ç:-���""&"�FGHIJ)K�*D!*��*�*@!��"67A12�EF��*�YN�*+�>,�B-ð:-���NOP� ���G���67112HI��$*�Y:�*+�>,-�CWç:��� �_`a#b�*$��$�$G�$����671112�J���*�YM�*+�>�A,çN,�-���nopq������6712�KL�� *�YN�*+�>,�DW-ç:-��������  �� � G���67112�MN��*�YM»EY*+�F�G,ðN,�-�����������6712MO��$*�YN�,*+�8�H�IW-ç:-��� ����#�� $��$�$P$��67Q12�RO��/*�YN�*+�8�H:�J,�IW-ç:-���$''+'�����"�.��*S$/��/�/P$��'67Q12�TU��*�YN�*+�F,�K-ì:-������� �������67112VU��*�YN�*+�F,�L-ì:-������� �������67112WL�� *�YN�*+�F,�MW-ç:-���������  �� � ����67112�X���*�YM�*+�F�J,çN,�-�������������6712�YU��5*�YN�*+�8�H:,�K�,�MW-ì-ì:-��).*-..2.�����&�*�.��*S$5��5�5���!�*1Q�67112Z>�*�YM�*+�8�N,ðN,�-�����������6712[N�>*+�8�H������\��x**+�O�*+*+�P�7�*+�Q�*+*+�R�7��$%&'))�*��*��]:��*�YM�*�+�!�"�S,ðN,�-��,-.�������6712^:�Q�*+�T�)�Y�U�+�V�*+�W�XY���*+�Z�)�Y�U�+�V�*+�[�\Y���*+�]�)�Y�U�+�^�*+�_�`���*+�Q�)�Y�U�+�^�*+�R�a`���*+�O�)�Y�U�+�^�*+�P�a`�����.23.566\8d9�;�<�>�?�A��������.----_:�f�+�+�b�c�+�de�fM,��c�,2N,2:*-�O�h*-�g�
*-�h�**-�g�*-�i�,�h�:*-�k�*-�k��Y�U�-�l��m�*-�P�a��*-�k�O\_j�JEFHJK"M&N+O3P<QFROT\W_UaVgYm[�]�>a`a����b��cd&x��+se���f�#77Xg*h:�h�+�+�b�n�+�de�fM,��n�,2N,2:*-�O�j*-�g�*-�oW�+*-�g�*-�i�,�oW�:*-�k�*-�k��Y�U�-�p��m�*-�P�a��*-�k�P^aj�Jabdfg"i&j+k3l<mGnPp^saqcriuow�y�>c`a����b��cd&z��+ue���f�$77Yg*i:���+�+�b�q�+e�fM,��q�,2N,2:*-�T�R6r�s�t�s�
u�s�6*-�vW�Y�U�-�w��XY���*-�]�.*-�xW�Y�U�-�y��`���*-�Z�@	7�i7�:z�*-�{W�Y�U�-�y��`���*-�O�9*-�g�0*-�|*-�h�Y�U�-�}�*-�P�a��*-�Q�N*-�g�Ee�f:��~�*-22��Y�U�-���*-�R�a��*-�k����j��#}~����#�(�0�3�Q�T�\�������������������������
��5�F�P�W�Z�g����\	3L���`a�:�P8jd����b�xcd#k��(fe��A
�f�177�*2�67f77g�*=�$f�-k:�4�+�+�b���+e�fM,2N*-�$�i*-*-�$�06*-��:�)�Y�U�-�����������Y�U�-�������������.�����#�0�7�=�c����>0Yl�7R������b�vcdr���T67f71�%m:��++�+�b���+e��M,2N*-��:�����"����� �%�(��4+��+b�cd�� n���f77o:��^+�+�b���+e��M,2N*-�T���*-�Z���*-�]�$*-��xW�Y�U�-�����*-�k��2�����!�$�,�/�7�?�X��*^��^b�IcdE����f7(p:�:*+���Y���+������Y���+�`������!��:��:���!q:�F	r��Y��M*���N-�:��N���:���":���+��+�s����;:�5:,��W���,����*���.�:�N�Z�ajm	�\	ZG�a	��:0�.<ruU��r��rv�jwb.�x.<ryb.z��{|��Q�}������Y��M,+����N*����:������:���":���;:-��:���K*��6		�(�9	�*�N�&���"	�*�H�&����6W��z��B5AMU]e o"u#�%�&�)�-�.�fe@~�	Ad�MX�UP�5pru�������������wx5pry�K��{��f67�{��71�67�{��������N,���NN+���:��1�:+�B:*��,���-�CW��˱�23(425?6J8M9�H2��("G�8��N��N@!N��FD!��A�4�����C,���HN-�J+��:��%�:*��,���-�MW��ױ�<=>)?6@?BBC�>)��,��C��CP$C��;S$��Q�(�����/+�<��+�;��+�9��+�N��+�H����.GH	JKMNP"Q$S+T-V�/��/��	���Y*��*�YL�*���=�����*��**���*��M,��,��;N*-�����+ç:+���NQQUQ�._`abcd'eDfIgLiXj� D�1��Y����11��D2����	ϲ��Y���+����*+��M+�;��N-������::,���U����H:���<���4::�:�!����:�������9:���Y����a������Y����a����HMP�8>d�8>my~��dom(����6
mno(p8q>rdpmr�u�r�s�t�v�RR�����5`���4`��������(�v��a�P677��22G2H2�677��222�677�B�5���A*�YL�**���*��M,��,��;N*-�����+ç:+���699=9�|}~,1�4�@�� ,���A����1��D2�����(���Y���+����+�;��M,����N:-��:�*���=���Y���+�������»Y�ö+������-�P�-�ŧD:���8-�ŧ1::�:-��-�ŧ:���-����[N���Y�ƶ-�a����>N���Y�ȶ-�a������»Y�ɶ+�����ı����-{��-{��������"���"����N��"�-�3�8�A�Z�{������������������'��\	3H��������*����`��:`�(��(�"v��c
�A67��27�9O2F2H2�67��222�67�B�\�:���w*�YL»Y*��ʷ�+ðM+�,����������612����1̶͸γ�ϸг���)+��t�Ns	PKʣGC_�1��+chatty/util/settings/SettingsListener.class���3	aboutToSaveSettings"(Lchatty/util/settings/Settings;)VSourceFileSettingsListener.java%chatty/util/settings/SettingsListenerjava/lang/ObjectPKʣGД*d)chatty/util/settings/SubtypeSetting.class���3"	 subTypeI<init>*(Ljava/lang/Object;IIZLjava/lang/String;)VCodeLineNumberTableLocalVariableTablethis%Lchatty/util/settings/SubtypeSetting;valueLjava/lang/Object;typesubtypesaveZfileLjava/lang/String;isOfSubType(I)Z
StackMapTablegetSubType()ISourceFileSubtypeSetting.java!#chatty/util/settings/SubtypeSettingchatty/util/settings/Setting)(Ljava/lang/Object;IZLjava/lang/String;)V!	t*+�*��>
	M*����
@	/*��
PKʣG,���"chatty/util/srl/Race$Entrant.class���3`@	A	B	C	D	E	FG	HI @ JKLM NOPROSTUVWXnameLjava/lang/String;	statetextplaceItimeJtwitchpointsmessage<init>N(Ljava/lang/String;Ljava/lang/String;IJLjava/lang/String;ILjava/lang/String;)VCodeLineNumberTableLocalVariableTablethisEntrantInnerClassesLchatty/util/srl/Race$Entrant;
StackMapTableRYtoString()Ljava/lang/String;	compareTo!(Lchatty/util/srl/Race$Entrant;)Ioequals(Ljava/lang/Object;)ZotherLjava/lang/Object;hashCode()Ihash(Ljava/lang/Object;)Ix0	SignatureHLjava/lang/Object;Ljava/lang/Comparable<Lchatty/util/srl/Race$Entrant;>;SourceFile	Race.java"Z !java/lang/StringBuilder[\ (/)./Y0]^chatty/util/srl/Race$Entrant34_7:01java/lang/Objectjava/lang/Comparablejava/lang/String()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(Ljava/lang/String;)Ichatty/util/srl/Racejava/util/Objects! !"#$		6*�*+�*,�*�*�*�*�*���	�%&	^_	`abcd%e5f&R6'*666666 6!+=�0,----,�,----,-./$Y/�Y�*��
�*���*�����%j&/'*01$t&*�+���*�+���*�+���%vw
xy{&&'*&2*+
34$b+�+���*�+����%��
�&'*56+78$M<;h*��`<�%���&'*9A0:$=	*+���%S&	'*	;6<=>?)Q(	PKʣG8`�y��chatty/util/srl/Race.class���3uP	Q	RST	U	V	W�	XYP	Z[\]P^_`abcdefghiEntrantInnerClassesENTRY_OPENI
ConstantValueENTRY_CLOSEDIN_PROGRESSCOMPLETE	RACE_OVERgameLjava/lang/String;idstate	statetexttimeJgoalentrantsLjava/util/Collection;	Signature6Ljava/util/Collection<Lchatty/util/srl/Race$Entrant;>;<init>M(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;J)VCodeLineNumberTableLocalVariableTablethisLchatty/util/srl/Race;addEntrant!(Lchatty/util/srl/Race$Entrant;)VentrantLchatty/util/srl/Race$Entrant;getEntrants()Ljava/util/Collection;8()Ljava/util/Collection<Lchatty/util/srl/Race$Entrant;>;toString()Ljava/lang/String;equals(Ljava/lang/Object;)Z	otherRaceotherLjava/lang/Object;
StackMapTablehashCode()IhashSourceFile	Race.java5j+*)*klm0*,-*./java/util/TreeSet12noFjava/lang/StringBuilderpq -  ()CDchatty/util/srl/RacerEFsKtjava/lang/Objectchatty/util/srl/Race$Entrant()V
chatty/Helperhtmlspecialchars_decode&(Ljava/lang/String;)Ljava/lang/String;java/util/Collectionaddappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/Stringjava/util/Objects(Ljava/lang/Object;)I! !"#$%&'()*+*,-*./0*1234567�8*�*+�*,�*-��*�*�*i�*�Y��
�8&		 %'("),*7+9H8:;8+*8)*80*8,8-*8./<=7D*�
+�W�8./9:;>?@A7/*�
�829:;3BCD7Y/�Y�*���*���*�����879/:;EF7m+��+�M*�,����8BCDF9 G;:;HIJKL7N<h*��`<�8KLM9:;MNO	PKʣG������%chatty/util/srl/SpeedrunsLive$1.class���3SourceFileSpeedrunsLive.javaEnclosingMethodchatty/util/srl/SpeedrunsLive$1InnerClassesjava/lang/Objectchatty/util/srl/SpeedrunsLive 	PKʣG?u����8chatty/util/srl/SpeedrunsLive$SpeedrunsLiveRequest.class���30#	$%&'()*URLLjava/lang/String;
ConstantValuethis$0Lchatty/util/srl/SpeedrunsLive;<init>"(Lchatty/util/srl/SpeedrunsLive;)VCodeLineNumberTableLocalVariableTablethisSpeedrunsLiveRequestInnerClasses4Lchatty/util/srl/SpeedrunsLive$SpeedrunsLiveRequest;
requestResult(Ljava/lang/String;I)VresultresponseCodeI+C(Lchatty/util/srl/SpeedrunsLive;Lchatty/util/srl/SpeedrunsLive$1;)Vx0x1!Lchatty/util/srl/SpeedrunsLive$1;SourceFileSpeedrunsLive.java
"http://api.speedrunslive.com/races
,-./2chatty/util/srl/SpeedrunsLive$SpeedrunsLiveRequestchatty/util/UrlRequestchatty/util/srl/SpeedrunsLive$1(Ljava/lang/String;)Vchatty/util/srl/SpeedrunsLiveaccess$1005(Lchatty/util/srl/SpeedrunsLive;Ljava/lang/String;I)V 	
>*+�*�����L*�+���	� 	
D*+���  !"''PKʣG�C���#chatty/util/srl/SpeedrunsLive.class���3H�M���	H�	H���������H�H�������������-���n���H����	H��%��%�%�%����������2���2��7��H��������������E�7��H�H�������InnerClassesSpeedrunsLiveRequestLOGGERLjava/util/logging/Logger;requestPendingZ	listenersLjava/util/List;	Signature9Ljava/util/List<Lchatty/util/srl/SpeedrunsLiveListener;>;<init>()VCodeLineNumberTableLocalVariableTablethisLchatty/util/srl/SpeedrunsLive;requestRaces
StackMapTableaddListener*(Lchatty/util/srl/SpeedrunsLiveListener;)Vlistener'Lchatty/util/srl/SpeedrunsLiveListener;result(Ljava/lang/String;I)Vi$Ljava/util/Iterator;Ljava/lang/String;responseCodeIracesLocalVariableTypeTable(Ljava/util/List<Lchatty/util/srl/Race;>;��error(Ljava/lang/String;)VdescriptionparseRaces$(Ljava/lang/String;)Ljava/util/List;raceLchatty/util/srl/Race;oLjava/lang/Object;rootLorg/json/simple/JSONObject;Lorg/json/simple/JSONArray;exLjava/lang/Exception;jsonparser#Lorg/json/simple/parser/JSONParser;������<(Ljava/lang/String;)Ljava/util/List<Lchatty/util/srl/Race;>;	parseRace4(Lorg/json/simple/JSONObject;)Lchatty/util/srl/Race;idgameInfogamegoalstate	statetexttimeJentrantsLjava/lang/RuntimeException;�
parseEntrants5(Lorg/json/simple/JSONObject;Lchatty/util/srl/Race;)Ventrantnameplacetwitchpointsmessagekeymain([Ljava/lang/String;)Vargs[Ljava/lang/String;srlaccess$1005(Lchatty/util/srl/SpeedrunsLive;Ljava/lang/String;I)Vx0x1x2<clinit>SourceFileSpeedrunsLive.javaghZ[java/util/ArrayListVWTUjava/lang/Thread2chatty/util/srl/SpeedrunsLive$SpeedrunsLiveRequestZ�Z��[���Error receiving data.stvwError parsing data.�������%chatty/util/srl/SpeedrunsLiveListener�!org/json/simple/parser/JSONParserorg/json/simple/JSONObjectorg/json/simple/JSONArray��%org/json/simple/parser/ParseExceptionjava/lang/ClassCastExceptionjava/lang/NullPointerExceptionRSjava/lang/StringBuilderError parsing SRL: 	tjava/lang/Stringjava/lang/Number
chatty/util/srl/RaceZ��java/lang/NumberFormatExceptionError parsing race: displayname	trueskillchatty/util/srl/Race$EntrantEntrantZchatty/util/srl/SpeedrunsLivea[java/lang/Objectchatty/util/srl/SpeedrunsLive$1java/util/Listjava/util/Iteratorjava/lang/Exceptionjava/lang/RuntimeExceptionC(Lchatty/util/srl/SpeedrunsLive;Lchatty/util/srl/SpeedrunsLive$1;)V(Ljava/lang/Runnable;)Vstartadd(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;
racesReceived(Ljava/util/List;)Vtrim()Ljava/lang/String;parse&(Ljava/lang/String;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/util/logging/LoggerwarningintValue()I	longValue()JM(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;J)VkeySet()Ljava/util/Set;
java/util/Setjava/lang/IntegerparseInt(Ljava/lang/String;)IN(Ljava/lang/String;Ljava/lang/String;IJLjava/lang/String;ILjava/lang/String;)VaddEntrant!(Lchatty/util/srl/Race$Entrant;)Vjava/lang/ClassgetName	getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;!HMRSBTUVWXYZ[\B*�*�Y���]�^_`a[\_ *��*��Y�Y*�	���] !#^ _`bcd\D*�+�W�]+,^_`efgh\W*�+�ȟ*
��*+�N-�*��/*��:����:-����].5678:;!<*>K?S@VB^>Kef5!ijW_`WgkWlm:nWo:npb�q�r� st\�(*��M,��,��N-+����]JK$L'M^*efij(_`(ukb�r�vw\�	��Y�M+���Y�N-+���:��:�:��0�:��*�� :�,�W��̧!:�$�%Y�&'�(�)�*�+�,�mp!mp"mp#]FWXY[]#^/_I`Qa\bacjfmjpgrh�i�k^f\xyI!z{67ij#J|}/>n~r��_`��k�gWz��o�gpb-�q�'��q���r3�B�X���\�	�+,��-M+.��N-/��-:+0��-:+1��2�36+4��-:+5��2�67�7Y,�8:+9��:*�:�M�$�%Y�&<�(,�)�*�+�z{"z{#z{;]:vwxy*z8{C|Q~ep�x�{�|���^zq�kg�}\�k*Q�k8C�mC8�kQ*��exyp�}|��_`�z}b�{���\�+�=�>N-���-�:+��:?��-:4��-:@��2�365��2�67	A��-:B��-�C6D��-:
,�EY	
�F�G��n�]2��&�2�>�M�\�h�w�������^�
&v�}2j�k>^�kMO�m\@��	h4�kw%�m��k
��{�ij�_`�z}�xyb�r����\I
�HY�IL+�J�]���^
���`��\E*+��]^ �`�k�m�[\%
H�K�L�$�]��PNHHQE7�	PKʣGlGl'##+chatty/util/srl/SpeedrunsLiveListener.class���3

racesReceived(Ljava/util/List;)V	Signature+(Ljava/util/List<Lchatty/util/srl/Race;>;)Verror(Ljava/lang/String;)VSourceFileSpeedrunsLiveListener.java%chatty/util/srl/SpeedrunsLiveListenerjava/lang/Object	PḲG4,
VVchatty/util/token_received.html<!DOCTYPE html>
<html>
<head>
<title>Chatty - Access token</title>
<meta name="ROBOTS" content="NOFOLLOW">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
<!--
    function initiate() {
        // Change page so the history won't contain the token
        document.location.replace("http://127.0.0.1:61324/tokenreceived/");
    }
-->
</script>
<style type="text/css">
	body { font-family: Consolas, sans-serif; text-align: center; background-color: #FFF; max-width: 500px; margin: auto; }
	input { font-family: Consolas, sans-serif; width: 300px; font-size: 1em; }
	noscript { color: red;  }
	.hide { display: none; }
</style>
</head>
<body onload="initiate()">
<h1>Chatty - Access token received</h1>
<p>You can close this page now and go back to Chatty.</p>
</body>
</html>
PḲGα	6]]+chatty/util/token_received_no_redirect.html<!DOCTYPE html>
<html>
<head>
<title>Chatty - Access token</title>
<meta name="ROBOTS" content="NOFOLLOW">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
	body { font-family: Consolas, sans-serif; text-align: center; background-color: #FFF; max-width: 500px; margin: auto; }
	input { font-family: Consolas, sans-serif; width: 300px; font-size: 1em; }
	noscript { color: red;  }
	.hide { display: none; }
</style>
</head>
<body>
<h1>Chatty - Access token received</h1>
<p>You can close this page now and go back to Chatty.</p>
</body>
</html>
PḲG$���chatty/util/token_redirect.html<!DOCTYPE html>
<html>
<head>
<title>Chatty - Access token</title>
<meta name="ROBOTS" content="NOFOLLOW">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
<!--
function initiate() {
	var hash = document.location.hash.substr(1);
	var hashParts = hash.split("&");
	var access_token = null;
	for (var i=0;i<hashParts.length;++i) {
		var parameterParts = hashParts[i].split("=");
		var key = parameterParts[0];
		var value = parameterParts[1];
		if (key == "access_token") {
			access_token = value;
		}
	}
	document.getElementById("javascript").className = "";
	if (access_token != null) {
            document.location.replace("http://127.0.0.1:61324/token/"+access_token);
	}
        else {
            document.getElementById("javascript").innerHTML = "Error: Access Token not found";
        }
}
-->
</script>
<style type="text/css">
	body { font-family: Consolas, sans-serif; text-align: center; background-color: #FFF; max-width: 500px; margin: auto; }
	input { font-family: Consolas, sans-serif; width: 300px; font-size: 1em; }
	noscript { color: red;  }
	.hide { display: none; }
</style>
</head>
<body onload="initiate()">
<h1>Chatty - Access token</h1>
<noscript>
    <p>This page requires <strong>JavaScript</strong> to get the token.
    If you don't want to enable it, you can copy the text in the URL between
    <code>access_token=</code> and <code>&amp;scope..</code> instead and set it in
Chatty using the command (close dialogs first so you can type stuff in):</p>
    <p><code>/changetoken &lt;paste here&gt;</code></p>
    <p>There is more information about this in the help. (Open the help in Chatty
        via <code>Help - About/Help</code> or press <kbd>F1</kbd>, then go to
        <code>Guides / What to do when getting login fails</code>.)</p>
</noscript>
<p id="javascript" class="hide">
You should be redirected..
</p>
</body>
</html>
PḲG	�AMETA-INF/��PKˣG��
��+META-INF/MANIFEST.MFPKˣG�A]chatty/PḲG�A�chatty/gui/PḲG�A�chatty/gui/components/PḲG�A�chatty/gui/components/help/PKˣG�Achatty/gui/components/menus/PḲG�ARchatty/gui/components/settings/PḲG�A�chatty/gui/components/srl/PḲG�A�chatty/gui/components/tabs/PḲG�Achatty/gui/components/textpane/PḲG�A=chatty/gui/notifications/PḲG�Atchatty/util/PḲG�A�chatty/util/api/PKʣG�A�chatty/util/chatlog/PKˣG�A�chatty/util/hotkeys/PḲG�A0chatty/util/settings/PKʣG�Acchatty/util/srl/PKɣG-�������chatty/AddressManager.classPKɣGd-�tt���chatty/Addressbook$1.classPKɣG�q��G�G��Echatty/Addressbook.classPKɣG�4�ø���_chatty/AddressbookEntry.classPKɣG�H9~cc��jchatty/CapitalizedNames$1.classPKɣG��q��-���lchatty/CapitalizedNames$CapitalizedName.classPKɣGm��$$6���rchatty/CapitalizedNames$CapitalizedNamesListener.classPKɣG�$KŘ�,��`tchatty/CapitalizedNames$NameForRequest.classPKɣGv�MJ�(�(��B{chatty/CapitalizedNames.classPKʣG�賢SS��I�chatty/ChannelFavorites.classPKʣG�e�SS��׶chatty/ChannelState.classPKʣG->m""5��a�chatty/ChannelStateManager$ChannelStateListener.classPKʣG��ee ����chatty/ChannelStateManager.classPKʣG8������y�chatty/Chatty.classPKʣG`-q�pp��<�chatty/Connection.classPKʣGp'e�����chatty/CustomCommands.classPKʣG�.,�,���	chatty/CustomNames$CustomNamesListener.classPKʣG�������1chatty/CustomNames.classPKʣG!�"���chatty/ErrorHandler.classPKʣG�2<�����<chatty/Helper$IntegerPair.classPKʣG����*�*��4!chatty/Helper.classPKʣG�N�V����Lchatty/Irc$1.classPKʣGqh�C��"���Lchatty/Irc$DelayedJoinAction.classPKʣG�FS̒@�@���Rchatty/Irc.classPKʣG�lw++����chatty/JoinChecker$1.classPKʣG�#h/�����chatty/JoinChecker.classPKʣG;H�1..����chatty/Logging$1.classPKʣG,N�������chatty/Logging$2.classPKʣG�~~~��ϭchatty/Logging$3.classPKʣG��F�������chatty/Logging$FileFilter.classPKʣGnA�{"��I�chatty/Logging$TextFormatter.classPKʣG"�T>>"����chatty/Logging$UserinfoLevel.classPKʣG���0
0
��&�chatty/Logging.classPKʣG�V�\22*����chatty/SettingsManager$DefaultHotkey.classPKʣGM��;�D�D���chatty/SettingsManager.classPKˣG�,��:chatty/Shutdown.classPKʣG.�:�))��uchatty/SpamProtection.classPKʣG�Z�����chatty/StatusHistory.classPKʣG�G���=chatty/StatusHistoryEntry.classPKˣG� ^^���Dchatty/TestTimer.classPKʣG��دWW���Kchatty/TwitchClient$1.classPKʣG%Zd))-��Rchatty/TwitchClient$ChannelStateUpdater.classPKʣG�m��dd'���Vchatty/TwitchClient$EmoteListener.classPKʣGK�xn	n	+��4_chatty/TwitchClient$EmoticonsListener.classPKʣG�P�8KK#���hchatty/TwitchClient$IrcLogger.classPKʣGP�!!"��wpchatty/TwitchClient$Messages.classPKʣGA�9���.����chatty/TwitchClient$MyStreamInfoListener.classPKʣG�4JAA+���chatty/TwitchClient$MyWhisperListener.classPKʣG�2���-��x�chatty/TwitchClient$SettingSaveListener.classPKʣG����*����chatty/TwitchClient$TwitchApiResults.classPKʣG"�Q�NN.����chatty/TwitchClient$TwitchemotesListener.classPKʣGz�ȷ��+����chatty/TwitchClient$WebserverListener.classPKʣG�c��������Y�chatty/TwitchClient.classPKʣG�"]�MM���tchatty/TwitchCommands$1.classPKʣG�bc-c-��
wchatty/TwitchCommands.classPKʣG�U�Off����chatty/TwitchConnection$1.classPKʣGez4����L�chatty/TwitchConnection$2.classPKʣG_�vv��{�chatty/TwitchConnection$3.classPKʣG.ORp&&0��.�chatty/TwitchConnection$ConnectionListener.classPKʣGGŌ�PFPF+����chatty/TwitchConnection$IrcConnection.classPKʣGva(B��'��;�chatty/TwitchConnection$JoinError.classPKʣGC�^��A�A��chatty/TwitchConnection.classPKˣG���N����9Bchatty/UpdateTimer$1.classPKˣG㴩Ά���Echatty/UpdateTimer.classPKʣG�Q�"�����Gchatty/User$BanMessage.classPKʣGT�M������Ichatty/User$Message.classPKʣG_�������Lchatty/User$TextMessage.classPKʣGQ
���9�9��Pchatty/User.classPKʣG�G���chatty/UserManager$1.classPKʣG�<x�����O�chatty/UserManager$2.classPKʣGa�:����;�chatty/UserManager$3.classPKʣGq�ݥ��,���chatty/UserManager$UserManagerListener.classPKʣGm4*�s+s+��D�chatty/UserManager.classPKʣG^D�	�	����chatty/UsercolorItem.classPKʣGt��&&��$�chatty/UsercolorManager.classPKɣG��c�������chatty/Usericon$MatchType.classPKɣGM�
��	�	����chatty/Usericon$Type.classPKɣGC�M�t t ����chatty/Usericon.classPKʣG��qZZ��Cchatty/UsericonManager$1.classPKʣG�����!�!���chatty/UsericonManager.classPKʣGGD.�����5chatty/Version$1.classPKʣG�!V#���6chatty/Version$VersionChecker.classPKʣG*�E��$��8Achatty/Version$VersionListener.classPKʣG�(jr��yBchatty/Version.classPKʣG'�x��� ���Pchatty/WhisperConnection$1.classPKʣG�o�:��%���Qchatty/WhisperConnection$Events.classPKʣGϴo��.���dchatty/WhisperConnection$WhisperListener.classPKʣG��c���fchatty/WhisperConnection.classPKˣG�HZ��(��~chatty/gui/AttachedWindowManager$1.classPKˣG��v��	�	&��C�chatty/gui/AttachedWindowManager.classPKʣG�G����� �chatty/gui/Channels$1.classPKʣG���1--)��9�chatty/gui/Channels$LocationAndSize.classPKʣGV���OO0����chatty/gui/Channels$MyMouseClickedListener.classPKʣG�N����*��J�chatty/gui/Channels$MyWindowListener.classPKʣGL%w��+��F�chatty/gui/Channels$TabChangeListener.classPKʣG�<,tFtF��v�chatty/gui/Channels.classPKˣG1�M�++��!�chatty/gui/GuiUtil$1.classPKˣGo��l������chatty/gui/GuiUtil$2.classPKˣG�)#��!�!����chatty/gui/GuiUtil.classPKʣGz�{{1���chatty/gui/Highlighter$HighlightItem$Status.classPKʣG��+��*��Rchatty/gui/Highlighter$HighlightItem.classPKʣGxB�*�����<chatty/gui/Highlighter.classPKˣG`���"�"��JQchatty/gui/HtmlColors.classPKʣG9P��"��]tchatty/gui/IgnoredMessages$1.classPKʣG�:�FF ���wchatty/gui/IgnoredMessages.classPKʣGk4P�����chatty/gui/LinkListener.classPKʣGk��_++���chatty/gui/MainGui$1.classPKʣG6]ǔ����H�chatty/gui/MainGui$10.classPKʣGFvȔ����chatty/gui/MainGui$11.classPKʣG+f�����chatty/gui/MainGui$12.classPKʣGa�������chatty/gui/MainGui$13.classPKʣG�"�۔���|�chatty/gui/MainGui$14.classPKʣG�f�͔���I�chatty/gui/MainGui$15.classPKʣGa��A�����chatty/gui/MainGui$16.classPKʣG'?������chatty/gui/MainGui$17.classPKʣGf�CC����͞chatty/gui/MainGui$18.classPKʣG̠^�������chatty/gui/MainGui$19.classPKʣGR68�������chatty/gui/MainGui$2.classPKʣG-4�����échatty/gui/MainGui$20.classPKʣG��������chatty/gui/MainGui$21.classPKʣGQ�%����Űchatty/gui/MainGui$22.classPKʣG�H�������chatty/gui/MainGui$23.classPKʣG�eV������chatty/gui/MainGui$24.classPKʣG)��(����=�chatty/gui/MainGui$25.classPKʣG�rݱ���'�chatty/gui/MainGui$26.classPKʣG�dɱ����chatty/gui/MainGui$27.classPKʣG�݂�������chatty/gui/MainGui$28.classPKʣG�w����#�chatty/gui/MainGui$29.classPKʣG%������chatty/gui/MainGui$3.classPKʣG�2�����2�chatty/gui/MainGui$30.classPKʣG���]]��	�chatty/gui/MainGui$31.classPKʣGP@``����chatty/gui/MainGui$32.classPKʣGd�;[����8�chatty/gui/MainGui$33.classPKʣG.f	������chatty/gui/MainGui$34.classPKʣG���%%����chatty/gui/MainGui$35.classPKʣGZg�**��0�chatty/gui/MainGui$36.classPKʣG2��Ե�����chatty/gui/MainGui$37.classPKʣGu!%ۋ�����chatty/gui/MainGui$38.classPKʣG�KHo����E�chatty/gui/MainGui$39.classPKʣGx1�������chatty/gui/MainGui$4.classPKʣG�d��[[��D�chatty/gui/MainGui$40.classPKʣGf�m�������chatty/gui/MainGui$41.classPKʣG3 z_�����chatty/gui/MainGui$42$1.classPKʣG~ϣ�������chatty/gui/MainGui$42.classPKʣGt�%�����chatty/gui/MainGui$43.classPKʣG�\���chatty/gui/MainGui$44.classPKʣGo�F�����)chatty/gui/MainGui$45.classPKʣG�|m^����Xchatty/gui/MainGui$46.classPKʣG�������+chatty/gui/MainGui$47.classPKʣG�(��RR��chatty/gui/MainGui$48.classPKʣG�Ku�����chatty/gui/MainGui$49.classPKʣG�v�V�����.chatty/gui/MainGui$5.classPKʣG��J���Q1chatty/gui/MainGui$50.classPKʣG�J&������7chatty/gui/MainGui$51.classPKʣG{�~~���=chatty/gui/MainGui$52.classPKʣG-p��BB��|Achatty/gui/MainGui$53.classPKʣGDN�BB���Fchatty/gui/MainGui$54.classPKʣGu����rLchatty/gui/MainGui$55.classPKʣG�(�������Qchatty/gui/MainGui$56.classPKʣG�z88���Xchatty/gui/MainGui$57.classPKʣG��:�����<]chatty/gui/MainGui$58.classPKʣG�B7����Tachatty/gui/MainGui$59.classPKʣGlD�����echatty/gui/MainGui$6.classPKʣG�q/((��Rhchatty/gui/MainGui$60.classPKʣGeyL..���kchatty/gui/MainGui$61.classPKʣGN	�q//��ochatty/gui/MainGui$62.classPKʣGdBZ22���tchatty/gui/MainGui$63.classPKʣG90�GG���ychatty/gui/MainGui$64.classPKʣG�,4�����m~chatty/gui/MainGui$65.classPKʣG���''��.�chatty/gui/MainGui$66.classPKʣGv-]EE����chatty/gui/MainGui$67.classPKʣG�\�}�����chatty/gui/MainGui$68.classPKʣG�r������chatty/gui/MainGui$69.classPKʣG�Y9����Βchatty/gui/MainGui$7.classPKʣG<]g.NN����chatty/gui/MainGui$70.classPKʣG�)J��&�chatty/gui/MainGui$71.classPKʣGs��Ѽ���g�chatty/gui/MainGui$72.classPKʣG�
Q����\�chatty/gui/MainGui$73.classPKʣGױI�����8�chatty/gui/MainGui$74.classPKʣG�s�����/�chatty/gui/MainGui$75.classPKʣG�l����chatty/gui/MainGui$76.classPKʣG#�ڣ��0�chatty/gui/MainGui$77.classPKʣG���3uu��z�chatty/gui/MainGui$78.classPKʣG)N����(�chatty/gui/MainGui$79.classPKʣG��(�����chatty/gui/MainGui$8.classPKʣGvsq//���chatty/gui/MainGui$80.classPKʣG]��BWW��L�chatty/gui/MainGui$81.classPKʣG8+`�������chatty/gui/MainGui$82.classPKʣG?t�aa����chatty/gui/MainGui$83.classPKʣG�{?XHH����chatty/gui/MainGui$84.classPKʣGu�������chatty/gui/MainGui$85.classPKʣGd�����chatty/gui/MainGui$86.classPKʣG]xݺ��l�chatty/gui/MainGui$87.classPKʣG�]ݘ�����chatty/gui/MainGui$88.classPKʣGޘ�����z�chatty/gui/MainGui$89.classPKʣG�:����y�chatty/gui/MainGui$9.classPKʣGB���ee��C�chatty/gui/MainGui$90.classPKʣG�$b�ee����chatty/gui/MainGui$91.classPKʣG|'�L.���chatty/gui/MainGui$ChannelChangeListener.classPKʣGC
���.���chatty/gui/MainGui$DebugCheckboxListener.classPKʣG����kk)����chatty/gui/MainGui$MainMenuListener.classPKʣG�sD�jj+���chatty/gui/MainGui$MainWindowListener.classPKʣGV�)Š�)��_chatty/gui/MainGui$MyActionListener.classPKʣGv~=0505.��F2chatty/gui/MainGui$MyContextMenuListener.classPKʣG(��XX,���gchatty/gui/MainGui$MyLinkLabelListener.classPKʣG���AA5��dnchatty/gui/MainGui$MyNotificationActionListener.classPKʣGL.��2���schatty/gui/MainGui$MySettingChangeListener$1.classPKʣG�ma��0��8xchatty/gui/MainGui$MySettingChangeListener.classPKʣGi5� ��+����chatty/gui/MainGui$MySettingsListener.classPKʣG��@�..'��Q�chatty/gui/MainGui$MyUserListener.classPKʣG�d33)��Ģchatty/gui/MainGui$MyWindowListener.classPKʣG����%��>�chatty/gui/MainGui$StateUpdater.classPKʣG�4A��)��K�chatty/gui/MainGui$TrayMenuListener.classPKʣG��"�"��O�chatty/gui/MainGui.classPKʣGչbb��~�	chatty/gui/MainMenu$1.classPKʣG,�~](](���	chatty/gui/MainMenu.classPKʣG`�b������chatty/gui/Message.classPKʣGŐu���%���chatty/gui/MouseClickedListener.classPKʣG1m[MM���chatty/gui/NamedColor.classPKˣGH�$��B%chatty/gui/RegexDocumentFilter.classPKʣG��C) ) ���,chatty/gui/StyleManager.classPKʣGǒA������Lchatty/gui/StyleServer.classPKʣGw��oo ���Nchatty/gui/TrayIconManager.classPKˣG�%">jj��q[chatty/gui/TwitchUrl.classPKˣG��������nchatty/gui/UrlOpener.classPKʣGa�5���chatty/gui/UserListener.classPKˣGϊ�Y����F�chatty/gui/UserlistModel.classPKˣG߄\	�� ��(�chatty/gui/WindowManager$1.classPKˣG��|��'��:�chatty/gui/WindowManager$Listener.classPKˣGɋ�������chatty/gui/WindowManager.classPKʣG�}``-��&�chatty/gui/WindowStateManager$StateItem.classPKʣG�pg3��#��њchatty/gui/WindowStateManager.classPḲG�����߳chatty/gui/app_16.pngPḲGvg{���� �chatty/gui/app_64.pngPḲG��ŧ����
�chatty/gui/app_help_16.pngPḲG�4|{����chatty/gui/app_help_64.pngPḲG������H�chatty/gui/app_live_16.pngPḲGd������?�chatty/gui/app_live_64.pngPKʣGΧ����/���chatty/gui/components/AddressbookDialog$1.classPKʣG����		@��0�chatty/gui/components/AddressbookDialog$ContextMenu$Action.classPKʣG�'�<<9����chatty/gui/components/AddressbookDialog$ContextMenu.classPKʣG��Ø	�	;��:chatty/gui/components/AddressbookDialog$TableListener.classPKʣG�z�S-��+
chatty/gui/components/AddressbookDialog.classPKˣG�M[��/���chatty/gui/components/AddressbookEditor$1.classPKˣG�h�PPE���chatty/gui/components/AddressbookEditor$MyEditor$ButtonListener.classPKˣG�q\��H���"chatty/gui/components/AddressbookEditor$MyEditor$TextFieldListener.classPKˣG�" c��6��s(chatty/gui/components/AddressbookEditor$MyEditor.classPKˣG1�Q��:��IAchatty/gui/components/AddressbookEditor$MyTableModel.classPKˣG�55�==-���Fchatty/gui/components/AddressbookEditor.classPKʣG����)��$Rchatty/gui/components/AdminDialog$1.classPKʣG���a)��8Vchatty/gui/components/AdminDialog$2.classPKʣG%^���)���Ychatty/gui/components/AdminDialog$3.classPKʣG6����)���\chatty/gui/components/AdminDialog$4.classPKʣG�J��h
h
8���`chatty/gui/components/AdminDialog$MyActionListener.classPKʣG������?���nchatty/gui/components/AdminDialog$NoneSelectedButtonGroup.classPKʣG��}��=���qchatty/gui/components/AdminDialog$WindowClosingListener.classPKʣG�س�UWUW'��vchatty/gui/components/AdminDialog.classPKˣG�*�~��.����chatty/gui/components/AutoCompletion$1$1.classPKˣGſ����,����chatty/gui/components/AutoCompletion$1.classPKˣG�"��,����chatty/gui/components/AutoCompletion$2.classPKˣG4�'��,����chatty/gui/components/AutoCompletion$3.classPKˣG�jfȔ�,����chatty/gui/components/AutoCompletion$4.classPKˣGF�	�r2r2*����chatty/gui/components/AutoCompletion.classPKˣG+Ûҩ�@��uchatty/gui/components/AutoCompletionServer$CompletionItems.classPKˣGx+є�0��|chatty/gui/components/AutoCompletionServer.classPKʣGͼ�.%��^!chatty/gui/components/Channel$1.classPKʣG���'��%���$chatty/gui/components/Channel$2.classPKʣG���N���(chatty/gui/components/Channel$InputCompletionServer$UserSorterAlphabetic.classPKʣG��H��G��/chatty/gui/components/Channel$InputCompletionServer$UserSorterNew.classPKʣG͆dHmm9��]7chatty/gui/components/Channel$InputCompletionServer.classPKʣG�RM�0��!Vchatty/gui/components/Channel$ScrollAction.classPKʣGQ�yy(���[chatty/gui/components/Channel$Type.classPKʣGս<�N)N)#��I`chatty/gui/components/Channel.classPKˣG^&]BB)��؉chatty/gui/components/ChannelDialog.classPKʣGk�cLL,��a�chatty/gui/components/ChannelEditBox$1.classPKʣG��I''*����chatty/gui/components/ChannelEditBox.classPKʣG��/��f�chatty/gui/components/ChannelInfoDialog$1.classPKʣG�k��&&/����chatty/gui/components/ChannelInfoDialog$2.classPKʣGʿbMnn<��'�chatty/gui/components/ChannelInfoDialog$MyLinkListener.classPKʣG�W\���-���chatty/gui/components/ChannelInfoDialog.classPKʣG�9V{{.����chatty/gui/components/ConnectionDialog$1.classPKʣG�Rп$$.����chatty/gui/components/ConnectionDialog$2.classPKʣG��<<,��3�chatty/gui/components/ConnectionDialog.classPKʣGx)�YY'����chatty/gui/components/DebugWindow.classPKʣG���QOO*��W
chatty/gui/components/EmotesDialog$1.classPKʣG�fBr��*���	
chatty/gui/components/EmotesDialog$2.classPKʣGU2�~��*���
chatty/gui/components/EmotesDialog$3.classPKʣG[QQ;���
chatty/gui/components/EmotesDialog$ChannelEmotesPanel.classPKʣG�%� ��.���!
chatty/gui/components/EmotesDialog$Emote.classPKʣG^��9���(
chatty/gui/components/EmotesDialog$EmoteDetailPanel.classPKʣG*I��4��A<
chatty/gui/components/EmotesDialog$EmotesPanel.classPKʣG1����7��bV
chatty/gui/components/EmotesDialog$FavoritesPanel.classPKʣGg��		9���a
chatty/gui/components/EmotesDialog$OtherEmotesPanel.classPKʣG_�J٪�=��k
chatty/gui/components/EmotesDialog$SortEmotesByEmoteset.classPKʣGmQӘ��@��p
chatty/gui/components/EmotesDialog$SortEmotesByTypeAndName.classPKʣG�����7��Zv
chatty/gui/components/EmotesDialog$SubemotesPanel.classPKʣG���0��:��E
chatty/gui/components/EmotesDialog$TwitchEmotesPanel.classPKʣG�Ь	4	4(��t�
chatty/gui/components/EmotesDialog.classPKʣG:;�11*��ø
chatty/gui/components/ErrorMessage$1.classPKʣGe����*��<�
chatty/gui/components/ErrorMessage$2.classPKʣGv
*����
chatty/gui/components/ErrorMessage$3.classPKʣG?��B��*����
chatty/gui/components/ErrorMessage$4.classPKʣG�j���*����
chatty/gui/components/ErrorMessage$5.classPKʣGd�|�i)i)(����
chatty/gui/components/ErrorMessage.classPKˣG��CCF��n�
chatty/gui/components/ExtendableDefaultTableHeaderCellRenderer$1.classPKˣGa!DDD���
chatty/gui/components/ExtendableDefaultTableHeaderCellRenderer.classPKʣG�;����.���chatty/gui/components/ExtendedTextPane$1.classPKʣG���C��J���chatty/gui/components/ExtendedTextPane$MyEditorKit$StyledViewFactory.classPKʣG��*1��8��Gchatty/gui/components/ExtendedTextPane$MyEditorKit.classPKʣG˯����,��%chatty/gui/components/ExtendedTextPane.classPKʣG�Iy�-��P0chatty/gui/components/FavoritesDialog$1.classPKʣG�H�F,,-���4chatty/gui/components/FavoritesDialog$2.classPKʣG������-��(8chatty/gui/components/FavoritesDialog$3.classPKʣGY��8gg-��V=chatty/gui/components/FavoritesDialog$4.classPKʣG�G-�gg-��Achatty/gui/components/FavoritesDialog$5.classPKʣGV�gg-���Dchatty/gui/components/FavoritesDialog$6.classPKʣGj�#Wgg-��lHchatty/gui/components/FavoritesDialog$7.classPKʣG���xx8��Lchatty/gui/components/FavoritesDialog$CustomSorter.classPKʣG��N���C���Wchatty/gui/components/FavoritesDialog$FavoritesActionListener.classPKʣG�~Z��L��^chatty/gui/components/FavoritesDialog$MyDefaultTableHeaderCellRenderer.classPKʣGK�

8��-dchatty/gui/components/FavoritesDialog$MyTableModel.classPKʣGˉ3��8���qchatty/gui/components/FavoritesDialog$TestRenderer.classPKʣGn�~��8��}vchatty/gui/components/FavoritesDialog$TimeRenderer.classPKʣGF�v$55+���zchatty/gui/components/FavoritesDialog.classPKʣG�2S��-���chatty/gui/components/FollowersDialog$1.classPKʣG�3���-��Ӵchatty/gui/components/FollowersDialog$2.classPKʣG�?,[[-����chatty/gui/components/FollowersDialog$3.classPKʣG��9��N�chatty/gui/components/FollowersDialog$MyContextMenu.classPKʣG�3��<����chatty/gui/components/FollowersDialog$MyListTableModel.classPKʣG�c�&;����chatty/gui/components/FollowersDialog$MyRenderer$Type.classPKʣGs�03;;6��3�chatty/gui/components/FollowersDialog$MyRenderer.classPKʣG�4271����chatty/gui/components/FollowersDialog$Stats.classPKʣG��W0��'�chatty/gui/components/FollowersDialog$Type.classPKʣG�{F/�7�7+����chatty/gui/components/FollowersDialog.classPKʣG�q��1���%chatty/gui/components/HighlightedMessages$1.classPKʣGJ����E��'chatty/gui/components/HighlightedMessages$MyContextMenuListener.classPKʣG��bA��3chatty/gui/components/HighlightedMessages$MyVisibleListener.classPKʣG܏T�8���7chatty/gui/components/HighlightedMessages$TextPane.classPKʣGQ��-/��N<chatty/gui/components/HighlightedMessages.classPKʣGw����(���Nchatty/gui/components/JoinDialog$1.classPKʣG��d���(���Rchatty/gui/components/JoinDialog$2.classPKʣG�����&���Ychatty/gui/components/JoinDialog.classPKʣG������'��mchatty/gui/components/LinkLabel$1.classPKʣG+�!���%��%rchatty/gui/components/LinkLabel.classPKʣG�@����-��}chatty/gui/components/LinkLabelListener.classPKʣGW����.��,~chatty/gui/components/LiveStreamListener.classPKʣGi�˓��/��Achatty/gui/components/LiveStreamsDialog$1.classPKʣGS��KGG/��3�chatty/gui/components/LiveStreamsDialog$2.classPKʣGÅ�GG/��Ljchatty/gui/components/LiveStreamsDialog$3.classPKʣG��?]44G��[�chatty/gui/components/LiveStreamsDialog$LiveStreamsGameComparator.classPKʣG���.@@G���chatty/gui/components/LiveStreamsDialog$LiveStreamsNameComparator.classPKʣG���]��N����chatty/gui/components/LiveStreamsDialog$LiveStreamsTimeChangedComparator.classPKʣG.!���J����chatty/gui/components/LiveStreamsDialog$LiveStreamsViewersComparator.classPKʣG{���C���chatty/gui/components/LiveStreamsDialog$MyContextMenuListener.classPKʣG���-��'�chatty/gui/components/LiveStreamsDialog.classPKʣGH�ì!!-��y�chatty/gui/components/LiveStreamsList$1.classPKʣGA��]PP-����chatty/gui/components/LiveStreamsList$2.classPKʣG_N�mmC����chatty/gui/components/LiveStreamsList$ListDataChangedListener.classPKʣGz�(��
�
:��N�chatty/gui/components/LiveStreamsList$MyCellRenderer.classPKʣG��a<;����chatty/gui/components/LiveStreamsList$UpdateTimer$1$1.classPKʣG��MBmm9���chatty/gui/components/LiveStreamsList$UpdateTimer$1.classPKʣG���SS7����chatty/gui/components/LiveStreamsList$UpdateTimer.classPKʣG�&  +��v�chatty/gui/components/LiveStreamsList.classPKʣG�<�!4���chatty/gui/components/LiveStreamsRemovedList$1.classPKʣGql����B��6chatty/gui/components/LiveStreamsRemovedList$MyMouseListener.classPKʣG���11B��ochatty/gui/components/LiveStreamsRemovedList$RemovedListItem.classPKʣG:�0�``2�� chatty/gui/components/LiveStreamsRemovedList.classPKʣG:hP;��0���8chatty/gui/components/LivestreamerDialog$1.classPKʣGX|g��0���Achatty/gui/components/LivestreamerDialog$2.classPKʣG%����5���Fchatty/gui/components/LivestreamerDialog$Item$1.classPKʣG�K"I5���Kchatty/gui/components/LivestreamerDialog$Item$2.classPKʣG��ke��5��Pchatty/gui/components/LivestreamerDialog$Item$3.classPKʣG �|��I��=Tchatty/gui/components/LivestreamerDialog$Item$QualityButtonListener.classPKʣGј�PT#T#3��,Zchatty/gui/components/LivestreamerDialog$Item.classPKʣG{k&� � .���}chatty/gui/components/LivestreamerDialog.classPKˣG�3z���*��˞chatty/gui/components/SearchDialog$1.classPKˣG�����*���chatty/gui/components/SearchDialog$2.classPKˣG��	;��*���chatty/gui/components/SearchDialog$3.classPKˣG���Z��(���chatty/gui/components/SearchDialog.classPKʣG_zX�		.���chatty/gui/components/SelectGameDialog$1.classPKʣG���7��@�chatty/gui/components/SelectGameDialog$DoneAction.classPKʣG G+(��>����chatty/gui/components/SelectGameDialog$ListClickListener.classPKʣG��n3��9����chatty/gui/components/SelectGameDialog$ListRenderer.classPKʣGX���=����chatty/gui/components/SelectGameDialog$MyActionListener.classPKʣGlk�8��D���chatty/gui/components/SelectGameDialog$MyListSelectionListener.classPKʣG{�0�e*e*,���chatty/gui/components/SelectGameDialog.classPKʣGur���+���chatty/gui/components/SortedListModel.classPKʣG��q�dd1���chatty/gui/components/StatusHistoryDialog$1.classPKʣGĺ��1��Hchatty/gui/components/StatusHistoryDialog$2.classPKʣGo�K�1���chatty/gui/components/StatusHistoryDialog$3.classPKʣG1�%1���"chatty/gui/components/StatusHistoryDialog$4.classPKʣG��j�1��L&chatty/gui/components/StatusHistoryDialog$5.classPKʣG�I9���<���)chatty/gui/components/StatusHistoryDialog$ButtonAction.classPKʣG`�1B<<;���/chatty/gui/components/StatusHistoryDialog$CloseAction.classPKʣG�vI[NN<���5chatty/gui/components/StatusHistoryDialog$FilterAction.classPKʣG�?���@��1:chatty/gui/components/StatusHistoryDialog$TableContextMenu.classPKʣG^/7Nl$l$/��}@chatty/gui/components/StatusHistoryDialog.classPKˣG�#I�0��6echatty/gui/components/StatusHistoryTable$1.classPKˣG��ynn0���jchatty/gui/components/StatusHistoryTable$2.classPKˣG��H��?��Wrchatty/gui/components/StatusHistoryTable$FavoriteRenderer.classPKˣG�⬻�C��\xchatty/gui/components/StatusHistoryTable$LastActivityRenderer.classPKˣGs �9��E��x}chatty/gui/components/StatusHistoryTable$LineWrapCellRenderer$1.classPKˣGܚ��C����chatty/gui/components/StatusHistoryTable$LineWrapCellRenderer.classPKˣG}����4����chatty/gui/components/StatusHistoryTable$Model.classPKˣG�&��66.���chatty/gui/components/StatusHistoryTable.classPKʣG�����(��h�chatty/gui/components/StreamChat$1.classPKʣGT˜%��<����chatty/gui/components/StreamChat$MyContextMenuListener.classPKʣGK��ŷ�/��ʶchatty/gui/components/StreamChat$TextPane.classPKʣG�7<"��&��κchatty/gui/components/StreamChat.classPKˣG���%��(���chatty/gui/components/TabComponent.classPKʣG�Ȣ��)��$�chatty/gui/components/TokenDialog$1.classPKʣG���``'���chatty/gui/components/TokenDialog.classPKʣG�}��*����chatty/gui/components/TokenGetDialog.classPKʣGKqB��+����chatty/gui/components/UpdateMessage$1.classPKʣG�T2�JJ+���chatty/gui/components/UpdateMessage$2.classPKʣG�ֳ�)��Jchatty/gui/components/UpdateMessage.classPKʣG[�l�66&��Dchatty/gui/components/UserInfo$1.classPKʣG��vv&���chatty/gui/components/UserInfo$2.classPKʣG��cc&��x!chatty/gui/components/UserInfo$3.classPKʣG~>���+��%chatty/gui/components/UserInfo$Action.classPKʣGMd�!@@$��U*chatty/gui/components/UserInfo.classPKʣG/���AA&���jchatty/gui/components/UserList$1.classPKʣG���*�
�
$��3pchatty/gui/components/UserList.classPKʣGcK����+��l~chatty/gui/components/ViewerHistory$1.classPKʣG�����?���chatty/gui/components/ViewerHistory$MyContextMenuListener.classPKʣG�9����chatty/gui/components/ViewerHistory$MyMouseListener.classPKʣG�LALA)���chatty/gui/components/ViewerHistory.classPKʣG�z���1����chatty/gui/components/ViewerHistoryListener.classPKˣG@ꐠ��&����chatty/gui/components/WrapLayout.classPḲG�r�c[[(����chatty/gui/components/dialog-warning.pngPḲGf��6t6t/��`�chatty/gui/components/help/0_4_overview_top.pngPKʣG�_�SS(���Vchatty/gui/components/help/About$1.classPKʣGV�TC��(��|^chatty/gui/components/help/About$2.classPKʣG�
)	��(���achatty/gui/components/help/About$3.classPKʣGJ��u��(���jchatty/gui/components/help/About$4.classPKʣG�DŽ�FF2���mchatty/gui/components/help/About$HistoryItem.classPKʣG��'s��&��Eschatty/gui/components/help/About.classPḲGF��RdRd(���chatty/gui/components/help/followers.jpgPḲG�d^^&����chatty/gui/components/help/go-home.pngPḲG�J����&��I�chatty/gui/components/help/go-next.pngPḲG/P	��*��1�chatty/gui/components/help/go-previous.pngPḲGȾ�\��$���chatty/gui/components/help/go-up.pngPḲG�Ls��%���chatty/gui/components/help/go-web.pngPḲG���'%'%0���chatty/gui/components/help/help-addressbook.htmlPḲG����*��.*chatty/gui/components/help/help-admin.htmlPḲGk��3!3!4��Achatty/gui/components/help/help-getting-started.htmlPḲG�R�BB+���bchatty/gui/components/help/help-guide1.htmlPḲG���cc+��%ochatty/gui/components/help/help-guide2.htmlPḲG,*���:��цchatty/gui/components/help/help-guide_create_shortcut.htmlPḲG�:,%,%2����chatty/gui/components/help/help-guide_folders.htmlPḲGZ���+��7�chatty/gui/components/help/help-issues.htmlPḲG���Q��1��$�chatty/gui/components/help/help-livestreamer.htmlPḲG���<�	�	1��N�chatty/gui/components/help/help-memory_usage.htmlPḲGE;��-����chatty/gui/components/help/help-releases.htmlPḲG%��wewe5����chatty/gui/components/help/help-setting_commands.htmlPḲG��1pp-���chatty/gui/components/help/help-settings.htmlPḲGKۆ�O"O"1��~0chatty/gui/components/help/help-short_guides.htmlPḲGeI?P��(��Schatty/gui/components/help/help-srl.htmlPḲG�AӪ�8�84��D[chatty/gui/components/help/help-troubleshooting.htmlPḲGȖ�~�#�#,��t�chatty/gui/components/help/help-whisper.htmlPḲG�6tvv$����chatty/gui/components/help/help.htmlPḲG���K�K'��@�chatty/gui/components/help/jconsole.jpgPḲG{��QXX$��ychatty/gui/components/help/style.cssPḲG(�~��N�N)��chatty/gui/components/help/userdialog.jpgPḲGI����1�12��*dchatty/gui/components/help/viewerhistory_small.gifPKˣGKXnn4����chatty/gui/components/menus/ChannelContextMenu.classPKˣGN���
�
-����chatty/gui/components/menus/ContextMenu.classPKˣG�0�ll4����chatty/gui/components/menus/ContextMenuAdapter.classPKˣG^y���3��_�chatty/gui/components/menus/ContextMenuHelper.classPKʣG���Ë�5����chatty/gui/components/menus/ContextMenuListener.classPKˣG�����2����chatty/gui/components/menus/EmoteContextMenu.classPKˣG�Q>ZZ7����chatty/gui/components/menus/HighlightsContextMenu.classPKˣG<�U>##4��g�chatty/gui/components/menus/HistoryContextMenu.classPKˣGػ|���1����chatty/gui/components/menus/RaceContextMenu.classPKˣG�w���8����chatty/gui/components/menus/RaceEntrantContextMenu.classPKˣG�/��8����chatty/gui/components/menus/StreamInfosContextMenu.classPKˣG��}�``4����chatty/gui/components/menus/StreamsContextMenu.classPKˣGGGrVV0��qchatty/gui/components/menus/TabContextMenu.classPKˣG Nl}}0��chatty/gui/components/menus/UrlContextMenu.classPKˣG���??1���chatty/gui/components/menus/UserContextMenu.classPḲGH72�����nchatty/gui/components/no.pngPḲG���M�����chatty/gui/components/ok.pngPKˣG~��HH7���"chatty/gui/components/settings/AdvancedSettings$1.classPKˣG��QL0	0	G��](chatty/gui/components/settings/AdvancedSettings$GroupChatSelect$1.classPKˣGu���&&I���1chatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2$1.classPKˣG���G��7chatty/gui/components/settings/AdvancedSettings$GroupChatSelect$2.classPKˣG,yrrE���<chatty/gui/components/settings/AdvancedSettings$GroupChatSelect.classPKˣG�2���5���Wchatty/gui/components/settings/AdvancedSettings.classPKʣG�]Ի��3���lchatty/gui/components/settings/BooleanSetting.classPKˣG�e""3��3nchatty/gui/components/settings/ChatSettings$1.classPKˣG��ݎ��1���rchatty/gui/components/settings/ChatSettings.classPKˣG��.�@@3��ׂchatty/gui/components/settings/ColorChooser$1.classPKˣG��Rpp3��h�chatty/gui/components/settings/ColorChooser$2.classPKˣG��ʰ�;��)�chatty/gui/components/settings/ColorChooser$MyPreview.classPKˣG�8���1��2�chatty/gui/components/settings/ColorChooser.classPKˣG�q�3��.�chatty/gui/components/settings/ColorSetting$1.classPKˣG�iI�1����chatty/gui/components/settings/ColorSetting.classPKˣG�H�ȵ�9���chatty/gui/components/settings/ColorSettingListener.classPKˣGT\qYffI����chatty/gui/components/settings/ColorSettings$MyColorSettingListener.classPKˣGt1����<��Ƚchatty/gui/components/settings/ColorSettings$Presets$1.classPKˣG�eJ���:����chatty/gui/components/settings/ColorSettings$Presets.classPKˣG�X��TT2���chatty/gui/components/settings/ColorSettings.classPKˣG����LL5����chatty/gui/components/settings/ComboLongSetting.classPKʣG~��`��7��J�chatty/gui/components/settings/ComboStringSetting.classPKˣG�b���6��^�chatty/gui/components/settings/CommandSettings$1.classPKˣGR���RR4��B�chatty/gui/components/settings/CommandSettings.classPKˣG>�����9���chatty/gui/components/settings/CompletionSettings$1.classPKˣG�$�0

7��chatty/gui/components/settings/CompletionSettings.classPKˣG���2��|chatty/gui/components/settings/DataFormatter.classPKˣG�$##A���chatty/gui/components/settings/DeletedMessagesModeSetting$1.classPKˣG���]��N��dchatty/gui/components/settings/DeletedMessagesModeSetting$MyItemListener.classPKˣG<>k?��� chatty/gui/components/settings/DeletedMessagesModeSetting.classPKʣG�m����4��-chatty/gui/components/settings/DurationSetting.classPKˣG����-��64chatty/gui/components/settings/Editor$1.classPKˣG��gQ8��h5chatty/gui/components/settings/Editor$ButtonAction.classPKˣGnz;���<���=chatty/gui/components/settings/Editor$ChangeListener$1.classPKˣG�"��:���Achatty/gui/components/settings/Editor$ChangeListener.classPKˣG��Ud��+��(Hchatty/gui/components/settings/Editor.classPKˣGTv���:���dchatty/gui/components/settings/EditorStringSetting$1.classPKˣG���a8��Ekchatty/gui/components/settings/EditorStringSetting.classPKˣG�-YJ((4���vchatty/gui/components/settings/EmoteSettings$1.classPKˣGH�4��2��${chatty/gui/components/settings/EmoteSettings.classPKˣG�p����2��<�chatty/gui/components/settings/FontChooser$1.classPKˣG�/�^��A����chatty/gui/components/settings/FontChooser$FontPreviewLabel.classPKˣG[J��dd<����chatty/gui/components/settings/FontChooser$InputList$1.classPKˣG�-���:��A�chatty/gui/components/settings/FontChooser$InputList.classPKˣG��io��@��v�chatty/gui/components/settings/FontChooser$IntegerVerifier.classPKˣG4ePV��0����chatty/gui/components/settings/FontChooser.classPKʣG��]��:����chatty/gui/components/settings/GenericComboSetting$1.classPKʣG�_�W��8����chatty/gui/components/settings/GenericComboSetting.classPKˣG�<����8����chatty/gui/components/settings/HighlightSettings$1.classPKˣGd� �6����chatty/gui/components/settings/HighlightSettings.classPKˣG.Q�f
f
4��chatty/gui/components/settings/HistorySettings.classPKˣG$�����@���chatty/gui/components/settings/HotkeyEditor$MyItemEditor$1.classPKˣG�'�@���chatty/gui/components/settings/HotkeyEditor$MyItemEditor$2.classPKˣG]i:���@��"chatty/gui/components/settings/HotkeyEditor$MyItemEditor$3.classPKˣG~ �9..>��|'chatty/gui/components/settings/HotkeyEditor$MyItemEditor.classPKˣG�6�6HH>���Uchatty/gui/components/settings/HotkeyEditor$MyTableModel.classPKˣG�m"��1���^chatty/gui/components/settings/HotkeyEditor.classPKʣG
۝$		3���fchatty/gui/components/settings/HotkeySettings.classPKˣG�KHWW6��"pchatty/gui/components/settings/HotkeyTextField$1.classPKˣGv��2VVG���vchatty/gui/components/settings/HotkeyTextField$HotkeyEditListener.classPKˣG5��n4���xchatty/gui/components/settings/HotkeyTextField.classPKˣG�a;S;;5���~chatty/gui/components/settings/IgnoreSettings$1.classPKˣG��$��5��w�chatty/gui/components/settings/IgnoreSettings$2.classPKˣG^D���5��T�chatty/gui/components/settings/IgnoreSettings$3.classPKˣG�y-9ssB��>�chatty/gui/components/settings/IgnoreSettings$IgnoredUsers$1.classPKˣG=ɠG��B���chatty/gui/components/settings/IgnoreSettings$IgnoredUsers$2.classPKˣG��M���@��d�chatty/gui/components/settings/IgnoreSettings$IgnoredUsers.classPKˣGC��p3��N�chatty/gui/components/settings/IgnoreSettings.classPKʣG�rɮ��2����chatty/gui/components/settings/ImageSettings.classPKˣGY��5��6����chatty/gui/components/settings/InputListListener.classPKʣG�O��3����chatty/gui/components/settings/ListSelector$1.classPKʣG��3���chatty/gui/components/settings/ListSelector$2.classPKʣG�4Bs||3��n�chatty/gui/components/settings/ListSelector$3.classPKʣG�_|SS3��;�chatty/gui/components/settings/ListSelector$4.classPKʣGb᫮�'�'1����chatty/gui/components/settings/ListSelector.classPKʣG���ii0���chatty/gui/components/settings/ListSetting.classPKˣG�w=���3��{chatty/gui/components/settings/ListTableModel.classPḲG^T��II2���chatty/gui/components/settings/LogSettings$1.classPḲG��r���A��`chatty/gui/components/settings/LogSettings$ChannelFormatter.classPḲGC��I��0���chatty/gui/components/settings/LogSettings.classPKʣG��-{��0���6chatty/gui/components/settings/LongSetting.classPKˣG)]%��4���7chatty/gui/components/settings/LongTextField$1.classPKˣGl��rr4���;chatty/gui/components/settings/LongTextField$2.classPKˣGk�X�ooB���@chatty/gui/components/settings/LongTextField$IntegerVerifier.classPKˣGC�2���Echatty/gui/components/settings/LongTextField.classPḲG�X漴�1���Lchatty/gui/components/settings/MainSettings.classPKʣGq�Z�}}/���bchatty/gui/components/settings/MapSetting.classPKˣGY8�g��6���dchatty/gui/components/settings/MessageSettings$1.classPKˣGs�>BBO���ichatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings$1.classPḲG^1A��M���nchatty/gui/components/settings/MessageSettings$CapitalizedNamesSettings.classPḲG��=��4���{chatty/gui/components/settings/MessageSettings.classPḲG��_�?���chatty/gui/components/settings/NamedColorsPanel$ColorArea.classPḲG]�"���A��E�chatty/gui/components/settings/NamedColorsPanel$ColorToDraw.classPḲG�����5��)�chatty/gui/components/settings/NamedColorsPanel.classPKʣGSh�q;��
�chatty/gui/components/settings/NotificationSettings$1.classPKʣG&�[�[[9���chatty/gui/components/settings/NotificationSettings.classPḲG��Ԕ��2����chatty/gui/components/settings/OtherSettings.classPḲG��ݿMM2����chatty/gui/components/settings/PathSetting$1.classPḲG{����0��f�chatty/gui/components/settings/PathSetting.classPḲGʳ�d5��j�chatty/gui/components/settings/SettingConstants.classPKʣGt�g�II5���chatty/gui/components/settings/SettingsDialog$1.classPKʣGm�o��5��achatty/gui/components/settings/SettingsDialog$2.classPKʣG�&?��5���chatty/gui/components/settings/SettingsDialog$3.classPKʣG�/�]]5���chatty/gui/components/settings/SettingsDialog$4.classPKʣG05,�&&5��Cchatty/gui/components/settings/SettingsDialog$5.classPKʣGl�6�\\3���chatty/gui/components/settings/SettingsDialog.classPKʣGw�e2��+qchatty/gui/components/settings/SettingsPanel.classPḲG^�e��9���{chatty/gui/components/settings/SimpleBooleanSetting.classPḲG���RR6���chatty/gui/components/settings/SimpleListSetting.classPKˣGE��|666��e�chatty/gui/components/settings/SimpleLongSetting.classPḲG�ES�8���chatty/gui/components/settings/SimpleStringSetting.classPḲG�;�KK8��\�chatty/gui/components/settings/SliderLongSetting$1.classPḲG]����6����chatty/gui/components/settings/SliderLongSetting.classPḲG�s4���chatty/gui/components/settings/SoundSettings$1.classPḲGCbº��C��2�chatty/gui/components/settings/SoundSettings$MyButtonListener.classPḲG��D��R�chatty/gui/components/settings/SoundSettings$WavFilenameFilter.classPḲGǑ�BD%D%2��ëchatty/gui/components/settings/SoundSettings.classPKʣG�U}J��2��W�chatty/gui/components/settings/StringSetting.classPKʣG���E����chatty/gui/components/settings/StringTableEditor$MyItemEditor$1.classPKʣG���G		E����chatty/gui/components/settings/StringTableEditor$MyItemEditor$2.classPKʣG%�7>>C��#�chatty/gui/components/settings/StringTableEditor$MyItemEditor.classPKʣG�m�]��C���chatty/gui/components/settings/StringTableEditor$MyTableModel.classPKʣG,08�^^D���chatty/gui/components/settings/StringTableEditor$StringMapItem.classPKʣG3�5+6���chatty/gui/components/settings/StringTableEditor.classPKʣG`����2���chatty/gui/components/settings/TableEditor$1.classPKʣG-r�T��2���chatty/gui/components/settings/TableEditor$2.classPKʣG*�ɼxx2���chatty/gui/components/settings/TableEditor$3.classPKʣGnEL�zz2���chatty/gui/components/settings/TableEditor$4.classPKʣG�Q�	cc=��_$chatty/gui/components/settings/TableEditor$ButtonAction.classPKʣGf\
#��;��-chatty/gui/components/settings/TableEditor$ItemEditor.classPKʣG����A��/chatty/gui/components/settings/TableEditor$TableContextMenu.classPKʣGDX�D��c2chatty/gui/components/settings/TableEditor$TableEditorListener.classPKʣG�Y��?�?0���4chatty/gui/components/settings/TableEditor.classPKˣG��Z@B���tchatty/gui/components/settings/UsercolorEditor$ColorRenderer.classPKˣG|���C��+|chatty/gui/components/settings/UsercolorEditor$ItemIdRenderer.classPKˣG�mVT��C��*�chatty/gui/components/settings/UsercolorEditor$MyItemEditor$1.classPKˣG�F����C��*�chatty/gui/components/settings/UsercolorEditor$MyItemEditor$2.classPKˣG'U�&uuA��H�chatty/gui/components/settings/UsercolorEditor$MyItemEditor.classPKˣGݐ�}}A���chatty/gui/components/settings/UsercolorEditor$MyTableModel.classPKˣGLHB��4����chatty/gui/components/settings/UsercolorEditor.classPKʣGlZ�556���chatty/gui/components/settings/UsercolorSettings.classPKˣGEҴ���5����chatty/gui/components/settings/UsericonEditor$1.classPKˣG�[�̨�C����chatty/gui/components/settings/UsericonEditor$ChannelRenderer.classPKˣG�㵊JJ>����chatty/gui/components/settings/UsericonEditor$IdRenderer.classPKˣG=��G����chatty/gui/components/settings/UsericonEditor$ImageFilenameFilter.classPKˣG��V�ppA���chatty/gui/components/settings/UsericonEditor$ImageRenderer.classPKˣG��((B����chatty/gui/components/settings/UsericonEditor$MyItemEditor$1.classPKˣG�7�OOB��f�chatty/gui/components/settings/UsericonEditor$MyItemEditor$2.classPKˣG��9�B���chatty/gui/components/settings/UsericonEditor$MyItemEditor$3.classPKˣG��hC)C)@����chatty/gui/components/settings/UsericonEditor$MyItemEditor.classPKˣG�1�bb@��� chatty/gui/components/settings/UsericonEditor$MyTableModel.classPKˣG�TAj113��U chatty/gui/components/settings/UsericonEditor.classPḲG�`��3���' chatty/gui/components/settings/WindowSettings.classPḲG@����'��47 chatty/gui/components/settings/edit.pngPḲG���wjj*��2< chatty/gui/components/settings/go-down.pngPḲG�R�mm(���? chatty/gui/components/settings/go-up.pngPḲGg1GP��+���C chatty/gui/components/settings/list-add.pngPḲG��s��.��bE chatty/gui/components/settings/list-remove.pngPḲG�D�)��/���F chatty/gui/components/settings/view-refresh.pngPKˣG���#��,���J chatty/gui/components/srl/RacesTable$1.classPKˣG������@���K chatty/gui/components/srl/RacesTable$MyContextMenuListener.classPKˣG�7i��:���T chatty/gui/components/srl/RacesTable$MyMouseListener.classPKˣGt?E9��3���_ chatty/gui/components/srl/RacesTable$MySorter.classPKˣGl~]�qq7���e chatty/gui/components/srl/RacesTable$MyTableModel.classPKˣGٞt=���m chatty/gui/components/srl/RacesTable$RacesTableListener.classPKˣGa��;;8���n chatty/gui/components/srl/RacesTable$StateRenderer.classPKˣG�f����2���u chatty/gui/components/srl/RacesTable$Updater.classPKˣG�ҝF__*���z chatty/gui/components/srl/RacesTable.classPKʣG���''%��R� chatty/gui/components/srl/SRL$1.classPKʣGJ<77%���� chatty/gui/components/srl/SRL$2.classPKʣGŬ����=��6� chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$1.classPKʣG���7��=��a� chatty/gui/components/srl/SRL$MySpeedrunsLiveListener$2.classPKʣGг���;���� chatty/gui/components/srl/SRL$MySpeedrunsLiveListener.classPKʣG������#��y� chatty/gui/components/srl/SRL.classPKˣGjS�R��)��T� chatty/gui/components/srl/SRLRace$1.classPKˣGJ��ii9��{� chatty/gui/components/srl/SRLRace$ContextMenuOpener.classPKˣG�瘕113��;� chatty/gui/components/srl/SRLRace$MouseClicks.classPKˣG�4��;���� chatty/gui/components/srl/SRLRace$MyLinkLabelListener.classPKˣGn��_..6���� chatty/gui/components/srl/SRLRace$MyLinkListener.classPKˣG����UU4��j� chatty/gui/components/srl/SRLRace$MyTableModel.classPKˣG����5��� chatty/gui/components/srl/SRLRace$PlaceRenderer.classPKˣG*�vG��3��6� chatty/gui/components/srl/SRLRace$PlaceSorter.classPKˣG=<�Z\\?��h� chatty/gui/components/srl/SRLRace$RaceContextMenuListener.classPKˣG"Wj}UU5��!� chatty/gui/components/srl/SRLRace$StateRenderer.classPKˣG����3��� chatty/gui/components/srl/SRLRace$UpdateTimer.classPKˣG�?W>#>#'��!chatty/gui/components/srl/SRLRace.classPKˣG�5��/���#!chatty/gui/components/srl/SRLRaceFinder$1.classPKˣG7�:�JJ/���'!chatty/gui/components/srl/SRLRaceFinder$2.classPKˣGbi���-���+!chatty/gui/components/srl/SRLRaceFinder.classPKˣG+�����*���<!chatty/gui/components/srl/SRLRaces$1.classPKˣGM��QQ5���@!chatty/gui/components/srl/SRLRaces$ButtonAction.classPKˣG�	���(���F!chatty/gui/components/srl/SRLRaces.classPḲG\u�g��*��nV!chatty/gui/components/srl/view-refresh.pngPḲG�#6��[Y!chatty/gui/components/tabs/DraggableTabbedPane$1.classPḲG���BBB6���d!chatty/gui/components/tabs/DraggableTabbedPane$2.classPḲGz9)���6��Ql!chatty/gui/components/tabs/DraggableTabbedPane$3.classPḲG�}���4���p!chatty/gui/components/tabs/DraggableTabbedPane.classPKʣGܤ�ptt'��s�!chatty/gui/components/tabs/Tabs$1.classPKʣG@}w��'��,�!chatty/gui/components/tabs/Tabs$2.classPKʣG��Ozz.��i�!chatty/gui/components/tabs/Tabs$TabOrder.classPKʣGxΎ��%��/�!chatty/gui/components/tabs/Tabs.classPKʣGO���ii6��l�!chatty/gui/components/textpane/ChannelTextPane$1.classPKʣG��a�6��)�!chatty/gui/components/textpane/ChannelTextPane$2.classPKʣG�*S==>����!chatty/gui/components/textpane/ChannelTextPane$Attribute.classPKʣG^����D��$�!chatty/gui/components/textpane/ChannelTextPane$LineSelection$1.classPKʣG1+�7��D��:�!chatty/gui/components/textpane/ChannelTextPane$LineSelection$2.classPKʣGy�A���D��`�!chatty/gui/components/textpane/ChannelTextPane$LineSelection$3.classPKʣGW�����D����!chatty/gui/components/textpane/ChannelTextPane$LineSelection$4.classPKʣG��A��D����!chatty/gui/components/textpane/ChannelTextPane$LineSelection$5.classPKʣGV�`���D����!chatty/gui/components/textpane/ChannelTextPane$LineSelection$6.classPKʣG�<�r��D���!chatty/gui/components/textpane/ChannelTextPane$LineSelection$7.classPKʣG	�\D��+�!chatty/gui/components/textpane/ChannelTextPane$LineSelection$8.classPKʣG�;S1�%�%B����!chatty/gui/components/textpane/ChannelTextPane$LineSelection.classPKʣG���88@���"chatty/gui/components/textpane/ChannelTextPane$MessageType.classPKʣG�is�XXD��4"chatty/gui/components/textpane/ChannelTextPane$ScrollManager$1.classPKʣG��g�eeD���"chatty/gui/components/textpane/ChannelTextPane$ScrollManager$2.classPKʣG�}����D���$"chatty/gui/components/textpane/ChannelTextPane$ScrollManager$3.classPKʣG��VVD���*"chatty/gui/components/textpane/ChannelTextPane$ScrollManager$4.classPKʣG*n>b'b'B���1"chatty/gui/components/textpane/ChannelTextPane$ScrollManager.classPKʣG��{��<��kY"chatty/gui/components/textpane/ChannelTextPane$Setting.classPKʣGAv��A���b"chatty/gui/components/textpane/ChannelTextPane$SpecialColor.classPKʣG� p��=��h"chatty/gui/components/textpane/ChannelTextPane$Styles$1.classPKʣG֤���?�?;��#m"chatty/gui/components/textpane/ChannelTextPane$Styles.classPKʣGt�����4��p�"chatty/gui/components/textpane/ChannelTextPane.classPḲG5�4C��0���@#chatty/gui/components/textpane/ChatBoxView.classPKˣGA�Ü��3���D#chatty/gui/components/textpane/LinkController.classPḲG��җ��/���d#chatty/gui/components/textpane/MyDocument.classPḲG��1B��Sk#chatty/gui/components/textpane/MyEditorKit$StyledViewFactory.classPḲG��)��0���q#chatty/gui/components/textpane/MyEditorKit.classPḲG;����/���t#chatty/gui/components/textpane/MyIconView.classPḲG_��O��C���y#chatty/gui/components/textpane/MyParagraphView$MyFlowStrategy.classPḲG�Ŭ884��+~#chatty/gui/components/textpane/MyParagraphView.classPḲG�(�\��2����#chatty/gui/components/textpane/WrapLabelView.classPḲG\u�g��&����#chatty/gui/components/view-refresh.pngPḲGr$�������#chatty/gui/help-browser.pngPḲG)������`�#chatty/gui/icon_admin.pngPḲG�������#chatty/gui/icon_bot.pngPḲGq�><22��ܑ#chatty/gui/icon_broadcaster.pngPḲG�Y�4uu��K�#chatty/gui/icon_globalmod.pngPḲGa��::����#chatty/gui/icon_mod.pngPḲG8ȍ�����j�#chatty/gui/icon_staff.pngPḲGt������>�#chatty/gui/icon_sub.pngPḲGo7������#chatty/gui/icon_turbo.pngPKʣG��S��-���#chatty/gui/notifications/Notification$1.classPKʣG�|&[[-��&�#chatty/gui/notifications/Notification$2.classPKʣG� ��-��̥#chatty/gui/notifications/Notification$3.classPKʣG����-��"�#chatty/gui/notifications/Notification$4.classPKʣG��4-��|�#chatty/gui/notifications/Notification$5.classPKʣG��#qpp-��ׯ#chatty/gui/notifications/Notification$6.classPKʣG��U���6����#chatty/gui/notifications/Notification$HideMethod.classPKʣGK'C>����#chatty/gui/notifications/Notification$MyActivityListener.classPKʣG$�o9k-k-+����#chatty/gui/notifications/Notification.classPKʣG�!��##9����#chatty/gui/notifications/NotificationActionListener.classPKʣGV�=��3��,�#chatty/gui/notifications/NotificationListener.classPKʣGl�mm4��w�#chatty/gui/notifications/NotificationManager$1.classPKʣG�ˇoo4��6�#chatty/gui/notifications/NotificationManager$2.classPKʣG��,/'/'2����#chatty/gui/notifications/NotificationManager.classPḲG���#��v$chatty/gui/notifications/app_16.pngPḲG��۪cc!���"$chatty/gui/preferences-system.pngPḲG��á����g%$chatty/gui/star.pngPKʣG�c��"��O($chatty/util/ActivityListener.classPḲG�P�N{{#��%)$chatty/util/ActivityTracker$1.classPḲG/���tt#���+$chatty/util/ActivityTracker$2.classPḲG����

!���.$chatty/util/ActivityTracker.classPKʣG��������;$chatty/util/BTTVEmotes$1.classPKʣG��m��"�"��A$chatty/util/BTTVEmotes.classPKʣG5��ee��#d$chatty/util/BackupManager.classPKˣGg�������|$chatty/util/BitEncoder.classPKʣG�0��́$chatty/util/BotNameManager$BotNameListener.classPKʣGҌ�zSS ��6�$chatty/util/BotNameManager.classPKʣG0y�(%��Ǐ$chatty/util/DateTime$Formatting.classPKʣG_�,7RR��)�$chatty/util/DateTime.classPKʣG	3M{��&����$chatty/util/DelayedActionQueue$1.classPKʣGtZntt:��ܴ$chatty/util/DelayedActionQueue$DelayedActionListener.classPKʣG���]]+����$chatty/util/DelayedActionQueue$Reader.classPKʣG�l��$��N�$chatty/util/DelayedActionQueue.classPKʣGf)S�xx"����$chatty/util/EmoticonListener.classPḲG�A)��=�$chatty/util/FileWatcher$1.classPḲG���1���$chatty/util/FileWatcher$FileChangedListener.classPḲG�iİ����$chatty/util/FileWatcher.classPKʣG�#�r{{ ���$chatty/util/FrankerFaceZ$1.classPKʣG@
��� ����$chatty/util/FrankerFaceZ$2.classPKʣG�ڢ�� ���$chatty/util/FrankerFaceZ$3.classPKʣG�A�]]#����$chatty/util/FrankerFaceZ$Type.classPKʣGU��^�!�!��t�$chatty/util/FrankerFaceZ.classPKʣG�lC^��&��=%chatty/util/FrankerFaceZListener.classPḲG�zq��%��%chatty/util/FrankerFaceZParsing.classPḲG�!].�'�'���7%chatty/util/ImageCache.classPḲG�5�����`%chatty/util/JSONUtil.classPKʣG��-���0��d%chatty/util/Livestreamer$InputStreamHelper.classPKʣG�;�BB3���l%chatty/util/Livestreamer$LivestreamerListener.classPKʣG3�@���n%chatty/util/Livestreamer.classPḲGҨ����ہ%chatty/util/LogUtil$1.classPḲGq�������%chatty/util/LogUtil$2.classPḲG���
�
��"�%chatty/util/LogUtil.classPḲG񽯟nn����%chatty/util/MiscUtil.classPḲG�^���#����%chatty/util/ParameterReplacer.classPKʣGa��������%chatty/util/Replacer.classPKʣG�K�}}��ұ%chatty/util/RingBuffer.classPKʣGg�@������%chatty/util/SimpleCache.classPḲG���LL��o�%chatty/util/Sound.classPKʣG� ������%chatty/util/Speedruncom.classPKʣGf�R���'����%chatty/util/StreamHighlightHelper.classPKʣGlt")���%chatty/util/StreamStatusWriter$Item.classPKʣGd�w�$��*�%chatty/util/StreamStatusWriter.classPḲG .�XX��s&chatty/util/StringUtil.classPKʣGpH�d88��&&chatty/util/TimedCounter.classPKʣG�X�-- ��y,&chatty/util/TwitchEmotes$1.classPKʣG�E#__3���0&chatty/util/TwitchEmotes$TwitchEmotesListener.classPKʣG���?�����2&chatty/util/TwitchEmotes.classPḲG
�C����~F&chatty/util/UrlRequest.classPKʣG#�����WY&chatty/util/Webserver$1.classPKʣG[Juff/��I^&chatty/util/Webserver$WebserverConnection.classPKʣGod��]]-���u&chatty/util/Webserver$WebserverListener.classPKʣG�i������w&chatty/util/Webserver.classPKʣG��ӈ���Ή&chatty/util/WrapHistory.classPKɣG��ff!����&chatty/util/api/ChannelInfo.classPKʣG���� ��6�&chatty/util/api/Emoticon$1.classPKʣG���66&��C�&chatty/util/api/Emoticon$Builder.classPKʣG	�,,,����&chatty/util/api/Emoticon$EmoticonImage.classPKʣG0��%��+��3�&chatty/util/api/Emoticon$EmoticonUser.classPKʣG�5���)��a�&chatty/util/api/Emoticon$IconLoader.classPKɣG*B�&��@�&chatty/util/api/Emoticon$SubType.classPKɣG�@���#����&chatty/util/api/Emoticon$Type.classPKʣG;hW��5�5��Z�&chatty/util/api/Emoticon.classPKɣGѼ�'!!%���#'chatty/util/api/EmoticonManager.classPḲG'�K``'���:'chatty/util/api/EmoticonSizeCache.classPKʣG�,,$���L'chatty/util/api/EmoticonUpdate.classPKʣGs�y��(���Q'chatty/util/api/Emoticons$Favorite.classPKʣG��(���W'chatty/util/api/Emoticons$TagEmote.classPKʣG)EJ�bb)��['chatty/util/api/Emoticons$TagEmotes.classPKʣG�e�b�\�\���`'chatty/util/api/Emoticons.classPKɣGI7/�qq��˽'chatty/util/api/Follower.classPKɣGDșg��"��x�'chatty/util/api/FollowerInfo.classPKɣG�ff*��R�'chatty/util/api/FollowerManager$Type.classPKɣG�K�� � %���'chatty/util/api/FollowerManager.classPKɣG�k;��-��"�'chatty/util/api/StreamInfo$UpdateResult.classPKɣG�&�'',���'chatty/util/api/StreamInfo$ViewerStats.classPKɣG�w���+�+ ����'chatty/util/api/StreamInfo.classPKʣG85"Р�+���#(chatty/util/api/StreamInfoHistoryItem.classPKɣG�_x](���*(chatty/util/api/StreamInfoListener.classPKɣGf�|00'���+(chatty/util/api/StreamInfoManager.classPKɣGH��::��J\(chatty/util/api/TokenInfo.classPKɣG�m��+���_(chatty/util/api/TwitchApi$RequestType.classPKɣG�:o�P�P���f(chatty/util/api/TwitchApi.classPḲG�ŏ���&��˷(chatty/util/api/TwitchApiRequest.classPKɣG��\��-����(chatty/util/api/TwitchApiResultListener.classPḲG	���������(chatty/util/api/Util.classPKʣG�tnn)����(chatty/util/chatlog/ChatLog$Compact.classPKʣG2�Y��!����(chatty/util/chatlog/ChatLog.classPKʣG��ﴢ�!��\)chatty/util/chatlog/LogFile.classPKʣG��bb$��=)chatty/util/chatlog/LogManager.classPKʣGg*X"!!+���)chatty/util/chatlog/LogWriter$LogItem.classPKʣG!2f��#��K!)chatty/util/chatlog/LogWriter.classPKˣG�3X�++A��u:)chatty/util/hotkeys/GlobalHotkeySetter$GlobalHotkeyListener.classPKˣG�ע�!!,���;)chatty/util/hotkeys/GlobalHotkeySetter.classPKʣG�LF��%��jO)chatty/util/hotkeys/Hotkey$Type.classPKʣG����� ��TV)chatty/util/hotkeys/Hotkey.classPKˣGmC�	  &���^)chatty/util/hotkeys/HotkeyAction.classPKʣG\��@@)���`)chatty/util/hotkeys/HotkeyManager$2.classPKʣG�D�cc)��md)chatty/util/hotkeys/HotkeyManager$3.classPKʣG�gP�2�2'��j)chatty/util/hotkeys/HotkeyManager.classPKʣG�	ك��"��C�)chatty/util/settings/Setting.classPKʣG,�E���0��O�)chatty/util/settings/SettingChangeListener.classPḲG��TK��7��q�)chatty/util/settings/SettingFileNotFoundException.classPḲG�C���3��o�)chatty/util/settings/SettingNotFoundException.classPKʣGu��2XX#����)chatty/util/settings/Settings.classPKʣGC_�1��+��*chatty/util/settings/SettingsListener.classPKʣGД*d)��*chatty/util/settings/SubtypeSetting.classPKʣG,���"���*chatty/util/srl/Race$Entrant.classPKʣG8`�y����v*chatty/util/srl/Race.classPKʣG������%���*chatty/util/srl/SpeedrunsLive$1.classPKʣG?u����8���*chatty/util/srl/SpeedrunsLive$SpeedrunsLiveRequest.classPKʣG�C���#���*chatty/util/srl/SpeedrunsLive.classPKʣGlGl'##+��r7*chatty/util/srl/SpeedrunsLiveListener.classPḲG4,
VV���8*chatty/util/token_received.htmlPḲGα	6]]+��q<*chatty/util/token_received_no_redirect.htmlPḲG$�����?*chatty/util/token_redirect.htmlPKnnq2G*

Comments