PK ᳹8 META-INF/PK ೹8߶META-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.7.0 Created-By: 1.5.0_15-b04 (Sun Microsystems Inc.) Main-Class: websnapshot.Main Class-Path: X-COMMENT: Main-Class will be added automatically by build PK V8 websnapshot/PK 08A4h7RRwebsnapshot/CnnUrl.class1 4bc defg b hi hj hkl 3m b no pq prs tu vwxyz d{|} ~  A     % % %G   CNN_PREFIXLjava/lang/String; ConstantValue(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLwebsnapshot/CnnUrl;linewriteSummaryFile candidateLorg/w3c/dom/Node; firstNamelastNameiIvotesj countyName timeUpdatedprecinctsReported snapshotDirbuilderFactory*Ljavax/xml/parsers/DocumentBuilderFactory;builder#Ljavax/xml/parsers/DocumentBuilder;documentLorg/w3c/dom/Document;xpathLjavax/xml/xpath/XPath; expression countyNodesLorg/w3c/dom/NodeList;filePathfLjava/io/File;writerLjava/io/BufferedWriter;candidateNodes Exceptions SourceFile CnnUrl.java 89CNN  "java/lang/IllegalArgumentExceptionLine does not start with CNN!  java/io/File   /data/fipsCodes/fips  org/w3c/dom/NodeList.xml.csv java/io/BufferedWriterjava/io/FileWriter 8 8&County,Time Updated,Precincts Reported 9  fname lnamejava/lang/StringBuilder 8,   labelupdatedpctsrep websnapshot/CnnUrlwebsnapshot/SimpleUrljava/lang/Exceptionjava/lang/String startsWith(Ljava/lang/String;)Z(javax/xml/parsers/DocumentBuilderFactory newInstance,()Ljavax/xml/parsers/DocumentBuilderFactory;setNamespaceAware(Z)VnewDocumentBuilder%()Ljavax/xml/parsers/DocumentBuilder; getLocalPath&(Ljava/lang/String;)Ljava/lang/String;!javax/xml/parsers/DocumentBuilderparse&(Ljava/io/File;)Lorg/w3c/dom/Document;javax/xml/xpath/XPathFactory ()Ljavax/xml/xpath/XPathFactory;newXPath()Ljavax/xml/xpath/XPath;javax/xml/xpath/XPathConstantsNODESETLjavax/xml/namespace/QName;javax/xml/xpath/XPathevaluateS(Ljava/lang/String;Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object; replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;(Ljava/io/File;)V(Ljava/io/Writer;)Vwriteitem(I)Lorg/w3c/dom/Node; getLength()Iorg/w3c/dom/Node getAttributes()Lorg/w3c/dom/NamedNodeMap;org/w3c/dom/NamedNodeMap getNamedItem&(Ljava/lang/String;)Lorg/w3c/dom/Node; getNodeValue()Ljava/lang/String;()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringflushclose!3456789:Y*++ Y;<=>?6@9:M,, N- Y*+ ::::*+ : Y : YY :  :: 6   a  :  !"#: $"#: %Y&'(()((*  +6    ,"#:   -"#'.:  /"#: %Y& ('(('((* : 6 E  0"#: %Y&'('.(* +  1 2;#!# $% '((,)?,M-X.j/q1u2578:=5@BD-FPHlKNPRUPXB [\]<MAB 8C6#D6jEF  G6NHF-I6 PJ6lK6EF =>L6MN OP QR(ST,U6?VWMX6XYZ j[\ ]W ^_`aPK 8Ndwebsnapshot/EmsUrl.class1 I  H 5  5 5 5  5 5 H H H     H  H 5 H H 5 ) , + H +  + 5 + 5 5 5 5 EMS_PREFIXLjava/lang/String; ConstantValuecntregspnf3_f4_f5_ candidatesLjava/util/List; Signature$Ljava/util/List; lastPrecinctformatLjava/text/DecimalFormat; numPrecinctsIwriterLjava/io/BufferedWriter;(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTable candidate formatStrthisLwebsnapshot/EmsUrl;lineij getRemotePath(I)Ljava/lang/String;precinct thisPrecinct getLocalPath'(Ljava/lang/String;I)Ljava/lang/String; snapshotDircreateSummaryFilei$Ljava/util/Iterator;filePathfLjava/io/File; ExceptionswriteSummaryLine (III[[I)Vcount registeredvotes[[IcloseSummaryFile()VgetNumPrecincts()I getCandidates()Ljava/util/List;&()Ljava/util/List;getCount(Ljava/lang/String;)Ibodyab getRegistered getMachine'(Ljava/lang/String;Ljava/lang/String;)Imachine getAbsenteeabsenteegetProvisional provisionalisDigit(C)ZcC SourceFile EmsUrl.java ^_java/util/ArrayList ^ STEMS "java/lang/IllegalArgumentExceptionLine does not start with MV!  No candidates found! WK Z[java/lang/StringBuilder 0 java/text/DecimalFormat XYCould not find precinct! X K n no.html.csv .htm java/io/Filejava/io/BufferedWriterjava/io/FileWriter ^ ^ \]'PRECINCT,PUBLIC COUNT,REGISTERED VOTERS _   java/lang/String, Machine Ballots Absentee Ballots Provisional Ballots  k  5   /     websnapshot/EmsUrlwebsnapshot/SimpleUrljava/lang/Exception startsWith(Ljava/lang/String;)ZindexOf(I)I(II)I substring(II)Ljava/lang/String;java/util/Listadd(Ljava/lang/Object;)ZisEmpty()ZlengthcharAt(I)Cjava/lang/IntegerparseIntappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(J)Ljava/lang/String; remotePathreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;&(Ljava/lang/String;)Ljava/lang/String; replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;(Ljava/io/File;)V(Ljava/io/Writer;)Vwriteiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;flushvalueOfclose(Ljava/lang/String;I)I toLowerCase lastIndexOf!HI JKLMKL>NKLBOKL@PKLDQKLFRKLGSTUVWKXYZ[\]^_`*+*Y+ Y +" =+"` >50+` :* W+"` =+"` >* Y >+d=w+ b>]Y*+`` **:=*Y:*Y * Y a $&(#,*-4.>0H1T2^3h4k6w8<=?ACFILOPRPTU=Y []b>H cK9dKefgK*h[4i[jk`Y* M*!*,"a a bb efl[ mKno`d* N*+#*-"a g hb*efpKl[ mKq_`S*+$%&'(&'M)Y,*N*+Y,Y--./*/01*2:3r45:*/Y671*/Y681*/Y691*/:1*/;a. mop1q:r[t{uvxyzb>[`cKEyrsefpKtKuvwxyz`{*/<1*/61*/<1*/61*/<16*2:3~45:*/Y62.<1*/Y62.<1*/Y62.<1~*/:1*/;a: (36WzbRWlcKArsefl[{[|[}~6i[wx`6*/=a b efwx`/*ab ef`/*ab efU `1<*>?=*@`A>>`=* <a %/b*1K/{[ ([[ `1<*B?=*@`A>B`=* <a %/b*1K/|[ ([[ `F=*C+C?>*D`E6*@`A>D`6* =a"$/9Db4FKFcKD[8[-[ `F=*C+C?>*F`E6*@`A>F`6* =a"$/9Db4FKFcKD[8[-[ `F=*C+C?>*G`E6*@`A>G`6* =a"$/9Db4FKFcKD[8[-[ `B0 9a b PK 찹8^websnapshot/Main.class1 !B CDE FG HI HJK BLM N O P QR STU FV SWX BY Z [ Q\ C]^ _` abcd()VCodeLineNumberTableLocalVariableTablethisLwebsnapshot/Main;main([Ljava/lang/String;)VurlLwebsnapshot/SimpleUrl;readerLjava/io/BufferedReader;lineLjava/lang/String;eLjava/lang/Exception;jIiargs[Ljava/lang/String;pathrefreshcounturlsLjava/util/List;LocalVariableTypeTable)Ljava/util/List; Exceptions SourceFile Main.java "#e fgAUsage: java -jar WebSnapshot.jar [ ]h ijk lm nojava/util/ArrayListjava/io/BufferedReaderjava/io/FileReader "j "p qrs tuv wxjava/lang/Exception iy z{java/lang/StringBuilderPlease add URLs to: |} ~r  gWaiting | seconds... websnapshot/Mainjava/lang/Objectjava/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vjava/lang/IntegervalueOf'(Ljava/lang/String;)Ljava/lang/Integer;intValue()I(Ljava/io/Reader;)VreadLine()Ljava/lang/String;websnapshot/SnapshotgetUrl+(Ljava/lang/String;)Lwebsnapshot/SimpleUrl;java/util/Listadd(Ljava/lang/Object;)Z(Ljava/lang/Object;)VisEmpty()Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringgenerateSnapshot(Ljava/util/List;)Vout(I)Ljava/lang/StringBuilder;java/lang/Threadsleep(J)V! !"#$/*%& '( )*$* *2L =>**2=*2>Y: Y Y+ : Y::W:Y+6Ld<6.Yӄ:jm%~  !"$'%1):,K.V0]1g2j8m4o6w7x:<?ACEHJKH?N&p ] +,K-.S/0o 12034O54678094:4:;<= :;>?@APK 8ҙ@@websnapshot/MicrovoteUrl.class1 G  F 3  3 3 3  F 3 3 F F F     F  3 F F ' * ) F )  ) 3 ) 3 3 3 MV_PREFIXLjava/lang/String; ConstantValuecntregspnf3_f4_f5_ candidatesLjava/util/List; Signature$Ljava/util/List; lastPrecinctformatLjava/text/DecimalFormat; numPrecinctsIwriterLjava/io/BufferedWriter;(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTable candidate formatStrthisLwebsnapshot/MicrovoteUrl;lineijgetUrl(I)Ljava/lang/String;precinct thisPrecinct getFileNamecreateSummaryFilei$Ljava/util/Iterator; snapshotDirfilePathfLjava/io/File; ExceptionswriteSummaryLine (III[[I)Vcount registeredvotes[[IcloseSummaryFile()VgetNumPrecincts()I getCandidates()Ljava/util/List;&()Ljava/util/List;getCount(Ljava/lang/String;)Ibodyab getRegistered getMachine'(Ljava/lang/String;Ljava/lang/String;)Imachine getAbsenteeabsenteegetProvisional provisionalisDigit(C)ZcC SourceFileMicrovoteUrl.java \]java/util/ArrayList \} QRMV "java/lang/IllegalArgumentExceptionLine does not start with MV!  No candidates found! I  UI XYjava/lang/StringBuilder 0 java/text/DecimalFormat VWCould not find precinct! V l/ li.csv java/io/Filejava/io/BufferedWriterjava/io/FileWriter \ \ Z['PRECINCT,PUBLIC COUNT,REGISTERED VOTERS ]  java/lang/String, Machine BallotsAbsentee BallotsProvisional Ballots } i }5  / websnapshot/MicrovoteUrlwebsnapshot/SimpleUrljava/lang/Exception startsWith(Ljava/lang/String;)ZindexOf(I)I(II)I substring(II)Ljava/lang/String;java/util/Listadd(Ljava/lang/Object;)ZisEmpty()ZurllengthcharAt(I)Cjava/lang/IntegerparseIntappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(J)Ljava/lang/String;replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;(Ljava/io/File;)V(Ljava/io/Writer;)Vwriteiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;flushvalueOfclose(Ljava/lang/String;I)I lastIndexOf!FG HIJKIJ=LIJAMIJ?NIJBOIJDPIJEQRSTUIVWXYZ[\]^*+*Y+ Y +" =+"` >50+` :* W+"` =+"` >* Y >*d=}* e>`\**`` **:=*Y:*Y * Y _ $&(#,*-4.>0H1T2^3h4k6w8<=?ACFHIJKMKOP= TVX`>H aI9bIcdeI*fY4gYhi^Y*!M**,"_ \ ]` cdjY kIli^Y*!M*#*,"_ b c` cdjY kIm]^nY+$*%&M'Y,(N*)Y*Y-+,-*-./*0:123:*-Y456/*-Y457/*-Y458/{*-9/*-:_. h!i*j=kFlgnoprst`>goaIQnocdpI!qI*rstuvw^{*-;/*-4/*-;/*-4/*-;/6*0:1~23:*-Y42.;/*-Y42.;/*-Y42.;/~*-9/*-:_:y z{|(}3~6Wz`RWlaIAnocdjYxYyYz{6gYtu|}^6*-<_ ` cdtu~^/*_` cd^/*_` cdS ^1<*=>=*?`@>=`=* <_ %/`*1I/xY (YY ^1<*A>=*?`@>A`=* <_ %/`*1I/yY (YY ^@=*+>>*B`C6*?`@>B`6* =_")3>`4@I@aI>Y8Y-Y ^@=*+>>*D`C6*?`@>D`6* =_")3>`4@I@aI>Y8Y-Y ^@=*+>>*E`C6*?`@>E`6* =_")3>`4@I@aI>Y8Y-Y ^B0 9_ ` PK e8 f++websnapshot/SimpleUrl.class1Z 2 3 4567 28 9 : ; 4< = 4> ?@A 4B 4CD 4EFGHIJ URL_PREFIXLjava/lang/String; remotePath localFileName(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLwebsnapshot/SimpleUrl;lineiI getRemotePath()Ljava/lang/String;getLocalFileName getLocalPath&(Ljava/lang/String;)Ljava/lang/String; snapshotDir()V SourceFileSimpleUrl.java / K LM"java/lang/IllegalArgumentExceptionjava/lang/StringBuilder Invalid URL: NO P)  QR  ST /- UV W).html XY.htm.xmlhttp://websnapshot/SimpleUrljava/lang/Objectjava/lang/String lastIndexOf(Ljava/lang/String;)Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString substring(I)Ljava/lang/String;length()I replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; toLowerCaseendsWith(Ljava/lang/String;)Z!  *+=YY+ *+ **  ***;*,*Y*Z !*  ,5 F#U&*," #$% &'() /* !0" #$*) /*!5" #$+, OY+* !:"#$-./ ! 01PK 侯8AV66websnapshot/Site.class1o = > ?@AB =C D E F ?G HI ?J ?K L M ?N O ?PQRS ?T ?UV ?WXYZ[\ URL_PREFIXLjava/lang/String; MV_PREFIX CNN_PREFIX ConstantValuedomainpathurl(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLwebsnapshot/Site;lineiIgetUrl()Ljava/lang/String; getDomaingetPath getFileNamefileName()V SourceFile Site.java ): !"] ^_"java/lang/IllegalArgumentExceptionjava/lang/StringBuilder Invalid URL: `a b4 )* cd ("/ ef ^g &" '" ch #" ijCNN _- kl m4.html nj.htmhttp://MV websnapshot/Sitejava/lang/Objectjava/lang/StringindexOf(Ljava/lang/String;)Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString substring(I)Ljava/lang/String;length()I(Ljava/lang/String;I)I(II)Ljava/lang/String; startsWith(Ljava/lang/String;)Z replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; toLowerCaseendsWith!  !" #"$"%&"'"(")*+*+=YY+ *+ *  Y=** * !** **  ++,6  ,5!J#R$[(m)y,04- ./0" 1234+/* ,8- ./54+/*,=- ./64+/*,B- ./74+UY** L+ L+#+Y+ L+,GI'L?OSR-U./78"9:+' , ;()VCodeLineNumberTableLocalVariableTablethisLwebsnapshot/Snapshot;generateSnapshot(Ljava/util/List;)VcnnUrlLwebsnapshot/CnnUrl; candidateLjava/lang/String;i$Ljava/util/Iterator;body candidatesLjava/util/List;votes[[IjIeLjava/lang/Exception;count registeredimUrlLwebsnapshot/EmsUrl;urlLwebsnapshot/SimpleUrl;urlsformatLjava/text/DateFormat; snapshotDirLocalVariableTypeTable$Ljava/util/List;)Ljava/util/List; Signature,(Ljava/util/List;)VgetUrl+(Ljava/lang/String;)Lwebsnapshot/SimpleUrl;linedownloadAndSaveUrl8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; remotePath localPathcLjava/net/URLConnection;inLjava/io/BufferedReader;builderLjava/lang/StringBuilder;fLjava/io/File;writerLjava/io/BufferedWriter; Exceptions SourceFile Snapshot.java JKjava/text/SimpleDateFormatyyyyMMddHHmmssZ Jjava/util/Date j java/lang/StringBuilderCreating snapshot directory   java/io/File   websnapshot/SimpleUrlwebsnapshot/CnnUrl uv websnapshot/EmsUrl java/lang/String java/lang/Exception KEMS CNN  Capturing  java/net/URL java/io/BufferedReaderjava/io/InputStreamReader J J J  java/io/BufferedWriterjava/io/FileWriter J J  Kwebsnapshot/Snapshotjava/lang/Object(Ljava/lang/String;)Vjava/text/DateFormat$(Ljava/util/Date;)Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintlnmkdir()Zjava/util/Listiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object; getRemotePath getLocalPath&(Ljava/lang/String;)Ljava/lang/String;writeSummaryFilecreateSummaryFilegetNumPrecincts()I(I)Ljava/lang/String;'(Ljava/lang/String;I)Ljava/lang/String;getCount(Ljava/lang/String;)I getRegistered getCandidates()Ljava/util/List;size getMachine'(Ljava/lang/String;Ljava/lang/String;)I getAbsenteegetProvisionalwriteSummaryLine (III[[I)Verr(Ljava/lang/Object;)VcloseSummaryFile startsWith(Ljava/lang/String;)ZopenConnection()Ljava/net/URLConnection;java/net/URLConnectiongetInputStream()Ljava/io/InputStream;(Ljava/io/InputStream;)V(Ljava/io/Reader;)V(I)VreadLine(Ljava/io/File;)V(Ljava/io/Writer;)Vwriteclose!HIJKL/*MN OP QRLpYL+YM Y  , Y,W*N-'-:":,W,:,6,:  6 !6":  #$: 6  :  ? %: 2  &O 2  'O 2  (O  ) : + ,P-.,/W :+,ֱ58*V_b*M& /;V^ e"t&z'}(*-/59:<=>?ABC"D(G5L8I:KB/HNMOPR_YbVdXlYo[NeST-UVFWX YV mZ[ _\] \^_ :`a b_c_d_efd`aVghB-WXpi[ fjkZlVmmZn piopq rsLg-*01 Y*2*31 Y*4Y*5M_ adf$iN -tV uvL=  Y 6 * 7Y*89M:Y;Y,<=>N Y?:-@Y: WA W :Y+:BYCYDE:FGM6 oq%s8xDyN{V|ahrN\ wVxV%nyz8[{|KHtVDO}~h+YVr!*PK 8ìJJwebsnapshot/Url.class1^ 3 4 5678 39 : ; < = 5>? 5@ 5A 5BC 5D 5EF 5GHIJKL URL_PREFIXLjava/lang/String;url(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLwebsnapshot/Url;line getDomain()Ljava/lang/String;aIb getFileNamefileNamegetUrlsetUrl()V SourceFileUrl.java 0 M NO"java/lang/IllegalArgumentExceptionjava/lang/StringBuilderInvalid URL format: PQ R'   ST/ UV WX WY- Z[ \'.htm ]O.html -index.htmlhttp://websnapshot/Urljava/lang/Objectjava/lang/String startsWith(Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringlength()IindexOf(Ljava/lang/String;I)I substring(I)Ljava/lang/String;(II)Ljava/lang/String; replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; toLowerCaseendsWith!  s/*+YY+ *+ !)."/#$/%&' x* <*  = * * !! #" *#$#()*)+' E*  L+ L+#+Y+ L+!()*/-C/"E#$7,-' /* !4" #$. >*+ ! 9:"#$/0 !12PK ᳹8 AMETA-INF/PK ೹8߶+META-INF/MANIFEST.MFPK V8 A/websnapshot/PK 08A4h7RRYwebsnapshot/CnnUrl.classPK 8Ndwebsnapshot/EmsUrl.classPK 찹8^'websnapshot/Main.classPK 8ҙ@@/websnapshot/MicrovoteUrl.classPK e8 f++`Fwebsnapshot/SimpleUrl.classPK 侯8AV66Lwebsnapshot/Site.classPK 8"Y.RR.Twebsnapshot/Snapshot.classPK 8ìJJewebsnapshot/Url.classPK 5l