├── multicore ├── __init__.py ├── cpuInfo.pyc ├── __init__.pyc └── cpuInfo.py ├── preprocess ├── __init__.py ├── __init__.pyc ├── preprocess.pyc ├── porterStemmer.pyc ├── preprocess.py ├── stopWords.data.back ├── stopWords.data └── porterStemmer.py ├── dataTools ├── testFunctions.py ├── xlrd │ ├── xldate.py │ ├── __init__.py │ ├── compdoc.py │ ├── timemachine.py │ ├── doc │ │ ├── HISTORY.txt │ │ ├── compdoc.html │ │ ├── README.txt │ │ └── xlrd.html │ ├── licences.py │ ├── biffh.py │ └── sheet.py ├── XLSXreader.py ├── docs │ └── PythonIO.pdf ├── CSVreader.py ├── README ├── importMatlabData.py ├── importColumns.py └── testData.mat ├── unittests ├── test_multicore │ ├── __init__.py │ ├── __init__.pyc │ ├── test_cpuInfo.pyc │ └── test_cpuInfo.py ├── test_preprocess │ ├── __init__.py │ ├── __init__.pyc │ ├── test_tokenizeString.pyc │ ├── test_tokenizeString.py │ └── stopWords.data └── runall.py ├── DimentionalityReduction ├── README └── cca.py ├── temporary ├── siamak-labels-v14-black.png └── siamak-labels-v15-black.png ├── README └── crawlers └── twitterCrawler.py /multicore/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /preprocess/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dataTools/testFunctions.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unittests/test_multicore/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unittests/test_preprocess/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /multicore/cpuInfo.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/multicore/cpuInfo.pyc -------------------------------------------------------------------------------- /dataTools/xlrd/xldate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/xlrd/xldate.py -------------------------------------------------------------------------------- /multicore/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/multicore/__init__.pyc -------------------------------------------------------------------------------- /preprocess/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/preprocess/__init__.pyc -------------------------------------------------------------------------------- /dataTools/XLSXreader.py: -------------------------------------------------------------------------------- 1 | # 2 | # TODO 3 | # See this 4 | # http://github.com/dilshod/xlsx2csv 5 | 6 | -------------------------------------------------------------------------------- /dataTools/xlrd/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/xlrd/__init__.py -------------------------------------------------------------------------------- /dataTools/xlrd/compdoc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/xlrd/compdoc.py -------------------------------------------------------------------------------- /preprocess/preprocess.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/preprocess/preprocess.pyc -------------------------------------------------------------------------------- /dataTools/docs/PythonIO.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/dataTools/docs/PythonIO.pdf -------------------------------------------------------------------------------- /preprocess/porterStemmer.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/preprocess/porterStemmer.pyc -------------------------------------------------------------------------------- /DimentionalityReduction/README: -------------------------------------------------------------------------------- 1 | use the pca file from here http://folk.uio.no/henninri/pca_module/ 2 | 3 | 4 | -------------------------------------------------------------------------------- /temporary/siamak-labels-v14-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/temporary/siamak-labels-v14-black.png -------------------------------------------------------------------------------- /temporary/siamak-labels-v15-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/temporary/siamak-labels-v15-black.png -------------------------------------------------------------------------------- /unittests/test_multicore/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_multicore/__init__.pyc -------------------------------------------------------------------------------- /unittests/test_preprocess/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_preprocess/__init__.pyc -------------------------------------------------------------------------------- /unittests/test_multicore/test_cpuInfo.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_multicore/test_cpuInfo.pyc -------------------------------------------------------------------------------- /unittests/test_preprocess/test_tokenizeString.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faridani/PyNLP/HEAD/unittests/test_preprocess/test_tokenizeString.pyc -------------------------------------------------------------------------------- /dataTools/CSVreader.py: -------------------------------------------------------------------------------- 1 | # 2 | # TODO 3 | # See: http://docs.python.org/library/csv.html 4 | 5 | import csv 6 | spamReader = csv.reader(open('eggs.csv'), delimiter=' ', quotechar='|') 7 | for row in spamReader: 8 | print ', '.join(row) 9 | -------------------------------------------------------------------------------- /dataTools/README: -------------------------------------------------------------------------------- 1 | 2 | This folder will contain scripts for importing and exporting different data types. 3 | These types will include: 4 | 5 | - Matlab .mat file (done) 6 | - Columnar data files 7 | - csv files 8 | - R dataframes 9 | - Excel .xls files 10 | 11 | Siamak 12 | July 12, 2010 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /unittests/test_multicore/test_cpuInfo.py: -------------------------------------------------------------------------------- 1 | def test_detectCPUs(): 2 | import sys 3 | 4 | try: 5 | sys.path.append("/home/siamak/Desktop/PyNLP/") 6 | except: 7 | print "modify your sys.path.append in test-cpuInfo.py" 8 | 9 | 10 | from multicore.cpuInfo import detectCPUs 11 | 12 | print "Numer of cores: ", detectCPUs() 13 | 14 | -------------------------------------------------------------------------------- /dataTools/importMatlabData.py: -------------------------------------------------------------------------------- 1 | 2 | ## This script imports Matlab data files ( .mat) 3 | # TODO: make it pythonic 4 | # Blend it with the rest of the code 5 | 6 | import warnings 7 | warnings.filterwarnings("ignore") 8 | 9 | import scipy.io 10 | 11 | 12 | def loadmat(matfile): 13 | #matfile should be without .mat 14 | Yback = scipy.io.loadmat(matfile+'.mat') 15 | Y= Yback[matfile] 16 | return Y 17 | -------------------------------------------------------------------------------- /dataTools/xlrd/timemachine.py: -------------------------------------------------------------------------------- 1 | # timemachine.py -- adaptation for earlier Pythons e.g. 2.1 2 | # from timemachine import * 3 | 4 | import sys 5 | 6 | python_version = sys.version_info[:2] # e.g. version 2.4 -> (2, 4) 7 | 8 | if python_version < (2, 2): 9 | class object: 10 | pass 11 | False = 0 12 | True = 1 13 | 14 | def int_floor_div(x, y): 15 | return divmod(x, y)[0] -------------------------------------------------------------------------------- /unittests/runall.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | print "Testing Multicore Package" 4 | print "_________________________" 5 | from test_multicore.test_cpuInfo import test_detectCPUs 6 | test_detectCPUs() 7 | 8 | print "\n\n\n\n\n\n\n" 9 | print "Testing Preprocess Package" 10 | print "_________________________" 11 | from test_preprocess.test_tokenizeString import test_tokenizeString 12 | test_tokenizeString() 13 | 14 | 15 | print "\n\n\n\n\n\n\n" 16 | print "End of tests" 17 | print "_________________________" 18 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | PyNLP is designed to perform simple NLP procedures (examples include tokenizing, removing stop words, frequency analysis,...) 2 | 3 | 4 | Design Features: 5 | - Light weight 6 | - PyNLP is multi-core friendly. It will utilize all cores for its operations. 7 | - For each module unittests are provided as part of the source code. Unit tests cover most of the functions and modules 8 | 9 | 10 | Ideas for the future: 11 | - Combine Tokenize and Preprocess into one package 12 | 13 | Help: 14 | - preprocess contains functions for tokenizing 15 | - dataTools helps you import your data 16 | 17 | 18 | Please note: This project is still in very early stages. Please report bugs to faridani@berkeley.edu 19 | 20 | 21 | 22 | Siamak Faridani 23 | UC Berkeley 24 | July 2010 25 | faridani@berkeley.edu 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /dataTools/importColumns.py: -------------------------------------------------------------------------------- 1 | """ 2 | This script imports columnar data files 3 | TODO: make it pythonic 4 | Blend it with the rest of the code 5 | 6 | 7 | Example 8 | 0.828947 0.664474 0.861842 0.213904 0.657754 9 | 0.171123 0.170856 0.000000 0.004605 0.111497 10 | 0.616071 0.678571 0.616071 0.687500 0.776786 11 | 0.151786 0.526786 0.616071 0.410714 0.750000 12 | 1.000000 0.237433 0.336898 0.301872 0.700535 13 | 0.887576 0.887273 0.662121 0.863636 0.614000 14 | 0.360963 0.705882 0.855615 0.887701 0.941176 15 | 0.000000 0.677632 0.203947 0.500000 0.013158 16 | 0.288770 0.727273 0.283422 0.941176 0.278075 17 | 0.304813 0.385027 0.673797 0.732620 0.561497 18 | 0.269737 0.459893 0.978610 0.646791 0.759358 19 | 20 | """ 21 | 22 | def importColumnar(fileName): 23 | 24 | import os.path 25 | 26 | if (not os.path.exists(fileName)): 27 | print "ERROR: incorrect path to file" 28 | if (not os.path.isfile(fileName)): # Does file exist? Is it a file, or a directory? 29 | print "ERROR: file does not exist" 30 | 31 | 32 | from numpy import loadtxt 33 | 34 | f = loadtxt(fileName) 35 | return f 36 | 37 | if __name__=="__main__": 38 | f = importColumnar('testData.mat') 39 | print f 40 | -------------------------------------------------------------------------------- /multicore/cpuInfo.py: -------------------------------------------------------------------------------- 1 | def detectCPUs(): 2 | """ 3 | Detects the number of CPUs on a system. 4 | taken from: 5 | http://codeliberates.blogspot.com/2008/05/detecting-cpuscores-in-python.html 6 | Originally by Bruce Eckel 7 | 8 | 9 | 10 | Output: returns the number of cores 11 | 12 | Note: never tested on machines with more than one CPU and 2 cores 13 | 14 | 15 | """ 16 | 17 | import os 18 | # Linux, Unix and MacOS: 19 | if hasattr(os, "sysconf"): 20 | if os.sysconf_names.has_key("SC_NPROCESSORS_ONLN"): 21 | # Linux & Unix: 22 | ncpus = os.sysconf("SC_NPROCESSORS_ONLN") 23 | if isinstance(ncpus, int) and ncpus > 0: 24 | return ncpus 25 | else: # OSX: 26 | return int(os.popen2("sysctl -n hw.ncpu")[1].read()) 27 | # Windows: 28 | if os.environ.has_key("NUMBER_OF_PROCESSORS"): 29 | ncpus = int(os.environ["NUMBER_OF_PROCESSORS"]); 30 | if ncpus > 0: 31 | return ncpus 32 | return 1 # Default 33 | 34 | 35 | -------------------------------------------------------------------------------- /unittests/test_preprocess/test_tokenizeString.py: -------------------------------------------------------------------------------- 1 | def test_tokenizeString(): 2 | import sys 3 | 4 | try: 5 | sys.path.append("/home/siamak/Desktop/PyNLP/") 6 | except: 7 | print "modify your sys.path.append in test_tokenizeString.py" 8 | 9 | 10 | from preprocess.preprocess import tokenizeString 11 | 12 | test_var = tokenizeString("so, instead, I threw together something from scratch. this doesn't even use NLTK, so you should just be able to drop this script (and the accompanying stopwords file, which is a custom list I use) into whatever directory you like and run with it. I tried to keep this super simple so that (hopefully) you can run it real time. ]it gives you an ordered list of most common words and frequency counts thereof; simple but effective in terms of finding the top most important words.") 13 | if (test_var == ['so', 'instead', 'I', 'threw', 'together', 'something', 'from', 'scratch', 'this', 'doesn', 't', 'even', 'use', 'NLTK', 'so', 'you', 'should', 'just', 'be', 'able', 'to', 'drop', 'this', 'script', 'and', 'the', 'accompanying', 'stopwords', 'file', 'which', 'is', 'a', 'custom', 'list', 'I', 'use', 'into', 'whatever', 'directory', 'you', 'like', 'and', 'run', 'with', 'it', 'I', 'tried', 'to', 'keep', 'this', 'super', 'simple', 'so', 'that', 'hopefully', 'you', 'can', 'run', 'it', 'real', 'time', 'it', 'gives', 'you', 'an', 'ordered', 'list', 'of', 'most', 'common', 'words', 'and', 'frequency', 'counts', 'thereof', 'simple', 'but', 'effective', 'in', 'terms', 'of', 'finding', 'the', 'top', 'most', 'important', 'words']): 14 | print "tokenizeString(inputString) works properly" 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /DimentionalityReduction/cca.py: -------------------------------------------------------------------------------- 1 | 2 | """ 3 | Canonical Correlation Analysis 4 | 5 | originally by Magnus Borga, Linköpings universitet in Matlab 6 | modified to Kernel CCA by Taylor Berg-Kirkpatrick 7 | ported to Python by Siamak Faridani 8 | 9 | July 2010 10 | UC Berkeley 11 | 12 | TODO: Make it more like python not Matlab :) 13 | 14 | """ 15 | """ 16 | % CCA calculate canonical correlations 17 | % 18 | % [Wx Wy r] = cca(X,Y) where Wx and Wy contains the canonical correlation 19 | % vectors as columns and r is a vector with corresponding canonical 20 | % correlations. The correlations are sorted in descending order. X and Y 21 | % are matrices where each column is a sample. Hence, X and Y must have 22 | % the same number of columns. 23 | % 24 | % Example: If X is M*K and Y is N*K there are L=MIN(M,N) solutions. Wx is 25 | % then M*L, Wy is N*L and r is L*1. 26 | % 27 | % 28 | % © 2000 Magnus Borga, Linköpings universitet 29 | """ 30 | 31 | function [Wx, Wy, invWx, invWy, P] = kernel_cca(X,Y, reg) 32 | 33 | 34 | n = size(X,2); 35 | sx = size(X,1); 36 | sy = size(Y,1); 37 | L = min(sx,sy); 38 | Kxx = X'*X; 39 | Kyy = Y'*Y; 40 | invKxx = inv(Kxx + reg*eye(n)); 41 | invKyy = inv(Kyy + reg*eye(n)); 42 | 43 | 44 | [Alpha,r] = eig(invKxx*Kyy*invKyy*Kxx); 45 | r = sqrt(r); % Canonical correlations 46 | Beta = invKyy*Kxx*Alpha; 47 | 48 | Wx = X*Alpha; 49 | Wy = Y*Beta; % Basis in Y 50 | 51 | % --- Sort correlations --- 52 | 53 | Vx = fliplr(Wx); % reverse order of eigenvectors 54 | Vy = fliplr(Wy); % reverse order of eigenvectors 55 | r = flipud(diag(r)); % extract eigenvalues anr reverse their orrer 56 | [r,I]= sort(r); % sort reversed eigenvalues in ascending order 57 | r = flipud(r); % restore sorted eigenvalues into descending order 58 | for j = 1:length(I) 59 | Wx(:,j) = Vx(:,I(j)); % sort reversed eigenvectors in ascending order 60 | Wy(:,j) = Vy(:,I(j)); % sort reversed eigenvectors in ascending order 61 | end 62 | Wx = fliplr(Wx); % restore sorted eigenvectors into descending order 63 | Wy = fliplr(Wy); % restore sorted eigenvectors into descending order 64 | 65 | Wx=Wx(:,1:L); 66 | Wy=Wy(:,1:L); 67 | r = r(1:L); 68 | 69 | Wx = Wx ./repmat(sqrt(diag(Wx'*X*X'*Wx)'),sx,1); 70 | Wy = Wy ./repmat(sqrt(diag(Wy'*Y*Y'*Wy)'),sy,1); 71 | 72 | P = diag(diag(Wx'*X*Y'*Wy)); 73 | 74 | % Wx = Wx*sqrt(P); 75 | % Wy = Wy*sqrt(P); 76 | 77 | invWx = (X*X'*Wx)'; 78 | invWy = (Y*Y'*Wy)'; 79 | 80 | % invWx = ((X*X')*Wx*sqrt(P))'; 81 | % invWy = ((Y*Y')*Wy*sqrt(P))'; 82 | -------------------------------------------------------------------------------- /preprocess/preprocess.py: -------------------------------------------------------------------------------- 1 | import re 2 | import string 3 | 4 | stopWords = open('stopWords.data', 'r').readlines() 5 | newstopWords = [' '] 6 | for word in stopWords: 7 | newstopWords.append(word.replace("\n","")) 8 | 9 | stopWords = newstopWords 10 | 11 | 12 | def tokenizeString(inputString): 13 | """ 14 | Tokenizes a string (splits the string into words) 15 | 16 | modified from a code by Eric Baumer 17 | """ 18 | 19 | # use a regular expression to remove punctuation and line breaks 20 | punct = re.compile('[%s]' % re.escape(string.punctuation)) 21 | inputString = punct.sub(' ', inputString) 22 | # and remove line breaks 23 | inputString = inputString.replace('\n', ' ') 24 | 25 | # now split into words and return 26 | return inputString.split() 27 | 28 | 29 | 30 | def isStopWord(inputWord): 31 | """ 32 | Returns True if the inputWord is a stopword 33 | """ 34 | if inputWord.lower() in stopWords: 35 | return True 36 | else: 37 | return False 38 | 39 | 40 | def removeStopWord(inputString): 41 | """ 42 | Removes a stop word from a sentence 43 | 44 | The input can be either a string or a list of words 45 | for example you can insert the output of a stemmer as an input here 46 | 47 | """ 48 | 49 | output = [] 50 | 51 | if type(inputString)==type(str()): 52 | for item in tokenizeString(inputString): 53 | if not (isStopWord(item)): 54 | output.append(item) 55 | if type(inputString)==type(list()): 56 | for item in inputString: 57 | if not (isStopWord(item)): 58 | output.append(item) 59 | 60 | 61 | return output 62 | 63 | 64 | if __name__=="__main__": 65 | # I write the tests here 66 | # TODO: move them to the test module 67 | 68 | 69 | print 70 | print 71 | 72 | from porterStemmer import Stem 73 | myText = "The Noronha skink is a species of skink from the island of Fernando de Noronha off northeastern Brazil. Perhaps seen by Amerigo Vespucci in 1503, it was first formally described in 1839. Its subsequent taxonomic history has been complex, riddled with confusion with Trachylepis maculata and other species, homonyms, and other problems. " 74 | print "removing stop words" 75 | print removeStopWord((myText)) 76 | print 77 | print removeStopWord(removeStopWord(myText)) 78 | print 79 | print "Stemming" 80 | print "Stem Sentence" 81 | print Stem(myText) 82 | print 83 | print 84 | print 85 | print "Stem List" 86 | print Stem(removeStopWord(myText)) 87 | # StemSentence( 88 | -------------------------------------------------------------------------------- /preprocess/stopWords.data.back: -------------------------------------------------------------------------------- 1 | a 2 | the 3 | of 4 | and 5 | that 6 | for 7 | by 8 | as 9 | be 10 | or 11 | this 12 | then 13 | we 14 | which 15 | with 16 | at 17 | from 18 | under 19 | such 20 | there 21 | other 22 | if 23 | in 24 | is 25 | it 26 | its 27 | can 28 | now 29 | an 30 | to 31 | but 32 | upon 33 | where 34 | these 35 | when 36 | whether 37 | also 38 | than 39 | after 40 | within 41 | before 42 | because 43 | without 44 | however 45 | therefore 46 | between 47 | those 48 | since 49 | into 50 | out 51 | some 52 | abs 53 | about 54 | accordingly 55 | affecting 56 | affected 57 | again 58 | against 59 | all 60 | almost 61 | already 62 | although 63 | always 64 | among 65 | any 66 | anyone 67 | apparently 68 | are 69 | arise 70 | aside 71 | away 72 | became 73 | become 74 | becomes 75 | been 76 | being 77 | both 78 | briefly 79 | came 80 | cannot 81 | certain 82 | certainly 83 | could 84 | etc 85 | does 86 | done 87 | during 88 | each 89 | either 90 | else 91 | ever 92 | every 93 | following 94 | found 95 | further 96 | gave 97 | gets 98 | give 99 | given 100 | giving 101 | gone 102 | got 103 | had 104 | hardly 105 | has 106 | have 107 | having 108 | here 109 | how 110 | itself 111 | just 112 | keep 113 | kept 114 | kg 115 | knowledge 116 | largely 117 | like 118 | made 119 | mainly 120 | make 121 | many 122 | mg 123 | might 124 | ml 125 | more 126 | most 127 | mostly 128 | much 129 | must 130 | nearly 131 | necessarily 132 | neither 133 | next 134 | none 135 | nor 136 | normally 137 | not 138 | noted 139 | obtain 140 | obtained 141 | often 142 | only 143 | our 144 | put 145 | owing 146 | particularly 147 | past 148 | perhaps 149 | please 150 | poorly 151 | possible 152 | possibly 153 | potentially 154 | predominantly 155 | present 156 | previously 157 | primarily 158 | probably 159 | prompt 160 | promptly 161 | quickly 162 | quite 163 | rather 164 | readily 165 | really 166 | recently 167 | refs 168 | regarding 169 | regardless 170 | relatively 171 | respectively 172 | resulted 173 | resulting 174 | results 175 | said 176 | same 177 | seem 178 | seen 179 | several 180 | shall 181 | should 182 | show 183 | showed 184 | shown 185 | shows 186 | significantly 187 | similar 188 | similarly 189 | slightly 190 | so 191 | sometime 192 | somewhat 193 | soon 194 | specifically 195 | state 196 | states 197 | strongly 198 | substantially 199 | successfully 200 | sufficiently 201 | their 202 | theirs 203 | them 204 | they 205 | though 206 | through 207 | throughout 208 | too 209 | toward 210 | unless 211 | until 212 | use 213 | used 214 | usefully 215 | usefulness 216 | using 217 | usually 218 | various 219 | very 220 | was 221 | were 222 | what 223 | while 224 | who 225 | whose 226 | why 227 | widely 228 | will 229 | would 230 | yet 231 | he 232 | she 233 | 234 | -------------------------------------------------------------------------------- /unittests/test_preprocess/stopWords.data: -------------------------------------------------------------------------------- 1 | a 2 | the 3 | of 4 | and 5 | that 6 | for 7 | by 8 | as 9 | be 10 | or 11 | this 12 | then 13 | we 14 | which 15 | with 16 | at 17 | from 18 | under 19 | such 20 | there 21 | other 22 | if 23 | in 24 | is 25 | it 26 | its 27 | can 28 | now 29 | an 30 | to 31 | but 32 | upon 33 | where 34 | these 35 | when 36 | whether 37 | also 38 | than 39 | after 40 | within 41 | before 42 | because 43 | without 44 | however 45 | therefore 46 | between 47 | those 48 | since 49 | into 50 | out 51 | some 52 | abs 53 | about 54 | accordingly 55 | affecting 56 | affected 57 | again 58 | against 59 | all 60 | almost 61 | already 62 | although 63 | always 64 | among 65 | any 66 | anyone 67 | apparently 68 | are 69 | arise 70 | aside 71 | away 72 | became 73 | become 74 | becomes 75 | been 76 | being 77 | both 78 | briefly 79 | came 80 | cannot 81 | certain 82 | certainly 83 | could 84 | etc 85 | does 86 | done 87 | during 88 | each 89 | either 90 | else 91 | ever 92 | every 93 | following 94 | found 95 | further 96 | gave 97 | gets 98 | give 99 | given 100 | giving 101 | gone 102 | got 103 | had 104 | hardly 105 | has 106 | have 107 | having 108 | here 109 | how 110 | itself 111 | just 112 | keep 113 | kept 114 | kg 115 | knowledge 116 | largely 117 | like 118 | made 119 | mainly 120 | make 121 | many 122 | mg 123 | might 124 | ml 125 | more 126 | most 127 | mostly 128 | much 129 | must 130 | nearly 131 | necessarily 132 | neither 133 | next 134 | none 135 | nor 136 | normally 137 | not 138 | noted 139 | obtain 140 | obtained 141 | often 142 | only 143 | our 144 | put 145 | owing 146 | particularly 147 | past 148 | perhaps 149 | please 150 | poorly 151 | possible 152 | possibly 153 | potentially 154 | predominantly 155 | present 156 | previously 157 | primarily 158 | probably 159 | prompt 160 | promptly 161 | quickly 162 | quite 163 | rather 164 | readily 165 | really 166 | recently 167 | refs 168 | regarding 169 | regardless 170 | relatively 171 | respectively 172 | resulted 173 | resulting 174 | results 175 | said 176 | same 177 | seem 178 | seen 179 | several 180 | shall 181 | should 182 | show 183 | showed 184 | shown 185 | shows 186 | significantly 187 | similar 188 | similarly 189 | slightly 190 | so 191 | sometime 192 | somewhat 193 | soon 194 | specifically 195 | state 196 | states 197 | strongly 198 | substantially 199 | successfully 200 | sufficiently 201 | their 202 | theirs 203 | them 204 | they 205 | though 206 | through 207 | throughout 208 | too 209 | toward 210 | unless 211 | until 212 | use 213 | used 214 | usefully 215 | usefulness 216 | using 217 | usually 218 | various 219 | very 220 | was 221 | were 222 | what 223 | while 224 | who 225 | whose 226 | why 227 | widely 228 | will 229 | would 230 | yet 231 | he 232 | she 233 | 234 | -------------------------------------------------------------------------------- /dataTools/xlrd/doc/HISTORY.txt: -------------------------------------------------------------------------------- 1 | Version 0.3a1, 2005-05-15, first public release 2 | 3 | Version 0.4a1, 2005-09-07, released to Laurent T. 4 | 5 | * Book and sheet objects can now be pickled and unpickled. 6 | Instead of reading a large spreadsheet multiple times, 7 | consider pickling it once and loading the saved pickle; 8 | can be much faster. Thanks to Laurent Thioudellet for the 9 | enhancement request. 10 | 11 | * Using the mmap module can be turned off. 12 | But you would only do that for benchmarking purposes. 13 | 14 | * Handling NUMBER records has been made faster 15 | 16 | Version 0.5, 2006-02-07, released to Journyx 17 | 18 | * Now works with Python 2.1. Backporting to Python 2.1 was partially 19 | funded by Journyx - provider of timesheet and project accounting 20 | solutions (http://journyx.com/) 21 | 22 | * open_workbook() can be given the contents of a file 23 | instead of its name. Thanks to Remco Boerma for the suggestion. 24 | 25 | * New module attribute __VERSION__ (as a string; for example "0.5") 26 | 27 | * Minor enhancements to classification of formats as date or not-date. 28 | 29 | * Added warnings about files with inconsistent OLE compound document 30 | structures. Thanks to Roman V. Kiseliov (author of pyexcelerator) 31 | for the tip-off. 32 | 33 | Version 0.5.1, 2006-02-18, released to Journyx 34 | 35 | * Python 2.1 mmap requires file to be opened for update access. 36 | Added fall-back to read-only access withoup mmap if 2.1 open fails 37 | because "permission denied". 38 | 39 | Version 0.5.2a1, 2006-03-06 40 | 41 | * pyXLwriter writes DIMENSIONS record with antique opcode 0x0000 42 | instead of 0x0200; worked around 43 | * A file written by Gnumeric had zeroes in DIMENSIONS record 44 | but data in cell A1; worked around 45 | 46 | Version 0.5.2a2, 2006-03-09 47 | 48 | * Found that Gnumeric writes all DIMENSIONS records with nrows and ncols 49 | each 1 less than they should be (except when it clamps ncols at 256!), 50 | and pyXLwriter doesn't write ROW records. Cell memory pre-allocation was 51 | generalised to use ROW records if available with fall-back to DIMENSIONS records. 52 | 53 | Version 0.5.2a3, 2006-03-13 54 | 55 | * Gnumeric writes user-defined formats with format codes starting at 56 | 50 instead of 164; worked around. 57 | 58 | * Thanks to Didrik Pinte for reporting the need for xlrd to be more tolerant 59 | of the idiosyncracies of other software, for supplying sample files, 60 | and for performing alpha testing. 61 | 62 | * '_' character in a format should be treated like an escape character; fixed. 63 | 64 | * An "empty" formula result means a zero-length string, not an empty cell! Fixed. 65 | 66 | Version 0.5.2, 2006-03-14, public release 67 | 68 | * Updated version numbers, README, HISTORY. 69 | -------------------------------------------------------------------------------- /dataTools/xlrd/doc/compdoc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The compdoc Module 6 | 7 | 8 |

The compdoc Module

9 |

Implements the mimimal functionality required 10 | to extract a "Workbook" or "Book" stream (as one big string) 11 | from an OLE2 Compound Document file. 12 |

Copyright © 2005-2006 Stephen John Machin, Lingfo Pty Ltd

13 |

This module is part of the xlrd package, which is released under a BSD-style licence.

14 |

Module Contents

15 |
16 |
CompDoc(mem, logfile=sys.stdout, DEBUG=0) (class) [#]
17 |
18 |

Compound document handler.

19 |
20 |
mem
21 |
22 | The raw contents of the file, as a string, or as an mmap.mmap() object. The 23 | only operation it needs to support is slicing.
24 |

25 |

For more information about this class, see The CompDoc Class.

26 |
27 |
SIGNATURE (variable) [#]
28 |
29 |

Magic cookie that should appear in the first 8 bytes of the file.

30 |
31 |
32 |

The CompDoc Class

33 |
34 |
CompDoc(mem, logfile=sys.stdout, DEBUG=0) (class) [#]
35 |
36 |

Compound document handler.

37 |
38 |
mem
39 |
40 | The raw contents of the file, as a string, or as an mmap.mmap() object. The 41 | only operation it needs to support is slicing.
42 |

43 |
44 |
get_named_stream(qname) [#]
45 |
46 |

Interrogate the compound document's directory; return the stream as a string if found, otherwise 47 | return None.

48 |
49 |
qname
50 |
51 | Name of the desired stream e.g. u'Workbook'. Should be in Unicode or convertible thereto.
52 |

53 |
54 |
locate_named_stream(qname) [#]
55 |
56 |

Interrogate the compound document's directory. 57 | If the named stream is not found, (None, 0, 0) will be returned. 58 | If the named stream is found and is contiguous within the original byte sequence ("mem") 59 | used when the document was opened, 60 | then (mem, offset_to_start_of_stream, length_of_stream) is returned. 61 | Otherwise a new string is built from the fragments and (new_string, 0, length_of_stream) is returned.

62 |
63 |
qname
64 |
65 | Name of the desired stream e.g. u'Workbook'. Should be in Unicode or convertible thereto.
66 |

67 |
68 |
69 | 70 | -------------------------------------------------------------------------------- /dataTools/xlrd/licences.py: -------------------------------------------------------------------------------- 1 | """ 2 | Portions copyright (c) 2005-2006, Stephen John Machin, Lingfo Pty Ltd 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, 9 | this list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. None of the names of Stephen John Machin, Lingfo Pty Ltd and any 16 | contributors may be used to endorse or promote products derived from this 17 | software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 21 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 23 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 29 | THE POSSIBILITY OF SUCH DAMAGE. 30 | """ 31 | 32 | """ 33 | /*- 34 | * Copyright (c) 2001 David Giffin. 35 | * All rights reserved. 36 | * 37 | * Based on the the Java version: Andrew Khan Copyright (c) 2000. 38 | * 39 | * 40 | * Redistribution and use in source and binary forms, with or without 41 | * modification, are permitted provided that the following conditions 42 | * are met: 43 | * 44 | * 1. Redistributions of source code must retain the above copyright 45 | * notice, this list of conditions and the following disclaimer. 46 | * 47 | * 2. Redistributions in binary form must reproduce the above copyright 48 | * notice, this list of conditions and the following disclaimer in 49 | * the documentation and/or other materials provided with the 50 | * distribution. 51 | * 52 | * 3. All advertising materials mentioning features or use of this 53 | * software must display the following acknowledgment: 54 | * "This product includes software developed by 55 | * David Giffin ." 56 | * 57 | * 4. Redistributions of any form whatsoever must retain the following 58 | * acknowledgment: 59 | * "This product includes software developed by 60 | * David Giffin ." 61 | * 62 | * THIS SOFTWARE IS PROVIDED BY DAVID GIFFIN ``AS IS'' AND ANY 63 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 64 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 65 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DAVID GIFFIN OR 66 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 67 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 68 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 69 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 70 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 71 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 72 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 73 | * OF THE POSSIBILITY OF SUCH DAMAGE. 74 | */ 75 | """ 76 | -------------------------------------------------------------------------------- /dataTools/xlrd/doc/README.txt: -------------------------------------------------------------------------------- 1 | Python package "xlrd" 2 | --------------------- 3 | 4 | Purpose: 5 | 6 | Provide a library for developers to use to extract data 7 | from Microsoft Excel (tm) spreadsheet files. 8 | 9 | It is not an end-user tool. 10 | 11 | Author: John Machin, Lingfo Pty Ltd (sjmachin@lexicon.net) 12 | 13 | Licence: BSD-style (see licences.py) 14 | 15 | Version of xlrd: 0.5.2 16 | 17 | Version of Python required: 2.1 or later. 18 | 19 | External modules required: 20 | The package itself is pure Python with no dependencies on modules or packages 21 | outside the standard Python distribution. To run the demo script runxlrd.py with 22 | Python 2.2 or 2.1 requires the Optik module (version 1.4.1 or later) from 23 | http://optik.sourceforge.net/ 24 | 25 | Versions of Excel supported: 26 | 2004, 2002, XP, 2000, 97, 95, 5.0, 4.0, 3.0. 27 | 2.x could be done readily enough if any demand. 28 | 29 | Outside the current scope: xlrd will safely and reliably ignore any of these 30 | if present in the file: 31 | * Anything to do with the on-screen presentation of the data (fonts, panes, 32 | column widths, row heights, ...) 33 | * Charts, Macros, Pictures, any other embedded object. WARNING: currently 34 | this includes embedded worksheets. 35 | * VBA modules 36 | * Formulas (results of formula calculations are extracted, of course). 37 | * Comments 38 | * Hyperlinks 39 | 40 | Unlikely to be done: 41 | * Handling password-protected (encrypted) files. 42 | 43 | Particular emphasis (refer docs for details): 44 | 45 | * Operability across OS, regions, platforms 46 | 47 | * Handling Excel's date problems, including the Windows / Macintosh 48 | four-year differential. 49 | 50 | Quick start: 51 | 52 | import xlrd 53 | book = xlrd.open_workbook("myfile.xls") 54 | print "The number of worksheets is", book.nsheets 55 | print "Worksheet name(s):", book.sheet_names() 56 | sh = book.sheet_by_index(0) 57 | print sh.name, sh.nrows, sh.ncols 58 | print "Cell D30 is", sh.cell_value(rowx=29, colx=3) 59 | for rx in range(sh.nrows): 60 | print sh.row(rx) 61 | # Refer to docs for more details. 62 | # Feedback on API is welcomed. 63 | 64 | Installation: 65 | 66 | * On Windows: use the installer. 67 | 68 | * Any OS: Starting with either the .zip file or the .tar.gz file, unzip into a suitable directory, 69 | chdir to that directory, then do "python setup.py install". 70 | 71 | Where did it go? 72 | 73 | If is your Python installation directory: 74 | the main files are in /Lib/site-packages/xlrd 75 | (except for Python 2.1 where they will be in /xlrd), 76 | the docs are in the doc subdirectory, 77 | and there's a sample script: /Scripts/runxlrd.py 78 | 79 | If os.sep != "/": make the appropriate adjustments. 80 | 81 | Where did it come from? 82 | 83 | http://www.lexicon.net/sjmachin/xlrd.htm 84 | 85 | Another quick start: This will show the first, second and last rows of each 86 | sheet in each file: 87 | 88 | OS-prompt>python /scripts/runxlrd.py 3rows *blah*.xls 89 | 90 | Acknowledgements: 91 | 92 | * This package started life as a translation from C into Python 93 | of parts of a utility called "xlreader" developed by David Giffin. 94 | "This product includes software developed by David Giffin ." 95 | 96 | * OpenOffice.org has truly excellent documentation of the Microsoft Excel file formats 97 | and Compound Document file format, authored by Daniel Rentz. See http://sc.openoffice.org 98 | 99 | * U+5F20 U+654F: over a decade of inspiration, support, and interesting decoding opportunities. 100 | 101 | * Ksenia Marasanova: sample Macintosh and non-Latin1 files, alpha testing 102 | 103 | * Backporting to Python 2.1 was partially funded by Journyx - provider of 104 | timesheet and project accounting solutions (http://journyx.com/). 105 | 106 | * << a growing list of names; see HISTORY.txt >>: feedback, testing, test files, ... -------------------------------------------------------------------------------- /preprocess/stopWords.data: -------------------------------------------------------------------------------- 1 | a 2 | a's 3 | able 4 | about 5 | above 6 | according 7 | accordingly 8 | across 9 | actually 10 | after 11 | afterwards 12 | again 13 | against 14 | ain't 15 | all 16 | allow 17 | allows 18 | almost 19 | alone 20 | along 21 | already 22 | also 23 | although 24 | always 25 | am 26 | among 27 | amongst 28 | an 29 | and 30 | another 31 | any 32 | anybody 33 | anyhow 34 | anyone 35 | anything 36 | anyway 37 | anyways 38 | anywhere 39 | apart 40 | appear 41 | appreciate 42 | appropriate 43 | are 44 | aren't 45 | around 46 | as 47 | aside 48 | ask 49 | asking 50 | associated 51 | at 52 | available 53 | away 54 | awfully 55 | b 56 | be 57 | became 58 | because 59 | become 60 | becomes 61 | becoming 62 | been 63 | before 64 | beforehand 65 | behind 66 | being 67 | believe 68 | below 69 | beside 70 | besides 71 | best 72 | better 73 | between 74 | beyond 75 | both 76 | brief 77 | but 78 | by 79 | c 80 | c'mon 81 | c's 82 | came 83 | can 84 | can't 85 | cannot 86 | cant 87 | cause 88 | causes 89 | certain 90 | certainly 91 | changes 92 | clearly 93 | co 94 | com 95 | come 96 | comes 97 | concerning 98 | consequently 99 | consider 100 | considering 101 | contain 102 | containing 103 | contains 104 | corresponding 105 | could 106 | couldn't 107 | course 108 | currently 109 | d 110 | definitely 111 | described 112 | despite 113 | did 114 | didn't 115 | different 116 | do 117 | does 118 | doesn't 119 | doing 120 | don't 121 | done 122 | down 123 | downwards 124 | during 125 | e 126 | each 127 | edu 128 | eg 129 | eight 130 | either 131 | else 132 | elsewhere 133 | enough 134 | entirely 135 | especially 136 | et 137 | etc 138 | even 139 | ever 140 | every 141 | everybody 142 | everyone 143 | everything 144 | everywhere 145 | ex 146 | exactly 147 | example 148 | except 149 | f 150 | far 151 | few 152 | fifth 153 | first 154 | five 155 | followed 156 | following 157 | follows 158 | for 159 | former 160 | formerly 161 | forth 162 | four 163 | from 164 | further 165 | furthermore 166 | g 167 | get 168 | gets 169 | getting 170 | given 171 | gives 172 | go 173 | goes 174 | going 175 | gone 176 | got 177 | gotten 178 | greetings 179 | h 180 | had 181 | hadn't 182 | happens 183 | hardly 184 | has 185 | hasn't 186 | have 187 | haven't 188 | having 189 | he 190 | he's 191 | hello 192 | help 193 | hence 194 | her 195 | here 196 | here's 197 | hereafter 198 | hereby 199 | herein 200 | hereupon 201 | hers 202 | herself 203 | hi 204 | him 205 | himself 206 | his 207 | hither 208 | hopefully 209 | how 210 | howbeit 211 | however 212 | i 213 | i'd 214 | i'll 215 | i'm 216 | i've 217 | ie 218 | if 219 | ignored 220 | immediate 221 | in 222 | inasmuch 223 | inc 224 | indeed 225 | indicate 226 | indicated 227 | indicates 228 | inner 229 | insofar 230 | instead 231 | into 232 | inward 233 | is 234 | isn't 235 | it 236 | it'd 237 | it'll 238 | it's 239 | its 240 | itself 241 | j 242 | just 243 | k 244 | keep 245 | keeps 246 | kept 247 | know 248 | knows 249 | known 250 | l 251 | last 252 | lately 253 | later 254 | latter 255 | latterly 256 | least 257 | less 258 | lest 259 | let 260 | let's 261 | like 262 | liked 263 | likely 264 | little 265 | look 266 | looking 267 | looks 268 | ltd 269 | m 270 | mainly 271 | many 272 | may 273 | maybe 274 | me 275 | mean 276 | meanwhile 277 | merely 278 | might 279 | more 280 | moreover 281 | most 282 | mostly 283 | much 284 | must 285 | my 286 | myself 287 | n 288 | name 289 | namely 290 | nd 291 | near 292 | nearly 293 | necessary 294 | need 295 | needs 296 | neither 297 | never 298 | nevertheless 299 | new 300 | next 301 | nine 302 | no 303 | nobody 304 | non 305 | none 306 | noone 307 | nor 308 | normally 309 | not 310 | nothing 311 | novel 312 | now 313 | nowhere 314 | o 315 | obviously 316 | of 317 | off 318 | often 319 | oh 320 | ok 321 | okay 322 | old 323 | on 324 | once 325 | one 326 | ones 327 | only 328 | onto 329 | or 330 | other 331 | others 332 | otherwise 333 | ought 334 | our 335 | ours 336 | ourselves 337 | out 338 | outside 339 | over 340 | overall 341 | own 342 | p 343 | particular 344 | particularly 345 | per 346 | perhaps 347 | placed 348 | please 349 | plus 350 | possible 351 | presumably 352 | probably 353 | provides 354 | q 355 | que 356 | quite 357 | qv 358 | r 359 | rather 360 | rd 361 | re 362 | really 363 | reasonably 364 | regarding 365 | regardless 366 | regards 367 | relatively 368 | respectively 369 | right 370 | s 371 | said 372 | same 373 | saw 374 | say 375 | saying 376 | says 377 | second 378 | secondly 379 | see 380 | seeing 381 | seem 382 | seemed 383 | seeming 384 | seems 385 | seen 386 | self 387 | selves 388 | sensible 389 | sent 390 | serious 391 | seriously 392 | seven 393 | several 394 | shall 395 | she 396 | should 397 | shouldn't 398 | since 399 | six 400 | so 401 | some 402 | somebody 403 | somehow 404 | someone 405 | something 406 | sometime 407 | sometimes 408 | somewhat 409 | somewhere 410 | soon 411 | sorry 412 | specified 413 | specify 414 | specifying 415 | still 416 | sub 417 | such 418 | sup 419 | sure 420 | t 421 | t's 422 | take 423 | taken 424 | tell 425 | tends 426 | th 427 | than 428 | thank 429 | thanks 430 | thanx 431 | that 432 | that's 433 | thats 434 | the 435 | their 436 | theirs 437 | them 438 | themselves 439 | then 440 | thence 441 | there 442 | there's 443 | thereafter 444 | thereby 445 | therefore 446 | therein 447 | theres 448 | thereupon 449 | these 450 | they 451 | they'd 452 | they'll 453 | they're 454 | they've 455 | think 456 | third 457 | this 458 | thorough 459 | thoroughly 460 | those 461 | though 462 | three 463 | through 464 | throughout 465 | thru 466 | thus 467 | to 468 | together 469 | too 470 | took 471 | toward 472 | towards 473 | tried 474 | tries 475 | truly 476 | try 477 | trying 478 | twice 479 | two 480 | u 481 | un 482 | under 483 | unfortunately 484 | unless 485 | unlikely 486 | until 487 | unto 488 | up 489 | upon 490 | us 491 | use 492 | used 493 | useful 494 | uses 495 | using 496 | usually 497 | uucp 498 | v 499 | value 500 | various 501 | very 502 | via 503 | viz 504 | vs 505 | w 506 | want 507 | wants 508 | was 509 | wasn't 510 | way 511 | we 512 | we'd 513 | we'll 514 | we're 515 | we've 516 | welcome 517 | well 518 | went 519 | were 520 | weren't 521 | what 522 | what's 523 | whatever 524 | when 525 | whence 526 | whenever 527 | where 528 | where's 529 | whereafter 530 | whereas 531 | whereby 532 | wherein 533 | whereupon 534 | wherever 535 | whether 536 | which 537 | while 538 | whither 539 | who 540 | who's 541 | whoever 542 | whole 543 | whom 544 | whose 545 | why 546 | will 547 | willing 548 | wish 549 | with 550 | within 551 | without 552 | won't 553 | wonder 554 | would 555 | would 556 | wouldn't 557 | x 558 | y 559 | yes 560 | yet 561 | you 562 | you'd 563 | you'll 564 | you're 565 | you've 566 | your 567 | yours 568 | yourself 569 | yourselves 570 | z 571 | zero 572 | -------------------------------------------------------------------------------- /crawlers/twitterCrawler.py: -------------------------------------------------------------------------------- 1 | """ 2 | This tweeter crawler is built on top of Django 3 | 4 | Todo: update the MVC model (use another MVC other than Django) 5 | Make it accessible and usable 6 | It is not usable in this form 7 | """ 8 | 9 | 10 | 11 | 12 | 13 | # We setup the enviroment variable here 14 | 15 | from django.core.management import setup_environ 16 | import settings 17 | import feedparser 18 | 19 | setup_environ(settings) 20 | 21 | # From now you can use ay Django elements 22 | import time 23 | from urllib2 import urlopen 24 | from BeautifulSoup import BeautifulSoup 25 | import nltk 26 | from nltk.stem.porter import * 27 | stemmer = PorterStemmer() 28 | stopwords = nltk.corpus.stopwords.words('english') 29 | # did not work stopwords.append("\\") #removing \ it cause MySQL problems 30 | 31 | def remove_stopwords(text): 32 | content = '' 33 | text = nltk.word_tokenize(text) 34 | for w in text: 35 | if w.lower() not in stopwords: 36 | content = content + stemmer.stem(w.lower()) + ' ' 37 | return content 38 | 39 | def remove_junk(text,wordlist): 40 | #removes the words that are not in the feature vector 41 | content = '' 42 | print "Text============", text 43 | print "wordlist ==========", wordlist 44 | text = nltk.word_tokenize(text) 45 | for w in text: 46 | if w in wordlist: 47 | content = content + w + ' ' 48 | print "junk removed ==========", content 49 | return content 50 | def strip_ml_tags(in_text): 51 | """Description: Removes all HTML/XML-like tags from the input text. 52 | Inputs: s --> string of text 53 | Outputs: text string without the tags 54 | 55 | # doctest unit testing framework 56 | 57 | >>> test_text = "Keep this Text KEEP 123" 58 | >>> strip_ml_tags(test_text) 59 | 'Keep this Text KEEP 123' 60 | """ 61 | # convert in_text to a mutable object (e.g. list) 62 | s_list = list(in_text) 63 | i,j = 0,0 64 | 65 | while i < len(s_list): 66 | # iterate until a left-angle bracket is found 67 | if s_list[i] == '<': 68 | while s_list[i] != '>': 69 | # pop everything from the the left-angle bracket until the right-angle bracket 70 | s_list.pop(i) 71 | 72 | # pops the right-angle bracket, too 73 | s_list.pop(i) 74 | else: 75 | i=i+1 76 | 77 | # convert the list back into text 78 | join_char='' 79 | return join_char.join(s_list) 80 | 81 | 82 | from socialspace.v1.models import TweeterFeed, TweetsTokenized, TweetsFeaturized 83 | Tweeps = TweeterFeed.objects.all().filter(approvedStatud=1) 84 | print Tweeps 85 | MyLongString = '' 86 | for i in Tweeps: 87 | print i.tweeterID 88 | print i.id 89 | print '-----------' 90 | # Replace USERNAME with your twitter username 91 | url = u'http://twitter.com/'+ i.tweeterID+'?page=%s' 92 | 93 | LongStringForThisProfile = '' 94 | 95 | for x in range(3): #getting only 3 pages 96 | try: 97 | f = urlopen(url % x) 98 | soup = BeautifulSoup(f.read()) 99 | f.close() 100 | tweets = soup.findAll('span', {'class': 'entry-content'}) 101 | if len(tweets) == 0: 102 | break 103 | for x in tweets: 104 | a = strip_ml_tags(x.renderContents()) 105 | #print nltk.word_tokenize(remove_stopwords(a)) 106 | b=unicode(remove_stopwords(a)) 107 | print b 108 | MyLongString = MyLongString + b + ' ' 109 | LongStringForThisProfile = LongStringForThisProfile + b + ' ' 110 | # being nice to twitter's servers 111 | time.sleep(1) 112 | except: 113 | print "urllib error gateway" 114 | 115 | try: 116 | ThisTokenized = TweetsTokenized.objects.get(tweeterID=i.id) 117 | print ThisTokenized 118 | ThisTokenized.featureVector = LongStringForThisProfile 119 | ThisTokenized.save() 120 | 121 | except: 122 | # making a new entry in the database 123 | t1=TweetsTokenized(tweeterID=i, featureVector = LongStringForThisProfile) 124 | print "Long string for this tweeter===========", LongStringForThisProfile 125 | t1.save() 126 | print "Making a new row" 127 | 128 | myltext = nltk.Text(nltk.word_tokenize(MyLongString)) 129 | print myltext 130 | fdist = nltk.FreqDist(myltext) 131 | vocabulary = fdist.keys() 132 | #print vocabulary[:50] 133 | #print fdist 134 | 135 | #getting top 200 words 136 | numberOfTopWords = 200 137 | print "--------------------------" 138 | print vocabulary[:numberOfTopWords] 139 | finalFeatureWords = vocabulary[:numberOfTopWords] 140 | print "--------------------------" 141 | 142 | from numpy import zeros 143 | print zeros((len(Tweeps),numberOfTopWords)) 144 | 145 | FeatureMatrix = zeros((len(Tweeps),numberOfTopWords)) 146 | mycounter=0 147 | for i in Tweeps: 148 | print i.tweeterID 149 | print i.id 150 | print '-----------' 151 | 152 | ThisTokenized = TweetsTokenized.objects.get(tweeterID=i.id) 153 | myoutput = remove_junk(ThisTokenized.featureVector,finalFeatureWords) 154 | 155 | print " finaloutput===================", myoutput 156 | finaloutput = nltk.word_tokenize(myoutput) 157 | print "Freq Distifiesd=================", nltk.FreqDist(finaloutput) 158 | myFeatureVector = [] 159 | finaloutputfreq = nltk.FreqDist(finaloutput) 160 | for key in finalFeatureWords: 161 | myFeatureVector.append(finaloutputfreq[key]) 162 | print "Key=",key," word = ", finaloutputfreq[key] 163 | print "myFeatureVector==================", myFeatureVector 164 | print "------------------------------------------------" 165 | FeatureMatrix[mycounter] = myFeatureVector 166 | mycounter = mycounter+1 167 | try: 168 | ThisFeaturized = TweetsFeaturized.objects.get(tweeterID=i.id) 169 | ThisFeaturized.featureVector = myFeatureVector 170 | ThisFeaturized.save() 171 | 172 | except: 173 | # making a new entry in the database 174 | t1=TweetsFeaturized(tweeterID=i, featureVector = myFeatureVector) 175 | t1.save() 176 | print "Making a new row" 177 | 178 | print "--------------------------------------------" 179 | print FeatureMatrix 180 | 181 | from pca_module import * 182 | T, P, explained_var = PCA_svd(FeatureMatrix, standardize=True) 183 | print "T (scores)=", T 184 | print "--------------------------------------------" 185 | print "P (loadings)=", P 186 | print "--------------------------------------------" 187 | print "explained_var (explained_var)=", explained_var 188 | print "--------------------------------------------" 189 | print T.shape 190 | print P.shape 191 | 192 | import matplotlib.pyplot as plt 193 | 194 | 195 | 196 | fig = plt.figure(num=None, figsize=(24,18), dpi=90) 197 | ax = fig.add_subplot(111) #,axisbg='darkslategray' 198 | x= T[0,:] 199 | y=T[1,:] 200 | 201 | for i in range(0,len(Tweeps)): 202 | plt.annotate(Tweeps[i], (x[i],y[i]), xytext=None, bbox=dict(boxstyle="round", fc="0.8"),size=10, va="center") 203 | #plt.annotate(texts[i], (x[i],y[i]), xytext=None, bbox=dict(boxstyle="round", fc="0.8"),size=20, va="center") 204 | 205 | ax.scatter(x, y, s=950, c=[1,0,0], marker='o', cmap=None, norm=None, 206 | vmin=None, vmax=None, alpha=0.45, linewidths=None, 207 | verts=None) 208 | 209 | 210 | import time 211 | import datetime 212 | n = datetime.datetime.now() 213 | 214 | 215 | filestring = "/home/siamak/media/archive/myfile-"+str(time.mktime(n.timetuple()))+".png" 216 | plt.savefig(filestring) 217 | filestring = "/home/siamak/media/index.png" 218 | plt.savefig(filestring) 219 | #plt.show() 220 | -------------------------------------------------------------------------------- /dataTools/xlrd/biffh.py: -------------------------------------------------------------------------------- 1 | ## 2 | # Support module for the xlrd package. 3 | ## 4 | 5 | DEBUG = 0 6 | 7 | from struct import unpack 8 | import sys 9 | 10 | class XLRDError(Exception): 11 | pass 12 | 13 | FUN, FDT, FNU, FGE, FTX = range(5) # unknown, date, number, general, text 14 | DATEFORMAT = FDT 15 | NUMBERFORMAT = FNU 16 | 17 | XL_CELL_EMPTY, XL_CELL_TEXT, XL_CELL_NUMBER, XL_CELL_DATE, XL_CELL_BOOLEAN, XL_CELL_ERROR = range(6) 18 | 19 | biff_text_from_num = { 20 | 20: "2", 21 | 30: "3", 22 | 40: "4S", 23 | 45: "4W", 24 | 50: "5", 25 | 70: "7", 26 | 80: "8", 27 | 85: "8X", 28 | } 29 | 30 | ## 31 | #

This dictionary can be used to produce a text version of the internal codes 32 | # that Excel uses for error cells. Here are its contents: 33 | #

 34 | # 0x00: '#NULL!',  # Intersection of two cell ranges is empty
 35 | # 0x07: '#DIV/0!', # Division by zero
 36 | # 0x0F: '#VALUE!', # Wrong type of operand
 37 | # 0x17: '#REF!',   # Illegal or deleted cell reference
 38 | # 0x1D: '#NAME?',  # Wrong function or range name
 39 | # 0x24: '#NUM!',   # Value range overflow
 40 | # 0x2A: '#N/A!',   # Argument or function not available
 41 | # 

42 | 43 | error_text_from_code = { 44 | 0x00: '#NULL!', # Intersection of two cell ranges is empty 45 | 0x07: '#DIV/0!', # Division by zero 46 | 0x0F: '#VALUE!', # Wrong type of operand 47 | 0x17: '#REF!', # Illegal or deleted cell reference 48 | 0x1D: '#NAME?', # Wrong function or range name 49 | 0x24: '#NUM!', # Value range overflow 50 | 0x2A: '#N/A!', # Argument or function not available 51 | } 52 | 53 | BIFF_FIRST_UNICODE = 80 54 | 55 | XL_WORKBOOK_GLOBALS = WBKBLOBAL = 0x5 56 | XL_WORKBOOK_GLOBALS_4W = 0x100 57 | XL_WORKSHEET = WRKSHEET = 0x10 58 | 59 | XL_BOUNDSHEET_WORKSHEET = 0x00 60 | XL_BOUNDSHEET_CHART = 0x02 61 | XL_BOUNDSHEET_VB_MODULE = 0x06 62 | 63 | # XL_RK2 = 0x7e 64 | XL_ARRAY = 0x221 65 | XL_BOF = 0x809 66 | XL_BOOLERR = 0x205 67 | XL_BOUNDSHEET = 0x85 68 | XL_BUILTINFMTCOUNT = 0x56 69 | XL_CODEPAGE = 0x42 70 | XL_CONTINUE = 0x3c 71 | XL_COUNTRY = 0x8C 72 | XL_DATEMODE = 0x22 73 | XL_DIMENSION = 0x200 74 | XL_DIMENSION2 = 0x0 75 | XL_EOF = 0x0a 76 | XL_EXTSST = 0xff 77 | XL_FILEPASS = 0x2f 78 | XL_FORMAT = 0x41e 79 | XL_FORMAT2 = 0x1E # BIFF2, BIFF3 80 | XL_FORMULA = 0x6 81 | XL_FORMULA3 = 0x206 82 | XL_FORMULA4 = 0x406 83 | XL_INDEX = 0x20b 84 | XL_LABEL = 0x204 85 | XL_LABEL2 = 0x04 86 | XL_LABELSST = 0xfd 87 | XL_MSO_DRAWING = 0x00EC 88 | XL_MSO_DRAWING_GROUP = 0x00EB 89 | XL_MSO_DRAWING_SELECTION = 0x00ED 90 | XL_MULRK = 0xbd 91 | XL_NAME = 0x18 92 | XL_NOTE = 0x1c 93 | XL_NUMBER = 0x203 94 | XL_OBJ = 0x5D 95 | XL_RK = 0x27e 96 | XL_ROW = 0x208 97 | XL_RSTRING = 0xd6 98 | XL_SHEETHDR = 0x8F # BIFF4W only 99 | XL_SHEETSOFFSET = 0x8E # BIFF4W only 100 | XL_SHRFMLA = 0x04bc 101 | XL_SST = 0xfc 102 | XL_STRING = 0x207 103 | XL_TABLEOP = 0x236 104 | XL_TABLEOP2 = 0x37 105 | XL_TABLEOP_B2 = 0x36 106 | XL_TXO = 0x1b6 107 | XL_UNCALCED = 0x5e 108 | XL_UNKNOWN = 0xffff 109 | XL_WRITEACCESS = 0x5C 110 | XL_XF = 0xe0 111 | XL_XF2 = 0x0043 # BIFF2 version of XF record 112 | XL_XF3 = 0x0243 # BIFF3 version of XF record 113 | XL_XF4 = 0x0443 # BIFF4 version of XF record 114 | 115 | boflen = {0x0809: 8, 0x0409: 6, 0x0209: 6, 0x0009: 4} 116 | bofcodes = (0x0809, 0x0409, 0x0209, 0x0009) 117 | 118 | _cell_opcode_list = [ 119 | XL_BOOLERR, 120 | XL_FORMULA, 121 | XL_FORMULA3, 122 | XL_FORMULA4, 123 | XL_LABEL, 124 | XL_LABELSST, 125 | XL_MULRK, 126 | XL_NUMBER, 127 | XL_RK, 128 | XL_RSTRING, 129 | ] 130 | _cell_opcode_dict = {} 131 | for _cell_opcode in _cell_opcode_list: 132 | _cell_opcode_dict[_cell_opcode] = 1 133 | is_cell_opcode = _cell_opcode_dict.has_key 134 | 135 | def unpack_string(data, pos, encoding, lenlen=1): 136 | nchars = unpack('<' + 'BH'[lenlen-1], data[pos:pos+lenlen])[0] 137 | pos += lenlen 138 | return unicode(data[pos:pos+nchars], encoding) 139 | 140 | def unpack_unicode(data, pos, lenlen=2): 141 | "Return unicode_strg" 142 | nchars = unpack('<' + 'BH'[lenlen-1], data[pos:pos+lenlen])[0] 143 | pos += lenlen 144 | options = ord(data[pos]) 145 | pos += 1 146 | # phonetic = options & 0x04 147 | # richtext = options & 0x08 148 | if options & 0x08: 149 | # rt = unpack(' endpos=%d pos=%d endsub=%d substrg=%r' \ 346 | % (ofs, dlen, base, endpos, pos, endsub, substrg) 347 | break 348 | hexd = ''.join(["%02x " % ord(c) for c in substrg]) 349 | chard = '' 350 | for c in substrg: 351 | if c == '\0': 352 | c = '~' 353 | elif not (' ' <= c <= '~'): 354 | c = '?' 355 | chard += c 356 | print >> fout, "%5d: %-48s %s" % (base+pos-ofs, hexd, chard) 357 | pos = endsub 358 | 359 | 360 | def biff_dump(mem, stream_offset, stream_len, base=0, fout=sys.stdout): 361 | pos = stream_offset 362 | stream_end = stream_offset + stream_len 363 | adj = base - stream_offset 364 | dummies = 0 365 | while stream_end - pos >= 4: 366 | rc, length = unpack('> fout, "%5d: ---- %d zero bytes skipped ----" % (adj+savpos, dummies) 382 | dummies = 0 383 | recname = biff_rec_name_dict.get(rc, '') 384 | print >> fout, "%5d: %04x %s len = %04x (%d)" % (adj+pos, rc, recname, length, length) 385 | pos += 4 386 | hex_char_dump(mem, pos, length, adj+pos, fout) 387 | pos += length 388 | if dummies: 389 | print >> fout, "%5d: ---- %d zero bytes skipped ----" % (adj+savpos, dummies, ) 390 | if pos < stream_end: 391 | print >> fout, "%5d: ---- Misc bytes at end ----" % (adj + pos,) 392 | hex_char_dump(mem, pos, stream_end-pos, adj + pos, fout) 393 | elif pos > stream_end: 394 | print >> fout, "Last dumped record has length (%d) that is too large" % length 395 | 396 | encoding_from_codepage = { 397 | 1200 : 'utf_16_le', 398 | 10000: 'mac_roman', 399 | 10006: 'mac_greek', # guess 400 | 10007: 'mac_cyrillic', # guess 401 | 10029: 'mac_latin2', # guess 402 | 10079: 'mac_iceland', # guess 403 | 10081: 'mac_turkish', # guess 404 | 32768: 'mac_roman', 405 | 32769: 'cp1252', 406 | } 407 | # some more guessing, for Indic scripts 408 | # codepage 57000 range: 409 | # 2 Devanagari [0] 410 | # 3 Bengali [1] 411 | # 4 Tamil [5] 412 | # 5 Telegu [6] 413 | # 6 Assamese [1] c.f. Bengali 414 | # 7 Oriya [4] 415 | # 8 Kannada [7] 416 | # 9 Malayalam [8] 417 | # 10 Gujarati [3] 418 | # 11 Gurmukhi [2] -------------------------------------------------------------------------------- /preprocess/porterStemmer.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """Porter Stemming Algorithm 4 | This is the Porter stemming algorithm, ported to Python from the 5 | version coded up in ANSI C by the author. It may be be regarded 6 | as canonical, in that it follows the algorithm presented in 7 | 8 | Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14, 9 | no. 3, pp 130-137, 10 | 11 | only differing from it at the points maked --DEPARTURE-- below. 12 | 13 | See also http://www.tartarus.org/~martin/PorterStemmer 14 | 15 | The algorithm as described in the paper could be exactly replicated 16 | by adjusting the points of DEPARTURE, but this is barely necessary, 17 | because (a) the points of DEPARTURE are definitely improvements, and 18 | (b) no encoding of the Porter stemmer I have seen is anything like 19 | as exact as this version, even with the points of DEPARTURE! 20 | 21 | Vivake Gupta (v@nano.com) 22 | 23 | Release 1: January 2001 24 | 25 | Further adjustments by Santiago Bruno (bananabruno@gmail.com) 26 | to allow word input not restricted to one word per line, leading 27 | to: 28 | 29 | release 2: July 2008 30 | """ 31 | 32 | import sys 33 | 34 | class PorterStemmer: 35 | 36 | def __init__(self): 37 | """The main part of the stemming algorithm starts here. 38 | b is a buffer holding a word to be stemmed. The letters are in b[k0], 39 | b[k0+1] ... ending at b[k]. In fact k0 = 0 in this demo program. k is 40 | readjusted downwards as the stemming progresses. Zero termination is 41 | not in fact used in the algorithm. 42 | 43 | Note that only lower case sequences are stemmed. Forcing to lower case 44 | should be done before stem(...) is called. 45 | """ 46 | 47 | self.b = "" # buffer for word to be stemmed 48 | self.k = 0 49 | self.k0 = 0 50 | self.j = 0 # j is a general offset into the string 51 | 52 | def cons(self, i): 53 | """cons(i) is TRUE <=> b[i] is a consonant.""" 54 | if self.b[i] == 'a' or self.b[i] == 'e' or self.b[i] == 'i' or self.b[i] == 'o' or self.b[i] == 'u': 55 | return 0 56 | if self.b[i] == 'y': 57 | if i == self.k0: 58 | return 1 59 | else: 60 | return (not self.cons(i - 1)) 61 | return 1 62 | 63 | def m(self): 64 | """m() measures the number of consonant sequences between k0 and j. 65 | if c is a consonant sequence and v a vowel sequence, and <..> 66 | indicates arbitrary presence, 67 | 68 | gives 0 69 | vc gives 1 70 | vcvc gives 2 71 | vcvcvc gives 3 72 | .... 73 | """ 74 | n = 0 75 | i = self.k0 76 | while 1: 77 | if i > self.j: 78 | return n 79 | if not self.cons(i): 80 | break 81 | i = i + 1 82 | i = i + 1 83 | while 1: 84 | while 1: 85 | if i > self.j: 86 | return n 87 | if self.cons(i): 88 | break 89 | i = i + 1 90 | i = i + 1 91 | n = n + 1 92 | while 1: 93 | if i > self.j: 94 | return n 95 | if not self.cons(i): 96 | break 97 | i = i + 1 98 | i = i + 1 99 | 100 | def vowelinstem(self): 101 | """vowelinstem() is TRUE <=> k0,...j contains a vowel""" 102 | for i in range(self.k0, self.j + 1): 103 | if not self.cons(i): 104 | return 1 105 | return 0 106 | 107 | def doublec(self, j): 108 | """doublec(j) is TRUE <=> j,(j-1) contain a double consonant.""" 109 | if j < (self.k0 + 1): 110 | return 0 111 | if (self.b[j] != self.b[j-1]): 112 | return 0 113 | return self.cons(j) 114 | 115 | def cvc(self, i): 116 | """cvc(i) is TRUE <=> i-2,i-1,i has the form consonant - vowel - consonant 117 | and also if the second c is not w,x or y. this is used when trying to 118 | restore an e at the end of a short e.g. 119 | 120 | cav(e), lov(e), hop(e), crim(e), but 121 | snow, box, tray. 122 | """ 123 | if i < (self.k0 + 2) or not self.cons(i) or self.cons(i-1) or not self.cons(i-2): 124 | return 0 125 | ch = self.b[i] 126 | if ch == 'w' or ch == 'x' or ch == 'y': 127 | return 0 128 | return 1 129 | 130 | def ends(self, s): 131 | """ends(s) is TRUE <=> k0,...k ends with the string s.""" 132 | length = len(s) 133 | if s[length - 1] != self.b[self.k]: # tiny speed-up 134 | return 0 135 | if length > (self.k - self.k0 + 1): 136 | return 0 137 | if self.b[self.k-length+1:self.k+1] != s: 138 | return 0 139 | self.j = self.k - length 140 | return 1 141 | 142 | def setto(self, s): 143 | """setto(s) sets (j+1),...k to the characters in the string s, readjusting k.""" 144 | length = len(s) 145 | self.b = self.b[:self.j+1] + s + self.b[self.j+length+1:] 146 | self.k = self.j + length 147 | 148 | def r(self, s): 149 | """r(s) is used further down.""" 150 | if self.m() > 0: 151 | self.setto(s) 152 | 153 | def step1ab(self): 154 | """step1ab() gets rid of plurals and -ed or -ing. e.g. 155 | 156 | caresses -> caress 157 | ponies -> poni 158 | ties -> ti 159 | caress -> caress 160 | cats -> cat 161 | 162 | feed -> feed 163 | agreed -> agree 164 | disabled -> disable 165 | 166 | matting -> mat 167 | mating -> mate 168 | meeting -> meet 169 | milling -> mill 170 | messing -> mess 171 | 172 | meetings -> meet 173 | """ 174 | if self.b[self.k] == 's': 175 | if self.ends("sses"): 176 | self.k = self.k - 2 177 | elif self.ends("ies"): 178 | self.setto("i") 179 | elif self.b[self.k - 1] != 's': 180 | self.k = self.k - 1 181 | if self.ends("eed"): 182 | if self.m() > 0: 183 | self.k = self.k - 1 184 | elif (self.ends("ed") or self.ends("ing")) and self.vowelinstem(): 185 | self.k = self.j 186 | if self.ends("at"): self.setto("ate") 187 | elif self.ends("bl"): self.setto("ble") 188 | elif self.ends("iz"): self.setto("ize") 189 | elif self.doublec(self.k): 190 | self.k = self.k - 1 191 | ch = self.b[self.k] 192 | if ch == 'l' or ch == 's' or ch == 'z': 193 | self.k = self.k + 1 194 | elif (self.m() == 1 and self.cvc(self.k)): 195 | self.setto("e") 196 | 197 | def step1c(self): 198 | """step1c() turns terminal y to i when there is another vowel in the stem.""" 199 | if (self.ends("y") and self.vowelinstem()): 200 | self.b = self.b[:self.k] + 'i' + self.b[self.k+1:] 201 | 202 | def step2(self): 203 | """step2() maps double suffices to single ones. 204 | so -ization ( = -ize plus -ation) maps to -ize etc. note that the 205 | string before the suffix must give m() > 0. 206 | """ 207 | if self.b[self.k - 1] == 'a': 208 | if self.ends("ational"): self.r("ate") 209 | elif self.ends("tional"): self.r("tion") 210 | elif self.b[self.k - 1] == 'c': 211 | if self.ends("enci"): self.r("ence") 212 | elif self.ends("anci"): self.r("ance") 213 | elif self.b[self.k - 1] == 'e': 214 | if self.ends("izer"): self.r("ize") 215 | elif self.b[self.k - 1] == 'l': 216 | if self.ends("bli"): self.r("ble") # --DEPARTURE-- 217 | # To match the published algorithm, replace this phrase with 218 | # if self.ends("abli"): self.r("able") 219 | elif self.ends("alli"): self.r("al") 220 | elif self.ends("entli"): self.r("ent") 221 | elif self.ends("eli"): self.r("e") 222 | elif self.ends("ousli"): self.r("ous") 223 | elif self.b[self.k - 1] == 'o': 224 | if self.ends("ization"): self.r("ize") 225 | elif self.ends("ation"): self.r("ate") 226 | elif self.ends("ator"): self.r("ate") 227 | elif self.b[self.k - 1] == 's': 228 | if self.ends("alism"): self.r("al") 229 | elif self.ends("iveness"): self.r("ive") 230 | elif self.ends("fulness"): self.r("ful") 231 | elif self.ends("ousness"): self.r("ous") 232 | elif self.b[self.k - 1] == 't': 233 | if self.ends("aliti"): self.r("al") 234 | elif self.ends("iviti"): self.r("ive") 235 | elif self.ends("biliti"): self.r("ble") 236 | elif self.b[self.k - 1] == 'g': # --DEPARTURE-- 237 | if self.ends("logi"): self.r("log") 238 | # To match the published algorithm, delete this phrase 239 | 240 | def step3(self): 241 | """step3() dels with -ic-, -full, -ness etc. similar strategy to step2.""" 242 | if self.b[self.k] == 'e': 243 | if self.ends("icate"): self.r("ic") 244 | elif self.ends("ative"): self.r("") 245 | elif self.ends("alize"): self.r("al") 246 | elif self.b[self.k] == 'i': 247 | if self.ends("iciti"): self.r("ic") 248 | elif self.b[self.k] == 'l': 249 | if self.ends("ical"): self.r("ic") 250 | elif self.ends("ful"): self.r("") 251 | elif self.b[self.k] == 's': 252 | if self.ends("ness"): self.r("") 253 | 254 | def step4(self): 255 | """step4() takes off -ant, -ence etc., in context vcvc.""" 256 | if self.b[self.k - 1] == 'a': 257 | if self.ends("al"): pass 258 | else: return 259 | elif self.b[self.k - 1] == 'c': 260 | if self.ends("ance"): pass 261 | elif self.ends("ence"): pass 262 | else: return 263 | elif self.b[self.k - 1] == 'e': 264 | if self.ends("er"): pass 265 | else: return 266 | elif self.b[self.k - 1] == 'i': 267 | if self.ends("ic"): pass 268 | else: return 269 | elif self.b[self.k - 1] == 'l': 270 | if self.ends("able"): pass 271 | elif self.ends("ible"): pass 272 | else: return 273 | elif self.b[self.k - 1] == 'n': 274 | if self.ends("ant"): pass 275 | elif self.ends("ement"): pass 276 | elif self.ends("ment"): pass 277 | elif self.ends("ent"): pass 278 | else: return 279 | elif self.b[self.k - 1] == 'o': 280 | if self.ends("ion") and (self.b[self.j] == 's' or self.b[self.j] == 't'): pass 281 | elif self.ends("ou"): pass 282 | # takes care of -ous 283 | else: return 284 | elif self.b[self.k - 1] == 's': 285 | if self.ends("ism"): pass 286 | else: return 287 | elif self.b[self.k - 1] == 't': 288 | if self.ends("ate"): pass 289 | elif self.ends("iti"): pass 290 | else: return 291 | elif self.b[self.k - 1] == 'u': 292 | if self.ends("ous"): pass 293 | else: return 294 | elif self.b[self.k - 1] == 'v': 295 | if self.ends("ive"): pass 296 | else: return 297 | elif self.b[self.k - 1] == 'z': 298 | if self.ends("ize"): pass 299 | else: return 300 | else: 301 | return 302 | if self.m() > 1: 303 | self.k = self.j 304 | 305 | def step5(self): 306 | """step5() removes a final -e if m() > 1, and changes -ll to -l if 307 | m() > 1. 308 | """ 309 | self.j = self.k 310 | if self.b[self.k] == 'e': 311 | a = self.m() 312 | if a > 1 or (a == 1 and not self.cvc(self.k-1)): 313 | self.k = self.k - 1 314 | if self.b[self.k] == 'l' and self.doublec(self.k) and self.m() > 1: 315 | self.k = self.k -1 316 | 317 | def stem(self, p, i, j): 318 | """In stem(p,i,j), p is a char pointer, and the string to be stemmed 319 | is from p[i] to p[j] inclusive. Typically i is zero and j is the 320 | offset to the last character of a string, (p[j+1] == '\0'). The 321 | stemmer adjusts the characters p[i] ... p[j] and returns the new 322 | end-point of the string, k. Stemming never increases word length, so 323 | i <= k <= j. To turn the stemmer into a module, declare 'stem' as 324 | extern, and delete the remainder of this file. 325 | """ 326 | # copy the parameters into statics 327 | self.b = p 328 | self.k = j 329 | self.k0 = i 330 | if self.k <= self.k0 + 1: 331 | return self.b # --DEPARTURE-- 332 | 333 | # With this line, strings of length 1 or 2 don't go through the 334 | # stemming process, although no mention is made of this in the 335 | # published algorithm. Remove the line to match the published 336 | # algorithm. 337 | 338 | self.step1ab() 339 | self.step1c() 340 | self.step2() 341 | self.step3() 342 | self.step4() 343 | self.step5() 344 | return self.b[self.k0:self.k+1] 345 | 346 | 347 | def StemWord(inputWord): 348 | """ 349 | Stems a word 350 | the word needs to be a valid alpha string (meaning word.isalpha()==True) 351 | Note: we make them lower case in this one 352 | 353 | Examples: 354 | print StemWord("reincarnation") 355 | print StemWord("valid") 356 | print StemWord("Economy") 357 | print StemWord("Education") 358 | """ 359 | 360 | p = PorterStemmer() 361 | inputWord = inputWord.lower() 362 | return p.stem(inputWord, 0,len(inputWord)-1) 363 | 364 | def StemSentence(inputText): 365 | """ 366 | Stems a sentence and returnes a sentence with stemmed words 367 | 368 | Example: print StemSentence("I always forget this simple idiom for removing a string based on a set of words to remove. This particular example, given an array of stop words, remove them.") 369 | 370 | TODO: check to make sure it runs optimally and uses the cpu properly 371 | """ 372 | myText = inputText.split() 373 | outputText = "" 374 | for i in myText: 375 | outputText = outputText+ " " + StemWord(i) # TODO: rewrite it with join 376 | return outputText 377 | 378 | def Stem(inputValue): 379 | """ 380 | This is a more polymorphed version of the stemmer 381 | takes both str and list as it's input 382 | 383 | output type: list 384 | """ 385 | outputList = [] 386 | if type(inputValue)==type(str()): 387 | outputList = StemSentence(inputValue).split() 388 | if type(inputValue)==type(list()): 389 | for item in inputValue: 390 | outputList.append(StemWord(item)) 391 | 392 | return outputList 393 | 394 | if __name__ == '__main__': 395 | p = PorterStemmer() 396 | if len(sys.argv) > 1: 397 | for f in sys.argv[1:]: 398 | infile = open(f, 'r') 399 | while 1: 400 | output = '' 401 | word = '' 402 | line = infile.readline() 403 | if line == '': 404 | break 405 | for c in line: 406 | if c.isalpha(): 407 | word += c.lower() 408 | else: 409 | if word: 410 | output += p.stem(word, 0,len(word)-1) 411 | word = '' 412 | output += c.lower() 413 | print output, 414 | infile.close() 415 | 416 | 417 | -------------------------------------------------------------------------------- /dataTools/xlrd/doc/xlrd.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The xlrd Module 6 | 7 | 8 |

The xlrd Module

9 |

A Python module for extracting data from MS Excel ™ spreadsheet files.

10 | 11 |

General information

12 |

Acknowledgements

13 |

Backporting to Python 2.1 was partially funded by 14 | Journyx - provider of timesheet and project accounting solutions.

15 |

Unicode

16 |

This module presents all text strings as Python unicode objects. 17 | From Excel 97 onwards, text in Excel spreadsheets has been stored as Unicode. 18 | Earlier spreadsheets have a "codepage" number indicating the local representation; this 19 | is used to derive an "encoding" which is used to translate to Unicode. 20 | 21 |

Dates in Excel spreadsheets

22 |

In reality, there are no such things. What you have are floating point numbers and pious hope. 23 | There are several problems with Excel dates:

24 | 25 |

(1) Dates are not stored as a separate data type; they are stored as floating point numbers 26 | and you have to rely on (a) the "number format" applied to them in Excel and/or (b) knowing 27 | which cells are supposed to have dates in them. This module helps with (a) by inspecting the 28 | format that has been applied to each number cell; if it appears to be a date format, the cell 29 | is classified as a date rather than a number. Feedback on this feature, 30 | especially from non-English-speaking locales, would be appreciated.

31 | 32 |

(2) Excel for Windows stores dates by default as the number of days (or fraction thereof) since 1899-12-31T00:00:00. 33 | Excel for Macintosh uses a default start date of 1904-01-01T00:00:00. The date system can be changed in Excel 34 | on a per-workbook basis (for example: Tools -> Options -> Calculation, tick the "1904 date system" box). 35 | This is of course a bad idea if there are already dates in the workbook. There is no good reason to change it 36 | even if there are no dates in the workbook. Which date system is in use is recorded in the workbook. 37 | A workbook transported from Windows to Macintosh (or vice versa) will work correctly with the host Excel. 38 | When using this module's xldate_as_tuple function to convert numbers from a workbook, you must use 39 | the datemode attribute of the Book object. If you guess, or make a judgement depending on where you 40 | believe the workbook was created, you run the risk of being 1462 days out of kilter.

41 | 42 |

Reference: http://support.microsoft.com/default.aspx?scid=KB;EN-US;q180162

43 | 44 |

(3) The Windows-default 1900-based date system works on the incorrect premise that 1900 was a leap year. 45 | It interprets 46 | the number 60 as meaning 1900-02-29, which is not a valid date. Consequently any number less than 61 47 | is ambiguous. Example: is 59 the result of 1900-02-28 entered directly, or is it 1900-03-01 minus 2 days?

48 | 49 |

Reference: http://support.microsoft.com/default.aspx?scid=kb;en-us;214326

50 | 51 |

(4) The Macintosh-default 1904-based date system counts 1904-01-02 as day 1 and 1904-01-01 as day zero. 52 | Thus any number such that (0.0 <= number < 1.0) is ambiguous. Is 0.625 a time of day (15:00:00), 53 | independent of the calendar, 54 | or should it be interpreted as an instant on a particular day (1904-01-01T15:00:00)? 55 | The xldate_* functions in this module 56 | take the view that such a number is a calendar-independent time of day (like Python's datetime.time type) for both 57 | date systems. This is consistent with more recent Microsoft documentation 58 | (for example, the help file for Excel 2002 which says that the first day 59 | in the 1904 date system is 1904-01-02). 60 | 61 |

(5) Usage of the Excel DATE() function may leave strange dates in a spreadsheet. Quoting the help file, 62 | in respect of the 1900 date system: "If year is between 0 (zero) and 1899 (inclusive), 63 | Excel adds that value to 1900 to calculate the year. For example, DATE(108,1,2) returns January 2, 2008 (1900+108)." 64 | This gimmick, semi-defensible only for arguments up to 99 and only in the pre-Y2K-awareness era, 65 | means that DATE(1899, 12, 31) is interpreted as 3799-12-31.

66 | 67 |

For further information, please refer to the documentation for the xldate_* functions.

68 |

Module Contents

69 |
70 |
Book(filename=None, file_contents=None, 71 | logfile=sys.stdout, verbosity=0, pickleable=True, use_mmap=USE_MMAP, 72 | ) (class) [#]
73 |
74 |

Contents of a "workbook".

75 |

For more information about this class, see The Book Class.

76 |
77 |
dump(filename, outfile=sys.stdout) [#]
78 |
79 |

For debugging: dump the file's BIFF records in char & hex. 80 |

81 |
filename
82 |
83 | The path to the file to be dumped.
84 |
outfile
85 |
86 | An open file, to which the dump is written.
87 |

88 |
89 |
open_workbook(filename=None, 90 | logfile=sys.stdout, verbosity=0, pickleable=True, use_mmap=USE_MMAP, 91 | file_contents=None, 92 | ) [#]
93 |
94 |

Open a spreadsheet file for data extraction.

95 |
96 |
filename
97 |
98 | The path to the spreadsheet file to be opened.
99 |
logfile
100 |
101 | An open file to which messages and diagnostics are written.
102 |
verbosity
103 |
104 | Increases the volume of trace material written to the logfile.
105 |
pickleable
106 |
107 | Default = True. Setting to False *may* cause use of array.array 108 | objects which save some memory but can't be pickled in Python 2.4 or earlier.
109 |
use_mmap
110 |
111 | Whether to use the mmap module is determined heuristically. 112 | Use this arg to override the result. Current heuristic: mmap is used if it exists.
113 |
file_contents
114 |
115 | ... as a string or an mmap.mmap object or some other behave-alike object. 116 | If file_contents is supplied, filename will not be used, except (possibly) in messages.
117 |
Returns:
118 |
119 | An instance of the Book class.
120 |

121 |
122 |
error_text_from_code (variable) [#]
123 |
124 |

This dictionary can be used to produce a text version of the internal codes 125 | that Excel uses for error cells. Here are its contents: 126 |

127 | 0x00: '#NULL!',  # Intersection of two cell ranges is empty
128 | 0x07: '#DIV/0!', # Division by zero
129 | 0x0F: '#VALUE!', # Wrong type of operand
130 | 0x17: '#REF!',   # Illegal or deleted cell reference
131 | 0x1D: '#NAME?',  # Wrong function or range name
132 | 0x24: '#NUM!',   # Value range overflow
133 | 0x2A: '#N/A!',   # Argument or function not available
134 | 

135 |
136 |
Cell(ctype, value) (class) [#]
137 |
138 |

Contains the data for one cell.

139 |

For more information about this class, see The Cell Class.

140 |
141 |
empty_cell (variable) [#]
142 |
143 |

There is one and only one instance of an empty cell -- it's a singleton. This is it. 144 | You may use a test like "acell is empty_cell".

145 |
146 |
Sheet( biff_version, position, logfile, pickleable=False, 147 | name='', number=0, verbosity=0, 148 | ) (class) [#]
149 |
150 |

Contains the data for one worksheet.

151 |

For more information about this class, see The Sheet Class.

152 |
153 |
xldate_as_tuple(xldate, datemode) [#]
154 |
155 |

Convert an Excel number (presumed to represent a date, a datetime or a time) into 156 | a tuple suitable for feeding to datetime or mx.DateTime constructors.

157 |
158 |
xldate
159 |
160 | The Excel number
161 |
datemode
162 |
163 | 0: 1900-based, 1: 1904-based. 164 |
WARNING: when using this function to 165 | interpret the contents of a workbook, you should pass in the Book.datemode 166 | attribute of that workbook. Whether 167 | the workbook has ever been anywhere near a Macintosh is irrelevant. 168 |
169 |
Returns:
170 |
171 | Gregorian (year, month, day, hour, minute, nearest_second). 172 |
Special case: if 0.0 <= xldate < 1.0, it is assumed to represent a time; 173 | (0, 0, 0, hour, minute, second) will be returned. 174 |
Note: 1904-01-01 is not regarded as a valid date in the datemode 1 system; its "serial number" 175 | is zero. 176 |
177 |
Raises XLDateNegative:
178 | xldate < 0.00 179 |
180 |
Raises XLDateAmbiguous:
181 | The 1900 leap-year problem (datemode == 0 and 1.0 <= xldate < 61.0) 182 |
183 |
Raises XLDateTooLarge:
184 | Gregorian year 10000 or later
185 |
Raises XLDateBadDatemode:
186 | datemode arg is neither 0 nor 1
187 |
Raises XLDateError:
188 | Covers the 4 specific errors
189 |

190 |
191 |
xldate_from_date_tuple((year, month, day), datemode) [#]
192 |
193 |

Convert a date tuple (year, month, day) to an Excel date.

194 |
195 |
year
196 |
197 | Gregorian year.
198 |
month
199 |
200 | 1 <= month <= 12 201 |
202 |
day
203 |
204 | 1 <= day <= last day of that (year, month) 205 |
206 |
datemode
207 |
208 | 0: 1900-based, 1: 1904-based.
209 |
Raises XLDateAmbiguous:
210 | The 1900 leap-year problem (datemode == 0 and 1.0 <= xldate < 61.0) 211 |
212 |
Raises XLDateBadDatemode:
213 | datemode arg is neither 0 nor 1
214 |
Raises XLDateBadTuple:
215 | (year, month, day) is too early/late or has invalid component(s)
216 |
Raises XLDateError:
217 | Covers the specific errors
218 |

219 |
220 |
xldate_from_datetime_tuple(datetime_tuple, datemode) [#]
221 |
222 |

Convert a datetime tuple (year, month, day, hour, minute, second) to an Excel date value. 223 | For more details, refer to other xldate_from_*_tuple functions.

224 |
225 |
datetime_tuple
226 |
227 | (year, month, day, hour, minute, second)
228 |
datemode
229 |
230 | 0: 1900-based, 1: 1904-based.
231 |

232 |
233 |
xldate_from_time_tuple((hour, minute, second)) [#]
234 |
235 |

Convert a time tuple (hour, minute, second) to an Excel "date" value (fraction of a day).

236 |
237 |
hour
238 |
239 | 0 <= hour < 24 240 |
241 |
minute
242 |
243 | 0 <= minute < 60 244 |
245 |
second
246 |
247 | 0 <= second < 60 248 |
249 |
Raises XLDateBadTuple:
250 | Out-of-range hour, minute, or second
251 |

252 |
253 |
254 |

The Book Class

255 |
256 |
Book(filename=None, file_contents=None, 257 | logfile=sys.stdout, verbosity=0, pickleable=True, use_mmap=USE_MMAP, 258 | ) (class) [#]
259 |
260 |

Contents of a "workbook". 261 |

WARNING: You don't call this class yourself. You use the Book object that 262 | was returned when you called xlrd.open_workbook("myfile.xls").

263 |
264 |
biff_version [#]
265 |
266 |

Version of BIFF (Binary Interchange File Format) used to create the file. 267 | Latest is 8.0 (represented here as 80), introduced with Excel 97. 268 | Earliest supported by this module: 3.0 (rep'd as 30).

269 |
270 |
codepage [#]
271 |
272 |

An integer denoting the character set used for strings in this file. 273 | For BIFF 8 and later, this will be 1200, meaning Unicode; more precisely, UTF_16_LE. 274 | For earlier versions, this is used to derive the appropriate Python encoding 275 | to be used to convert to Unicode. 276 | Examples: 1252 -> 'cp1252', 10000 -> 'mac_roman'

277 |
278 |
countries [#]
279 |
280 |

A tuple containing the (telephone system) country code for:
281 | [0]: the user-interface setting when the file was created.
282 | [1]: the regional settings.
283 | Example: (1, 61) meaning (USA, Australia). 284 | This information may give a clue to the correct encoding for an unknown codepage. 285 | For a long list of observed values, refer to the OpenOffice.org documentation for 286 | the COUNTRY record. 287 |

288 |
datemode [#]
289 |
290 |

Which date system was in force when this file was last saved.
291 | 0 => 1900 system (the Excel for Windows default).
292 | 1 => 1904 system (the Excel for Macintosh default).
293 |

294 |
encoding [#]
295 |
296 |

The encoding that was derived from the codepage.

297 |
298 |
load_time_stage_1 [#]
299 |
300 |

Time in seconds to extract the XLS image as a contiguous string (or mmap equivalent).

301 |
302 |
load_time_stage_2 [#]
303 |
304 |

Time in seconds to parse the data from the contiguous string (or mmap equivalent).

305 |
306 |
nsheets [#]
307 |
308 |

The number of worksheets in the workbook.

309 |
310 |
sheet_by_index(sheetx) [#]
311 |
312 |
313 |
sheetx
314 |
315 | Sheet index in range(nsheets)
316 |
Returns:
317 |
318 | An object of the Sheet class
319 |

320 |
321 |
sheet_by_name(sheet_name) [#]
322 |
323 |
324 |
sheet_name
325 |
326 | Name of sheet required
327 |
Returns:
328 |
329 | An object of the Sheet class
330 |

331 |
332 |
sheet_names() [#]
333 |
334 |
335 |
Returns:
336 |
337 | A list of the names of the sheets in the book.
338 |

339 |
340 |
user_name [#]
341 |
342 |

What (if anything) is recorded as the name of the last user to save the file.

343 |
344 |
345 |

The Cell Class

346 |
347 |
Cell(ctype, value) (class) [#]
348 |
349 |

Contains the data for one cell.

350 | 351 |

WARNING: You don't call this class yourself. You access Cell objects 352 | via methods of the Sheet object(s) that you found in the Book object that 353 | was returned when you called xlrd.open_workbook("myfile.xls").

354 |

Cell objects have two attributes: ctype is an int, and value 355 | which depends on ctype. 356 | The following table describes the types of cells and how their values 357 | are represented in Python.

358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 395 | 396 |
Type symbolType numberPython value
XL_CELL_EMPTY0empty string u''
XL_CELL_TEXT1a Unicode string
XL_CELL_NUMBER2float
XL_CELL_DATE3float
XL_CELL_BOOLEAN4int; 1 means TRUE, 0 means FALSE
XL_CELL_ERROR5int representing internal Excel codes; for a text representation, 394 | refer to the supplied dictionary error_text_from_code
397 |

398 |

399 |
400 |

The Sheet Class

401 |
402 |
Sheet( biff_version, position, logfile, pickleable=False, 403 | name='', number=0, verbosity=0, 404 | ) (class) [#]
405 |
406 |

Contains the data for one worksheet.

407 | 408 |

In the cell access functions, "rowx" is a row index, counting from zero, and "colx" is a 409 | column index, counting from zero. 410 | Negative values for row/column indexes and slice positions are supported in the expected fashion.

411 | 412 |

For information about cell types and cell values, refer to the documentation of the Cell class.

413 | 414 |

WARNING: You don't call this class yourself. You access Sheet objects via the Book object that 415 | was returned when you called xlrd.open_workbook("myfile.xls").

416 |
417 |
cell_type(rowx, colx) [#]
418 |
419 |

Type of the cell in the given row and column. Refer to the documentation of the Cell class.

420 |
421 |
cell_value(rowx, colx) [#]
422 |
423 |

Value of the cell in the given row and column.

424 |
425 |
col(colx) [#]
426 |
427 |

Returns a sequence of the Cell objects in the given column.

428 |
429 |
col_slice(colx, start_rowx=0, end_rowx=None) [#]
430 |
431 |

Returns a slice of the Cell objects in the given column.

432 |
433 |
name [#]
434 |
435 |

Name of sheet.

436 |
437 |
ncols [#]
438 |
439 |

Number of columns in sheet. A column index is in range(thesheet.ncols).

440 |
441 |
nrows [#]
442 |
443 |

Number of rows in sheet. A row index is in range(thesheet.nrows).

444 |
445 |
row(rowx) [#]
446 |
447 |

Returns a sequence of the Cell objects in the given row.

448 |
449 |
row_slice(rowx, start_colx=0, end_colx=None) [#]
450 |
451 |

Returns a slice of the Cell objects in the given row.

452 |
453 |
row_types(rowx) [#]
454 |
455 |

Returns a sequence of the types 456 | of the cells in the given row.

457 |
458 |
row_values(rowx) [#]
459 |
460 |

Returns a sequence of the values 461 | of the cells in the given row.

462 |
463 |
464 | 465 | -------------------------------------------------------------------------------- /dataTools/xlrd/sheet.py: -------------------------------------------------------------------------------- 1 | ## 2 | # Part of the xlrd package. 3 | ## 4 | 5 | from biffh import * 6 | from timemachine import * 7 | from struct import unpack 8 | import array 9 | 10 | DEBUG = 0 11 | DEBUG_COORDS = 1 12 | 13 | # rc_stats = {} 14 | 15 | def fprintf(f, fmt, *vargs): print >> f, fmt % vargs, 16 | 17 | ## 18 | #

Contains the data for one worksheet.

19 | # 20 | #

In the cell access functions, "rowx" is a row index, counting from zero, and "colx" is a 21 | # column index, counting from zero. 22 | # Negative values for row/column indexes and slice positions are supported in the expected fashion.

23 | # 24 | #

For information about cell types and cell values, refer to the documentation of the Cell class.

25 | # 26 | #

WARNING: You don't call this class yourself. You access Sheet objects via the Book object that 27 | # was returned when you called xlrd.open_workbook("myfile.xls").

28 | 29 | class Sheet(object): 30 | ## 31 | # Name of sheet. 32 | name = '' 33 | ## 34 | # Number of rows in sheet. A row index is in range(thesheet.nrows). 35 | nrows = 0 36 | ## 37 | # Number of columns in sheet. A column index is in range(thesheet.ncols). 38 | ncols = 0 39 | 40 | def __init__( 41 | self, biff_version, position, logfile, pickleable=False, 42 | name='', number=0, verbosity=0, 43 | ): 44 | self.biff_version = biff_version 45 | self._position = position 46 | self.logfile = logfile 47 | self.pickleable = pickleable 48 | self.name = name 49 | self.number = number 50 | self.verbosity = verbosity 51 | self.nrows = 0 # actual 52 | self.ncols = 0 53 | self._dnrows = 0 # as per DIMENSIONS record 54 | self._dncols = 0 55 | self._cell_values = [] 56 | self._cell_types = [] 57 | 58 | ## 59 | # Value of the cell in the given row and column. 60 | def cell_value(self, rowx, colx): 61 | return self._cell_values[rowx][colx] 62 | 63 | ## 64 | # Type of the cell in the given row and column. Refer to the documentation of the Cell class. 65 | def cell_type(self, rowx, colx): 66 | return self._cell_types[rowx][colx] 67 | 68 | ## 69 | # Returns a sequence of the Cell objects in the given row. 70 | def row(self, rowx): 71 | return [ 72 | Cell(self._cell_types[rowx][colx], self._cell_values[rowx][colx]) 73 | for colx in xrange(self.ncols) 74 | ] 75 | 76 | ## 77 | # Returns a sequence of the types 78 | # of the cells in the given row. 79 | def row_types(self, rowx): 80 | return self._cell_types[rowx] 81 | 82 | ## 83 | # Returns a sequence of the values 84 | # of the cells in the given row. 85 | def row_values(self, rowx): 86 | return self._cell_values[rowx] 87 | 88 | ## 89 | # Returns a slice of the Cell objects in the given row. 90 | def row_slice(self, rowx, start_colx=0, end_colx=None): 91 | nc = self.ncols 92 | if start_colx < 0: 93 | start_colx += nc 94 | if start_colx < 0: 95 | start_colx = 0 96 | if end_colx is None or end_colx > nc: 97 | end_colx = nc 98 | elif end_colx < 0: 99 | end_colx += nc 100 | return [ 101 | Cell(self._cell_types[rowx][colx], self._cell_values[rowx][colx]) 102 | for colx in xrange(start_colx, end_colx) 103 | ] 104 | 105 | ## 106 | # Returns a slice of the Cell objects in the given column. 107 | def col_slice(self, colx, start_rowx=0, end_rowx=None): 108 | nr = self.nrows 109 | if start_rowx < 0: 110 | start_rowx += nr 111 | if start_rowx < 0: 112 | start_rowx = 0 113 | if end_rowx is None or end_rowx > nr: 114 | end_rowx = nr 115 | elif end_rowx < 0: 116 | end_rowx += nr 117 | return [ 118 | Cell(self._cell_types[rowx][colx], self._cell_values[rowx][colx]) 119 | for rowx in xrange(start_rowx, end_rowx) 120 | ] 121 | 122 | ## 123 | # Returns a sequence of the Cell objects in the given column. 124 | def col(self, colx): 125 | return self.col_slice(colx) 126 | # Above two lines just for the docs. Here's the real McCoy: 127 | col = col_slice 128 | 129 | # === Following methods are used in building the worksheet. 130 | # === They are not part of the API. 131 | 132 | def initcells(self, nr, nc): 133 | scta = self._cell_types.append 134 | scva = self._cell_values.append 135 | xce = XL_CELL_EMPTY 136 | if self.pickleable: 137 | for _unused in xrange(nr): 138 | scta([xce] * nc) 139 | scva([''] * nc) 140 | else: 141 | aa = array.array 142 | for _unused in xrange(nr): 143 | scta(aa('B', [xce]) * nc) 144 | scva([''] * nc) 145 | self.nrows = nr 146 | self.ncols = nc 147 | 148 | def extend_cells(self, nr, nc): 149 | if nc > self.ncols: 150 | xce = XL_CELL_EMPTY 151 | nextra = nc - self.ncols 152 | if self.pickleable: 153 | for arow in self._cell_types: 154 | arow.extend([xce] * nextra) 155 | for arow in self._cell_values: 156 | arow.extend([''] * nextra) 157 | else: 158 | aa = array.array 159 | for arow in self._cell_types: 160 | arow.extend(aa('B', [xce]) * nextra) 161 | for arow in self._cell_values: 162 | arow.extend([''] * nextra) 163 | self.ncols = nc 164 | if nr > self.nrows: 165 | scta = self._cell_types.append 166 | scva = self._cell_values.append 167 | xce = XL_CELL_EMPTY 168 | nc = self.ncols 169 | if self.pickleable: 170 | for _unused in xrange(self.nrows, nr): 171 | scta([xce] * nc) 172 | scva([''] * nc) 173 | else: 174 | aa = array.array 175 | for _unused in xrange(self.nrows, nr): 176 | scta(aa('B', [xce]) * nc) 177 | scva([''] * nc) 178 | self.nrows = nr 179 | 180 | 181 | def tidy_dimensions(self): 182 | if 0: 183 | # retract unused parts of the safety zone 184 | maxusedrowx = self._dnrows - 1 185 | colrange = range(self.ncols) 186 | for rowx in range(self._dnrows, self.nrows): 187 | for colx in colrange: 188 | if self._cell_types[rowx][colx] != XL_CELL_EMPTY: 189 | maxusedrowx = rowx 190 | break 191 | maxusedcolx = self._dncols - 1 192 | rowrange = range(self.nrows) 193 | for colx in range(self._dncols, self.ncols): 194 | for rowx in rowrange: 195 | if self._cell_types[rowx][colx] != XL_CELL_EMPTY: 196 | maxusedcolx = colx 197 | break 198 | self.nrows, self.ncols = (maxusedrowx+1, maxusedcolx+1) 199 | if self.verbosity >= 3: 200 | print >> self.logfile, "tidy_dimensions", self.nrows, self.ncols 201 | if self.verbosity >= 2 \ 202 | and (self.nrows != self._dnrows or self.ncols != self._dncols): 203 | fprintf(self.logfile, 204 | "NOTE *** sheet %d(%r): invalid DIMENSIONS record R,C = %d,%d\n", 205 | self.number, 206 | self.name, 207 | self._dnrows, 208 | self._dncols 209 | ) 210 | 211 | if DEBUG_COORDS: 212 | def put_cell(self, rowx, colx, ctype, value): 213 | try: 214 | self._cell_types[rowx][colx] = ctype 215 | self._cell_values[rowx][colx] = value 216 | except: 217 | print >> self.logfile, "put_cell", rowx, colx 218 | raise 219 | 220 | def put_number_cell(self, rowx, colx, value, fmt_ty=FNU): 221 | try: 222 | self._cell_types[rowx][colx] = cellty_from_fmtty[fmt_ty] 223 | self._cell_values[rowx][colx] = value 224 | except: 225 | print >> self.logfile, "put_number_cell", rowx, colx 226 | raise 227 | else: 228 | def put_cell(self, rowx, colx, ctype, value): 229 | self._cell_types[rowx][colx] = ctype 230 | self._cell_values[rowx][colx] = value 231 | 232 | def put_number_cell(self, rowx, colx, value, fmt_ty=FNU): 233 | self._cell_types[rowx][colx] = cellty_from_fmtty[fmt_ty] 234 | self._cell_values[rowx][colx] = value 235 | 236 | # === Methods after this line neither know nor care about how cells are stored. 237 | 238 | def read(self, bk): 239 | global rc_stats 240 | DEBUG = 0 241 | oldpos = bk._position 242 | bk.position(self._position) 243 | XL_SHRFMLA_ETC_ETC = (XL_SHRFMLA, XL_ARRAY, XL_TABLEOP, XL_TABLEOP2, XL_TABLEOP_B2) 244 | unpack_number_fmt = '> bk.logfile, "*** No XF for xfindex %d; rowx=%d colx=%d value=%r" \ 279 | % (xfindex, rowx, colx, d) 280 | fty = None 281 | self_put_number_cell(rowx, colx, d, fty) 282 | elif rc == XL_LABELSST: 283 | rowx, colx, index = local_unpack(' %f\n", 310 | # mulrk_row, colx, ''.join(["%02x " % ord(c) for c in data[pos+2:pos+6]]), d); 311 | fty = local_check_xf(bk, mulrk_row, colx, xfindex, d) 312 | pos += 6 313 | self_put_number_cell(mulrk_row, colx, d, fty) 314 | elif rc == XL_ROW: 315 | rowx, colx, ncols = local_unpack('=3 and (rowx >= self.nrows or ncols > self.ncols): 317 | msg = "*** sheet %d(%r): ROW record rowx=%d (nrows=%d), max colx=%d (ncols=%d)" % \ 318 | (self.number, self.name, rowx, self._dnrows, ncols-1, self._dncols) 319 | print >> self.logfile, msg 320 | self.extend_cells(rowx+1, ncols) 321 | no_storage = 0 322 | elif rc & 0xff == XL_FORMULA: # 06, 0206, 0406 323 | # if DEBUG: print "FORMULA: rc: 0x%04x data: %r" % (rc, data) 324 | rowx, colx, xfindex, flags = local_unpack('> self.logfile, msg 331 | if data[12] == '\xff' and data[13] == '\xff': 332 | if data[6] == '\x00': 333 | # need to read next record (STRING) 334 | gotstring = 0 335 | if flags & 8: 336 | # actually there's an optional SHRFMLA or ARRAY etc record to skip over 337 | rc2, _unused_len, data2 = bk.get_record_parts() 338 | if rc2 == XL_STRING: 339 | gotstring = 1 340 | elif rc2 not in XL_SHRFMLA_ETC_ETC: 341 | raise XLRDError( 342 | "Expected SHRFMLA, ARRAY, TABLEOP* or STRING record; found 0x%04x" % rc2) 343 | # if DEBUG: print "gotstring:", gotstring 344 | # now for the STRING record 345 | if not gotstring: 346 | rc2, _unused_len, data2 = bk.get_record_parts() 347 | if rc2 != XL_STRING: raise XLRDError("Expected STRING record; found 0x%04x" % rc2) 348 | # if DEBUG: print "STRING: data=%r BIFF=%d cp=%d" % (data2, self.biff_version, bk.encoding) 349 | if self.biff_version < BIFF_FIRST_UNICODE: 350 | strg = unpack_string(data2, 0, bk.encoding, lenlen=2) 351 | else: 352 | strg = unpack_unicode(data2, 0, lenlen=2) 353 | self.put_cell(rowx, colx, XL_CELL_TEXT, strg) 354 | # if DEBUG: print "FORMULA strg %r" % strg 355 | elif data[6] == '\x01': 356 | # boolean formula result 357 | value = ord(data[8]) 358 | self.put_cell(rowx, colx, XL_CELL_BOOLEAN, value) 359 | elif data[6] == '\x02': 360 | # Error in cell 361 | value = ord(data[8]) 362 | self.put_cell(rowx, colx, XL_CELL_ERROR, value) 363 | elif data[6] == '\x03': 364 | # empty ... i.e. empty (zero-length) string, NOT an empty cell. 365 | self.put_cell(rowx, colx, XL_CELL_TEXT, empty_string) 366 | else: 367 | raise XLRDError("unexpected special case (0x%02x) in FORMULA" % ord(data[6])) 368 | else: 369 | # it is a number 370 | d = local_unpack('= 3: 386 | fprintf(self.logfile, 387 | "sheet %d(%r) DIMENSIONS: ncols=%d nrows=%d\n", 388 | self.number, self.name, self._dncols, self._dnrows 389 | ) 390 | elif rc == XL_EOF: 391 | DEBUG = 0 392 | if DEBUG: print >> self.logfile, "SHEET.READ: EOF" 393 | self.tidy_dimensions() 394 | break 395 | elif rc == XL_OBJ: 396 | bk.handle_obj(data) 397 | elif rc in bofcodes: ##### EMBEDDED BOF ##### 398 | version, boftype = local_unpack('> self.logfile, \ 401 | "*** Unexpected embedded BOF (0x%04x) at offset %d: version=0x%04x type=0x%04x" \ 402 | % (rc, bk._position - length - 4, version, boftype) 403 | while 1: 404 | code, length, data = bk.get_record_parts() 405 | if code == XL_EOF: 406 | break 407 | if DEBUG: print >> self.logfile, "---> found EOF" 408 | elif rc == XL_COUNTRY: 409 | bk.handle_country(data) 410 | #### all of the following are for BIFF <= 4.0 411 | elif rc == XL_FORMAT or rc == XL_FORMAT2: 412 | bk.handle_format(data) 413 | elif rc == XL_BUILTINFMTCOUNT: 414 | bk.handle_builtinfmtcount(data) 415 | elif rc == XL_XF4 or rc == XL_XF3: #### N.B. not XL_XF 416 | bk.handle_xf(data) 417 | elif rc == XL_DATEMODE: 418 | bk.handle_datemode(data) 419 | elif rc == XL_CODEPAGE: 420 | bk.handle_codepage(data) 421 | elif rc == XL_FILEPASS: 422 | bk.handle_filepass(data) 423 | elif rc == XL_WRITEACCESS: 424 | bk.handle_writeaccess(data) 425 | else: 426 | # if DEBUG: print "SHEET.READ: Unhandled record type %02x %d bytes %r" % (rc, len(data), data) 427 | pass 428 | bk.position(oldpos) 429 | return 1 430 | 431 | # === helpers === 432 | 433 | def unpack_RK(rk_str): 434 | flags = ord(rk_str[0]) 435 | if flags & 2: 436 | # There's a SIGNED 30-bit integer in there! 437 | i, = unpack('>= 2 # div by 4 to drop the 2 flag bits 439 | if flags & 1: 440 | return i / 100.0 441 | return float(i) 442 | else: 443 | # It's the most significant 30 bits of an IEEE 754 64-bit FP number 444 | d, = unpack('> bk.logfile, "*** No XF for xfindex %d; rowx=%d colx=%d value=%r" % (xfindex, rowx, colx, value) 456 | return None 457 | 458 | ##### =============== Cell ======================================== ##### 459 | 460 | cellty_from_fmtty = { 461 | FNU: XL_CELL_NUMBER, 462 | FUN: XL_CELL_NUMBER, 463 | FGE: XL_CELL_NUMBER, 464 | FDT: XL_CELL_DATE, 465 | FTX: XL_CELL_NUMBER, # Yes, a number can be formatted as text. 466 | } 467 | 468 | ctype_text = { 469 | XL_CELL_EMPTY: 'empty', 470 | XL_CELL_TEXT: 'text', 471 | XL_CELL_NUMBER: 'number', 472 | XL_CELL_DATE: 'xldate', 473 | XL_CELL_BOOLEAN: 'bool', 474 | XL_CELL_ERROR: 'error', 475 | } 476 | 477 | ## 478 | #

Contains the data for one cell.

479 | # 480 | #

WARNING: You don't call this class yourself. You access Cell objects 481 | # via methods of the Sheet object(s) that you found in the Book object that 482 | # was returned when you called xlrd.open_workbook("myfile.xls").

483 | #

Cell objects have two attributes: ctype is an int, and value 484 | # which depends on ctype. 485 | # The following table describes the types of cells and how their values 486 | # are represented in Python.

487 | # 488 | # 489 | # 490 | # 491 | # 492 | # 493 | # 494 | # 495 | # 496 | # 497 | # 498 | # 499 | # 500 | # 501 | # 502 | # 503 | # 504 | # 505 | # 506 | # 507 | # 508 | # 509 | # 510 | # 511 | # 512 | # 513 | # 514 | # 515 | # 516 | # 517 | # 518 | # 519 | # 520 | # 521 | # 522 | # 524 | # 525 | #
Type symbolType numberPython value
XL_CELL_EMPTY0empty string u''
XL_CELL_TEXT1a Unicode string
XL_CELL_NUMBER2float
XL_CELL_DATE3float
XL_CELL_BOOLEAN4int; 1 means TRUE, 0 means FALSE
XL_CELL_ERROR5int representing internal Excel codes; for a text representation, 523 | # refer to the supplied dictionary error_text_from_code
526 | #

527 | 528 | class Cell(object): 529 | 530 | __slots__ = ['ctype', 'value',] 531 | 532 | def __init__(self, ctype, value): 533 | self.ctype = ctype 534 | self.value = value 535 | 536 | def __repr__(self): 537 | return "%s:%r" % (ctype_text[self.ctype], self.value) 538 | 539 | ## 540 | # There is one and only one instance of an empty cell -- it's a singleton. This is it. 541 | # You may use a test like "acell is empty_cell". 542 | empty_cell = Cell(XL_CELL_EMPTY, '') 543 | 544 | # === grimoire === 545 | if 0: 546 | try: 547 | from _xlrdutils import * 548 | print "_xlrdutils imported" 549 | except ImportError: 550 | # print "_xlrdutils *NOT* imported" 551 | pass 552 | -------------------------------------------------------------------------------- /dataTools/testData.mat: -------------------------------------------------------------------------------- 1 | 0.828947 0.664474 0.861842 0.213904 0.657754 2 | 0.171123 0.170856 0.000000 0.004605 0.111497 3 | 0.616071 0.678571 0.616071 0.687500 0.776786 4 | 0.151786 0.526786 0.616071 0.410714 0.750000 5 | 1.000000 0.237433 0.336898 0.301872 0.700535 6 | 0.887576 0.887273 0.662121 0.863636 0.614000 7 | 0.360963 0.705882 0.855615 0.887701 0.941176 8 | 0.000000 0.677632 0.203947 0.500000 0.013158 9 | 0.288770 0.727273 0.283422 0.941176 0.278075 10 | 0.304813 0.385027 0.673797 0.732620 0.561497 11 | 0.269737 0.459893 0.978610 0.646791 0.759358 12 | 0.256684 0.617380 0.809211 0.815789 0.893048 13 | 0.844920 0.946524 0.796791 0.914439 1.000000 14 | 0.802727 0.784545 0.100000 0.875758 0.972727 15 | 0.598214 0.824242 0.491071 0.758929 0.952679 16 | 0.090909 0.374332 0.756417 1.000000 0.500000 17 | 0.930481 0.828877 0.887701 0.941176 1.000000 18 | 0.716578 0.276786 0.737968 0.523797 0.285714 19 | 0.919643 0.669643 0.946524 0.384821 1.000000 20 | 0.687500 0.500000 0.500000 0.500000 0.500000 21 | 0.737968 1.000000 1.000000 0.500000 0.673797 22 | 0.321429 0.500000 0.684225 0.687500 0.875000 23 | 0.000000 0.657487 0.561230 0.834225 0.882353 24 | 0.069519 0.957219 1.000000 0.665508 0.780749 25 | 0.101604 0.727273 0.700535 0.700535 0.684492 26 | 0.898396 0.973262 0.962567 0.951872 0.834225 27 | 0.385027 0.684492 0.925134 0.983957 0.989305 28 | 0.101604 0.909091 0.962567 1.000000 0.500000 29 | 0.090642 0.085561 0.500000 0.882353 0.500000 30 | 0.500000 0.500000 0.721658 0.604011 0.911497 31 | 1.000000 0.363636 0.993939 0.739394 0.757576 32 | 0.740374 0.994652 0.168449 0.884759 0.500000 33 | 0.494652 0.500000 0.775401 0.670856 0.339572 34 | 0.606684 1.000000 1.000000 1.000000 0.807487 35 | 0.352941 0.663102 0.647059 0.347594 0.695187 36 | 0.064171 0.606684 0.120053 0.010695 0.000000 37 | 0.696429 0.696429 0.071429 0.080357 0.133929 38 | 0.754011 0.764706 0.727273 0.213904 0.775401 39 | 0.344920 0.665508 0.729679 0.628075 0.633422 40 | 0.510773 0.991436 0.955801 0.725414 0.209669 41 | 0.588122 0.881215 0.828729 0.292541 0.500000 42 | 0.500000 0.773481 0.900552 0.939227 0.878453 43 | 1.000000 0.598214 0.089286 0.723214 1.000000 44 | 0.125000 0.883978 0.828729 0.731768 0.696429 45 | 0.559821 0.709669 0.723757 0.864365 0.814917 46 | 0.118232 1.000000 0.715193 0.830939 1.000000 47 | 0.646409 0.850829 1.000000 0.779006 0.500000 48 | 1.000000 1.000000 0.729282 0.500000 0.621271 49 | 0.784530 0.309392 0.298343 0.170994 0.276243 50 | 0.787017 0.212707 0.762431 0.676796 0.820166 51 | 0.000000 0.750000 0.526786 0.857143 0.649107 52 | 0.212707 0.781492 1.000000 1.000000 0.820166 53 | 0.000000 0.734807 1.000000 1.000000 0.756906 54 | 0.350829 0.911602 0.640884 0.917127 1.000000 55 | 0.693094 0.682320 0.532597 0.790055 1.000000 56 | 0.193370 0.906077 1.000000 0.767956 0.500000 57 | 0.348214 0.437500 0.000000 0.000000 1.000000 58 | 0.341964 0.437500 0.053571 0.321429 0.482143 59 | 0.151786 1.000000 1.000000 0.000000 0.473214 60 | 0.116071 0.633929 0.000000 0.508929 0.196429 61 | 0.193094 1.000000 1.000000 0.864365 0.500000 62 | 0.751381 0.294643 0.696429 0.107143 0.866071 63 | 0.685083 0.823204 1.000000 0.000000 1.000000 64 | 0.428571 1.000000 1.000000 1.000000 1.000000 65 | 0.323204 0.834254 0.980387 0.933702 1.000000 66 | 0.839779 0.668508 0.193370 0.718232 0.856354 67 | 0.149171 0.825967 1.000000 0.861878 1.000000 68 | 0.251381 0.786740 0.837017 1.000000 0.703591 69 | 1.000000 1.000000 1.000000 1.000000 0.599448 70 | 0.787017 0.886740 1.000000 0.875414 0.895028 71 | 0.759392 0.740331 0.737293 0.966851 0.988950 72 | 0.610221 0.817680 1.000000 0.704420 0.599171 73 | 0.808011 0.787017 0.935912 0.686188 0.284530 74 | 0.016575 0.988950 0.740331 0.867403 0.751381 75 | 0.709945 0.866071 0.754144 0.306354 0.759669 76 | 0.383978 0.867403 0.544199 0.378453 0.823204 77 | 0.750000 0.571429 0.821429 0.919643 0.857143 78 | 0.500000 0.808929 0.964286 0.500000 0.836607 79 | 0.773481 0.745856 0.679558 0.745856 0.707182 80 | 0.116022 0.861602 0.905801 0.500000 0.251381 81 | 0.737293 0.974586 0.958287 0.704144 0.632044 82 | 0.695856 1.000000 1.000000 0.602210 0.817680 83 | 0.214286 0.919643 0.919643 0.812500 1.000000 84 | 0.038674 0.979558 0.836740 0.980387 0.950276 85 | 0.801105 1.000000 0.088122 0.795304 0.610497 86 | 0.234807 0.996961 0.712707 0.743094 0.947238 87 | 0.071429 1.000000 1.000000 0.794643 0.794643 88 | 0.562500 0.830357 0.419643 0.616071 0.830357 89 | 0.690608 0.988950 1.000000 1.000000 1.000000 90 | 0.928177 0.911602 0.795580 0.707182 0.955801 91 | 0.292541 1.000000 1.000000 0.779006 0.853315 92 | 0.676796 1.000000 1.000000 1.000000 1.000000 93 | 0.254144 0.831215 0.742818 1.000000 1.000000 94 | 0.776243 0.787293 0.500000 0.814641 0.243094 95 | 0.648895 0.828729 0.790055 0.643370 0.648895 96 | 0.836740 0.969613 0.146409 0.201657 0.842265 97 | 0.127072 1.000000 1.000000 1.000000 0.900552 98 | 0.714286 0.839286 1.000000 1.000000 1.000000 99 | 0.464286 0.598214 0.026786 0.008929 0.000000 100 | 0.082873 0.806630 0.809116 0.632597 0.925414 101 | 0.433702 0.428177 0.198619 0.417127 1.000000 102 | 0.822768 0.961161 0.342541 0.801105 0.248619 103 | 0.215193 1.000000 0.588122 0.648895 0.983425 104 | 1.000000 0.822928 0.825967 0.878453 0.500000 105 | 0.792541 0.781492 0.906077 0.602210 0.801105 106 | 0.339779 1.000000 1.000000 0.820442 0.632320 107 | 0.000000 1.000000 0.977901 0.972376 0.988950 108 | 0.742541 0.974862 0.375691 0.659945 0.820166 109 | 0.491071 0.491071 0.500000 0.500000 0.500000 110 | 0.444751 0.952762 0.767956 0.621271 1.000000 111 | 0.267680 0.740331 0.740331 0.731768 1.000000 112 | 0.500000 0.500000 0.845304 0.850829 0.972376 113 | 0.234807 0.500000 0.500000 0.500000 0.604696 114 | 0.488950 0.687017 0.864641 0.726243 0.693094 115 | 0.182320 1.000000 0.367403 1.000000 1.000000 116 | 0.675000 0.796685 0.985912 0.977901 1.000000 117 | 0.762431 1.000000 0.994475 0.983425 0.878453 118 | 0.500000 0.632320 0.648895 0.356354 0.359116 119 | 0.000000 1.000000 1.000000 1.000000 1.000000 120 | 0.178571 1.000000 0.776786 0.776786 0.508929 121 | 0.716071 0.632044 1.000000 1.000000 1.000000 122 | 0.500000 0.500000 0.500000 0.500000 0.500000 123 | 1.000000 1.000000 1.000000 1.000000 0.000000 124 | 0.870166 0.665470 0.483425 0.820166 1.000000 125 | 0.220994 0.718232 1.000000 0.895028 0.872928 126 | 0.187845 0.704144 0.627072 0.770442 1.000000 127 | 0.146133 0.732044 0.248343 0.295580 0.209669 128 | 0.653039 0.977901 0.000000 1.000000 0.350829 129 | 0.500000 1.000000 1.000000 0.500000 1.000000 130 | 0.264917 1.000000 1.000000 0.149171 1.000000 131 | 0.239779 1.000000 0.856354 0.746429 1.000000 132 | 0.794643 0.732143 0.401786 0.676339 0.687500 133 | 0.798343 0.500000 0.441989 0.803867 1.000000 134 | 0.273481 0.814917 0.000000 0.784530 0.988950 135 | 0.488950 1.000000 1.000000 0.767956 0.861878 136 | 0.110497 1.000000 0.803591 0.787293 1.000000 137 | 0.099448 0.897514 0.612707 0.590884 0.858840 138 | 0.234530 1.000000 1.000000 0.781215 0.790055 139 | 0.377901 0.101657 0.895028 0.146409 0.781768 140 | 0.714365 1.000000 1.000000 0.715193 1.000000 141 | 0.977901 0.972376 0.751381 0.762431 0.657459 142 | 0.292541 0.673757 1.000000 1.000000 1.000000 143 | 0.237569 0.817680 0.906077 0.961326 0.966851 144 | 0.668232 1.000000 0.801105 0.626796 0.654144 145 | 0.309116 0.630939 0.515746 0.808564 0.559392 146 | 0.464286 1.000000 1.000000 1.000000 1.000000 147 | 0.500000 0.791160 0.814917 0.500000 0.792541 148 | 0.414365 0.872928 0.895028 0.939227 0.972376 149 | 0.082597 0.900552 0.745580 1.000000 1.000000 150 | 0.814641 0.947514 0.637845 0.709392 0.395028 151 | 0.742265 0.000000 0.753867 0.000000 0.500000 152 | 0.179282 0.201657 0.847790 0.726243 0.500000 153 | 0.151657 0.803591 1.000000 0.813839 0.750000 154 | 0.676786 0.623661 0.591518 0.683929 0.630804 155 | 0.897514 0.928177 0.776786 0.825967 1.000000 156 | 0.598214 1.000000 1.000000 0.624309 1.000000 157 | 0.220994 0.778177 1.000000 0.850829 0.500000 158 | 0.000000 0.875000 1.000000 1.000000 0.875000 159 | 0.944751 0.618785 0.640884 0.209945 0.232044 160 | 0.272768 0.803571 0.937054 0.767857 0.582597 161 | 0.104972 0.872928 1.000000 0.900552 0.919890 162 | 0.500000 0.870166 0.933702 0.952762 0.918508 163 | 0.500000 0.719337 1.000000 0.823204 0.858840 164 | 0.817680 0.198895 0.187845 0.779006 0.500000 165 | 0.124309 0.500000 0.229006 0.776243 0.806630 166 | 0.657459 0.988950 0.917127 0.939227 0.972376 167 | 0.127072 0.798066 0.853591 0.889503 1.000000 168 | 0.886464 0.792265 0.284530 0.500000 0.825138 169 | 0.223757 0.621271 0.240055 0.720718 1.000000 170 | 0.767857 0.705357 0.223214 0.616071 0.241071 171 | 0.000000 0.821429 0.712707 1.000000 1.000000 172 | 0.000000 1.000000 1.000000 0.646409 1.000000 173 | 0.290055 1.000000 0.682044 0.814917 1.000000 174 | 0.245856 0.903039 0.886188 0.759392 0.648895 175 | 0.016575 1.000000 1.000000 1.000000 1.000000 176 | 0.088398 0.806630 1.000000 0.988950 0.198895 177 | 0.500000 0.958287 0.725414 0.870166 1.000000 178 | 0.151934 1.000000 1.000000 0.500000 0.328729 179 | 0.240331 0.764917 1.000000 1.000000 0.930939 180 | 0.187845 1.000000 1.000000 0.792541 0.787293 181 | 0.500000 0.500000 0.500000 0.500000 0.500000 182 | 0.245856 0.687569 0.350829 0.278729 0.284530 183 | 0.000000 1.000000 1.000000 1.000000 1.000000 184 | 0.176796 0.988950 0.994475 0.850829 0.745856 185 | 0.790055 0.906077 0.659945 0.845304 0.560497 186 | 0.110497 1.000000 0.742818 0.731768 0.759392 187 | 0.000000 0.648895 0.182044 1.000000 0.996961 188 | 0.176519 0.933702 1.000000 1.000000 0.839779 189 | 0.133929 0.142857 0.098214 0.062500 0.062500 190 | 0.176519 1.000000 0.806630 0.779006 1.000000 191 | 0.764917 1.000000 1.000000 0.823204 0.817680 192 | 0.709669 0.740331 0.254144 0.306354 0.311878 193 | 0.000000 0.559945 1.000000 0.707182 0.494475 194 | 0.276243 0.900552 0.500000 0.674033 0.955801 195 | 0.779006 1.000000 1.000000 0.680663 1.000000 196 | 0.187500 0.187500 0.151786 0.517857 0.491071 197 | 0.187845 0.972376 0.779006 0.698619 1.000000 198 | 0.883978 0.665470 0.682044 0.500000 0.883978 199 | 0.851339 0.748343 0.149171 0.787293 1.000000 200 | 0.544643 0.901786 0.589286 0.812500 0.508929 201 | 0.223214 1.000000 0.482143 0.812500 1.000000 202 | 0.482143 0.250000 0.676519 0.758929 0.267857 203 | 0.681768 0.648343 0.642265 0.811878 0.704144 204 | 0.749554 0.741071 1.000000 0.829911 0.839286 205 | 0.138122 0.836740 0.784254 0.626796 0.588122 206 | 0.121547 0.629834 0.657459 0.707182 0.972376 207 | 0.000000 1.000000 1.000000 1.000000 0.541160 208 | 0.162707 1.000000 0.917127 0.972376 0.961326 209 | 0.845304 1.000000 0.994475 1.000000 0.709669 210 | 0.185083 0.500000 0.764917 0.825967 0.808840 211 | 0.856354 0.911602 0.872928 0.900552 0.906077 212 | 0.571547 0.571271 0.577072 0.582597 0.599448 213 | 0.107459 0.325414 0.564917 0.538122 0.972376 214 | 0.116022 1.000000 1.000000 1.000000 1.000000 215 | 0.742818 0.962983 0.619890 0.974862 0.737293 216 | 0.635359 0.500000 0.861878 0.883978 0.668508 217 | 0.160221 0.922652 1.000000 1.000000 0.828729 218 | 0.000000 1.000000 1.000000 1.000000 1.000000 219 | 0.593646 1.000000 0.626796 1.000000 1.000000 220 | 0.707182 0.806630 1.000000 0.745580 0.856354 221 | 0.303571 0.821429 1.000000 0.580357 1.000000 222 | 0.756906 0.342541 0.670994 0.662707 0.662707 223 | 0.330357 0.714286 1.000000 0.571429 0.383929 224 | 0.988950 0.767956 0.933702 0.765625 1.000000 225 | 0.022099 1.000000 0.767956 0.773481 0.549724 226 | 0.750000 1.000000 0.767857 0.785714 0.794643 227 | 0.190608 0.500000 0.752486 0.500000 0.500000 228 | 0.648895 0.685083 1.000000 0.364641 0.845028 229 | 0.723757 0.994475 1.000000 1.000000 0.853591 230 | 0.126796 0.850829 0.883978 0.635359 1.000000 231 | 0.104972 0.812155 0.784530 0.823204 0.806630 232 | 0.974586 0.770442 0.538674 0.500000 1.000000 233 | 0.179006 0.994475 0.665470 0.748619 0.500000 234 | 0.160714 0.994475 1.000000 0.678571 1.000000 235 | 0.764917 1.000000 1.000000 0.707182 0.922652 236 | 0.000000 1.000000 0.756906 0.000000 0.944751 237 | 0.312500 0.750000 1.000000 0.750000 0.464286 238 | 0.151934 1.000000 0.731768 0.939227 0.814917 239 | 0.311878 1.000000 0.729282 1.000000 0.659945 240 | 0.292541 0.933425 0.922376 0.621271 0.648895 241 | 0.237569 0.500000 0.850829 0.626796 0.818785 242 | 0.626796 0.889503 0.924586 0.853315 0.977624 243 | 0.154420 0.162707 0.604696 0.798066 0.823204 244 | 0.000000 0.560497 1.000000 0.657459 0.690608 245 | 0.648895 0.939227 0.566298 0.629558 0.417127 246 | 0.500000 0.500000 0.798066 0.500000 0.598895 247 | 0.000000 1.000000 1.000000 1.000000 1.000000 248 | 0.494475 0.422652 0.593646 0.328729 0.604696 249 | 0.742818 1.000000 0.687569 0.566022 0.681492 250 | 0.500000 0.500000 0.500000 0.500000 0.500000 251 | 0.428571 0.657589 1.000000 0.812500 0.884821 252 | 0.399724 0.500000 0.748343 0.367403 0.500000 253 | 0.988950 1.000000 0.806354 0.983425 1.000000 254 | 0.234254 1.000000 1.000000 0.626796 0.586740 255 | 0.679558 0.933702 1.000000 0.911602 0.872928 256 | 1.000000 1.000000 1.000000 0.270442 0.298343 257 | 0.378453 0.389503 0.138122 0.719337 1.000000 258 | 0.000000 0.160714 0.062500 0.000000 0.794643 259 | 0.777901 0.500000 0.792541 0.632320 0.648895 260 | 0.124033 0.974862 0.267680 0.906077 0.378453 261 | 1.000000 1.000000 1.000000 0.500000 0.500000 262 | 1.000000 1.000000 1.000000 1.000000 1.000000 263 | 0.587293 1.000000 0.917127 0.759392 0.781768 264 | 0.704420 1.000000 0.980663 1.000000 0.748343 265 | 0.129006 0.206630 0.787017 0.000000 0.107735 266 | 0.919613 0.681696 0.000000 0.101934 0.146409 267 | 0.278729 0.983425 1.000000 0.988950 0.742857 268 | 0.179006 0.814641 0.903315 0.891989 0.908840 269 | 1.000000 1.000000 1.000000 1.000000 1.000000 270 | 0.488674 0.500000 0.759669 0.767956 0.685083 271 | 0.278729 1.000000 0.834254 0.991713 0.779006 272 | 0.254144 0.500000 0.911602 0.919613 1.000000 273 | 0.632597 0.842265 0.742818 0.831492 0.621271 274 | 0.118785 0.986188 0.847790 0.546409 0.759392 275 | 0.011050 0.022099 0.988950 0.005525 0.977901 276 | 0.500000 0.500000 0.500000 1.000000 1.000000 277 | 0.872928 1.000000 0.817680 0.842265 1.000000 278 | 0.339779 0.814641 0.588122 0.599448 0.500000 279 | 1.000000 1.000000 1.000000 1.000000 1.000000 280 | 0.300829 0.698619 0.753315 0.742818 0.259392 281 | 0.737293 0.737293 0.737293 0.759669 0.770442 282 | 0.994475 1.000000 0.792818 0.861878 0.958564 283 | 0.847790 0.914365 0.500000 0.869890 0.670994 284 | 0.787017 1.000000 0.845304 0.500000 1.000000 285 | 0.311326 0.764917 0.853315 0.900552 0.737293 286 | 0.038674 0.281768 0.500000 0.500000 0.500000 287 | 0.500000 0.500000 0.500000 0.500000 0.500000 288 | 0.500000 0.500000 0.500000 0.500000 0.500000 289 | 0.693094 0.784530 0.961326 0.958011 1.000000 290 | 0.000000 1.000000 1.000000 1.000000 0.500000 291 | 0.248343 1.000000 1.000000 1.000000 0.878453 292 | 0.372928 0.543370 0.779006 0.500000 1.000000 293 | 0.742818 1.000000 0.698895 0.812155 0.731768 294 | 0.678571 1.000000 1.000000 0.781492 0.693094 295 | 0.500000 1.000000 1.000000 1.000000 1.000000 296 | 0.160221 0.787293 0.643370 0.779006 0.660221 297 | 0.500000 0.500000 0.500000 0.500000 0.500000 298 | 0.972376 0.983425 0.685083 1.000000 0.977901 299 | 0.659945 0.632320 0.295580 0.339779 0.372928 300 | 0.588122 0.814641 1.000000 0.311878 0.500000 301 | 0.693370 0.736464 1.000000 1.000000 1.000000 302 | 0.983425 0.977901 0.972376 0.955801 0.994475 303 | 0.000000 1.000000 1.000000 1.000000 1.000000 304 | 0.742265 0.903315 0.764917 0.880939 0.919613 305 | 0.000000 1.000000 1.000000 1.000000 0.669643 306 | 0.500000 0.500000 1.000000 1.000000 1.000000 307 | 1.000000 0.996133 0.792541 0.500000 1.000000 308 | 0.861878 0.621271 0.828729 1.000000 0.856354 309 | 0.000000 1.000000 1.000000 1.000000 1.000000 310 | 0.000000 1.000000 1.000000 0.951381 0.850829 311 | 0.000000 0.500000 1.000000 1.000000 1.000000 312 | 0.798066 0.794643 0.663839 1.000000 1.000000 313 | 0.217680 0.875414 0.983425 0.903315 1.000000 314 | 0.697238 0.979558 0.759116 0.769061 0.903039 315 | 1.000000 0.500000 0.500000 0.500000 0.500000 316 | 0.974862 1.000000 0.961050 0.500000 0.930939 317 | 0.353591 0.687569 0.930663 0.983425 1.000000 318 | 0.972376 0.582320 0.720718 0.500000 1.000000 319 | 0.215470 0.682044 0.696133 0.764917 1.000000 320 | 0.285714 0.375000 0.678571 0.508929 0.964286 321 | 0.311878 0.886464 0.754144 0.753867 0.969337 322 | 0.160714 1.000000 0.500000 0.409375 0.598214 323 | 0.000000 0.305801 0.820166 0.505525 0.637845 324 | 0.798066 0.775967 0.500000 0.790055 0.875414 325 | 0.093923 1.000000 1.000000 0.778729 0.665470 326 | 1.000000 1.000000 1.000000 1.000000 1.000000 327 | 0.372928 0.990884 0.891989 1.000000 1.000000 328 | 1.000000 1.000000 1.000000 1.000000 0.765193 329 | 0.090884 0.939227 0.060773 1.000000 0.607459 330 | 0.212431 1.000000 0.339779 0.500000 0.618785 331 | 1.000000 0.659945 0.000000 0.767956 0.588122 332 | 0.172321 0.977679 0.428125 0.977679 0.988839 333 | 0.218232 1.000000 1.000000 0.737293 0.743094 334 | 0.858840 0.869890 1.000000 0.853315 1.000000 335 | 0.759392 0.936188 0.953039 0.792541 0.875414 336 | 0.317680 0.704144 0.928177 0.698619 0.969337 337 | 0.016575 1.000000 0.795580 1.000000 0.500000 338 | 0.063260 0.787017 0.680939 0.753867 0.729282 339 | 0.580110 0.900552 0.337017 0.762431 0.834254 340 | 0.022099 0.817680 0.850829 0.922652 0.751381 341 | 1.000000 0.262431 0.000000 0.000000 1.000000 342 | 0.500000 0.500000 0.500000 0.500000 0.500000 343 | 0.410714 0.776786 0.910714 0.679558 0.508929 344 | 0.005525 0.828729 0.303867 0.632320 0.983425 345 | 0.372652 1.000000 0.935912 0.803591 1.000000 346 | 0.000000 0.248619 0.295304 0.268304 0.126796 347 | 0.994475 0.994475 0.889503 1.000000 1.000000 348 | 0.790055 0.543094 0.775967 0.764917 0.543094 349 | 1.000000 1.000000 0.273204 0.709669 1.000000 350 | 0.779006 0.500000 0.000000 0.500000 0.729006 351 | 0.000000 1.000000 1.000000 1.000000 1.000000 352 | 0.741071 0.705357 0.750000 0.741071 1.000000 353 | 1.000000 1.000000 0.000000 0.500000 0.508929 354 | 0.000000 1.000000 1.000000 0.000000 0.000000 355 | 0.215470 1.000000 1.000000 1.000000 1.000000 356 | 0.000000 0.972376 0.994475 0.812155 0.198619 357 | 1.000000 0.629834 0.000000 0.000000 0.000000 358 | 0.267857 1.000000 0.758929 0.598214 0.875000 359 | 0.375691 0.988950 0.679282 0.690331 1.000000 360 | 0.994196 0.903315 0.182320 0.792541 0.801105 361 | 0.176796 0.848214 0.234807 0.419643 0.383929 362 | 0.140179 0.731768 0.878453 0.695856 0.345304 363 | 0.143646 0.284254 1.000000 1.000000 0.598895 364 | 0.231768 0.646409 0.798066 0.988950 0.859116 365 | 0.648895 0.846961 0.726243 1.000000 0.670994 366 | 0.500000 0.856354 0.500000 0.770442 0.988950 367 | 0.924862 0.680663 0.182320 0.284254 0.204144 368 | 1.000000 0.500000 1.000000 1.000000 1.000000 369 | 0.223757 0.171271 0.643370 0.196133 0.704144 370 | 0.500000 0.500000 0.500000 0.500000 0.500000 371 | 0.491071 0.500000 1.000000 1.000000 0.000000 372 | 0.835359 0.334254 1.000000 0.621271 0.717956 373 | 0.703315 1.000000 0.787017 0.795580 0.709116 374 | 0.339286 0.830357 0.839286 0.857143 0.857143 375 | 0.903315 0.897514 0.604696 0.737569 0.781768 376 | 0.187845 0.696133 0.966851 0.500000 0.817680 377 | 0.781768 0.361602 0.000000 0.265193 0.283702 378 | 0.882143 0.784530 1.000000 0.903315 0.715193 379 | 0.726243 1.000000 0.720718 0.215470 0.637845 380 | 0.911602 0.693094 0.190608 0.792818 0.626796 381 | 0.306354 0.908840 0.975138 0.500000 0.682320 382 | 0.911326 0.944751 0.643646 0.726243 0.994475 383 | 0.682044 1.000000 0.840179 1.000000 0.792541 384 | 0.289779 0.974862 0.925414 0.737569 0.930663 385 | 0.000000 1.000000 1.000000 1.000000 0.500000 386 | 0.856354 0.861878 0.789779 1.000000 1.000000 387 | 0.258929 0.785714 0.500000 0.704144 0.500000 388 | 1.000000 0.000000 0.659945 0.632597 1.000000 389 | 0.298066 1.000000 0.331492 0.869890 0.615746 390 | 0.080357 0.767857 0.089286 0.785714 0.607143 391 | 0.125000 0.866071 0.901786 0.901786 0.892857 392 | 0.082597 0.500000 0.066298 0.845304 0.000000 393 | 0.000000 0.762431 0.972376 1.000000 0.773481 394 | 0.033149 0.988950 0.500000 0.500000 1.000000 395 | 0.517857 1.000000 1.000000 0.776786 1.000000 396 | 0.000000 1.000000 1.000000 0.500000 0.740331 397 | 0.300552 0.190331 0.693094 0.731215 0.372928 398 | 0.375000 0.642857 0.500000 0.500000 0.500000 399 | 0.005525 0.983425 0.983425 0.966851 0.500000 400 | 0.000000 0.298066 0.301105 0.317403 0.500000 401 | 1.000000 1.000000 1.000000 1.000000 1.000000 402 | 0.312054 0.562500 0.000000 0.785714 0.535714 403 | 0.267956 0.903315 1.000000 0.906077 0.790055 404 | 0.845304 0.994475 0.983425 0.828729 0.359116 405 | 1.000000 1.000000 0.016071 1.000000 1.000000 406 | 0.256906 0.134530 0.756630 0.185083 0.000000 407 | 0.000000 1.000000 1.000000 1.000000 1.000000 408 | 0.794643 0.784375 0.288839 0.734530 0.282143 409 | 0.077348 0.848066 0.176796 0.102210 0.903039 410 | 0.127072 0.850829 0.850829 0.604696 0.955801 411 | 0.395028 1.000000 1.000000 1.000000 0.966851 412 | 0.000000 0.961326 1.000000 0.972376 0.905801 413 | 0.500000 1.000000 0.889503 0.972376 1.000000 414 | 0.000000 1.000000 1.000000 0.754144 1.000000 415 | 0.632320 0.212707 0.256906 0.250829 0.232044 416 | 0.215470 0.724862 1.000000 0.500000 0.687845 417 | 0.575446 1.000000 0.748343 0.753867 0.737293 418 | 0.508482 1.000000 1.000000 0.357143 0.607143 419 | 0.225893 0.112054 0.929018 0.000000 0.861607 420 | 0.169643 0.848214 0.276786 0.642857 0.196429 421 | 0.475000 0.500000 0.562500 0.491071 0.883978 422 | 0.011050 0.988950 1.000000 1.000000 0.500000 423 | 0.193370 0.988950 0.983425 0.500000 0.983425 424 | 0.800829 0.234807 0.000000 0.812500 0.000000 425 | 1.000000 1.000000 0.624033 0.950276 1.000000 426 | 0.792411 0.670994 0.648895 0.676519 0.521823 427 | 1.000000 0.845304 0.705357 0.455357 0.383929 428 | 0.483425 0.787017 0.174033 0.179558 0.668232 429 | 0.000000 0.473214 0.829018 1.000000 0.517857 430 | 0.331492 0.886740 0.939227 0.950276 0.958564 431 | 0.817680 1.000000 1.000000 0.773481 1.000000 432 | 0.543094 0.500000 0.123757 0.848214 0.500000 433 | 0.500000 0.903039 0.792818 0.886464 0.500000 434 | 0.500000 0.500000 0.972376 0.500000 0.500000 435 | 0.500000 0.972376 0.762431 0.500000 0.500000 436 | 1.000000 1.000000 0.532597 1.000000 1.000000 437 | 0.342541 0.548619 0.773481 0.581215 0.560497 438 | 0.895028 0.648895 0.226519 0.850829 0.500000 439 | 0.544643 0.744196 0.848214 0.729282 0.563393 440 | 0.125000 0.812500 1.000000 1.000000 0.642857 441 | 0.817680 0.648895 0.615746 0.212707 0.801105 442 | 0.325414 1.000000 0.914088 1.000000 1.000000 443 | 0.232044 0.754144 0.295580 0.406077 0.599171 444 | 0.500000 0.500000 0.500000 0.500000 0.500000 445 | 0.289779 1.000000 0.229282 0.612983 0.276243 446 | 0.082873 1.000000 1.000000 1.000000 0.765193 447 | 0.670994 0.756906 0.889503 0.356354 0.516298 448 | 0.259669 0.729282 0.740331 0.779006 0.500000 449 | 0.500000 0.500000 0.500000 0.500000 0.500000 450 | 0.817680 0.795580 0.281768 0.668508 0.342541 451 | 1.000000 0.055249 0.038674 0.480663 0.950276 452 | 0.386740 0.612983 0.154696 0.712707 0.500000 453 | 0.814641 0.513393 0.731768 0.422652 0.693094 454 | 0.745856 1.000000 1.000000 1.000000 0.759392 455 | 0.099448 0.718232 0.659945 0.665193 0.638122 456 | 0.726243 0.554420 0.500000 0.000000 0.500000 457 | 0.245856 1.000000 0.134807 1.000000 1.000000 458 | 0.500000 0.500000 1.000000 0.731768 0.500000 459 | 0.000000 0.557735 1.000000 1.000000 0.751381 460 | 0.972376 0.950276 0.754144 0.883978 0.742818 461 | 0.370166 0.383978 1.000000 1.000000 1.000000 462 | 1.000000 1.000000 0.553571 0.733036 0.464286 463 | 0.500000 0.500000 0.500000 0.500000 0.500000 464 | 0.314641 0.690331 0.870166 0.654420 0.665470 465 | 0.695856 1.000000 1.000000 1.000000 1.000000 466 | 0.820166 0.345304 0.085359 0.256906 0.731768 467 | 0.000000 0.022099 1.000000 1.000000 0.408840 468 | 0.828729 0.698619 0.372928 0.504420 0.275967 469 | 0.500000 0.974862 0.500000 0.966851 0.913812 470 | 0.231768 0.787017 1.000000 0.972376 1.000000 471 | 1.000000 0.964286 1.000000 1.000000 0.964286 472 | 1.000000 0.737293 0.604696 0.582597 0.337017 473 | 0.234807 0.966851 1.000000 0.911326 0.801105 474 | 1.000000 1.000000 1.000000 1.000000 1.000000 475 | 1.000000 0.812500 0.994475 0.867403 0.613260 476 | 0.684807 0.963812 0.220994 0.615746 0.615746 477 | 0.116022 0.118508 0.154696 0.897790 0.638122 478 | 0.482143 0.566022 0.419890 0.686464 0.598895 479 | 0.165746 0.878453 0.500000 0.889503 0.900552 480 | 1.000000 1.000000 0.553571 0.571875 0.985359 481 | 0.000000 0.803867 1.000000 1.000000 1.000000 482 | 1.000000 1.000000 0.646409 0.383978 0.776243 483 | 0.189779 0.632320 1.000000 0.339286 1.000000 484 | 0.267857 0.175446 0.295089 0.741071 0.892857 485 | 0.289779 1.000000 1.000000 0.629558 1.000000 486 | 0.500000 0.500000 0.500000 0.500000 0.500000 487 | 0.508929 0.500000 0.500000 0.500000 0.500000 488 | 0.458564 0.784530 0.381215 0.801105 0.500000 489 | 0.143646 0.754144 0.751381 0.527348 0.378453 490 | 0.154696 0.751381 1.000000 0.872928 0.356354 491 | 0.687500 0.678571 0.035714 0.526786 0.669643 492 | 0.770442 0.944751 0.977901 0.966851 0.969613 493 | 0.693370 0.848066 0.911602 0.809116 0.687569 494 | 0.825691 0.682044 0.712707 0.748343 1.000000 495 | 0.093923 0.720718 0.856354 0.682044 0.988950 496 | 0.667956 0.817680 1.000000 1.000000 0.795304 497 | 0.345304 0.950276 0.961326 0.983425 0.966851 498 | 0.428571 0.991071 0.714286 0.589286 0.392857 499 | 1.000000 0.500000 0.500000 0.500000 0.500000 500 | 0.000000 1.000000 0.588122 0.273204 0.883978 501 | 0.000000 0.500000 0.709945 0.836740 0.997238 502 | 0.000000 0.000000 1.000000 1.000000 1.000000 503 | 0.000000 0.000000 1.000000 0.961326 0.798066 504 | 0.179006 0.875691 0.590608 0.944751 0.500000 505 | 0.176796 0.590884 1.000000 0.668232 0.000000 506 | 0.242818 0.803867 0.878453 0.599448 0.500000 507 | 0.240331 0.753867 0.869890 1.000000 1.000000 508 | 0.801105 1.000000 1.000000 0.839779 1.000000 509 | 0.977901 0.726243 1.000000 0.850829 0.669613 510 | 0.790055 0.801105 0.977901 0.712707 0.718232 511 | 0.232143 0.797768 0.927679 0.726339 0.428571 512 | 0.980387 1.000000 0.184807 0.500000 0.859116 513 | 0.944751 0.500000 0.265193 0.662983 0.994475 514 | 0.276243 0.748343 1.000000 1.000000 0.914365 515 | 0.000000 1.000000 1.000000 1.000000 0.564641 516 | 0.062707 0.930939 0.858840 0.074309 0.000000 517 | 0.071429 0.133929 0.776786 0.821429 0.651786 518 | 0.000000 0.996685 0.295304 0.729282 1.000000 519 | 0.275967 0.500000 0.845304 0.867403 0.670994 520 | 0.500000 1.000000 0.500000 0.676796 0.787017 521 | 0.886464 0.906077 0.908840 0.897514 0.897514 522 | 0.154696 0.812155 0.828453 0.693094 0.693370 523 | 0.093646 0.969337 0.300829 0.825691 0.996961 524 | 0.239779 0.919890 0.994475 0.806354 0.759669 525 | 0.767857 0.848214 0.196429 0.839286 0.714286 526 | 0.303867 0.132597 0.994475 1.000000 1.000000 527 | 0.229006 1.000000 1.000000 0.501934 1.000000 528 | 0.500000 1.000000 0.911602 0.847790 0.577348 529 | 0.005525 0.790055 0.488950 1.000000 0.500000 530 | 0.168508 0.665470 0.676796 1.000000 0.621271 531 | 0.281492 0.900552 0.673757 0.577348 0.732044 532 | 0.000000 1.000000 0.000000 1.000000 0.000000 533 | 0.134807 0.878453 0.162983 0.167411 0.480663 534 | 0.055249 0.646409 0.812500 0.287293 0.553571 535 | 0.127072 1.000000 1.000000 1.000000 0.000000 536 | 0.972376 0.994475 0.303867 1.000000 0.602210 537 | 0.500000 0.500000 0.500000 0.500000 0.500000 538 | 0.254144 0.000000 0.000000 0.886464 0.500000 539 | 0.250000 0.919890 1.000000 0.906077 0.258929 540 | 0.994475 0.972376 0.983425 0.977901 1.000000 541 | 0.725893 0.720718 0.836740 0.820442 0.814641 542 | 0.000000 1.000000 0.000000 0.000000 0.000000 543 | 0.821429 0.330357 0.392857 0.366071 0.125000 544 | 0.240331 0.792541 0.190331 1.000000 0.052486 545 | 0.323204 0.659945 0.784530 0.085359 0.500000 546 | 0.011050 0.972376 0.027624 0.016575 0.016575 547 | 0.353039 0.798343 0.220718 1.000000 0.624033 548 | 0.098214 0.723214 0.620994 0.205357 0.246875 549 | 0.768750 0.781492 0.720718 0.770442 0.517857 550 | 1.000000 0.209669 0.867403 0.729282 0.331492 551 | 0.220994 0.803867 0.500000 0.151657 0.847790 552 | 0.500000 0.500000 0.500000 0.500000 0.500000 553 | 0.500000 0.743094 0.770718 0.648343 0.500000 554 | 0.093923 0.096133 0.825691 0.151934 0.659945 555 | 0.000000 1.000000 0.538122 0.500000 0.000000 556 | 0.491071 0.500000 0.500000 0.500000 0.500000 557 | 0.383978 0.627072 0.288674 0.698619 0.311878 558 | 0.000000 0.599171 0.615746 0.670994 0.748343 559 | 0.500000 1.000000 0.985912 1.000000 0.731215 560 | 0.419643 0.241071 0.866071 0.848214 0.714286 561 | 0.157589 1.000000 1.000000 0.500000 0.500000 562 | 0.000000 1.000000 0.839503 0.834254 0.828729 563 | 0.245856 0.977901 1.000000 0.709669 0.983425 564 | 0.169643 0.053571 0.121875 0.758929 0.133929 565 | 0.323204 0.593094 0.000000 0.361878 0.814641 566 | 0.996961 1.000000 0.687569 1.000000 1.000000 567 | 0.648895 0.745856 0.582873 0.659945 0.753867 568 | 0.883978 1.000000 0.088398 0.875691 0.261878 569 | 0.500000 1.000000 0.000000 0.988950 0.500000 570 | 0.845304 0.823204 0.867403 0.500000 1.000000 571 | 0.500000 0.500000 0.500000 0.500000 0.500000 572 | 0.000000 1.000000 0.364641 0.591160 0.500000 573 | 1.000000 1.000000 0.803867 0.842541 1.000000 574 | 0.891989 0.631215 0.033149 0.648895 0.585359 575 | 0.686188 0.000000 0.000000 0.750000 1.000000 576 | 0.000000 0.000000 0.000000 0.000000 0.000000 577 | 0.000000 1.000000 0.000000 0.212707 0.500000 578 | 0.000000 1.000000 0.633482 1.000000 0.625000 579 | 0.187845 0.798066 1.000000 1.000000 0.328729 580 | 0.281768 0.259669 0.933702 0.961326 0.657459 581 | 1.000000 0.464088 0.895028 0.662707 0.419890 582 | 0.000000 1.000000 0.500000 1.000000 0.500000 583 | 0.910714 0.882143 0.821429 0.873214 0.848214 584 | 0.500000 0.500000 0.500000 0.500000 0.500000 585 | 0.625000 0.169643 0.321429 0.687500 0.276786 586 | 0.798343 1.000000 1.000000 1.000000 0.903039 587 | 0.000000 1.000000 1.000000 1.000000 1.000000 588 | 0.342541 0.500000 0.593646 0.812155 0.000000 589 | 0.621271 1.000000 0.825691 0.867403 0.880939 590 | 0.687500 0.758929 0.151786 0.607143 1.000000 591 | 0.342541 0.585635 0.856354 0.911602 0.994475 592 | 0.500000 0.500000 0.500000 0.500000 0.500000 593 | 0.575691 0.704144 0.112983 0.742818 0.769613 594 | 0.707182 0.704144 0.201381 0.764917 0.994475 595 | 0.784530 0.745856 0.933702 0.861878 0.613260 596 | 0.975138 0.966851 0.996961 0.500000 0.500000 597 | 0.500000 1.000000 0.839779 0.751381 0.237569 598 | 0.751381 0.994475 0.966851 0.613260 0.988950 599 | 0.133929 0.276786 1.000000 0.991071 0.910714 600 | 0.801105 1.000000 0.886740 1.000000 1.000000 601 | 0.196133 1.000000 1.000000 0.803867 0.792818 602 | 0.446429 0.473214 0.473214 0.455357 0.455357 603 | 0.300276 0.969337 0.850829 0.715193 0.604420 604 | 0.748343 0.116022 0.891713 0.908564 0.378453 605 | 1.000000 0.535714 0.723214 0.991071 0.955357 606 | 0.748619 1.000000 0.234254 0.598895 0.643370 607 | 0.017857 0.500000 1.000000 0.328729 0.638122 608 | 0.690608 0.906077 0.624309 0.500000 0.375691 609 | 0.709392 0.869337 0.566022 1.000000 0.535912 610 | 0.013812 0.000000 0.000000 0.715470 0.715193 611 | 0.160221 0.839779 0.911602 0.831215 0.500000 612 | 0.500000 0.000000 0.000000 0.000000 0.500000 613 | 0.000000 0.804464 0.500000 1.000000 0.787017 614 | 1.000000 1.000000 1.000000 1.000000 1.000000 615 | 0.052486 0.952762 0.743094 0.809116 0.648895 616 | 0.066298 0.779006 0.795580 0.406077 0.941989 617 | 0.214286 0.553571 1.000000 0.857143 0.669643 618 | 0.548619 0.803591 0.842265 0.944751 0.864641 619 | 0.375000 0.589286 0.756630 1.000000 0.679282 620 | 0.000000 0.759669 0.781768 0.576796 0.500000 621 | 0.765193 1.000000 1.000000 0.000000 0.731768 622 | 0.160221 0.922652 1.000000 0.801105 1.000000 623 | 0.026786 1.000000 0.776243 0.773204 0.687500 624 | 0.256906 0.729282 0.599171 0.500000 0.500000 625 | 0.586740 1.000000 1.000000 1.000000 0.703867 626 | 0.662983 0.342541 0.397790 0.591160 0.823204 627 | 0.049724 1.000000 0.720718 1.000000 0.759392 628 | 0.101657 0.226519 0.586740 0.806630 0.500000 629 | 0.201105 0.174033 0.698619 0.174033 1.000000 630 | 0.000000 0.756906 0.856354 0.809392 0.577348 631 | 0.705357 0.125000 0.125000 0.062500 0.383929 632 | 0.062500 0.000000 0.000000 0.000000 0.000000 633 | 0.565470 0.952762 0.626796 0.875414 0.378453 634 | 0.273204 0.814917 0.825691 0.842265 0.814641 635 | 0.000000 0.500000 1.000000 0.247790 1.000000 636 | 0.397790 0.814641 0.834254 0.687569 0.500000 637 | 0.577072 0.839779 0.764917 0.886464 0.825691 638 | 0.002762 1.000000 0.858840 0.886464 0.958287 639 | 0.348066 0.812155 0.994475 0.359116 0.784530 640 | 0.333425 0.977901 0.878453 0.955357 0.848214 641 | 0.500000 0.726243 0.500000 0.521547 0.500000 642 | 0.220994 0.779006 0.966851 0.795580 0.662983 643 | 0.500000 0.632320 0.643370 0.500000 0.620994 644 | 0.281492 0.582044 0.726243 0.610221 1.000000 645 | 0.792541 1.000000 1.000000 1.000000 1.000000 646 | 0.270442 0.745856 1.000000 0.922652 0.599171 647 | 0.085359 0.654420 0.687569 0.615746 0.769061 648 | 0.212707 0.500000 0.651657 0.378453 0.500000 649 | 0.731768 0.784530 1.000000 0.814641 0.980663 650 | 0.000000 1.000000 1.000000 1.000000 1.000000 651 | 0.303867 0.640884 0.740331 0.386740 0.734807 652 | 0.248343 1.000000 0.279006 0.820442 0.500000 653 | 0.196133 0.817403 1.000000 0.614365 1.000000 654 | 0.204420 0.828453 0.176519 0.795580 0.464088 655 | 0.000000 1.000000 1.000000 1.000000 0.878453 656 | 0.488950 1.000000 1.000000 1.000000 1.000000 657 | 0.500000 0.250000 1.000000 0.883929 0.303571 658 | 0.000000 0.000000 0.000000 0.500000 1.000000 659 | 0.243094 0.817680 0.875691 0.687569 0.809116 660 | 0.361326 0.682044 0.875414 0.817680 0.355801 661 | 0.245304 0.922652 0.874862 0.903039 0.500000 662 | 0.204420 0.662983 0.861878 0.745856 0.723757 663 | 0.154420 0.693094 0.726243 0.428177 1.000000 664 | 0.303591 1.000000 1.000000 1.000000 0.328729 665 | 0.217680 0.750000 1.000000 0.842265 1.000000 666 | 0.229006 0.742265 0.994199 1.000000 1.000000 667 | 0.134807 0.983425 0.875414 0.897790 0.914365 668 | 0.160714 0.723214 0.428571 0.633929 0.500000 669 | 0.000000 1.000000 0.000000 1.000000 1.000000 670 | 0.000000 0.000000 0.000000 0.000000 0.000000 671 | 0.000000 0.259392 0.751381 0.000000 0.748343 672 | 0.116022 0.597321 0.089286 0.604911 0.500000 673 | 0.179558 0.911602 0.676519 0.676796 1.000000 674 | 0.674033 0.795580 1.000000 0.608840 0.674033 675 | 0.972376 0.679282 0.895028 1.000000 1.000000 676 | 0.657182 0.364641 0.000000 0.759392 0.471547 677 | 0.214286 0.464286 0.339286 0.723214 0.678571 678 | 0.000000 0.000000 0.500000 0.517857 0.535714 679 | 0.000000 1.000000 1.000000 1.000000 0.182320 680 | 0.195856 0.775967 0.861878 0.872928 0.997238 681 | 0.000000 1.000000 1.000000 0.861878 1.000000 682 | 0.500000 0.491071 0.500000 0.500000 0.500000 683 | 0.000000 0.000000 0.000000 1.000000 0.027624 684 | 0.179558 0.171271 1.000000 0.784530 0.648895 685 | 1.000000 0.848214 0.955357 0.723214 1.000000 686 | 0.284254 0.542265 0.500000 0.564917 0.576796 687 | 0.323204 0.870166 1.000000 0.858840 0.853591 688 | 1.000000 0.723757 1.000000 1.000000 0.654420 689 | 0.500000 0.500000 0.500000 0.500000 0.500000 690 | 0.825691 0.963812 0.903039 0.670994 0.753867 691 | 0.773481 0.604696 0.167956 0.361878 0.411602 692 | 0.000000 0.000000 1.000000 1.000000 1.000000 693 | 0.290055 1.000000 1.000000 1.000000 1.000000 694 | 0.500000 0.500000 0.500000 0.781492 0.500000 695 | 0.400552 1.000000 0.632320 0.726519 1.000000 696 | 0.383929 0.950276 0.571429 0.900552 0.366071 697 | 0.000000 1.000000 1.000000 0.500000 0.895028 698 | 0.223214 0.383929 1.000000 1.000000 0.419643 699 | 0.267127 0.279006 0.701657 0.709669 0.914088 700 | 0.317680 0.930663 1.000000 1.000000 1.000000 701 | 0.118232 0.936188 0.950276 0.737569 0.889503 702 | 0.345304 0.737017 1.000000 0.857143 0.855357 703 | 0.806630 0.801105 0.701657 0.983425 0.696133 704 | 0.284530 1.000000 0.731768 0.770442 0.798343 705 | 0.464286 0.500000 0.776786 0.500000 0.500000 706 | 0.490884 0.850829 0.994475 0.693094 0.701381 707 | 0.602210 0.889503 0.977901 0.276243 1.000000 708 | 0.720718 0.985912 0.753867 0.500000 0.500000 709 | 0.289227 0.803591 1.000000 0.847790 0.867403 710 | 0.687569 0.162431 0.000000 0.903039 0.682320 711 | 0.116071 0.930663 0.980387 1.000000 0.906077 712 | 0.742818 0.731768 1.000000 0.510773 1.000000 713 | 0.500000 1.000000 0.856077 0.900552 1.000000 714 | 0.005525 1.000000 0.290055 0.742541 0.571547 715 | 1.000000 0.914365 0.500000 0.300276 0.803867 716 | 0.612500 0.683929 0.102210 0.190055 0.825691 717 | 0.624309 0.718232 0.668508 0.690608 0.679558 718 | 0.770442 0.814641 0.500000 0.687569 0.881215 719 | 0.000000 0.758929 0.750000 0.767857 0.678571 720 | 0.500000 0.811878 0.500000 0.900552 0.701657 721 | 0.088398 0.820442 0.803867 0.746961 0.933702 722 | 0.000000 1.000000 0.500000 0.500000 0.500000 723 | 0.000000 0.828729 0.693094 0.505249 0.500000 724 | 0.133929 1.000000 0.728125 0.446429 0.983425 725 | 0.853315 1.000000 0.759392 0.713812 1.000000 726 | 0.278571 0.830804 0.853125 0.858482 0.437500 727 | 0.985912 1.000000 0.477624 0.977901 0.500000 728 | 0.116071 1.000000 0.637845 0.466851 0.632320 729 | 0.000000 0.033149 1.000000 1.000000 1.000000 730 | 0.000000 0.187845 0.607459 0.281768 0.000000 731 | 0.767857 0.651786 0.857143 0.339286 0.241071 732 | 0.278729 0.582873 0.632597 0.648895 0.848066 733 | 0.779006 1.000000 0.834254 0.762431 0.745580 734 | 0.206906 1.000000 0.717956 0.339779 0.011050 735 | 0.500000 0.599171 0.638122 0.609116 0.394751 736 | 0.419643 0.650000 0.553571 0.973214 0.625000 737 | 0.500000 0.933702 0.919890 0.905801 0.759392 738 | 0.226519 0.718232 0.972376 0.756906 0.779006 739 | 0.314641 0.842541 0.624033 0.842541 0.842541 740 | 0.673757 0.345304 0.698619 0.706906 1.000000 741 | 0.994475 0.000000 0.988950 0.381215 0.591160 742 | 0.099107 0.977901 1.000000 0.753867 0.748619 743 | 0.143646 1.000000 1.000000 0.991713 0.856354 744 | 0.000000 1.000000 0.325967 0.820166 0.220994 745 | 0.217956 0.201657 0.060773 0.295304 0.055249 746 | 0.000000 0.500000 0.000000 0.776786 1.000000 747 | 0.974862 0.997238 0.234807 0.754144 1.000000 748 | 0.370166 0.614365 0.350829 0.643370 0.339779 749 | 0.146133 0.171271 0.574033 0.325967 0.216851 750 | 0.500000 0.500000 0.500000 0.500000 0.500000 751 | 0.082873 0.371429 0.850829 0.856354 0.500000 752 | 0.107182 0.505525 1.000000 1.000000 0.654420 753 | 0.000000 0.151657 0.980663 0.093646 0.198895 754 | 0.254144 0.690331 0.858564 0.834254 1.000000 755 | 0.237569 0.618785 0.878453 0.872928 0.955801 756 | 0.000000 1.000000 0.659945 0.632597 0.090884 757 | 0.773481 0.237293 0.212707 0.637845 0.850552 758 | 1.000000 1.000000 1.000000 1.000000 0.000000 759 | 1.000000 1.000000 1.000000 1.000000 1.000000 760 | 0.000000 1.000000 1.000000 1.000000 0.732143 761 | 0.000000 1.000000 0.707182 0.000000 1.000000 762 | 0.303315 0.900552 1.000000 0.900552 0.726243 763 | 0.654420 1.000000 1.000000 0.856354 1.000000 764 | 0.502486 0.500000 0.500000 0.500000 0.500000 765 | 0.005525 0.005525 0.005525 0.000000 0.000000 766 | 0.500000 0.500000 0.500000 0.500000 0.500000 767 | 0.000000 0.000000 0.000000 0.000000 0.000000 768 | 0.292541 0.820166 1.000000 1.000000 1.000000 769 | 0.500000 0.500000 0.500000 0.500000 0.500000 770 | 0.000000 1.000000 1.000000 0.000000 0.615193 771 | 0.176796 0.795580 1.000000 0.784530 0.687017 772 | 0.604696 0.723757 0.317680 0.300829 0.637569 773 | 0.292541 0.798066 0.000000 0.842541 0.847790 774 | 0.241071 0.839286 1.000000 0.741071 0.491071 775 | 0.044643 1.000000 1.000000 1.000000 1.000000 776 | 0.687569 0.665470 0.339779 0.709669 0.642541 777 | 0.000000 1.000000 1.000000 1.000000 1.000000 778 | 1.000000 1.000000 0.240331 0.994475 1.000000 779 | 0.000000 1.000000 0.669613 0.781492 1.000000 780 | 0.000000 1.000000 1.000000 0.517857 0.517857 781 | 0.000000 0.785714 0.663393 0.740331 1.000000 782 | 0.298343 0.618785 0.500000 0.679558 0.500000 783 | 0.000000 0.773204 0.500000 0.500000 1.000000 784 | 0.182044 0.491160 0.977901 1.000000 0.500000 785 | 0.872928 0.134807 0.124033 0.146409 0.784530 786 | 0.168508 0.698895 0.138122 0.690608 0.066298 787 | 0.734807 0.858840 1.000000 0.118785 1.000000 788 | 0.616071 0.720994 0.422652 0.571547 0.500000 789 | 0.546409 0.646133 0.773481 0.664641 1.000000 790 | 0.005525 0.928177 0.753867 0.831492 0.604696 791 | 0.156906 0.806696 0.964286 0.866071 1.000000 792 | 0.500000 0.261878 1.000000 1.000000 1.000000 793 | 0.104696 0.696133 1.000000 0.759669 0.690608 794 | 0.184807 0.764917 1.000000 0.615746 0.500000 795 | 0.500000 0.762431 1.000000 0.143646 0.845304 796 | 0.138122 0.000000 0.000000 0.500000 0.500000 797 | 0.632597 1.000000 1.000000 1.000000 1.000000 798 | 0.685083 0.845304 1.000000 0.792541 0.500000 799 | 0.500000 1.000000 1.000000 0.444751 0.723481 800 | 0.607735 0.613260 0.790055 0.856354 0.745856 801 | 0.226243 0.607143 1.000000 0.964286 0.437500 802 | 0.500000 0.500000 0.500000 0.500000 0.500000 803 | 0.000000 1.000000 0.845304 1.000000 0.679558 804 | 0.000000 0.182320 0.643370 0.654144 0.543370 805 | 0.785714 0.785714 0.785714 0.892857 1.000000 806 | 1.000000 1.000000 1.000000 1.000000 1.000000 807 | 0.273481 0.610221 0.687569 0.500000 0.687569 808 | 0.709669 1.000000 1.000000 0.883929 1.000000 809 | 0.256906 0.897514 0.847790 0.985912 0.842265 810 | 0.000000 1.000000 1.000000 0.988950 0.500000 811 | 0.610221 0.776243 0.339779 0.748343 0.620718 812 | 0.098214 0.883929 1.000000 1.000000 0.562500 813 | 0.657182 0.856354 0.883978 0.706906 0.000000 814 | 1.000000 0.974862 1.000000 0.825691 0.836740 815 | 0.218232 0.991436 0.129558 0.814641 0.500000 816 | 0.176796 1.000000 0.784530 0.500000 1.000000 817 | 0.410773 0.731768 0.743094 0.864365 0.798066 818 | 0.753867 0.801105 0.734254 0.784530 0.779006 819 | 0.753867 0.206630 0.759669 0.500000 0.748343 820 | 0.820442 0.897790 1.000000 0.781768 0.500000 821 | 0.146133 0.908564 0.753867 0.908840 0.820166 822 | 0.250829 1.000000 1.000000 1.000000 0.836740 823 | 0.756906 0.828729 0.823204 0.850829 0.723757 824 | 0.500000 0.740331 0.922652 0.872928 0.950276 825 | 0.353591 1.000000 1.000000 0.231768 0.687569 826 | 0.731768 1.000000 0.748343 0.828729 0.834254 827 | 0.218232 0.781492 1.000000 0.342541 0.988950 828 | 0.925138 0.201657 0.284530 0.930663 0.620994 829 | 0.875414 0.986161 0.889503 0.741071 0.750000 830 | 0.433702 1.000000 1.000000 0.621271 0.499724 831 | 1.000000 0.267956 0.787293 0.500000 0.748343 832 | 0.000000 0.911602 1.000000 0.712707 0.720718 833 | 0.630939 1.000000 0.682044 0.582597 0.668232 834 | 0.408840 0.345304 0.577072 1.000000 0.383978 835 | 0.000000 1.000000 1.000000 1.000000 1.000000 836 | 1.000000 1.000000 1.000000 1.000000 1.000000 837 | 0.226519 1.000000 0.267680 0.878453 1.000000 838 | 0.055249 0.787017 1.000000 0.157459 0.848066 839 | 0.720718 0.850829 1.000000 1.000000 1.000000 840 | 0.121547 0.399724 0.607459 0.676519 0.375691 841 | 0.171271 0.500000 0.861878 0.856354 0.751381 842 | 0.232044 0.833978 1.000000 0.502762 0.704144 843 | 1.000000 1.000000 0.803591 1.000000 0.500000 844 | 0.176796 0.983425 0.961326 0.955801 0.762431 845 | 0.000000 1.000000 1.000000 1.000000 1.000000 846 | 0.005525 0.982143 0.886464 0.000000 0.980387 847 | 0.234807 0.803591 1.000000 0.726243 1.000000 848 | 0.185083 0.883978 0.704420 0.859116 1.000000 849 | 0.192265 0.681492 0.154696 0.648895 0.708287 850 | 0.270442 0.632320 0.906077 0.632320 0.919337 851 | 0.637569 1.000000 0.648895 0.654420 0.593646 852 | 0.792541 0.795580 1.000000 0.165746 1.000000 853 | 0.742818 1.000000 0.994475 1.000000 1.000000 854 | 0.964286 1.000000 1.000000 0.946429 1.000000 855 | 0.143646 0.861878 0.988950 0.714088 0.972376 856 | 0.657182 0.742818 0.952762 0.858840 0.770718 857 | 0.500000 0.500000 0.500000 0.500000 0.500000 858 | 0.693094 1.000000 1.000000 1.000000 1.000000 859 | 0.737293 0.571547 0.814917 0.383978 1.000000 860 | 1.000000 1.000000 0.127072 1.000000 0.516298 861 | 0.303867 1.000000 1.000000 0.406077 0.359116 862 | 0.148895 0.253867 0.190608 0.872928 0.234254 863 | 0.668232 1.000000 0.872928 0.000000 0.500000 864 | 0.342541 0.972376 0.994475 0.906077 0.613260 865 | 0.500000 0.687845 0.839779 0.740331 0.977901 866 | 0.011050 1.000000 1.000000 1.000000 1.000000 867 | 0.232044 0.659945 0.693094 0.709669 0.588122 868 | 0.000000 0.000000 0.018785 0.986188 1.000000 869 | 0.437500 0.500000 0.419643 0.589286 1.000000 870 | 1.000000 0.500000 0.000000 0.762431 0.500000 871 | 0.209669 0.712431 0.000000 0.500000 1.000000 872 | 0.049724 0.839779 0.900552 0.911602 0.828729 873 | 0.044199 1.000000 0.928177 0.950276 0.939227 874 | 0.288393 0.937500 0.646409 0.889503 0.933702 875 | 0.282143 0.621212 0.493939 0.966667 0.742121 876 | 0.473214 0.502762 0.500000 0.500000 0.500000 877 | 0.828453 1.000000 0.773481 0.618508 0.364641 878 | 0.500000 0.500000 0.500000 0.500000 0.500000 879 | 0.500000 0.500000 0.500000 0.500000 0.500000 880 | 0.000000 0.776786 0.169643 0.875000 0.821429 881 | 0.298066 0.659945 0.687569 0.279006 0.726243 882 | 0.707182 1.000000 0.500000 0.781492 0.781492 883 | 0.215193 1.000000 0.000000 1.000000 1.000000 884 | 0.359116 0.842265 0.839779 0.790055 0.665470 885 | 0.439227 0.746961 1.000000 0.881215 0.731768 886 | 1.000000 1.000000 1.000000 0.237569 1.000000 887 | 0.500000 0.500000 0.500000 0.500000 0.500000 888 | 0.090608 0.866071 0.742818 0.682044 0.621271 889 | 0.395028 1.000000 0.588122 1.000000 0.626796 890 | 0.500000 0.500000 0.500000 0.500000 0.500000 891 | 0.437500 0.866071 0.794643 0.794643 1.000000 892 | 0.500000 0.500000 0.500000 0.500000 0.500000 893 | 0.392265 0.895028 0.317680 0.759392 0.279006 894 | 0.966851 0.958287 0.433702 0.554972 1.000000 895 | 0.187845 1.000000 0.125000 1.000000 0.669643 896 | 0.201657 0.911602 0.917127 0.140331 0.911602 897 | 0.171271 1.000000 0.707182 0.972376 0.861878 898 | 0.258929 0.141964 0.000000 0.383929 0.000000 899 | 0.500000 0.704420 0.720718 0.500000 0.577348 900 | 0.104972 0.599171 0.626796 0.610497 0.060773 901 | 0.712707 0.209945 0.615746 0.345304 0.116022 902 | 0.500000 0.500000 0.939227 0.955801 0.972376 903 | 0.000000 0.000000 0.000000 0.000000 0.507735 904 | 0.234254 1.000000 0.729282 0.220718 1.000000 905 | 0.267956 0.745856 0.146409 0.878453 1.000000 906 | 1.000000 1.000000 1.000000 1.000000 1.000000 907 | 0.969061 0.963812 0.687569 0.615746 0.500000 908 | 0.215470 1.000000 0.983425 0.500000 1.000000 909 | 0.472376 0.348066 0.375691 0.334254 0.676519 910 | 0.223481 0.813260 0.295304 0.731768 0.950000 911 | 0.500000 0.458564 0.500000 0.500000 0.500000 912 | 0.267857 0.383929 0.160714 1.000000 0.303571 913 | 0.088398 0.842541 0.787017 0.334254 0.842541 914 | 0.693094 0.864365 0.306354 0.698619 0.500000 915 | 0.621547 0.676519 0.906077 0.759392 0.500000 916 | 0.201657 0.996961 0.124309 0.759392 0.831215 917 | 0.925138 1.000000 1.000000 0.116022 1.000000 918 | 0.145856 0.527624 0.972376 0.858840 0.367403 919 | 1.000000 0.154696 0.077348 0.088398 0.676519 920 | 0.864641 0.908564 1.000000 0.704144 0.643370 921 | 0.176796 0.116022 1.000000 1.000000 1.000000 922 | 0.686188 0.975138 0.714917 0.543370 0.966851 923 | 0.276243 0.977901 0.784530 0.784530 0.977901 924 | 0.500000 0.961326 1.000000 1.000000 1.000000 925 | 0.762431 0.693094 1.000000 0.568508 0.654420 926 | 0.116071 0.860268 0.950276 0.770442 0.908840 927 | 0.678571 1.000000 0.000000 0.687500 0.491071 928 | 0.173481 0.974309 0.924862 0.908011 0.964088 929 | 1.000000 0.071429 0.000000 0.000000 0.544643 930 | 1.000000 1.000000 1.000000 0.500000 0.500000 931 | 0.532044 0.704144 0.378453 0.207182 0.659945 932 | 0.171271 0.500000 0.828729 0.828729 1.000000 933 | 0.770718 0.839286 1.000000 1.000000 1.000000 934 | 0.731768 0.500000 0.021547 0.566022 0.850552 935 | 0.406077 0.643370 0.676519 0.615746 0.676519 936 | 0.000000 1.000000 1.000000 1.000000 0.482143 937 | 0.143646 1.000000 1.000000 1.000000 0.718232 938 | 0.769061 0.925138 0.769061 0.807735 0.759392 939 | 0.762431 0.900552 0.961326 0.500000 0.762431 940 | 0.000000 1.000000 1.000000 1.000000 1.000000 941 | 0.500000 0.500000 0.500000 0.500000 0.500000 942 | 0.005525 0.988950 0.988950 0.988950 1.000000 943 | 0.803571 0.678571 1.000000 0.982143 0.580357 944 | 0.000000 1.000000 0.767956 0.773204 0.681492 945 | 0.267680 0.500000 0.406077 0.577072 0.538674 946 | 1.000000 0.687569 0.000000 0.850829 0.500000 947 | 0.101657 0.897790 0.891989 0.914365 0.500000 948 | 0.696133 0.500000 0.613260 0.972376 0.624309 949 | 0.554144 0.646409 0.670994 0.704144 0.742818 950 | 0.000000 1.000000 1.000000 1.000000 1.000000 951 | 0.024309 0.939227 0.046685 0.074586 0.925414 952 | 0.000000 0.544643 0.629464 0.737293 0.311878 953 | 0.000000 1.000000 0.000000 0.000000 0.734807 954 | 0.314641 0.250829 0.008287 0.000000 0.742818 955 | 1.000000 1.000000 1.000000 1.000000 1.000000 956 | 0.414365 1.000000 0.745856 0.751381 0.591160 957 | 0.033149 0.983425 1.000000 1.000000 0.994475 958 | 0.000000 1.000000 0.450000 0.000000 0.195580 959 | 0.775414 0.500000 1.000000 0.267956 1.000000 960 | 0.275967 0.751381 0.988950 0.977901 0.500000 961 | 1.000000 0.428177 0.375691 0.564917 0.422652 962 | 0.500000 0.687569 0.251381 0.698619 0.500000 963 | 0.098214 0.806630 1.000000 1.000000 1.000000 964 | 1.000000 1.000000 0.256354 0.693094 1.000000 965 | 0.411602 0.643370 0.500000 0.897514 0.637845 966 | 0.116022 0.950276 0.961326 0.961326 0.944751 967 | 0.250829 0.737569 0.500000 0.803591 0.604696 968 | 0.670718 0.334254 0.941713 0.690608 0.867403 969 | 0.228729 1.000000 1.000000 0.743094 1.000000 970 | 0.706354 1.000000 1.000000 0.662983 0.656354 971 | 0.000000 1.000000 0.726243 1.000000 0.792265 972 | 0.118785 0.831215 1.000000 0.842265 0.682044 973 | 0.983425 0.758011 0.791436 0.891989 0.930663 974 | 0.137845 0.698619 0.618232 0.720994 0.599448 975 | 0.066298 0.900552 0.906077 0.958564 1.000000 976 | 0.500000 1.000000 1.000000 1.000000 0.500000 977 | 0.251381 0.891989 0.908287 0.880387 0.604696 978 | 0.792818 1.000000 0.577072 0.906077 0.248619 979 | 0.027624 0.571547 1.000000 0.748343 0.590884 980 | 0.179006 0.532597 0.668232 0.701657 0.453039 981 | 0.157459 0.977901 1.000000 0.974862 0.985912 982 | 0.083036 0.482143 0.640625 0.169643 0.687500 983 | 0.770442 0.781492 0.314641 0.764917 0.500000 984 | 0.850829 0.883978 0.806630 0.220994 0.243094 985 | 0.262431 0.891713 1.000000 0.704144 0.500000 986 | 0.220718 0.204144 0.985912 1.000000 1.000000 987 | 0.383978 0.389503 0.500000 0.759392 0.764917 988 | 0.107735 1.000000 0.825967 1.000000 0.709392 989 | 0.654420 0.878453 1.000000 0.925138 0.988950 990 | 0.214286 0.917127 0.883929 0.785714 0.625000 991 | 1.000000 0.245304 0.417127 0.922652 0.500000 992 | 0.215470 1.000000 1.000000 1.000000 0.812155 993 | 0.000000 0.972376 1.000000 1.000000 0.500000 994 | 0.217680 0.709945 0.828729 0.676519 0.825691 995 | 0.651786 1.000000 0.455357 0.794643 0.232143 996 | 0.000000 1.000000 0.834254 1.000000 1.000000 997 | 0.248619 0.961326 0.679558 0.988950 0.977901 998 | 0.104972 1.000000 1.000000 0.690608 0.812155 999 | 0.000000 0.785714 0.196429 0.660714 0.321429 1000 | 0.952762 0.961326 0.991436 0.955801 0.500000 1001 | 0.000000 0.911602 1.000000 0.806354 0.665470 1002 | 0.750446 0.781215 0.395982 0.651786 0.792818 1003 | 0.576786 0.969337 0.875414 0.831215 0.632320 1004 | 0.011050 0.983425 0.961326 0.988950 0.500000 1005 | 0.500000 1.000000 1.000000 0.500000 0.500000 1006 | 0.248343 1.000000 1.000000 0.314641 0.220718 1007 | 0.049724 0.759392 0.986188 0.864641 0.958287 1008 | 0.875414 0.676519 0.494475 0.281492 0.323204 1009 | 0.500000 0.850829 1.000000 0.725691 0.903315 1010 | 1.000000 1.000000 0.005525 0.500000 0.500000 1011 | 0.035714 0.983425 0.955801 0.817680 0.988950 1012 | 0.041160 0.500000 0.273204 0.251381 0.500000 1013 | 0.134807 0.637845 0.928177 0.743094 0.834254 1014 | 0.500000 0.842265 0.792541 0.731768 0.996961 1015 | 0.828729 0.895028 0.988950 0.972376 0.928177 1016 | 0.000000 0.204144 0.090608 0.809116 0.779006 1017 | 0.464286 0.500000 0.571429 0.535714 0.589286 1018 | 0.090331 0.616022 0.174033 0.836740 0.500000 1019 | 0.000000 1.000000 0.806630 0.812155 0.500000 1020 | 0.303591 0.764917 0.911602 0.964088 0.570166 1021 | 0.121271 1.000000 0.704144 0.764917 0.500000 1022 | 0.814365 1.000000 0.988950 1.000000 0.809392 1023 | 0.618785 0.795028 0.858840 0.875000 0.477901 1024 | 0.698619 1.000000 1.000000 1.000000 0.883978 1025 | 0.077072 0.914088 1.000000 0.831492 0.900552 1026 | 0.848066 0.856354 1.000000 0.820166 0.673757 1027 | 0.309392 0.408840 0.828729 0.883978 0.500000 1028 | 1.000000 1.000000 1.000000 1.000000 1.000000 1029 | 0.165470 0.745580 1.000000 0.889503 0.809116 1030 | 0.571271 0.930939 0.748619 0.741989 0.737293 1031 | 0.089286 0.562500 1.000000 1.000000 1.000000 1032 | 0.000000 1.000000 0.000000 1.000000 0.000000 1033 | 0.278729 0.775967 0.770442 0.781492 0.500000 1034 | 0.000000 0.000000 0.500000 0.720442 0.500000 1035 | 0.000000 1.000000 0.845304 1.000000 0.632320 1036 | 0.169643 0.758929 0.107143 0.401786 0.580357 1037 | 0.400552 0.720718 0.643370 0.625414 0.665470 1038 | 0.000000 1.000000 1.000000 1.000000 1.000000 1039 | 0.353591 0.698619 0.660221 0.769613 0.925138 1040 | 0.000000 1.000000 0.000000 0.500000 0.500000 1041 | 0.237569 0.806630 0.779006 0.779006 0.994475 1042 | 0.000000 0.821429 0.741071 0.803571 0.758929 1043 | 0.725000 1.000000 0.338839 0.419643 0.834254 1044 | 0.000000 1.000000 1.000000 1.000000 1.000000 1045 | 0.500000 0.500000 0.500000 0.500000 0.500000 1046 | 0.000000 0.000000 0.571429 0.000000 0.687500 1047 | 0.543370 1.000000 0.538122 0.599171 0.439227 1048 | 0.010497 0.983425 0.604696 0.883978 0.911602 1049 | 0.328729 0.328729 0.798066 0.753867 0.891989 1050 | 0.308929 0.330357 0.530357 0.011050 0.000000 1051 | 0.000000 0.866071 1.000000 1.000000 1.000000 1052 | 0.245856 0.900552 0.303867 0.637845 0.675691 1053 | 0.000000 0.897790 0.950276 0.259392 0.500000 1054 | 1.000000 0.237569 0.000000 0.682044 0.196133 1055 | 0.500000 0.500000 1.000000 1.000000 1.000000 1056 | 0.182320 1.000000 0.878453 0.674033 0.834254 1057 | 0.143646 1.000000 1.000000 1.000000 0.773481 1058 | 0.000000 1.000000 0.637569 1.000000 0.717956 1059 | 0.000000 0.000000 0.000000 0.000000 0.000000 1060 | 0.011050 0.988950 0.977901 0.988950 0.500000 1061 | 0.323204 0.974862 0.972376 0.742818 0.737017 1062 | 0.711607 1.000000 0.875691 1.000000 1.000000 1063 | 0.265193 0.977901 0.988950 0.596685 0.983425 1064 | 0.630939 1.000000 1.000000 1.000000 0.696133 1065 | 0.790055 0.734807 0.138122 0.176796 0.917127 1066 | 0.500000 0.500000 0.000000 1.000000 0.000000 1067 | 0.697321 0.000000 0.745982 1.000000 0.642857 1068 | 0.000000 0.549448 0.972376 0.254144 0.577072 1069 | 0.099448 0.895028 0.806354 0.817680 1.000000 1070 | 0.000000 0.500000 0.624033 0.853315 0.000000 1071 | 0.022099 0.500000 0.337017 0.718232 0.500000 1072 | 0.621547 0.917127 1.000000 0.676519 0.801105 1073 | 0.883929 0.697238 0.769061 0.334254 0.500000 1074 | 0.000000 1.000000 0.154696 0.635083 0.538674 1075 | 0.500000 1.000000 1.000000 0.500000 0.500000 1076 | 0.055249 0.961326 0.657459 0.696133 0.944751 1077 | 0.729282 0.966851 0.972376 0.972376 0.977901 1078 | 0.000000 0.983425 0.988950 0.955525 0.500000 1079 | 0.007182 0.950276 0.637845 0.687569 1.000000 1080 | 0.264917 0.850829 0.867403 0.610497 0.682044 1081 | 0.767956 0.933702 0.944751 0.892265 1.000000 1082 | 0.090884 1.000000 0.837017 0.842541 0.775967 1083 | 0.000000 1.000000 1.000000 1.000000 1.000000 1084 | 0.000000 1.000000 1.000000 1.000000 1.000000 1085 | 0.000000 0.000000 1.000000 1.000000 0.500000 1086 | 0.000000 1.000000 1.000000 1.000000 0.500000 1087 | 0.298343 0.618785 0.917127 0.845304 0.906077 1088 | 0.000000 0.491071 1.000000 1.000000 1.000000 1089 | 0.000000 1.000000 1.000000 0.767956 1.000000 1090 | 1.000000 1.000000 1.000000 1.000000 1.000000 1091 | 0.000000 0.867403 1.000000 1.000000 0.900552 1092 | 0.292541 0.933702 0.839779 0.812155 0.798066 1093 | 0.000000 0.516022 1.000000 1.000000 0.000000 1094 | 0.285714 0.169643 0.917127 0.969337 0.928177 1095 | 0.110497 0.756630 0.900552 0.454972 0.773481 1096 | 0.000000 0.339779 0.000000 1.000000 0.500000 1097 | 0.000000 1.000000 1.000000 1.000000 1.000000 1098 | 0.000000 1.000000 1.000000 1.000000 0.632044 1099 | 0.243094 0.972376 0.795580 0.906077 1.000000 1100 | 0.485359 1.000000 0.770718 0.770442 0.251381 1101 | 0.000000 1.000000 0.500000 1.000000 0.488950 1102 | 0.596685 0.734807 0.922652 0.944751 0.972376 1103 | 0.671271 0.248619 0.500000 0.693094 0.972376 1104 | 0.000000 0.500000 1.000000 1.000000 1.000000 1105 | 0.143646 0.712707 0.917127 0.878453 1.000000 1106 | 0.000000 0.000000 1.000000 1.000000 1.000000 1107 | 0.000000 1.000000 1.000000 1.000000 0.831215 1108 | 0.000000 1.000000 1.000000 1.000000 0.500000 1109 | 0.381215 0.718232 0.527348 0.500000 0.500000 1110 | 0.168508 1.000000 1.000000 1.000000 0.648895 1111 | 0.000000 0.500000 1.000000 0.500000 1.000000 1112 | 0.193370 1.000000 1.000000 0.500000 0.779006 1113 | 0.000000 0.500000 1.000000 0.500000 0.500000 1114 | 0.096409 0.500000 0.864641 0.685083 0.593646 1115 | 0.500000 1.000000 1.000000 1.000000 0.500000 1116 | 0.309392 0.972376 0.823204 0.806630 0.806630 1117 | 0.215470 1.000000 0.500000 0.988950 1.000000 1118 | 0.000000 0.000000 0.491071 0.250000 1.000000 1119 | 0.204420 1.000000 1.000000 1.000000 0.845028 1120 | 0.196429 1.000000 1.000000 0.500000 1.000000 1121 | 0.334254 0.328729 0.500000 0.731768 0.637845 1122 | 0.500000 0.762431 0.337017 0.353591 0.823204 1123 | 0.350446 0.665179 0.825691 0.791989 0.897514 1124 | 0.174033 0.839779 0.267956 1.000000 0.717956 1125 | 0.000000 1.000000 0.751381 1.000000 1.000000 1126 | 0.675691 1.000000 0.875691 0.903315 0.714917 1127 | 0.401786 0.500000 0.176796 0.410714 0.589286 1128 | 0.171271 0.000000 0.828729 0.872928 0.861878 1129 | 0.218232 0.847790 0.759392 1.000000 0.604696 1130 | 0.137845 1.000000 1.000000 1.000000 1.000000 1131 | 0.220994 0.243094 0.237569 0.734807 0.745856 1132 | 1.000000 1.000000 0.500000 0.500000 1.000000 1133 | 0.500000 0.762431 0.582597 0.745856 0.729282 1134 | 0.000000 1.000000 1.000000 1.000000 0.759392 1135 | 0.955801 0.928177 0.215470 0.646409 0.817680 1136 | 0.320166 1.000000 0.651657 1.000000 0.717956 1137 | 0.279006 1.000000 0.358564 0.500000 0.803867 1138 | 0.146409 0.925138 0.938950 1.000000 0.748343 1139 | 0.000000 1.000000 1.000000 0.891964 0.742818 1140 | 0.000000 1.000000 1.000000 0.848214 0.330357 1141 | 0.355525 0.936188 0.775414 0.643370 0.850829 1142 | 0.500000 0.500000 0.500000 0.500000 0.500000 1143 | 0.613260 0.983425 0.182044 0.983425 0.220994 1144 | 0.483425 0.500000 0.500000 0.839779 0.500000 1145 | 0.215193 0.500000 1.000000 0.500000 0.500000 1146 | 0.486188 0.792541 0.880939 0.875414 0.659945 1147 | 0.013260 0.944751 1.000000 0.798066 1.000000 1148 | 0.000000 1.000000 0.718232 0.756906 0.983425 1149 | 0.085635 0.919613 1.000000 1.000000 0.922099 1150 | 0.570166 1.000000 0.991436 0.980387 0.825691 1151 | 0.562500 0.339286 0.696429 0.508929 0.866071 1152 | 0.000000 0.127072 0.988950 0.878453 0.817680 1153 | 0.030387 0.500000 0.500000 0.500000 0.500000 1154 | 0.157459 0.867403 0.500000 0.000000 0.604696 1155 | 0.000000 1.000000 1.000000 1.000000 1.000000 1156 | 0.781492 0.344751 0.773481 0.803039 0.831215 1157 | 0.276243 0.500000 0.350829 0.638122 0.643094 1158 | 0.980387 0.961050 1.000000 0.985912 1.000000 1159 | 0.000000 1.000000 1.000000 1.000000 0.500000 1160 | 0.220994 1.000000 1.000000 0.801105 1.000000 1161 | 0.101339 1.000000 0.742857 0.927232 0.715179 1162 | 0.005525 1.000000 1.000000 1.000000 1.000000 1163 | 0.196133 0.000000 0.720718 0.367403 0.500000 1164 | 0.146409 0.781768 0.500000 0.676519 0.704144 1165 | 0.477624 1.000000 1.000000 1.000000 1.000000 1166 | 0.229282 0.809116 0.709669 0.925414 1.000000 1167 | 0.226243 0.500000 0.038674 1.000000 0.988950 1168 | 0.500000 1.000000 1.000000 1.000000 1.000000 1169 | 0.270442 0.886464 0.895028 0.814641 0.500000 1170 | 0.127072 1.000000 1.000000 0.000000 0.850829 1171 | 0.317680 0.897514 0.941713 0.919613 0.853315 1172 | 0.214286 0.878453 1.000000 1.000000 0.817680 1173 | 0.000000 1.000000 0.000000 1.000000 0.500000 1174 | 0.234254 0.955801 0.411602 0.745856 0.729282 1175 | 0.024309 0.500000 1.000000 0.845304 1.000000 1176 | 0.500000 0.679558 0.928177 0.906077 0.701657 1177 | 0.401786 0.704420 1.000000 0.673214 0.232143 1178 | 0.250829 0.560497 0.895028 0.776243 0.587845 1179 | 1.000000 1.000000 1.000000 1.000000 1.000000 1180 | 0.458564 0.500000 0.500000 0.500000 0.500000 1181 | 0.027624 0.941436 0.966851 0.983425 0.803571 1182 | 0.190608 0.969613 0.875414 0.825691 0.500000 1183 | 0.258929 0.815179 0.000000 0.491071 0.000000 1184 | 0.643370 0.751381 0.121547 0.767680 0.129834 1185 | 0.251381 0.748343 0.759392 0.215193 0.209669 1186 | 0.000000 1.000000 0.532597 0.803591 1.000000 1187 | 0.063536 0.950276 0.947514 0.972376 0.972376 1188 | 0.254144 1.000000 0.795580 1.000000 1.000000 1189 | 0.000000 0.000000 0.000000 0.000000 0.000000 1190 | 0.099448 0.911602 0.883978 0.657459 0.500000 1191 | 0.745856 0.585635 0.265193 0.928177 0.629834 1192 | 0.089286 0.892857 0.955357 0.633929 0.633929 1193 | 0.151786 1.000000 0.869890 0.885083 0.685083 1194 | 0.845304 0.809116 0.770442 0.187845 0.143646 1195 | 0.133929 0.812500 0.875000 0.812500 0.187500 1196 | 0.232044 0.500000 0.753039 0.731768 0.234254 1197 | 0.823204 0.500000 0.071823 0.701657 0.500000 1198 | 0.270442 0.000000 0.687569 0.000000 0.659945 1199 | 1.000000 1.000000 0.678571 0.866071 0.676519 1200 | 0.198895 0.000000 0.500000 1.000000 1.000000 1201 | 0.000000 0.411602 0.000000 0.195580 0.500000 1202 | 0.392857 1.000000 0.696429 1.000000 0.669643 1203 | 0.000000 1.000000 1.000000 0.748619 0.803039 1204 | 0.142857 0.910714 1.000000 0.839286 1.000000 1205 | 0.267680 1.000000 0.528571 0.732143 0.297321 1206 | 0.098214 0.741071 0.634375 0.723214 0.695982 1207 | 0.825967 0.975138 0.549448 0.566298 0.756906 1208 | 0.646409 0.972376 0.972376 0.569061 0.690608 1209 | 0.630939 0.895028 0.792818 0.776243 0.676519 1210 | 0.386464 1.000000 0.731768 0.994475 0.762431 1211 | 0.099448 1.000000 1.000000 1.000000 0.872928 1212 | 0.654420 0.831215 0.991713 0.969337 0.809116 1213 | 0.207182 0.770166 1.000000 0.604420 0.693094 1214 | 0.759375 1.000000 0.858840 1.000000 0.548619 1215 | 1.000000 1.000000 0.750000 0.750000 1.000000 1216 | 0.994475 1.000000 0.742818 1.000000 0.861878 1217 | 0.016575 1.000000 0.723757 1.000000 0.640884 1218 | 0.577072 1.000000 0.687569 1.000000 1.000000 1219 | 0.676519 0.314641 0.621271 0.798343 0.872928 1220 | 0.276786 0.590884 0.082597 0.831492 0.359116 1221 | 0.088398 0.914365 0.742818 0.323204 0.500000 1222 | 0.000000 0.919643 0.646409 0.756906 0.767956 1223 | 0.509821 0.878177 0.000000 0.565193 0.389286 1224 | 0.245856 0.742818 0.919613 0.685083 0.631492 1225 | 0.176519 0.000000 0.000000 0.814917 0.500000 1226 | 0.104972 0.947514 1.000000 0.759392 0.792818 1227 | 0.869890 1.000000 1.000000 1.000000 0.500000 1228 | 0.657459 0.685083 0.000000 0.558011 0.220994 1229 | 0.834254 0.176796 0.000000 0.773481 0.745856 1230 | 0.104972 0.858840 0.704144 0.892265 0.162983 1231 | 0.339286 1.000000 0.785714 0.000000 0.089286 1232 | 0.251381 0.939227 1.000000 0.670994 0.603591 1233 | 0.723214 1.000000 0.741071 1.000000 0.723214 1234 | 0.000000 0.295580 0.729282 0.002762 0.500000 1235 | 0.169643 0.762431 0.944751 0.593646 0.500000 1236 | 0.250829 0.775967 1.000000 0.670994 0.781492 1237 | 0.500000 0.497790 1.000000 1.000000 1.000000 1238 | 0.033149 0.762431 1.000000 1.000000 1.000000 1239 | 0.494199 1.000000 0.500000 0.825967 1.000000 1240 | 0.154018 0.790055 0.187500 0.823204 0.933702 1241 | 0.985912 0.726243 1.000000 0.200829 0.339779 1242 | 0.797790 1.000000 1.000000 0.555249 0.212431 1243 | 0.000000 0.500000 0.251381 0.261878 0.261878 1244 | 0.500000 1.000000 1.000000 0.500000 0.714286 1245 | 1.000000 0.745856 0.278571 0.000000 1.000000 1246 | 0.044199 0.961326 0.044199 0.500000 0.500000 1247 | 0.226243 0.964286 0.937500 0.644643 0.803571 1248 | 0.066298 0.718232 0.679558 0.906077 0.500000 1249 | 0.292818 0.598214 0.320442 0.723757 0.033149 1250 | 0.243094 1.000000 1.000000 0.491713 1.000000 1251 | 0.282895 0.526316 0.546053 0.532895 0.861842 1252 | 0.000000 0.000000 1.000000 0.972376 0.000000 1253 | 0.457143 1.000000 1.000000 1.000000 1.000000 1254 | 0.011050 1.000000 0.011050 0.883978 0.607735 1255 | 0.253315 0.702762 0.397790 1.000000 0.339779 1256 | 0.241071 0.794643 0.598214 0.955357 0.875000 1257 | 0.500000 1.000000 1.000000 0.000000 0.000000 1258 | 0.169643 0.941713 0.251381 0.792541 0.309116 1259 | 0.000000 0.000000 0.500000 0.500000 0.500000 1260 | 1.000000 0.704144 0.370166 0.659945 1.000000 1261 | 0.267680 0.842541 0.245856 0.625967 0.500000 1262 | 0.500000 0.500000 0.500000 0.500000 0.500000 1263 | 0.000000 0.828729 1.000000 0.751381 0.637845 1264 | 0.218232 0.781492 0.654420 0.814641 0.961326 1265 | 0.000000 0.883978 0.133929 1.000000 0.654420 1266 | 0.562500 0.741071 0.464286 0.732143 0.651786 1267 | 0.323204 0.731768 1.000000 1.000000 0.500000 1268 | 0.205357 0.712707 1.000000 0.500000 1.000000 1269 | 0.124033 0.731492 0.881215 0.928177 0.936464 1270 | 0.206906 0.847790 0.864365 0.500000 0.648895 1271 | 0.000000 1.000000 1.000000 1.000000 0.000000 1272 | 0.000000 0.626796 0.821875 0.632597 0.621271 1273 | 0.000000 1.000000 0.643646 1.000000 0.704144 1274 | 0.500000 1.000000 0.289779 0.803591 0.745580 1275 | 0.104972 0.759392 0.842541 0.759392 0.895028 1276 | 0.157459 0.911602 0.886740 0.765193 0.775967 1277 | 0.149171 0.850829 0.983425 0.917127 0.988950 1278 | 1.000000 0.988950 0.000000 0.500000 0.988950 1279 | 0.121547 0.994475 0.988950 0.961326 0.099448 1280 | 0.231768 1.000000 1.000000 1.000000 1.000000 1281 | 0.151786 0.704144 0.983425 0.714286 0.607143 1282 | 0.500000 0.966851 0.828729 0.500000 0.643370 1283 | 0.240331 0.737293 0.532597 0.697238 0.516298 1284 | 0.123757 0.864365 1.000000 0.917127 1.000000 1285 | 0.000000 0.703867 1.000000 1.000000 0.737569 1286 | 0.160221 1.000000 0.621547 0.781768 0.834254 1287 | 0.500000 0.500000 0.500000 0.500000 0.500000 1288 | 0.321429 1.000000 0.812500 0.803571 0.607143 1289 | 0.226519 0.500000 0.500000 0.775691 0.500000 1290 | 0.000000 1.000000 1.000000 1.000000 0.500000 1291 | 0.505525 1.000000 0.834254 0.828729 0.827232 1292 | 0.237293 1.000000 0.593646 0.977901 0.500000 1293 | 0.875414 0.748619 0.284530 0.554972 0.814641 1294 | 0.243094 0.842541 0.848066 0.742541 0.670718 1295 | 0.187845 0.726243 0.759392 0.870166 0.510773 1296 | 0.742818 1.000000 1.000000 0.500000 1.000000 1297 | 0.662983 0.742818 0.814917 0.149171 0.754144 1298 | 0.207182 0.223757 0.977901 0.240055 1.000000 1299 | 0.174033 0.693094 1.000000 0.803591 0.323204 1300 | 0.098214 1.000000 1.000000 0.071429 0.000000 1301 | 0.000000 1.000000 0.500000 1.000000 0.742541 1302 | 0.000000 0.482143 0.500000 1.000000 0.544643 1303 | 0.021875 0.000000 0.991436 0.500000 0.500000 1304 | 0.066298 0.839779 0.906077 0.602210 0.784530 1305 | 0.292265 0.675138 0.670994 0.906077 0.500000 1306 | 0.792818 0.057735 1.000000 0.500000 0.648619 1307 | 0.272321 0.850829 0.880663 0.985912 0.742818 1308 | 0.306354 0.819613 0.847790 0.896961 0.720718 1309 | 0.812500 0.839286 1.000000 1.000000 0.437500 1310 | 0.000000 1.000000 1.000000 1.000000 0.823204 1311 | 0.207182 1.000000 0.983425 1.000000 1.000000 1312 | 0.000000 0.491071 1.000000 0.000000 1.000000 1313 | 1.000000 1.000000 1.000000 1.000000 1.000000 1314 | 0.317680 0.632320 0.345304 0.775967 0.631215 1315 | 0.500000 0.685083 0.812155 0.624309 0.624309 1316 | 0.350829 0.878453 0.897514 0.841989 0.500000 1317 | 0.220994 0.759392 1.000000 0.609116 0.566022 1318 | 0.265193 0.720718 0.295580 0.807735 0.864641 1319 | 0.994475 1.000000 0.500000 1.000000 0.983425 1320 | 0.287017 1.000000 0.176796 0.690608 0.609945 1321 | 0.272652 0.500000 0.764917 0.621271 1.000000 1322 | 0.740331 0.922652 0.972376 0.977901 1.000000 1323 | 0.750000 0.792541 0.784530 0.553571 0.615746 1324 | 0.262431 1.000000 0.648895 1.000000 0.648895 1325 | 0.125000 1.000000 1.000000 0.900552 0.678571 1326 | 0.276243 0.745856 1.000000 0.806630 0.500000 1327 | 0.428571 1.000000 0.687500 1.000000 0.196429 1328 | 0.850829 0.500000 0.138122 0.198895 0.425414 1329 | 0.248619 0.963812 0.764917 0.762431 0.632320 1330 | 0.580110 0.593646 0.201657 0.566298 1.000000 1331 | 0.169643 0.785714 0.848214 0.830357 0.642857 1332 | 0.922652 0.903039 1.000000 0.994475 0.531215 1333 | 0.185083 0.751381 0.500000 0.779006 0.767956 1334 | 0.273204 0.417127 1.000000 0.662707 0.991713 1335 | 1.000000 0.500000 0.000000 0.864088 0.411602 1336 | 0.000000 0.743094 0.731768 0.179006 0.823204 1337 | 0.022099 0.734530 0.505525 0.494475 0.585359 1338 | 0.866071 0.983425 0.928177 0.856354 0.955801 1339 | 0.184375 0.964286 0.748619 1.000000 0.298343 1340 | 0.925138 0.733702 0.609945 0.309116 0.000000 1341 | 0.187845 0.195580 0.933702 0.963812 1.000000 1342 | 0.275967 1.000000 1.000000 0.814365 0.867403 1343 | 0.381215 0.712431 0.295580 0.508287 0.220994 1344 | 0.867403 0.919890 1.000000 0.966851 1.000000 1345 | 0.000000 1.000000 0.500000 1.000000 1.000000 1346 | 0.646133 0.983425 0.922652 1.000000 0.571271 1347 | 0.178571 0.535714 0.875000 0.500000 0.794643 1348 | 1.000000 0.500000 0.011050 0.895028 0.500000 1349 | 0.201381 0.841713 0.781768 0.864641 0.864365 1350 | 0.102210 0.892265 0.933702 0.775967 0.776243 1351 | 0.000000 0.000000 0.000000 0.000000 0.000000 1352 | 0.378453 0.870166 0.679282 0.610497 0.895028 1353 | 0.500000 0.997238 1.000000 1.000000 0.795580 1354 | 0.000000 1.000000 1.000000 1.000000 1.000000 1355 | 0.000000 0.797238 1.000000 0.824586 1.000000 1356 | 0.151934 0.698895 0.944751 1.000000 1.000000 1357 | 0.367403 1.000000 0.500000 0.857143 0.626796 1358 | 0.741071 0.795536 0.882589 0.762431 0.696429 1359 | 0.817680 0.220994 0.248343 0.500000 0.275967 1360 | 0.000000 0.872928 0.500000 1.000000 0.859116 1361 | 1.000000 0.659945 0.127072 0.292541 0.524862 1362 | 0.505249 0.726243 0.751381 1.000000 0.593646 1363 | 1.000000 1.000000 1.000000 0.775967 0.814641 1364 | 0.687500 1.000000 0.500000 0.633929 1.000000 1365 | 0.508287 0.866071 0.500000 0.414365 0.500000 1366 | 0.723214 0.839286 0.839286 0.839286 0.821429 1367 | 0.500000 0.709669 0.614365 0.626519 0.500000 1368 | 0.000000 0.133929 0.000000 0.803571 0.625000 1369 | 1.000000 1.000000 0.994475 1.000000 0.000000 1370 | 1.000000 0.687500 0.258929 0.018508 0.077348 1371 | 0.389503 0.784530 0.908564 0.955801 0.635083 1372 | 0.961326 0.872928 0.500000 0.883978 0.892265 1373 | 0.500000 0.500000 0.500000 0.500000 0.500000 1374 | 0.190608 0.839732 1.000000 0.762155 0.801105 1375 | 0.303867 0.306630 0.629558 1.000000 0.997238 1376 | 0.389503 0.786740 0.825691 0.337017 0.759669 1377 | 0.361878 0.581215 0.764917 0.615746 1.000000 1378 | 0.500000 0.500000 0.500000 0.500000 0.500000 1379 | 0.988674 0.883978 0.182320 0.828729 1.000000 1380 | 0.821429 1.000000 1.000000 1.000000 1.000000 1381 | 0.132597 1.000000 1.000000 1.000000 0.500000 1382 | 0.328729 0.944751 0.944751 0.500000 0.500000 1383 | 0.500000 0.270442 0.917127 0.281492 0.853315 1384 | 0.237569 1.000000 0.781492 0.220718 0.720718 1385 | 0.113260 0.872928 1.000000 0.883978 0.659945 1386 | 0.063536 0.775967 0.521823 0.719890 0.690608 1387 | 0.160714 0.683036 0.997238 0.077348 0.348214 1388 | 0.000000 0.660714 0.991071 1.000000 1.000000 1389 | 0.226519 0.812155 0.292541 0.878453 1.000000 1390 | 0.273204 0.267680 0.301105 0.311878 0.301105 1391 | 0.212707 0.991436 1.000000 0.803867 1.000000 1392 | 0.817680 0.933702 0.701657 0.718232 0.817680 1393 | 0.000000 0.988674 0.000000 0.000000 0.000000 1394 | 0.359116 0.770442 0.891989 0.850552 0.588122 1395 | 0.529834 0.834254 0.872928 0.284530 0.643094 1396 | 1.000000 0.500000 0.174033 0.500000 0.498214 1397 | 0.776786 0.966851 1.000000 0.687500 1.000000 1398 | 0.098214 0.821429 0.785714 0.794643 0.328729 1399 | 0.000000 0.464286 1.000000 1.000000 0.468304 1400 | 0.240055 0.632597 0.636464 0.806354 0.640884 1401 | 0.000000 0.580357 0.750000 1.000000 1.000000 1402 | 0.104972 1.000000 1.000000 0.491713 0.814641 1403 | 0.002762 0.720994 0.621271 0.024309 0.588122 1404 | 0.270442 0.603591 0.781492 0.157459 0.643370 1405 | 0.187500 0.794643 1.000000 0.500000 0.500000 1406 | 0.000000 1.000000 1.000000 0.491071 1.000000 1407 | 0.000000 0.830357 0.375000 0.285714 0.160714 1408 | 0.016575 1.000000 0.016575 1.000000 0.994475 1409 | 0.204420 0.933702 0.756906 0.917127 0.767956 1410 | 0.254144 0.895028 0.232044 0.933702 0.933702 1411 | 0.000000 0.000000 0.632320 0.582597 1.000000 1412 | 0.234807 1.000000 1.000000 1.000000 1.000000 1413 | 0.348066 0.712707 0.889503 0.500000 0.500000 1414 | 0.000000 1.000000 1.000000 1.000000 1.000000 1415 | 0.933702 0.944751 0.983425 1.000000 0.944751 1416 | 0.212707 0.754144 1.000000 1.000000 0.626519 1417 | 0.052210 0.626796 0.864641 0.875414 0.311878 1418 | 0.259392 1.000000 0.753867 0.773481 0.549724 1419 | 0.000000 0.937500 1.000000 1.000000 0.812500 1420 | 0.000000 0.000000 0.000000 0.000000 0.000000 1421 | 0.715193 1.000000 1.000000 1.000000 0.803591 1422 | 0.566022 0.679558 0.823204 0.505525 0.830110 1423 | 0.198895 0.850829 0.773481 0.729282 0.718232 1424 | 0.138122 0.759669 0.414365 0.668232 0.226519 1425 | 0.000000 1.000000 1.000000 1.000000 1.000000 1426 | 0.300829 0.756630 0.723757 0.751381 0.961326 1427 | 0.712431 0.897514 0.883978 0.895028 1.000000 1428 | 0.259392 0.928177 0.928177 0.831215 0.709669 1429 | 0.345304 0.167403 0.610221 0.116022 0.704144 1430 | 0.696133 0.994475 0.740055 0.718232 0.669613 1431 | 0.500000 0.856354 1.000000 0.875691 0.638122 1432 | 1.000000 0.400552 0.187569 0.254144 0.543370 1433 | 0.116071 0.964286 0.633929 0.508929 0.000000 1434 | 0.226519 0.430939 0.778729 0.624033 0.845304 1435 | 0.000000 1.000000 0.093923 0.500000 0.500000 1436 | 0.217680 0.682044 1.000000 1.000000 0.803591 1437 | 0.369613 0.778729 1.000000 1.000000 0.593646 1438 | 0.060773 0.889503 0.922652 0.798066 0.817403 1439 | 0.000000 1.000000 1.000000 1.000000 1.000000 1440 | 0.234807 0.950276 0.500000 0.720718 0.582597 1441 | 0.000000 0.891989 1.000000 0.742818 1.000000 1442 | 0.569061 0.928177 0.889503 0.939227 0.500000 1443 | 0.165746 0.889503 0.682044 0.339779 0.867403 1444 | 0.000000 1.000000 1.000000 1.000000 1.000000 1445 | 0.136161 0.910714 0.187500 0.142857 1.000000 1446 | 0.053571 0.366071 0.000000 0.732143 0.196429 1447 | 1.000000 0.000000 0.598895 0.000000 0.657182 1448 | 0.500000 0.770442 0.339779 0.853315 0.085359 1449 | 0.176796 0.919613 0.825691 0.185083 0.483149 1450 | 0.250829 1.000000 0.759392 0.764917 1.000000 1451 | 0.231768 0.798343 0.579834 0.819613 0.994475 1452 | 0.996961 1.000000 1.000000 0.000000 0.491713 1453 | 0.668232 0.872928 0.397790 0.635083 0.107459 1454 | 0.355525 0.801105 0.245580 0.790055 0.497238 1455 | 0.928177 0.110221 0.977901 1.000000 0.580110 1456 | 0.239779 0.748066 0.500000 0.353039 0.500000 1457 | 0.000000 0.223481 1.000000 1.000000 1.000000 1458 | 0.220718 0.204420 0.878453 0.845304 0.500000 1459 | 0.000000 1.000000 1.000000 1.000000 0.720718 1460 | 1.000000 1.000000 1.000000 1.000000 1.000000 1461 | 1.000000 1.000000 0.751381 1.000000 1.000000 1462 | 0.684807 0.535714 0.687500 0.705357 0.071429 1463 | 0.116022 1.000000 1.000000 1.000000 0.801105 1464 | 0.099448 0.955801 0.790055 0.790055 0.784530 1465 | 0.262431 0.701381 0.317680 0.372928 0.182320 1466 | 0.000000 0.720994 0.986188 0.433702 0.500000 1467 | 0.254144 0.220718 0.638122 0.000000 0.237569 1468 | 0.670994 0.679558 0.397790 0.812155 0.386740 1469 | 0.000000 1.000000 1.000000 0.000000 0.500000 1470 | 0.682320 0.720718 0.814917 0.880939 0.908564 1471 | 0.656906 1.000000 0.988950 0.765193 0.317680 1472 | 0.243094 0.974862 0.792818 1.000000 1.000000 1473 | 1.000000 0.709669 1.000000 0.753867 0.604420 1474 | 0.741071 0.285714 0.121547 0.248619 0.367403 1475 | 0.963812 0.027624 0.500000 0.670994 0.500000 1476 | 0.317680 0.726243 0.773481 0.919613 0.751381 1477 | 0.218232 0.000000 0.000000 0.000000 0.814917 1478 | 0.098214 0.723214 0.848214 0.303571 0.714286 1479 | 0.157182 0.657459 0.500000 0.723757 0.626796 1480 | 0.756630 0.988950 1.000000 1.000000 0.734807 1481 | 0.883978 0.861878 0.135083 0.588122 0.870166 1482 | 0.482143 1.000000 0.000000 0.000000 0.294643 1483 | 0.000000 0.712707 1.000000 1.000000 0.248619 1484 | 0.500000 0.500000 0.500000 0.500000 0.500000 1485 | 0.165746 0.795580 0.011050 0.204420 0.817680 1486 | 0.212431 1.000000 1.000000 0.988950 0.566298 1487 | 0.005525 0.977901 0.696133 0.464088 0.906077 1488 | 0.207182 0.875691 0.500000 0.708482 0.796429 1489 | 0.179282 0.781768 0.880939 0.598895 0.411602 1490 | 0.292541 0.560497 1.000000 1.000000 0.853315 1491 | 0.856354 1.000000 1.000000 1.000000 0.917127 1492 | 0.762431 0.737293 0.717956 0.704144 0.695856 1493 | 0.174033 0.624033 0.670994 0.427901 0.593646 1494 | 0.906077 0.648895 0.289779 0.834254 0.198619 1495 | 0.234530 1.000000 1.000000 0.754144 0.773204 1496 | 0.060773 1.000000 0.748619 0.621271 0.803591 1497 | 0.687845 0.834254 0.342541 1.000000 0.370166 1498 | 0.000000 0.185083 1.000000 0.580357 0.776786 1499 | 0.657182 0.494199 1.000000 0.977901 1.000000 1500 | 0.311878 0.972376 0.839779 0.828729 0.690331 1501 | 0.251381 0.770718 0.116022 0.582873 0.764641 1502 | 0.116071 0.846409 0.839779 0.837017 0.754144 1503 | 0.011050 1.000000 0.082873 0.776243 0.825967 1504 | 0.000000 0.000000 0.000000 0.000000 0.000000 1505 | 0.764917 0.798343 0.836740 0.289779 0.500000 1506 | 0.098214 1.000000 1.000000 1.000000 1.000000 1507 | 0.500000 0.720994 1.000000 0.676519 0.704420 1508 | 0.223204 0.974862 0.853591 0.765193 0.593646 1509 | 0.430939 0.911602 1.000000 0.753867 1.000000 1510 | 0.273481 1.000000 0.704144 0.972376 0.859116 1511 | 0.118232 1.000000 0.756906 0.858840 0.500000 1512 | 0.676519 0.908564 0.693094 0.204144 0.828453 1513 | 0.773481 0.911602 0.939227 0.933702 0.812155 1514 | 0.035714 0.022099 0.966851 0.419890 0.745856 1515 | 0.830357 0.607143 1.000000 1.000000 1.000000 1516 | 0.983425 0.697238 0.742541 0.695856 0.737569 1517 | 0.000000 0.742818 1.000000 0.000000 1.000000 1518 | 0.049724 1.000000 0.917127 0.856354 1.000000 1519 | 0.356354 0.654420 0.515746 0.792818 0.648895 1520 | 0.160221 0.229282 0.952762 0.500000 0.461161 1521 | 0.726243 0.842265 0.308840 0.880939 0.980387 1522 | 0.317127 0.356354 0.897790 0.875414 0.773481 1523 | 0.132320 0.972376 0.969613 0.972376 0.842541 1524 | 0.096409 0.842265 0.317680 0.759392 0.919613 1525 | 0.676796 1.000000 1.000000 0.781492 0.653039 1526 | 0.248343 0.500000 1.000000 1.000000 1.000000 1527 | 0.834254 0.883978 0.569061 0.662983 0.707182 1528 | 0.726243 0.406077 0.397790 0.372928 0.322928 1529 | 0.325967 0.897514 0.927901 0.908564 0.809116 1530 | 0.205357 0.482143 0.830357 0.883929 0.875000 1531 | 0.504696 1.000000 1.000000 0.627072 0.375691 1532 | 0.281768 0.994475 0.790055 0.500000 1.000000 1533 | 0.566022 0.886464 0.919890 0.709669 0.422652 1534 | 0.273481 0.753867 1.000000 0.792541 1.000000 1535 | 0.500000 0.500000 1.000000 1.000000 0.500000 1536 | 0.500000 1.000000 1.000000 1.000000 1.000000 1537 | 0.241071 0.821429 1.000000 0.828729 1.000000 1538 | 0.000000 0.000000 0.000000 0.000000 0.000000 1539 | 0.386740 0.834254 0.027624 0.383978 0.837017 1540 | 0.000000 0.767956 0.019337 0.911602 0.657459 1541 | 0.049724 0.212431 0.809392 1.000000 0.906077 1542 | 0.220994 0.861878 0.839779 0.801105 0.613260 1543 | 0.000000 1.000000 0.748343 0.842265 0.500000 1544 | 0.000000 1.000000 1.000000 1.000000 0.798066 1545 | 0.856354 0.337017 0.795580 0.500000 0.795580 1546 | 0.000000 0.875000 0.214286 0.232143 0.633929 1547 | 0.582597 1.000000 1.000000 0.697238 0.704144 1548 | 0.758564 0.836740 0.301105 1.000000 0.599171 1549 | 0.000000 0.000000 0.000000 0.751381 1.000000 1550 | 0.251381 0.900552 0.726243 0.770718 0.809116 1551 | 0.121547 0.853315 0.867403 0.762431 0.500000 1552 | 0.500000 1.000000 1.000000 1.000000 1.000000 1553 | 0.276786 0.696429 0.848214 0.651786 1.000000 1554 | 0.546961 0.124309 1.000000 0.922652 0.895028 1555 | 0.500000 0.500000 0.500000 0.500000 0.500000 1556 | 0.383929 0.839779 1.000000 0.696133 0.220994 1557 | 0.642857 0.401786 0.053571 0.250000 0.071429 1558 | 0.323204 0.662983 0.762431 0.718232 1.000000 1559 | 0.000000 1.000000 0.756630 1.000000 1.000000 1560 | 0.500000 0.463812 0.500000 0.000000 1.000000 1561 | 0.185083 0.295580 0.842265 0.836740 0.914088 1562 | 0.820166 0.226519 0.406077 0.764917 0.356354 1563 | 0.160221 0.773481 0.624309 0.806630 0.668508 1564 | 0.309392 0.500000 0.000000 1.000000 0.383149 1565 | 0.118232 0.298066 0.041160 0.670994 0.581768 1566 | 0.287293 0.690608 0.839779 0.651934 0.812155 1567 | 0.742818 1.000000 1.000000 1.000000 0.847790 1568 | 0.060773 0.988950 0.027624 0.928177 0.895028 1569 | 0.725414 0.604696 0.367403 0.500000 0.588122 1570 | 0.742818 0.903039 0.544199 0.770442 0.455357 1571 | 0.000000 0.160714 0.812500 0.437500 0.848214 1572 | 0.812155 0.864365 0.196133 0.627072 0.820442 1573 | 0.089286 0.905804 0.919643 1.000000 0.830357 1574 | 0.657459 0.988950 0.955801 0.500000 0.972376 1575 | 0.330357 0.776786 0.160714 0.000000 0.910714 1576 | 0.928177 0.767956 0.143646 0.149171 0.955801 1577 | 0.174033 1.000000 0.176796 0.687569 1.000000 1578 | 0.437054 0.758929 1.000000 0.383929 0.642857 1579 | 0.022099 0.033149 0.977901 0.983425 0.500000 1580 | 0.779006 1.000000 1.000000 0.731768 0.726519 1581 | 0.198895 0.598895 0.823204 0.176796 0.599171 1582 | 0.267680 0.676519 0.500000 0.835359 0.637845 1583 | 0.201657 0.500000 0.798066 0.800829 0.779006 1584 | 0.375000 0.741071 0.750000 0.303591 0.646133 1585 | 0.237569 0.586740 0.687845 0.632320 0.820166 1586 | 0.090884 0.903039 0.500000 0.500000 0.500000 1587 | 0.701657 0.226243 0.228729 0.237293 0.820166 1588 | 0.554696 0.729282 0.582873 0.812155 0.500000 1589 | 0.988950 0.994475 0.586740 1.000000 0.756630 1590 | 0.303867 0.828729 0.635359 0.298343 0.254144 1591 | 0.887946 0.572321 0.285714 0.988950 0.830357 1592 | 0.341989 0.806630 0.872928 0.817403 0.731768 1593 | 0.239779 0.323204 0.632320 0.781492 0.770442 1594 | 0.160221 0.858287 1.000000 0.903039 0.704144 1595 | 0.598214 1.000000 0.871429 0.669643 0.651934 1596 | 0.085268 0.756696 0.928125 1.000000 0.977679 1597 | 0.586740 0.792541 0.565193 0.704144 0.577072 1598 | 0.071823 0.878177 0.872928 0.883978 1.000000 1599 | 0.823204 0.690608 0.635359 0.500000 0.077348 1600 | 0.294643 0.723214 1.000000 0.544643 0.428571 1601 | 0.612983 0.704144 0.273481 0.767956 0.621271 1602 | 0.500000 0.795580 0.801105 1.000000 0.792541 1603 | 0.586740 0.668232 0.972376 0.439227 0.176796 1604 | 0.146133 0.897514 1.000000 0.619890 0.801105 1605 | 0.410714 0.767857 0.464286 0.909821 0.803571 1606 | 0.000000 0.657182 0.966851 0.762431 1.000000 1607 | 0.165470 0.659945 0.000000 0.251381 0.453039 1608 | 0.049724 0.969613 0.955801 1.000000 1.000000 1609 | 0.207182 0.366851 0.900552 0.914365 0.930939 1610 | 0.000000 1.000000 0.143646 0.500000 0.994475 1611 | 0.508929 0.812500 0.633929 0.633929 0.633929 1612 | 0.011050 0.718232 0.720718 0.218232 0.157459 1613 | 1.000000 1.000000 1.000000 1.000000 1.000000 1614 | 0.292541 0.701657 0.601934 0.196133 0.392265 1615 | 0.049724 0.298343 0.011050 0.044199 0.500000 1616 | 0.328729 0.836740 0.903039 0.908564 1.000000 1617 | 0.317403 0.986188 0.969337 0.334254 1.000000 1618 | 0.897514 0.775967 1.000000 0.709669 0.762431 1619 | 0.500000 0.698895 1.000000 0.751105 0.500000 1620 | 0.212707 1.000000 0.240331 0.767680 1.000000 1621 | 0.831215 0.936188 0.069061 0.787017 0.549171 1622 | 0.000000 0.000000 0.000000 0.000000 0.000000 1623 | 1.000000 1.000000 1.000000 1.000000 0.878453 1624 | 0.232044 0.933702 0.917127 0.784530 1.000000 1625 | 0.091160 0.229282 0.102210 0.609945 0.654420 1626 | 0.828729 0.861878 0.016575 0.790055 0.500000 1627 | 0.500000 0.000000 0.500000 0.000000 0.000000 1628 | 0.552486 0.994475 0.812155 0.336464 0.812155 1629 | 0.437500 0.839286 0.773481 0.678125 0.781492 1630 | 0.500000 0.500000 0.500000 0.500000 0.500000 1631 | 0.033149 0.500000 0.977901 0.994475 0.961326 1632 | 0.795580 0.985635 1.000000 0.911602 0.972376 1633 | 0.500000 0.500000 0.500000 0.500000 0.500000 1634 | 0.798066 0.841989 0.775967 0.726243 0.615746 1635 | 0.994475 0.988950 1.000000 1.000000 1.000000 1636 | 0.190608 1.000000 1.000000 1.000000 1.000000 1637 | 0.753867 1.000000 0.585359 0.549448 0.353591 1638 | 0.201657 0.756906 0.895028 0.906077 0.500000 1639 | 0.500000 0.500000 0.500000 0.500000 0.500000 1640 | 0.245580 1.000000 1.000000 0.845028 1.000000 1641 | 0.500000 0.939227 0.908564 0.936464 0.917127 1642 | 0.093923 0.500000 0.110497 0.500000 0.571547 1643 | 0.038674 0.016575 0.972376 0.983425 0.972376 1644 | 1.000000 1.000000 0.500000 0.500000 0.500000 1645 | 0.178571 0.618750 0.016071 0.139732 0.077232 1646 | 1.000000 0.000000 0.000000 0.000000 0.000000 1647 | 0.000000 1.000000 1.000000 1.000000 1.000000 1648 | 0.000000 0.292265 1.000000 0.500000 0.524309 1649 | 0.267956 0.762431 0.983425 0.701657 0.500000 1650 | 0.769890 0.773204 0.270442 0.500000 0.544199 1651 | 0.005525 0.839779 0.801105 0.616022 0.500000 1652 | 0.080110 0.737569 0.858840 0.787293 0.500000 1653 | 0.287293 1.000000 1.000000 0.762155 0.500000 1654 | 0.983425 0.966851 0.500000 0.983425 0.729282 1655 | 0.500000 1.000000 1.000000 1.000000 1.000000 1656 | 1.000000 0.983425 0.756906 0.773481 0.988950 1657 | 0.132597 0.687569 1.000000 0.500000 0.668232 1658 | 0.000000 1.000000 1.000000 1.000000 0.742818 1659 | 1.000000 0.939227 0.762155 0.767680 1.000000 1660 | 0.500000 0.500000 0.500000 0.500000 0.500000 1661 | 0.273481 0.549724 0.963812 0.980663 0.803867 1662 | 0.500000 0.500000 0.500000 0.500000 0.500000 1663 | 1.000000 0.500000 0.500000 1.000000 1.000000 1664 | 0.872928 0.577072 0.787017 0.306630 0.709669 1665 | 0.261878 0.654696 0.665746 0.687569 0.389503 1666 | 0.473214 0.714286 0.705357 1.000000 1.000000 1667 | 0.311878 1.000000 0.795580 1.000000 0.654696 1668 | 0.101934 0.648895 0.900552 0.969613 1.000000 1669 | 0.256630 0.375691 1.000000 0.281768 1.000000 1670 | 0.229282 0.786464 0.958287 0.947238 0.988950 1671 | 0.764088 0.300829 0.869613 0.217956 0.289779 1672 | 0.803591 0.726243 0.801105 0.870166 0.743094 1673 | 0.357143 0.919643 0.964286 0.982143 1.000000 1674 | 0.011050 1.000000 1.000000 1.000000 1.000000 1675 | 0.674033 1.000000 1.000000 0.911602 1.000000 1676 | 0.977901 0.011050 0.005525 0.955801 0.011050 1677 | 0.569061 0.629834 0.500000 0.635359 0.500000 1678 | 0.500000 0.361878 0.000000 0.154696 0.000000 1679 | 0.201339 1.000000 1.000000 1.000000 0.339779 1680 | 0.140055 0.842265 0.660221 0.096133 0.814641 1681 | 0.295304 1.000000 0.790055 0.795580 1.000000 1682 | 0.295580 0.764917 0.737569 0.500000 0.881215 1683 | 0.977901 0.983425 0.165746 0.143646 0.972376 1684 | 0.314641 0.925138 1.000000 0.806354 0.795580 1685 | 0.000000 0.726243 1.000000 1.000000 0.715470 1686 | 0.348214 1.000000 1.000000 0.732143 0.241071 1687 | 0.187845 0.500000 0.756906 0.779006 1.000000 1688 | 0.350829 1.000000 0.856354 0.907735 0.737293 1689 | 0.217680 0.704144 0.668232 0.734530 0.585359 1690 | 0.571271 0.406077 0.500000 0.422652 0.455801 1691 | 0.629834 0.500000 0.375691 0.983425 0.740331 1692 | 0.010497 0.500000 0.643370 0.682044 0.500000 1693 | 0.593370 0.897790 0.900276 0.911602 0.684807 1694 | 0.400552 0.792541 0.922652 0.411602 0.500000 1695 | 0.322928 0.668232 0.687293 0.704144 0.787293 1696 | 0.491160 0.861602 0.659945 0.643370 0.530387 1697 | 0.000000 0.662983 0.867403 1.000000 0.801105 1698 | 0.088398 1.000000 1.000000 0.756906 1.000000 1699 | 0.821429 0.464286 0.785714 0.785714 0.866071 1700 | 0.000000 0.762431 0.662983 0.646409 0.911602 1701 | 0.008287 0.869890 0.135083 0.734807 0.615746 1702 | 0.491713 0.762431 0.756630 0.626796 0.624033 1703 | 0.270442 0.867403 1.000000 1.000000 0.806630 1704 | 0.000000 0.892857 1.000000 0.848214 0.714286 1705 | 0.000000 0.491071 0.437500 0.410714 0.455357 1706 | 0.212707 0.955801 0.997238 0.759669 0.837017 1707 | 0.500000 0.974862 1.000000 0.698619 0.985635 1708 | 0.173204 0.670994 0.325414 1.000000 0.450276 1709 | 0.195856 0.867403 0.751381 0.731768 0.500000 1710 | 0.232143 0.911602 0.740331 0.500000 0.635083 1711 | 0.850829 0.593923 0.762431 0.883978 0.817680 1712 | 0.000000 0.000000 1.000000 0.682320 0.762155 1713 | 0.406077 0.726243 1.000000 0.698895 1.000000 1714 | 0.991713 0.991436 0.988950 0.994475 0.740331 1715 | 0.187569 0.911602 0.800829 0.928177 0.704144 1716 | 0.928177 0.500000 0.500000 0.500000 0.500000 1717 | 0.619890 1.000000 0.925414 0.895028 0.961326 1718 | 0.500000 0.500000 0.500000 0.500000 0.500000 1719 | 0.776786 0.705357 0.642857 1.000000 0.580357 1720 | 0.000000 1.000000 1.000000 1.000000 1.000000 1721 | 0.055249 0.936464 1.000000 0.886464 1.000000 1722 | 0.500000 0.895028 0.955801 0.922652 0.914088 1723 | 0.171271 0.830939 0.867127 0.869890 1.000000 1724 | 0.792541 1.000000 1.000000 0.675138 0.670994 1725 | 0.850829 0.765193 0.764917 0.764917 0.500000 1726 | 0.000000 0.906077 1.000000 1.000000 0.756906 1727 | 0.502762 1.000000 1.000000 1.000000 0.535635 1728 | 0.278729 0.737569 0.748619 0.439227 0.792541 1729 | 0.714286 1.000000 0.107143 0.438393 0.458482 1730 | 0.383929 1.000000 0.580357 0.642857 0.821429 1731 | 0.000000 0.996961 1.000000 0.963812 0.994475 1732 | 0.726243 0.726519 0.737293 0.754144 0.643370 1733 | 0.839286 1.000000 1.000000 0.982143 1.000000 1734 | 0.195856 0.759669 0.295304 0.764917 0.273204 1735 | 0.397790 0.726519 0.895028 0.743094 0.592265 1736 | 0.243094 1.000000 1.000000 1.000000 1.000000 1737 | 0.088398 0.977901 0.906077 0.969613 1.000000 1738 | 0.642857 0.875000 0.588393 0.508929 0.704911 1739 | 0.500000 0.500000 0.500000 0.500000 0.500000 1740 | 0.000000 1.000000 0.604696 0.812155 0.731768 1741 | 0.176796 0.281768 0.950276 0.198895 0.281768 1742 | 0.577072 0.869890 0.709116 0.621271 0.620994 1743 | 0.620994 0.500000 0.792541 0.289779 0.626796 1744 | 0.107182 0.107459 0.251381 1.000000 0.500000 1745 | 0.729282 0.939227 0.939227 0.662983 0.668508 1746 | 0.127072 0.160221 0.027624 0.500000 0.055249 1747 | 0.239779 1.000000 0.781492 0.767956 0.911326 1748 | 0.508929 1.000000 1.000000 1.000000 0.517857 1749 | 0.372928 1.000000 1.000000 1.000000 1.000000 1750 | 0.190608 0.624033 0.933702 1.000000 1.000000 1751 | 1.000000 1.000000 0.872928 0.950276 0.806630 1752 | 0.000000 0.633929 1.000000 0.651786 0.330357 1753 | 0.116022 0.839779 0.850829 0.858840 0.856354 1754 | 0.500000 0.982143 0.500000 0.500000 0.500000 1755 | 0.275967 0.709116 0.886740 0.709669 1.000000 1756 | 0.482143 0.678571 0.794643 0.276786 1.000000 1757 | 0.612983 1.000000 1.000000 0.170994 1.000000 1758 | 0.000000 1.000000 0.500000 0.500000 1.000000 1759 | 0.218232 0.988950 0.839779 0.809116 1.000000 1760 | 0.151381 0.977901 0.500000 0.682044 0.500000 1761 | 0.400552 0.576243 0.745856 0.762431 0.787017 1762 | 0.596685 1.000000 1.000000 1.000000 1.000000 1763 | 0.138122 0.850829 1.000000 0.900552 0.563536 1764 | 0.491071 1.000000 1.000000 1.000000 1.000000 1765 | 0.000000 1.000000 0.000000 1.000000 1.000000 1766 | 0.234807 0.897790 0.720442 0.604696 0.323204 1767 | 0.642857 0.778571 0.311878 0.591964 0.654420 1768 | 0.500000 0.919613 0.917127 0.742818 0.936161 1769 | 0.000000 0.964286 0.839286 0.497768 0.517857 1770 | 0.000000 0.000000 0.000000 0.000000 0.383929 1771 | 0.864365 0.878453 0.906077 0.328729 0.671271 1772 | 0.684807 0.726519 0.367403 0.339779 0.604696 1773 | 0.273204 0.787017 0.500000 0.696133 0.814641 1774 | 0.303571 0.767680 0.500000 0.500000 0.687500 1775 | 0.077348 0.693094 0.897790 0.781768 0.500000 1776 | 0.930804 0.848214 0.651786 0.749107 0.693750 1777 | 0.400000 0.900552 0.118508 1.000000 0.850829 1778 | 0.350829 0.353591 0.000000 0.000000 0.240331 1779 | 0.176796 1.000000 1.000000 0.906077 0.845304 1780 | 0.500000 0.500000 0.500000 0.500000 0.500000 1781 | 0.500000 0.500000 0.500000 0.500000 0.500000 1782 | 0.961326 0.861878 0.917127 0.640884 0.812155 1783 | 0.500000 0.692818 0.500000 0.264917 0.665193 1784 | 0.500000 1.000000 0.013812 0.950276 0.964088 1785 | 0.234807 0.693094 0.275967 0.682044 0.500000 1786 | 0.091160 1.000000 1.000000 1.000000 1.000000 1787 | 0.500000 1.000000 0.500000 0.500000 0.500000 1788 | 0.364641 0.785714 1.000000 0.544643 0.857143 1789 | 0.000000 1.000000 0.570994 0.654420 0.516298 1790 | 0.101934 0.693094 0.726243 1.000000 0.693370 1791 | 0.196429 0.000000 0.044643 0.419643 0.625000 1792 | 0.496961 0.516022 0.529834 0.500000 0.491071 1793 | 0.053571 0.750000 0.482143 0.946429 0.794643 1794 | 0.000000 1.000000 0.000000 1.000000 0.560497 1795 | 0.223214 1.000000 0.580357 0.660714 0.571429 1796 | 0.089286 1.000000 0.917127 0.784530 0.500000 1797 | 0.212155 0.613260 0.500000 0.643370 0.698619 1798 | 0.223757 1.000000 0.226519 0.775967 0.500000 1799 | 0.500000 0.500000 0.500000 0.500000 0.482143 1800 | 0.692818 1.000000 0.294751 1.000000 0.715193 1801 | 0.088398 0.961326 0.209945 0.906077 0.883978 1802 | 0.500000 0.500000 0.500000 0.500000 0.500000 1803 | 0.500000 0.500000 0.500000 0.500000 0.500000 1804 | 1.000000 1.000000 1.000000 1.000000 1.000000 1805 | 0.038398 0.764365 0.737293 0.875414 0.770442 1806 | 1.000000 1.000000 0.842541 0.985912 0.500000 1807 | 0.085635 0.610221 0.883978 0.670994 0.262431 1808 | 0.000000 0.000000 0.505525 1.000000 0.521271 1809 | 0.500000 0.500000 0.500000 0.500000 0.500000 1810 | 0.983425 0.988950 0.414365 0.795580 1.000000 1811 | 0.287293 1.000000 0.500000 0.615746 0.350276 1812 | 0.659945 0.648895 0.715470 0.900276 0.850829 1813 | 0.500000 0.500000 0.500000 0.500000 0.500000 1814 | 0.000000 1.000000 0.176796 0.740055 0.853039 1815 | 0.116071 0.848214 0.785714 0.883929 0.678571 1816 | 0.000000 1.000000 0.000000 0.482143 0.169643 1817 | 0.195856 1.000000 0.096409 0.726243 0.621271 1818 | 0.000000 0.803867 0.847790 1.000000 0.265193 1819 | 0.256906 0.549724 0.532597 0.500000 0.466851 1820 | 0.500000 0.500000 0.500000 0.500000 0.500000 1821 | 0.096133 0.621271 0.162983 0.831215 0.339779 1822 | 0.928571 0.883929 0.088398 0.000000 1.000000 1823 | 0.265193 1.000000 1.000000 0.883978 0.823204 1824 | 0.500000 1.000000 1.000000 1.000000 0.779006 1825 | 0.770442 0.698895 0.549448 1.000000 0.596409 1826 | 0.419643 0.698619 0.791160 0.939227 1.000000 1827 | 0.294643 1.000000 0.633929 0.633929 0.473214 1828 | 0.243094 0.944751 0.690331 0.850829 1.000000 1829 | 0.778729 1.000000 1.000000 1.000000 1.000000 1830 | 1.000000 0.906077 1.000000 0.773481 0.593923 1831 | 0.088398 0.803591 0.883978 0.500000 0.500000 1832 | 0.980357 1.000000 0.212155 0.902486 0.323204 1833 | 0.339779 0.698619 0.654420 0.549724 0.311878 1834 | 0.000000 0.896961 1.000000 1.000000 1.000000 1835 | 0.000000 1.000000 0.477624 0.500000 0.500000 1836 | 0.228729 0.774586 0.759392 0.764917 0.764917 1837 | 0.116071 0.625000 0.982143 0.330357 1.000000 1838 | 0.273204 0.500000 0.648895 0.654696 0.648619 1839 | 0.301105 0.980387 0.748343 0.798066 1.000000 1840 | 0.673481 1.000000 0.273204 0.712707 0.464088 1841 | 0.455801 0.665470 0.698619 0.787293 0.500000 1842 | 1.000000 0.000000 0.000000 1.000000 1.000000 1843 | 0.499554 0.776786 0.500000 0.643370 0.187500 1844 | 0.110497 0.895028 0.922652 0.856354 0.220994 1845 | 0.220994 0.234807 0.615746 0.196133 0.179558 1846 | 0.500000 0.500000 0.500000 0.500000 0.500000 1847 | 0.383929 1.000000 1.000000 1.000000 0.151786 1848 | 0.436464 0.500000 0.500000 0.500000 0.500000 1849 | 1.000000 0.240331 0.339779 0.742818 0.883929 1850 | 0.924309 0.933702 0.922652 0.937500 0.928177 1851 | 0.217680 0.842265 0.875691 0.894751 0.883978 1852 | 0.000000 1.000000 1.000000 0.500000 1.000000 1853 | 0.662983 0.674033 0.679558 0.685083 0.500000 1854 | 0.099448 1.000000 0.500000 0.500000 0.500000 1855 | 0.321429 0.607143 0.071429 0.875000 0.000000 1856 | 0.312500 1.000000 1.000000 0.733036 1.000000 1857 | 0.500000 0.500000 0.500000 0.500000 0.500000 1858 | 1.000000 0.000000 0.000000 0.000000 0.000000 1859 | 0.632320 0.575691 0.847790 0.609945 0.455801 1860 | 0.392411 1.000000 1.000000 1.000000 1.000000 1861 | 0.209669 0.994475 0.889503 0.568508 0.621271 1862 | 0.187569 0.243094 0.933702 0.944751 0.828729 1863 | 0.284530 0.500000 0.714286 0.974862 1.000000 1864 | 0.582597 0.809116 0.789779 0.928177 0.593923 1865 | 0.500000 0.911602 0.950276 0.839779 0.475138 1866 | 0.000000 0.930939 0.781492 1.000000 0.604696 1867 | 0.500000 0.500000 0.500000 0.500000 0.500000 1868 | 0.464088 0.500000 0.500000 0.500000 0.500000 1869 | 0.000000 0.000000 0.500000 0.720718 0.000000 1870 | 0.526786 0.455357 0.767857 0.437500 0.857143 1871 | 0.831215 0.856354 1.000000 0.682044 0.867403 1872 | 0.000000 0.850829 0.922652 0.372928 0.541160 1873 | 0.000000 1.000000 0.817680 0.806630 0.500000 1874 | 0.500000 0.500000 0.500000 0.500000 0.500000 1875 | 1.000000 1.000000 1.000000 1.000000 1.000000 1876 | 0.707182 1.000000 1.000000 0.972376 0.795580 1877 | 0.187569 0.762431 1.000000 0.872928 0.778729 1878 | 0.892265 0.670994 0.740055 0.858840 1.000000 1879 | 0.502210 0.988950 1.000000 0.729282 0.878453 1880 | 0.500000 0.500000 0.500000 0.500000 0.500000 1881 | 0.458564 0.795580 0.500000 0.500000 0.500000 1882 | 0.240331 0.775967 0.770442 0.726243 0.754144 1883 | 0.500000 0.491071 0.500000 0.500000 0.500000 1884 | 0.790055 0.526786 1.000000 0.848214 0.464286 1885 | 0.809392 0.795580 0.345304 0.527348 0.726243 1886 | 0.165746 0.500000 1.000000 0.922652 1.000000 1887 | 0.361878 0.610221 0.831215 0.500000 0.908564 1888 | 0.276243 0.773481 0.812155 0.770442 0.580110 1889 | 0.002762 0.958564 1.000000 0.726243 1.000000 1890 | 1.000000 1.000000 0.660714 1.000000 1.000000 1891 | 0.603315 1.000000 0.983425 0.500000 1.000000 1892 | 0.741071 0.946429 0.919643 0.883929 0.955357 1893 | 0.480387 0.698619 0.378453 0.582597 0.500000 1894 | 0.422652 0.809116 0.570166 0.693094 0.917127 1895 | 0.519337 0.500000 0.500000 0.500000 0.500000 1896 | 0.000000 0.500000 0.770442 0.500000 0.641989 1897 | 0.892857 0.955357 0.214286 0.973214 0.080357 1898 | 0.289227 0.868508 0.687569 0.875691 0.422099 1899 | 0.437500 0.866071 0.187500 0.675446 0.729911 1900 | 0.330357 0.870166 0.787017 0.626796 0.941989 1901 | 0.500000 1.000000 1.000000 0.000000 0.500000 1902 | 0.237569 0.911602 0.961326 0.668508 0.696133 1903 | 0.292541 0.933702 0.575691 0.620994 0.632320 1904 | 0.726243 0.610221 0.659945 0.758929 0.825691 1905 | 0.154696 0.878453 0.301105 0.955801 1.000000 1906 | 0.756630 0.798066 0.121547 0.090608 0.586188 1907 | 0.011050 0.635359 0.983425 0.500000 0.585635 1908 | 0.401786 0.303867 0.867403 0.795580 0.883978 1909 | 1.000000 0.958036 0.955357 0.941518 0.946875 1910 | 0.262431 0.720718 0.648895 0.753867 1.000000 1911 | 0.500000 1.000000 1.000000 1.000000 1.000000 1912 | 0.000000 1.000000 1.000000 1.000000 0.720442 1913 | 0.311878 0.958564 0.500000 0.500000 0.895028 1914 | 0.500000 0.751381 0.994475 0.756906 0.977901 1915 | 0.544643 0.678571 0.410714 0.366071 0.500000 1916 | 0.295580 0.500000 0.659945 0.549448 0.472376 1917 | 0.864365 0.000000 0.000000 0.032597 0.903315 1918 | 0.223204 0.977901 0.881215 0.900552 1.000000 1919 | 0.033149 0.500000 0.983425 0.745856 0.773481 1920 | 0.000000 1.000000 1.000000 1.000000 1.000000 1921 | 0.250829 0.917127 1.000000 0.858840 0.676519 1922 | 0.657459 0.872928 0.883978 0.773481 0.585635 1923 | 0.256906 0.892265 0.928177 1.000000 0.668232 1924 | 0.715470 0.754144 0.764917 0.778729 0.828729 1925 | 0.002210 1.000000 0.895028 0.878453 0.773481 1926 | 0.174033 0.361878 0.775414 0.267956 0.670994 1927 | 0.966851 0.270718 0.419890 0.500000 0.500000 1928 | 0.593646 0.790055 0.698619 0.906077 0.604696 1929 | 0.151934 0.974586 0.853591 0.554972 0.963812 1930 | 1.000000 0.794643 0.098214 0.839286 1.000000 1931 | 0.500000 0.659945 0.670994 0.673757 0.543370 1932 | 0.226243 0.864641 0.148895 0.687569 0.604696 1933 | 0.500000 0.500000 0.500000 0.491071 0.500000 1934 | 0.997238 0.378453 0.018508 0.500000 0.500000 1935 | 0.930663 0.969337 0.775967 0.500000 0.753867 1936 | 0.500000 1.000000 1.000000 1.000000 1.000000 1937 | 0.204144 0.787017 0.795580 0.801105 1.000000 1938 | 0.500000 0.500000 0.500000 0.500000 0.500000 1939 | 0.276786 0.500000 0.178571 0.705357 0.812500 1940 | 0.000000 1.000000 1.000000 0.776786 0.758929 1941 | 0.500000 1.000000 1.000000 0.000000 1.000000 1942 | 0.732143 0.910714 0.500000 0.375000 0.580357 1943 | 0.392857 1.000000 0.946429 1.000000 0.972768 1944 | 0.211161 1.000000 1.000000 0.589286 0.753867 1945 | 0.676519 0.629558 0.500000 0.455357 0.771429 1946 | 0.847790 0.825967 0.775967 0.775967 0.836740 1947 | 0.812155 0.817680 0.674033 0.500000 0.939227 1948 | 0.500000 0.991436 0.762431 0.500000 1.000000 1949 | 0.803571 0.659669 0.906077 0.705357 0.864365 1950 | 0.110497 0.996961 0.867403 0.740331 0.897768 1951 | 0.321429 0.711607 0.776786 0.915179 0.948214 1952 | 0.000000 1.000000 0.500000 0.500000 0.500000 1953 | 0.825967 0.732044 0.218232 0.895028 0.500000 1954 | 0.096133 1.000000 1.000000 0.168508 1.000000 1955 | 0.756906 0.895028 0.895028 0.872928 0.994475 1956 | 1.000000 0.983425 0.983425 1.000000 1.000000 1957 | 0.121271 1.000000 1.000000 1.000000 1.000000 1958 | 0.501934 0.906077 0.500000 0.259392 0.140331 1959 | 0.156906 0.972376 0.988950 0.944751 0.593370 1960 | 0.140884 0.731768 0.737293 0.500000 0.500000 1961 | 0.234530 0.444751 0.665470 0.610221 0.687569 1962 | 0.718232 0.715470 0.875414 0.626796 0.952762 1963 | 0.781768 0.328729 1.000000 0.983425 0.745856 1964 | 0.767956 0.748619 0.500000 0.759669 1.000000 1965 | 0.473214 0.642857 0.455357 0.669643 0.598214 1966 | 0.204420 0.220718 1.000000 0.734530 1.000000 1967 | 1.000000 1.000000 1.000000 1.000000 1.000000 1968 | 0.116022 0.770442 0.632320 0.256354 0.759392 1969 | 0.099171 0.682044 0.812155 0.500000 0.682044 1970 | 0.500000 1.000000 1.000000 1.000000 0.988674 1971 | 1.000000 0.781492 0.775967 0.765193 0.759392 1972 | 0.124033 0.500000 0.500000 0.510497 0.853591 1973 | 0.500000 0.500000 0.500000 0.500000 0.500000 1974 | 0.000000 0.574586 0.616022 0.582597 0.718232 1975 | 0.000000 1.000000 1.000000 1.000000 1.000000 1976 | 0.314641 0.906077 0.994475 0.823204 0.850829 1977 | 0.500000 0.500000 0.500000 0.500000 0.500000 1978 | 0.228177 0.790055 0.801105 0.773481 0.798066 1979 | 0.098214 0.455357 0.250000 0.678571 1.000000 1980 | 0.988950 1.000000 1.000000 0.988950 1.000000 1981 | 0.000000 0.000000 0.053571 0.080357 0.357143 1982 | 0.836740 0.764917 0.198619 0.775967 0.853591 1983 | 0.245304 0.741436 0.742818 0.825691 0.787293 1984 | 0.610221 0.830939 0.775967 0.554696 0.560497 1985 | 0.336740 0.988950 0.988950 1.000000 0.437569 1986 | 0.173481 0.980110 0.831215 0.969613 0.781492 1987 | 0.866071 0.758929 1.000000 0.767857 0.732143 1988 | 0.000000 1.000000 0.000000 1.000000 0.991071 1989 | 0.171271 0.917127 1.000000 0.248619 1.000000 1990 | 0.751381 0.066298 0.872928 0.160221 0.883978 1991 | 0.446429 0.482143 0.500000 0.500000 0.500000 1992 | 0.543370 0.571823 0.593646 0.621547 0.588398 1993 | 0.823204 0.977901 0.773481 0.798343 0.812155 1994 | 0.254144 0.500000 0.834254 0.850829 0.654420 1995 | 0.500000 0.500000 0.676519 0.500000 1.000000 1996 | 0.116071 0.098214 0.089286 0.089286 0.026786 1997 | 0.187500 0.500000 0.482143 0.491071 0.491071 1998 | 0.769337 0.242818 0.715193 0.345304 0.756906 1999 | 0.378453 0.328177 0.350276 1.000000 0.643370 2000 | 0.000000 1.000000 1.000000 1.000000 0.599448 2001 | 0.581215 0.980110 0.996961 1.000000 0.780110 2002 | 0.500000 0.500000 0.500000 0.500000 0.500000 2003 | 0.182320 0.839779 0.911602 0.361878 0.637845 2004 | 0.500000 1.000000 1.000000 1.000000 1.000000 2005 | 0.317680 1.000000 0.637845 0.582597 0.664365 2006 | 0.500000 0.500000 0.500000 0.500000 0.500000 2007 | 0.500000 0.839779 0.508287 0.500000 0.624033 2008 | 0.361878 0.582873 0.687845 0.820166 0.842265 2009 | 0.000000 1.000000 1.000000 1.000000 0.500000 2010 | 0.626796 0.996961 0.823204 0.834254 1.000000 2011 | 1.000000 0.383929 1.000000 0.000000 0.000000 2012 | 0.500000 0.737293 1.000000 0.500000 0.500000 2013 | 0.107735 1.000000 0.883978 0.790055 0.731768 2014 | 0.500000 0.500000 0.500000 0.500000 0.500000 2015 | 0.773481 0.676519 0.680663 0.997238 0.770442 2016 | 0.298066 0.554144 1.000000 0.643370 0.723757 2017 | 0.762431 0.276243 0.627072 0.500000 0.500000 2018 | 0.752232 0.983425 0.792541 1.000000 0.500000 2019 | 0.500000 0.737293 0.729282 0.731768 0.500000 2020 | 0.500000 0.500000 0.088398 0.621271 0.500000 2021 | 0.149171 0.856354 1.000000 0.775967 0.847790 2022 | 1.000000 0.559392 0.637569 0.868785 0.726243 2023 | 1.000000 0.554144 0.554144 0.559392 0.867403 2024 | 0.110497 0.784530 0.828729 0.977901 0.790055 2025 | 0.607143 0.803571 0.571429 0.830357 0.937500 2026 | 0.256354 0.947238 0.687845 0.969613 0.952762 2027 | 0.027232 0.756906 0.756906 0.500000 0.500000 2028 | 0.654420 0.648895 0.765193 0.500000 0.500000 2029 | 1.000000 1.000000 1.000000 0.618508 0.720994 2030 | 0.764641 0.372928 0.808840 0.685083 0.709669 2031 | 0.049724 0.500000 0.038674 0.500000 0.500000 2032 | 0.160714 0.883929 0.906077 0.500000 0.500000 2033 | 0.504018 0.955357 0.762431 1.000000 0.985912 2034 | 0.991071 0.955357 0.285714 0.571429 0.991071 2035 | --------------------------------------------------------------------------------