2W 3 4 5 6 789: ; < = >? @A YB <C D EF YGHI J D KLMN OPQR %S $T UV JW +X Y +U Z O[ \ ] ^ O_ ` a b c d e f +g +h +i jk Glm Gno Gp q r stuv Gw Qx y z{ |} ~ Y z   _p  ~ G Q + k nx      yl       Q; l            z   z        z_StreamReaderThread InnerClassescommand(Lptolemy/actor/parameters/PortParameter; directory!Lptolemy/data/expr/FileParameter; environmentLptolemy/data/expr/Parameter;errorLptolemy/actor/TypedIOPort;exitCodeignoreIOExceptionReadErrorsinput$prependPlatformDependentShellCommandthrowExceptionOnNonZeroReturnwaitForProcess_inputBufferedWriterLjava/io/BufferedWriter; _errorGobbler,Lptolemy/actor/lib/Exec$_StreamReaderThread;_outputGobbler_processLjava/lang/Process;_stopFireRequestedZ_streamReaderThreadCountI5(Lptolemy/kernel/CompositeEntity;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLptolemy/actor/lib/Exec; container Lptolemy/kernel/CompositeEntity;nameLjava/lang/String;labels[Ljava/lang/String;values[Lptolemy/data/type/Type; Exceptionsfire()VexLjava/io/IOException;Ljava/lang/Exception; outputString errorString"throwExceptionOnNonZeroReturnValueprocessReturnCodewaitForProcessValue interrupted Ljava/lang/InterruptedException;iolinealreadySentOutput StackMapTableLtstopstopFirewrapup_execaCommandcommandsLjava/lang/StringBuffer; nameTokenLptolemy/data/StringToken; valueTokeniruntimeLjava/lang/Runtime; commandListLjava/util/List;)prependPlatformDependentShellCommandValue commandArrayenvironmentTokensLptolemy/data/ArrayToken;environmentArrayinputStreamWriterLjava/io/OutputStreamWriter;directoryAsFileLjava/io/File;LocalVariableTypeTable$Ljava/util/List;9_getCommandList()Ljava/util/List;retvalosName Signature&()Ljava/util/List;_terminateProcess access$000(Lptolemy/actor/lib/Exec;)Zx0 access$100-(Lptolemy/actor/lib/Exec;Ljava/lang/String;)Vx1 access$200 access$300 access$400 access$500 access$600 access$700 SourceFile Exec.java    &ptolemy/actor/parameters/PortParameterptolemy/data/StringTokenecho "Hello, world."   ptolemy/data/expr/Parameter  _showName ptolemy/data/expr/FileParameter   allowFiles allowDirectories$CWD  java/lang/Stringvalueptolemy/data/type/Type ptolemy/data/type/ArrayTypeptolemy/data/type/RecordType   {{name = "", value = ""}}ptolemy/actor/TypedIOPort             java/lang/StringBuilder Exec: Input: ' '   java/io/IOException*ptolemy/kernel/util/IllegalActionExceptionProblem writing input '      ptolemy/data/BooleanToken    !java/lang/Exception Executing command "&" returned a non-zero return value of ". The last input was: . The standard output was:  The error output was: # $%ptolemy/data/IntToken &java/lang/InterruptedException*ptolemy/kernel/util/InternalErrorException"_process.waitFor() was interrupted5Closing stdin of the subprocess threw an IOException.Exec: Error: 'Exec: Output: ' #  '( )java/util/LinkedList * +,- ./ 01 23 4No such directory: java/lang/StringBuffer 56 7 89 :About to exec "" in "" with environment:ptolemy/data/ArrayTokenenvironmentTokens: ; < ptolemy/data/RecordToken  == . "" >?There is only one element, it is a string of length 0, so we pass Runtime.exec() an null environment so that we use the default environment @ AB CD*ptolemy/actor/lib/Exec$_StreamReaderThread EFExec Stdout Gobbler- G HFExec Stderr Gobbler- Ijava/io/OutputStreamWriter Jjava/io/BufferedWriter KProblem executing the command ' L' in the directory: os.nameM NO Windows 95 command.com P?/CWindows QRcmd.exe/bin/sh-c Sptolemy/actor/lib/Exec%ptolemy/actor/lib/LimitedFiringSource,ptolemy/kernel/util/NameDuplicationException java/io/Filejava/lang/Runtimejava/util/Listjava/util/Iterator_debug(Ljava/lang/String;)V _debugging_stopRequestedG(Lptolemy/kernel/util/NamedObj;Ljava/lang/String;Lptolemy/data/Token;)V setStringMode(Z)VgetPort*()Lptolemy/actor/parameters/ParameterPort;TRUELptolemy/data/BooleanToken;3(Lptolemy/kernel/util/NamedObj;Ljava/lang/String;)VFALSE setExpressionptolemy/data/type/BaseTypeSTRINGT StringType'Lptolemy/data/type/BaseType$StringType;/([Ljava/lang/String;[Lptolemy/data/type/Type;)V(Lptolemy/data/type/Type;)V setTypeEquals7(Lptolemy/kernel/ComponentEntity;Ljava/lang/String;ZZ)VBOOLEANU BooleanType(Lptolemy/data/type/BaseType$BooleanType;outputINTVIntType$Lptolemy/data/type/BaseType$IntType;firingCountLimit moveToLast()InumberOfSourceshasToken(I)Zget(I)Lptolemy/data/Token; stringValue()Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringwriteflush-(Ljava/lang/Object;)Ljava/lang/StringBuilder;H(Lptolemy/kernel/util/Nameable;Ljava/lang/Throwable;Ljava/lang/String;)Vjava/lang/ProcessgetOutputStream()Ljava/io/OutputStream;java/io/OutputStreamclosegetToken()Lptolemy/data/Token; booleanValue()ZwaitFor getAndReset(I)Ljava/lang/StringBuilder;3(Lptolemy/kernel/util/Nameable;Ljava/lang/String;)Vsend(ILptolemy/data/Token;)V(I)V getRuntime()Ljava/lang/Runtime;updateptolemy/util/StringUtilitiestokenizeForExec'(Ljava/lang/String;)[Ljava/lang/String;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;addAll(Ljava/util/Collection;)ZasFile()Ljava/io/File; isDirectoryiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;,(Ljava/lang/String;)Ljava/lang/StringBuffer;length getElement((Ljava/lang/String;)Lptolemy/data/Token;equals(Ljava/lang/Object;)ZsizetoArray(([Ljava/lang/Object;)[Ljava/lang/Object;execI([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;getInputStream()Ljava/io/InputStream;`(Lptolemy/actor/lib/Exec;Ljava/io/InputStream;Ljava/lang/String;Lptolemy/kernel/util/Nameable;)VgetErrorStreamstart(Ljava/io/OutputStream;)V(Ljava/io/Writer;)V getExpressionjava/lang/System getProperty&(Ljava/lang/String;)Ljava/lang/String;add startsWith(Ljava/lang/String;)Zdestroy%ptolemy/data/type/BaseType$StringType&ptolemy/data/type/BaseType$BooleanType"ptolemy/data/type/BaseType$IntType! *+,**Y*Y *  Y* W*Y*Y*WY*W**Y*Y SY!SN"Y#SY#S:*$Y%Y-&'(*)**+Y*,-.*.#/Y*.W*Y*01*12(*+Y*3-4*4#/Y*4W*5#/Y*5W*+Y*6-7*78/Y*7W*Y*9:*:2(*Y*;<*<2(*Y*=>*>2(*?@W$y }"*>L]nw '8BScm~4D2Q!*AL*B*4C*4Dx*4EFYLe**GYHIJ+JKJL*M;*M+N*MO)MQY*,GYHRJ* SKJLT=*UVW*>XYZ>*U[6\:\:*]^: :`:*a^: :`:*<XYZ6RQY*GYHbJ* cFJdJefJ+JgJJhJJLi*.Y j*5Y j=*7kYljNnY*-opNQY*-qTu*a^N*]^:*<*GYHrJJKJL*GYHsJ-JKJL*.Y j*5Y- j\knP__mP6MOQ ST2U9VUY\[d\k`n]o^ejlmoqsvwz}{|!Ufwy o%x  jaKUX%?Kb#BL T Q; *t*u  D*v**u   3*u  Q L**U*uwM* xyYzN*:XYZ6*{N* cF|:-}~W*L+QYGYHJ+SL*mY:-:,:GYHJJLW*GYHJSJ+SJL*X:**GYHJSL::6 : !: GYH FJJ FJLS*-*GYHJeJ2JJL(2* *:L--:*,+U*Y**UGYHJY`eL*a*Y**UGYHJY`eL*]*]*aY*UV:*YM5MQY*,GYHJ* JJJ+SLTP>%)49>BHKP\dk      "%.8EI Y!]"m#$&'*+,-49:>B@qBxCEGJKLQMNORaY m ;%  4u PY  % 1 % X+G2%*&1Q^yYzLM,+W+W3,+W+W+W+W+. VXYZ [,\5]>^J`Sa\c ^V P  V ,!"#S*U*U*Uhijl $%/*n &'(:*+n&)*%/*n &+(:*+n&),%/*n &-%/*n &.%/*n &/(:*+n&)012"O O O