acm/                                                                                                000755  000766  000024  00000000000 11166064600 012073  5                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                         acm/graphics/                                                                                       000755  000766  000024  00000000000 11166064600 013673  5                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                         acm/gui/                                                                                            000755  000766  000024  00000000000 11166064600 012657  5                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                         acm/io/                                                                                             000755  000766  000024  00000000000 11166064600 012502  5                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                         acm/program/                                                                                        000755  000766  000024  00000000000 11166064600 013542  5                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                         acm/util/                                                                                           000755  000766  000024  00000000000 11166064600 013050  5                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                         acm/util/Animator.class                                                                             000644  000766  000024  00000010323 11166064600 015650  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V INITIAL I     RUNNING    STEPPING    CALLING    STOPPING    STOPPED    FINISHED    TERMINATING    <init>   java/lang/Thread 
   
animatorState   acm/util/Animator 	   currentDepth  	   	callDepth ! 	  " 
delayCount $ 	  %?       
animatorSpeed D ) *	  + initAnimator - 
  . Code (Ljava/lang/ThreadGroup;)V .(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V  2
  3 (Ljava/lang/Runnable;)V  5
  6 run getAnimatorState ()I pause (D)V 	terminate = 
  > ; < acm/util/JTFTools A
 B @ startAction start (I)V E F
  G 
stopAction 
stepAction 
callAction buttonAction (Ljava/lang/String;)Z Start N equals (Ljava/lang/Object;)Z P Q java/lang/String S
 T R D 
  V Stop X I 
  Z Step \ J 
  ^ Call ` K 
  b setSpeed getSpeed ()D trace g F
  h 
currentThread ()Ljava/lang/Thread; j k
  l acm/util/ErrorException n 8trace() can be called only by the animator thread itself p (Ljava/lang/String;)V  r
 o s delay u 
  v 
breakpoint x 
  y =breakpoint() can be called only by the animator thread itself { 	breakHook } 
  ~ suspendAnimator  
  ?      @@           ?@i      ? sqrt (D)D   java/lang/Math 
  i      @X\(@V      	delayHook  
   registerSpeedBar (Ljavax/swing/JSlider;)V register ((Lacm/util/Animator;Ljava/lang/Object;)V   acm/util/SpeedBarListener 
   (Ljavax/swing/JScrollBar;)V (Ljava/lang/Object;)V requestTermination checkForTermination yield  
   
resumeHook controllerHook 	getApplet ()Ljava/applet/Applet;  
 B  registerApplet )(Ljava/applet/Applet;Ljava/lang/Thread;)V  
 B   
    
   E 
   resumeAnimator  
   resumed Z  	   java/lang/InterruptedException  wait   java/lang/Object 
   	notifyAll  
   java/lang/ThreadDeath 
   Illegal call to terminate  
SLOW_DELAY 
CLIP_DELAY 
FAST_DELAY         
ConstantValue 
SourceFile 
Animator.java !                                	  
                
                              *         *         *                  !     $     ) *        !     0   0     $* * *  * #* &* ' ,* /       1  0   2     &*+ 4* *  * #* &* ' ,* /       5  0   1     %*+ 7* *  * #* &* ' ,* /       2  0   2     &*+, 4* *  * #* &* ' ,* /      8   0   
            9 :  0        *       ; <  0        *  * ?' C      D   0        * H      I   0   5     )*       $               *        J   0        * H      K   0        **   #* H      L M  0   P     D+O U 
* W 5+Y U 
* [ %+] U 
* _ +a U 
* c       d <  0        *' ,      e f  0        * ,      g   0        * i      g F  0        s m* 
 oYq t*  *     X         *   1   8   1   X   X   Q* w ** z #* #*   
* w * z 
* ?       x   0   +      m* 
 oY| t* * *       u   0  P    D<I* ,   * , o kcI* ,   * , g o  kcI * , k g           	   6   ;   N   a   s               < * &
p  < * &p  < u* &p  < c* &p  < Q* &p  < ?* &p  < -* &p  < * &p  < < ** &`p & * ( C         0        *+          0        *+          0        *+          0        *          0         *  
* ?           0   
            }   0   
               0   
               0   
            E   0        * H      -   0         L+ +*       E F  0   e     Y*       T          ,   T   T   T   T   @   ,* * * *  * * * *           0   C     '*L+* ç * ʧ W * Ù+ç +ÿ        #         0   *     *L+* * +ç +ÿ   
       =   0   %      m*  Y п oYҷ t                                                                                                                                                                                                                                                                                                                       acm/util/CancelledException.class                                                                   000644  000766  000024  00000000322 11166064600 017625  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - 
 <clinit> ()V <init>   java/lang/RuntimeException 
   Code 
SourceFile acm/util/CancelledException 
 CancelledException.java !                    *       	                                                                                                                                                                                                                                                                                                                  acm/util/EmptyContainer.class                                                                       000644  000766  000024  00000000420 11166064600 017034  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V update (Ljava/awt/Graphics;)V paint   java/awt/Container 
   Code <init>  
   
SourceFile acm/util/EmptyContainer  
JTFTools.java              
        *+ 	          
        * 
                                                                                                                                                                                                                                                          acm/util/ErrorException.class                                                                       000644  000766  000024  00000001301 11166064600 017042  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - 2 <clinit> ()V <init> (Ljava/lang/String;)V   java/lang/RuntimeException 
   Code (Ljava/lang/Exception;)V java/lang/StringBuffer  getClass ()Ljava/lang/Class; 
  java/lang/Object 
   getName ()Ljava/lang/String;   java/lang/Class 
   valueOf &(Ljava/lang/Object;)Ljava/lang/String;   java/lang/String 
  
   :    append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; " #
  $ 
getMessage &  java/lang/Throwable (
 ) ' toString + 
  , 
SourceFile acm/util/ErrorException / ErrorException.java ! 0           	        *+        
  	   1     %* Y+    ! %+ * % -       .    1                                                                                                                                                                                                                                                                                                                               acm/util/HexInputStream.class                                                                       000644  000766  000024  00000001162 11166064600 017017  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - , <clinit> ()V <init> ([Ljava/lang/String;)V   java/io/InputStream 
   hex [Ljava/lang/String; 	 
 acm/util/HexInputStream 	 
  
arrayIndex I  	 
  	charIndex  	 
  Code read ()I length   java/lang/String 
    
 
  charAt (I)C   !
  " digit (CI)I $ % java/lang/Character '
 ( & 
SourceFile MediaTools.java   
      	 
                           * *+ * *                  u* *  * * * 2  *Y ` * * * * 2*Y Z`  # )x<* * 2*Y Z`  # )<      *    +                                                                                                                                                                                                                                                                                                                                                                                                              acm/util/JTFTools.class                                                                             000644  000766  000024  00000015314 11166064600 015547  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V fontFamilyTableInitialized Z   acm/util/JTFTools 	   fontFamilyTable Ljava/util/Hashtable; 	 
	   java/util/Hashtable 
 <init>  
   appletTable  
	   mostRecentApplet Ljava/applet/Applet;  	   java/lang/String  Serif  Times  
TimesRoman  Times-Roman ! SERIF_SUBSTITUTIONS [Ljava/lang/String; # $	  % 	SansSerif ' 	Helvetica ) Arial + SANSSERIF_SUBSTITUTIONS - $	  . 
Monospaced 0 Courier 2 Monaco 4 MONOSPACED_SUBSTITUTIONS 6 $	  7 Code createEmptyContainer ()Ljava/awt/Container; acm/util/EmptyContainer <
 =  getEnclosingFrame &(Ljava/awt/Component;)Ljava/awt/Frame; 	getParent A ; java/awt/Component C
 D B java/awt/Frame F getStandardFont  (Ljava/awt/Font;)Ljava/awt/Font; initFontFamilyTable J 
  K 	getFamily ()Ljava/lang/String; M N 
java/awt/Font P
 Q O trimFamilyName &(Ljava/lang/String;)Ljava/lang/String; S T
  U get &(Ljava/lang/Object;)Ljava/lang/Object; W X
  Y equals (Ljava/lang/Object;)Z [ \
  ] !getFirstAvailableFontSubstitution '([Ljava/lang/String;)Ljava/lang/String; _ `
  a getStyle ()I c d
 Q e getSize g d
 Q h (Ljava/lang/String;II)V  j
 Q k 
decodeFont #(Ljava/lang/String;)Ljava/awt/Font; 2(Ljava/lang/String;Ljava/awt/Font;)Ljava/awt/Font; m o
  p indexOf (I)I r s
  t 	substring (II)Ljava/lang/String; v w
  x (I)Ljava/lang/String; v z
  { toLowerCase } N
  ~ *  plain  bold  italic  
bolditalic  acm/util/ErrorException  Illegal font style  (Ljava/lang/String;)V  
   java/lang/NumberFormatException  valueOf '(Ljava/lang/String;)Ljava/lang/Integer;   java/lang/Integer 
   intValue  d
   Illegal font size  Default  getName  N
 Q  H I
   decodeColor $(Ljava/lang/String;)Ljava/awt/Color; desktop  equalsIgnoreCase (Ljava/lang/String;)Z  
   Ljava/awt/SystemColor;   java/awt/SystemColor 	   
activeCaption   	   activeCaptionText   	   activeCaptionBorder   	   inactiveCaption   	   inactiveCaptionText   	   inactiveCaptionBorder   	   window   	   windowBorder   	   
windowText   	   menu   	   menuText   	   text   	   textText   	   
textHighlight   	   textHighlightText   	   textInactiveText   	   control   	   controlText   	   controlHighlight   	   controlLtHighlight   	   
controlShadow 	  controlDkShadow 	  	scrollbar

 	  info 	  infoText 	  black Ljava/awt/Color; java/awt/Color	 blue	 cyan!!	# darkGray%%	' 	DARK_GRAY) gray++	- green//	1 	lightGray33	5 
LIGHT_GRAY7 magenta99	; orange==	? pinkAA	C redEE	G whiteII	K yellowMM	O decodeQ 
R Illegal color valueT registerApplet (Ljava/applet/Applet;)V 
currentThread ()Ljava/lang/Thread;XY java/lang/Thread[
\Z )(Ljava/applet/Applet;Ljava/lang/Thread;)VV^
 _ put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;ab
 c 	getApplet ()Ljava/applet/Applet; java/applet/Appletg pause (D)V java/lang/InterruptedExceptionkA.     round (D)Jop java/lang/Mathr
sq sleep (JI)Vuv
\w terminateAppletThreads java/lang/Exceptionz java.lang.Thread| forName %(Ljava/lang/String;)Ljava/lang/Class;~ java/lang/Class
 stop 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
 elements ()Ljava/util/Enumeration;
  nextElement ()Ljava/lang/Object; java/util/Enumeration isAlive ()Z
\ isAnonymous (Ljava/lang/Thread;)Z
  java/lang/Object invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java/lang/reflect/Method
 hasMoreElements
\  Thread- 
startsWith 
  charAt (I)C
  isDigit (C)Z java/lang/Character
 length d
  java.awt.Toolkit getFontList getDefaultToolkit ()Ljava/awt/Toolkit; java/awt/Toolkit
 $ serif 	sansserif 
monospaced   java/lang/StringBuffer &(Ljava/lang/Object;)Ljava/lang/String; 
 
  (C)C }
 append (C)Ljava/lang/StringBuffer;
 toString N

  
SourceFile 
JTFTools.java !     
     
 	 
   
  
   
      # $    - $    6 $        9   j      ^   Y    YSYSY SY"S & Y(SY*SY,S / Y1SY3SY5S 8     	 : ;  9          =Y >     	 ? @  9   $      * EK* 
* G* G     	 H I  9           L* 	  ** RL + V Z *+ ^ + ^ 
 & bL ++( ^ 
 / bL +1 ^ 
 8 bL *+ * QY+* f* i l     	 m n  9        * q     	 m o  9  2    *M>6*- u6 * yM*` |K*- u6 t* y : ^ + + f> I ^ > : ^ > + ^ >  ^ > 
 Y *` |K* ^ + + i6 *  6 W Y , ^ +  + M '   L   , V Z M, M QY, l         	    9  N    :*   *   *   *   *   *ö   Ű*Ƕ   ɰ*˶   Ͱ*϶   Ѱ*Ӷ   հ*׶   ٰ*۶   ݰ*߶   *   *   *   *   *   *   *   *  *  *  	*  
*  *  *  *   *"  $*&  (**  (*,  .*0  2*4  6*8  6*:  <*>  @*B  D*F  H*J  L*N  P*SW YU  )..    	VW  9        *]`*      	V^  9        
 +*dW     	ef  9   #      ] ZhK*  K*     	ij  9   Q     = ] ZhM,  M ],dW&>&gmkt6x W    8 ;l   	yW  9        m]L}M,N : ? \:+ - % *  Zh -W  W    h k{   	  9   =     1*L+ = + +     
 J   9         K*L+M Y  >  ,2 V,2dW, Ʋ & bdW Ȳ / bdW ʲ 8 bdW W    ~ {   
 _ `  9   /     #<  *2 V Z *2*     
 S T  9   J     >L= .*>  - Y+ѷնٶL*+         9        *ݱ                                                                                                                                                                                                                                                                                                                            acm/util/MediaTools.class                                                                           000644  000766  000024  00000014047 11166064600 016145  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -C <clinit> ()V cachingEnabled Z   acm/util/MediaTools 	   java/util/HashMap 	 <init>  
 
  
imageTable Ljava/util/HashMap;  	   audioClipTable  	  
   getClass ()Ljava/lang/Class;   java/lang/Object 
   RESOURCE_CLASS Ljava/lang/Class;  	   Code DEFAULT_IMAGE_PATH Ljava/lang/String; .:images # DEFAULT_AUDIO_PATH .:sounds &
   	loadImage $(Ljava/lang/String;)Ljava/awt/Image; 6(Ljava/lang/String;Ljava/lang/String;)Ljava/awt/Image; ) +
  , get &(Ljava/lang/Object;)Ljava/lang/Object; . /
 
 0 java/awt/Image 2 .gif 4 endsWith (Ljava/lang/String;)Z 6 7 java/lang/String 9
 : 8 java/lang/Exception < java/lang/StringBuffer > images. @ (Ljava/lang/String;)V  B
 ? C length ()I E F
 : G 	substring (II)Ljava/lang/String; I J
 : K append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; M N
 ? O toString ()Ljava/lang/String; Q R
 ? S forName %(Ljava/lang/String;)Ljava/lang/Class; U V java/lang/Class X
 Y W newInstance ()Ljava/lang/Object; [ \
 Y ] getImage _ 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; a b
 Y c invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; e f java/lang/reflect/Method h
 i g getDefaultToolkit ()Ljava/awt/Toolkit; k l java/awt/Toolkit n
 o m java/util/StringTokenizer q : s '(Ljava/lang/String;Ljava/lang/String;)V  u
 r v 	nextToken x R
 r y . { equals (Ljava/lang/Object;)Z } ~
 :     valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
 :  /  getResource "(Ljava/lang/String;)Ljava/net/URL;  
 Y  openConnection ()Ljava/net/URLConnection;   java/net/URL 
   getContentLength  F java/net/URLConnection 
   	getApplet ()Ljava/applet/Applet;   acm/util/JTFTools 
   getCodeBase ()Ljava/net/URL;   java/applet/Applet 
   java/net/MalformedURLException  #(Ljava/net/URL;Ljava/lang/String;)V  
   java/lang/SecurityException  java/io/File 
  C canRead ()Z  
   _ *
 o  java/io/IOException  
getContent  \
   java/awt/image/ImageProducer  createImage 0(Ljava/awt/image/ImageProducer;)Ljava/awt/Image;  
 o   (Ljava/net/URL;)Ljava/awt/Image; _ 
 o  
hasMoreTokens  
 r  acm/util/ErrorException  Cannot find an image named  
  C "(Ljava/awt/Image;)Ljava/awt/Image; ) 
   put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;  
 
  java/awt/MediaTracker  createEmptyContainer ()Ljava/awt/Container;  
   (Ljava/awt/Component;)V  
   addImage (Ljava/awt/Image;I)V  
   java/lang/InterruptedException  	waitForID (I)V  
   !Image loading process interrupted  defineImage %(Ljava/lang/String;Ljava/awt/Image;)V 
flushImage remove  /
 
  ([III)Ljava/awt/Image;  java/awt/image/MemoryImageSource  	(II[III)V  
   '(Ljava/io/InputStream;)Ljava/awt/Image; java/io/ByteArrayOutputStream 
   read  F java/io/InputStream 
   write  
   toByteArray ()[B  
   ([B)Ljava/awt/Image; 
 o Exception:  ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; M
 ? %([Ljava/lang/String;)Ljava/awt/Image; acm/util/HexInputStream ([Ljava/lang/String;)V 
  
  
loadAudioClip +(Ljava/lang/String;)Ljava/applet/AudioClip; =(Ljava/lang/String;Ljava/lang/String;)Ljava/applet/AudioClip;
  java/applet/AudioClip .au sounds. getAudioClip java/io/FileInputStream (Ljava/io/File;)V !
 " createAudioClip .(Ljava/io/InputStream;)Ljava/applet/AudioClip;$%
 &  Cannot find an audio clip named ( defineAudioClip ,(Ljava/lang/String;Ljava/applet/AudioClip;)V flushAudioClip acm/util/SunAudioClip- (Ljava/io/InputStream;)V /
.0 acm/util/NullAudioClip2
3  ,([Ljava/lang/String;)Ljava/applet/AudioClip; getHexInputStream *([Ljava/lang/String;)Ljava/io/InputStream; setCachingEnabled (Z)V isCachingEnabled getImageObserver ()Ljava/awt/Component; beep= 
 o> 
ConstantValue 
SourceFile MediaTools.java !       ! " @    $  % " @    ' 
     
     
                   2      &  
Y 
  
Y 
  Y                     * (     	 ) *           *$ -     	 ) +       
   * 1 3M, ,*5 ; F ?YA D** Hd L P T ZN- ^:-` Y d:  j 3W  pN rY+t w:: z:|    ?Y  D P T::6  ?Y D P* P T : :   	: 
6 W > : 4 :		 ( Y	 ?Y  D* P T : W  B Y ?Y  D* P T   e- ?Y  D* P T M JW F :   2 :		  -	  M 	 - M W ,  Ě,  Y ?Yȷ D* P T ɿ, W   *, W,   Y Y =    =  %]` d    	 )       :     & Y ַ L+* +  W Y ɿ*        	             
 *+ W     	  B           	 * W     	              p Y*       	        X     D Y L* = 
+ * = p+L Y ?Y D+	 T ɿ    * * =   	 
           Y*     	           *'     	       	  ײ * 1M, ,* ; H ?Y D** Hd L P T ZN- ^:- Y d:  jW  rY+t wN3- z:|    ?Y  D P T::6  ?Y D P* P T : :   	: 
6 W > : 4 : ( Y ?Y  D* P T : W  ; Y ?Y  D* P T :  [ Y#'M KW G :   3 : M    'M W , 
- Ě,  Y ?Y) D* P T ɿ   *, W,   \ \ =    =  "SV =Z    	*+           
 *+ W     	, B           	 * W     	$%      &     .Y*1W3Y4    	 	 =   	$5           Y*'     	67           	Y*     	89                 	:                   	;<             ְ     	=              p?     A   B                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         acm/util/NullAudioClip.class                                                                        000644  000766  000024  00000000476 11166064600 016612  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V play Code loop stop <init>   java/lang/Object 	
 
  
SourceFile acm/util/NullAudioClip 
 java/applet/AudioClip  MediaTools.java    
             
                  
                  
                        *                                                                                                                                                                                                             acm/util/OptionTable.class                                                                          000644  000766  000024  00000005140 11166064600 016317  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Ljava/lang/String;)V ((Ljava/lang/String;[Ljava/lang/String;)V   acm/util/OptionTable 
   Code   java/util/HashMap 
 
  java/io/IOException  createTokenizer -(Ljava/lang/String;)Ljava/io/StreamTokenizer;  
   	nextToken ()I   java/io/StreamTokenizer 
   acm/util/ErrorException  java/lang/StringBuffer  Illegal option string:    
  ! append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; # $
  % toString ()Ljava/lang/String; ' (
  )
  ! sval Ljava/lang/String; , -	  . 	keyExists ((Ljava/lang/String;[Ljava/lang/String;)Z 0 1
  2 Unrecognized option:  4 put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 6 7
 
 8   : (Ljava/util/Map;)V keySet ()Ljava/util/Set; = > 
java/util/Map @ A ? java/util/Iterator C next ()Ljava/lang/Object; E F D G java/lang/String I get &(Ljava/lang/Object;)Ljava/lang/Object; K L A M hasNext ()Z O P D Q isSpecified (Ljava/lang/String;)Z containsKey (Ljava/lang/Object;)Z U V
 
 W 	getOption &(Ljava/lang/String;)Ljava/lang/String; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; Y [
  \
 
 M equals _ V
 J ` getIntOption (Ljava/lang/String;)I (Ljava/lang/String;I)I b d
  e decode '(Ljava/lang/String;)Ljava/lang/Integer; g h java/lang/Integer j
 k i intValue m 
 k n getDoubleOption (Ljava/lang/String;)D (Ljava/lang/String;D)D p r
  s valueOf &(Ljava/lang/String;)Ljava/lang/Double; u v java/lang/Double x
 y w doubleValue ()D { |
 y } java/io/StringReader 
  ! (Ljava/io/Reader;)V  
   resetSyntax  
   	wordChars (II)V  
   	quoteChar (I)V  
   whitespaceChars  
   
SourceFile OptionTable.java !  
          
        *+ 	         
        * *+ N- 6   Y Y  "+ & * +- /:, &*, 3  Y Y5 " & * +- 6= J- 6 )" "'  Y Y  "+ & * +*- / 9W- 6 *; 9WT W Y Y  "+ & * +          <  
   E     9* + B  DM !, H  JN+- N  J:*- 9W, R ܱ      S T  
        *+ X      Y Z  
        *+ ]      Y [  
   (     *+ ^ JN- -; a , -      b c  
        *+ f      b d  
   *     *+ ]N- -; a - l o      p q  
        *+ t      p r  
   .     "*+ ]: 
; a ( z ~         
   N     B Y Y+  M, ,!< ,>~ ," ,' ,   ,		 ,      0 1  
   (     > +,2 a ,                                                                                                                                                                                                                                                                                                                                                                                                                                          acm/util/Platform.class                                                                             000644  000766  000024  00000007707 11166064600 015676  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V platform I   acm/util/Platform 	   Code UNKNOWN     MAC    UNIX    WINDOWS    getPlatform ()I os.name     getProperty 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;   java/lang/System 
   toLowerCase ()Ljava/lang/String;   java/lang/String !
 "   mac $ 
startsWith (Ljava/lang/String;)Z & '
 " ( windows * 	microsoft , ms . unix 0 linux 2 isMac ()Z  
  6 	isWindows isUnix setFileTypeAndCreator 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4 5
  < java/lang/Exception > java/io/File @ <init> (Ljava/lang/String;)V B C
 A D 5(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V : F
  G com.apple.mrj.MRJOSType I forName %(Ljava/lang/String;)Ljava/lang/Class; K L java/lang/Class N
 O M com.apple.mrj.MRJFileUtils Q java.lang.String S getConstructor 3([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; U V
 O W java.io.File Y : 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; \ ]
 O ^ java/lang/Object ` java/lang/StringBuffer b valueOf &(Ljava/lang/Object;)Ljava/lang/String; d e
 " f
 c D      i append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; k l
 c m toString o 
 c p 	substring (II)Ljava/lang/String; r s
 " t newInstance '([Ljava/lang/Object;)Ljava/lang/Object; v w java/lang/reflect/Constructor y
 z x invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; | } java/lang/reflect/Method 
  ~ compareVersion (Ljava/lang/String;)I java.version  &(Ljava/lang/String;)Ljava/lang/String;  
   '(Ljava/lang/String;Ljava/lang/String;)I  
   java/util/StringTokenizer  .  '(Ljava/lang/String;Ljava/lang/String;)V B 
   	nextToken  
   parseInt   java/lang/Integer 
   
hasMoreTokens  5
   isSwingAvailable swingChecked Z  	    	   1.2   
   javax.swing.JComponent  isSunAudioAvailable sunAudioChecked  	   sun.audio.AudioPlayer   	   isJMFAvailable 
jmfChecked  	   javax.media.Player   	   areCollectionsAvailable collectionsChecked  	   java.util.ArrayList   	    areStandardFontFamiliesAvailable fontsChecked  	   java.awt.Toolkit  getFontList  getDefaultToolkit ()Ljava/awt/Toolkit;   java/awt/Toolkit 
   [Ljava/lang/String;  Serif  equals (Ljava/lang/Object;)Z  
 "  	SansSerif  
Monospaced   	   B 
 a  
ConstantValue 
SourceFile 
Platform.java !  a     
                
                   
     
     
     
     
     
     
     
     
     
     
          	               	    	        v     #K*% ) 	Y *+ ) 	Y *- ) 	Y */ ) 	Y *1 ) 	Y *3 ) 	Y Y      	 4 5  	         
 7       	 8 5  	         
 7       	 9 5  	         
 7       	 : ;  	   -      =  AY* E+, H W     ?   	 : F  	         = J PNR P: OYT PS:- X: OYZ PSY-SY-S:[ _: aY cY+ g hj n q uS:		 {:
 aY cY, g hj n q uS: {: aY*SY
SYS:

 W W     ?   	    	        
 *      	    	   m     a Y* M Y+ N ),  6-  6   ,  
- ,  -       	  5  	   E      1  *     P    W     & ) ?   	  5  	   =      )  "  P    W     
   ?   	  5  	   =      )  "  P    W     
   ?   	  5  	   =      )  "  P   § W §  ¬  
   ?   	  5  	         ƚ x ȸ PK* O _L+  a  M>6 -,2Զ ؚ ,2ڶ ؚ ,2ܶ ؙ ,   ާ W ާ  ެ  
 p s ?    B   	        *                                                                    acm/util/RandomGenerator.class                                                                      000644  000766  000024  00000001437 11166064600 017173  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - . <clinit> ()V <init>   java/util/Random 
   Code nextInt (I)I (II)I 	  acm/util/RandomGenerator 
   nextBoolean ()Z?       (D)Z  
   
nextDouble ()D  
   (DD)D 	nextColor ()Ljava/awt/Color; java/awt/Color  	 

    (III)V  "
  # getInstance ()Lacm/util/RandomGenerator; standardInstance Lacm/util/RandomGenerator; ' (	  )
   
SourceFile RandomGenerator.java !      
 ' (                *       	 
          	*d                  *        	           d`* k`                 ')'g* kc                 * '              )      Y*  !*  !*  ! $     	 % &             * 
 Y + * *      ,    -                                                                                                                                                                                                                                 acm/util/SpeedBarListener.class                                                                     000644  000766  000024  00000004237 11166064600 017300  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - u <clinit> ()V register ((Lacm/util/Animator;Ljava/lang/Object;)V acm/util/SpeedBarListener  <init>  
   animator Lacm/util/Animator; 
 	   speedBar Ljava/lang/Object;  	   getClass ()Ljava/lang/Class;   java/lang/Object 
   addAdjustmentListener  !java.awt.event.AdjustmentListener  lookForListener Q(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/reflect/Method;  
   addChangeListener    javax.swing.event.ChangeListener " ChangeListener $ java/lang/Exception & getValue ( java/lang/Class * 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; , -
 + . Ljava/lang/reflect/Method; ( 0	  1 
getMinimum 3 3 0	  5 
getMaximum 7 7 0	  9 FakeChangeListener ; forName %(Ljava/lang/String;)Ljava/lang/Class; = >
 + ? getConstructor 3([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; A B
 + C newInstance '([Ljava/lang/Object;)Ljava/lang/Object; E F java/lang/reflect/Constructor H
 I G invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; K L java/lang/reflect/Method N
 O M acm/util/ErrorException Q Illegal speed bar object S (Ljava/lang/String;)V  U
 R V setSpeed X 
  Y Code adjustmentValueChanged #(Ljava/awt/event/AdjustmentEvent;)V stateChanged "(Ljavax/swing/event/ChangeEvent;)V java/lang/Integer ` intValue ()I b c
 a d (D)V X f acm/util/Animator h
 i g (Ljava/lang/Exception;)V  k
 R l
   
SourceFile !java/awt/event/AdjustmentListener p  javax/swing/event/ChangeListener r 
Animator.java      q s   
          ( 0    3 0    7 0    	    [     
   û Y 	M,* 
,+ + N6- : 
-!# : -!% :6,-) + / 2,-4 + / 6,-8 + / : Y,S: ,< @: +Y @S: D:		 JS+ PW W RYT W, Z  E   '    \ ]  [        * Z      ^ _  [        * Z      X   [   x     d* 6*   P a e<* :*   P a e=* 2*   P a e>ddo9* 
 j 
L RY+ m    V Y '   
    [   *      +Y, @SN*+- /W      '        [        * n      o    t                                                                                                                                                                                                                                                                                                                                                                 acm/util/SunAudioClip.class                                                                         000644  000766  000024  00000004575 11166064600 016451  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Ljava/io/InputStream;)V   java/lang/Object 
   initialized Z 	 
 acm/util/SunAudioClip 	 
  initStaticData  
 
  java/lang/Exception  audioDataConstructor Ljava/lang/reflect/Constructor;  	 
  newInstance '([Ljava/lang/Object;)Ljava/lang/Object;   java/lang/reflect/Constructor 
   getData Ljava/lang/reflect/Method;  	 
   invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; " # java/lang/reflect/Method %
 & $ 	audioData Ljava/lang/Object; ( )	 
 * audioPlayerClass Ljava/lang/Class; , -	 
 . player 0 getField -(Ljava/lang/String;)Ljava/lang/reflect/Field; 2 3 java/lang/Class 5
 6 4 get &(Ljava/lang/Object;)Ljava/lang/Object; 8 9 java/lang/reflect/Field ;
 < : 0 )	 
 > java.io.InputStream @ forName %(Ljava/lang/String;)Ljava/lang/Class; B C
 6 D getClass ()Ljava/lang/Class; F G
  H start J 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; L M
 6 N audioPlayerStart P 	 
 Q stop S audioPlayerStop U 	 
 V Code play audioDataStreamConstructor Z 	 
 [ audioDataStream ] )	 
 ^ loop $continuousAudioDataStreamConstructor a 	 
 b continuousAudioDataStream d )	 
 e sun.audio.AudioPlayer g sun.audio.AudioStream i audioStreamClass k -	 
 l sun.audio.AudioData n audioDataClass p -	 
 q sun.audio.AudioDataStream s audioDataStreamClass u -	 
 v #sun.audio.ContinuousAudioDataStream x continuousAudioDataStreamClass z -	 
 { getConstructor 3([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; } ~
 6   
SourceFile java/applet/AudioClip  MediaTools.java   
     
 	 
   
 , -   
 k -   
 p -   
 u -   
 z -   
     
 Z    
 a    
      0 )    ( )    ] )    d )    P     U         X        x*   
   Y+SM , N* !-  ' +* /1 7 = ? 6YA ES:** ? IK O R** ? IT O W W   s v     Y   X   D     0 Y* +SL* \+  _+* _S* R* ?+ 'W W    + .     `   X   D     0 Y* +SL* c+  f+* fS* R* ?+ 'W W    + .     S   X   T     @ L* f +* _S* W* ?+ 'W* _ +* fS* W* ?+ 'W W    ; >    
    X        rh E /j E mo E rt E wy E | 6YA ESK m*   m 6 O ! 6Y rSL w+  \ |+  c W    m p                                                                                                                                            acm/util/SwingTimer.class                                                                           000644  000766  000024  00000000341 11166064600 016165  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> #(ILjava/awt/event/ActionListener;)V   javax/swing/Timer 
   Code 
SourceFile acm/util/SwingTimer  SwingTimer.java !            	        *,       
    
                                                                                                                                                                                                                                                                                               acm/program/ConsoleProgram.class                                                                    000644  000766  000024  00000001457 11166064600 017532  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - 5 <clinit> ()V <init>   acm/program/Program 
   
getConsole ()Lacm/io/IOConsole;  	
  
 Center  add )(Ljava/awt/Component;Ljava/lang/Object;)V   java/awt/Container 
   validate  
   Code run setFont (Ljava/lang/String;)V   acm/io/IOConsole 
   getFont ()Ljava/awt/Font;    java/awt/Component "
 # ! (Ljava/awt/Font;)V  %
 # & getStandardFont  (Ljava/awt/Font;)Ljava/awt/Font; ( ) acm/util/JTFTools +
 , *
  & 
createConsole
   
SourceFile acm/program/ConsoleProgram 2 ConsoleProgram.java! 3                   * ** 
 *             
                  #     * M, ,+ *, $ '       %     %     * M+ -L, ,+ .*+ '      / 	           Y 0      1    4                                                                                                                                                                                                                 acm/program/DefaultActionListener.class                                                             000644  000766  000024  00000003716 11166064600 021030  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - t <clinit> ()V <init>   java/lang/Object 
   Code actionPerformed (Ljava/awt/event/ActionEvent;)V 	getSource ()Ljava/lang/Object;   java/util/EventObject 
  
 java/awt/Component  findProgram +(Ljava/awt/Component;)Lacm/program/Program;   !acm/program/DefaultActionListener 
   countActionListeners (Ljava/awt/Component;)I  
   java/lang/Exception  java/lang/Class  java.awt.event.ActionListener ! forName %(Ljava/lang/String;)Ljava/lang/Class; # $
   % getClass ()Ljava/lang/Class; ' (
  ) removeActionListener + 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; - .
   / invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; 1 2 java/lang/reflect/Method 4
 5 3 acm/util/ErrorException 7 (Ljava/lang/Exception;)V  9
 8 : No ActionListener is attached < java/awt/Button > java/lang/StringBuffer @ valueOf &(Ljava/lang/Object;)Ljava/lang/String; B C java/lang/String E
 F D (Ljava/lang/String;)V  H
 A I  to button  K append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; M N
 A O getLabel ()Ljava/lang/String; Q R
 ? S toString U R
 A V getText X
 8 I 	getDialog ()Lacm/io/IODialog; [ \ acm/program/Program ^
 _ ] showErrorMessage a H acm/io/IODialog c
 d b java.lang.Class f getListeners h [Ljava/util/EventListener; j 	getParent ()Ljava/awt/Container; l m
  n 
SourceFile java/awt/event/ActionListener q Program.java      r                *       	 
          +  M*, N- F,  >  Y" &S: Y*S:, *, 0:, 6W: 8Y ;=:, ? & AY G JL P, ? T P W: G, *Y   0: AY G JL P,  6 F P W: : 8Y ;- 
 8Y Z- ` e   I I               O     ;" &L  Yg &SM* *i, 0N Y+S:-* 6 k:W    8 8           '     + _ + _+ *+ o       p    s                                                  acm/program/DialogProgram.class                                                                     000644  000766  000024  00000000605 11166064600 017321  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init>   acm/program/Program 
   Code run 
getInputModel ()Lacm/io/IOModel; 	getDialog ()Lacm/io/IODialog;  
   getOutputModel 
SourceFile acm/program/DialogProgram  DialogProgram.java!                    *       	      
            
           *                  *                                                                                                                                      acm/program/DOSCommandLine.class                                                                    000644  000766  000024  00000126534 11166064600 017340  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V java/lang/String  @504B03041400080008001C4205330000000000000000000000000A0000004743  @4D444C4E2E444C4CEDBD0B605355B6307CD2A4252D2909D042C50201AAE28098  @366993347DA4D0948A14022929155AA83498D6D2D6F49C429562EB69B5E9218A 	 @8E33E39DAB73EDA05E67F48EDC511966E46A4AB1056490878F2A8C96B1EAC120  @14A9A540ECF9D6DAE7A40F1F33DEFFCE7FFFC770CACA7EADBDF6DA7BAFBDF65A 
 @FBEC84BC3B7650728AA214008240517B28F1B1527FFFE10126CCFCD304EA95C8  @3FCFDA235BFAE759F9EEB21A6DB5A7EA2E4FC926ED8692CACA2A5A7BA74BEB61  @2AB56595DAECE50EEDA6AA52D782E8E8A80489C685E7A3C25F3D58EA0C414ABB  @D9B99BC45DCEAF20DCF5E6DDCE36125A9C1748A820E5BBDE34395F2161060957  @966D7063FD1FE2D56EA3A8A53205F5ABC77F9E15CAEBA126CC1A2F1B1745D911  @41CC6B9F081F1A80F524A921718D383E14351252BB243C78C2245431AD19CE27  @646A296A1384A67B286AEEDF1ACCA70127E26F8F373E47AB292A7774C67A711E  @7EE85940BBB6D0103E9E2731641FE13BF46881CA024F69095D42517F9E22D2C4  @4C690C861F2BFC5B20A25169384E0D12AD86EFE0F917785C15551BA05D95D837  @82B7E33B780BFF06EBD79E6BCFB5E7DA73EDB9F65C7BAE3DD79E6BCFB5E7DA73 ! @EDF9073EABB8B3422C387A1A3B97A7E427404ED13E257578F881F215DEBC2067 # @5302427005B72AC885093B9E049797FBB4689F02EB7336153B2873AA9B7BA0F6 % @9EC7E1839F02DE1ED7EFEC8AC09410AB04FACD7E75934106D9CB34DEE8382FA5 ' @E172143B1330742ABDB1733152AB6AFC4CB89FA2D8CB61DEE478C8A1558D47D0 ) @B91453ED3D4AF9BE72D94E2DC4F9D3C06AB3BF50DD848DF2EF86638A89E2AF57 + @53D4993F63D68C09D832F66CA7E151A870161CD19D0AACDA310E91B72EE08D2A - @12D1F2572349646A39540B237499F1423805C8671E435A8F40397F879CA202BF / @8256E69B49D1B632211A4373783E7C32E1FC2C40E04B11F5568CED0006024E76 1 @308CC9766F072AE532FE6170F0B9BEE681C2427ABE53483634501A21B6D48B83 3 @E3A463F858A85628C42A8067769942F04604A6F25F40CF0AF5FE80861D94334A 5 @60F03505C9B0FA5CC1E2A27D2AAA5CE5E6A1027F170C39647B6DBD1CA3D20B96 7 @4B8CCA9C8EFCA99B5E86D6BDF5414B1F1DCE0E8531896D2618104B17AD12188D 9 @536094C251A865AEEF553735E3748999FCEC2141807CC0F370451A07C9BB02C3 ; @0B79EC908C9960E962A21C05983BF88D00ED21713973B388F82964C150C9BDF5 = @48989E1C6A32CA31DC209B1714385B6F601A673BCB29B948FB0ABE01C8171676 ? @702E1E0BF57EFECF90017D6C53413F40C6E868A039814DD7405206239E3909D8 A @A51314FC1BD079B740644D07830A34DC8A121CDC182279F414773F8AB810AB11 C @D311584B384A3E63559077B85CC9D74F86D63B20F2C6248C38B9BEC0782E02B0 E @C384A36CA7C24227283DE78B3BDA748F121AE3441A85CE823FAAA0CD37E2E043 G @EFB7BCCD5DA8990A6C6672139A0F42D56358F592E74B141C77E64C98A91B6328 I @EA75106B0DD7F986B20187A5B0463DBAA14B9E0B7AFFBA6260C5AD815EF0DB41 K @9280ADBF205B7A0166523F90634E5E8D52A7C1D18C8D173B1707813719A5B1D5 M @A6F9B51D65B35EC518CDE97381637A665B02042C0FAB0EE7221C333D511C05B3 O @F2A9703470DAAD055EF6C4C3072F1304A1D03D17D30998BE00A2508853C2C7C1 Q @189BEB35CC2C2F691FA7FA3128D40BC852BD8656029F0D1371F8F889C0754739 S @883D8C938AD7014976BFAAA35C0659143F4B4A0AB15A601AF4481B2E067650A0 U @274047DC38DDD164799CF90BAA92EC044597357F3D647459634089501D2047B1 W @73A1AAB88AB86E21763DAA10585CCC6DA1E536533EBCDC6EF9D672A3E3BB7244 Y @7A3984DE9855A72CD7F05E10E04287109BB01EE7A9784D47B9C6ADC5C9104069 [ @708C125798BA49850A2D270186709C9DCF04D551C8E5CC17538962CA20A6E688 ] @A93431152BA6B2C5D43831952BA62ECB482A3F1DB9C30C1E33CAA3F98F60200A _ @61F2B99CF5E2B29C2C2819B525FC804FC4F3231E992416BBAFE2FF032B74D982 a @D83F2EA7D46BEB814A7982D2BC653E1DCEE5CE1722CD5B0C1833604C87311DC6 c @AC18B30A915CEE52C1FB0A54B684071F803626A53F8FC178B38981E63C1343CD e @6901C5C96761F37C3C8C0ECCA65E8021029E195CD01D1857F165629C4C2B7B59 g @A0E7E0ACC2AA18B7429C3B3BFF2F2049E5D4E889EAE07F46F43C88D9499810BD i @BFC359E02E1D5ED9DC60B340DFCD25E3AA76AF86EC02E13DF7520C77AE45E97C k @CF6D2589F562C24412A524C1A66326B513458D99DB66C07D0273DA7418439CB6 m @F910EB0A4742F7C7401E62BA6F8EC5B6D7127524EC4446E92CBD40046E7101FF o @3B6A58E0E67D5BE0A64902E7DD16335AD8B8AEC0385E0862DF70C5ABDC5B50C8 q @7E194584AC79805ECDA62B76501A39632D57F02727E098BB8230DC67A6A034D8 s @7A8172A4D3CE874F45CD49A6633C30C1D6F752CC74589D8128A8763E9AE8331C u @5A6A07B264C20DE39E285C9F1A770B3678B3D8A0FA2546E5657A6011C97250D3 w @80A6EFD9EC0AB1B098ED54B39FF579191557D46399FE0A08DE663DD0CF46B666 y @D5071D7CD20C912BC2C8121C8DFA5E98A24902D3534E15F0B7CE02D6F6AB9A05 { @26D559AE0C719326CD24738339BD9783119DEEE43F05A12A0493A1B916144560 } @026C69D0CE4DA41F5C17BF1B36D90EF66CAEE3B506D80D1D7CDD6C71D356B207  @40618020EED4EEC0B953C2274AA7AF05F1023358A5C0AE57529D560540781417  @8D68AC3FA1B11DCB2DED9E8F56390B7CD90931A0839602571BD9AD093994BAE9  @0C4574502EDA307FC1B8C9E756F814B77AB313347B2825541DDC1AC60D9AD3B1  @C1FA65AF2740E0E03F9945B8A24DACC8883742E263CAB7F998003CC8DF82F63F  @03F52F52D9FA4620822331FDC966615B3934AFE1285490F9AD79D440BB8C5E3A  @D0AE64C603A7B9E29E96C6BDC575B03D337D0A7FFBE5704EE5C3CEF90C8D624D  @6F44AB8D6AC951F87254EEA76125DAF9495AC25E21BD40C851B280A45864B37C  @BCF5E7FA93E2B8F81427A1369B213055CD273B73148D4C54F9C0EA801AC63850  @C775E45EEABEDECFFABF0606B2C904B2824067160CB363B801F763307FBC194C  @44C33285351089268C02A2CA11267C3325267E034C04A2081EA2342C62AFCAD5  @DB3D30FB42B2928889753DEEAFEB8A8BD6B0FB73410FBC8E4C7219205E89BE87  @C8B84E63EF575274946FB10A98B22353116C57423899DB41CF5F8514FE495868  @EC8DB0863A158D435AD800B7BE0EABCEA13F699E3E1F52CE02302A6E0633804B  @464B1174FC4566524097964ECB163BF94498CF421F1D216B8D48ED60BEF029FE  @0B5F06D9F9ABD0076ED072B5D09B6E2296208ED06A91C4AAC04F9CFC208C34C7  @DB1A32D20BE9EB56F16F01BEA5A3D03B8E36C2CA3D3993ACDC2E85FC6BD30CE6  @B840AAF117AF82F1351DA3DE995DE1C8296A71BDBFB0681DEC45423236C41F21  @4818C5167BD1547770452AFD71F32A6581770A77B94B8EB5E84830ED599B52E1  @353798663313F4079B8FAB1F6FB772C7FE7376E01621024630BC55D9A25EDCAA  @54EFFEC03AC09E8685AD00EB502C896B99B9D8DA741008D349CDC799BD0D97B5  @7478C3E548E6F750ACE85C2C50A8911A4CB04EDE83D65A95C30811D6C085DCC0  @6952F41AD14ACAD1CC0872FDC945FAE38130EBC206D35AFA323277E3C03E1933  @93AD0F52B4CA972B6B30CF66145C7B204C7F527FD09C1704B6C11939F645F371  @3005B1F5716B170B114B988BADCAA683742ED663A2B0FD74689F36359FA41700  @DA75EADDC7061E107B1501FDB40A11A4BF01B57AF7C18146B1400EB94284F58C  @1B244E244D0169E8F519B455C0FF019996B35A4A90AF5B73B003C77A85C359A0  @17CCE92839203717D00655C080BF5EED4551EA0CA75B61871162F34112DB0CC4  @FEF526E7A25B330E8684EB66C2B88F7CB6A0BDC0C70CEA0F721DBC05F63F8E01  @5F6BB0FDB33079A79D6F9B8E92256A4C22553720BE4F958155A0421456B00573  @0B77CE07B2207F3AAFB84680C3152BDAB640FB0ED0685CBA1BD7CE49FD80A5A3  @3CAC88B945789FEBB35CA4555DE18882321298219A53ECE01626927B7327E607  @C20905B0BB997A58084AA956DD46F30CAE939E207F73A3398EB92C065F71E9A5  @50DDE170CCEB741C1BB4DA9D0E07684703D4E12D013A6915FF6EBC28F5A068E8  @390EC72A3B9885098025BC8F363D2434FCD020D85CDEB5A0AE00C0BE5B8F4BB8  @2360B7BC492B2D1DB402DCA06CD87C311719E933CDA0A3ACA638E62A7E0CCCEB  @B472FC2A7E53BCB41A19855E088C87EEF3CA1964DB018AABB16E17EA10701160  @B37D02F7BE5BC04CECB2F5CEBF87D234D693A066368A3438271C28277A3C58C7  @E3C0B50AF925ACAD571178974F94E3FEA9723F8F34CE84111A069186E1C7D2F8  @320C37B2747487C39868361DFDE1708F0211CBE5AB3BF47E33D848E594FA71BF  @1B5FA0825AAB26DA7527EE9CF44FF87634A307E53B717F6666B807D1EF7C48F4  @8C1975687FAD208AB303898676F232A2F25E04C15FC5DD82D6C0369B934BDE05  @6910161AE5A053E5C6F7B36E7C712BA408EFBBD10F2F2751A156316C4ABCCB76  @C62CB2104A5B8FAC2B16088D91D2A235A399E8387CF8703AF6A366C2A56EF97E  @D6AF68A61EE7287BC70ADFD20465E3192CBA053F9A6522DAD97907B8FDCD32EE  @34F88756859DAC3A5874BC7011E4BE5EC9F571CEFCB65EB4FF0F99CD74B42FDE  @CAB6AB7CF1BFB4BCE539EF53587D8A072C076A145014063AEFA0BA69129AEB85  @CAE693DE22A5BA09D72A7B359C51B1254A749DCF0451475D95A99B3E2516F36A  @AF0DD6A2CA9BB39ACB52B0834A75F31B981FDB0D0DB69D820FF93ECBD1FA9B7C  @8A95ED3D61DCB67CB6D4A4A4B8742CE6A663F942F9C7AC5F6539B1F5AF5C1138  @B88D971FA6283FB76D2D13D995B3168DF44069E3E51D9047321A31C3D178F9D1  @504613662C6CBCFCD350067AE781C4C6CBBE50C60398A16DBCFC4828E341CC50  @375E7E0C33C641462BFA36B56BC1D83A51E8DDB636300EFB6A174E80D628848E  @A14E8914189510BB05E687E88D3D1B6A36F5A0D831D1B0289576FE2174FE0A3B  @44090267FCF06177CB6C4A53DA86C74776B42EBC15091A1FC0BC1E981CD05E5E  @176F8706C0F5C0EDDB6B1BF4D9FA4A77227A0797D757EA8DC66821B6B6A2C3B9  @2849B77A914E0753CB9E5542FD5541D0B9A06E2F5915781D42DDFC029E5ED806  @399B06E6C307D41705B91A15779FD2C1179185AD18EFA7EF638704BADEA7AAE5  @B21FC174A17395EF6E547907F5C7F5037A41385A540C74A124734B2EA9AB9F4E  @EA0296D3C1BB494209F5CB654041C90750F32A1EF12E526172341DA88CCD181E  @096C277765027380593657A1DC43F4682CB65B2E38F858916411C9C65D9BFBB4  @080418049DBB99CB8AB773597176BE2F5E44C28334DF8B09340C57E359742ADB  @ACCD20453E3C3E7338BDCD2DB8F91F2FD0FB2DAA3779743A22ACECE064CF05AE  @AFFD33B9E561CC5237C7623DE9A444DDF4313A6EFB50A990D31275D311C868BC  @8C32AE6EFA8292F62A9FADC1BEB2E5674DC405CE27BA85D140A6FB19177A6419  @C4ADF0D537705DE0D182F30FCDA615D6CEC6E4EC3854B480CBF29672B97CD0FD @345429E00333B14B1009837261F759E29DF35F03215FB63CBE90F5CB0BD99E20 @DF0FB60B77CADDE4424BF97D70660A1C7C0F04EE0692F3EE945065077F10B335 @5A19E55E4DCA7690599F1F98BBD2D78C0364F7114430EF1E4176ED424A79BF68 @9482BEDC0A81EF591C58CE87A3C83F0DC618CC46E39BE8B31DEC1873B4F493D0	 @D1D22C378E13EF06D16FDBDA8AA352888733E488895F890B020C50FDC01B0DB8 @3FA67DDDD4889566F8145F3740CC6B22C6ADA063BBE2F8176324035795C30E25
 @6C3D0E6B082C4E36816082D6095C7070D3D15675BE8E3905C4A09DCC6E530047 @05C28902FECC8590C9AA6C1C7A1A1CF0ADA708E63A72621489988C1C56F448F9 @676021926359A56078135185D80668A008CF93FC30827C5A10ED0CA5CF409880 @9D6006E3298FE3F5B178F2005B2713CDB7C02C765178772790591EC5DF890BD6 @5B14044CB17305FC093C2D03178D9953C0DB80477ED57095720116BC9D9F3C8D @6CBBD0C7A9DE8CC0B8027EC685D03152243166ADFC9720051D403F0F0F9C24A6 @9D3E916B36836226DBF9C5688FA16F573E91EF0F001A6C41B14DD09FE2A20EF0 @B1F1148BDF81DE22178DE75A5C5F1B6671C7E61D65F7292C5FD52CFB2371D02E @D4847147E44756D8F9DD33C41961A6B29D9A1085B6506658718748685E3416EC @C48FF6CB613E558B97647BCD6C38860AAEABB8C3DD80F2707532A94B50194579! @DCEA0E30130917E4A40D142758094771E03BAEC0383D069D20A641BD92B710FD# @D83B3C26602EF01F005207CF00568778B60938E86B5DEA2E04B787039DCCE5A4% @81E169095FBD1D34C1064B17BD8ECB996F3631ABC5E3A67888C659C29FC67321' @58C3CF9F0702B569FC51745F0AB91CDD08CA33124AB384B28CA008B5F3F91A29) @E7EEF3A8FCB91CAB25FC49449E0195A741E52976DE0E455C4EF62D43C4095A28+ @21DA2DE1F9C8563C20C699F7E0F111032D94CEC47DC8CE5F4FD09CFC640C6121- @3879FD5920D3C72D2BB544E32993BAE959A2EB2C87E85BB9ACF942A4651FAC3C/ @259765084574A1883514592AB4603B6D58DF9B534A42414C9AEDF3E928CE3A7F1 @3869C0A46138A9C3A46E3869C5A4554A72D6A5420339FF3A444F364F64605F253 @0760E356F00CAA002EA7949CD8ACBF0BA69607DBB55CC59BF1D81067979FFD3D5 @538B062ED4E08B8328EEB73C03E61A3D9BE515F454968FA655B9B41C84658F027 @DCCA8E3D93C8A742899F13315E506E05FFEF8D1E98868B2FFC56EFDFD9FB30489 @D86148EEDC0F1F6FF441F285175E5887CBA8F16C5CB8B489C0A6E9F4D978BB90; @8CF842EC0E62E5CB5EA764B8B946CB7021B63485F3D023ABA5D3D3DF6A3BD7E4= @EF6CC6B4964E71F8569D2F50EF8E52EFF65BDA374F9F77208BFBA0FD4C986F2F? @A9B0470BCFC517B8B7D8D3F28BBF5DD81AB6B0C9CF1C5BB7060D40E4C9D7CC5FA @41071E5BB63B7D84A8BD5CC6BF318BD892241F7261CC9CC3C54EB12AFFC99C31C @38C1D1386EBC7229E1BD3607B5CC5ABD7F23B7DD86CDE1D9C8948616F4EA34ADE @DBC3917A4B0BF508F833F103ED61B4462CD26211100D7CD2D9808514767E6F20G @5BEF6707B33CD7B183776C8E091139D0D0AE9548CC64074B3C93D9C17B374F08I @D139D070461BE81945E5752E2F58CC9BA6E1F642CC9A7832110E271E1B9FB45CK @8419295037E5E3C8C37660DE656D02A172B17EDDC2F43E1014CF97385DCEE199M @5237CF02549C7CB69E970D0B80978C8C773A0E82FAC1B350B1A1FE1C6CED7FC2O @F3AEBCF3AD139B8EAB9BFE0377FBDD59827AF7F1338F52229510059F6A65FB69Q @85B7A8F7B7BE7FB1030BAD72EE62E0E656A7ACE9387D23CCB77AF7154BD7E618S @6E556FEB63262857EEC0FE5A2D5DB55FE7E4B446C04C9F1040BE3B946C7DAFC2U @D30E9A9B486457388A241A3DFCF530F43E6F36D4E52E10F17CF65922AACF06D6W @8983A780255CDB9F95D55027802CDE06A2A23F98C5B58B854A6B3A6EB760E474Y @F2C760A648556F34520F4478A763A8F787A43E106D9E7E0ACF0E27F0EF002E3F[ @484E5403723070613660BFE79F8FC3F9288F7157E372357F0D4A38AF47288FE6] @1FBC0C8B91BC56F1A6230934E7068798495DE198125F0E6C87A908CC6307BF19_ @9BDD82D931EC6090518F64B73DB11D579DD2128EC3219E7C70C9784AEF654E59a @2ED10A7306AD716B4182F9763CD0E4FAC4FCFBF165CA61D41FE4A49EA9F266B4c @9129CE51B46167BD39CA36320439B0A5A266190CAFD76CE454361C828DDEA539e @1A6B802725E932E0A33EBAB50527BA65A92EDE1A382316E0A2AFD7B412596ED9g @AE9B0E496BE0332FE18EADEF1198180B89D32A275F7D065809C8BDF53DA37458i @0F9FDA8F3A2C9AFFE525D4612C39FDA09849E5DFF04FA352EC0A9F3F7C58D5E1k @B6CAC4453C72D00BBE2BBA888CAC034C61057BC3F390A0D81BD081A476EE2173m @EA8DC693E5AEF0BDB8F88090B5A30D8B7DAA86B65D246C094CE2F21314F3ECAAo @C62BE89F7A22597F8CA5DDF3053449169C86CB836D41030B4E55C00DCDAB53B1q @9DC1F6F36AEEEDB2830A1877DF76593630E6CDEBE326DC06EAC29B175437BF0Fs @050E5F7C2237D9BBAA9F7306BDAB06B955FD03FB64DE221543B75F512C61AF64u @D6CACB33EFE06E57586E57320BD92B5A9CDB869AEBB8432702BEA5618A4B2766w @ADDD933D14C9CC0106665D1788F72DE9192E7972CF7EC086C2082C2C54A09BE3y @50726B1420A0F2BC7EEF1D0A6E958A83CF954AAF4389EFDC8F8D69B56890FD04{ @98E9573783BB47CD630621A7FDAAA23CD3CBA86E2FB67C541BC67D24CF1B146B} @59DE030290F39EE543BA98CB5371F7282CF728190B7B55FB3AE1792AF7D68973 @97DE9B4503BF4BE50A661632951898E6BBBD87E4BF22728B4584DF7B14848A92 @BB4DE15D26C615DC6D4AEF32250C72400E0E2E5BDF4F314ACB87EA26B48AC0D1 @F3A98E718580ADF4162BBC80BD0C3E95F06959A664D6B7C2A0B4E4A987DA6114 @5B205E734343BD9A62267087C8989E0840A391D7913819DDEC3DD99171819B09 @920686751456A102D27F22E92F7C4D84EF4858C5416F84375B071E7C9F00AEFB @255C99286C78867F0A198CF6438A4BC6D30E72D4D17E5A2DCF55BD86E71C8E15 @C27B6239A922D18EB42B4992B36AC442F699166C8C0AE50EE52E12A3B99A86BA @451413C9AE570C911C768B5260CA1CB014AA55C27B244BA8D68C7D2143849C8B @2522AE68C02385030471DE01DFD2896757F87263C078F5E1513228A8FD2A211A @F12DE18852AB60372963C8EA206B087531E67BD391CD35EB8A0F8A4B888BC635 @85B6633B63F0657BEDD08A5D3CB32908B1F2C47A3CA864147AFFBA0E565C8364 @C54A0430EA74EFCFC237D2621560D667681457B7A5CB9BA3C1BA8145E50A377E @87801C201508B18F4BA52A6692503BD21A763C70945DA614BC19DE6D0A219CB4 @92A3619502D759BC4E3C6725AB5909FBE73DC0FBC980FC58CFA2667FFD65AEA3 @CC4F9673930E97332C04DBE01D5EABD26B55B07EE512A6BF5CC15D25E766ED9F @ABE5752A728425B182AF14F165D153B85BFE82AA0623EF8A775570F322EED0BC @B7DBCFA87C8B35596CEEA0C0B69C4557CEB72388371F341082E1DA650DF661D2 @AEE86AE0218289706CE736E62DBC20631B0C1F44DF7AB9CA9BABF066297D4B20 @A2F46629D8D25F65537A61B177EFAF50705A7316B51E186A6FF2C37CB52C5BC4 @C823B72888ACC1DAFCE2D2F1597625D741CE64885253894A0DCD087013EB55DC @FBF35680629BDAFE859A3BF42DC5D6CF2D0FB29FF5DD66B9E0DB6A0E7233BD79 @1AF0DED40FAF82D2810E30296C10917F60B9A87EC482676279C1F6CB8ADBD8CB @99DEBCC1DA88F2CC4208B9750ACB3A25B388BD2CA9B969B8DC067D4B6544CFED @403D77A3A8E766B2ED3DA30B9FDCF12D55B75C09D4BC185170F72BBD754A2E4F @33EF882C2F8827F6EA879F256F0A83A055DA05C57256C8F42D4D0CA2D65BC715 @F5FBE2AF7A8B34A027B17E91C65BA8F4DEAE40C572BB123E2D854AA6A075E938 @502693419908A04CC6296AE21BEA27A332797BB432F165EFC8E6DE0E684999C6 @B7FC5B3AA489300DD9A1E5AE417D9C17F4652705BD4AEF525910D4DC2A952F47 @E65D18F466270D9E4923C6F319135AD2BE5B711C8B543703E56532EFED41DF5A @7D1066AA7D48B18C1DCA844D04F2B04BC503B6204C00D1914C502A2605303896 @E5B8AF0C0DEF2B4740F3D111A1F19E30B2AF2C23FB4AC4F70E36EC2B30DE9B89 @CEDDAC04AAA876198D9C097A87F9111BCCEBF7A92E70753894DEFBC8F8DE0E9F @4A698383618D9074F4100C6B041956A2A38FBC4186E83C8E9C990CEB111C56A2 @9A97F58C2AAC1B1ED665A386D5A6F1CABDD9714172161212EF18C01FA502D9F6 @A9ECE93E07ECD120994ED03105209E5A5FDA0360A7D58F678F0827CEB1798342 @201A440F16B27EE0040FCBBF8D68BF6E2FD36FF9381003FDE02C73F206E70C8D @7F9B19CF76C4588A82DE22A5E773089904EEC3C0C431185188D18D08BCA55BDD @84474BDEE984E0220DA761AF08A020E8186E3BE910B7754776A8620A47B2E6AC @1A44CFCF979BCD25CE61FAC7BFC731FDCC54EED126B14CB005D9760567862AEF @D367504F7C77D52EDD91AD17E61C613649AD400BE5DA758162F63E25457A00DC @01F39EF3D8831BA10791A46484F33E4B37338157831BC47593636E3ACEC1FFE1 @0A7AABB76BBC32E8096B12D4CD09686AFBCFDC0BCD1E3BBDB8F9202853683DFF @B2828B9A0756D18590D4E60D6E4341C1AB2E6853724B1496254A662D2C3322A1 @F537726FE3FA09FAB69A4014BD4567E7AC6DC9F6020CA9193D977716CC8259E3 @03F361518968DBC9862962CFBA6E480D3598F178389E7776D6ED0AC98C188476 @94DCBD0A6F9D021AE4EE457DA16EF211A32224B04B945E40588108DE154A89AF @625160C70F0B6CFD9C86FAF13070442261319D8FB48C92DD60E4D6966C342900 @257A446E23EF438BCCB7B745925B622F9D38176904FDD67C901EEF8DF22E9D88 @BA005424D3273F86CB1DB29260B5F7E39D2F5F9DCC9BC14CB34CC71D989904B4 @2CC45A60C649D62EE47895BE850A22FB6D3D1C795DAE166F93E1412379FD03A6 @2CB97F0986AE0A2DE5E6E3F472BDBF353B4159C05D66AF283C89973E00AF9B56 @CD3BD6328EED92B16764CC007700EF48B663A081E010FB573938EB74C4C517A0 @7A9488F705E20199751D78FFA643BC02F724794564DDA7A4CA35EEE7D1418AE3 @05A18D27BC3146F10D958C4E1875F706788E756FBD6BF856DD4E09396A0F952A @A57035E0CB05F1C25F4F20016FFA511CDE20945E8535D6F74EC557154A3026C8 @552B7072D1D978F7737250E2DE83ACF83E27C795A177570B2CC9E4E6C98DE50A @FE50403A6E71F27FB84A3C27F1C0452F1EB8E0E924B9CB22D695D111E20D16E7 @589F84DF88CDE12D2505DFF105716BB626287A36CF26E76F8C740039C50CA346 @6B485ECE9098F7114C93908C9756F05D09FFA6405E951C1EF514705B1394814A @DF33E40BAF9C80735970A91DBF724B4F6E95B1EDB2263F9D2E6630E7A15CF627 @6168689BFC28DB27E8F781C2F80D259335D23C971504C4394DBDF4B4DF804142 @D1137E832E281D16F8B3AF0ED4A0AF6E28A0F4D57D1390FBEA82D0884A6A637A @EB446CE338BDB1652A4CBFD4D01781702F2415A42D4E26B5C64D1C6EEF34D430 @340DD0375DDA475A9B842169AECB3B55149F8D62A4737118359C58D7D12285A1 @FE637F25561242DD5D16EA6E388E893434A111FA9BFD4F82FE2788FD9F3CD2FF @2C32AAF3DA3B7C5943C3B16F8663412916BACF5C807E211820F806B19D3B26EF @B40CD52A2D83EA07B6828ABBD445588B817503AB87BDACF4DC7CF15921E16769 @19F8E6F84F58C89E5178546C8F5C7E404868B6A7C3DC27F89642F10E088F4272 @C77AF8D80EB00B60CEB1D6889671AD39B296C5B2D69C3020DBB2388CED94B35D	 @84F8E161E2BEDBA8615C8225633BC3D8AE30C47A6E186B8788C376220E2E6728 @6D194D430F8116200E4003A004A0000681973E002EFBE15E6FF623BD10F210F2
 @109E85F02C847D10F641D80F613F8483100E4208C6CE23419F02153025EF930F @864643C04EE703AC07A03388DB51BCEE60C70EE470745CECBD94033C8E191118 @8E10AE8F4E0CA2BD2ACD41C2C81C447F73F1D920B4DB9D89ED5EFA0046BA2593 @F437342797C539998773722A83CC0922EF388BE3001113406B8E7CCEB196C572 @F61C19BDF364F47E3F8A34F226E18CCCD539C024B3D0320A73C7283C401A99B3 @7372F63CB2AC7EC009CA602CEDED103C0EF024C033002F02BC02B017E0ED4C32 @37F130D6F110C6411807610C8431106A20C47215842A0895102A215440A8183B @37E218F1F0D9978927929426C63A6A6E72E4C0F5A8B920E9B1F3303A6FCCDC89 @EB075FD2E2255E77AE55BC019C337DE40D2759EF59E4D52D79F349AB511FC02E @A6F186EDC199EAC077C4D9091A7BF990DB0E044A4113C353EABD812CFFEC042D! @B75AC955ABF085EE020B9D9040CFF5196A39D5CBDEA5094A6FAE8ADDFAB28262# @26B9893D92FDB292B7A21EC87F5919E8287D842814708EF19294DE5FCA9137CD% @8D750A6C88D1702B54DC4A9579859209DF235E225EF19AAE191CD02829022628' @9AC28B14DEBB55856BC46F37B067B5E4E4962B560E74C899EB4BDBF00EB4D7A6) @8431E17295960FBC79418FCAB25A51330E2CAA3EA05BC06D53B1020C0CDE29F8+ @881CF37A57812BC729F1DAABD27248CDA2FBC56E5150B45CB02917E22581F76B- @7BC8F5A8182E67D0620BAA1F980D2816D8ADA6E15BDD3E3C97BCDAF839D50776/ @DB40B37FDB2473DAAB831C1E2FE2EB971C4BDFD673E5F13E5B8FDD21C43E2F7D1 @DB623DD46C046B8AA2C0DF70A0E767EB3F4C3BB9BCDE8D8DE6BC3BD4CD9938843 @5969F2F64613FE3C82BA7901646C6CDC12371E2A60FBF33ED8C86E89A0D47FC85 @8D01CF2E4EFD6034A9A1B2747BD4DC0AA5FCA8E5C39A8881AC9B1A98CDE532B77 @693B6EA8CF88AD370B7837291A196F3EC81DDB361984B41F126613AD5CC2F2609 @CFDCDFDF7C9CB9A55CBDC6F2D6FD61DC07FAE3CD27B74EF2297E86DDE2740B2D; @27BC266E68DB39F6B2A67E5C96975002991B69E4CC5343E48CF7FEE601F5C38F= @626BD3313BC4C80964E25EC896468A5E4046D1572D340F6CD58432E5CBEAFA9B? @07EA35ECA0A63EC2BA53C20884D171FA838007FCF8083F9A2CCB11E0E7CAB673A @211E4E9C990EC4C1F518716134E4564DDA76729170937BAE1B597D915C8EB45CC @5537FD941C0493BBCAF16E7257B9D9BF13B1E9AD6E9598E11EBC0BAF285BB78BE @5794C9BDA09DD9DBC9E59E537785EA2CC53AD1EEFD62C6CE5C48B6E1075E0245G @13929EEECB0BAE2857F9F2FA5694CBF02EAB581831601B9431D789D78C149EA8I @86BC49DAC0CD3084C910530466B65945BC29C251F41EE8096DD96246B8037304K @FCB6015A732063C836E9389A1A0578B706BF28E374701F707442CCA54E397191M @1234CC78D08BEA667273E5A65630BF64216B959E07FBF9AD2226F32979ABC494O @B09FC8C12A1A46030C231B90315FA2C25853BCAE43DC19E8292122EAA627A8E1Q @3DFB0B91082D1642B58135C5A231426C1D6CF3DF4483272264F04C613B2503E3S @14183CF3C1E09921193C2AD1E061F67BA706E21AFF8A3F8D02B10910A3484C01U @8B1AA982C10A74F1447E9CD80633009D50376FC61B0712D7E54AB709E697DF7FW @4A7CF38B5F8AE037E2EDFCC23197C2CAE5D297512CD1F8C28891759CC10B5EBCY @E66DA8E757E2CB8B5CA4B3F514B9FEA43F69B9CA4C8029E1EBBE06BBF34C132E[ @4E4665B9C8A80AF8DF1FC3AC2AD433A2DD2CAE6E6F115EE9563F74015F0629F8] @D61E349A8B8205FCBFF0D28B870E75D333F8CE5334B2973A0BEC7CFD97E4CB1A_ @2808DEFADE80C9C92FE9138D6D4B07FD136E7130D76B3B65E9F484719DF60281a @E9E57F312008057C0E8F6F407B80C05D3C12883317F532B7037B11FA811C2FA3c @1ABE4DEE748CB6C645B273BE87AC15C90A4C0F3F95D08B21A6FE7260D65CD4C3e @CC06C272203C42B5C031FA4C13BF18859499F5E6E9E496F96A277FFF57D00DD4g @139FC2520ED8F427D130AC473760EF47E806C0E40EF56C9E2251FE164120152Bi @918A76F20691147358EFE7A79E44EF45E35E8D93F5F687C0ABE4BAA402E5A91Fk @4B2E0BEC294E7EF6E7E2B0E31541AE36C89E8BF432BDE05B32A21F8326315BDFm @43319305FCF257A8F95DE40A24D7C9FFC787C471E905BA518463723F00146253o @A30C5FB82BF8DFBE8D2FF295FCAF49A8E27F49420DFF180963F85612C6F10F60q @98C2DF47925ABE868409FCDD249CCB6F20E17C7E0D0975BC838406FE7612C6F3s @8B4868E22D6F8BF706F428B2FBAD42AD959F4BB2B2792D0973F938122E25528Du @57029424CCE72912AEE6078F60B896EF23E17A9E276129DF434237DF4DC20AFEw @2809ABF90324A4793F09B7F07B48B895DF75446461371EB5F1BFC6DCDD7814C3y @FF8244C965A0ED248A3781F84612C55FA8E16B49947C91F16E124525C3AF27D1{ @2731BA8A449FC6E81212C515C36792E8F3183590B6E71787E683CEE722B8E817} @1F02A991D16A4BF8D687C4EFECA88E907B040AA92C4B81850D52E1F93F6361AD @B28D94552BA12CB9899439F91358563C32DD8750DFE6A842745448A745A2F3EF @844E8E2654A8C1C2ED5261AB5818132A8CC1C21D52E126B1302E541887858F4B @8576B1303E54188F854F48857AB1501B2AD462E19352E114B1630952C712B063 @4F4B1DBB7298746CF4F74F9D7ABF5D7AF0FC156CD6B028BCF9B44FA67E419110 @B88067030705C807EFB235821475CAD43B150935E7B87676BFB6F8E0288F1C5F @1CE225BC4BFBC89E91C685A5CA980550E9C6D412197343542F3DBD9DD7A46685 @31D741E6C4D41239A3012F94DDA788EA658E73F815A41DD7FB8FF5B07E59C7A5 @7DC4C28D6B0D035E80CCE7C000543A75691FFE2214FDCC460E0A90FE11C8ED44 @FA6F02FDFF62DBC3022DC3FC6427A0625D827C8161FC156E9AE3DF07B78736FD @86509FD83A2155CDAC862EE1AEC6CBC0A39FD03AD5748CB1B52E93B516C82066 @4137119C453E8CF9645D710777001C213CF79977F1DFE99BB86541AE2008581A @D3D78CAAFD8CA6FD0B0DA4C24C5F93EB8BD7FBD7B1DD427107F0B09F9BC2A94D @87A01BD04ABCE91CF3114626379EC60DB1F1AFF86939C61C844CFCA652BCFB89 @4A506F7DEFA2456A4E7E1A8D94649FADD7AE171617B81FAF44DB24D62F1E1429 @BDE9581E881DB9641ED5158E5938506D186107C3C46B8960F336FD15D51EDE7C @209B2D73CACBF49899384629BD5A8F733A455B44EF37335AF5CFFC3EC59B3856 @7681891362F71283CB5BDFDD2CA89BF0F08E1CCAC667721DAC5F8E570FEB4EC0 @BEE4E2B97E2FF38EA39C72F24F9C25FB1B6ADC40ACB41FF3255160B80F902FA9 @02A901666A417918FFE743E496531FACE8BBBA6C3DD86881C44BB96CB875E8F1 @448189B193AFBA9231808D0CD5380AF8754882B39D0A547245F1968F98086E7A @0BF48AAB8F6B1620918E5D74F0CBC6E337BD0605F22E0DBF2738033D2E5F9E66 @0534652FE0EF198F7E4E1CE1E42F5EB4CA62469B677BC4AF540D6083CF1FC406 @BB7CAE03FCB67760BB383CE621E7210E2E4FF3C94D60BBD52BB94B7AFF57BFBB @F481FC2D6E0876C38BCFB5E608FA83A98B85CDE174387B26ECD231AE7D8DE40B @FEF8F5C9096461AA420BF3822F47105766B9C9FD3CCAD1F33029683D1F403932 @391CB8DF122972E39D05E8D2819028251FF8AE281D9044C95C14B3ED7A2E2F86 @B3696E33C5D14AABE52DB0C70EA2993EAF5D668B693B1012B553E85E81ADF38E @4C12B52174D4046FFD3BDEA203DEA2C3E622EDB0BC691D0E717C41DE8A12C6C8 @9B56923730388E5A2EAA9BD0AF94BE72E953A44802A73C260ADC7EE97832707D @48C882E3A0D193689411397B87638EA291140F75EDFCCE40C8C8127DB92EDB01 @A40B52D52BB28322A70D899CBAE933287438C46272E84AC60C97C23BE87E7451 @E801462BE85BCC45F1C029AEB5FA78F5232F113B371EA4F7DB55CFE01608BD09 @23BDC9947A937A74B8373D637BB340EA4DCFE8DEF4307150D7CEBFFB45C8C0A4 @AD5DB6C364E9802DF7ED36618A67391CC021A370380211226388E8207D2D253D @32171DA623D1103CDC0944CD450730D5CBBFDE4924FDCC1A62E876C36C16ED37 @1729611E5BC42B396326154F2E3E1F47BEAFE8C79586EE3BDEB4B2D8B4EAA673 @642C7D7931B0DE3438CFBC308EAC38AFAD1B7AF00E91087B88F1FD92089C4211 @F835EAACA2A0345AAAB7C5D10A7AEBF73A1D05FC7C62BAAA029AD0A05D0EC741 @D30B386660CFCF119853FC6FF0EA0D3A8D742224A1D6C0E7A456976D3FB978C4 @9C2A2012D03D9A0134963B405F0C046E1447CD673B85763374D4CF678D93F4C5 @A58FAE1FB8F4115A987BCC45FBE939057CCB9B78CF679A5867B41E09F5CB5CD4 @8DE3DBCD172326D7E973BDC81B8E4A9AE4FFEA79EA76C7F79FA73EBD929CDD3D @E910CF53B518EE82BC530094E3479EA722F1BF7F9E8A583F7C9E2AD16021A806 @7003AC07580D6007C805B03AFE51E7A9643404ECF43300BB00F63BFE37CE53E7 @AE1A3E4FEDCEFFC1F3D4F9F9644E1079471AC4D703B4E4FF9DF354C4FE71E7A9 @84EE7FEB3C55A27D0A78E805380BD00F10045040910A60E6AA7FD479AA384626 @F8B402D8014A57FD83CE53C55323723B147F50227DD967D6D798654E9F6DD02E @C476E3E263827A6650887D075F8DF589DF1BC7F02809F196BD107B18F16CFD7A @5B9FBECF9B4C0E0E6047C410C9C116EB8E8375E8AEAE865D762158D7D2ADE0DE @B6C3A007F5072DEDF44C2FE81EE93D9DF825F2334A72B58168A8C039E036979E @F2C652A0D0D5DC0DAEF2135594E6F577F04C27E68D2D55A1DC6ED8AD5FFF23E4 @B6E4F5885F2E693E85B775570C7FB36432F95A8994CD9FEE4563CAF714A6B80E @3B7FEC53F48CFDE3D9C1B4DA1B30C3FF29BEC616D1593E51DE5D2E275F3271F0 @0F921309883C85757CD93A95A46E9F3A28D976054EBE11E8BF815F27817833C4 @DD878141277F2F441D4EBE060228A880407815D977F2EB1169F88B264EFE2662 @17A695CBF9E4FF128431F6123927D8257002583549E4C0AAF526501FA6FDF4B9 @F95969D3A61D6C38AD0D6B57643DD8332669EAA18F4CF3C70BEAD7FD6B860560 @A9C35950AE58CD9F3E00DDEDC763DC6EBCFE2B1EE3D29BB9A2533EDB2B30D13D @38D1797BDAF054D057275C7A7FCED0BCCB5CDF3254E9EC6717D8CE89EA972EC8 @2F5A86BC79831E2B7EA7652DEC43AFE1C52491A8C00487C96A395BAFCC166C2E @E2E9BF0ED8BE0489ECF6DA8274384C3AD89B83356877A6593A6BE45E2658AE80 @DD6E90D4C6BB538401BC181A24DF01BF01BF64ECCBEB5F61B587B04EE1976E5C @CF93034267016FDF0B1DDB526A49273F23318E3F009B073708AEAB8ABD7FAE4C @BD3B62DB84722518B5AE3072781F88E296E7AA772BB2D81EF2A5DB9C40B77AF7 @841CF6F22DDC31B0412FCF631498D6FBD9CBBAAD51EC65F3FD6098EA0272B4F3 @2E0BB40A2FA429B21025F017F6CA2DEB8A99B04BDDD21D2A22FCE511E49B64FD @76B74283BBA9B2D3768512625F1185947CD1360A8B792BBECFE5F282FCDD2009 @C456F5E32A0A1E18594568321E86BD9DB3C57071DE22BFB77E3F2C178B4DA56E @AA21E37274859D4BC6ABDC78744B6BD9FAA332669ACF7694180F98154DB2C649	 @7BBBB97E3F3D8DBD2AD00AEE62007FA087FFD35F9189BE1C2F7300B7ED0380C1 @4C2B28704806A072C4023D60B944AF866919B13C1FEE1497C3296FD11EB4290B
 @1CFC0B1F8F383B53434608FD0DF90D9793C470033A1F33339CE0EE7CF45FC4DD @E986345A47AF1073702F3142A179FF580ED00465490FE2686D41816452E22F04 @A944BB0DFABA91B381057538508C9D985200CF6804AE0F3AB0C8592EE35DA461 @C004CF270990ECA3D12C5D78EA79987F7B2F5A94F587031AB6DE2FD05160F77B @657887648FB97E2F3DCEC1FF6E2F71B50E83C1C2E5F5F2CF8105CADFD705860B @DE2AE46CF805F3C6CB14B9FFA6DC1CC9DD96ABFE83222B90EFE48EB65F511670 @7520845F0D646F9635AC2BA6D5E5612DB66F5A56053B6D43D4EA40548B2DA8F7 @77DABEA1AC3004F7C408F7287C791356D8F1FBD9C0FF477D38C8F1204D61073B @D47FB04D9863D3882E13791BB6147CFC037872CE44E2258C4BA7F7816D73E934 @D78DA5974A1362E462ECB4FCC41A28FA5E7F6DFC413A0F3DAB7AD51FB25EBE63! @B716F79E1BA37A5BC7D137814E9A239E1798829E08D3A9CD61619F990621D60D# @B14ED37E663C9E531FD31F047515F947FC8EA627ECD20763FDBAD0E3044662C6% @FB99B9C8341E56E88F5FBA20317A81EBE33A805D0D7780EBC4507E2CB018E2F8' @0D6EBCB60238C7CE1C3B79EC8B63DDE30F32FD972E82F9099D038CEC04CDA5CF) @E4C73C132C80B759E9515B00B73672D93C28B83E3F21467F12624A88A92E7D78+ @A99BFD90E20E7127C03F85768AC70E886FA1B0A6237485A0348112EFC838B8EE- @F61E7CEB289DF3D0B1AD51E08F9A3EA0DF6E3A48AF900E7F02E3BB0BB88EF64F/ @34CEF1DD5CD41BE4D5403B38C06FC1CE7F99BD20E03B82B7F59DEC3E45E3697C1 @49C0C4DF40DE159CC040C6281BD1E36A60F617AF5BA3F777700B83A66E3AA5C93 @4F9F379DA26F6AEAA53F6FE73590150B59A7202B02B2DE09FCBC789DC8F3C2215 @A807C1376210C440B8E1E9F5DFFE75EE6BCFB5E7FFBE27D743517700540334007 @3C0CF034C02B0007004E01F0008300CA1A8A9A04A0055800900A9003B01AC00D9 @500BD002F034C06E80A3003C40184D5171004900568065006B01F087E99B009E; @047805E075804300EF017C06D00FA061282A1E20096021C04A8062806A800700= @9E00F82DC09F000E01F402F40344D5525402404AADD84FD472EC244AF338C0A2? @2A8F6D4B196DF7546D70D5007F9B6A3654795CAE05A51515040FF17362C47518A @4A3BA7C00E2EC54B219E535193037528081D2EDA5952C190F8E251F1AC0AF20BC @F81475B7CB53E9AAD0279106A8117E303C3D756C3BCFC58DA4E7CEA434F3678EE @A42B205E0DE0612AE9B24D2EADCBE3A9F268292A3A8AA2F2972E7738C41C4C52G @8EDB962D1E95A4B297E765DDB66C2467658A2EC91C1D758B96FC970D25D5D515I @651B4AE8B2AACAD07FDB80FF670353535679979676BBB4251BE8B25A97B6D6E5K @A9419CAA8D2437AF6C83A7AAA66A23AD5DB0CC96AF5D29F21565AF7095D4B8B4M @1BAA2A69A827D61F69E0A61A6D0D535D5DE5811257C926ED46E8C326187F6D59O @254437119C058469E4D1843C3295257756B8B47415E094D165251565F7BAB46EQ @5749B5D837C433221EF2EDAAAC62EE726B6BAA4B36B808ED8AAACD65A32A12FAS @23F5527EB05E0D5DFA37EA2563BD6A06D8AE2DF3D04C4985762353B9411AC08AU @8A61FE0D3F487F5D55A50BA4F0D6121A032D8D5D1CA69F681EDBEFAA6A57250EW @684D15A44B5DB5651B46E14A63E4DA52EDDA40BB4AC9C88C9E7BC4317E0B6713Y @534197D16E8FABA4144668C3DDDFC6FFE171912AE1FF0301E8D151DF11207749[ @8DD6E3BA8771D5604338FB92606047689767535925F4590B7D2EABD496809455] @323538809B4BEA16FC23654767FEC13EB82A61D6AA2A37B92A69C0465CD30FE2_ @9678EE6210B166986E12E26EACA882E6607954579555D2A42AE494BA4AC5311Ca @591ACE32D2BB45F3E60D8FC3D2B23B3D259E3AC48BC2B52865DB700A664545D9c @C5FF4025159636B560C1022A2DF43FAA5496001653797765D5E6CA8CB17A84BDe @71AC1EF9C54D625AFBAD3F373557FAFB76C9F7FDE592FF00E587FF9ABEE76F2Cg @46A36CE4EFC73EA3EB3F201BF90BFB917FA1BA387EB230B9223C629C32326ABCi @2A7A825A3371D2E498D82953E3AE9B767DFCF41933B5B366CF49B8E1C69BE6DEk @FC9379F36F5970AB2E31496F484E319ACCA996B4F48C4C6BD6C245D9B69CC5B9m @B72DB97D69DEB2E5F6152B1DF9AB9C05AB0BEF58B3B6A878DDFA923B3794BA36o @DEE52E2BBFBB62536555F53D9E1A9AA9DDBCA5EEDEFBB6D66FBB7F783E3C378Fq @9D9F940594E6B66165B6C80331D01B0E1751215995A58EEAB2CA45552018A3F6s @8B4DA994E6BED4B174A22C9406361D692F2B28AB2CADDAECA0C942A0207F558Du @CBB3FCCE72207BDBC80AC9827A50B6B4A486CE227ADD5E55CD54933C312D92A1w @F28062C95DAE85555BB22806088DDEC1B0FD461B3875B6B1FCA8168F4D77403Ay @373775D3A654DC6961EF8467BE360F1E2D46EAE0A1F2F26E2D2DBDB58EAC077B{ @1E45650164BB36B836DDE9F260DEB2AADAE1F8F20D7415461DAE6A3A9499C5DC} @C5D4C0402D612A088D25A0E730CCAAF69421BB79259E0D6EDCD35D777A1869DD @2D29A924516807E9235DA489B4900ED2807A754803EB635DAC43394A68C6535A @4268E478CA482CDFCD786AA4BC025769A54B4AE433622CAFAA92643818292CA1 @B12ED6437CC4431C2CA7FED99FEFEAA0B9FFDB1A6BD49FEC47FE8DD158A3FEC2 @7EE4DF688DF5CFFE7C774EFFB9F6ACFFE9DFDFEB3FFEC550316352A3CB7E7497 @A57E8F4DFFD8FE8EF4FBDB3978B15BDC3F26E6519AD8BC91FDA46E05A5A95F21 @FA61B5CB29CDBDCBC578B61DF61880D1765396F64E66E34697470B7B87077D19 @B44AEF7481155DEAA2451378B3BB6C839BE483FBE761AA43D6AA646DDD541305 @861DB86E60BCD5C08EEA5AA00567C9F5EDFFDEAEA664A3ABA28E18AC65950C38 @655B5C1B1862079754A2995D434781B986FF0BDEB0E95BBA200A7CD931DC8598 @9A155A0559DA1AA00366419DE4E681CB25597ED032ECC67FAB43513FD021ED8F @EF50D4DFE890F6FB3A04CF2A89BF61CE37969455A08B34AA77385FD73B29CD4C @00D8EF60DB83DD0F3641D80B614BC49D91ECCDB0DDC2AE0B9B2FECC1B015C38E @0C1B33ECCFB04DC36E8D9BB6F420BDA1424A137687282763FE6FBCFFE68347FA @DA7BC49B24A1A76536D824D6EFE2AEBF67249E83670CEBBF9FE63FCBF98A5206 @D6E3A2AA4D9B4048969655BAB2A80C92C3783CE03BE5139FF1B6528AFA18739D @E231820DECCA97A8D147314FC8245B36ABB4D443CE6636634E5E552953E1CA05 @D21540985A2ECF0F49DEF0194EEAA8D64299F9F2FCE15398EBE50ED1E2254E16 @4595C9168F49AF425C72A25380B1E1331D27A6864F755461B9E05B13342A82C4 @45F25391BAC89F64B4FF27D277D0A562268C29A673CA2A5CF975D52EEA25B1B4 @C44333D568986751F782255A01CBE45B9E00C58CF41F6B2F030F1046E04B0A79 @B08D78B10EDA03BE684D169587F8DF2DA0CEFD408D02EA21794159A96B91BBC4 @935F9587A7020BEB6817B5FCFBE914C0CC937E678377EFA9AAA39424B508A617 @2A51B572A7781A428668BD7C55A59BF4BFD4B6650318ECD021E8048D46FBE3F2 @02E829E913B5386CA9ABA4F63B5DA71EA16CA8AFBE93FF35F15416D9F1DB8210 @5B6ECBC378107317D97138A99A101FD2EC6B08972B5D62F2BAB01FF4BCA84361 @2BE98A55959BC103A266021EB48FC723A407D097BB5CD47D21DA2B1817FA12B9 @614BC1EF975C7A989B49A42D07D0A6A80A22655540DF254E33F57B71E6713051 @1220E7EEB0E151CFAF0A4D05F5EA583C18F7D4B0A58BF28030C9837A96D16928 @FF451861C8EEF21047AF7283288A30D8EF22ADFCB20D774BB269F9EE5A81A5E9 @272DD6D5805B955F06525643A41562545DA8C7808C8A9CA25E1BC125E37DBB6D @E532DBD2B1279C234FE8FF5C7D0C74056EEE216881F476801DA843407BFF9AE8 @92514A84905BB7A4A4B6645DC9864DEBA48D6A5DF672C728A47577C110436835 @FDF7B4FDB5E7DA73EDB9F65C7BAE3DD79E6BCF3FEF53BF8A1ABE73927E13A5C9 @5C40FDE01D947531E2990B3E0D517F9B2E1209A728FF78293D1DE20A29FEF351 @71FC3D7BA5147F7854FC9151F11DA3E28F8E8A3F362AFED35171BCE0330E600B @00B2893EBDCE4569B05C0121FE9C657729A5C1326BA9F843933110E27F6BDFBB @81D24C82D00FE164081F8710BFF4BF16C2EB203440380DC2E09D94E67A08F743 @180FE19310421FA9C1124A83EDF210E27B806E08EF85F00084F8BBE2FBF14774 @207CA5441C6799C47328A4BE95FE7BF93F54FEDFC5FFA1F2FF279F4552F86378 @0AF915A31FFCA6E5E8F48E724AB3E741310F7FCDF9C7D25EF4F751FE579EFFB7 @F0210B5390A586BF61BDFE81BA07420797CF7D2C866DCF8A61E3BFF5A0C853D6 @6D0D247C1EF0DB777EB853FB03741B87C4D02A85AFFE48FC2C29DC0DF86FFFBA @F7D7D3A84F7FCDFF7ACD0FD3DFD646622B4041ADF8B0F8432DB5EEC3F20F93BE @8B7FA2FBA39ECB1495B84DACA90DFFE975A3CBF18E3D862843532851CF20C8A5 @10751CEA0EFC6512FC3512FC6114D43DA89BF0B7F295521829855152D9F85165 @53A4BA18AA25BA1A290FF5D52409307F96949F2CA5B3A4F422296D97EAAC94F2 @1D525820D12F94DAAE90F237619F01AA0150C779245E2324FC0689E746297C40 @2A67A5F226890EFEFAF4CD00BF92D26D123FCF48EDFDBB94FF0789BF2352F9FB @5279DC38712C426B777B19A5690168026800D80AB0058006A8002805580B6007 @C8064803D001CC07980B9000A005880788038801D000A80094000A000A60D04D @69CE02F4029C728BF8EF407818603FC01E805D00CF003C01F038C00E8026806A @80528048C5888E41FDF35805A55900F12DA09BECDBFF3EDC2F3DA8CBBE4F772F @A046E837548BF1BE0BE2FB77BB239FFA9F3CF6ECFF59FD1EE059DB3272770E9F @6FC767406801B88312F7EB5F00BC0A80DF30B90830113AA4035806B049365227 @9512E5753345EC090AEFA79F00F80A00070A7F92334F86A770FFA32E5C7BAE3D @D79E6BCFB5E7DAF3FFBF07ACA952D81FC3752E5DAD6E9BEE21DDBFE8FE5DF7B2 @EE635DAFEE9CEEFAC494C48CC4ECC4AD890F24FE34717FE247895F27BA939E4B @7A35E958D207491F27F149E793E47ABDDEA65FA2AFD46FD1DFAFFF37FD9FF46F @EA0FEB8FEB3FD47FAA3FABEFD75FD18F37680CD71BB4865443A3C16BF899E15F @0D2F1AF61AF6190E1902860B86A02132599B3C3FF997C9FB926F4CB925C593F2 @60CAE329BF4C7939E58F296FA61C4A399ED29DF271CAA7296753BE4AB9924219 @C71955C689C629C6EB8DB38C37187F62BCD5986C4C37AE35DE69DC64AC353E6A @DC693C6FFCDA1866BAD16431D59B58D323A6F74D7F310D99AE332F33AF326F34 @3F6EFE95B9C37CD23C25353B7565EA33A9BF4D7D2DF583D4ABA9919638CB32CB @1ACB6396A72CCF5AFE60D9678949FB224D9EBE283D3F7D6DFA8674777A757A57 @FA91F453E99FA50BE9E333A666CCC85892F164C6EF33CE650C6544654ECC5C98 @B92C73556673E6C399BB32FF90D999F997CC4F32FB3283996840E38F84CB752A @DD645DAA2E4767D7ADD6DDA973EBF6E9F489A6C49589AB139549C9494FE87F0F @637754FF895E658833DC6E586FB8DFF0A8E129C37F183A0D1F187A0CB2644DF2	 @ECE48C645BF2F2E4BAE4E6642EF977C9AF261F49EE49FE2CF97CF250F2CF5376 @A7F8530EA79C480933C6C2F8688DF38D06E3EDC64263B1D16DDC6BFCD0F88DF1
 @27268769BBE9B0E91DD349D317A6CB26A579AA79817991F93FCDAF99FDE637CD @87CC7F3107CC17CC85A9AED4FAD4C753DB52F7C2E87C9EDA9FAAB0CCB0FCC492 @665962D968612DFF6AF9BDE5354BBBA5DF12917663DAFCB4BC3447DA9D696569 @D56975693F4F7B21ED3FD3FE98E64F7B2BEDABB409E9F1E937A6EBD3D3D397A4 @3B6024DDE9BF4A7F2EFD77E91DE97F491F488FC898949195B13263634645464D @4643C64319BE8C9F65FC6BC67319BFCBA07414C583887EA9BBAA93255E9FA84D @BC1546CB96684FBC3391496C487C30914B7C34F15789AF25B6271E4E3C96F841 @E2C7896712CF272A92C6274D4C9A997443D24F92744919494B92DC497549F727 @ED48BA98F430C8D6DB295AE31A90844A73A339227572EAF4D49B526F4D4D4ECD @48B5A52E4975A4AE4EE5527F95FA62EAABA97CEA9554CA926D999B6E4D5F9CBE! @1C246135F4A039FD85F483E947D3DF49EF0669E849EF4DE7D3CFA6A764A46558# @33B2337281F33F66BC937132A327A33783CF88CCD467BA322B32AB33E9CC2D99% @5B331B329B325B328F6776679ECAECC9ECCD840E5A29AA1782345DBDEE331D95' @1899F81CF4E944E2ED492B92D62555243D96F49BA45D49BB93FE9CF44ED2A749) @6793AE244DD0CFD61BF42BF56BF425FA7BF4B5FA06FD43FA47F43FD33FA5DFA9+ @FFADFE15FD6BFA0EFD01587F5FEBA30D330C46C35DC93B927F91FC52726FF2B4- @94969487C97AFA3A45674C315A61E5DC657CC9F8AAB1C25C6B6E31FFD4FC8CF9/ @25F351581F5F9A07CD51A9B1303649B05296A796A4568044B4A45AD272D30AD21 @8AD3DC30D7F7A535A5FD2EED789A3DFDCEF4A6F447D3DF4B673376643C95F19B3 @8C97335ECBE8CC389F3103564507AC04743CF107B5E374DB752F412F2FEA6C895 @9D89D393B6C0ACFC22E9DF929E497A3EE9C5A47793AE265DA7D7EA13F473F5F37 @F53AE8A3499FA67F50BF5DBF43FFB8FE09FD903ED290609867D0190C0693A1D09 @C01A5E054DE237EC371C301C361C35BC63E836CC4E9E0BDA44976C486E029DF2; @1CAC91DDA0598E2677279F49BE987C35795E4A724A56CAED291B53AA5276A5F4= @805E9962FCA5F105E3CBC60BC65B4D06D32AD326539F69BCF956B3196464BF39? @27F52EE8F54BA93BD2F18E4F36F4E1ACAE4F17973837D10032B823F1C9C4A713A @5F4CDC9578005A701BB7185F34EE32FA8D6926ABC96E5A6F7A32E3E98C173376C @65ECC9D89BB13FE340063AD2314083D66DD1EDD71DD0A9123589E844A3EFA2D0E @6974313A9DEEACAE5F17D4291255893189F1890989F3A1A534D0C24B13F313D7G @2696265624D2A0917B92FA92FA938249BB52F6A4EC8575BF3FE500ACFDA329EFI @80BE3C05FDEA4DE1A16F7D29FD29832941D09B0AA31234A7C618638C33C6836EK @4830CE05FDA0030D6132A6811C641B738D4B8D7663BE7135C8C47A63B591366EM @3536189B8C2DC6EDC61DC6C78D4F189F343E0DFD5B6F2ABDF6AEFDDA73EDB9F6O @5C7BAE3DD79E6BCFB5E7FFA3CFFF01504B07086CDD77F6A744000000A0000050Q @4B010214001400080008001C4205336CDD77F6A744000000A000000A00000000S @0000000000000000000000000047434D444C4E2E444C4C504B05060000000001U 00010038000000DF4400000000W hexjar [Ljava/lang/String;YZ acm/program/DOSCommandLine\	][ Code getCommandLine ()Ljava/lang/String; java/lang/UnsatisfiedLinkErrorb 
GCMDLN.DLLd loadLibrary (Ljava/lang/String;)Vfg java/lang/Systemi
jh java/lang/Exceptionl 	user.homen getProperty &(Ljava/lang/String;)Ljava/lang/String;pq
jr getHexInputStream *([Ljava/lang/String;)Ljava/io/InputStream;tu acm/util/MediaToolsw
xv java/util/zip/ZipInputStreamz <init> (Ljava/io/InputStream;)V|}
{~ getNextEntry ()Ljava/util/zip/ZipEntry;
{ java/lang/StringBuffer valueOf &(Ljava/lang/Object;)Ljava/lang/String;
 |g
 \GCMDLN.DLL append ,(Ljava/lang/String;)Ljava/lang/StringBuffer;
 toStringa
 java/io/FileOutputStream
 read ()I !java/util/zip/InflaterInputStream
 write (I)V
    close 
 loadg
j acm/util/ErrorException (Ljava/lang/Exception;)V|
 getLinea
] UNCOMPRESSED_SIZE I|  java/lang/Object
 
ConstantValue 
SourceFile Program.java  ]    YZ            _  c     W* YSYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'TSY(VSY)XSY*ZSY+\SY,^SY-`SY.bSY/dSY0fSY1hSY2jSY3lSY4nSY5pSY6rSY7tSY8vSY9xSY:zSY;|SY<~SY=SY>SY?SY@SYASYBSYCSYDSYESYFSYGSYHSYISYJSYKSYLSYMSYNSYOSYPSYQSYRSYSSYTSYUSYVSYWSYXSYYSYZSY[SY\SY]SY^SY_SY`SYaSYbSYcSYdSYeSYfSYgSYhSYiSYjSYkSYlSYmSYnSYoSYpSYqSYrSYsSYtSYuSYvSYwSYxSYySYzSY{SY|SY} SY~SYSY SY SY 
SY SY SY SY SY SY SY SY SY SY SY  SY "SY $SY &SY (SY *SY ,SY .SY 0SY 2SY 4SY 6SY 8SY :SY <SY >SY @SY BSY DSY FSY HSY JSY LSY NSY PSY RSY TSY VSY XSY ZSY \SY ^SY `SY bSY dSY fSY hSY jSY lSY nSY pSY rSY tSY vSY xSY zSY |SY ~SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY SY  SY SY SY SYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'TSY(VSY)XSY*ZSY+\SY,^SY-`SY.bSY/dSY0fSY1hSY2jSY3lSY4nSY5pSY6rSY7tSY8vSY9xSY:zSY;|SY<~SY=SY>SY?SY@SYASYBSYCSYDSYESYFSYGSYHSYISYJSYKSYLSYMSYNSYOSYPSYQSYRSYSSYTSYUSYVSYWSYXSYYSYZSY[SY\SY]SY^SY_SY`SYaSYbSYcSYdSYeSYfSYgSYhSYiSYjSYkSYlSYmSYnSYoSYpSYqSYrSYsSYtSYuSYvSYwSYxSYySYzSY{SY|SY} SY~SYSYSYSY
SYSYSYSYSYSYSYSYSYSYSY SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSYFSYHSYJSYLSYNSYPSYRSYTSYVSYXSYZSY\SY^SY`SYbSYdSYfSYhSYjSYlSYnSYpSYrSYtSYvSYxSYzSY|SY~SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SYSYSY SYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'TSY(VSY)XS^     	`a _        yek oWosK^yL{Y+M,WY*NY-:6 ,- 
KY*     	c 
 h km  
a    |  _        *                                                                                                                                                                            acm/program/GObjectProgram.class                                                                    000644  000766  000024  00000002762 11166064600 017445  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - o <clinit> ()V runHook getStartupObject ()Ljava/lang/Object;   acm/program/Program 
   acm/graphics/GObject 
 getSize ()Lacm/graphics/GDimension;  
   getWidth ()I  
   ()D   acm/graphics/GDimension 
  @        	getHeight  
    
   add (Lacm/graphics/GObject;DD)V   ! acm/program/GraphicsProgram #
 $ " java/lang/Exception & getClass ()Ljava/lang/Class; ( ) java/lang/Object +
 , * getName ()Ljava/lang/String; . / java/lang/Class 1
 2 0 . 4 lastIndexOf (Ljava/lang/String;)I 6 7 java/lang/String 9
 : 8 	substring (I)Ljava/lang/String; < =
 : > setTitle (Ljava/lang/String;)V @ A
  B run D 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; F G
 2 H acm/util/ErrorException J java/lang/StringBuffer L valueOf &(Ljava/lang/Object;)Ljava/lang/String; N O
 : P <init> R A
 M S  has no run method U append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; W X
 M Y toString [ /
 M \
 K S invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; _ ` java/lang/reflect/Method b
 c a (Ljava/lang/Exception;)V R e
 K f Code R 
 $ i 
SourceFile acm/program/GObjectProgram l GraphicsProgram.java   m $          h        * 	 L+ M*+* , g o* , g o %+ -N- 3:5 ;` ?:* C-E 2 I:  KY MY Q TV Z ] ^+ , dW 
N KY- g  .   '     R   h        * j      k    n              acm/program/GProgramListener.class                                                                  000644  000766  000024  00000004335 11166064600 020022  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - k <clinit> ()V <init>  (Lacm/program/GraphicsProgram;)V   java/lang/Object 
   	myProgram Lacm/program/GraphicsProgram; 	 
 acm/program/GProgramListener 	 
  java/lang/Exception  getClass ()Ljava/lang/Class;  
   java/lang/Class  acm.graphics.GPoint  forName %(Ljava/lang/String;)Ljava/lang/Class;  
   java/lang/NoSuchMethodException  mousePressed  	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; ! "
  # mousePressedHook Ljava/lang/reflect/Method; % &	 
 ' 
mouseReleased ) mouseReleasedHook + &	 
 , mouseClicked . mouseClickedHook 0 &	 
 1 
mouseMoved 3 mouseMovedHook 5 &	 
 6 mouseDragged 8 mouseDraggedHook : &	 
 ; acm/util/ErrorException = (Ljava/lang/Exception;)V  ?
 > @ Code needsMouseMotionListeners ()Z resetClickListener 	clickFlag Z F G	 
 H 
clickOccurred (Ljava/awt/event/MouseEvent;)V acm/graphics/GPoint L getX ()I N O java/awt/event/MouseEvent Q
 R P getY T O
 R U (DD)V  W
 M X invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; Z [ java/lang/reflect/Method ]
 ^ \ 	notifyAll ` 
  a mouseEntered mouseExited 
SourceFile java/awt/event/MouseListener f "java/awt/event/MouseMotionListener h GraphicsProgram.java   
   g i   	 
    % &    + &    0 &    5 &    : &    F G        B        t* *+ + M Y SN*, - $ ( W*,*- $ - W*,/- $ 2 W*,4- $ 7 W*,9- $ < W 
M >Y, A   & )  * 5 8  9 D G  H S V  W b e  	 i i     C D  B         * 7 * <        E   B        * I      J D  B        * I      . K  B   l 	    P* 2 6 Y MY+ S+ V YSM* 2* , _W 
N >Y- A*M,* I* b,ç ,ÿ    - 0  > G L       K  B   O 	    ;* ( 6 Y MY+ S+ V YSM* (* , _W 
N >Y- A    - 0     ) K  B   O 	    ;* - 6 Y MY+ S+ V YSM* -* , _W 
N >Y- A    - 0     c K  B   
            d K  B   
            3 K  B   O 	    ;* 7 6 Y MY+ S+ V YSM* 7* , _W 
N >Y- A    - 0     8 K  B   O 	    ;* < 6 Y MY+ S+ V YSM* <* , _W 
N >Y- A    - 0     e    j                                                                                                                                                                                                                                                                                                   acm/program/GraphicsProgram.class                                                                   000644  000766  000024  00000006743 11166064600 017673  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init>   acm/program/Program 
   acm/program/GProgramListener   (Lacm/program/GraphicsProgram;)V  

 	  listener Lacm/program/GProgramListener; 
  acm/program/GraphicsProgram 	   
createGCanvas ()Lacm/graphics/GCanvas;  
   gc Lacm/graphics/GCanvas;  	   addMouseListener !(Ljava/awt/event/MouseListener;)V   java/awt/Component 
   needsMouseMotionListeners ()Z ! "
 	 # addMouseMotionListener '(Ljava/awt/event/MouseMotionListener;)V % &
  ' Center ) add )(Ljava/awt/Component;Ljava/lang/Object;)V + , java/awt/Container .
 / - validate 1 
  2 Code run init 
getGCanvas (Lacm/graphics/GObject;)V + 8 acm/graphics/GCanvas :
 ; 9 (Lacm/graphics/GObject;DD)V
  9 setLocation (DD)V ? @ acm/graphics/GObject B
 C A .(Lacm/graphics/GObject;Lacm/graphics/GPoint;)V (Lacm/graphics/GPoint;)V ? F
 C G remove I 8
 ; J 	removeAll L 
 ; M getElementCount ()I O P
 ; Q 
getElement (I)Lacm/graphics/GObject; S T
 ; U getElementAt (DD)Lacm/graphics/GObject; W X
 ; Y -(Lacm/graphics/GPoint;)Lacm/graphics/GObject; getX ()D \ ] acm/graphics/GPoint _
 ` ^ getY b ]
 ` c
  Y iterator ()Ljava/util/Iterator; f g
 ; h (I)Ljava/util/Iterator; f j
 ; k addMouseListeners (Ljava/util/EventListener;)V java/awt/event/MouseListener o "java/awt/event/MouseMotionListener q acm/util/ErrorException s #addMouseListeners: Illegal listener u (Ljava/lang/String;)V  w
 t x addKeyListeners addKeyListener (Ljava/awt/event/KeyListener;)V { |
  } waitForClick resetClickListener  
 	  java/lang/InterruptedException  wait   java/lang/Object 
   
clickOccurred  "
 	  repaint  
  
   removeAllComponents
  M 
setBackground (Ljava/awt/Color;)V  
  
   startGraphicsProgram ,(Lacm/graphics/GObject;[Ljava/lang/String;)V acm/program/GObjectProgram 
   setStartupObject (Ljava/lang/Object;)V  
   start ([Ljava/lang/String;)V  
  
 ;  	startHook endHook 	isStarted  "
   getSize ()Ljava/awt/Dimension;  
   width I   java/awt/Dimension 	   height  	   
BORDER_PIXELS    
ConstantValue 
SourceFile GraphicsProgram.java!                     
         4   S     G* * 	Y*  **  * *   *  $ * *  (** * 0* 3      5   4   
            6   4   
            7   4        *       + 8  4        	* + <      + =  4        
*+ >+( D      + E  4        *+ >+, H      I 8  4        	* + K      L   4        *  N      O P  4        *  R      S T  4        	*  V      W X  4        
* ') Z      W [  4        
*+ a+ d e      f g  4        *  i      f j  4        	*  l      m   4        * *  * * (      m n  4   E     9=+ p * + p  =+ r * + r (= 
 tYv y      z   4        	* * ~      z |  4        	* + ~         4   N     2* L+*   *   W *  +ç +ÿ       ) .         4        *  *          4        *          4   !     *+ *  * +      	    4         Y M,* ,+          4         ;Y          4   
               4        *         "  4   <     0*  
*  *  L+ +  
+                                          acm/program/OldStyleCheckBoxMenuItem.class                                                          000644  000766  000024  00000002706 11166064600 021410  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - ] <clinit> ()V <init> "(Ljavax/swing/JCheckBoxMenuItem;)V getText ()Ljava/lang/String;   javax/swing/AbstractButton 
 	  (Ljava/lang/String;)V   java/awt/CheckboxMenuItem 
   twin Ljavax/swing/JCheckBoxMenuItem;   $acm/program/OldStyleCheckBoxMenuItem 	   addActionListener "(Ljava/awt/event/ActionListener;)V   java/awt/MenuItem 
   addChangeListener %(Ljavax/swing/event/ChangeListener;)V  
 	  getState ()Z   ! javax/swing/JCheckBoxMenuItem #
 $ " setState (Z)V & '
  ( 	isEnabled * ! java/awt/Component ,
 - + 
setEnabled / '
  0 getAccelerator ()Ljavax/swing/KeyStroke; 2 3 javax/swing/JMenuItem 5
 6 4 createShortcut 0(Ljavax/swing/KeyStroke;)Ljava/awt/MenuShortcut; 8 9
  : setShortcut (Ljava/awt/MenuShortcut;)V < =
  > Code actionPerformed (Ljava/awt/event/ActionEvent;)V doClick (I)V C D
 	 E stateChanged "(Ljavax/swing/event/ChangeEvent;)V getModifiers ()I I J javax/swing/KeyStroke L
 M K java/awt/MenuShortcut O 
getKeyCode Q J
 M R (IZ)V  T
 P U 
SourceFile java/awt/event/ActionListener X  javax/swing/event/ChangeListener Z ProgramMenuBar.java      Y [            @   R     F*+ 
 *+ ** * * **  % )**  . 1*  7M, **, ; ?      A B  @        	*  F      G H  @   #     **  % )**  . 1      8 9  @   (     + N~  = PY+ S V      W    \                                                          acm/program/OldStyleMenuItem.class                                                                  000644  000766  000024  00000002454 11166064600 020001  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - S <clinit> ()V <init> (Ljavax/swing/JMenuItem;)V getText ()Ljava/lang/String;   javax/swing/AbstractButton 
 	  (Ljava/lang/String;)V   java/awt/MenuItem 
   twin Ljavax/swing/JMenuItem;   acm/program/OldStyleMenuItem 	   addActionListener "(Ljava/awt/event/ActionListener;)V  
   addChangeListener %(Ljavax/swing/event/ChangeListener;)V  
 	  	isEnabled ()Z   java/awt/Component !
 "   
setEnabled (Z)V $ %
  & getAccelerator ()Ljavax/swing/KeyStroke; ( ) javax/swing/JMenuItem +
 , * createShortcut 0(Ljavax/swing/KeyStroke;)Ljava/awt/MenuShortcut; . /
  0 setShortcut (Ljava/awt/MenuShortcut;)V 2 3
  4 Code actionPerformed (Ljava/awt/event/ActionEvent;)V doClick (I)V 9 :
 	 ; stateChanged "(Ljavax/swing/event/ChangeEvent;)V getModifiers ()I ? @ javax/swing/KeyStroke B
 C A java/awt/MenuShortcut E 
getKeyCode G @
 C H (IZ)V  J
 F K 
SourceFile java/awt/event/ActionListener N  javax/swing/event/ChangeListener P ProgramMenuBar.java      O Q            6   G     ;*+ 
 *+ ** * * **  # '*  -M, **, 1 5      7 8  6        	*  <      = >  6        **  # '      . /  6   (     + D~  = FY+ I L      M    R                                                                                                                                                                                                                    acm/program/Program.class                                                                           000644  000766  000024  00000045330 11166064600 016205  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -$ <clinit> ()V NORTH Ljava/lang/String; North  SOUTH South  EAST East  WEST West  CENTER Center  <init>   javax/swing/JApplet 
   registerApplet (Ljava/applet/Applet;)V   acm/util/JTFTools 
   shown Z   acm/program/Program !	 "   parameterTable Ljava/util/HashMap; $ %	 " & java/util/ArrayList (
 )  
finalizers Ljava/util/ArrayList; + ,	 " - isAppletMode / 	 " 0 macMenuBarFlag 2 	 " 3 getClass ()Ljava/lang/Class; 5 6 java/lang/Object 8
 9 7 getName ()Ljava/lang/String; ; < java/lang/Class >
 ? = myTitle A 	 " B . D lastIndexOf (Ljava/lang/String;)I F G java/lang/String I
 J H 	substring (I)Ljava/lang/String; L M
 J N acm/program/ProgramAppletStub P (Lacm/program/Program;)V  R
 Q S 
appletStub Ljava/applet/AppletStub; U V	 " W 
setAppletStub (Ljava/applet/AppletStub;)V Y Z
 " [ getContentPane ()Ljava/awt/Container; ] ^
  _ initContentPane (Ljava/awt/Container;)V a b
 " c 
setVisible (Z)V e f java/awt/Component h
 i g 
createConsole ()Lacm/io/IOConsole; k l
 " m 
setConsole (Lacm/io/IOConsole;)V o p
 " q createDialogIO ()Lacm/io/IODialog; s t
 " u myDialog Lacm/io/IODialog; w x	 " y 	myConsole Lacm/io/IOConsole; { |	 " } setAssociatedConsole  p acm/io/IODialog 
   
createMenuBar ()Lacm/program/ProgramMenuBar;  
 "  	myMenuBar Lacm/program/ProgramMenuBar;  	 "  
setProgram  R acm/program/ProgramMenuBar 
   Code run init print (Ljava/lang/String;)V getOutputModel ()Lacm/io/IOModel;  
 "    acm/io/IOModel    valueOf (Z)Ljava/lang/String;  
 J 
 "  (C)V (C)Ljava/lang/String;  
 J  (D)V (D)Ljava/lang/String;  
 J  (F)V (F)Ljava/lang/String;  
 J  (I)V  M
 J  (J)V (J)Ljava/lang/String;  
 J  (Ljava/lang/Object;)V &(Ljava/lang/Object;)Ljava/lang/String;  
 J  println        
 "  showErrorMessage     readLine &(Ljava/lang/String;)Ljava/lang/String;  
 "  
getInputModel  
 "    readInt ()I    (Ljava/lang/String;II)I  
 "  (II)I   
readDouble ()D             (Ljava/lang/String;DD)D  
 "  (DD)D (Ljava/lang/String;)D   readBoolean ()Z (Ljava/lang/String;)Z  
 "  true  false  9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z  
 "    started  	 "  acm/util/ErrorException  0You can't call isAppletMode from the constructor   
   
getConsole 	getDialog  l
 "  	getReader ()Ljava/io/BufferedReader;   acm/io/IOConsole 
   	getWriter ()Ljava/io/PrintWriter; 
  getRegionPanel ((Ljava/lang/String;)Ljavax/swing/JPanel; equals (Ljava/lang/Object;)Z
 J 
northPanel Ljavax/swing/JPanel;
	 " 
southPanel	 " 	westPanel	 " 	eastPanel	 " centerPanel	 " java/lang/StringBuffer getRegionPanel: Illegal region 
  append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; 
! toString# <
$ add ;(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/Object;)V )(Ljava/awt/Component;Ljava/lang/Object;)V&( java/awt/Container*
+) add: Illegal region - addActionListeners "(Ljava/awt/event/ActionListener;)V/0
 "1 6(Ljava/awt/Component;Ljava/awt/event/ActionListener;)V/3
 "4 setTitle programFrame Ljava/awt/Frame;78	 "96  java/awt/Frame<
=; getTitle 
getMenuBar start ([Ljava/lang/String;)V createParameterTable (([Ljava/lang/String;)Ljava/util/HashMap;CD
 "E 	getParentG ^
 iH initApplicationFrameJ 
 "K validateM 
 "N
+N getComponentCountQ 
+R 
programBounds Ljava/awt/Rectangle;TU	 "V getSize ()Ljava/awt/Dimension;XY java/awt/Rectangle[
\Z circumventFrameSizeBug '(Ljava/awt/Frame;Ljava/awt/Dimension;)V^_
 "`  
 "b installMenuBar /(Lacm/program/ProgramMenuBar;Ljava/awt/Frame;)Vde
 "f startRunh 
 "i exit sizel 
 )m get (I)Ljava/lang/Object;op
 )q java/lang/Exceptionsk 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;vw
 ?x invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;z{ java/lang/reflect/Method}
~| (Ljava/lang/Exception;)V 
  terminateAppletThreads 
 k  java/lang/System
 addExitHook&
 ) pause 
  mouseClicked (Ljava/awt/event/MouseEvent;)V mousePressed 
mouseReleased mouseEntered mouseExited 
mouseMoved mouseDragged keyTyped (Ljava/awt/event/KeyEvent;)V 
keyPressed keyReleased actionPerformed (Ljava/awt/event/ActionEvent;)V createProgramFrame ()Ljava/awt/Frame; acm/program/ProgramFrame? <
 "
  java/awt/BorderLayout
  	setLayout (Ljava/awt/LayoutManager;)V
+ SYSTEM_CONSOLE |	  (Ljava/awt/Component;)V 
 
   getPreferredSize computeProgramBounds ()Ljava/awt/Rectangle;
 " getWidth getCentralRegionSizeY
 " width I java/awt/Dimension	 	getHeight height	 getParameter toLowerCase <
 J &(Ljava/lang/Object;)Ljava/lang/Object;o java/util/HashMap
  java/applet/Applet
 isRootPaneCheckingEnabled 
 
  	getLayout ()Ljava/awt/LayoutManager;
+ 
setBackground (Ljava/awt/Color;)V javax/swing/JComponent

 i addImpl *(Ljava/awt/Component;Ljava/lang/Object;I)V +(Ljava/awt/Component;I)Ljava/awt/Component;&
+
 9&
+
  remove 
+
+
  	removeAll 
+ repaint 
 i 
currentThread ()Ljava/lang/Thread; java/lang/Thread
 
mainThread Ljava/lang/Thread;	 " AB
 " destroy java.lang.Thread forName %(Ljava/lang/String;)Ljava/lang/Class;
 ?	 stop main code 	java.main getProperty 
 getCommandLine <
 " readMainClassFromCommandLine 
 " .class endsWith 
 J length  
 J! (II)Ljava/lang/String; L#
 J$ replace (CC)Ljava/lang/String;&'
 J(  java/lang/ClassNotFoundException*  java/lang/IllegalAccessException,  java/lang/InstantiationException. newInstance ()Ljava/lang/Object;01
 ?2 setStartupObject4 
 "5 program7 %Main class does not specify a program9  Cannot determine the main class.; setParameterTable (Ljava/util/HashMap;)V=>
 "?A 
 "A 
menuAction
   QuitEk 
 "G PrintI getEnclosingFrame &(Ljava/awt/Component;)Ljava/awt/Frame;KL
 M 
getToolkit ()Ljava/awt/Toolkit;OP java/awt/WindowR
SQ getPrintJob M(Ljava/awt/Frame;Ljava/lang/String;Ljava/util/Properties;)Ljava/awt/PrintJob;UV java/awt/ToolkitX
YW getGraphics ()Ljava/awt/Graphics;[\ java/awt/PrintJob^
_] printAll (Ljava/awt/Graphics;)Vab
 ic ende 
_f Cuth cutj 
 k Copym copyo 
 p Paster pastet 
 u 
Select Allw 	selectAlly 
 z Save| save~ 
  Save As saveAs 
  Script script 
  
Print Console printConsole 
  setMacMenuBarFlag getMacMenuBarFlag 	getBorder ((Ljava/lang/String;)Ljava/awt/Component; northBorder Ljava/awt/Component;	 " southBorder	 " 
eastBorder	 " 
westBorder	 " Illegal border specification -  getArgumentArray ()[Ljava/lang/String; ARGS [Ljava/lang/String; 	isStarted
 iZ 	isShowing 
 i 	startHook endHook setStub Z
 
getAppletStub ()Ljava/applet/AppletStub; getParameterTable ()Ljava/util/HashMap; 
startupObject Ljava/lang/Object;	 " getStartupObject getPlatform  acm/util/Platform
 getShellCommandLine <
 " acm/program/DOSCommandLine
 "acm/program/ProgramStartupListener
  getRootPane ()Ljavax/swing/JRootPane;
  addComponentListener %(Ljava/awt/event/ComponentListener;)V
 i
 iN@@      java/lang/InterruptedException      , wait 
 9 
 "
 i] updateb
 i getDefaultCursor ()Ljava/awt/Cursor; java/awt/Cursor
 	setCursor (Ljava/awt/Cursor;)V
 i initFinished 	 " 
 " runHook 
 " 
 "  
 "
  indexOf (I)I
 J put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 java/io/IOException java/io/StreamTokenizer java/io/StringReader
  (Ljava/io/Reader;)V 
	 resetSyntax 
 	wordChars (II)V
 	quoteChar 
 whitespaceChars
 	nextToken 
 sval 	 - 
startsWith  
 J! -jar# -cp% 
-classpath' readMainClassFromManifest) 
 "* javax/swing/JPanel,
-  acm/gui/TableLayout/ (IIII)V 1
02 java/awt/GridLayout4 
56 isButton (Ljava/awt/Component;)Z89
 ": hasActionListener<9
 "= java.awt.event.ActionListener? addActionListenerA getComponent (I)Ljava/awt/Component;CD
+E java/awt/ButtonG javax/swing/JButtonI 
ButtonLikeK 
isInstanceM
 ?N java.lang.ClassP getListenersR [Ljava/util/EventListener;T
 "V setFrame (Ljava/awt/Frame;)VXY
 QZ !acm/program/ProgramWindowListener\
] S addWindowListener "(Ljava/awt/event/WindowListener;)V_`
Sa 	getInsets ()Ljava/awt/Insets;cd
+e	\ lefth java/awt/Insetsj	ki rightm	kn	\ topq	kr bottomt	ku xw	\x yz	\{ 	setBounds}1
 i~ isMac 
 createOldStyleMenuBar ()Ljava/awt/MenuBar;
  
setMenuBar (Ljava/awt/MenuBar;)V
= setJMenuBar pack 
S decodeSizeParameter
 " APPLICATION_ getField -(Ljava/lang/String;)Ljava/lang/reflect/Field;
 ? java/lang/reflect/Field
 java/lang/Integer intValue 
 * 100% % parseInt G
@Y       round (D)J java/lang/Math
 getDefaultToolkitP
Y 
getScreenSizeY
Y WIDTH 
 " HEIGHT X Y
\2Y

 setSize
 i java/util/zip/ZipFile
  META-INF/MANIFEST.MF getEntry ,(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
 java/io/BufferedReader java/io/InputStreamReader getInputStream /(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
 (Ljava/io/InputStream;)V 

	  <
 Main-Class: trim <
 J command args bash -c ps -p $PPID -o  
getRuntime ()Ljava/lang/Runtime; java/lang/Runtime
 exec (([Ljava/lang/String;)Ljava/lang/Process;
 waitFor  java/lang/Process
 getErrorStream ()Ljava/io/InputStream;
 read  java/io/InputStream

 
STARTUP_DELAY   
STARTUP_CYCLE  , 
THREAD_BUFFER   
 	DEFAULT_X    	DEFAULT_Y   ( 
DEFAULT_WIDTH   DEFAULT_HEIGHT   optionTable 
ConstantValue 
SourceFile java/lang/Runnable java/awt/event/MouseListener "java/awt/event/MouseMotionListener java/awt/event/KeyListener java/awt/event/ActionListener! Program.java! "    " &                	  
        
                   	 
         
                     78    %    + ,    U V    A          $ %               
                { |    w x         TU                  /     2    s             * * * #* '* )Y * .* 1* 4** : @ C** C* CE K` O C* QY* T X** X \* `L*+ d* j** n r** v z* z* ~ **  * *             
                  
                       * +         f          	*                   	*                   	*'                   	*#                   	*                   	*                   *+                    
*                    * +         f          	*                   	*                   	*'                   	*#                   	*                   	*                   *+                    * +         <          * ư                 * +                   
*ζ Ѭ                 * Ѭ       G          
*+ζ Ѭ                 
* +                   *  ض ܯ                 *') ܯ                 *+  ض ܯ                 * +(                   *                  
*+                  
* +,-        /      "     *  
 Y * 1      o p          *+ ~       l          * ~       t          * z                 *                  *                  *                  *           k     _+	 *
+		 *+	 *+	 *+	 * YY+"%      &'          ,	 *
+-, p,		 *+-, [,	 *+-, F,	 *+-, 1,	 *+-,  YY.,"%      /           **2     /0          
** `+5     6      !     *+ C*: *:+>     ? <          * C     @           *      AB          * ' *+F '*I *L*O* j*: Z*:P*S=*
S`=*S`=*S`=*S`= *: j* #**:*W]a* *c*: *  ** *:g*O*j     k           q* .L+* .n>6 A* .r: ::u ?y: 9W : Y+ç +ÿ** 1     A Dt  Y ^           -     * .M,* .+W,ç ,ÿ                    '          
                
                
                
                
                
                
                
                
                
                
                %     Y*L+Y+      k l                s t           Y* `                  Y     Y          *]                *                *Ŭ           0     $M* ' * '+ɶ JM, ,*+Ұ          $     *ՙ *+ *+ֱ                *ՙ *ڰ*ڰ          !     *ՙ *+*+               *ՙ , *+W {, *
+W e,	 *+W O, *+W 9, *+W #, *+W 
*+,* # !*: *: j* # 
*+,           $     *ՙ * *          $     *ՙ *+ *+           "     *ՙ 
* *     M           *ՙ 
* `P*P                *ՙ 
* `*     A      L     @**I   1* 1 &*  $* *O* j**j *           C     /* *
L+ ?yM,* 9W W    ' *t   	
B         *FL+ JMN:, M W , :M, /, ,,"d%M,/.)M,
N W - ]-3: "  ":6 ?+8 JM,  Y: ,
3 ":6 W W W   Y< +@B     #t Z _ b+ j  - j  / j  +   C           * ~M*  * DM, * ~M, +F	 
*H +J	 3*NN- -T-* CZ: -`dg +i	 
,l w+n	 
,q f+s	 
,v U+x	 
,{ D+}	 
, 3+	 
, "+	 
, +	 ,      f          * 4                * 4          ]     Q+	 *+		 *+	 *+	 * YY+"%           %     * '  * '           @     4* L+ +I +M+ , 
,Ś             
                 
            Y Z          *+ X*+               * X     =>          *+ '               * '     4           *+     1          *      <     2      &   !               ðư     h           }YL*M, >,+,Ӹ+N-§ +׶ۧ W *ݙ-ç -ÿ,,޶,****, * ` *H  * 1 4 ' ? D                *     CD          * YL )Y *M> D*2:=6 '%:` O:+ W 
,W*,n J:6 ,r JS,n+ W+                * <YY*
M,
,! ,",',  ,		>,6,:     -      /   +   "   /   '   / I" 1$	 <&	 (	,W 	+>wW        a b          +Y*-Y.
*-Y.*-Y.*-Y.*-Y.*
0Y3*0Y3*0Y3*0Y3*5Y7+*
,+*	,+*,+*,+*,     /3          y*+; F*+> k ?Y@
SN 9Y,S:+ :B-y:+W :N Y-++ )++N-S66 *-F,5   > At   89     2     +H 
+J L
+OW    t   <9     X     D ?YQ
SM 9Y@
SN+ :S,y:+-U:  W    A At   J           {**W:* X Q*:[*:*,*:]Y*^b**W*:fL*Wg+l`+o`=*Wp+s`+v`>*:*Wy*W|     de     p     \ * 4 ,+ F, :N ?Y+ :S: 9Y+S:-y:,W W,+,    H Kt              *+: Q* ::Y+"%::  J 
 J: W	 : $"d%6ok   W Wt        u     iL*+=*+ŷ>*+  +6*+š  (+ŷ6\Y     Y          * ** **: 
* 
*:L+Y*ôd+Y*ôd+Y*
ôd+Y*ôd+     ^_     r     f* `N-:,Ě  Ś +:Y,d`Y,d`+Ŷ+P     
)      r     ^Y*L+̶M, YY+,ط۷N-: #" " O-:W    [ [   
 <          o 	 K JYSYSYY*"%SL+M,W,  YY,۷N-W-ްW    l lt      #                                                                                                                                                                                                                                                                                                        acm/program/ProgramAppletStub.class                                                                 000644  000766  000024  00000007167 11166064600 020217  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Lacm/program/Program;)V   java/lang/Object 
   applet Ljava/applet/Applet; 	 
 acm/program/ProgramAppletStub 	 
  Code setFrame (Ljava/awt/Frame;)V 	enclosure Ljava/awt/Frame;  	 
  isActive ()Z getDocumentBase ()Ljava/net/URL; getCodeBase  
 
  java/net/MalformedURLException  java/net/URL  java/lang/StringBuffer ! file: # (Ljava/lang/String;)V  %
 " & . ( getCanonicalPath &(Ljava/lang/String;)Ljava/lang/String; * +
 
 , append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; . /
 " 0 toString ()Ljava/lang/String; 2 3
 " 4
   & acm/util/ErrorException 7  Error: Illegal document base URL 9
 8 & getParameter getAppletContext ()Ljava/applet/AppletContext; appletResize (II)V recursiveResizeCheck Z A B	 
 C resize E @ java/applet/Applet G
 H F validate J  java/awt/Container L
 M K setSize O @ java/awt/Component Q
 R P getAudioClip '(Ljava/net/URL;)Ljava/applet/AudioClip; getNewAudioClip V U
 
 W getImage  (Ljava/net/URL;)Ljava/awt/Image; java/io/IOException [ 
getContent ()Ljava/lang/Object; ] ^
   _ java/awt/image/ImageProducer a createImage 0(Ljava/awt/image/ImageProducer;)Ljava/awt/Image; c d
 R e 	getApplet ((Ljava/lang/String;)Ljava/applet/Applet; 
getApplets ()Ljava/util/Enumeration; java/util/Vector k
 l  elements n j
 l o showDocument (Ljava/net/URL;)V = >
 H s q r java/applet/AppletContext v w u #(Ljava/net/URL;Ljava/lang/String;)V q y w z 
showStatus out Ljava/io/PrintStream; } ~ java/lang/System 	   println  % java/io/PrintStream 
   | %
 H  	setStream *(Ljava/lang/String;Ljava/io/InputStream;)V "setStream: unimplemented operation  	getStream )(Ljava/lang/String;)Ljava/io/InputStream; "getStream: unimplemented operation  
getStreamKeys ()Ljava/util/Iterator; &getStreamKeys: unimplemented operation  java/io/File 
  & getAbsolutePath  3
   	substring (II)Ljava/lang/String;   java/lang/String 
   valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
   %20  (I)Ljava/lang/String;  
   indexOf (I)I  
   java/lang/Exception  java/lang/Class  java.applet.Applet  forName %(Ljava/lang/String;)Ljava/lang/Class;  
   java.net.URL  newAudioClip  	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;  
   invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;   java/lang/reflect/Method 
   java/applet/AudioClip  
SourceFile java/applet/AppletStub  Program.java   
   w    	 
         A B                
* *+                  *+                                   *             <     (  Y "Y$ '*) - 1 5 6W 8Y: ;          < +                = >          *      ? @     H     <*  '* D 0* D*  I*  N* D *  S*  N      T U          M, 	*+ XM,      Y Z     /     + `M, b * , b fW      \    g h                i j           lY m p      q r     !     *  *  t+ x       q y     "     *  *  t+, {       | %     &     *  
 +  * +                  
 8Y ;                 
 8Y ;                 
 8Y ;      * +     L     @ Y+  M & "Y,   ' 1,`  1 5M,  Y>,      V U     n  	   R*N- : :+S : S :  M ,WM ,-ÿ:-é   A A   I I                                                                                                                                                                                                                                                                                                                                                                                                                   acm/program/ProgramFrame.class                                                                      000644  000766  000024  00000000475 11166064600 017161  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Ljava/lang/String;)V   java/awt/Frame 
   Code update (Ljava/awt/Graphics;)V paint   java/awt/Container 
  
 
SourceFile acm/program/ProgramFrame  Program.java              	        *+       
   	        *+                                                                                                                                                                                                              acm/program/ProgramMenuBar.class                                                                    000644  000766  000024  00000012427 11166064600 017460  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -9 <clinit> ()V <init>   javax/swing/JMenuBar 
   acm/program/ProgramMenuListener  (Lacm/program/ProgramMenuBar;)V  

 	  listener !Lacm/program/ProgramMenuListener; 
  acm/program/ProgramMenuBar 	   init  
   Code addFileMenu  
   addEditMenu  
   File  patchModeInEffect (Ljava/lang/String;)Z   
  ! javax/swing/JMenu # (Ljava/lang/String;)V  %
 $ & setMnemonic (C)V ( ) javax/swing/AbstractButton +
 , * addFileMenuItems (Ljavax/swing/JMenu;)V . /
  0 add ((Ljavax/swing/JMenu;)Ljavax/swing/JMenu; 2 3
  4 Edit 6 addEditMenuItems 8 /
  9 Save ; createStandardMenuItem +(Ljava/lang/String;)Ljavax/swing/JMenuItem; = >
  ? 0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem; 2 A
 $ B Save As D addSeparator F 
 $ G Print I 
Print Console K Script M Quit O Cut Q Copy S Paste U 
Select All W equals (Ljava/lang/Object;)Z Y Z java/lang/String \
 ] [ isMac ()Z _ ` acm/util/Platform b
 c a createStandardItem ,(Ljava/lang/String;I)Ljavax/swing/JMenuItem; e f
  g Exit i Cut (x) k Copy (c) m 	Paste (v) o 
Save As... q Print... s 	Script... u acm/util/ErrorException w java/lang/StringBuffer y Illegal menu item:  {
 z & append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; ~ 
 z  toString ()Ljava/lang/String;  
 z 
 x & setActionCommand  %
 ,  addActionListener "(Ljava/awt/event/ActionListener;)V  
 ,  
getProgram ()Lacm/program/Program; 
activeProgram Lacm/program/Program;  	   
setConsole (Lacm/io/IOConsole;)V 
activeConsole Lacm/io/IOConsole;  	   
getConsole ()Lacm/io/IOConsole; 
setEnabled (Ljava/lang/String;Z)V getMenuCount ()I  
   getMenu (I)Ljavax/swing/JMenu;  
   )(Ljavax/swing/JMenu;Ljava/lang/String;Z)V  
   createOldStyleMenuBar ()Ljava/awt/MenuBar; java/awt/MenuBar 
   createOldStyleMenu $(Ljavax/swing/JMenu;)Ljava/awt/Menu;  
    (Ljava/awt/Menu;)Ljava/awt/Menu; 2 
   
setProgram (Lacm/program/Program;)V javax/swing/JMenuItem 
  & getKeyStroke (II)Ljavax/swing/KeyStroke;   javax/swing/KeyStroke 
   setAccelerator (Ljavax/swing/KeyStroke;)V  
   (I)V ( 
 ,  java/lang/Exception  getClass ()Ljava/lang/Class;   java/lang/Object 
   getName   java/lang/Class 
   lastIndexOf (I)I  
 ]  	substring (II)Ljava/lang/String;  
 ]  valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
 ]  JMenu  forName %(Ljava/lang/String;)Ljava/lang/Class;  
   java.lang.String  getConstructor 3([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;  
   newInstance '([Ljava/lang/Object;)Ljava/lang/Object;   java/lang/reflect/Constructor 
   charAt (I)C  
 ]  acm.program.ProgramMenuBar  2 	MenuItems  addViaCallback  	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;  
   invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java/lang/reflect/Method
 
java/awt/Menu getText	 
 ,

 & getItemCount
 
 $ getItem (I)Ljavax/swing/JMenuItem;
 $ createOldStyleMenuItem '(Ljava/lang/Object;)Ljava/awt/MenuItem;
  ((Ljava/awt/MenuItem;)Ljava/awt/MenuItem; 2
 java/awt/MenuItem -
 & javax/swing/JCheckBoxMenuItem  $acm/program/OldStyleCheckBoxMenuItem" "(Ljavax/swing/JCheckBoxMenuItem;)V $
#% acm/program/OldStyleMenuItem' (Ljavax/swing/JMenuItem;)V )
(* Unsupported menu item type, -(Ljavax/swing/JMenuItem;Ljava/lang/String;Z)V .
 / getActionCommand1 
 ,2 (Z)V 4
 5 
SourceFile ProgramMenuBar.java !            
                 !     * * 	Y*  *                  	* *             2     &* "  $Y 'L+F -*+ 1*+ 5W            2     &*7 "  $Y7 'L+E -*+ :*+ 5W      . /     W     K+*< @ CW+*E @ CW+ H+*J @ CW+*L @ CW+*N @ CW+ H+*P @ CW      8 /     9     -+*R @ CW+*T @ CW+*V @ CW+*X @ CW      = >    6    *M+P ^   d *PQ hM*j hM +R ^ * d R lX hM +T ^ * d T nC hM +V ^ * d V pV hM +< ^ *<S hM +E ^ *r hM m+J ^ *tP hM X+L ^ *L hM D+N ^ *v hM 0+X ^ *XA hM  xY zY| }+   ,+ ,*  ,                 *                  *+                  *             -     !* >6 ** +             6     * Y L* => +**   W+                  *+       e f     3     ' Y+ N  d -  ç - -                  * ζ M,,. ` N zY- ߷ }   : Y S: Y+S: :  $:+  - Y SY S:	 Y*SY zY }+   S:
	 :
W* 5WW                =     1Y+M+>6 ,*+W,          \     P+ Y+ $ *+ $ +! #Y+!&+  (Y+ + xY-             =     1+:66 : *,0      .          ,+3 ^ +6     7   8                                                                                                                                                                                                                                         acm/program/ProgramMenuListener.class                                                               000644  000766  000024  00000001231 11166064600 020530  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - ( <clinit> ()V <init> (Lacm/program/ProgramMenuBar;)V   java/lang/Object 
   menuBar Lacm/program/ProgramMenuBar; 	 
 acm/program/ProgramMenuListener 	 
  Code actionPerformed (Ljava/awt/event/ActionEvent;)V 
getProgram ()Lacm/program/Program;   acm/program/ProgramMenuBar 
   getActionCommand ()Ljava/lang/String;   java/awt/event/ActionEvent 
   
menuAction (Ljava/lang/String;)V   acm/program/Program !
 "   
SourceFile java/awt/event/ActionListener % ProgramMenuBar.java   
   &   	 
                
* *+                  *  +  #      $    '                                                                                                                                                                                                                                                                                                                                                                       acm/program/ProgramRootPaneLayout.class                                                             000644  000766  000024  00000002345 11166064600 021052  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - K <clinit> ()V addLayoutComponent )(Ljava/lang/String;Ljava/awt/Component;)V Code removeLayoutComponent (Ljava/awt/Component;)V preferredLayoutSize *(Ljava/awt/Container;)Ljava/awt/Dimension; getTreeLock ()Ljava/lang/Object; 
  java/awt/Component 
   getSize ()Ljava/awt/Dimension;  
   minimumLayoutSize layoutContainer (Ljava/awt/Container;)V 	getInsets ()Ljava/awt/Insets;   java/awt/Container 
   left I   java/awt/Insets  	 !  top # 	 ! $ width &  java/awt/Dimension (	 ) ' right + 	 ! , height . 	 ) / bottom 1 	 ! 2 getComponent (I)Ljava/awt/Component; 4 5
  6 	setBounds (IIII)V 8 9
  : getComponentCount ()I < =
  > <init> @  java/lang/Object B
 C A 
SourceFile !acm/program/ProgramRootPaneLayout F java/awt/LayoutManager H Program.java   G C  I           
                  
             	     .     + N-+ M ,-ÿ:-é           	     .     + N-+ M ,-ÿ:-é                     s+ M,+ :+ : "6 %6 * "d -d6 0 %d 3d6	6
 +
 7	 ;

+ ?,ç ,ÿ   j o       @           * D      E    J                                                                                                                                                                                                                                                                                           acm/program/ProgramStartupListener.class                                                            000644  000766  000024  00000001001 11166064600 021261  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V componentHidden "(Ljava/awt/event/ComponentEvent;)V Code componentMoved componentResized componentShown   "acm/program/ProgramStartupListener 

  	 	notifyAll 
  java/lang/Object 
   <init>  
   
SourceFile  java/awt/event/ComponentListener  Program.java                 
                  
                       *+             %     *M,* ,ç ,ÿ    
                  *                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          acm/program/ProgramWindowListener.class                                                             000644  000766  000024  00000001515 11166064600 021100  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - - <clinit> ()V <init> (Lacm/program/Program;)V   java/lang/Object 
   owner Lacm/program/Program; 	 
 !acm/program/ProgramWindowListener 	 
  Code 
windowClosing (Ljava/awt/event/WindowEvent;)V 	getSource ()Ljava/lang/Object;   java/util/EventObject 
   java/awt/Component  
setVisible (Z)V  
   exit   acm/program/Program  
 !  windowOpened windowClosed windowIconified windowDeiconified windowActivated windowDeactivated 
SourceFile java/awt/event/WindowListener * Program.java   
   +   	 
                
* *+                  +   *  "      #      
            $      
            %      
            &      
            '      
            (      
            )    ,                                                                                                                                                                                   acm/io/AWTBooleanInputDialog.class                                                                  000644  000766  000024  00000002661 11166064600 017631  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - V <clinit> ()V <init> Z(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Ljava/lang/String;Ljava/lang/String;Z)V Input  6(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Z)V   acm/io/AWTDialog 	
 
  
setMessage (Ljava/lang/String;)V  
 
  
trueButton Ljava/awt/Button;   acm/io/AWTBooleanInputDialog 	   setLabel  
 java/awt/Button 
   falseButton  	   Code getInput ()Ljava/lang/Boolean; input Ljava/lang/Boolean; ! "	  # initButtonPanel (Ljava/awt/Panel;Z)V True '  
  ) addActionListener "(Ljava/awt/event/ActionListener;)V + ,
  - add *(Ljava/awt/Component;)Ljava/awt/Component; / 0 java/awt/Container 2
 3 1 False 5 Cancel 7 cancelButton 9 	  : 
initDataPanel (Ljava/awt/Panel;)V actionPerformed (Ljava/awt/event/ActionEvent;)V 	getSource ()Ljava/lang/Object; @ A java/util/EventObject C
 D B java/awt/Component F TRUE H " java/lang/Boolean J	 K I 
setVisible (Z)V M N
 G O FALSE Q "	 K R 
SourceFile 
IODialog.java    
               9     ! "           .     "*+- *, *  *                    * $      % &     k     _* Y( * * * .+*  4W* Y6 * * * .+*  4W !* Y8 * ;* ;* .+* ; 4W      < =     
            > ?     U     I+ E GM,*  * L $* P ,,*  * S $* P ,* ; 
* $* P      T    U                                                                               acm/io/AWTDialog.class                                                                              000644  000766  000024  00000002720 11166064600 015305  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - f <clinit> ()V WIDTH I   HEIGHT   d <init> 6(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Z)V &(Ljava/awt/Frame;Ljava/lang/String;Z)V  
 java/awt/Dialog 
 
  java/awt/BorderLayout   
   	setLayout (Ljava/awt/LayoutManager;)V   java/awt/Container 
   java/awt/Panel 
   java/awt/FlowLayout 
   acm/io/AWTMessageCanvas 
    messageArea Lacm/io/AWTMessageCanvas; " # acm/io/AWTDialog %	 & $ Center ( add )(Ljava/awt/Component;Ljava/lang/Object;)V * +
  , initButtonPanel (Ljava/awt/Panel;Z)V . /
 & 0 
initDataPanel (Ljava/awt/Panel;)V 2 3
 & 4 acm/io/AWTIconCanvas 6 (Ljava/awt/Image;)V  8
 7 9 West ; South = 	getBounds ()Ljava/awt/Rectangle; ? @ java/awt/Component B
 C A x E  java/awt/Rectangle G	 H F width J 	 H K y M 	 H N height P 	 H Q 	setBounds (IIII)V S T
 C U validate W 
  X Code actionPerformed (Ljava/awt/event/ActionEvent;)V 
setMessage (Ljava/lang/String;)V ] ^
   _ 
ConstantValue 
SourceFile java/awt/event/ActionListener c 
IODialog.java  & 
  d      a         a      " #      	  Z        *+, * Y   Y : Y : Y : Y   Y   Y  *  Y ! '* ') -* 1* 5 7Y- :< -) -*) -*> -+ D: I Ll`6	 O Rl`6
*	 d
2dd V* Y     . /   2 3   [ \    ] ^  Z        	* '+ `      b    e                                                acm/io/AWTDialogModel.class                                                                         000644  000766  000024  00000017263 11166064600 016276  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V java/lang/String  P47494638396120002000F70000FFFFFF980098339999989800111111222222000054CBFFCB003298  P0033660033CC0033FE00323266330066660000659800989800CC9900FE99329800659800CC0099FE  P0098659898999999CC9900FE98009800329800659900CC9800FE3399CB3399FF9999339898659832 	 P0098650099339998659833CB9833FF9999CC0099FE00336699656698CC9898FF9999323200336600  P32003233006632009833339965009866339900663300983200666600986500CC3300FE3200CC6600 
 PFE65CCCC98CCFF99FFCC99FFFF993300CC3200FE6600CC6500FECC0033CC0066FE0032FE00653399  P33339966669933669865CC00CCCB00FEFE00CBFE00FE6699CC6598FF9898CC9999FFCB9833CC9966  PFF9933FF9865333333326532323265326565660033653232660066653265CC3300CC6600FE3200FE  P65000066CC0099CC0066FE0098FE00CCCC00FECB00CCFE00FEFE33CC0033FE0066CC0066FE00CB33  P98CC6699FF3399FF659866CC9965FF9898CC9899FF99CCCC00CCFE00FECB00FEFE00993333996633  P9933669865659833CB9966CC9933FF9865FF33CBCB33FFCC33CCFF33FFFF99CB3399FF3399CC6698  PFF65CC98CCCCCCCCCC99FFCBCBFFFF99CCFFCBCBFF99FFFFCBFF3333CB3366CB3333FF3366FF6533  PCB6666CC6633FF6565FFCB3333CB6533CB3365CC6666FF3333FF6633FF3366FF656533CB3333FF33  P33CB6633FF6666CB3366FF3366CC6665FF65CB33CBCC66CCCC33FFCC65FFFF33CCFF65CCFF33FFFF  P65FF66CCCC65FFCC65CCFF65FFFF98CCCC99FFCC99CCFF99FFFFCBCB33CCFF33CCCC66CCFF65FFCC ! P33FFFF33FFCC65FFFF65444444656532DDDDDDCBFFFFFFFFCBEEEEEE100000980000001000660000 # P000098000066777777888888AAAAAABBBBBB5555556666660000100000224400005400000000CC00 % P00DC0000EE0000FE00003200004400880000980000AA0000BA0000CC0000DC0000EE0000FE00CC00 ' P00DC0000EE0000FE0000004400005400006600007600220000320000AA0000BA0000002200003200 ) P7600008800000000AA0000BA00007600008800000021F90401000096002C0000000020002000C7FF + PFFFF980098339999989800111111222222000054CBFFCB0032980033660033CC0033FE0032326633 - P0066660000659800989800CC9900FE99329800659800CC0099FE0098659898999999CC9900FE9800 / P9800329800659900CC9800FE3399CB3399FF99993398986598320098650099339998659833CB9833 1 PFF9999CC0099FE00336699656698CC9898FF99993232003366003200323300663200983333996500 3 P9866339900663300983200666600986500CC3300FE3200CC6600FE65CCCC98CCFF99FFCC99FFFF99 5 P3300CC3200FE6600CC6500FECC0033CC0066FE0032FE0065339933339966669933669865CC00CCCB 7 P00FEFE00CBFE00FE6699CC6598FF9898CC9999FFCB9833CC9966FF9933FF98653333333265323232 9 P65326565660033653232660066653265CC3300CC6600FE3200FE65000066CC0099CC0066FE0098FE ; P00CCCC00FECB00CCFE00FEFE33CC0033FE0066CC0066FE00CB3398CC6699FF3399FF659866CC9965 = PFF9898CC9899FF99CCCC00CCFE00FECB00FEFE009933339966339933669865659833CB9966CC9933 ? PFF9865FF33CBCB33FFCC33CCFF33FFFF99CB3399FF3399CC6698FF65CC98CCCCCCCCCC99FFCBCBFF A PFF99CCFFCBCBFF99FFFFCBFF3333CB3366CB3333FF3366FF6533CB6666CC6633FF6565FFCB3333CB C P6533CB3365CC6666FF3333FF6633FF3366FF656533CB3333FF3333CB6633FF6666CB3366FF3366CC E P6665FF65CB33CBCC66CCCC33FFCC65FFFF33CCFF65CCFF33FFFF65FF66CCCC65FFCC65CCFF65FFFF G P98CCCC99FFCC99CCFF99FFFFCBCB33CCFF33CCCC66CCFF65FFCC33FFFF33FFCC65FFFF6544444465 I P6532DDDDDDCBFFFFFFFFCBEEEEEE100000980000001000660000000098000066777777888888AAAA K PAABBBBBB5555556666660000100000224400005400000000CC0000DC0000EE0000FE000032000044 M P00880000980000AA0000BA0000CC0000DC0000EE0000FE00CC0000DC0000EE0000FE000000440000 O P5400006600007600220000320000AA0000BA00000022000032007600008800000000AA0000BA0000 Q P7600008800000008E5002D091C28909DC1830813B22348D0202D85D5AA294C185121872EEC1E4E44 S P18B1E34676EBD85DB48430E4C793074736CC88F22387861A377A3438F3A04991186352AC08916742 U P950339B404F9B30BC3A30E87A63C5A90A55297057572F43955A2C59C2D3B529D78D1A94C9F350DDE W PEC2A95A6D58F5B71067DBA112853A11CE2CA9D4BD72853A41969E9DDCB77AFC8BB2BCBB67CC93429 Y PDB9F810F43F55A156D5AB236779E353B1921E4931EC35E657C53F260AC982B6A2ECAB2F341CDA30D [ P5EF6FCB5324EC68A23ABB5243476D1A3B5893E5DE716B76CB16DED020EDAA5B8F1E3C8EF06040021 ] PFF0B4D414347436F6E2004031039000000015772697474656E20627920474946436F6E7665727465 _ B7220322E342E33206F66204D6F6E6461792C204D61792032352C2031393938003B a ERROR_IMAGE [Ljava/lang/String; c d acm/io/AWTDialogModel f	 g e P7600008800000008A0002D091C48B0A0C1830809F659B8F09F43870C17268C4891E2C38A18FB4C8C i PF81062C484200536F418D260C691FF4E6A44A8F2E2C9920531C29CC9706648861D534AB46909634E k P992C55F671A932A650A22F830AADC8B3274A8F2B9B9ADC291564D4AA072962353A14EA568E1D3FF2 m PACF8536BC98C65992A450B3523D7966D933A3D1AD7AD42B83AE54EF559B7E659B27D9B8245FA15A5 o PDFAD22C5228EC933200021FF0B4D414347436F6E2004031039000000015772697474656E20627920 q P474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C203139 s 3938003B u INFORM_IMAGE w d	 g x P7600008800000008A9002D091C485060AE83080F165C383021C27F1021268C28D1612E831633E6A2 z PA8D121C68E1B2B82BCB8502345911E0982E478F024484B235BA27C593263C48E0C6BC64C98F3E3C4 | P934033AAB4E952E64DA13B1FB24CDAF1E84E98319D8E2CD874A9D09E0D9F62659874EB50A608B112 ~ P053A5321558B568B5ACC8A56ADDA9426DD5AE50936A4D4BA3FEFE2555A762F5FA65047EAD5C8D66F  PCAC26D07F3E43AB6AF59B175BD325EBB35200021FF0B4D414347436F6E2004031039000000015772  P697474656E20627920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D  61792032352C2031393938003B  QUESTION_IMAGE  d	 g  Code <init> (Ljava/awt/Component;)V   java/lang/Object 
   myComponent Ljava/awt/Component;  	 g  imagesReady Z  	 g  popupMessage (Ljava/lang/String;)V createImages  
 g  getEnclosingFrame &(Ljava/awt/Component;)Ljava/awt/Frame;   acm/util/JTFTools 
   acm/io/AWTMessageDialog  Message  informImage Ljava/awt/Image;  	 g  G(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Ljava/lang/String;)V  
   
setVisible (Z)V   java/awt/Component 
   popupErrorMessage Error  
errorImage  	 g  popupLineInputDialog '(Ljava/lang/String;Z)Ljava/lang/String; acm/io/AWTLineInputDialog  
questionImage  	 g  6(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Z)V  
  
   getInput ()Ljava/lang/String;  
   popupBooleanInputDialog L(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/Boolean; acm/io/AWTBooleanInputDialog  Z(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Ljava/lang/String;Ljava/lang/String;Z)V  
   ()Ljava/lang/Boolean;  
   createImage %([Ljava/lang/String;)Ljava/awt/Image;   acm/util/MediaTools 
   
SourceFile acm/io/DialogModel  
IODialog.java   g                               c d    w d     d          U     I/ YSYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'TSY(VSY)XSY*ZSY+\SY,^SY-`SY.bS h. YSYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'jSY(lSY)nSY*pSY+rSY,tSY-vS y. YSYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'{SY(}SY)SY*SY+SY,SY-S                  * *+ *             3     '*  * *  M Y,* +              3     '*  * *  M Y,* +              ;     /*  * *  N Y-+*  :  ʰ            @     4*  * *  : Y+* ,- :  ԰            0     $* h ڵ * y ڵ *  ڵ *                                                                                                                                                                                                                                                                                                                                                        acm/io/AWTIconCanvas.class                                                                          000644  000766  000024  00000001142 11166064600 016127  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - $ <clinit> ()V <init> (Ljava/awt/Image;)V   java/awt/Canvas 
   myIcon Ljava/awt/Image; 	 
 acm/io/AWTIconCanvas 	 
  Code getMinimumSize ()Ljava/awt/Dimension; java/awt/Dimension  (II)V  
   getPreferredSize  
 
  paint (Ljava/awt/Graphics;)V 	drawImage 3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z   java/awt/Graphics 
    
SourceFile 
IODialog.java   
      	 
                
* *+                   Y00                  *                  +* * !W      "    #                                                                                                                                                                                                                                                                                                                                                                                                                              acm/io/AWTLineInputDialog.class                                                                     000644  000766  000024  00000002710 11166064600 017134  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - \ <clinit> ()V <init> 6(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Z)V Input    acm/io/AWTDialog 
 	  
setMessage (Ljava/lang/String;)V  
 	 
 Code getInput ()Ljava/lang/String; input Ljava/lang/String;   acm/io/AWTLineInputDialog 	   
setVisible (Z)V   java/awt/Component 
   textLine Ljava/awt/TextField;  	    requestFocus " 
  # initButtonPanel (Ljava/awt/Panel;Z)V java/awt/Button ' OK )  
 ( + okButton Ljava/awt/Button; - .	  / addActionListener "(Ljava/awt/event/ActionListener;)V 1 2
 ( 3 add *(Ljava/awt/Component;)Ljava/awt/Component; 5 6 java/awt/Container 8
 9 7 Cancel ; cancelButton = .	  > 
initDataPanel (Ljava/awt/Panel;)V java/awt/TextField B  
 C D
 C 3 South G )(Ljava/awt/Component;Ljava/lang/Object;)V 5 I
 9 J actionPerformed (Ljava/awt/event/ActionEvent;)V 	getSource ()Ljava/lang/Object; N O java/util/EventObject Q
 R P getText T  java/awt/TextComponent V
 W U
   
SourceFile 
IODialog.java    	     = .    - .                          *+- 
*,                  *                  *  
* ! $      % &     M     A* (Y* , 0* 0* 4+* 0 :W !* (Y< , ?* ?* 4+* ? :W      @ A     *     * CY E !* !* F+* !H K      L M     J     >+ S M,* 0 ,* ! ** ! X * Y ,* ? 
* * Y      Z    [                                                        acm/io/AWTMessageCanvas.class                                                                       000644  000766  000024  00000002434 11166064600 016630  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - ^ <clinit> ()V 
java/awt/Font  Dialog  <init> (Ljava/lang/String;II)V  
  	 MESSAGE_FONT Ljava/awt/Font;   acm/io/AWTMessageCanvas 	  
 Code MARGIN I      java/awt/Canvas 
   setFont (Ljava/awt/Font;)V   java/awt/Component 
   
setMessage (Ljava/lang/String;)V message Ljava/lang/String; ! "	  # paint (Ljava/awt/Graphics;)V getFontMetrics ()Ljava/awt/FontMetrics; ' ( java/awt/Graphics *
 + ) 	getAscent ()I - . java/awt/FontMetrics 0
 1 / getSize ()Ljava/awt/Dimension; 3 4
  5 width 7  java/awt/Dimension 9	 : 8 java/util/StringTokenizer <   > ((Ljava/lang/String;Ljava/lang/String;Z)V  @
 = A 	nextToken ()Ljava/lang/String; C D
 = E stringWidth (Ljava/lang/String;)I G H
 1 I 	getHeight K .
 1 L equals (Ljava/lang/Object;)Z N O java/lang/String Q
 R P 
drawString T 
 + U 
hasMoreTokens ()Z W X
 = Y 
ConstantValue 
SourceFile 
IODialog.java            [           ! "                  Y 
                  * *                    *+ $      % &       	   x+ ,M>, 2`6* 6 ;d6 =Y* $? B: B F:, J6` >, M`6? S  + V`> Z      \    ]                                                                                                                                                                                                                                    acm/io/AWTMessageDialog.class                                                                       000644  000766  000024  00000001746 11166064600 016621  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - 9 <clinit> ()V <init> G(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Ljava/lang/String;)V 6(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;Z)V   acm/io/AWTDialog 
   
setMessage (Ljava/lang/String;)V 
 
   Code initButtonPanel (Ljava/awt/Panel;Z)V java/awt/Button  OK   
   okButton Ljava/awt/Button;   acm/io/AWTMessageDialog 	   addActionListener "(Ljava/awt/event/ActionListener;)V  
   add *(Ljava/awt/Component;)Ljava/awt/Component; ! " java/awt/Container $
 % # 
initDataPanel (Ljava/awt/Panel;)V actionPerformed (Ljava/awt/event/ActionEvent;)V 	getSource ()Ljava/lang/Object; + , java/util/EventObject .
 / - 
setVisible (Z)V 1 2 java/awt/Component 4
 5 3 
SourceFile 
IODialog.java                          *+,- 	* 
            +     * Y  * *  +*  &W      ' (     
            ) *          + 0*  * 6      7    8                          acm/io/CharacterQueue.class                                                                         000644  000766  000024  00000002077 11166064600 016440  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - F <clinit> ()V <init>   java/lang/Object 
      buffer Ljava/lang/String; 
  acm/io/CharacterQueue 
	   Code enqueue (C)V java/lang/StringBuffer  valueOf &(Ljava/lang/Object;)Ljava/lang/String;   java/lang/String 
   (Ljava/lang/String;)V  
   append (C)Ljava/lang/StringBuffer;  
    toString ()Ljava/lang/String; " #
  $ 	notifyAll & 
  ' ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  )
  * dequeue ()C java/lang/InterruptedException . 	isWaiting Z 0 1	  2 wait 4 
  5 length ()I 7 8
  9 charAt (I)C ; <
  = 	substring (I)Ljava/lang/String; ? @
  A ()Z 
SourceFile IOConsole.java         
     0 1                * *	             >     **M,» Y*[    ! % * (,ç ,ÿ   ! &            >     **M,» Y*[   + + % * (,ç ,ÿ   ! &      , -     i     M*M,§ * 3* 6* 3 W *  :*  >6**  B < ,ÿ:,é     /  D D      0 C          * 3      D    E                                                                                                                                                                                                                                                                                                                                                                                                                                                                 acm/io/ConsoleModel.class                                                                           000644  000766  000024  00000020466 11166064600 016124  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V OUTPUT_STYLE I     INPUT_STYLE    ERROR_STYLE    <init> 
  java/lang/Object 
 
  javax/swing/JScrollPane  (II)V 
 
   
scrollPane Ljavax/swing/JScrollPane;   acm/io/ConsoleModel 	   javax/swing/JTextPane 
   textPane Ljavax/swing/JTextPane;  	   addKeyListener (Ljava/awt/event/KeyListener;)V ! " java/awt/Component $
 % # addFocusListener !(Ljava/awt/event/FocusListener;)V ' (
 % ) setViewportView (Ljava/awt/Component;)V + ,
  - getDocument ()Ljavax/swing/text/Document; / 0 javax/swing/text/JTextComponent 2
 3 1 document Ljavax/swing/text/Document; 5 6	  7 line.separator 9 getProperty &(Ljava/lang/String;)Ljava/lang/String; ; < java/lang/System >
 ? = 
lineSeparator Ljava/lang/String; A B	  C #javax/swing/text/SimpleAttributeSet E
 F  outputAttributes %Ljavax/swing/text/SimpleAttributeSet; H I	  J inputAttributes L I	  M errorAttributes O I	  P acm/io/CharacterQueue R
 S  buffer Lacm/io/CharacterQueue; U V	  W 	inputLock Ljava/lang/Object; Y Z	  [ 
outputLock ] Z	  ^ base ` 	  a Code 
setConsole (Lacm/io/IOConsole;)V console Lacm/io/IOConsole; f g	  h 
getConsole ()Lacm/io/IOConsole; print (Ljava/lang/String;I)V insert (Ljava/lang/String;II)V n o
  p length ()I r s java/lang/String u
 v t setCaretPosition (I)V x y
  z readLine ()Ljava/lang/String; 	getLength ~ s
   inputScript Ljava/io/BufferedReader;  	   java/io/IOException  | } java/io/BufferedReader 
   acm/util/ErrorException  (Ljava/lang/Exception;)V 
 
   
  close  
   getCaretPosition  s
   getSelectionStart  s
   getSelectionEnd  s
   delete  
   deleteSelection  s
   	selectAll  
   max (II)I   java/lang/Math 
   copy  
   min  
   printConsole   acm/io/IOConsole 
   save  
   paste  
   cut  
   valueOf (C)Ljava/lang/String;  
 v  select  
   dequeue ()C  
 S  getText (II)Ljava/lang/String;  
   setInputScript (Ljava/io/BufferedReader;)V 	isWaiting ()Z  
 S  java/lang/StringBuffer  &(Ljava/lang/Object;)Ljava/lang/String;  
 v  (Ljava/lang/String;)V 
 
   append ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   toString  }
   enqueue  
 S  getInputScript ()Ljava/io/BufferedReader; isCommandEnabled (Ljava/lang/String;)Z hasFocus Z  	   clear    setText   javax/swing/JEditorPane 
    }
   %javax/swing/text/BadLocationException  javax/swing/text/Document      getConsolePane ()Ljava/awt/Component; getTextPane
 3 
 3  setSelectionStart y
 3
 3 
 3  &javax/swing/text/DefaultStyledDocument
 setCharacterAttributes %(IILjavax/swing/text/AttributeSet;Z)V

 3  isPointSelection
 3  (Ljava/awt/PrintJob;)V
   getPageDimension ()Ljava/awt/Dimension; java/awt/PrintJob
 getGraphics ()Ljava/awt/Graphics;
 getFontMetrics ()Ljava/awt/FontMetrics;  java/awt/Graphics"
#! 	getHeight% s java/awt/FontMetrics'
(& height*  java/awt/Dimension,	-+ 
countLines (Ljava/lang/String;)I/0
 1 getLineY (Ljava/lang/String;I)I34
 5 	translate7 
#8 width: 	-; setClip (IIII)V=>
#? paint (Ljava/awt/Graphics;)VAB javax/swing/JComponentD
EC disposeG 
#H 
setInputStyle BConsole styles and colors cannot be changed after I/O has started.K
   BoldN Z javax/swing/text/StyleConstantsP	QO java/lang/BooleanS (Z)V 
U
TV addAttribute '(Ljava/lang/Object;Ljava/lang/Object;)VXY
 FZ Italic\ Z	Q] 
setInputColor (Ljava/awt/Color;)V 
Foregrounda Z	Qb 
setErrorStyle 
setErrorColor focusGained (Ljava/awt/event/FocusEvent;)V findMenuBar ()Lacm/program/ProgramMenuBar;hi
 j d e acm/program/ProgramMenuBarm
nl 
updateMenuBar (Lacm/program/ProgramMenuBar;)Vpq
 r 	focusLost keyTyped (Ljava/awt/event/KeyEvent;)V 
getKeyCharw  java/awt/event/KeyEventy
zx (C)V |
 S} consume  java/awt/event/InputEvent
 
keyPressed 
getKeyCode s
z keyReleased requestFocus 
E Cut 
setEnabled (Ljava/lang/String;Z)V
n Copy Paste 
Select All Save Save As Script 
Print Console insertString 5(ILjava/lang/String;Ljavax/swing/text/AttributeSet;)V  remove  
 3 z
 3  indexOf4
 v endsWith 
 v java/lang/Exception modelToView (I)Ljava/awt/Rectangle;
 3 y  java/awt/Rectangle		+ Internal error:  ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; 
  acm/program/Program 
getMenuBari
 javax/swing/JFrame getJMenuBar ()Ljavax/swing/JMenuBar;
 	getParent ()Ljava/awt/Container;
 % 
ConstantValue 
SourceFile java/awt/event/KeyListener java/awt/event/FocusListener IOConsole.java    
                          	       U V    H I    L I    O I              5 6    A B    `          f g    Y Z    ] Z   *  
   c        * * Y   * Y   *  * &*  * ** *   .**   4 8*: @ D* FY G K* FY G N* FY G Q* SY T X* 
Y  \* 
Y  _* b      d e  c        *+ i      j k  c        * i      l m  c   C     /* _N-*+* b q*Y b+ w` b** b {-ç -ÿ   & +      | }  c  A    * \M,**  b*  g:*  : : Y  7** b q** b w` q*Y b w`` bL+*   W* ** b {=* * b **  {* 6         
                              \                              \*  * b *d  * 6 * 6 }* d* b 6 k* 6 a* `*  6 O* i 6 B* i 6 5* 6 +* 6 !*  	* 6*  q * * {* X Y6
 

* * bd6** b* b` :** b` q*Y b`` bL +,ÿ:,é   " %  j q t           c   S     ?*+ * X ՙ 2*  M* X Y, ڷ     
M Y,    1 4        c        *          c        *          c        
*          }  c        *            c   ,     * 8d  N Y-           ~ s  c        
* 8          c        *        c        *           c        
* * W         c        *           c   s     g*  * 8   * <*  *  *  * 8  * 8  	* 8 * 8M,*  d* N         c        *          c   #     *  *          l  c     
   *M+N+:$:)6-.l6*,26dl`6	6
6 L 	+:*,h`66
t9
-<
d@*  FI6
	     J y  c   W     K*   YLM* NRTY~  W[* N^TY~  W[     _`  c   *     *   YLM* Nc+[     d y  c   W     K*   YLM* QRTY~  W[* Q^TY~  W[     e`  c   *     *   YLM* Qc+[     fg  c   (     * *kM, ,* io*,s     tg  c        *      uv  c        * X+{~+     v  c   H     <+      3   %   '      3   '* X~ * X~ +     v  c        +        c        *   
*       pq  c   M     A++++++++      n o  c   T     @* K:   '            * N: * Q: * 8+  W    ; >        c   /     * 8d  
N Y-     
      x y  c        	*         s  c        *           c        
*  	       s  c        *         s  c        *         s  c   2     &* b*  <* =* b * *      /0  c   7     +=> +* D`Y>+* D      34  c        t+ w >6 8+* D6 *  :`* D w`>*  : Y Y  M   X X   hi  c   M     A* iL 6+ +İ+ƙ +ƶM,n 
,n +L+                                                                                                                                                                                                                  acm/io/ConsoleReader.class                                                                          000644  000766  000024  00000001647 11166064600 016266  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - ? <clinit> ()V <init> (Lacm/io/ConsoleModel;)V   java/io/Reader 
   consoleModel Lacm/io/ConsoleModel; 	 
 acm/io/ConsoleReader 	 
  buffer Ljava/lang/String;  	 
  Code close read ([CII)I readLine ()Ljava/lang/String;   acm/io/ConsoleModel 
   java/lang/StringBuffer  valueOf &(Ljava/lang/Object;)Ljava/lang/String;    java/lang/String "
 # ! (Ljava/lang/String;)V  %
  & 
 ( append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; * +
  , toString . 
  / length ()I 1 2
 # 3 getChars (II[CI)V 5 6
 # 7 	substring (I)Ljava/lang/String; 9 :
 # ; 
SourceFile IOConsole.java   
      	 
                     * *+ *             
                       z *  1**   *   Y*[  $ ') - 0 *  4 * + 8**  <  *  4>* + 8*       =    >                                                                                         acm/io/ConsoleWriter.class                                                                          000644  000766  000024  00000001442 11166064600 016331  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - 7 <clinit> ()V <init> (Lacm/io/ConsoleModel;)V   java/io/Writer 
   consoleModel Lacm/io/ConsoleModel; 	 
 acm/io/ConsoleWriter 	 
  Code close flush write ([CII)V java/lang/String   
   	substring (II)Ljava/lang/String;  
   print (Ljava/lang/String;I)V   acm/io/ConsoleModel 
    
 " LINE_SEPARATOR Ljava/lang/String; $ % acm/io/IOConsole '	 ( & length ()I * +
  , indexOf (Ljava/lang/String;I)I . /
  0 (I)Ljava/lang/String;  2
  3 
SourceFile IOConsole.java   
      	 
                
* *+             
                  
                  e     Y Y+ :6 )*   !* # ! ) -`6 ) 1Y6*  4 !      5    6                                                                                                                                                                                                                              acm/io/DialogModel.class                                                                            000644  000766  000024  00000000601 11166064600 015706  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V popupMessage (Ljava/lang/String;)V popupErrorMessage popupLineInputDialog '(Ljava/lang/String;Z)Ljava/lang/String; popupBooleanInputDialog L(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/Boolean; 
SourceFile acm/io/DialogModel  java/lang/Object 
 
IODialog.java                      	    
                                                                                                                                   acm/io/IOConsole.class                                                                              000644  000766  000024  00000020465 11166064600 015372  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V acm/io/SystemConsole  <init>  
   SYSTEM_CONSOLE Lacm/io/IOConsole;  	 acm/io/IOConsole 	  
 
java/awt/Font  
Monospaced  (Ljava/lang/String;II)V  
   DEFAULT_FONT Ljava/awt/Font;  	   line.separator  getProperty &(Ljava/lang/String;)Ljava/lang/String;   java/lang/System 
   LINE_SEPARATOR Ljava/lang/String; ! "	  # Code java/awt/Container &
 '  createConsoleModel ()Lacm/io/ConsoleModel; ) *
  + consoleModel Lacm/io/ConsoleModel; - .	  / 
setConsole (Lacm/io/IOConsole;)V 1 2 acm/io/ConsoleModel 4
 5 3 white Ljava/awt/Color; 7 8 java/awt/Color :	 ; 9 
setBackground (Ljava/awt/Color;)V = >
  ? blue A 8	 ; B 
setInputColor D >
  E 
setInputStyle (I)V G H
  I red K 8	 ; L 
setErrorColor N >
  O 
setErrorStyle Q H
  R getStandardFont  (Ljava/awt/Font;)Ljava/awt/Font; T U acm/util/JTFTools W
 X V setFont (Ljava/awt/Font;)V Z [
  \ java/awt/BorderLayout ^
 _  	setLayout (Ljava/awt/LayoutManager;)V a b
 ' c getConsolePane ()Ljava/awt/Component; e f
 5 g Center i add )(Ljava/awt/Component;Ljava/lang/Object;)V k l
 ' m java/io/BufferedReader o acm/io/ConsoleReader q (Lacm/io/ConsoleModel;)V  s
 r t (Ljava/io/Reader;)V  v
 p w reader Ljava/io/BufferedReader; y z	  { java/io/PrintWriter } acm/io/ConsoleWriter 
  t (Ljava/io/Writer;)V  
 ~  writer Ljava/io/PrintWriter;  	   exceptionOnError Z  	   clear  
 5  print (Ljava/lang/String;)V  
 ~  (Z)V valueOf (Z)Ljava/lang/String;   java/lang/String 
  
   (C)V (C)Ljava/lang/String;  
   (D)V (D)Ljava/lang/String;  
   (F)V (F)Ljava/lang/String;  
   (I)Ljava/lang/String;  
   (J)V (J)Ljava/lang/String;  
   (Ljava/lang/Object;)V &(Ljava/lang/Object;)Ljava/lang/String;  
   println  
 ~   
 ~ 
   showErrorMessage (Ljava/lang/String;I)V  
 5  
  readLine ()Ljava/lang/String;  
   requestFocus  
 5  java/io/IOException   
 p  acm/util/ErrorException  (Ljava/lang/Exception;)V  
   readInt ()I    (Ljava/lang/String;II)I  
   (II)I (Ljava/lang/String;)I java/lang/NumberFormatException  parseInt   java/lang/Integer 
   java/lang/StringBuffer  Value is outside the range [   
   append (I)Ljava/lang/StringBuffer;  
   :  ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   ]  toString  
   Illegal numeric format   
   Retry:   
readDouble ()D             (Ljava/lang/String;DD)D  
   (DD)D (Ljava/lang/String;)D &(Ljava/lang/String;)Ljava/lang/Double;  java/lang/Double
 doubleValue	 

 (D)Ljava/lang/StringBuffer; 
 
 readBoolean ()Z (Ljava/lang/String;)Z
  true false 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
  End of file encountered
   equalsIgnoreCase
  Illegal boolean format! 	getReader ()Ljava/io/BufferedReader; 	getWriter ()Ljava/io/PrintWriter; setExceptionOnError getExceptionOnError 
inputStyle I)*	 +
 5 I 
getInputStyle 
inputColor/ 8	 0
 5 E 
getInputColor ()Ljava/awt/Color; 
errorStyle5*	 6
 5 R 
getErrorStyle 
errorColor: 8	 ;
 5 O 
getErrorColor getTextPane? f
 5@ java/awt/ComponentB
C ? 
setForegroundE >
CF
C \ getFont ()Ljava/awt/Font;IJ
CK 
decodeFont 2(Ljava/lang/String;Ljava/awt/Font;)Ljava/awt/Font;MN
 XO setInputScript (Ljava/io/BufferedReader;)VQR
 5S getInputScriptU$
 5V cutX 
 5Y copy[ 
 5\ paste^ 
 5_ 	selectAlla 
 5b save file Ljava/io/File;ef	 g getEnclosingFrame &(Ljava/awt/Component;)Ljava/awt/Frame;ij
 Xk user.dirm java/awt/FileDialogo Save Console Asq &(Ljava/awt/Frame;Ljava/lang/String;I)V s
pt setDirectoryv 
pw 
setVisibley 
Cz getFile| 
p} java/io/File getDirectory 
p '(Ljava/lang/String;Ljava/lang/String;)V 
 java/io/FileWriter (Ljava/io/File;)V 
d 
  close  java/io/Writer
 TEXT ttxt setFileTypeAndCreator 5(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V acm/util/Platform
 acm/io/IODialog (Ljava/awt/Component;)V 
 
getMessage  java/lang/Throwable

  saveAsd 
  getText 
 5 write 
 printConsole 
getToolkit ()Ljava/awt/Toolkit;
C Console getPrintJob M(Ljava/awt/Frame;Ljava/lang/String;Ljava/util/Properties;)Ljava/awt/PrintJob; java/awt/Toolkit
 (Ljava/awt/PrintJob;)V
  end  java/awt/PrintJob
 
 5 script Input Script java/io/FileReader
  #(Ljava/io/File;Ljava/lang/String;)V 


 S getPreferredSize ()Ljava/awt/Dimension; getMinimumSize
  java/awt/Dimension (II)V 

 5  MINIMUM_CONSOLE_WIDTH   2 MINIMUM_CONSOLE_HEIGHT   ( 
ConstantValue 
SourceFile acm/io/IOModel IOConsole.java !  '     	         ! "   *     *      - .         y z        ef   / 8   )*   : 8   5*   B     %   .      " Y  
 Y     $         %        * (** , 0* 0* 6* < @* C F* J* M P* S*  Y ]* _Y ` d** 0 hj n* pY rY* 0 u x |* ~Y Y* 0   *          %        * 0          %        	* +          %        	*           %        	*           %        	*'           %        	*#         H  %        	*           %        	*           %        *+            %        *           %        	* +          %        	*           %        	*           %        	*'           %        	*#         H  %        	*           %        	*           %        *+            %         * 0+ * 0          %        * °         %   8     $+ *+ * 0 * | M,M Y, ο            %        
*Ҷ լ         %        * լ         %        
*+Ҷ լ         %   l     X:*+ : 6   Y      : W:* +L  
 @ C        %        *          %        *')        %        *+           %   s  
   _:*+ :9(   Y (   : W:* +L  
 G J      %        *       %        *+       %   \     P*+ :  Y,  -  *   Y"*" +L     #$  %        * |     %&  %        *      '   %        *      (  %        *       G H  %        *,* 0-     .   %        *,      D >  %        *+1* 0+2     34  %        *1      Q H  %        *7* 08     9   %        *7      N >  %        *+<* 0+=     >4  %        *<      = >  %   #     * 0AM, ,+D*+D     E >  %   #     * 0AM, ,+G*+G      Z [  %   (     + YL* 0AM, ,+H*+H      Z   %        
*+*LP ]     QR  %        	* 0+T     U$  %        * 0W     X   %        * 0Z     [   %        * 0]     ^   %        * 0`     a   %        * 0c     d   %        L *h M*lM, n  NpY,ru:-x{~: *YhY*hL*++*h MY*N-, +t   x {       %        
*h*     d   %   -     +* 0 
M Y, ο            %   2     &*lL+ *+M, *,,ű       %        	* 0+Ǳ        %   |     h*lLpY+uM,n  x,{,N,~: 9YYY-з:* pY xҧ : Y ο  1 X [        %        * 0 ű       %        *װ       %        Y2(ܰ      ) *  %         5Yݰ                                                                                                                                                                                                                   acm/io/IODialog.class                                                                               000644  000766  000024  00000011465 11166064600 015167  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Ljava/awt/Component;)V   acm/io/IODialog 
   Code   java/lang/Object 
  
 myComponent Ljava/awt/Component;  	   createModel ()Lacm/io/DialogModel;  
   model Lacm/io/DialogModel;  	      
outputLine Ljava/lang/String;  	   exceptionOnError Z   !	  " allowCancel $ !	  % print (Ljava/lang/String;)V java/lang/StringBuffer ) valueOf &(Ljava/lang/Object;)Ljava/lang/String; + , java/lang/String .
 / -  (
 * 1 append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; 3 4
 * 5 toString ()Ljava/lang/String; 7 8
 * 9 (Z)V (Z)Ljava/lang/String; + <
 / = ' (
  ? (C)V (C)Ljava/lang/String; + B
 / C (D)V (D)Ljava/lang/String; + F
 / G (F)V (F)Ljava/lang/String; + J
 / K (I)V (I)Ljava/lang/String; + N
 / O (J)V (J)Ljava/lang/String; + R
 / S (Ljava/lang/Object;)V println popupMessage W ( acm/io/DialogModel Y Z X V 
  \ V (
  ^ showErrorMessage popupErrorMessage a ( Z b readLine &(Ljava/lang/String;)Ljava/lang/String; d e
  f 	myConsole Lacm/io/IOConsole; h i	  j getInputScript ()Ljava/io/BufferedReader; l m acm/io/IOConsole o
 p n
 p f acm/util/CancelledException s
 t 
 popupLineInputDialog '(Ljava/lang/String;Z)Ljava/lang/String; v w Z x readInt ()I    (Ljava/lang/String;II)I z ~
   (II)I (Ljava/lang/String;)I java/lang/NumberFormatException  parseInt   java/lang/Integer 
   Value is outside the range [  (I)Ljava/lang/StringBuffer; 3 
 *  :  ]  signalError  (
   Illegal integer format  
readDouble ()D             (Ljava/lang/String;DD)D  
   (DD)D (Ljava/lang/String;)D &(Ljava/lang/String;)Ljava/lang/Double; +  java/lang/Double 
   doubleValue  
   (D)Ljava/lang/StringBuffer; 3 
 *  Illegal numeric format  readBoolean ()Z (Ljava/lang/String;)Z  
   true  false  9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z  
  
 p  popupBooleanInputDialog L(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/Boolean;   Z  booleanValue   java/lang/Boolean 
   setExceptionOnError getExceptionOnError setAllowCancel getAllowCancel setAssociatedConsole (Lacm/io/IOConsole;)V getAssociatedConsole ()Lacm/io/IOConsole; isSwingAvailable   acm/util/Platform 
   java/lang/Exception  acm.io.SwingDialogModel  forName %(Ljava/lang/String;)Ljava/lang/Class;   java/lang/Class 
   java.awt.Component  getConstructor 3([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;  
   newInstance '([Ljava/lang/Object;)Ljava/lang/Object;   java/lang/reflect/Constructor 
   acm/io/AWTDialogModel 
   acm/util/ErrorException 
  1 
SourceFile acm/io/IOModel  
IODialog.java !         !    $ !              h i        )     	        *          	   .     "* 
*+ **  * * #* &      ' (  	   &      *Y*[  0 2+ 6 :       ' ;  	        	* > @      ' A  	        	* D @      ' E  	        	*' H @      ' I  	        	*# L @      ' M  	        	* P @      ' Q  	        	* T @      ' U  	        *+ 0 0 @      V   	         * *  [ *       V (  	        
*+ @* ]      V ;  	        	* > _      V A  	        	* D _      V E  	        	*' H _      V I  	        	*# L _      V M  	        	* P _      V Q  	        	* T _      V U  	        *+ 0 0 _      ` (  	        * + c       d 8  	        * g      d e  	   t     h* k * k q * k+ r+ 
*   *Y*  0 2+ 6 :L*  * &  tY u* +* & y YM,      z {  	        
*|}       z   	        *       z   	        
*+|}       z ~  	   ]     I*+ g: 6 	 %* *Y 2  6  6 : W*    ? ?        	        *            	        *')          	        *+            	   d  	   P*+ g:  9(  &* *Y 2(  6  6 : W*    F F        	        *          	        
*+          	   }     q* k * k q * k+,- + 
*   *Y*  0 2+ 6 :L*  * &  tY u* +,-* &  Y: Ŭ       ;  	        * #         	        * #       ;  	        * &         	        * &         	        *+ k         	        * k         	   c     O ҙ @ָ L Y޸ SM Y* SN+, :-  ZW Y*  밻 Y*     6 6      (  	   '     * #  Y+ * + c                                                                                                                                                                                                                      acm/io/IOModel.class                                                                                000644  000766  000024  00000001470 11166064600 015023  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - % <clinit> ()V print (Ljava/lang/String;)V (Z)V (C)V (D)V (F)V (I)V (J)V (Ljava/lang/Object;)V println showErrorMessage readLine ()Ljava/lang/String; &(Ljava/lang/String;)Ljava/lang/String; readInt ()I (II)I (Ljava/lang/String;)I (Ljava/lang/String;II)I 
readDouble ()D (DD)D (Ljava/lang/String;)D (Ljava/lang/String;DD)D readBoolean ()Z (Ljava/lang/String;)Z 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z 
SourceFile acm/io/IOModel   java/lang/Object " IOModel.java ! #                           	    
                                	    
       
                                                             $                                                                                                                                                                                                        acm/io/SwingDialogModel.class                                                                       000644  000766  000024  00000014407 11166064600 016727  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V java/lang/String  P4749463839613D003D00E60000FFFFFFE5E5E5FFCBFF8C8C8CA7A7A7ADADAD8D8D8D929292818181  P8585856F6F6F7373738888888B8B8B9A9A9A9D9D9D616161646464757575787878C2C2C295959597  P97976666666868687E7E7E808080565656575757E6E6E6E7E7E79F9F9FA0A0A05E5E5E5F5F5F6B6B 	 P6B6C6C6C6D6D6D6E6E6E7979797A7A7A7C7C7C7D7D7D5A5A5A5B5B5B5C5C5C5D5D5DE1E1E1E2E2E2  PE3E3E3E4E4E4AEAEAEAFAFAFB0B0B0B1B1B1E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEF 
 PEFEFB2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBE  PBEBFBFBFC0C0C0C1C1C1F0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9  PFAFAFAFBFBFBFCFCFCFDFDFDFEFEFED1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9  PD9D9DADADADBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0C9C9C9CACACACBCBCBCCCCCCCDCDCDCECE  PCECFCFCFD0D0D0C5C5C5C6C6C6C7C7C7C8C8C8C3C3C3C4C4C4000000ED0000ED0000ED000021F904  P01000002002C000000003D003D004607FF800282838485868788898A8B863E1D6B53009293949596  P97925C1E6B8C853A3098A10825A1672DA72D6EA195566A863C655BB2B3B4B5B6B7B235A7273CB8BE  PB23B6D833D676256C7C8C9CACBC91A171ACCD1D25176378D1D5F446852DCDDDEDFDD0D21E3E303E0  PE7DE3D4B7B6B3B9D853C376D60784C4334457166393EFDFEFF007DBCA120E78C0C1D3EDE295C08CF  P8399396474309C28286180356B3AE0E011E50A972E5AA83CD18103869A36387A5044A4234D965597 ! PA2E80171E0C003253C6056D2C146118F345D820A1D4A746804542DD4142582CA41D1A742A3701A94 # P234C96AB58B36ADDAAD5CB29025CC38AED41266145187AD85059CBB6ADDBB754FFF628E060620FDC % PBB709B8C91A828D89C2442D640194CB8B0E1C3880BEFB803C40E190F665726F2D183C70E1D9873E4 ' PB8C1A64E131B667888268343B2E9D3A853ABEEA4E3469A363E74AECAE2010D8C1CA86FA0A122BBF7 ) P2A193DDFE93073C537003C103298A1E466042A03BE63C448D40106D4EB68901A783A031583EB45B1 + P94F154A6CAAF5F2F947CB97523C4A906E76FADB126E891D8FB628F9C4A3005FF7D2C60F0E5C11D57 - P1468E081082688A0062D68A0E083105E71061A7CE910C31E6D54A1E1861C76E8E1872086E8A11365 / P9446480E6CEC81C7142CB6E8E28B2F1A20C28C330E00E38D30DE3004181D28E21A1E407C11C59044 1 P1669E4901494B001FF094E1CE92491391881041831F0F50E0E318C71871133EC11C313608629E698 3 P6486D9C31840D4D0C41C6B7860256A385487461872DC410113491C7184117C1651001C3D042AA818 5 P55AE865A0E01988147113FB431460086462A000EB8496AE9A589E890830731BCC0C6A76CB4014300 7 P37BC8929213D04A0860C4F70E1DB1528B25169A439ACF14271C6ADB2031A32A0D6031B38E49AEB15 9 P6D52D4411A5808ABAC2439A8616A223BB864DC0D158880810A291C750A0A4DF896C30B8BE8B0466C ; PBE7911820597DC60022A09F886067D8DA47105784551E182016028F5940AA87C40EF503298588819 = P56FC4B540748B570465148B06BB0506DC05BDF0D5C546CF1FFC5185F0C042A1564CCC501A8D4E1F1 ? PC8158F37880E61C4A7B22D069CB280142BD312000C83ECA0861638E7ACF3CE3CF7AC4510A7480085 A PCF44E73CC519837460867F4C5FE5850B2D80D0B458557CC1570E7360A1F5D65C77ED75D7206BF0F5 C PD8646321C31966DD00870711B67D20830EBAEDB61B6DF0E5035AD2E4BD0C011710A0F7DFADD4F1A6 E P07615020E2E18827CE610C4ED45D480E621CD1038E94B738060B34B63046E59517FE426484783086 G P1160708EE304E48C7382E930F64004DDCF0EC2430C720C71C693B8CBC102392B7881BB933C30D1C4 I P3EA023A25B1E41D8C1D1EFCC371F451B362CF145A10BC1F005053FE8D14199DC773FE6183F1CF1C6 K P82BBC52BA443076AD4A14711F880814340F0C3FF850D3628E1C61830087C9A0FF1BC30861C7B6082 M P118050001A0C01097BB0031EF6D0384139F00B6638884A3045120FC8A00D6A288318C0E0853A7810 O P804220420744239A479D8A213C08C018ECD0981CEC8034279C486BD4400726FC600E908A21457C90 Q P0318C880073A0C222102010021FF0B4D414347436F6E2004031039000000015772697474656E2062 S P7920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C20 U 31393938003B W AQUA_QUESTION_IMAGE [Ljava/lang/String; Y Z acm/io/SwingDialogModel \	 ] [ Code <init> (Ljava/awt/Component;)V `  java/lang/Object c
 d b myComponent Ljava/awt/Component; f g	 ] h 
iconTested Z j k	 ] l getLookAndFeel ()Ljavax/swing/LookAndFeel; n o javax/swing/UIManager q
 r p toString ()Ljava/lang/String; t u javax/swing/LookAndFeel w
 x v AquaLookAndFeel z indexOf (Ljava/lang/String;)I | }
  ~ 	inputIcon Ljavax/swing/Icon;  	 ]  javax/swing/ImageIcon  createImage %([Ljava/lang/String;)Ljava/awt/Image;   acm/util/MediaTools 
   (Ljava/awt/Image;)V ` 
   popupMessage (Ljava/lang/String;)V showMessageDialog )(Ljava/awt/Component;Ljava/lang/Object;)V   javax/swing/JOptionPane 
   popupErrorMessage Error  <(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)V  
   popupLineInputDialog '(Ljava/lang/String;Z)Ljava/lang/String; )(Ljava/lang/Object;IILjavax/swing/Icon;)V ` 
   
setWantsInput (Z)V  
   OK  N(Ljava/lang/Object;IILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)V ` 
      
setInputValue (Ljava/lang/Object;)V  
   Input  createDialog =(Ljava/awt/Component;Ljava/lang/String;)Ljavax/swing/JDialog;  
   
setVisible   java/awt/Component 
   
getInputValue ()Ljava/lang/Object;  
   UNINITIALIZED_VALUE Ljava/lang/Object;  	   popupBooleanInputDialog L(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/Boolean; Cancel  java/lang/StringBuffer  valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
   ` 
   /  append ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   	 question 
  v showOptionDialog t(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;IILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)I  
   TRUE Ljava/lang/Boolean;   java/lang/Boolean 	   FALSE  	   
SourceFile acm/io/DialogModel  
IODialog.java   ] d     Y Z   
 j k   
      f g        _        * YSYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'TSY(VSY)XS ^      ` a  _   H     <* e*+ i m / s yM,{  
   Y ^    m         _        	* i+          _        * i+          _   x 	    l  Y+  N-  - dYS: Y+ 2 N- - -* i : - : æ           _    	    z  d:S 	 d:,S-S Y, ͷ Ѷ - ׶ ն :* i+ 2 6                 ⰲ                                                                                                                                                                                                                                                                    acm/io/SystemConsole.class                                                                          000644  000766  000024  00000000455 11166064600 016344  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V createConsoleModel ()Lacm/io/ConsoleModel; acm/io/SystemConsoleModel  <init>  
   Code acm/io/IOConsole 
   
SourceFile acm/io/SystemConsole  IOConsole.java              
         Y 	          
        * 
                                                                                                                                                                                                                             acm/io/SystemConsoleModel.class                                                                     000644  000766  000024  00000004202 11166064600 017317  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - s <clinit> ()V <init>   acm/io/ConsoleModel 
      text Ljava/lang/String; 
  acm/io/SystemConsoleModel 
	   Code clear print (Ljava/lang/String;I)V out Ljava/io/PrintStream;   java/lang/System 	   (Ljava/lang/String;)V   java/io/PrintStream 
   java/lang/StringBuffer  valueOf &(Ljava/lang/Object;)Ljava/lang/String; ! " java/lang/String $
 % #  
   ' append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; ) *
   + toString ()Ljava/lang/String; - .
   / readLine flush 2 
  3 java/io/IOException 5 inputScript Ljava/io/BufferedReader; 7 8	  9 in Ljava/io/InputStream; ; <	  = read ()I ? @ java/io/InputStream B
 C A java/io/BufferedReader E
 F A length H @
 % I close K 
 F L (C)Ljava/lang/StringBuffer; ) N
   O 
 Q  
  S getText (II)Ljava/lang/String; 	substring W V
 % X 	getLength getConsoleModel ()Ljava/awt/Component; getTextPane setFont (Ljava/awt/Font;)V 
setInputStyle (I)V 
setInputColor (Ljava/awt/Color;)V 
setErrorStyle 
setErrorColor cut copy paste 	selectAll isPointSelection ()Z (Ljava/awt/PrintJob;)V setInputScript (Ljava/io/BufferedReader;)V getInputScript ()Ljava/io/BufferedReader; 
SourceFile IOConsole.java         7 8    
                 * *	             
                  -     ! +   Y*[  & (+ , 0       1 .            4	L* : 
 > D= * : G= + J * : M W* : $
    Y+ & ( P 0LW* : *  Y+ & (R , 0 T+  . 5 8 6 	 f f 6    U .          *       U V          
*  Y      Z @          *  J      [ \                ] \                ^ _     
            ` a     
            b c     
            d a     
            e c     
            f      
            g      
            h      
            i      
            j k                 l     
            m n          *+ :      o p          * :      q    r                                                                                                                                                                                                                                                                                                                                                                                              acm/gui/DoubleField.class                                                                           000644  000766  000024  00000005350 11166064600 016067  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init>                (Ljava/lang/String;DD)V  
 acm/gui/DoubleField 
 
  Code (D)V valueOf (D)Ljava/lang/String;   java/lang/String 
   (DD)V (DDD)V   javax/swing/JTextField 
   white Ljava/awt/Color;   java/awt/Color  	 !  
setBackground (Ljava/awt/Color;)V # $ javax/swing/JComponent &
 ' % setHorizontalAlignment (I)V ) *
  + minValue D - .	 
 / maxValue 1 .	 
 2 setText (Ljava/lang/String;)V 4 5 javax/swing/text/JTextComponent 7
 8 6 exceptionOnError Z : ;	 
 < getValue ()D getText ()Ljava/lang/String; @ A
 8 B java/lang/NumberFormatException D trim F A
  G &(Ljava/lang/String;)Ljava/lang/Double;  I java/lang/Double K
 L J doubleValue N ?
 L O $Value is outside the specified range Q Illegal numeric format S acm/util/ErrorException U  5
 V W Enter a number Y java/lang/StringBuffer [ &(Ljava/lang/Object;)Ljava/lang/String;  ]
  ^
 \ W 	 between  a append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; c d
 \ e (D)Ljava/lang/StringBuffer; c g
 \ h  and  j toString l A
 \ m  greater than  o  less than  q dialog Lacm/io/IODialog; s t	 
 u acm/io/IODialog w (Ljava/awt/Component;)V  y
 x z 
readDouble (Ljava/lang/String;DD)D | }
 x ~ setValue  
 
  	formatter Ljava/text/DecimalFormat;  	 
  format   java/text/NumberFormat 
   	getFormat formatString Ljava/lang/String;  	 
  	setFormat java/text/DecimalFormat 
  W setExceptionOnError (Z)V getExceptionOnError ()Z getPreferredSize ()Ljava/awt/Dimension;  
   java/awt/Dimension  width I  	   max (II)I   java/lang/Math 
   height  	   (II)V  
   
MINIMUM_WIDTH   < MINIMUM_HEIGHT    
ConstantValue 
SourceFile DoubleField.java ! 
                        : ;    - .    1 .              s t                
*                    *'                     	*')                  *' )        
     2     &* * " (* ,*( 0* 3*+ 9* =      > ?         * CLMJ+ H M PJ)* 0 )* 3 RM WTM* =  VY, XZ:* 0  Z* 3  / \Y _ `b f* 0 ik f* 3 i n: K \Y _ `p f* 0 i n: +* 3    \Y _ `r f* 3 i n:* v * xY* { v* v* 0* 3 J *) )  	 ) , E          '     ' N*  * ' N*- 9       A          *        5     C     /*+ *+   Y+  ** C H M P  W   * - E               * =                 * =            +     * L Y<+  +                                                                                                                                                                                                                                                                                                     acm/gui/HPanel.class                                                                                000644  000766  000024  00000000703 11166064600 015055  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - " <clinit> ()V <init> (II)V   acm/gui/HPanel 
   Code   acm/gui/TablePanel 
  
 acm/gui/TableLayout  (IIII)V  
   setHorizontalAlignment (I)V  
   setVerticalAlignment  
   	setLayout (Ljava/awt/LayoutManager;)V   java/awt/Container 
   
SourceFile HPanel.java !            	        *          	   ,      * 
 Y N- - *-            !                                                             acm/gui/IntField.class                                                                              000644  000766  000024  00000005076 11166064600 015414  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init>       (Ljava/lang/String;II)V   acm/gui/IntField 

  	 Code (I)V valueOf (I)Ljava/lang/String;   java/lang/String 
   (II)V (III)V   javax/swing/JTextField 
   white Ljava/awt/Color;   java/awt/Color 	   
setBackground (Ljava/awt/Color;)V ! " javax/swing/JComponent $
 % # setHorizontalAlignment ' 
  ( minValue I * +	  , maxValue . +	  / setText (Ljava/lang/String;)V 1 2 javax/swing/text/JTextComponent 4
 5 3 exceptionOnError Z 7 8	  9 getValue ()I getText ()Ljava/lang/String; = >
 5 ? java/lang/NumberFormatException A trim C >
  D parseInt (Ljava/lang/String;)I F G java/lang/Integer I
 J H $Value is outside the specified range L Illegal integer format N acm/util/ErrorException P  2
 Q R Enter an integer T java/lang/StringBuffer V &(Ljava/lang/Object;)Ljava/lang/String;  X
  Y
 W R 	 between  \ append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; ^ _
 W ` (I)Ljava/lang/StringBuffer; ^ b
 W c  and  e toString g >
 W h  greater than  j  less than  l dialog Lacm/io/IODialog; n o	  p acm/io/IODialog r (Ljava/awt/Component;)V  t
 s u readInt (Ljava/lang/String;II)I w x
 s y setValue { 
  | 	formatter Ljava/text/DecimalFormat; ~ 	   format (J)Ljava/lang/String;   java/text/NumberFormat 
   	getFormat formatString Ljava/lang/String;  	   	setFormat java/text/DecimalFormat 
  R setExceptionOnError (Z)V getExceptionOnError ()Z getPreferredSize ()Ljava/awt/Dimension; java/awt/Dimension   
   height  +	    
   PREFERRED_WIDTH   < 
ConstantValue 
SourceFile 
IntField.java !        +        7 8    * +    . +         ~     n o        
        *          
        
*           
        	*          
        *           
   1     %* *   &* )* -* 0*+ 6* :      ; <  
       * @LM>+ E K>* - * 0 MM WOM* :  QY, SU:* - X* 0 / WY Z [] a* - df a* 0 d i: I WY Z [k a* - d i: )* 0   WY Z [m a* 0 d i:* q * sY* v q* q* -* 0 z> * }  	 $ ' B    {   
   (      M*  
*  M*, 6       >  
        *        2  
   @     ,*+ *+   Y+  ** @ E K } W   ' * B       
        * :         
        * :         
         Y<*                                                                                                                                                                                                                                                                                                                                                                                                                                                                               acm/gui/TableConstraints.class                                                                      000644  000766  000024  00000014272 11166064600 017173  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -\ <clinit> ()V java/lang/String  anchor  bottom  colspan 	 fill  	gridwidth 
 
gridheight  gridx  gridy  height  ipadx  ipady  left  right  rowspan  top ! weightx # weighty % width ' 
LEGAL_KEYS [Ljava/lang/String; ) * acm/gui/TableConstraints ,	 - + Code I <init>   2 (Ljava/lang/String;)V 1 4
 - 5 acm/util/OptionTable 7 toLowerCase ()Ljava/lang/String; 9 :
  ; ((Ljava/lang/String;[Ljava/lang/String;)V 1 =
 8 > (Ljava/util/Map;)V 1 @
 - A 1  java/awt/GridBagConstraints D
 E C
 8 A 	getOption &(Ljava/lang/String;)Ljava/lang/String; H I
 8 J parseXYConstraint (Ljava/lang/String;)I L M
 - N  0	 E P  0	 E R parseSpanConstraint T M
 - U 
 0	 E W  0	 E Y parseFillConstraint [ M
 - \  0	 E ^ parseAnchorConstraint ` M
 - a  0	 E c getIntOption (Ljava/lang/String;I)I e f
 8 g  0	 E i  0	 E k getDoubleOption (Ljava/lang/String;D)D m n
 8 o D # q	 E r % q	 E t insets Ljava/awt/Insets; v w	 E x  0 java/awt/Insets {	 | z  0	 | ~ ! 0	 |   0	 |  ' 0	 -   0	 -  acm/util/ErrorException  9TableConstraints: Cannot specify both width and gridwidth 
  5 ;TableConstraints: Cannot specify both height and gridheight   (Ljava/awt/GridBagConstraints;)V 	getAnchor ()I getFill getGridX getGridY getGridWidth 
getGridHeight getIPadX getIPadY 	getInsets ()Ljava/awt/Insets; 
getWeightX ()D 
getWeightY getWidth 	getHeight toString getClass ()Ljava/lang/Class;   java/lang/Object 
   getName  : java/lang/Class 
   java/lang/StringBuffer  valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
  
  5 [gridx=  append ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   (I)Ljava/lang/StringBuffer;  
   ,gridy=   :
   ,fill=VERTICAL  ,fill=HORIZONTAL  
,fill=BOTH  
,anchor=NORTH  
,anchor=SOUTH  ,anchor=EAST  ,anchor=WEST  ,anchor=NORTHEAST  ,anchor=NORTHWEST  ,anchor=SOUTHEAST  ,anchor=SOUTHWEST  ,anchor=PAGE_START  ,anchor=PAGE_END  ,anchor=LINE_START  ,anchor=LINE_END  ,anchor=FIRST_LINE_START  ,anchor=FIRST_LINE_END  ,anchor=LAST_LINE_START  ,anchor=LAST_LINE_END  ,gridwidth=  ,gridheight=  ,ipadx=  ,ipady=  ,left=  ,right=  ,top=  ,bottom=  ,width=  ,height=  ]  relative  equals (Ljava/lang/Object;)Z  
   java/lang/NumberFormatException decode '(Ljava/lang/String;)Ljava/lang/Integer; java/lang/Integer
 intValue
 
 )TableConstraints: Illegal grid coordinate
 	remainder )TableConstraints: Illegal span constraint center north south east west 	northeast ne 	northwest! nw# 	southeast% se' 	southwest) sw+ 
page_start- page_end/ 
line_start1 line_end3 first_line_start5 first_line_end7 last_line_start9 
last_line_end; .TableConstraints: Illegal anchor specification= none? 
horizontalA verticalC bothE ,TableConstraints: Illegal fill specificationG 
MY_PAGE_START    MY_PAGE_END    
MY_LINE_START    MY_LINE_END    MY_FIRST_LINE_START    MY_FIRST_LINE_END    MY_LAST_LINE_START    MY_LAST_LINE_END    
ConstantValue 
SourceFile TableConstraints.java ! - E     ' 0     0   I 0 Y   J K 0 Y   L M 0 Y   N O 0 Y   P Q 0 Y   R S 0 Y   T U 0 Y   V W 0 Y   X  ) *        /   {      o YSYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(S .      1   /        *3 6      1 4  /        * 8Y+ < . ? B      1 @  /  F    :* F+ 8 
+ 8  8Y+ GM**, K O Q**, K O S, KN- 
,  KN, K: ,
 K:**- V X** V Z**, K ] _**, K b d*, h j*, h l*,$ p s*,& p u* y, h }* y, h * y," h * y, h *,( h *, h * X *  
 Y * Z *  
 Y       1   /        * F*+ Q Q*+ S S*+ X X*+ Z Z*+ _ _*+ d d*+ j j*+ l l*+ s s*+ u u* y+ y } }* y+ y  * y+ y  * y+ y  + - + -M*,  *,           /        * d         /        * _         /        * Q         /        * S         /        * X         /        * Z         /        * j         /        * l         /        * y         /        * s         /        * u         /        *          /        *        :  /      *  L Y+   * Q  * S  L* _   ^         G   0    Y+    L 1 Y+  ö  L  Y+  Ŷ  L * d             O      }      f               5  L  c  z     Y+  Ƕ  L\ Y+  ɶ  LE Y+  ˶  L. Y+  Ͷ  L Y+  ϶  L  Y+  Ѷ  L  Y+  Ӷ  L һ Y+  ն  L  Y+  ׶  L  Y+  ٶ  L  Y+  ۶  L v Y+  ݶ  L _ Y+  ߶  L H Y+    L 1 Y+    L  Y+    L * X  Y+   * X  L* Z  Y+   * Z  L* j  Y+   * j  L* l  Y+   * l  L* y } ! Y+   * y }  L* y  ! Y+   * y   L* y  ! Y+   * y   L* y  ! Y+   * y   L*   Y+   *   L*   Y+   *   L Y+    L+      L M  /   9     %+ + +	W Y         T M  /   E     1+ + + +	W Y    % %    ` M  /  #    + 
+ 
+ + + 
+ + 
+  +" 
+$ +& 
+( +* 
+, +. +0 +2 +4 +6 +8 +: +<  Y>       [ M  /   K     ?+ 
+@ +B +D +F  YH      Z   [                                                                                                                                                                                                                                                                                                                                      acm/gui/TableLayout.class                                                                           000644  000766  000024  00000024700 11166064600 016136  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V NONE I     
HORIZONTAL    VERTICAL    BOTH    CENTER   
 LEFT    RIGHT    TOP   
 BOTTOM    FILL <init> (II)V   acm/gui/TableLayout 
   Code (IIII)V  
     java/lang/Object "
 # ! nRows % 	  & nColumns ( 	  ) hGap + 	  , vGap . 	  / horizontalAlignment 1 	  2 verticalAlignment 4 	  5 defaultFill 7 	  8 java/util/HashMap :
 ; ! constraintTable Ljava/util/HashMap; = >	  ? layoutTable A >	  B setColumnCount (I)V targetContainer Ljava/awt/Container; F G	  H 
invalidate J  java/awt/Container L
 M K getColumnCount ()I setRowCount getRowCount setHorizontalAlignment getHorizontalAlignment setVerticalAlignment getVerticalAlignment setDefaultFill getDefaultFill setHgap getHgap setVgap getVgap setStrictGridBagModel (Z)V useStrictGridBagModel Z _ `	  a isStrictGridBagModel ()Z setConstraints 4(Ljava/awt/Component;Ljava/awt/GridBagConstraints;)V clone ()Ljava/lang/Object; g h java/awt/GridBagConstraints j
 k i put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; m n
 ; o )(Ljava/awt/Component;Ljava/lang/String;)V acm/gui/TableConstraints r (Ljava/lang/String;)V  t
 s u e f
  w getConstraints 0(Ljava/awt/Component;)Lacm/gui/TableConstraints; lookupConstraints 3(Ljava/awt/Component;)Ljava/awt/GridBagConstraints; { |
  }  (Ljava/awt/GridBagConstraints;)V  
 s  addLayoutComponent )(Ljava/lang/String;Ljava/awt/Component;)V )(Ljava/awt/Component;Ljava/lang/Object;)V  
   removeLayoutComponent (Ljava/awt/Component;)V remove &(Ljava/lang/Object;)Ljava/lang/Object;  
 ;  preferredLayoutSize *(Ljava/awt/Container;)Ljava/awt/Dimension; getComponentCount  P
 M  java/awt/Dimension 
   
processLayout +(Ljava/awt/Container;I)Ljava/awt/Dimension;  
   minimumLayoutSize layoutContainer (Ljava/awt/Container;)V    fill  	 k  java/lang/String  acm/util/OptionTable  toLowerCase ()Ljava/lang/String;  
   
LEGAL_KEYS [Ljava/lang/String;  	 s  ((Ljava/lang/String;[Ljava/lang/String;)V  
   (Ljava/util/Map;)V  
 s   isSpecified (Ljava/lang/String;)Z  
   anchor  acm/util/ErrorException   TableLayout: Illegal constraints 
  u maximumLayoutSize getLayoutAlignmentX (Ljava/awt/Container;)F?    getLayoutAlignmentY invalidateLayout getTreeLock  h java/awt/Component 
   layoutInProgress  `	   toString getClass ()Ljava/lang/Class;  
 #  getName   java/lang/Class 
   java/lang/StringBuffer  valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
  
  u [rows=  append ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   (I)Ljava/lang/StringBuffer;  
   	,columns=   
   ,hgap=  ,vgap=  ]  get  
 ;  D(Ljava/awt/Component;Ljava/awt/Container;)Lacm/gui/TableConstraints; computeLayoutTable  
   getMinimumComponentSize *(Ljava/awt/Component;)Ljava/awt/Dimension; isScrollbar (Ljava/awt/Component;)Z  
   getMinimumScrollbarSize  
   getMinimumSize ()Ljava/awt/Dimension;
  getPreferredComponentSize getPreferredSize
  java/awt/Scrollbar
 javax/swing/JScrollBar java/lang/Exception 
ScrollbarLike forName %(Ljava/lang/String;)Ljava/lang/Class;
  
isInstance (Ljava/lang/Object;)Z
  getOrientation 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
  invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; ! java/lang/reflect/Method#
$" java/lang/Integer& intValue( P
') width+ 	 , max (II)I./ java/lang/Math1
20 height4 	 5 (Ljava/lang/Exception;)V 7
 8 % getIntProperty (Ljava/lang/String;)I;<
 = ( getComponent (I)Ljava/awt/Component;@A
 MB gridxD 	 kE gridyG 	 kH+4  
 L 
 N ipadxP 	 kQ insets Ljava/awt/Insets;ST	 kU leftW  java/awt/InsetsY	ZX right\ 	Z] ipady_ 	 k` topb 	Zc bottome 	Zf weightxh getDoubleProperty (Ljava/lang/String;)Djk
 l weightyn getSizep
 q 	getInsets ()Ljava/awt/Insets;st
 Mu round (D)Jwx
2y 	gridwidth{ 	 k| 
gridheight~ 	 k java/awt/Rectangle
  computeCellBounds X(Ljava/awt/Rectangle;Ljava/awt/Dimension;Lacm/gui/TableConstraints;)Ljava/awt/Rectangle;
  x 	 y 		,	5 	setBounds 
  y z
  $TableLayout: Too many rows specified getFirstAvailableColumn ([I)I
 	 s, setMaxProperty (Ljava/lang/String;I)V
 	 s5 Dh	 k (Ljava/lang/String;D)V
 n	 k ;TableLayout: Illegal to use gridwidth=RELATIVE in first row TableLayout: Overlapping cells min/
2 /TableLayout: Illegal to use gridheight=RELATIVE 	arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V java/lang/System
 setIntProperty
   	 k (DD)D.
2 setDoubleProperty
   E
' java/lang/Double (D)V 
 doubleValue ()D
 LAYOUT_CONTAINER_MODE MINIMUM_LAYOUT_SIZE_MODE PREFERRED_LAYOUT_SIZE_MODE MINIMUM_SCROLLBAR_SIZE   d 
ConstantValue 
SourceFile java/awt/LayoutManager2 TableLayout.java !  #                          	  
              
                                                                     F G    = >    A >    _ `     `    %     (     1     4     7     +     .    1             *                  	*              G     ;* $* '* ** -* 0*
 3*
 6* 9* ;Y < @* C      D E           * ** I 
* I N      O P          * *      Q E           * '* I 
* I N      R P          * '      S E           * 3* I 
* I N      T P          * 3      U E           * 6* I 
* I N      V P          * 6      W E           * 9* I 
* I N      X P          * 9      Y E           * -* I 
* I N      Z P          * -      [ E           * 0* I 
* I N      \ P          * 0      ] ^           * b* I 
* I N      c d          * b      e f     (     * @+, l pW* I 
* I N      e q          *+ sY, v x      y z     #     *+ ~M,   sY,                  *,+             $     * @+ W* I 
* I N            $     +  
 Y *+             $     +  
 Y *+                  
*+ I*+ W                 ,  sY vM, s* 9  Z,  B Y,    N sY- M-  /, s-   * 9  , k 
 Y * @+, pW* I 
* I N                  Y                  î                 î            0     + M,* ͚ * C,ç ,ÿ                     * Ҷ L Y+ ݷ  * '  * *  L* -  Y+ ݷ  * -  L* 0  Y+ ݷ  * 0  L Y+ ݷ   L+      { |          * @+  k      {      E     1, :* C *, * C+  sN 	-ÿ:é  	 & &                 *+  	*++                *+  	*++	            2     + 
+
 +W              n     Z+M+ N- ֶ:+ #%'*6 ,,-d3- ,,6d36 
N Y-9,   K N           /  tN+ :* * C *+ *:>6*?>6
:
:	+ 6
6+C:* C  s:

F6
I6* YJ   >6* YK   >6 F 
* b *M-6 *O-6
Rh
V[`
V^``6 F 
* b *M66 *O66
ah
Vd`
Vg``6		.3O.3O
* -6* 06
::996 :	.* -``6* Yi   mR1c96 :
.* 0``6
* Yo   mR1c9^+r:+v:Y-[^`d-Y6dg`d6-d66
d6[6d6 * 3   }         _   }   }   }   }   }   }   }   }   C   =   R6 =l`66 .`66 !96 R  p* 6   i         K   
   /   
   )      >6 =l`66 .`66 !96 R 
:* -`66 NO 01koz6	\.`Od61g9	.* -``6
:* 0`6 6! N! O 0!1koz6"!\."`O"d6!1g9 !.* 0``6 !!6",+"C:#* C#  s:$$F6%$I6&%.$V[`6'&.$Vd`6(	%.6)6* )	%*`.* -``6)**$} 
%*`)$V[$V^`d6)&.6+6, +&,`.* 0``6+,,$ 
&,`+$Vd$Vg`d6+* b *#M 	*#O:-*Y'()+-$:.#....""
ӧ  Y
 N* ç ÿ-  hn               M>6* *6+ 66* ;Y < C6+C:	*	:

F 

F6
I 	
I>* ' N* ' F Y  3 ,6 ,. ,\.dO,*,6, , 
,.
F
I6* YJ   
* YK   
* Yi   
* Yo   
6
}     H       )   6 Pd6 F  Y dd66 '
}6* * 
}`* *  6 2, .6
 ,
.  Y 

,`6

    (          6
  Y 
6

 L, `
M #,` ,:`
M,6 ,
O`
}

* C	
 pW`6 < 6, "6 ,. ,\.dO,*,66 
N 6*?*:`              +6+6+6+6-  -  	,-6-  -  	,66+ L-   E   
      %   %   6   6   6   %+dl`6 +d`6 + V-     O   
      /   O   O   /   @   @   @   /+dl`6 +d`6 Y               *+*+>3               *+(*+m±               * C+'YĶ pW     ;<     #     * C+ M, ,'*               * C+Y(ɶ pW     jk     #     * C+ M, ,ƶͯ          0     $* b + += +d.                                                                         acm/gui/TablePanel.class                                                                            000644  000766  000024  00000002613 11166064600 015717  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - S <clinit> ()V NONE I     
HORIZONTAL    VERTICAL    BOTH    CENTER   
 LEFT    RIGHT    TOP   
 BOTTOM    FILL <init>   javax/swing/JPanel 
   Code (II)V (IIII)V   acm/gui/TablePanel  
 !  acm/gui/TableLayout #
 $  	setLayout (Ljava/awt/LayoutManager;)V & ' java/awt/Container )
 * ( setHorizontalAlignment (I)V 	getLayout ()Ljava/awt/LayoutManager; . /
 * 0 , -
 $ 2 getHorizontalAlignment ()I 4 5
 $ 6 setVerticalAlignment 8 -
 $ 9 getVerticalAlignment ; 5
 $ < setDefaultFill > -
 $ ? getDefaultFill A 5
 $ B setHgap D -
 $ E getHgap G 5
 $ H setVgap J -
 $ K getVgap M 5
 $ N 
ConstantValue 
SourceFile TablePanel.java ! !    
     P         P         P    	  
   P         P    
     P         P         P         P         P     
              *                  	* "            !     * * $Y % +      , -          * 1 $ 3      4 5          * 1 $ 7      8 -          * 1 $ :      ; 5          * 1 $ =      > -          * 1 $ @      A 5          * 1 $ C      D -          * 1 $ F      G 5          * 1 $ I      J -          * 1 $ L      M 5          * 1 $ O      Q    R                                                                                                                     acm/gui/VPanel.class                                                                                000644  000766  000024  00000000703 11166064600 015073  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - " <clinit> ()V <init> (II)V   acm/gui/VPanel 
   Code   acm/gui/TablePanel 
  
 acm/gui/TableLayout  (IIII)V  
   setHorizontalAlignment (I)V  
   setVerticalAlignment  
   	setLayout (Ljava/awt/LayoutManager;)V   java/awt/Container 
   
SourceFile VPanel.java !            	        *          	   ,      * 
 Y N- - *-            !                                                             acm/graphics/ArcRenderer.class                                                                      000644  000766  000024  00000005335 11166064600 017124  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Lacm/graphics/GObject;)V   java/lang/Object 
   target Lacm/graphics/GObject; 	 
 acm/graphics/ArcRenderer 	 
  java/awt/Polygon 
   poly Ljava/awt/Polygon;  	 
  
cacheValid Z  	 
  Code draw (Ljava/awt/Graphics;)V 
validateCache  
 
  acm/graphics/GFillable   isFilled ()Z " # ! $ getFillColor ()Ljava/awt/Color; & ' ! ( setColor (Ljava/awt/Color;)V * + java/awt/Graphics -
 . , xpoints [I 0 1	  2 ypoints 4 1	  5 npoints I 7 8	  9 fillPolygon ([I[II)V ; <
 . = getColor ? ' acm/graphics/GObject A
 B @ drawPolygon D <
 . E acm/graphics/GArc G drawPolyline I <
 . J@v      acm/graphics/GOval N acm/graphics/GRoundRect P 	getBounds ()Lacm/graphics/GRectangle; R S
 B T getFrameRectangle V S
 H W 
getStartAngle ()D Y Z
 H [ 
getSweepAngle ] Z
 H ^ oldStart D ` a	 
 b oldSweep d a	 
 e getX g Z acm/graphics/GRectangle i
 j h getY l Z
 j m getWidth o Z
 j p 	getHeight r Z
 j s 	oldBounds Lacm/graphics/GRectangle; u v	 
 w getArcWidth y Z
 Q z round (D)I | } acm/graphics/GMath 
  ~ getArcHeight  Z
 Q @       >h addPoint (II)V  
  @V      addArc 	(DDDDDD)V  
 
 @f     @p      x0  8	 
  y0  8	 
  movePoly  
 
 @v
=p max (DD)D   java/lang/Math 
   atan2  
   	toRadians (D)D  
   cos  
   sin  
   EPSILON 
ConstantValue 
SourceFile 	GArc.java   
    	   a        	 
          8     8    u v    ` a    d a                &     * *+ * Y  *                  * *  ! %  S+*  ! )  /+*  3*  6*  : >+*  C /+*  3*  6*  : F D*  H !+*  3*  6*  :d K +*  3*  6*  : F            
   LI L9*  O 
*  Q *  UL 7*  H: XL \I _9(* c 
* f * + + k9+ n9+ q9
+ t9
 
 *  
* x q * x t-*  :*  Q *  Q: { 9  9*  oc c  c  *   *cg   *
cgcg   *
cg   N*
( *  H 5* 
 oc c  oc c  *( c* f**  3.g  **  6.g  *+ x* x k * x n * c  c  *+ x*               !   o9
 o9 o9'c9)c9 	c9	w9   L9  9 o6 o9	 96 C kc9 k
kg9*  c  c  c9            b     V*  3.* dd>*  6.* dd66 #*  3\.`O*  6\.`O*  :ױ                                                                                                                                                                                                                                                                                                             acm/graphics/DrawLineElement.class                                                                  000644  000766  000024  00000002041 11166064600 017736  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - J <clinit> ()V <init> (DD)V   acm/graphics/PathElement 
   deltaX D 	 
 acm/graphics/DrawLineElement 	 
  deltaY  
	 
  Code paint .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V sx  
 acm/graphics/PathState 	   cx  
	   round (D)I   acm/graphics/GMath  
 !  sy # 
	  $ cy & 
	  ' region Ljava/awt/Polygon; ) *	  + drawLine (IIII)V - . java/awt/Graphics 0
 1 / addPoint (II)V 3 4 java/awt/Polygon 6
 7 5 updateBounds 4(Lacm/graphics/GRectangle;Lacm/graphics/PathState;)V getWidth ()D ; < acm/graphics/GRectangle >
 ? = 	setBounds (DDDD)V A B
 ? C add E 
 ? F 
SourceFile 	GPen.java   
      	 
     
                * *' *)             ~     r, , k ">, %, (k "6,Y * c ,Y (* c (, , k "6, %, (k "6, , + 2 , , 8      9 :     w 	    k+ @ +, , k, %, (k D +, , k, %, (k G,Y * c ,Y (* c (+, , k, %, (k G      H    I                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               acm/graphics/EndRegionElement.class                                                                 000644  000766  000024  00000001320 11166064600 020102  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - 7 <clinit> ()V <init>   acm/graphics/PathElement 
   Code paint .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V getColor ()Ljava/awt/Color;   java/awt/Graphics 
  
 	fillColor Ljava/awt/Color;   acm/graphics/PathState 	   setColor (Ljava/awt/Color;)V  
   region Ljava/awt/Polygon;  	   xpoints [I    java/awt/Polygon "	 # ! ypoints %  	 # & npoints I ( )	 # * fillPolygon ([I[II)V , -
  . drawPolygon 0 -
  1 
SourceFile acm/graphics/EndRegionElement 4 	GPen.java   5                   *       	 
     V     J+ N+,  +,  $,  ',  + /+- +,  $,  ',  + 2,       3    6                                                                                                                                                                                                                                                                                                                acm/graphics/FinalPathElement.class                                                                 000644  000766  000024  00000001022 11166064600 020075  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - ( <clinit> ()V <init>   acm/graphics/PathElement 
   Code paint .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V region Ljava/awt/Polygon;   acm/graphics/PathState 	  
 xpoints [I   java/awt/Polygon 	   ypoints  	   npoints I  	   drawPolyline ([I[II)V   java/awt/Graphics !
 "   
SourceFile acm/graphics/FinalPathElement % 	GPen.java   &                   *       	 
     -     !,  +,  ,  ,   #      $    '                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              acm/graphics/G3DRect.class                                                                          000644  000766  000024  00000001662 11166064600 016122  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - G <clinit> ()V <init> (DD)V (DDDDZ)V   acm/graphics/G3DRect 
   Code (DDDD)V   acm/graphics/GRect 
   isRaised Z  	   paint (Ljava/awt/Graphics;)V getAWTBounds ()Ljava/awt/Rectangle;  
   isFilled ()Z  
   getFillColor ()Ljava/awt/Color;  
    setColor (Ljava/awt/Color;)V " # java/awt/Graphics %
 & $ x I ( ) java/awt/Rectangle +	 , * y . )	 , / width 1 )	 , 2 height 4 )	 , 5 
fill3DRect (IIIIZ)V 7 8
 & 9 getColor ;  acm/graphics/GObject =
 > < 
draw3DRect @ 8
 & A 	setRaised (Z)V 
SourceFile G3DRect.java !                
    
    
*') 	         
    
 	   *') 	         
    	 
   *') *	          
   Y     M* M*  ++* ! '+, -, 0, 3, 6*  :+* ? '+, -, 0, 3, 6*  B      C D  
        *          
        *       E    F                                                                              acm/graphics/GArc.class                                                                             000644  000766  000024  00000010671 11166064600 015543  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V 
ARC_TOLERANCE D@       <init> (DDDD)V 	(DDDDDD)V  	 acm/graphics/GArc 
  
 Code   acm/graphics/GObject 
   
frameWidth  	   frameHeight  	   arcStart  	   arcSweep  	   setLocation (DD)V   
  ! acm/graphics/ArcRenderer # (Lacm/graphics/GObject;)V  %
 $ & renderer Lacm/graphics/ArcRenderer; ( )	  * 
setStartAngle (D)V repaint . 
  / 
getStartAngle ()D 
setSweepAngle 
getSweepAngle 
getStartPoint ()Lacm/graphics/GPoint; getArcPoint (D)Lacm/graphics/GPoint; 7 8
  9 getEndPoint paint (Ljava/awt/Graphics;)V getComponent ()Ljava/awt/Component; > ?
  @ acm/graphics/GCanvas B getNativeArcFlag ()Z D E
 C F draw H =
 $ I getAWTBounds ()Ljava/awt/Rectangle; K L
  M getX O 2
  P@        round (D)I T U acm/graphics/GMath W
 X V getY Z 2
  [ isFilled ] E
  ^ getFillColor ()Ljava/awt/Color; ` a
  b setColor (Ljava/awt/Color;)V d e java/awt/Graphics g
 h f x I j k java/awt/Rectangle m	 n l y p k	 n q width s k	 n t height v k	 n w fillArc 	(IIIIII)V y z
 h { getColor } a
  ~ drawArc  z
 h  toPoint ()Ljava/awt/Point;   acm/graphics/GPoint 
   java/awt/Point 	  l	  q drawLine (IIII)V  
 h  	getBounds ()Lacm/graphics/GRectangle; 
cosDegrees (D)D  
 X  
sinDegrees  
 X  min (DD)D   java/lang/Math 
   max  
   
containsAngle (D)Z  
  @V     @f     @p      acm/graphics/GRectangle   
   contains (DD)Z abs  
   atan2  
   	toDegrees  
 X  setFrameRectangle (Lacm/graphics/GRectangle;)V
  P
  [ getWidth  2
   	getHeight  2
    
   getFrameRectangle scale   
   	setFilled (Z)V Z ] 	   setFillColor 	fillColor Ljava/awt/Color;  	    
 n  paramString ()Ljava/lang/String;  
   indexOf (I)I   java/lang/String 
   	substring (I)Ljava/lang/String;  
    
   java/lang/StringBuffer  frame=(  (Ljava/lang/String;)V  
   append (D)Ljava/lang/StringBuffer;  
   ,   ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   )  toString  
   valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
   , start= , sweep=   
  1 2
  4 2
 	@v      
ConstantValue 
SourceFile acm/graphics/GFillable acm/graphics/GScalable 	GArc.java !        
                          ]          ( )            
 	   
*') 
       	     ;  
   /* * * *	 * *') "* $Y* ' +      , -          
*' * 0      1 2          *       3 -          
*' * 0      4 2          *       5 6          	**  :      ; 6          ** * c :      < =    
  
   * AM, C , C G * ++ J * NN* Q*  Roc Y6* \*  Roc Y6*  Y6*  Y6* _ +* c i+- o- r- u- x |+*  i+- o- r- u- x * : :+   *` : :	+	 	   +- o- r- u- x                *  RoH*  RoJ* Q'c9* \)c9*  'kc9	*  )kg9* * c 'kc9
* * c )kg9	
 9	
 9 9 9*  	'c9*   	)g9*   	'g9*   	)c9* _ ' 9 9 9 9 Ygcgc                  *  Ro9*  Ro9 
 '* Qcg9	)* \cg9		kkokkoc9
* _ 
 # c Roo9
g  *w	                 	   * * *') "            ! 	    *+ + + + Ŷ Ǳ            $ 
     Y* Q* \* *               %     *Y 'k *Y )k * 0       -          *'' ˱                 
* * 0      ] E          * Ь       e          
*+ * 0      ` a          *  
*  * հ      K L     0     $ nY* Q Y* \ Y*  Y*  Y װ                 * L++) ` L* M Y ,   ,   , ¶  , Ŷ   N Y-   *   *   N Y-  +        7 8     K 
    ?*  RoJ*  Ro9* Q)c9* \c9	 Y)' kc	' kg                 ***
c J*
 9 ' 'wsg 'sH) )wsg )sJ)c ') ')cg  ') ')c                                                                                 acm/graphics/GCanvas.class                                                                          000644  000766  000024  00000014005 11166064600 016244  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -G <clinit> ()V <init>   java/awt/Container 
   java/util/ArrayList 
 	  contents Ljava/util/ArrayList;   acm/graphics/GCanvas 	  
 enabledList  	   white Ljava/awt/Color;   java/awt/Color 	   
setBackground (Ljava/awt/Color;)V   java/awt/Component 
   	setOpaque (Z)V   !
  " setAutoRepaintFlag $ !
  % 	setLayout (Ljava/awt/LayoutManager;)V ' (
  ) acm/graphics/GCanvasListener + (Lacm/graphics/GCanvas;)V  -
 , . gCanvasListener Lacm/graphics/GCanvasListener; 0 1	  2 addFocusListener !(Ljava/awt/event/FocusListener;)V 4 5
  6 addComponentListener %(Ljava/awt/event/ComponentListener;)V 8 9
  : addMouseListener !(Ljava/awt/event/MouseListener;)V < =
  > addMouseMotionListener '(Ljava/awt/event/MouseMotionListener;)V @ A
  B Code add (Lacm/graphics/GObject;)V 	getParent ()Lacm/graphics/GContainer; G H acm/graphics/GObject J
 K I remove M F acm/graphics/GContainer O P N 	setParent (Lacm/graphics/GContainer;)V R S
 K T (Ljava/lang/Object;)Z E V
 	 W areMouseListenersEnabled ()Z Y Z
 K [ conditionalRepaint ] 
  ^ (Lacm/graphics/GObject;DD)V E F
  a setLocation (DD)V c d
 K e .(Lacm/graphics/GObject;Lacm/graphics/GPoint;)V getX ()D h i acm/graphics/GPoint k
 l j getY n i
 l o E `
  q M V java/util/AbstractCollection t
 u s 	removeAll clear x 
 	 y w 
  { repaint } 
  ~ *(Ljava/awt/Component;)Ljava/awt/Component; E 
   getSize ()Ljava/awt/Dimension;  
   width I   java/awt/Dimension 	   height  	   getPreferredSize  
   setSize (Ljava/awt/Dimension;)V  
   (Ljava/awt/Component;DD)V round (D)I   acm/graphics/GMath 
   (II)V c 
  
   ,(Ljava/awt/Component;Lacm/graphics/GPoint;)V E 
   (Ljava/awt/Component;)V M 
   getElementCount ()I size  
 	  
getElement (I)Lacm/graphics/GObject; get (I)Ljava/lang/Object;  
 	  getElementAt (DD)Lacm/graphics/GObject; /(Ljava/util/ArrayList;DD)Lacm/graphics/GObject;  
   -(Lacm/graphics/GPoint;)Lacm/graphics/GObject;  
   iterator ()Ljava/util/Iterator; (I)Ljava/util/Iterator;  
   createIterator 0(Lacm/graphics/GContainer;I)Ljava/util/Iterator;   acm/graphics/GCompound 
   opaque Z  	   isOpaque getWidth 	getHeight paint (Ljava/awt/Graphics;)V  Z
   offscreenImage Ljava/awt/Image;  	   initOffscreenImage  
   getGraphics ()Ljava/awt/Graphics;   java/awt/Image 
   
getBackground ()Ljava/awt/Color;  
   setColor   java/awt/Graphics 
   fillRect (IIII)V  
   
getForeground  
   paintObject  
 K  	drawImage 3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z  
    
   update
   autoRepaint  	   getAutoRepaintFlag setNativeArcFlag 
nativeArcFlag  	   getNativeArcFlag sendToFront indexOf (Ljava/lang/Object;)I
 	 M 
 	 
sendToBack (ILjava/lang/Object;)V E

 	 sendForward min (II)I java/lang/Math
 sendBackward max
 dispatchMouseEvent (Ljava/awt/event/MouseEvent;)V h  java/awt/event/MouseEvent
 n 
 
lastObject Lacm/graphics/GObject; !	 " acm/graphics/GMouseEvent$ 1(Ljava/lang/Object;ILjava/awt/event/MouseEvent;)V &
%' fireMouseListeners)
 K* 
dragObject,!	 - getID/  java/awt/AWTEvent1
20 
isConsumed4 Z java/awt/event/InputEvent6
75 consume9 
7: createImage (II)Ljava/awt/Image;<=
 > updateEnabledList contains (DD)ZAB
 KC 
SourceFile GCanvas.java !    P 	  0 1    !   ,!                                 #     D   i     ]* * 	Y 
 * 	Y 
 *  * #* &* ** ,Y* / 3** 3 7** 3 ;** 3 ?** 3 C      E F  D   W     C* M,+ L 
+ L+ Q +* U* + XW+ \ * + XW,ç ,ÿ* _   6 ;      E `  D        
*+ b+( f      E g  D        *+, m, p r      M F  D   ?     +* M,* + vW* + vW+ U,ç ,ÿ* _    #      w   D   :     &* L+*  z*  z+ç +ÿ* |*           E   D   O     C*+ W+ M,  
,  ++ N,  ,-  ,  ,-  +, +      E   D         +(   *+ W      E   D        *+, m, p       M   D   -     * M,*+ ,ç ,ÿ* _             D        *           D        *   K         D        ** ')          D        
*+ m+ p          D        *          D        * Ű        !  D        
* * _       Z  D        * ɬ         D        *           D        *           D        +M* Й @*  * *  * Զ L* N+*  +- -  +*  * N-*  66 *   K+ -ç -ÿ* Й *  ,* * W*,   M v {         D        *+       $ !  D        *        Z  D        *        !  D        *       Z  D        *       F  D   J     6* M,* +6 * W* + XW,ç ,ÿ* _   ) .     	 F  D   J     6* M,* +6 * W* +,ç ,ÿ* _   ) .     
 F  D   W     C* M,* +6 #* W* *  `+,ç ,ÿ* _   6 ;      F  D   Q     =* M,* +6 * W* d+,ç ,ÿ* _   0 5       D        ** ++ MN,*# 8*# %Y*#+(N*#-+, %Y,+(N,-+*,#*. *.M, V+36 H @ 
*. 1 *,.  *.%Y,+(N,-+- -8 +;         D   Q     =* L+* N-  
-   **- - ? +ç +ÿ:+é   . 3      ]   D        *  *      @   D   E     9*  z*  <= "*   KN- \ * - XW߱         D   c     O* :+ d6	 &+	  K:

(D 

: 		ç ÿ:é  	 < B     E   F                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           acm/graphics/GCanvasListener.class                                                                  000644  000766  000024  00000002514 11166064600 017754  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - > <clinit> ()V <init> (Lacm/graphics/GCanvas;)V   java/lang/Object 
   gCanvas Lacm/graphics/GCanvas; 	 
 acm/graphics/GCanvasListener 	 
  Code mouseClicked (Ljava/awt/event/MouseEvent;)V dispatchMouseEvent   acm/graphics/GCanvas 
   mousePressed requestFocus   java/awt/Component 
   
mouseReleased mouseEntered mouseExited mouseDragged 
mouseMoved focusGained (Ljava/awt/event/FocusEvent;)V 	focusLost componentResized "(Ljava/awt/event/ComponentEvent;)V initOffscreenImage ' 
  ( 	isShowing ()Z * +
  , repaint . 
  / componentHidden componentMoved componentShown 
SourceFile java/awt/event/FocusListener 5 java/awt/event/MouseListener 7 "java/awt/event/MouseMotionListener 9  java/awt/event/ComponentListener ; GCanvas.java   
   6 8 : <   	 
                
* *+                  	* +                  *  * +                  	* +                  	* +                  	* +                   	* +       !           	* +       " #     
            $ #     
            % &     %     *  )*  - 
*  0      1 &     
            2 &     
            3 &     
            4    =                                                                                                                                                                                    acm/graphics/GCompound.class                                                                        000644  000766  000024  00000013120 11166064600 016612  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V <init>   acm/graphics/GObject 
   java/util/ArrayList 
 	  contents Ljava/util/ArrayList;   acm/graphics/GCompound 	  
 complete Z  	   Code add (Lacm/graphics/GObject;)V acm/util/ErrorException  FYou can't add objects to a GCompound that has been marked as complete.  (Ljava/lang/String;)V  
   	getParent ()Lacm/graphics/GContainer;   
  ! remove #  acm/graphics/GContainer % & $ 	setParent (Lacm/graphics/GContainer;)V ( )
  * (Ljava/lang/Object;)Z  ,
 	 - repaint / 
  0 (Lacm/graphics/GObject;DD)V  
  3 setLocation (DD)V 5 6
  7 .(Lacm/graphics/GObject;Lacm/graphics/GPoint;)V getX ()D : ; acm/graphics/GPoint =
 > < getY @ ;
 > A  2
  C KYou can't remove objects from a GCompound that has been marked as complete. E # , java/util/AbstractCollection H
 I G 	removeAll clear L 
 	 M getElementCount ()I size Q P
 	 R 
getElement (I)Lacm/graphics/GObject; get (I)Ljava/lang/Object; V W
 	 X getElementAt (DD)Lacm/graphics/GObject; O P
  \ T U
  ^ contains (DD)Z ` a
  b -(Lacm/graphics/GPoint;)Lacm/graphics/GObject; Z [
  e iterator ()Ljava/util/Iterator; (I)Ljava/util/Iterator; g i
  j createIterator 0(Lacm/graphics/GContainer;I)Ljava/util/Iterator; l m
  n paint (Ljava/awt/Graphics;)V create ()Ljava/awt/Graphics; r s java/awt/Graphics u
 v t
  < round (D)I y z acm/graphics/GMath |
 } {
  A 	translate (II)V  
 v  paintObject  q
   scale getComponent ()Ljava/awt/Component;  
   acm/graphics/GCanvas  getAutoRepaintFlag ()Z  
   setAutoRepaintFlag (Z)V  
   acm/graphics/GScalable   6   (D)V
   	getBounds ()Lacm/graphics/GRectangle; acm/graphics/GRectangle 
    
   (Lacm/graphics/GRectangle;)V  
    
    6
   getCanvasPoint ,(Lacm/graphics/GPoint;)Lacm/graphics/GPoint; (DD)Lacm/graphics/GPoint;  
    6
 >  
getLocalPoint  
   markAsComplete sendToFront indexOf (Ljava/lang/Object;)I  
 	  # W
 	  
sendToBack (ILjava/lang/Object;)V  
 	  sendForward min (II)I   java/lang/Math 
   sendBackward max  
   fireMouseListeners (Ljava/awt/event/MouseEvent;)V areMouseListenersEnabled  
    
   : P java/awt/event/MouseEvent 
   @ P
   Z d
   
lastObject Lacm/graphics/GObject;  	   acm/graphics/GMouseEvent  1(Ljava/lang/Object;ILjava/awt/event/MouseEvent;)V  
   
dragObject  	   getID  P java/awt/AWTEvent 
   
isConsumed   java/awt/event/InputEvent 
   consume  
   java/lang/Exception  acm.graphics.GIterator  forName %(Ljava/lang/String;)Ljava/lang/Class;   java/lang/Class 
   acm.graphics.GContainer  TYPE Ljava/lang/Class;   java/lang/Integer	 java/lang/Object (I)V 
 getConstructor 3([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;

  newInstance '([Ljava/lang/Object;)Ljava/lang/Object; java/lang/reflect/Constructor
 java/util/Iterator .Unable to create an Iterator on this platform. 
SourceFile GCompound.java !    &                               !     * * 	Y 
 *             X     D*  
 Y * M,+ " 
+ "+ ' +* +* + .W,ç ,ÿ* 1   7 <       2          
*+ 4+( 8       9          *+, ?, B D      #      G     3*  
 YF * M,* + JW+ +,ç ,ÿ* 1   & +      K      @     ,*  
 YF * L+*  N+ç +ÿ* 1    $      O P          *  S      T U          *  Y       Z [     _  
   K* :* ]d6 "* _:		') c 
	: ç ÿ:é  	 8 >      Z d          
*+ ?+ B f      g h          * k      g i          * o      p q     d     P+ wL+* x ~*  ~ * M,*  S66 *  Y + ,ç ,ÿ   G L       6       	   }* :6    6  * ]d6 5* _:' xk) k 8   ')    
  * 1                 *''                  p Y L* M,*  S66 8  Y*  Y   L +*  Y   ,ç ,ÿ+* x*  +   Z _      ` a     x     d'* xg9)* g9* :

*  S66
 %* 
 Y  c 6	 	


ç 
ÿ:
é   Q W                 
*+ ?+ B             B     6*: ! :' xcH) cJ ": ݻ >Y')                  
*+ ?+ B             B     6*: ! :' xgH) gJ ": ݻ >Y')                  *             J     6* M,* + 6 *  W* + .W,ç ,ÿ* 1   ) .            J     6* M,* + 6 *  W* + ,ç ,ÿ* 1   ) .            W     C* M,* + 6 #*  W* *  S` + ,ç ,ÿ* 1   6 ;            Q     =* M,* + 6 *  W* d + ,ç ,ÿ* 1   0 5                 * ϙ 	*+ ѱ >Y+ Շ* xg+ ׇ* g M*, N:-* ݥ <*   Y* + :*  -  Y-+ :- *- *  * N- I+ 6 ; 3 *-   *  Y-+ :-    +             j     V* ϙ * M,*  S66 #*  Y : ϙ 
< ,ç ,ÿ:,é   F K      l m     `     L M Y SYSNY*SYY	S:,-
:W Y     @ @                                                                                                                                                                                                                                                                                                                                                                                                                                                       acm/graphics/GContainer.class                                                                       000644  000766  000024  00000001114 11166064600 016750  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V 
BACK_TO_FRONT I     
FRONT_TO_BACK    add (Lacm/graphics/GObject;)V (Lacm/graphics/GObject;DD)V .(Lacm/graphics/GObject;Lacm/graphics/GPoint;)V remove 	removeAll getElementCount ()I 
getElement (I)Lacm/graphics/GObject; getElementAt (DD)Lacm/graphics/GObject; -(Lacm/graphics/GPoint;)Lacm/graphics/GObject; 
ConstantValue 
SourceFile acm/graphics/GContainer  java/lang/Object  GContainer.java                        	  	    
        	   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                             acm/graphics/GDimension.class                                                                       000644  000766  000024  00000002665 11166064600 016767  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - V <clinit> ()V <init> (DD)V   acm/graphics/GDimension 
   Code   java/lang/Object 
  
 myWidth D  	   myHeight  	   (Lacm/graphics/GDimension;)V (Ljava/awt/Dimension;)V width I   java/awt/Dimension 	   height  	   getWidth ()D 	getHeight setSize # 
  $ getSize ()Lacm/graphics/GDimension; toDimension ()Ljava/awt/Dimension; round (D)J * + java/lang/Math -
 . , (II)V  0
  1 hashCode ()I java/lang/Float 5 (F)V  7
 6 8 3 4
 6 : equals (Ljava/lang/Object;)Z toString ()Ljava/lang/String; java/lang/StringBuffer @ ( B (Ljava/lang/String;)V  D
 A E append (F)Ljava/lang/StringBuffer; G H
 A I x K ,(Ljava/lang/String;)Ljava/lang/StringBuffer; G M
 A N ) P > ?
 A R 
SourceFile GDimension.java !                
     	        *          	        * 
*' *)          	        
*+ +           	        *+ +          !  	        *       " !  	        *       #   	        *' *)       #   	        
*+ +  %      & '  	         Y* *        ( )  	   $      Y*  /*  / 2      3 4  	   ,       6Y*  9 ; 6Y*  9 ;      < =  	   <     0+  + M* ,  * ,         > ?  	   3     ' AYC F*  JL O*  JQ O S      T    U                                                                           acm/graphics/GFillable.class                                                                        000644  000766  000024  00000000416 11166064600 016544  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V 	setFilled (Z)V isFilled ()Z setFillColor (Ljava/awt/Color;)V getFillColor ()Ljava/awt/Color; 
SourceFile acm/graphics/GFillable  java/lang/Object  GFillable.java 
                   	 
                                                                                                                                                                                                                                                          acm/graphics/GImage.class                                                                           000644  000766  000024  00000005131 11166064600 016053  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Ljava/awt/Image;)V (Ljava/awt/Image;DD)V   acm/graphics/GImage 
   Code (Ljava/lang/String;)V (Ljava/lang/String;DD)V  
  
   acm/graphics/GObject 
   setImage  
   setLocation (DD)V  
   	loadImage $(Ljava/lang/String;)Ljava/awt/Image;   acm/util/MediaTools 
   "(Ljava/awt/Image;)Ljava/awt/Image;   
  ! myImage Ljava/awt/Image; # $	  % 
determineSize ' 
  ( getImage ()Ljava/awt/Image; paint (Ljava/awt/Graphics;)V getComponent ()Ljava/awt/Component; . /
  0 getImageObserver 2 /
  3 getAWTBounds ()Ljava/awt/Rectangle; 5 6
  7 getObjectColor ()Ljava/awt/Color; 9 :
  ; x I = > java/awt/Rectangle @	 A ? y C >	 A D width F >	 A G height I >	 A J 	drawImage 5(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z L M java/awt/Graphics O
 P N E(Ljava/awt/Image;IIIILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z L R
 P S setSize myWidth D V W	  X myHeight Z W	  [ repaint ] 
  ^ (Lacm/graphics/GDimension;)V getWidth ()D a b acm/graphics/GDimension d
 e c 	getHeight g b
 e h U 
  j getSize ()Lacm/graphics/GDimension;  
 e n 	setBounds (DDDD)V (Lacm/graphics/GRectangle;)V getX s b acm/graphics/GRectangle u
 v t getY x b
 v y
 v c
 v h p q
  } 	getBounds ()Lacm/graphics/GRectangle;
  t
  y  q
 v  scale (D)V  
   round (D)I   acm/graphics/GMath 
   (IIII)V  
 A  sizeDetermined Z  	   !(Ljava/awt/image/ImageObserver;)I a  java/awt/Image 
   g 
   
SourceFile acm/graphics/GResizable  acm/graphics/GScalable  GImage.java !        # $    V W    Z W             
        *+ 	         
        *+          
        * *+ *(          
        *+ ( 	         
        
*+ " &* )         
        	*+        * +  
        * &      , -  
   n     b* 1M,  4M* & P, L* 8N* <:  +* &- B- E- H- K, QW +* &- B- E- H- K, TW      U   
        *' Y*) \* _      U `  
        
*+ f+ i k      l m  
         eY* Y* \ o      p q  
     	   * Y* \*')       p r  
   ! 	    *+ w+ z+ {+ | ~         
   ( 
    * ) vY* * * Y* \          
   %     *Y Y'k Y*Y \)k \* _         
        *''       5 6  
   4     (* ) AY*  *  * Y * \        '   
   A     5*  * 1L+  4L** &+  Y** &+  \*                                                                                                                                                                                                                                                                                                                                                                                                                                                  acm/graphics/GIterator.class                                                                        000644  000766  000024  00000002113 11166064600 016617  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - = <clinit> ()V <init> (Lacm/graphics/GContainer;I)V   java/lang/Object 
   dir I 	 
 acm/graphics/GIterator 	 
  acm/util/ErrorException  Illegal direction for iterator  (Ljava/lang/String;)V  
   cont Lacm/graphics/GContainer;  	 
  index  
	 
  getElementCount ()I   acm/graphics/GContainer   !  	nElements # 
	 
 $ Code hasNext ()Z next ()Ljava/lang/Object; 
getElement (I)Lacm/graphics/GObject; + , ! - nextElement ()Lacm/graphics/GObject; ) *
 
 1 acm/graphics/GObject 3 remove (Lacm/graphics/GObject;)V 5 6 ! 7 
SourceFile java/util/Iterator : GCompound.java   
   ;        	 
     
    # 
        &   O     C*                   *  
 Y *+ * *+ "  %      ' (  &        * * %        ) *  &   E     9*  * * %*Y Z` dd . * *Y Z`  .       / 0  &        * 2 4      5   &   c     W*  ** * * %*Y dZ dd .  8   * * *Y dZ  .  8 *Y %d %      9    <                                                                                                                                                                                                                                                                                                                                                                                                                                                     acm/graphics/GLabel.class                                                                           000644  000766  000024  00000004566 11166064600 016063  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V 
java/awt/Font  Default  <init> (Ljava/lang/String;II)V  
  	 DEFAULT_FONT Ljava/awt/Font;   acm/graphics/GLabel 	  
 getImageObserver ()Ljava/awt/Component;   acm/util/MediaTools 
   DUMMY_COMPONENT Ljava/awt/Component;  	   Code (Ljava/lang/String;)V (Ljava/lang/String;DD)V  
     acm/graphics/GObject !
 "   label Ljava/lang/String; $ %	  & setFont (Ljava/awt/Font;)V ( )
  * setLocation (DD)V , -
 " . getStandardFont  (Ljava/awt/Font;)Ljava/awt/Font; 0 1 acm/util/JTFTools 3
 4 2 	labelFont 6 	  7 repaint 9 
 " : getFont ()Ljava/awt/Font; < =
  > 
decodeFont 2(Ljava/lang/String;Ljava/awt/Font;)Ljava/awt/Font; @ A
 4 B setLabel getLabel ()Ljava/lang/String; paint (Ljava/awt/Graphics;)V java/awt/Graphics I
 J * getX ()D L M
 " N round (D)I P Q acm/graphics/GMath S
 T R getY V M
 " W 
drawString Y 
 J Z getWidth getFontMetrics ()Ljava/awt/FontMetrics; ] ^
  _ stringWidth (Ljava/lang/String;)I a b java/awt/FontMetrics d
 e c 	getHeight ()I g h
 e i 	getAscent k h
 e l 
getDescent n h
 e o getComponent q 
 " r '(Ljava/awt/Font;)Ljava/awt/FontMetrics; ] t java/awt/Component v
 w u 	getBounds ()Lacm/graphics/GRectangle; acm/graphics/GRectangle { k M
  } \ M
   g M
   (DDDD)V  
 |  paramString java/lang/StringBuffer   F
 "  valueOf &(Ljava/lang/Object;)Ljava/lang/String;   java/lang/String 
    
   
, string="  append ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   "  toString  F
   
SourceFile GLabel.java !  "          $ %    6                 "       Y 
                    *+             $     * #*+ '*  +*( /      ( )          
*+ 5 8* ;      (           
*+* ? C +      < =          * 8      D           
*+ '* ;      E F          * '      G H     +     +* 8 K+* '* O U* X U [      \ M          
* `* ' f      g M          	* ` j      k M          	* ` m      n M          	* ` p      ] ^     "     * sL+  L+* 8 x      y z     ) 
     |Y* O* X* ~g* *         F     /     # Y*    * '                                                                                                                                                       acm/graphics/GLine.class                                                                            000644  000766  000024  00000004461 11166064600 015725  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V LINE_TOLERANCE D?       <init> (DDDD)V   acm/graphics/GObject 

  	 setLocation (DD)V 
 
   dx   acm/graphics/GLine 	   dy  	   Code paint (Ljava/awt/Graphics;)V getX ()D  
   getY   
  ! round (D)I # $ acm/graphics/GMath &
 ' % drawLine (IIII)V ) * java/awt/Graphics ,
 - + 	getBounds ()Lacm/graphics/GRectangle; min (DD)D 1 2 java/lang/Math 4
 5 3 acm/graphics/GRectangle 7 abs (D)D 9 :
 5 ;  
 8 = 
setStartPoint 
getStartPoint ()Lacm/graphics/GPoint; getLocation B A
  C setEndPoint repaint F 
  G getEndPoint acm/graphics/GPoint J  
 K L scale (D)V N 
  P contains (DD)Z@       distanceSquared (DDDD)D V W
  X max Z 2
 5 [ paramString ()Ljava/lang/String; ] ^
  _ indexOf (I)I a b java/lang/String d
 e c 	substring (I)Ljava/lang/String; g h
 e i @ A
  k java/lang/StringBuffer m start=( o (Ljava/lang/String;)V  q
 n r
 K  append (D)Ljava/lang/StringBuffer; u v
 n w ,  y ,(Ljava/lang/String;)Ljava/lang/StringBuffer; u {
 n |
 K ! )  toString  ^
 n  I A
   valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
 e  , end=(  
ConstantValue 
SourceFile acm/graphics/GScalable  
GLine.java !                                 '  	   * *') *'g *)g             8     ,* I* "9+( ( ((* c (* c ( .      / 0     J     >* * * c 6H* "* "* c 6J 8Y')*  <c*  <c >      ?      1     %*Y * 'gc *Y * ")gc *')       @ A          * D      E      %     *'* g *)* "g * H      I A     &      KY* * c* "* c M      N      %     *Y 'k *Y )k * H      N O          *'' Q      R S         * 9* "9* c9	* c9 T9
*') Y
 *')	 Y
 '	 6 g '	 \ c ) 6 g ) \ c 	f f 'g	gk)ggkc*	 Yo9*')	gkcgkc Y
        ] ^          * `L++) f` jL* lM nYp s, t xz }, ~ x } N* M nY-  s }, t xz }, ~ x } N nY-  s+ }       V W        	   'g'gk)g)gkc                                                                                                                                                                                                                         acm/graphics/GMath.class                                                                            000644  000766  000024  00000001525 11166064600 015725  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - : <clinit> ()V <init>   java/lang/Object 
   Code round (D)I (D)J 	  java/lang/Math 
   
sinDegrees (D)D 	toRadians   acm/graphics/GMath 
   sin  
   
cosDegrees cos  
   
tanDegrees  
    
  ! 	toDegrees@f     @	!TD- distance (DD)D sqrt * 
  + (DDDD)D ( )
  . angle atan2 1 )
  2 # 
  4 0 )
  6 
SourceFile 
GMath.java !                    *      	 	 
          &      	            &       	            &       	            
&  & "o     	 #           
& $k &o     	            
& &k $o     	 ( )          &&k((kc ,     	 ( -          &g(g /     	 0 )     $     & ( (w& 3 5     	 0 -          &g(g 7      8    9                                                                                                                                                                           acm/graphics/GMouseEvent.class                                                                      000644  000766  000024  00000002466 11166064600 017133  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - a <clinit> ()V <init> 1(Ljava/lang/Object;ILjava/awt/event/MouseEvent;)V getComponent ()Ljava/awt/Component;   java/awt/event/ComponentEvent 
 	  getWhen ()J   java/awt/event/InputEvent 
  
 getModifiers ()I  
   getX   java/awt/event/MouseEvent 
   getY  
   
getClickCount  
   isPopupTrigger ()Z   !
  " (Ljava/awt/Component;IJIIIIZ)V  $
  % effectiveSource Ljava/lang/Object; ' ( acm/graphics/GMouseEvent *	 + ) Code 	getSource ()Ljava/lang/Object; . / java/util/EventObject 1
 2 0 java/awt/Component 4 toString ()Ljava/lang/String; java/lang/StringBuffer 8 getClass ()Ljava/lang/Class; : ; java/lang/Object =
 > < getName @ 7 java/lang/Class B
 C A valueOf &(Ljava/lang/Object;)Ljava/lang/String; E F java/lang/String H
 I G (Ljava/lang/String;)V  K
 9 L [ N append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; P Q
 9 R paramString T 7
  U ] on  W
 + 0 ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; P Z
 9 [ 6 7
 9 ] 
SourceFile GCanvas.java   +      ' (        -   3 
    '*- 
- - - - - - # &*+ ,      . /  -        * ,         -        * 3 5      6 7  -   9     - 9Y* ? D J MO S* V SX S* Y \ ^      _    `                                                                                                                                                                                                          acm/graphics/GObject.class                                                                          000644  000766  000024  00000020056 11166064600 016242  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V <init>   java/lang/Object 
   	isVisible Z  	 acm/graphics/GObject 	  
 mouseListenersEnabled  		   Code paint (Ljava/awt/Graphics;)V 	getBounds ()Lacm/graphics/GRectangle; setLocation (DD)V xc D  	   yc  	   repaint  
    (Lacm/graphics/GPoint;)V getX ()D # $ acm/graphics/GPoint &
 ' % getY ) $
 ' *  
  , getLocation ()Lacm/graphics/GPoint;  
 ' 0 move 	movePolar@	!TD-@f      cos (D)D 8 9 java/lang/Math ;
 < : sin > 9
 < ? 2 
  A getSize ()Lacm/graphics/GDimension;  
  E acm/graphics/GDimension G getWidth I $ acm/graphics/GRectangle K
 L J 	getHeight N $
 L O
 H 0 contains (DD)Z round (D)I T U acm/graphics/GMath W
 X V R S
 L Z (Lacm/graphics/GPoint;)Z
  Z sendToFront myParent Lacm/graphics/GContainer; _ `	  a acm/graphics/GCanvas c (Lacm/graphics/GObject;)V ^ e
 d f acm/graphics/GCompound h
 i f java/lang/Exception k getClass ()Ljava/lang/Class; m n
  o java/lang/Class q acm.graphics.GObject s forName %(Ljava/lang/String;)Ljava/lang/Class; u v
 r w ^ 	getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; z {
 r | invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; ~  java/lang/reflect/Method 
   updateEnabledList  
   
sendToBack  e
 d 
 i   sendForward  e
 d 
 i   sendBackward  e
 d 
 i   setColor (Ljava/awt/Color;)V color Ljava/awt/Color;  	   getColor ()Ljava/awt/Color; 	getParent ()Lacm/graphics/GContainer;  
   java/awt/Component  
getForeground  
   black   java/awt/Color 	   
setVisible (Z)V ()Z toString ()Ljava/lang/String; getName  
 r  
acm.graphics.  
startsWith (Ljava/lang/String;)Z   java/lang/String 
   length ()I  
   	substring (I)Ljava/lang/String;  
   java/lang/StringBuffer  valueOf &(Ljava/lang/Object;)Ljava/lang/String;  
   (Ljava/lang/String;)V  
   [  append ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
   paramString  
   ]   
   pause (D)V   acm/util/JTFTools 
   addMouseListener !(Ljava/awt/event/MouseListener;)V 
mouseListener Ljava/awt/event/MouseListener;  	   add \(Ljava/awt/event/MouseListener;Ljava/awt/event/MouseListener;)Ljava/awt/event/MouseListener;   java/awt/AWTEventMulticaster 
   removeMouseListener remove  
   addMouseMotionListener '(Ljava/awt/event/MouseMotionListener;)V mouseMotionListener $Ljava/awt/event/MouseMotionListener;  	   n(Ljava/awt/event/MouseMotionListener;Ljava/awt/event/MouseMotionListener;)Ljava/awt/event/MouseMotionListener;  
   removeMouseMotionListener  
   addActionListener "(Ljava/awt/event/ActionListener;)V actionListener Ljava/awt/event/ActionListener;  	   _(Ljava/awt/event/ActionListener;Ljava/awt/event/ActionListener;)Ljava/awt/event/ActionListener; 
  removeActionListener 
  fireActionEvent java/awt/event/ActionEvent	 ((Ljava/lang/Object;ILjava/lang/String;)V 

 (Ljava/awt/event/ActionEvent;)V
  actionPerformed java/awt/event/ActionListener 	setParent (Lacm/graphics/GContainer;)V fireMouseListeners (Ljava/awt/event/MouseEvent;)V getID  java/awt/AWTEvent
 mousePressed java/awt/event/MouseListener!"  
mouseReleased$"% mouseClicked'"( mouseExited*"+ mouseEntered-". 
mouseMoved0 "java/awt/event/MouseMotionListener231 mouseDragged536 areMouseListenersEnabled start ([Ljava/lang/String;)V9:
 ; acm.program.GraphicsProgram= startGraphicsProgram? acm/util/ErrorExceptionA (Ljava/lang/Exception;)V C
BD getObjectColor  G acm/graphics/GResizableI bounds=(K
 L % (D)Ljava/lang/StringBuffer; N
 O , Q
 L * )T . /
 V 
location=(X , color=Z 	colorName $(Ljava/awt/Color;)Ljava/lang/String;\]
 ^ acm/graphics/GFillable` 	, filled=b isFilledd ae (Z)Ljava/lang/StringBuffer; g
 h getFillColorj ak , fillColor=m equals (Ljava/lang/Object;)Zop
 q BLACKs blueu 	 v BLUEx cyanz 	 { CYAN} darkGray 	  	DARK_GRAY gray 	  GRAY green 	  GREEN 	lightGray 	  
LIGHT_GRAY magenta 	  MAGENTA orange 	  ORANGE pink 	  PINK red 	  RED white 	  WHITE yellow 	  YELLOW 0x getRGB 
   (II)Ljava/lang/String;  java/lang/Integer
 toUpperCase 
  paintObject  
    java/awt/Graphics
  
  
  getComponent ()Ljava/awt/Component;
 
 d  conditionalRepaint 
 d 
SourceFile java/lang/Cloneable GObject.java!    	  _ `                    	     	                  .             * * 
*                          *' *) * !       "          
*+ (+ + -      . /           'Y* *  1      # $          *       ) $          *       2           ** 'c* )c -      3      +     ) 4k 6o9*' =k'w @k B      C D     !     * FL HY+ M+ P Q      I $          * F M      N $          * F P      R S          * F' Y) Y [      R \          
*+ (+ + ]      ^           * b * b d * b d* g Y* b i * b i* j A* b pL rYt xSM Y*SN+y, }: * b- W W *  *   8 o r l               * b * b d * b d*  Y* b i * b i*  A* b pL rYt xSM Y*SN+, }: * b- W W *  *   8 o r l               * b * b d * b d*  Y* b i * b i*  A* b pL rYt xSM Y*SN+, }: * b- W W *  *   8 o r l               * b * b d * b d*  Y* b i * b i*  A* b pL rYt xSM Y*SN+, }: * b- W W *  *   8 o r l               
*+ * !            D     8*L *+ M,  , L ,  ,   + +                  
* 
* !                 * 
            G     ;* p L+  
+  L Y+ ɷ ζ * ն ׶ Ҷ ٰ                 * b                 ' ߱            "     ** +  * *                  
** +              "     ** +  * *                  
** +                   
**+                
**+                *
Y*+
               * 
*+                *+ b               +             T   ,   @      |   h   *  * +#  {*  t* +&  g*  `* +)  S*  L* +,  ?*  8* +/  +*  $* +4  *  * +7       8           *      9           *<     9:     b     N> xMt xN rY-SY+ pS: Y*SY+S:,@ }: W 
MBY,E    @ C l   F           *                HL*J T* FM Y+ ɷ L ,MPR ,SPR , MPR , PPU Ҷ L 7*WM Y+ ɷ Y , (PR , +PU Ҷ L*  " Y+ ɷ [ * _ Ҷ L*a V Y+ ɷ c *af i L*al M, ',*   Y+ ɷ n ,_ Ҷ L+     \]          * r t*wr y*|r ~*r *r *r *r *r *r *r *r *r *r  Y *~ Ҷ ٰ           :     .* +M*  +* *+*  +,Ǳ          3     '* L +  L+ +  
+                    *L+ d 
+ dα            2     &* L +  L+ + d 
+ dѱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          acm/graphics/GOval.class                                                                            000644  000766  000024  00000005423 11166064600 015736  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (DD)V (DDDD)V   acm/graphics/GOval 
   Code   acm/graphics/GObject 
 
  checkForArcRendering ()Z  
   useArcs Z  	   
frameWidth D  	   frameHeight  	   setLocation  
 
  acm/graphics/ArcRenderer ! (Lacm/graphics/GObject;)V  #
 " $ renderer Lacm/graphics/ArcRenderer; & '	  ( contains (DD)Z@        getX ()D . /
 
 0 getY 2 /
 
 3 paint (Ljava/awt/Graphics;)V getComponent ()Ljava/awt/Component; 7 8
 
 9 acm/graphics/GCanvas ; getNativeArcFlag = 
 < > draw @ 6
 " A getAWTBounds ()Ljava/awt/Rectangle; C D
  E isFilled G 
  H getFillColor ()Ljava/awt/Color; J K
  L setColor (Ljava/awt/Color;)V N O java/awt/Graphics Q
 R P x I T U java/awt/Rectangle W	 X V y Z U	 X [ width ] U	 X ^ height ` U	 X a fillArc 	(IIIIII)V c d
 R e getColor g K
 
 h drawArc j d
 R k fillOval (IIII)V m n
 R o drawOval q n
 R r 	setFilled (Z)V G 	  v repaint x 
 
 y setFillColor 	fillColor Ljava/awt/Color; | }	  ~ setSize (Lacm/graphics/GDimension;)V getWidth  / acm/graphics/GDimension 
   	getHeight  /
    
   getSize ()Lacm/graphics/GDimension;  
   	setBounds (Lacm/graphics/GRectangle;)V acm/graphics/GRectangle 
  0
  3
  
    
   	getBounds ()Lacm/graphics/GRectangle;
   scale (D)V  
   round (D)I   acm/graphics/GMath 
    n
 X  isMac   acm/util/Platform 
   
SourceFile acm/graphics/GFillable  acm/graphics/GResizable  acm/graphics/GScalable  
GOval.java !  
                      G     | }    & '        
    	    	*') 	         
   7  	   +* **  * * *')  * "Y* % )      * +  
   h  
   \*  ,o9*  ,o9 
 '* 1cg9	)* 4cg9		kkokkoc        5 6  
        * :M, < , < ? * )+ B * FN*  M* I ++* M S+- Y- \- _- bh f+* i S+- Y- \- _- bh l B* I '+* M S+- Y- \- _- b p+* i S+- Y- \- _- b s      t u  
        
* w* z      G   
        * w      { O  
        
*+ * z      J K  
        *  
* i *          
        *' *) * z         
        
*+ +           
         Y* *           
     	   * * *')           
   ! 	    *+ + + +           
   (      Y* 1* 4* c* c        /  
        *        /  
        *          
   %     *Y 'k *Y )k * z         
        *''       C D  
   0     $ XY* 1 * 4 *  *            
                                                                                                                                                                                                                                                                acm/graphics/GPen.class                                                                             000644  000766  000024  00000011162 11166064600 015554  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V acm/graphics/FinalPathElement  <init>  
   finalElement Lacm/graphics/PathElement;  	 acm/graphics/GPen 	  
 Code acm/graphics/GObject 
   
penVisible Z  	   java/util/ArrayList 
   path Ljava/util/ArrayList;  	   acm/util/Animator 
   animator Lacm/util/Animator;   !	  " setSpeed (D)V $ %
  & 	erasePath ( 
  ) (DD)V
   setLocation - +
  . xScale D 0 1	  2 yScale 4 1	  5 
regionOpen 7 	  8 
regionStarted : 	  ; repaint = 
  > acm/util/ErrorException @ EIt is illegal to move the pen while you are defining a filled region. B (Ljava/lang/String;)V  D
 A E
  . delay H 
  I drawLine getX ()D L M
  N getY P M
  Q acm/graphics/SetLocationElement S  +
 T U add (Ljava/lang/Object;)Z W X
  Y acm/graphics/DrawLineElement [
 \ U 
drawPolarLine@	!TD-@f      cos (D)D c d java/lang/Math f
 g e sin i d
 g j K +
  l setColor (Ljava/awt/Color;)V IIt is illegal to change the color while you are defining a filled region. p acm/graphics/SetColorElement r  o
 s t n o
  v setFillColor NIt is illegal to change the fill color while you are defining a filled region. y 	fillColor Ljava/awt/Color; { |	  } getFillColor ()Ljava/awt/Color; getColor  
   startFilledRegion !You are already filling a region.  acm/graphics/StartRegionElement 
  t endFilledRegion CYou need to call startFilledRegion before you call endFilledRegion.  acm/graphics/EndRegionElement 
   showPen hidePen isPenVisible ()Z
  & getSpeed  M
   scale paint (Ljava/awt/Graphics;)V acm/graphics/PathState 
   sx  1	   sy  1	   size ()I  
   get (I)Ljava/lang/Object;  
   acm/graphics/PathElement  .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V  
   drawPen  
   	getBounds ()Lacm/graphics/GRectangle; acm/graphics/GRectangle        (DDDD)V  
   updateBounds 4(Lacm/graphics/GRectangle;Lacm/graphics/PathState;)V  
   contains (DD)Z setPenImage (Ljava/awt/Image;)V 	loadImage "(Ljava/awt/Image;)Ljava/awt/Image;   acm/util/MediaTools 
   penImage Ljava/awt/Image;  	   getPenImage ()Ljava/awt/Image; getImage   acm/graphics/PenImage 
   getComponent ()Ljava/awt/Component;  
   getWidth !(Ljava/awt/image/ImageObserver;)I   java/awt/Image 
   	getHeight  
   round (D)J  
 g  	drawImage 3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z   java/awt/Graphics 
   getPenBounds ()Ljava/awt/Rectangle; java/awt/Rectangle 
   (IIII)V  
   getAWTRectangle (DDDD)Ljava/awt/Rectangle; min (DD)D  
 g  abs  d
 g  
delayCount I 
SourceFile 	GPen.java !      
  	      !    0 1    4 1    7     :                         { |                  Y  
            5     )* * * Y  * Y  #* '* *       +          * ,*') /      (      0     $* Y  * 3* 6* 9* <* ?      - +     +     * < 
 AYC F*') G* # J      K +     z  
   f* O9* R9* :		* < *  TY V ZW** 9 <*  \Y') ] ZW	ç 	ÿ*'c)c G* # J   H N      ^ +     +     ) _k ao9*' hk'w kk m      n o     J     6* < 
 AYq F* M,*  sY+ u ZW,ç ,ÿ*+ w   ( -      x o     #     * < 
 AYz F*+ ~                 * ~ 
*  * ~            R     >* 9 
 AY F* 9* <* L+*  Y* ~  ZW+ç +ÿ  " 5 :            R     >* 9 
 AY F* 9* <* L+*  Y  ZW+ç +ÿ* ?  " 1 6                 * * ?* # J                 * * ?* # J                 *       $ %          	* #'        M          * #        +          *' 3*) 6* ?            ~     j Y M,* 3 ,* 6 * N-*  66 *   :+, -ç -ÿ 
+, *  *+    M R             
    k Y L Y     M+* 3 +* 6 * N-*  66 *   :,+ -ç -ÿ,  3 a f                                  	*+ ʵ α                 *  
* յ * ΰ            c     W* M, *  
* յ * , >* , 6* O 6* R 6+* ldld, W            g     [* L+  Y *  
* յ * + =* + >* O 6* R 6 Yldld             2 	 	   & Y''c ))c                                                                                                                                                                                                                                                                                                                                                                                                                           acm/graphics/GPoint.class                                                                           000644  000766  000024  00000002674 11166064600 016133  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - W <clinit> ()V <init> (DD)V   acm/graphics/GPoint 
   Code   java/lang/Object 
  
 xc D  	   yc  	   (Lacm/graphics/GPoint;)V (Ljava/awt/Point;)V x I   java/awt/Point 	   y  	   getX ()D getY setLocation # 
  $ getLocation ()Lacm/graphics/GPoint; 	translate toPoint ()Ljava/awt/Point; round (D)J + , java/lang/Math .
 / - (II)V  1
  2 hashCode ()I java/lang/Float 6 (F)V  8
 7 9 4 5
 7 ; equals (Ljava/lang/Object;)Z toString ()Ljava/lang/String; java/lang/StringBuffer A ( C (Ljava/lang/String;)V  E
 B F append (F)Ljava/lang/StringBuffer; H I
 B J ,  L ,(Ljava/lang/String;)Ljava/lang/StringBuffer; H N
 B O ) Q ? @
 B S 
SourceFile GPoint.java !                     	        *          	        * 
*' *)          	        
*+ +           	        *+ +          !  	        *       " !  	        *       #   	        *' *)       #   	        
*+ +  %      & '  	         Y* *        (   	   !     *Y 'c *Y )c       ) *  	   $      Y*  0*  0 3      4 5  	   ,       7Y*  : < 7Y*  : <      = >  	   <     0+  + M* ,  * ,         ? @  	   3     ' BYD G*  KM P*  KR P T      U    V                                                                    acm/graphics/GPolygon.class                                                                         000644  000766  000024  00000011335 11166064600 016463  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - <clinit> ()V <init> (DD)V   acm/graphics/GPolygon 
   Code   acm/graphics/GObject 
  
 clear  
   java/lang/Object 
  
 lock Ljava/lang/Object;  	   setLocation  
   ([Lacm/graphics/GPoint;)V 
vertexList Ljava/util/ArrayList;  	   acm/graphics/GPoint   getX ()D " #
 ! $ getY & #
 ! '
 !  add (Ljava/lang/Object;)Z * + java/util/ArrayList -
 . , markAsComplete 0 
  1 rotation D 3 4	  5 xScale 7 4	  8 yScale : 4	  ; 	addVertex complete Z > ?	  @ acm/util/ErrorException B FYou can't add vertices to a GPolygon that has been marked as complete. D (Ljava/lang/String;)V  F
 C G cx I 4	  J cy L 4	  M addEdge CYou can't add edges to a GPolygon that has been marked as complete. P addPolarEdge 
cosDegrees (D)D S T acm/graphics/GMath V
 W U 
sinDegrees Y T
 W Z addArc (DDDD)V@       @v
=p@v     v
=pv      max (DD)D h i java/lang/Math k
 l j atan2 n i
 l o abs q T
 l r 	toRadians t T
 W u cos w T
 l x sin z T
 l { = 
  } getCurrentPoint ()Lacm/graphics/GPoint; isEmpty ()Z  
 .  scale repaint  
   (D)V  
   rotate 	setFilled (Z)V isFilled  ?	   setFillColor (Ljava/awt/Color;)V 	fillColor Ljava/awt/Color;  	   getFillColor ()Ljava/awt/Color; getColor  
   	getBounds ()Lacm/graphics/GRectangle; size ()I  
 .  acm/graphics/GRectangle 
  

  $
  ' get (I)Ljava/lang/Object;  
 .  min  i
 l   ]
   contains (DD)Z 
getPolygon ()Ljava/awt/Polygon;  
   round (D)I  
 W  (II)Z   java/awt/Polygon 
   paint (Ljava/awt/Graphics;)V  
    
   setColor   java/awt/Graphics 
   xpoints [I  	   ypoints  	   npoints I  	   fillPolygon ([I[II)V  
   drawPolygon  
   recenter 	translate  
 !  
cacheValid  ?	   clone ()Ljava/lang/Object; java/lang/Exception   
   copyVertexList  
   Impossible exception 
   poly Ljava/awt/Polygon;  	  
  
 addPoint (II)V  
   <You can't clear a GPolygon that has been marked as complete. 
 . 
 EPSILON>h 
ConstantValue 
SourceFile acm/graphics/GFillable acm/graphics/GScalable 
GPolygon.java !    
   4        I 4    L 4    7 4    : 4    3 4          ?    > ?               ?             	        *          	   &     * 
* * Y  *')          	   }     i* 
* * M,6 #*  !Y+2 %+2 ( ) /W+,ç ,ÿ* 2* 6* 9* <* Y  *    < A      =   	   T     @* A 
 CYE H* :*  !Y') ) /W*' K*) Nç ÿ   5 ;      O   	   d     P* A 
 CYQ H* :*Y K'c K*Y N)c N*  !Y* K* N ) /Wç ÿ   E K      R   	   n     Z* A 
 CYQ H* :*Y K') Xkc K*Y N') [kg N*  !Y* K* N ) /Wç ÿ   O U      \ ]  	        * A 
 CYQ H* :		)'o9' ^o9
) ^o9* K
 Xkg9* N [kc9 `  b9 d  f9') m p9 s vo6 vo9 v96 2c9
 ykc9
 |kkg9* ~	ç 	ÿ             	   *     *     !Y* K* N )         	   %     *Y 9'k 9*Y <)k <*          	        *''          	        *Y 6'c 6*          	        
* *          	        *          	        
*+ *          	        *  
*  *          	       *  <  Y I999* :

* 9* 9* 6 [9* 6 X966 *   !:* 9 %k (kckc9* < (k %kgkc9 I9996 %( I m9 9 m9*  t
ç 
ÿ Y((gg   (           	        * ' )           	   T     H*   * M* Ù #+* Ŷ +, , , ն +*  +, , , ն ܱ         	        HJ996	6
 e* 
  !:	 # %H %J (9 (96	 /' % H) % mJ ( 9 % m9

*  ')c ^o9c ^o9
6 *   !:w
w *  *          	   -     * L+  +W CY H             	        
* *          	    
    *  * * M,* 9* 9* 6 [9* 6 X9
* Y  6 [*   !:
* 9

 %k
 (kckc9* <

 (k
 %kgkc9*    *  * * L +,ÿ:,é          0   	        * A         	   G     ;* A 
 CY H* .Y  * K* N* 6* 9* <*          	   :     . .Y L= +*   /W*  *+                                                                                                                                                                                                                                                                                                             acm/graphics/GRect.class                                                                            000644  000766  000024  00000004113 11166064600 015725  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (DD)V (DDDD)V   acm/graphics/GRect 
   Code   acm/graphics/GObject 
 
  
frameWidth D  	   frameHeight  	   setLocation  
 
  paint (Ljava/awt/Graphics;)V getAWTBounds ()Ljava/awt/Rectangle;  
   isFilled ()Z   
  ! getFillColor ()Ljava/awt/Color; # $
  % setColor (Ljava/awt/Color;)V ' ( java/awt/Graphics *
 + ) x I - . java/awt/Rectangle 0	 1 / y 3 .	 1 4 width 6 .	 1 7 height 9 .	 1 : fillRect (IIII)V < =
 + > getColor @ $
 
 A drawRect C =
 + D 	setFilled (Z)V Z  H	  I repaint K 
 
 L setFillColor 	fillColor Ljava/awt/Color; O P	  Q setSize (Lacm/graphics/GDimension;)V getWidth ()D U V acm/graphics/GDimension X
 Y W 	getHeight [ V
 Y \ S 
  ^ getSize ()Lacm/graphics/GDimension;  
 Y b 	setBounds (Lacm/graphics/GRectangle;)V getX f V acm/graphics/GRectangle h
 i g getY k V
 i l
 i W
 i \ d 
  p 	getBounds ()Lacm/graphics/GRectangle;
 
 g
 
 l
 i  scale (D)V w 
  y round (D)I { | acm/graphics/GMath ~
  }  =
 1  
SourceFile acm/graphics/GFillable  acm/graphics/GResizable  acm/graphics/GScalable  
GRect.java !  
                  H    O P        
    	    	*') 	         
   #  	   * * * *')          
   Q     E* M* " '+* & ,+, 2, 5, 8, ; ?+* B ,+, 2, 5, 8, ; E      F G  
        
* J* M          
        * J      N (  
        
*+ R* M      # $  
        * R 
* B * R      S   
        *' *) * M      S T  
        
*+ Z+ ] _      ` a  
         YY* *  c      d   
     	   * * *')       d e  
   ! 	    *+ j+ m+ n+ o q      r s  
   (      iY* t* u* c* c v      U V  
        *       [ V  
        *       w   
   %     *Y 'k *Y )k * M      w x  
        *'' z         
   0     $ 1Y* t * u *  *                                                                                                                                                                                                                                                                                                                                                                                                                                                                  acm/graphics/GRectangle.class                                                                       000644  000766  000024  00000007074 11166064600 016745  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (DDDD)V   acm/graphics/GRectangle 
   Code   java/lang/Object 
  
 xc D  	   yc  	   myWidth  	   myHeight  	   (DD)V 1(Lacm/graphics/GPoint;Lacm/graphics/GDimension;)V getX ()D   acm/graphics/GPoint  
 !  getY # 
 ! $ getWidth &  acm/graphics/GDimension (
 ) ' 	getHeight + 
 ) , (Lacm/graphics/GPoint;)V (Lacm/graphics/GDimension;)V (Lacm/graphics/GRectangle;)V 	setBounds 1 
  2 	getBounds ()Lacm/graphics/GRectangle;  0
  6 setLocation 8 
  9 getLocation ()Lacm/graphics/GPoint;  
 ! = 	translate setSize @ 
  A getSize ()Lacm/graphics/GDimension;
 ) = grow@        isEmpty ()Z contains (DD)Z (Lacm/graphics/GPoint;)Z K L
  N 
intersects (Lacm/graphics/GRectangle;)Z intersection 4(Lacm/graphics/GRectangle;)Lacm/graphics/GRectangle; max (DD)D T U java/lang/Math W
 X V min Z U
 X [ union I J
  ^ add 1 0
  a toRectangle ()Ljava/awt/Rectangle; java/awt/Rectangle e round (D)J g h
 X i (IIII)V  k
 f l hashCode ()I java/lang/Float p (F)V  r
 q s n o
 q u equals (Ljava/lang/Object;)Z toString ()Ljava/lang/String; java/lang/StringBuffer { [ } (Ljava/lang/String;)V  
 |  append (F)Ljava/lang/StringBuffer;  
 |  ,   ,(Ljava/lang/String;)Ljava/lang/StringBuffer;  
 |  x  ]  y z
 |  
SourceFile GRectangle.java !                          #     	    	    	*          	   '  	   * 
*' *) * *          	    	    	*')          	   ! 	    *+ "+ %, *, -        .  	    	    *+ "+ %        /  	    	    *+ *+ -        0  	   ! 	    *+ + + +           	        *       #   	        *       &   	        *       +   	        *       1   	   #  	   *' *) * *       1   	   ! 	    *+ "+ %, *, - 3      1 0  	   ! 	    *+ + + +  3      4 5  	        	 Y* 7      8   	        *' *)       8 .  	        
*+ "+ % :      ; <  	         !Y* *  >      ?   	   !     *Y 'c *Y )c       @   	        *' *)       @ /  	        
*+ *+ - B      C D  	         )Y* *  E      F   	   =     1*Y 'g *Y )g *Y  G'kc *Y  G)kc       I J  	   $     *  *         K L  	   @     4'*  ()*  '* * c )* * c        K M  	        
*+ "+ % O      P Q  	   Z     N* + + c * + + c + * * c + * * c       R S  	   g  
   [* +  YI* +  Y9* * c+ + c \9* * c+ + c \9 Y((gg       ] S  	     
   {* _  Y+ 7+ _  Y* 7* +  \I* +  \9* * c+ + c Y9* * c+ + c Y9 Y((gg       ` 0  	        v+ _ * _ 	*+ b* * c+ + c YI* * c+ + c Y9*+ *  \ *+ *  \ *(* g ** g       `   	   c 	 	   W* _ *') 3'* c' Y9)* c) Y9*'*  \ *)*  \ ** g ** g       c d  	   4     ( fY*  j*  j*  j*  j m      n o  	   L     @ qY*  t v qY*  t v qY*  t v qY*  t v      w x  	   \     P+  + M* ,  * ,  * ,  * ,        y z  	   M     A |Y~ *   *   *   *                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  acm/graphics/GResizable.class                                                                       000644  000766  000024  00000000411 11166064600 016745  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V setSize (DD)V (Lacm/graphics/GDimension;)V 	setBounds (DDDD)V (Lacm/graphics/GRectangle;)V 
SourceFile acm/graphics/GResizable 
 java/lang/Object  GResizable.java  
                       	                                                                                                                                                                                                                                                           acm/graphics/GRoundRect.class                                                                       000644  000766  000024  00000002720 11166064600 016737  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - m <clinit> ()V DEFAULT_ARC D@$       <init> (DD)V (DDDDD)V  	 acm/graphics/GRoundRect 
  
 Code (DDDD)V 	(DDDDDD)V  
     acm/graphics/GRect 
   aWidth  	   aHeight  	   acm/graphics/ArcRenderer  (Lacm/graphics/GObject;)V  
    renderer Lacm/graphics/ArcRenderer; " #	  $ getArcWidth ()D getArcHeight paint (Ljava/awt/Graphics;)V getComponent ()Ljava/awt/Component; + , acm/graphics/GObject .
 / - acm/graphics/GCanvas 1 getNativeArcFlag ()Z 3 4
 2 5 draw 7 *
  8 getAWTBounds ()Ljava/awt/Rectangle; : ;
  < round (D)I > ? acm/graphics/GMath A
 B @ isFilled D 4
  E getFillColor ()Ljava/awt/Color; G H
  I setColor (Ljava/awt/Color;)V K L java/awt/Graphics N
 O M x I Q R java/awt/Rectangle T	 U S y W R	 U X width Z R	 U [ height ] R	 U ^ 
fillRoundRect 	(IIIIII)V ` a
 O b getColor d H
 / e 
drawRoundRect g a
 O h 
ConstantValue 
SourceFile GRoundRect.java !          j                " #                *')  
              	   *')  
       	      
    *')		             / 	 
   #*') *	 * * Y* ! %      & '          *       ( '          *       ) *          * 0M, 2 , 2 6 * %+ 9 a* =N*  C6*  C6* F ++* J P+- V- Y- \- _ c+* f P+- V- Y- \- _ i      k    l                                                acm/graphics/GScalable.class                                                                        000644  000766  000024  00000000250 11166064600 016534  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V scale (DD)V (D)V 
SourceFile acm/graphics/GScalable  java/lang/Object 	 GScalable.java  
                                                                                                                                                                                                                                                                                                                                                                           acm/graphics/GTurtle.class                                                                          000644  000766  000024  00000347075 11166064600 016330  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -
 <clinit> ()V java/awt/Image  turtleImage [Ljava/awt/Image;   acm/graphics/GTurtle 	 	  java/lang/String  P47494638396144004400D50000FFFFFF989800111111222222003232666600659800639696999999 
 P99993396966399CC00636496323200336600CCCC98FFFF996699336496639898CC33333330633030  P306330636398CC98CCCC0099CB3399CC66CCCCCCFFCBFF66CB33CBCB33CCCC66FFFF33FFFF654444  P44636330DDDDDDFFFFCB100000001000777777888888AAAAAABBBBBB555555666666000010000022  P000032000044EE0000002200003200000000C30000C30000C30000C30000C30000C30000C30000C3  P0000C3000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A9F50  P26C5A548143E9F42A311DD4AAA8D07686B8B3A6DB66D438B22A9B7A40269FE5E6F296A371A6D2EDA  P1008247B693614786B0956050101200958201F22108F8C8C1F018A115A700D3604147D46680D8788  P05090D018B979699AB8C19AC8B725B3114853624098D201B05654B6120060FB978B8C877CA9ECD84  P0D28692428052E9E36167CA2DBDC42368B0FE1DADDE4E5E6E7E84B85B8DB36E20D35E94286355B2E  PB8681687EBEB142486A5F00822344EDE214369E4CC51B0A68001588958F16AE02001094673FA15E4 ! PD62086344F78221628902141B84C1052524A04E20104478C12A9C9B58684015E1F1E2850106C490D # PFF2D5340D6C933D2D2485546676542B18C10471B1830F44C32C8068CAB5607791C54C3860B182E48 % PB46C29559ED9B368D3AA5D6B161781B4261AEC04616DEA93060850396A26CFAB1B031515180051B5 ' P30D73D734884F574164D0D17D86C7834B46F269966FBD294BA865617B26761B514CD34D2CA2A1215 ) PB658D4437963943D44345B7BA3C5C1482C3131BD5AC50A16273203B9E90204D9CDA1A2A978997C90 + P008402959112B914016251751723073598C392611F819A6B6E19193DC007102941C03409E1BCDEDF - P7812EACD0941DCEB349FE1A4DAEEDB34AAFF123D74071A75D9D5852373DC4306324C0D751453BF35 / P68077EF8B0C31102835D634807F818A6FF86294C31151E415EE9734E2E691532472F2D3D00035B30 1 PC628E38C34D668E38D38E6A8E38E333650C103A1A8E589020800294A032054649F596834A241001A 3 P7C104F172EB8D05C010A2C898E5C0A6C9080061BE464A0120D545926960C7565D66617B810432983 5 PE0A26140FC1416DF98E614E2020393DD22E77682DCD10C6D025DE31A3AB98477591A12DAF19B509A 7 PB9C15963F85936DE8A015CC44B6905540021196820C405A203D5818A0271ACE1DB68A824609B2597 9 PC16901A27436B80B43B06492812BB9FAC68802BFC1260A369095B187862389561A7A38A987852CE6 ; PF1028B1D9759D887570848A0182983A2E2062BE831128E4BED3DF21C0801409BFFE982C7C2E3C994 = P67F858AC036AC8818AAA01A4B4AB4B26982042262DF9AB1BBA6FE0A300060AA897C04E7852A59929 ? P47D99B6F161F34A712C0CFFDCBD2519625ACF0C23BC1EBC49D85A896CA6D582C0249CA9754CC2B27 A P68C06041048AF082AA20F7691629091100ABCA22CA25421AD0406FA7051A196555D813921D24CD9F C PF55EA41B2D9B320234697A90722814362C4C4795485B0AA80374AC1101CFDF729775850D338DAE15 E P36B4592C62F8E4F18C40920E182A3FE4D4C05C230D1050419555C627AA9C07C9F90F19B6226DAD70 G P558C21AC1F7BE0D3952E9EA5562C059707A5183C0F1FE94EDBDDE82917CD1180DACE8B29E2358B53 I P3C9209C320B1D76E07FBEDB8E77E56100021FF0B4D414347436F6E20040310390000000157726974 K P74656E20627920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D6179 M 2032352C2031393938003B O 	TURTLE_00 [Ljava/lang/String; Q R	 	 S P000032000044EE000000220000320000000078000078000078000078000078000078000078000078 U P000078000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A871C W P15EAF2AC1639A39142451A55152357C35548911A366B95C21EC16C9498804D69A0EDF6023EEFA0D1 Y P1A7A0D27730D033631136A4A08761402367F80760E05092220011F1F202222091F01190A1020A005 [ P2005628D36362412060999200A0A354D2C2A1C0D31368D78056780059A1F05A1190101B105C609CD ] PCC76AC272736298A45287A1467238F03767E76277B82D3D37B2728E3D4362314232D0D3524F4696A _ P2A0D121815D6D7FEFF00030A1C48B0A0120505227C2A7082820A831D5C6851904083860F1A22A460 a PC5D186804674F6D43933084D358842586C1C5747D01812818CC964962C19CD9B7B7A391A8180C390 c PFF142C9AD8B090C2A4B471BD00296B402219080821323C85402AC127109C3E58D59AF3458C91B112 e P90A87042D1461BEBC6D98109A829A800D09219D0034C924E01020C095440028481072708D47041D8 g P5147568620BD786183718AC748588C6860A692581227516ADECCB9B3E7CF4CCC48E8650B7494A05F i PC29070062281A07E10539CD210404381D247549E3D2CCD246C8329B651A8500186510B2D1B7C2C24 k PA857D28677989A7C94ABE046140304A825B776E64CB8F428D5AC57E7913D827696E3A1879066820C m PC86ADACC549319343BD959ADB57AF97C1216A875C0025ACAC1218C33C604F094535491A2D5070F98 o P20C25B5691338D65C46075C66F46A4D0FF420B292010DC7679C0649F8222C0B509555825A8492C70 q P81374D3D3630C0E1352D21660782269E58DF8934D5D44721780D4041411C0CD20B09149058A2036C s PA12009776B8D308D23372AC2C507F4B8D3820B144863647A8524B58794358CC18A0028D850830D2D u PBCA380421AD0F30005013A51C3031114B36696020215500344097A0D0770F807DAA28C36EAE8A390 w P462AE9A49406A400057756EA440311607567759A1EC1174556817027A004A520400B233C54C51912 y P20448202F21CB9D9A820C886C2131234D40A9393D990A741ED28A3093023A0A65B986B7AE4C8206A { PA1C511AA008D4A4204942450810368E035CD0086D4F10D77FA3530996F103540FF410D7580E9D123 } PE84443A52F78AC6918B56AD860E405792D96D676CCD0639F7D15E4816039EA866B1D81F3E691205C  P411AD3800362258350BD98290A50511F852948257CE961408CF225F8B07D545223000935D4700209  P29F864C53B576AD79658347D101F313ACB07DF7C0104D3912B0A6095C02C0A68AC440A2C9D9B8730  PCAB4A689A7543DF80004131A83091EBE327555A9A6C29C042B1404D7C15163022296520A3E70F453  P2648F8E0531326A35520E29C50C1C015454099123688181C092ED8BC074E4E3D00CA8A55478DF55B  PF5D9F195472F18F5D8B091B1DA40051E37E7705BC36815CA07971C9B60060932A5072B62C0319047  PF2E2516190762763BE954D3E422CCE23D3E05B850AE71C4E4F0474DD943BC410AF9E68A20BEB5426  P393EC6140109DC4AC935D9FA1A82B92271D4116C72B11F9E37390CD7FBCE000808A1820208A4AF06  P0BABD1D3451DD44CD3CB08D951498121CC99D9261C85A387A9EA94B17B9000140968081BD4B54038  P18821A76A8817630430201B88C17D510942346123AB1F4CE0A7B8A0508D2C1860E944D836CE80805  P18C08027E06232C0A04709ADC00505700966BEA354141A72A9503D61283E0CA2108748C421060100  P21FF0B4D414347436F6E2004031039000000015772697474656E20627920474946436F6E76657274  D657220322E342E33206F66204D6F6E6461792C204D61792032352C2031393938003B  	TURTLE_01  R	 	  P000032000044EE0000002200003200000000DEAB00DE0000DE0000DE0000DE0000DE0000DE0000DE  P0000DE000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C365D92  P1449E2AC5A9D0AD7A841228D6CB6D4D58A6829129A48244172D85E8286DC3697DB1B854285D64814  P0272277127843614452C122C63422914740D71725D24790119010109202022201FA01F0F10221F99  P0909770D821411240901240D614B292F0323278F02607779957979A07E011F98A7C17FB09A36BA60  P032D8B8C49BD140D1427AAAA2474DD7627036028601286235DCB090F2487571C29201A1A09348608  PD3F8F9FAFBFCFDFEFF5D0A7C28A04056BB7F45B8814821471A111629C0F0A260CD4EB86C5C66D9E0  PD5C0213F041406506000231C0C6D052A650A106C65A63F2C8345283087970D121836C042A5008402  PFF1B64E450B4930CA628109B4641800042D30710104CADCCA3D1C5AC7D143878693607639F02AE68  PB27C19CC409706282C9E6047670405170A2ADC2C97C263951A29BD6C69106E235F8A60BAA17841B8  P2EC226B32A3CB061F7B0E3C790F571887CD8C6064E0AB029A0AC8F4405096CCE1E8CCC424548154D  P1C8DEB05E644E0308DFB358D37905B0747AF05885C556756C54060863E7AE1CF86D50A2E44BE19A0  PDB4E5A2E9560FDC9E3A700B1587720B9E6C325C107050ABE5479848263F67334F118B0B43241863F  P984CBDCF242B50B8060A407D422A4B4C1586AC4D4215759F18F380529F780755299A6C925E03B76C  PF48205B159D11A384469824726103C80FFCA53A47C02D325CAA4E79A4D8C3142810A2DA490820A29  P7C818203B3C841958D236A32D67431E54553338F3C02D43FD61812881DF515250B0DDCD9D18C0D28  P6403460B149110C1066A90F0C04FD36875CD2CBC1894D62E77FCB6D60035D860817F882CC2100C86  P31C242034DF921000AB8B8909C214106C7266748D49042042074F127A0FA94A626A28C36EAE8A390  P462AE93E201130D9A45668B5C14D4362CA84561FB29199A74B8C90022A9B3880C2A1A40EC1410315  P90E042015274D4280B152251CF93521A02280B24ACA080004AB0206438CD7D33C01C86B0CA8F560A  PC8F38103241011915F148DB0D71DAE4D328B48BC8C70293F360CC0522820B8B2FFD120155504094A  P19757B0D18B992418202331950035FCF2C7B245138B25181030EC094D28374847300050828B02F25  PCE22C18E4521C52000057140A25251A700E2404C2C692324749C6C02DE674E94FB56B2DAE0C1A326  P3CB287CC1FB2D024081D60698014548576CA040BBD7C59E32BC02813DF25C6ACD489297F98F24D8D  PC92848C2095740940B515D28E0F253A684B25454A83C6002830D22FCC62373C479850D5B84644393  P2E67B2F426509900B6C9108430D054720C208BAFFB40F2C8B2D46DA8C952987CBDD432A08C058841  PACD1320644B842C495942E5BB761069C64F294278DCBACC97A1619E2B3852E20C08EAC71D078871F  P9917980926A8BC6CC230208484A4DB6855A790CD0815A08D121B6235B063327C9B5D08C66C16E402  P3E1059E3DABB94D094924B38B69C9D0D2D8C306B4F05E912716A8109F52ED604A7E78DD072EC8A02  P05DAE26740824FD6BB04365CA9829157BC5D7342935F308434AC061DEBB0657C4A28D735BAE78267  P4CCF0E71C0861CC2151804126133F960C1192831800B740F63454291006C42A148D9A0291B20C1C5  P2A9082150C406DB721150714E31D8DA4A8554850C12B362001DEE1F0085AC198002CF8C3221AF188  PFE08020021FF0B4D414347436F6E2004031039000000015772697474656E20627920474946436F6E  L76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C2031393938003B  	TURTLE_02  R	 	  P000032000044EE000000220000320000000022AB0022000022000022000022000022000022000022  P000022000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C223995  P548396E238AF5827A7E52291280D9B384B162A6CA054A1401AA6C4B6810D7CB235EE8D4285960FF8  P4905780D27246176120A1F011F0A200F24364D1C14940C313103772877236B8106011901091F2022  P1FA809090F262209A3A46B770385362965462D279C717705AA7D09A6AFA88AA301BFC80501240986  P620314912C738F622C572C292C1C2A14996177768278857876D19B603616D8B8D9CD5E0D0328142D  P2DD1EEEFFB4C1C1C2323D8F11B48B0A0412C1CD47C280082048D480709BE1120E0049875BB1A90A8  P4369C08017108D48E086250505051A12188840428E8D18784E6C5A4342D9323FCA7026B81948DC20  PFF3BBF9641BA45C664343C6CE43958564A110810104C4038F56A518635C802DCD925604EC82CD4BA  P8A1110D05C0301BECCCACAAA2C4F843BB5EAA0B0215700178D581F9CA1C06FC480AE720AC9014717  P8E8D17ED225E69A02081864214F4299E4CB9F21515562C47B4B12102880223CE681ED8C045E3040A  P068DDEC7A282981375A0897BDD66320B172D462038C2425A344A787C0B3217675D401B2A5C74D108  P42817312159C3C60A8C1294BD98332E6F1B52CE9D29C9E7A1A66FEF4832A679291A44E017D0405BF  P31E66867D3DD4FD5AA37458030A64AD6BCC32F7C145919D4D8501139BBFC024801C590F2D4035329  P228C0211FAD1DD33BBF045DA1DD26CB2FF9D277E4025C228A544A8085638D9379747D17CD5C16E65  P48534738793443D32FA8D86753556669E2402D68790142029E81B04E7A45B0F0020229A8200102B9 P8D0386203BB1546377C49DC549187574750B366F2840412144F1238D1D1765A4269AC111224699AB PA500D37B0035701C6186D9B2DA1227BCF25803F5C0B8272E5E908081688326AAE8A28C36EAE8A346 PFC43810B4842AA84028890F0801D955A4A040743AAF2DC089D7ADA01095D244002085394EA290770 P79A18B0DAE5ADA808C623C3307057042DA1B1CE4D8F9538B36B430016508B858C444BB0A92494670	 PA075AB189410A100215ED8B042ADCBA6B002244648831625D00AC287AAC89030FFC239D0DAD14C79 P7A89D96B122928B041001ADCC14281684E394E4F4955B0544D1692439118CE1920CC2A10A83BEF11
 P1478A2C1060A1810C6511B9553537F5981689350FEC98197274F85C1EDA40ABC55004CD41E350E20 PF685871583A48812A256E4B05381467364F15E03359C65200CDA7137738AA888920185229CE2C742 P3D35F002051CBD830F250109B24BBD0B22FD41D3119202210427E267880B613C9C4D8119FE2BCF1A PC2EC9781235199605EDC0F9857F06C5D35A0B6CF59C386541E37399240061F40A0380443A6B8934A P0538C0E1582A0CC482B4DF70074C320140F0C0D3A68090C12BE15918089A714C3D446ABC726BC438 P2778A479E9398602CC4B77B89B655118235860C1080E34E285022E68B804981DBCC6613951A3D831 PEE069020391F39DB8575C5FB25A56C1114C4D0027B15A07AA0E48204A56A2005646073B0456B6243 P051408100D096A144089EB29A480807630D06567AEC3411F4DB6C325916DA2055E1A0D0206A09DBF P8C235810FCDF8006552008AAE328223384EA1885B616D8492CB9FAC699BC422B478121292E18016E P6EE50239F02A32C67BD49840308AD811200AFE30156F5052C337E9100912A800F626F84324B0A00E! P0378C3DF8A48842532D15241000021FF0B4D414347436F6E2004031039000000015772697474656E# P20627920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D6179203235% 2C2031393938003B' 	TURTLE_03) R	 	* P000032000044EE000000220000320000000018AB0018000018000018000018000018000018000018, P000018000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C125D14. P4583C6E238AFD82BA7511991280D9B9842A6A814CB6A164BB10DC88D70BCE0A8340A8580BE70E7C70 P6D6D270D2478790D146C0D098B0E0D03636F71837801947A1F1F099909200F1010987B950D026E022 P6F6B472C2D24823628927D797A0F201F0198B78B099501B1BF80508384015F884D29362D62232EA54 P36248EB10524D592D1BF92A52CA9DD43168723642D2D6F2E80DEE94E242924180F64EAF2F3F4F5476 P1C0ABB8B35C7F6F66D6EFED89074C28D200A05473C42018B04275C0A6AB1BBC262848214091C90E88 PC0C28680820304C521C46B56C90009326408B01253023F61DE88E1966AC4A11A0C46BCC8E6504121: PFF10223E64F8A00082894F1078E959CAB4C1090A8F1E8DE820A18102290AA064011367C0A33E0EE7< P14CA336B541CAE609E51A0E9AF0807310329608B83E284CD678F6CA4689B4551A60705E0F21D4CB8> PB05BC36D2382006195840DB688536D71F15241B47E915349816BA320578F50C5BCD84B84C5201057@ P2D57E0DB51001C495CA945B326091A4012963FD8BAB5A10066261C28A4180099054001AEE7CCA994B P8084835985F4CC1569C302F2C7A95228D0902B4204375C1BC032894729CB59202004D5F37054E765D PE8B204BF48A202390A02628C148BC7C0524C9DA8A7CB620F64924749B5C1C5D61623B00059120085F PF715352F3D97876E20B4B41804B69414FF5D317C0012C608AC9000C2222014A300764DAC721618B1H P2DC2C72CB9B0F71225CE0D12464153A0F0580A66D8C0410A1C58919D18228131C01C0E15D0DC4864J P11F207057571519D3FCAA4D04E0A71C03090535FF2F8476D8E7C69C30B16648644326DE01590479CL P3DA866690E58160D332D0060E49C5A90F08026099C20279F585831240BA411AAE8A28C36EA680723N P10C0D1A3575453CD8A0D0C4A29113678879A14536D9A043B95DD292A125B48E05335339D6A04072DP P8C30028F487226860A0C20C1950BE72056019224D8B41F6887E4158F0B080C82226A20C4D3967162R PBCC18748C00830A64056E9D3C965FEB4F6542C82D070875261C502A718052860FF202787689AC45BT P7B12D146195F4A8247050E3870A321B2E1E1541B714460CD6F4EE825C56A427474C2094B3A75821FV PBD9065094A78DCF24B411EBDE0EE1283DC424D14D10E22EC30638952C02DBA8582D24BB17811DF1AX P2638A9C906CD891143BD2389629E501968929E0927BEE461189D0D9428162D6817816F6FC0508A1CZ PD3F8A7A1089F04E5735199ECE1C74051B57018130A0CD0C25930BCB093784EB960D91DB864A29B27\ P46D9F29F4A07B20CDA297A256CD5232F30010505FCE0CCA47315039532DC1C82309625D4105D4A19^ P1438F0A789771EAD0AB4624C834D749CA88752CAB7885249E38788EC9123B845A00B3C042B311020` PAFF4B14834BCF40CC24A25BA1CA887C0B0C441434105A1E01A05B2525080C66B94731672FCED7B72b PE8A3FBEBEF5C7130CC623D1D75462D7FD334C0D24AD80CC4A3B80DC4D0BA3C6BC13E17CE2F85450Dd P358DC81149056D582E4F0A68AA9042D20838136667D908E021424301E4B1661CCBC08783C080B3AFf P38E510C9094918D0D4A8EC894958000C8D8228158D1650606C445B1220D6B2B139E1671850100739h P0450C245B180049B981501C8102F5771840229AA44AB6C58840AE08613A8E0A11158B0B0111A5088j P8E0A020021FF0B4D414347436F6E2004031039000000015772697474656E20627920474946436F6El 	TURTLE_04n R	 	o P000032000044EE0000002200003200000000B70000B70000B70000B70000B70000B70000B70000B7q P0000B7000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C762E1Cs P96734AAD0A152D498A446AD8BE6030652025561A89CF07047A90525627C546A134EE785AA3400AF8u P0B05115C7877272F5F7071422E0A2909050D297336772494807E7E097E6A6A09096D20101F9B019Bw P053427021402032F70151420240A0A5E65470A7403352E2394840D248F7B99A20F9B6A9A01057E11y P78C00D0336B88A4873787627767705095C5DC17776362F16D6E8442A0D14232DEC03032DD4E9F54A{ P0DB506201275F6FEFF00ADA4D8100104A85B01137640F1E5CE08425F4ED81870C7C6094B5F481450} P40AA19090A015980894708932966DE028050666A25332F0DD92932D1AC8006071507AC3AD10D50B3 PFF00A4D43C8000C10451833E7D06E05280120989ED620853A1114635272C469C18806D0FA6474951 P32CB54B1228D313614B26A41224B8A163180456397E7A2B430571536A9306C980D02040624D24BB8 PB0E1C38A5C5852F0B11F62744CBFD93A9177090570B62A18B6E5A28144895C61D6616751950D86B4 P3EA521A5E1046191132940C2C307D0A060BB8009B254D9DE9CD1C1F84428E02093B7660635E27931 PE2293D6B2E5A902142E1C4369E9592D61CABF2810911204CFD9C4DE7CB2A225CBEBCE8DD81032D0D P1F348030508E62759E1A7F66000A2204510822A8564A069B9C62897594B46081621180A292022021 PA102235D3CD40A30A9A0C11833A07C10FFA01FE01D655C4D849C21910D34D8A0C208834DC1011802 PC4149C721AEDD78926C74102884376FC122140226543474F6075B3873080E0548044D03CF75A0A02 P08601D0D5DF044913839B173E239868D3142752D7040C43C1611424E455FB0D0E2634958C00E1703 P8C30800B2520C0A6152C70115E005EFC78A722F781C1DE9F84166AE8A18826AA440B9779C185A24D P34B0011BF85802E9122A80E00D09202044050B2C3422C9616F38B2D12FD448012A07628A69849EB5 PD46229611C34504173E49409DA34608CDA99300699F20063AE1536428C4C5682911D7594E9994524 P6C60C01AA474EA67422CA478A58C783C44C889653EF24901D786141B3457A6A4FF89573A7A41910D P028CF0C27A85CD314095D8155041050EE4A8D44B784C531D1DAF51A24D49803CC2DD1F9A1083C709 P2E40954E0AAE0E015B2B9E1D790AC33F7D00E0879FFC71D744515E4B01A84C8C30C2030DD050C61C P3C69D5537E0AA7B1DF270F0C25024B3B8EF3C53489A86C0B634E1A610347CCC83A51305C300CD41A P00BA040A1B1F64D08C6A4D91F6C2182914800C7CF8107C0407058000DF06107E310676841890894A P6D14350A296FFF64CAB3303DD49C0263255074116328B081BE318C119730F8D9028887CA7C30D47F P2BA9F6071F776C1BDB68291C5D3112BE6C718705305044DE1E5DF4DB8CE30F7CF0B44BE26542821E P65A1C0D0A04B7050C90705354C53394FB585E5471B1D01851220CF08F33022FEA420527514E9EED5 P375DF8B4DA58244273070A9E71195236BFA4EB136D3BBEAD114FDBF84C3B3A2F5ACF36E98F442088 P57E10473EC9A7A4D12CDFAB38963254F34A0A0FD6B9378C32F8EE799CF988924F04A936132670104 PA4400529E0910B02D5A380ED22460A7C0CFDA8639E8984811C28BBD410D8D1822FB5805113DCA0A2 P28F0023E0C221E14B093088D7099F0A00D26E753D40ABE968006E45051796A810224400B1BFC6F86 P465000070010428504010021FF0B4D414347436F6E2004031039000000015772697474656E206279 P20474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C2031 
393938003B 	TURTLE_05 R	 	 P000032000044EE00000022000032000000004FAB004F00004F00004F00004F00004F00004F00004F P00004F000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A9FD0 PE8B0A14A90488A91CD46A16CBF602EC1868D68409F04A8C19246B78D7843D0A0350AF840411FD017 PE47103240D36276D45081D876E1D5E360372577E097D1F9696091F209B1F197B0978245B5A5C2331 P2357820A4C0A7B05110E0D1430312771362D090A2478941F0F1010A01F01197E7F117F711571308B P8C482C2971142D02039077770524A0DD807236843629D04F14312D2A29230D1C442C5ED703140D23 P032D5DE6FB4E2C0A2011126050D0E519BF8308131EA1206A17961352182A98A8E00109830A8534B0 P76A2103838E2006DA120A010850A365E6434C2824BBD90DB0A50EA1540844D62A0F40C6A60ABE400 PFF2E1D38D40098C00A41251452A4F846E6911C5B78F2500AA0099889606870BAFA38871C341227BA PD47031828EAC7A8064EE8CEA6A4FB100BC60CEB1B01289BC1327ECF00C89CD56839FB67E72C158D7 P89B82B7109A0F05AB8B1E3C790997020C0A182BF77D0A4D920ACD09F830F3213D0B001A506894B09 P20EC32D498430B0988C7C5E9484F16DE708F42F7DA0C99C362BF70E2844A20FC8FB2D96020B7AC2D P074F05120EDCF631D627D3D62FD806949B42F00A6329291E318F13602A5BAA2080411041ACBC013C P8428FCECC29044C0F224283069816F11C9385A6CD3875B9AD8148C0899F471CC567FE9F5C50814B0 PC0D9115750A2411A5BD033805FE77D20FF4C796920080108D5B915811C28DCC21B23D54CD4C0050D PC0900D20DD18974725ECB5C7C71F8BDDF217690921100636B2C8C556730D0C12D54EB2CCF1025D90 P09D9911C2F8123D26C1BDA50D276CAB1D011092A54E008720052E3942C911DC125122ED823CB0502 PB4B0669A51308486011FF034219D4F88224E5273F229E8A084166AE8A1883606210962BA24050BCC PC41661632448B0891A75ECC952036980F00F08A234E64F511FEC62CF22D25CD1420B6DB4D1669220 P909A46044016A6800B297833CE16B4C93726051D89B34BACBDE8E718078C26C96B58836879C28C7F P7E215C048318FB18415B0C721B8DC709C7132427C05092B58FA5301A05DDCAA4FF6000714410C0AB PE1C4D02CB985A520005A68D571474E6C69028A48E2E0B5A2100A08E6CC3E5EB81949850D28980131 PED91EA8717039434AE101215F0C048D0D4530F54022AE8566AEB81F0F08071349B9D055CE41A2B31 P0F4CEA4686B61C768CC3E565921E081080B687019410F2AC386DBA50211E072F2161112D7DEB1709 PE5AD4B954D68E43C95D4A0D832EF08100AA2E9101C8CF0405EABB464164F345CE18A316AFC028109 P2688D0335B472619C7682828021E09206850C03FB4CE67E51E1990AA8B7AEBE998470329A2E05749 P5F2960890656CC77362A4A16A0898726537549D43F0F0296C7F79AC34203096C5040051096040E37 PD0DD9880080F104BCC5551F005C2570DF44A11B6A9358CC03270C2ADB56F019E5862CC8D3B75F4F1 P098132C2427E15D340474827A4B80D25A0D01D8A1EB1FCE1D709027CED461B2900C0D35973145723 PEAAFECC464BE3524ED987C4FCD38E31D4C86036EB082F2C2946281966CC8C56E8E000A9F944201B2 P04273E650AC7AEA2E7181BA02205EB6046845C5012713C220C5E305F4696438F141046051BC907D7 P1AE082DE256A082C80C41508310031BD3009D3284A004005C01B4663102F238ECC7C780405986617 PB0A1C00B4488280E38712541000021FF0B4D414347436F6E2004031039000000015772697474656E 	TURTLE_06 R	 	 P000032000044EE0000002200003200000000EEAB00EE0000EE0000EE0000EE0000EE0000EE0000EE P0000EE000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A8D9C P94AB814AB19ED861E35100750B34D59095B299CFA7C1C9DC2025120512C996AD0F3923DBA941D953 P1A09010582058501201F8585246B3614660336291D12242009890F747642297E0D0D05808A01011F PA71F6F9881A58624A0A08D149C1D2D292970230A0936318EB071A1050920200F0F228982A98A0D34 P28B10D79B4441CA014140323356A366A14027BC06E717072B00D2702DD029BD459650229081502B3	 P0867EB1423232D0D2A08DE0974C2818402040924381A7165A0C3870E397460C142818A864F580002 P1120C183001B1A608478A7810B12270534B0D1660E1A74A15682F2D66D921117652CD87CE7E80F4B
 PFF6124042D0B00418408441F4A9532508865BE06305A8C686085E71A99A15A15C860CA1884AF5F41 P707D3328429B99235E8CB4D32051020730B08583B5875C4C45A4400D2AE000D61F1A2F18904492E2 PD1D59FA022ED39910DD64F496B071F61412132111871DCBC5AB353B2E7CFA0437F4E615081E90773 P3EAB209142D7163E4FFE1834508C6C67C9C212B076C9A6279F743FDBB5636961C00BD15A5CE81187 P8E441C05A12214980213548B136B660D3128C7A5652C2CD8F0D953A1818302069406E05AEA4DA957 P7E0708284EE164044203BEC71EF087F9A056429D62CC034511D2CA2B2C3172C608B7D112DE2FA0C8 P0187521F800016040924A3082BE85CD5FF0E4F380DF1C8003039D7407A199C624A85A724D31121D2 PA153430D0DC23302080B9CA240248F9CD5866EE6FD1748862A1A22C866B04C331005DC55808D2FD7 PA804CC308114A25701D0F9180B768E7846191964F8F5488F0D9058DD96AF3C021972458427C0708E PA5F3879A666453A368E15980400A2B4566CD542E1060839362B0C9891C88AC32476586BEC3820A0A! P342AE9A494566AA91D145D9A85040D98A6C0032269CAC48F151663D69D031140410D8FCC81AA1108# P28304C2A2A82E0CE601C54908202209856030A6B6994420B311466C30828D8400206964C18EA6824% P44F086692B49A2A63DFC4502DF197A4550CFAB0E1DE482397DE83193378C75A8FF477F2FBC301C72' PAF94572D3A3F99080C4CBD2078C25A0A38498102660844829A08D6FB9F2059E1E5D819FC3134840D) P20340082411480DB440DDE8802531C7B25C01E261C59C9639D2FD880804198A4C29A40E0FC018C03+ P152490D57A482565882871249BCDB15275774E03029591EE94FF0969A1094531F322C23499D1820B- P2344F2504FFE09A5D458C41483087B0796E9580D994EDD8E1A27DC3C4C29154290A87A785939D34C/ P16C3E38D94331B9DB60948AB9D0A1C83C047C3625D42145E5D2740E31C7A5757A840586A7774B6C61 P7282721C357BF25903090FBA8CDD94A660980A57A8B067A5C666D0F0887E4EFCAB800654D26003B63 PE27067E02161A5A2DBD45EB17893CE0B712F81E829310A10C30B54A453CE95EA1D92D450CD006E415 PB8C34807B50D16D0A5975EBAE1DCB63090C342030C0F0DABC02B353CDD073AD0DC55081CA12410817 P59F4F2E18D0DA863AA429967B4EA0889105617CCDB7F8884197A3710E6A4E31A58E98F78A8B08E3A9 P518A32672041FA5662265820C827970A0F6B5C50329534620DEDE0437D1845A98A3188342490C818; PF824150A5C601F2950E1A452F0827DD80209FE1881890640800F890A092C80C62E02A081889DE087= P4BA8880D786580046CE0011478C1F3908884F19D80112BA3A2A182000021FF0B4D414347436F6E20? P04031039000000015772697474656E20627920474946436F6E76657274657220322E342E33206F66A .204D6F6E6461792C204D61792032352C2031393938003BC 	TURTLE_07E R	 	F P000032000044EE000000220000320000000083AB0083000083000083000083000083000083000083H P000083000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A5929J P9242015234482CA796C821202A14CAA39132A61AB6B4AD4141A74F8D8645F02A1F392ACAEB65CB6EL P8D562314277068710505018A8888010909201F01887168140236242E6C23240D7F4B36022368050DN P8D8A01191FAC8E098B8DA6340D84B43676A04A296B9587A6891F221F100F1092938B8A2405368536P P30B948241F0509062414312F9503BDA7A705CB88099E95850D9814D1EB442C99292E313608081469R P0D23821728602DECFFB958283803B0A0C183EC385C01010944810F3610DE211101520305244EDC8BT P6363C0466FDE0650187142C0283B12486CD0F0218102750059A0E0D5A681830A09C04982C05384B0V PFF04A8AA151050298D1F84BB885622914A112B103CA30A83152082A942F60A525831E243830706D2X P84B9726244382B8C80324AF48B529C01846E21E490118EC734291078EBC8C61C2F7CF8ECD9181151Z PA2160A035CB868818B480A1A245E1970E449EC51C39833237457834263CDFF1AB06AF9C0E265D05B\ PB21C4071A522504F9F25D64BA1E0110812344664D925AA26DC5A6906744343548D91AF5F6D3C289C^ P8B6E0ADA244814371727FAA90893187D2B6943B0F08E9D1E515251D04DDF36B3AA350DD092EA5A53` P1D3D0A403C22F6BF14F369C1599B6CD507100046924C00E534C05A5686A570C258E064F70A7B5199b P005524AF34120159A4A0915933021422FF8E220F4A224924AC64004B0334A070423727BCC0404136d PB89082041C74608F70C355074E22A940526253A6784383050645C1D2071A143080003028B59427D5f P440654250958D54B771AA521D12D183550830B8419B2E01A6B60B51756CDA0611F6A2CA880891A71h P9CA31F2DDDE4535F8DA8E97202095190704475CBD850839679EAC24414CA559180041EE956E8A390j P462AE9A494562A0407514CA1E0699626916980205CB866A744D4008923233247EA117A352041042Cl P3102136A129C41A811355AE0991AF784B38C74A376C0E91F5174121D6E141C05851A97F0828D286An PC4F026120D54700246DD45D3C0061150534565BC760712487450408247645C76FF02080E38B4DC3Ap P7D8A076E4DF714E82B48599A64925C18AD240919098DE0420595C9790588BFB0D7522C1CB1619248r P161C4B0202367080273B24B480499CBCB0C5882A4D55A85D33DF89D2C200237824D14C14C0E7A54Dt P0EF0F89F08218CD6E32286CC3BEC7D7C558208538B98A8C0032644F5410689BC52201A836E389837v P3CF2086202AC3C989D5BFA6934EB9661FC75B553C3801002D54039D2C8D20B7A869982C27578C5C7x PEC81204231454320203204C649023FAA222496CF5499F81F8076CB6D6276BD9CC01AC086B9430809z P36B026CE64190898C0E182AB15242D3A060B6FCFB5EC58CD533C3D603322262E43121BCF18448102| P27C007820DD2DA53C29D4B36A1D2D4BF6B79A391E74EA430426D4EF1268F81B544F68BCFCB5B7125~ P471EED0C4ABF2C19D0D92506337FF515AF2DDDC69B7DFF6345021B3470811C1B17B5B82FDF8C4B03 PC97849C4828CC20FD0190D1E95D51D052E60D9303A68585251DA103EC3E021057E60410BCC113A07 PC44929237143775C20005289057C1C7BC348EC94828B55CA1E13AB40034E0398FE51800098B0540A P3C9382169C20360CB842745C5280B2582A38C18A42435AA2810D3C003FC02355B54810A65519F188 P4808020021FF0B4D414347436F6E2004031039000000015772697474656E20627920474946436F6E 	TURTLE_08 R	 	 P000032000044EE00000022000032000000001EAB001E00001E00001E00001E00001E00001E00001E P00001E000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C2A6B0A PC54301516C6CCEAC1669B179290DAFD8061B638B36500414789CB7C37421912890C0B686BE410AF8 PFD05057F7401050D850961362E245E3570593614787A828001191F9A01099C827582117C36242815 P6F904B5F797C248106011F1009100FB51F091F8505BA0E7B7A5EA94714082E1ABC0A14363131BF0D P86CF8176A0CFCECAC0C2D9688B2E2E31A81D0D1424AE79C1DAE8E9EAEBECED427C0A06207509E046 P64E79004600F0DFD356FC44C12E70CDA2F815F2C50B040C2059F06EC1AB8F042100C8A060E1C7C0A P000182898E103E64E8E487C41E73F6D64902F3AC4FA04E1F407CB0D51144484F851AA0F832CA5D1C PFF4904F5908882511A28578614389334A6DDA1041B1A5C68C06062186593268261A90CE8D63C0E5D PF8DCB2A858CA38611E3C40A020CFD8B770E1D888F2A051DC740D12B0C9A5F7EC5D2704F228283038 P0299240D30F8B3E1069DA22302BBA20C236E59C3AB5DDFA9D9051112850A0FF41698D28822B03CAE P9E4528E44950A09393C47453B64EA28451A428CE09E0EA4F00999DD8F8E934A700858B3600BE05B8 P351A0992967081980EDDB5CEEB8B62BCF562D286A1D67E6475FC0841A6A74E118C7B4161772CD33D P7D766508FF9BD3265C96CAE55106633BEA3D8648B31B2704CA64083976EC81955F7229534318207C P0146232DD591D77316E6658749949994FF193B7369F081060EC43091057A0C64C3452CA5E8E24A7C P7435917B2E28E0C224927540CA49615078124F375E604305B4FD9584171220D059113110D6092CD3 P61F04091460A2146955866A9E5965CAA935C3E5D3AD14014529413661369F0F5C06F0C9E29440D7A PE90582206D9E39210624CC99407BC378D10F987799C14A030A013A843F0DCCD9185C8A7017238C57 P75F7D8103584265C7FC200C45818DB0CD46225CE34DAD5A88C28400202751EE946680A80701A45AB P0C6A8743D524784D6CA43804C38DA92AE18F037A8DE9D017E4B0325480BFCD335D497CEC4459ACB5 P15636369CEC4B74B02195852C7700674D21D34863A2691A3FB5542522C208820FF42BAF86DC46129 P958DA5080586E45141058914A28B146A49A1CB2EAF5136A94FA6ED010A749CD041C8B5CC7A888D7B P030168897DB4A45B312E04F2664DAF90AC34E8C17EA46B0B79E51118A08261604AB038D790736E2E P204C618B5EFF52B394CAEEF054896F9DE4C2C97CAEF9C69BAD0DD480733BE63472516A82C4349D2D PB66CF24782950D9C738BAC24B88B6FD9069213D5405DE99E0D5D5C23D19E4A051C8D1E09449008CA P1FAA43413F1FF863C02AD8B5F20C21C561C8A11E3BC5ED65ABB16C90486CD50C5ACDDA4B0DEAB13B P63EA698043DF287ECD7B020FDADD1737FA64C25CA616ED420D5D51C8122B0E9844214A6151D0F958 P9408CE94A0128A2131D1B81404C6F176A756B0E410133EF780AB8D1E6D242908F049447272CED32D P06E1066A01AA623EE8969BD867AF7D2A41000021FF0B4D414347436F6E2004031039000000015772 P697474656E20627920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D 61792032352C2031393938003B 	TURTLE_09 R	 	 P000032000044EE000000220000320000000067AB0067000067000067000067000067000067000067 P000067000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C165929 P12680AD290524C28D6C965DA04279BD8763ABD28A446794011A7102D92E23AEA1A2F94C6A3004A34 P1A637F80270D72058787018A098A018C01878284025B764D0A6102820D88058D011FA11F091F20A3 P908A11056A03802F965D3680829E8D09197D100FBA22A190052491926EB04D508002797F659C7F9D PAB9B276C0D0362142E14C54C29230A731414D5292C421408E3622E29150D463105A4A509110A1227 P1CDAF9FAFBC52995FC0091D490636014B006FF88CC21412241822B018FA4F8326D93454E6904D900 P1766E346802938CD51E082841893B238C16B9401020413104040F8A008510314164F248CF8254F4A PFF4F89404D7119D354869ABF36D5A0912D229189842C023BE400511A61C032DAA0D1A08D0DA71D04 P2800014A4301182E6C0C88FA87828011025A5DECA8A9C108700450D8D80956090B0AFE5A90EB4BB8 PB0531BDE1EA43931D8B0BE1309C892F2F4150902310F4E90A0D0D8F110049A1806ABE076A33F2335 P1E4C5EE598438A1827FF5453134D8C00011429DC4DA6BBB336151C9B0A19932C0C2D540E1F052BE0 P00908DC5627CC3022EA14F0260DC066DAA155494A8EBB502646426C6A982110DD2CACA9387EBD55A P19BC33EA14C040F34D940A7FF9F3333C28112EC1E4926449A1C08C1A2F3040580AC9D0120C4BA0D0 P04C25140FD42D37DB39447581B0380F1FF4730CE38F24823CF58D44A35C2F5D5535751B9F0901F0D PBCF84B43D7E574825B7CFD36C272246850811831BCA0911A5C29C3DF915D75A50936D8E4A8CD8ED6 P4540DA0817AC9552546564691B052AF8C341570C25F00008C054A0401B11B9A0809343B401D8082A P20C1820A2A2850430D74E2E3191263ECE9E79F80062A284F032134A8251CC831160852B279E85334 P8E324A029525B1511829FE594364917D004FA54620209A688E829568031248E0D02A0922A1428F1A P8C428205818E30862C65C036C68D5F0DD600A307F939815779E0060E7F3190E042266A7538C08EE8 P3510A7632A88D1A118170D43061BB8DD38820B2D08205D311C7499D0440D2629FF88B2CE34905403 P34C862037A62D410500D149CF0400335D8A085BC5F68068D2753C403894A07B385020AA53281C203 P369812D91CCEBD95517841D53222899BE0F4913E1CCC114104AB16902F5B9C30F26000B888E0B2CB P1F64009E30F2BA10434473B820412129ADC7950355811280020F8C39454DDC6D32C09D0D7731C75D P642CD38003159040E222C9FD829478CBD8808249844910F57657CB1C93083299E24824AB949107D8 P846D64A44ADD89B08B80108870D4BBB4352040AB7D4D144E54F445488529310BDD08881A811A110B  PEBCDF6E0217BD394400896D394C841B2A9E56FDC71D1828801FF1D3E852FAB0873C26DD68CCB0F54 P483A83C82790F0A8BECA26E8B95918E475F5ADE87BB2FF715D467FC4DBCAE7FAD960C1A50E2EB7D2 P54D0F087A5DC4D3B31E70828D43042040E7CE161B6E0B742481A64E4E182531CB4D0A559A3744581 P90EEFB2D6F1BCB78459B1877B54001BEF981D44DAC1AA05A0360701B35DCE6467938506DC8B02312 P8C404B576803AD40A6004F7C035F14D08B3FECA206E280033645789BD548170A0CA02920F3DA4C57
 PF662291220A0017A2242064755B4344C6B502149410B04F3A82E40CE02E7E8A1108748C441050100 	TURTLE_10 R	 	 P000032000044EE0000002200003200000000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF P0000FF000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C0A498A P2824016AB0922EDBE9617B50AECE30F3602B9B4FB601C9D5300B2894512B4E4989EFC3547940D116 P1A0D0505018401098385090124800D270D03231678481C36242429128C8F900D140D15158A018201 P1FA81F2010201F86A57F348D0D022F93944D146FB32483828AA8220F10ACAABEB39F9F6FB861BA02 P03030280368098817F828D688014686C17287D36762C29B7CC2C2C360A20051A05159F1428E3E536 P08427A242A231CCCFF00030A1C48504C0D12201268F85080D1392315146C30902053C1242C469441 P432D10B26CD338326A63030C400E9814246087C9CC8059BE107D1001C1040476AE4C111A09880689 PFF921789D09B0648905142AD1E801886AA50A1020E1AF5116023E8107536FA9C40E1F19A51907F1A! P24A8880C8D0017032EB25021CD01421203D2740405884FB7470EB89E8063A703234C8434248890E0# P525004F898A418E0428549AB902353B21191535F8C7AB25E965C64D387B1093E07A88A44019408AE% P12C0E07C04410312180A28280087AA191B73C6B970F1D70A6B22EA5EEA3A417C961979DDCCA090F0' PBB831E691F018F0541289001427F5E722D53F0848206E1CAF569D411518104194EA10AE12ABD51F0) PDC00D5D84C8982840D093FF722B16D1B2007500D92DE679F29320829011810563223BC70112359A4+ P01D321D885B64A4DC44020427AB02CD2FF1079E358A5471C6D00720822867C90C1582BA658482F7F- P9C20806D144446CD4B8D7C3588684E65534004D60032541B8F5DA48771D554345B20069270883670/ P9014C90829205064413FA5011D32B2BCD491366750D0C208FB25F09A040F08A0024014AC90C2421F1 P445003343050D58646E49935421C45DA50C377E35450C39A057100C20051B800475648B0704226273 P3437107D92566AE9A598664A84045A50AAC49592A630023B20B4B4440A1428F0286995B2004542205 PB4621112246CE264459E4AC68258D4C57A9E6F48D8004204D4FDA180A5DF91B0016A3FDAF0428D297 P5C61D26C11984602A614C8C2532D1D9541013436BCB1E708E4822A9956653C33FFCD0B71851B57BB9 P6DE466AE551CBCA00579C848F50871C4816286A46DC0D149BEA67CF86B1BFBD2100E6B2CE812E596; P11105220826395C2133565E44A89027C1171DBBD98E858484E288244CD23ACFEC329059844451235= P983CFA944C22D44C8C2BA5C0926F5CFF7040801EAD9C97C9088E0C7CDE794E2DA5542BD81D35D246? P6868DC0402BC6D70C858BC9581704F003690F329A0A548B2513468DDC60BF38A81D208A268F42535A P0D211D4006197CC04A86225077E2825A8042CF451C2850F696453935374D19B2D2CA8AE6B9EC082DC P3506F52D5D8DC0024C52B1BE629E2F3CBD2C3533658CD0C951A57088CA2A4A355514DF9F7067953AE P708C474221D76510D86B2B8A64F05E2FDAD4C5286429CCC80BEF5FCD9CCD7EB34CF5EDE7FF6C4470G P90D98CF5559EAFC545810B2B48166EBE6486EC1548F9D2424D0B0354D007F0CE464339DCE197E82DI PC60D901B8D0065933055CAE8FC148103CEC6004323D2D09A84FE639CAC7C021309D8C04240B001F3K PA58D092C40540318F2197940034C514299E788C081019CE7760F480123FC0110152044030B898001M PD8C0001750A50EF17BD9595250816B1D211D1DE00009B1343B4344A02E710155C36018B94CE1E627O P24484CA346808016304F53466081BD8A08C52A5AF18AAC09020021FF0B4D414347436F6E20040310Q P39000000015772697474656E20627920474946436F6E76657274657220322E342E33206F66204D6FS (6E6461792C204D61792032352C2031393938003BU 	TURTLE_11W R	 	X P000032000044EE0000002200003200000000F80000F80000F80000F80000F80000F80000F80000F8Z P0000F8000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C95CAE488A\ P0729D148291B52D027506834BFE08EABD150906DB61785E4B20904B6011A2D4055C2F8E329DEA090^ P1B05010120090109815C88055D3464232814365679452C340F050A20200A2D670D27277F0E0E8B8B` P011FA91F2210222086A601245D673691944D1402147E366482850519A89B9BB08B0D0911247F0D72b P032E031CB85F68CDD705CC80D77D23A068DE6B24821A090A2427D3D442082D2B29A81A0605DE0CBAd P92422C432936242A27FAD6091C48B0A01116916C190C238184B14D8B485050328244381B0BBF446Af P40020E36640D1C502183A24149340117A614E22B942F45813280106102822641A602198840E6C480h PFF6F16D671E0A0C00688142EC6B4F145C60F20415C04CD04F1404B21A83867F5FC1969524621FC1Aj P3025436256CE525D12A80529F6A733010D5CA02080C2168B395E07B2608626068C3F4E79F5DC2360l P040C155FC13CE0358682BA240857269E4C9909BF142C241BE1A7604DE7CA4838407910250108894An P6C2848302FC544D046CC98330062510539D6FAEC5263A14F0B01B091A898C3C7592D1BA27CD96276p PA26EF0212D5ECCF9436BD1165306B8680325B6850DCD19230DB8372227A20F09567D18165596833Fr P364EBE165A86040D1A7BD00CF0465616D442ABA1A7567A6BB125167C1851A2020529281001810994t P851C1903FC54415938A1F20104109850FFD326EB5D35CC76DF7C67D0500D5430E181801C524021E9v PAD6788080F88904A22DC8C27167803A5B04B2F1C29921D7AFF9942865A67884282352DA480405E05x PDD654B28A2909149845AB948CB277FC035C218274CE11006FB2DA45F0C3A96F447736D5DE3130244z PC4C0113A2C3420C14208D8D00527CC8C60430C2DEDD7932D6E908040033C52C60267B569B04C1F72| P80C782002D3CF9DCA59866AAE9A60225CAE912778DB1A4A78A56B086370922818038B52D066570AA~ P69028169A91ED1190811D4964DA67B29904A7A819888040B0EF00985A6615A551B156AA4E01A3FC3 P45628144D1BC1A5C59129CC38C052F54995F1C158E40E92EA44EB6D41CC9BD80FF9B2F148CC7145E P9A6ED480476371531772EFF92280B5934D004E28565A794A000D44F5227CA00810146C4BEA48DD2C P8608F81F54DAD43BDF64FC08E61620886085DE8B89D082CE1F7E56969035187251C82AAC40F0C075 P2F06A28D003A92F042B94CDCE5A73E5292D50F54E7B1F24055AF60758C584C4572F33AFC8C70CEA0 PB91D69DE1619A815B116C31CC2053748F3BB0407A212924D8409B178DF851D67C0724D1CDA98E1D6 P4DAD7B3118235420C10687405116C0406673CA8B2C3FC02104AAE0244C44629D3C771E4369D34242 P4E51178B86C5B01723C11C03E68C4219DDB50B75C90C0C4C2A8243F08A8B65D1D21C53E37D252505 P0067334EC71F6881D3553602738306052D3C66E67891E7C4B179996B45C6E7E03C6EAAB0292C2C90 P2EE3895292296551B756F5D7F432C2F61572478102298C5090BC7C399282EC9977590BD203B450D1 P141A0420CF92BE0BC48F8EB00FB60D8572F8F11E8514D0C7185E44080528E042380B83940855A503 PED613F7BE0487EE6E61A845486191130C0336806987A81C3059EA81F686C509102C46F031188812E P6230823D08865243B081DDAA902917A400041BD0C0C12A50035E08CB08927012A7C0B70803868F77 P89FAD30BBC7629D728E053508CA214A7688420000021FF0B4D414347436F6E200403103900000001 P5772697474656E20627920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C 204D61792032352C2031393938003B 	TURTLE_12 R	 	 P000032000044EE000000220000320000000017000017000017000017000017000017000017000017 P000017000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C94C525214 P0A4BC9692812894FE1D9EC7A3B0D1296A420352C360AA9751A0CD2034163D438A16CD3AFDEC878D9 PFE0D812424011F5805010105888B05618F36288114167B4979422C36278F6109059F881F01581F1F P2010A9A6A4881901660D69026F14961D2E643665810D2DB136038136BCA18AAE1F222086898B8187 PB1C1B1BD2336047F6D0F5CB645149B36B0BC9C0DCD0D14B3BC7F78DBB61CC19F1F1B0E142D140C35 P69483616F4EBFDFEFFFE58BC7061250AC03D2E148050B8AC0126222C528C5033204AAD837AEEFCA1 P7042DCB8668B5E390AC4498E8D141891748B72E2DB2745090A8930014121B344CFD09513A6CE120B PFF1A0AAC245050A69B0D6A27283470D028512264201E281855C8941672B1EC001BE0420087941D34 P09B028AE000947681D3005158AD7AF5FC3D48839F560D043809AD20988E1B6CE309E4753A4B001B6 P0B8B06291CA550306044E1C74552DC85FC6F443010A448BCF84AF9C8371020486C28B74482838524 PA87536721844CC04AECD0AF0D3AD819BAD14468C453179B5100482BCF9FD256098B7BF9C5A5EF42D P84423012C3468654C4D629B87234CAF57CAC60A3D2402111E1B4EA2ABC4861C1DEBC4009D628A006 P37036438057A19EC51A1100DE275FB4FEF2655985103607FB9E5C0598964904102A9404093325A38 PF50A38B9FDB25C171C10500608116031FFD408488DE35623A03C65CA7CA83C10533309ECE7D61B03 PB4404F4F14ACB7CD4ADF8D3388530618405D23E31C32122F464541D0080F14D2E209FF68624E1D0D P4802DE156280D7575F3D5920C0810E719692581501138894C6A5A154473608409002CC1941020511 P9050518D7EC4D2820D320ED18D602DB42904074F4CA50116719613C57F1DB0E727158B36EAE8A39D P1509A91E9A94414236884E4A441544918099225EFA59811AE35C78C4612AC63942A8CC25A4C00349 P82409A127295A3C2A29C2A93C522D0B130C513F3A4334F035D29DAA61AB065A145040214A7D71FCE PA6E35FA38791A1C0487F34D6D25F63A561C6093454D4A80B1A6D74E5B94AD160FF5C0C951C1B5771 P7D2922EF8AE01458C176940D46C75F2361E19A844E398202382754305B672A00E39159558D874579 PE245E04039492965C30BED8295703472F0B2C87CA7A4F2C0284D3123CD24BF646A4B37CD3E474848 P19A002C103A031F3DA8F220AD3C61F29D5062521F292F214168540501F292F2932313AD3DAA2C944 P6908EBF1226A91389F0833A5521F550564C06B20729863AA179552E922277FD1504105AF89F2C1CC P222F5388225686230EBE5D84015A7E24B444F074002B237806C940608A23625C67610B00B08AE844 P977698820B1254400D303906C24C89E3258319C41FC1320C35BDE466140B16A9FC67071CB4CE8102 PF7A6E1F147C514A2CC8C53098868964E6608404F37272C021B0636B0AA8739490DC309D024362F86 P59437A94540B230C42F450299C603CA59877CC8B196695D12F9030A2F9470AB04C95801A15606494 P1B74B8858B59E00BB3132C14842A85EAEB70E451378A43812466B1BC34C1807F60C9CB0062E0B340 P44230A3CA1800B80B33DE62820027F80C16CD0018B8A4444132D5803B52A702043D8A60530984837 PA6709716A8000A8B3A89025250954F54A0013558211252E007046284034721031666E80B1768AA0B P269847FE8EC8C4263A913941000021FF0B4D414347436F6E2004031039000000015772697474656E 	TURTLE_13 R	 	 P000032000044EE00000022000032000000007EAB007E00007E00007E00007E00007E00007E00007E P00007E000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C1E4923 P50221150A59C58A782A4F80412D204E965B39D4E8D41994241931A27949A92AD27298206095D68E8 PC10905010105818283110D7D707E0D34652C764C2C65958A8387545F091F22109F10205E8483248B P7E27360D142D140846169149366F62A6247B688A8D7E82058719019D2083016FBFBF7E037E66AA6C P2460242B0DB2924714650214236FBA67AACC362314CC0229290D1CD6EB422C34BF1A1B0E15230D35 PD857ECFAFBFCFD1D2F6F1428B051CD1F960AB8486858A524058501161A8CB361B04E053DB85229E3 PD52B909846CE50B0B191AF62116C6C1A21FBD5C913082984A85041668C63834A05ADB1D85969192F PFF1A15224CF9C5094408100FBC7C7890D45081086F18316BD062C400027EC04838A10E490B170D52 PA8C0A580838276360650E8A6B280A95DC756728CEAC224166C36C80C8801EEE6897A36BA76608560 P84DD26235CD0FA35C0C588B387F9EDA413B922A5065D3041AEDCAF82DB37DB381F492110E9879904 PDBB1112060C08017372BA5163D84C55A400614246820E0C5B65465E0944935A082AABFA972567681 PA212365EC50A4DC1E448CF54892F2C54A6F4AD178900C48A7D188F29107554DE789729C98F435A72  PE2A01112040202D3301F5E869F8F296ADA3490F47399757FFCE2C07C0564D009281088E005271F20 P838B4DEFB9F0900D14D83690724390B0FF5623F53032822ACBD0C41F79E389F000311924D3802152 PDD340237D06CF08502AD24C10109368010C12F294850810B0294E1932EDE1563008212CEB70A1CA9 PA44299052F5490A141B661F8904D8A40F359236A35924A0C86D1460477488609E6467EB091820D2D PA8708299A32960003978C060559148A044E71029B4F0400A1F68A041011BE0C286607F36EAE8A390
 P46DA01256B702829129408D4801430307A699F5C2804825B147DCAC4380F44B0455890927406654B PA4E0580C14A8E028390A3CA01B081E2A37926F553D4483A591A5C08514E315328643C1156983B3CD PD8D01C7B9CB140822853241BC1882790A098967968C44B19DA99F906171B2CD2FF0C6CFF39E2D62E P36A9416C457E19E9532FC97C514A547ED443C34D0294CB59B47DB154CCC11282F4E44D28C4522C1A P489A32C5C4A765108C2F88F4A18A33B1CDE60F076A04D74B040783E152794CE2AB0C5E1EB717DC96 PF852D18909F7513C8847C538808A6B0314396F1D94A8D5861E988817C6171F80A2D44C4EB6E92133 PD4AE43F025F2FD6234042698104AB2E7714443C88D9580400AB2E0F5F399667CA8481F0E583DC878 P9F3C60DFCDE379D107541CA1D4826B040427018F0028C1327022F785D021468BF285DCC4B8580833 PDBA4D1CA323628108006B99DB099111E2AF092401E8A7C535B4469823479087629E693DAB4901078 PBA92A0040B98BD34BE710A80BD874A238690F2B6797D78B99BC2C0A9E01D2E4D5CB0D6061BF01A68 PBF283C92924AA65067B5CE6E39056523AC1001AB3F948639802E5F16007A206BA342CEBF18D2F95C  P5ADD21A91248C19931420B0D344A29926D74FB2F23420B870048208140392A4B69514B91E095065D" P948A12247048A4D6D213D7386727056141C0061035DAD0CE73BB8941032CE0821AB4AC081D140DC8$ P5E248C422D422DA53215111C2310CF0540206FF2940C8BC0010E98A05675D9A1108748C475040100& 	TURTLE_14( R	 	) P000032000044EE000000220000320000000057AB0057000057000057000057000057000057000057+ P000057000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C761003- P852292A892482CA7D6C96A3C408A042861A30C29A7D3C0661BB847A486BC6113C0CCDBFC91CE2E9F/ PE60D051F018405050186880106110D28747336277D297A4B246D0D6B050988871901091FA21F22261 P1010A482198657098072360D23176C241F1F110A361C4D2C36237D7F930D028124860989011909193 PB8CA050D249E056B14732E96431C23145859492C14B26E6F737F91D88036422927242A03DBF4432C5 P34CA1A1A11D20D141408EA091C4870DB2F1B0AFE852BC850C9BF59C11A6E6910669486310528C0B07 P11634D99698738C14A27ABC18917302A492C52B2E4A1008360828000620CA298CA943133048844BA9 PFF7F78548EA3A0528BA47472A23968500866A90F63C44010B1B35F1C58C5E690487085CB37651FB6; PC611D0879D5664C88E29103B47801B3A274654A8D06BA52F727D6CC0705B876C51BBF43810BDA260= P5C5DC088136BF945E2412765241433A450832B096F78241B61F16BD2C2222C52B0B1802D2F9BCF8A? P539090A2AA0026369106F061A3260E5237272CA06E386EDA6A05D24ACE69D5C080814E8860C9163EA P9BC26E8268FCD9E0C9A90A295C9E3A19DA7E05901B0AD79E77E09CA7056D5886408980F065D4079AC P22407C78A6286D2C4D7C64B7A8804252030C1234701813A2B94156209E34754829A8B0F71808227CE PB01D716D8C30821B2DF826930235E841FF8E3F80D0404305C81062E228A19042C82BC9F4C3C72478G PFCF217138229D000576BBD168734EBCCB16221132E15888BFE3840031B9959C20126203890800A2EI PB41087021C88E616883D3640C31C236438477F1464D8C7372A8C30636AB0A923005274C8964292BFK PC4D08E6648D830461C23CCE20259E2D179040B033C90C218832420C5097DFAA9E8A28C364AE79BCEM P396A090C983446020C0A486A14059C0C624DA29A0E612309354570C500A086CA8D6A2EC46061AA89O PA5FA4F192ECC8AC299927D7345239112F1CB006E7954120D0290D5AB6236AC36D32822BD809724C0Q PBA85862C5B96844D0D36E0CA100BCA8E82510415907585305AB988020A145420FFC709C5EA661789S PB88060EA2B691023473F9C8424CD2371C8B28E00D866BB120B354CA3491DB2F9989D89DB05606A70U PC3ACC36E192BB940405E8008A21322A04C4848C63CAEDB8744BF64D9800B0580606206EBA9AC4828W P0912E2C055FE4142B11114BCA02D1207215540048A94B2DE179DE01213CC2FB9C64E1B36B4E0C29BY PA751B056924C98F7102041B78C6202EBA172B42758C9418E856E11F08715BC6881C93F7F5C61E28F[ PA140058109A744D8A9A70D988A4E2C400502C2712074B5986908E65BCD332288F0C0030ACCC79E84] P3C55D14FC26DB400C7562034C042A6797C785520726CA59D893561E7603543CA21DBB350267CEC16_ P07F967EF314923B7D1224D40DEA8F4DEC5C09A041A22CE120B9B1927B84C35C94483950DBE23B10Ba PA986A2E59324264BE336D8D6DB37393A1FD5339702F25591820415B440010A47FE93E71F2EA5E51Ac P6444AE6992002EA89082E6DB10F08D045250C4C1801D104D19C0338CA344021027E85B028992AD37e PD1691CE4125BC2E6808D01FC61000111020BBA34809D01861CC5320705E464925800E039AF5B14B7g P22D0867FC0C002233892AA9C47915138A00217A8410DD6304323B4001E1A8049013630B5C8F4D057i P9653CD6AA46139231EF189508CA2141B12040021FF0B4D414347436F6E2004031039000000015772k 	TURTLE_15m R	 	n P000032000044EE00000022000032000000005F00005F00005F00005F00005F00005F00005F00005Fp P00005F000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C954DA2824r PD0E75320A59AD8AC7648190D28029B6D406A9C1AE651A326BE6EB59C8622213590120DDB19DD2814t P027F80807F7E807C24057C360268038D14081C2A3657360F36245B29627B7D7D090120105209091Fv P10261010530553207E05097E666714278C6889242C6F5C360D6568140D150E85B00182C97E0EB989x P68BFC0362E15BBBD422C140A2020B22E2E68241C1DD9625F7960C0C28E7CD094D7F058290D091A0Bz P54090A0A0DBCF1FEFF009BB07013B0601309245C9080E1C2463F8358503C780022192812025EE869| PD042CC2F147E48040B07AD013B3427068421581001051462C23C6B052AC00711A340B5CA902C804E~ PFF58ED0EFD1A718100300D741464D2828EC2805F8448182094CCD507293629EAFC84A7111F04FF52 PBCA4010C8C9E32CFA2F5A91212ADC8670D5008387782020B1636462018F1F08D8A71D7CA25A0E1A8 P0B8516239E405CCCB8B1E3379B6C287840C2D1E380D4B6758B40C20BCBCBF1360D6811C6A318BBA0 P87DC8D46A96F8A13294F0F3387B25603B22712BF80813A200B17FABA5D9515C1C28B0131F2EC2960 PA0A72112113CA180CDA7EE098F9F89B07831A2C9BC3E22F308A010CD4FB73FA078FA294528D0A076 P27609E6E30A2028133A5129050A1654C50F7368960825601E0A48A0854F4D487029C4153D8786A88 P44870D8069D11105189E508002CAD8D4FFD329AA40A0C00719E0F413490DD8E288180FF5059969BF PDCD180033539E75355A32C038C2C7029428141A6417346279FDC68882E7774E5CE198B58314F7658 PA840C203DB28550038306238CC907CA0604650B79811CD8FBEBCE0621614A490026572548844647A PA444410CE3D169C1134F41991A139D9912813115A4D8C09E6F509282022394A1409A6E12EAE8A390 P462AE9A4589CD61AA55958A01422B2F08329136295614A0065D8F0E9124A61B229627C9DCA844B6A P7454439AAE1E81D70B1624B6D12F61BCF0420A673A062C12789137C653278991C71A5D686401038C PCD03DD06AFE45109274FCCA6161FB82987120D346017EC162CC8B1CD031FC842FF42052A9191877F P880C82485025D525A647BD2161C1B8431C3AA24FDC74AA51348894616421CB445000599EF031C017 PE21AA1A59E432094A4021894FA9F7308C7120B8FB014D00C4A503082A10B2A8815C609246C20C109 P0A08B48F699DF8916E2B377DB00C28A50CE2611542FAD802798ED481C009FC1E31C21E675C594045 P36894291CE577143A2CE7FD0DB8E182350E0422C362915B316B690A096C2056490C14DA374538A2A P52E86C0AD6057056EA30798C3642A262F712837FED20C39329A688924A8E5789F05E2C60B6C1410B P30A0008F68628AB4CCE5695F35CAD4093C00C132212B82AD6F8B180B4C7B7D7478D5D574F4744C19 P4FF121804178A1D8D44E3581801D004F6B83FC315CC3C0F482008D86B65149CE1C13B2015365EDC9 P2C18BE2B400A0898FD0F0B93EC2A8CA0FF91003A3073BC8592A0A64D9F420B81FD52C3862984775D P4AF08DAF352D7C449F473F6A5A80612F0AFCA2C0C7FAA9800BBAC086F1D40543ECD8C89048E02541 PB9EB049F1948606A3082FF290C01C0388258F41086D841833C2F605A5D92D60B0E10605D0DA098AD PE0543EF2C4C0056C20E1A4583087FF3184023578980C25B53E9C25C06E14E04FAD88E0023569860A P2468C1A0865804040CAD7D4C8CA214A748457804010021FF0B4D414347436F6E2004031039000000 P015772697474656E20627920474946436F6E76657274657220322E342E33206F66204D6F6E646179  2C204D61792032352C2031393938003B 	TURTLE_16 R	 	 P000032000044EE000000220000320000000037000037000037000037000037000037000037000037 P000037000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C934DA6C8F P87A2D15035AFD8EC3165A3909E545BE374A2342AE65703C64EA55857D67B494929408940A1402209 PFE1403640D7B05797A0588887B018B546334661436232317368606200F0D5A080762248F248D891F P22100F1F79212626101020011F0FB27B54058F830D085A4A5C024F362784B96724898B7A0106850D P0A09A28F2E634F2C1427292E0329BE426234240A0A7C2414C1282836C1021481ED02C40D03ED3130 P022F0223343670DEFF595C2858A1A08FB80EFE002A5CC8B0A1C3862A2AD4DAB0215AA511091F6A14 PF3A7CB305C8FA8481B4346DE80311D8509E0C0A1C593110D364810F34BDC07102022442870C2C649 PFF5C05F014F8F0215629A21F3264F8D02800210511A4F96C6046CC231ADDFE4D12F0B301893CC90A P05587A1329D2525E115131D3C0868B0A24B2361466559E1962B98CF1094992CA4F982D3232940017 P6A54121CBC41F9A0C18001AF234E689C4CB9B2E5CB987DBD50508B6801046D333F94A06084A81693 P84D5912B3ACE08AE7F0674ED6BBA018A47774F0C785247890D2E4C5848EDE2868BCF11C2702DD3E3 P356A8406348A3DE24D7212854A1508D43094A0A0822436C6E149006295288ECA9717C850EA5053B1 PB7F83E1A70DDEBD7684DE434A8313D39AE558D9C12CB2A45C1521E7B48DD9240027CF56443432CD4 PF5485E013682202C0F0C9840866825B0FFD724FD090610186D51D19E030D94D2948563ADE28C3354 P09D2451F29B4D00243115A259F74619552C857C684E10E15021091C2240BB1001331C1D8C5177A61 P8C51A27CBF514615907868E31512C5D1E5257D66D450C300564C4680390D24F68F0443CDA281216E P90D0DA42ACCD69E79D78E6A9E79E7CE6790D6F29A8A0669F4CBCF085217A3C48E812D710E380061A P444302378B26C101152718648E6C148858A9110358E0424A35A496DA6F0CD4A92717B23D31803428 P1043CC6D637C61033F743171CE080CA5D0513BBBADA30B4964CC560D5DAA0E01C549C1CDE1C430ED P84B187A4D04D685B5B30E1E6171523B8E0C639C39010E908C90A91023111E0F4FF412EF884B21550 P8D80954C23A38C14929795A030C903B3805081A742D470C726371562410C36A80114230C17E27022 PECC5C717720D8C40810B7D040082A2490877075309447A1E5F6D26920051CBB8170058CC1122CD09 PFA44764225F6C5C504072990609E04E77135E18201A282C7CA388920025343B1E794875261FA8410 PA97A73A93A1E89D4E6CA21406042790B82602053B3206D3591C296E150175212B2D37A1A43A00081 P5E1B38162CF23A2C5F2F0D1927CFC2012A4D140422E0D488512B37E0A1C40EF41443270C5980765B P192FC3C88A613702C2D18B7888E9DE02A4800009D92874691781849248010EB0AC877B87EC816290 P6D3DE1E01371794BBA278921D15083030F33CC5C2E05F541853A6C717CE46EBD8A517CD52467CC87 P31244416524F549439598E62D8650C31120E9F3609B486710202002B746438061DEBEA75160782A9 P3460AEC3BD4F1C3F0405093819AE400523B4D0891CC619868306211B84AD83023110D524CA059023 P7DC53C2918C177F2F32D1018200505A801092E308F34510601E4DA405C0695854BA5882809D88002 PCE55199CE1AD81330BD9063ED0161790F053CA7207B92688C31EFAF087400C626B82000021FF0B4D P414347436F6E2004031039000000015772697474656E20627920474946436F6E7665727465722032 <2E342E33206F66204D6F6E6461792C204D61792032352C2031393938003B 	TURTLE_17 R	 	 P000032000044EE000000220000320000000084000084000084000084000084000084000084000084  P000084000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A9FD0 P26A5D1B0D51A2E129662B3726DAE468542B295ADDD6FF7D8B5354009852D5AEC56EDA44222B02F04 P027E097E7E011F01795489366455530D1431734D360A0A0920200A18728B890D01207F1F22260F70 P01A426100F011910107F050D8288540E5D2E15557446169D55547F800E0982B10583800D052496B2 P9E5D65BC4E766A6D8B5C14535F8DD753312E178F0DD34C140FBAE5EAEBECEDEEEFEC6E36840508BB
 PF0463092EDD88B6D8E54486899224F0B953467DAB808376F0F887D49CC34E3832C41040BFADC2C13 PF627C10743803E82F818F223B25909A8A879F4AE93C6659F0879049441E4483E10E02093B5935B9B PFF0EB87CC5D368D00D174F3C3DA100F6F2A03F7C426C3C78A0A0009C85E4A2D4F8A0218086506BA0 P8A1D4BB6ACD9B2D760643DBBCE4E830816156C81884FAA1B778BCE1844A1911136958D1A1DA5B070 P6105026FF83CA8D1F60B37120904CA221181F233810E042A4A7406AB404B74235EEB9251A01D66B3 P00F5D1C3A7181F40019629A85CD469E825352A59BA84496E536470F68880A0E0D4AB9C1E0B7C80C5 P8CE7B3717778D57073E58EBF80B1328022FEC1E3ABA9AC02E48CD500F2338DB8484840E0E2F69336 P890A2888059B3EC70C7B6037B0B4F7AFFB7282C107130A15E881CC6B24FC21D966808545D635E53D PF2DC41D04974903631701103032E7021FF9615FB551506565048F5C1061A24B041256BC123D50309 P3800428B509C83801C34B2A5E38E3CF6E8E38F400629E4904416894417E001F29F911DC0301526A1 P08E4E18353F2620306A69842820B30B437DD3591B4A10F0C648EC6C49518DCC50E0516B467C74B6E  P2CB51460B68DB64807DAD8018201F60CE58B1B2E14808216362C250F538069936827D9486500080F" PE418853FFEC144C59C032E336122286CD3571690CDD8966097F6710C479A0A838C419EA804E81405$ P30A68E1D6E3A128001F95564A06AC91814D985E338F85E011B60C24719D9C410503234D1979F28AA& PC62688208910B4241B53ADF2814EB218159F4E23ADB2076FAFDCE411082795F7FF9C192C9558C903( P8624600022D751E11A1F20AC125C02C741B0C7540964B053318FB841A8B251EC179C66D720136828* P560D07E3B9C7159700C07CA496EE1465B8800002D2F042010106C71741458570D41D04226CFBD125, PC714F34C9ED699F1F1B5A29581547D80C8244A7E2615E080A58984714F54C24E8A0D17022918E327. PB9BAE6870127292010BD8AB6DBD2D2064346450579F0CA5ACFCB6CC9D43621D7051FAB8E6C7A356A0 P9E90B0D4BA3897538D530D02A3B7DEDA6868832F2E7CF9E09BEC2AAA0D097DF7A3D29F8B185D83362 P63190C6A425FDA69F99E9638604079ED41A511A4B328200115092F63521C1D4205CC2582F44907A04 P99C865025957BC5813F79179EA4832054CF6EEFBEFC0072FFC1141000021FF0B4D414347436F6E206 	TURTLE_188 R	 	9 P000032000044EE0000002200003200000000A50000A50000A50000A50000A50000A50000A50000A5; P0000A5000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A9F1D= P8B0D5A4C9D4EA4C4E753203528024A87954AD96CB1534D40B2914E825AA3613BD90614DB9742D953? P4E09011F242A5447367988670D058D018E01918D8E938C11242405739B578554290D111A09930515A P579B8C5A911F2210201F5A222626AF20090F20920D599A5F0357671D1429898643676D9B050A9159C P0E0D8F92908FBEA9D77629C74F6667767370706036026788652C422C23995B812353DB4A1C2A14B9E P20110DF2FBFCFDFEFF00030AEC5006D30705848E2140A0C013820123F260D3930A15A36B74AE491CG PF12586187E125D2CEA12ED5186695B4088F870520B974C8C7CD59983A84283112DD22DB1A140C12DI PFF1020144868636E0E094991329C8C1420C3962D493F54CB0253DC958802CD842947714E1F8C34C1K PA522578E828B2F35FA0C1442410E426612785151815380B6B578F3EADDCBB72F5E0A0AFEA8E06088M P0F26982354E86CC28041A2337CC49029368C028A13BA70D530948C84865C9804B8488462939E0174O PF0801500914EB0135FD8614A4062B13C167706289AB9A9B40312117C1598668D26EA3E67EEFAB362Q P4700EC984C4B454A104810D36A0DA88F9D53CED0E4A22FCAC69833FC7AAB57813E40580F4B50AE48S P8CB057144D82580A04F18EA420718F3A2CDA74FCB14900BA1470DE03B1A807C13DEEDC825D711135U P7082724F70B09F1A359050CE73D74C12FF1D52D70D6700232428400A6C883420400314FA93876AA8W P3442CA1C1594D208268D7082CA092FBC3080001750A0DB40DDCCC1111D5DA5725C6E5708504E030EY P54408A039720A4005EB8DD440126889C20C113281490425025E6554C2ED42560A55F203D00189B70[ PC629E79C74D669E79D78E649852284E9D9440A1560109727544C66813EFC90611B1129706560040F] P6C068519B391420228232C3A441966BC60438F349CA19B396784E1C2A9351070C20306805026142C_ PD883C928112810510B36D460030A5C9D254769D7DCA1A257C040E6420B14C83608A150B881891C2Da P4404CF4C275C56D115167132070D34CCA19B001CD5C7080AFF34FAC709EC8045FF5E03A575F15B71c PE06C4987737D02748793C85D04530106C0078954FB7A010E6C76D8D022483FB2D6000D0E84389C74e PD1959249010978BBC8170099110C45323E128823D529F5C85339F262CD576834408FA64EA4C04067g P5764224D002E4902147B5C0420428193C054113108A4D0420B071B71420559D0EC050531789A8A16i PD4B502542C0980B0DE2B1984F08A33D93D12D6C68BA4204512A09030B53B2772380775ACCC82A016k P56B317C9D6D590A2491E2BDAB1180B2C1351434FED2560C050906DE24201200CF781D50A9C148B08m P3B43A5D294EB2E4CCE5708EC592980482A4C9E87ACCC7C9D521F378290C09BAC88A877CA7180C008o P6164B44C35B447FCBAB0D7249EF55C1FD9F4BD4DA95F381BDD6F32534209EA18C131000A06033441q P0CC282F19C26DC3A006F71144526804736C010111F01D143CE2202EB21604633A136AC57522C0243s P05156C490C918B38C7CB17A944F61557A4A620CA071A18454F46E002BC14A960A432073A92508302u P6820001A485CD1ECC58B1414E02C2E18C1959EC00E15D86A04F522126CAA4631126470834F60C160w PFA528F13182801C141A19F8E20071B0C6582331CC20550B0C21CFAF087400C225F82000021FF0B4Dy 	TURTLE_19{ R	 	| P000032000044EE0000002200003200000000B90000B90000B90000B90000B90000B90000B90000B9~ P0000B9000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A9914 PC92641523D930A67CAC61DD9048DC689D20087B9A701D7356A91D5D7A28B9415A60414DBE9C40D37 P0A7F01820584840105010D89052409807E7E3614152362292C7143790D24036188831F21100A2009 P091F10261020A61F2220838F61343603645E5712150AA509AD24240D5C649081860E8A09B28587C2 PC365140231B79E611424994C297936610327900302B6C49849020A2B24E7DA4F140A8D1FA7241CEE PF7F8F9FAFBFCFDDA294458A418B022450569243604006123130B3D36508130A0A0C18811145070A1 P01A998376F7F1C3820312B92472E00FD49B2E5A7808165820E21FAF00104AC0F825A6538D4C01121 PFF68E1F85C6221B05D92132440CC2B04C85BB8300170CE841533C3879D38332C2BD44818C89346F5 P3D9474269CB09290BE5E0B27801C89084A692282E3AF080B4E290ACCA9D0C05EDDBF1C085040F0B7 PB0E1C3FCEEE0A98798DF586FF31E54F0DBD8080B0B5CDA72F9E24D1A85361706046BA4206C932DD8 P1C05B37849088B6E95688D09F394B66D637CC6E0E386B49402BD6DFA1833F653514C927F4647D2D3 P80426B7E14C6DDDAA30894F543A702EC8C5AB3D09F04C6920998830D818B8699B67C242B6C107741 P0920C897AF5D3E4C403E1BA8F1E84E2048492F08F71D4CAF98F0C029A9C847134E357DF0533CC8D1 P36C2734E2005022BBF68104153028403FF080932C124CB21D8B957DC70FA8D171D7A5A2857830208 P5070004B2025679D481534525C49B50DA0064B3518504004F110B60F075EE0A10627650D77110564 P9063434A4290E0C0071A68100F65867523064436D0700551950D91020A0E98724A0A2394A98F0D24 PD8B001636ED669E79D78E6A9E79EF860A682697C32F19064DE04FA440AC18010410A3518BA448C61 P269025082970892737C44892C7002EB031000A0214B00C080D007A98402FA4AAD130C444570617D6 P5C144C018DF697020C0D0044A6112960568368B51513063964A040469CE434C789A5EF9070207CC1 P606483045C68644B6D1F0DF30C8A6290410617F8D8A0C0036F45B041042440D9FF421F2768C48731 P3470441253616CFBD42614DCE39F0471F2E2C267C36093861F2870428290CD9098DC86E0D106121F P23D4936F3E9952F02E23F322A2318922CAD4D223DE38A0D1842AA490420B2A4C1C070B2DFC687144 PF0C94488885661271753F3A6C599C5230CF002954F3C46CE53A21EB2DD213589C0CA3C093C00C120 P3DF1F4CD1EE0EEE3CD79DE1812532A4A8D3ADF03A680F0004E329F08651846F667C10BE4F8DC929A P5129DD754DF23DF0805535E547C833EBE51AC7169C04404504D2D4164676714330F68236B502D34E P7BAF36EC19CE5D910227BF34F84145D7FA01A2D151696774C78408F909095E18F385462A2F212E08 P0A6497C00618C4C9CCD9271B260C4A4C093B83560330D8020303D10DE6840D23F432CF33B53C5563 PE0D8CD6C0822AA3D53F03702F82C09A77C9DB7B20461E5B1075B4F61D7000D159C18C9197E0810E0 P4809441081060928D042DAF904E86D37866F028D18CD19C7662401103815004BB100415DEEC2196F P3C830FD6B8461EA444A121DC25570CC98661FCB3193EACC706C6025A1254708B3F95493D1113C608 P5C5007471DE158C148C02E34E842231CEB370E0A460D91A080319402041B60D10E8FC0AF1448C005 P436402B392C8C4263AD10941000021FF0B4D414347436F6E2004031039000000015772697474656E 	TURTLE_20 R	 	 P000032000044EE0000002200003200000000D30000D30000D30000D30000D30000D30000D30000D3 P0000D3000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A8B29 P9BED94086814ACA7964979491B0DDBA04119501A28B01A2CCD6E893612A9F0011914230AA525B0AD PC1340D0E24060505018688018B866A05246A670D27521D291D6E6F4229617D7E608701091F0F2020 P09A3262610A51975A78D72056C6794362C994C2C7EA686869062A08F88BE8C898705A801726A2790 P657E771B1ABE149A49132D52D0270D237F61DBB9D7E4492C23240A0AA809201CE5F0F1F2F3E45129 P0353E3F49A142C142914C4B838D3C2C50817B2C8EC3B1245400B3461065002D5604EA3477FA47CA3 P04A31982149774016CA06048177C67FC2422962841061022407C58F400C2A204B350356A60068C00 PFF7D6F029EE8E288CEA20F22444050902180AB998B14F99AB5E6048C3E021AD4F0668D0940750F5E P2500F6692218748748246810484D593D0DFA7485436205C885E6A6B49003A9C13BBC78590C1CF117 PB06125210F1BF667474105098AE171E090A2020189554090981BF9C82E1B01B7F5942245C0B7872E P3A13F167E31BB8D76C048C017362008272FE28184AB17980000A156CA4F9D3EDCFA20C19663DC289 PF38F83490210562091A2450CCE4728B8502007840207232C5818E18742F18AC790296B1AE0C3CCA9 P38A90E90C8669E0A4F921C1430C03CAA2810100408C1071924508A310D50354937AD61774D140DB8 PF0452838B5176058A32895947BFEFDA2FF0027E7859147192D041547031558F0C91A018010952BA3 P203355328CF4559E195FC4304B040A0CE4153AACB493C01D0A9496D51AA12C538003D3CD41511860 PC0451A2E606810C0061F3EC1C20A71C8714249268526892765F1B4861E36F491D81136DC161940A1 P7D21052567A8460E0B816836164276DE19C603E94800669F84166AE8A188D2A3E208841596E81336 P2880015F8F6A7906091A24A04003953281000569602ACA099D7A46620BA08E21C75840111A05695F PF0A491378C9E11C39A7DB2608117A499858FAA62A439C00887BE4AC250918451DCB267A4049A9DBA P9687461950AAD117389F7C62860A1CB09042AB88554441919764D1D0147EB896FFD5277320E22409 P1124F38724ADB58080042AA480C00BE00A1190020F1003890B7CA080AEC113F5156F82A11CC2B0B5 P541D59516B64F6D1EF2E649812413BCCF4519103C3597B533155B4F7014E168D45951FE83AB8C467 P243C105016A0E1435A03631123CA2125BB3753023155915373B2BA7642896FB83944CDF309577287 P87B8A7944C554C6D8C7260182C09A7F18096E624604855802B372105C12AA6B4271322CFF1A56019 PFFC453CBCDC81CA59402A7B4A7542954FBFC4B732142D7463D7E90309B21275701B4090FA0E2734C P273B1580010C17E0DA7003C41003037A50E0A813FEBC30C00B5E1C9E4CCF303172D3EA5239495B40 P310C4BC108D37132D5E812519080487353549B20234FAF74B592B3A0705E0C520C002F7F57C4FD32 PCE8E9BA25938B14EA5F392B210F3E48260D80CAF8B1F680042010F341147290ACCF4810212845351 P88C330C256050A2A4B46B0522466510A2044FAC474EAC01B2448E00217A840233762D71A5012093D PA0042808184141FA95846E41864DA2338350FA3291669D40006AEAD4B16E26AB39D9A202147CD4CD P282007827DAE5445E8C63A34E502AEC1904D3420C1F83E508014BCF0864288D4080A0082086CC006 P40AC600A0251991F2691081C50C113A748C52A3E21080021FF0B4D414347436F6E20040310390000 P00015772697474656E20627920474946436F6E76657274657220322E342E33206F66204D6F6E6461 "792C204D61792032352C2031393938003B 	TURTLE_21	 R	 	
 P000032000044EE0000002200003200000000E80000E80000E80000E80000E80000E80000E80000E8 P0000E8000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C3A3914 P0AE1344A243E249673CBB5BC6C8DD3A0411150C28D866D9C5693592C05C7D66A45B55C246B7D6AA7 P490D050581820501871F1F8505098569026669032D795F030A0D78146B6602608C09010519191F87 P011F202610100F201F57A683240A2E7D28692F2F30670D2D031C79422C2F9E367D7EA882A18785A2 PCF690527C803D336781D150D0A29365C51200A20205680082E1D51366B6765608069232427EB15C2 PF7F84223DBE21111DEF9020A1C4850188501E41490B05790201C750D06AC4B63A74503120DB774A3 PA0EDA09B060E481410D92081C8047EC0FCB1B18905856F141E84FA1041E1184FF2C8FC11D4EC54A2 PFF57A1444020274AD0CE94EB28C00998420DBD4F861A595135141629538742190A00AF8D8D18EB48 P24D800AB9109272E1B9063F441418175363CF9294922EB201A68DA5038E1095BC6807B6C9010A940 P4283607F130FEB406084E2C7C35EA89BE617F2C0C05B4150406C191F0B0175288CA0E0627003339D  P99045E37E00CBD78698EADAB9C3AF2A6D6BDE6EA0E732CB600170852B448A1C24B8A861462A4C1DB" P5B655D520102F971E4C7DAB57BC40A881E5D06C5B16978D3A0201121EB3365A82024C81000A5D846$ P83BC6F52A3F11D08B10F1C445167ECE2D645828CC34A2BA97C20C22B828444D25C2CD510053A4F14& PF1CB1A1FF1D4DE071088038B81AC1C68FF0A7B060C92921A02F0D25A01350987CF2624ECD3062888( P1488DE7F8598160F2012D9A0000522A1028841179117DB5E840C3648518C38E0400546A5B41F4B47* PCCC199136790E08A15561836516C8FA834571FDAE5A8146436B8E0421A2F1DC1800A70C1F5945323, P8CD0C294B509F38E5B09A480519DF9B0A0864283EDC9E7A084165A5B0A2CA4100C9D865219130624. PE8D9A8302C9C7045020F90C0E8A448C055804CB034C0E9121C00D0C208130DA68003B48D9A4E99070 P8526DA1916B8DAC16A718121518E9E6C72DCA8DDACB18E000D8C70022E6D9070065C9BD6E6854A142 P7A292D32BDA901431A7AA6201C407FED41EC6E17256BA41F639030AC0BA8D261FFC3AF0D596083364 PC7CE17488F23CD2BD58263F4F214BB0DB934AC4E0007728A2100A66192516BB041063E1C70A0A80D6 P2A5080A80D2830F71A20212169458C580D028A88EDF4D242AB494451D748809026EF6ECF60894A228 PA880F0C0C04D8A07C609248C8C968E759193C07D39A34AC627752119552A43BD124006E3C8528003: P8C9044219A4931411A260A60224107A8EE4AE429609F92C080AB28F041290716A28049BABD300203< P0E16BB041CFB7086EB8BED8972852B4471E80ACC8784481D3C319851470591EED8AC1207092011B1> P04C7C8CA9597025E54515D1DB4C91A4F63B9B041EBB4F05A66CC70084233ECD9C548330D204B8644@ PFE24F28106DC7896C494442FC6B2F4D219689577CBF5A621C6317D75408203792A3002C973C72580B PBBC227DB8C854F8B45703468425235112C0C90C266402209083D2B1BB555510D54003597641C0425D P72056CF0F22BB498CB92B97E98366EC0ED17FF979E32335B00C8010814786700A83A816B24820C35F PA8444C96415CD6C40188CAA4E00BEC90CBD09E321105F08903CC13820222F6A489F06804DA589CADH PD271113C9D4985B6A2400DB0640539AC500F82C1C4381EE0C11B26018478D911847C482A221AF188J P48DC4210000021FF0B4D414347436F6E2004031039000000015772697474656E2062792047494643L P6F6E76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C2031393938003BN 	TURTLE_22P R	 	Q P000084000021F9040100001D002C00000000440044004506FFC08E70482C1A8F45160BC051209FD0S PA8748AA00C060D92B6F0A24CBFE0A4CD26B035AE9486BA71B29D4E0DF7DA364A91C61456186C81A3U PD4666B050183831F1F09058A592489058058032714362C295F2C360984010A24230D236371709B01W P9CA70109871026100F2020A901066B6B2703943614091B1F1A20051C7B4394272E708209A683A985Y P8E8FB70D6995C4516920AB201F061B246DC96D1469BA5A736D0223D6EBEC1D36240A0DB11B0DEDF6[ PF7F8F9490D091A090F2BF409546246D7980164F040B924B0488A74B6D6905844224284020926DA82] P1328CE307D9950FCE948838433531FB67D08F0E1C183958A1C647914E8D1001816D4904831C20592_ PFF4CF01A2818A1AE430A1B0877096A7648C4AB07CB02644044C8D1C46827408913C28246830744D9a PB178F162449933661E297A644A5534846BAC546B28E49D82BB0A406839328C0307251D08D2518031c P851DBA8813D3B560C39304052D48E8519C2F9319051B02E8F542995D0A0A2E28B468416104E97A9De PC15826930BE91A50C6268506D520858A140818334C6C0185575C6C220ADA384721E54C69A6C13951g PC064AA066B972E423B227983C9FA8ECAD1A9E6E25A96555BCA3AB55691C649906A8CA3F0314A131Bi P29A68D4BAA06CBCC66CBB441D8FF6A65D30F8B78C2060971C4904B0C1514B08102B92041493CBFFCk P53400AB9BCA0940D184555C054B164C3FF12084EA944DE29E6D882103C84B1A4800D5228C1593102m P08901416F86D9280084EADC449338324005D70039431D7101CECC68E3194D8A7068FE525E2400509o PAAF1461608BD4817051962C4C618DBBD26DC2868D1801D6227C003952A7A35E0824F1468771042CBq P8D42C1271534D09E626DA6A000606164224F230580A0426AF868610609A211AAE8A28C12BADA1B56s P36BAC738128060C05DA8493AA919A7E82599A660504800019A34424205A05251820B038C30801669u P58902A1499B48046032D54D7C0A0B33AB41A20D36C34460B4470D0C224AE469AD86AAE7DE3951AD6w PC501480C2DA42041642D08A0EC6263A0079770F50547020D6FC498C2988A5960FF61B0E06A01685Cy P7058B74B6A969DF38803E6FD188D228E40AB1420E8EA83140534041288338414D264C2D1EC22C908{ P01DF43096CB42DC22F46A71CB25206CD41A7D197098D71A7359928D9510423A2B4D23F108C470874} P197DD9530DAD3911EA082AD850B01C750A92702A20EC07E22937A6944800F0F878C2B34809104A16 P0AB8C0EB4F3034A702813154E70681186AC1F05A0904DDCA7E2F21A2637952522063200E68508809 P4F50909766094440820B16B4404A1B13A9A24A0644E7E7D47E216C2315791D437A86850680A0C12F P9E8C3C849F7791000205A852F042906A2FDD23D11FB40CCB321AEBD856C2711018C72EF1151635AD P16BE4302116AE351CC13799B8068022C232ABC96EA6C500029112C0CD0824F4702328A211EB29492 P5B9FA3BEC6155C467C4F26658EF082208DC882513301E06B7734B68C33AF62DABD908C441529928A P46CF964FC9B620C91E01249408B74573E44327D79088995378087387317C23107002931A68330614 P74E604FE38447E3C61031490E10D4A315F41120807170885327680854A7C842AE2B5864B283CD44E PAE6533C5D4C913B0DA030BE0E08944ECA55751F053364010810D1809870E1A073CDE813C204E8105 P1CB8801197C8C4263A313541000021FF0B4D414347436F6E2004031039000000015772697474656E 	TURTLE_23 R	 	 P000032000044EE00000022000032000000008C00008C00008C00008C00008C00008C00008C00008C P00008C000021F9040100001D002C00000000440044004506FFC08E70482C1A8F428E12C96C3A9FD0 P0EA532B03548A4C68015ED7A8D149B98726D98CD56AD99EC68D84E36CA772E4C9D4E8D30FE1A0814 P0A01191F1F05190509050D89578B6970162335570A231C735C28363466598A7F9F7F1F1022262610 P0F1F200981800558347B0D02365C0AB00F954D61360F050A24725236B30255147F011F09ABC9C919 P7D010D09589D66236EC174516424118D636E670327B35714776259152496DA502CDC580D155C5F14 P6153C023EEFCFDFEFFF0A4290371A5DEBF834358C411C3B08A9B612E025648A12205891136103261 P0143D29A339DBA1D5234ED8F190179C8E00190A283C17F14049039978584013F01560D1A14080484 PFF54841261B97632CC001209340CFAE584E39F69245C34906A639C959C37434100F10084B255CFFA P7C0A90C5CA892A193512097325469A332E024430032DE7223305C2D068A9B6888D0809062D03D1C9 P854B972D5A60496190C535120ABE2A78D9B7B2652F2C5E5020210132891A0A2E6B14738204889C09 P1AF015ED8E82D4112328246EA0E2088B14140654A1CC3A05C3706788B2456363840B0A2956B31642 P1A8FC3339CEEAA31334E5C36CB2C04ECC193C8012012A040AD42B408C51E2B026814DBCC9B0E851A P03D0C4C77B28B09F045C4530FBE3008B7437328D5041011BA4D65E14C39871020A0D30E807207D7C P200204143EA04060CB3CF35F1E55FD05FF820205684098724DB040C20014C0C65616271C521734CB PE8048208227CF0E22A9D9C85072D45B0706042143C900C7E09E0668305BA39D409841F64302385FB PD565522278CCC40F47620C105A426FECF816495E81725F229B7C948700245A1686003038C71D748A P54A3201E248CB1A5681490871F640F9D40C618285601C76FE015E9C29D95D960DA87AA7CD0C08FB6 P6DA20A082074B6DCA59866AAE9A67424F7A7A29C5E728F02182410C18790868A040B787C60402AC0 PA81A856F281060832BF2A425AB1329B420C005645C63581369667A4F0B035C93DB00B350F012070D P8C40510B315C8729195AC4610D1AE7C551810A759EE063A6F064D9001CF39D35FFDF1B66C0424E1C P9BFA368B8E68C0099D15D8BA01070298FA66C59767945452228BE826400BD832C69A052FA0942F78 P2665711728F792A11B4362F0AB9105289D712B098188D5CA279C2002E73D271957C33DA5FD531570 P3630D80A3483D4080DC987C8491D0C0D5CD080020A207C25CFF39C51C05C633D43480215DA481E64 P09B4E0480C30B0E18D1F887EA1501A0C9A118158CCF894807ECAE4F4D383269D1BA8188169901316 PDAC80B9CD1F725930A85A67465634E6853298EA2564CE369173EA6F85B0334CC373232118E4D218D P5E8925B21B44C99410B22D40F1CB5117C5109B181829FA941F8250EA55603BED4D1E59D5A0656D17 P9B8D170116F718C5E2D61F0630236185918BC93774CBDA502C1414FCB2CCA935586254827B8057B7 P8434DA05087977E11B46AAC42A0A8C020D10914292BFB552761F6189D5DF80D2E5C6A33F5C684C04 PAB569C0827E33393BC49C7C4618A712C8A7862C6C01E7344CCDAB19C17D8A002E718C62EE0F42F80 PC1811C2DE81E6B14A22744A0E50C779889A08873052C48A00504AC0C0B1AD02810682002BFB00101 P7681318CDD0374BF408A0A2428C2D2280002A8FBC067BCA0896514E0030E98CC654C6421A0FDE275 P4F38410C15A028246A44210A7307072653010E102084BBCAA216B7C8C52E7AF10941000021FF0B4D 	TURTLE_24 R	 	 P000032000044EE00000022000032000000006B00006B00006B00006B00006B00006B00006B00006B P00006B000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C766C02 PC2A051208D1A2D64AA35A2BC52CE309362B30D04A886BA7C6A50D66E755BDD3889EF448BADDD2EF8 P031F0501802083867E6A0924056D692F310254111F1F2024247844647C346A24017E090995101026 P26102095098382A0740203366099429E9797235C6664288B54A082949519AD0D09150E05746E0214 PB57865022F2F6D14277BCCD7B236727B148B092E080AD04D290D1120EB1F8A0DE6F0F1F2F34A162F P140F1B0906200A360A2CE8091CC282820B0A6FA0EC61D340808D172E5290B01170E01216666C2464 P962E428265053E225AD6200D9D13065BD4684042410B5AE63052A051460D4857198605C8302A0184 PFF0FC14ECE214391C4CA1429106462C1A2463735531619DA59691D08513BA70A225907A10D732928 P282001A20188AF425874E156D3A69FADC05A9158D36DA2464C168DB068002A81250C13518CD09822 PC6CB061509A2A8A14041BF141538E42DC274B2E521124F90D05CEEB2C03620340448A0A06462CF99 P38A4E8728182AE06294E73B884744458D448BA9161C951161D5F65349EC69D22F8948D9EB872DC3D P80CC44A2661AA8181E0F46278E6FA9BC1D49E2A34D3974F48C7051C06381CEF052546B206BCE5643 PA340942A142C40CBB9759A3BA421AA8086C6CF98F3821AD7D021C847ACC8271F048E7D50CC2006F8 P31170A9AD5419140C5C1E1D67653C597FF0A50A3FDE1C70927C8E2D03C668CD7421903F8E60A2B21 P7D208229A9B0024A2B88D071CD2CE9754709692420F01051644CF1872A36F2B4D52FD8C952833C65 P28805005E8A5850D4B313C652033556848971A15B0449C0015444052709EF0A25F191414D74D63A2 P4440024C79D950C88FED9CA79413C53D570305045CB6D7038D9526016E8826AAE8A24828301DA34B P756183040990438264908651900D3EC67749A66114D746779714008312055197A80A14546003012E P347005A64460041B027AA88A1B022A6031C25A0E95A114056422908243742E9A4273C169E4461B5A P4AE390AEA8B19061035A36C747747474B3509B895ACB264B2472C4CC14D89281FF101DB1C54601B5 PF12854A20073DC1252384CCAE14C897B0C50C308CDBDD100ADF16C522E1DF82990E31FFD29E7CC1A P314C795F80F130F042270237A0CC2B7C6D371215EED47B823314C0E0C0471FBC03E515E049551F25 P22B06263010EB0E40E6F1A99A100250B80605BBC57CC8142276F8DB2958C0F3CB08E482C71454696	 PA48D101252598055C34A069A7920202250A20A509414630015F8D1210BC529B88016342CBC309827 PE9F4C54A060B960281D24065F007C7DE62631114D8D6CB57887EC8E893DDAA1CA248D944C19B0951
 P827FB2F768ED88320C88455341601DC98235181B73D5E5CA1F3326FDF58DAE705C871BCDC963ADAC P2DC0D0109A36F861E0C0545E8B302320EF2D72A61B64C4C3C2007FC879D00016C492314B836035C8 P8310D2DC409828D1E57813363C50403B961C5A1C3790FB5E78211C1E1847F5D88C40F05265E03296 P267B9CD082B96A906766036375C9118936C42A4F0A7A48DB1144D5A2A7744339160ACE25B0D51012 PB8C08103C3CD0B90872D8544227071F04A05DB2711A6A18653E170071B06808D66CD22312AA04101 P40B0C2023C406593494148FC0202038CC50D6178C30B15601B12A860327BD940001E90A00420E60E P2C50014002B2BE81708A50859A13A89C60AD3444A48953CCA216B7C8C52EE221080021FF0B4D4143 P47436F6E2004031039000000015772697474656E20627920474946436F6E76657274657220322E34 82E33206F66204D6F6E6461792C204D61792032352C2031393938003B 	TURTLE_25! R	 	" P000032000044EE000000220000320000000030000030000030000030000030000030000030000030$ P000030000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C9548E4E05& P4582446D308CA9532B95A2A49AE0F0D0D6A0901B0DC1802C409F4F6617C5FCB40D6894DA60C475B1( PC44B29362768850587050D011F018D8E870E0D52246E14023136206405270A14804836152824840D* P248D058D1F20101026100F22208C018894276A03275FA04A2C6664949B8D098E1FC821B3B5050E91, P350D9B6628BE47360F05200E2027442C29D10324142F6D85E7E7C136EBC20A20051F111B0DD56199. P8BC6200935F5FDFEFF0093441B41A202BD800893704831A2E1080A27D89962272058423114CB9CA30 P52604A0344B612A143936B4E0D031F346C20A10020384A0D4C7D3C9480518646198CB1BA69E010252 PFF14364A45FC73D1CC89A38640164396C0D8A354E846AC03C841850D0454A858A0304040C56868544 PD14466EBA3539885229EAAE0620487804491A41040A200C768EC6C74B1D0E1AD353229245C44C2826 P9702052452F81DCCB831C2B9291E6CD0501384BEC44A52ACB1E198890D0104E234187170088B06158 PB0DAF8D499890039EC46534023C054A49848D1B420FA4DC562C682EC44A43132ECCC7340CF7DB6D0: PE042830D0924216461E7CC99420A3E1E37DE11D70914D130E9AD9540011F803056C71C6137408643< P8B903D7045EB4302442273AFE975115C031432CD84D32CAD58468B7B2141858645837501D1462119> PD3917D21B4425648AA14B29A198DD950FFC375A7042061061FB8F2CA030AB8A74A23758984C67E09@ PD931C2002D08B0CE00BB6C029253386128961B1309D00209FF80B3884A2C752088575EAD13201A77B P4189D782EB9CD2D114985563064B271814CA67E27DB61A4C9FA993425CC0D090150904F1C7180588D PA41481046820D05A3DE04460200888B979E79F80062AE8A0013590820271111A060B520D20417920F P3C10949F4750FA27305592608C0122924083A529B4E0820B03B0A6E83A1FDA05D31154A4508AA581H PB640C1281750D0105E142080800D31B8E0AA0D892ABA90430DEC82DB391351A442B080DA20D56AA4J P91066421B3AD810E02C1D9811B09BF3D464644B3C504A2463181B51A216438EBFF02342C09329819L PE6945B88A6B71CA2DD390314F2420C149060C07D1F10899044669C534004D185D514BDA7A0451B0CN P6A14A001321A6459E42027E41B96BD62E1779FBD8815F0042573AC63C0030D7C30C20AA6FA030371P PE8AC881332FA3882E129F8E2B85A5F12A4E00267E8BD61437BB6A4B24A2C107C20022389D88B8E5ER P8C31F00221BBA0401C7CEE21C3CA225C8B988A5D24D506F460EA957B70828B8860227D173AE2B08DT PB0FE73C6C80D449060651080008B2BE4C1E7F41CBC0037C8B15763588C4EC8DCF448D3648C606387V PB38107A5D18BEC9978D13E1E6B49DCFD50779D001DAD3896086ABBB288BD0954705BB836A0C0AC3FX P0C956AA3CE338184C6754D368B980871B3CD566542A73CD4800B2494791D7CACE08EDFE26E900407Z P692DF5A3C24C0BCF68C766F012D2344811245285BC60D1D5AEABDD8A41811429AD2498928ED7F690\ PC6C569589DFC27B0D4803E11705BCD35D73480B211B1B1D18B36839B8C2DC8465063949AF4519E2E^ PD80914D479C10B28E01BB9948339E2AA92EF624329703C600EA92140F912F2922BE5EF3F07E8C0EB` P1455041B7C201BFA00012546C842239C461F0FA809324A53C35F50C21D8749CC0A7B88853C008B88b P484CA2129518040021FF0B4D414347436F6E2004031039000000015772697474656E206279204749d P46436F6E76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C2031393938f 003Bh 	TURTLE_26j R	 	k P000032000044EE0000002200003200000000CAAB00CA0000CA0000CA0000CA0000CA0000CA0000CAm P0000CA000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C92CDA6C98o P842101AA266AB6A38D8420659BE07091E2A23C6D0D52638D6EB46D663765CDB6C51AAE6901A46888q P99670D7169050D0501058919018C8887846C74667F623068736B8587090120109F26100F22208C09s P89097470939460700D286A69019CA81FA422A41F8DA76B73685E362E6BAD5A5D0A24654F66708174u P99CF8282CC4E0D0F4F35C5943688562057DAE1E2E3E4E5E67F4F0466C3C36714CC67F1AC42CB6E82w PE74ECD28CF24090924054ED1EA45420D9A7DCD6C1878D0E083350AE660D4900690442346870E65E0y PF48113A746857C3DC147A4CD1C3516692532E5CF1F2253A8A28D24D961D9137B3662CDEAF4AD0A22{ PFF43C8D8146486A7CF37070CB5D978B0C79A1F2D702CA88AF785A6381B05483C50C0F5A9D5AF60C5} PD89BE80A8185AA618958BAD900C4837F6A20166950A10BDAB449C890C17313CD96340E2249DBB2AC P868B8924B8DA304173551B378FE92482A6CA909C390936ECE273F7EA2B4C6B124448652864E906C8 P120C9363E36C67737D3101BCF8E18328515540ECD2A4060561375F2D452BFDF1C337510A1EE8FE48 PABE065E0565FF13345CB388404A4AE7704697ADAEB726CDB245A19E0C3D607E815947F94A042057B P058846170F8CD6148C1F0B6C241F40D6D4640AB8808057E1C0E1020C7804F38E1C9084E402405311 P15CF1A7C2470CD35C5C0C0C8370F6433FF445F690CF20E1C284D18D64DD7C091C416A78040020671 PE1A554296F7504C2773286810D8E39F6E8E38F400689CE4C3FBAA10002E8F9A5843008B8C0637414 P3C80814F06D0A24001311CD10002121019645F599130871331B860A69740C251810D17EC05CF33BF P3DE6454DCBBCE342804F86C30E83733083499FC28C1887300C347041031B7042206C4E92E89D3490 PFA02CB25989CE5420C0E68F081060AE4B90D1BA041830A40E35146470C31C0A1C007056820A05CE0 PBD62D01A050594893FFD18F24F217F8D68C38D0D6031CF38F244865A69A49E9248605CF907A8A7C5 P34035A456A14601C2DD8AA54AA690641DB0A5B7438B0DE211D99775B0210EC62FF4022CEB1E62D25 P96FC82554A01ED521B27A5EC124006E4F9D7CC57BD3EB14F461C41E0C9270F18B78BB2FD853422C0 P24F806470111A8C4D1C1A17CA22F2A0118020C9AE7D850412C7F55CC7140D8D6F6C122876014C9C3 P569579102C8638624A6E096C6C0AA9D298E161637ED191122D19D806CA27D816E04060FBF409D930 P8D61010B05016DD248293997029245BD3C118C1A12407D0E165B34DA804035BB8451CB8DF8670F05 P00F9B3C7BB2B92D1A863926584F22111F006D9545B24B7878515C0DA4A1A095A4081E236812B5934 P7DC2F3E1440C31440101C594164004203C55271A0FA6FACBDFEE486EC44DC43ED009E79D51B5D684 PF05880D7524B358034C1A26AD9D0F7957DD880F98F4F58B2840DA75061405042BAF2CD76DFE09EBC P161B280041725CFDFCFC925A2976FDF6DC779F63100021FF0B4D414347436F6E2004031039000000 	TURTLE_27 R	 	 P000032000044EE00000022000032000000003C00003C00003C00003C00003C00003C00003C00003C P00003C000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C9342A384B P566A7A4A35AFD8624A40E98E1A23DBA9D1A0881BE386AD2168A0D6ED827AD0567C0A0992AA05CD2E P6D361465646405240D05890119018D018989880D346B032736567E580C2F6984888A1F2210A426A4 P221F8D90726865669A593114636BA08D0919A2222022A88C8F0501879F64232424097711122E7DB0 P4214035D145F36020274809EC49780028024CF5829C7C75D2E49368F202009ED0DE2F1F2F3F44D53 PF57E2C022418EC011AC28615B1F1E21B20408446B4A020A046973224002648E10C5F0A6967C86C5B P1520811C3C240A085233CB8C0D7C4658D8B0C4854CC80C8A1C2D4A1020D52245C75A75C184722009 PFF1A9E481800F6E85682A3AA2091A8D04AA3B5162414F4EC90C2060A426382456AC42E19CD08ACD0 P98BCC402DAD507802AC853802840041035884C39684D0631AB07A6A24CD1208202100A4850D44BB8 PF0541B085A08286B1809071223143C004CE2C34F0B4E2A2020C1F30820411414B838598FC1142956 PDB8C583D4B1B313463BA08F004E8C5080A0E347C580022CC54176C10561B548855584234805EB371 PEC84601553559E1860F553C86161133968109855AD06D4194FAD0A884E9A480D6A7E0041EA012A54 P010C280ACB85B45E842E0DA94AF6A13F7B1093F5C7C82A1A81D7D97D648C044A2234AD074102BBF8 P52D423091023000A125464110DAF6915FF0A600F3C0001081D01B3DD206B8033023308C0838F196E P1012934C34C9144C47898C318C36C7B493C00355A0400F0D06A9A106870B4AD24048AF95C1857842 PB000E55AC54066D035D435E0020931D4C21042664CA121611654F68106794077C416211D258104DC P358604793050B0040547B5B35E6012C8390F793564E2E7A084166AE8A1F5D8D025A2CFA440410A2D PB43025A11C9C70420DCF55D1C1A47BA850810D9312818002A0852A4E18122430946E092850400C5A P08D0820BA361B25359E449034654C68C098B35240C40461E869020880A55B574091919A131007581 PB8D04505F225A001647BD9400301D2AC868618698C045A8A0A9261810D230890FFC006BB29406A4F PB46A49D227B5B4D164530DC010C30B36E446C276E90A4A8F0BB7AD348CBD328604894B05924107BF P761696C2182720ECD251A01CC52477C80C431C758D59B3A4914B4650E1821E41120028AF592A704F P66606329310CD2D8DF073029F50975118FE71A210A3BD29F08223E707389377ADC867D87ADE18903 P8B385200230DBAF3418D45A1278D002FE3C3000A48AEA1722319B0C31E29ECD8C4E0713B11C60921 P80A0A07283A34060CA88574BCD4A1A801406C3094406A25F893479A55E2A370273DC3755F82ACF16 PC4383014511DA5DDCE800538B0DD55B32C09C808157C81924A238C71D5552AE7428ADDBDFC228C21 P729CF179C7200D36D00F42DF9180743036E5ADB82A9F5C72C208292870D47A294830C29F60031E47 P30064C5EA2DE88E4845F376B60FA4003DB2390973C2CBCE1DC68963A704848C078A43021B3ED1408 P112C84718254890A10C66774CC712F315B0362AA45F6BBCD6D64630D8358026E3C3BC4FD0630A811 PA8202A0918011402710D9209805F74A14BA104108C76800005A1AACA0B2850AC080C0301862287C6 P8E413F234CCC23C9780B09E272A840700F132844820DAE96B7FE30AD50FFD34244D8E12E123C8051 P5860015B8CA800E221F189508CE21383000021FF0B4D414347436F6E200403103900000001577269 P7474656E20627920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D61 792032352C2031393938003B 	TURTLE_28 R	 	 P000032000044EE0000002200003200000000C2AB00C20000C20000C20000C20000C20000C20000C2 P0000C2000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C0E6D29 P922D991A51062345CA66723653140988441A17488D56C3C63E35DE701B45D040B9DDEF9340606B90 P585E8143297836746F64116F0505018E8E098E050D67937927271482815B789467928E1F22221026 P261010201F918F09706F7C58240A9B4C57350370349F8D191F2022ABAB018C8F937D6F6C14232835 PB43680B64815286C369903BA86C9790D7A23DF50D2D3811C2F8E201120231C482C36C5AC01C00D29 PE5F8F9FAFBFCFD1C0A7E5464AAA0A98880112EE6B08135A28F9C180DC279F890218102172EFA7500 PD382428B866EAE786A9080448104092691A185664D9C681A8D5C1B90EC8CC946AC3EE88C44F151B1 PFF93DE48F0894984C58B3714F034F2690C65CE00191A1570000BDB1A1B2649A02CA040C20015FAE0 P394473F2A481492741A0FC69A901853734EF112D9202CB08122D06506043F32A5F0A9524A04130F7 P169B172FC82179CB75CC8AC290234F1B60E185DC251CDC495EA28204180AD238C8DD62436F0D3F1A P12805030659F14051154B34AD98070070E08689EC0BA3B1385B7B01A0898434101089234460850BC	 P0906857B7B5110C0E27199DB64BAE030A284663789130332F1B93C97828B85DE28955C64899103B4 P6DFB646213796F7038248A454AF0E1C103100006108954DDB9350779FD9026077E057C50CC23AC80
 PF0DF03C01C93922585B446140C346407FF4B53F48000C1283A39B894801554209C5BDF9C4042052E P44E1D93E0CD061D51B11E8D714800FA002420692E4D7521E7CD1A256020FB875803E2F9CE7D222C7 P48D28A24EC7D33001F50D045540A28F0A28C556431D21625447253DC6642D4E5C20877094093216E P92A09C7CD7B031029A453C5740041A9020411247A504426A0938500B9E8390D1800214104405091F P28F080710021AA0F829666AAE9A69C6E4A5AA7B6A410E308CC1921907905711A450A15647944696F PD1A2404A29685658A942BC888014509486147123A87181019168A000090360BA09079990306919AF PC440D7352E85B446526B08F0C26F277D508006233C30803E27549080060110BBFF921FA4C142552C PE1D9D1802E93C010C342118C50430AB80A62C35DF27D135138E294B65037F70577C5BD1AC6044FA3 P02B860208BF789B91D1967C0E1214D91B130024D0709D78D9891603C95AC6312A92C3FBFCD31921F P406D67B1C5DCC1211E4C8561836D4DEB8909244FC41860802493F8B64661A4BD750899C68C928A2A! P3B41C54849267D73901C7389D5477626FD146588ABE824A031948474E05C72ECE6E152276590815A# P4F3F408A83C7A46C030D2AD8CA0F3C28B885097C27D1534A2A26949200905289191C1B128F50ABDE% PE530F0021EBBA1001F4F250AB8D68324D5E1B732EC1EFB2D1A99E1F35B1E748032F552C000A8964F' P29556D333351A004DC607128E4B3E01B04272ECAD31088D0D383C5E0B7177A2CFDF6673E5CC2D137) P0DC6102D762852AD770D260501921456095AE549D7539E64FB070628128B81F46D26070D27784949+ PF1F9B105B3C2BAE129968B2D38D477C271D86C430C1340140B8853A72B1D0F1B7A400A96AEA2A97F- PC5A0656EBA121FDC20941778EF1B28B08DA538709763DD69231D60410A3E6383A344A00063D8001A/ PFA05190E748D15ACA1827A00A49A5768EA05B3FAC04A0E75040A384527ABF9430315708207604D091 P36D880A414A000C7714A842C2C0A0B3E62830AAC0C5458CCA2168912040021FF0B4D414347436F6E3 P2004031039000000015772697474656E20627920474946436F6E76657274657220322E342E33206F5 066204D6F6E6461792C204D61792032352C2031393938003B7 	TURTLE_299 R	 	: P000032000044EE000000220000320000000032000032000032000032000032000032000032000032< P000032000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C95CB25C88> P160599B20D060DD2269100915CD3A6B8536950B28E8685E81234DE6F8AC0D640C11B343BC56AB385@ PC780292E2A237B02240D36270D055C6F059001925C1906060592888B667B2C80807B74676F0E0119B P921F191F2020102610102209A78D05241565A3892724245CBF140F281C9F457B287D702492019801D P1F222120091F0519908C052356723629C5E02C36346F247B890D27739B67577D7D9EE0F243142A01F P115E7F47365CAC0A0F0ABECD1B48B0A0C183088F28188180449F73E91CA6B311C34F960F240A2422H P567044850D5EBC3418D1A24503378B4ED07904A911A35E0932C23931C29D8D8446AA9C18B589E507J PFF68201E8448F0ECE787000922694497080505120A708AD37362113946CD906AA5B64A81D666CB10L PBD1991A8CF0972E648204C31601BD32C982E41FA692BCB9D772F26E074D29642A10102AE0CA8FA6EN P40462E111424A8C171EF121B0F462870182F090B1629285476CCB973932A4C14D8F832E04163CF54P P2820D85639DE9E1A144CBA30E0219586142B289C46DD41458C6D741651181E074E8C8AFCA22654D0R P2085E2A331C5865AA90BCE52B17778FA3958C54F770202FC9EE4B90952D298D91CB47C89FD64A2CDT P08A574AB4E2242C648CF58B13A9A35E952E17B0894100B7B9CE1C623CB3033C92A41EDA7A0244B69V P27400B5FA4808873BB8D210E16E5D9D2FF8C3301B0020108461195950328CEF4C6262E28304D2F24X PD440100C2B1D58400410B684142B2698200208394AF2C64A6678268700348C620788CE9897DF3D69Z P1437875ABC755747035830925436D8DC655822FAF036440D73BC63C31C03584142212F2852CE1B08\ P8869840D6409F20D7C438CD6C834F93580A7671C08808A7D9329414104F60134C29F62FAE18D9C90^ P462AE9A494428A800B0256DA410A2FBC1026114F98E19C4C246428A7002A4881C41E23D460860144` P690082022DC419E953120CE7C913830DA7D20831500058041B14A0412F1464CA9B02150852E64C07b PBE71C51C14188088049D71A0996645BCB3621F2DA8B4221C670ED0E64D38A590FF05402432A7DBA6d P4462278A75BB9015581C36300A0E09032826C916BD14A2121DC960C94836EC25E0C28A8B48F46841f P2C08F040192A2549406C02F464061C4905E08B4669F4D2654A86281B0E0CF154111B050BBB095116h P882CD5D2CC5C46385C788E71E0429A592AD365460A3A08A1C7325901A66316F581C22630CE15222Cj P10FCA4604B091C8C2FBA3815AC8BCCCF5083CA070F084DF31D69D2F98685A67ED2870081D1017456l PCDFCD40A2C0F88C01F26340BB74B160A2870E306E6A800CE3BF792C28C33D0403DA2DDA740984005n P3490539543A335CD8AB02EA4BDC41E1A5BD70C513FD94D1417A87CB81EB96E664442640FCB63C10Bp P760CB964232632C3DFCA030F8CD878936F827959667E683E0603A39971429638D68209D8B188C078r PC7E8A9F3CEA70845DC9E583A4E02E4D45DC2216CBE9E89236D1EE57CC50C35A4F7427628CAA10603t P4AB1D712E487F4A633E408C2E3242C0D7414900C917718522250023E4985A22A581ACEF71491A645v P98C90628B095A436348243786A0E7320170CCEE0370C20A27DB7F2CB08CCE1A800E58B02AFF34517x PBA508D114C0A11F501410394A0AEB871A55092C20A08F0D100CDB1A001D38040DF0A31290BB80048z P3294C000246804F191203315D0976732730617604D5380B80C16B7C845D404010021FF0B4D414347| P436F6E2004031039000000015772697474656E20627920474946436F6E76657274657220322E342E~ 633206F66204D6F6E6461792C204D61792032352C2031393938003B 	TURTLE_30 R	 	 P000030000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C94C52584E P1BA5314D043E0B904AE56A7ABF8DD1C8663B9D062D1BEAD46037688DC1A011977E9BA441E2B327D1 P5B2E0336746D8405877E8701017B010601050124938454143629775F97025484938B918B7C101026 PA5221F1990010D05958464656F342414249A47162F830D9DAEA0A1A31FAA8BC606AF84149723B9CE P4264036E0D83BDB236BCD483937E1CCFDF422C0D93112035504A141109240F1234E8E0F2F3F4DF1C P1C99F5DF2C022963E82DE65063636380000A0206382031C29B3E220A3AF821E16000820E2C7AF929 P64E85501760A481C6A8082D0894E36E27DB36061480A2E2A28089A52894404578A4094B2428C58A8 PFF432395B53941A285823D09D82D73A8E99A1C3A0544024D7AE503A30420403C806095D5226DB254 P3E0C7782028D01144AD221714C11A46474A4D8C234F60B0A29026CA14D4866590A18234466BDAA20 P62DD250C063CC0AAE0840DA687234B96ACC00689C28846B0103B99C88814CB8E5CAAD1C202951A11 P367C2CF0B8B3111614103094158B0E85642F2E85758DD10819656505BA82456DDC08C774EB897900 PC22AB711602FD58C34E99003A0C082B25966071CA6CA640810B0D1A2CD20416C48B0C3B9684F5611 P0156BD8D54BB8E0D310D5CA450EFC7450B4D2A1CA4DB5D9528424C021F25A0C0030F88D09C318854 P505F4124A4B060486348E04C0AB23C35FF8E03108E224229CD1D380A2B6C6DB45177FA64D44B716F PD0D19E159128880A7C19D07888635408225946D410380E548AB8F5111F08BA100B72CDF0C60C1DD3 P4C8220541B4169902C17F0F69A2CC825248834748C815682111C358E964464D4420C45FD978F1153 PF091556115A239C42D0580C058034B40C1C29B761271CB142F7016E8A18826AAE8A24388D3423F0A PDCC3E8122D2C73D906018010521E906949012F867640460B35544082011A58A54103A0851A193F08 P84D628461C4A018300E5A9A74003E71C2A8E0A15A4049B1B675462430CB224E0AA6B0854E04F1983 PC834054D505E22880036244A1B1D820CA2D6407151EB18059251C0614B43B840FF93035042B59648 PEBD52607B6CB6A52410547E9B9910AD7CC32C75409AC354E2294282353B6F2E4A1C03A06B0C31074 P2FC6011582EB0165B12892404914B6E47E930706019F40435ACB8C30C708344595885B8B34976391 P905432850DB5A4D0406191F6A6848B4F64344005958E41ED5A232982D5563E1983602470D926CB2D P12A4504004A96D40810A77A4E082001CD7044A4F59811DB6313FBDF2A26381BDA2A7562454908B74 P3255898828561153CADDA9289D400415A8757618523D70CB37057147B457AA7C00C1882426CDF475 P511162725F9B8106E8DBBF55729D305664955552492940B65B24649E5C3D3E47399CC58CB072F456 P791BED8714DDD6EBCACC2570D41741D991280E41894C373D85207C4666412F14F038F04F085ED17A PA6A1C4826D0C9D8EC5020C9F58F606CB6413938C766D74EC5A5AC67EF2112452354D0DB62C6A6901 PB6249114B149DCC645866316059A110D6AB950C653D76288005ED009916060126E3B540AEE72BF82 P44035A64E84404F29494E6342081685213054660816E5D62332E6900820EF4814DE94F00D09944F5 P8A700B3E3C804EB6ABCB1602508ECAACB0511A4909A25CD1B29BB9A00B935AC2321E600305A82B88 P5E90820E91C8C426DE21080021FF0B4D414347436F6E2004031039000000015772697474656E2062 P7920474946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C20 31393938003B 	TURTLE_31 R	 	 P000032000044EE00000022000032000000004D00004D00004D00004D00004D00004D00004D00004D P00004D000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C0E5914 P4AA35148683E8114A935727A9B5A49C5469E46A5035B83361D48A7A7938DF5FD726C24C7C0D5A190 PE527530D24240109540589018B01890989540D6A0D146936020D120A09091F09240D2A492969747E P142A2D7E6A6F825305011FB01F1F101026B620B28A05068584939229754CA781539328BD8B558A19 P9D9E8BB2A0700D2373C4D9422C3623030D272828926A93642324D76E05B40620EF99DAF21D2C03E8 P9C35C3F3FBFCFDFE471CF4FD934721C60B0A47FC9C10F0E2451A01343E081CE885C20B320E90BD9A P4228818202915C9D39C58F900203014028B036C2851B4ADF1A7002992843CA072062D1C2D28859A2 PFF0A70D41C3BC6C6C6C43ADC5E9621B1AC11276920121802F10057CE4789124D92D38062110B0246 P700D44828DA24506A83402896C15990108BC3A614143809F11950608B04181CE131B09723E78A040 P0142B94B56764AA9C028E2C790FB49290C4B813D0A7C2267B381C285140A0E3AADACE15773111B2A P489CD00705946A57300E0AB074D8741112155CEC95934CD0318D6D07A439FA98432B57541EB982C4 P8B1A384AAB14102291A201824F0A2A50E89284458D4D9E088DC0FB5B50569A8CDEE5B489152B7229 P5CA7135E59FB48260C876CD02060A3450B1B27383748044CB1038208BAC4A2004E22D0D253004C21 P478924F535C1C01123D8D5C000E511B2FF562C19D4624B83862CC6C8896DCCE6D83F299031891489 P14C8CC89298100812EBB64E54A1A037020173734A080067205C2F2E02220401294147CD9E6C70040 P01370809CA552389460548074A05B60DE1470DE350B31719BBB9F8023AEC78F20161A2742944146E P9040818F4BC02856855DB290023B0944F0400524B8290F37869D6081A08826AAE8A28C76908E5DD4 P055A5AA347ACE482021B707285020870416911490D50C305BD5CC18E03DC21BAA2112DD6D0420C27 PB8604D9F36D089A80B29E04A440AFFFD77E50B02C0E062938952D0428B29B0C00D32ACB472C22995 PF035A969512090C2355C5D2340792320778D8BD34646825E27742B5C30831440FF82AC8204F32C49 PA6A9A0461EC841E2D174541002521C1BC2894D113EB2C001029935A1AC0D87BEC9D1376A64355301 P0E9C672484D404E3E2002D542001AE0938A0920204D80A90BCF7B65B461A8270A29C9181F1040B2F PF56AD411539C18C625122C349002081A18F00928DF4A49CD59814585C5538FF4A49C50C8B8712953 P857595C408157442E52504747BF224452A4295089DB49C13338F2450010D34F8C12C1951244B5C11 P1490D0D8B715B440095F44CA3D8B27B33C608B2D1FD8C44C0311ABCB1132E12A6151697418E7591A P28701549212FD728C22D0846130B234616C01BDBFEAC820905C730C5797AEF40A072027E07FEA174	  P0046416CE897E02DD548211F4A95748D7E2368939266449BF83C2E4ADEAD2B8BCC240D04244A2315	 P5BE47423578B9CB9D2B0873E3D9FBCCAD6ECDBC6BF3F0A3B09CACE9D65C859C0476FC301D49E7938	 P1B1CD14C93E1666C58C6142243B6EC95C7B452CE980310DF20B013154AD8060A65084401AE51090A	 PCC6628368052048A168B9FB9C92DC33A17E99EA5AC1615A2131F330CA25AE48211A8822F6FA3071E	 P36209D07C443502910807FD2913F24502005385454CE083141100CE2534BC8192C40801B09080088	
 P4A60800D1400822546018941E48B0DA048C52A1E21080021FF0B4D414347436F6E20040310390000	 	TURTLE_32	 R	 		 P000032000044EE00000022000032000000003B00003B00003B00003B00003B00003B00003B00003B	 P00003B000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C96C922829	 PC5A6F0592448A35673CBEDB00696119133209D288D7421DDA0A0D3B6B88DD2AD2353B60689AD4E24	 P0A050E80010606010587886B7C6C7114237B35340D364C0A14201F06200559232E0270277A24110D	 P881FA9542210262610221F0901011FB4888769036E3624764B72796C806B6BB3C48819B387092009	 P7C360271041CBFBF2C1436030DA127A30D27362703E4E494712F2F247FCD0F200A97D6F2422965EB	 PEF7AD5F3FBFCFDFEFF008D50A041C1C20B176E1A685010B00E8B060852B8109707CDB76224F630A2	 P04AE0C2F1A15468C68E0C2851F3F7B24704951A1410C042CE29C3911EA143244CD20D44A65EB1633	 PFF8D8BF450A2D36504050936F0CC9138229A0D1434BE91C08593164F1001DA4180650B5084A07258	! P341492CD468D6D6D38EE99842BAB01621AF3843B454281B36735C62AC1F6748000A3D28826614158	# P6F973DCD9E287861B8B1E32D0878155080A50505158F7FB9A9D1E08201071B3EACA9901949612479	% PE20CB011235B8C17614B1369918244D214D9DA240497E69B37381D29ACA620D6080705B83352B830	' PAFC1889ABAD4A44940D9E6A00019370A9749C2458175F09AEAB386166D9AA97F4ED102112B4086AC	) P7F140162F33B58712E1C54D870965164368BA31470854D593D0041061F80E08E08B1BC778B03CBEC	+ P118C0DF759A247336B1080C2002DB430FFC746C3F8C4DE56EDF9A16026872492861BD960B6D20B82	- P0DC1411CBC35B0DA796D0DE2478A011818CB329C68C4C66A15FA539630948C82025D11D0C2E32DB8	/ PF021C06A48FA621803307CB3E41E287C435750D2F4428100025800488209204859690CC421000D79	1 P98E1666049558807091B4440021EB21561C308307497429FFC401200081AE85109A1F2E0910DA390	3 P462AE9A48EA5600207F9753028A54B34004F02096E00820A0A08B029A763A4D540041AA462C00734	5 P14892A1E0318A5DB3D368C87EA108EBAE6D784A7124A018C7652E00D92944C0923388EC8DAD80008	7 P7858DC1B73190B0D1B24EC324738C126A1800BDD76519B04158443A3702820CBFFC8246CB0F82B71	9 P1D1CB747461F9000424608C8A34203293495875FD065041E46F3D1479F1C68D4652F4A50CC93020C	; P713860911A41DDE4242220A6D1D40919C173EF031430244F648D507C0532B56405A580F3AD91DA48	= PDECC35C7695C60334436E60EC34E03CB24284B563D5145420592BCD1C670D628C07223BFF1B10820	? PEF89E0CE7A3EFB11A503823CC3488C5B54008F2CD979F88DB55315B34A26CA80B015571910730B09	A PB4244B66525D24D5E4070A5072011AEA5E083715B620A8762BB1C8D213940150F6CD8D5D9C20C106	C P721210521BD1188C6D8A1F20C80A2B402B088B7B050FB99A055D3CD2300B2954D3AFADBD384D458A	E P3BA69C955D10A0E8DCE45BC0B561470ACE6AEA481B027859F62038E1E2F3CF568FE0321ABB3474A4	G P397A8CC2964FC4B7255A5036CA8102D7FD28258EAA15A5E1C01E6D256080758C08A380042438C06F	I P432C184463034B7A791EDC87C4250EC42F0C20E05DB2408EAE00F2B0B4D0601B63E3CDF7A4C1A164	K PF5021099680665C215106C082037BC79C219A8D40D7861E314580181821AA092D264034E72F08605	M P5633020A762037366841EF1C1393478C6085BB62821B2031951ACC30872CE018DC12108107E42D5F	O P3934020BA662954BC02B89476813091E10071742710834BBA2167715040021FF0B4D414347436F6E	Q 	TURTLE_33	S R	 		T P000032000044EE000000220000320000000027000027000027000027000027000027000027000027	V P000027000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C9545246A3	X P00480352A55288A676DB4CD91ADFC1EB35107C1B8D93CD66B6A58E9C5523957024488D0AB7C89A23	Z P5C6B0D0314030D05680578058B0601058E8B918B0D1460686D2C7B463616596B67688609888F1020	\ P095210AA22201F09A801198E8EA182022F2D5C0A361B206036832D2E14C4270378A1240E8F920109	^ P91B18F01D301B5C63627091824AF78999A4C2C0C2F361424143469960D0E140202039F836F462C57	` PE0F849290D24DC1F11FD6CE41B48B0A0C183088DA8185023CF087E0A34084CA889530B0A43529C40	b P5328D49787B5426DDC18CADD9A1323FA29E8C76FE24015B5BE242A304ADA879B1F32DCA4268DDD22	d PFF5A6A80ADD1A4F243807E2D46B4C0167292216A1974B63A2505C4031146A77D4884E6041E1B2AF6	f PD8B3A084C5276024BF7CA9544BD2333C14D6041C446251820F204028D845319C171A035C34B040E1	h P5BDFC319CBC5C588B8B1E3260ACC22E0F078204A12113468306AA0809ECAE0E2D670114340DCB36B	j P0A736101332E017C2C0C0FA190024AC8745F46861A440CDE9A0A0D5CB420A1E05537949435B1A04D	l PA2DCA7E00D50A0E9C7ADAE21692C4386CCBD865E4112656CA46BFB2AD25DA3519D3D9B96A842BA43	n PD6181F14F02B94249B101EDC7D004204849DD0CC72D43A6684A549031FACF4C408279C50C9001BD5	p P5553003BE98417045839631586394102FF1F18CDC9C6840AC4A1028283288CE08219229194084FD3	r PA082CA2319F477D32BAE58F3C9460A6CF1046D4678911A050E6A874804D408C8DE75C860F30509AD	t P68308D5E2A88884F0AA7D950037D97E84692216904424898E5301057030980B0413FAA3D86250C66	v P0840C348D80C60C150A00DC48200175587820D3DE63910058FBCA5800BDE09AAE8A28C36EAE8A390	x P56C60173FD8CA0400A83449A04897BE118800605B8A469111C50828601066C7647A0A316014C520D	z P8CC0961D40E683809506A5609A00319416433C160CE2A41BB816B117091B5C914542F63015D220D3	| P0D324021E1D5BA521E2E70739755285CB9866C9588F9A548D185429F0DB29AF4FF09142E1CC29F02	~ P0FD890DC1E14200093405EA041080A5F16908222FD70F5E1B82D9593520334A0D02638369020C139	 P0234184832772882087B90C404069DDD1DA4820B1530D824296838B04C92CC40B3880382D4126EA2	 P050582CC75024B03020431CA92A43311A0314A1A41D9502C388269F7CC8469FE27552B3BCDF20809	 PD370D49BBCF918E6059D95D44CD3CD216490F403A664E535C6771450645C1380C302326CD117AECF	 PCF8892D7331FF867820958BD925786937CF8C9D049F4710A4B234C4B49C4D345F00C8D8F7CA08A2A	 PA7E0F500DE204833604CF26951C3031F18E0CB09045462CCCCF641FD133538157AB308B09407A650	 P3610E0C216FD24A0D8011E2884FE503CCFD9773AC6854AA3D38C37F97D1A3F78D450E5120A9C2081	 P04B4C59505316C7134B12133A70C8980D2C027FA0933A5D98A020D306146E0591EDE15D0D847000D	 P2A8DB428000C2FC440E8D67A2B68D01AF184742EF2E341535D1C809B3508660D2F18C1D1A4F08007	 P90E0330669D6181A7602E998AA41875343034CC306B5C84648C03901CC28822536C4AA2316FC0A30	 PE221801142AA5936F853079F601AC0B58A18B222810B22D3AA2594A3010A88405EAEB5AC1E92EA5F	 P14D2CB08DC604438A0015E5F69E212EC6143295AF18AA30A020021FF0B4D414347436F6E20040310	 	TURTLE_34	 R	 		 P000032000044EE000000220000320000000079AB0079000079000079000079000079000079000079	 P000079000021F9040100001D002C00000000440044004506FFC08E70482C1A8FC8A472C9542A522A	 P0A45C06A5AAF4D964DE062C0A4B6F040D0B095B7A7B02DC5EE345CA38A24D14824480A520A4BA4C4	 PA4551D29270D53368405248A24050D0D0501010593948C15288E8E240D69367C4C038EA18E949319	 P011010A720A910201F1F7620221F91949984027B9F2924B18A23236599C48F90B59294099401CB91	 P0D929B0D2F36301694AF20DA200D124A2C022F4C146A362828669934349936EC24E43631036B9FF6	 PF7471424CD8D2714BBF8020A1C48B0A0401523146CD090E08306470AF0D97820019E412283CC5070	 P84421AC7629C0811DB18320CC0802C5A8C40908282C834A4EC3063952000AC48CE20E98CA4281DB9	 PFF01015330E0D081DC89502710319A14A956810FB3B4D54AA08D16CE3B23C390A868274185884958	 P0C5060E70C8511295D6C24538864031266CC3472C42ED19D46EC1A08485AAF088B14812EF26121C1	 P460B182E16A54320B8B1E3C790234B668240808D0020347C7051462007152A1C176A70C1458D4406	 P3EB0016C85438AC405A82AF8D7388500CB0206A411204513A70603A4E80353AEC10812891BA013AC	 PC251184784CC70D6B42F91C7762E7D96A14070009B727C6DB86DE48069B348FC20E12C503EC0A634	 PC1F782154802C6A1624CCD7FB00A352AB20CB1D82209316A1494C221BB9122CD24FB7DF0D42CA974	 P05C20326D0020908054C275E18983086FF050B1438B009059C99014F3A24D0E18824E7A157937A37	 P35A5222E27C4968001016400421E271951C3031F180082782804430F872035206226EAD9D2A40173	 PE146C20861BCB0A2361B1440A5131454D4E3102D81E7084964C4D5000D2265E74F3CE44CB6040B0C	 P1C18069B358471DB08160C109A9B03A5745C040968E000273604C6A73D0A30104F5F8736EAE8A390	 P462AE9A493B16028A5DF98F0D6082020F00077982281801ECB681600431504540809043806CF260E	 P1810810620E8F109072C142068AD24D4D0186F358C095C3996CDD9C611795490182C76B8341F4120	 PA220C50B02C0F0C718D8DDD6D61696D5C9DB1B05289047B09E08A64592474127FF92BA2341B70549	 PB6D666DC462E39570C23A43C92A4BB260DD4126B423437265B31E16BDE3E2F1A838B6F695CFAC91A	 P2974160621D36592E2529340A9537E0554404A3F6A58062A3E67A950910B08F6A6702931E6889E7A	 P4A46A0DE5C48317A0F0BCD55502F31932C68132C404BF54106CC241380027315124641CF39B79122	 P74A83761360FB4625524199C32093122154A100724A5B3F23EA83CD04C2A2654D8CC07555FCD5331	 P27AC4454504D33B9CC230DD502202BA988D0CC84AE20034200EDA82152B05D5E81099969A21801D2	 P4D020860CB1F40408B1DB1243D468D11CCB14D1E4CE471873423689B64222CEE54D33290102DE080	 PBF1D62E32BB22930C9C29743E0B17A23049C852D743CCFCC0CC7384189EF21603C3D494D3B0EA944	 P0308A4460701030443CE5A4A8BBD755D8AC84C3CC836D4BC5A3C0D54102F120A9C50C10670853102	 P071CB430F1BBE9B06566288AE4A52F5FE4DC1686C358380B05002884BFD829297023C4087443880A	 PB0831ED7BBCDC882C2002BFC25051680010C6EE30F8F018710088449E90618AA22C4494EE6E0C25B	 P5AA0000910B0844290420B1A302B6D3C00030280E11106A1089BD890363A3C82261EF080A5059109	 P2F3CA21297C8C42606010021FF0B4D414347436F6E2004031039000000015772697474656E206279	 	TURTLE_35	 R	 		 R TURTLE_IMAGE [[Ljava/lang/String;			 		 Code <init>	  acm/graphics/GObject	
		 acm/graphics/FinalPathElement	
		 finalElement Lacm/graphics/PathElement;			 		 setSize (I)V		
 		 
turtleVisible Z			 		 penDown			 		 	direction D			 		 acm/util/Animator


	 animator Lacm/util/Animator;

	 	
?       setSpeed (D)V



 	
 	erasePath
 
 	
 (DD)V
 		 setLocation


 	
 java/util/ArrayList


	 path Ljava/util/ArrayList;

	 	
 sx
		 	
 sy
 		 	
!
	
 delay
$ 


% move getX ()D
(
)
	
* getY
,
)
	
- acm/graphics/SetLocationElement
/	


0
1 add (Ljava/lang/Object;)Z
3
4


5 acm/graphics/DrawLineElement
7

8
1
'

	
: forward 
cosDegrees (D)D
=
> acm/graphics/GMath
@

A
? 
sinDegrees
C
>

A
D 	movePolar
F

	
G 
getTurtleSize ()I
I
J
 	
K
<

 	
M setDirection getDirection left turn
R

 	
S right 	isPenDown ()Z penUp setColor (Ljava/awt/Color;)V acm/graphics/SetColorElement
[	
Z

\
]
Y
Z
	
_ isTurtleVisible 
showTurtle setTurtleVisible (Z)V
c
d
 	
e 
hideTurtle


 getSpeed
i
)


j 
turtleSize I
l
m	 	
n paint (Ljava/awt/Graphics;)V acm/graphics/PathState
r

s		
s
	
s
! size
w
J


x get (I)Ljava/lang/Object;
z
{


| acm/graphics/PathElement
~ .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V
p



 
drawTurtle

q
 	
 	getBounds ()Lacm/graphics/GRectangle; acm/graphics/GRectangle
       (DDDD)V	



 updateBounds 4(Lacm/graphics/GRectangle;Lacm/graphics/PathState;)V




 contains (DD)Z main ([Ljava/lang/String;)V "program=acm.program.GObjectProgram


 acm/program/Program



 start


 	
 startGraphicsProgram ,(Lacm/graphics/GObject;[Ljava/lang/String;)V

 acm/program/GraphicsProgram



 getComponent ()Ljava/awt/Component;


	
 createTurtleImage (D)Ljava/awt/Image;


 	
 getWidth !(Ljava/awt/image/ImageObserver;)I


 
 round (D)J

 java/lang/Math



 	drawImage 3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z

 java/awt/Graphics



 5(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z




 getTurtleBounds ()Ljava/awt/Rectangle; java/awt/Rectangle


	 	getHeight


 
 (IIII)V	



@$       (D)I



A
 createImage %([Ljava/lang/String;)Ljava/awt/Image;

 acm/util/MediaTools



 repaint
 
	
 
DEFAULT_SPEED turtleSpeed 
delayCount TURTLE_IMAGE_SIZE   D 
ConstantValue 
SourceFile GTurtle.java ! 		   3 
	 
   
 		   

   
	   
 	   
	   		   		   		   
l
m   

m   

   

m 
   
 
      Q R     R     R   ) R   n R    R    R   E R    R    R    R   W R    R    R   ( R   m R    R    R   8 R   { R    R   	 R   P R    R    R   ! R   j R    R    R   9 R    R    R   	 R   	S R   	 R   	 R   		   "    	  %     %$  
" YSYSYSYSYSYSYSYSYSY	 SY
"SY$SY&SY
(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSYFSYHSYJSYLSY NSY!PS T& YSYSYSYSYVSYXSYZSY\SY^SY	`SY
bSYdSYfSY
hSYjSYlSYnSYpSYrSYtSYvSYxSYzSY|SY~SYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%S & YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%S ' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSY SYSYSYSYSY
SYSYSYSYSYSYSYSYSY SY!SY" SY#"SY$$SY%&SY&(S+& YSYSYSYSY-SY/SY1SY3SY5SY	7SY
9SY;SY=SY
?SYASYCSYESYGSYISYKSYMSYOSYQSYSSYUSYWSYYSY[SY]SY_SYaSYcSY eSY!gSY"iSY#kSY$mSY%Sp' YSYSYSYSYrSYtSYvSYxSYzSY	|SY
~SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&S' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%&SY&(S' YSYSYSYSY SYSYSYSYSY	
SY
SYSYSY
SYSYSYSYSYSYSY SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY 8SY!:SY"<SY#>SY$@SY%BSY&DSG& YSYSYSYSYISYKSYMSYOSYQSY	SSY
USYWSYYSY
[SY]SY_SYaSYcSYeSYgSYiSYkSYmSYoSYqSYsSYuSYwSYySY{SY}SYSY SY!SY"SY#SY$SY%S# YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"S& YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!	SY"SY#
SY$SY%S' YSYSYSYSYSYSYSYSYSY	SY
SY SY"SY
$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSYFSYHSY JSY!LSY"NSY#PSY$RSY%TSY&VSY' YSYSYSYSY[SY]SY_SYaSYcSY	eSY
gSYiSYkSY
mSYoSYqSYsSYuSYwSYySY{SY}SYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&S' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%&SY&(S& YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSY	SYSY
SYSYSYSYSYSYSYSYSYSY !SY!#SY"%SY#'SY$SY%S*' YSYSYSYSY,SY.SY0SY2SY4SY	6SY
8SY:SY<SY
>SY@SYBSYDSYFSYHSYJSYLSYNSYPSYRSYTSYVSYXSYZSY\SY^SY`SYbSY dSY!fSY"hSY#jSY$lSY%SY&So' YSYSYSYSYqSYsSYuSYwSYySY	{SY
}SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&S& YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%S" YSYSYSYSYSYSYSYSY	SY	SY

SYSYSY
SYSYSYSYSYSYSY!SY#SY%SY'SY)SY+SY-SY/SY1SY3SY5SY7SY BSY!DS:& YSYSYSYSY<SY>SY@SYBSYDSY	FSY
HSYJSYLSY
NSYPSYRSYTSYVSYXSYZSY\SY^SY`SYbSYdSYfSYhSYjSYlSYnSYpSYrSY tSY!vSY"xSY#zSY$SY%S}' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%&SY&(S' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY" SY#SY$SY%SY&S& YSYSYSYSY
SYSYSYSYSY	SY
SYSYSY
SY!SY#SY%SY'SY)SY+SY-SY/SY1SY3SY5SY7SY9SY;SY=SY?SYASYCSY ESY!GSY"ISY#KSY$MSY%OSR' YSYSYSYSYSYTSYVSYXSYZSY	\SY
^SY`SYbSY
dSYfSYhSYjSYlSYnSYpSYrSYtSYvSYxSYzSY|SY~SYSYSYSYSYSY SY!SY"SY#SY$SY%&SY&(S' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&S' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSY SYSYSYSYSY
SYSYSYSYSY SY!SY"SY#SY$SY%SY& S#' YSYSYSYSY%SY'SY)SY+SY-SY	/SY
1SY3SY5SY
7SY9SY;SY=SY?SYASYCSYESYGSYISYKSYMSYOSYQSYSSYUSYWSYYSY[SY ]SY!_SY"aSY#cSY$eSY%gSY&iSl# YSYSYSYSYnSYpSYrSYtSYvSY	xSY
zSY|SY~SY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"S' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&S' YSYSYSYSYSYSYSYSYSY	SY
 SYSYSY
SYSY
SYSYSYSYSYSYSYSYSYSYSY SY"SY$SY&SY(SY*SY ,SY!.SY"0SY#2SY$4SY%6SY&8S;' YSYSYSYSY=SY?SYASYCSYESY	GSY
ISYKSYMSY
OSYQSYSSYUSYWSYYSY[SY]SY_SYaSYcSYeSYgSYiSYkSYmSYoSYqSYsSY uSY!wSY"ySY#{SY$}SY%SY&S' YSYSYSYSY%SYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&S' YSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY	SY	SY 	SY!	SY"		SY#	SY$	
SY%SY&S	' YSYSYSYSY	SY	SY	SY	SY	SY		SY
	SY	 SY	"SY
	$SY	&SY	(SY	*SY	,SY	.SY	0SY	2SY	4SY	6SY	8SY	:SY	<SY	>SY	@SY	BSY	DSY	FSY	HSY 	JSY!	LSY"	NSY#	PSY$	RSY%6SY&8S	U' YSYSYSYSY	WSY	YSY	[SY	]SY	_SY		aSY
	cSY	eSY	gSY
	iSY	kSY	mSY	oSY	qSY	sSY	uSY	wSY	ySY	{SY	}SY	SY	SY	SY	SY	SY	SY	SY	SY 	SY!	SY"	SY#	SY$	SY%TSY&VS	' YSYSYSYSY	SY	SY	SY	SY	SY		SY
	SY	SY	SY
	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY	SY 	SY!	SY"	SY#	SY$	SY%SY&S	$	Y TSY SY SY+SYpSYSYSYGSYSY	SY
SYYSYSY
SY*SYoSYSYSY:SY}SYSYSYRSYSYSY#SYlSYSYSY;SYSYSY 	SY!	USY"	SY#	S	     	  	   G     ;*	*	Y		*D	*	*	*
 *
Y

*


*
     	
 	        *
*')
     
  	   "     *
Y

*
*
"     

 	        *')
#*

&     
'
 	   l  
   X*	 F*
+9*
.9*
:		*

0Y
2
6W*

8Y')
9
6W	ç 	ÿ*')
;*

&   @ F     
<
 	   ~ 	    j*	 U*
+J*
.9*
:*

0Y)
2
6W*

8Y'*
 
Bk'w*
 
Ek
9
6Wç ÿ*'*
 
H*

&   O U     
<  	        
**
L
N     
O
 	        *'
      
P
) 	        *
      
Q
 	        *'
T     
U
 	        *'w
T     
V
W 	        *	     	  	        *	     
X  	        *	     
Y
Z 	   9     %*
M,*

\Y+
^
6W,ç ,ÿ*+
`         
a
W 	        *	     
b  	        *
f     
g  	        *
f     


 	        	*
'
h     
i
) 	        *

k     		 	        *
o     
I
J 	        *
o     
p
q 	   y     e
sY
tM,
u,
v*
N-*

y66 *

}
:+,
-ç -ÿ*	+,
*	 *+
   G L     

 	    
    k
sY
tL
Y




M+*

u+*
"
v*
N-*

y66 *

}
:,+
-ç -ÿ,  3 a f     

 	             	

 	   4     (*` L= +*2S*+*
S+
     
  	        *
     

 	        *+
     

q 	   }     q*
M, **
 
N-,
6*
+
6*
.
6*
o +-ldld,
W $+-*
old*
old*
o*
o,
W     

 	   _     S*
L+ 
Y
Ű**
 
M,+
>,+
6*
+
6*
.
6
Yldld
˰     

 	   B     6'
o
> $t$pd>$p> 
2  
	2
S 
2     
R
 	        *Y
 'c
 *
ٱ     
c
d 	        *	*
*

&     
   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                   acm/graphics/PathElement.class                                                                      000644  000766  000024  00000000554 11166064600 017134  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init>   java/lang/Object 
   Code paint .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V updateBounds 4(Lacm/graphics/GRectangle;Lacm/graphics/PathState;)V 
SourceFile acm/graphics/PathElement  	GPen.java                     *       	 
     
                  
            
                                                                                                                                                        acm/graphics/PathState.class                                                                        000644  000766  000024  00000000472 11166064600 016622  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V cx D cy sx sy region Ljava/awt/Polygon; 	fillColor Ljava/awt/Color; <init>   java/lang/Object 
  
 Code 
SourceFile acm/graphics/PathState  	GPen.java                                   	     
                  *                                                                                                                                                                                                                 acm/graphics/PenImage.class                                                                         000644  000766  000024  00000012746 11166064600 016421  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V java/lang/String  P4749463839614F006500F70000FFFFFF980098339999989800111111222222000054CBFFCB003298  P0033660033CC0033FE00323266330066660000659800989800CC9900FE99329800659800CC0099FE  P0098659898999999CC9900FE98009800329800659900CC9800FE3399CB3399FF9999339898659832 	 P0098650099339998659833CB9833FF9999CC0099FE00336699656698CC9898FF9999323200336600  P32003233006632009833339965009866339900663300983200666600986500CC3300FE3200CC6600 
 PFE65CCCC98CCFF99FFCC99FFFF993300CC3200FE6600CC6500FECC0033CC0066FE0032FE00653399  P33339966669933669865CC00CCCB00FEFE00CBFE00FE6699CC6598FF9898CC9999FFCB9833CC9966  PFF9933FF9865333333326532323265326565660033653232660066653265CC3300CC6600FE3200FE  P65000066CC0099CC0066FE0098FE00CCCC00FECB00CCFE00FEFE33CC0033FE0066CC0066FE00CB33  P98CC6699FF3399FF659866CC9965FF9898CC9899FF99CCCC00CCFE00FECB00FEFE00993333996633  P9933669865659833CB9966CC9933FF9865FF33CBCB33FFCC33CCFF33FFFF99CB3399FF3399CC6698  PFF65CC98CCCCCCCCCC99FFCBCBFFFF99CCFFCBCBFF99FFFFCBFF3333CB3366CB3333FF3366FF6533  PCB6666CC6633FF6565FFCB3333CB6533CB3365CC6666FF3333FF6633FF3366FF656533CB3333FF33  P33CB6633FF6666CB3366FF3366CC6665FF65CB33CBCC66CCCC33FFCC65FFFF33CCFF65CCFF33FFFF  P65FF66CCCC65FFCC65CCFF65FFFF98CCCC99FFCC99CCFF99FFFFCBCB33CCFF33CCCC66CCFF65FFCC ! P33FFFF33FFCC65FFFF65444444656532DDDDDDCBFFFFFFFFCBEEEEEE100000980000001000660000 # P000098000066777777888888AAAAAABBBBBB5555556666660000100000224400005400000000CC00 % P00DC0000EE0000FE00003200004400880000980000AA0000BA0000CC0000DC0000EE0000FE00CC00 ' P00DC0000EE0000FE0000004400005400006600007600220000320000AA0000BA0000002200003200 ) P7600008800000000AA0000BA00007600008800000021F90401000000002C000000004F006500C7FF + PFFFF980098339999989800111111222222000054CBFFCB0032980033660033CC0033FE0032326633 - P0066660000659800989800CC9900FE99329800659800CC0099FE0098659898999999CC9900FE9800 / P9800329800659900CC9800FE3399CB3399FF99993398986598320098650099339998659833CB9833 1 PFF9999CC0099FE00336699656698CC9898FF99993232003366003200323300663200983333996500 3 P9866339900663300983200666600986500CC3300FE3200CC6600FE65CCCC98CCFF99FFCC99FFFF99 5 P3300CC3200FE6600CC6500FECC0033CC0066FE0032FE0065339933339966669933669865CC00CCCB 7 P00FEFE00CBFE00FE6699CC6598FF9898CC9999FFCB9833CC9966FF9933FF98653333333265323232 9 P65326565660033653232660066653265CC3300CC6600FE3200FE65000066CC0099CC0066FE0098FE ; P00CCCC00FECB00CCFE00FEFE33CC0033FE0066CC0066FE00CB3398CC6699FF3399FF659866CC9965 = PFF9898CC9899FF99CCCC00CCFE00FECB00FEFE009933339966339933669865659833CB9966CC9933 ? PFF9865FF33CBCB33FFCC33CCFF33FFFF99CB3399FF3399CC6698FF65CC98CCCCCCCCCC99FFCBCBFF A PFF99CCFFCBCBFF99FFFFCBFF3333CB3366CB3333FF3366FF6533CB6666CC6633FF6565FFCB3333CB C P6533CB3365CC6666FF3333FF6633FF3366FF656533CB3333FF3333CB6633FF6666CB3366FF3366CC E P6665FF65CB33CBCC66CCCC33FFCC65FFFF33CCFF65CCFF33FFFF65FF66CCCC65FFCC65CCFF65FFFF G P98CCCC99FFCC99CCFF99FFFFCBCB33CCFF33CCCC66CCFF65FFCC33FFFF33FFCC65FFFF6544444465 I P6532DDDDDDCBFFFFFFFFCBEEEEEE100000980000001000660000000098000066777777888888AAAA K PAABBBBBB5555556666660000100000224400005400000000CC0000DC0000EE0000FE000032000044 M P00880000980000AA0000BA0000CC0000DC0000EE0000FE00CC0000DC0000EE0000FE000000440000 O P5400006600007600220000320000AA0000BA00000022000032007600008800000000AA0000BA0000 Q P7600008800000008FF0001081C48B0A0C18308132A5CA81012248610234A640809DBBF2DD830E431 S PD1451B868920432684C4022306483F5AB0E882ADE5968F226386C40026E38F479030E8C45072CB0F U P9940252EEB226265476D0CFE29C5F630A8538818B6B4C00869D9D3AB22B7FC636115ABD7AF60C38A W P1D4BB6ACD9B368D3AA5DCB166B450334E23280D916E48F2D1E7F406AA11792096D2CEA4A848491C5 Y P8FBE3FF23CFA81C10B5DC10A317089CAC221DF9C5E5E428EF8A30B06315D0C30D0267573C8652CA2 [ P3E36CDBAB5EBD7B063CB9E4DBBB6EDC1D80C6CD9D2F4B6418E09BAD0B04143B3EF81183A62435CA5 ] P4B8CC0C73B6364BCF3824E9FBE519BD49B27A76516CB6F57FFC4963AE70A315EC0E0DD52597C4B9D _ P7A5B3844597235ED962CE2D2E8D245065E6C941C0700249E61D3C50CA46504C901020A74D7671D79 a PD15B830E7A661C850661808D18D860E8E187208628E288249668E28928A6A8E28A6C2D13156F2326 c P275C0C4C819887180CE8C7D28402A2C6400C5BD8E0455C5D74D5E00F167551194A5EF0C7608384BD e P601824BBC8971C76024615C305F275F74877D878F1D37184B177521E3AB160020BE859729C760A22 g PF6C32E4876C1236D5191E7D04D7BE6D4451E6416261F75D571E8E66DA8BDA7174F8CB2B09591B60D i P95D1231718888D132C8077E16D26607381097ACD199F81F6D1462084CFB17041A65B743126996068 k P5728DC51EBDD699B8618C4B5C58F5B00D95E83B8CEFADF931882975C71A086F81E035B98606B8382 m P8057638C196D11E088E3C148A2815892F8CFB42C862BEEB8E4966BEEB9E8A6ABEEBAECB6EBEEBBF0 o PC62BEFBCF4CA1B100021FF0B4D414347436F6E2004031039000000015772697474656E2062792047 q P4946436F6E76657274657220322E342E33206F66204D6F6E6461792C204D61792032352C20313939 s 38003B u HEX_DATA [Ljava/lang/String; w x acm/graphics/PenImage z	 { y Code getImage ()Ljava/awt/Image; createImage %([Ljava/lang/String;)Ljava/awt/Image;   acm/util/MediaTools 
   <init>   java/lang/Object 
   
SourceFile 	GPen.java   {      w x        }  e     Y9 YSYSY
SYSYSYSYSYSYSY	SY
SYSYSY
 SY"SY$SY&SY(SY*SY,SY.SY0SY2SY4SY6SY8SY:SY<SY>SY@SYBSYDSY FSY!HSY"JSY#LSY$NSY%PSY&RSY'TSY(VSY)XSY*ZSY+\SY,^SY-`SY.bSY/dSY0fSY1hSY2jSY3lSY4nSY5pSY6rSY7tSY8vS |     	 ~   }          |           }        *                                     acm/graphics/SetColorElement.class                                                                  000644  000766  000024  00000000625 11166064600 017771  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -  <clinit> ()V <init> (Ljava/awt/Color;)V   acm/graphics/PathElement 
   myColor Ljava/awt/Color; 	 
 acm/graphics/SetColorElement 	 
  Code paint .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V setColor   java/awt/Graphics 
   
SourceFile 	GPen.java   
      	 
                
* *+                  	+*                                                                                                                       acm/graphics/SetLocationElement.class                                                               000644  000766  000024  00000001325 11166064600 020461  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           - 3 <clinit> ()V <init> (DD)V   acm/graphics/PathElement 
   cx D 	 
 acm/graphics/SetLocationElement 	 
  cy  
	 
  Code paint .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V acm/graphics/PathState 	  	   region Ljava/awt/Polygon;  	   sx  
	   round (D)I   ! acm/graphics/GMath #
 $ " sy & 
	  ' addPoint (II)V ) * java/awt/Polygon ,
 - + updateBounds 4(Lacm/graphics/GRectangle;Lacm/graphics/PathState;)V 
SourceFile 	GPen.java   
      	 
     
                * *' *)             C     7,*  ,*  ,  ", , * k %, (* k % .      / 0          ,*  ,*        1    2                                                                                                                                                                                                                                                                                                           acm/graphics/StartRegionElement.class                                                               000644  000766  000024  00000000754 11166064600 020503  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                           -   <clinit> ()V <init> (Ljava/awt/Color;)V   acm/graphics/PathElement 
   myColor Ljava/awt/Color; 	 
 acm/graphics/StartRegionElement 	 
  Code paint .(Ljava/awt/Graphics;Lacm/graphics/PathState;)V java/awt/Polygon 
   region Ljava/awt/Polygon;   acm/graphics/PathState 	   	fillColor  
	   
SourceFile 	GPen.java   
      	 
                
* *+                   , Y  ,*                                Breakout.class                                                                                      000644  000766  000024  00000016120 11470207741 014141  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                            2
  	 
 	 
  
  	 
 	 
 	 
 
 
   
 
 
 


	 
	 
	 
	
	

 

 @$      
 l@4      
 

 
@@     
 

 

 

 

 

 

 
@p      
 
!	 
"	 
#
 A$
 A%@|     
 A@     
 
&
 
'(
 >)
 
*+@l     @s     
 A,
 A-	 .
 A/
 A0
 
1@      
 2?      
 34
56
 R7@=      
 R%@y      
89
8:
 l;@Q     @       @       
 >,
 >-	 
<
 >/
 >0@      @      =@     @M      @&      
 l,
 l-
 l/
 l0
 
>
?@
?ABC
 { 
 {DE
 {FGH	 I	 J	 K	 L	 MN
OP	 
QR WIDTH I 
ConstantValue   HEIGHT  b WIDTH_OF_PADDLE   : HEIGHT_OF_PADDLE    
PADDLE_OFFSET    BRICK_SEP_H    BRICK_SEP_V    BRICK_HEIGHT    BRICK_Y_BOTTOM_OFFSET   G 
BRICKS_IN_ROW 
BRICK_ROWS BRICK_WIDTH BALL_RADIUS   
 NTURNS    	rowColors [Ljava/awt/Color; paddle Lacm/graphics/GRect; ball Lacm/graphics/GOval; vx D vy rgen Lacm/util/RandomGenerator; 	numBricks 
ballsTried 
bounceClip Ljava/applet/AudioClip; <init> ()V Code LineNumberTable LocalVariableTable this 
LBreakout; main ([Ljava/lang/String;)V args [Ljava/lang/String; sizeArgs 	fixBricks bricksInRow 	brickRows nfe Ljava/lang/Exception; b 
StackMapTable 
 run g Lacm/graphics/GLabel; 
initialize play 
ballInPlay Z moveBall ()Z collider Lacm/graphics/GObject;S getCollidingObject ()Lacm/graphics/GObject; x y e 	placeBall 
mouseMoved (Ljava/awt/event/MouseEvent;)V Ljava/awt/event/MouseEvent; p Lacm/graphics/GPoint; p2 placeBricks brick LBrick; c cx r placePaddle fixBallDirection (Lacm/graphics/GObject;)V obj width toString '([Ljava/lang/String;)Ljava/lang/String; k res Ljava/lang/String;  <clinit> 
SourceFile 
Breakout.java       acm/util/RandomGenerator         java/lang/String 	width=460 
height=610 BreakoutT UVWXY       java/lang/ExceptionZ[\ Unrecognized argument format]^_   acm/graphics/GLabel Click mouse to play _`abcd efg            9You lost a ball. Get ready for the next one in 3 seconds. >You lose. Three balls are gone. Click the mouse to play again. 8You win! Congratulations! Click the mouse to play again.h     ijka     Bricklmno acm/graphics/GOval pqrstuvwvb xyz{ acm/graphics/GPoint|}~ yyj   acm/graphics/GRect Sa [ java/lang/StringBuilder ,   ] java/awt/Colorttttt 	bounce.au   acm/program/GraphicsProgram acm/graphics/GObject start java/lang/Integer valueOf '(Ljava/lang/String;)Ljava/lang/Integer; intValue ()I java/lang/System out Ljava/io/PrintStream; java/io/PrintStream println (Ljava/lang/String;)V getY ()D add (Lacm/graphics/GObject;DD)V waitForClick pause (D)V remove 	removeAll move (DD)V getX squeak  (Lacm/program/GraphicsProgram;)V getElementAt (DD)Lacm/graphics/GObject; (DDDD)V 	setFilled (Z)V black Ljava/awt/Color; setFillColor (Ljava/awt/Color;)V setColor 
nextDouble (DD)D nextBoolean (D)Z java/awt/event/MouseEvent getPoint ()Ljava/awt/Point; (Ljava/awt/Point;)V java/lang/Math min max setLocation addMouseListeners getWidth getLocation ()Lacm/graphics/GPoint; append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ()Ljava/lang/String; red orange yellow green cyan acm/util/MediaTools 
loadAudioClip +(Ljava/lang/String;)Ljava/applet/AudioClip; ! 
                                                                                      
     
     
                                                               
             b     $* * * * Y  * *              5 	 8  >  A  D        $     	       _     * 	 
YSYSL 
Y +            Q  R  S  T                  	            I* 	* *2  <*2  =    ̲ ld  L     ' ?  ( < ?      6 
   ` 
 a  c  d  e ' f ( g , h 0 i < l ? j @ k H m    *   '         @       I         
                     8*  Y L*+ *    g "* #* $ &*+ '* (       "    t  u  v ! y % { , | 1 } 5 ~       '      8                  ;     	* )* *                       	           k     * *  b*  [* +<*  K G* ,< 4*  , Y- M*, *    g "* . &*, '*  &*   Y0 L 
 Y1 L*+ *    g "* #* $ &* 2       V             %  *  6  @  S  Z  _  i  l  t                 4  @      O    ~             #          D 	 	        d     * * 3* 4 5* 3 *  6 * 3 *  6  c 7 ** 3w 3*  9  c : **  '** ` * <L+*  * 4 
*+ =+ > !*+ =+ >* ?*+ '** d * 4 *  9 ** 4w 4       R       ?  H  Z  b  l  n  s                                    s ]        $%  $             b*  6H*  9J*') @: *'  c) @: *')  c @: *'  c)  c @:        >                ,  1  4  @  E  H  X  ]  `     *    b      Z     R     J       
                 h* AY B D     F *  G*  H I*  H J**  K**  L N 3*  O Q ** 3w 3* L 4       * 
     ) 3 ; J W `	 g
        h          `             3 RY+ S TM UJ, W)g X Z [9* *   \             " 2    4    3       3     '     #    "           O 
 
    ]H _J6  )96  b >Y'  a c:		 d	 e ep2 f	 e ep2 g*	 K** `  c hc9`6' ac jcH`6{       B      % ' ) !* 4+ :, J- Z. `/ j1 w) 4 % 7    H  4 C   	  g     t                                
 f              @* lY B m o q s *  t*  H u*  H v**  K* w          ; = > )? 3@ ;B ?C        @                 h** 4w 4+ xI+ y W9* 3  *  6( joc 
** 3w 3* 3 $*  6 L(k joc 
** 3w 3       * 
  M 	N O Q 3S <T =V ]X fY g[    *    h       h     Z     Q         =) 	            Y* zL=* 7  {Y |+ }~ } L {Y |+ }*2 } L`=ɻ {Y |+ } }        "   a c 	e f g )h >e Ej        :      Y     	 P                         g
 
 ̲ ld 
 Y SY SY SY SY SY SY SY SY SY	 S e             "  $ 
 &  / ^ G                                                                                                                                                                                                                                                                                                                                                                                                                                                      Brick.class                                                                                         000644  000766  000024  00000001632 11470207741 013421  0                                                                                                    ustar 00gries                           staff                           000000  000000                                                                                                                                                                            2 ;
  #
  $ % &
  '
 
 (
 
 )
 * +@Y      
 
 ,
 * - . / <init> (DD)V Code LineNumberTable LocalVariableTable this LBrick; w D h (DDDD)V x y squeak  (Lacm/program/GraphicsProgram;)V gp Lacm/program/GraphicsProgram; Lacm/graphics/GLabel; 
SourceFile 
Brick.java     acm/graphics/GLabel ow!  0 1 2 3 2 4 5 6 7 8 9 : Brick acm/graphics/GRect (Ljava/lang/String;)V getX ()D getY acm/program/GraphicsProgram add (Lacm/graphics/GObject;DD)V pause (D)V remove (Lacm/graphics/GObject;)V ! 
              I     *')        
      	                                 a 	 	   *')        
    
 
     4                                        r     $ Y M+,* *  * 	 +,             
      #          $       $    
       !    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      