From jonmon at ci.uchicago.edu Wed Feb 1 10:51:40 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 1 Feb 2012 10:51:40 -0600 (CST) Subject: [Swift-commit] r5540 - SwiftApps/SciColSim Message-ID: <20120201165140.3A4099CCB4@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-01 10:51:40 -0600 (Wed, 01 Feb 2012) New Revision: 5540 Modified: SwiftApps/SciColSim/annealing.swift Log: annealing.swift now has comand line arguments for -maxrange, -minrange, -rangeinc Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-01-31 23:29:20 UTC (rev 5539) +++ SwiftApps/SciColSim/annealing.swift 2012-02-01 16:51:40 UTC (rev 5540) @@ -3,9 +3,10 @@ type file; -type Res { - float loss; - float sdev; +type Res +{ + float loss; + float sdev; } global boolean FIX_VARIABLES = true; @@ -13,181 +14,214 @@ global int Nworkers = @toint(@arg("nworkers","4")); global int rerunsPerApp; -(float nx) newx(float x, float dx) +( float nx ) newx( float x, float dx ) { - float r = (random()) ; # / (pow(2.0,31.0)-1.0); - if (r > 0.5){ - nx = x + (random())*dx; # /(pow(2.0,31.0)-1.0); - } else { - nx = x - (random())*dx; # /(pow(2.0,31.0)-1.0); + float r = (random()); // / (pow(2.0,31.0)-1.0); + + if (r > 0.5) + { + nx = x + (random())*dx; // /(pow(2.0,31.0)-1.0); } + else + { + nx = x - (random())*dx; // /(pow(2.0,31.0)-1.0); + } // tracef("newx(%f,%f)=%f\n",x,dx,nx); } -app (file outfile, file loss) evolve (string args[], file graph) +app (file outfile, file loss ) evolve ( string args[], file graph ) { - evolve @loss args stdout=@outfile ; // graph is passed implicitly + evolve @loss args stdout=@outfile; // graph is passed implicitly } -app (file x) sumloss(file loss[]) +app ( file x ) sumloss( file loss[] ) { - sumloss @filenames(loss) stdout=@x; + sumloss @filenames(loss) stdout=@x; } /* -Program structure: + Program structure: main - optimizer_sweep() - formerly, python script - multi_annealing() - multi_loss() - evolve() - sumloss() + optimizer_sweep() - formerly, python script + multi_annealing() + multi_loss() + evolve() + sumloss() */ -(file bestfile, file maxfile) multi_annealing ( - float T_start, - float T_end, - float Target_rejection, - int evolve_reruns, - float starting_jump, - float params0[], - float target_innov, - int annealing_cycles) +( file bestfile, file maxfile ) multi_annealing ( + float T_start, + float T_end, + float Target_rejection, + int evolve_reruns, + float starting_jump, + float params0[], + float target_innov, + int annealing_cycles ) { - int cycle=10; # const - int NEVOPARAMS=5; # const - 5 params, alpha 1,m through delta, does not include target_innovation + int cycle = 10; // const + int NEVOPARAMS = 5; // const - 5 params, alpha 1,m through delta, does not include target_innovation float rejection[][]; // [i][j] where i is cycle and j is evolve-parameter (alpha_i, alpha_m, beta, gamma, delta) float x[][], dx[][], curr_loss[], curr_sdev[]; - + Res mlres[][]; + mlres[0][0] = multi_loss( 0, 0, params0, target_innov, evolve_reruns ); // FIXME: serves for all evolve-params ??? - tracef("multi_annealing: AR: initial: %f +- %f\n",mlres[0][0].loss,mlres[0][0].sdev); + tracef( "multi_annealing: AR: initial: %f +- %f\n", mlres[0][0].loss, mlres[0][0].sdev ); - foreach j in [0:NEVOPARAMS-1] { - x[0][j]=params0[j]; - dx[0][j] = starting_jump; - rejection[0][j] = 0.0; - curr_loss[j] = mlres[0][0].loss; - curr_sdev[j] = mlres[0][0].sdev; + foreach j in [0:NEVOPARAMS-1] + { + x[0][j] = params0[j]; + dx[0][j] = starting_jump; + rejection[0][j] = 0.0; + curr_loss[j] = mlres[0][0].loss; + curr_sdev[j] = mlres[0][0].sdev; } - iterate iter_i { # foreach i in [1:annealing_cycles] - int i = iter_i + 1; + iterate iter_i + { // foreach i in [1:annealing_cycles] + int i = iter_i + 1; // set new temperature, rejection threshold, and dx values for this cycle - float temperature = T_start*exp( @tofloat(i-1)*(jlog(T_end)-jlog(T_start))/@tofloat(annealing_cycles)); + float temperature = T_start*exp( @tofloat( i-1 ) * ( jlog( T_end ) - jlog( T_start ) ) / @tofloat( annealing_cycles ) ); - tracef(@strcat("multi_annealing: AR: i=%i ....T = ",color(3,"%f"),"\n"), i, temperature); + tracef( @strcat( "multi_annealing: AR: i=%i ....T = ", color( 3, "%f" ),"\n" ), i, temperature ); - // On each new "major" cycle within the annealing_cycles (other than the first) set new rejection and dx values + // On each new "major" cycle within the annealing_cycles (other than the first) set new rejection and dx values - if ( i %% cycle == 1 && i > 1 ){ - tracef("multi_annealing: new cycle at i=%i\n",i); - tracef(color(Pink, "multi_annealing: AR: New cycle at %i: prev dx[0-4]=[%f %f %f %f %f]\n"),i,dx[i-1][0],dx[i-1][1],dx[i-1][2],dx[i-1][3],dx[i-1][4]); - foreach k in [0:NEVOPARAMS-1] { - float newrejection = rejection[i-1][k] / @tofloat(cycle); - if (newrejection > 0.0){ - dx[i][k] = dx[i-1][k] / (newrejection / Target_rejection); - # FIXME: re-enable: rejection[i][k]=0.0; + if ( i %% cycle == 1 && i > 1 ) + { + tracef( "multi_annealing: new cycle at i=%i\n", i ); + tracef( color( Pink, "multi_annealing: AR: New cycle at %i: prev dx[0-4]=[%f %f %f %f %f]\n" ), i, dx[i-1][0], dx[i-1][1], dx[i-1][2], dx[i-1][3], dx[i-1][4] ); + foreach k in [0:NEVOPARAMS-1] + { + float newrejection = rejection[i-1][k] / @tofloat( cycle ); + if ( newrejection > 0.0 ) + { + dx[i][k] = dx[i-1][k] / ( newrejection / Target_rejection ); + // FIXME: re-enable: rejection[i][k]=0.0; } - else{ + else + { dx[i][k] = dx[i-1][k] * 2.0; - # FIXME: re-enable: rejection[i][k]=rejection[i-1][k]; + // FIXME: re-enable: rejection[i][k]=rejection[i-1][k]; } // FIXME: HANGS? : tracef(color(Red,"Recomputed rejection: i=%d k=%d dx[i][k]=%f\n"), i, k, dx[i][k]); } - tracef(color(Blue, "multi_annealing: AR: New cycle at %i: dx[0-4]=[%f %f %f %f %f]\n"),i,dx[i][0],dx[i][1],dx[i][2],dx[i][3],dx[i][4]); + tracef( color( Blue, "multi_annealing: AR: New cycle at %i: dx[0-4]=[%f %f %f %f %f]\n" ), i, dx[i][0], dx[i][1], dx[i][2], dx[i][3], dx[i][4] ); } - else { # If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i]j] is set later. - foreach k in [0:NEVOPARAMS-1] { + else + { // If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i]j] is set later. + foreach k in [0:NEVOPARAMS-1] + { dx[i][k] = dx[i-1][k]; } } - #foreach j in [0:NEVOPARAMS-1] { // Try a new value for each non-fixed param; then write results and accept or reject - iterate j { // Try a new value for each non-fixed param; then write results and accept or reject + //foreach j in [0:NEVOPARAMS-1] { // Try a new value for each non-fixed param; then write results and accept or reject + iterate j + { // Try a new value for each non-fixed param; then write results and accept or reject // float try_x[]; - int curr = (i * NEVOPARAMS) + j; + int curr = ( i * NEVOPARAMS ) + j; int prev = curr-1; // tracef("in multi_annealing: i=%i j=%i curr=%i prev=%i\n", i, j, curr, prev); - if ( /*(!FIX_VARIABLES) || */ (var_fixed[j]==0) ) { # Adjustable vars - # fixed=1,1,0,0,0: FIXME: FIX_VARIABLES flag has faulty logic but OK when TRUE + if ( /*(!FIX_VARIABLES) || */ ( var_fixed[j] == 0 ) ) { // Adjustable vars + // fixed=1,1,0,0,0: FIXME: FIX_VARIABLES flag has faulty logic but OK when TRUE float try_x[]; - foreach k in [0:NEVOPARAMS-1] { // Select the evolve params to try - if ( k < j ) { + foreach k in [0:NEVOPARAMS-1] + { // Select the evolve params to try + if ( k < j ) + { try_x[k] = x[i][k]; // already set x[i][k] } - else { - if ( k == j ) { + else + { + if ( k == j ) + { try_x[k] = newx(x[i-1][j],dx[i-1][j]); // permute x[i-1][j] } - else { // k > j + else + { // k > j try_x[k] = x[i-1][k]; // use x[i-1][k] (from prior cycle) } } } - tracef(@strcat("multi_annealing: AR: ", color(10,"%f"), " ", color(9,"%i"),"\n"), try_x[j],j); + tracef( @strcat( "multi_annealing: AR: ", color( 10,"%f" ), " ", color( 9,"%i" ),"\n" ), try_x[j], j ); // Up to here, x[] and dx[] are only set for previous i - mlres[i][j] = multi_loss(i,j,try_x, target_innov, evolve_reruns); # do the N evolve()'s, N=evolve_reruns - tracef("multi_annealing: AR: %f +- %f\n", mlres[i][j].loss, mlres[i][j].sdev); + mlres[i][j] = multi_loss( i, j, try_x, target_innov, evolve_reruns ); // do the N evolve()'s, N=evolve_reruns + tracef( "multi_annealing: AR: %f +- %f\n", mlres[i][j].loss, mlres[i][j].sdev ); // Beyond this point, x[] and dx[] are being set for this i,j float ALOT=100000000000.0; // 100,000,000,000. = 10^11 - if (mlres[i][j].loss < ALOT) { - tracef("multi_annealing: AF: best_opt_some.txt: %f,%f,%f,%f,%f,%f,%f,%f\n", - target_innov,mlres[i][j].loss,try_x[0],try_x[1],try_x[2],try_x[3],try_x[4],mlres[i][j].sdev); - tracef(color(Red,"multi_annealing: AF: max_dist.txt - tbd\n")); // FIXME: max_dist is global set in evolve() + + if ( mlres[i][j].loss < ALOT ) + { + tracef( "multi_annealing: AF: best_opt_some.txt: %f,%f,%f,%f,%f,%f,%f,%f\n", + target_innov, mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); + tracef( color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() } - else { // does this ever occur? if so did we want to still do the ratio computation above??? - tracef("multi_annealing: Loss %f > ALOT at [i][j] = [%d][%d]\n", mlres[i][j].loss, i ,j); + else + { // does this ever occur? if so did we want to still do the ratio computation above??? + tracef( "multi_annealing: Loss %f > ALOT at [i][j] = [%d][%d]\n", mlres[i][j].loss, i ,j ); } - float ratio = min(1.0, exp( -(mlres[i][j].loss-curr_loss[prev]) / temperature)); - float r = (random()) ; # / (pow(2.0,31.0)-1.0); // FIXME: AR: why all the 2^31's ??? + + float ratio = min( 1.0, exp( -( mlres[i][j].loss - curr_loss[prev] ) / temperature ) ); + float r = (random()) ; // / (pow(2.0,31.0)-1.0); // FIXME: AR: why all the 2^31's ??? + tracef("multi_annealing: AR: %f vs %f\n", r, ratio); - if (r > ratio) { // Reject new parameter - x[i][j] = x[i-1][j]; - rejection[i][j] = rejection[i-1][j] + 1.0; // FIXME: AR: Is this correct? incr rejection? + + if (r > ratio) + { // Reject new parameter + x[i][j] = x[i-1][j]; + rejection[i][j] = rejection[i-1][j] + 1.0; // FIXME: AR: Is this correct? incr rejection? curr_loss[curr] = curr_loss[prev]; curr_sdev[curr] = curr_sdev[prev]; - # FIXME: AR: the following prints seem to replicate values in the .cpp version - please clarify. - tracef("multi_annealing: AR: %i,%i %i Did not accept: %f (%i)\n", i, j, i, try_x[j], j); - tracef("multi_annealing: AR: %f %f %f %f %f\n", try_x[0],try_x[1],try_x[2],try_x[3],try_x[4]); + // FIXME: AR: the following prints seem to replicate values in the .cpp version - please clarify. + tracef( "multi_annealing: AR: %i,%i %i Did not accept: %f (%i)\n", i, j, i, try_x[j], j ); + tracef( "multi_annealing: AR: %f %f %f %f %f\n", try_x[0],try_x[1],try_x[2],try_x[3],try_x[4] ); } - else { // Accept new parameter - tracef("multi_annealing: Accepting try_x[j], i=%i j=%i\n",i,j); - x[i][j] = try_x[j]; - rejection[i][j] = rejection[i-1][j]; // FIXME: AR: Is this correct? no incr of rejection? - tracef("multi_annealing: Accepting try_x[j], i=%i j=%i try_x[j]=%f\n",i,j,try_x[j]); + else + { // Accept new parameter + tracef( "multi_annealing: Accepting try_x[j], i=%i j=%i\n",i,j ); + + x[i][j] = try_x[j]; + rejection[i][j] = rejection[i-1][j]; // FIXME: AR: Is this correct? no incr of rejection? curr_loss[curr] = mlres[i][j].loss; curr_sdev[curr] = mlres[i][j].sdev; + + tracef( "multi_annealing: Accepting try_x[j], i=%i j=%i try_x[j]=%f\n", i, j, try_x[j] ); float rj[]; - foreach k in [0:NEVOPARAMS-1] { # FIXME!!! - if (k <= j) { - rj[k] = rejection[i][k]; # Was either set from previous j or just set for this j + foreach k in [0:NEVOPARAMS-1] + { // FIXME!!! + if (k <= j) + { + rj[k] = rejection[i][k]; // Was either set from previous j or just set for this j } - else { - rj[k] = rejection[i-1][k]; # Not yet set, use previous + else + { + rj[k] = rejection[i-1][k]; // Not yet set, use previous } } tracef(@strcat("multi_annealing: AR: [%i][%i] ", color(8,"Rejection counts: "), - color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), + color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), i, j, rj[0], rj[1], rj[2], rj[3], rj[4]); tracef(@strcat("multi_annealing: AR: %i ", color(8,"***** Did accept! "), - color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), - i, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4]); + color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), + i, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4]); } } - else { # Fixed Vars - x[i][j] = x[i-1][j]; + else + { // Fixed Vars + x[i][j] = x[i-1][j]; rejection[i][j] = rejection[i-1][j]; curr_loss[curr] = curr_loss[prev]; curr_sdev[curr] = curr_sdev[prev]; - # dx[i][j] not set for fixed vars - } + // dx[i][j] not set for fixed vars + } } until(j == NEVOPARAMS-1); } until(iter_i == (annealing_cycles-1)); } @@ -195,157 +229,152 @@ (Res r) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) // (Res r, Stats s) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) FIXME: To obtain stats { - file rfile[]; - file ofile[]; // FIXME: to obtain timings and otehr stats - tracef("multi_loss: entered: ci=%i cj=%i target_innov=%f evolve_reruns=%i x=%q\n",ci, cj, target_innov,evolve_reruns,x); + file rfile[]; + file ofile[]; // FIXME: to obtain timings and otehr stats - int appCalls = @toint(@tofloat(evolve_reruns) / @tofloat(rerunsPerApp)); # FIXME: handle fractional issues and rounding etc. For now must divide evenly + tracef("multi_loss: entered: ci=%i cj=%i target_innov=%f evolve_reruns=%i x=%q\n",ci, cj, target_innov,evolve_reruns,x); -tracef("multi_loss appCalls=%i\n", appCalls); - foreach i in [1:appCalls] { // repeats of the evolove() - same as n_reruns - file outfile; // FIXME: map and save in future - string args[] = [ // FIXME: move this to a setargs() function - // alpha_i alpha_m beta gamma delta target_innov + int appCalls = @toint(@tofloat(evolve_reruns) / @tofloat(rerunsPerApp)); // FIXME: handle fractional issues and rounding etc. For now must divide evenly + + tracef("multi_loss appCalls=%i\n", appCalls); + + foreach i in [1:appCalls] + { // repeats of the evolove() - same as n_reruns + file outfile; // FIXME: map and save in future + string args[] = [ // FIXME: move this to a setargs() function + // alpha_i alpha_m beta gamma delta target_innov @strcat(x[0]), @strcat(x[1]), @strcat(x[2]), @strcat(x[3]), @strcat(x[4]), @strcat(target_innov), - - // n_epochs n_steps evolve_reruns range - // "40000", "20", @strcat(evolve_reruns), "2", - "40000", "20", @strcat(rerunsPerApp), "2", - - // verbose_level + + // n_epochs n_steps evolve_reruns range + // "40000", "20", @strcat(evolve_reruns), "2", + "40000", "20", @strcat(rerunsPerApp), "2", + + // verbose_level "1", - - // T_start T_end Annealing_steps Target_rejection Starting_jump + + // T_start T_end Annealing_steps Target_rejection Starting_jump "2.", "0.01", "2", "0.3", "2.3", - - // FREEZE: alpha_i alpha_m beta gamma delta - "1", "1", "0", "0", "0", - - // operation-code:(m,a) Nworkers seed - "m", @strcat(Nworkers), "1234567" ]; - file graph <"movie_graph.txt">; - (outfile, rfile[i]) = evolve(args,graph); - // (ofile[i], rfile[i]) = evolve(args,graph); - tracef("multi_loss: i=%i calling evolve, args=%q\n", i, args); - // tracef("multi_loss: after evolve: i=%i %k %k\n", i, outfile, rfile[i]); - } - file sumfile = sumloss(rfile); - r = readData(sumfile); - tracef("multi_loss: returning: ci=%i cj=%i r.loss=%f r.sdev=%f\n",ci,cj,r.loss,r.sdev); - // file statfile = sumstats(ofile); FIXME: to obtain timings and otehr stats - // s = readStat(statsfile); FIXME: to obtain timings and otehr stats + // FREEZE: alpha_i alpha_m beta gamma delta + "1", "1", "0", "0", "0", + + // operation-code:(m,a) Nworkers seed + "m", @strcat(Nworkers), "1234567" ]; + + file graph <"movie_graph.txt">; + + ( outfile, rfile[i] ) = evolve( args, graph ); + // (ofile[i], rfile[i]) = evolve(args,graph); + + tracef("multi_loss: i=%i calling evolve, args=%q\n", i, args); + // tracef("multi_loss: after evolve: i=%i %k %k\n", i, outfile, rfile[i]); + } + file sumfile = sumloss(rfile); + r = readData(sumfile); + + tracef("multi_loss: returning: ci=%i cj=%i r.loss=%f r.sdev=%f\n",ci,cj,r.loss,r.sdev); + // file statfile = sumstats(ofile); FIXME: to obtain timings and otehr stats + // s = readStat(statsfile); FIXME: to obtain timings and otehr stats } optimizer_sweep() // Implements logic of python driver script { - int minrange=58; - int maxrange=59; - int rangeinc=50; + int minrange = @toint(@arg("minrange", "58")); + int maxrange = @toint(@arg("maxrange", "59")); + int rangeinc = @toint(@arg("rangeinc", "50")); - //int maxrange=1009; - //int maxrange=209; + // FIXME: add provision for random priming and random param values when x[i] == -100 (see optimizer.cpp main()) - // FIXME: add provision for random priming and random param values when x[i] == -100 (see optimizer.cpp main()) + int nreps = 1; // 15 - int nreps=1; # 15 - // file bestfile ; // file maxfile ; - foreach target_innov in [minrange:maxrange:rangeinc] { - foreach rep in [1:nreps] { - file outfile; // ; - file lossfile; // ; -/* - (outfile,lossfile) = multi_annealing( - T_start = 2.0, - T_end = 0.01, - Target_rejection = 0.3, - evolve_reruns = 10, - starting_jump = 2.3, - params0[] = [0.0, 0.0, 4.0, 50.0, -1.0], - @tofloat(target_innov), - annealing_cycles = 2); -*/ - (outfile,lossfile) = multi_annealing( - 2.0, - 0.01, - 0.3, - 100, - 2.3, - [0.0, 0.0, 4.0, 50.0, -1.0], - @tofloat(target_innov), - 30); + foreach target_innov in [minrange:maxrange:rangeinc] + { + foreach rep in [1:nreps] + { + file outfile; // ; + file lossfile; // ; + + ( outfile,lossfile ) = multi_annealing( + 2.0, + 0.01, + 0.3, + 100, + 2.3, + [0.0, 0.0, 4.0, 50.0, -1.0], + @tofloat(target_innov), + 30 ); + } } - } } rerunsPerApp = 100; main() { - optimizer_sweep(); + optimizer_sweep(); } main(); /* -Program structure: + Program structure: main - optimizer_sweep() - multi_annealing() - multi_loss() - evolve() - sumloss() + optimizer_sweep() + multi_annealing() + multi_loss() + evolve() + sumloss() -Example parameter sets: + Example parameter sets: -for target in range(58,59,50): + for target in range(58,59,50): for i in range(1): - args="./toptimizer 0 0 4 50 -1 "+target+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 m # > out.T"+str(target)+".i"+str(i) - os.system(args); + args="./toptimizer 0 0 4 50 -1 "+target+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 m // > out.T"+str(target)+".i"+str(i) + os.system(args); - string fastargs1[] = [ - "0", "0", "4", "50", "-1", @strcat(target), - "40000", "20", "1000", "2", - "1", - "2.", "0.01", "100", "0.3", "2.3", - "1", "1", "0", "0", "0"]; - string fastargs2[] = [ - "0", "0", "4", "50", "-1", @strcat(target), - "40000", "20", "1000", "2", - "1", - "2.", "0.01", "5", "0.3", "2.3", - "1", "1", "0", "0", "0", "m"]; - string fastargs3[] = [ - "0", "0", "4", "50", "-1", @strcat(target), - "40000", "20", @strcat(repeats), "2", - "1", - "2.", "0.01", "2", "0.3", "2.3", - "1", "1", "0", "0", "0", "m"]; + string fastargs1[] = [ + "0", "0", "4", "50", "-1", @strcat(target), + "40000", "20", "1000", "2", + "1", + "2.", "0.01", "100", "0.3", "2.3", + "1", "1", "0", "0", "0"]; + string fastargs2[] = [ + "0", "0", "4", "50", "-1", @strcat(target), + "40000", "20", "1000", "2", + "1", + "2.", "0.01", "5", "0.3", "2.3", + "1", "1", "0", "0", "0", "m"]; + string fastargs3[] = [ + "0", "0", "4", "50", "-1", @strcat(target), + "40000", "20", @strcat(repeats), "2", + "1", + "2.", "0.01", "2", "0.3", "2.3", + "1", "1", "0", "0", "0", "m"]; */ (string args[]) setargs() { - // string longargs[] = @strcat("0 0 4 50 -1 ",target," 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 m"); + // string longargs[] = @strcat("0 0 4 50 -1 ",target," 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 m"); - // [alpha_i alpha_m beta gamma delta target_innov - // [n_epochs n_steps n_reruns] [range] - // [verbose_level] - // [T_start T_end Annealing_steps Target_rejection Starting_jump] - // [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta] [operation-code:(m,a) Nworkers] + // [alpha_i alpha_m beta gamma delta target_innov + // [n_epochs n_steps n_reruns] [range] + // [verbose_level] + // [T_start T_end Annealing_steps Target_rejection Starting_jump] + // [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta] [operation-code:(m,a) Nworkers] } -######### HOLD JUNK +////////////////// HOLD JUNK -# tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), -# color( /* 2 */ 1," %f"), "\n\n"), -# i, rejection[i][j] ); // , rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); -# FIXME: determine correct rejection[] values to avoid hanging: -# tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), -# color( /* 2 */ 1," %f"), color(7," %f"), color(5," %f"), color(9," %f"), color(6," %f"), "\n\n"), -# rejection[i][0], rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); -# END FIXME +// tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), +// color( /* 2 */ 1," %f"), "\n\n"), +// i, rejection[i][j] ); // , rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); +// FIXME: determine correct rejection[] values to avoid hanging: +// tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), +// color( /* 2 */ 1," %f"), color(7," %f"), color(5," %f"), color(9," %f"), color(6," %f"), "\n\n"), +// rejection[i][0], rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); +// END FIXME From jonmon at ci.uchicago.edu Wed Feb 1 12:38:21 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 1 Feb 2012 12:38:21 -0600 (CST) Subject: [Swift-commit] r5541 - SwiftApps/SciColSim Message-ID: <20120201183821.130959CCB4@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-01 12:38:20 -0600 (Wed, 01 Feb 2012) New Revision: 5541 Modified: SwiftApps/SciColSim/TODO Log: two added TODO Modified: SwiftApps/SciColSim/TODO =================================================================== --- SwiftApps/SciColSim/TODO 2012-02-01 16:51:40 UTC (rev 5540) +++ SwiftApps/SciColSim/TODO 2012-02-01 18:38:20 UTC (rev 5541) @@ -109,3 +109,7 @@ sufficient. (yes -it does 1 woth reruns = 1 [x] Determine annealing.swift output files needed. + +[ ] Track negative number scenario + +[ ] create a lib directory of swift scripts to import in the swift release \ No newline at end of file From jonmon at ci.uchicago.edu Wed Feb 1 15:05:30 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 1 Feb 2012 15:05:30 -0600 (CST) Subject: [Swift-commit] r5542 - SwiftApps/SciColSim Message-ID: <20120201210530.209999CFBD@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-01 15:05:29 -0600 (Wed, 01 Feb 2012) New Revision: 5542 Modified: SwiftApps/SciColSim/annealing.swift Log: parameterized the variables to annealing.swift. Will document in the README Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-01 18:38:20 UTC (rev 5541) +++ SwiftApps/SciColSim/annealing.swift 2012-02-01 21:05:29 UTC (rev 5542) @@ -82,7 +82,7 @@ curr_sdev[j] = mlres[0][0].sdev; } - iterate iter_i + iterate iter_i // number of annealing cycles { // foreach i in [1:annealing_cycles] int i = iter_i + 1; @@ -174,8 +174,8 @@ tracef("multi_annealing: AR: %f vs %f\n", r, ratio); - if (r > ratio) - { // Reject new parameter + if (r > ratio) // Reject new parameter + { x[i][j] = x[i-1][j]; rejection[i][j] = rejection[i-1][j] + 1.0; // FIXME: AR: Is this correct? incr rejection? curr_loss[curr] = curr_loss[prev]; @@ -184,8 +184,8 @@ tracef( "multi_annealing: AR: %i,%i %i Did not accept: %f (%i)\n", i, j, i, try_x[j], j ); tracef( "multi_annealing: AR: %f %f %f %f %f\n", try_x[0],try_x[1],try_x[2],try_x[3],try_x[4] ); } - else - { // Accept new parameter + else // Accept new parameter + { tracef( "multi_annealing: Accepting try_x[j], i=%i j=%i\n",i,j ); x[i][j] = try_x[j]; @@ -222,8 +222,8 @@ curr_sdev[curr] = curr_sdev[prev]; // dx[i][j] not set for fixed vars } - } until(j == NEVOPARAMS-1); - } until(iter_i == (annealing_cycles-1)); + } until( j == (NEVOPARAMS-1) ); + } until( iter_i == (annealing_cycles-1) ); } (Res r) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) @@ -232,7 +232,7 @@ file rfile[]; file ofile[]; // FIXME: to obtain timings and otehr stats - tracef("multi_loss: entered: ci=%i cj=%i target_innov=%f evolve_reruns=%i x=%q\n",ci, cj, target_innov,evolve_reruns,x); + tracef( "multi_loss: entered: ci=%i cj=%i target_innov=%f evolve_reruns=%i x=%q\n",ci, cj, target_innov,evolve_reruns,x ); int appCalls = @toint(@tofloat(evolve_reruns) / @tofloat(rerunsPerApp)); // FIXME: handle fractional issues and rounding etc. For now must divide evenly @@ -298,19 +298,19 @@ file lossfile; // ; ( outfile,lossfile ) = multi_annealing( - 2.0, - 0.01, - 0.3, - 100, - 2.3, - [0.0, 0.0, 4.0, 50.0, -1.0], + @tofloat(@arg("tstart", "2.0")), + @tofloat(@arg("tend", "0.01")), + @tofloat(@arg("trejection", "0.3")), + @toint(@arg("erruns", "100")), + @tofloat(@arg("startingjump", "2.3")), + [@tofloat(@arg("alphai", "0.0")), @tofloat(@arg("alpham", "0.0")), @tofloat(@arg("beta", "4.0")), @tofloat(@arg("gamma", "50.0")), @tofloat(@arg("delta", "-1.0"))], @tofloat(target_innov), - 30 ); + @toint(@arg("annealingcycles", "50")) ); } } } -rerunsPerApp = 100; +rerunsPerApp = @toint(@arg("rerunsperapp", "100")); main() { From jonmon at ci.uchicago.edu Wed Feb 1 15:12:18 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 1 Feb 2012 15:12:18 -0600 (CST) Subject: [Swift-commit] r5543 - SwiftApps/SciColSim Message-ID: <20120201211218.428299CFBD@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-01 15:12:18 -0600 (Wed, 01 Feb 2012) New Revision: 5543 Modified: SwiftApps/SciColSim/README SwiftApps/SciColSim/TODO Log: Added to the README what are the command line arguments Added a TODO item to document what each one does Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-01 21:05:29 UTC (rev 5542) +++ SwiftApps/SciColSim/README 2012-02-01 21:12:18 UTC (rev 5543) @@ -136,8 +136,28 @@ (currently, parameters are set in a few different places in annealing.swift) Sample output (w/ bugs remaining) is in sample.test-swift.output - +*** Parameter on the command line + The command line options are: + -nworkers= + -minrange= + -maxrange= + -rangeinc= + -tstart= + -tend= + -trejection= + -erruns= + -startingjump= + -alphai= + -alpham= + -beta= + -gamma= + -delta= + -annealingcycles= + -rerunsperapp= + + + Optimizer output (both from C++ optimizer and Swift) generates text with escape sequences to display colored text. Some versions of more and less need special options set (eg in env var?) to display the Modified: SwiftApps/SciColSim/TODO =================================================================== --- SwiftApps/SciColSim/TODO 2012-02-01 21:05:29 UTC (rev 5542) +++ SwiftApps/SciColSim/TODO 2012-02-01 21:12:18 UTC (rev 5543) @@ -112,4 +112,6 @@ [ ] Track negative number scenario -[ ] create a lib directory of swift scripts to import in the swift release \ No newline at end of file +[ ] create a lib directory of swift scripts to import in the swift release + +[ ] Document each command line parameter for annealing.swift From jonmon at ci.uchicago.edu Thu Feb 2 13:00:16 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 2 Feb 2012 13:00:16 -0600 (CST) Subject: [Swift-commit] r5544 - SwiftApps/SciColSim Message-ID: <20120202190016.452E39CCFA@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-02 13:00:16 -0600 (Thu, 02 Feb 2012) New Revision: 5544 Modified: SwiftApps/SciColSim/README SwiftApps/SciColSim/annealing.swift Log: Updates to the REAMDE documentation. Changed erruns to evoreruns in annealing.swift Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-01 21:12:18 UTC (rev 5543) +++ SwiftApps/SciColSim/README 2012-02-02 19:00:16 UTC (rev 5544) @@ -140,21 +140,39 @@ *** Parameter on the command line The command line options are: -nworkers= + -minrange= + -maxrange= + -rangeinc= + -tstart= + -tend= + -trejection= - -erruns= + + -evoreruns= + -startingjump= + Controls the dx and/or rejection variable + -alphai= + -alpham= + -beta= + -gamma= + -delta= + -annealingcycles= + Number of times to run the annealing process for a given target innovation + -rerunsperapp= + Number of evolve reruns to do per app call Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-01 21:12:18 UTC (rev 5543) +++ SwiftApps/SciColSim/annealing.swift 2012-02-02 19:00:16 UTC (rev 5544) @@ -301,7 +301,7 @@ @tofloat(@arg("tstart", "2.0")), @tofloat(@arg("tend", "0.01")), @tofloat(@arg("trejection", "0.3")), - @toint(@arg("erruns", "100")), + @toint(@arg("evoreruns", "100")), @tofloat(@arg("startingjump", "2.3")), [@tofloat(@arg("alphai", "0.0")), @tofloat(@arg("alpham", "0.0")), @tofloat(@arg("beta", "4.0")), @tofloat(@arg("gamma", "50.0")), @tofloat(@arg("delta", "-1.0"))], @tofloat(target_innov), From swift at ci.uchicago.edu Thu Feb 2 14:45:03 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Thu, 2 Feb 2012 14:45:03 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120202204504.499018D00081@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3357 | jonmon | 2012-02-02 14:44:16 -0600 (Thu, 02 Feb 2012) | 3 lines Fixed missing parameter in LocalTCPService.registrationReceived method ------------------------------------------------------------------------ Index: modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/LocalTCPService.java =================================================================== --- modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/LocalTCPService.java (revision 3356) +++ modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/LocalTCPService.java (working copy) @@ -51,7 +51,7 @@ } public String registrationReceived(String blockid, String url, - KarajanChannel channel) throws ChannelException { + KarajanChannel channel, Map options) throws ChannelException { if (logger.isInfoEnabled()) { logger.info("Received registration: blockid = " + blockid + ", url = " + url); @@ -61,7 +61,7 @@ String wid = registrationManager.nextId(blockid); cc.getChannelID().setRemoteID(wid); ChannelManager.getManager().registerChannel(cc.getChannelID(), channel); - registrationManager.registrationReceived(blockid, wid, url, cc); + registrationManager.registrationReceived(blockid, wid, url, cc, options); return wid; } From jonmon at ci.uchicago.edu Thu Feb 2 15:20:14 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 2 Feb 2012 15:20:14 -0600 (CST) Subject: [Swift-commit] r5545 - SwiftApps/SciColSim Message-ID: <20120202212014.1C6989CCFA@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-02 15:20:13 -0600 (Thu, 02 Feb 2012) New Revision: 5545 Modified: SwiftApps/SciColSim/README SwiftApps/SciColSim/annealing.swift Log: parameterize nreps variable and added spot for documentation in the README Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-02 19:00:16 UTC (rev 5544) +++ SwiftApps/SciColSim/README 2012-02-02 21:20:13 UTC (rev 5545) @@ -174,6 +174,7 @@ -rerunsperapp= Number of evolve reruns to do per app call + -nreps= Optimizer output (both from C++ optimizer and Swift) generates text Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-02 19:00:16 UTC (rev 5544) +++ SwiftApps/SciColSim/annealing.swift 2012-02-02 21:20:13 UTC (rev 5545) @@ -285,7 +285,7 @@ // FIXME: add provision for random priming and random param values when x[i] == -100 (see optimizer.cpp main()) - int nreps = 1; // 15 + int nreps = @toint(@arg("nreps", "1")); // file bestfile ; // file maxfile ; From ketan at ci.uchicago.edu Fri Feb 3 16:14:30 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 3 Feb 2012 16:14:30 -0600 (CST) Subject: [Swift-commit] r5546 - SwiftApps/SciColSim Message-ID: <20120203221430.C08039CCB4@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-03 16:14:30 -0600 (Fri, 03 Feb 2012) New Revision: 5546 Added: SwiftApps/SciColSim/sites.beagle.quick.xml Modified: SwiftApps/SciColSim/sites.beagle.xml Log: fix beagle sites files Added: SwiftApps/SciColSim/sites.beagle.quick.xml =================================================================== --- SwiftApps/SciColSim/sites.beagle.quick.xml (rev 0) +++ SwiftApps/SciColSim/sites.beagle.quick.xml 2012-02-03 22:14:30 UTC (rev 5546) @@ -0,0 +1,24 @@ + + + + CI-MCB000119 + + KEEP + + 1 + 24 + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 10000 + 02:00:00 + 20 + 2 + 2 + route + 9.59 + 10000 + + /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir + + Modified: SwiftApps/SciColSim/sites.beagle.xml =================================================================== --- SwiftApps/SciColSim/sites.beagle.xml 2012-02-02 21:20:13 UTC (rev 5545) +++ SwiftApps/SciColSim/sites.beagle.xml 2012-02-03 22:14:30 UTC (rev 5546) @@ -4,15 +4,18 @@ CI-MCB000119 KEEP - - 24 + + 24 + 1 pbs.aprun;pbs.mpp;depth=24 - 1800 - 1 - 1 - 1 - 1 - 0.23 + 37000 + 10:00:00 + 20 + 100 + 100 + 2 + 2 + 9.59 10000 /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir From davidk at ci.uchicago.edu Sat Feb 4 17:45:27 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Sat, 4 Feb 2012 17:45:27 -0600 (CST) Subject: [Swift-commit] r5547 - in trunk/tests: . bugs Message-ID: <20120204234527.7376F9CCA2@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-04 17:45:26 -0600 (Sat, 04 Feb 2012) New Revision: 5547 Modified: trunk/tests/bugs/481-array-hang.swift trunk/tests/suite.sh Log: Fix for suite.sh which had some svn merge info Modified: trunk/tests/bugs/481-array-hang.swift =================================================================== --- trunk/tests/bugs/481-array-hang.swift 2012-02-03 22:14:30 UTC (rev 5546) +++ trunk/tests/bugs/481-array-hang.swift 2012-02-04 23:45:26 UTC (rev 5547) @@ -1,4 +1,5 @@ int[] a = [1, 2, 3]; +// _THIS-SCRIPT-SHOULD-FAIL_ // hangs waiting for a[4] -trace(a[4]); \ No newline at end of file +trace(a[4]); Modified: trunk/tests/suite.sh =================================================================== --- trunk/tests/suite.sh 2012-02-03 22:14:30 UTC (rev 5546) +++ trunk/tests/suite.sh 2012-02-04 23:45:26 UTC (rev 5547) @@ -584,13 +584,8 @@ fi RESULT=$( result ) -<<<<<<< .working output_report test $SEQ "$LASTCMD" $RESULT $OUTPUT -======= ->>>>>>> .merge-right.r5122 - output_report test $SEQ "$LASTCMD" $RESULT $OUTPUT - check_bailout let "SEQ=$SEQ+1" From swift at ci.uchicago.edu Sat Feb 4 20:15:03 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 4 Feb 2012 20:15:03 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120205021504.49D068D00081@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3358 | hategan | 2012-02-04 20:14:07 -0600 (Sat, 04 Feb 2012) | 1 line removed username and key attribute use; .ssh/config should be used for those ------------------------------------------------------------------------ Index: modules/provider-ssh/src/org/globus/cog/abstraction/impl/sshcl/execution/JobSubmissionTaskHandler.java =================================================================== --- modules/provider-ssh/src/org/globus/cog/abstraction/impl/sshcl/execution/JobSubmissionTaskHandler.java (revision 3357) +++ modules/provider-ssh/src/org/globus/cog/abstraction/impl/sshcl/execution/JobSubmissionTaskHandler.java (working copy) @@ -49,17 +49,7 @@ List cmdarray = new ArrayList(); cmdarray.add(ssh); - - if (spec.getAttribute("username") != null) { - cmdarray.add("-l"); - cmdarray.add(spec.getAttribute("username").toString()); - } - if (spec.getAttribute("key") != null) { - cmdarray.add("-i"); - cmdarray.add(spec.getAttribute("key").toString()); - } - if (service.getServiceContact().getPort() > 0) { cmdarray.add("-p"); cmdarray.add(String.valueOf(service.getServiceContact().getPort())); From swift at ci.uchicago.edu Sat Feb 4 20:20:04 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 4 Feb 2012 20:20:04 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120205022005.D6A1D8D00081@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3359 | hategan | 2012-02-04 20:15:47 -0600 (Sat, 04 Feb 2012) | 1 line fixed environment variable setting in ssh-cl provider ------------------------------------------------------------------------ Index: modules/provider-ssh/src/org/globus/cog/abstraction/impl/sshcl/execution/JobSubmissionTaskHandler.java =================================================================== --- modules/provider-ssh/src/org/globus/cog/abstraction/impl/sshcl/execution/JobSubmissionTaskHandler.java (revision 3358) +++ modules/provider-ssh/src/org/globus/cog/abstraction/impl/sshcl/execution/JobSubmissionTaskHandler.java (working copy) @@ -86,6 +86,7 @@ } for (String env : spec.getEnvironmentVariableNames()) { + ps.print("export "); ps.print(escape(env)); ps.print("="); ps.println(escape(spec.getEnvironmentVariable(env))); From hategan at ci.uchicago.edu Sun Feb 5 04:33:37 2012 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Sun, 5 Feb 2012 04:33:37 -0600 (CST) Subject: [Swift-commit] r5548 - trunk/src/org/griphyn/vdl/engine Message-ID: <20120205103337.6FA559CCED@svn.ci.uchicago.edu> Author: hategan Date: 2012-02-05 04:33:36 -0600 (Sun, 05 Feb 2012) New Revision: 5548 Modified: trunk/src/org/griphyn/vdl/engine/Karajan.java Log: check if type is actually a structure on field access and generate a proper error instead of a NPE Modified: trunk/src/org/griphyn/vdl/engine/Karajan.java =================================================================== --- trunk/src/org/griphyn/vdl/engine/Karajan.java 2012-02-04 23:45:26 UTC (rev 5547) +++ trunk/src/org/griphyn/vdl/engine/Karajan.java 2012-02-05 10:33:36 UTC (rev 5548) @@ -1325,23 +1325,27 @@ parentType = baseType; } - String actualType = null; // TODO this should be a map lookup of some kind? Type t = typesMap.get(parentType); - + + if (t == null) { + // this happens when trying to access a field of a built-in type + // which cannot currently be a structure + throw new CompilationException("Type " + parentType + " is not a structure"); + } + TypeStructure ts = t.getTypestructure(); - int j = 0; - for (j = 0; j < ts.sizeOfMemberArray(); j++) { + + String actualType = null; + for (int j = 0; j < ts.sizeOfMemberArray(); j++) { if (ts.getMemberArray(j).getMembername().equals(sm.getMemberName())) { actualType = ts.getMemberArray(j).getMembertype(); break; } - if (j == ts.sizeOfMemberArray()) - throw new CompilationException("No member " + sm.getMemberName() + " in structure " + parentType); } if (actualType == null) { - throw new CompilationException("Type " + parentType + " is not defined."); + throw new CompilationException("No member " + sm.getMemberName() + " in type " + parentType); } StringTemplate newst; if(arrayMode) { From jonmon at ci.uchicago.edu Mon Feb 6 11:08:58 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 6 Feb 2012 11:08:58 -0600 (CST) Subject: [Swift-commit] r5549 - SwiftApps/SciColSim Message-ID: <20120206170858.BCA369CFAA@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-06 11:08:58 -0600 (Mon, 06 Feb 2012) New Revision: 5549 Modified: SwiftApps/SciColSim/annealing.swift Log: write to best_opt_some_swift.txt file using fprintf Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-05 10:33:36 UTC (rev 5548) +++ SwiftApps/SciColSim/annealing.swift 2012-02-06 17:08:58 UTC (rev 5549) @@ -160,9 +160,9 @@ if ( mlres[i][j].loss < ALOT ) { - tracef( "multi_annealing: AF: best_opt_some.txt: %f,%f,%f,%f,%f,%f,%f,%f\n", + fprintf( "best_opt_some_swift.txt", "%f,%f,%f,%f,%f,%f,%f,%f\n", target_innov, mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); - tracef( color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() + fprintf( "max_dist_swift.txt", color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() } else { // does this ever occur? if so did we want to still do the ratio computation above??? From davidk at ci.uchicago.edu Mon Feb 6 15:26:50 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Mon, 6 Feb 2012 15:26:50 -0600 (CST) Subject: [Swift-commit] r5550 - trunk/docs/userguide Message-ID: <20120206212650.EDC219CCED@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-06 15:26:50 -0600 (Mon, 06 Feb 2012) New Revision: 5550 Modified: trunk/docs/userguide/app_procedures Log: Add sprintf to the userguide Modified: trunk/docs/userguide/app_procedures =================================================================== --- trunk/docs/userguide/app_procedures 2012-02-06 17:08:58 UTC (rev 5549) +++ trunk/docs/userguide/app_procedures 2012-02-06 21:26:50 UTC (rev 5550) @@ -324,6 +324,27 @@ will assign the value "abmonkeyhi" to the variable v. + at sprintf +~~~~~~~~ + at sprintf(spec, variable list) will generate a string based on the specified format. +----- +Example: string s = @sprintf("\t%s\n", "hello"); +----- + +Format specifiers +[width="100%",frame="topbot"] +|====================== +|%%| % sign +|%M| Filename output (waits for close) +|%p| Format variable according to an internal format +|%b| Boolean output +|%f| Float output +|%i| int output +|%s| String output +|%k| Variable sKipped, no output +|%q| Array output +|====================== + @strcat ~~~~~~~ @strcat(a,b,c,d,...) will return a string containing all of the From davidk at ci.uchicago.edu Mon Feb 6 15:44:39 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Mon, 6 Feb 2012 15:44:39 -0600 (CST) Subject: [Swift-commit] r5551 - trunk/tests/language-behaviour/arrays Message-ID: <20120206214439.4F2C49CCED@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-06 15:44:39 -0600 (Mon, 06 Feb 2012) New Revision: 5551 Added: trunk/tests/language-behaviour/arrays/nested_array1.out.expected trunk/tests/language-behaviour/arrays/nested_array1.swift trunk/tests/language-behaviour/arrays/nested_array2.out.expected trunk/tests/language-behaviour/arrays/nested_array2.swift trunk/tests/language-behaviour/arrays/nested_array3.out.expected trunk/tests/language-behaviour/arrays/nested_array3.swift Log: Regression tests for bug #696 Added: trunk/tests/language-behaviour/arrays/nested_array1.out.expected =================================================================== --- trunk/tests/language-behaviour/arrays/nested_array1.out.expected (rev 0) +++ trunk/tests/language-behaviour/arrays/nested_array1.out.expected 2012-02-06 21:44:39 UTC (rev 5551) @@ -0,0 +1 @@ +in sub: iap=[100,101] Added: trunk/tests/language-behaviour/arrays/nested_array1.swift =================================================================== --- trunk/tests/language-behaviour/arrays/nested_array1.swift (rev 0) +++ trunk/tests/language-behaviour/arrays/nested_array1.swift 2012-02-06 21:44:39 UTC (rev 5551) @@ -0,0 +1,34 @@ +type file; + +app (file o) echo (string input) +{ + echo input stdout=@o; +} + + +main() +{ + foreach i in [0:0] { + int ia[]; + if(true) { + foreach j in [0:1] { + if (j==0) { + ia[j] = 100; + } + else { + ia[j] = 101; + } + } + sub(ia); + } + } +} + +sub(int iap[]) +{ + file f <"nested_array1.out">; + f = echo(@sprintf("in sub: iap=%q",iap)); +} + +main(); + Added: trunk/tests/language-behaviour/arrays/nested_array2.out.expected =================================================================== --- trunk/tests/language-behaviour/arrays/nested_array2.out.expected (rev 0) +++ trunk/tests/language-behaviour/arrays/nested_array2.out.expected 2012-02-06 21:44:39 UTC (rev 5551) @@ -0,0 +1 @@ +in sub: iap=[100,101] Added: trunk/tests/language-behaviour/arrays/nested_array2.swift =================================================================== --- trunk/tests/language-behaviour/arrays/nested_array2.swift (rev 0) +++ trunk/tests/language-behaviour/arrays/nested_array2.swift 2012-02-06 21:44:39 UTC (rev 5551) @@ -0,0 +1,30 @@ +type file; + +app (file o) echo (string input) +{ + echo input stdout=@o; +} + +main() +{ + foreach i in [0:0] { + int ia[]; + foreach j in [0:1] { + if (j==0) { + ia[j] = 100; + } + else { + ia[j] = 101; + } + } + sub(ia); + } +} + +sub(int iap[]) +{ + file f<"nested_array2.out">; + f = echo(@sprintf("in sub: iap=%q",iap)); +} + +main(); Added: trunk/tests/language-behaviour/arrays/nested_array3.out.expected =================================================================== --- trunk/tests/language-behaviour/arrays/nested_array3.out.expected (rev 0) +++ trunk/tests/language-behaviour/arrays/nested_array3.out.expected 2012-02-06 21:44:39 UTC (rev 5551) @@ -0,0 +1 @@ +in sub: iap=[100,101] Added: trunk/tests/language-behaviour/arrays/nested_array3.swift =================================================================== --- trunk/tests/language-behaviour/arrays/nested_array3.swift (rev 0) +++ trunk/tests/language-behaviour/arrays/nested_array3.swift 2012-02-06 21:44:39 UTC (rev 5551) @@ -0,0 +1,32 @@ +type file; + +app (file o) echo (string input) +{ + echo input stdout=@o; +} + +main() +{ + foreach i in [0:0] { + if(true) { + int ia[]; + foreach j in [0:1] { + if (j==0) { + ia[j] = 100; + } + else { + ia[j] = 101; + } + } + sub(ia); + } + } +} + +sub(int iap[]) +{ + file f<"nested_array3.out">; + f = echo(@sprintf("in sub: iap=%q",iap)); +} + +main(); From lgadelha at ci.uchicago.edu Tue Feb 7 05:31:21 2012 From: lgadelha at ci.uchicago.edu (lgadelha at ci.uchicago.edu) Date: Tue, 7 Feb 2012 05:31:21 -0600 (CST) Subject: [Swift-commit] r5552 - provenancedb Message-ID: <20120207113121.4BBC59CF9C@svn.ci.uchicago.edu> Author: lgadelha Date: 2012-02-07 05:31:20 -0600 (Tue, 07 Feb 2012) New Revision: 5552 Modified: provenancedb/SPQL.g provenancedb/pql_functions.sql provenancedb/prov-init.sql Log: Schema update, minor fixes to SPQL. Modified: provenancedb/SPQL.g =================================================================== --- provenancedb/SPQL.g 2012-02-06 21:44:39 UTC (rev 5551) +++ provenancedb/SPQL.g 2012-02-07 11:31:20 UTC (rev 5552) @@ -1,4 +1,4 @@ -grammar ProvSQL; +grammar SPQL; @header { import java.util.HashSet; @@ -35,9 +35,10 @@ schemaGraph.addVertex("produces"); schemaGraph.addVertex("consumes"); schemaGraph.addVertex("compare_run"); - schemaGraph.addEdge("annotation", "script_run"); - schemaGraph.addEdge("annotation", "function_call"); - schemaGraph.addEdge("annotation", "variable"); + schemaGraph.addVertex("variable_containment"); + //schemaGraph.addEdge("annotation", "script_run"); + //schemaGraph.addEdge("annotation", "function_call"); + //schemaGraph.addEdge("annotation", "variable"); schemaGraph.addEdge("script_run", "function_call"); schemaGraph.addEdge("function_call", "consumes"); schemaGraph.addEdge("function_call", "produces"); @@ -47,7 +48,7 @@ schemaGraph.addEdge("variable", "variable_containment"); schemaGraph.addEdge("variable", "consumes"); schemaGraph.addEdge("variable", "produces"); - + return schemaGraph; } @@ -120,19 +121,16 @@ HashMap joinExpressions = new HashMap(); String joinExpressionsString = new String(); - joinExpressions.put(schemaGraph.getEdge("annotation", "script_run"), "annotation.script_run_id=script_run.id"); + //joinExpressions.put(schemaGraph.getEdge("annotation", "script_run"), "annotation.script_run_id=script_run.id"); joinExpressions.put(schemaGraph.getEdge("script_run", "function_call"), "script_run.id=function_call.script_run_id"); - joinExpressions.put(schemaGraph.getEdge("function_call", "annotation"), "function_call.id=annotation.function_call_id"); - joinExpressions.put(schemaGraph.getEdge("function_call", "annotation"), "function_call.id=annotation.function_call_id"); + //joinExpressions.put(schemaGraph.getEdge("function_call", "annotation"), "function_call.id=annotation.function_call_id"); joinExpressions.put(schemaGraph.getEdge("function_call", "produces"), "function_call.id=produces.function_call_id"); joinExpressions.put(schemaGraph.getEdge("function_call", "consumes"), "function_call.id=consumes.function_call_id"); - joinExpressions.put(schemaGraph.getEdge("application_execution", "rt_info"), "application_execution.id=rt_info.application_execution_id"); + joinExpressions.put(schemaGraph.getEdge("function_call", "application_execution"), "function_call.id=application_execution.function_call_id"); + joinExpressions.put(schemaGraph.getEdge("application_execution", "runtime_info"), "application_execution.id=runtime_info.application_execution_id"); joinExpressions.put(schemaGraph.getEdge("variable", "consumes"), "variable.id=consumes.variable_id"); joinExpressions.put(schemaGraph.getEdge("variable", "produces"), "variable.id=produces.variable_id"); - joinExpressions.put(schemaGraph.getEdge("variable", "annotation"), "variable.id=annotation.variable_id"); - joinExpressions.put(schemaGraph.getEdge("variable", "annotation"), "variable.id=annotation.variable_id"); - joinExpressions.put(schemaGraph.getEdge("variable", "file"), "variable.id=file.id"); - joinExpressions.put(schemaGraph.getEdge("variable", "in_mem"), "variable.id=in_mem.id"); + //joinExpressions.put(schemaGraph.getEdge("variable", "annotation"), "variable.id=annotation.variable_id"); joinExpressions.put(schemaGraph.getEdge("variable", "containment"), "variable.id=containment.containee"); joinExpressions.put(schemaGraph.getEdge("variable", "containment"), "variable.id=containment.container"); @@ -731,7 +729,7 @@ ; STRING - : '\'' ( 'a'..'z' | 'A'..'Z' | '_' | '-' | '0'..'9' | '.' | '%')* '\'' + : '\'' ( 'a'..'z' | 'A'..'Z' | '_' | '-' | '0'..'9' | '.' | '%' | '/' | ':')* '\'' ; NEWLINE : '\r' ? '\n'; Modified: provenancedb/pql_functions.sql =================================================================== --- provenancedb/pql_functions.sql 2012-02-06 21:44:39 UTC (rev 5551) +++ provenancedb/pql_functions.sql 2012-02-07 11:31:20 UTC (rev 5552) @@ -4,92 +4,10 @@ -- SQL Functions -- lists variations in a parameter's value across workflows, for parameters that are in-memory variables -drop view in_mem_in cascade; -create view in_mem_in as - select proc.run_id, proc.id as proc_id, - proc.name as proc_name, ds_in.ds_id, - ds_in.param, in_mem.value - from proc, ds_in, in_mem - where proc.id=ds_in.proc_id and ds_in.ds_id=in_mem.id; -drop view in_mem_out cascade; -create view in_mem_out as - select proc.run_id, proc.id as proc_id, - proc.name as proc_name, ds_out.ds_id, - ds_out.param, in_mem.value - from proc, ds_out, in_mem - where proc.id=ds_out.proc_id and ds_out.ds_id=in_mem.id; - -drop view in_mem_use cascade; -create view in_mem_use as - select * from in_mem_in - union - select * from in_mem_out; -drop view file_in cascade; -create view file_in as - select proc.run_id, proc.id as proc_id, - proc.name as proc_name, ds_in.ds_id, - ds_in.param, file.name as value - from proc, ds_in, file - where proc.id=ds_in.proc_id and ds_in.ds_id=file.id; -drop view file_out cascade; -create view file_out as - select proc.run_id, proc.id as proc_id, - proc.name as proc_name, ds_out.ds_id, - ds_out.param, file.name as value - from proc, ds_out, file - where proc.id=ds_out.proc_id and ds_out.ds_id=file.id; - -drop view file_use cascade; -create view file_use as - select * from file_in - union - select * from file_out; -drop view ds_param_value cascade; -create view ds_param_value as - select * from in_mem_use - union - select * from file_use; - -drop view a_t cascade; -create view a_t as - select run.id, a_run_t.name, a_run_t.value - from run, a_run_t - where run.id=a_run_t.run_id - union - select proc.run_id, a_proc_t.name, a_proc_t.value - from proc, a_proc_t - where proc.id=a_proc_t.proc_id - union - select ds_use.run_id, a_ds_t.name, a_ds_t.value - from ds_use, a_ds_t - where ds_use.ds_id=a_ds_t.ds_id; - -drop view a_n cascade; -create view a_n as - select run.id, a_run_n.name, a_run_n.value - from run, a_run_n - where run.id=a_run_n.run_id - union - select proc.run_id, a_proc_n.name, a_proc_n.value - from proc, a_proc_n - where proc.id=a_proc_n.proc_id - union - select ds_use.run_id, a_ds_n.name, a_ds_n.value - from ds_use, a_ds_n - where ds_use.ds_id=a_ds_n.ds_id; - -drop view ds_use cascade; -create view ds_use as - select *,'I' as direction from ds_in - union all - select *,'O' as direction from ds_out; - - - drop type compare_run_by_parameter_type cascade; create type compare_run_by_parameter_type as (run_id varchar, param varchar, value varchar); Modified: provenancedb/prov-init.sql =================================================================== --- provenancedb/prov-init.sql 2012-02-06 21:44:39 UTC (rev 5551) +++ provenancedb/prov-init.sql 2012-02-07 11:31:20 UTC (rev 5552) @@ -146,7 +146,16 @@ primary key (proc_id,ds_id,param) ); +drop view ds_use; +create view ds_use as + SELECT ds_in.proc_id as function_call_id, ds_in.ds_id as variable_id, ds_in.param as parameter + FROM ds_in +UNION ALL + SELECT ds_out.proc_id as function_call_id, ds_out.ds_id as variable_id, ds_out.param as parameter + FROM ds_out; + + -- annotations (_n: numeric, _t: text) create table a_ds_n ( ds_id varchar(256) references ds (id) on delete cascade, @@ -204,9 +213,7 @@ union all select out_id as parent,in_id as child from ds_cont; --- continue renaming from here - - +drop view a_t cascade; create view a_t as select * from a_run_t @@ -217,6 +224,7 @@ select * from a_proc_t; +drop view a_n cascade; create view a_n as select * from a_run_n @@ -231,8 +239,9 @@ drop view function_call; +-- TODO: move tc_name to application_execution (app_exec) create view function_call as - select proc.id, proc.type, proc.name, proc.run_id, app_inv.proc_name, + select proc.id, app_inv.proc_name as name, proc.type, proc.name as tc_name, proc.run_id as script_run_id, to_timestamp(app_inv.start_time), app_inv.duration, app_inv.final_state, app_inv.scratch from proc left outer join From davidk at ci.uchicago.edu Tue Feb 7 08:16:18 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 7 Feb 2012 08:16:18 -0600 (CST) Subject: [Swift-commit] r5553 - in trunk/tests: functions groups Message-ID: <20120207141618.B12629CF9C@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-07 08:16:18 -0600 (Tue, 07 Feb 2012) New Revision: 5553 Modified: trunk/tests/functions/450-tracef.check.sh trunk/tests/groups/group-all-local.sh Log: Add function tests to nightly tests Fix the check script for 450-tracef Modified: trunk/tests/functions/450-tracef.check.sh =================================================================== --- trunk/tests/functions/450-tracef.check.sh 2012-02-07 11:31:20 UTC (rev 5552) +++ trunk/tests/functions/450-tracef.check.sh 2012-02-07 14:16:18 UTC (rev 5553) @@ -10,6 +10,6 @@ grep "pointer:.*Closed" 450-tracef.stdout || exit 1 [[ $( grep -c "WORD" 450-tracef.stdout ) == 2 ]] || exit 1 -[[ $( grep "WORD" 450-tracef.stdout | wc -w ) == 5 ]] || exit 1 +[[ $( grep -o '\' 450-tracef.stdout | wc -l ) == 4 ]] || exit 1 exit 0 Modified: trunk/tests/groups/group-all-local.sh =================================================================== --- trunk/tests/groups/group-all-local.sh 2012-02-07 11:31:20 UTC (rev 5552) +++ trunk/tests/groups/group-all-local.sh 2012-02-07 14:16:18 UTC (rev 5553) @@ -23,6 +23,7 @@ $TESTDIR/language-behaviour/cleanup \ $TESTDIR/bugs \ $TESTDIR/documentation/tutorial \ + $TESTDIR/functions \ # $TESTDIR/cdm/ps/pinned # $TESTDIR/site/intrepid ) From ketan at ci.uchicago.edu Tue Feb 7 15:47:30 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 15:47:30 -0600 (CST) Subject: [Swift-commit] r5555 - SwiftApps/SciColSim Message-ID: <20120207214730.E09DA9CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 15:47:30 -0600 (Tue, 07 Feb 2012) New Revision: 5555 Added: SwiftApps/SciColSim/RunSwift.sh SwiftApps/SciColSim/start-mcs-workers Log: adding mcs workers running script Added: SwiftApps/SciColSim/RunSwift.sh =================================================================== --- SwiftApps/SciColSim/RunSwift.sh (rev 0) +++ SwiftApps/SciColSim/RunSwift.sh 2012-02-07 21:47:30 UTC (rev 5555) @@ -0,0 +1,49 @@ +#!/bin/bash + +# ./Runswift local to run on sandbox +# ./Runswift clustersmall to run on beagle pbs cluster at small scale +# ./Runswift clusterquick to run on beagle pbs cluster at large scale + +escapecode=$(echo -n -e '\033') + +count=$(head -1 counter.txt); +expr $count + 1 > counter.txt +mkdir run$count +cp /home/ketan/SciColSim/*.swift run$count/ +cp /home/ketan/SciColSim/sites.beagle.xml run$count/ +cp /home/ketan/SciColSim/sites.beagle.quick.xml run$count/ +cp local.xml run$count/ +cp /home/ketan/SciColSim/tc run$count/ +cp /home/ketan/SciColSim/movie_graph.txt run$count/ +cp /home/ketan/SciColSim/cf run$count/ +cd run$count + +if [ $1 = "local" ] +then + #SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file local.xml -config cf annealing.swift -e33="$escapecode" -nworkers=36 >& swift.out + #Total jobs = 6 * 1 * 120/20 * 3 * 100 = 10,800 + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file local.xml -config cf annealing.swift -e33="$escapecode" -nworkers=6 -minrange=58 -maxrange=64 -rangeinc=1 -evoreruns=120 -nreps=1 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=20 >& swift.out + +elif [ $1 = "clusterbig" ] +then + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.xml -config cf annealing.swift -e33="$escapecode" -nworkers=24 -rangeinc=50 -evoreruns=960 -startingjump=2.3 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=192 >& swift.out + +elif [ $1 = "clustersmall" ] +then + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.xml -config cf annealing.swift \-e33="$escapecode" \ + >& swift.out + +elif [ $1 = "clusterquick" ] +then +#target_innovation=(1009-58)/50=~20 +#repeats=nreps=1 +# 3 repeats constant (serial) +#annealing_cycles=100 (serial) +#rerunsperapp=192 +#evoreruns=960 +#J=evoreruns/rerunsperapp=960/192=5 + +#Total parallel jobs = (maxrange-minrange)/rangeinc * nreps * (evoreruns/rerunsperapp) = (1009-58)/50 * 1 * 960/192 = 20*5 = 100 Jobs = 2400 openmp jobs in parallel + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.quick.xml -config cf annealing.swift -e33="$escapecode" -nworkers=24 -minrange=58 -maxrange=1009 -rangeinc=50 -evoreruns=960 -nreps=1 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=192 >& swift.out +fi + Property changes on: SwiftApps/SciColSim/RunSwift.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/SciColSim/start-mcs-workers =================================================================== --- SwiftApps/SciColSim/start-mcs-workers (rev 0) +++ SwiftApps/SciColSim/start-mcs-workers 2012-02-07 21:47:30 UTC (rev 5555) @@ -0,0 +1,42 @@ +#! /bin/bash + +#if [ $# -gt 0 ]; then +# COMPUTEHOSTS=$* +#fi + +#for h in $COMPUTEHOSTS; do +# echo Host: $h +# ssh $h rm -rf /tmp/$USER +# if [ $(expr $h : -) != 0 ]; then +# echo $0: Error: invalid argument or host name: $h +# exit 1 +# fi +#done + +COMPUTEHOSTS='crush thwomp stomp crank steamroller grind churn trounce thrash vanquish' + +SWIFTBIN=/home/ketan/swift-install/0.93/cog/modules/swift/dist/swift-svn/bin +#SERVICE_URL="http://140.221.8.75:35753" +SERVICE_URL="$1" + +LOGDIR=/tmp/$USER/Swift/workers + +IDLETIMEOUT=$((60*60*240)) # 10 days: FIXME: make this a command line arg + + +for host in $(echo $COMPUTEHOSTS); do + timestamp=$(date "+%Y.%m%d.%H%M%S") + random=$(awk "BEGIN {printf \"%0.5d\", $RANDOM}") + ID=$timestamp.$random + # FIXME: make logging an argument; set false by default + # fixme:send worker.pl to remote host via stdin or scp. + ssh $host /bin/sh -c \'"mkdir -p $LOGDIR"\' + scp $SWIFTBIN/worker.pl $host:$LOGDIR + + ssh $host '/bin/sh -c '\'"WORKER_LOGGING_LEVEL=DEBUG $LOGDIR/worker.pl $SERVICE_URL $ID $LOGDIR 2>&1 & echo PID=\$!"\' >remotepid.$host $sshpidfile Property changes on: SwiftApps/SciColSim/start-mcs-workers ___________________________________________________________________ Added: svn:executable + * From ketan at ci.uchicago.edu Tue Feb 7 15:54:10 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 15:54:10 -0600 (CST) Subject: [Swift-commit] r5556 - SwiftApps/SciColSim Message-ID: <20120207215410.995389CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 15:54:10 -0600 (Tue, 07 Feb 2012) New Revision: 5556 Modified: SwiftApps/SciColSim/start-mcs-workers Log: comments Modified: SwiftApps/SciColSim/start-mcs-workers =================================================================== --- SwiftApps/SciColSim/start-mcs-workers 2012-02-07 21:47:30 UTC (rev 5555) +++ SwiftApps/SciColSim/start-mcs-workers 2012-02-07 21:54:10 UTC (rev 5556) @@ -13,6 +13,9 @@ # fi #done + +#To run: ./start-mcs-workers SERVICE_URL:port + COMPUTEHOSTS='crush thwomp stomp crank steamroller grind churn trounce thrash vanquish' SWIFTBIN=/home/ketan/swift-install/0.93/cog/modules/swift/dist/swift-svn/bin From ketan at ci.uchicago.edu Tue Feb 7 16:31:54 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 16:31:54 -0600 (CST) Subject: [Swift-commit] r5557 - SwiftApps/SciColSim Message-ID: <20120207223154.19D509CF9C@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 16:31:53 -0600 (Tue, 07 Feb 2012) New Revision: 5557 Added: SwiftApps/SciColSim/TimingEstimation.txt Log: TimingEstimation posted Added: SwiftApps/SciColSim/TimingEstimation.txt =================================================================== --- SwiftApps/SciColSim/TimingEstimation.txt (rev 0) +++ SwiftApps/SciColSim/TimingEstimation.txt 2012-02-07 22:31:53 UTC (rev 5557) @@ -0,0 +1,44 @@ +SciColSim on Beagle +=================== + +Loop Structure +-------------- +Following is the loop structure for the SciColSim application at 'full-scale' values: + +~20 target innovation values + ~15 repeats + 100 annealing cycles (serial) + 3 non-fixed vars (serial) + 1,000 reruns (=>evolve_reruns/reruns_per_app)) + call evolve (1 to 50 seconds per rerun) + + +Total number of jobs are given by the following expression: + +Number_of_jobs = target_innovation_values x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers + + = (max_range - min_range)/range_inc x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers + + = (1009 - 58)/50 x 15 x 3 x 100 x 960/192 x 24 + + = 50 x 15 x 3 x 100 x 5 x 24 + + = 27,000,000 + +Estimated Runtime on a small scale (2 laptops or 24 cores) + + =27,000,000/24 x (1 to 50 sec) + + =1,125,000 to 56,250,000 seconds + + =13 to 651 days + +Estimated Runtime on medium scale (40 Beagle nodes or 960 cores) + + =27,000,000/960 x (1 to 50 sec) + + =28,125 to 1,406,250 seconds + + =7 hours to 16 days + + From ketan at ci.uchicago.edu Tue Feb 7 16:43:31 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 16:43:31 -0600 (CST) Subject: [Swift-commit] r5558 - SwiftApps/SciColSim Message-ID: <20120207224331.22AD59CF9C@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 16:43:30 -0600 (Tue, 07 Feb 2012) New Revision: 5558 Added: SwiftApps/SciColSim/atomic_times.png SwiftApps/SciColSim/atomic_times.txt Modified: SwiftApps/SciColSim/TimingEstimation.txt Log: adding atomic times plot Modified: SwiftApps/SciColSim/TimingEstimation.txt =================================================================== --- SwiftApps/SciColSim/TimingEstimation.txt 2012-02-07 22:31:53 UTC (rev 5557) +++ SwiftApps/SciColSim/TimingEstimation.txt 2012-02-07 22:43:30 UTC (rev 5558) @@ -42,3 +42,44 @@ =7 hours to 16 days +Atomic job times of application +multi_loss(N=1, target=58) elapsed time: 0.116707 seconds 0.00194512 minutes + +multi_loss(N=1, target=108) elapsed time: 0.26613 seconds 0.0044355 minutes + +multi_loss(N=1, target=158) elapsed time: 0.379991 seconds 0.00633318 minutes + +multi_loss(N=1, target=208) elapsed time: 0.576198 seconds 0.0096033 minutes + +multi_loss(N=1, target=258) elapsed time: 1.50121 seconds 0.0250203 minutes + +multi_loss(N=1, target=308) elapsed time: 1.09665 seconds 0.0182775 minutes + +multi_loss(N=1, target=358) elapsed time: 1.49523 seconds 0.0249205 minutes + +multi_loss(N=1, target=408) elapsed time: 2.3056 seconds 0.0384267 minutes + +multi_loss(N=1, target=458) elapsed time: 3.54418 seconds 0.0590697 minutes + +multi_loss(N=1, target=508) elapsed time: 5.10912 seconds 0.085152 minutes + +multi_loss(N=1, target=558) elapsed time: 6.88611 seconds 0.114768 minutes + +multi_loss(N=1, target=608) elapsed time: 8.7683 seconds 0.146138 minutes + +multi_loss(N=1, target=658) elapsed time: 10.0665 seconds 0.167775 minutes + +multi_loss(N=1, target=708) elapsed time: 12.7259 seconds 0.212098 minutes + +multi_loss(N=1, target=758) elapsed time: 14.8005 seconds 0.246675 minutes + +multi_loss(N=1, target=808) elapsed time: 16.8803 seconds 0.281338 minutes + +multi_loss(N=1, target=858) elapsed time: 19.7864 seconds 0.329774 minutes + +multi_loss(N=1, target=908) elapsed time: 23.4506 seconds 0.390843 minutes + +multi_loss(N=1, target=958) elapsed time: 28.7667 seconds 0.479445 minutes + +multi_loss(N=1, target=1008) elapsed time: 49.0841 seconds 0.818069 minutes + Added: SwiftApps/SciColSim/atomic_times.png =================================================================== (Binary files differ) Property changes on: SwiftApps/SciColSim/atomic_times.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/SciColSim/atomic_times.txt =================================================================== --- SwiftApps/SciColSim/atomic_times.txt (rev 0) +++ SwiftApps/SciColSim/atomic_times.txt 2012-02-07 22:43:30 UTC (rev 5558) @@ -0,0 +1,21 @@ + 58 0.116707 +108 0.26613 +158 0.379991 +208 0.576198 +258 1.50121 +308 1.09665 +358 1.49523 +408 2.3056 +458 3.54418 +508 5.10912 +558 6.88611 +608 8.7683 +658 10.0665 +708 12.7259 +758 14.8005 +808 16.8803 +858 19.7864 +908 23.4506 +958 28.7667 +1008 49.0841 + From ketan at ci.uchicago.edu Tue Feb 7 21:09:46 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 21:09:46 -0600 (CST) Subject: [Swift-commit] r5559 - SwiftApps/SciColSim Message-ID: <20120208030946.B048A9CF9C@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 21:09:46 -0600 (Tue, 07 Feb 2012) New Revision: 5559 Added: SwiftApps/SciColSim/swiftoutput2plot Modified: SwiftApps/SciColSim/plot_active.plt SwiftApps/SciColSim/plot_cumulative.plt Log: added swift output to plot script Modified: SwiftApps/SciColSim/plot_active.plt =================================================================== --- SwiftApps/SciColSim/plot_active.plt 2012-02-07 22:43:30 UTC (rev 5558) +++ SwiftApps/SciColSim/plot_active.plt 2012-02-08 03:09:46 UTC (rev 5559) @@ -1,9 +1,7 @@ set terminal png enhanced set output "activeplot.png" set nokey -set xlabel "Time" +set xlabel "Time in sec" set ylabel "number of active jobs" -set yrange [0:12] -set xrange [3400:3800] set title "Active SciColSim jobs" plot "plot_active.txt" using 1 with line Modified: SwiftApps/SciColSim/plot_cumulative.plt =================================================================== --- SwiftApps/SciColSim/plot_cumulative.plt 2012-02-07 22:43:30 UTC (rev 5558) +++ SwiftApps/SciColSim/plot_cumulative.plt 2012-02-08 03:09:46 UTC (rev 5559) @@ -4,5 +4,5 @@ set nokey set xlabel "Time in seconds" set ylabel "number of completed jobs" -set title "Cumulative SciColSim jobs" +set title "Cumulative jobs" plot "plot_cumulative.txt" using 1:2 with lines Added: SwiftApps/SciColSim/swiftoutput2plot =================================================================== --- SwiftApps/SciColSim/swiftoutput2plot (rev 0) +++ SwiftApps/SciColSim/swiftoutput2plot 2012-02-08 03:09:46 UTC (rev 5559) @@ -0,0 +1,37 @@ +#!/bin/bash + +#usage: ./swiftoutput2plot + +OUTFILE=$1 + +#extract start time +TMPDATE=`grep -i progress $OUTFILE | head -n 1 | cut -f4-9 -d ' '` +START_TIME=`date +%s -d "$TMPDATE"` + +#extract end time +TMPDATE=`grep -i progress $OUTFILE | tail -n 1 | cut -f4-9 -d ' '` +END_TIME=`date +%s -d "$TMPDATE"` + +#duration +DIFFTIME=$((END_TIME - START_TIME)) + +#extract active runs in a file +grep -o -i "Active:[0-9]*" $OUTFILE | awk -F: '{print $2}' > active.txt + +#extract successful completions in a file +grep -o -i "Successfully:[0-9]*" $OUTFILE | awk -F: '{print $2}' > cumulative.txt + +#prepare tics +activelines=`wc -l active.txt | awk '{print $1}'` +cumulines=`wc -l cumulative.txt | awk '{print $1}'` + +activelinespertic=`echo "scale=5 ; $DIFFTIME / $activelines" | bc` +seq 0 $activelinespertic $DIFFTIME > activetics.txt + +cumulinespertic=`echo "scale=5 ; $DIFFTIME / $cumulines" | bc` +seq 0 $cumulinespertic $DIFFTIME > cumultics.txt + +#final plot data +paste activetics.txt active.txt > plot_active.txt +paste cumultics.txt cumulative.txt > plot_cumulative.txt + Property changes on: SwiftApps/SciColSim/swiftoutput2plot ___________________________________________________________________ Added: svn:executable + * From ketan at ci.uchicago.edu Tue Feb 7 21:11:40 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 21:11:40 -0600 (CST) Subject: [Swift-commit] r5560 - trunk/libexec/log-processing Message-ID: <20120208031140.F272A9CF9C@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 21:11:40 -0600 (Tue, 07 Feb 2012) New Revision: 5560 Added: trunk/libexec/log-processing/plot_active.plt trunk/libexec/log-processing/plot_cumulative.plt trunk/libexec/log-processing/swiftoutput2plot Modified: trunk/libexec/log-processing/normalize-log.pl Log: added plotting scripts from swift stdouterr Modified: trunk/libexec/log-processing/normalize-log.pl =================================================================== --- trunk/libexec/log-processing/normalize-log.pl 2012-02-08 03:09:46 UTC (rev 5559) +++ trunk/libexec/log-processing/normalize-log.pl 2012-02-08 03:11:40 UTC (rev 5560) @@ -15,6 +15,8 @@ read(START, $earliesttime, 64); close START; +print "earliest time: $earliesttime\n"; + open(LOG, $LOG) || die "$!\n"; foreach $n () { Added: trunk/libexec/log-processing/plot_active.plt =================================================================== --- trunk/libexec/log-processing/plot_active.plt (rev 0) +++ trunk/libexec/log-processing/plot_active.plt 2012-02-08 03:11:40 UTC (rev 5560) @@ -0,0 +1,7 @@ +set terminal png enhanced +set output "activeplot.png" +set nokey +set xlabel "Time in sec" +set ylabel "number of active jobs" +set title "Active SciColSim jobs" +plot "plot_active.txt" using 1 with line Added: trunk/libexec/log-processing/plot_cumulative.plt =================================================================== --- trunk/libexec/log-processing/plot_cumulative.plt (rev 0) +++ trunk/libexec/log-processing/plot_cumulative.plt 2012-02-08 03:11:40 UTC (rev 5560) @@ -0,0 +1,8 @@ +set terminal png enhanced +#set term postscript eps enhanced +set output "cumulativeplot.png" +set nokey +set xlabel "Time in seconds" +set ylabel "number of completed jobs" +set title "Cumulative jobs" +plot "plot_cumulative.txt" using 1:2 with lines Added: trunk/libexec/log-processing/swiftoutput2plot =================================================================== --- trunk/libexec/log-processing/swiftoutput2plot (rev 0) +++ trunk/libexec/log-processing/swiftoutput2plot 2012-02-08 03:11:40 UTC (rev 5560) @@ -0,0 +1,37 @@ +#!/bin/bash + +#usage: ./swiftoutput2plot + +OUTFILE=$1 + +#extract start time +TMPDATE=`grep -i progress $OUTFILE | head -n 1 | cut -f4-9 -d ' '` +START_TIME=`date +%s -d "$TMPDATE"` + +#extract end time +TMPDATE=`grep -i progress $OUTFILE | tail -n 1 | cut -f4-9 -d ' '` +END_TIME=`date +%s -d "$TMPDATE"` + +#duration +DIFFTIME=$((END_TIME - START_TIME)) + +#extract active runs in a file +grep -o -i "Active:[0-9]*" $OUTFILE | awk -F: '{print $2}' > active.txt + +#extract successful completions in a file +grep -o -i "Successfully:[0-9]*" $OUTFILE | awk -F: '{print $2}' > cumulative.txt + +#prepare tics +activelines=`wc -l active.txt | awk '{print $1}'` +cumulines=`wc -l cumulative.txt | awk '{print $1}'` + +activelinespertic=`echo "scale=5 ; $DIFFTIME / $activelines" | bc` +seq 0 $activelinespertic $DIFFTIME > activetics.txt + +cumulinespertic=`echo "scale=5 ; $DIFFTIME / $cumulines" | bc` +seq 0 $cumulinespertic $DIFFTIME > cumultics.txt + +#final plot data +paste activetics.txt active.txt > plot_active.txt +paste cumultics.txt cumulative.txt > plot_cumulative.txt + Property changes on: trunk/libexec/log-processing/swiftoutput2plot ___________________________________________________________________ Added: svn:executable + * From ketan at ci.uchicago.edu Tue Feb 7 21:15:42 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 21:15:42 -0600 (CST) Subject: [Swift-commit] r5561 - trunk/libexec/log-processing Message-ID: <20120208031542.8B8479CF9C@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 21:15:42 -0600 (Tue, 07 Feb 2012) New Revision: 5561 Modified: trunk/libexec/log-processing/plot_active.plt Log: minor Modified: trunk/libexec/log-processing/plot_active.plt =================================================================== --- trunk/libexec/log-processing/plot_active.plt 2012-02-08 03:11:40 UTC (rev 5560) +++ trunk/libexec/log-processing/plot_active.plt 2012-02-08 03:15:42 UTC (rev 5561) @@ -4,4 +4,4 @@ set xlabel "Time in sec" set ylabel "number of active jobs" set title "Active SciColSim jobs" -plot "plot_active.txt" using 1 with line +plot "plot_active.txt" using 1:2 with line From ketan at ci.uchicago.edu Tue Feb 7 21:15:57 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 21:15:57 -0600 (CST) Subject: [Swift-commit] r5562 - trunk/libexec/log-processing Message-ID: <20120208031557.1E7A29CF9C@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 21:15:56 -0600 (Tue, 07 Feb 2012) New Revision: 5562 Modified: trunk/libexec/log-processing/plot_active.plt Log: minor Modified: trunk/libexec/log-processing/plot_active.plt =================================================================== --- trunk/libexec/log-processing/plot_active.plt 2012-02-08 03:15:42 UTC (rev 5561) +++ trunk/libexec/log-processing/plot_active.plt 2012-02-08 03:15:56 UTC (rev 5562) @@ -3,5 +3,5 @@ set nokey set xlabel "Time in sec" set ylabel "number of active jobs" -set title "Active SciColSim jobs" +set title "Active jobs" plot "plot_active.txt" using 1:2 with line From ketan at ci.uchicago.edu Tue Feb 7 21:18:57 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 21:18:57 -0600 (CST) Subject: [Swift-commit] r5563 - SwiftApps/SciColSim Message-ID: <20120208031857.6E3609CF9C@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 21:18:57 -0600 (Tue, 07 Feb 2012) New Revision: 5563 Modified: SwiftApps/SciColSim/plot_active.plt Log: minor Modified: SwiftApps/SciColSim/plot_active.plt =================================================================== --- SwiftApps/SciColSim/plot_active.plt 2012-02-08 03:15:56 UTC (rev 5562) +++ SwiftApps/SciColSim/plot_active.plt 2012-02-08 03:18:57 UTC (rev 5563) @@ -3,5 +3,5 @@ set nokey set xlabel "Time in sec" set ylabel "number of active jobs" -set title "Active SciColSim jobs" -plot "plot_active.txt" using 1 with line +set title "Active jobs" +plot "plot_active.txt" using 1:2 with line From davidk at ci.uchicago.edu Wed Feb 8 08:22:29 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Wed, 8 Feb 2012 08:22:29 -0600 (CST) Subject: [Swift-commit] r5564 - trunk/src/org/griphyn/vdl/karajan/lib/swiftscript Message-ID: <20120208142229.8B39E9CCA2@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-08 08:22:28 -0600 (Wed, 08 Feb 2012) New Revision: 5564 Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Sprintf.java Log: Give more detail for tracef/sprintf type mismatch errors Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Sprintf.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Sprintf.java 2012-02-08 03:18:57 UTC (rev 5563) +++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Sprintf.java 2012-02-08 14:22:28 UTC (rev 5564) @@ -189,7 +189,7 @@ } else { throw new ExecutionException - ("tracef(): %b requires a boolean!"); + ("tracef(): %b requires a boolean! " + dshandleDescription(arg)); } } @@ -200,7 +200,7 @@ } else { throw new ExecutionException - ("tracef(): %f requires a float!"); + ("tracef(): %f requires a float! " + dshandleDescription(arg)); } } @@ -212,7 +212,7 @@ } else { throw new ExecutionException - ("tracef(): %i requires an int!"); + ("tracef(): %i requires an int! " + dshandleDescription(arg)); } } @@ -241,7 +241,7 @@ } else { throw new ExecutionException - ("tracef(): %q requires an array!"); + ("tracef(): %q requires an array! " + dshandleDescription(arg)); } } @@ -252,7 +252,7 @@ } else { throw new ExecutionException - ("tracef(): %s requires a string!"); + ("tracef(): %s requires a string! " + dshandleDescription(arg)); } } @@ -279,4 +279,12 @@ "\t in " + spec + " character: " + i); } } + + /** + * Return String containing variable name and type of a given DSHandle + */ + private static String dshandleDescription(DSHandle dshandle) { + String variableName = (dshandle.getRoot().toString().split(":")[0]); + return "Variable \"" + variableName + "\" is a " + dshandle.getType(); + } } From jonmon at ci.uchicago.edu Wed Feb 8 13:47:41 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 8 Feb 2012 13:47:41 -0600 (CST) Subject: [Swift-commit] r5565 - SwiftApps/SciColSim Message-ID: <20120208194741.2F5F49CCED@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-08 13:47:40 -0600 (Wed, 08 Feb 2012) New Revision: 5565 Modified: SwiftApps/SciColSim/annealing.swift Log: parameterized the seed Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-08 14:22:28 UTC (rev 5564) +++ SwiftApps/SciColSim/annealing.swift 2012-02-08 19:47:40 UTC (rev 5565) @@ -70,7 +70,7 @@ Res mlres[][]; - mlres[0][0] = multi_loss( 0, 0, params0, target_innov, evolve_reruns ); // FIXME: serves for all evolve-params ??? + mlres[0][0] = multi_loss( T_start, T_end, annealing_cycles, Target_rejection, starting_jump, 0, 0, params0, target_innov, evolve_reruns ); // FIXME: serves for all evolve-params ??? tracef( "multi_annealing: AR: initial: %f +- %f\n", mlres[0][0].loss, mlres[0][0].sdev ); foreach j in [0:NEVOPARAMS-1] @@ -151,8 +151,10 @@ } } tracef( @strcat( "multi_annealing: AR: ", color( 10,"%f" ), " ", color( 9,"%i" ),"\n" ), try_x[j], j ); + // Up to here, x[] and dx[] are only set for previous i - mlres[i][j] = multi_loss( i, j, try_x, target_innov, evolve_reruns ); // do the N evolve()'s, N=evolve_reruns + mlres[i][j] = multi_loss( T_start, T_end, annealing_cycles, Target_rejection, starting_jump, i, j, try_x, target_innov, evolve_reruns ); // do the N evolve()'s, N=evolve_reruns + tracef( "multi_annealing: AR: %f +- %f\n", mlres[i][j].loss, mlres[i][j].sdev ); // Beyond this point, x[] and dx[] are being set for this i,j @@ -160,7 +162,7 @@ if ( mlres[i][j].loss < ALOT ) { - fprintf( "best_opt_some_swift.txt", "%f,%f,%f,%f,%f,%f,%f,%f\n", + fprintf( "best_opt_some_swift.txt", "%f, %f, %f, %f, %f, %f, %f, %f\n", target_innov, mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); fprintf( "max_dist_swift.txt", color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() } @@ -226,9 +228,9 @@ } until( iter_i == (annealing_cycles-1) ); } -(Res r) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) -// (Res r, Stats s) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) FIXME: To obtain stats +(Res r) multi_loss( float t_start, float t_end, int annealing_steps, float t_rejection, float starting_jump, int ci, int cj, float x[], float target_innov, int evolve_reruns ) { + tracef("%q\n", x); file rfile[]; file ofile[]; // FIXME: to obtain timings and otehr stats @@ -242,29 +244,28 @@ { // repeats of the evolove() - same as n_reruns file outfile; // FIXME: map and save in future string args[] = [ // FIXME: move this to a setargs() function - // alpha_i alpha_m beta gamma delta target_innov - @strcat(x[0]), @strcat(x[1]), @strcat(x[2]), @strcat(x[3]), @strcat(x[4]), @strcat(target_innov), + // alpha_i alpha_m beta gamma delta target_innov + @strcat(x[0]), @strcat(x[1]), @strcat(x[2]), @strcat(x[3]), @strcat(x[4]), @strcat(target_innov), - // n_epochs n_steps evolve_reruns range - // "40000", "20", @strcat(evolve_reruns), "2", - "40000", "20", @strcat(rerunsPerApp), "2", + // n_epochs n_steps evolve_reruns range + // "40000", "20", @strcat(evolve_reruns), "2", + "40000", "20", @strcat(rerunsPerApp), "2", // verbose_level - "1", + "1", - // T_start T_end Annealing_steps Target_rejection Starting_jump - "2.", "0.01", "2", "0.3", "2.3", + // T_start T_end Annealing_steps Target_rejection Starting_jump + @strcat(t_start), @strcat(t_end), @strcat(annealing_steps), @strcat(t_rejection), @strcat(starting_jump), // FREEZE: alpha_i alpha_m beta gamma delta "1", "1", "0", "0", "0", - // operation-code:(m,a) Nworkers seed - "m", @strcat(Nworkers), "1234567" ]; + // operation-code:(m,a) Nworkers seed + "m", @strcat(Nworkers), @arg("seed", "0" ) ]; file graph <"movie_graph.txt">; ( outfile, rfile[i] ) = evolve( args, graph ); - // (ofile[i], rfile[i]) = evolve(args,graph); tracef("multi_loss: i=%i calling evolve, args=%q\n", i, args); // tracef("multi_loss: after evolve: i=%i %k %k\n", i, outfile, rfile[i]); From davidk at ci.uchicago.edu Thu Feb 9 09:04:51 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Thu, 9 Feb 2012 09:04:51 -0600 (CST) Subject: [Swift-commit] r5566 - trunk/bin Message-ID: <20120209150452.067779CD0C@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-09 09:04:51 -0600 (Thu, 09 Feb 2012) New Revision: 5566 Modified: trunk/bin/start-coaster-service Log: Fix for starting workers using a relay host Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-08 19:47:40 UTC (rev 5565) +++ trunk/bin/start-coaster-service 2012-02-09 15:04:51 UTC (rev 5566) @@ -229,7 +229,7 @@ ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $MACHINE mkdir -p $WORKER_LOCATION > /dev/null 2>&1 ssh $WORKER_USERNAME@$WORKER_RELAY_HOST "scp /tmp/$WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION" > /dev/null 2>&1 echo Starting worker on $MACHINE - ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER http://localhost:$PORT $MACHINE $WORKER_LOG_DIR" & + ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $WORKER_LOG_DIR" & echo $! >> $PID_FILE # Connect directly else From jonmon at ci.uchicago.edu Thu Feb 9 11:34:02 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 9 Feb 2012 11:34:02 -0600 (CST) Subject: [Swift-commit] r5567 - SwiftApps/SciColSim Message-ID: <20120209173402.D36969CD0C@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-09 11:34:02 -0600 (Thu, 09 Feb 2012) New Revision: 5567 Added: SwiftApps/SciColSim/pads.similar.beagle.xml Modified: SwiftApps/SciColSim/README SwiftApps/SciColSim/annealing.swift SwiftApps/SciColSim/local.xml Log: updates of the annealing.swift file and the README. Added pads and updated local sites file Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-09 15:04:51 UTC (rev 5566) +++ SwiftApps/SciColSim/README 2012-02-09 17:34:02 UTC (rev 5567) @@ -137,15 +137,31 @@ Sample output (w/ bugs remaining) is in sample.test-swift.output -*** Parameter on the command line + +Optimizer output (both from C++ optimizer and Swift) generates text +with escape sequences to display colored text. Some versions of more +and less need special options set (eg in env var?) to display the +colors correctly. + + +*** C++ Command line args + +Usage: super_optimizer alpha_i alpha_m beta gamma delta target_innov [n_epochs n_steps n_reruns] [range] [verbose_level] + [T_start T_end Annealing_steps Target_rejection Starting_jump] + [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta] + +*** Swift command line args and internal control vars The command line options are: -nworkers= -minrange= + Starting number for the target innovation value(Inclusive) -maxrange= + Ending number for the target innovation value(exclusive) -rangeinc= + How much to increment the target innovation value by -tstart= @@ -154,19 +170,25 @@ -trejection= -evoreruns= + How many times to re-run the evolve.sh app -startingjump= Controls the dx and/or rejection variable -alphai= + parameter to the annealing process -alpham= + parameter to the annealing process -beta= + parameter to the annealing process -gamma= + parameter to the annealing process -delta= + parameter to the annealing process -annealingcycles= Number of times to run the annealing process for a given target innovation @@ -174,22 +196,10 @@ -rerunsperapp= Number of evolve reruns to do per app call - -nreps= + -nreps= + How many times to repeat the annealing process for a given target innovation -Optimizer output (both from C++ optimizer and Swift) generates text -with escape sequences to display colored text. Some versions of more -and less need special options set (eg in env var?) to display the -colors correctly. - - -*** C++ Command line args - - -*** Swift command line args and internal control vars - - - *** C++ app flow logic === for target in range(58, 1009 (used 209), 50): // 20 values Target Values Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-09 15:04:51 UTC (rev 5566) +++ SwiftApps/SciColSim/annealing.swift 2012-02-09 17:34:02 UTC (rev 5567) @@ -1,5 +1,9 @@ import "math"; import "colortext"; + +/* + *TODO: + */ type file; @@ -16,15 +20,15 @@ ( float nx ) newx( float x, float dx ) { - float r = (random()); // / (pow(2.0,31.0)-1.0); + float r = (random()); if (r > 0.5) { - nx = x + (random())*dx; // /(pow(2.0,31.0)-1.0); + nx = x + (random())*dx; //Java already returns a float between [0-1] } else { - nx = x - (random())*dx; // /(pow(2.0,31.0)-1.0); + nx = x - (random())*dx; } // tracef("newx(%f,%f)=%f\n",x,dx,nx); } @@ -83,11 +87,10 @@ } iterate iter_i // number of annealing cycles - { // foreach i in [1:annealing_cycles] + { int i = iter_i + 1; // set new temperature, rejection threshold, and dx values for this cycle - float temperature = T_start*exp( @tofloat( i-1 ) * ( jlog( T_end ) - jlog( T_start ) ) / @tofloat( annealing_cycles ) ); tracef( @strcat( "multi_annealing: AR: i=%i ....T = ", color( 3, "%f" ),"\n" ), i, temperature ); @@ -115,21 +118,20 @@ } tracef( color( Blue, "multi_annealing: AR: New cycle at %i: dx[0-4]=[%f %f %f %f %f]\n" ), i, dx[i][0], dx[i][1], dx[i][2], dx[i][3], dx[i][4] ); } - else - { // If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i]j] is set later. + else // If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i]j] is set later. + { foreach k in [0:NEVOPARAMS-1] { dx[i][k] = dx[i-1][k]; } } - //foreach j in [0:NEVOPARAMS-1] { // Try a new value for each non-fixed param; then write results and accept or reject - iterate j - { // Try a new value for each non-fixed param; then write results and accept or reject - // float try_x[]; + + iterate j // Try a new value for each non-fixed param; then write results and accept or reject + { int curr = ( i * NEVOPARAMS ) + j; int prev = curr-1; - // tracef("in multi_annealing: i=%i j=%i curr=%i prev=%i\n", i, j, curr, prev); - if ( /*(!FIX_VARIABLES) || */ ( var_fixed[j] == 0 ) ) { // Adjustable vars + + if ( /* (!FIX_VARIABLES) || */ ( var_fixed[j] == 0 ) ) { // Adjustable vars // fixed=1,1,0,0,0: FIXME: FIX_VARIABLES flag has faulty logic but OK when TRUE float try_x[]; foreach k in [0:NEVOPARAMS-1] @@ -172,7 +174,7 @@ } float ratio = min( 1.0, exp( -( mlres[i][j].loss - curr_loss[prev] ) / temperature ) ); - float r = (random()) ; // / (pow(2.0,31.0)-1.0); // FIXME: AR: why all the 2^31's ??? + float r = (random()); //Java already returns a random float between [0.0-1.0] tracef("multi_annealing: AR: %f vs %f\n", r, ratio); @@ -198,7 +200,7 @@ tracef( "multi_annealing: Accepting try_x[j], i=%i j=%i try_x[j]=%f\n", i, j, try_x[j] ); float rj[]; foreach k in [0:NEVOPARAMS-1] - { // FIXME!!! + { if (k <= j) { rj[k] = rejection[i][k]; // Was either set from previous j or just set for this j @@ -216,8 +218,8 @@ i, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4]); } } - else - { // Fixed Vars + else // Fixed Vars + { x[i][j] = x[i-1][j]; rejection[i][j] = rejection[i-1][j]; curr_loss[curr] = curr_loss[prev]; @@ -258,7 +260,7 @@ @strcat(t_start), @strcat(t_end), @strcat(annealing_steps), @strcat(t_rejection), @strcat(starting_jump), // FREEZE: alpha_i alpha_m beta gamma delta - "1", "1", "0", "0", "0", + "1", "1", "0", "0", "0", // operation-code:(m,a) Nworkers seed "m", @strcat(Nworkers), @arg("seed", "0" ) ]; @@ -280,6 +282,8 @@ optimizer_sweep() // Implements logic of python driver script { + rerunsPerApp = @toint(@arg("rerunsperapp", "100")); + int minrange = @toint(@arg("minrange", "58")); int maxrange = @toint(@arg("maxrange", "59")); int rangeinc = @toint(@arg("rangeinc", "50")); @@ -305,14 +309,12 @@ @toint(@arg("evoreruns", "100")), @tofloat(@arg("startingjump", "2.3")), [@tofloat(@arg("alphai", "0.0")), @tofloat(@arg("alpham", "0.0")), @tofloat(@arg("beta", "4.0")), @tofloat(@arg("gamma", "50.0")), @tofloat(@arg("delta", "-1.0"))], - @tofloat(target_innov), + @tofloat(target_innov), @toint(@arg("annealingcycles", "50")) ); } } } -rerunsPerApp = @toint(@arg("rerunsperapp", "100")); - main() { optimizer_sweep(); Modified: SwiftApps/SciColSim/local.xml =================================================================== --- SwiftApps/SciColSim/local.xml 2012-02-09 15:04:51 UTC (rev 5566) +++ SwiftApps/SciColSim/local.xml 2012-02-09 17:34:02 UTC (rev 5567) @@ -4,6 +4,6 @@ 0.05 10000 - /lustre/beagle/ketan/labs/SciColSim/swift.workdir + /gpfs/pads/swift/jonmon/Swift/work/pads Added: SwiftApps/SciColSim/pads.similar.beagle.xml =================================================================== --- SwiftApps/SciColSim/pads.similar.beagle.xml (rev 0) +++ SwiftApps/SciColSim/pads.similar.beagle.xml 2012-02-09 17:34:02 UTC (rev 5567) @@ -0,0 +1,23 @@ + + + + + + CI-CCR000013 + KEEP + + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + 10 + 1 + 1 + fast + 9.59 + 10000 + /gpfs/pads/swift/jonmon/Swift/work/pads + + From wilde at ci.uchicago.edu Thu Feb 9 12:37:49 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 9 Feb 2012 12:37:49 -0600 (CST) Subject: [Swift-commit] r5568 - SwiftApps/SciColSim Message-ID: <20120209183749.E53459CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-09 12:37:49 -0600 (Thu, 09 Feb 2012) New Revision: 5568 Modified: SwiftApps/SciColSim/testopt.py Log: edits to test script Modified: SwiftApps/SciColSim/testopt.py =================================================================== --- SwiftApps/SciColSim/testopt.py 2012-02-09 17:34:02 UTC (rev 5567) +++ SwiftApps/SciColSim/testopt.py 2012-02-09 18:37:49 UTC (rev 5568) @@ -184,6 +184,6 @@ # b) 15 repeats (parallel) of optimizer (optimizer == multi_annealing): # 1 multi_loss to initialize # c) 100 Annealing_cycles (serial) -# d) 5 repeats (1 per param, serial) of multi_loss: -# e) 1000 to 10000 annealing_repeats (parallel) == multi_loss +# d) 3 repeats (1 per non-fixed param, serial) of multi_loss: +# e) 1000 to 10000 evolve_reruns (parallel) == multi_loss # f) evolve() From jonmon at ci.uchicago.edu Thu Feb 9 12:59:05 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 9 Feb 2012 12:59:05 -0600 (CST) Subject: [Swift-commit] r5569 - SwiftApps/SciColSim Message-ID: <20120209185905.D60BD9CCED@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-09 12:59:05 -0600 (Thu, 09 Feb 2012) New Revision: 5569 Modified: SwiftApps/SciColSim/annealing.swift Log: moved where rerunsperapp is set to where the global variables are defined. Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-09 18:37:49 UTC (rev 5568) +++ SwiftApps/SciColSim/annealing.swift 2012-02-09 18:59:05 UTC (rev 5569) @@ -16,7 +16,7 @@ global boolean FIX_VARIABLES = true; global int var_fixed[] = [1,1,0,0,0]; global int Nworkers = @toint(@arg("nworkers","4")); -global int rerunsPerApp; +global int rerunsPerApp= @toint(@arg("rerunsperapp", "100")); ( float nx ) newx( float x, float dx ) { @@ -282,7 +282,6 @@ optimizer_sweep() // Implements logic of python driver script { - rerunsPerApp = @toint(@arg("rerunsperapp", "100")); int minrange = @toint(@arg("minrange", "58")); int maxrange = @toint(@arg("maxrange", "59")); From jonmon at ci.uchicago.edu Thu Feb 9 13:28:00 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 9 Feb 2012 13:28:00 -0600 (CST) Subject: [Swift-commit] r5570 - SwiftApps/SciColSim Message-ID: <20120209192800.5A1CC9CD0C@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-09 13:28:00 -0600 (Thu, 09 Feb 2012) New Revision: 5570 Removed: SwiftApps/SciColSim/openmp-optimizer Log: Removed the binary from the repository Deleted: SwiftApps/SciColSim/openmp-optimizer =================================================================== (Binary files differ) From swift at ci.uchicago.edu Thu Feb 9 14:10:08 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Thu, 9 Feb 2012 14:10:08 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120209201008.8DDFE8D00081@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3360 | jmwozniak | 2012-02-09 14:09:35 -0600 (Thu, 09 Feb 2012) | 1 line New worker_init_cmd() ------------------------------------------------------------------------ Index: modules/provider-coaster/.classpath =================================================================== --- modules/provider-coaster/.classpath (revision 3359) +++ modules/provider-coaster/.classpath (working copy) @@ -14,5 +14,6 @@ + Index: modules/provider-coaster/resources/worker.pl =================================================================== --- modules/provider-coaster/resources/worker.pl (revision 3359) +++ modules/provider-coaster/resources/worker.pl (working copy) @@ -189,7 +189,7 @@ # flags: the protocol flags to send (e.g. err, fin) # data: the actual data # yieldFlag: if CONTINUE then it instructs the sending procedure -# to loop sending data until YIELD is returned +# to loop sending data until YIELD is returned # # dataSent: proc(state, tag) - invoked when all data was sent # PUT file specific state: @@ -219,9 +219,9 @@ # state when sending array data: # index: the current index in the data array # data: an array containing the data chunks -# -# -# +# +# +# # time: last communication time (used to determine timeouts) # @@ -403,6 +403,13 @@ push(@PROFILE_EVENTS, "START", "N/A", time()); } logsetup(); + if (defined $ENV{"WORKER_COPIES"}) { + workerCopies($ENV{"WORKER_COPIES"}); + } + if(defined $ENV{"WORKER_INIT_CMD"}) { + worker_init_cmd($ENV{"WORKER_INIT_CMD"}); + } + reconnect(); } @@ -431,6 +438,13 @@ } } +sub worker_init_cmd { + my ($cmd) = @_; + wlog DEBUG, "worker_init_cmd: $cmd\n"; + my $rc = system($cmd); + print "rc: $rc\n"; +} + sub trim { my ($arg) = @_; $arg =~ s/^\s+|\s+$//g ; @@ -458,7 +472,7 @@ my $flg2; my $msg; my $yield; - + do { ($flg2, $msg, $yield) = $$data{"nextData"}($data); if (defined($msg)) { @@ -469,11 +483,11 @@ if (($flg2 & FINAL_FLAG) == 0) { # final flag not set; put it back in the queue wlog TRACE, "$tag yielding\n"; - + # update last time my $record = $REPLIES{$tag}; $$record[1] = time(); - + queueCmdCustomDataHandling($REPLIES{$tag}, $data); } else { @@ -512,11 +526,11 @@ my ($state) = @_; my $s = $$state{"state"}; - + my $tag = $$state{"tag"}; - + wlog TRACE, "$tag nextFileData state=$s\n"; - + if ($s == PUT_START) { $$state{"state"} = $s + 1; return (0, $$state{"cmd"}, CONTINUE); @@ -540,7 +554,7 @@ wlog TRACE, "$tag Transfer suspendend; yielding\n"; return (0, undef, YIELD); } - + my $handle = $$state{"handle"}; my $buffer; my $sz = read($handle, $buffer, IOBUFSZ); @@ -642,14 +656,14 @@ my $len = unpack("V", substr($data, 8, 4)); my $hcsum = unpack("V", substr($data, 12, 4)); my $csum = unpack("V", substr($data, 16, 4)); - + my $chcsum = ($tag ^ $flg ^ $len); - + if ($chcsum != $hcsum) { wlog WARN, "Header checksum failed. Computed checksum: $chcsum, checksum: $hcsum\n"; return; } - + my $msg; my $frag; my $alen = 0; @@ -658,7 +672,7 @@ $alen = $alen + length($frag); $msg = $msg.$frag; } - + my $actuallen = length($msg); wlog(TRACE, " IN: len=$len, actuallen=$actuallen, tag=$tag, flags=$flg, $msg\n"); if ($len != $actuallen) { @@ -707,7 +721,7 @@ if (exists($REPLIES{$tag})) { $record = $REPLIES{$tag}; ($cont, $lastTime) = ($$record[0], $$record[1]); - # update last time + # update last time $$record[1] = time(); } else { @@ -1068,7 +1082,7 @@ my $jobid = $$state{"jobid"}; my $len = length($reply); wlog DEBUG, "$jobid getFileCBDataIn jobid: $jobid, state: $s, tag: $tag, flags: $flags, len: $len\n"; - + if ($flags & SIGNAL_FLAG) { if ($reply eq "QUEUED") { $REPLIES{$tag}[1] = NEVER; @@ -1323,8 +1337,8 @@ $JOBDATA{$jobid}{"stageoutCount"} = 0; } $JOBDATA{$jobid}{"stageoutCount"} += 1; - wlog DEBUG, "$jobid Stagecount is $JOBDATA{$jobid}{stageoutCount}\n"; - + wlog DEBUG, "$jobid Stagecount is $JOBDATA{$jobid}{stageoutCount}\n"; + queueCmdCustomDataHandling(putFileCB($jobid), fileData("PUT", $lfile, $rfile)); } elsif ($protocol eq "sfs") { @@ -1361,9 +1375,9 @@ sub sendStatus { my ($jobid) = @_; - + my $ec = $JOBDATA{$jobid}{"exitcode"}; - + if ($ec == 0) { queueCmd((nullCB(), "JOBSTATUS", $jobid, COMPLETED, "0", "")); } @@ -1385,7 +1399,7 @@ else { # there were stageouts. Wait until all are acknowledged # as done by the client. And we keep track of the - # count of stageouts that weren't acknowledged in + # count of stageouts that weren't acknowledged in # $JOBDATA{$jobid}{"stageoutCount"} } } @@ -1436,7 +1450,7 @@ if (ASYNC) { wlog DEBUG, "$tag putFileCBDataSent\n"; my $jobid = $$state{"jobid"}; - if ($jobid != -1) { + if ($jobid != -1) { wlog DEBUG, "$tag Data sent, async is on. Staging out next file\n"; stageout($jobid); } @@ -1459,7 +1473,7 @@ return; } elsif ($reply eq "STOP") { - $SUSPENDED_TRANSFERS{"$tag"} = 1; + $SUSPENDED_TRANSFERS{"$tag"} = 1; wlog DEBUG, "$tag Got stop request. Suspending transfer.\n"; } elsif ($reply eq "CONTINUE") { @@ -1634,7 +1648,7 @@ my ($PARENT_R, $CHILD_W); pipe($PARENT_R, $CHILD_W); - + $pid = fork(); if (defined($pid)) { @@ -1788,10 +1802,6 @@ init(); -if (defined $ENV{"WORKER_COPIES"}) { - workerCopies($ENV{"WORKER_COPIES"}); -} - mainloop(); # Code may not reach this point - see shutdownw() From swift at ci.uchicago.edu Thu Feb 9 14:15:03 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Thu, 9 Feb 2012 14:15:03 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120209201504.1B55D8D00081@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3361 | jmwozniak | 2012-02-09 14:10:34 -0600 (Thu, 09 Feb 2012) | 2 lines Undo errorneous commit to .classpath ------------------------------------------------------------------------ Index: modules/provider-coaster/.classpath =================================================================== --- modules/provider-coaster/.classpath (revision 3360) +++ modules/provider-coaster/.classpath (working copy) @@ -14,6 +14,5 @@ - From jonmon at ci.uchicago.edu Thu Feb 9 15:28:52 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 9 Feb 2012 15:28:52 -0600 (CST) Subject: [Swift-commit] r5571 - SwiftApps/SciColSim Message-ID: <20120209212852.1D2A29CCED@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-09 15:28:51 -0600 (Thu, 09 Feb 2012) New Revision: 5571 Modified: SwiftApps/SciColSim/annealing.swift SwiftApps/SciColSim/sumloss.sh Log: Use env to find where awk is installed Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-09 19:28:00 UTC (rev 5570) +++ SwiftApps/SciColSim/annealing.swift 2012-02-09 21:28:51 UTC (rev 5571) @@ -144,7 +144,7 @@ { if ( k == j ) { - try_x[k] = newx(x[i-1][j],dx[i-1][j]); // permute x[i-1][j] + try_x[k] = newx(x[i-1][j], dx[i-1][j]); // permute x[i-1][j] } else { // k > j Modified: SwiftApps/SciColSim/sumloss.sh =================================================================== --- SwiftApps/SciColSim/sumloss.sh 2012-02-09 19:28:00 UTC (rev 5570) +++ SwiftApps/SciColSim/sumloss.sh 2012-02-09 21:28:51 UTC (rev 5571) @@ -1,4 +1,4 @@ -#! /bin/awk -f +#! /usr/bin/env awk -f BEGIN { n = 0; loss = 0; } From wilde at ci.uchicago.edu Thu Feb 9 16:30:17 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 9 Feb 2012 16:30:17 -0600 (CST) Subject: [Swift-commit] r5572 - in SwiftApps/SciColSim: . conf params Message-ID: <20120209223017.AE6DE9CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-09 16:30:17 -0600 (Thu, 09 Feb 2012) New Revision: 5572 Added: SwiftApps/SciColSim/conf/ SwiftApps/SciColSim/conf/basiclocal.xml SwiftApps/SciColSim/conf/beagle.xml SwiftApps/SciColSim/conf/cf SwiftApps/SciColSim/conf/local.xml SwiftApps/SciColSim/conf/pads.similar.beagle.xml SwiftApps/SciColSim/conf/sites.beagle.quick.xml SwiftApps/SciColSim/conf/sites.beagle.xml SwiftApps/SciColSim/conf/tc SwiftApps/SciColSim/getswift.sh SwiftApps/SciColSim/params/ SwiftApps/SciColSim/params/ARtest01 SwiftApps/SciColSim/params/Fast01 SwiftApps/SciColSim/params/MWtest01 SwiftApps/SciColSim/swiftopt.sh Log: Add new end-user commands. Added: SwiftApps/SciColSim/conf/basiclocal.xml =================================================================== --- SwiftApps/SciColSim/conf/basiclocal.xml (rev 0) +++ SwiftApps/SciColSim/conf/basiclocal.xml 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,10 @@ + + + + + + /home/wilde/swift/lab/swiftwork + 0 + + + Added: SwiftApps/SciColSim/conf/beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle.xml (rev 0) +++ SwiftApps/SciColSim/conf/beagle.xml 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,60 @@ + + + + + + + + pbs.aprun;pbs.mpp;depth=24 + 1 + + 24 + 02:00:00 + 14400 + 20 + 1 + 1 + 100 + 100 + .15 + 10000 + + CI-MCB000119 + route + + + /lustre/beagle/wilde/swiftwork + + + + + Added: SwiftApps/SciColSim/conf/cf =================================================================== --- SwiftApps/SciColSim/conf/cf (rev 0) +++ SwiftApps/SciColSim/conf/cf 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,7 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false Added: SwiftApps/SciColSim/conf/local.xml =================================================================== --- SwiftApps/SciColSim/conf/local.xml (rev 0) +++ SwiftApps/SciColSim/conf/local.xml 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,9 @@ + + + + 0.05 + 10000 + + /gpfs/pads/swift/jonmon/Swift/work/pads + + Added: SwiftApps/SciColSim/conf/pads.similar.beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/pads.similar.beagle.xml (rev 0) +++ SwiftApps/SciColSim/conf/pads.similar.beagle.xml 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,23 @@ + + + + + + CI-CCR000013 + KEEP + + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + 10 + 1 + 1 + fast + 9.59 + 10000 + /gpfs/pads/swift/jonmon/Swift/work/pads + + Added: SwiftApps/SciColSim/conf/sites.beagle.quick.xml =================================================================== --- SwiftApps/SciColSim/conf/sites.beagle.quick.xml (rev 0) +++ SwiftApps/SciColSim/conf/sites.beagle.quick.xml 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,24 @@ + + + + CI-MCB000119 + + KEEP + + 1 + 24 + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 10000 + 01:30:00 + 50 + 2 + 2 + route + 9.59 + 10000 + + /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir + + Added: SwiftApps/SciColSim/conf/sites.beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/sites.beagle.xml (rev 0) +++ SwiftApps/SciColSim/conf/sites.beagle.xml 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,23 @@ + + + + CI-MCB000119 + + KEEP + + 24 + 1 + pbs.aprun;pbs.mpp;depth=24 + 37000 + 10:00:00 + 20 + 100 + 100 + 2 + 2 + 9.59 + 10000 + + /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir + + Added: SwiftApps/SciColSim/conf/tc =================================================================== --- SwiftApps/SciColSim/conf/tc (rev 0) +++ SwiftApps/SciColSim/conf/tc 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,15 @@ +localhost sh /bin/sh null null null +localhost cat /bin/cat null null null + +pbs cat /bin/cat null null null +mcs cat /bin/cat null null null +localhost catnap /home/wilde/swift/lab/catnap.sh null null GLOBUS::maxwalltime="00:01:00" + +beagle optimizer /home/wilde/AndreysOptimizer/src/Optimizer null null null +beagle optimizersh /home/wilde/AndreysOptimizer/src/optimizer.sh null null null + +beagle evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null null +localhost evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null GLOBUS::maxwalltime="02:00:00" + +beagle sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null null +localhost sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null GLOBUS::maxwalltime="02:00:00" Added: SwiftApps/SciColSim/getswift.sh =================================================================== --- SwiftApps/SciColSim/getswift.sh (rev 0) +++ SwiftApps/SciColSim/getswift.sh 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,30 @@ +#! /bin/sh + +swiftrel=http://www.ci.uchicago.edu/swift/packages/swift-0.93.tar.gz +tarfile=$(basename $swiftrel) +release=$(basename $swiftrel .tar.gz) + +echo +echo Downloading $release from $swiftrel + +rm -f $tarfile + +if [ $(uname) = Linux ]; then + wget -nv $swiftrel +else + curl $swiftrel > $(basename $swiftrel) +fi + +tar zxf $tarfile + +echo +echo Swift installed at $(pwd)/$release +echo + +rm -f swift # We expect this to be a symlink or non-existant +ln -s $release swift + +./swift/bin/swift -version +rm -f swift.log + + Property changes on: SwiftApps/SciColSim/getswift.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/SciColSim/params/ARtest01 =================================================================== --- SwiftApps/SciColSim/params/ARtest01 (rev 0) +++ SwiftApps/SciColSim/params/ARtest01 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,18 @@ + +min_target_innovation = 58 # starting target innovation value to try +max_target_innovation = 209 # stops before this target innovation value +target_innovation_increment = 50 # increment target innovation by this amount + +annealing_repeats = 15 # times to repeate the entire optimization process for each target_innovation +annealing_cycles = 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns = 1000 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers = 2 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation = 100 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i = 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m = 0.0 # alpha_i and alpha_m are fixed for now +beta = 4.0 # rest are varied by the optimization process +gamma = 50.0 +delta = -1.0 + Added: SwiftApps/SciColSim/params/Fast01 =================================================================== --- SwiftApps/SciColSim/params/Fast01 (rev 0) +++ SwiftApps/SciColSim/params/Fast01 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,19 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 209 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 10 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 10 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 2 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 100 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + + \ No newline at end of file Added: SwiftApps/SciColSim/params/MWtest01 =================================================================== --- SwiftApps/SciColSim/params/MWtest01 (rev 0) +++ SwiftApps/SciColSim/params/MWtest01 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,17 @@ + +min_target_innovation = 58 +max_target_innovation = 1009 +target_innovation_increment = 50 + +annealing_repeats = 1 +annealing_cycles = 100 +evolve_reruns = 1000 + +alpha_i = 0.0 # 5 parameters: must be decimal values !!! +alpha_m = 0.0 +beta = 4.0 +gamma = 50.0 +delta = -1.0 + +nworkers = 2 +reruns_per_opt_invocation = 100 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! Added: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh (rev 0) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-09 22:30:17 UTC (rev 5572) @@ -0,0 +1,90 @@ +#! /bin/sh + +# Usage: swiftopt.sh [-s sitename] [-p paramfile] [-n # for dryrun ] + +usage="$0 [-s sitename] [-p paramfile] [-n] # -n for dryrun: just print params and time estimates" + +# Default settings: + +execsite=local +paramfile=Fast01 +ram=2000M +dryrun= + + +# Process command line arguments + +while [ $# -gt 0 ]; do + case $1 in + -s) execsite=$2; shift 2;; + -p) paramfile=$2; shift 2;; + -n) dryrun=true; shift 1;; + *) echo $usage 1>&2 + exit 1;; + esac +done + +# Create next unique run id and run directory + +if [ ! -f nextrun ]; then + echo 000 >nextrun +else + cat nextrun | awk '{ printf("%03d\n", $1+1)}' >newrun +fi +runid=$(cat newrun) +mv newrun nextrun +rundir=run${runid} +mkdir $rundir + +# Get optimization parameters + +cp params/$paramfile $rundir/paramfile +sed -e '/^ */d' -e 's/#.*//' -e 's/ */=/' $rundir/params.annealing +source $rundir/params.annealing + +e33="-e33=$(echo -n -e '\033')" +swift=../swift/bin/swift # relative to runNNN/ dirs + +echo Optimization run $runid: site=$execsite paramfile=$paramfile + +cp conf/{tc,cf,$execsite.xml} $rundir +cp movie_graph.txt $rundir + +# Echo parameters + +echo Annealing parameters: +echo +cat $rundir/params.annealing +echo + +# Echo runtime estimates + +echo Total jobs = $((20*$annealing_repeats*$annealing_cycles*3*$evolve_reruns)) # FIXME: Example: replace with real formulas + +if [ _$dryrun != _ ]; then + exit 0 +fi + +# Do the run + +cd $rundir + +SWIFT_HEAP_MAX=$ram $swift >& swift.out -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift $e33 \ + \ +-minrange=$min_target_innovation \ +-maxrange=$max_target_innovation \ +-rangeinc=$target_innovation_increment \ + \ +-nreps=$annealing_repeats \ +-annealingcycles=$annealing_cycles \ +-evoreruns=$evolve_reruns \ + \ +-alphai=$alpha_i \ +-alpham=$alpha_m \ +-beta=$beta \ +-gamma=$gamma \ +-delta=$delta \ + \ +-nworkers=$nworkers \ +-rerunsperapp=$reruns_per_opt_invocation + Property changes on: SwiftApps/SciColSim/swiftopt.sh ___________________________________________________________________ Added: svn:executable + * From wilde at ci.uchicago.edu Thu Feb 9 16:50:16 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 9 Feb 2012 16:50:16 -0600 (CST) Subject: [Swift-commit] r5573 - SwiftApps/SciColSim Message-ID: <20120209225016.148F49CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-09 16:50:15 -0600 (Thu, 09 Feb 2012) New Revision: 5573 Modified: SwiftApps/SciColSim/sumloss.sh Log: replaced usr/bin/env with simple invocation of awk viat PATH Modified: SwiftApps/SciColSim/sumloss.sh =================================================================== --- SwiftApps/SciColSim/sumloss.sh 2012-02-09 22:30:17 UTC (rev 5572) +++ SwiftApps/SciColSim/sumloss.sh 2012-02-09 22:50:15 UTC (rev 5573) @@ -1,5 +1,7 @@ -#! /usr/bin/env awk -f +#! /bin/sh +awk ' + BEGIN { n = 0; loss = 0; } { @@ -17,7 +19,7 @@ sdev = 2.0 * sqrt(x) printf "loss sdev\n" printf "%f %f\n", loss, sdev -} +} ' $* # the awk script above implements this c++ logic from optimizer.cpp: From wilde at ci.uchicago.edu Thu Feb 9 17:50:44 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 9 Feb 2012 17:50:44 -0600 (CST) Subject: [Swift-commit] r5574 - in SwiftApps/SciColSim: . conf conf/TODO Message-ID: <20120209235044.5FD869CD0C@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-09 17:50:44 -0600 (Thu, 09 Feb 2012) New Revision: 5574 Added: SwiftApps/SciColSim/conf/TODO/ SwiftApps/SciColSim/conf/TODO/basiclocal.xml SwiftApps/SciColSim/conf/TODO/beagle.xml SwiftApps/SciColSim/conf/TODO/local.xml SwiftApps/SciColSim/conf/TODO/pads.similar.beagle.xml SwiftApps/SciColSim/conf/TODO/sites.beagle.quick.xml SwiftApps/SciColSim/conf/TODO/sites.beagle.xml SwiftApps/SciColSim/conf/gen.cf SwiftApps/SciColSim/conf/gen.local SwiftApps/SciColSim/conf/gen.pads SwiftApps/SciColSim/conf/gen.tc Removed: SwiftApps/SciColSim/conf/basiclocal.xml SwiftApps/SciColSim/conf/beagle.xml SwiftApps/SciColSim/conf/cf SwiftApps/SciColSim/conf/local.xml SwiftApps/SciColSim/conf/pads.similar.beagle.xml SwiftApps/SciColSim/conf/sites.beagle.quick.xml SwiftApps/SciColSim/conf/sites.beagle.xml SwiftApps/SciColSim/conf/tc Modified: SwiftApps/SciColSim/swiftopt.sh Log: initial mods for new swiftopt.sh command - main end user command to run Swift optimizer. Copied: SwiftApps/SciColSim/conf/TODO/basiclocal.xml (from rev 5572, SwiftApps/SciColSim/conf/basiclocal.xml) =================================================================== --- SwiftApps/SciColSim/conf/TODO/basiclocal.xml (rev 0) +++ SwiftApps/SciColSim/conf/TODO/basiclocal.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,10 @@ + + + + + + /home/wilde/swift/lab/swiftwork + 0 + + + Copied: SwiftApps/SciColSim/conf/TODO/beagle.xml (from rev 5572, SwiftApps/SciColSim/conf/beagle.xml) =================================================================== --- SwiftApps/SciColSim/conf/TODO/beagle.xml (rev 0) +++ SwiftApps/SciColSim/conf/TODO/beagle.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,60 @@ + + + + + + + + pbs.aprun;pbs.mpp;depth=24 + 1 + + 24 + 02:00:00 + 14400 + 20 + 1 + 1 + 100 + 100 + .15 + 10000 + + CI-MCB000119 + route + + + /lustre/beagle/wilde/swiftwork + + + + + Copied: SwiftApps/SciColSim/conf/TODO/local.xml (from rev 5572, SwiftApps/SciColSim/conf/local.xml) =================================================================== --- SwiftApps/SciColSim/conf/TODO/local.xml (rev 0) +++ SwiftApps/SciColSim/conf/TODO/local.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,9 @@ + + + + 0.05 + 10000 + + $(pwd)/swiftwork + + Copied: SwiftApps/SciColSim/conf/TODO/pads.similar.beagle.xml (from rev 5572, SwiftApps/SciColSim/conf/pads.similar.beagle.xml) =================================================================== --- SwiftApps/SciColSim/conf/TODO/pads.similar.beagle.xml (rev 0) +++ SwiftApps/SciColSim/conf/TODO/pads.similar.beagle.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,23 @@ + + + + + + CI-CCR000013 + KEEP + + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + 10 + 1 + 1 + fast + 9.59 + 10000 + /gpfs/pads/swift/jonmon/Swift/work/pads + + Copied: SwiftApps/SciColSim/conf/TODO/sites.beagle.quick.xml (from rev 5572, SwiftApps/SciColSim/conf/sites.beagle.quick.xml) =================================================================== --- SwiftApps/SciColSim/conf/TODO/sites.beagle.quick.xml (rev 0) +++ SwiftApps/SciColSim/conf/TODO/sites.beagle.quick.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,24 @@ + + + + CI-MCB000119 + + KEEP + + 1 + 24 + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 10000 + 01:30:00 + 50 + 2 + 2 + route + 9.59 + 10000 + + /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir + + Copied: SwiftApps/SciColSim/conf/TODO/sites.beagle.xml (from rev 5572, SwiftApps/SciColSim/conf/sites.beagle.xml) =================================================================== --- SwiftApps/SciColSim/conf/TODO/sites.beagle.xml (rev 0) +++ SwiftApps/SciColSim/conf/TODO/sites.beagle.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,23 @@ + + + + CI-MCB000119 + + KEEP + + 24 + 1 + pbs.aprun;pbs.mpp;depth=24 + 37000 + 10:00:00 + 20 + 100 + 100 + 2 + 2 + 9.59 + 10000 + + /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir + + Deleted: SwiftApps/SciColSim/conf/basiclocal.xml =================================================================== --- SwiftApps/SciColSim/conf/basiclocal.xml 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/conf/basiclocal.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -1,10 +0,0 @@ - - - - - - /home/wilde/swift/lab/swiftwork - 0 - - - Deleted: SwiftApps/SciColSim/conf/beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle.xml 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/conf/beagle.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -1,60 +0,0 @@ - - - - - - - - pbs.aprun;pbs.mpp;depth=24 - 1 - - 24 - 02:00:00 - 14400 - 20 - 1 - 1 - 100 - 100 - .15 - 10000 - - CI-MCB000119 - route - - - /lustre/beagle/wilde/swiftwork - - - - - Deleted: SwiftApps/SciColSim/conf/cf =================================================================== --- SwiftApps/SciColSim/conf/cf 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/conf/cf 2012-02-09 23:50:44 UTC (rev 5574) @@ -1,7 +0,0 @@ -wrapperlog.always.transfer=true -sitedir.keep=true -execution.retries=3 -lazy.errors=true -status.mode=provider -use.provider.staging=false -provider.staging.pin.swiftfiles=false Copied: SwiftApps/SciColSim/conf/gen.cf (from rev 5572, SwiftApps/SciColSim/conf/cf) =================================================================== --- SwiftApps/SciColSim/conf/gen.cf (rev 0) +++ SwiftApps/SciColSim/conf/gen.cf 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,9 @@ +cat < + + + 0.05 + 10000 + + $(pwd)/swiftwork/local + + +END \ No newline at end of file Property changes on: SwiftApps/SciColSim/conf/gen.local ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/SciColSim/conf/gen.pads =================================================================== --- SwiftApps/SciColSim/conf/gen.pads (rev 0) +++ SwiftApps/SciColSim/conf/gen.pads 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,45 @@ +#! /bin/sh + +# FIXME: Substitute using gensites: PROJECT MAXTIME SLOTS CLUSTER_THROTTLE etc + +cat < + + + + + 0.01 + 10000 + + + $(pwd)/swiftwork/local + + + + + + + CI-CCR000013 + KEEP + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + 10 + 1 + 1 + fast + 9.59 + 10000 + + + $(pwd)/swiftwork/pads + + + + + +END Property changes on: SwiftApps/SciColSim/conf/gen.pads ___________________________________________________________________ Added: svn:executable + * Copied: SwiftApps/SciColSim/conf/gen.tc (from rev 5572, SwiftApps/SciColSim/conf/tc) =================================================================== --- SwiftApps/SciColSim/conf/gen.tc (rev 0) +++ SwiftApps/SciColSim/conf/gen.tc 2012-02-09 23:50:44 UTC (rev 5574) @@ -0,0 +1,8 @@ +#! /bin/sh + +site=$1 + +cat < - - - 0.05 - 10000 - - /gpfs/pads/swift/jonmon/Swift/work/pads - - Deleted: SwiftApps/SciColSim/conf/pads.similar.beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/pads.similar.beagle.xml 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/conf/pads.similar.beagle.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -1,23 +0,0 @@ - - - - - - CI-CCR000013 - KEEP - - 8 - 1 - 100 - 100 - 3600 - 00:02:00 - 10 - 1 - 1 - fast - 9.59 - 10000 - /gpfs/pads/swift/jonmon/Swift/work/pads - - Deleted: SwiftApps/SciColSim/conf/sites.beagle.quick.xml =================================================================== --- SwiftApps/SciColSim/conf/sites.beagle.quick.xml 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/conf/sites.beagle.quick.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -1,24 +0,0 @@ - - - - CI-MCB000119 - - KEEP - - 1 - 24 - 100 - 100 - pbs.aprun;pbs.mpp;depth=24 - 10000 - 01:30:00 - 50 - 2 - 2 - route - 9.59 - 10000 - - /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir - - Deleted: SwiftApps/SciColSim/conf/sites.beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/sites.beagle.xml 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/conf/sites.beagle.xml 2012-02-09 23:50:44 UTC (rev 5574) @@ -1,23 +0,0 @@ - - - - CI-MCB000119 - - KEEP - - 24 - 1 - pbs.aprun;pbs.mpp;depth=24 - 37000 - 10:00:00 - 20 - 100 - 100 - 2 - 2 - 9.59 - 10000 - - /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir - - Deleted: SwiftApps/SciColSim/conf/tc =================================================================== --- SwiftApps/SciColSim/conf/tc 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/conf/tc 2012-02-09 23:50:44 UTC (rev 5574) @@ -1,15 +0,0 @@ -localhost sh /bin/sh null null null -localhost cat /bin/cat null null null - -pbs cat /bin/cat null null null -mcs cat /bin/cat null null null -localhost catnap /home/wilde/swift/lab/catnap.sh null null GLOBUS::maxwalltime="00:01:00" - -beagle optimizer /home/wilde/AndreysOptimizer/src/Optimizer null null null -beagle optimizersh /home/wilde/AndreysOptimizer/src/optimizer.sh null null null - -beagle evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null null -localhost evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null GLOBUS::maxwalltime="02:00:00" - -beagle sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null null -localhost sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null GLOBUS::maxwalltime="02:00:00" Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-09 22:50:15 UTC (rev 5573) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-09 23:50:44 UTC (rev 5574) @@ -47,7 +47,11 @@ echo Optimization run $runid: site=$execsite paramfile=$paramfile -cp conf/{tc,cf,$execsite.xml} $rundir +# generate swift config files # FIXME: replace this logic using gensites +conf/gen.tc $execsite > $rundir/tc +conf/gen.cf $execsite > $rundir/cf +conf/gen.$execsite > $rundir/$execsite.xml + cp movie_graph.txt $rundir # Echo parameters @@ -69,7 +73,7 @@ cd $rundir -SWIFT_HEAP_MAX=$ram $swift >& swift.out -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift $e33 \ +SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >& swift.out -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift $e33 \ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ @@ -77,7 +81,7 @@ \ -nreps=$annealing_repeats \ -annealingcycles=$annealing_cycles \ --evoreruns=$evolve_reruns \ +-evolvereruns=$evolve_reruns \ \ -alphai=$alpha_i \ -alpham=$alpha_m \ From wilde at ci.uchicago.edu Thu Feb 9 18:01:23 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 9 Feb 2012 18:01:23 -0600 (CST) Subject: [Swift-commit] r5575 - SwiftApps/SciColSim Message-ID: <20120210000123.D112F9CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-09 18:01:23 -0600 (Thu, 09 Feb 2012) New Revision: 5575 Modified: SwiftApps/SciColSim/README Log: Added boilerplate for new README info for new swiftopt.sh / getswift.sh commands. Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-09 23:50:44 UTC (rev 5574) +++ SwiftApps/SciColSim/README 2012-02-10 00:01:23 UTC (rev 5575) @@ -1,3 +1,35 @@ +*** FIXME: New quiskstart to integrate + +cd $HOME +svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/SciColSim +cd SciColSim + +./getswift.sh # just do this one + +./swiftopt.sh -s local -p Fast01 + +./swiftopt.sh -s pads -p ARtest01 + +Args: + + -s site to run on: can be local, pads, beagle + + -p param set to use, from param/ dir + + FIXME: specify the variants and how to speciy params. + + FIXME: Params for gensites can also can be in the -p file I think. + + FIXME: create a few more tet variations + + +You can add new param sets in the param dir: just copy an existing one and change the params. + +You can add new sites in the conf/ dir. FIXME: for now, add gen.SITENAME files. Limited flexibility w/ tc + + + + *** QuickStart mkdir $HOME/SciColSim # scientific collaboration simulation application From wilde at ci.uchicago.edu Thu Feb 9 18:09:47 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 9 Feb 2012 18:09:47 -0600 (CST) Subject: [Swift-commit] r5576 - SwiftApps/SciColSim Message-ID: <20120210000947.E5E839CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-09 18:09:47 -0600 (Thu, 09 Feb 2012) New Revision: 5576 Modified: SwiftApps/SciColSim/README Log: Clarified a few things in README for swiftop.sh Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-10 00:01:23 UTC (rev 5575) +++ SwiftApps/SciColSim/README 2012-02-10 00:09:47 UTC (rev 5576) @@ -1,15 +1,23 @@ *** FIXME: New quiskstart to integrate +#----- + cd $HOME svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/SciColSim cd SciColSim ./getswift.sh # just do this one -./swiftopt.sh -s local -p Fast01 +./swiftopt.sh -s local -p Fast01 & # Tells you what run dir its in. Note the "&" !!! -./swiftopt.sh -s pads -p ARtest01 +cd runNNN # cd to that run dir eg run007 +tail -f swift.out # to view progress +tail -f best_some_opt_swift.txt # to view optimization results +./swiftopt.sh -s pads -p ARtest01 # Etc. + +#----- + Args: -s site to run on: can be local, pads, beagle From wilde at ci.uchicago.edu Thu Feb 9 18:39:07 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 9 Feb 2012 18:39:07 -0600 (CST) Subject: [Swift-commit] r5577 - in SwiftApps/SciColSim: . params Message-ID: <20120210003907.43E719CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-09 18:39:07 -0600 (Thu, 09 Feb 2012) New Revision: 5577 Modified: SwiftApps/SciColSim/params/Fast01 SwiftApps/SciColSim/swiftopt.sh Log: Correct some param passing errors from swiftop.sh to swift command line. Modified: SwiftApps/SciColSim/params/Fast01 =================================================================== --- SwiftApps/SciColSim/params/Fast01 2012-02-10 00:09:47 UTC (rev 5576) +++ SwiftApps/SciColSim/params/Fast01 2012-02-10 00:39:07 UTC (rev 5577) @@ -1,14 +1,14 @@ min_target_innovation 58 # starting target innovation value to try -max_target_innovation 209 # stops before this target innovation value +max_target_innovation 109 # stops before this target innovation value target_innovation_increment 50 # increment target innovation by this amount annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation annealing_cycles 10 # times to perform the simulated annealing loop for all non-fixed parameters -evolve_reruns 10 # times to perform evolve_to_target_and_save() (objective function - is batched) -nworkers 2 # number of parallel threads (cores) to use per invocation of C++ optimizer -reruns_per_opt_invocation 100 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! +evolve_reruns 8 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 1 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 2 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! alpha_m 0.0 # alpha_i and alpha_m are fixed for now Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-10 00:09:47 UTC (rev 5576) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-10 00:39:07 UTC (rev 5577) @@ -81,7 +81,7 @@ \ -nreps=$annealing_repeats \ -annealingcycles=$annealing_cycles \ --evolvereruns=$evolve_reruns \ +-evoreruns=$evolve_reruns \ \ -alphai=$alpha_i \ -alpham=$alpha_m \ @@ -91,4 +91,25 @@ \ -nworkers=$nworkers \ -rerunsperapp=$reruns_per_opt_invocation - + +exit + + at arg("nworkers","4") + at arg("rerunsperapp", "100") + at arg("seed", "0" ) FIXME + at arg("minrange", "58") + at arg("maxrange", "59") + at arg("rangeinc", "50") + at arg("nreps", "1") + at arg("tstart", "2.0") FIXME + at arg("tend", "0.01") FIXME + at arg("trejection", "0.3") FIXME + at arg("evoreruns", "100") + at arg("startingjump", "2.3") FIXME + at arg("alphai", "0.0") + at arg("alpham", "0.0") + at arg("beta", "4.0") + at arg("gamma", "50.0") + at arg("delta", "-1.0") + at arg("annealingcycles", "50") + From ketan at ci.uchicago.edu Thu Feb 9 19:37:02 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 9 Feb 2012 19:37:02 -0600 (CST) Subject: [Swift-commit] r5578 - SwiftApps/SciColSim Message-ID: <20120210013702.E64A19CCED@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-09 19:37:02 -0600 (Thu, 09 Feb 2012) New Revision: 5578 Added: SwiftApps/SciColSim/extract_scs_results SwiftApps/SciColSim/plot_scs.plt Log: plotting scripts Added: SwiftApps/SciColSim/extract_scs_results =================================================================== --- SwiftApps/SciColSim/extract_scs_results (rev 0) +++ SwiftApps/SciColSim/extract_scs_results 2012-02-10 01:37:02 UTC (rev 5578) @@ -0,0 +1,7 @@ +#!/bin/bash + +OUTFILE=$1 + +grep "T =" $OUTFILE | awk '{print $6}' | cut -c8- | sed 's/....$//' > T.data + +grep multi_annealing $OUTFILE | grep "1;30" | awk '{print $3}' | cut -c11- | sed 's/....$//' > anneal.data Property changes on: SwiftApps/SciColSim/extract_scs_results ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/SciColSim/plot_scs.plt =================================================================== --- SwiftApps/SciColSim/plot_scs.plt (rev 0) +++ SwiftApps/SciColSim/plot_scs.plt 2012-02-10 01:37:02 UTC (rev 5578) @@ -0,0 +1,15 @@ +#set terminal png enhanced large +set terminal svg enhanced size 1000 1000 +set style line 1 lc rgb "blue" +set output "scs.svg" +set nokey +set xlabel "Evolution" +set ylabel "Value of T" +set title "SciColSim evolution Results" +plot "T.data" using 1 with line lc rgb "green" + +set output "scs_loss.svg" +set title "SciColSim evolution loss Results" +set ylabel "Value of loss(AR)" +set xrange [1500:2000] +plot "anneal.data" using 1 with line lc rgb "green" From wilde at ci.uchicago.edu Fri Feb 10 09:45:29 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Fri, 10 Feb 2012 09:45:29 -0600 (CST) Subject: [Swift-commit] r5579 - SwiftApps/SciColSim Message-ID: <20120210154529.89FA29CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-10 09:45:29 -0600 (Fri, 10 Feb 2012) New Revision: 5579 Added: SwiftApps/SciColSim/getboost.sh SwiftApps/SciColSim/setup.sh Modified: SwiftApps/SciColSim/Makefile SwiftApps/SciColSim/README SwiftApps/SciColSim/getswift.sh SwiftApps/SciColSim/swiftopt.sh Log: Enhanced readme and installation process. some changes to swiftop.sh Modified: SwiftApps/SciColSim/Makefile =================================================================== --- SwiftApps/SciColSim/Makefile 2012-02-10 01:37:02 UTC (rev 5578) +++ SwiftApps/SciColSim/Makefile 2012-02-10 15:45:29 UTC (rev 5579) @@ -8,7 +8,7 @@ g++ -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp clean: - rm -rf mac-openmp-optimizer mac-dispatch-optimizer mac-orig-optimizer + rm -rf openmp-optimizer endif Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-10 01:37:02 UTC (rev 5578) +++ SwiftApps/SciColSim/README 2012-02-10 15:45:29 UTC (rev 5579) @@ -1,25 +1,27 @@ -*** FIXME: New quiskstart to integrate -#----- +*** Getting started -cd $HOME -svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/SciColSim -cd SciColSim -./getswift.sh # just do this one +To run shorter tests on single local hosts (Mac, Linux, Beagle +Sandbox, Swift lab machines): -./swiftopt.sh -s local -p Fast01 & # Tells you what run dir its in. Note the "&" !!! + cd $HOME + svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/SciColSim + cd SciColSim -cd runNNN # cd to that run dir eg run007 -tail -f swift.out # to view progress -tail -f best_some_opt_swift.txt # to view optimization results + ./setup.sh # just do this once. Will install Boost and Swift, and compile the optimizer -./swiftopt.sh -s pads -p ARtest01 # Etc. + ./swiftopt.sh -s local -p Fast01 & # Tells you what run dir its in. Note the "&" !!! -#----- + cd runNNN # cd to that run dir eg run007 + tail -f swift.out # to view progress + tail -f best_some_opt_swift.txt # to view optimization results -Args: + ./swiftopt.sh -s pads -p params/ARtest01 # Etc. + +swiftopt.sh command line arguments: + -s site to run on: can be local, pads, beagle -p param set to use, from param/ dir @@ -31,13 +33,34 @@ FIXME: create a few more tet variations -You can add new param sets in the param dir: just copy an existing one and change the params. +Contents of parameter file: -You can add new sites in the conf/ dir. FIXME: for now, add gen.SITENAME files. Limited flexibility w/ tc +#-------- params/Fast01 +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 109 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 10 # times to perform the simulated annealing loop for all non-fixed parameters +evolve_reruns 8 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 1 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 2 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + +#------- + +You can add new param sets in the param dir (or anywhere): just copy an existing one and change the params. + +You can add new sites in the conf/ dir. FIXME: for now, add gen.SITENAME files. Limited flexibility w/ tc + + *** QuickStart mkdir $HOME/SciColSim # scientific collaboration simulation application Added: SwiftApps/SciColSim/getboost.sh =================================================================== --- SwiftApps/SciColSim/getboost.sh (rev 0) +++ SwiftApps/SciColSim/getboost.sh 2012-02-10 15:45:29 UTC (rev 5579) @@ -0,0 +1,30 @@ +#! /bin/sh + +tarfile=boost_1_47_0.tar.gz +release=$(basename $tarfile .tar.gz) +boostrel=http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.tar.gz/download + +echo +echo Downloading $release from $boostrel +echo + +rm -rf $tarfile $release + +if [ $(uname) = Linux ]; then + wget $boostrel +else + curl $boostrel > $(basename $boostrel) +fi + +echo +echo Extracting $release from $tarfile +echo + +tar zxf $tarfile + +echo +echo Boost installed at $(pwd)/$release +echo + + + Property changes on: SwiftApps/SciColSim/getboost.sh ___________________________________________________________________ Added: svn:executable + * Modified: SwiftApps/SciColSim/getswift.sh =================================================================== --- SwiftApps/SciColSim/getswift.sh 2012-02-10 01:37:02 UTC (rev 5578) +++ SwiftApps/SciColSim/getswift.sh 2012-02-10 15:45:29 UTC (rev 5579) @@ -6,15 +6,20 @@ echo echo Downloading $release from $swiftrel +echo -rm -f $tarfile +rm -rf $tarfile $release if [ $(uname) = Linux ]; then - wget -nv $swiftrel + wget $swiftrel else curl $swiftrel > $(basename $swiftrel) fi +echo +echo Extracting $release from $swiftrel +echo + tar zxf $tarfile echo @@ -27,4 +32,10 @@ ./swift/bin/swift -version rm -f swift.log +echo +echo Swift installation complete. +echo + + + Added: SwiftApps/SciColSim/setup.sh =================================================================== --- SwiftApps/SciColSim/setup.sh (rev 0) +++ SwiftApps/SciColSim/setup.sh 2012-02-10 15:45:29 UTC (rev 5579) @@ -0,0 +1,10 @@ +#! /bin/sh + +./getswift.sh + +./getboost.sh + +make clean +make + +echo Setup complete. \ No newline at end of file Property changes on: SwiftApps/SciColSim/setup.sh ___________________________________________________________________ Added: svn:executable + * Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-10 01:37:02 UTC (rev 5578) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-10 15:45:29 UTC (rev 5579) @@ -73,7 +73,7 @@ cd $rundir -SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >& swift.out -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift $e33 \ +SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift $e33 \ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ From davidk at ci.uchicago.edu Fri Feb 10 12:50:32 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Fri, 10 Feb 2012 12:50:32 -0600 (CST) Subject: [Swift-commit] r5580 - trunk/bin Message-ID: <20120210185032.675869CCA2@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-10 12:50:32 -0600 (Fri, 10 Feb 2012) New Revision: 5580 Modified: trunk/bin/gensites Log: Specify mktemp template name (fixes an issue with running gensites on macs) Modified: trunk/bin/gensites =================================================================== --- trunk/bin/gensites 2012-02-10 15:45:29 UTC (rev 5579) +++ trunk/bin/gensites 2012-02-10 18:50:32 UTC (rev 5580) @@ -236,7 +236,7 @@ done # Replace values -SEDFILE=`mktemp` +SEDFILE=`mktemp tmp.XXXXXXXXXX` { echo "s/_NODES_/${NODES}/" echo "s/_HOST_/${GLOBUS_HOSTNAME}/" From davidk at ci.uchicago.edu Fri Feb 10 12:58:42 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Fri, 10 Feb 2012 12:58:42 -0600 (CST) Subject: [Swift-commit] r5581 - SwiftApps/SciColSim Message-ID: <20120210185842.976939CCA2@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-10 12:58:42 -0600 (Fri, 10 Feb 2012) New Revision: 5581 Modified: SwiftApps/SciColSim/getswift.sh Log: Fixes to avoid some error messages Modified: SwiftApps/SciColSim/getswift.sh =================================================================== --- SwiftApps/SciColSim/getswift.sh 2012-02-10 18:50:32 UTC (rev 5580) +++ SwiftApps/SciColSim/getswift.sh 2012-02-10 18:58:42 UTC (rev 5581) @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/bash swiftrel=http://www.ci.uchicago.edu/swift/packages/swift-0.93.tar.gz tarfile=$(basename $swiftrel) @@ -23,19 +23,20 @@ tar zxf $tarfile echo -echo Swift installed at $(pwd)/$release +echo Swift installed at $PWD/$release echo -rm -f swift # We expect this to be a symlink or non-existant +if [ -e "swift" ]; then + rm -f swift # We expect this to be a symlink or non-existant +fi + ln -s $release swift -./swift/bin/swift -version +PATH=$PWD/swift/bin:$PATH +$PWD/swift/bin/swift -version rm -f swift.log echo echo Swift installation complete. echo - - - From wilde at ci.uchicago.edu Fri Feb 10 16:01:30 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Fri, 10 Feb 2012 16:01:30 -0600 (CST) Subject: [Swift-commit] r5582 - SwiftApps/SciColSim/conf Message-ID: <20120210220130.B513F9CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-10 16:01:30 -0600 (Fri, 10 Feb 2012) New Revision: 5582 Modified: SwiftApps/SciColSim/conf/gen.cf SwiftApps/SciColSim/conf/gen.tc Log: marked gen.tc and gen.cf executable Property changes on: SwiftApps/SciColSim/conf/gen.cf ___________________________________________________________________ Added: svn:executable + * Property changes on: SwiftApps/SciColSim/conf/gen.tc ___________________________________________________________________ Added: svn:executable + * From jonmon at ci.uchicago.edu Fri Feb 10 16:10:58 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Fri, 10 Feb 2012 16:10:58 -0600 (CST) Subject: [Swift-commit] r5583 - SwiftApps/SciColSim Message-ID: <20120210221058.138839CCED@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-10 16:10:57 -0600 (Fri, 10 Feb 2012) New Revision: 5583 Modified: SwiftApps/SciColSim/swiftopt.sh Log: some error supressing and mac compatability fixes Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-10 22:01:30 UTC (rev 5582) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-10 22:10:57 UTC (rev 5583) @@ -1,5 +1,7 @@ #! /bin/sh +#TODO: Fix espcape code nonense, seems to be passing in -n -e to swift + # Usage: swiftopt.sh [-s sitename] [-p paramfile] [-n # for dryrun ] usage="$0 [-s sitename] [-p paramfile] [-n] # -n for dryrun: just print params and time estimates" @@ -11,7 +13,16 @@ ram=2000M dryrun= +# check to see if the following check is even necessary on a linux distro +system=`uname | grep Darwin` +if [ $system == "Darwin" ]; +then + escapecode=$(echo '\033') +else + escapecode=$(echo -n -e '\033') +fi + # Process command line arguments while [ $# -gt 0 ]; do @@ -31,10 +42,17 @@ else cat nextrun | awk '{ printf("%03d\n", $1+1)}' >newrun fi -runid=$(cat newrun) -mv newrun nextrun +runid=$(cat newrun 2> /dev/null) +mv newrun nextrun 2> /dev/null rundir=run${runid} -mkdir $rundir +#Exit if rundir already exits. Something is funky +if [ -d $rundir ]; +then + echo "$rundir already exists! exiting." >&2 + exit 2 +else + mkdir $rundir +fi # Get optimization parameters @@ -42,8 +60,8 @@ sed -e '/^ */d' -e 's/#.*//' -e 's/ */=/' $rundir/params.annealing source $rundir/params.annealing -e33="-e33=$(echo -n -e '\033')" -swift=../swift/bin/swift # relative to runNNN/ dirs +#swift=../swift/bin/swift # relative to runNNN/ dirs +swift=swift echo Optimization run $runid: site=$execsite paramfile=$paramfile @@ -73,7 +91,8 @@ cd $rundir -SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift $e33 \ +SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ +#SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ @@ -92,9 +111,9 @@ -nworkers=$nworkers \ -rerunsperapp=$reruns_per_opt_invocation -exit +exit $? - at arg("nworkers","4") + at Arg("nworkers","4") @arg("rerunsperapp", "100") @arg("seed", "0" ) FIXME @arg("minrange", "58") From wilde at ci.uchicago.edu Fri Feb 10 19:41:52 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Fri, 10 Feb 2012 19:41:52 -0600 (CST) Subject: [Swift-commit] r5584 - SwiftApps/SciColSim Message-ID: <20120211014152.C9B329CCED@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-10 19:41:52 -0600 (Fri, 10 Feb 2012) New Revision: 5584 Modified: SwiftApps/SciColSim/swiftopt.sh Log: Added export to user-specified params before sourcing them, so thay are visible to gensites. Removed comentary lines in param file before sourcing it. Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-10 22:10:57 UTC (rev 5583) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-11 01:41:52 UTC (rev 5584) @@ -12,17 +12,8 @@ paramfile=Fast01 ram=2000M dryrun= +escapecode=$(printf '\033') -# check to see if the following check is even necessary on a linux distro -system=`uname | grep Darwin` - -if [ $system == "Darwin" ]; -then - escapecode=$(echo '\033') -else - escapecode=$(echo -n -e '\033') -fi - # Process command line arguments while [ $# -gt 0 ]; do @@ -57,7 +48,10 @@ # Get optimization parameters cp params/$paramfile $rundir/paramfile -sed -e '/^ */d' -e 's/#.*//' -e 's/ */=/' $rundir/params.annealing + + + +sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing #swift=../swift/bin/swift # relative to runNNN/ dirs @@ -81,7 +75,7 @@ # Echo runtime estimates -echo Total jobs = $((20*$annealing_repeats*$annealing_cycles*3*$evolve_reruns)) # FIXME: Example: replace with real formulas +# echo Total jobs = $((20*$annealing_repeats*$annealing_cycles*3*$evolve_reruns)) # FIXME: Example: replace with real formulas if [ _$dryrun != _ ]; then exit 0 From ketan at ci.uchicago.edu Sat Feb 11 12:23:16 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 11 Feb 2012 12:23:16 -0600 (CST) Subject: [Swift-commit] r5585 - SwiftApps/SciColSim Message-ID: <20120211182316.D04BC9CCE9@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-11 12:23:16 -0600 (Sat, 11 Feb 2012) New Revision: 5585 Modified: SwiftApps/SciColSim/TimingEstimation.txt SwiftApps/SciColSim/sites.beagle.quick.xml SwiftApps/SciColSim/sites.beagle.xml Log: updated the math Modified: SwiftApps/SciColSim/TimingEstimation.txt =================================================================== --- SwiftApps/SciColSim/TimingEstimation.txt 2012-02-11 01:41:52 UTC (rev 5584) +++ SwiftApps/SciColSim/TimingEstimation.txt 2012-02-11 18:23:16 UTC (rev 5585) @@ -17,29 +17,29 @@ Number_of_jobs = target_innovation_values x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers - = (max_range - min_range)/range_inc x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers + = ceil((max_range - min_range)/range_inc) x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers - = (1009 - 58)/50 x 15 x 3 x 100 x 960/192 x 24 + = ceil((1009 - 58)/50) x 15 x 3 x 100 x 960/192 x 24 - = 50 x 15 x 3 x 100 x 5 x 24 + = 20 x 15 x 3 x 100 x 5 x 24 - = 27,000,000 + = 10,800,000 Estimated Runtime on a small scale (2 laptops or 24 cores) - =27,000,000/24 x (1 to 50 sec) + =10,800,000/24 x (1 to 50 sec) - =1,125,000 to 56,250,000 seconds + =450,000 to 22,500,000 seconds - =13 to 651 days + =5.2 to 260 days Estimated Runtime on medium scale (40 Beagle nodes or 960 cores) - =27,000,000/960 x (1 to 50 sec) + =10,800,000/960 x (1 to 50 sec) - =28,125 to 1,406,250 seconds + =11,250 to 562,500 seconds - =7 hours to 16 days + =3.12 hours to 6.5 days Atomic job times of application Modified: SwiftApps/SciColSim/sites.beagle.quick.xml =================================================================== --- SwiftApps/SciColSim/sites.beagle.quick.xml 2012-02-11 01:41:52 UTC (rev 5584) +++ SwiftApps/SciColSim/sites.beagle.quick.xml 2012-02-11 18:23:16 UTC (rev 5585) @@ -7,6 +7,7 @@ 1 24 + DEBUG 100 100 pbs.aprun;pbs.mpp;depth=24 Modified: SwiftApps/SciColSim/sites.beagle.xml =================================================================== --- SwiftApps/SciColSim/sites.beagle.xml 2012-02-11 01:41:52 UTC (rev 5584) +++ SwiftApps/SciColSim/sites.beagle.xml 2012-02-11 18:23:16 UTC (rev 5585) @@ -6,6 +6,7 @@ KEEP 24 + DEBUG 1 pbs.aprun;pbs.mpp;depth=24 37000 From ketan at ci.uchicago.edu Sat Feb 11 13:11:50 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 11 Feb 2012 13:11:50 -0600 (CST) Subject: [Swift-commit] r5586 - SwiftApps/SciColSim Message-ID: <20120211191150.6AA479CCA2@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-11 13:11:50 -0600 (Sat, 11 Feb 2012) New Revision: 5586 Added: SwiftApps/SciColSim/extract4plots SwiftApps/SciColSim/plotit Removed: SwiftApps/SciColSim/extract_scs_results SwiftApps/SciColSim/plot_active.plt SwiftApps/SciColSim/plot_cumulative.plt SwiftApps/SciColSim/plot_cumulative_openmp.plt SwiftApps/SciColSim/plot_ready.plt SwiftApps/SciColSim/plot_scs.plt SwiftApps/SciColSim/swiftoutput2plot Modified: SwiftApps/SciColSim/README Log: Added plotting scripts and updated readme for plotting Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/README 2012-02-11 19:11:50 UTC (rev 5586) @@ -303,3 +303,14 @@ # d) 5 repeats (1 per param, serial) of multi_loss: # e) 1000 to 10000 annealing_repeats (parallel) == multi_loss # f) evolve() + +Plots +===== + +In order to generate plots from the swift stdout/stderr file, do the following + +./extract4plots +gnuplot plotit + +gnuplot must be installed and should be in PATH. + Added: SwiftApps/SciColSim/extract4plots =================================================================== --- SwiftApps/SciColSim/extract4plots (rev 0) +++ SwiftApps/SciColSim/extract4plots 2012-02-11 19:11:50 UTC (rev 5586) @@ -0,0 +1,42 @@ +#!/bin/bash + +#usage: ./swiftoutput2plot + +SWIFTOUTFILE=$1 + +#extract start time +TMPDATE=`grep -i progress $SWIFTOUTFILE | head -n 1 | cut -f4-9 -d ' '` +START_TIME=`date +%s -d "$TMPDATE"` + +#extract end time +TMPDATE=`grep -i progress $SWIFTOUTFILE | tail -n 1 | cut -f4-9 -d ' '` +END_TIME=`date +%s -d "$TMPDATE"` + +#duration +DIFFTIME=$((END_TIME - START_TIME)) + +#extract active runs in a file +grep -o -i "Active:[0-9]*" $SWIFTOUTFILE | awk -F: '{print $2}' > active.txt + +#extract successful completions in a file +grep -o -i "Successfully:[0-9]*" $SWIFTOUTFILE | awk -F: '{print $2}' > cumulative.txt + +#prepare tics +activelines=`wc -l active.txt | awk '{print $1}'` +cumulines=`wc -l cumulative.txt | awk '{print $1}'` + +activelinespertic=`echo "scale=5 ; $DIFFTIME / $activelines" | bc` +seq 0 $activelinespertic $DIFFTIME > activetics.txt + +cumulinespertic=`echo "scale=5 ; $DIFFTIME / $cumulines" | bc` +seq 0 $cumulinespertic $DIFFTIME > cumultics.txt + +#final plot data +paste activetics.txt active.txt > plot_active.txt +paste cumultics.txt cumulative.txt > plot_cumulative.txt + +grep "T =" $SWIFTOUTFILE | awk '{print $6}' | cut -c8- | sed 's/....$//' > T.data + +grep multi_annealing $SWIFTOUTFILE | grep "1;30" | awk '{print $3}' | cut -c11- | sed 's/....$//' > anneal.data + +grep returning $SWIFTOUTFILE | awk '{print $3, $4, $5, $6}' | sed -e 's/'ci='//' -e 's/'cj='//' -e 's/'r.loss='//' -e 's/'r.sdev='//' | sort -t' ' -k 1,2n > multiloss.txt Property changes on: SwiftApps/SciColSim/extract4plots ___________________________________________________________________ Added: svn:executable + * Deleted: SwiftApps/SciColSim/extract_scs_results =================================================================== --- SwiftApps/SciColSim/extract_scs_results 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/extract_scs_results 2012-02-11 19:11:50 UTC (rev 5586) @@ -1,7 +0,0 @@ -#!/bin/bash - -OUTFILE=$1 - -grep "T =" $OUTFILE | awk '{print $6}' | cut -c8- | sed 's/....$//' > T.data - -grep multi_annealing $OUTFILE | grep "1;30" | awk '{print $3}' | cut -c11- | sed 's/....$//' > anneal.data Deleted: SwiftApps/SciColSim/plot_active.plt =================================================================== --- SwiftApps/SciColSim/plot_active.plt 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/plot_active.plt 2012-02-11 19:11:50 UTC (rev 5586) @@ -1,7 +0,0 @@ -set terminal png enhanced -set output "activeplot.png" -set nokey -set xlabel "Time in sec" -set ylabel "number of active jobs" -set title "Active jobs" -plot "plot_active.txt" using 1:2 with line Deleted: SwiftApps/SciColSim/plot_cumulative.plt =================================================================== --- SwiftApps/SciColSim/plot_cumulative.plt 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/plot_cumulative.plt 2012-02-11 19:11:50 UTC (rev 5586) @@ -1,8 +0,0 @@ -set terminal png enhanced -#set term postscript eps enhanced -set output "cumulativeplot.png" -set nokey -set xlabel "Time in seconds" -set ylabel "number of completed jobs" -set title "Cumulative jobs" -plot "plot_cumulative.txt" using 1:2 with lines Deleted: SwiftApps/SciColSim/plot_cumulative_openmp.plt =================================================================== --- SwiftApps/SciColSim/plot_cumulative_openmp.plt 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/plot_cumulative_openmp.plt 2012-02-11 19:11:50 UTC (rev 5586) @@ -1,8 +0,0 @@ -set terminal png enhanced -#set term postscript eps enhanced -set output "cumulativeplot-openmp.png" -set nokey -set xlabel "Time in seconds" -set ylabel "number of completed jobs" -set title "Cumulative SciColSim-openMP jobs" -plot "plot_cumulative.txt" using 1:3 with lines Deleted: SwiftApps/SciColSim/plot_ready.plt =================================================================== --- SwiftApps/SciColSim/plot_ready.plt 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/plot_ready.plt 2012-02-11 19:11:50 UTC (rev 5586) @@ -1,9 +0,0 @@ -set terminal png enhanced -#set term postscript eps enhanced -set output "readyplot.png" -set nokey -set xlabel "Time" -set ylabel "number of ready jobs" -set xrange [3400:3800] -set title "Init+Active+Sub+Stageinout jobs" -plot "plot_ready_jobs.txt" using 1 with lines Deleted: SwiftApps/SciColSim/plot_scs.plt =================================================================== --- SwiftApps/SciColSim/plot_scs.plt 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/plot_scs.plt 2012-02-11 19:11:50 UTC (rev 5586) @@ -1,15 +0,0 @@ -#set terminal png enhanced large -set terminal svg enhanced size 1000 1000 -set style line 1 lc rgb "blue" -set output "scs.svg" -set nokey -set xlabel "Evolution" -set ylabel "Value of T" -set title "SciColSim evolution Results" -plot "T.data" using 1 with line lc rgb "green" - -set output "scs_loss.svg" -set title "SciColSim evolution loss Results" -set ylabel "Value of loss(AR)" -set xrange [1500:2000] -plot "anneal.data" using 1 with line lc rgb "green" Added: SwiftApps/SciColSim/plotit =================================================================== --- SwiftApps/SciColSim/plotit (rev 0) +++ SwiftApps/SciColSim/plotit 2012-02-11 19:11:50 UTC (rev 5586) @@ -0,0 +1,42 @@ +#set terminal png enhanced size 1000 1000 +#set term postscript eps enhanced +set terminal svg enhanced size 1000 1000 +set style line 1 lc rgb "blue" +set output "activeplot.svg" +set nokey +set xlabel "Time in sec" +set ylabel "number of active jobs" +set title "Active jobs" +plot "plot_active.txt" using 1:2 with line + +set output "cumulativeplot-openmp.svg" +set xlabel "Time in seconds" +set ylabel "number of completed jobs" +set title "Cumulative SciColSim-openMP jobs" +plot "plot_cumulative.txt" using 1:($2*24) with lines + +set output "cumulativeplot.svg" +set xlabel "Time in seconds" +set ylabel "number of completed jobs" +set title "Cumulative jobs" +plot "plot_cumulative.txt" using 1:2 with lines + +set output "scs.svg" +set xlabel "Evolution" +set ylabel "Value of T" +set title "SciColSim evolution Results" +plot "T.data" using 1 with lines lc rgb "green" + +set output "scs_loss.svg" +set title "SciColSim evolution loss Results" +set xlabel "Evolution" +set ylabel "Value of loss(AR)" +plot "anneal.data" using 1 with lines lc rgb "green" + +set output "multiloss.svg" +set title "SciColSim evolution loss Results" +set key auto +set yrange [0:200] +set xlabel "Evolution" +set ylabel "loss" +plot "multiloss.txt" using 3 with lines title "multiloss mean val", "multiloss.txt" using ($3+$4) with lines title "+stddev", "multiloss.txt" using ($3-$4) with lines title "-stddev" Deleted: SwiftApps/SciColSim/swiftoutput2plot =================================================================== --- SwiftApps/SciColSim/swiftoutput2plot 2012-02-11 18:23:16 UTC (rev 5585) +++ SwiftApps/SciColSim/swiftoutput2plot 2012-02-11 19:11:50 UTC (rev 5586) @@ -1,37 +0,0 @@ -#!/bin/bash - -#usage: ./swiftoutput2plot - -OUTFILE=$1 - -#extract start time -TMPDATE=`grep -i progress $OUTFILE | head -n 1 | cut -f4-9 -d ' '` -START_TIME=`date +%s -d "$TMPDATE"` - -#extract end time -TMPDATE=`grep -i progress $OUTFILE | tail -n 1 | cut -f4-9 -d ' '` -END_TIME=`date +%s -d "$TMPDATE"` - -#duration -DIFFTIME=$((END_TIME - START_TIME)) - -#extract active runs in a file -grep -o -i "Active:[0-9]*" $OUTFILE | awk -F: '{print $2}' > active.txt - -#extract successful completions in a file -grep -o -i "Successfully:[0-9]*" $OUTFILE | awk -F: '{print $2}' > cumulative.txt - -#prepare tics -activelines=`wc -l active.txt | awk '{print $1}'` -cumulines=`wc -l cumulative.txt | awk '{print $1}'` - -activelinespertic=`echo "scale=5 ; $DIFFTIME / $activelines" | bc` -seq 0 $activelinespertic $DIFFTIME > activetics.txt - -cumulinespertic=`echo "scale=5 ; $DIFFTIME / $cumulines" | bc` -seq 0 $cumulinespertic $DIFFTIME > cumultics.txt - -#final plot data -paste activetics.txt active.txt > plot_active.txt -paste cumultics.txt cumulative.txt > plot_cumulative.txt - From wilde at ci.uchicago.edu Sun Feb 12 15:00:23 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 12 Feb 2012 15:00:23 -0600 (CST) Subject: [Swift-commit] r5588 - SwiftApps/SciColSim Message-ID: <20120212210024.01A5C9CCA5@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-12 15:00:23 -0600 (Sun, 12 Feb 2012) New Revision: 5588 Modified: SwiftApps/SciColSim/swiftopt.sh Log: Remove erroneous extra backslash from swift invocation line. Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-11 20:31:24 UTC (rev 5587) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-12 21:00:23 UTC (rev 5588) @@ -86,7 +86,7 @@ cd $rundir SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ -#SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ +#SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode"\ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ From ketan at ci.uchicago.edu Sun Feb 12 15:09:41 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 12 Feb 2012 15:09:41 -0600 (CST) Subject: [Swift-commit] r5589 - SwiftApps/SciColSim Message-ID: <20120212210941.DEFB69CCA2@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-12 15:09:41 -0600 (Sun, 12 Feb 2012) New Revision: 5589 Modified: SwiftApps/SciColSim/README SwiftApps/SciColSim/swiftopt.sh Log: minor fix Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-12 21:00:23 UTC (rev 5588) +++ SwiftApps/SciColSim/README 2012-02-12 21:09:41 UTC (rev 5589) @@ -28,7 +28,7 @@ FIXME: specify the variants and how to speciy params. - FIXME: Params for gensites can also can be in the -p file I think. + FIXME: Params for gensites can also be in the -p file I think. FIXME: create a few more tet variations Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-12 21:00:23 UTC (rev 5588) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-12 21:09:41 UTC (rev 5589) @@ -84,9 +84,9 @@ # Do the run cd $rundir +#SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode"\ SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ -#SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode"\ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ From wilde at ci.uchicago.edu Sun Feb 12 15:20:04 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 12 Feb 2012 15:20:04 -0600 (CST) Subject: [Swift-commit] r5590 - SwiftApps/SciColSim Message-ID: <20120212212004.547379CCA2@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-12 15:20:04 -0600 (Sun, 12 Feb 2012) New Revision: 5590 Modified: SwiftApps/SciColSim/swiftopt.sh Log: Restore use of swift/ symlink. Added note about that. Remove commented-out swift invocation line causing error in param passing. Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-12 21:09:41 UTC (rev 5589) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-12 21:20:04 UTC (rev 5590) @@ -3,6 +3,11 @@ #TODO: Fix espcape code nonense, seems to be passing in -n -e to swift # Usage: swiftopt.sh [-s sitename] [-p paramfile] [-n # for dryrun ] +# +# NOTE: this command expects symlink "swift" in the cur dir to point +# to relese installed by setup.sh If you want to run with a different +# swift release, replace symlink "swift" with a link to your swift +# release dir. usage="$0 [-s sitename] [-p paramfile] [-n] # -n for dryrun: just print params and time estimates" @@ -54,8 +59,7 @@ sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing -#swift=../swift/bin/swift # relative to runNNN/ dirs -swift=swift +swift=../swift/bin/swift # relative to runNNN/ dirs echo Optimization run $runid: site=$execsite paramfile=$paramfile @@ -84,7 +88,6 @@ # Do the run cd $rundir -#SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode"\ SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ \ From wilde at ci.uchicago.edu Sun Feb 12 15:28:42 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 12 Feb 2012 15:28:42 -0600 (CST) Subject: [Swift-commit] r5591 - SwiftApps/SciColSim/params Message-ID: <20120212212842.82C609CCA2@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-12 15:28:42 -0600 (Sun, 12 Feb 2012) New Revision: 5591 Added: SwiftApps/SciColSim/params/MWtest02 Log: Add a param set for numeric behavior testing Added: SwiftApps/SciColSim/params/MWtest02 =================================================================== --- SwiftApps/SciColSim/params/MWtest02 (rev 0) +++ SwiftApps/SciColSim/params/MWtest02 2012-02-12 21:28:42 UTC (rev 5591) @@ -0,0 +1,21 @@ + +# Test with one target_innovation and few evolve_reruns to verify numeric behavior + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 59 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 20 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 2 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 20 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + + \ No newline at end of file From wilde at ci.uchicago.edu Sun Feb 12 16:05:56 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 12 Feb 2012 16:05:56 -0600 (CST) Subject: [Swift-commit] r5592 - SwiftApps/SciColSim Message-ID: <20120212220556.A9A8A9CCA5@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-12 16:05:56 -0600 (Sun, 12 Feb 2012) New Revision: 5592 Added: SwiftApps/SciColSim/getparamtrace.sh Log: add script to extract a trace of beta-gamma-delta values from successive calls to evolve Added: SwiftApps/SciColSim/getparamtrace.sh =================================================================== --- SwiftApps/SciColSim/getparamtrace.sh (rev 0) +++ SwiftApps/SciColSim/getparamtrace.sh 2012-02-12 22:05:56 UTC (rev 5592) @@ -0,0 +1,8 @@ +#! /bin/sh + +grep 'calling evolve' swift.out | grep ,58, | + sed -e 's/^.*\[//' \ + -e 's/\]$//' \ + -e 's/,/ /g' \ + -e 's/\(\......\)[0-9]* /\1 /g' | + awk '{print $3, $4, $5}' | uniq Property changes on: SwiftApps/SciColSim/getparamtrace.sh ___________________________________________________________________ Added: svn:executable + * From jonmon at ci.uchicago.edu Sun Feb 12 18:34:52 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Sun, 12 Feb 2012 18:34:52 -0600 (CST) Subject: [Swift-commit] r5593 - in SwiftApps/SciColSim: . params Message-ID: <20120213003452.3AA879CCA5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-12 18:34:52 -0600 (Sun, 12 Feb 2012) New Revision: 5593 Modified: SwiftApps/SciColSim/getswift.sh SwiftApps/SciColSim/params/Fast01 SwiftApps/SciColSim/swiftopt.sh Log: o updated getswift.sh to get the appropriate gensites version from trunk to allow it to work on mac os x o swiftopt.sh now uses gensites, params/Fast01 works with for a local.xml sites file with gensites Modified: SwiftApps/SciColSim/getswift.sh =================================================================== --- SwiftApps/SciColSim/getswift.sh 2012-02-12 22:05:56 UTC (rev 5592) +++ SwiftApps/SciColSim/getswift.sh 2012-02-13 00:34:52 UTC (rev 5593) @@ -5,7 +5,7 @@ release=$(basename $swiftrel .tar.gz) echo -echo Downloading $release from $swiftrel +echo Downloading $release from $swiftrel echo rm -rf $tarfile $release @@ -17,11 +17,13 @@ fi echo -echo Extracting $release from $swiftrel +echo Extracting $release from $swiftrel echo tar zxf $tarfile +svn cat --revision 5580 https://svn.ci.uchicago.edu/svn/vdl2/trunk/bin/gensites > swift-0.93/bin/gensites + echo echo Swift installed at $PWD/$release echo Modified: SwiftApps/SciColSim/params/Fast01 =================================================================== --- SwiftApps/SciColSim/params/Fast01 2012-02-12 22:05:56 UTC (rev 5592) +++ SwiftApps/SciColSim/params/Fast01 2012-02-13 00:34:52 UTC (rev 5593) @@ -1,7 +1,7 @@ min_target_innovation 58 # starting target innovation value to try max_target_innovation 109 # stops before this target innovation value -target_innovation_increment 50 # increment target innovation by this amount +target_innovation_increment 50 # increment target innovation by this amount annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation annealing_cycles 10 # times to perform the simulated annealing loop for all non-fixed parameters @@ -14,6 +14,8 @@ alpha_m 0.0 # alpha_i and alpha_m are fixed for now beta 4.0 # rest are varied by the optimization process gamma 50.0 -delta -1.0 - - \ No newline at end of file +delta -1.0 + + +WORK $PWD/swiftwork +JOB_THROTTLE .05 Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-12 22:05:56 UTC (rev 5592) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-13 00:34:52 UTC (rev 5593) @@ -59,6 +59,7 @@ sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing +gensites=swift/bin/gensites swift=../swift/bin/swift # relative to runNNN/ dirs echo Optimization run $runid: site=$execsite paramfile=$paramfile @@ -66,7 +67,7 @@ # generate swift config files # FIXME: replace this logic using gensites conf/gen.tc $execsite > $rundir/tc conf/gen.cf $execsite > $rundir/cf -conf/gen.$execsite > $rundir/$execsite.xml +$gensites conf/$execsite.xml > $rundir/$execsite.xml cp movie_graph.txt $rundir From jonmon at ci.uchicago.edu Sun Feb 12 18:35:20 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Sun, 12 Feb 2012 18:35:20 -0600 (CST) Subject: [Swift-commit] r5594 - SwiftApps/SciColSim/conf Message-ID: <20120213003520.D176B9CCA5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-12 18:35:20 -0600 (Sun, 12 Feb 2012) New Revision: 5594 Added: SwiftApps/SciColSim/conf/local.xml Log: added local.xml sites template Added: SwiftApps/SciColSim/conf/local.xml =================================================================== --- SwiftApps/SciColSim/conf/local.xml (rev 0) +++ SwiftApps/SciColSim/conf/local.xml 2012-02-13 00:35:20 UTC (rev 5594) @@ -0,0 +1,9 @@ + + + + _JOB_THROTTLE_ + 10000 + + _WORK_ + + From jonmon at ci.uchicago.edu Sun Feb 12 19:59:23 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Sun, 12 Feb 2012 19:59:23 -0600 (CST) Subject: [Swift-commit] r5595 - SwiftApps/SciColSim Message-ID: <20120213015923.C6C409CCA5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-12 19:59:23 -0600 (Sun, 12 Feb 2012) New Revision: 5595 Modified: SwiftApps/SciColSim/swiftopt.sh Log: Set SWIFT_HOME in swiftop.sh Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-13 00:35:20 UTC (rev 5594) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-13 01:59:23 UTC (rev 5595) @@ -59,7 +59,8 @@ sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing -gensites=swift/bin/gensites +export SWIFT_HOME=swift/bin +gensites=$SWIFT_HOME/gensites swift=../swift/bin/swift # relative to runNNN/ dirs echo Optimization run $runid: site=$execsite paramfile=$paramfile From lgadelha at ci.uchicago.edu Mon Feb 13 09:44:20 2012 From: lgadelha at ci.uchicago.edu (lgadelha at ci.uchicago.edu) Date: Mon, 13 Feb 2012 09:44:20 -0600 (CST) Subject: [Swift-commit] r5596 - provenancedb Message-ID: <20120213154420.806F99CCA2@svn.ci.uchicago.edu> Author: lgadelha Date: 2012-02-13 09:44:20 -0600 (Mon, 13 Feb 2012) New Revision: 5596 Modified: provenancedb/prov-init.sql provenancedb/prov-to-sql.sh Log: Minor updates. Modified: provenancedb/prov-init.sql =================================================================== --- provenancedb/prov-init.sql 2012-02-13 01:59:23 UTC (rev 5595) +++ provenancedb/prov-init.sql 2012-02-13 15:44:20 UTC (rev 5596) @@ -239,10 +239,9 @@ drop view function_call; --- TODO: move tc_name to application_execution (app_exec) create view function_call as select proc.id, app_inv.proc_name as name, proc.type, proc.name as tc_name, proc.run_id as script_run_id, - to_timestamp(app_inv.start_time), app_inv.duration, app_inv.final_state, app_inv.scratch + to_timestamp(app_inv.start_time) as start_time, app_inv.duration, app_inv.final_state, app_inv.scratch from proc left outer join app_inv on proc.id=app_inv.id; Modified: provenancedb/prov-to-sql.sh =================================================================== --- provenancedb/prov-to-sql.sh 2012-02-13 01:59:23 UTC (rev 5595) +++ provenancedb/prov-to-sql.sh 2012-02-13 15:44:20 UTC (rev 5596) @@ -25,6 +25,22 @@ $SQLCMD -c "INSERT INTO app_exec (id, app_inv_id, start_time, duration, final_state, site) VALUES ('$globalid', '$inv_id', $start_time, $duration, '$endstate', '$site');" done < execute2.global.event +while read outer inner; do + $SQLCMD -c "INSERT INTO ds (id) VALUES ('$outer');" + $SQLCMD -c "INSERT INTO ds (id) VALUES ('$inner');" + $SQLCMD -c "INSERT INTO ds_cont (out_id, in_id) VALUES ('$outer', '$inner');" +done < tie-containers.txt + +while read dataset filename; do + $SQLCMD -c "INSERT INTO ds (id) VALUES ('$dataset');" + $SQLCMD -c "INSERT INTO file (id, name) VALUES ('$dataset', '$filename');" +done < dataset-filenames.txt + +while read dataset idtype equal value rest; do + $SQLCMD -c "INSERT INTO ds (id) VALUES ('$dataset');" + $SQLCMD -c "INSERT INTO in_mem (id, value) VALUES ('$dataset', '$value');" +done < dataset-values.txt + while read col1 col2 col3 col4 col5 thread name lhs rhs result; do thread=$(echo $thread | awk 'BEGIN { FS = "=" }; {print $2}') name=$(echo $name | awk 'BEGIN { FS = "=" }; {print $2}') @@ -34,15 +50,9 @@ operatorid="${WFID}operator:$thread" - if [ $version -le 3726 ]; then - lhs=$(echo $lhs | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - rhs=$(echo $rhs | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - result=$(echo $result | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - fi - - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$lhs');" - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$rhs');" - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$result');" + #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$lhs');" + #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$rhs');" + #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$result');" $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$operatorid', 'operator', '$name', '$WF');" $SQLCMD -c "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$operatorid', '$lhs', 'lhs');" $SQLCMD -c "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$operatorid', '$rhs', 'rhs');" @@ -50,22 +60,13 @@ done < operators.txt while read id name output; do - if [ $version -le 3726 ]; then - output=$(echo $output | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - fi - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$output');" + #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$output');" $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$id', 'function', '$name', '$WF');" $SQLCMD -c "INSERT INTO ds_out (proc_id, ds_id, param) VALUES ('$id', '$output', 'result');" done < functions.txt while read id value; do - # TODO need ordering/naming - - if [ $version -le 3726 ]; then - value=$(echo $value | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - fi - - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$value');" + #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$value');" $SQLCMD -c "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$id', '$value', 'undefined');" done < function-inputs.txt @@ -74,38 +75,6 @@ $SQLCMD -c "UPDATE app_inv SET proc_name='$appname' WHERE id='$thread';" done < invocation-procedure-names.txt -while read outer inner; do - - if [ $version -le 3726 ]; then - outer=$(echo $outer | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - inner=$(echo $inner | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - fi - - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$outer');" - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$inner');" - $SQLCMD -c "INSERT INTO ds_cont (out_id, in_id) VALUES ('$outer', '$inner');" -done < tie-containers.txt - -while read dataset filename; do - - if [ $version -le 3726 ]; then - dataset=$(echo $dataset | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - fi - - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$dataset');" - $SQLCMD -c "INSERT INTO file (id, name) VALUES ('$dataset', '$filename');" -done < dataset-filenames.txt - -while read dataset idtype equal value rest; do - - if [ $version -le 3726 ]; then - dataset=$(echo $dataset | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - fi - - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$dataset');" - $SQLCMD -c "INSERT INTO in_mem (id, value) VALUES ('$dataset', '$value');" -done < dataset-values.txt - while read start duration wfid rest; do $SQLCMD -c "UPDATE run SET start_time=$start WHERE id='$WF';" $SQLCMD -c "UPDATE run SET duration=$duration WHERE id='$WF';" @@ -133,11 +102,6 @@ done < scopes.txt while read thread direction dataset variable rest; do - - if [ $version -le 3726 ]; then - dataset=$(echo $dataset | sed -e 's/tag:benc at ci.uchicago.edu,2008:swift://g') - fi - if [ "$direction" == "input" ] ; then table=ds_in else From jonmon at ci.uchicago.edu Mon Feb 13 11:19:07 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 13 Feb 2012 11:19:07 -0600 (CST) Subject: [Swift-commit] r5597 - SwiftApps/SciColSim Message-ID: <20120213171907.5FF409CCA2@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-13 11:19:07 -0600 (Mon, 13 Feb 2012) New Revision: 5597 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o set SWIFT_HOME only for the gensites command o math to estimate number of jobs based on the parameter set added Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-13 15:44:20 UTC (rev 5596) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-13 17:19:07 UTC (rev 5597) @@ -3,7 +3,7 @@ #TODO: Fix espcape code nonense, seems to be passing in -n -e to swift # Usage: swiftopt.sh [-s sitename] [-p paramfile] [-n # for dryrun ] -# +# # NOTE: this command expects symlink "swift" in the cur dir to point # to relese installed by setup.sh If you want to run with a different # swift release, replace symlink "swift" with a link to your swift @@ -59,17 +59,16 @@ sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing -export SWIFT_HOME=swift/bin -gensites=$SWIFT_HOME/gensites swift=../swift/bin/swift # relative to runNNN/ dirs echo Optimization run $runid: site=$execsite paramfile=$paramfile # generate swift config files # FIXME: replace this logic using gensites -conf/gen.tc $execsite > $rundir/tc -conf/gen.cf $execsite > $rundir/cf -$gensites conf/$execsite.xml > $rundir/$execsite.xml +conf/gen.tc $execsite > $rundir/tc +conf/gen.cf $execsite > $rundir/cf +SWIFT_HOME=swift/bin swift/bin/gensites conf/$execsite.xml > $rundir/$execsite.xml + cp movie_graph.txt $rundir # Echo parameters @@ -81,7 +80,8 @@ # Echo runtime estimates -# echo Total jobs = $((20*$annealing_repeats*$annealing_cycles*3*$evolve_reruns)) # FIXME: Example: replace with real formulas +total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * 2 * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` +echo Total jobs = $total_jobs if [ _$dryrun != _ ]; then exit 0 @@ -112,22 +112,22 @@ exit $? - at Arg("nworkers","4") - at arg("rerunsperapp", "100") - at arg("seed", "0" ) FIXME - at arg("minrange", "58") - at arg("maxrange", "59") - at arg("rangeinc", "50") - at arg("nreps", "1") - at arg("tstart", "2.0") FIXME - at arg("tend", "0.01") FIXME - at arg("trejection", "0.3") FIXME - at arg("evoreruns", "100") - at arg("startingjump", "2.3") FIXME - at arg("alphai", "0.0") - at arg("alpham", "0.0") - at arg("beta", "4.0") - at arg("gamma", "50.0") - at arg("delta", "-1.0") - at arg("annealingcycles", "50") +# @arg("nworkers","4") +# @arg("rerunsperapp", "100") +# @arg("seed", "0" ) FIXME +# @arg("minrange", "58") +# @arg("maxrange", "59") +# @arg("rangeinc", "50") +# @arg("nreps", "1") +# @arg("tstart", "2.0") FIXME +# @arg("tend", "0.01") FIXME +# @arg("trejection", "0.3") FIXME +# @arg("evoreruns", "100") +# @arg("startingjump", "2.3") FIXME +# @arg("alphai", "0.0") +# @arg("alpham", "0.0") +# @arg("beta", "4.0") +# @arg("gamma", "50.0") +# @arg("delta", "-1.0") +# @arg("annealingcycles", "50") From ketan at ci.uchicago.edu Mon Feb 13 14:51:32 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 13 Feb 2012 14:51:32 -0600 (CST) Subject: [Swift-commit] r5598 - SwiftApps/SciColSim Message-ID: <20120213205132.406919CCA2@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-13 14:51:32 -0600 (Mon, 13 Feb 2012) New Revision: 5598 Modified: SwiftApps/SciColSim/TimingEstimation.txt SwiftApps/SciColSim/swiftopt.sh Log: minor Modified: SwiftApps/SciColSim/TimingEstimation.txt =================================================================== --- SwiftApps/SciColSim/TimingEstimation.txt 2012-02-13 17:19:07 UTC (rev 5597) +++ SwiftApps/SciColSim/TimingEstimation.txt 2012-02-13 20:51:32 UTC (rev 5598) @@ -31,7 +31,7 @@ =450,000 to 22,500,000 seconds - =5.2 to 260 days + =5.2 hours to 260 days Estimated Runtime on medium scale (40 Beagle nodes or 960 cores) Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-13 17:19:07 UTC (rev 5597) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-13 20:51:32 UTC (rev 5598) @@ -60,6 +60,8 @@ source $rundir/params.annealing swift=../swift/bin/swift # relative to runNNN/ dirs +#gensites=`which gensites` +#swift=`which swift` echo Optimization run $runid: site=$execsite paramfile=$paramfile From jonmon at ci.uchicago.edu Mon Feb 13 15:01:52 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 13 Feb 2012 15:01:52 -0600 (CST) Subject: [Swift-commit] r5599 - SwiftApps/SciColSim Message-ID: <20120213210152.0BB429CCE9@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-13 15:01:51 -0600 (Mon, 13 Feb 2012) New Revision: 5599 Modified: SwiftApps/SciColSim/evolve.sh Log: o added some error checking for openmp-optimizer Modified: SwiftApps/SciColSim/evolve.sh =================================================================== --- SwiftApps/SciColSim/evolve.sh 2012-02-13 20:51:32 UTC (rev 5598) +++ SwiftApps/SciColSim/evolve.sh 2012-02-13 21:01:51 UTC (rev 5599) @@ -4,4 +4,16 @@ shift 1 NWORKERS=${23} OMP_NUM_THREADS=$NWORKERS $(dirname $0)/openmp-optimizer $* 2>&1 +if [ $? == 127 ]; +then + echo "Missing openmp-optimizer binary" >&2 + exit 1 +fi + +if [ $? != 0 ]; +then + echo "Problem running the openmp-optimizer" >&2 + exit 1 +fi + mv multi_loss.data $datafile From jonmon at ci.uchicago.edu Mon Feb 13 15:41:03 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 13 Feb 2012 15:41:03 -0600 (CST) Subject: [Swift-commit] r5600 - in SwiftApps/SciColSim: . params Message-ID: <20120213214103.E5EED9CCE9@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-13 15:41:03 -0600 (Mon, 13 Feb 2012) New Revision: 5600 Modified: SwiftApps/SciColSim/params/Fast01 SwiftApps/SciColSim/swiftopt.sh Log: o No longer necessary to set WORK in the parameter file o the swiftwork directory is now a subdirectory of the run directory Modified: SwiftApps/SciColSim/params/Fast01 =================================================================== --- SwiftApps/SciColSim/params/Fast01 2012-02-13 21:01:51 UTC (rev 5599) +++ SwiftApps/SciColSim/params/Fast01 2012-02-13 21:41:03 UTC (rev 5600) @@ -17,5 +17,4 @@ delta -1.0 -WORK $PWD/swiftwork JOB_THROTTLE .05 Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-13 21:01:51 UTC (rev 5599) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-13 21:41:03 UTC (rev 5600) @@ -69,8 +69,6 @@ conf/gen.tc $execsite > $rundir/tc conf/gen.cf $execsite > $rundir/cf -SWIFT_HOME=swift/bin swift/bin/gensites conf/$execsite.xml > $rundir/$execsite.xml - cp movie_graph.txt $rundir # Echo parameters @@ -85,14 +83,18 @@ total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * 2 * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` echo Total jobs = $total_jobs +cd $rundir + if [ _$dryrun != _ ]; then exit 0 fi # Do the run -cd $rundir +export WORK=$PWD/swiftwork +SWIFT_HOME=../swift/bin ../swift/bin/gensites ../conf/$execsite.xml > $execsite.xml + SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ \ -minrange=$min_target_innovation \ From jonmon at ci.uchicago.edu Mon Feb 13 16:22:48 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 13 Feb 2012 16:22:48 -0600 (CST) Subject: [Swift-commit] r5601 - SwiftApps/SciColSim/conf Message-ID: <20120213222248.43E299CCA2@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-13 16:22:48 -0600 (Mon, 13 Feb 2012) New Revision: 5601 Added: SwiftApps/SciColSim/conf/pads-ssh-coasters.xml Log: adding base for the pads with coasters template Added: SwiftApps/SciColSim/conf/pads-ssh-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh-coasters.xml (rev 0) +++ SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-13 22:22:48 UTC (rev 5601) @@ -0,0 +1,23 @@ + + + + + + CI-CCR000013 + KEEP + + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + 10 + 1 + 1 + fast + 9.59 + 10000 + /gpfs/pads/swift/jonmon/Swift/work/pads + + From jonmon at ci.uchicago.edu Mon Feb 13 16:27:55 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 13 Feb 2012 16:27:55 -0600 (CST) Subject: [Swift-commit] r5602 - SwiftApps/SciColSim/conf Message-ID: <20120213222755.EA0BD9CCA2@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-13 16:27:55 -0600 (Mon, 13 Feb 2012) New Revision: 5602 Added: SwiftApps/SciColSim/conf/pads-local-coasters.xml Modified: SwiftApps/SciColSim/conf/pads-ssh-coasters.xml Log: o added pads-local-coasters template o templateized the pads-ssh-coasters.xml Added: SwiftApps/SciColSim/conf/pads-local-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-local-coasters.xml (rev 0) +++ SwiftApps/SciColSim/conf/pads-local-coasters.xml 2012-02-13 22:27:55 UTC (rev 5602) @@ -0,0 +1,24 @@ + + + + + _WORK_ + + CI-CCR000013 + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + _SLOTS_ + 1 + 1 + fast + + _JOB_THROTTLE + 10000 + + KEEP + + Modified: SwiftApps/SciColSim/conf/pads-ssh-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-13 22:22:48 UTC (rev 5601) +++ SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-13 22:27:55 UTC (rev 5602) @@ -2,22 +2,23 @@ - - CI-CCR000013 - KEEP - + _WORK_ + + CI-CCR000013 8 1 100 100 3600 00:02:00 - 10 + _SLOTS_ 1 1 fast - 9.59 + + _JOB_THROTTLE 10000 - /gpfs/pads/swift/jonmon/Swift/work/pads + + KEEP From jonmon at ci.uchicago.edu Mon Feb 13 16:28:54 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 13 Feb 2012 16:28:54 -0600 (CST) Subject: [Swift-commit] r5603 - SwiftApps/SciColSim/conf Message-ID: <20120213222854.85CF39CCA2@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-13 16:28:54 -0600 (Mon, 13 Feb 2012) New Revision: 5603 Modified: SwiftApps/SciColSim/conf/pads-local-coasters.xml Log: minor change to the local pads template Modified: SwiftApps/SciColSim/conf/pads-local-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-local-coasters.xml 2012-02-13 22:27:55 UTC (rev 5602) +++ SwiftApps/SciColSim/conf/pads-local-coasters.xml 2012-02-13 22:28:54 UTC (rev 5603) @@ -1,6 +1,6 @@ - + _WORK_ From davidk at ci.uchicago.edu Mon Feb 13 16:47:22 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Mon, 13 Feb 2012 16:47:22 -0600 (CST) Subject: [Swift-commit] r5604 - SwiftApps/SciColSim/conf Message-ID: <20120213224722.8F3519CCA2@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-13 16:47:22 -0600 (Mon, 13 Feb 2012) New Revision: 5604 Modified: SwiftApps/SciColSim/conf/pads-local-coasters.xml SwiftApps/SciColSim/conf/pads-ssh-coasters.xml Log: A few fixes for the PADS templates Modified: SwiftApps/SciColSim/conf/pads-local-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-local-coasters.xml 2012-02-13 22:28:54 UTC (rev 5603) +++ SwiftApps/SciColSim/conf/pads-local-coasters.xml 2012-02-13 22:47:22 UTC (rev 5604) @@ -1,5 +1,5 @@ - + _WORK_ @@ -11,12 +11,12 @@ 100 3600 00:02:00 - _SLOTS_ + 192 1 1 fast - _JOB_THROTTLE + 0.5 10000 KEEP Modified: SwiftApps/SciColSim/conf/pads-ssh-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-13 22:28:54 UTC (rev 5603) +++ SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-13 22:47:22 UTC (rev 5604) @@ -1,6 +1,6 @@ - + _WORK_ @@ -11,12 +11,12 @@ 100 3600 00:02:00 - _SLOTS_ + 192 1 1 fast - _JOB_THROTTLE + 0.5 10000 KEEP From jonmon at ci.uchicago.edu Mon Feb 13 16:53:52 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 13 Feb 2012 16:53:52 -0600 (CST) Subject: [Swift-commit] r5605 - SwiftApps/SciColSim/conf Message-ID: <20120213225352.98EDC9CCA2@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-13 16:53:52 -0600 (Mon, 13 Feb 2012) New Revision: 5605 Modified: SwiftApps/SciColSim/conf/gen.tc Log: sumloss now runs on the execution site instead of always local, only until swiftopt.sh can handle this case where we need both. Modified: SwiftApps/SciColSim/conf/gen.tc =================================================================== --- SwiftApps/SciColSim/conf/gen.tc 2012-02-13 22:47:22 UTC (rev 5604) +++ SwiftApps/SciColSim/conf/gen.tc 2012-02-13 22:53:52 UTC (rev 5605) @@ -3,6 +3,6 @@ site=$1 cat < Author: jonmon Date: 2012-02-13 17:26:06 -0600 (Mon, 13 Feb 2012) New Revision: 5606 Modified: SwiftApps/SciColSim/conf/local.xml SwiftApps/SciColSim/conf/pads-local-coasters.xml SwiftApps/SciColSim/conf/pads-ssh-coasters.xml SwiftApps/SciColSim/swiftopt.sh Log: o changes to the pads template files and local template files o minor edits to swiftopt.sh Modified: SwiftApps/SciColSim/conf/local.xml =================================================================== --- SwiftApps/SciColSim/conf/local.xml 2012-02-13 22:53:52 UTC (rev 5605) +++ SwiftApps/SciColSim/conf/local.xml 2012-02-13 23:26:06 UTC (rev 5606) @@ -1,7 +1,7 @@ - _JOB_THROTTLE_ + _JOB_THROTTLE 10000 _WORK_ Modified: SwiftApps/SciColSim/conf/pads-local-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-local-coasters.xml 2012-02-13 22:53:52 UTC (rev 5605) +++ SwiftApps/SciColSim/conf/pads-local-coasters.xml 2012-02-13 23:26:06 UTC (rev 5606) @@ -1,9 +1,16 @@ + + + 0.09 + 10000 + + _WORK_ + _WORK_ - + CI-CCR000013 8 1 Modified: SwiftApps/SciColSim/conf/pads-ssh-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-13 22:53:52 UTC (rev 5605) +++ SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-13 23:26:06 UTC (rev 5606) @@ -1,9 +1,16 @@ - + + + 0.09 + 10000 + + _WORK_ + + _WORK_ - + CI-CCR000013 8 1 Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-13 22:53:52 UTC (rev 5605) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-13 23:26:06 UTC (rev 5606) @@ -19,6 +19,8 @@ dryrun= escapecode=$(printf '\033') +fixed_params=2 # Currently CONSTANT, will want to have this vary + # Process command line arguments while [ $# -gt 0 ]; do @@ -54,8 +56,6 @@ cp params/$paramfile $rundir/paramfile - - sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing @@ -80,21 +80,21 @@ # Echo runtime estimates -total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * 2 * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` +total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * $fixed_params * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` echo Total jobs = $total_jobs cd $rundir -if [ _$dryrun != _ ]; then - exit 0 -fi - # Do the run export WORK=$PWD/swiftwork -SWIFT_HOME=../swift/bin ../swift/bin/gensites ../conf/$execsite.xml > $execsite.xml +SWIFT_HOME=../swift/bin ../swift/bin/gensites ../conf/$execsite.XML > $execsite.xml +if [ _$dryrun != _ ]; then + exit 0 +fi + SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ \ -minrange=$min_target_innovation \ From davidk at ci.uchicago.edu Mon Feb 13 17:30:38 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Mon, 13 Feb 2012 17:30:38 -0600 (CST) Subject: [Swift-commit] r5607 - SwiftApps/SciColSim/conf Message-ID: <20120213233038.8AE3D9CCE9@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-13 17:30:38 -0600 (Mon, 13 Feb 2012) New Revision: 5607 Added: SwiftApps/SciColSim/conf/fusion-local-coasters.xml Log: Template for fusion Added: SwiftApps/SciColSim/conf/fusion-local-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/fusion-local-coasters.xml (rev 0) +++ SwiftApps/SciColSim/conf/fusion-local-coasters.xml 2012-02-13 23:30:38 UTC (rev 5607) @@ -0,0 +1,15 @@ + + + + + 3600 + 1 + 192 + 1 + 192 + 0.5 + 10000 + _WORK_ + + + From wilde at ci.uchicago.edu Mon Feb 13 23:34:00 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Mon, 13 Feb 2012 23:34:00 -0600 (CST) Subject: [Swift-commit] r5608 - SwiftApps/SciColSim Message-ID: <20120214053400.A2DF59CCE9@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-13 23:34:00 -0600 (Mon, 13 Feb 2012) New Revision: 5608 Modified: SwiftApps/SciColSim/getparamtrace.sh Log: Add param to getparamtrace.sh to specify target_innovation value to trace. Modified: SwiftApps/SciColSim/getparamtrace.sh =================================================================== --- SwiftApps/SciColSim/getparamtrace.sh 2012-02-13 23:30:38 UTC (rev 5607) +++ SwiftApps/SciColSim/getparamtrace.sh 2012-02-14 05:34:00 UTC (rev 5608) @@ -1,6 +1,7 @@ #! /bin/sh -grep 'calling evolve' swift.out | grep ,58, | +targetinno=${1:-58} +grep 'calling evolve' swift.out | grep ,$targetinno, | sed -e 's/^.*\[//' \ -e 's/\]$//' \ -e 's/,/ /g' \ From lgadelha at ci.uchicago.edu Tue Feb 14 10:15:37 2012 From: lgadelha at ci.uchicago.edu (lgadelha at ci.uchicago.edu) Date: Tue, 14 Feb 2012 10:15:37 -0600 (CST) Subject: [Swift-commit] r5609 - in provenancedb: . etc Message-ID: <20120214161537.CACF39CCA5@svn.ci.uchicago.edu> Author: lgadelha Date: 2012-02-14 10:15:37 -0600 (Tue, 14 Feb 2012) New Revision: 5609 Added: provenancedb/build_script_run_provenance_graph.sh provenancedb/list_script_runs.sh Modified: provenancedb/etc/provenance.config.ci provenancedb/prov-init.sql provenancedb/prov-to-sql.sh provenancedb/swift-prov-import-all-logs Log: Updates to import script, schema. Minor fixes to schema. Added: provenancedb/build_script_run_provenance_graph.sh =================================================================== --- provenancedb/build_script_run_provenance_graph.sh (rev 0) +++ provenancedb/build_script_run_provenance_graph.sh 2012-02-14 16:15:37 UTC (rev 5609) @@ -0,0 +1,50 @@ +#!/bin/bash + +PROVDIR=$(dirname $0) +pushd $PROVDIR +PROVDIR=$(pwd) +popd + +# we need to keep this out of the log-proceesing dir because import +# of individual runs will clean other files. + +source $PROVDIR/etc/provenance.config +export PATH=$PROVDIR:$PATH + +query="select pgraph_edge.* from proc,pgraph_edge where (proc.id=pgraph_edge.parent or proc.id=pgraph_edge.child) and proc.run_id='$1';" + +echo "digraph \"$1\" {" > $1.dot +#$SQLCMD --tuples-only -c "$query" | sed -e '/^ *$/d' | awk '{print "\""$1"\"" " -> " "\""$3"\""}' >> $1.dot +$SQLCMD --tuples-only -c "$query" | sed -e '/^ *$/d' > /tmp/$1.tmp + +while read parent separator child; do + isfc=$(echo $parent | grep ^execute) + if [ "X" == "X$isfc" ]; then + variable=$parent + functioncall=$child + else + variable=$child + functioncall=$parent + fi + + variabletype=$($SQLCMD --tuples-only -c "select type from variable where id='$variable'" | awk '{print $1}') + + if [ "$variabletype" == "mapped" ]; then + variablelabel="variable:mapped:"$($SQLCMD --tuples-only -c "select filename from variable where id='$variable'" | awk '{print $1}') + fi + if [ "$variabletype" == "primitive" ]; then + variablelabel="variable:primitive:"$($SQLCMD --tuples-only -c "select value from variable where id='$variable'" | awk '{print $1}') + fi + if [ "$variabletype" == "composite" ]; then + variablelabel="variable:composite" + fi + + functioncalllabel="functioncall:"$($SQLCMD --tuples-only -c "select name from function_call where id='$functioncall'" | awk '{print $1}') + echo "\"$variable\" [ label=\"$variablelabel\" ];" >> /tmp/$1.header.dot + echo "\"$functioncall\" [ label=\"$functioncalllabel\"];" >> /tmp/$1.header.dot + echo "\"$parent\" -> \"$child\";" >> /tmp/$1.body.dot +done < /tmp/$1.tmp + +cat /tmp/$1.header.dot | sort | uniq >> $1.dot +cat /tmp/$1.body.dot >> $1.dot +echo "}" >> $1.dot \ No newline at end of file Property changes on: provenancedb/build_script_run_provenance_graph.sh ___________________________________________________________________ Added: svn:executable + * Modified: provenancedb/etc/provenance.config.ci =================================================================== --- provenancedb/etc/provenance.config.ci 2012-02-14 05:34:00 UTC (rev 5608) +++ provenancedb/etc/provenance.config.ci 2012-02-14 16:15:37 UTC (rev 5609) @@ -1,7 +1,6 @@ # file to source that sets variables for the various paths that are # presently hardcoded -# this is the path to log repo on benc's laptop export LOGREPO=~/swift-logs export SQLCMD="psql -U provdb -h db.ci.uchicago.edu provdb" Added: provenancedb/list_script_runs.sh =================================================================== --- provenancedb/list_script_runs.sh (rev 0) +++ provenancedb/list_script_runs.sh 2012-02-14 16:15:37 UTC (rev 5609) @@ -0,0 +1,16 @@ +#!/bin/bash + +PROVDIR=$(dirname $0) +pushd $PROVDIR +PROVDIR=$(pwd) +popd + +# we need to keep this out of the log-proceesing dir because import +# of individual runs will clean other files. + +source $PROVDIR/etc/provenance.config +export PATH=$PROVDIR:$PATH + +query="select * from script_run;" + +$SQLCMD -c "$query" \ No newline at end of file Property changes on: provenancedb/list_script_runs.sh ___________________________________________________________________ Added: svn:executable + * Modified: provenancedb/prov-init.sql =================================================================== --- provenancedb/prov-init.sql 2012-02-14 05:34:00 UTC (rev 5608) +++ provenancedb/prov-init.sql 2012-02-14 16:15:37 UTC (rev 5609) @@ -30,7 +30,7 @@ log_filename varchar(2048), swift_version varchar(16), cog_version varchar(16), - final_state varchar(16), + final_state varchar(32), start_time numeric, duration numeric, script_source text, @@ -60,7 +60,7 @@ proc_name varchar(256), -- name of the app procedure that invokes the transformation start_time numeric, duration numeric, - final_state varchar(16), + final_state varchar(32), scratch varchar(2048) ); @@ -72,7 +72,7 @@ app_inv_id varchar(256) references app_inv (id) on delete cascade, start_time numeric, duration numeric, - final_state varchar(16), + final_state varchar(32), site varchar(256) ); @@ -240,7 +240,7 @@ drop view function_call; create view function_call as - select proc.id, app_inv.proc_name as name, proc.type, proc.name as tc_name, proc.run_id as script_run_id, + select proc.id, proc.name as name, proc.type, app_inv.proc_name as tc_name, proc.run_id as script_run_id, to_timestamp(app_inv.start_time) as start_time, app_inv.duration, app_inv.final_state, app_inv.scratch from proc left outer join Modified: provenancedb/prov-to-sql.sh =================================================================== --- provenancedb/prov-to-sql.sh 2012-02-14 05:34:00 UTC (rev 5608) +++ provenancedb/prov-to-sql.sh 2012-02-14 16:15:37 UTC (rev 5609) @@ -11,36 +11,42 @@ # this gives a distinction between the root process for a workflow and the # workflow itself. perhaps better to model the workflow as a process -$SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('${WFID}0', 'rootthread', '$RUNID', '$WF');" +#echo "BEGIN TRANSACTION;" > /tmp/$RUNID.sql +echo "INSERT INTO proc (id, type, name, run_id) VALUES ('${WFID}0', 'rootthread', '$RUNID', '$WF');" >> /tmp/$RUNID.sql while read time duration thread localthread endstate tr_name scratch; do - $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$thread', 'execute', '$tr_name', '$WF');" - $SQLCMD -c "INSERT INTO app_inv (id, start_time, duration, final_state, scratch) VALUES ('$thread', $time, $duration, '$endstate', '$scratch');" + echo "INSERT INTO proc (id, type, run_id) VALUES ('$thread', 'execute', '$WF');" >> /tmp/$RUNID-1.sql + echo "INSERT INTO app_inv (id, proc_name, start_time, duration, final_state, scratch) VALUES ('$thread', '$tr_name', $time, $duration, '$endstate', '$scratch');" >> /tmp/$RUNID-2.sql done < execute.global.event while read start_time duration globalid id endstate thread site scratch; do # cut off the last component of the thread, so that we end up at the # parent thread id which should correspond with the execute-level ID inv_id="$WFID$(echo $thread | sed 's/-[^-]*$//')" - $SQLCMD -c "INSERT INTO app_exec (id, app_inv_id, start_time, duration, final_state, site) VALUES ('$globalid', '$inv_id', $start_time, $duration, '$endstate', '$site');" + echo "INSERT INTO app_exec (id, app_inv_id, start_time, duration, final_state, site) VALUES ('$globalid', '$inv_id', $start_time, $duration, '$endstate', '$site');" >> /tmp/$RUNID-3.sql done < execute2.global.event -while read outer inner; do - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$outer');" - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$inner');" - $SQLCMD -c "INSERT INTO ds_cont (out_id, in_id) VALUES ('$outer', '$inner');" -done < tie-containers.txt while read dataset filename; do - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$dataset');" - $SQLCMD -c "INSERT INTO file (id, name) VALUES ('$dataset', '$filename');" + echo "INSERT INTO ds (id) VALUES ('$dataset');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO file (id, name) VALUES ('$dataset', '$filename');" >> /tmp/$RUNID-5.sql done < dataset-filenames.txt while read dataset idtype equal value rest; do - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$dataset');" - $SQLCMD -c "INSERT INTO in_mem (id, value) VALUES ('$dataset', '$value');" + echo "INSERT INTO ds (id) VALUES ('$dataset');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO in_mem (id, value) VALUES ('$dataset', '$value');" >> /tmp/$RUNID-5.sql done < dataset-values.txt +while read outer inner; do + echo "INSERT INTO ds (id) VALUES ('$outer');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO ds (id) VALUES ('$inner');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO ds_cont (out_id, in_id) VALUES ('$outer', '$inner');" >> /tmp/$RUNID-5.sql + echo "INSERT INTO proc (id, type, name, run_id) VALUES ('${WFID}constructor:$outer', 'constructor', 'constructor', '$WF');" >> /tmp/$RUNID-1.sql + echo "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('${WFID}constructor:$outer', '$inner', 'element');" >> /tmp/$RUNID-5.sql + echo "INSERT INTO ds_out (proc_id, ds_id, param) VALUES ('${WFID}constructor:$outer', '$outer', 'collection');" >> /tmp/$RUNID-5.sql +done < tie-containers.txt + + while read col1 col2 col3 col4 col5 thread name lhs rhs result; do thread=$(echo $thread | awk 'BEGIN { FS = "=" }; {print $2}') name=$(echo $name | awk 'BEGIN { FS = "=" }; {print $2}') @@ -50,34 +56,34 @@ operatorid="${WFID}operator:$thread" - #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$lhs');" - #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$rhs');" - #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$result');" - $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$operatorid', 'operator', '$name', '$WF');" - $SQLCMD -c "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$operatorid', '$lhs', 'lhs');" - $SQLCMD -c "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$operatorid', '$rhs', 'rhs');" - $SQLCMD -c "INSERT INTO ds_out (proc_id, ds_id, param) VALUES ('$operatorid', '$result', 'result');" + echo "INSERT INTO ds (id) VALUES ('$lhs');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO ds (id) VALUES ('$rhs');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO ds (id) VALUES ('$result');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO proc (id, type, name, run_id) VALUES ('$operatorid', 'operator', '$name', '$WF');" >> /tmp/$RUNID-1.sql + echo "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$operatorid', '$lhs', 'lhs');" >> /tmp/$RUNID-5.sql + echo "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$operatorid', '$rhs', 'rhs');" >> /tmp/$RUNID-5.sql + echo "INSERT INTO ds_out (proc_id, ds_id, param) VALUES ('$operatorid', '$result', 'result');" >> /tmp/$RUNID-5.sql done < operators.txt while read id name output; do - #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$output');" - $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$id', 'function', '$name', '$WF');" - $SQLCMD -c "INSERT INTO ds_out (proc_id, ds_id, param) VALUES ('$id', '$output', 'result');" + echo "INSERT INTO ds (id) VALUES ('$output');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO proc (id, type, name, run_id) VALUES ('$id', 'function', '$name', '$WF');" >> /tmp/$RUNID-1.sql + echo "INSERT INTO ds_out (proc_id, ds_id, param) VALUES ('$id', '$output', 'result');" >> /tmp/$RUNID-5.sql done < functions.txt while read id value; do - #$SQLCMD -c "INSERT INTO ds (id) VALUES ('$value');" - $SQLCMD -c "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$id', '$value', 'undefined');" + echo "INSERT INTO ds (id) VALUES ('$value');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO ds_in (proc_id, ds_id, param) VALUES ('$id', '$value', 'undefined');" >> /tmp/$RUNID-5.sql done < function-inputs.txt while read thread appname; do - $SQLCMD -c "UPDATE app_inv SET proc_name='$appname' WHERE id='$thread';" + echo "UPDATE proc SET name='$appname' WHERE id='$thread';" >> /tmp/$RUNID-3.sql done < invocation-procedure-names.txt while read start duration wfid rest; do - $SQLCMD -c "UPDATE run SET start_time=$start WHERE id='$WF';" - $SQLCMD -c "UPDATE run SET duration=$duration WHERE id='$WF';" + echo "UPDATE run SET start_time=$start WHERE id='$WF';" >> /tmp/$RUNID-1.sql + echo "UPDATE run SET duration=$duration WHERE id='$WF';" >> /tmp/$RUNID-1.sql done < workflow.event @@ -85,20 +91,20 @@ while read start duration thread final_state procname ; do if [ "$duration" != "last-event-line" ]; then compoundid=$WFID$thread - $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$compoundid', 'compound', '$procname', '$WF');" + echo "INSERT INTO proc (id, type, name, run_id) VALUES ('$compoundid', 'compound', '$procname', '$WF');" >> /tmp/$RUNID-1.sql fi done < compound.event while read start duration thread final_state procname ; do if [ "$duration" != "last-event-line" ]; then fqid=$WFID$thread - $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$fqid', 'internal', '$procname', '$WF');" + echo "INSERT INTO proc (id, type, name, run_id) VALUES ('$fqid', 'internal', '$procname', '$WF');" >> /tmp/$RUNID-1.sql fi done < internalproc.event while read t ; do thread="${WFID}$t" - $SQLCMD -c "INSERT INTO proc (id, type, name, run_id) VALUES ('$thread', 'scope', 'scope', '$WF');" + echo "INSERT INTO proc (id, type, name, run_id) VALUES ('$thread', 'scope', 'scope', '$WF');" >> /tmp/$RUNID-1.sql done < scopes.txt while read thread direction dataset variable rest; do @@ -108,12 +114,8 @@ table=ds_out fi - EXISTING=$($SQLCMD --tuples-only -c "select count(*) from ds where ds.id='$dataset';") - - if [ "$EXISTING" -eq "0" ]; then - $SQLCMD -c "INSERT INTO ds (id) VALUES ('$dataset');" - fi - $SQLCMD -c "INSERT INTO $table (proc_id, ds_id, param) VALUES ('$thread', '$dataset', '$variable');" + echo "INSERT INTO ds (id) VALUES ('$dataset');" >> /tmp/$RUNID-4.sql + echo "INSERT INTO $table (proc_id, ds_id, param) VALUES ('$thread', '$dataset', '$variable');" >> /tmp/$RUNID-5.sql done < tie-data-invocs.txt if [ -f extrainfo.txt ]; then @@ -124,10 +126,10 @@ id=$($SQLCMD --tuples-only -c "select app_inv_id from app_exec where id='$execute2_id';" | awk '{print $1}') while read name type value; do if [ "$type" = "num" ]; then - $SQLCMD -c "INSERT INTO a_proc_n (id, name, value) VALUES ('$id', '$name', $value);" + echo "INSERT INTO a_proc_n (id, name, value) VALUES ('$id', '$name', $value);" >> /tmp/$RUNID-6.sql fi if [ "$type" = "txt" ]; then - $SQLCMD -c "INSERT INTO a_proc_t (id, name, value) VALUES ('$id', '$name', '$value');" + echo "INSERT INTO a_proc_t (id, name, value) VALUES ('$id', '$name', '$value');" >> /tmp/$RUNID-6.sql fi done < fields.txt done < extrainfo.txt @@ -141,8 +143,17 @@ max_virtual_mem=$(echo $runtime | awk -F "," '{print $4}' | awk -F ":" '{print $2}') io_read_bytes=$(echo $runtime | awk -F "," '{print $5}' | awk -F ":" '{print $2}') io_write_bytes=$(echo $runtime | awk -F "," '{print $6}' | awk -F ":" '{print $2}') - $SQLCMD -c "INSERT INTO runtime_info (app_execution_id, tstamp, cpu_usage, max_phys_mem, max_virtual_mem, io_read_bytes, io_write_bytes) VALUES ('$execute2_id', $timestamp, $cpu_usage, $max_phys_mem, $max_virtual_mem, $io_read_bytes, $io_write_bytes);" + echo "INSERT INTO runtime_info (app_execution_id, tstamp, cpu_usage, max_phys_mem, max_virtual_mem, io_read_bytes, io_write_bytes) VALUES ('$execute2_id', $timestamp, $cpu_usage, $max_phys_mem, $max_virtual_mem, $io_read_bytes, $io_write_bytes);" >> /tmp/$RUNID-6.sql done < runtime.txt fi +for i in `seq 1 6` +do + cat /tmp/$RUNID-$i.sql | sort | uniq >> /tmp/$RUNID.sql + #rm /tmp/$RUNID-$i.sql +done + +echo "COMMIT;" >> /tmp/$RUNID.sql +$SQLCMD -f /tmp/$RUNID.sql +#rm /tmp/$RUNID.sql echo Finished sending SQL to DB \ No newline at end of file Modified: provenancedb/swift-prov-import-all-logs =================================================================== --- provenancedb/swift-prov-import-all-logs 2012-02-14 05:34:00 UTC (rev 5608) +++ provenancedb/swift-prov-import-all-logs 2012-02-14 16:15:37 UTC (rev 5609) @@ -56,7 +56,8 @@ export WF="${RUNID}" - $SQLCMD -c "INSERT INTO run (id, log_filename, swift_version, cog_version, final_state) VALUES ('$WF','$filename','$version', '', '$wfstatus');" + echo "BEGIN TRANSACTION;" > /tmp/$WF.sql + echo "INSERT INTO run (id, log_filename, swift_version, cog_version, final_state) VALUES ('$WF','$filename','$version', '', '$wfstatus');" >> /tmp/$WF.sql echo version $version in log file $filename echo ============= will import ============= From jonmon at ci.uchicago.edu Tue Feb 14 10:46:16 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 14 Feb 2012 10:46:16 -0600 (CST) Subject: [Swift-commit] r5610 - SwiftApps/SciColSim Message-ID: <20120214164616.729949CCA5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-14 10:46:16 -0600 (Tue, 14 Feb 2012) New Revision: 5610 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o fixed typo Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-14 16:15:37 UTC (rev 5609) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-14 16:46:16 UTC (rev 5610) @@ -89,7 +89,7 @@ export WORK=$PWD/swiftwork -SWIFT_HOME=../swift/bin ../swift/bin/gensites ../conf/$execsite.XML > $execsite.xml +SWIFT_HOME=../swift/bin ../swift/bin/gensites ../conf/$execsite.xml > $execsite.xml if [ _$dryrun != _ ]; then exit 0 From jonmon at ci.uchicago.edu Tue Feb 14 10:53:12 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 14 Feb 2012 10:53:12 -0600 (CST) Subject: [Swift-commit] r5611 - SwiftApps/SciColSim/conf Message-ID: <20120214165312.07DEC9CCA5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-14 10:53:11 -0600 (Tue, 14 Feb 2012) New Revision: 5611 Modified: SwiftApps/SciColSim/conf/local.xml Log: missing trailing _ in local.xml Modified: SwiftApps/SciColSim/conf/local.xml =================================================================== --- SwiftApps/SciColSim/conf/local.xml 2012-02-14 16:46:16 UTC (rev 5610) +++ SwiftApps/SciColSim/conf/local.xml 2012-02-14 16:53:11 UTC (rev 5611) @@ -1,7 +1,7 @@ - _JOB_THROTTLE + _JOB_THROTTLE_ 10000 _WORK_ From wilde at ci.uchicago.edu Tue Feb 14 10:56:15 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Tue, 14 Feb 2012 10:56:15 -0600 (CST) Subject: [Swift-commit] r5612 - SwiftApps/SciColSim Message-ID: <20120214165615.A8FA89CCA5@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-14 10:56:15 -0600 (Tue, 14 Feb 2012) New Revision: 5612 Modified: SwiftApps/SciColSim/annealing.swift Log: Re-enabled rejection[][] update logic that was commented out earlier to debug a deadlock. Use a trejection[][] value to update rejection every 'cycle' iterations. Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-14 16:53:11 UTC (rev 5611) +++ SwiftApps/SciColSim/annealing.swift 2012-02-14 16:56:15 UTC (rev 5612) @@ -69,6 +69,7 @@ int NEVOPARAMS = 5; // const - 5 params, alpha 1,m through delta, does not include target_innovation float rejection[][]; // [i][j] where i is cycle and j is evolve-parameter (alpha_i, alpha_m, beta, gamma, delta) + float trejection[][]; float x[][], dx[][], curr_loss[], curr_sdev[]; @@ -108,11 +109,13 @@ { dx[i][k] = dx[i-1][k] / ( newrejection / Target_rejection ); // FIXME: re-enable: rejection[i][k]=0.0; + trejection[i][k]=0.0; } else { dx[i][k] = dx[i-1][k] * 2.0; // FIXME: re-enable: rejection[i][k]=rejection[i-1][k]; + trejection[i][k]=rejection[i-1][k]; } // FIXME: HANGS? : tracef(color(Red,"Recomputed rejection: i=%d k=%d dx[i][k]=%f\n"), i, k, dx[i][k]); } @@ -181,7 +184,14 @@ if (r > ratio) // Reject new parameter { x[i][j] = x[i-1][j]; - rejection[i][j] = rejection[i-1][j] + 1.0; // FIXME: AR: Is this correct? incr rejection? + if ( i %% cycle == 1 && i > 1 ) + { + rejection[i][j] = trejection[i][j] + 1.0; // FIXME: triple-check this! + } + else + { + rejection[i][j] = rejection[i-1][j] + 1.0; // FIXME: AR: Is this correct? incr rejection? + } curr_loss[curr] = curr_loss[prev]; curr_sdev[curr] = curr_sdev[prev]; // FIXME: AR: the following prints seem to replicate values in the .cpp version - please clarify. @@ -193,7 +203,14 @@ tracef( "multi_annealing: Accepting try_x[j], i=%i j=%i\n",i,j ); x[i][j] = try_x[j]; - rejection[i][j] = rejection[i-1][j]; // FIXME: AR: Is this correct? no incr of rejection? + if ( i %% cycle == 1 && i > 1 ) + { + rejection[i][j] = trejection[i][j]; // FIXME: triple-check this! + } + else + { + rejection[i][j] = rejection[i-1][j]; // FIXME: AR: Is this correct? no incr of rejection? + } curr_loss[curr] = mlres[i][j].loss; curr_sdev[curr] = mlres[i][j].sdev; From jonmon at ci.uchicago.edu Tue Feb 14 11:23:40 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 14 Feb 2012 11:23:40 -0600 (CST) Subject: [Swift-commit] r5613 - SwiftApps/SciColSim/params Message-ID: <20120214172340.D3B469CCE9@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-14 11:23:40 -0600 (Tue, 14 Feb 2012) New Revision: 5613 Added: SwiftApps/SciColSim/params/BetaTest Log: Beta value bug test Added: SwiftApps/SciColSim/params/BetaTest =================================================================== --- SwiftApps/SciColSim/params/BetaTest (rev 0) +++ SwiftApps/SciColSim/params/BetaTest 2012-02-14 17:23:40 UTC (rev 5613) @@ -0,0 +1,20 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 59 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 60 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 1 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 2 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + + +JOB_THROTTLE .26 From jonmon at ci.uchicago.edu Tue Feb 14 13:58:14 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 14 Feb 2012 13:58:14 -0600 (CST) Subject: [Swift-commit] r5614 - SwiftApps/SciColSim Message-ID: <20120214195814.1E6B49D10C@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-14 13:58:13 -0600 (Tue, 14 Feb 2012) New Revision: 5614 Modified: SwiftApps/SciColSim/Makefile SwiftApps/SciColSim/annealing.swift Log: Make file compiles with -O3 flag, annealing.swift not prints to separate files based on target innovation file and what repition it is on. Modified: SwiftApps/SciColSim/Makefile =================================================================== --- SwiftApps/SciColSim/Makefile 2012-02-14 17:23:40 UTC (rev 5613) +++ SwiftApps/SciColSim/Makefile 2012-02-14 19:58:13 UTC (rev 5614) @@ -8,7 +8,7 @@ g++ -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp clean: - rm -rf openmp-optimizer + @rm -rvf openmp-optimizer endif @@ -17,16 +17,16 @@ all: openmp-optimizer dispatch-optimizer orig-optimizer openmp-optimizer: optimizer.cpp - g++ -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp + g++ -O3 -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp dispatch-optimizer: optimizer.cpp - g++ -DP_DISPATCH -I boost_1_47_0 -o dispatch-optimizer optimizer.cpp + g++ -O3 -DP_DISPATCH -I boost_1_47_0 -o dispatch-optimizer optimizer.cpp orig-optimizer: optimizer.orig-mac.cpp - g++ -I boost_1_47_0 -o orig-optimizer optimizer.orig-mac.cpp + g++ -O3 -I boost_1_47_0 -o orig-optimizer optimizer.orig-mac.cpp clean: - rm -rf mac-openmp-optimizer mac-dispatch-optimizer mac-orig-optimizer + @rm -rvf openmp-optimizer dispatch-optimizer orig-optimizer endif Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-14 17:23:40 UTC (rev 5613) +++ SwiftApps/SciColSim/annealing.swift 2012-02-14 19:58:13 UTC (rev 5614) @@ -1,8 +1,8 @@ import "math"; import "colortext"; - + /* - *TODO: + *TODO: */ type file; @@ -55,7 +55,7 @@ sumloss() */ -( file bestfile, file maxfile ) multi_annealing ( +( file bestfile, file maxfile ) multi_annealing ( string some_out_filename, float T_start, float T_end, float Target_rejection, @@ -88,7 +88,7 @@ } iterate iter_i // number of annealing cycles - { + { int i = iter_i + 1; // set new temperature, rejection threshold, and dx values for this cycle @@ -121,7 +121,7 @@ } tracef( color( Blue, "multi_annealing: AR: New cycle at %i: dx[0-4]=[%f %f %f %f %f]\n" ), i, dx[i][0], dx[i][1], dx[i][2], dx[i][3], dx[i][4] ); } - else // If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i]j] is set later. + else // If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i][j] is set later. { foreach k in [0:NEVOPARAMS-1] { @@ -163,12 +163,13 @@ tracef( "multi_annealing: AR: %f +- %f\n", mlres[i][j].loss, mlres[i][j].sdev ); // Beyond this point, x[] and dx[] are being set for this i,j - float ALOT=100000000000.0; // 100,000,000,000. = 10^11 + float ALOT = 100000000000.0; // 100,000,000,000. = 10^11 if ( mlres[i][j].loss < ALOT ) { - fprintf( "best_opt_some_swift.txt", "%f, %f, %f, %f, %f, %f, %f, %f\n", - target_innov, mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); + fprintf( some_out_filename, "%i, %f, %f, %f, %f, %f, %f, %f\n", + @toint(target_innov), mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); + fprintf( "max_dist_swift.txt", color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() } else @@ -217,7 +218,7 @@ tracef( "multi_annealing: Accepting try_x[j], i=%i j=%i try_x[j]=%f\n", i, j, try_x[j] ); float rj[]; foreach k in [0:NEVOPARAMS-1] - { + { if (k <= j) { rj[k] = rejection[i][k]; // Was either set from previous j or just set for this j @@ -315,18 +316,20 @@ { foreach rep in [1:nreps] { + string some_out_filename = @strcat( "best.T", @strcat(target_innov), ".R", @strcat(rep), ".txt" ); file outfile; // ; file lossfile; // ; ( outfile,lossfile ) = multi_annealing( - @tofloat(@arg("tstart", "2.0")), - @tofloat(@arg("tend", "0.01")), - @tofloat(@arg("trejection", "0.3")), - @toint(@arg("evoreruns", "100")), - @tofloat(@arg("startingjump", "2.3")), - [@tofloat(@arg("alphai", "0.0")), @tofloat(@arg("alpham", "0.0")), @tofloat(@arg("beta", "4.0")), @tofloat(@arg("gamma", "50.0")), @tofloat(@arg("delta", "-1.0"))], - @tofloat(target_innov), - @toint(@arg("annealingcycles", "50")) ); + some_out_filename, + @tofloat(@arg("tstart", "2.0")), + @tofloat(@arg("tend", "0.01")), + @tofloat(@arg("trejection", "0.3")), + @toint(@arg("evoreruns", "100")), + @tofloat(@arg("startingjump", "2.3")), + [@tofloat(@arg("alphai", "0.0")), @tofloat(@arg("alpham", "0.0")), @tofloat(@arg("beta", "4.0")), @tofloat(@arg("gamma", "50.0")), @tofloat(@arg("delta", "-1.0"))], + @tofloat(target_innov), + @toint(@arg("annealingcycles", "50")) ); } } } From jonmon at ci.uchicago.edu Tue Feb 14 16:03:14 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 14 Feb 2012 16:03:14 -0600 (CST) Subject: [Swift-commit] r5615 - SwiftApps/SciColSim Message-ID: <20120214220314.BCA589D10C@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-14 16:03:14 -0600 (Tue, 14 Feb 2012) New Revision: 5615 Modified: SwiftApps/SciColSim/annealing.swift Log: more information to the some files, added negative beta tests Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-14 19:58:13 UTC (rev 5614) +++ SwiftApps/SciColSim/annealing.swift 2012-02-14 22:03:14 UTC (rev 5615) @@ -137,8 +137,8 @@ if ( /* (!FIX_VARIABLES) || */ ( var_fixed[j] == 0 ) ) { // Adjustable vars // fixed=1,1,0,0,0: FIXME: FIX_VARIABLES flag has faulty logic but OK when TRUE float try_x[]; - foreach k in [0:NEVOPARAMS-1] - { // Select the evolve params to try + foreach k in [0:NEVOPARAMS-1] // Select the evolve params to try + { if ( k < j ) { try_x[k] = x[i][k]; // already set x[i][k] @@ -149,17 +149,24 @@ { try_x[k] = newx(x[i-1][j], dx[i-1][j]); // permute x[i-1][j] } - else - { // k > j + else // k > j + { try_x[k] = x[i-1][k]; // use x[i-1][k] (from prior cycle) } } } tracef( @strcat( "multi_annealing: AR: ", color( 10,"%f" ), " ", color( 9,"%i" ),"\n" ), try_x[j], j ); - // Up to here, x[] and dx[] are only set for previous i - mlres[i][j] = multi_loss( T_start, T_end, annealing_cycles, Target_rejection, starting_jump, i, j, try_x, target_innov, evolve_reruns ); // do the N evolve()'s, N=evolve_reruns - + if( try_x[2] < 0.0 ) + { + mlres[i][j].loss = 100.0; + mlres[i][j].sdev = 1.0; + } + else + { + // Up to here, x[] and dx[] are only set for previous i + mlres[i][j] = multi_loss( T_start, T_end, annealing_cycles, Target_rejection, starting_jump, i, j, try_x, target_innov, evolve_reruns ); // do the N evolve()'s, N=evolve_reruns + } tracef( "multi_annealing: AR: %f +- %f\n", mlres[i][j].loss, mlres[i][j].sdev ); // Beyond this point, x[] and dx[] are being set for this i,j @@ -167,14 +174,17 @@ if ( mlres[i][j].loss < ALOT ) { - fprintf( some_out_filename, "%i, %f, %f, %f, %f, %f, %f, %f\n", - @toint(target_innov), mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); + fprintf( some_out_filename, "N %i %i %f %f | %i, %f, %f, %f, %f, %f, %f, %f\n", + i, j, dx[i][j], rejection[i][j], @toint(target_innov), mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); fprintf( "max_dist_swift.txt", color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() } - else - { // does this ever occur? if so did we want to still do the ratio computation above??? - tracef( "multi_annealing: Loss %f > ALOT at [i][j] = [%d][%d]\n", mlres[i][j].loss, i ,j ); + else // does this ever occur? if so did we want to still do the ratio computation above??? + { + fprintf( some_out_filename, "A %i %i %f %f | %i, %f, %f, %f, %f, %f, %f, %f\n", + i, j, dx[i][j], rejection[i][j], @toint(target_innov), mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); + + //tracef( "multi_annealing: Loss %f > ALOT at [i][j] = [%d][%d]\n", mlres[i][j].loss, i ,j ); } float ratio = min( 1.0, exp( -( mlres[i][j].loss - curr_loss[prev] ) / temperature ) ); From jonmon at ci.uchicago.edu Tue Feb 14 16:04:01 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 14 Feb 2012 16:04:01 -0600 (CST) Subject: [Swift-commit] r5616 - SwiftApps/SciColSim Message-ID: <20120214220401.AFA2B9D10C@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-14 16:04:01 -0600 (Tue, 14 Feb 2012) New Revision: 5616 Modified: SwiftApps/SciColSim/annealing.swift Log: adjusted negative beta value test value Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-14 22:03:14 UTC (rev 5615) +++ SwiftApps/SciColSim/annealing.swift 2012-02-14 22:04:01 UTC (rev 5616) @@ -157,7 +157,7 @@ } tracef( @strcat( "multi_annealing: AR: ", color( 10,"%f" ), " ", color( 9,"%i" ),"\n" ), try_x[j], j ); - if( try_x[2] < 0.0 ) + if( try_x[2] < -1.4 ) { mlres[i][j].loss = 100.0; mlres[i][j].sdev = 1.0; From jonmon at ci.uchicago.edu Tue Feb 14 16:04:23 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 14 Feb 2012 16:04:23 -0600 (CST) Subject: [Swift-commit] r5617 - SwiftApps/SciColSim Message-ID: <20120214220423.474CE9D10C@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-14 16:04:22 -0600 (Tue, 14 Feb 2012) New Revision: 5617 Modified: SwiftApps/SciColSim/Makefile Log: added -03 compile flag for the linux compile as well Modified: SwiftApps/SciColSim/Makefile =================================================================== --- SwiftApps/SciColSim/Makefile 2012-02-14 22:04:01 UTC (rev 5616) +++ SwiftApps/SciColSim/Makefile 2012-02-14 22:04:22 UTC (rev 5617) @@ -5,7 +5,7 @@ all: openmp-optimizer openmp-optimizer: optimizer.cpp - g++ -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp + g++ -O3 -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp clean: @rm -rvf openmp-optimizer From lgadelha at ci.uchicago.edu Wed Feb 15 07:34:47 2012 From: lgadelha at ci.uchicago.edu (lgadelha at ci.uchicago.edu) Date: Wed, 15 Feb 2012 07:34:47 -0600 (CST) Subject: [Swift-commit] r5618 - provenancedb Message-ID: <20120215133447.BA0C89CCA2@svn.ci.uchicago.edu> Author: lgadelha Date: 2012-02-15 07:34:46 -0600 (Wed, 15 Feb 2012) New Revision: 5618 Modified: provenancedb/build_script_run_provenance_graph.sh provenancedb/list_script_runs.sh Log: Minor updates. Modified: provenancedb/build_script_run_provenance_graph.sh =================================================================== --- provenancedb/build_script_run_provenance_graph.sh 2012-02-14 22:04:22 UTC (rev 5617) +++ provenancedb/build_script_run_provenance_graph.sh 2012-02-15 13:34:46 UTC (rev 5618) @@ -14,21 +14,22 @@ query="select pgraph_edge.* from proc,pgraph_edge where (proc.id=pgraph_edge.parent or proc.id=pgraph_edge.child) and proc.run_id='$1';" echo "digraph \"$1\" {" > $1.dot -#$SQLCMD --tuples-only -c "$query" | sed -e '/^ *$/d' | awk '{print "\""$1"\"" " -> " "\""$3"\""}' >> $1.dot +#$SQLCMD --tuples-only -c "$query" | sed -e '/^ *$/d' | sort | uniq | awk '{print "\""$1"\"" " -> " "\""$3"\""}' >> $1.dot $SQLCMD --tuples-only -c "$query" | sed -e '/^ *$/d' > /tmp/$1.tmp while read parent separator child; do - isfc=$(echo $parent | grep ^execute) + isfc=$(echo "$parent" | grep ^execute) if [ "X" == "X$isfc" ]; then - variable=$parent - functioncall=$child + variable="$parent" + functioncall="$child" else - variable=$child - functioncall=$parent + variable="$child" + functioncall="$parent" fi - + variabletype=$($SQLCMD --tuples-only -c "select type from variable where id='$variable'" | awk '{print $1}') - + functioncalllabel="$functioncall" + variablelabel="$variable" if [ "$variabletype" == "mapped" ]; then variablelabel="variable:mapped:"$($SQLCMD --tuples-only -c "select filename from variable where id='$variable'" | awk '{print $1}') fi @@ -38,13 +39,19 @@ if [ "$variabletype" == "composite" ]; then variablelabel="variable:composite" fi + - functioncalllabel="functioncall:"$($SQLCMD --tuples-only -c "select name from function_call where id='$functioncall'" | awk '{print $1}') - echo "\"$variable\" [ label=\"$variablelabel\" ];" >> /tmp/$1.header.dot - echo "\"$functioncall\" [ label=\"$functioncalllabel\"];" >> /tmp/$1.header.dot - echo "\"$parent\" -> \"$child\";" >> /tmp/$1.body.dot + functioncalllabel="function_call:"$($SQLCMD --tuples-only -c "select name from function_call where id='$functioncall'" | awk '{print $1}') + parameter=$($SQLCMD --tuples-only -c "select parameter from ds_use where function_call_id='$functioncall' and variable_id='$variable';" | awk '{print $1}') + + echo "\"$variable\" [ label=\"$variablelabel\", style=filled, fillcolor=lightcyan ];" >> /tmp/$1.header.dot + echo "\"$functioncall\" [ label=\"$functioncalllabel\", shape=box, style=filled, fillcolor=lightcyan ];" >> /tmp/$1.header.dot + echo "\"$parent\" -> \"$child\" [ label=\"$parameter\" ];" >> /tmp/$1.body.dot + done < /tmp/$1.tmp cat /tmp/$1.header.dot | sort | uniq >> $1.dot cat /tmp/$1.body.dot >> $1.dot -echo "}" >> $1.dot \ No newline at end of file +rm /tmp/$1.header.dot /tmp/$1.body.dot +echo "}" >> $1.dot +dot -Tsvg -o $1.svg $1.dot Modified: provenancedb/list_script_runs.sh =================================================================== --- provenancedb/list_script_runs.sh 2012-02-14 22:04:22 UTC (rev 5617) +++ provenancedb/list_script_runs.sh 2012-02-15 13:34:46 UTC (rev 5618) @@ -11,6 +11,6 @@ source $PROVDIR/etc/provenance.config export PATH=$PROVDIR:$PATH -query="select * from script_run;" +query="select * from script_run order by start_time;" $SQLCMD -c "$query" \ No newline at end of file From davidk at ci.uchicago.edu Wed Feb 15 07:56:06 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Wed, 15 Feb 2012 07:56:06 -0600 (CST) Subject: [Swift-commit] r5619 - trunk/libexec Message-ID: <20120215135606.579EA9CCA2@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-15 07:56:06 -0600 (Wed, 15 Feb 2012) New Revision: 5619 Modified: trunk/libexec/_swiftwrap.staging Log: Fix an error in swiftwrap which causes the the script to incorrectly expect a HERE document and print an error Modified: trunk/libexec/_swiftwrap.staging =================================================================== --- trunk/libexec/_swiftwrap.staging 2012-02-15 13:34:46 UTC (rev 5618) +++ trunk/libexec/_swiftwrap.staging 2012-02-15 13:56:06 UTC (rev 5619) @@ -300,7 +300,7 @@ fi "$EXEC" "${CMDARGS[@]}" 1>"$STDOUT" 2>"$STDERR" <"$STDIN" fi -checkError $? "Application $EXEC failed with an exit code of $?" <<$STDERR +checkError $? "Application $EXEC failed with an exit code of $?" <$STDERR logstate "EXECUTE_DONE" log "Job ran successfully" From jonmon at ci.uchicago.edu Wed Feb 15 11:29:02 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 15 Feb 2012 11:29:02 -0600 (CST) Subject: [Swift-commit] r5620 - SwiftApps/SciColSim Message-ID: <20120215172902.424B29CCA2@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-15 11:29:02 -0600 (Wed, 15 Feb 2012) New Revision: 5620 Modified: SwiftApps/SciColSim/testopt.py Log: commit a paramset to help track down beta bug Modified: SwiftApps/SciColSim/testopt.py =================================================================== --- SwiftApps/SciColSim/testopt.py 2012-02-15 13:56:06 UTC (rev 5619) +++ SwiftApps/SciColSim/testopt.py 2012-02-15 17:29:02 UTC (rev 5620) @@ -11,12 +11,26 @@ #paramset="default" #paramset="mw2" -paramset="VERYFASTTEST" +#paramset="VERYFASTTEST" +paramset="beta" print("Running with parameter set " + paramset + "\n\n"); -if paramset == "default": +if paramset == "beta": + startTarget = 58 + endTarget = 59 + incrTarget = 50 + optimizerRepeats = 1 + evolveReruns = 100 + annealingSteps = 100 + NWorkers = "2" + seed = "" + openmp = "OMP_NUM_THREADS=" + NWorkers + operation = "n" + +elif paramset == "default": + # Parameter names and optimizer command line positions startTarget = 58 # target (target innovation) From jonmon at ci.uchicago.edu Wed Feb 15 12:04:51 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 15 Feb 2012 12:04:51 -0600 (CST) Subject: [Swift-commit] r5621 - SwiftApps/SciColSim Message-ID: <20120215180451.912169CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-15 12:04:51 -0600 (Wed, 15 Feb 2012) New Revision: 5621 Modified: SwiftApps/SciColSim/Makefile Log: remove -O3 compiler flag as it causes some very undesired behavior Modified: SwiftApps/SciColSim/Makefile =================================================================== --- SwiftApps/SciColSim/Makefile 2012-02-15 17:29:02 UTC (rev 5620) +++ SwiftApps/SciColSim/Makefile 2012-02-15 18:04:51 UTC (rev 5621) @@ -5,7 +5,7 @@ all: openmp-optimizer openmp-optimizer: optimizer.cpp - g++ -O3 -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp + g++ -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp clean: @rm -rvf openmp-optimizer @@ -17,13 +17,13 @@ all: openmp-optimizer dispatch-optimizer orig-optimizer openmp-optimizer: optimizer.cpp - g++ -O3 -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp + g++ -DP_OPENMP -fopenmp -I boost_1_47_0 -o openmp-optimizer optimizer.cpp dispatch-optimizer: optimizer.cpp - g++ -O3 -DP_DISPATCH -I boost_1_47_0 -o dispatch-optimizer optimizer.cpp + g++ -DP_DISPATCH -I boost_1_47_0 -o dispatch-optimizer optimizer.cpp orig-optimizer: optimizer.orig-mac.cpp - g++ -O3 -I boost_1_47_0 -o orig-optimizer optimizer.orig-mac.cpp + g++ -I boost_1_47_0 -o orig-optimizer optimizer.orig-mac.cpp clean: @rm -rvf openmp-optimizer dispatch-optimizer orig-optimizer From ketan at ci.uchicago.edu Wed Feb 15 13:10:03 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 15 Feb 2012 13:10:03 -0600 (CST) Subject: [Swift-commit] r5622 - SwiftApps/SciColSim/params Message-ID: <20120215191003.ECF309CCA2@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-15 13:10:03 -0600 (Wed, 15 Feb 2012) New Revision: 5622 Added: SwiftApps/SciColSim/params/KMtest01 Log: Added my test parameters called KMtest01 Added: SwiftApps/SciColSim/params/KMtest01 =================================================================== --- SwiftApps/SciColSim/params/KMtest01 (rev 0) +++ SwiftApps/SciColSim/params/KMtest01 2012-02-15 19:10:03 UTC (rev 5622) @@ -0,0 +1,20 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 70 # stops before this target innovation value +target_innovation_increment 1 # increment target innovation by this amount + +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 1000 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 20 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 200 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + + +JOB_THROTTLE 9.99 From wilde at ci.uchicago.edu Wed Feb 15 13:23:55 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Wed, 15 Feb 2012 13:23:55 -0600 (CST) Subject: [Swift-commit] r5623 - SwiftApps/SciColSim Message-ID: <20120215192355.D243C9CCA2@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-15 13:23:55 -0600 (Wed, 15 Feb 2012) New Revision: 5623 Modified: SwiftApps/SciColSim/annealing.swift Log: Adjusted rejection calculation (Still buggy but this seems closer). Added upper range limit on Beta. Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-15 19:10:03 UTC (rev 5622) +++ SwiftApps/SciColSim/annealing.swift 2012-02-15 19:23:55 UTC (rev 5623) @@ -115,7 +115,7 @@ { dx[i][k] = dx[i-1][k] * 2.0; // FIXME: re-enable: rejection[i][k]=rejection[i-1][k]; - trejection[i][k]=rejection[i-1][k]; + trejection[i][k]=newrejection; } // FIXME: HANGS? : tracef(color(Red,"Recomputed rejection: i=%d k=%d dx[i][k]=%f\n"), i, k, dx[i][k]); } @@ -157,10 +157,10 @@ } tracef( @strcat( "multi_annealing: AR: ", color( 10,"%f" ), " ", color( 9,"%i" ),"\n" ), try_x[j], j ); - if( try_x[2] < -1.4 ) + if( (try_x[2] < -1.2) || (try_x[2] > 12.0) ) # FIXME: Temp debugging hack: REMOVE THIS!!! { - mlres[i][j].loss = 100.0; - mlres[i][j].sdev = 1.0; + mlres[i][j].loss = 140.0; + mlres[i][j].sdev = 0.8; } else { From ketan at ci.uchicago.edu Wed Feb 15 13:35:48 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 15 Feb 2012 13:35:48 -0600 (CST) Subject: [Swift-commit] r5624 - SwiftApps/SciColSim/conf Message-ID: <20120215193548.7C0779CCA2@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-15 13:35:48 -0600 (Wed, 15 Feb 2012) New Revision: 5624 Added: SwiftApps/SciColSim/conf/gen.beagle Log: added gen.beagle Added: SwiftApps/SciColSim/conf/gen.beagle =================================================================== --- SwiftApps/SciColSim/conf/gen.beagle (rev 0) +++ SwiftApps/SciColSim/conf/gen.beagle 2012-02-15 19:35:48 UTC (rev 5624) @@ -0,0 +1,63 @@ +#! /bin/sh + +# FIXME: Substitute using gensites: PROJECT MAXTIME SLOTS CLUSTER_THROTTLE etc + +cat < + + + + + + CI-MCB000119 + KEEP + 20 + 1 + 100 + 100 + 10000 + 01:30:00 + 50 + 2 + 2 + route + 9.99 + 10000 + + + /lustre/beagle/${USER}/swift.workdir + + + +END Property changes on: SwiftApps/SciColSim/conf/gen.beagle ___________________________________________________________________ Added: svn:executable + * From ketan at ci.uchicago.edu Wed Feb 15 14:13:25 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 15 Feb 2012 14:13:25 -0600 (CST) Subject: [Swift-commit] r5625 - SwiftApps/SciColSim/conf Message-ID: <20120215201325.D2CFF9CCA2@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-15 14:13:25 -0600 (Wed, 15 Feb 2012) New Revision: 5625 Added: SwiftApps/SciColSim/conf/beagle.xml Log: adding beagle.xml Added: SwiftApps/SciColSim/conf/beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle.xml (rev 0) +++ SwiftApps/SciColSim/conf/beagle.xml 2012-02-15 20:13:25 UTC (rev 5625) @@ -0,0 +1,27 @@ + + + + CI-MCB000119 + + KEEP + + 1 + 24 + DEBUG + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 10000 + 01:30:00 + 50 + 2 + 2 + route + 9.59 + 10000 + + + _WORK_ + + + From wilde at ci.uchicago.edu Wed Feb 15 22:34:50 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Wed, 15 Feb 2012 22:34:50 -0600 (CST) Subject: [Swift-commit] r5626 - SwiftApps/SciColSim Message-ID: <20120216043450.92D359CCA2@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-15 22:34:50 -0600 (Wed, 15 Feb 2012) New Revision: 5626 Added: SwiftApps/SciColSim/paramtraceall.sh SwiftApps/SciColSim/showbest.sh Modified: SwiftApps/SciColSim/TimingEstimation.txt SwiftApps/SciColSim/annealing.swift SwiftApps/SciColSim/optimizer.cpp SwiftApps/SciColSim/testopt.py Log: Add a few shell tools; add cleaner output format for bestdebug.txt; change testopt.sh to use it and to save out and best files from each annealing run; update timing estimates. Modified: SwiftApps/SciColSim/TimingEstimation.txt =================================================================== --- SwiftApps/SciColSim/TimingEstimation.txt 2012-02-15 20:13:25 UTC (rev 5625) +++ SwiftApps/SciColSim/TimingEstimation.txt 2012-02-16 04:34:50 UTC (rev 5626) @@ -25,6 +25,16 @@ = 10,800,000 + = 20 x 15 x 3 x 100 x 1000 x 10 = total core-seconds + + = 900M core seconds + + = 900M / 1000 = 900,000 seconds on 1000 cores + + = 250 hours = 10 days + + + Estimated Runtime on a small scale (2 laptops or 24 cores) =10,800,000/24 x (1 to 50 sec) Modified: SwiftApps/SciColSim/annealing.swift =================================================================== --- SwiftApps/SciColSim/annealing.swift 2012-02-15 20:13:25 UTC (rev 5625) +++ SwiftApps/SciColSim/annealing.swift 2012-02-16 04:34:50 UTC (rev 5626) @@ -89,7 +89,7 @@ iterate iter_i // number of annealing cycles { - int i = iter_i + 1; + int i = iter_i + 1; // i ranges [1:n] in the swift script so that [0] can be the initial condition // set new temperature, rejection threshold, and dx values for this cycle float temperature = T_start*exp( @tofloat( i-1 ) * ( jlog( T_end ) - jlog( T_start ) ) / @tofloat( annealing_cycles ) ); @@ -174,10 +174,10 @@ if ( mlres[i][j].loss < ALOT ) { - fprintf( some_out_filename, "N %i %i %f %f | %i, %f, %f, %f, %f, %f, %f, %f\n", - i, j, dx[i][j], rejection[i][j], @toint(target_innov), mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); + fprintf( some_out_filename, "N, %i, %i, %f, %f, |, %i, %f, [, %f, %f, %f, %f, %f, ], %f\n", + i-1, j, dx[i][j], rejection[i][j], @toint(target_innov), mlres[i][j].loss, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4], mlres[i][j].sdev ); // Note i-1 field: print that way to match with C++ output - fprintf( "max_dist_swift.txt", color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() + // fprintf( "max_dist_swift.txt", color( Red,"multi_annealing: AF: max_dist.txt - tbd\n" ) ); // FIXME: max_dist is global set in evolve() } else // does this ever occur? if so did we want to still do the ratio computation above??? { Modified: SwiftApps/SciColSim/optimizer.cpp =================================================================== --- SwiftApps/SciColSim/optimizer.cpp 2012-02-15 20:13:25 UTC (rev 5625) +++ SwiftApps/SciColSim/optimizer.cpp 2012-02-16 04:34:50 UTC (rev 5626) @@ -1484,13 +1484,17 @@ filestr.open ("best_opt_some.txt", ofstream::app); // >> i/o operations here << - filestr << un[0]->get_target() << "," + filestr + + << "N, " << i << ", " << j << ", " << dx[j] << ", " << rejection[j] << ", |, " // FIXME: MW-DEBUGGING + + << un[0]->get_target() << ", " << Res.first - << "," << un[0]->get_parameter(0) - << "," << un[0]->get_parameter(1) - << "," << un[0]->get_parameter(2) - << "," << un[0]->get_parameter(3) - << "," << un[0]->get_parameter(4) << "," << Res.second << ",\n"; + << ", " << un[0]->get_parameter(0) + << ", " << un[0]->get_parameter(1) + << ", " << un[0]->get_parameter(2) + << ", " << un[0]->get_parameter(3) + << ", " << un[0]->get_parameter(4) << ", " << Res.second << ",\n"; filestr.close(); @@ -1501,7 +1505,19 @@ filestr << max_dist << ",\n"; filestr.close(); - + + FILE *bf; + bf = fopen("bestdb.txt","a"); + fprintf(bf, "N %2d %2d %10.5f %5.2f | %5.2f %10.5f [ %5.2f %5.2f %10.5f %10.5f %10.5f ] %10.5f\n", i, j, dx[j], rejection[j], + un[0]->get_target(), + Res.first, + un[0]->get_parameter(0), + un[0]->get_parameter(1), + un[0]->get_parameter(2), + un[0]->get_parameter(3), + un[0]->get_parameter(4), + Res.second); + fclose(bf); } Added: SwiftApps/SciColSim/paramtraceall.sh =================================================================== --- SwiftApps/SciColSim/paramtraceall.sh (rev 0) +++ SwiftApps/SciColSim/paramtraceall.sh 2012-02-16 04:34:50 UTC (rev 5626) @@ -0,0 +1,7 @@ +for ti in $(seq 58 70); do + echo + echo "=======" $ti ; /home/wilde/AndreysOptimizer/src/getparamtrace.sh $ti + echo +done + + Property changes on: SwiftApps/SciColSim/paramtraceall.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/SciColSim/showbest.sh =================================================================== --- SwiftApps/SciColSim/showbest.sh (rev 0) +++ SwiftApps/SciColSim/showbest.sh 2012-02-16 04:34:50 UTC (rev 5626) @@ -0,0 +1,8 @@ +#! /bin/sh + +awk '{ + printf( "N %2d %2d %10.5f %5.2f | %5.2f %10.5f [ %5.2f %5.2f %10.5f %10.5f %10.5f ] %10.5f\n", + $2, $3, $4, $5, $7, $8, $10, $11, $12, $13, $14, $16); +}' + + Property changes on: SwiftApps/SciColSim/showbest.sh ___________________________________________________________________ Added: svn:executable + * Modified: SwiftApps/SciColSim/testopt.py =================================================================== --- SwiftApps/SciColSim/testopt.py 2012-02-15 20:13:25 UTC (rev 5625) +++ SwiftApps/SciColSim/testopt.py 2012-02-16 04:34:50 UTC (rev 5626) @@ -20,10 +20,10 @@ startTarget = 58 endTarget = 59 incrTarget = 50 - optimizerRepeats = 1 - evolveReruns = 100 + optimizerRepeats = 100 + evolveReruns = 32 annealingSteps = 100 - NWorkers = "2" + NWorkers = "8" seed = "" openmp = "OMP_NUM_THREADS=" + NWorkers operation = "n" @@ -140,8 +140,10 @@ for target in range(startTarget,endTarget,incrTarget): for i in range(optimizerRepeats): - args = openmp + " " + app + " 0 0 4 50 -1 " + str(target) + " 40000 20 " + str(evolveReruns) + \ - " 2 1 2. 0.01 " + str(annealingSteps) + " 0.3 2.3 1 1 0 0 0 " + operation + " " + NWorkers + " " + seed; + args = "rm -f bestdb.txt; " + \ + openmp + " " + app + " 0 0 4 50 -1 " + str(target) + " 40000 20 " + str(evolveReruns) + \ + " 2 1 2. 0.01 " + str(annealingSteps) + " 0.3 2.3 1 1 0 0 0 " + operation + " " + NWorkers + " " + seed + \ + " >& out.T"+str(target)+".i"+str(i) + "; mv bestdb.txt best.T" + str(target) + ".i" + str(i) print("\n**** Calling optimizer: "+args+"\n") os.system(args); From wilde at ci.uchicago.edu Wed Feb 15 23:02:44 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Wed, 15 Feb 2012 23:02:44 -0600 (CST) Subject: [Swift-commit] r5627 - in SwiftApps/SciColSim: conf params Message-ID: <20120216050244.6BCCC9CCB3@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-15 23:02:44 -0600 (Wed, 15 Feb 2012) New Revision: 5627 Added: SwiftApps/SciColSim/conf/pads01.xml SwiftApps/SciColSim/params/MWtest03 SwiftApps/SciColSim/params/MWtest04 Log: Add new config and param sets. Added: SwiftApps/SciColSim/conf/pads01.xml =================================================================== --- SwiftApps/SciColSim/conf/pads01.xml (rev 0) +++ SwiftApps/SciColSim/conf/pads01.xml 2012-02-16 05:02:44 UTC (rev 5627) @@ -0,0 +1,33 @@ + + + + + 0.09 + 10000 + + _WORK_/local + + + + + + _WORK_/pads + + CI-CCR000013 + 8 + 1 + 100 + 100 + 3600 + 00:10:00 + 384 + 1 + 1 + + + _JOB_THROTTLE_ + 10000 + + KEEP + + Added: SwiftApps/SciColSim/params/MWtest03 =================================================================== --- SwiftApps/SciColSim/params/MWtest03 (rev 0) +++ SwiftApps/SciColSim/params/MWtest03 2012-02-16 05:02:44 UTC (rev 5627) @@ -0,0 +1,19 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 109 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 3 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 16 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 8 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 16 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + +JOB_THROTTLE .10 Added: SwiftApps/SciColSim/params/MWtest04 =================================================================== --- SwiftApps/SciColSim/params/MWtest04 (rev 0) +++ SwiftApps/SciColSim/params/MWtest04 2012-02-16 05:02:44 UTC (rev 5627) @@ -0,0 +1,19 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 1009 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 160 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 8 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 80 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + +JOB_THROTTLE 3.99 From davidk at ci.uchicago.edu Thu Feb 16 00:19:03 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Thu, 16 Feb 2012 00:19:03 -0600 (CST) Subject: [Swift-commit] r5628 - in SwiftApps/SciColSim: . conf Message-ID: <20120216061903.35C199CCC5@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-16 00:19:02 -0600 (Thu, 16 Feb 2012) New Revision: 5628 Added: SwiftApps/SciColSim/conf/beagle.cf SwiftApps/SciColSim/conf/fusion.cf SwiftApps/SciColSim/conf/fusion.xml SwiftApps/SciColSim/conf/local.cf SwiftApps/SciColSim/conf/mcs.cf SwiftApps/SciColSim/conf/mcs.conf SwiftApps/SciColSim/conf/pads-ssh.cf SwiftApps/SciColSim/conf/pads-ssh.xml SwiftApps/SciColSim/conf/pads.cf SwiftApps/SciColSim/conf/pads.xml Removed: SwiftApps/SciColSim/conf/fusion-local-coasters.xml SwiftApps/SciColSim/conf/gen.beagle SwiftApps/SciColSim/conf/gen.cf SwiftApps/SciColSim/conf/gen.local SwiftApps/SciColSim/conf/gen.pads SwiftApps/SciColSim/conf/gen.tc SwiftApps/SciColSim/conf/pads-local-coasters.xml SwiftApps/SciColSim/conf/pads-ssh-coasters.xml Modified: SwiftApps/SciColSim/swiftopt.sh Log: A few updates here: Make swiftopt.sh use gensites for everything now - sites.xml, tc.data, and cf Ability to use start-coaster-service configurations New templates for MCS Added: SwiftApps/SciColSim/conf/beagle.cf =================================================================== --- SwiftApps/SciColSim/conf/beagle.cf (rev 0) +++ SwiftApps/SciColSim/conf/beagle.cf 2012-02-16 06:19:02 UTC (rev 5628) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app sumloss=$PWD/../sumloss.sh +#app evolve=$PWD/../evolve.sh Deleted: SwiftApps/SciColSim/conf/fusion-local-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/fusion-local-coasters.xml 2012-02-16 05:02:44 UTC (rev 5627) +++ SwiftApps/SciColSim/conf/fusion-local-coasters.xml 2012-02-16 06:19:02 UTC (rev 5628) @@ -1,15 +0,0 @@ - - - - - 3600 - 1 - 192 - 1 - 192 - 0.5 - 10000 - _WORK_ - - - Added: SwiftApps/SciColSim/conf/fusion.cf =================================================================== --- SwiftApps/SciColSim/conf/fusion.cf (rev 0) +++ SwiftApps/SciColSim/conf/fusion.cf 2012-02-16 06:19:02 UTC (rev 5628) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app sumloss=$PWD/../sumloss.sh +#app evolve=$PWD/../evolve.sh Copied: SwiftApps/SciColSim/conf/fusion.xml (from rev 5625, SwiftApps/SciColSim/conf/fusion-local-coasters.xml) =================================================================== --- SwiftApps/SciColSim/conf/fusion.xml (rev 0) +++ SwiftApps/SciColSim/conf/fusion.xml 2012-02-16 06:19:02 UTC (rev 5628) @@ -0,0 +1,15 @@ + + + + + 3600 + 1 + 192 + 1 + 192 + 0.5 + 10000 + _WORK_ + + + Deleted: SwiftApps/SciColSim/conf/gen.beagle =================================================================== --- SwiftApps/SciColSim/conf/gen.beagle 2012-02-16 05:02:44 UTC (rev 5627) +++ SwiftApps/SciColSim/conf/gen.beagle 2012-02-16 06:19:02 UTC (rev 5628) @@ -1,63 +0,0 @@ -#! /bin/sh - -# FIXME: Substitute using gensites: PROJECT MAXTIME SLOTS CLUSTER_THROTTLE etc - -cat < - - - - - - CI-MCB000119 - KEEP - 20 - 1 - 100 - 100 - 10000 - 01:30:00 - 50 - 2 - 2 - route - 9.99 - 10000 - - - /lustre/beagle/${USER}/swift.workdir - - - -END Deleted: SwiftApps/SciColSim/conf/gen.cf =================================================================== --- SwiftApps/SciColSim/conf/gen.cf 2012-02-16 05:02:44 UTC (rev 5627) +++ SwiftApps/SciColSim/conf/gen.cf 2012-02-16 06:19:02 UTC (rev 5628) @@ -1,9 +0,0 @@ -cat < - - - 0.05 - 10000 - - $(pwd)/swiftwork/local - - -END \ No newline at end of file Deleted: SwiftApps/SciColSim/conf/gen.pads =================================================================== --- SwiftApps/SciColSim/conf/gen.pads 2012-02-16 05:02:44 UTC (rev 5627) +++ SwiftApps/SciColSim/conf/gen.pads 2012-02-16 06:19:02 UTC (rev 5628) @@ -1,45 +0,0 @@ -#! /bin/sh - -# FIXME: Substitute using gensites: PROJECT MAXTIME SLOTS CLUSTER_THROTTLE etc - -cat < - - - - - 0.01 - 10000 - - - $(pwd)/swiftwork/local - - - - - - - CI-CCR000013 - KEEP - 8 - 1 - 100 - 100 - 3600 - 00:02:00 - 10 - 1 - 1 - fast - 9.59 - 10000 - - - $(pwd)/swiftwork/pads - - - - - -END Deleted: SwiftApps/SciColSim/conf/gen.tc =================================================================== --- SwiftApps/SciColSim/conf/gen.tc 2012-02-16 05:02:44 UTC (rev 5627) +++ SwiftApps/SciColSim/conf/gen.tc 2012-02-16 06:19:02 UTC (rev 5628) @@ -1,8 +0,0 @@ -#! /bin/sh - -site=$1 - -cat < - - - 0.09 - 10000 - - _WORK_ - - - - - _WORK_ - - CI-CCR000013 - 8 - 1 - 100 - 100 - 3600 - 00:02:00 - 192 - 1 - 1 - fast - - 0.5 - 10000 - - KEEP - - Deleted: SwiftApps/SciColSim/conf/pads-ssh-coasters.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-16 05:02:44 UTC (rev 5627) +++ SwiftApps/SciColSim/conf/pads-ssh-coasters.xml 2012-02-16 06:19:02 UTC (rev 5628) @@ -1,31 +0,0 @@ - - - - 0.09 - 10000 - - _WORK_ - - - - - _WORK_ - - CI-CCR000013 - 8 - 1 - 100 - 100 - 3600 - 00:02:00 - 192 - 1 - 1 - fast - - 0.5 - 10000 - - KEEP - - Added: SwiftApps/SciColSim/conf/pads-ssh.cf =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh.cf (rev 0) +++ SwiftApps/SciColSim/conf/pads-ssh.cf 2012-02-16 06:19:02 UTC (rev 5628) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app sumloss=$PWD/../sumloss.sh +#app evolve=$PWD/../evolve.sh Copied: SwiftApps/SciColSim/conf/pads-ssh.xml (from rev 5625, SwiftApps/SciColSim/conf/pads-ssh-coasters.xml) =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh.xml (rev 0) +++ SwiftApps/SciColSim/conf/pads-ssh.xml 2012-02-16 06:19:02 UTC (rev 5628) @@ -0,0 +1,31 @@ + + + + 0.09 + 10000 + + _WORK_ + + + + + _WORK_ + + CI-CCR000013 + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + 192 + 1 + 1 + fast + + 0.5 + 10000 + + KEEP + + Added: SwiftApps/SciColSim/conf/pads.cf =================================================================== --- SwiftApps/SciColSim/conf/pads.cf (rev 0) +++ SwiftApps/SciColSim/conf/pads.cf 2012-02-16 06:19:02 UTC (rev 5628) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app sumloss=$PWD/../sumloss.sh +#app evolve=$PWD/../evolve.sh Copied: SwiftApps/SciColSim/conf/pads.xml (from rev 5625, SwiftApps/SciColSim/conf/pads-local-coasters.xml) =================================================================== --- SwiftApps/SciColSim/conf/pads.xml (rev 0) +++ SwiftApps/SciColSim/conf/pads.xml 2012-02-16 06:19:02 UTC (rev 5628) @@ -0,0 +1,31 @@ + + + + 0.09 + 10000 + + _WORK_ + + + + + _WORK_ + + CI-CCR000013 + 8 + 1 + 100 + 100 + 3600 + 00:02:00 + 192 + 1 + 1 + fast + + 0.5 + 10000 + + KEEP + + Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-16 05:02:44 UTC (rev 5627) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-16 06:19:02 UTC (rev 5628) @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/bash #TODO: Fix espcape code nonense, seems to be passing in -n -e to swift @@ -11,18 +11,37 @@ usage="$0 [-s sitename] [-p paramfile] [-n] # -n for dryrun: just print params and time estimates" -# Default settings: +# Function to run Swift +runswift() { + SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf ../annealing.swift -e33="$escapecode" \ + \ + -minrange=$min_target_innovation \ + -maxrange=$max_target_innovation \ + -rangeinc=$target_innovation_increment \ + \ + -nreps=$annealing_repeats \ + -annealingcycles=$annealing_cycles \ + -evoreruns=$evolve_reruns \ + \ + -alphai=$alpha_i \ + -alpham=$alpha_m \ + -beta=$beta \ + -gamma=$gamma \ + -delta=$delta \ + \ + -nworkers=$nworkers \ + -rerunsperapp=$reruns_per_opt_invocation +} +# Default settings execsite=local paramfile=Fast01 ram=2000M dryrun= escapecode=$(printf '\033') - fixed_params=2 # Currently CONSTANT, will want to have this vary # Process command line arguments - while [ $# -gt 0 ]; do case $1 in -s) execsite=$2; shift 2;; @@ -34,7 +53,6 @@ done # Create next unique run id and run directory - if [ ! -f nextrun ]; then echo 000 >nextrun else @@ -53,66 +71,69 @@ fi # Get optimization parameters - cp params/$paramfile $rundir/paramfile - sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing - swift=../swift/bin/swift # relative to runNNN/ dirs -#gensites=`which gensites` -#swift=`which swift` - echo Optimization run $runid: site=$execsite paramfile=$paramfile -# generate swift config files # FIXME: replace this logic using gensites -conf/gen.tc $execsite > $rundir/tc -conf/gen.cf $execsite > $rundir/cf +# Report an error if configuration files are missing +if [ ! -f "conf/$execsite.xml" ] && [ ! -f "conf/$execsite.conf" ]; then + echo Unable to find requested configuration file for site $execsite + exit 1 +fi +# Use start-coaster-service if site is a .conf file +if [ -f "conf/$execsite.conf" ]; then + USE_SCS=1 +fi + +# Check for missing .cf files +if [ -f "conf/$execsite.xml" ] && [ ! -f "conf/$execsite.cf" ]; then + echo Missing configuration file $execsite.cf +fi + cp movie_graph.txt $rundir # Echo parameters - echo Annealing parameters: echo cat $rundir/params.annealing echo # Echo runtime estimates - total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * $fixed_params * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` echo Total jobs = $total_jobs cd $rundir # Do the run - export WORK=$PWD/swiftwork -SWIFT_HOME=../swift/bin ../swift/bin/gensites ../conf/$execsite.xml > $execsite.xml +# Use start-coaster-service if the site uses a .conf file +if [ "$USE_SCS" == "1" ]; then + cp ../conf/$execsite.conf coaster-service.conf + cp ../conf/$execsite.cf cf + sed -i -e "s at _RUNDIR_@$rundir@" coaster-service.conf + start-coaster-service +fi +# Run gensites +if [ ! "$USE_SCS" == 1 ]; then + cp ../conf/$execsite.cf cf + SWIFT_HOME=../swift/bin ../swift/bin/gensites -p ../conf/$execsite.cf ../conf/$execsite.xml > $execsite.xml +fi + if [ _$dryrun != _ ]; then exit 0 fi -SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc -sites.file $execsite.xml -config cf ../annealing.swift -e33="$escapecode" \ - \ --minrange=$min_target_innovation \ --maxrange=$max_target_innovation \ --rangeinc=$target_innovation_increment \ - \ --nreps=$annealing_repeats \ --annealingcycles=$annealing_cycles \ --evoreruns=$evolve_reruns \ - \ --alphai=$alpha_i \ --alpham=$alpha_m \ --beta=$beta \ --gamma=$gamma \ --delta=$delta \ - \ --nworkers=$nworkers \ --rerunsperapp=$reruns_per_opt_invocation +if [ "$USE_SCS" == "1" ]; then + runswift "sites.xml" + stop-coaster-service +else + runswift "$execsite.xml" +fi exit $? From wilde at ci.uchicago.edu Thu Feb 16 06:34:14 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 16 Feb 2012 06:34:14 -0600 (CST) Subject: [Swift-commit] r5629 - in SwiftApps/SciColSim: conf params Message-ID: <20120216123414.9A9EE9CCB3@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-16 06:34:14 -0600 (Thu, 16 Feb 2012) New Revision: 5629 Added: SwiftApps/SciColSim/conf/beagle01.xml SwiftApps/SciColSim/conf/beagle02.xml SwiftApps/SciColSim/params/MWtest05 SwiftApps/SciColSim/params/MWtest06 Log: Add new beagle configs and params. Added: SwiftApps/SciColSim/conf/beagle01.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle01.xml (rev 0) +++ SwiftApps/SciColSim/conf/beagle01.xml 2012-02-16 12:34:14 UTC (rev 5629) @@ -0,0 +1,38 @@ + + + + + 0.09 + 10000 + + _WORK_/local + + + + + + CI-MCB000119 + + KEEP + + 1 + + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 3600 + 00:10:00 + 50 + 1 + 1 + + 12.00 + 10000 + + + _WORK_/beagle + + + + + Added: SwiftApps/SciColSim/conf/beagle02.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle02.xml (rev 0) +++ SwiftApps/SciColSim/conf/beagle02.xml 2012-02-16 12:34:14 UTC (rev 5629) @@ -0,0 +1,38 @@ + + + + + 0.09 + 10000 + + _WORK_/local + + + + + + CI-MCB000119 + + KEEP + + 1 + + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 1800 + 00:10:00 + 1 + 10 + 10 + scalability + 3.00 + 10000 + + + _WORK_/beagle + + + + + Added: SwiftApps/SciColSim/params/MWtest05 =================================================================== --- SwiftApps/SciColSim/params/MWtest05 (rev 0) +++ SwiftApps/SciColSim/params/MWtest05 2012-02-16 12:34:14 UTC (rev 5629) @@ -0,0 +1,19 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 109 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 3 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 48 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 24 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 48 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + +JOB_THROTTLE .10 Added: SwiftApps/SciColSim/params/MWtest06 =================================================================== --- SwiftApps/SciColSim/params/MWtest06 (rev 0) +++ SwiftApps/SciColSim/params/MWtest06 2012-02-16 12:34:14 UTC (rev 5629) @@ -0,0 +1,18 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 1009 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 2 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 960 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 24 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 240 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + From wilde at ci.uchicago.edu Thu Feb 16 06:41:43 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 16 Feb 2012 06:41:43 -0600 (CST) Subject: [Swift-commit] r5630 - in SwiftApps/SciColSim: conf params Message-ID: <20120216124143.0AF5E9CCB3@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-16 06:41:42 -0600 (Thu, 16 Feb 2012) New Revision: 5630 Added: SwiftApps/SciColSim/conf/pads02.xml SwiftApps/SciColSim/params/MWtest07 Log: Add more pads confs and params. Added: SwiftApps/SciColSim/conf/pads02.xml =================================================================== --- SwiftApps/SciColSim/conf/pads02.xml (rev 0) +++ SwiftApps/SciColSim/conf/pads02.xml 2012-02-16 12:41:42 UTC (rev 5630) @@ -0,0 +1,33 @@ + + + + + 0.09 + 10000 + + _WORK_/local + + + + + + _WORK_/pads + + CI-CCR000013 + 8 + 1 + 100 + 100 + 3600 + 00:20:00 + 384 + 1 + 1 + + + 400 + 10000 + + KEEP + + Added: SwiftApps/SciColSim/params/MWtest07 =================================================================== --- SwiftApps/SciColSim/params/MWtest07 (rev 0) +++ SwiftApps/SciColSim/params/MWtest07 2012-02-16 12:41:42 UTC (rev 5630) @@ -0,0 +1,18 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 1009 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 400 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 8 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 40 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + From wilde at ci.uchicago.edu Thu Feb 16 06:44:04 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 16 Feb 2012 06:44:04 -0600 (CST) Subject: [Swift-commit] r5631 - SwiftApps/SciColSim/conf Message-ID: <20120216124404.6AE4E9CCB3@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-16 06:44:04 -0600 (Thu, 16 Feb 2012) New Revision: 5631 Modified: SwiftApps/SciColSim/conf/pads02.xml Log: Fix new pads conf. Pool handle name must be same as conf file name. Modified: SwiftApps/SciColSim/conf/pads02.xml =================================================================== --- SwiftApps/SciColSim/conf/pads02.xml 2012-02-16 12:41:42 UTC (rev 5630) +++ SwiftApps/SciColSim/conf/pads02.xml 2012-02-16 12:44:04 UTC (rev 5631) @@ -8,7 +8,7 @@ _WORK_/local - + _WORK_/pads From davidk at ci.uchicago.edu Thu Feb 16 08:58:45 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Thu, 16 Feb 2012 08:58:45 -0600 (CST) Subject: [Swift-commit] r5632 - SwiftApps/SciColSim/conf Message-ID: <20120216145845.DD0B09CCB3@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-16 08:58:45 -0600 (Thu, 16 Feb 2012) New Revision: 5632 Modified: SwiftApps/SciColSim/conf/fusion.cf SwiftApps/SciColSim/conf/fusion.xml SwiftApps/SciColSim/conf/pads-ssh.cf SwiftApps/SciColSim/conf/pads-ssh.xml Log: Customize template configs to run sumloss locally, and evolve remotely Modified: SwiftApps/SciColSim/conf/fusion.cf =================================================================== --- SwiftApps/SciColSim/conf/fusion.cf 2012-02-16 12:44:04 UTC (rev 5631) +++ SwiftApps/SciColSim/conf/fusion.cf 2012-02-16 14:58:45 UTC (rev 5632) @@ -6,5 +6,5 @@ use.provider.staging=false provider.staging.pin.swiftfiles=false -#app sumloss=$PWD/../sumloss.sh -#app evolve=$PWD/../evolve.sh +#app local sumloss=$PWD/../sumloss.sh +#app fusion evolve=$PWD/../evolve.sh Modified: SwiftApps/SciColSim/conf/fusion.xml =================================================================== --- SwiftApps/SciColSim/conf/fusion.xml 2012-02-16 12:44:04 UTC (rev 5631) +++ SwiftApps/SciColSim/conf/fusion.xml 2012-02-16 14:58:45 UTC (rev 5632) @@ -1,4 +1,14 @@ + + + + 0.09 + 10000 + + _WORK_/local + + + @@ -9,7 +19,8 @@ 192 0.5 10000 - _WORK_ + _WORK_/fusion + Modified: SwiftApps/SciColSim/conf/pads-ssh.cf =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh.cf 2012-02-16 12:44:04 UTC (rev 5631) +++ SwiftApps/SciColSim/conf/pads-ssh.cf 2012-02-16 14:58:45 UTC (rev 5632) @@ -6,5 +6,5 @@ use.provider.staging=false provider.staging.pin.swiftfiles=false -#app sumloss=$PWD/../sumloss.sh -#app evolve=$PWD/../evolve.sh +#app local sumloss=$PWD/../sumloss.sh +#app pads-ssh evolve=$PWD/../evolve.sh Modified: SwiftApps/SciColSim/conf/pads-ssh.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh.xml 2012-02-16 12:44:04 UTC (rev 5631) +++ SwiftApps/SciColSim/conf/pads-ssh.xml 2012-02-16 14:58:45 UTC (rev 5632) @@ -1,4 +1,5 @@ + 0.09 @@ -6,11 +7,11 @@ _WORK_ - - + + + _WORK_ - CI-CCR000013 8 1 @@ -22,10 +23,9 @@ 1 1 fast - 0.5 10000 - KEEP + From davidk at ci.uchicago.edu Thu Feb 16 09:03:22 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Thu, 16 Feb 2012 09:03:22 -0600 (CST) Subject: [Swift-commit] r5633 - SwiftApps/SciColSim/conf Message-ID: <20120216150322.BB13C9CCB3@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-16 09:03:22 -0600 (Thu, 16 Feb 2012) New Revision: 5633 Added: SwiftApps/SciColSim/conf/beagle01.cf SwiftApps/SciColSim/conf/beagle02.cf SwiftApps/SciColSim/conf/pads01.cf SwiftApps/SciColSim/conf/pads02.cf Log: Updated config files Added: SwiftApps/SciColSim/conf/beagle01.cf =================================================================== --- SwiftApps/SciColSim/conf/beagle01.cf (rev 0) +++ SwiftApps/SciColSim/conf/beagle01.cf 2012-02-16 15:03:22 UTC (rev 5633) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app local sumloss=$PWD/../sumloss.sh +#app beagle01 evolve=$PWD/../evolve.sh Added: SwiftApps/SciColSim/conf/beagle02.cf =================================================================== --- SwiftApps/SciColSim/conf/beagle02.cf (rev 0) +++ SwiftApps/SciColSim/conf/beagle02.cf 2012-02-16 15:03:22 UTC (rev 5633) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app local sumloss=$PWD/../sumloss.sh +#app beagle02 evolve=$PWD/../evolve.sh Added: SwiftApps/SciColSim/conf/pads01.cf =================================================================== --- SwiftApps/SciColSim/conf/pads01.cf (rev 0) +++ SwiftApps/SciColSim/conf/pads01.cf 2012-02-16 15:03:22 UTC (rev 5633) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app local sumloss=$PWD/../sumloss.sh +#app pads01 evolve=$PWD/../evolve.sh Added: SwiftApps/SciColSim/conf/pads02.cf =================================================================== --- SwiftApps/SciColSim/conf/pads02.cf (rev 0) +++ SwiftApps/SciColSim/conf/pads02.cf 2012-02-16 15:03:22 UTC (rev 5633) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app local sumloss=$PWD/../sumloss.sh +#app pads02 evolve=$PWD/../evolve.sh From lgadelha at ci.uchicago.edu Thu Feb 16 10:02:57 2012 From: lgadelha at ci.uchicago.edu (lgadelha at ci.uchicago.edu) Date: Thu, 16 Feb 2012 10:02:57 -0600 (CST) Subject: [Swift-commit] r5634 - provenancedb Message-ID: <20120216160257.D430F9CCC5@svn.ci.uchicago.edu> Author: lgadelha Date: 2012-02-16 10:02:57 -0600 (Thu, 16 Feb 2012) New Revision: 5634 Modified: provenancedb/build_script_run_provenance_graph.sh provenancedb/swift-prov-import-all-logs Log: Minor updates. Modified: provenancedb/build_script_run_provenance_graph.sh =================================================================== --- provenancedb/build_script_run_provenance_graph.sh 2012-02-16 15:03:22 UTC (rev 5633) +++ provenancedb/build_script_run_provenance_graph.sh 2012-02-16 16:02:57 UTC (rev 5634) @@ -31,17 +31,17 @@ functioncalllabel="$functioncall" variablelabel="$variable" if [ "$variabletype" == "mapped" ]; then - variablelabel="variable:mapped:"$($SQLCMD --tuples-only -c "select filename from variable where id='$variable'" | awk '{print $1}') + variablelabel="mapped:"$($SQLCMD --tuples-only -c "select filename from variable where id='$variable'" | awk '{print $1}') fi if [ "$variabletype" == "primitive" ]; then - variablelabel="variable:primitive:"$($SQLCMD --tuples-only -c "select value from variable where id='$variable'" | awk '{print $1}') + variablelabel="primitive:"$($SQLCMD --tuples-only -c "select value from variable where id='$variable'" | awk '{print $1}') fi if [ "$variabletype" == "composite" ]; then - variablelabel="variable:composite" + variablelabel="composite" fi - functioncalllabel="function_call:"$($SQLCMD --tuples-only -c "select name from function_call where id='$functioncall'" | awk '{print $1}') + functioncalllabel=$($SQLCMD --tuples-only -c "select name from function_call where id='$functioncall'" | awk '{print $1}') parameter=$($SQLCMD --tuples-only -c "select parameter from ds_use where function_call_id='$functioncall' and variable_id='$variable';" | awk '{print $1}') echo "\"$variable\" [ label=\"$variablelabel\", style=filled, fillcolor=lightcyan ];" >> /tmp/$1.header.dot Modified: provenancedb/swift-prov-import-all-logs =================================================================== --- provenancedb/swift-prov-import-all-logs 2012-02-16 15:03:22 UTC (rev 5633) +++ provenancedb/swift-prov-import-all-logs 2012-02-16 16:02:57 UTC (rev 5634) @@ -34,6 +34,7 @@ while read start version filename; do export IDIR=$(echo $filename | sed 's/\.log$/.d/') + COG_VERSION=$(grep -m 1 -E 'Swift .* swift-r[0-9]*' $filename | sed 's/.*Swift .* cog-r\([0-9]*\).*/\1/') echo IDIR=$IDIR if [ $version -ge 1538 ]; then echo -n "Log: $filename ... " @@ -57,7 +58,7 @@ export WF="${RUNID}" echo "BEGIN TRANSACTION;" > /tmp/$WF.sql - echo "INSERT INTO run (id, log_filename, swift_version, cog_version, final_state) VALUES ('$WF','$filename','$version', '', '$wfstatus');" >> /tmp/$WF.sql + echo "INSERT INTO run (id, log_filename, swift_version, cog_version, final_state) VALUES ('$WF','$filename','$version', '$COG_VERSION', '$wfstatus');" >> /tmp/$WF.sql echo version $version in log file $filename echo ============= will import ============= From wilde at ci.uchicago.edu Thu Feb 16 12:41:34 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Thu, 16 Feb 2012 12:41:34 -0600 (CST) Subject: [Swift-commit] r5635 - SwiftApps/SciColSim Message-ID: <20120216184134.A19589CCC5@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-16 12:41:34 -0600 (Thu, 16 Feb 2012) New Revision: 5635 Added: SwiftApps/SciColSim/convertbest.sh SwiftApps/SciColSim/getallparams.sh Log: add util scripts Added: SwiftApps/SciColSim/convertbest.sh =================================================================== --- SwiftApps/SciColSim/convertbest.sh (rev 0) +++ SwiftApps/SciColSim/convertbest.sh 2012-02-16 18:41:34 UTC (rev 5635) @@ -0,0 +1,6 @@ +#! /bin/sh + +for f in best*.txt; do + out=$(basename $f .txt).fmt + ../showbest.sh <$f >$out +done Property changes on: SwiftApps/SciColSim/convertbest.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/SciColSim/getallparams.sh =================================================================== --- SwiftApps/SciColSim/getallparams.sh (rev 0) +++ SwiftApps/SciColSim/getallparams.sh 2012-02-16 18:41:34 UTC (rev 5635) @@ -0,0 +1,10 @@ +#! /bin/sh + +# targetinno=${1:-58} + +grep 'calling evolve' swift.out | # grep ,$targetinno, | + sed -e 's/^.*\[//' \ + -e 's/\]$//' \ + -e 's/,/ /g' \ + -e 's/\(\......\)[0-9]* /\1 /g' | + awk '{print $3, $4, $5}' | uniq Property changes on: SwiftApps/SciColSim/getallparams.sh ___________________________________________________________________ Added: svn:executable + * From davidk at ci.uchicago.edu Thu Feb 16 13:50:34 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Thu, 16 Feb 2012 13:50:34 -0600 (CST) Subject: [Swift-commit] r5636 - trunk/bin Message-ID: <20120216195034.AF8619CCB3@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-16 13:50:34 -0600 (Thu, 16 Feb 2012) New Revision: 5636 Modified: trunk/bin/gensites Log: Fix for non-gnu readlink (mac) Modified: trunk/bin/gensites =================================================================== --- trunk/bin/gensites 2012-02-16 18:41:34 UTC (rev 5635) +++ trunk/bin/gensites 2012-02-16 19:50:34 UTC (rev 5636) @@ -200,7 +200,8 @@ NAME=`echo $line |cut -d'=' -f1|awk '{print $2}'` COMMAND=`echo $line |cut -d'=' -f2` COMMAND=`eval echo $COMMAND` - echo $HOST $NAME `readlink -f $COMMAND` null null null >> tc.data + COMMAND_PATH=$(cd $(dirname $COMMAND); pwd)/$(basename $COMMAND) + echo $HOST $NAME $COMMAND_PATH null null null >> tc.data done fi @@ -211,7 +212,8 @@ NAME=`echo $line|awk '{print $3}'|cut -d'=' -f1` COMMAND=`echo $line|awk '{print $3}'|cut -d'=' -f2` COMMAND=`eval echo $COMMAND` - eval echo $HOST $NAME `readlink -f $COMMAND` null null null >> tc.data + COMMAND_PATH=$(cd $(dirname $COMMAND); pwd)/$(basename $COMMAND) + eval echo $HOST $NAME $COMMAND_PATH null null null >> tc.data fi done fi From jonmon at ci.uchicago.edu Thu Feb 16 14:12:04 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 16 Feb 2012 14:12:04 -0600 (CST) Subject: [Swift-commit] r5637 - SwiftApps/SciColSim Message-ID: <20120216201204.569A59CCC5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-16 14:12:04 -0600 (Thu, 16 Feb 2012) New Revision: 5637 Modified: SwiftApps/SciColSim/getboost.sh SwiftApps/SciColSim/getswift.sh SwiftApps/SciColSim/swiftopt.sh Log: o swiftopt.sh -- fixed run000 error, small amount of information goes to the ABOUT file in the rundir o getboost.sh -- getboost.sh checks to make sure that the boost directory does not exist before downloading. -- download boost tar ball from ~jonmon/public_html/SciColSim/boost_1_47_0.tar.gz o getswift.sh -- gets the stable gensites version for mac from trunk r5636 Modified: SwiftApps/SciColSim/getboost.sh =================================================================== --- SwiftApps/SciColSim/getboost.sh 2012-02-16 19:50:34 UTC (rev 5636) +++ SwiftApps/SciColSim/getboost.sh 2012-02-16 20:12:04 UTC (rev 5637) @@ -2,10 +2,16 @@ tarfile=boost_1_47_0.tar.gz release=$(basename $tarfile .tar.gz) -boostrel=http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.tar.gz/download +boostrel=http://www.ci.uchicago.edu/~jonmon/SciColSim/$tarfile +if [ -d boost_1_47_0 ]; +then + echo "Boost directory already created!" + exit 0 +fi + echo -echo Downloading $release from $boostrel +echo Downloading $release from $boostrel echo rm -rf $tarfile $release Modified: SwiftApps/SciColSim/getswift.sh =================================================================== --- SwiftApps/SciColSim/getswift.sh 2012-02-16 19:50:34 UTC (rev 5636) +++ SwiftApps/SciColSim/getswift.sh 2012-02-16 20:12:04 UTC (rev 5637) @@ -22,7 +22,7 @@ tar zxf $tarfile -svn cat --revision 5580 https://svn.ci.uchicago.edu/svn/vdl2/trunk/bin/gensites > swift-0.93/bin/gensites +svn cat --revision 5636 https://svn.ci.uchicago.edu/svn/vdl2/trunk/bin/gensites > swift-0.93/bin/gensites echo echo Swift installed at $PWD/$release Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-16 19:50:34 UTC (rev 5636) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-16 20:12:04 UTC (rev 5637) @@ -12,7 +12,7 @@ usage="$0 [-s sitename] [-p paramfile] [-n] # -n for dryrun: just print params and time estimates" # Function to run Swift -runswift() { +runswift() { SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf ../annealing.swift -e33="$escapecode" \ \ -minrange=$min_target_innovation \ @@ -30,7 +30,7 @@ -delta=$delta \ \ -nworkers=$nworkers \ - -rerunsperapp=$reruns_per_opt_invocation + -rerunsperapp=$reruns_per_opt_invocation } # Default settings @@ -54,7 +54,7 @@ # Create next unique run id and run directory if [ ! -f nextrun ]; then - echo 000 >nextrun + echo 000 >newrun else cat nextrun | awk '{ printf("%03d\n", $1+1)}' >newrun fi @@ -83,7 +83,7 @@ exit 1 fi -# Use start-coaster-service if site is a .conf file +# Use start-coaster-service if site is a .conf file if [ -f "conf/$execsite.conf" ]; then USE_SCS=1 fi @@ -124,6 +124,10 @@ SWIFT_HOME=../swift/bin ../swift/bin/gensites -p ../conf/$execsite.cf ../conf/$execsite.xml > $execsite.xml fi +echo "Run dir=$rundir" > ABOUT +echo "Work dir=$WORK" > ABOUT +echo "Total jobs=$toal_jobs" > ABOUT + if [ _$dryrun != _ ]; then exit 0 fi From jonmon at ci.uchicago.edu Thu Feb 16 14:22:37 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 16 Feb 2012 14:22:37 -0600 (CST) Subject: [Swift-commit] r5638 - SwiftApps/SciColSim Message-ID: <20120216202237.884079CCC5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-16 14:22:37 -0600 (Thu, 16 Feb 2012) New Revision: 5638 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o swiftopt.sh -- Fixed ABOUT file output Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-16 20:12:04 UTC (rev 5637) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-16 20:22:37 UTC (rev 5638) @@ -124,9 +124,9 @@ SWIFT_HOME=../swift/bin ../swift/bin/gensites -p ../conf/$execsite.cf ../conf/$execsite.xml > $execsite.xml fi -echo "Run dir=$rundir" > ABOUT -echo "Work dir=$WORK" > ABOUT -echo "Total jobs=$toal_jobs" > ABOUT +echo "Run dir=$rundir" >> ABOUT +echo "Work dir=$WORK" >> ABOUT +echo "Total jobs=$total_jobs" >> ABOUT if [ _$dryrun != _ ]; then exit 0 From jonmon at ci.uchicago.edu Thu Feb 16 15:07:39 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 16 Feb 2012 15:07:39 -0600 (CST) Subject: [Swift-commit] r5640 - SwiftApps/SciColSim Message-ID: <20120216210739.AEC7F9CCC5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-16 15:07:39 -0600 (Thu, 16 Feb 2012) New Revision: 5640 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o SciColSim/swiftopt.sh -- added check to make sure parameter file exists Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-16 20:59:48 UTC (rev 5639) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-16 21:07:39 UTC (rev 5640) @@ -71,6 +71,11 @@ fi # Get optimization parameters +if [ ! -f params/$paramfile ]; +then + echo "Could not find parameter file $paramfile in params!" + exit 1 +fi cp params/$paramfile $rundir/paramfile sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing From jonmon at ci.uchicago.edu Thu Feb 16 15:41:13 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 16 Feb 2012 15:41:13 -0600 (CST) Subject: [Swift-commit] r5641 - SwiftApps/SciColSim Message-ID: <20120216214113.73BB09CCC5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-16 15:41:13 -0600 (Thu, 16 Feb 2012) New Revision: 5641 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o SciColSim/swiftopt.sh -- set movie_graph.txt to a variable, may have different inputs -- save the return code from the swift run and exit with it Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-16 21:07:39 UTC (rev 5640) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-16 21:41:13 UTC (rev 5641) @@ -40,6 +40,8 @@ dryrun= escapecode=$(printf '\033') fixed_params=2 # Currently CONSTANT, will want to have this vary +graph=movie_graph.txt +rc=0 # Process command line arguments while [ $# -gt 0 ]; do @@ -98,7 +100,7 @@ echo Missing configuration file $execsite.cf fi -cp movie_graph.txt $rundir +cp $graph $rundir # Echo parameters echo Annealing parameters: @@ -138,13 +140,13 @@ fi if [ "$USE_SCS" == "1" ]; then - runswift "sites.xml" + rc=runswift "sites.xml" stop-coaster-service else - runswift "$execsite.xml" + rc=runswift "$execsite.xml" fi -exit $? +exit $rc # @arg("nworkers","4") # @arg("rerunsperapp", "100") From jonmon at ci.uchicago.edu Thu Feb 16 16:03:18 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 16 Feb 2012 16:03:18 -0600 (CST) Subject: [Swift-commit] r5642 - SwiftApps/SciColSim Message-ID: <20120216220318.5121C9CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-16 16:03:18 -0600 (Thu, 16 Feb 2012) New Revision: 5642 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o SciColSim/swiftopt.sh -- commented out total job lines(for now) -- copy swift source into rundir Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-16 21:41:13 UTC (rev 5641) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-16 22:03:18 UTC (rev 5642) @@ -13,7 +13,7 @@ # Function to run Swift runswift() { - SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf ../annealing.swift -e33="$escapecode" \ + SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf annealing.swift -e33="$escapecode" \ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ @@ -109,9 +109,13 @@ echo # Echo runtime estimates -total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * $fixed_params * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` -echo Total jobs = $total_jobs +#total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * $fixed_params * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` +#echo Total jobs = $total_jobs +cp annealing.swift $rundir +cp math.swift $rundir +cp colortext.swift $rundir + cd $rundir # Do the run @@ -133,7 +137,7 @@ echo "Run dir=$rundir" >> ABOUT echo "Work dir=$WORK" >> ABOUT -echo "Total jobs=$total_jobs" >> ABOUT +#echo "Total jobs=$total_jobs" >> ABOUT if [ _$dryrun != _ ]; then exit 0 From jonmon at ci.uchicago.edu Thu Feb 16 16:39:47 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 16 Feb 2012 16:39:47 -0600 (CST) Subject: [Swift-commit] r5643 - SwiftApps/SciColSim Message-ID: <20120216223947.622189CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-16 16:39:47 -0600 (Thu, 16 Feb 2012) New Revision: 5643 Modified: SwiftApps/SciColSim/swiftopt.sh Log: reverted to 5640 for swiftopt.sh in SciColSim Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-16 22:03:18 UTC (rev 5642) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-16 22:39:47 UTC (rev 5643) @@ -13,7 +13,7 @@ # Function to run Swift runswift() { - SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf annealing.swift -e33="$escapecode" \ + SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf ../annealing.swift -e33="$escapecode" \ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ @@ -40,8 +40,6 @@ dryrun= escapecode=$(printf '\033') fixed_params=2 # Currently CONSTANT, will want to have this vary -graph=movie_graph.txt -rc=0 # Process command line arguments while [ $# -gt 0 ]; do @@ -100,7 +98,7 @@ echo Missing configuration file $execsite.cf fi -cp $graph $rundir +cp movie_graph.txt $rundir # Echo parameters echo Annealing parameters: @@ -109,13 +107,9 @@ echo # Echo runtime estimates -#total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * $fixed_params * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` -#echo Total jobs = $total_jobs +total_jobs=`python -c "from math import ceil; print int(ceil(($max_target_innovation.00 - $min_target_innovation.00)/$target_innovation_increment.00) * $annealing_repeats * $fixed_params * $annealing_cycles * ($evolve_reruns/$reruns_per_opt_invocation) * $nworkers)"` +echo Total jobs = $total_jobs -cp annealing.swift $rundir -cp math.swift $rundir -cp colortext.swift $rundir - cd $rundir # Do the run @@ -137,20 +131,20 @@ echo "Run dir=$rundir" >> ABOUT echo "Work dir=$WORK" >> ABOUT -#echo "Total jobs=$total_jobs" >> ABOUT +echo "Total jobs=$total_jobs" >> ABOUT if [ _$dryrun != _ ]; then exit 0 fi if [ "$USE_SCS" == "1" ]; then - rc=runswift "sites.xml" + runswift "sites.xml" stop-coaster-service else - rc=runswift "$execsite.xml" + runswift "$execsite.xml" fi -exit $rc +exit $? # @arg("nworkers","4") # @arg("rerunsperapp", "100") From wozniak at ci.uchicago.edu Fri Feb 17 10:54:01 2012 From: wozniak at ci.uchicago.edu (wozniak at ci.uchicago.edu) Date: Fri, 17 Feb 2012 10:54:01 -0600 (CST) Subject: [Swift-commit] r5644 - usertools/plotter/src/plotter Message-ID: <20120217165401.29B6F9CCA2@svn.ci.uchicago.edu> Author: wozniak Date: 2012-02-17 10:54:01 -0600 (Fri, 17 Feb 2012) New Revision: 5644 Modified: usertools/plotter/src/plotter/LineReader.java Log: Allow input numbers to contain commas Modified: usertools/plotter/src/plotter/LineReader.java =================================================================== --- usertools/plotter/src/plotter/LineReader.java 2012-02-16 22:39:47 UTC (rev 5643) +++ usertools/plotter/src/plotter/LineReader.java 2012-02-17 16:54:01 UTC (rev 5644) @@ -100,6 +100,7 @@ try { String v = tokens.get(i)[j]; + v = v.replaceAll(",", ""); double d = Double.parseDouble(v); result[i][j] = d; } From wilde at ci.uchicago.edu Fri Feb 17 12:44:36 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Fri, 17 Feb 2012 12:44:36 -0600 (CST) Subject: [Swift-commit] r5645 - SwiftApps/SciColSim/conf Message-ID: <20120217184436.3823B9CCA2@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-17 12:44:36 -0600 (Fri, 17 Feb 2012) New Revision: 5645 Modified: SwiftApps/SciColSim/conf/pads02.xml Log: adjust conf/pads02.xml: fewer nodes to request, shorter maxwalltime to reduce time fragmentation (at risk of running over) Modified: SwiftApps/SciColSim/conf/pads02.xml =================================================================== --- SwiftApps/SciColSim/conf/pads02.xml 2012-02-17 16:54:01 UTC (rev 5644) +++ SwiftApps/SciColSim/conf/pads02.xml 2012-02-17 18:44:36 UTC (rev 5645) @@ -19,8 +19,8 @@ 100 100 3600 - 00:20:00 - 384 + 00:10:00 + 50 1 1 From ketan at ci.uchicago.edu Fri Feb 17 13:21:00 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 17 Feb 2012 13:21:00 -0600 (CST) Subject: [Swift-commit] r5646 - in SwiftApps: . Cybershake Message-ID: <20120217192100.7544D9CCC5@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-17 13:21:00 -0600 (Fri, 17 Feb 2012) New Revision: 5646 Added: SwiftApps/Cybershake/ SwiftApps/Cybershake/app/ SwiftApps/Cybershake/etc/ Log: cybershake From ketan at ci.uchicago.edu Fri Feb 17 13:24:18 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 17 Feb 2012 13:24:18 -0600 (CST) Subject: [Swift-commit] r5647 - SwiftApps/Cybershake Message-ID: <20120217192418.569AD9CCC5@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-17 13:24:18 -0600 (Fri, 17 Feb 2012) New Revision: 5647 Added: SwiftApps/Cybershake/swiftscripts/ Log: From davidk at ci.uchicago.edu Fri Feb 17 17:16:01 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Fri, 17 Feb 2012 17:16:01 -0600 (CST) Subject: [Swift-commit] r5649 - trunk/etc/sites Message-ID: <20120217231601.18EA79CCC5@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-17 17:16:00 -0600 (Fri, 17 Feb 2012) New Revision: 5649 Modified: trunk/etc/sites/persistent-coasters Log: updated persistent-coasters template Modified: trunk/etc/sites/persistent-coasters =================================================================== --- trunk/etc/sites/persistent-coasters 2012-02-17 23:01:59 UTC (rev 5648) +++ trunk/etc/sites/persistent-coasters 2012-02-17 23:16:00 UTC (rev 5649) @@ -1,12 +1,11 @@ - passive - 4 - .03 + _JOBS_PER_NODE_ + _JOB_THROTTLE_ 10000 _WORK_ From jonmon at ci.uchicago.edu Thu Feb 16 14:59:48 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Thu, 16 Feb 2012 14:59:48 -0600 (CST) Subject: [Swift-commit] r5639 - in SwiftApps/SciColSim: . bin docs old Message-ID: <20120216205948.96F039CCC5@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-16 14:59:48 -0600 (Thu, 16 Feb 2012) New Revision: 5639 Added: SwiftApps/SciColSim/bin/ SwiftApps/SciColSim/bin/convertbest.sh SwiftApps/SciColSim/bin/extract4plots SwiftApps/SciColSim/bin/getallparams.sh SwiftApps/SciColSim/bin/getparamtrace.sh SwiftApps/SciColSim/bin/paramtraceall.sh SwiftApps/SciColSim/bin/showbest.sh SwiftApps/SciColSim/colortext.swift SwiftApps/SciColSim/docs/ SwiftApps/SciColSim/docs/EMAIL SwiftApps/SciColSim/docs/TimingEstimation.txt SwiftApps/SciColSim/docs/atomic_times.png SwiftApps/SciColSim/docs/atomic_times.txt SwiftApps/SciColSim/docs/plot_active.txt SwiftApps/SciColSim/docs/plot_cumulative.txt SwiftApps/SciColSim/docs/plot_ready_jobs.txt SwiftApps/SciColSim/docs/plotit SwiftApps/SciColSim/docs/sample.swift.output SwiftApps/SciColSim/docs/sample.testopt.py.output SwiftApps/SciColSim/old/ SwiftApps/SciColSim/old/RunSwift.sh SwiftApps/SciColSim/old/annealing.open-issues.swift SwiftApps/SciColSim/old/beagle.xml SwiftApps/SciColSim/old/mathtest.swift SwiftApps/SciColSim/old/optimizer.protomods.cpp SwiftApps/SciColSim/old/optirun.swift SwiftApps/SciColSim/old/original.2011.1014/ SwiftApps/SciColSim/old/sites.beagle.quick.xml SwiftApps/SciColSim/old/sites.beagle.xml SwiftApps/SciColSim/old/snapshots.2012.0123/ SwiftApps/SciColSim/old/t1.py SwiftApps/SciColSim/old/t2.py SwiftApps/SciColSim/old/t3.py SwiftApps/SciColSim/old/tc SwiftApps/SciColSim/old/test-orig.sh SwiftApps/SciColSim/old/test-swift.sh SwiftApps/SciColSim/optimizer.orig-mac.cpp Removed: SwiftApps/SciColSim/EMAIL SwiftApps/SciColSim/RunSwift.sh SwiftApps/SciColSim/TimingEstimation.txt SwiftApps/SciColSim/annealing.open-issues.swift SwiftApps/SciColSim/atomic_times.png SwiftApps/SciColSim/atomic_times.txt SwiftApps/SciColSim/basiclocal.xml SwiftApps/SciColSim/beagle.xml SwiftApps/SciColSim/cf SwiftApps/SciColSim/colortext.swift SwiftApps/SciColSim/convertbest.sh SwiftApps/SciColSim/extract4plots SwiftApps/SciColSim/getallparams.sh SwiftApps/SciColSim/getparamtrace.sh SwiftApps/SciColSim/local.xml SwiftApps/SciColSim/mathtest.swift SwiftApps/SciColSim/optimizer.orig-mac.cpp SwiftApps/SciColSim/optimizer.protomods.cpp SwiftApps/SciColSim/optirun.swift SwiftApps/SciColSim/original.2011.1014/ SwiftApps/SciColSim/pads.similar.beagle.xml SwiftApps/SciColSim/paramtraceall.sh SwiftApps/SciColSim/plot_active.txt SwiftApps/SciColSim/plot_cumulative.txt SwiftApps/SciColSim/plot_ready_jobs.txt SwiftApps/SciColSim/plotit SwiftApps/SciColSim/sample.swift.output SwiftApps/SciColSim/sample.testopt.py.output SwiftApps/SciColSim/showbest.sh SwiftApps/SciColSim/sites.beagle.quick.xml SwiftApps/SciColSim/sites.beagle.xml SwiftApps/SciColSim/snapshots.2012.0123/ SwiftApps/SciColSim/t1.py SwiftApps/SciColSim/t2.py SwiftApps/SciColSim/t3.py SwiftApps/SciColSim/tc SwiftApps/SciColSim/test-orig.sh SwiftApps/SciColSim/test-swift.sh Modified: SwiftApps/SciColSim/optimizer.cpp Log: reorganization of the SciColSim directory Deleted: SwiftApps/SciColSim/EMAIL =================================================================== --- SwiftApps/SciColSim/EMAIL 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/EMAIL 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,474 +0,0 @@ -==== Email trail (cronological order): - ---------------------------------------------------------------------------------------- - -On 10/15/11 8:30 PM, "Michael Wilde" wrote: - -> Hi Andrey, -> -> I've got a basic serial version of optimizer.cpp running on Beagle (on a login -> node). Now Im trying to parallelize it there, and have some questions: -> -> 1) You set NWorkers to a constant, 24. In multi_loss, you have this code: -> -> for(int i=0; i for(int j=0; j<5; j++){ -> un[i]->set_parameter(params[j],j); -> } -> for(int i=0; i dispatch_group_async(group, CustomQueues[i], ^{ -> un[i]->evolve_to_target_and_save(istart, iend, Results, -> Counters); -> }); -> istart += step; -> iend = min(istart+step,N); -> } -> } -> -> Can you explain the intention here? I think the innermost loop is clear: run -> evolve() 24 times in parallel, partitioning the istart..iend range among the -> 24 workers. But I dont understand the outermost loop, which seems to do the -> entire inner loop 24 (NWorkers) times. I can understand the idea of doing the -> entire inner loop some number of times. But from the above, I presume that -> evolve would be run NWorkers^2 times, or 24*24 times. Was that the intention? -> -> 2) If you had many processors available (as you do on Beagle) would you want -> to run set NWorkers higher? I think you mentioned something in out discussion -> Friday about "a thousand" workers being useful. Ie, NWorkers for the innermost -> loop could be 1000. Was that really what you meant? What would be a -> mathematically/scientifically useful value for the NWorkers in the innermost -> loop? -> -> Further: if you do want an NWorkers >> 24, would you still do the evolve -> NWorkers^2 times? I dont think you'd really want 1000*1000 = 1M evolve calls, -> given how many outer loops you have at higher levels of the code, including in -> the Python wrapper. -> -> 3) We'll need to discuss what values make sense for the outer loops -> (multi_annealing and the .py wrapper) once I have this working in parallel. -> -> 4) Can you give me a sentence or two about what this code is doing? I think I -> understand the outer annealing logic, but I have not dug into the code within -> evolve...() at all. I think you might have explained it once back in January -> (before you recoded in C) but I dont recall. If you have a paper or a web page -> on what youre computing here, that would be interesting for me to read, and to -> help write a slide on this for the Beagle review. - - ------ - - -Re: Status and questions on optimizer code -From : andrey rzhetsky -Subject : Re: Status and questions on optimizer code -To : Michael Wilde -Sun, Oct 16, 2011 08:28 AM -Hi Mike, - -1. I think, you just uncovered a stupid bug on my part -- thank you! There -should be only one loop (the outer one). -2. Yes, of course -- 1000, or even 10000 (I can increase the number of -repeats then). -3. OK -4. The code simulates exploration of a chemical network by a research -community. The five major parameters determine the strategy of exploration, -"target" is the number of new interactions discovered and the loss is the -number of experiments per one new positive finding. I can provide you with -figures and slides, if that would help. - -Thank you! - -With kind regards, - -Andrey - - ---------------------------------------------------------------------------------------- - - -On 10/16/11 9:13 AM, "Michael Wilde" wrote: - -> Hi Andrey, -> -> Looking deeper, I think the bug was simply that the first for() statement -> should have enclosed just the parameter setting loop. In other words, the top -> of multi_loss should start with: -> -> for(int i=0; i for(int j=0; j<5; j++){ -> un[i]->set_parameter(params[j],j); -> } -> } -> -> Then the real work is done by the next loop: -> for(i=0; i -> Can you confirm that this looks correct to you? -> -> I made that change, and the code now seems to run as I would expect. I will -> send you some output as soon as I clean up my debugging output. -> -> Next, I made the code run with 24-way parallelism on a Beagle login node using -> "OpenMP", simply by adding one "pragma" statement in front of the main worker -> loop above. So that part of the code now looks like this: -> -> int i; -> #pragma omp parallel for private (i) -> for(i=0; i -> and each call to evolve...() is now done in parallel (with all the Mac -> dispatch statements commented out). I will test, but I *think* that the same -> code will run just as well in parallel on your multicore Macs, perhaps just a -> *tiny* bit slower than under Grand Central Dispatch (likely not a noticeable -> difference). -> -> Now, we have 2 choices: -> -> 1) I can simply replace the Python driver script with a Swift script, to do -> many runs of the optimizer in parallel. That would give you the ability to -> run *many* 24-core optimization runs in parallel, each using 24 cores. So for -> example, in your current Python script you do this: -> -> for target in range(58,1009,50): -> for i in range(15): -> -> So thats about 20 x 15 = 300 invocations of optimizer. I *think* that each of -> these runs is totally independent and can run in parallel, correct? -> -> So A simple Swift script not much longer than the Python script, along with a -> few beagle-specific configuration files, will enable all 300 jobs to run in -> parallel, giving you 300 x 24 (=7200) cores running in parallel. Of course, -> you can seldom *get* that many cores because the machine is heavily loaded. -> But you may be able to get 10-30 nodes on a daily basis. We'll need to -> experiment with this. -> -> As a *next* step after, we should consider the benefits of changing the value -> of NWorkers to > 24. 24 is the "easy" limit on Beagle because we can get -> 24-way parallelism on each node with just that one "pragma" statement. We can -> get much greater parallelism with Swift in the inner loop, but for that we -> need to break up the program a bit more, to have Swift run the inner loop as a -> separate program, and then return the aggregated results in a file. Even for -> this option, there are two alternative methods: -> -> - we make optimizer call Swift once for each round of parallel annealing. This -> is fairly easy. It is somewhat limiting to overall parallelism, in that only -> one round at a time can run. But It may be very adequate. -> -> - we break the program up further into parallelizable chunks, in which case -> you have a lot of flexibility and the work always gets done in a near-optimal -> manner regardless of the shape of a given optimization run (in terms of the -> various nested loop sizes and evolve() execution times. -> -> I think we'll need to discuss this in person over a whiteboard, but I think I -> have enough knowledge of the program to at least show you a few alternatives. -> -> The main question at the moment, I think, is simply to understand the -> math/science benefits of extending NWorkers beyond the "low hanging fruit" -> limit of 24. What is your assessment of that benefit, Andrey? -> - ------ - ------ Forwarded Message ----- -From: "andrey rzhetsky" -To: "Michael Wilde" -Sent: Sunday, October 16, 2011 12:08:25 PM -Subject: Re: Status and questions on optimizer code - -Mike, - -It would be fantastic to have 1000 or 10000 workers (with larger number of -re-runs -- it would improve precision of my analysis drastically!). - -All the very best, - -Andrey - ---------------------------------------------------------------------------------------- - -On 10/17/11 8:29 AM, "Michael Wilde" wrote: - -> Hi Andrey, -> -> Can we meet today to discuss the optimizer? I'd like to show you what Ive done -> and discuss with you next steps towards getting you running on Beagle. I can -> meet any time from 10:30 to 3:00. -> -> Do you already have a CI and Beagle login and a project set up for Beagle use? -> If not, we should get that started. -> -> On the technical side, I have a question about the the typical shape of your -> optimization runs. -> -> With the sample Python script you gave me, I think we have the following -> nested iterations in the code: -> -> 20 targets (parallel) -> 15 repeats (parallel) -> 100 Annealing_cycles (serial) -> 6 repeats (serial) -> 1000 to 10000 annealing_repeats (parallel) # NOTE (1/29 mw): should this be called "reruns"? -> evolve() -> -> The main question I have at this point is regarding the strategy for -> increasing the innermost annealing repeats (currently 1,000 divided among 24 -> workers; desired to increase to 10,000). -> -> The outermost loops in my Swift tests are done in parallel. Thus we can have a -> 300 optimizations going in parallel and 24 annealings in parallel for a total -> of 7,200 parallel tasks. -> -> The question is: if you will always have a sizeable number of parallel -> iterations in the outer loops, we dont need to change anything in the inner -> loop to get more parallelism. In other words, we already have more parallelism -> than we have CPUs available. -> -> 7200 CPUs is about 42% of the overall Beagle system. It will be very rare -> that we we could get that many cores all at once. But think we can regularly -> get say 500 to 2000 cores on a daily basis. -> -> On the other hand, if you expect to regularly run tests of *single* annealing -> cycles and want to speed those up, then indeed it may be worth changing the -> code structure. -> -> When me meet I'll try to give you an idea of whats involved. Basically we need -> to change the structure of the annealing loop to create a function -> "multi_loss_setup" as a separate executable which defines the annealing -> parameters and writes them to a file; make multi_loss a separate executable; -> create another executable "multi_loss_summarize" which reduces the results. -> We can probably combine multi_loss_summarize into multi_loss_setup. -> -> This is not very hard to do, but still sounds to me like a week of programming -> to get all all restructured and tested. Before investing that effort, we -> should discuss if it will give you any additional performance gains over just -> running many optimizations in parallel. -> -> I need to run timings on the annealing cycles to see how that change across -> the parameter space, to see if we can just increase the repeats to 10,000 with -> no changes to the code. I think the feasibility of doing this the "easy way" -> is based on how long the longest annealings take at the high end of the -> parameter space. -> -> Regards, -> -> - Mike - ------ - ------ Forwarded Message ----- -From: "Andrey Rzhetsky" -To: "Michael Wilde" -Sent: Monday, October 17, 2011 8:40:17 AM -Subject: Re: Meet today to discuss optimizer? - -Hi Mike, - -The 6 (or more) annealing repeats can be run in parallel too. - -Unfortunately, around 10:15 I have to rush to Evanston to CBC meeting for -the rest of the day (we can chat before, if you have a minute, I am in my -office). - -I don't have Beagle login, unfortunately. - -Typically, I will have a sizeable outer loop, so, probably, the current -24-worker setup is fine. - -Thank you very much for helping me out! - -All the best, - -Andrey - - ---------------------------------------------------------------------------------------- - -On 10/18/11 1:52 PM, "Michael Wilde" wrote: - -> Hi Andrey, -> -> Here's a quick update: -> -> - I am now running the optimizer on Beagle compute nodes under Swift. -> -> I attach a few tar files of sample runs at reduced parameter values (to shrink -> the run time for debugging and learning the code's behavior); -> -> Now Im trying to run some subset of the full-length parameters you gave me in -> the python file. Ive got 3 Beagle compute nodes allocated at the moment (72 -> cores total) and Im seeing these times from multi_loss with N=1000 repeats: -> -> sandbox$ grep multi_ ./jobs/*/*/output/*.out -> ./jobs/0/optimizer-01p7lhhk/output/T408.R1.out:multi_loss(N=1000) elapsed -> time: 122.742 seconds 2.04571 minutes -> ./jobs/0/optimizer-01p7lhhk/output/T408.R1.out:multi_loss(N=1000) elapsed -> time: 123.979 seconds 2.06631 minutes -> ./jobs/0/optimizer-01p7lhhk/output/T408.R1.out:multi_loss(N=1000) elapsed -> time: 123.624 seconds 2.0604 minutes -> ./jobs/t/optimizer-t0p7lhhk/output/T958.R1.out:multi_loss(N=1000) elapsed -> time: 1431.09 seconds 23.8514 minutes -> ./jobs/x/optimizer-x0p7lhhk/output/T708.R1.out:multi_loss(N=1000) elapsed -> time: 627.074 seconds 10.4512 minutes -> ./jobs/x/optimizer-x0p7lhhk/output/T708.R1.out:multi_loss(N=1000) elapsed -> time: 790.652 seconds 13.1775 minutes -> -> -> Each run of optimizer is going to a file name T(target).R(repeat).out -> -> So we're seeing 23.8 mins for 1000 repeats at target=958 and 10-13 mins at -> target=708. The 1000 repeats are spread over 24 cores each. -> -> Whats your time availability later in the week to discuss this further, and to -> see if either (a) I can show you how to run this version or (b) we can get a -> set of production run descriptions from you and you can run them yourself? -> -> In the compressed tar file at http://www.ci.uchicago.edu/~wilde/AR.snap.01.tgz -> you will find: -> -> - the swift script that I use instead of the Python driver to run the -> optimizer in parallel (along beagle.xml that specifies scheduler parameters -> for Beagle like time, cores, queue name and project ID) -> -> - the slightly modified version of optimizer (changes in multi_loss() to -> correct the loops, changes to use OpenMP instead of Grand Central Dispatch, -> and a few changes in output logging). -> -> - a few run directories of runs with shortened parameter settings. -> -> If we continue working together on this, we should set up a way to share code -> using a repository like Subversion (svn). Thats pretty easy once you master a -> few basic commands. -> -> Regards, -> -> - Mike -> -> - ------ - ------ Forwarded Message ----- -From: "Andrey Rzhetsky" -To: "Michael Wilde" -Sent: Tuesday, October 18, 2011 3:57:36 PM -Subject: Re: Meet today to discuss optimizer? - -Mike, - -Thank you! Are you around now? I would be also happy to carve some time -tomorrow, if this works for you. - -With kind regards, - -Andrey - - ---------------------------------------------------------------------------------------- - - -On 10/19/11 12:10 PM, "Michael Wilde" wrote: - -> Hi Andrey, -> -> Im in meetings today till about 3PM. Are you available at say 3:30 or later? -> -> I did a larger run last night. Only one smaller optimizer run *fully* -> finished, but many others made significant progress. The results are at: -> -> http://www.ci.uchicago.edu/~wilde/AR.optimizer.out.2010.1018.tgz -> -> If you have time, could you take a look at that run and see if the -> optimizations look like they have been running as expected? Ive made only a -> few cosmetic changes to your debug output. -> -> I submitted the run at 21:20; it started running at about 21:27; by about -> 23:10 it had acquired 12 nodes (x 24 cores each). It ended about 23:18 when -> the first job exceeded its time limit of 5 hours. Im still trying to calibrate -> how much time each optimizer invocation needs, and whether some of the -> internal iterations can be further spread out. Also how to organize the run -> so that optimizations that time out can be re-run with the smallest -> reasonable failure unit. -> -> - ---------------------------------------------------------------------------------------- - - ------ Forwarded Message ----- -From: "andrey rzhetsky" -To: "Michael Wilde" -Sent: Wednesday, October 26, 2011 8:40:21 PM -Subject: Re: Question on inner annealing loop - -Mike, - - -> Im confused on 3 points here: -> -> - the inner loop would always be done between 1 and 5 times, right? - -Correct. - -> - could each of those times really be done in parallel? (I'll try to determine -> this by inspection). - -Not really -- the acceptance of parameter changes depends on the loss in -between. - -> - when we last met in your office, I *thought* you indicated that this inner -> loop could be done just *once*. Was that what you meant? And if so, for -> which of the 5 vars? - -Nope, has to be repeated over and over. - -All the very best, - -Andrey - - ---------------------------------------------------------------------------------------- - - -On 10/26/11 10:42 PM, "Michael Wilde" wrote: - -> OK, all that makes sense, Andrey. But then do you recall what you suggested -> when we met? -> -> Lets label the loops as follows: -> -> a) 20 targets (parallel) -> b) 15 repeats (parallel) -> c) 100 Annealing_cycles (serial) -> d) 6 repeats (serial) -> e) 1000 to 10000 annealing_repeats (parallel) -> f) evolve() -> -> What I recalled from our last discussion was that I should reduce loop (c) -> from 100 to 50 or 25, and loop (d) to 1. But since reducing loop (d) doesn't -> make sense, do you recall suggesting any other reduction? -> -> If not, no problem, I think I know how to proceed. -> -> Thanks, -> -> - Mike -> -> ------ - ------ Forwarded Message ----- -From: "andrey rzhetsky" -To: "Michael Wilde" -Sent: Thursday, October 27, 2011 2:54:06 AM -Subject: Re: Question on inner annealing loop - -Hi Mike, - -I suggested reducing (b) to 1. - -With kind regards, - -Andrey - - - Deleted: SwiftApps/SciColSim/RunSwift.sh =================================================================== --- SwiftApps/SciColSim/RunSwift.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/RunSwift.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,49 +0,0 @@ -#!/bin/bash - -# ./Runswift local to run on sandbox -# ./Runswift clustersmall to run on beagle pbs cluster at small scale -# ./Runswift clusterquick to run on beagle pbs cluster at large scale - -escapecode=$(echo -n -e '\033') - -count=$(head -1 counter.txt); -expr $count + 1 > counter.txt -mkdir run$count -cp /home/ketan/SciColSim/*.swift run$count/ -cp /home/ketan/SciColSim/sites.beagle.xml run$count/ -cp /home/ketan/SciColSim/sites.beagle.quick.xml run$count/ -cp local.xml run$count/ -cp /home/ketan/SciColSim/tc run$count/ -cp /home/ketan/SciColSim/movie_graph.txt run$count/ -cp /home/ketan/SciColSim/cf run$count/ -cd run$count - -if [ $1 = "local" ] -then - #SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file local.xml -config cf annealing.swift -e33="$escapecode" -nworkers=36 >& swift.out - #Total jobs = 6 * 1 * 120/20 * 3 * 100 = 10,800 - SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file local.xml -config cf annealing.swift -e33="$escapecode" -nworkers=6 -minrange=58 -maxrange=64 -rangeinc=1 -evoreruns=120 -nreps=1 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=20 >& swift.out - -elif [ $1 = "clusterbig" ] -then - SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.xml -config cf annealing.swift -e33="$escapecode" -nworkers=24 -rangeinc=50 -evoreruns=960 -startingjump=2.3 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=192 >& swift.out - -elif [ $1 = "clustersmall" ] -then - SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.xml -config cf annealing.swift \-e33="$escapecode" \ - >& swift.out - -elif [ $1 = "clusterquick" ] -then -#target_innovation=(1009-58)/50=~20 -#repeats=nreps=1 -# 3 repeats constant (serial) -#annealing_cycles=100 (serial) -#rerunsperapp=192 -#evoreruns=960 -#J=evoreruns/rerunsperapp=960/192=5 - -#Total parallel jobs = (maxrange-minrange)/rangeinc * nreps * (evoreruns/rerunsperapp) = (1009-58)/50 * 1 * 960/192 = 20*5 = 100 Jobs = 2400 openmp jobs in parallel - SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.quick.xml -config cf annealing.swift -e33="$escapecode" -nworkers=24 -minrange=58 -maxrange=1009 -rangeinc=50 -evoreruns=960 -nreps=1 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=192 >& swift.out -fi - Deleted: SwiftApps/SciColSim/TimingEstimation.txt =================================================================== --- SwiftApps/SciColSim/TimingEstimation.txt 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/TimingEstimation.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,95 +0,0 @@ -SciColSim on Beagle -=================== - -Loop Structure --------------- -Following is the loop structure for the SciColSim application at 'full-scale' values: - -~20 target innovation values - ~15 repeats - 100 annealing cycles (serial) - 3 non-fixed vars (serial) - 1,000 reruns (=>evolve_reruns/reruns_per_app)) - call evolve (1 to 50 seconds per rerun) - - -Total number of jobs are given by the following expression: - -Number_of_jobs = target_innovation_values x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers - - = ceil((max_range - min_range)/range_inc) x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers - - = ceil((1009 - 58)/50) x 15 x 3 x 100 x 960/192 x 24 - - = 20 x 15 x 3 x 100 x 5 x 24 - - = 10,800,000 - - = 20 x 15 x 3 x 100 x 1000 x 10 = total core-seconds - - = 900M core seconds - - = 900M / 1000 = 900,000 seconds on 1000 cores - - = 250 hours = 10 days - - - -Estimated Runtime on a small scale (2 laptops or 24 cores) - - =10,800,000/24 x (1 to 50 sec) - - =450,000 to 22,500,000 seconds - - =5.2 hours to 260 days - -Estimated Runtime on medium scale (40 Beagle nodes or 960 cores) - - =10,800,000/960 x (1 to 50 sec) - - =11,250 to 562,500 seconds - - =3.12 hours to 6.5 days - - -Atomic job times of application -multi_loss(N=1, target=58) elapsed time: 0.116707 seconds 0.00194512 minutes - -multi_loss(N=1, target=108) elapsed time: 0.26613 seconds 0.0044355 minutes - -multi_loss(N=1, target=158) elapsed time: 0.379991 seconds 0.00633318 minutes - -multi_loss(N=1, target=208) elapsed time: 0.576198 seconds 0.0096033 minutes - -multi_loss(N=1, target=258) elapsed time: 1.50121 seconds 0.0250203 minutes - -multi_loss(N=1, target=308) elapsed time: 1.09665 seconds 0.0182775 minutes - -multi_loss(N=1, target=358) elapsed time: 1.49523 seconds 0.0249205 minutes - -multi_loss(N=1, target=408) elapsed time: 2.3056 seconds 0.0384267 minutes - -multi_loss(N=1, target=458) elapsed time: 3.54418 seconds 0.0590697 minutes - -multi_loss(N=1, target=508) elapsed time: 5.10912 seconds 0.085152 minutes - -multi_loss(N=1, target=558) elapsed time: 6.88611 seconds 0.114768 minutes - -multi_loss(N=1, target=608) elapsed time: 8.7683 seconds 0.146138 minutes - -multi_loss(N=1, target=658) elapsed time: 10.0665 seconds 0.167775 minutes - -multi_loss(N=1, target=708) elapsed time: 12.7259 seconds 0.212098 minutes - -multi_loss(N=1, target=758) elapsed time: 14.8005 seconds 0.246675 minutes - -multi_loss(N=1, target=808) elapsed time: 16.8803 seconds 0.281338 minutes - -multi_loss(N=1, target=858) elapsed time: 19.7864 seconds 0.329774 minutes - -multi_loss(N=1, target=908) elapsed time: 23.4506 seconds 0.390843 minutes - -multi_loss(N=1, target=958) elapsed time: 28.7667 seconds 0.479445 minutes - -multi_loss(N=1, target=1008) elapsed time: 49.0841 seconds 0.818069 minutes - Deleted: SwiftApps/SciColSim/annealing.open-issues.swift =================================================================== --- SwiftApps/SciColSim/annealing.open-issues.swift 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/annealing.open-issues.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,379 +0,0 @@ -import "math"; -import "colortext"; - -type file; - -type Res -{ - float loss; - float sdev; -} - -global boolean FIX_VARIABLES = true; -global int var_fixed[] = [1,1,0,0,0]; -global int Nworkers = @toint(@arg("nworkers","4")); -global int rerunsPerApp; - -(float nx) newx(float x, float dx) -{ - float r = (random()) ; // / (pow(2.0,31.0)-1.0); - if (r > 0.5) - { - nx = x + (random())*dx; // /(pow(2.0,31.0)-1.0); - } - else - { - nx = x - (random())*dx; // /(pow(2.0,31.0)-1.0); - } - // tracef("newx(%f,%f)=%f\n",x,dx,nx); -} - -app (file outfile, file loss) evolve (string args[], file graph) -{ - evolve @loss args stdout=@outfile ; // graph is passed implicitly -} - -app (file x) sumloss(file loss[]) -{ - sumloss @filenames(loss) stdout=@x; -} - -/* - - Program structure: - - main - optimizer_sweep() - formerly, python script - multi_annealing() - multi_loss() - evolve() - sumloss() -*/ - -(file bestfile, file maxfile) multi_annealing ( - float T_start, - float T_end, - float Target_rejection, - int evolve_reruns, - float starting_jump, - float params0[], - float target_innov, - int annealing_cycles) -{ - int cycle=10; // const - int NEVOPARAMS=5; // const - 5 params, alpha 1,m through delta, does not include target_innovation - - float rejection[][]; // [i][j] where i is cycle and j is evolve-parameter (alpha_i, alpha_m, beta, gamma, delta) - - float x[][], dx[][], curr_loss[], curr_sdev[]; - - Res mlres[][]; - mlres[0][0] = multi_loss( 0, 0, params0, target_innov, evolve_reruns ); // FIXME: serves for all evolve-params ??? - tracef("multi_annealing: AR: initial: %f +- %f\n",mlres[0][0].loss,mlres[0][0].sdev); - - foreach j in [0:NEVOPARAMS-1] - { - x[0][j]=params0[j]; - dx[0][j] = starting_jump; - rejection[0][j] = 0.0; - curr_loss[j] = mlres[0][0].loss; - curr_sdev[j] = mlres[0][0].sdev; - } - - iterate iter_i - { // foreach i in [1:annealing_cycles] - int i = iter_i + 1; - - // set new temperature, rejection threshold, and dx values for this cycle - - float temperature = T_start*exp( @tofloat(i-1)*(jlog(T_end)-jlog(T_start))/@tofloat(annealing_cycles)); - - tracef(@strcat("multi_annealing: AR: i=%i ....T = ",color(3,"%f"),"\n"), i, temperature); - - // On each new "major" cycle within the annealing_cycles (other than the first) set new rejection and dx values - - if ( i %% cycle == 1 && i > 1 ) - { - tracef("multi_annealing: new cycle at i=%i\n",i); - tracef(color(Pink, "multi_annealing: AR: New cycle at %i: prev dx[0-4]=[%f %f %f %f %f]\n"),i,dx[i-1][0],dx[i-1][1],dx[i-1][2],dx[i-1][3],dx[i-1][4]); - foreach k in [0:NEVOPARAMS-1] - { - float newrejection = rejection[i-1][k] / @tofloat(cycle); - if (newrejection > 0.0) - { - dx[i][k] = dx[i-1][k] / (newrejection / Target_rejection); - // FIXME: re-enable: rejection[i][k]=0.0; - } - else - { - dx[i][k] = dx[i-1][k] * 2.0; - // FIXME: re-enable: rejection[i][k]=rejection[i-1][k]; - } - // FIXME: HANGS? : tracef(color(Red,"Recomputed rejection: i=%d k=%d dx[i][k]=%f\n"), i, k, dx[i][k]); - } - tracef(color(Blue, "multi_annealing: AR: New cycle at %i: dx[0-4]=[%f %f %f %f %f]\n"),i,dx[i][0],dx[i][1],dx[i][2],dx[i][3],dx[i][4]); - } - else - { // If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i]j] is set later. - foreach k in [0:NEVOPARAMS-1] - { - dx[i][k] = dx[i-1][k]; - } - } - //foreach j in [0:NEVOPARAMS-1] { // Try a new value for each non-fixed param; then write results and accept or reject - iterate j - { // Try a new value for each non-fixed param; then write results and accept or reject - // float try_x[]; - int curr = (i * NEVOPARAMS) + j; - int prev = curr-1; - // tracef("in multi_annealing: i=%i j=%i curr=%i prev=%i\n", i, j, curr, prev); - if ( /*(!FIX_VARIABLES) || */ (var_fixed[j]==0) ) { // Adjustable vars - // fixed=1,1,0,0,0: FIXME: FIX_VARIABLES flag has faulty logic but OK when TRUE - float try_x[]; - foreach k in [0:NEVOPARAMS-1] - { // Select the evolve params to try - if ( k < j ) - { - try_x[k] = x[i][k]; // already set x[i][k] - } - else - { - if ( k == j ) - { - try_x[k] = newx(x[i-1][j],dx[i-1][j]); // permute x[i-1][j] - } - else - { // k > j - try_x[k] = x[i-1][k]; // use x[i-1][k] (from prior cycle) - } - } - } - tracef(@strcat("multi_annealing: AR: ", color(10,"%f"), " ", color(9,"%i"),"\n"), try_x[j],j); - // Up to here, x[] and dx[] are only set for previous i - mlres[i][j] = multi_loss(i,j,try_x, target_innov, evolve_reruns); // do the N evolve()'s, N=evolve_reruns - tracef("multi_annealing: AR: %f +- %f\n", mlres[i][j].loss, mlres[i][j].sdev); - // Beyond this point, x[] and dx[] are being set for this i,j - - float ALOT=100000000000.0; // 100,000,000,000. = 10^11 - if (mlres[i][j].loss < ALOT) - { - tracef("multi_annealing: AF: best_opt_some.txt: %f,%f,%f,%f,%f,%f,%f,%f\n", - target_innov,mlres[i][j].loss,try_x[0],try_x[1],try_x[2],try_x[3],try_x[4],mlres[i][j].sdev); - tracef(color(Red,"multi_annealing: AF: max_dist.txt - tbd\n")); // FIXME: max_dist is global set in evolve() - } - else - { // does this ever occur? if so did we want to still do the ratio computation above??? - tracef("multi_annealing: Loss %f > ALOT at [i][j] = [%d][%d]\n", mlres[i][j].loss, i ,j); - } - float ratio = min(1.0, exp( -(mlres[i][j].loss-curr_loss[prev]) / temperature)); - float r = (random()) ; // / (pow(2.0,31.0)-1.0); // FIXME: AR: why all the 2^31's ??? - tracef("multi_annealing: AR: %f vs %f\n", r, ratio); - if (r > ratio) - { // Reject new parameter - x[i][j] = x[i-1][j]; - rejection[i][j] = rejection[i-1][j] + 1.0; // FIXME: AR: Is this correct? incr rejection? - curr_loss[curr] = curr_loss[prev]; - curr_sdev[curr] = curr_sdev[prev]; - // FIXME: AR: the following prints seem to replicate values in the .cpp version - please clarify. - tracef("multi_annealing: AR: %i,%i %i Did not accept: %f (%i)\n", i, j, i, try_x[j], j); - tracef("multi_annealing: AR: %f %f %f %f %f\n", try_x[0],try_x[1],try_x[2],try_x[3],try_x[4]); - } - else - { // Accept new parameter - tracef("multi_annealing: Accepting try_x[j], i=%i j=%i\n",i,j); - x[i][j] = try_x[j]; - rejection[i][j] = rejection[i-1][j]; // FIXME: AR: Is this correct? no incr of rejection? - tracef("multi_annealing: Accepting try_x[j], i=%i j=%i try_x[j]=%f\n",i,j,try_x[j]); - curr_loss[curr] = mlres[i][j].loss; - curr_sdev[curr] = mlres[i][j].sdev; - float rj[]; - foreach k in [0:NEVOPARAMS-1] - { // FIXME!!! - if (k <= j) - { - rj[k] = rejection[i][k]; // Was either set from previous j or just set for this j - } - else - { - rj[k] = rejection[i-1][k]; // Not yet set, use previous - } - } - tracef(@strcat("multi_annealing: AR: [%i][%i] ", color(8,"Rejection counts: "), - color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), - i, j, rj[0], rj[1], rj[2], rj[3], rj[4]); - tracef(@strcat("multi_annealing: AR: %i ", color(8,"***** Did accept! "), - color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), - i, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4]); - } - } - else - { // Fixed Vars - x[i][j] = x[i-1][j]; - rejection[i][j] = rejection[i-1][j]; - curr_loss[curr] = curr_loss[prev]; - curr_sdev[curr] = curr_sdev[prev]; - // dx[i][j] not set for fixed vars - } - } until(j == NEVOPARAMS-1); - } until(iter_i == (annealing_cycles-1)); -} - -(Res r) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) -// (Res r, Stats s) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) FIXME: To obtain stats -{ - file rfile[]; - file ofile[]; // FIXME: to obtain timings and otehr stats - tracef("multi_loss: entered: ci=%i cj=%i target_innov=%f evolve_reruns=%i x=%q\n",ci, cj, target_innov,evolve_reruns,x); - - int appCalls = @toint(@tofloat(evolve_reruns) / @tofloat(rerunsPerApp)); // FIXME: handle fractional issues and rounding etc. For now must divide evenly - - tracef("multi_loss appCalls=%i\n", appCalls); - foreach i in [1:appCalls] { // repeats of the evolove() - same as n_reruns - file outfile; // FIXME: map and save in future - string args[] = [ // FIXME: move this to a setargs() function - // alpha_i alpha_m beta gamma delta target_innov - @strcat(x[0]), @strcat(x[1]), @strcat(x[2]), @strcat(x[3]), @strcat(x[4]), @strcat(target_innov), - - // n_epochs n_steps evolve_reruns range - // "40000", "20", @strcat(evolve_reruns), "2", - "40000", "20", @strcat(rerunsPerApp), "2", - - // verbose_level - "1", - - // T_start T_end Annealing_steps Target_rejection Starting_jump - "2.", "0.01", "2", "0.3", "2.3", - - // FREEZE: alpha_i alpha_m beta gamma delta - "1", "1", "0", "0", "0", - - // operation-code:(m,a) Nworkers seed - "m", @strcat(Nworkers), "1234567" ]; - - file graph <"movie_graph.txt">; - (outfile, rfile[i]) = evolve(args,graph); - // (ofile[i], rfile[i]) = evolve(args,graph); - tracef("multi_loss: i=%i calling evolve, args=%q\n", i, args); - // tracef("multi_loss: after evolve: i=%i %k %k\n", i, outfile, rfile[i]); - } - file sumfile = sumloss(rfile); - r = readData(sumfile); - tracef("multi_loss: returning: ci=%i cj=%i r.loss=%f r.sdev=%f\n",ci,cj,r.loss,r.sdev); - // file statfile = sumstats(ofile); FIXME: to obtain timings and otehr stats - // s = readStat(statsfile); FIXME: to obtain timings and otehr stats -} - -optimizer_sweep() // Implements logic of python driver script -{ - int minrange=58; - int maxrange=59; - int rangeinc=50; - - //int maxrange=1009; - //int maxrange=209; - - // FIXME: add provision for random priming and random param values when x[i] == -100 (see optimizer.cpp main()) - - int nreps=1; // 15 - -// file bestfile ; -// file maxfile ; - - foreach target_innov in [minrange:maxrange:rangeinc] - { - foreach rep in [1:nreps] - { - file outfile; // ; - file lossfile; // ; -/* - (outfile,lossfile) = multi_annealing( - T_start = 2.0, - T_end = 0.01, - Target_rejection = 0.3, - evolve_reruns = 10, - starting_jump = 2.3, - params0[] = [0.0, 0.0, 4.0, 50.0, -1.0], - @tofloat(target_innov), - annealing_cycles = 2); -*/ - (outfile,lossfile) = multi_annealing( - 2.0, - 0.01, - 0.3, - 100, - 2.3, - [0.0, 0.0, 4.0, 50.0, -1.0], - @tofloat(target_innov), - 30); - } - } -} - -rerunsPerApp = 100; - -main() -{ - optimizer_sweep(); -} - -main(); - -/* - - Program structure: - - main - optimizer_sweep() - multi_annealing() - multi_loss() - evolve() - sumloss() - - Example parameter sets: - - for target in range(58,59,50): - for i in range(1): - args="./toptimizer 0 0 4 50 -1 "+target+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 m // > out.T"+str(target)+".i"+str(i) - os.system(args); - - string fastargs1[] = [ - "0", "0", "4", "50", "-1", @strcat(target), - "40000", "20", "1000", "2", - "1", - "2.", "0.01", "100", "0.3", "2.3", - "1", "1", "0", "0", "0"]; - string fastargs2[] = [ - "0", "0", "4", "50", "-1", @strcat(target), - "40000", "20", "1000", "2", - "1", - "2.", "0.01", "5", "0.3", "2.3", - "1", "1", "0", "0", "0", "m"]; - string fastargs3[] = [ - "0", "0", "4", "50", "-1", @strcat(target), - "40000", "20", @strcat(repeats), "2", - "1", - "2.", "0.01", "2", "0.3", "2.3", - "1", "1", "0", "0", "0", "m"]; -*/ - -(string args[]) setargs() -{ - // string longargs[] = @strcat("0 0 4 50 -1 ",target," 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 m"); - - // [alpha_i alpha_m beta gamma delta target_innov - // [n_epochs n_steps n_reruns] [range] - // [verbose_level] - // [T_start T_end Annealing_steps Target_rejection Starting_jump] - // [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta] [operation-code:(m,a) Nworkers] -} - -////////////////// HOLD JUNK - -// tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), -// color( /* 2 */ 1," %f"), "\n\n"), -// i, rejection[i][j] ); // , rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); -// FIXME: determine correct rejection[] values to avoid hanging: -// tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), -// color( /* 2 */ 1," %f"), color(7," %f"), color(5," %f"), color(9," %f"), color(6," %f"), "\n\n"), -// rejection[i][0], rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); -// END FIXME Deleted: SwiftApps/SciColSim/atomic_times.png =================================================================== (Binary files differ) Deleted: SwiftApps/SciColSim/atomic_times.txt =================================================================== --- SwiftApps/SciColSim/atomic_times.txt 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/atomic_times.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,21 +0,0 @@ - 58 0.116707 -108 0.26613 -158 0.379991 -208 0.576198 -258 1.50121 -308 1.09665 -358 1.49523 -408 2.3056 -458 3.54418 -508 5.10912 -558 6.88611 -608 8.7683 -658 10.0665 -708 12.7259 -758 14.8005 -808 16.8803 -858 19.7864 -908 23.4506 -958 28.7667 -1008 49.0841 - Deleted: SwiftApps/SciColSim/basiclocal.xml =================================================================== --- SwiftApps/SciColSim/basiclocal.xml 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/basiclocal.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,10 +0,0 @@ - - - - - - /home/wilde/swift/lab/swiftwork - 0 - - - Deleted: SwiftApps/SciColSim/beagle.xml =================================================================== --- SwiftApps/SciColSim/beagle.xml 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/beagle.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,60 +0,0 @@ - - - - - - - - pbs.aprun;pbs.mpp;depth=24 - 1 - - 24 - 02:00:00 - 14400 - 20 - 1 - 1 - 100 - 100 - .15 - 10000 - - CI-MCB000119 - route - - - /lustre/beagle/wilde/swiftwork - - - - - Copied: SwiftApps/SciColSim/bin/convertbest.sh (from rev 5635, SwiftApps/SciColSim/convertbest.sh) =================================================================== --- SwiftApps/SciColSim/bin/convertbest.sh (rev 0) +++ SwiftApps/SciColSim/bin/convertbest.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,6 @@ +#! /bin/sh + +for f in best*.txt; do + out=$(basename $f .txt).fmt + ../showbest.sh <$f >$out +done Added: SwiftApps/SciColSim/bin/extract4plots =================================================================== --- SwiftApps/SciColSim/bin/extract4plots (rev 0) +++ SwiftApps/SciColSim/bin/extract4plots 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,42 @@ +#!/bin/bash + +#usage: ./swiftoutput2plot + +SWIFTOUTFILE=$1 + +#extract start time +TMPDATE=`grep -i progress $SWIFTOUTFILE | head -n 1 | cut -f4-9 -d ' '` +START_TIME=`date +%s -d "$TMPDATE"` + +#extract end time +TMPDATE=`grep -i progress $SWIFTOUTFILE | tail -n 1 | cut -f4-9 -d ' '` +END_TIME=`date +%s -d "$TMPDATE"` + +#duration +DIFFTIME=$((END_TIME - START_TIME)) + +#extract active runs in a file +grep -o -i "Active:[0-9]*" $SWIFTOUTFILE | awk -F: '{print $2}' > active.txt + +#extract successful completions in a file +grep -o -i "Successfully:[0-9]*" $SWIFTOUTFILE | awk -F: '{print $2}' > cumulative.txt + +#prepare tics +activelines=`wc -l active.txt | awk '{print $1}'` +cumulines=`wc -l cumulative.txt | awk '{print $1}'` + +activelinespertic=`echo "scale=5 ; $DIFFTIME / $activelines" | bc` +seq 0 $activelinespertic $DIFFTIME > activetics.txt + +cumulinespertic=`echo "scale=5 ; $DIFFTIME / $cumulines" | bc` +seq 0 $cumulinespertic $DIFFTIME > cumultics.txt + +#final plot data +paste activetics.txt active.txt > plot_active.txt +paste cumultics.txt cumulative.txt > plot_cumulative.txt + +grep "T =" $SWIFTOUTFILE | awk '{print $6}' | cut -c8- | sed 's/....$//' > T.data + +grep multi_annealing $SWIFTOUTFILE | grep "1;30" | awk '{print $3}' | cut -c11- | sed 's/....$//' > anneal.data + +grep returning $SWIFTOUTFILE | awk '{print $3, $4, $5, $6}' | sed -e 's/'ci='//' -e 's/'cj='//' -e 's/'r.loss='//' -e 's/'r.sdev='//' | sort -t' ' -k 1,2n > multiloss.txt Property changes on: SwiftApps/SciColSim/bin/extract4plots ___________________________________________________________________ Added: svn:executable + * Copied: SwiftApps/SciColSim/bin/getallparams.sh (from rev 5635, SwiftApps/SciColSim/getallparams.sh) =================================================================== --- SwiftApps/SciColSim/bin/getallparams.sh (rev 0) +++ SwiftApps/SciColSim/bin/getallparams.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,10 @@ +#! /bin/sh + +# targetinno=${1:-58} + +grep 'calling evolve' swift.out | # grep ,$targetinno, | + sed -e 's/^.*\[//' \ + -e 's/\]$//' \ + -e 's/,/ /g' \ + -e 's/\(\......\)[0-9]* /\1 /g' | + awk '{print $3, $4, $5}' | uniq Added: SwiftApps/SciColSim/bin/getparamtrace.sh =================================================================== --- SwiftApps/SciColSim/bin/getparamtrace.sh (rev 0) +++ SwiftApps/SciColSim/bin/getparamtrace.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,9 @@ +#! /bin/sh + +targetinno=${1:-58} +grep 'calling evolve' swift.out | grep ,$targetinno, | + sed -e 's/^.*\[//' \ + -e 's/\]$//' \ + -e 's/,/ /g' \ + -e 's/\(\......\)[0-9]* /\1 /g' | + awk '{print $3, $4, $5}' | uniq Property changes on: SwiftApps/SciColSim/bin/getparamtrace.sh ___________________________________________________________________ Added: svn:executable + * Copied: SwiftApps/SciColSim/bin/paramtraceall.sh (from rev 5634, SwiftApps/SciColSim/paramtraceall.sh) =================================================================== --- SwiftApps/SciColSim/bin/paramtraceall.sh (rev 0) +++ SwiftApps/SciColSim/bin/paramtraceall.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,7 @@ +for ti in $(seq 58 70); do + echo + echo "=======" $ti ; /home/wilde/AndreysOptimizer/src/getparamtrace.sh $ti + echo +done + + Copied: SwiftApps/SciColSim/bin/showbest.sh (from rev 5634, SwiftApps/SciColSim/showbest.sh) =================================================================== --- SwiftApps/SciColSim/bin/showbest.sh (rev 0) +++ SwiftApps/SciColSim/bin/showbest.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,8 @@ +#! /bin/sh + +awk '{ + printf( "N %2d %2d %10.5f %5.2f | %5.2f %10.5f [ %5.2f %5.2f %10.5f %10.5f %10.5f ] %10.5f\n", + $2, $3, $4, $5, $7, $8, $10, $11, $12, $13, $14, $16); +}' + + Deleted: SwiftApps/SciColSim/cf =================================================================== --- SwiftApps/SciColSim/cf 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/cf 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,7 +0,0 @@ -wrapperlog.always.transfer=true -sitedir.keep=true -execution.retries=3 -lazy.errors=true -status.mode=provider -use.provider.staging=false -provider.staging.pin.swiftfiles=false Deleted: SwiftApps/SciColSim/colortext.swift =================================================================== --- SwiftApps/SciColSim/colortext.swift 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/colortext.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,90 +0,0 @@ -global string e33; // = @sprintf("\\e") or @arg("e33"); - -if( @arg("e33","null") == "null" ) { - e33 = @sprintf("\\e"); -} -else { - e33 = @arg("e33"); -} - -global string endEscape = "[0m"; - -// Color codes used in Andrey's cpp optimizer: - -global int Black = 0; -global int Blue = 1; -global int BlackOnBlue = 2; -global int Pink = 3; -global int GoldOnBlue = 4; -global int BlueOnGray = 5; -global int Red = 6; -global int Gold = 7; -global int BlueOnGold = 8; -global int Gray = 9; -global int BlackOnGray = 10; - -# Black = 0; -# Blue = 1; -# BlackOnBlue = 2; -# Pink = 3; -# GoldOnBlue = 4; -# BlueOnGray = 5; -# Red = 6; -# Gold = 7; -# BlueOnGold = 8; -# Gray = 9; -# BlackOnGray = 10; - -global string colorCode[] = [ - "[1;29m", # Black = 0; - "[1;34m", # Blue = 1; - "[1;44m", # BlackOnBlue = 2; - "[1;35m", # Pink = 3; - "[1;33;44m", # GoldOnBlue = 4; - "[1;47;34m", # BlueOnGray = 5; - "[1;1;31m", # Red = 6; - "[1;1;33m", # Gold = 7; - "[1;1;43;34m", # BlueOnGold = 8; - "[1;1;37m", # Gray = 9; - "[1;30;47m", # BlackOnGray = 10; -]; - -(string s) color(int c, string ins) -{ - s = @strcat(e33,colorCode[c],ins,e33,endEscape); -} - -(string s) ncolor(int c, string ins) // Can use this version if \\e handling is available in current Swift -{ - s = @sprintf(@strcat("\\e",colorCode[c],ins,"\\e",endEscape)); // sprintf applies \\e escape processing -} - -(string s) OLDcolor(int c, string ins) -{ - switch(c){ - case 0: - s = @strcat(e33,"[1;29m",ins,e33,"[0m"); - case 1: - s = @strcat(e33,"[1;34m",ins,e33,"[0m"); - case 2: - s = @strcat(e33,"[1;44m",ins,e33,"[0m"); - case 3: - s = @strcat(e33,"[1;35m",ins,e33,"[0m"); - case 4: - s = @strcat(e33,"[1;33;44m",ins,e33,"[0m"); - case 5: - s = @strcat(e33,"[1;47;34m",ins,e33,"[0m"); - case 6: - s = @strcat(e33,"[1;1;31m",ins,e33,"[0m"); - case 7: - s = @strcat(e33,"[1;1;33m",ins,e33,"[0m"); - case 8: - s = @strcat(e33,"[1;1;43;34m",ins,e33,"[0m"); - case 9: - s = @strcat(e33,"[1;1;37m",ins,e33,"[0m"); - case 10: - s = @strcat(e33,"[1;30;47m",ins,e33,"[0m"); - default: - s = ins; - } -} Copied: SwiftApps/SciColSim/colortext.swift (from rev 5634, SwiftApps/SciColSim/colortext.swift) =================================================================== --- SwiftApps/SciColSim/colortext.swift (rev 0) +++ SwiftApps/SciColSim/colortext.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,90 @@ +global string e33; // = @sprintf("\\e") or @arg("e33"); + +if( @arg("e33","null") == "null" ) { + e33 = @sprintf("\\e"); +} +else { + e33 = @arg("e33"); +} + +global string endEscape = "[0m"; + +// Color codes used in Andrey's cpp optimizer: + +global int Black = 0; +global int Blue = 1; +global int BlackOnBlue = 2; +global int Pink = 3; +global int GoldOnBlue = 4; +global int BlueOnGray = 5; +global int Red = 6; +global int Gold = 7; +global int BlueOnGold = 8; +global int Gray = 9; +global int BlackOnGray = 10; + +# Black = 0; +# Blue = 1; +# BlackOnBlue = 2; +# Pink = 3; +# GoldOnBlue = 4; +# BlueOnGray = 5; +# Red = 6; +# Gold = 7; +# BlueOnGold = 8; +# Gray = 9; +# BlackOnGray = 10; + +global string colorCode[] = [ + "[1;29m", # Black = 0; + "[1;34m", # Blue = 1; + "[1;44m", # BlackOnBlue = 2; + "[1;35m", # Pink = 3; + "[1;33;44m", # GoldOnBlue = 4; + "[1;47;34m", # BlueOnGray = 5; + "[1;1;31m", # Red = 6; + "[1;1;33m", # Gold = 7; + "[1;1;43;34m", # BlueOnGold = 8; + "[1;1;37m", # Gray = 9; + "[1;30;47m", # BlackOnGray = 10; +]; + +(string s) color(int c, string ins) +{ + s = @strcat(e33,colorCode[c],ins,e33,endEscape); +} + +(string s) ncolor(int c, string ins) // Can use this version if \\e handling is available in current Swift +{ + s = @sprintf(@strcat("\\e",colorCode[c],ins,"\\e",endEscape)); // sprintf applies \\e escape processing +} + +(string s) OLDcolor(int c, string ins) +{ + switch(c){ + case 0: + s = @strcat(e33,"[1;29m",ins,e33,"[0m"); + case 1: + s = @strcat(e33,"[1;34m",ins,e33,"[0m"); + case 2: + s = @strcat(e33,"[1;44m",ins,e33,"[0m"); + case 3: + s = @strcat(e33,"[1;35m",ins,e33,"[0m"); + case 4: + s = @strcat(e33,"[1;33;44m",ins,e33,"[0m"); + case 5: + s = @strcat(e33,"[1;47;34m",ins,e33,"[0m"); + case 6: + s = @strcat(e33,"[1;1;31m",ins,e33,"[0m"); + case 7: + s = @strcat(e33,"[1;1;33m",ins,e33,"[0m"); + case 8: + s = @strcat(e33,"[1;1;43;34m",ins,e33,"[0m"); + case 9: + s = @strcat(e33,"[1;1;37m",ins,e33,"[0m"); + case 10: + s = @strcat(e33,"[1;30;47m",ins,e33,"[0m"); + default: + s = ins; + } +} Deleted: SwiftApps/SciColSim/convertbest.sh =================================================================== --- SwiftApps/SciColSim/convertbest.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/convertbest.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,6 +0,0 @@ -#! /bin/sh - -for f in best*.txt; do - out=$(basename $f .txt).fmt - ../showbest.sh <$f >$out -done Copied: SwiftApps/SciColSim/docs/EMAIL (from rev 5634, SwiftApps/SciColSim/EMAIL) =================================================================== --- SwiftApps/SciColSim/docs/EMAIL (rev 0) +++ SwiftApps/SciColSim/docs/EMAIL 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,474 @@ +==== Email trail (cronological order): + +--------------------------------------------------------------------------------------- + +On 10/15/11 8:30 PM, "Michael Wilde" wrote: + +> Hi Andrey, +> +> I've got a basic serial version of optimizer.cpp running on Beagle (on a login +> node). Now Im trying to parallelize it there, and have some questions: +> +> 1) You set NWorkers to a constant, 24. In multi_loss, you have this code: +> +> for(int i=0; i for(int j=0; j<5; j++){ +> un[i]->set_parameter(params[j],j); +> } +> for(int i=0; i dispatch_group_async(group, CustomQueues[i], ^{ +> un[i]->evolve_to_target_and_save(istart, iend, Results, +> Counters); +> }); +> istart += step; +> iend = min(istart+step,N); +> } +> } +> +> Can you explain the intention here? I think the innermost loop is clear: run +> evolve() 24 times in parallel, partitioning the istart..iend range among the +> 24 workers. But I dont understand the outermost loop, which seems to do the +> entire inner loop 24 (NWorkers) times. I can understand the idea of doing the +> entire inner loop some number of times. But from the above, I presume that +> evolve would be run NWorkers^2 times, or 24*24 times. Was that the intention? +> +> 2) If you had many processors available (as you do on Beagle) would you want +> to run set NWorkers higher? I think you mentioned something in out discussion +> Friday about "a thousand" workers being useful. Ie, NWorkers for the innermost +> loop could be 1000. Was that really what you meant? What would be a +> mathematically/scientifically useful value for the NWorkers in the innermost +> loop? +> +> Further: if you do want an NWorkers >> 24, would you still do the evolve +> NWorkers^2 times? I dont think you'd really want 1000*1000 = 1M evolve calls, +> given how many outer loops you have at higher levels of the code, including in +> the Python wrapper. +> +> 3) We'll need to discuss what values make sense for the outer loops +> (multi_annealing and the .py wrapper) once I have this working in parallel. +> +> 4) Can you give me a sentence or two about what this code is doing? I think I +> understand the outer annealing logic, but I have not dug into the code within +> evolve...() at all. I think you might have explained it once back in January +> (before you recoded in C) but I dont recall. If you have a paper or a web page +> on what youre computing here, that would be interesting for me to read, and to +> help write a slide on this for the Beagle review. + + +----- + + +Re: Status and questions on optimizer code +From : andrey rzhetsky +Subject : Re: Status and questions on optimizer code +To : Michael Wilde +Sun, Oct 16, 2011 08:28 AM +Hi Mike, + +1. I think, you just uncovered a stupid bug on my part -- thank you! There +should be only one loop (the outer one). +2. Yes, of course -- 1000, or even 10000 (I can increase the number of +repeats then). +3. OK +4. The code simulates exploration of a chemical network by a research +community. The five major parameters determine the strategy of exploration, +"target" is the number of new interactions discovered and the loss is the +number of experiments per one new positive finding. I can provide you with +figures and slides, if that would help. + +Thank you! + +With kind regards, + +Andrey + + +--------------------------------------------------------------------------------------- + + +On 10/16/11 9:13 AM, "Michael Wilde" wrote: + +> Hi Andrey, +> +> Looking deeper, I think the bug was simply that the first for() statement +> should have enclosed just the parameter setting loop. In other words, the top +> of multi_loss should start with: +> +> for(int i=0; i for(int j=0; j<5; j++){ +> un[i]->set_parameter(params[j],j); +> } +> } +> +> Then the real work is done by the next loop: +> for(i=0; i +> Can you confirm that this looks correct to you? +> +> I made that change, and the code now seems to run as I would expect. I will +> send you some output as soon as I clean up my debugging output. +> +> Next, I made the code run with 24-way parallelism on a Beagle login node using +> "OpenMP", simply by adding one "pragma" statement in front of the main worker +> loop above. So that part of the code now looks like this: +> +> int i; +> #pragma omp parallel for private (i) +> for(i=0; i +> and each call to evolve...() is now done in parallel (with all the Mac +> dispatch statements commented out). I will test, but I *think* that the same +> code will run just as well in parallel on your multicore Macs, perhaps just a +> *tiny* bit slower than under Grand Central Dispatch (likely not a noticeable +> difference). +> +> Now, we have 2 choices: +> +> 1) I can simply replace the Python driver script with a Swift script, to do +> many runs of the optimizer in parallel. That would give you the ability to +> run *many* 24-core optimization runs in parallel, each using 24 cores. So for +> example, in your current Python script you do this: +> +> for target in range(58,1009,50): +> for i in range(15): +> +> So thats about 20 x 15 = 300 invocations of optimizer. I *think* that each of +> these runs is totally independent and can run in parallel, correct? +> +> So A simple Swift script not much longer than the Python script, along with a +> few beagle-specific configuration files, will enable all 300 jobs to run in +> parallel, giving you 300 x 24 (=7200) cores running in parallel. Of course, +> you can seldom *get* that many cores because the machine is heavily loaded. +> But you may be able to get 10-30 nodes on a daily basis. We'll need to +> experiment with this. +> +> As a *next* step after, we should consider the benefits of changing the value +> of NWorkers to > 24. 24 is the "easy" limit on Beagle because we can get +> 24-way parallelism on each node with just that one "pragma" statement. We can +> get much greater parallelism with Swift in the inner loop, but for that we +> need to break up the program a bit more, to have Swift run the inner loop as a +> separate program, and then return the aggregated results in a file. Even for +> this option, there are two alternative methods: +> +> - we make optimizer call Swift once for each round of parallel annealing. This +> is fairly easy. It is somewhat limiting to overall parallelism, in that only +> one round at a time can run. But It may be very adequate. +> +> - we break the program up further into parallelizable chunks, in which case +> you have a lot of flexibility and the work always gets done in a near-optimal +> manner regardless of the shape of a given optimization run (in terms of the +> various nested loop sizes and evolve() execution times. +> +> I think we'll need to discuss this in person over a whiteboard, but I think I +> have enough knowledge of the program to at least show you a few alternatives. +> +> The main question at the moment, I think, is simply to understand the +> math/science benefits of extending NWorkers beyond the "low hanging fruit" +> limit of 24. What is your assessment of that benefit, Andrey? +> + +----- + +----- Forwarded Message ----- +From: "andrey rzhetsky" +To: "Michael Wilde" +Sent: Sunday, October 16, 2011 12:08:25 PM +Subject: Re: Status and questions on optimizer code + +Mike, + +It would be fantastic to have 1000 or 10000 workers (with larger number of +re-runs -- it would improve precision of my analysis drastically!). + +All the very best, + +Andrey + +--------------------------------------------------------------------------------------- + +On 10/17/11 8:29 AM, "Michael Wilde" wrote: + +> Hi Andrey, +> +> Can we meet today to discuss the optimizer? I'd like to show you what Ive done +> and discuss with you next steps towards getting you running on Beagle. I can +> meet any time from 10:30 to 3:00. +> +> Do you already have a CI and Beagle login and a project set up for Beagle use? +> If not, we should get that started. +> +> On the technical side, I have a question about the the typical shape of your +> optimization runs. +> +> With the sample Python script you gave me, I think we have the following +> nested iterations in the code: +> +> 20 targets (parallel) +> 15 repeats (parallel) +> 100 Annealing_cycles (serial) +> 6 repeats (serial) +> 1000 to 10000 annealing_repeats (parallel) # NOTE (1/29 mw): should this be called "reruns"? +> evolve() +> +> The main question I have at this point is regarding the strategy for +> increasing the innermost annealing repeats (currently 1,000 divided among 24 +> workers; desired to increase to 10,000). +> +> The outermost loops in my Swift tests are done in parallel. Thus we can have a +> 300 optimizations going in parallel and 24 annealings in parallel for a total +> of 7,200 parallel tasks. +> +> The question is: if you will always have a sizeable number of parallel +> iterations in the outer loops, we dont need to change anything in the inner +> loop to get more parallelism. In other words, we already have more parallelism +> than we have CPUs available. +> +> 7200 CPUs is about 42% of the overall Beagle system. It will be very rare +> that we we could get that many cores all at once. But think we can regularly +> get say 500 to 2000 cores on a daily basis. +> +> On the other hand, if you expect to regularly run tests of *single* annealing +> cycles and want to speed those up, then indeed it may be worth changing the +> code structure. +> +> When me meet I'll try to give you an idea of whats involved. Basically we need +> to change the structure of the annealing loop to create a function +> "multi_loss_setup" as a separate executable which defines the annealing +> parameters and writes them to a file; make multi_loss a separate executable; +> create another executable "multi_loss_summarize" which reduces the results. +> We can probably combine multi_loss_summarize into multi_loss_setup. +> +> This is not very hard to do, but still sounds to me like a week of programming +> to get all all restructured and tested. Before investing that effort, we +> should discuss if it will give you any additional performance gains over just +> running many optimizations in parallel. +> +> I need to run timings on the annealing cycles to see how that change across +> the parameter space, to see if we can just increase the repeats to 10,000 with +> no changes to the code. I think the feasibility of doing this the "easy way" +> is based on how long the longest annealings take at the high end of the +> parameter space. +> +> Regards, +> +> - Mike + +----- + +----- Forwarded Message ----- +From: "Andrey Rzhetsky" +To: "Michael Wilde" +Sent: Monday, October 17, 2011 8:40:17 AM +Subject: Re: Meet today to discuss optimizer? + +Hi Mike, + +The 6 (or more) annealing repeats can be run in parallel too. + +Unfortunately, around 10:15 I have to rush to Evanston to CBC meeting for +the rest of the day (we can chat before, if you have a minute, I am in my +office). + +I don't have Beagle login, unfortunately. + +Typically, I will have a sizeable outer loop, so, probably, the current +24-worker setup is fine. + +Thank you very much for helping me out! + +All the best, + +Andrey + + +--------------------------------------------------------------------------------------- + +On 10/18/11 1:52 PM, "Michael Wilde" wrote: + +> Hi Andrey, +> +> Here's a quick update: +> +> - I am now running the optimizer on Beagle compute nodes under Swift. +> +> I attach a few tar files of sample runs at reduced parameter values (to shrink +> the run time for debugging and learning the code's behavior); +> +> Now Im trying to run some subset of the full-length parameters you gave me in +> the python file. Ive got 3 Beagle compute nodes allocated at the moment (72 +> cores total) and Im seeing these times from multi_loss with N=1000 repeats: +> +> sandbox$ grep multi_ ./jobs/*/*/output/*.out +> ./jobs/0/optimizer-01p7lhhk/output/T408.R1.out:multi_loss(N=1000) elapsed +> time: 122.742 seconds 2.04571 minutes +> ./jobs/0/optimizer-01p7lhhk/output/T408.R1.out:multi_loss(N=1000) elapsed +> time: 123.979 seconds 2.06631 minutes +> ./jobs/0/optimizer-01p7lhhk/output/T408.R1.out:multi_loss(N=1000) elapsed +> time: 123.624 seconds 2.0604 minutes +> ./jobs/t/optimizer-t0p7lhhk/output/T958.R1.out:multi_loss(N=1000) elapsed +> time: 1431.09 seconds 23.8514 minutes +> ./jobs/x/optimizer-x0p7lhhk/output/T708.R1.out:multi_loss(N=1000) elapsed +> time: 627.074 seconds 10.4512 minutes +> ./jobs/x/optimizer-x0p7lhhk/output/T708.R1.out:multi_loss(N=1000) elapsed +> time: 790.652 seconds 13.1775 minutes +> +> +> Each run of optimizer is going to a file name T(target).R(repeat).out +> +> So we're seeing 23.8 mins for 1000 repeats at target=958 and 10-13 mins at +> target=708. The 1000 repeats are spread over 24 cores each. +> +> Whats your time availability later in the week to discuss this further, and to +> see if either (a) I can show you how to run this version or (b) we can get a +> set of production run descriptions from you and you can run them yourself? +> +> In the compressed tar file at http://www.ci.uchicago.edu/~wilde/AR.snap.01.tgz +> you will find: +> +> - the swift script that I use instead of the Python driver to run the +> optimizer in parallel (along beagle.xml that specifies scheduler parameters +> for Beagle like time, cores, queue name and project ID) +> +> - the slightly modified version of optimizer (changes in multi_loss() to +> correct the loops, changes to use OpenMP instead of Grand Central Dispatch, +> and a few changes in output logging). +> +> - a few run directories of runs with shortened parameter settings. +> +> If we continue working together on this, we should set up a way to share code +> using a repository like Subversion (svn). Thats pretty easy once you master a +> few basic commands. +> +> Regards, +> +> - Mike +> +> + +----- + +----- Forwarded Message ----- +From: "Andrey Rzhetsky" +To: "Michael Wilde" +Sent: Tuesday, October 18, 2011 3:57:36 PM +Subject: Re: Meet today to discuss optimizer? + +Mike, + +Thank you! Are you around now? I would be also happy to carve some time +tomorrow, if this works for you. + +With kind regards, + +Andrey + + +--------------------------------------------------------------------------------------- + + +On 10/19/11 12:10 PM, "Michael Wilde" wrote: + +> Hi Andrey, +> +> Im in meetings today till about 3PM. Are you available at say 3:30 or later? +> +> I did a larger run last night. Only one smaller optimizer run *fully* +> finished, but many others made significant progress. The results are at: +> +> http://www.ci.uchicago.edu/~wilde/AR.optimizer.out.2010.1018.tgz +> +> If you have time, could you take a look at that run and see if the +> optimizations look like they have been running as expected? Ive made only a +> few cosmetic changes to your debug output. +> +> I submitted the run at 21:20; it started running at about 21:27; by about +> 23:10 it had acquired 12 nodes (x 24 cores each). It ended about 23:18 when +> the first job exceeded its time limit of 5 hours. Im still trying to calibrate +> how much time each optimizer invocation needs, and whether some of the +> internal iterations can be further spread out. Also how to organize the run +> so that optimizations that time out can be re-run with the smallest +> reasonable failure unit. +> +> + +--------------------------------------------------------------------------------------- + + +----- Forwarded Message ----- +From: "andrey rzhetsky" +To: "Michael Wilde" +Sent: Wednesday, October 26, 2011 8:40:21 PM +Subject: Re: Question on inner annealing loop + +Mike, + + +> Im confused on 3 points here: +> +> - the inner loop would always be done between 1 and 5 times, right? + +Correct. + +> - could each of those times really be done in parallel? (I'll try to determine +> this by inspection). + +Not really -- the acceptance of parameter changes depends on the loss in +between. + +> - when we last met in your office, I *thought* you indicated that this inner +> loop could be done just *once*. Was that what you meant? And if so, for +> which of the 5 vars? + +Nope, has to be repeated over and over. + +All the very best, + +Andrey + + +--------------------------------------------------------------------------------------- + + +On 10/26/11 10:42 PM, "Michael Wilde" wrote: + +> OK, all that makes sense, Andrey. But then do you recall what you suggested +> when we met? +> +> Lets label the loops as follows: +> +> a) 20 targets (parallel) +> b) 15 repeats (parallel) +> c) 100 Annealing_cycles (serial) +> d) 6 repeats (serial) +> e) 1000 to 10000 annealing_repeats (parallel) +> f) evolve() +> +> What I recalled from our last discussion was that I should reduce loop (c) +> from 100 to 50 or 25, and loop (d) to 1. But since reducing loop (d) doesn't +> make sense, do you recall suggesting any other reduction? +> +> If not, no problem, I think I know how to proceed. +> +> Thanks, +> +> - Mike +> +> +----- + +----- Forwarded Message ----- +From: "andrey rzhetsky" +To: "Michael Wilde" +Sent: Thursday, October 27, 2011 2:54:06 AM +Subject: Re: Question on inner annealing loop + +Hi Mike, + +I suggested reducing (b) to 1. + +With kind regards, + +Andrey + + + Copied: SwiftApps/SciColSim/docs/TimingEstimation.txt (from rev 5634, SwiftApps/SciColSim/TimingEstimation.txt) =================================================================== --- SwiftApps/SciColSim/docs/TimingEstimation.txt (rev 0) +++ SwiftApps/SciColSim/docs/TimingEstimation.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,95 @@ +SciColSim on Beagle +=================== + +Loop Structure +-------------- +Following is the loop structure for the SciColSim application at 'full-scale' values: + +~20 target innovation values + ~15 repeats + 100 annealing cycles (serial) + 3 non-fixed vars (serial) + 1,000 reruns (=>evolve_reruns/reruns_per_app)) + call evolve (1 to 50 seconds per rerun) + + +Total number of jobs are given by the following expression: + +Number_of_jobs = target_innovation_values x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers + + = ceil((max_range - min_range)/range_inc) x repeats x fixed_reps x annealing_cycles x evolve_reruns/reruns_per_app x num_workers + + = ceil((1009 - 58)/50) x 15 x 3 x 100 x 960/192 x 24 + + = 20 x 15 x 3 x 100 x 5 x 24 + + = 10,800,000 + + = 20 x 15 x 3 x 100 x 1000 x 10 = total core-seconds + + = 900M core seconds + + = 900M / 1000 = 900,000 seconds on 1000 cores + + = 250 hours = 10 days + + + +Estimated Runtime on a small scale (2 laptops or 24 cores) + + =10,800,000/24 x (1 to 50 sec) + + =450,000 to 22,500,000 seconds + + =5.2 hours to 260 days + +Estimated Runtime on medium scale (40 Beagle nodes or 960 cores) + + =10,800,000/960 x (1 to 50 sec) + + =11,250 to 562,500 seconds + + =3.12 hours to 6.5 days + + +Atomic job times of application +multi_loss(N=1, target=58) elapsed time: 0.116707 seconds 0.00194512 minutes + +multi_loss(N=1, target=108) elapsed time: 0.26613 seconds 0.0044355 minutes + +multi_loss(N=1, target=158) elapsed time: 0.379991 seconds 0.00633318 minutes + +multi_loss(N=1, target=208) elapsed time: 0.576198 seconds 0.0096033 minutes + +multi_loss(N=1, target=258) elapsed time: 1.50121 seconds 0.0250203 minutes + +multi_loss(N=1, target=308) elapsed time: 1.09665 seconds 0.0182775 minutes + +multi_loss(N=1, target=358) elapsed time: 1.49523 seconds 0.0249205 minutes + +multi_loss(N=1, target=408) elapsed time: 2.3056 seconds 0.0384267 minutes + +multi_loss(N=1, target=458) elapsed time: 3.54418 seconds 0.0590697 minutes + +multi_loss(N=1, target=508) elapsed time: 5.10912 seconds 0.085152 minutes + +multi_loss(N=1, target=558) elapsed time: 6.88611 seconds 0.114768 minutes + +multi_loss(N=1, target=608) elapsed time: 8.7683 seconds 0.146138 minutes + +multi_loss(N=1, target=658) elapsed time: 10.0665 seconds 0.167775 minutes + +multi_loss(N=1, target=708) elapsed time: 12.7259 seconds 0.212098 minutes + +multi_loss(N=1, target=758) elapsed time: 14.8005 seconds 0.246675 minutes + +multi_loss(N=1, target=808) elapsed time: 16.8803 seconds 0.281338 minutes + +multi_loss(N=1, target=858) elapsed time: 19.7864 seconds 0.329774 minutes + +multi_loss(N=1, target=908) elapsed time: 23.4506 seconds 0.390843 minutes + +multi_loss(N=1, target=958) elapsed time: 28.7667 seconds 0.479445 minutes + +multi_loss(N=1, target=1008) elapsed time: 49.0841 seconds 0.818069 minutes + Copied: SwiftApps/SciColSim/docs/atomic_times.png (from rev 5634, SwiftApps/SciColSim/atomic_times.png) =================================================================== (Binary files differ) Copied: SwiftApps/SciColSim/docs/atomic_times.txt (from rev 5634, SwiftApps/SciColSim/atomic_times.txt) =================================================================== --- SwiftApps/SciColSim/docs/atomic_times.txt (rev 0) +++ SwiftApps/SciColSim/docs/atomic_times.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,21 @@ + 58 0.116707 +108 0.26613 +158 0.379991 +208 0.576198 +258 1.50121 +308 1.09665 +358 1.49523 +408 2.3056 +458 3.54418 +508 5.10912 +558 6.88611 +608 8.7683 +658 10.0665 +708 12.7259 +758 14.8005 +808 16.8803 +858 19.7864 +908 23.4506 +958 28.7667 +1008 49.0841 + Copied: SwiftApps/SciColSim/docs/plot_active.txt (from rev 5634, SwiftApps/SciColSim/plot_active.txt) =================================================================== --- SwiftApps/SciColSim/docs/plot_active.txt (rev 0) +++ SwiftApps/SciColSim/docs/plot_active.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,7767 @@ +0 1 +10.9679 3 +21.9359 3 +32.9038 4 +43.8717 3 +54.8397 3 +65.8076 3 +76.7755 3 +87.7434 3 +98.7114 3 +109.679 3 +120.647 3 +131.615 3 +142.583 3 +153.551 3 +164.519 3 +175.487 3 +186.455 4 +197.423 3 +208.391 4 +219.359 3 +230.327 3 +241.294 3 +252.262 3 +263.23 3 +274.198 3 +285.166 3 +296.134 4 +307.102 4 +318.07 3 +329.038 4 +340.006 4 +350.974 3 +361.942 4 +372.91 4 +383.878 4 +394.845 3 +405.813 3 +416.781 4 +427.749 3 +438.717 3 +449.685 3 +460.653 3 +471.621 3 +482.589 3 +493.557 4 +504.525 3 +515.493 4 +526.461 3 +537.429 4 +548.397 3 +559.364 3 +570.332 3 +581.3 3 +592.268 4 +603.236 3 +614.204 3 +625.172 4 +636.14 4 +647.108 3 +658.076 4 +669.044 3 +680.012 3 +690.98 3 +701.948 3 +712.915 4 +723.883 3 +734.851 4 +745.819 4 +756.787 4 +767.755 3 +778.723 3 +789.691 3 +800.659 3 +811.627 3 +822.595 3 +833.563 4 +844.531 4 +855.499 3 +866.466 4 +877.434 3 +888.402 4 +899.37 4 +910.338 3 +921.306 3 +932.274 3 +943.242 4 +954.21 3 +965.178 4 +976.146 3 +987.114 4 +998.082 3 +1009.05 3 +1020.02 3 +1030.99 3 +1041.95 3 +1052.92 3 +1063.89 3 +1074.86 4 +1085.83 4 +1096.79 3 +1107.76 4 +1118.73 3 +1129.7 3 +1140.66 3 +1151.63 4 +1162.6 4 +1173.57 3 +1184.54 4 +1195.5 3 +1206.47 4 +1217.44 3 +1228.41 4 +1239.38 4 +1250.34 3 +1261.31 3 +1272.28 3 +1283.25 3 +1294.22 3 +1305.18 4 +1316.15 3 +1327.12 4 +1338.09 4 +1349.06 3 +1360.02 3 +1370.99 4 +1381.96 3 +1392.93 3 +1403.9 3 +1414.86 3 +1425.83 4 +1436.8 3 +1447.77 3 +1458.73 4 +1469.7 3 +1480.67 4 +1491.64 3 +1502.61 4 +1513.57 4 +1524.54 3 +1535.51 3 +1546.48 3 +1557.45 3 +1568.41 4 +1579.38 4 +1590.35 3 +1601.32 3 +1612.29 3 +1623.25 4 +1634.22 4 +1645.19 3 +1656.16 4 +1667.13 4 +1678.09 3 +1689.06 3 +1700.03 3 +1711 3 +1721.97 4 +1732.93 3 +1743.9 4 +1754.87 4 +1765.84 3 +1776.8 3 +1787.77 3 +1798.74 4 +1809.71 3 +1820.68 4 +1831.64 3 +1842.61 4 +1853.58 4 +1864.55 3 +1875.52 3 +1886.48 4 +1897.45 3 +1908.42 3 +1919.39 4 +1930.36 4 +1941.32 3 +1952.29 4 +1963.26 3 +1974.23 3 +1985.2 3 +1996.16 4 +2007.13 3 +2018.1 4 +2029.07 3 +2040.03 4 +2051 3 +2061.97 4 +2072.94 3 +2083.91 3 +2094.87 3 +2105.84 3 +2116.81 4 +2127.78 3 +2138.75 3 +2149.71 3 +2160.68 4 +2171.65 3 +2182.62 3 +2193.59 3 +2204.55 3 +2215.52 4 +2226.49 4 +2237.46 2 +2248.43 3 +2259.39 3 +2270.36 4 +2281.33 3 +2292.3 3 +2303.27 3 +2314.23 3 +2325.2 3 +2336.17 4 +2347.14 3 +2358.1 3 +2369.07 4 +2380.04 3 +2391.01 3 +2401.98 3 +2412.94 4 +2423.91 3 +2434.88 4 +2445.85 3 +2456.82 4 +2467.78 3 +2478.75 4 +2489.72 3 +2500.69 4 +2511.66 3 +2522.62 4 +2533.59 3 +2544.56 4 +2555.53 4 +2566.5 3 +2577.46 4 +2588.43 3 +2599.4 4 +2610.37 3 +2621.34 3 +2632.3 4 +2643.27 4 +2654.24 4 +2665.21 4 +2676.17 3 +2687.14 3 +2698.11 4 +2709.08 4 +2720.05 2 +2731.01 3 +2741.98 3 +2752.95 3 +2763.92 3 +2774.89 4 +2785.85 4 +2796.82 3 +2807.79 3 +2818.76 3 +2829.73 3 +2840.69 3 +2851.66 3 +2862.63 4 +2873.6 4 +2884.57 4 +2895.53 3 +2906.5 3 +2917.47 3 +2928.44 3 +2939.41 3 +2950.37 3 +2961.34 4 +2972.31 3 +2983.28 3 +2994.24 3 +3005.21 4 +3016.18 4 +3027.15 3 +3038.12 4 +3049.08 3 +3060.05 3 +3071.02 4 +3081.99 3 +3092.96 3 +3103.92 3 +3114.89 4 +3125.86 3 +3136.83 4 +3147.8 3 +3158.76 3 +3169.73 3 +3180.7 4 +3191.67 4 +3202.64 4 +3213.6 4 +3224.57 3 +3235.54 4 +3246.51 4 +3257.48 4 +3268.44 4 +3279.41 4 +3290.38 3 +3301.35 4 +3312.31 4 +3323.28 4 +3334.25 3 +3345.22 3 +3356.19 4 +3367.15 3 +3378.12 3 +3389.09 4 +3400.06 3 +3411.03 4 +3421.99 3 +3432.96 4 +3443.93 3 +3454.9 3 +3465.87 3 +3476.83 4 +3487.8 3 +3498.77 4 +3509.74 3 +3520.71 3 +3531.67 3 +3542.64 3 +3553.61 3 +3564.58 4 +3575.55 4 +3586.51 3 +3597.48 3 +3608.45 4 +3619.42 4 +3630.38 4 +3641.35 3 +3652.32 4 +3663.29 3 +3674.26 4 +3685.22 3 +3696.19 3 +3707.16 4 +3718.13 3 +3729.1 3 +3740.06 3 +3751.03 4 +3762 3 +3772.97 4 +3783.94 3 +3794.9 3 +3805.87 3 +3816.84 3 +3827.81 4 +3838.78 3 +3849.74 3 +3860.71 3 +3871.68 3 +3882.65 4 +3893.62 3 +3904.58 3 +3915.55 3 +3926.52 4 +3937.49 4 +3948.45 3 +3959.42 3 +3970.39 4 +3981.36 4 +3992.33 4 +4003.29 4 +4014.26 3 +4025.23 3 +4036.2 3 +4047.17 4 +4058.13 3 +4069.1 4 +4080.07 3 +4091.04 4 +4102.01 3 +4112.97 4 +4123.94 3 +4134.91 4 +4145.88 3 +4156.85 4 +4167.81 4 +4178.78 3 +4189.75 4 +4200.72 3 +4211.69 4 +4222.65 4 +4233.62 3 +4244.59 3 +4255.56 3 +4266.52 4 +4277.49 3 +4288.46 3 +4299.43 3 +4310.4 4 +4321.36 3 +4332.33 4 +4343.3 3 +4354.27 3 +4365.24 3 +4376.2 4 +4387.17 3 +4398.14 4 +4409.11 3 +4420.08 4 +4431.04 3 +4442.01 3 +4452.98 3 +4463.95 3 +4474.92 3 +4485.88 4 +4496.85 3 +4507.82 3 +4518.79 3 +4529.76 3 +4540.72 3 +4551.69 4 +4562.66 3 +4573.63 4 +4584.59 3 +4595.56 4 +4606.53 3 +4617.5 3 +4628.47 4 +4639.43 3 +4650.4 4 +4661.37 3 +4672.34 3 +4683.31 3 +4694.27 4 +4705.24 3 +4716.21 3 +4727.18 4 +4738.15 4 +4749.11 4 +4760.08 3 +4771.05 3 +4782.02 4 +4792.99 3 +4803.95 3 +4814.92 4 +4825.89 3 +4836.86 4 +4847.83 3 +4858.79 4 +4869.76 3 +4880.73 3 +4891.7 3 +4902.66 3 +4913.63 3 +4924.6 3 +4935.57 4 +4946.54 3 +4957.5 3 +4968.47 4 +4979.44 3 +4990.41 3 +5001.38 3 +5012.34 3 +5023.31 3 +5034.28 3 +5045.25 4 +5056.22 3 +5067.18 4 +5078.15 3 +5089.12 3 +5100.09 3 +5111.06 4 +5122.02 4 +5132.99 3 +5143.96 3 +5154.93 3 +5165.9 4 +5176.86 3 +5187.83 4 +5198.8 3 +5209.77 3 +5220.73 3 +5231.7 3 +5242.67 4 +5253.64 3 +5264.61 3 +5275.57 3 +5286.54 3 +5297.51 3 +5308.48 3 +5319.45 4 +5330.41 4 +5341.38 3 +5352.35 4 +5363.32 3 +5374.29 3 +5385.25 4 +5396.22 3 +5407.19 3 +5418.16 4 +5429.13 3 +5440.09 3 +5451.06 4 +5462.03 3 +5473 3 +5483.97 3 +5494.93 3 +5505.9 3 +5516.87 4 +5527.84 3 +5538.8 4 +5549.77 3 +5560.74 3 +5571.71 4 +5582.68 3 +5593.64 4 +5604.61 3 +5615.58 3 +5626.55 3 +5637.52 3 +5648.48 3 +5659.45 4 +5670.42 3 +5681.39 4 +5692.36 3 +5703.32 3 +5714.29 3 +5725.26 3 +5736.23 3 +5747.2 3 +5758.16 4 +5769.13 3 +5780.1 4 +5791.07 3 +5802.03 4 +5813 4 +5823.97 3 +5834.94 4 +5845.91 4 +5856.87 3 +5867.84 3 +5878.81 3 +5889.78 4 +5900.75 3 +5911.71 3 +5922.68 3 +5933.65 4 +5944.62 3 +5955.59 4 +5966.55 4 +5977.52 3 +5988.49 3 +5999.46 3 +6010.43 3 +6021.39 4 +6032.36 4 +6043.33 3 +6054.3 4 +6065.27 4 +6076.23 4 +6087.2 3 +6098.17 3 +6109.14 3 +6120.1 3 +6131.07 3 +6142.04 3 +6153.01 4 +6163.98 4 +6174.94 4 +6185.91 3 +6196.88 3 +6207.85 4 +6218.82 3 +6229.78 3 +6240.75 4 +6251.72 4 +6262.69 3 +6273.66 3 +6284.62 4 +6295.59 3 +6306.56 4 +6317.53 4 +6328.5 3 +6339.46 4 +6350.43 3 +6361.4 3 +6372.37 3 +6383.34 3 +6394.3 3 +6405.27 3 +6416.24 3 +6427.21 4 +6438.17 3 +6449.14 3 +6460.11 3 +6471.08 3 +6482.05 3 +6493.01 3 +6503.98 4 +6514.95 4 +6525.92 3 +6536.89 3 +6547.85 4 +6558.82 4 +6569.79 4 +6580.76 4 +6591.73 4 +6602.69 4 +6613.66 3 +6624.63 3 +6635.6 4 +6646.57 4 +6657.53 3 +6668.5 4 +6679.47 4 +6690.44 3 +6701.41 3 +6712.37 3 +6723.34 3 +6734.31 3 +6745.28 3 +6756.24 3 +6767.21 3 +6778.18 3 +6789.15 3 +6800.12 2 +6811.08 3 +6822.05 3 +6833.02 3 +6843.99 3 +6854.96 4 +6865.92 3 +6876.89 4 +6887.86 4 +6898.83 4 +6909.8 3 +6920.76 4 +6931.73 3 +6942.7 3 +6953.67 3 +6964.64 4 +6975.6 3 +6986.57 3 +6997.54 3 +7008.51 3 +7019.48 3 +7030.44 3 +7041.41 3 +7052.38 4 +7063.35 3 +7074.31 4 +7085.28 3 +7096.25 4 +7107.22 4 +7118.19 3 +7129.15 3 +7140.12 3 +7151.09 4 +7162.06 3 +7173.03 4 +7183.99 3 +7194.96 3 +7205.93 4 +7216.9 4 +7227.87 3 +7238.83 3 +7249.8 3 +7260.77 3 +7271.74 3 +7282.71 4 +7293.67 3 +7304.64 3 +7315.61 3 +7326.58 3 +7337.55 3 +7348.51 3 +7359.48 3 +7370.45 4 +7381.42 3 +7392.38 4 +7403.35 4 +7414.32 3 +7425.29 3 +7436.26 4 +7447.22 3 +7458.19 3 +7469.16 4 +7480.13 3 +7491.1 4 +7502.06 3 +7513.03 4 +7524 3 +7534.97 3 +7545.94 3 +7556.9 3 +7567.87 3 +7578.84 4 +7589.81 3 +7600.78 4 +7611.74 3 +7622.71 4 +7633.68 3 +7644.65 3 +7655.62 3 +7666.58 3 +7677.55 4 +7688.52 3 +7699.49 3 +7710.45 4 +7721.42 4 +7732.39 4 +7743.36 4 +7754.33 4 +7765.29 3 +7776.26 3 +7787.23 3 +7798.2 3 +7809.17 3 +7820.13 3 +7831.1 3 +7842.07 3 +7853.04 3 +7864.01 3 +7874.97 3 +7885.94 3 +7896.91 3 +7907.88 3 +7918.85 3 +7929.81 3 +7940.78 3 +7951.75 3 +7962.72 4 +7973.69 4 +7984.65 4 +7995.62 3 +8006.59 3 +8017.56 3 +8028.52 3 +8039.49 4 +8050.46 3 +8061.43 3 +8072.4 3 +8083.36 3 +8094.33 3 +8105.3 3 +8116.27 4 +8127.24 3 +8138.2 3 +8149.17 4 +8160.14 3 +8171.11 3 +8182.08 3 +8193.04 4 +8204.01 3 +8214.98 3 +8225.95 3 +8236.92 4 +8247.88 3 +8258.85 3 +8269.82 4 +8280.79 3 +8291.76 3 +8302.72 3 +8313.69 3 +8324.66 4 +8335.63 4 +8346.59 4 +8357.56 3 +8368.53 3 +8379.5 3 +8390.47 3 +8401.43 4 +8412.4 4 +8423.37 3 +8434.34 4 +8445.31 4 +8456.27 3 +8467.24 3 +8478.21 3 +8489.18 3 +8500.15 4 +8511.11 3 +8522.08 3 +8533.05 3 +8544.02 3 +8554.99 3 +8565.95 3 +8576.92 3 +8587.89 3 +8598.86 4 +8609.83 3 +8620.79 3 +8631.76 4 +8642.73 4 +8653.7 4 +8664.66 3 +8675.63 4 +8686.6 3 +8697.57 3 +8708.54 3 +8719.5 3 +8730.47 3 +8741.44 3 +8752.41 3 +8763.38 3 +8774.34 3 +8785.31 3 +8796.28 3 +8807.25 3 +8818.22 3 +8829.18 3 +8840.15 3 +8851.12 4 +8862.09 3 +8873.06 4 +8884.02 3 +8894.99 4 +8905.96 3 +8916.93 3 +8927.9 3 +8938.86 4 +8949.83 3 +8960.8 4 +8971.77 3 +8982.73 4 +8993.7 3 +9004.67 4 +9015.64 3 +9026.61 3 +9037.57 4 +9048.54 3 +9059.51 4 +9070.48 3 +9081.45 4 +9092.41 3 +9103.38 3 +9114.35 3 +9125.32 4 +9136.29 3 +9147.25 3 +9158.22 3 +9169.19 3 +9180.16 3 +9191.13 3 +9202.09 3 +9213.06 3 +9224.03 3 +9235 3 +9245.96 3 +9256.93 3 +9267.9 3 +9278.87 3 +9289.84 3 +9300.8 4 +9311.77 4 +9322.74 4 +9333.71 3 +9344.68 3 +9355.64 3 +9366.61 4 +9377.58 3 +9388.55 3 +9399.52 4 +9410.48 3 +9421.45 4 +9432.42 3 +9443.39 4 +9454.36 4 +9465.32 3 +9476.29 3 +9487.26 3 +9498.23 3 +9509.2 3 +9520.16 3 +9531.13 3 +9542.1 3 +9553.07 3 +9564.03 3 +9575 3 +9585.97 3 +9596.94 4 +9607.91 4 +9618.87 4 +9629.84 3 +9640.81 3 +9651.78 3 +9662.75 3 +9673.71 3 +9684.68 4 +9695.65 3 +9706.62 4 +9717.59 3 +9728.55 3 +9739.52 3 +9750.49 3 +9761.46 3 +9772.43 4 +9783.39 3 +9794.36 4 +9805.33 3 +9816.3 4 +9827.27 3 +9838.23 4 +9849.2 3 +9860.17 3 +9871.14 3 +9882.1 4 +9893.07 4 +9904.04 3 +9915.01 4 +9925.98 4 +9936.94 3 +9947.91 3 +9958.88 3 +9969.85 4 +9980.82 3 +9991.78 4 +10002.8 3 +10013.7 3 +10024.7 3 +10035.7 3 +10046.6 3 +10057.6 4 +10068.6 3 +10079.5 4 +10090.5 3 +10101.5 4 +10112.4 3 +10123.4 4 +10134.4 3 +10145.3 4 +10156.3 3 +10167.3 3 +10178.2 3 +10189.2 4 +10200.2 4 +10211.1 3 +10222.1 4 +10233.1 3 +10244 4 +10255 3 +10266 3 +10277 4 +10287.9 4 +10298.9 4 +10309.9 3 +10320.8 3 +10331.8 4 +10342.8 4 +10353.7 3 +10364.7 3 +10375.7 3 +10386.6 3 +10397.6 3 +10408.6 4 +10419.5 3 +10430.5 3 +10441.5 4 +10452.4 3 +10463.4 4 +10474.4 3 +10485.3 4 +10496.3 3 +10507.3 3 +10518.2 3 +10529.2 3 +10540.2 4 +10551.1 3 +10562.1 4 +10573.1 3 +10584.1 3 +10595 3 +10606 3 +10617 4 +10627.9 4 +10638.9 3 +10649.9 3 +10660.8 3 +10671.8 3 +10682.8 3 +10693.7 4 +10704.7 4 +10715.7 4 +10726.6 3 +10737.6 3 +10748.6 3 +10759.5 4 +10770.5 3 +10781.5 3 +10792.4 3 +10803.4 4 +10814.4 3 +10825.3 3 +10836.3 3 +10847.3 3 +10858.3 3 +10869.2 4 +10880.2 4 +10891.2 3 +10902.1 3 +10913.1 3 +10924.1 3 +10935 3 +10946 4 +10957 3 +10967.9 4 +10978.9 3 +10989.9 3 +11000.8 3 +11011.8 4 +11022.8 3 +11033.7 3 +11044.7 3 +11055.7 3 +11066.6 3 +11077.6 3 +11088.6 3 +11099.5 4 +11110.5 4 +11121.5 3 +11132.4 3 +11143.4 3 +11154.4 3 +11165.4 3 +11176.3 3 +11187.3 4 +11198.3 3 +11209.2 4 +11220.2 3 +11231.2 3 +11242.1 4 +11253.1 3 +11264.1 4 +11275 3 +11286 3 +11297 3 +11307.9 3 +11318.9 4 +11329.9 4 +11340.8 3 +11351.8 3 +11362.8 4 +11373.7 3 +11384.7 3 +11395.7 4 +11406.6 4 +11417.6 3 +11428.6 4 +11439.6 3 +11450.5 3 +11461.5 3 +11472.5 3 +11483.4 3 +11494.4 4 +11505.4 3 +11516.3 3 +11527.3 3 +11538.3 3 +11549.2 3 +11560.2 4 +11571.2 3 +11582.1 3 +11593.1 3 +11604.1 3 +11615 3 +11626 3 +11637 3 +11647.9 3 +11658.9 3 +11669.9 2 +11680.8 3 +11691.8 3 +11702.8 3 +11713.7 3 +11724.7 4 +11735.7 3 +11746.7 3 +11757.6 3 +11768.6 4 +11779.6 3 +11790.5 3 +11801.5 4 +11812.5 4 +11823.4 4 +11834.4 3 +11845.4 4 +11856.3 4 +11867.3 3 +11878.3 3 +11889.2 3 +11900.2 4 +11911.2 3 +11922.1 4 +11933.1 3 +11944.1 3 +11955 3 +11966 3 +11977 4 +11987.9 3 +11998.9 3 +12009.9 3 +12020.9 3 +12031.8 3 +12042.8 3 +12053.8 4 +12064.7 4 +12075.7 3 +12086.7 3 +12097.6 3 +12108.6 3 +12119.6 4 +12130.5 3 +12141.5 3 +12152.5 4 +12163.4 4 +12174.4 3 +12185.4 3 +12196.3 3 +12207.3 4 +12218.3 3 +12229.2 3 +12240.2 4 +12251.2 3 +12262.1 3 +12273.1 4 +12284.1 3 +12295 3 +12306 3 +12317 4 +12328 3 +12338.9 3 +12349.9 3 +12360.9 4 +12371.8 4 +12382.8 3 +12393.8 4 +12404.7 3 +12415.7 4 +12426.7 3 +12437.6 3 +12448.6 3 +12459.6 3 +12470.5 4 +12481.5 3 +12492.5 3 +12503.4 3 +12514.4 3 +12525.4 4 +12536.3 4 +12547.3 3 +12558.3 3 +12569.2 3 +12580.2 3 +12591.2 3 +12602.2 3 +12613.1 4 +12624.1 3 +12635.1 4 +12646 3 +12657 3 +12668 3 +12678.9 3 +12689.9 3 +12700.9 3 +12711.8 4 +12722.8 4 +12733.8 3 +12744.7 4 +12755.7 3 +12766.7 3 +12777.6 3 +12788.6 4 +12799.6 3 +12810.5 3 +12821.5 3 +12832.5 4 +12843.4 3 +12854.4 3 +12865.4 3 +12876.3 4 +12887.3 3 +12898.3 4 +12909.3 3 +12920.2 4 +12931.2 3 +12942.2 3 +12953.1 4 +12964.1 4 +12975.1 3 +12986 4 +12997 3 +13008 3 +13018.9 3 +13029.9 3 +13040.9 3 +13051.8 2 +13062.8 4 +13073.8 3 +13084.7 3 +13095.7 4 +13106.7 3 +13117.6 4 +13128.6 4 +13139.6 4 +13150.5 3 +13161.5 3 +13172.5 4 +13183.5 3 +13194.4 3 +13205.4 3 +13216.4 4 +13227.3 3 +13238.3 4 +13249.3 4 +13260.2 3 +13271.2 4 +13282.2 3 +13293.1 3 +13304.1 3 +13315.1 3 +13326 3 +13337 3 +13348 3 +13358.9 4 +13369.9 4 +13380.9 3 +13391.8 3 +13402.8 3 +13413.8 3 +13424.7 4 +13435.7 3 +13446.7 4 +13457.7 3 +13468.6 4 +13479.6 3 +13490.6 4 +13501.5 3 +13512.5 4 +13523.5 3 +13534.4 4 +13545.4 4 +13556.4 4 +13567.3 3 +13578.3 4 +13589.3 4 +13600.2 4 +13611.2 3 +13622.2 4 +13633.1 3 +13644.1 3 +13655.1 3 +13666 3 +13677 3 +13688 3 +13698.9 3 +13709.9 4 +13720.9 3 +13731.8 3 +13742.8 3 +13753.8 3 +13764.8 3 +13775.7 3 +13786.7 4 +13797.7 3 +13808.6 3 +13819.6 4 +13830.6 3 +13841.5 3 +13852.5 4 +13863.5 3 +13874.4 4 +13885.4 3 +13896.4 4 +13907.3 3 +13918.3 3 +13929.3 3 +13940.2 3 +13951.2 3 +13962.2 3 +13973.1 3 +13984.1 3 +13995.1 3 +14006 4 +14017 4 +14028 4 +14039 4 +14049.9 4 +14060.9 3 +14071.9 3 +14082.8 4 +14093.8 4 +14104.8 3 +14115.7 3 +14126.7 3 +14137.7 3 +14148.6 3 +14159.6 3 +14170.6 3 +14181.5 3 +14192.5 3 +14203.5 4 +14214.4 3 +14225.4 3 +14236.4 4 +14247.3 3 +14258.3 4 +14269.3 4 +14280.2 3 +14291.2 4 +14302.2 3 +14313.1 3 +14324.1 3 +14335.1 3 +14346.1 3 +14357 3 +14368 4 +14379 3 +14389.9 3 +14400.9 3 +14411.9 4 +14422.8 3 +14433.8 4 +14444.8 4 +14455.7 3 +14466.7 3 +14477.7 4 +14488.6 3 +14499.6 3 +14510.6 3 +14521.5 3 +14532.5 3 +14543.5 4 +14554.4 4 +14565.4 3 +14576.4 3 +14587.3 3 +14598.3 3 +14609.3 3 +14620.3 3 +14631.2 4 +14642.2 3 +14653.2 3 +14664.1 3 +14675.1 3 +14686.1 4 +14697 3 +14708 3 +14719 3 +14729.9 4 +14740.9 3 +14751.9 3 +14762.8 3 +14773.8 4 +14784.8 3 +14795.7 3 +14806.7 3 +14817.7 3 +14828.6 3 +14839.6 4 +14850.6 3 +14861.5 4 +14872.5 3 +14883.5 4 +14894.4 3 +14905.4 4 +14916.4 4 +14927.4 3 +14938.3 4 +14949.3 3 +14960.3 3 +14971.2 4 +14982.2 3 +14993.2 3 +15004.1 3 +15015.1 3 +15026.1 3 +15037 4 +15048 4 +15059 3 +15069.9 3 +15080.9 4 +15091.9 4 +15102.8 3 +15113.8 3 +15124.8 3 +15135.7 3 +15146.7 3 +15157.7 3 +15168.6 4 +15179.6 4 +15190.6 4 +15201.6 3 +15212.5 4 +15223.5 3 +15234.5 3 +15245.4 4 +15256.4 4 +15267.4 3 +15278.3 4 +15289.3 4 +15300.3 3 +15311.2 3 +15322.2 3 +15333.2 3 +15344.1 4 +15355.1 4 +15366.1 3 +15377 3 +15388 3 +15399 3 +15409.9 3 +15420.9 4 +15431.9 3 +15442.8 4 +15453.8 3 +15464.8 3 +15475.7 3 +15486.7 3 +15497.7 3 +15508.7 3 +15519.6 3 +15530.6 3 +15541.6 3 +15552.5 3 +15563.5 3 +15574.5 3 +15585.4 3 +15596.4 3 +15607.4 3 +15618.3 3 +15629.3 3 +15640.3 4 +15651.2 3 +15662.2 3 +15673.2 3 +15684.1 3 +15695.1 4 +15706.1 3 +15717 3 +15728 3 +15739 4 +15749.9 4 +15760.9 3 +15771.9 3 +15782.9 3 +15793.8 4 +15804.8 3 +15815.8 4 +15826.7 3 +15837.7 3 +15848.7 3 +15859.6 4 +15870.6 3 +15881.6 3 +15892.5 4 +15903.5 3 +15914.5 3 +15925.4 4 +15936.4 3 +15947.4 3 +15958.3 3 +15969.3 4 +15980.3 4 +15991.2 3 +16002.2 3 +16013.2 3 +16024.1 3 +16035.1 4 +16046.1 3 +16057 3 +16068 3 +16079 4 +16090 4 +16100.9 3 +16111.9 3 +16122.9 4 +16133.8 4 +16144.8 4 +16155.8 4 +16166.7 4 +16177.7 4 +16188.7 4 +16199.6 4 +16210.6 4 +16221.6 4 +16232.5 4 +16243.5 4 +16254.5 4 +16265.4 4 +16276.4 4 +16287.4 4 +16298.3 4 +16309.3 4 +16320.3 4 +16331.2 5 +16342.2 5 +16353.2 5 +16364.2 5 +16375.1 5 +16386.1 5 +16397.1 6 +16408 5 +16419 5 +16430 6 +16440.9 5 +16451.9 5 +16462.9 5 +16473.8 6 +16484.8 5 +16495.8 5 +16506.7 5 +16517.7 5 +16528.7 5 +16539.6 5 +16550.6 5 +16561.6 5 +16572.5 5 +16583.5 5 +16594.5 5 +16605.4 5 +16616.4 5 +16627.4 5 +16638.3 5 +16649.3 6 +16660.3 5 +16671.3 5 +16682.2 6 +16693.2 5 +16704.2 6 +16715.1 5 +16726.1 5 +16737.1 5 +16748 5 +16759 5 +16770 5 +16780.9 5 +16791.9 5 +16802.9 5 +16813.8 5 +16824.8 5 +16835.8 5 +16846.7 5 +16857.7 5 +16868.7 5 +16879.6 5 +16890.6 5 +16901.6 5 +16912.5 6 +16923.5 5 +16934.5 5 +16945.5 5 +16956.4 5 +16967.4 5 +16978.4 5 +16989.3 5 +17000.3 5 +17011.3 5 +17022.2 5 +17033.2 5 +17044.2 5 +17055.1 5 +17066.1 5 +17077.1 5 +17088 5 +17099 5 +17110 5 +17120.9 5 +17131.9 6 +17142.9 5 +17153.8 5 +17164.8 6 +17175.8 5 +17186.7 6 +17197.7 5 +17208.7 5 +17219.7 5 +17230.6 5 +17241.6 5 +17252.6 5 +17263.5 6 +17274.5 5 +17285.5 5 +17296.4 5 +17307.4 5 +17318.4 5 +17329.3 5 +17340.3 5 +17351.3 5 +17362.2 5 +17373.2 6 +17384.2 6 +17395.1 5 +17406.1 5 +17417.1 6 +17428 5 +17439 6 +17450 5 +17460.9 5 +17471.9 5 +17482.9 5 +17493.8 5 +17504.8 6 +17515.8 5 +17526.8 6 +17537.7 6 +17548.7 5 +17559.7 5 +17570.6 6 +17581.6 6 +17592.6 6 +17603.5 6 +17614.5 6 +17625.5 5 +17636.4 6 +17647.4 6 +17658.4 6 +17669.3 6 +17680.3 6 +17691.3 5 +17702.2 6 +17713.2 6 +17724.2 6 +17735.1 6 +17746.1 6 +17757.1 6 +17768 5 +17779 6 +17790 6 +17801 6 +17811.9 6 +17822.9 6 +17833.9 5 +17844.8 6 +17855.8 6 +17866.8 6 +17877.7 6 +17888.7 6 +17899.7 6 +17910.6 9 +17921.6 8 +17932.6 10 +17943.5 9 +17954.5 9 +17965.5 9 +17976.4 9 +17987.4 10 +17998.4 9 +18009.3 10 +18020.3 9 +18031.3 9 +18042.2 10 +18053.2 9 +18064.2 9 +18075.1 9 +18086.1 9 +18097.1 9 +18108.1 10 +18119 10 +18130 9 +18141 9 +18151.9 8 +18162.9 9 +18173.9 9 +18184.8 9 +18195.8 9 +18206.8 9 +18217.7 9 +18228.7 9 +18239.7 9 +18250.6 9 +18261.6 9 +18272.6 10 +18283.5 10 +18294.5 9 +18305.5 10 +18316.4 10 +18327.4 9 +18338.4 9 +18349.3 9 +18360.3 10 +18371.3 10 +18382.3 9 +18393.2 10 +18404.2 9 +18415.2 10 +18426.1 10 +18437.1 9 +18448.1 10 +18459 10 +18470 9 +18481 10 +18491.9 10 +18502.9 9 +18513.9 9 +18524.8 9 +18535.8 9 +18546.8 10 +18557.7 10 +18568.7 9 +18579.7 10 +18590.6 10 +18601.6 9 +18612.6 9 +18623.5 9 +18634.5 10 +18645.5 10 +18656.4 10 +18667.4 10 +18678.4 10 +18689.4 10 +18700.3 10 +18711.3 10 +18722.3 10 +18733.2 10 +18744.2 10 +18755.2 10 +18766.1 10 +18777.1 10 +18788.1 10 +18799 10 +18810 10 +18821 10 +18831.9 10 +18842.9 10 +18853.9 10 +18864.8 9 +18875.8 9 +18886.8 10 +18897.7 9 +18908.7 9 +18919.7 10 +18930.6 10 +18941.6 10 +18952.6 10 +18963.6 10 +18974.5 10 +18985.5 10 +18996.5 10 +19007.4 10 +19018.4 10 +19029.4 10 +19040.3 10 +19051.3 10 +19062.3 10 +19073.2 10 +19084.2 10 +19095.2 10 +19106.1 10 +19117.1 10 +19128.1 10 +19139 10 +19150 10 +19161 10 +19171.9 10 +19182.9 10 +19193.9 10 +19204.8 10 +19215.8 10 +19226.8 10 +19237.7 10 +19248.7 10 +19259.7 10 +19270.7 10 +19281.6 10 +19292.6 10 +19303.6 10 +19314.5 10 +19325.5 10 +19336.5 10 +19347.4 10 +19358.4 10 +19369.4 10 +19380.3 10 +19391.3 10 +19402.3 10 +19413.2 10 +19424.2 10 +19435.2 10 +19446.1 10 +19457.1 10 +19468.1 10 +19479 10 +19490 10 +19501 10 +19511.9 10 +19522.9 10 +19533.9 10 +19544.9 10 +19555.8 10 +19566.8 10 +19577.8 10 +19588.7 11 +19599.7 11 +19610.7 11 +19621.6 11 +19632.6 11 +19643.6 11 +19654.5 12 +19665.5 11 +19676.5 11 +19687.4 11 +19698.4 11 +19709.4 11 +19720.3 11 +19731.3 11 +19742.3 11 +19753.2 11 +19764.2 11 +19775.2 11 +19786.1 12 +19797.1 11 +19808.1 11 +19819 12 +19830 12 +19841 11 +19852 11 +19862.9 11 +19873.9 11 +19884.9 11 +19895.8 11 +19906.8 11 +19917.8 11 +19928.7 11 +19939.7 11 +19950.7 11 +19961.6 11 +19972.6 11 +19983.6 11 +19994.5 11 +20005.5 11 +20016.5 11 +20027.4 11 +20038.4 11 +20049.4 11 +20060.3 11 +20071.3 12 +20082.3 11 +20093.2 12 +20104.2 11 +20115.2 11 +20126.2 11 +20137.1 12 +20148.1 11 +20159.1 11 +20170 11 +20181 11 +20192 11 +20202.9 11 +20213.9 11 +20224.9 11 +20235.8 11 +20246.8 11 +20257.8 11 +20268.7 11 +20279.7 11 +20290.7 11 +20301.6 11 +20312.6 11 +20323.6 11 +20334.5 11 +20345.5 11 +20356.5 11 +20367.4 12 +20378.4 12 +20389.4 11 +20400.3 12 +20411.3 11 +20422.3 11 +20433.3 11 +20444.2 11 +20455.2 11 +20466.2 11 +20477.1 11 +20488.1 11 +20499.1 11 +20510 11 +20521 11 +20532 11 +20542.9 11 +20553.9 11 +20564.9 11 +20575.8 11 +20586.8 12 +20597.8 11 +20608.7 11 +20619.7 11 +20630.7 11 +20641.6 11 +20652.6 11 +20663.6 12 +20674.5 12 +20685.5 12 +20696.5 11 +20707.5 11 +20718.4 11 +20729.4 11 +20740.4 12 +20751.3 11 +20762.3 11 +20773.3 11 +20784.2 11 +20795.2 11 +20806.2 11 +20817.1 11 +20828.1 11 +20839.1 12 +20850 12 +20861 11 +20872 12 +20882.9 11 +20893.9 12 +20904.9 12 +20915.8 11 +20926.8 12 +20937.8 12 +20948.7 12 +20959.7 11 +20970.7 11 +20981.7 11 +20992.6 11 +21003.6 11 +21014.6 11 +21025.5 12 +21036.5 11 +21047.5 11 +21058.4 11 +21069.4 11 +21080.4 11 +21091.3 11 +21102.3 11 +21113.3 11 +21124.2 11 +21135.2 11 +21146.2 11 +21157.1 11 +21168.1 11 +21179.1 11 +21190 11 +21201 11 +21212 12 +21222.9 12 +21233.9 12 +21244.9 12 +21255.8 11 +21266.8 11 +21277.8 11 +21288.8 12 +21299.7 11 +21310.7 11 +21321.7 11 +21332.6 12 +21343.6 12 +21354.6 12 +21365.5 11 +21376.5 11 +21387.5 11 +21398.4 11 +21409.4 11 +21420.4 11 +21431.3 11 +21442.3 11 +21453.3 11 +21464.2 11 +21475.2 12 +21486.2 11 +21497.1 11 +21508.1 11 +21519.1 11 +21530 11 +21541 11 +21552 11 +21563 11 +21573.9 11 +21584.9 12 +21595.9 11 +21606.8 12 +21617.8 11 +21628.8 12 +21639.7 11 +21650.7 12 +21661.7 12 +21672.6 12 +21683.6 12 +21694.6 11 +21705.5 11 +21716.5 11 +21727.5 11 +21738.4 12 +21749.4 11 +21760.4 11 +21771.3 11 +21782.3 11 +21793.3 11 +21804.2 11 +21815.2 11 +21826.2 11 +21837.1 11 +21848.1 12 +21859.1 11 +21870.1 11 +21881 11 +21892 11 +21903 11 +21913.9 12 +21924.9 11 +21935.9 11 +21946.8 11 +21957.8 12 +21968.8 11 +21979.7 11 +21990.7 11 +22001.7 11 +22012.6 11 +22023.6 11 +22034.6 12 +22045.5 11 +22056.5 11 +22067.5 11 +22078.4 11 +22089.4 11 +22100.4 11 +22111.3 12 +22122.3 12 +22133.3 12 +22144.3 12 +22155.2 11 +22166.2 11 +22177.2 11 +22188.1 12 +22199.1 11 +22210.1 11 +22221 11 +22232 12 +22243 12 +22253.9 11 +22264.9 11 +22275.9 11 +22286.8 12 +22297.8 11 +22308.8 12 +22319.7 11 +22330.7 11 +22341.7 11 +22352.6 11 +22363.6 11 +22374.6 11 +22385.5 11 +22396.5 11 +22407.5 11 +22418.4 11 +22429.4 11 +22440.4 11 +22451.4 11 +22462.3 11 +22473.3 11 +22484.3 11 +22495.2 11 +22506.2 11 +22517.2 11 +22528.1 11 +22539.1 11 +22550.1 11 +22561 11 +22572 11 +22583 11 +22593.9 12 +22604.9 11 +22615.9 11 +22626.8 12 +22637.8 11 +22648.8 11 +22659.7 11 +22670.7 11 +22681.7 12 +22692.6 11 +22703.6 11 +22714.6 12 +22725.6 11 +22736.5 11 +22747.5 12 +22758.5 11 +22769.4 11 +22780.4 11 +22791.4 12 +22802.3 11 +22813.3 11 +22824.3 11 +22835.2 11 +22846.2 11 +22857.2 11 +22868.1 12 +22879.1 11 +22890.1 12 +22901 12 +22912 12 +22923 12 +22933.9 13 +22944.9 14 +22955.9 13 +22966.8 13 +22977.8 14 +22988.8 14 +22999.7 13 +23010.7 13 +23021.7 13 +23032.7 13 +23043.6 13 +23054.6 13 +23065.6 13 +23076.5 13 +23087.5 13 +23098.5 14 +23109.4 14 +23120.4 13 +23131.4 13 +23142.3 13 +23153.3 13 +23164.3 13 +23175.2 13 +23186.2 14 +23197.2 13 +23208.1 13 +23219.1 13 +23230.1 14 +23241 14 +23252 13 +23263 14 +23273.9 13 +23284.9 13 +23295.9 13 +23306.9 13 +23317.8 13 +23328.8 14 +23339.8 13 +23350.7 13 +23361.7 13 +23372.7 14 +23383.6 13 +23394.6 13 +23405.6 13 +23416.5 13 +23427.5 14 +23438.5 13 +23449.4 13 +23460.4 13 +23471.4 13 +23482.3 13 +23493.3 13 +23504.3 13 +23515.2 13 +23526.2 13 +23537.2 13 +23548.1 13 +23559.1 14 +23570.1 13 +23581 14 +23592 14 +23603 14 +23614 14 +23624.9 14 +23635.9 13 +23646.9 13 +23657.8 14 +23668.8 13 +23679.8 13 +23690.7 13 +23701.7 13 +23712.7 13 +23723.6 13 +23734.6 13 +23745.6 13 +23756.5 13 +23767.5 14 +23778.5 14 +23789.4 14 +23800.4 14 +23811.4 13 +23822.3 13 +23833.3 14 +23844.3 13 +23855.2 13 +23866.2 14 +23877.2 13 +23888.2 14 +23899.1 13 +23910.1 14 +23921.1 14 +23932 13 +23943 14 +23954 13 +23964.9 13 +23975.9 13 +23986.9 14 +23997.8 14 +24008.8 13 +24019.8 14 +24030.7 13 +24041.7 14 +24052.7 13 +24063.6 13 +24074.6 13 +24085.6 13 +24096.5 14 +24107.5 14 +24118.5 13 +24129.4 14 +24140.4 14 +24151.4 14 +24162.3 14 +24173.3 13 +24184.3 14 +24195.3 14 +24206.2 14 +24217.2 14 +24228.2 14 +24239.1 14 +24250.1 14 +24261.1 14 +24272 14 +24283 14 +24294 14 +24304.9 14 +24315.9 14 +24326.9 14 +24337.8 14 +24348.8 14 +24359.8 14 +24370.7 14 +24381.7 14 +24392.7 14 +24403.6 14 +24414.6 14 +24425.6 14 +24436.5 14 +24447.5 14 +24458.5 14 +24469.5 14 +24480.4 14 +24491.4 14 +24502.4 14 +24513.3 14 +24524.3 14 +24535.3 14 +24546.2 14 +24557.2 14 +24568.2 14 +24579.1 14 +24590.1 14 +24601.1 14 +24612 14 +24623 14 +24634 14 +24644.9 14 +24655.9 14 +24666.9 14 +24677.8 12 +24688.8 10 +24699.8 10 +24710.7 11 +24721.7 12 +24732.7 11 +24743.7 11 +24754.6 11 +24765.6 11 +24776.6 11 +24787.5 11 +24798.5 11 +24809.5 11 +24820.4 11 +24831.4 11 +24842.4 11 +24853.3 11 +24864.3 12 +24875.3 12 +24886.2 12 +24897.2 12 +24908.2 12 +24919.1 12 +24930.1 12 +24941.1 12 +24952 12 +24963 12 +24974 12 +24984.9 12 +24995.9 12 +25006.9 12 +25017.8 12 +25028.8 12 +25039.8 12 +25050.8 12 +25061.7 12 +25072.7 12 +25083.7 12 +25094.6 12 +25105.6 12 +25116.6 12 +25127.5 12 +25138.5 12 +25149.5 12 +25160.4 12 +25171.4 12 +25182.4 12 +25193.3 12 +25204.3 12 +25215.3 12 +25226.2 12 +25237.2 12 +25248.2 12 +25259.1 12 +25270.1 12 +25281.1 12 +25292 12 +25303 12 +25314 12 +25325 12 +25335.9 12 +25346.9 12 +25357.9 12 +25368.8 12 +25379.8 12 +25390.8 12 +25401.7 12 +25412.7 12 +25423.7 12 +25434.6 12 +25445.6 12 +25456.6 12 +25467.5 12 +25478.5 12 +25489.5 12 +25500.4 12 +25511.4 12 +25522.4 12 +25533.3 12 +25544.3 12 +25555.3 12 +25566.2 12 +25577.2 12 +25588.2 12 +25599.1 12 +25610.1 12 +25621.1 13 +25632.1 14 +25643 14 +25654 14 +25665 14 +25675.9 14 +25686.9 15 +25697.9 15 +25708.8 15 +25719.8 15 +25730.8 15 +25741.7 15 +25752.7 16 +25763.7 15 +25774.6 15 +25785.6 15 +25796.6 15 +25807.5 15 +25818.5 15 +25829.5 15 +25840.4 15 +25851.4 15 +25862.4 16 +25873.3 15 +25884.3 15 +25895.3 15 +25906.3 15 +25917.2 15 +25928.2 15 +25939.2 15 +25950.1 15 +25961.1 15 +25972.1 16 +25983 15 +25994 15 +26005 15 +26015.9 15 +26026.9 15 +26037.9 15 +26048.8 15 +26059.8 15 +26070.8 15 +26081.7 15 +26092.7 15 +26103.7 15 +26114.6 15 +26125.6 15 +26136.6 15 +26147.5 15 +26158.5 15 +26169.5 15 +26180.4 16 +26191.4 15 +26202.4 15 +26213.4 15 +26224.3 15 +26235.3 15 +26246.3 15 +26257.2 15 +26268.2 15 +26279.2 15 +26290.1 15 +26301.1 15 +26312.1 15 +26323 15 +26334 15 +26345 15 +26355.9 15 +26366.9 15 +26377.9 15 +26388.8 15 +26399.8 15 +26410.8 15 +26421.7 15 +26432.7 15 +26443.7 15 +26454.6 15 +26465.6 15 +26476.6 15 +26487.6 15 +26498.5 15 +26509.5 15 +26520.5 15 +26531.4 15 +26542.4 15 +26553.4 15 +26564.3 15 +26575.3 15 +26586.3 15 +26597.2 15 +26608.2 15 +26619.2 15 +26630.1 15 +26641.1 15 +26652.1 15 +26663 15 +26674 15 +26685 15 +26695.9 15 +26706.9 16 +26717.9 15 +26728.8 15 +26739.8 15 +26750.8 15 +26761.7 16 +26772.7 16 +26783.7 15 +26794.7 15 +26805.6 15 +26816.6 15 +26827.6 15 +26838.5 16 +26849.5 15 +26860.5 15 +26871.4 15 +26882.4 15 +26893.4 15 +26904.3 16 +26915.3 15 +26926.3 15 +26937.2 16 +26948.2 15 +26959.2 15 +26970.1 15 +26981.1 15 +26992.1 15 +27003 15 +27014 15 +27025 16 +27035.9 16 +27046.9 15 +27057.9 15 +27068.9 15 +27079.8 15 +27090.8 15 +27101.8 15 +27112.7 15 +27123.7 15 +27134.7 15 +27145.6 15 +27156.6 15 +27167.6 15 +27178.5 15 +27189.5 15 +27200.5 15 +27211.4 15 +27222.4 15 +27233.4 15 +27244.3 15 +27255.3 15 +27266.3 15 +27277.2 15 +27288.2 15 +27299.2 15 +27310.1 15 +27321.1 15 +27332.1 15 +27343 15 +27354 15 +27365 15 +27376 15 +27386.9 16 +27397.9 16 +27408.9 16 +27419.8 16 +27430.8 16 +27441.8 16 +27452.7 14 +27463.7 14 +27474.7 15 +27485.6 16 +27496.6 16 +27507.6 16 +27518.5 16 +27529.5 16 +27540.5 16 +27551.4 17 +27562.4 18 +27573.4 18 +27584.3 18 +27595.3 18 +27606.3 18 +27617.2 18 +27628.2 18 +27639.2 18 +27650.2 18 +27661.1 18 +27672.1 18 +27683.1 18 +27694 18 +27705 18 +27716 18 +27726.9 18 +27737.9 18 +27748.9 18 +27759.8 18 +27770.8 18 +27781.8 18 +27792.7 18 +27803.7 18 +27814.7 18 +27825.6 18 +27836.6 18 +27847.6 18 +27858.5 18 +27869.5 18 +27880.5 18 +27891.4 18 +27902.4 18 +27913.4 14 +27924.3 14 +27935.3 14 +27946.3 14 +27957.3 13 +27968.2 13 +27979.2 13 +27990.2 13 +28001.1 13 +28012.1 13 +28023.1 13 +28034 14 +28045 14 +28056 13 +28066.9 14 +28077.9 13 +28088.9 13 +28099.8 13 +28110.8 13 +28121.8 14 +28132.7 14 +28143.7 14 +28154.7 14 +28165.6 14 +28176.6 13 +28187.6 13 +28198.5 14 +28209.5 14 +28220.5 14 +28231.5 13 +28242.4 14 +28253.4 14 +28264.4 14 +28275.3 14 +28286.3 14 +28297.3 14 +28308.2 14 +28319.2 14 +28330.2 14 +28341.1 14 +28352.1 14 +28363.1 14 +28374 14 +28385 14 +28396 14 +28406.9 14 +28417.9 14 +28428.9 14 +28439.8 14 +28450.8 14 +28461.8 14 +28472.7 14 +28483.7 14 +28494.7 14 +28505.7 14 +28516.6 14 +28527.6 14 +28538.6 14 +28549.5 14 +28560.5 14 +28571.5 14 +28582.4 14 +28593.4 14 +28604.4 14 +28615.3 14 +28626.3 14 +28637.3 14 +28648.2 14 +28659.2 14 +28670.2 14 +28681.1 14 +28692.1 14 +28703.1 14 +28714 14 +28725 14 +28736 14 +28746.9 14 +28757.9 14 +28768.9 14 +28779.8 14 +28790.8 15 +28801.8 17 +28812.8 18 +28823.7 17 +28834.7 17 +28845.7 17 +28856.6 17 +28867.6 17 +28878.6 18 +28889.5 17 +28900.5 17 +28911.5 17 +28922.4 17 +28933.4 17 +28944.4 18 +28955.3 17 +28966.3 17 +28977.3 17 +28988.2 17 +28999.2 18 +29010.2 18 +29021.1 17 +29032.1 18 +29043.1 17 +29054 17 +29065 17 +29076 18 +29087 18 +29097.9 17 +29108.9 18 +29119.9 18 +29130.8 17 +29141.8 17 +29152.8 18 +29163.7 17 +29174.7 18 +29185.7 18 +29196.6 18 +29207.6 17 +29218.6 17 +29229.5 18 +29240.5 18 +29251.5 17 +29262.4 17 +29273.4 17 +29284.4 17 +29295.3 18 +29306.3 17 +29317.3 18 +29328.2 17 +29339.2 17 +29350.2 18 +29361.1 17 +29372.1 17 +29383.1 17 +29394.1 17 +29405 17 +29416 17 +29427 18 +29437.9 17 +29448.9 17 +29459.9 18 +29470.8 18 +29481.8 17 +29492.8 18 +29503.7 17 +29514.7 18 +29525.7 16 +29536.6 17 +29547.6 18 +29558.6 17 +29569.5 17 +29580.5 17 +29591.5 17 +29602.4 18 +29613.4 17 +29624.4 17 +29635.3 18 +29646.3 18 +29657.3 17 +29668.3 17 +29679.2 17 +29690.2 18 +29701.2 17 +29712.1 18 +29723.1 17 +29734.1 18 +29745 17 +29756 17 +29767 17 +29777.9 18 +29788.9 17 +29799.9 18 +29810.8 17 +29821.8 18 +29832.8 18 +29843.7 17 +29854.7 17 +29865.7 17 +29876.6 17 +29887.6 16 +29898.6 18 +29909.5 17 +29920.5 17 +29931.5 18 +29942.4 17 +29953.4 17 +29964.4 17 +29975.4 18 +29986.3 18 +29997.3 17 +30008.3 17 +30019.2 17 +30030.2 17 +30041.2 18 +30052.1 17 +30063.1 18 +30074.1 17 +30085 17 +30096 18 +30107 18 +30117.9 17 +30128.9 18 +30139.9 17 +30150.8 18 +30161.8 17 +30172.8 18 +30183.7 17 +30194.7 18 +30205.7 17 +30216.6 17 +30227.6 17 +30238.6 18 +30249.6 17 +30260.5 17 +30271.5 17 +30282.5 18 +30293.4 17 +30304.4 18 +30315.4 18 +30326.3 18 +30337.3 18 +30348.3 17 +30359.2 18 +30370.2 18 +30381.2 17 +30392.1 17 +30403.1 17 +30414.1 17 +30425 17 +30436 18 +30447 17 +30457.9 17 +30468.9 18 +30479.9 17 +30490.8 18 +30501.8 18 +30512.8 17 +30523.7 17 +30534.7 17 +30545.7 17 +30556.7 17 +30567.6 17 +30578.6 17 +30589.6 17 +30600.5 18 +30611.5 17 +30622.5 17 +30633.4 17 +30644.4 17 +30655.4 18 +30666.3 17 +30677.3 17 +30688.3 18 +30699.2 17 +30710.2 17 +30721.2 17 +30732.1 18 +30743.1 17 +30754.1 18 +30765 18 +30776 18 +30787 17 +30797.9 17 +30808.9 17 +30819.9 18 +30830.9 17 +30841.8 18 +30852.8 18 +30863.8 18 +30874.7 17 +30885.7 18 +30896.7 17 +30907.6 18 +30918.6 17 +30929.6 17 +30940.5 17 +30951.5 17 +30962.5 18 +30973.4 18 +30984.4 17 +30995.4 18 +31006.3 17 +31017.3 17 +31028.3 18 +31039.2 17 +31050.2 17 +31061.2 17 +31072.1 17 +31083.1 18 +31094.1 17 +31105 17 +31116 18 +31127 17 +31138 17 +31148.9 17 +31159.9 17 +31170.9 18 +31181.8 17 +31192.8 18 +31203.8 17 +31214.7 18 +31225.7 17 +31236.7 17 +31247.6 17 +31258.6 18 +31269.6 18 +31280.5 18 +31291.5 18 +31302.5 17 +31313.4 17 +31324.4 17 +31335.4 17 +31346.3 17 +31357.3 17 +31368.3 17 +31379.2 18 +31390.2 17 +31401.2 17 +31412.2 17 +31423.1 17 +31434.1 18 +31445.1 17 +31456 17 +31467 18 +31478 17 +31488.9 17 +31499.9 18 +31510.9 17 +31521.8 18 +31532.8 17 +31543.8 18 +31554.7 17 +31565.7 18 +31576.7 17 +31587.6 18 +31598.6 18 +31609.6 18 +31620.5 18 +31631.5 18 +31642.5 17 +31653.4 18 +31664.4 18 +31675.4 17 +31686.3 17 +31697.3 18 +31708.3 17 +31719.3 17 +31730.2 17 +31741.2 17 +31752.2 17 +31763.1 18 +31774.1 18 +31785.1 18 +31796 18 +31807 17 +31818 17 +31828.9 17 +31839.9 17 +31850.9 17 +31861.8 17 +31872.8 17 +31883.8 18 +31894.7 17 +31905.7 17 +31916.7 17 +31927.6 18 +31938.6 18 +31949.6 18 +31960.5 18 +31971.5 18 +31982.5 18 +31993.5 17 +32004.4 16 +32015.4 16 +32026.4 16 +32037.3 16 +32048.3 16 +32059.3 16 +32070.2 16 +32081.2 16 +32092.2 16 +32103.1 16 +32114.1 16 +32125.1 16 +32136 16 +32147 16 +32158 16 +32168.9 16 +32179.9 16 +32190.9 16 +32201.8 16 +32212.8 16 +32223.8 16 +32234.7 16 +32245.7 16 +32256.7 16 +32267.7 16 +32278.6 16 +32289.6 16 +32300.6 16 +32311.5 16 +32322.5 15 +32333.5 16 +32344.4 16 +32355.4 15 +32366.4 16 +32377.3 16 +32388.3 16 +32399.3 15 +32410.2 15 +32421.2 16 +32432.2 15 +32443.1 16 +32454.1 15 +32465.1 15 +32476 15 +32487 15 +32498 16 +32508.9 15 +32519.9 15 +32530.9 15 +32541.8 15 +32552.8 15 +32563.8 16 +32574.8 16 +32585.7 16 +32596.7 16 +32607.7 16 +32618.6 16 +32629.6 16 +32640.6 16 +32651.5 16 +32662.5 16 +32673.5 16 +32684.4 16 +32695.4 14 +32706.4 14 +32717.3 14 +32728.3 14 +32739.3 14 +32750.2 14 +32761.2 14 +32772.2 14 +32783.1 14 +32794.1 14 +32805.1 14 +32816 14 +32827 14 +32838 14 +32849 14 +32859.9 14 +32870.9 14 +32881.9 14 +32892.8 14 +32903.8 13 +32914.8 14 +32925.7 14 +32936.7 14 +32947.7 13 +32958.6 13 +32969.6 13 +32980.6 14 +32991.5 13 +33002.5 13 +33013.5 13 +33024.4 13 +33035.4 14 +33046.4 13 +33057.3 13 +33068.3 14 +33079.3 13 +33090.2 13 +33101.2 13 +33112.2 14 +33123.1 14 +33134.1 13 +33145.1 14 +33156.1 13 +33167 13 +33178 13 +33189 14 +33199.9 13 +33210.9 13 +33221.9 13 +33232.8 13 +33243.8 13 +33254.8 13 +33265.7 13 +33276.7 13 +33287.7 13 +33298.6 14 +33309.6 13 +33320.6 14 +33331.5 14 +33342.5 14 +33353.5 14 +33364.4 13 +33375.4 14 +33386.4 13 +33397.3 14 +33408.3 13 +33419.3 13 +33430.3 13 +33441.2 14 +33452.2 13 +33463.2 14 +33474.1 13 +33485.1 13 +33496.1 14 +33507 14 +33518 14 +33529 14 +33539.9 14 +33550.9 14 +33561.9 14 +33572.8 14 +33583.8 14 +33594.8 14 +33605.7 14 +33616.7 14 +33627.7 14 +33638.6 14 +33649.6 14 +33660.6 14 +33671.5 14 +33682.5 14 +33693.5 14 +33704.4 14 +33715.4 14 +33726.4 14 +33737.4 14 +33748.3 14 +33759.3 14 +33770.3 14 +33781.2 14 +33792.2 14 +33803.2 14 +33814.1 14 +33825.1 14 +33836.1 14 +33847 14 +33858 14 +33869 14 +33879.9 14 +33890.9 14 +33901.9 13 +33912.8 12 +33923.8 12 +33934.8 12 +33945.7 12 +33956.7 12 +33967.7 12 +33978.6 12 +33989.6 12 +34000.6 12 +34011.6 12 +34022.5 12 +34033.5 12 +34044.5 12 +34055.4 12 +34066.4 12 +34077.4 12 +34088.3 12 +34099.3 12 +34110.3 12 +34121.2 12 +34132.2 12 +34143.2 12 +34154.1 12 +34165.1 12 +34176.1 12 +34187 12 +34198 12 +34209 12 +34219.9 12 +34230.9 12 +34241.9 12 +34252.8 12 +34263.8 12 +34274.8 12 +34285.7 12 +34296.7 12 +34307.7 12 +34318.7 12 +34329.6 12 +34340.6 12 +34351.6 12 +34362.5 12 +34373.5 12 +34384.5 12 +34395.4 12 +34406.4 12 +34417.4 12 +34428.3 12 +34439.3 12 +34450.3 12 +34461.2 12 +34472.2 12 +34483.2 12 +34494.1 12 +34505.1 12 +34516.1 12 +34527 12 +34538 12 +34549 12 +34559.9 12 +34570.9 12 +34581.9 12 +34592.9 12 +34603.8 12 +34614.8 12 +34625.8 12 +34636.7 12 +34647.7 12 +34658.7 12 +34669.6 11 +34680.6 10 +34691.6 10 +34702.5 10 +34713.5 10 +34724.5 9 +34735.4 8 +34746.4 8 +34757.4 8 +34768.3 8 +34779.3 8 +34790.3 8 +34801.2 8 +34812.2 8 +34823.2 8 +34834.1 8 +34845.1 8 +34856.1 8 +34867 8 +34878 8 +34889 8 +34900 8 +34910.9 8 +34921.9 8 +34932.9 8 +34943.8 8 +34954.8 8 +34965.8 8 +34976.7 8 +34987.7 8 +34998.7 7 +35009.6 6 +35020.6 6 +35031.6 6 +35042.5 6 +35053.5 6 +35064.5 5 +35075.4 4 +35086.4 4 +35097.4 4 +35108.3 4 +35119.3 4 +35130.3 4 +35141.2 4 +35152.2 4 +35163.2 4 +35174.2 4 +35185.1 4 +35196.1 4 +35207.1 4 +35218 4 +35229 4 +35240 4 +35250.9 4 +35261.9 4 +35272.9 4 +35283.8 4 +35294.8 4 +35305.8 4 +35316.7 4 +35327.7 4 +35338.7 4 +35349.6 4 +35360.6 4 +35371.6 4 +35382.5 4 +35393.5 4 +35404.5 4 +35415.4 4 +35426.4 4 +35437.4 4 +35448.3 4 +35459.3 4 +35470.3 4 +35481.3 4 +35492.2 4 +35503.2 4 +35514.2 4 +35525.1 4 +35536.1 4 +35547.1 4 +35558 4 +35569 4 +35580 4 +35590.9 4 +35601.9 4 +35612.9 4 +35623.8 4 +35634.8 4 +35645.8 4 +35656.7 4 +35667.7 4 +35678.7 4 +35689.6 4 +35700.6 4 +35711.6 4 +35722.5 4 +35733.5 4 +35744.5 4 +35755.5 4 +35766.4 4 +35777.4 4 +35788.4 4 +35799.3 4 +35810.3 4 +35821.3 4 +35832.2 4 +35843.2 4 +35854.2 4 +35865.1 4 +35876.1 4 +35887.1 4 +35898 4 +35909 4 +35920 4 +35930.9 4 +35941.9 4 +35952.9 4 +35963.8 4 +35974.8 4 +35985.8 4 +35996.7 4 +36007.7 4 +36018.7 4 +36029.7 4 +36040.6 4 +36051.6 4 +36062.6 4 +36073.5 4 +36084.5 4 +36095.5 4 +36106.4 3 +36117.4 1 +36128.4 1 +36139.3 7 +36150.3 11 +36161.3 13 +36172.2 20 +36183.2 23 +36194.2 23 +36205.1 23 +36216.1 24 +36227.1 23 +36238 24 +36249 23 +36260 23 +36270.9 23 +36281.9 23 +36292.9 23 +36303.8 25 +36314.8 25 +36325.8 25 +36336.8 25 +36347.7 25 +36358.7 25 +36369.7 26 +36380.6 26 +36391.6 25 +36402.6 26 +36413.5 25 +36424.5 25 +36435.5 26 +36446.4 26 +36457.4 25 +36468.4 26 +36479.3 25 +36490.3 26 +36501.3 26 +36512.2 25 +36523.2 25 +36534.2 25 +36545.1 25 +36556.1 25 +36567.1 26 +36578 25 +36589 25 +36600 25 +36611 25 +36621.9 25 +36632.9 25 +36643.9 25 +36654.8 25 +36665.8 26 +36676.8 26 +36687.7 25 +36698.7 25 +36709.7 25 +36720.6 25 +36731.6 25 +36742.6 25 +36753.5 25 +36764.5 25 +36775.5 25 +36786.4 26 +36797.4 26 +36808.4 25 +36819.3 25 +36830.3 25 +36841.3 25 +36852.2 25 +36863.2 25 +36874.2 25 +36885.1 25 +36896.1 25 +36907.1 25 +36918.1 25 +36929 25 +36940 26 +36951 25 +36961.9 25 +36972.9 25 +36983.9 26 +36994.8 25 +37005.8 25 +37016.8 26 +37027.7 25 +37038.7 25 +37049.7 26 +37060.6 26 +37071.6 26 +37082.6 25 +37093.5 26 +37104.5 25 +37115.5 25 +37126.4 25 +37137.4 26 +37148.4 26 +37159.3 25 +37170.3 25 +37181.3 26 +37192.3 26 +37203.2 26 +37214.2 25 +37225.2 25 +37236.1 26 +37247.1 25 +37258.1 25 +37269 25 +37280 26 +37291 25 +37301.9 25 +37312.9 25 +37323.9 26 +37334.8 26 +37345.8 26 +37356.8 26 +37367.7 25 +37378.7 26 +37389.7 26 +37400.6 25 +37411.6 26 +37422.6 25 +37433.5 25 +37444.5 26 +37455.5 25 +37466.4 26 +37477.4 25 +37488.4 26 +37499.4 26 +37510.3 25 +37521.3 26 +37532.3 25 +37543.2 25 +37554.2 25 +37565.2 25 +37576.1 26 +37587.1 26 +37598.1 25 +37609 26 +37620 25 +37631 26 +37641.9 26 +37652.9 25 +37663.9 25 +37674.8 26 +37685.8 25 +37696.8 25 +37707.7 25 +37718.7 25 +37729.7 25 +37740.6 26 +37751.6 25 +37762.6 26 +37773.6 26 +37784.5 26 +37795.5 25 +37806.5 25 +37817.4 26 +37828.4 25 +37839.4 25 +37850.3 26 +37861.3 25 +37872.3 25 +37883.2 25 +37894.2 25 +37905.2 25 +37916.1 26 +37927.1 25 +37938.1 25 +37949 25 +37960 26 +37971 25 +37981.9 26 +37992.9 26 +38003.9 26 +38014.8 26 +38025.8 25 +38036.8 26 +38047.7 25 +38058.7 25 +38069.7 25 +38080.7 26 +38091.6 25 +38102.6 25 +38113.6 26 +38124.5 26 +38135.5 25 +38146.5 25 +38157.4 26 +38168.4 25 +38179.4 26 +38190.3 25 +38201.3 25 +38212.3 26 +38223.2 26 +38234.2 25 +38245.2 26 +38256.1 26 +38267.1 25 +38278.1 26 +38289 25 +38300 25 +38311 26 +38321.9 25 +38332.9 26 +38343.9 25 +38354.9 26 +38365.8 26 +38376.8 26 +38387.8 25 +38398.7 25 +38409.7 26 +38420.7 26 +38431.6 26 +38442.6 26 +38453.6 26 +38464.5 25 +38475.5 26 +38486.5 25 +38497.4 25 +38508.4 25 +38519.4 25 +38530.3 26 +38541.3 25 +38552.3 26 +38563.2 25 +38574.2 25 +38585.2 26 +38596.1 25 +38607.1 25 +38618.1 26 +38629 26 +38640 26 +38651 25 +38662 25 +38672.9 25 +38683.9 25 +38694.9 25 +38705.8 26 +38716.8 25 +38727.8 26 +38738.7 26 +38749.7 25 +38760.7 26 +38771.6 26 +38782.6 25 +38793.6 26 +38804.5 25 +38815.5 25 +38826.5 25 +38837.4 25 +38848.4 26 +38859.4 25 +38870.3 25 +38881.3 24 +38892.3 25 +38903.2 26 +38914.2 26 +38925.2 25 +38936.2 26 +38947.1 25 +38958.1 25 +38969.1 25 +38980 26 +38991 26 +39002 25 +39012.9 25 +39023.9 25 +39034.9 25 +39045.8 25 +39056.8 25 +39067.8 25 +39078.7 25 +39089.7 25 +39100.7 25 +39111.6 25 +39122.6 25 +39133.6 25 +39144.5 26 +39155.5 26 +39166.5 25 +39177.4 26 +39188.4 25 +39199.4 25 +39210.3 25 +39221.3 26 +39232.3 25 +39243.3 25 +39254.2 25 +39265.2 25 +39276.2 25 +39287.1 26 +39298.1 26 +39309.1 25 +39320 26 +39331 26 +39342 26 +39352.9 26 +39363.9 25 +39374.9 25 +39385.8 25 +39396.8 26 +39407.8 26 +39418.7 26 +39429.7 25 +39440.7 25 +39451.6 25 +39462.6 25 +39473.6 25 +39484.5 25 +39495.5 25 +39506.5 26 +39517.5 25 +39528.4 26 +39539.4 25 +39550.4 25 +39561.3 25 +39572.3 26 +39583.3 25 +39594.2 25 +39605.2 26 +39616.2 25 +39627.1 25 +39638.1 25 +39649.1 25 +39660 26 +39671 25 +39682 26 +39692.9 25 +39703.9 25 +39714.9 25 +39725.8 26 +39736.8 26 +39747.8 25 +39758.7 25 +39769.7 25 +39780.7 26 +39791.7 26 +39802.6 25 +39813.6 24 +39824.6 25 +39835.5 26 +39846.5 26 +39857.5 25 +39868.4 26 +39879.4 26 +39890.4 26 +39901.3 25 +39912.3 26 +39923.3 25 +39934.2 25 +39945.2 25 +39956.2 26 +39967.1 25 +39978.1 25 +39989.1 25 +40000 24 +40011 26 +40022 25 +40032.9 26 +40043.9 25 +40054.9 25 +40065.8 25 +40076.8 26 +40087.8 26 +40098.8 25 +40109.7 25 +40120.7 25 +40131.7 26 +40142.6 25 +40153.6 25 +40164.6 26 +40175.5 26 +40186.5 25 +40197.5 26 +40208.4 26 +40219.4 25 +40230.4 26 +40241.3 26 +40252.3 26 +40263.3 25 +40274.2 25 +40285.2 26 +40296.2 26 +40307.1 25 +40318.1 26 +40329.1 26 +40340 25 +40351 26 +40362 26 +40373 26 +40383.9 25 +40394.9 25 +40405.9 25 +40416.8 25 +40427.8 26 +40438.8 25 +40449.7 25 +40460.7 25 +40471.7 26 +40482.6 25 +40493.6 26 +40504.6 26 +40515.5 26 +40526.5 25 +40537.5 26 +40548.4 26 +40559.4 25 +40570.4 25 +40581.3 25 +40592.3 25 +40603.3 25 +40614.2 25 +40625.2 25 +40636.2 25 +40647.1 25 +40658.1 26 +40669.1 24 +40680.1 25 +40691 25 +40702 25 +40713 25 +40723.9 25 +40734.9 26 +40745.9 25 +40756.8 25 +40767.8 26 +40778.8 25 +40789.7 25 +40800.7 26 +40811.7 25 +40822.6 25 +40833.6 25 +40844.6 25 +40855.5 25 +40866.5 25 +40877.5 25 +40888.4 26 +40899.4 25 +40910.4 25 +40921.3 25 +40932.3 25 +40943.3 25 +40954.3 24 +40965.2 26 +40976.2 25 +40987.2 25 +40998.1 25 +41009.1 25 +41020.1 25 +41031 25 +41042 26 +41053 26 +41063.9 26 +41074.9 26 +41085.9 26 +41096.8 25 +41107.8 25 +41118.8 26 +41129.7 26 +41140.7 25 +41151.7 26 +41162.6 25 +41173.6 25 +41184.6 26 +41195.5 25 +41206.5 25 +41217.5 26 +41228.4 25 +41239.4 26 +41250.4 26 +41261.4 25 +41272.3 26 +41283.3 25 +41294.3 25 +41305.2 25 +41316.2 26 +41327.2 25 +41338.1 25 +41349.1 25 +41360.1 25 +41371 25 +41382 26 +41393 25 +41403.9 25 +41414.9 26 +41425.9 25 +41436.8 25 +41447.8 26 +41458.8 25 +41469.7 25 +41480.7 26 +41491.7 26 +41502.6 25 +41513.6 25 +41524.6 25 +41535.6 25 +41546.5 26 +41557.5 26 +41568.5 25 +41579.4 25 +41590.4 25 +41601.4 26 +41612.3 25 +41623.3 25 +41634.3 26 +41645.2 25 +41656.2 26 +41667.2 26 +41678.1 25 +41689.1 26 +41700.1 26 +41711 26 +41722 25 +41733 25 +41743.9 25 +41754.9 26 +41765.9 26 +41776.8 25 +41787.8 26 +41798.8 25 +41809.7 26 +41820.7 25 +41831.7 25 +41842.7 26 +41853.6 25 +41864.6 25 +41875.6 26 +41886.5 25 +41897.5 26 +41908.5 26 +41919.4 25 +41930.4 26 +41941.4 25 +41952.3 26 +41963.3 25 +41974.3 26 +41985.2 25 +41996.2 25 +42007.2 25 +42018.1 25 +42029.1 26 +42040.1 25 +42051 26 +42062 25 +42073 25 +42083.9 26 +42094.9 25 +42105.9 26 +42116.9 26 +42127.8 25 +42138.8 26 +42149.8 25 +42160.7 25 +42171.7 25 +42182.7 26 +42193.6 25 +42204.6 25 +42215.6 26 +42226.5 25 +42237.5 26 +42248.5 26 +42259.4 25 +42270.4 25 +42281.4 25 +42292.3 25 +42303.3 24 +42314.3 25 +42325.2 25 +42336.2 26 +42347.2 25 +42358.1 25 +42369.1 26 +42380.1 25 +42391 25 +42402 26 +42413 25 +42424 26 +42434.9 25 +42445.9 26 +42456.9 25 +42467.8 26 +42478.8 26 +42489.8 26 +42500.7 26 +42511.7 25 +42522.7 26 +42533.6 25 +42544.6 26 +42555.6 25 +42566.5 26 +42577.5 25 +42588.5 25 +42599.4 26 +42610.4 25 +42621.4 26 +42632.3 25 +42643.3 25 +42654.3 25 +42665.2 26 +42676.2 25 +42687.2 26 +42698.2 25 +42709.1 26 +42720.1 26 +42731.1 26 +42742 26 +42753 25 +42764 25 +42774.9 26 +42785.9 25 +42796.9 26 +42807.8 25 +42818.8 26 +42829.8 25 +42840.7 26 +42851.7 25 +42862.7 26 +42873.6 25 +42884.6 26 +42895.6 25 +42906.5 25 +42917.5 26 +42928.5 26 +42939.4 25 +42950.4 26 +42961.4 26 +42972.3 25 +42983.3 25 +42994.3 26 +43005.3 26 +43016.2 25 +43027.2 25 +43038.2 26 +43049.1 25 +43060.1 25 +43071.1 25 +43082 26 +43093 26 +43104 25 +43114.9 25 +43125.9 26 +43136.9 25 +43147.8 26 +43158.8 25 +43169.8 26 +43180.7 26 +43191.7 26 +43202.7 25 +43213.6 25 +43224.6 25 +43235.6 26 +43246.5 26 +43257.5 25 +43268.5 25 +43279.5 25 +43290.4 26 +43301.4 26 +43312.4 25 +43323.3 26 +43334.3 26 +43345.3 26 +43356.2 25 +43367.2 25 +43378.2 25 +43389.1 26 +43400.1 25 +43411.1 26 +43422 25 +43433 25 +43444 25 +43454.9 25 +43465.9 25 +43476.9 26 +43487.8 25 +43498.8 25 +43509.8 25 +43520.7 25 +43531.7 26 +43542.7 25 +43553.7 26 +43564.6 25 +43575.6 24 +43586.6 25 +43597.5 26 +43608.5 25 +43619.5 26 +43630.4 26 +43641.4 25 +43652.4 26 +43663.3 26 +43674.3 25 +43685.3 25 +43696.2 25 +43707.2 26 +43718.2 26 +43729.1 25 +43740.1 25 +43751.1 25 +43762 26 +43773 25 +43784 25 +43794.9 26 +43805.9 26 +43816.9 25 +43827.8 25 +43838.8 25 +43849.8 25 +43860.8 25 +43871.7 26 +43882.7 25 +43893.7 26 +43904.6 25 +43915.6 26 +43926.6 25 +43937.5 26 +43948.5 25 +43959.5 25 +43970.4 25 +43981.4 26 +43992.4 25 +44003.3 26 +44014.3 25 +44025.3 25 +44036.2 25 +44047.2 25 +44058.2 25 +44069.1 26 +44080.1 25 +44091.1 25 +44102 25 +44113 25 +44124 25 +44135 25 +44145.9 25 +44156.9 25 +44167.9 26 +44178.8 25 +44189.8 25 +44200.8 25 +44211.7 25 +44222.7 25 +44233.7 26 +44244.6 25 +44255.6 26 +44266.6 26 +44277.5 26 +44288.5 25 +44299.5 26 +44310.4 26 +44321.4 25 +44332.4 25 +44343.3 25 +44354.3 25 +44365.3 26 +44376.2 25 +44387.2 26 +44398.2 26 +44409.1 25 +44420.1 25 +44431.1 25 +44442.1 25 +44453 25 +44464 26 +44475 25 +44485.9 25 +44496.9 26 +44507.9 26 +44518.8 25 +44529.8 26 +44540.8 25 +44551.7 26 +44562.7 26 +44573.7 25 +44584.6 25 +44595.6 25 +44606.6 25 +44617.5 25 +44628.5 25 +44639.5 25 +44650.4 25 +44661.4 25 +44672.4 26 +44683.3 26 +44694.3 25 +44705.3 26 +44716.3 26 +44727.2 26 +44738.2 25 +44749.2 26 +44760.1 25 +44771.1 25 +44782.1 26 +44793 25 +44804 26 +44815 26 +44825.9 25 +44836.9 26 +44847.9 25 +44858.8 26 +44869.8 25 +44880.8 25 +44891.7 26 +44902.7 26 +44913.7 25 +44924.6 26 +44935.6 25 +44946.6 25 +44957.5 25 +44968.5 25 +44979.5 25 +44990.4 25 +45001.4 26 +45012.4 25 +45023.4 26 +45034.3 25 +45045.3 25 +45056.3 25 +45067.2 25 +45078.2 26 +45089.2 25 +45100.1 26 +45111.1 25 +45122.1 26 +45133 25 +45144 26 +45155 26 +45165.9 25 +45176.9 25 +45187.9 26 +45198.8 25 +45209.8 26 +45220.8 25 +45231.7 25 +45242.7 26 +45253.7 25 +45264.6 25 +45275.6 26 +45286.6 25 +45297.6 25 +45308.5 25 +45319.5 26 +45330.5 26 +45341.4 26 +45352.4 25 +45363.4 26 +45374.3 26 +45385.3 25 +45396.3 25 +45407.2 26 +45418.2 25 +45429.2 25 +45440.1 25 +45451.1 25 +45462.1 25 +45473 25 +45484 25 +45495 25 +45505.9 26 +45516.9 25 +45527.9 25 +45538.8 25 +45549.8 25 +45560.8 25 +45571.7 26 +45582.7 26 +45593.7 25 +45604.7 25 +45615.6 25 +45626.6 25 +45637.6 25 +45648.5 25 +45659.5 26 +45670.5 25 +45681.4 25 +45692.4 25 +45703.4 25 +45714.3 26 +45725.3 25 +45736.3 25 +45747.2 25 +45758.2 26 +45769.2 25 +45780.1 25 +45791.1 25 +45802.1 25 +45813 25 +45824 26 +45835 25 +45845.9 25 +45856.9 26 +45867.9 25 +45878.9 25 +45889.8 25 +45900.8 25 +45911.8 25 +45922.7 26 +45933.7 25 +45944.7 25 +45955.6 25 +45966.6 25 +45977.6 26 +45988.5 25 +45999.5 26 +46010.5 26 +46021.4 27 +46032.4 27 +46043.4 27 +46054.3 27 +46065.3 27 +46076.3 28 +46087.2 28 +46098.2 27 +46109.2 28 +46120.1 28 +46131.1 27 +46142.1 27 +46153 27 +46164 27 +46175 29 +46186 29 +46196.9 29 +46207.9 29 +46218.9 29 +46229.8 29 +46240.8 29 +46251.8 30 +46262.7 30 +46273.7 29 +46284.7 29 +46295.6 29 +46306.6 29 +46317.6 29 +46328.5 29 +46339.5 29 +46350.5 29 +46361.4 30 +46372.4 29 +46383.4 29 +46394.3 29 +46405.3 29 +46416.3 29 +46427.2 29 +46438.2 29 +46449.2 30 +46460.2 29 +46471.1 28 +46482.1 29 +46493.1 29 +46504 29 +46515 29 +46526 29 +46536.9 29 +46547.9 29 +46558.9 30 +46569.8 30 +46580.8 28 +46591.8 30 +46602.7 29 +46613.7 30 +46624.7 29 +46635.6 29 +46646.6 29 +46657.6 30 +46668.5 30 +46679.5 30 +46690.5 29 +46701.4 29 +46712.4 30 +46723.4 29 +46734.3 29 +46745.3 30 +46756.3 29 +46767.3 30 +46778.2 30 +46789.2 29 +46800.2 29 +46811.1 29 +46822.1 30 +46833.1 30 +46844 29 +46855 30 +46866 29 +46876.9 29 +46887.9 29 +46898.9 30 +46909.8 30 +46920.8 30 +46931.8 29 +46942.7 30 +46953.7 30 +46964.7 29 +46975.6 29 +46986.6 29 +46997.6 30 +47008.5 29 +47019.5 29 +47030.5 30 +47041.5 30 +47052.4 28 +47063.4 30 +47074.4 30 +47085.3 29 +47096.3 30 +47107.3 29 +47118.2 30 +47129.2 30 +47140.2 30 +47151.1 29 +47162.1 30 +47173.1 29 +47184 30 +47195 29 +47206 30 +47216.9 29 +47227.9 29 +47238.9 29 +47249.8 29 +47260.8 30 +47271.8 29 +47282.7 30 +47293.7 30 +47304.7 30 +47315.7 30 +47326.6 30 +47337.6 30 +47348.6 29 +47359.5 29 +47370.5 30 +47381.5 29 +47392.4 29 +47403.4 29 +47414.4 30 +47425.3 29 +47436.3 29 +47447.3 30 +47458.2 30 +47469.2 30 +47480.2 30 +47491.1 29 +47502.1 29 +47513.1 29 +47524 29 +47535 29 +47546 29 +47556.9 29 +47567.9 30 +47578.9 30 +47589.8 29 +47600.8 29 +47611.8 30 +47622.8 29 +47633.7 29 +47644.7 29 +47655.7 30 +47666.6 29 +47677.6 30 +47688.6 30 +47699.5 29 +47710.5 30 +47721.5 30 +47732.4 29 +47743.4 29 +47754.4 30 +47765.3 30 +47776.3 29 +47787.3 30 +47798.2 30 +47809.2 30 +47820.2 29 +47831.1 30 +47842.1 29 +47853.1 29 +47864 29 +47875 29 +47886 29 +47897 30 +47907.9 29 +47918.9 29 +47929.9 30 +47940.8 29 +47951.8 30 +47962.8 29 +47973.7 29 +47984.7 30 +47995.7 29 +48006.6 29 +48017.6 30 +48028.6 29 +48039.5 29 +48050.5 30 +48061.5 29 +48072.4 29 +48083.4 30 +48094.4 29 +48105.3 29 +48116.3 30 +48127.3 29 +48138.2 30 +48149.2 30 +48160.2 29 +48171.1 29 +48182.1 29 +48193.1 30 +48204.1 29 +48215 29 +48226 29 +48237 29 +48247.9 29 +48258.9 29 +48269.9 30 +48280.8 30 +48291.8 29 +48302.8 30 +48313.7 30 +48324.7 29 +48335.7 29 +48346.6 30 +48357.6 29 +48368.6 29 +48379.5 30 +48390.5 29 +48401.5 29 +48412.4 30 +48423.4 29 +48434.4 29 +48445.3 29 +48456.3 30 +48467.3 30 +48478.3 29 +48489.2 30 +48500.2 29 +48511.2 30 +48522.1 30 +48533.1 29 +48544.1 28 +48555 29 +48566 30 +48577 30 +48587.9 30 +48598.9 30 +48609.9 30 +48620.8 30 +48631.8 30 +48642.8 29 +48653.7 30 +48664.7 30 +48675.7 29 +48686.6 29 +48697.6 29 +48708.6 29 +48719.5 29 +48730.5 29 +48741.5 29 +48752.4 30 +48763.4 30 +48774.4 31 +48785.4 35 +48796.3 35 +48807.3 35 +48818.3 35 +48829.2 35 +48840.2 35 +48851.2 36 +48862.1 35 +48873.1 34 +48884.1 36 +48895 36 +48906 36 +48917 36 +48927.9 36 +48938.9 36 +48949.9 35 +48960.8 36 +48971.8 36 +48982.8 35 +48993.7 35 +49004.7 36 +49015.7 35 +49026.6 36 +49037.6 36 +49048.6 36 +49059.6 36 +49070.5 36 +49081.5 34 +49092.5 35 +49103.4 35 +49114.4 34 +49125.4 36 +49136.3 36 +49147.3 35 +49158.3 36 +49169.2 35 +49180.2 36 +49191.2 36 +49202.1 35 +49213.1 35 +49224.1 36 +49235 35 +49246 35 +49257 35 +49267.9 36 +49278.9 35 +49289.9 36 +49300.8 35 +49311.8 36 +49322.8 36 +49333.7 36 +49344.7 35 +49355.7 35 +49366.7 36 +49377.6 35 +49388.6 35 +49399.6 35 +49410.5 36 +49421.5 35 +49432.5 35 +49443.4 35 +49454.4 36 +49465.4 35 +49476.3 36 +49487.3 35 +49498.3 36 +49509.2 35 +49520.2 35 +49531.2 35 +49542.1 36 +49553.1 35 +49564.1 36 +49575 36 +49586 35 +49597 36 +49607.9 36 +49618.9 36 +49629.9 36 +49640.9 35 +49651.8 36 +49662.8 35 +49673.8 36 +49684.7 36 +49695.7 35 +49706.7 35 +49717.6 36 +49728.6 35 +49739.6 33 +49750.5 35 +49761.5 36 +49772.5 34 +49783.4 35 +49794.4 35 +49805.4 35 +49816.3 35 +49827.3 36 +49838.3 36 +49849.2 36 +49860.2 35 +49871.2 35 +49882.1 36 +49893.1 36 +49904.1 35 +49915 35 +49926 30 +49937 34 +49948 32 +49958.9 35 +49969.9 36 +49980.9 31 +49991.8 35 +50002.8 31 +50013.8 32 +50024.7 35 +50035.7 36 +50046.7 36 +50057.6 35 +50068.6 36 +50079.6 35 +50090.5 36 +50101.5 35 +50112.5 35 +50123.4 36 +50134.4 35 +50145.4 36 +50156.3 35 +50167.3 35 +50178.3 35 +50189.2 34 +50200.2 35 +50211.2 36 +50222.2 32 +50233.1 35 +50244.1 36 +50255.1 36 +50266 35 +50277 36 +50288 36 +50298.9 35 +50309.9 36 +50320.9 35 +50331.8 36 +50342.8 35 +50353.8 36 +50364.7 36 +50375.7 35 +50386.7 35 +50397.6 37 +50408.6 38 +50419.6 38 +50430.5 37 +50441.5 37 +50452.5 38 +50463.4 37 +50474.4 37 +50485.4 37 +50496.3 37 +50507.3 38 +50518.3 37 +50529.3 37 +50540.2 37 +50551.2 38 +50562.2 38 +50573.1 40 +50584.1 39 +50595.1 35 +50606 34 +50617 29 +50628 33 +50638.9 39 +50649.9 39 +50660.9 39 +50671.8 38 +50682.8 40 +50693.8 39 +50704.7 39 +50715.7 39 +50726.7 39 +50737.6 39 +50748.6 40 +50759.6 39 +50770.5 39 +50781.5 39 +50792.5 39 +50803.5 40 +50814.4 40 +50825.4 39 +50836.4 40 +50847.3 40 +50858.3 40 +50869.3 39 +50880.2 39 +50891.2 40 +50902.2 40 +50913.1 40 +50924.1 37 +50935.1 40 +50946 39 +50957 39 +50968 40 +50978.9 40 +50989.9 39 +51000.9 39 +51011.8 39 +51022.8 39 +51033.8 40 +51044.7 39 +51055.7 39 +51066.7 39 +51077.7 39 +51088.6 40 +51099.6 40 +51110.6 37 +51121.5 38 +51132.5 40 +51143.5 38 +51154.4 31 +51165.4 37 +51176.4 40 +51187.3 40 +51198.3 39 +51209.3 40 +51220.2 37 +51231.2 40 +51242.2 39 +51253.1 40 +51264.1 40 +51275.1 39 +51286 39 +51297 39 +51308 40 +51318.9 40 +51329.9 39 +51340.9 39 +51351.8 39 +51362.8 39 +51373.8 39 +51384.8 39 +51395.7 40 +51406.7 39 +51417.7 40 +51428.6 40 +51439.6 40 +51450.6 40 +51461.5 39 +51472.5 38 +51483.5 37 +51494.4 37 +51505.4 39 +51516.4 39 +51527.3 40 +51538.3 40 +51549.3 40 +51560.2 40 +51571.2 40 +51582.2 39 +51593.1 40 +51604.1 40 +51615.1 40 +51626 39 +51637 40 +51648 40 +51659 39 +51669.9 40 +51680.9 38 +51691.9 39 +51702.8 40 +51713.8 40 +51724.8 40 +51735.7 39 +51746.7 39 +51757.7 40 +51768.6 40 +51779.6 39 +51790.6 40 +51801.5 40 +51812.5 39 +51823.5 35 +51834.4 40 +51845.4 39 +51856.4 39 +51867.3 40 +51878.3 39 +51889.3 39 +51900.2 40 +51911.2 39 +51922.2 39 +51933.1 40 +51944.1 39 +51955.1 39 +51966.1 40 +51977 39 +51988 40 +51999 40 +52009.9 40 +52020.9 40 +52031.9 39 +52042.8 38 +52053.8 39 +52064.8 39 +52075.7 40 +52086.7 40 +52097.7 39 +52108.6 40 +52119.6 39 +52130.6 40 +52141.5 40 +52152.5 40 +52163.5 39 +52174.4 39 +52185.4 39 +52196.4 40 +52207.3 39 +52218.3 40 +52229.3 39 +52240.3 40 +52251.2 39 +52262.2 40 +52273.2 40 +52284.1 39 +52295.1 40 +52306.1 40 +52317 39 +52328 39 +52339 39 +52349.9 40 +52360.9 39 +52371.9 40 +52382.8 35 +52393.8 36 +52404.8 38 +52415.7 39 +52426.7 39 +52437.7 40 +52448.6 40 +52459.6 40 +52470.6 35 +52481.5 39 +52492.5 40 +52503.5 39 +52514.4 40 +52525.4 39 +52536.4 39 +52547.4 40 +52558.3 40 +52569.3 39 +52580.3 39 +52591.2 40 +52602.2 39 +52613.2 34 +52624.1 39 +52635.1 40 +52646.1 39 +52657 39 +52668 39 +52679 40 +52689.9 39 +52700.9 39 +52711.9 39 +52722.8 39 +52733.8 40 +52744.8 39 +52755.7 39 +52766.7 40 +52777.7 40 +52788.6 39 +52799.6 40 +52810.6 39 +52821.6 40 +52832.5 40 +52843.5 39 +52854.5 40 +52865.4 40 +52876.4 40 +52887.4 40 +52898.3 39 +52909.3 33 +52920.3 30 +52931.2 28 +52942.2 39 +52953.2 40 +52964.1 39 +52975.1 40 +52986.1 39 +52997 40 +53008 38 +53019 38 +53029.9 39 +53040.9 40 +53051.9 40 +53062.8 40 +53073.8 39 +53084.8 39 +53095.7 40 +53106.7 39 +53117.7 39 +53128.7 39 +53139.6 39 +53150.6 39 +53161.6 39 +53172.5 39 +53183.5 40 +53194.5 40 +53205.4 40 +53216.4 39 +53227.4 39 +53238.3 33 +53249.3 40 +53260.3 40 +53271.2 40 +53282.2 39 +53293.2 39 +53304.1 39 +53315.1 40 +53326.1 40 +53337 39 +53348 39 +53359 33 +53369.9 39 +53380.9 39 +53391.9 40 +53402.9 39 +53413.8 40 +53424.8 40 +53435.8 40 +53446.7 40 +53457.7 39 +53468.7 39 +53479.6 40 +53490.6 39 +53501.6 40 +53512.5 38 +53523.5 40 +53534.5 40 +53545.4 40 +53556.4 39 +53567.4 39 +53578.3 40 +53589.3 39 +53600.3 39 +53611.2 39 +53622.2 40 +53633.2 37 +53644.1 39 +53655.1 38 +53666.1 39 +53677 40 +53688 33 +53699 40 +53710 39 +53720.9 40 +53731.9 39 +53742.9 39 +53753.8 39 +53764.8 38 +53775.8 40 +53786.7 39 +53797.7 39 +53808.7 40 +53819.6 39 +53830.6 33 +53841.6 39 +53852.5 39 +53863.5 39 +53874.5 39 +53885.4 40 +53896.4 40 +53907.4 39 +53918.3 40 +53929.3 40 +53940.3 40 +53951.2 38 +53962.2 38 +53973.2 39 +53984.2 40 +53995.1 39 +54006.1 39 +54017.1 40 +54028 39 +54039 39 +54050 39 +54060.9 37 +54071.9 40 +54082.9 40 +54093.8 39 +54104.8 40 +54115.8 39 +54126.7 40 +54137.7 40 +54148.7 40 +54159.6 38 +54170.6 39 +54181.6 39 +54192.5 40 +54203.5 40 +54214.5 39 +54225.4 39 +54236.4 40 +54247.4 39 +54258.3 40 +54269.3 39 +54280.3 39 +54291.3 39 +54302.2 40 +54313.2 39 +54324.2 39 +54335.1 39 +54346.1 39 +54357.1 39 +54368 32 +54379 39 +54390 40 +54400.9 40 +54411.9 38 +54422.9 39 +54433.8 36 +54444.8 40 +54455.8 40 +54466.7 39 +54477.7 40 +54488.7 40 +54499.6 39 +54510.6 39 +54521.6 40 +54532.5 40 +54543.5 40 +54554.5 39 +54565.5 36 +54576.4 26 +54587.4 40 +54598.4 40 +54609.3 40 +54620.3 40 +54631.3 40 +54642.2 39 +54653.2 39 +54664.2 40 +54675.1 38 +54686.1 39 +54697.1 39 +54708 38 +54719 40 +54730 39 +54740.9 39 +54751.9 39 +54762.9 39 +54773.8 39 +54784.8 39 +54795.8 39 +54806.7 39 +54817.7 40 +54828.7 39 +54839.7 39 +54850.6 40 +54861.6 40 +54872.6 39 +54883.5 40 +54894.5 40 +54905.5 40 +54916.4 39 +54927.4 39 +54938.4 40 +54949.3 40 +54960.3 40 +54971.3 39 +54982.2 40 +54993.2 40 +55004.2 40 +55015.1 39 +55026.1 39 +55037.1 40 +55048 40 +55059 39 +55070 39 +55080.9 40 +55091.9 39 +55102.9 39 +55113.8 38 +55124.8 38 +55135.8 38 +55146.8 38 +55157.7 39 +55168.7 40 +55179.7 39 +55190.6 39 +55201.6 40 +55212.6 39 +55223.5 36 +55234.5 39 +55245.5 39 +55256.4 39 +55267.4 40 +55278.4 39 +55289.3 39 +55300.3 39 +55311.3 38 +55322.2 40 +55333.2 39 +55344.2 38 +55355.1 39 +55366.1 40 +55377.1 40 +55388 40 +55399 40 +55410 39 +55421 39 +55431.9 39 +55442.9 40 +55453.9 39 +55464.8 40 +55475.8 40 +55486.8 39 +55497.7 40 +55508.7 39 +55519.7 40 +55530.6 39 +55541.6 39 +55552.6 40 +55563.5 40 +55574.5 39 +55585.5 34 +55596.4 40 +55607.4 38 +55618.4 40 +55629.3 39 +55640.3 39 +55651.3 39 +55662.2 40 +55673.2 40 +55684.2 39 +55695.1 39 +55706.1 39 +55717.1 36 +55728.1 33 +55739 31 +55750 39 +55761 39 +55771.9 40 +55782.9 39 +55793.9 39 +55804.8 39 +55815.8 40 +55826.8 40 +55837.7 39 +55848.7 40 +55859.7 40 +55870.6 40 +55881.6 39 +55892.6 40 +55903.5 38 +55914.5 39 +55925.5 38 +55936.4 40 +55947.4 39 +55958.4 39 +55969.3 39 +55980.3 39 +55991.3 40 +56002.3 40 +56013.2 40 +56024.2 36 +56035.2 40 +56046.1 39 +56057.1 40 +56068.1 39 +56079 40 +56090 39 +56101 40 +56111.9 39 +56122.9 40 +56133.9 40 +56144.8 39 +56155.8 38 +56166.8 36 +56177.7 38 +56188.7 40 +56199.7 39 +56210.6 38 +56221.6 40 +56232.6 40 +56243.5 39 +56254.5 40 +56265.5 38 +56276.4 39 +56287.4 39 +56298.4 39 +56309.4 39 +56320.3 40 +56331.3 40 +56342.3 39 +56353.2 39 +56364.2 40 +56375.2 40 +56386.1 39 +56397.1 40 +56408.1 39 +56419 40 +56430 40 +56441 39 +56451.9 39 +56462.9 39 +56473.9 39 +56484.8 38 +56495.8 39 +56506.8 40 +56517.7 40 +56528.7 39 +56539.7 39 +56550.6 40 +56561.6 39 +56572.6 39 +56583.6 40 +56594.5 39 +56605.5 39 +56616.5 36 +56627.4 28 +56638.4 32 +56649.4 29 +56660.3 35 +56671.3 35 +56682.3 35 +56693.2 32 +56704.2 35 +56715.2 30 +56726.1 39 +56737.1 40 +56748.1 40 +56759 39 +56770 39 +56781 33 +56791.9 38 +56802.9 40 +56813.9 39 +56824.8 40 +56835.8 40 +56846.8 39 +56857.7 40 +56868.7 39 +56879.7 40 +56890.7 39 +56901.6 40 +56912.6 40 +56923.6 40 +56934.5 39 +56945.5 39 +56956.5 40 +56967.4 39 +56978.4 39 +56989.4 39 +57000.3 40 +57011.3 40 +57022.3 39 +57033.2 39 +57044.2 39 +57055.2 40 +57066.1 39 +57077.1 39 +57088.1 36 +57099 40 +57110 40 +57121 40 +57131.9 39 +57142.9 40 +57153.9 40 +57164.9 40 +57175.8 40 +57186.8 39 +57197.8 38 +57208.7 40 +57219.7 39 +57230.7 40 +57241.6 35 +57252.6 31 +57263.6 39 +57274.5 40 +57285.5 40 +57296.5 38 +57307.4 39 +57318.4 39 +57329.4 39 +57340.3 39 +57351.3 39 +57362.3 40 +57373.2 40 +57384.2 39 +57395.2 40 +57406.1 40 +57417.1 39 +57428.1 39 +57439 40 +57450 40 +57461 39 +57472 39 +57482.9 38 +57493.9 38 +57504.9 39 +57515.8 40 +57526.8 40 +57537.8 36 +57548.7 36 +57559.7 40 +57570.7 40 +57581.6 39 +57592.6 39 +57603.6 32 +57614.5 39 +57625.5 39 +57636.5 40 +57647.4 39 +57658.4 40 +57669.4 40 +57680.3 37 +57691.3 40 +57702.3 40 +57713.2 39 +57724.2 39 +57735.2 40 +57746.2 40 +57757.1 39 +57768.1 39 +57779.1 39 +57790 40 +57801 39 +57812 40 +57822.9 40 +57833.9 39 +57844.9 39 +57855.8 40 +57866.8 40 +57877.8 36 +57888.7 40 +57899.7 40 +57910.7 39 +57921.6 40 +57932.6 39 +57943.6 40 +57954.5 40 +57965.5 40 +57976.5 39 +57987.4 39 +57998.4 39 +58009.4 39 +58020.3 40 +58031.3 40 +58042.3 40 +58053.3 40 +58064.2 38 +58075.2 31 +58086.2 39 +58097.1 39 +58108.1 39 +58119.1 39 +58130 40 +58141 39 +58152 39 +58162.9 40 +58173.9 39 +58184.9 39 +58195.8 40 +58206.8 40 +58217.8 40 +58228.7 35 +58239.7 38 +58250.7 39 +58261.6 39 +58272.6 39 +58283.6 39 +58294.5 40 +58305.5 39 +58316.5 40 +58327.5 39 +58338.4 40 +58349.4 39 +58360.4 39 +58371.3 40 +58382.3 40 +58393.3 40 +58404.2 39 +58415.2 40 +58426.2 39 +58437.1 40 +58448.1 39 +58459.1 39 +58470 40 +58481 40 +58492 40 +58502.9 40 +58513.9 40 +58524.9 39 +58535.8 39 +58546.8 39 +58557.8 40 +58568.7 39 +58579.7 39 +58590.7 40 +58601.6 39 +58612.6 40 +58623.6 39 +58634.6 39 +58645.5 40 +58656.5 40 +58667.5 40 +58678.4 39 +58689.4 32 +58700.4 35 +58711.3 37 +58722.3 40 +58733.3 40 +58744.2 40 +58755.2 39 +58766.2 40 +58777.1 40 +58788.1 40 +58799.1 39 +58810 39 +58821 39 +58832 40 +58842.9 40 +58853.9 39 +58864.9 40 +58875.8 40 +58886.8 40 +58897.8 40 +58908.8 39 +58919.7 40 +58930.7 39 +58941.7 40 +58952.6 38 +58963.6 39 +58974.6 40 +58985.5 39 +58996.5 40 +59007.5 39 +59018.4 38 +59029.4 30 +59040.4 37 +59051.3 38 +59062.3 39 +59073.3 40 +59084.2 39 +59095.2 40 +59106.2 39 +59117.1 38 +59128.1 39 +59139.1 40 +59150 39 +59161 40 +59172 40 +59183 39 +59193.9 39 +59204.9 39 +59215.9 39 +59226.8 39 +59237.8 40 +59248.8 39 +59259.7 39 +59270.7 39 +59281.7 40 +59292.6 39 +59303.6 39 +59314.6 40 +59325.5 40 +59336.5 40 +59347.5 39 +59358.4 40 +59369.4 39 +59380.4 40 +59391.3 40 +59402.3 39 +59413.3 35 +59424.2 28 +59435.2 40 +59446.2 39 +59457.1 39 +59468.1 40 +59479.1 39 +59490.1 39 +59501 39 +59512 39 +59523 39 +59533.9 40 +59544.9 39 +59555.9 36 +59566.8 32 +59577.8 38 +59588.8 39 +59599.7 40 +59610.7 40 +59621.7 39 +59632.6 39 +59643.6 40 +59654.6 40 +59665.5 40 +59676.5 38 +59687.5 33 +59698.4 34 +59709.4 36 +59720.4 35 +59731.3 39 +59742.3 39 +59753.3 39 +59764.3 39 +59775.2 40 +59786.2 40 +59797.2 39 +59808.1 38 +59819.1 40 +59830.1 40 +59841 39 +59852 39 +59863 40 +59873.9 40 +59884.9 39 +59895.9 40 +59906.8 39 +59917.8 40 +59928.8 39 +59939.7 39 +59950.7 39 +59961.7 40 +59972.6 40 +59983.6 39 +59994.6 39 +60005.5 39 +60016.5 39 +60027.5 39 +60038.4 40 +60049.4 39 +60060.4 40 +60071.4 40 +60082.3 40 +60093.3 40 +60104.3 40 +60115.2 39 +60126.2 40 +60137.2 39 +60148.1 38 +60159.1 36 +60170.1 39 +60181 38 +60192 40 +60203 40 +60213.9 40 +60224.9 39 +60235.9 35 +60246.8 40 +60257.8 39 +60268.8 40 +60279.7 38 +60290.7 32 +60301.7 39 +60312.6 39 +60323.6 39 +60334.6 40 +60345.6 39 +60356.5 39 +60367.5 39 +60378.5 40 +60389.4 40 +60400.4 40 +60411.4 40 +60422.3 40 +60433.3 40 +60444.3 40 +60455.2 39 +60466.2 40 +60477.2 40 +60488.1 39 +60499.1 40 +60510.1 39 +60521 40 +60532 39 +60543 40 +60553.9 39 +60564.9 40 +60575.9 39 +60586.8 39 +60597.8 39 +60608.8 38 +60619.7 39 +60630.7 38 +60641.7 39 +60652.7 40 +60663.6 40 +60674.6 39 +60685.6 40 +60696.5 39 +60707.5 40 +60718.5 39 +60729.4 39 +60740.4 40 +60751.4 40 +60762.3 40 +60773.3 40 +60784.3 39 +60795.2 40 +60806.2 40 +60817.2 39 +60828.1 40 +60839.1 39 +60850.1 39 +60861 40 +60872 40 +60883 39 +60893.9 39 +60904.9 40 +60915.9 40 +60926.9 39 +60937.8 39 +60948.8 39 +60959.8 40 +60970.7 40 +60981.7 39 +60992.7 39 +61003.6 39 +61014.6 39 +61025.6 40 +61036.5 38 +61047.5 39 +61058.5 38 +61069.4 40 +61080.4 40 +61091.4 39 +61102.3 38 +61113.3 35 +61124.3 39 +61135.2 39 +61146.2 40 +61157.2 39 +61168.1 39 +61179.1 40 +61190.1 39 +61201 39 +61212 39 +61223 40 +61234 40 +61244.9 39 +61255.9 40 +61266.9 39 +61277.8 40 +61288.8 33 +61299.8 39 +61310.7 40 +61321.7 39 +61332.7 39 +61343.6 39 +61354.6 40 +61365.6 40 +61376.5 39 +61387.5 33 +61398.5 28 +61409.4 39 +61420.4 39 +61431.4 39 +61442.3 40 +61453.3 39 +61464.3 39 +61475.2 39 +61486.2 39 +61497.2 40 +61508.2 39 +61519.1 40 +61530.1 40 +61541.1 39 +61552 40 +61563 39 +61574 40 +61584.9 38 +61595.9 39 +61606.9 39 +61617.8 39 +61628.8 38 +61639.8 39 +61650.7 40 +61661.7 38 +61672.7 39 +61683.6 40 +61694.6 40 +61705.6 39 +61716.5 39 +61727.5 39 +61738.5 39 +61749.4 40 +61760.4 39 +61771.4 39 +61782.3 39 +61793.3 39 +61804.3 40 +61815.3 37 +61826.2 39 +61837.2 40 +61848.2 39 +61859.1 39 +61870.1 40 +61881.1 39 +61892 40 +61903 40 +61914 40 +61924.9 39 +61935.9 40 +61946.9 40 +61957.8 40 +61968.8 39 +61979.8 40 +61990.7 39 +62001.7 40 +62012.7 40 +62023.6 40 +62034.6 40 +62045.6 38 +62056.5 40 +62067.5 40 +62078.5 40 +62089.5 38 +62100.4 39 +62111.4 39 +62122.4 40 +62133.3 40 +62144.3 40 +62155.3 39 +62166.2 40 +62177.2 40 +62188.2 39 +62199.1 39 +62210.1 39 +62221.1 39 +62232 40 +62243 40 +62254 40 +62264.9 39 +62275.9 40 +62286.9 39 +62297.8 40 +62308.8 40 +62319.8 40 +62330.7 40 +62341.7 39 +62352.7 39 +62363.6 39 +62374.6 39 +62385.6 40 +62396.6 40 +62407.5 39 +62418.5 39 +62429.5 39 +62440.4 39 +62451.4 40 +62462.4 40 +62473.3 39 +62484.3 40 +62495.3 39 +62506.2 40 +62517.2 39 +62528.2 39 +62539.1 40 +62550.1 39 +62561.1 40 +62572 40 +62583 38 +62594 39 +62604.9 39 +62615.9 40 +62626.9 39 +62637.8 39 +62648.8 40 +62659.8 39 +62670.8 39 +62681.7 40 +62692.7 40 +62703.7 40 +62714.6 39 +62725.6 40 +62736.6 40 +62747.5 39 +62758.5 39 +62769.5 39 +62780.4 39 +62791.4 40 +62802.4 39 +62813.3 40 +62824.3 39 +62835.3 39 +62846.2 39 +62857.2 39 +62868.2 39 +62879.1 39 +62890.1 40 +62901.1 40 +62912 39 +62923 39 +62934 39 +62945 40 +62955.9 40 +62966.9 40 +62977.9 39 +62988.8 38 +62999.8 38 +63010.8 39 +63021.7 39 +63032.7 40 +63043.7 39 +63054.6 40 +63065.6 40 +63076.6 39 +63087.5 40 +63098.5 39 +63109.5 39 +63120.4 39 +63131.4 39 +63142.4 39 +63153.3 39 +63164.3 39 +63175.3 39 +63186.2 39 +63197.2 40 +63208.2 40 +63219.1 40 +63230.1 39 +63241.1 39 +63252.1 40 +63263 40 +63274 40 +63285 39 +63295.9 39 +63306.9 40 +63317.9 39 +63328.8 39 +63339.8 39 +63350.8 39 +63361.7 39 +63372.7 40 +63383.7 39 +63394.6 40 +63405.6 40 +63416.6 40 +63427.5 40 +63438.5 39 +63449.5 39 +63460.4 39 +63471.4 38 +63482.4 39 +63493.3 40 +63504.3 39 +63515.3 39 +63526.3 39 +63537.2 39 +63548.2 40 +63559.2 38 +63570.1 40 +63581.1 40 +63592.1 39 +63603 39 +63614 40 +63625 39 +63635.9 39 +63646.9 40 +63657.9 40 +63668.8 39 +63679.8 39 +63690.8 40 +63701.7 39 +63712.7 40 +63723.7 39 +63734.6 39 +63745.6 40 +63756.6 33 +63767.5 24 +63778.5 39 +63789.5 40 +63800.4 40 +63811.4 39 +63822.4 40 +63833.4 39 +63844.3 39 +63855.3 39 +63866.3 39 +63877.2 40 +63888.2 39 +63899.2 38 +63910.1 39 +63921.1 39 +63932.1 39 +63943 40 +63954 39 +63965 39 +63975.9 39 +63986.9 40 +63997.9 39 +64008.8 39 +64019.8 39 +64030.8 39 +64041.7 37 +64052.7 39 +64063.7 39 +64074.6 39 +64085.6 38 +64096.6 40 +64107.6 39 +64118.5 40 +64129.5 39 +64140.5 39 +64151.4 39 +64162.4 39 +64173.4 40 +64184.3 39 +64195.3 39 +64206.3 40 +64217.2 40 +64228.2 38 +64239.2 40 +64250.1 39 +64261.1 39 +64272.1 39 +64283 39 +64294 39 +64305 39 +64315.9 39 +64326.9 38 +64337.9 39 +64348.8 40 +64359.8 40 +64370.8 38 +64381.7 39 +64392.7 40 +64403.7 39 +64414.7 39 +64425.6 39 +64436.6 39 +64447.6 39 +64458.5 40 +64469.5 39 +64480.5 37 +64491.4 39 +64502.4 39 +64513.4 40 +64524.3 40 +64535.3 39 +64546.3 39 +64557.2 39 +64568.2 40 +64579.2 40 +64590.1 40 +64601.1 39 +64612.1 39 +64623 39 +64634 39 +64645 39 +64655.9 39 +64666.9 40 +64677.9 40 +64688.9 38 +64699.8 40 +64710.8 40 +64721.8 39 +64732.7 38 +64743.7 39 +64754.7 40 +64765.6 39 +64776.6 39 +64787.6 40 +64798.5 40 +64809.5 39 +64820.5 39 +64831.4 39 +64842.4 39 +64853.4 40 +64864.3 40 +64875.3 39 +64886.3 39 +64897.2 40 +64908.2 36 +64919.2 40 +64930.1 40 +64941.1 40 +64952.1 39 +64963 39 +64974 40 +64985 39 +64996 40 +65006.9 38 +65017.9 40 +65028.9 40 +65039.8 40 +65050.8 39 +65061.8 40 +65072.7 40 +65083.7 40 +65094.7 40 +65105.6 39 +65116.6 39 +65127.6 39 +65138.5 39 +65149.5 39 +65160.5 39 +65171.4 40 +65182.4 39 +65193.4 39 +65204.3 40 +65215.3 38 +65226.3 38 +65237.2 40 +65248.2 39 +65259.2 39 +65270.2 40 +65281.1 40 +65292.1 39 +65303.1 38 +65314 39 +65325 40 +65336 40 +65346.9 39 +65357.9 39 +65368.9 40 +65379.8 40 +65390.8 40 +65401.8 40 +65412.7 40 +65423.7 39 +65434.7 39 +65445.6 39 +65456.6 37 +65467.6 39 +65478.5 40 +65489.5 39 +65500.5 39 +65511.4 39 +65522.4 39 +65533.4 39 +65544.3 40 +65555.3 39 +65566.3 39 +65577.3 39 +65588.2 40 +65599.2 40 +65610.2 39 +65621.1 31 +65632.1 40 +65643.1 39 +65654 39 +65665 39 +65676 38 +65686.9 40 +65697.9 40 +65708.9 40 +65719.8 40 +65730.8 39 +65741.8 40 +65752.7 40 +65763.7 40 +65774.7 39 +65785.6 40 +65796.6 40 +65807.6 40 +65818.5 40 +65829.5 40 +65840.5 39 +65851.5 38 +65862.4 40 +65873.4 39 +65884.4 40 +65895.3 38 +65906.3 39 +65917.3 39 +65928.2 40 +65939.2 39 +65950.2 39 +65961.1 38 +65972.1 40 +65983.1 39 +65994 40 +66005 39 +66016 40 +66026.9 39 +66037.9 37 +66048.9 39 +66059.8 40 +66070.8 39 +66081.8 39 +66092.7 39 +66103.7 39 +66114.7 39 +66125.6 36 +66136.6 39 +66147.6 39 +66158.6 40 +66169.5 40 +66180.5 39 +66191.5 39 +66202.4 38 +66213.4 40 +66224.4 38 +66235.3 38 +66246.3 40 +66257.3 40 +66268.2 39 +66279.2 39 +66290.2 40 +66301.1 40 +66312.1 39 +66323.1 40 +66334 39 +66345 40 +66356 40 +66366.9 40 +66377.9 40 +66388.9 39 +66399.8 39 +66410.8 39 +66421.8 40 +66432.8 40 +66443.7 39 +66454.7 40 +66465.7 38 +66476.6 39 +66487.6 39 +66498.6 40 +66509.5 39 +66520.5 36 +66531.5 39 +66542.4 39 +66553.4 39 +66564.4 39 +66575.3 40 +66586.3 40 +66597.3 35 +66608.2 39 +66619.2 40 +66630.2 39 +66641.1 39 +66652.1 38 +66663.1 39 +66674 31 +66685 39 +66696 39 +66707 39 +66717.9 39 +66728.9 39 +66739.9 35 +66750.8 36 +66761.8 39 +66772.8 39 +66783.7 40 +66794.7 32 +66805.7 37 +66816.6 39 +66827.6 36 +66838.6 32 +66849.5 39 +66860.5 38 +66871.5 36 +66882.4 36 +66893.4 35 +66904.4 36 +66915.3 39 +66926.3 31 +66937.3 36 +66948.2 34 +66959.2 29 +66970.2 31 +66981.1 32 +66992.1 31 +67003.1 30 +67014.1 35 +67025 29 +67036 30 +67047 25 +67057.9 29 +67068.9 25 +67079.9 27 +67090.8 25 +67101.8 24 +67112.8 20 +67123.7 24 +67134.7 20 +67145.7 20 +67156.6 24 +67167.6 20 +67178.6 25 +67189.5 20 +67200.5 24 +67211.5 20 +67222.4 24 +67233.4 20 +67244.4 24 +67255.3 20 +67266.3 24 +67277.3 20 +67288.3 24 +67299.2 20 +67310.2 24 +67321.2 20 +67332.1 24 +67343.1 20 +67354.1 24 +67365 20 +67376 24 +67387 20 +67397.9 24 +67408.9 21 +67419.9 20 +67430.8 20 +67441.8 20 +67452.8 20 +67463.7 20 +67474.7 20 +67485.7 20 +67496.6 20 +67507.6 20 +67518.6 20 +67529.5 20 +67540.5 19 +67551.5 19 +67562.4 18 +67573.4 18 +67584.4 18 +67595.4 18 +67606.3 17 +67617.3 16 +67628.3 16 +67639.2 15 +67650.2 17 +67661.2 17 +67672.1 16 +67683.1 15 +67694.1 18 +67705 19 +67716 20 +67727 20 +67737.9 20 +67748.9 20 +67759.9 20 +67770.8 20 +67781.8 20 +67792.8 19 +67803.7 18 +67814.7 18 +67825.7 17 +67836.6 16 +67847.6 16 +67858.6 15 +67869.6 18 +67880.5 19 +67891.5 20 +67902.5 19 +67913.4 17 +67924.4 17 +67935.4 16 +67946.3 15 +67957.3 17 +67968.3 16 +67979.2 16 +67990.2 17 +68001.2 16 +68012.1 15 +68023.1 18 +68034.1 19 +68045 19 +68056 17 +68067 16 +68077.9 15 +68088.9 17 +68099.9 17 +68110.8 16 +68121.8 15 +68132.8 17 +68143.7 16 +68154.7 15 +68165.7 17 +68176.7 17 +68187.6 16 +68198.6 15 +68209.6 17 +68220.5 16 +68231.5 15 +68242.5 17 +68253.4 16 +68264.4 15 +68275.4 17 +68286.3 15 +68297.3 15 +68308.3 15 +68319.2 15 +68330.2 15 +68341.2 16 +68352.1 16 +68363.1 15 +68374.1 16 +68385 16 +68396 15 +68407 15 +68417.9 17 +68428.9 16 +68439.9 16 +68450.9 15 +68461.8 15 +68472.8 17 +68483.8 18 +68494.7 19 +68505.7 19 +68516.7 19 +68527.6 19 +68538.6 19 +68549.6 19 +68560.5 19 +68571.5 19 +68582.5 19 +68593.4 19 +68604.4 19 +68615.4 19 +68626.3 19 +68637.3 19 +68648.3 19 +68659.2 19 +68670.2 19 +68681.2 19 +68692.1 19 +68703.1 19 +68714.1 19 +68725 19 +68736 19 +68747 19 +68758 19 +68768.9 19 +68779.9 19 +68790.9 19 +68801.8 19 +68812.8 19 +68823.8 19 +68834.7 19 +68845.7 19 +68856.7 19 +68867.6 19 +68878.6 19 +68889.6 19 +68900.5 19 +68911.5 19 +68922.5 19 +68933.4 19 +68944.4 19 +68955.4 19 +68966.3 19 +68977.3 19 +68988.3 19 +68999.2 19 +69010.2 19 +69021.2 19 +69032.2 19 +69043.1 19 +69054.1 19 +69065.1 19 +69076 19 +69087 19 +69098 19 +69108.9 19 +69119.9 19 +69130.9 19 +69141.8 19 +69152.8 19 +69163.8 19 +69174.7 19 +69185.7 19 +69196.7 19 +69207.6 19 +69218.6 19 +69229.6 19 +69240.5 19 +69251.5 19 +69262.5 19 +69273.4 19 +69284.4 19 +69295.4 19 +69306.3 19 +69317.3 19 +69328.3 19 +69339.3 19 +69350.2 19 +69361.2 19 +69372.2 19 +69383.1 19 +69394.1 19 +69405.1 19 +69416 19 +69427 19 +69438 19 +69448.9 19 +69459.9 19 +69470.9 19 +69481.8 19 +69492.8 19 +69503.8 19 +69514.7 19 +69525.7 19 +69536.7 19 +69547.6 19 +69558.6 19 +69569.6 19 +69580.5 19 +69591.5 19 +69602.5 19 +69613.5 19 +69624.4 19 +69635.4 19 +69646.4 19 +69657.3 19 +69668.3 19 +69679.3 19 +69690.2 19 +69701.2 19 +69712.2 19 +69723.1 19 +69734.1 19 +69745.1 19 +69756 19 +69767 19 +69778 19 +69788.9 19 +69799.9 19 +69810.9 19 +69821.8 19 +69832.8 19 +69843.8 19 +69854.7 19 +69865.7 19 +69876.7 19 +69887.6 19 +69898.6 19 +69909.6 19 +69920.6 19 +69931.5 19 +69942.5 19 +69953.5 19 +69964.4 19 +69975.4 19 +69986.4 19 +69997.3 19 +70008.3 19 +70019.3 19 +70030.2 19 +70041.2 19 +70052.2 19 +70063.1 19 +70074.1 19 +70085.1 19 +70096 19 +70107 19 +70118 19 +70128.9 19 +70139.9 19 +70150.9 19 +70161.8 19 +70172.8 19 +70183.8 19 +70194.8 19 +70205.7 19 +70216.7 19 +70227.7 19 +70238.6 19 +70249.6 19 +70260.6 19 +70271.5 19 +70282.5 19 +70293.5 19 +70304.4 19 +70315.4 19 +70326.4 19 +70337.3 19 +70348.3 19 +70359.3 19 +70370.2 19 +70381.2 18 +70392.2 12 +70403.1 4 +70414.1 5 +70425.1 11 +70436 17 +70447 20 +70458 20 +70469 20 +70479.9 20 +70490.9 20 +70501.9 20 +70512.8 20 +70523.8 20 +70534.8 20 +70545.7 20 +70556.7 20 +70567.7 20 +70578.6 20 +70589.6 20 +70600.6 20 +70611.5 20 +70622.5 20 +70633.5 20 +70644.4 20 +70655.4 20 +70666.4 20 +70677.3 20 +70688.3 20 +70699.3 20 +70710.2 20 +70721.2 20 +70732.2 20 +70743.1 20 +70754.1 20 +70765.1 20 +70776.1 20 +70787 20 +70798 20 +70809 20 +70819.9 20 +70830.9 20 +70841.9 20 +70852.8 20 +70863.8 20 +70874.8 20 +70885.7 20 +70896.7 20 +70907.7 20 +70918.6 20 +70929.6 20 +70940.6 20 +70951.5 20 +70962.5 20 +70973.5 20 +70984.4 20 +70995.4 20 +71006.4 20 +71017.3 20 +71028.3 20 +71039.3 20 +71050.3 20 +71061.2 20 +71072.2 20 +71083.2 20 +71094.1 20 +71105.1 20 +71116.1 20 +71127 20 +71138 20 +71149 20 +71159.9 20 +71170.9 20 +71181.9 20 +71192.8 20 +71203.8 20 +71214.8 20 +71225.7 20 +71236.7 20 +71247.7 20 +71258.6 20 +71269.6 20 +71280.6 20 +71291.5 20 +71302.5 20 +71313.5 20 +71324.4 20 +71335.4 20 +71346.4 20 +71357.4 20 +71368.3 20 +71379.3 20 +71390.3 20 +71401.2 20 +71412.2 20 +71423.2 20 +71434.1 20 +71445.1 20 +71456.1 20 +71467 20 +71478 20 +71489 20 +71499.9 20 +71510.9 20 +71521.9 20 +71532.8 20 +71543.8 20 +71554.8 20 +71565.7 20 +71576.7 20 +71587.7 20 +71598.6 20 +71609.6 20 +71620.6 20 +71631.6 20 +71642.5 20 +71653.5 20 +71664.5 20 +71675.4 20 +71686.4 20 +71697.4 20 +71708.3 20 +71719.3 20 +71730.3 20 +71741.2 20 +71752.2 20 +71763.2 20 +71774.1 20 +71785.1 20 +71796.1 20 +71807 20 +71818 20 +71829 20 +71839.9 20 +71850.9 20 +71861.9 20 +71872.8 20 +71883.8 20 +71894.8 20 +71905.7 20 +71916.7 20 +71927.7 20 +71938.7 20 +71949.6 20 +71960.6 20 +71971.6 20 +71982.5 20 +71993.5 20 +72004.5 20 +72015.4 20 +72026.4 20 +72037.4 20 +72048.3 20 +72059.3 20 +72070.3 20 +72081.2 20 +72092.2 20 +72103.2 20 +72114.1 20 +72125.1 20 +72136.1 20 +72147 20 +72158 18 +72169 18 +72179.9 18 +72190.9 17 +72201.9 16 +72212.9 17 +72223.8 20 +72234.8 20 +72245.8 20 +72256.7 20 +72267.7 20 +72278.7 20 +72289.6 20 +72300.6 20 +72311.6 20 +72322.5 20 +72333.5 20 +72344.5 20 +72355.4 20 +72366.4 20 +72377.4 20 +72388.3 20 +72399.3 20 +72410.3 20 +72421.2 20 +72432.2 20 +72443.2 20 +72454.1 20 +72465.1 20 +72476.1 20 +72487 20 +72498 20 +72509 20 +72520 20 +72530.9 20 +72541.9 20 +72552.9 20 +72563.8 20 +72574.8 20 +72585.8 20 +72596.7 20 +72607.7 20 +72618.7 20 +72629.6 20 +72640.6 20 +72651.6 20 +72662.5 20 +72673.5 20 +72684.5 20 +72695.4 20 +72706.4 20 +72717.4 20 +72728.3 20 +72739.3 20 +72750.3 20 +72761.2 20 +72772.2 20 +72783.2 20 +72794.2 20 +72805.1 20 +72816.1 20 +72827.1 20 +72838 20 +72849 20 +72860 20 +72870.9 20 +72881.9 20 +72892.9 20 +72903.8 20 +72914.8 20 +72925.8 20 +72936.7 20 +72947.7 20 +72958.7 20 +72969.6 20 +72980.6 20 +72991.6 20 +73002.5 20 +73013.5 20 +73024.5 20 +73035.4 20 +73046.4 20 +73057.4 20 +73068.3 20 +73079.3 20 +73090.3 20 +73101.3 20 +73112.2 20 +73123.2 20 +73134.2 20 +73145.1 20 +73156.1 20 +73167.1 20 +73178 20 +73189 20 +73200 20 +73210.9 20 +73221.9 20 +73232.9 20 +73243.8 20 +73254.8 20 +73265.8 20 +73276.7 20 +73287.7 20 +73298.7 20 +73309.6 20 +73320.6 20 +73331.6 20 +73342.5 20 +73353.5 20 +73364.5 20 +73375.5 20 +73386.4 20 +73397.4 20 +73408.4 20 +73419.3 20 +73430.3 20 +73441.3 20 +73452.2 20 +73463.2 20 +73474.2 20 +73485.1 20 +73496.1 20 +73507.1 20 +73518 20 +73529 20 +73540 20 +73550.9 20 +73561.9 20 +73572.9 20 +73583.8 20 +73594.8 20 +73605.8 20 +73616.7 20 +73627.7 20 +73638.7 20 +73649.6 20 +73660.6 20 +73671.6 20 +73682.6 20 +73693.5 20 +73704.5 20 +73715.5 20 +73726.4 20 +73737.4 20 +73748.4 20 +73759.3 20 +73770.3 20 +73781.3 20 +73792.2 20 +73803.2 20 +73814.2 20 +73825.1 20 +73836.1 20 +73847.1 20 +73858 20 +73869 20 +73880 20 +73890.9 20 +73901.9 20 +73912.9 20 +73923.8 20 +73934.8 20 +73945.8 20 +73956.8 20 +73967.7 20 +73978.7 20 +73989.7 20 +74000.6 20 +74011.6 20 +74022.6 20 +74033.5 20 +74044.5 20 +74055.5 20 +74066.4 20 +74077.4 20 +74088.4 20 +74099.3 20 +74110.3 20 +74121.3 4 +74132.2 5 +74143.2 7 +74154.2 7 +74165.1 7 +74176.1 7 +74187.1 7 +74198 7 +74209 7 +74220 7 +74231 7 +74241.9 7 +74252.9 7 +74263.9 7 +74274.8 7 +74285.8 7 +74296.8 7 +74307.7 7 +74318.7 7 +74329.7 7 +74340.6 7 +74351.6 7 +74362.6 7 +74373.5 7 +74384.5 7 +74395.5 7 +74406.4 7 +74417.4 7 +74428.4 7 +74439.3 7 +74450.3 7 +74461.3 7 +74472.2 7 +74483.2 7 +74494.2 7 +74505.1 7 +74516.1 7 +74527.1 7 +74538.1 7 +74549 7 +74560 7 +74571 7 +74581.9 7 +74592.9 7 +74603.9 7 +74614.8 7 +74625.8 7 +74636.8 7 +74647.7 7 +74658.7 7 +74669.7 7 +74680.6 7 +74691.6 7 +74702.6 7 +74713.5 7 +74724.5 7 +74735.5 7 +74746.4 7 +74757.4 7 +74768.4 7 +74779.3 7 +74790.3 7 +74801.3 7 +74812.3 7 +74823.2 7 +74834.2 7 +74845.2 7 +74856.1 7 +74867.1 7 +74878.1 7 +74889 7 +74900 7 +74911 7 +74921.9 7 +74932.9 7 +74943.9 7 +74954.8 7 +74965.8 7 +74976.8 7 +74987.7 7 +74998.7 7 +75009.7 7 +75020.6 7 +75031.6 7 +75042.6 7 +75053.5 7 +75064.5 7 +75075.5 7 +75086.4 7 +75097.4 7 +75108.4 7 +75119.4 7 +75130.3 7 +75141.3 7 +75152.3 7 +75163.2 7 +75174.2 7 +75185.2 7 +75196.1 7 +75207.1 7 +75218.1 7 +75229 7 +75240 7 +75251 7 +75261.9 7 +75272.9 7 +75283.9 7 +75294.8 7 +75305.8 7 +75316.8 7 +75327.7 7 +75338.7 7 +75349.7 7 +75360.6 7 +75371.6 7 +75382.6 7 +75393.6 7 +75404.5 7 +75415.5 7 +75426.5 7 +75437.4 7 +75448.4 7 +75459.4 7 +75470.3 7 +75481.3 7 +75492.3 7 +75503.2 7 +75514.2 7 +75525.2 7 +75536.1 7 +75547.1 7 +75558.1 7 +75569 7 +75580 7 +75591 7 +75601.9 7 +75612.9 7 +75623.9 7 +75634.8 7 +75645.8 7 +75656.8 7 +75667.7 7 +75678.7 7 +75689.7 7 +75700.7 7 +75711.6 7 +75722.6 7 +75733.6 7 +75744.5 7 +75755.5 7 +75766.5 7 +75777.4 7 +75788.4 7 +75799.4 7 +75810.3 7 +75821.3 7 +75832.3 7 +75843.2 7 +75854.2 7 +75865.2 7 +75876.1 3 +75887.1 4 +75898.1 6 +75909 7 +75920 7 +75931 7 +75941.9 7 +75952.9 7 +75963.9 7 +75974.9 7 +75985.8 7 +75996.8 7 +76007.8 7 +76018.7 7 +76029.7 7 +76040.7 7 +76051.6 7 +76062.6 7 +76073.6 7 +76084.5 7 +76095.5 7 +76106.5 7 +76117.4 7 +76128.4 7 +76139.4 7 +76150.3 7 +76161.3 7 +76172.3 7 +76183.2 7 +76194.2 7 +76205.2 7 +76216.1 7 +76227.1 7 +76238.1 7 +76249 7 +76260 7 +76271 7 +76282 7 +76292.9 7 +76303.9 7 +76314.9 7 +76325.8 7 +76336.8 7 +76347.8 7 +76358.7 7 +76369.7 7 +76380.7 7 +76391.6 7 +76402.6 7 +76413.6 7 +76424.5 7 +76435.5 7 +76446.5 7 +76457.4 7 +76468.4 7 +76479.4 7 +76490.3 7 +76501.3 7 +76512.3 7 +76523.2 7 +76534.2 7 +76545.2 7 +76556.2 7 +76567.1 7 +76578.1 7 +76589.1 7 +76600 7 +76611 7 +76622 7 +76632.9 7 +76643.9 7 +76654.9 7 +76665.8 7 +76676.8 7 +76687.8 7 +76698.7 7 +76709.7 7 +76720.7 7 +76731.6 7 +76742.6 7 +76753.6 7 +76764.5 7 +76775.5 7 +76786.5 7 +76797.4 7 +76808.4 7 +76819.4 7 +76830.3 7 +76841.3 7 +76852.3 7 +76863.3 7 +76874.2 7 +76885.2 7 +76896.2 7 +76907.1 7 +76918.1 7 +76929.1 7 +76940 7 +76951 7 +76962 7 +76972.9 7 +76983.9 7 +76994.9 7 +77005.8 7 +77016.8 7 +77027.8 7 +77038.7 7 +77049.7 7 +77060.7 7 +77071.6 7 +77082.6 7 +77093.6 7 +77104.5 7 +77115.5 7 +77126.5 7 +77137.5 7 +77148.4 7 +77159.4 7 +77170.4 7 +77181.3 7 +77192.3 7 +77203.3 7 +77214.2 7 +77225.2 7 +77236.2 7 +77247.1 7 +77258.1 7 +77269.1 7 +77280 7 +77291 7 +77302 7 +77312.9 7 +77323.9 7 +77334.9 7 +77345.8 7 +77356.8 7 +77367.8 7 +77378.7 7 +77389.7 7 +77400.7 7 +77411.6 7 +77422.6 7 +77433.6 7 +77444.6 7 +77455.5 7 +77466.5 7 +77477.5 7 +77488.4 7 +77499.4 7 +77510.4 7 +77521.3 7 +77532.3 7 +77543.3 7 +77554.2 7 +77565.2 7 +77576.2 7 +77587.1 7 +77598.1 7 +77609.1 7 +77620 7 +77631 7 +77642 7 +77652.9 7 +77663.9 7 +77674.9 7 +77685.8 7 +77696.8 7 +77707.8 7 +77718.8 7 +77729.7 7 +77740.7 7 +77751.7 7 +77762.6 7 +77773.6 7 +77784.6 7 +77795.5 7 +77806.5 4 +77817.5 4 +77828.4 5 +77839.4 5 +77850.4 5 +77861.3 5 +77872.3 5 +77883.3 5 +77894.2 5 +77905.2 5 +77916.2 5 +77927.1 5 +77938.1 5 +77949.1 5 +77960 5 +77971 5 +77982 5 +77993 5 +78003.9 5 +78014.9 5 +78025.9 5 +78036.8 5 +78047.8 5 +78058.8 5 +78069.7 5 +78080.7 5 +78091.7 5 +78102.6 5 +78113.6 5 +78124.6 5 +78135.5 5 +78146.5 5 +78157.5 5 +78168.4 5 +78179.4 5 +78190.4 5 +78201.3 5 +78212.3 5 +78223.3 5 +78234.2 5 +78245.2 5 +78256.2 5 +78267.1 5 +78278.1 5 +78289.1 5 +78300.1 5 +78311 5 +78322 5 +78333 5 +78343.9 5 +78354.9 5 +78365.9 5 +78376.8 5 +78387.8 5 +78398.8 5 +78409.7 5 +78420.7 5 +78431.7 5 +78442.6 5 +78453.6 5 +78464.6 5 +78475.5 5 +78486.5 5 +78497.5 5 +78508.4 5 +78519.4 5 +78530.4 5 +78541.3 5 +78552.3 5 +78563.3 5 +78574.3 5 +78585.2 5 +78596.2 5 +78607.2 5 +78618.1 5 +78629.1 5 +78640.1 5 +78651 5 +78662 5 +78673 5 +78683.9 5 +78694.9 5 +78705.9 5 +78716.8 5 +78727.8 5 +78738.8 5 +78749.7 5 +78760.7 5 +78771.7 5 +78782.6 5 +78793.6 5 +78804.6 5 +78815.5 5 +78826.5 5 +78837.5 5 +78848.4 5 +78859.4 5 +78870.4 5 +78881.4 5 +78892.3 5 +78903.3 5 +78914.3 5 +78925.2 5 +78936.2 5 +78947.2 5 +78958.1 5 +78969.1 5 +78980.1 5 +78991 5 +79002 5 +79013 5 +79023.9 5 +79034.9 5 +79045.9 5 +79056.8 5 +79067.8 5 +79078.8 5 +79089.7 5 +79100.7 5 +79111.7 5 +79122.6 5 +79133.6 5 +79144.6 5 +79155.6 5 +79166.5 5 +79177.5 5 +79188.5 5 +79199.4 5 +79210.4 5 +79221.4 5 +79232.3 5 +79243.3 5 +79254.3 5 +79265.2 5 +79276.2 5 +79287.2 5 +79298.1 5 +79309.1 5 +79320.1 5 +79331 5 +79342 5 +79353 5 +79363.9 5 +79374.9 5 +79385.9 5 +79396.8 5 +79407.8 5 +79418.8 5 +79429.7 5 +79440.7 5 +79451.7 5 +79462.7 5 +79473.6 5 +79484.6 5 +79495.6 5 +79506.5 5 +79517.5 5 +79528.5 5 +79539.4 5 +79550.4 5 +79561.4 5 +79572.3 3 +79583.3 2 +79594.3 5 +79605.2 5 +79616.2 5 +79627.2 5 +79638.1 5 +79649.1 5 +79660.1 5 +79671 5 +79682 5 +79693 5 +79703.9 5 +79714.9 5 +79725.9 5 +79736.9 5 +79747.8 5 +79758.8 5 +79769.8 5 +79780.7 5 +79791.7 5 +79802.7 5 +79813.6 5 +79824.6 5 +79835.6 5 +79846.5 5 +79857.5 5 +79868.5 5 +79879.4 5 +79890.4 5 +79901.4 5 +79912.3 5 +79923.3 5 +79934.3 5 +79945.2 5 +79956.2 5 +79967.2 5 +79978.1 5 +79989.1 5 +80000.1 5 +80011 5 +80022 5 +80033 5 +80044 5 +80054.9 5 +80065.9 5 +80076.9 5 +80087.8 5 +80098.8 5 +80109.8 5 +80120.7 5 +80131.7 5 +80142.7 5 +80153.6 5 +80164.6 5 +80175.6 5 +80186.5 5 +80197.5 5 +80208.5 5 +80219.4 5 +80230.4 5 +80241.4 5 +80252.3 5 +80263.3 5 +80274.3 5 +80285.2 5 +80296.2 5 +80307.2 5 +80318.2 5 +80329.1 5 +80340.1 5 +80351.1 5 +80362 5 +80373 5 +80384 5 +80394.9 5 +80405.9 5 +80416.9 5 +80427.8 5 +80438.8 5 +80449.8 5 +80460.7 5 +80471.7 5 +80482.7 5 +80493.6 5 +80504.6 5 +80515.6 5 +80526.5 5 +80537.5 5 +80548.5 5 +80559.4 5 +80570.4 5 +80581.4 5 +80592.3 5 +80603.3 5 +80614.3 5 +80625.3 5 +80636.2 5 +80647.2 5 +80658.2 5 +80669.1 5 +80680.1 5 +80691.1 5 +80702 5 +80713 5 +80724 5 +80734.9 5 +80745.9 5 +80756.9 5 +80767.8 5 +80778.8 5 +80789.8 5 +80800.7 5 +80811.7 5 +80822.7 5 +80833.6 5 +80844.6 5 +80855.6 5 +80866.5 5 +80877.5 5 +80888.5 5 +80899.5 5 +80910.4 5 +80921.4 5 +80932.4 5 +80943.3 5 +80954.3 5 +80965.3 5 +80976.2 5 +80987.2 5 +80998.2 5 +81009.1 5 +81020.1 5 +81031.1 5 +81042 5 +81053 5 +81064 5 +81074.9 5 +81085.9 5 +81096.9 5 +81107.8 5 +81118.8 5 +81129.8 5 +81140.7 5 +81151.7 5 +81162.7 5 +81173.6 5 +81184.6 5 +81195.6 5 +81206.6 5 +81217.5 5 +81228.5 5 +81239.5 5 +81250.4 5 +81261.4 5 +81272.4 5 +81283.3 5 +81294.3 5 +81305.3 5 +81316.2 5 +81327.2 5 +81338.2 5 +81349.1 5 +81360.1 5 +81371.1 5 +81382 5 +81393 5 +81404 5 +81414.9 5 +81425.9 5 +81436.9 5 +81447.8 5 +81458.8 5 +81469.8 5 +81480.8 5 +81491.7 4 +81502.7 4 +81513.7 5 +81524.6 5 +81535.6 5 +81546.6 5 +81557.5 5 +81568.5 5 +81579.5 5 +81590.4 5 +81601.4 5 +81612.4 5 +81623.3 5 +81634.3 5 +81645.3 5 +81656.2 5 +81667.2 5 +81678.2 5 +81689.1 5 +81700.1 5 +81711.1 5 +81722 5 +81733 5 +81744 5 +81755 5 +81765.9 5 +81776.9 5 +81787.9 5 +81798.8 5 +81809.8 5 +81820.8 5 +81831.7 5 +81842.7 5 +81853.7 5 +81864.6 5 +81875.6 5 +81886.6 5 +81897.5 5 +81908.5 5 +81919.5 5 +81930.4 5 +81941.4 5 +81952.4 5 +81963.3 5 +81974.3 5 +81985.3 5 +81996.2 5 +82007.2 5 +82018.2 5 +82029.1 5 +82040.1 5 +82051.1 5 +82062.1 5 +82073 5 +82084 5 +82095 5 +82105.9 5 +82116.9 5 +82127.9 5 +82138.8 5 +82149.8 5 +82160.8 5 +82171.7 5 +82182.7 5 +82193.7 5 +82204.6 5 +82215.6 5 +82226.6 5 +82237.5 5 +82248.5 5 +82259.5 5 +82270.4 5 +82281.4 5 +82292.4 5 +82303.3 5 +82314.3 5 +82325.3 5 +82336.3 5 +82347.2 5 +82358.2 5 +82369.2 5 +82380.1 5 +82391.1 5 +82402.1 5 +82413 5 +82424 5 +82435 5 +82445.9 5 +82456.9 5 +82467.9 5 +82478.8 5 +82489.8 5 +82500.8 5 +82511.7 5 +82522.7 5 +82533.7 5 +82544.6 5 +82555.6 5 +82566.6 5 +82577.5 5 +82588.5 5 +82599.5 5 +82610.4 5 +82621.4 5 +82632.4 5 +82643.4 5 +82654.3 5 +82665.3 5 +82676.3 5 +82687.2 5 +82698.2 5 +82709.2 5 +82720.1 5 +82731.1 5 +82742.1 5 +82753 5 +82764 5 +82775 5 +82785.9 5 +82796.9 5 +82807.9 5 +82818.8 5 +82829.8 5 +82840.8 5 +82851.7 5 +82862.7 5 +82873.7 5 +82884.6 5 +82895.6 5 +82906.6 5 +82917.6 5 +82928.5 5 +82939.5 5 +82950.5 5 +82961.4 5 +82972.4 5 +82983.4 5 +82994.3 5 +83005.3 5 +83016.3 5 +83027.2 5 +83038.2 5 +83049.2 5 +83060.1 5 +83071.1 5 +83082.1 5 +83093 5 +83104 5 +83115 5 +83125.9 5 +83136.9 5 +83147.9 5 +83158.8 5 +83169.8 5 +83180.8 5 +83191.7 5 +83202.7 5 +83213.7 5 +83224.7 5 +83235.6 5 +83246.6 2 +83257.6 1 +83268.5 1 +83279.5 1 +83290.5 1 +83301.4 1 +83312.4 1 +83323.4 1 +83334.3 1 +83345.3 1 +83356.3 1 +83367.2 1 +83378.2 1 +83389.2 1 +83400.1 1 +83411.1 1 +83422.1 1 +83433 1 +83444 1 +83455 1 +83465.9 1 +83476.9 1 +83487.9 1 +83498.9 1 +83509.8 1 +83520.8 1 +83531.8 1 +83542.7 1 +83553.7 1 +83564.7 1 +83575.6 1 +83586.6 1 +83597.6 1 +83608.5 1 +83619.5 1 +83630.5 1 +83641.4 1 +83652.4 1 +83663.4 1 +83674.3 1 +83685.3 1 +83696.3 1 +83707.2 1 +83718.2 1 +83729.2 1 +83740.1 1 +83751.1 1 +83762.1 1 +83773 1 +83784 1 +83795 1 +83806 1 +83816.9 1 +83827.9 1 +83838.9 1 +83849.8 1 +83860.8 1 +83871.8 1 +83882.7 1 +83893.7 1 +83904.7 1 +83915.6 1 +83926.6 1 +83937.6 1 +83948.5 1 +83959.5 1 +83970.5 1 +83981.4 1 +83992.4 1 +84003.4 1 +84014.3 1 +84025.3 1 +84036.3 1 +84047.2 1 +84058.2 1 +84069.2 1 +84080.2 1 +84091.1 1 +84102.1 1 +84113.1 1 +84124 1 +84135 1 +84146 1 +84156.9 1 +84167.9 1 +84178.9 1 +84189.8 1 +84200.8 1 +84211.8 1 +84222.7 1 +84233.7 1 +84244.7 1 +84255.6 1 +84266.6 1 +84277.6 1 +84288.5 1 +84299.5 1 +84310.5 1 +84321.4 1 +84332.4 1 +84343.4 1 +84354.3 1 +84365.3 1 +84376.3 1 +84387.3 1 +84398.2 1 +84409.2 1 +84420.2 1 +84431.1 1 +84442.1 1 +84453.1 1 +84464 1 +84475 1 +84486 1 +84496.9 1 +84507.9 1 +84518.9 1 +84529.8 1 +84540.8 1 +84551.8 1 +84562.7 1 +84573.7 1 +84584.7 1 +84595.6 1 +84606.6 1 +84617.6 1 +84628.5 1 +84639.5 1 +84650.5 1 +84661.5 1 +84672.4 1 +84683.4 1 +84694.4 1 +84705.3 1 +84716.3 1 +84727.3 1 +84738.2 1 +84749.2 1 +84760.2 1 +84771.1 1 +84782.1 1 +84793.1 1 +84804 1 +84815 1 +84826 1 +84836.9 1 +84847.9 1 +84858.9 1 +84869.8 1 +84880.8 1 +84891.8 1 +84902.7 1 +84913.7 1 +84924.7 1 +84935.6 1 +84946.6 1 +84957.6 1 +84968.6 1 +84979.5 1 +84990.5 1 +85001.5 1 +85012.4 1 +85023.4 1 +85034.4 1 +85045.3 1 +85056.3 1 +85067.3 1 +85078.2 1 +85089.2 1 +85100.2 1 +85111.1 1 +85122.1 1 +85133.1 1 +85144 1 +85155 1 +85166 1 +85176.9 Copied: SwiftApps/SciColSim/docs/plot_cumulative.txt (from rev 5634, SwiftApps/SciColSim/plot_cumulative.txt) =================================================================== --- SwiftApps/SciColSim/docs/plot_cumulative.txt (rev 0) +++ SwiftApps/SciColSim/docs/plot_cumulative.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,7989 @@ +0 4 +10.6631 8 +21.3262 8 +31.9893 12 +42.6524 13 +53.3156 16 +63.9787 17 +74.6418 20 +85.3049 21 +95.968 24 +106.631 24 +117.294 28 +127.957 29 +138.62 32 +149.284 33 +159.947 35 +170.61 37 +181.273 40 +191.936 41 +202.599 43 +213.262 45 +223.925 47 +234.588 49 +245.252 51 +255.915 53 +266.578 55 +277.241 57 +287.904 57 +298.567 58 +309.23 61 +319.893 61 +330.556 63 +341.22 67 +351.883 74 +362.546 75 +373.209 79 +383.872 81 +394.535 83 +405.198 85 +415.861 89 +426.524 90 +437.188 93 +447.851 94 +458.514 98 +469.177 98 +479.84 101 +490.503 102 +501.166 103 +511.829 106 +522.492 107 +533.155 110 +543.819 114 +554.482 118 +565.145 118 +575.808 121 +586.471 122 +597.134 122 +607.797 125 +618.46 127 +629.123 127 +639.787 129 +650.45 132 +661.113 134 +671.776 136 +682.439 136 +693.102 139 +703.765 143 +714.428 147 +725.091 148 +735.755 150 +746.418 152 +757.081 153 +767.744 156 +778.407 160 +789.07 162 +799.733 164 +810.396 164 +821.059 164 +831.723 168 +842.386 169 +853.049 175 +863.712 175 +874.375 176 +885.038 179 +895.701 182 +906.364 186 +917.027 190 +927.691 190 +938.354 194 +949.017 195 +959.68 198 +970.343 199 +981.006 202 +991.669 203 +1002.33 206 +1013 207 +1023.66 210 +1034.32 210 +1044.98 211 +1055.65 213 +1066.31 215 +1076.97 217 +1087.64 219 +1098.3 222 +1108.96 224 +1119.63 224 +1130.29 227 +1140.95 228 +1151.62 231 +1162.28 233 +1172.94 236 +1183.61 241 +1194.27 242 +1204.93 243 +1215.59 246 +1226.26 247 +1236.92 250 +1247.58 252 +1258.25 254 +1268.91 256 +1279.57 259 +1290.24 260 +1300.9 263 +1311.56 264 +1322.23 266 +1332.89 267 +1343.55 269 +1354.21 271 +1364.88 273 +1375.54 275 +1386.2 276 +1396.87 278 +1407.53 281 +1418.19 285 +1428.86 285 +1439.52 288 +1450.18 290 +1460.85 290 +1471.51 291 +1482.17 294 +1492.84 297 +1503.5 298 +1514.16 301 +1524.82 302 +1535.49 306 +1546.15 307 +1556.81 310 +1567.48 312 +1578.14 313 +1588.8 315 +1599.47 317 +1610.13 317 +1620.79 319 +1631.46 321 +1642.12 324 +1652.78 327 +1663.45 328 +1674.11 331 +1684.77 333 +1695.43 333 +1706.1 335 +1716.76 338 +1727.42 340 +1738.09 342 +1748.75 344 +1759.41 346 +1770.08 347 +1780.74 351 +1791.4 351 +1802.07 352 +1812.73 355 +1823.39 355 +1834.05 356 +1844.72 361 +1855.38 362 +1866.04 362 +1876.71 365 +1887.37 366 +1898.03 370 +1908.7 371 +1919.36 373 +1930.02 375 +1940.69 376 +1951.35 379 +1962.01 380 +1972.68 383 +1983.34 386 +1994 387 +2004.66 389 +2015.33 391 +2025.99 393 +2036.65 396 +2047.32 398 +2057.98 401 +2068.64 402 +2079.31 405 +2089.97 405 +2100.63 407 +2111.3 409 +2121.96 411 +2132.62 413 +2143.29 415 +2153.95 415 +2164.61 417 +2175.27 419 +2185.94 421 +2196.6 424 +2207.26 425 +2217.93 427 +2228.59 428 +2239.25 430 +2249.92 432 +2260.58 433 +2271.24 435 +2281.91 439 +2292.57 443 +2303.23 444 +2313.89 445 +2324.56 448 +2335.22 449 +2345.88 453 +2356.55 453 +2367.21 456 +2377.87 457 +2388.54 461 +2399.2 461 +2409.86 464 +2420.53 465 +2431.19 468 +2441.85 470 +2452.52 472 +2463.18 474 +2473.84 474 +2484.5 477 +2495.17 479 +2505.83 481 +2516.49 484 +2527.16 486 +2537.82 488 +2548.48 490 +2559.15 492 +2569.81 493 +2580.47 496 +2591.14 497 +2601.8 500 +2612.46 501 +2623.13 501 +2633.79 504 +2644.45 505 +2655.11 508 +2665.78 509 +2676.44 512 +2687.1 513 +2697.77 514 +2708.43 516 +2719.09 518 +2729.76 520 +2740.42 522 +2751.08 524 +2761.75 526 +2772.41 526 +2783.07 529 +2793.73 531 +2804.4 534 +2815.06 536 +2825.72 538 +2836.39 540 +2847.05 542 +2857.71 545 +2868.38 545 +2879.04 545 +2889.7 549 +2900.37 551 +2911.03 553 +2921.69 553 +2932.36 558 +2943.02 560 +2953.68 563 +2964.34 567 +2975.01 568 +2985.67 569 +2996.33 571 +3007 572 +3017.66 575 +3028.32 576 +3038.99 576 +3049.65 579 +3060.31 581 +3070.98 583 +3081.64 585 +3092.3 586 +3102.97 586 +3113.63 589 +3124.29 590 +3134.95 594 +3145.62 595 +3156.28 597 +3166.94 598 +3177.61 599 +3188.27 602 +3198.93 605 +3209.6 606 +3220.26 607 +3230.92 609 +3241.59 612 +3252.25 613 +3262.91 615 +3273.57 617 +3284.24 618 +3294.9 622 +3305.56 622 +3316.23 625 +3326.89 626 +3337.55 630 +3348.22 634 +3358.88 638 +3369.54 639 +3380.21 642 +3390.87 643 +3401.53 646 +3412.2 647 +3422.86 650 +3433.52 652 +3444.18 653 +3454.85 658 +3465.51 661 +3476.17 665 +3486.84 668 +3497.5 672 +3508.16 673 +3518.83 673 +3529.49 676 +3540.15 677 +3550.82 679 +3561.48 680 +3572.14 681 +3582.8 684 +3593.47 685 +3604.13 688 +3614.79 689 +3625.46 693 +3636.12 694 +3646.78 696 +3657.45 697 +3668.11 698 +3678.77 701 +3689.44 702 +3700.1 706 +3710.76 706 +3721.43 709 +3732.09 710 +3742.75 712 +3753.41 714 +3764.08 715 +3774.74 717 +3785.4 719 +3796.07 722 +3806.73 722 +3817.39 724 +3828.06 726 +3838.72 729 +3849.38 732 +3860.05 736 +3870.71 737 +3881.37 737 +3892.04 739 +3902.7 741 +3913.36 744 +3924.02 745 +3934.69 749 +3945.35 749 +3956.01 752 +3966.68 753 +3977.34 756 +3988 757 +3998.67 760 +4009.33 762 +4019.99 764 +4030.66 768 +4041.32 768 +4051.98 770 +4062.64 771 +4073.31 776 +4083.97 778 +4094.63 778 +4105.3 780 +4115.96 782 +4126.62 784 +4137.29 784 +4147.95 787 +4158.61 788 +4169.28 790 +4179.94 792 +4190.6 795 +4201.27 796 +4211.93 797 +4222.59 800 +4233.25 804 +4243.92 804 +4254.58 806 +4265.24 808 +4275.91 810 +4286.57 813 +4297.23 815 +4307.9 817 +4318.56 818 +4329.22 820 +4339.89 824 +4350.55 824 +4361.21 829 +4371.88 834 +4382.54 838 +4393.2 842 +4403.86 846 +4414.53 846 +4425.19 848 +4435.85 850 +4446.52 852 +4457.18 856 +4467.84 858 +4478.51 861 +4489.17 863 +4499.83 865 +4510.5 867 +4521.16 868 +4531.82 869 +4542.48 871 +4553.15 872 +4563.81 873 +4574.47 876 +4585.14 877 +4595.8 878 +4606.46 880 +4617.13 880 +4627.79 884 +4638.45 884 +4649.12 886 +4659.78 889 +4670.44 889 +4681.11 891 +4691.77 893 +4702.43 895 +4713.09 898 +4723.76 900 +4734.42 902 +4745.08 904 +4755.75 906 +4766.41 908 +4777.07 912 +4787.74 913 +4798.4 914 +4809.06 918 +4819.73 920 +4830.39 922 +4841.05 924 +4851.72 926 +4862.38 928 +4873.04 930 +4883.7 933 +4894.37 935 +4905.03 938 +4915.69 940 +4926.36 942 +4937.02 944 +4947.68 946 +4958.35 948 +4969.01 951 +4979.67 953 +4990.34 955 +5001 957 +5011.66 957 +5022.32 960 +5032.99 962 +5043.65 963 +5054.31 966 +5064.98 968 +5075.64 971 +5086.3 971 +5096.97 973 +5107.63 975 +5118.29 977 +5128.96 979 +5139.62 981 +5150.28 983 +5160.95 984 +5171.61 984 +5182.27 987 +5192.93 987 +5203.6 991 +5214.26 996 +5224.92 997 +5235.59 1001 +5246.25 1005 +5256.91 1008 +5267.58 1010 +5278.24 1012 +5288.9 1014 +5299.57 1016 +5310.23 1018 +5320.89 1020 +5331.55 1022 +5342.22 1024 +5352.88 1026 +5363.54 1028 +5374.21 1028 +5384.87 1030 +5395.53 1032 +5406.2 1032 +5416.86 1035 +5427.52 1036 +5438.19 1040 +5448.85 1043 +5459.51 1047 +5470.18 1051 +5480.84 1054 +5491.5 1055 +5502.16 1058 +5512.83 1061 +5523.49 1065 +5534.15 1069 +5544.82 1073 +5555.48 1077 +5566.14 1079 +5576.81 1082 +5587.47 1084 +5598.13 1087 +5608.8 1088 +5619.46 1090 +5630.12 1092 +5640.79 1092 +5651.45 1095 +5662.11 1098 +5672.77 1099 +5683.44 1101 +5694.1 1103 +5704.76 1105 +5715.43 1107 +5726.09 1109 +5736.75 1111 +5747.42 1115 +5758.08 1117 +5768.74 1119 +5779.41 1121 +5790.07 1123 +5800.73 1124 +5811.39 1127 +5822.06 1128 +5832.72 1132 +5843.38 1134 +5854.05 1134 +5864.71 1136 +5875.37 1138 +5886.04 1138 +5896.7 1140 +5907.36 1141 +5918.03 1143 +5928.69 1144 +5939.35 1146 +5950.02 1148 +5960.68 1151 +5971.34 1153 +5982 1154 +5992.67 1155 +6003.33 1157 +6013.99 1160 +6024.66 1162 +6035.32 1164 +6045.98 1166 +6056.65 1166 +6067.31 1169 +6077.97 1171 +6088.64 1173 +6099.3 1175 +6109.96 1177 +6120.63 1179 +6131.29 1179 +6141.95 1182 +6152.61 1184 +6163.28 1186 +6173.94 1188 +6184.6 1191 +6195.27 1194 +6205.93 1195 +6216.59 1199 +6227.26 1203 +6237.92 1205 +6248.58 1207 +6259.25 1209 +6269.91 1212 +6280.57 1214 +6291.23 1216 +6301.9 1219 +6312.56 1221 +6323.22 1222 +6333.89 1223 +6344.55 1226 +6355.21 1227 +6365.88 1227 +6376.54 1230 +6387.2 1231 +6397.87 1231 +6408.53 1234 +6419.19 1235 +6429.86 1238 +6440.52 1239 +6451.18 1240 +6461.84 1243 +6472.51 1244 +6483.17 1245 +6493.83 1248 +6504.5 1249 +6515.16 1252 +6525.82 1256 +6536.49 1259 +6547.15 1260 +6557.81 1263 +6568.48 1264 +6579.14 1267 +6589.8 1268 +6600.47 1271 +6611.13 1272 +6621.79 1275 +6632.45 1276 +6643.12 1280 +6653.78 1280 +6664.44 1283 +6675.11 1285 +6685.77 1288 +6696.43 1289 +6707.1 1293 +6717.76 1294 +6728.42 1298 +6739.09 1299 +6749.75 1301 +6760.41 1306 +6771.07 1307 +6781.74 1308 +6792.4 1311 +6803.06 1313 +6813.73 1316 +6824.39 1317 +6835.05 1320 +6845.72 1321 +6856.38 1324 +6867.04 1325 +6877.71 1328 +6888.37 1329 +6899.03 1329 +6909.7 1332 +6920.36 1336 +6931.02 1338 +6941.68 1339 +6952.35 1342 +6963.01 1342 +6973.67 1343 +6984.34 1346 +6995 1347 +7005.66 1347 +7016.33 1350 +7026.99 1351 +7037.65 1353 +7048.32 1354 +7058.98 1356 +7069.64 1357 +7080.31 1358 +7090.97 1359 +7101.63 1362 +7112.29 1363 +7122.96 1366 +7133.62 1367 +7144.28 1370 +7154.95 1371 +7165.61 1374 +7176.27 1377 +7186.94 1378 +7197.6 1380 +7208.26 1385 +7218.93 1387 +7229.59 1391 +7240.25 1394 +7250.91 1395 +7261.58 1400 +7272.24 1400 +7282.9 1402 +7293.57 1404 +7304.23 1406 +7314.89 1408 +7325.56 1410 +7336.22 1412 +7346.88 1414 +7357.55 1418 +7368.21 1421 +7378.87 1422 +7389.54 1424 +7400.2 1426 +7410.86 1428 +7421.52 1430 +7432.19 1431 +7442.85 1436 +7453.51 1437 +7464.18 1439 +7474.84 1441 +7485.5 1441 +7496.17 1444 +7506.83 1449 +7517.49 1450 +7528.16 1450 +7538.82 1452 +7549.48 1454 +7560.14 1458 +7570.81 1461 +7581.47 1462 +7592.13 1465 +7602.8 1466 +7613.46 1469 +7624.12 1470 +7634.79 1473 +7645.45 1474 +7656.11 1477 +7666.78 1478 +7677.44 1481 +7688.1 1482 +7698.77 1485 +7709.43 1487 +7720.09 1490 +7730.75 1491 +7741.42 1492 +7752.08 1494 +7762.74 1495 +7773.41 1498 +7784.07 1499 +7794.73 1502 +7805.4 1502 +7816.06 1503 +7826.72 1506 +7837.39 1508 +7848.05 1515 +7858.71 1516 +7869.38 1520 +7880.04 1520 +7890.7 1524 +7901.36 1528 +7912.03 1529 +7922.69 1532 +7933.35 1533 +7944.02 1537 +7954.68 1541 +7965.34 1542 +7976.01 1545 +7986.67 1547 +7997.33 1550 +8008 1551 +8018.66 1553 +8029.32 1553 +8039.98 1555 +8050.65 1557 +8061.31 1559 +8071.97 1561 +8082.64 1562 +8093.3 1564 +8103.96 1565 +8114.63 1567 +8125.29 1569 +8135.95 1571 +8146.62 1573 +8157.28 1575 +8167.94 1575 +8178.61 1576 +8189.27 1579 +8199.93 1581 +8210.59 1583 +8221.26 1585 +8231.92 1587 +8242.58 1590 +8253.25 1593 +8263.91 1595 +8274.57 1597 +8285.24 1599 +8295.9 1601 +8306.56 1604 +8317.23 1606 +8327.89 1608 +8338.55 1610 +8349.22 1612 +8359.88 1614 +8370.54 1615 +8381.2 1617 +8391.87 1618 +8402.53 1621 +8413.19 1623 +8423.86 1623 +8434.52 1626 +8445.18 1629 +8455.85 1631 +8466.51 1633 +8477.17 1636 +8487.84 1638 +8498.5 1640 +8509.16 1643 +8519.82 1645 +8530.49 1647 +8541.15 1649 +8551.81 1651 +8562.48 1653 +8573.14 1655 +8583.8 1657 +8594.47 1657 +8605.13 1661 +8615.79 1661 +8626.46 1664 +8637.12 1665 +8647.78 1668 +8658.45 1669 +8669.11 1673 +8679.77 1673 +8690.43 1677 +8701.1 1678 +8711.76 1681 +8722.42 1682 +8733.09 1685 +8743.75 1690 +8754.41 1694 +8765.08 1698 +8775.74 1701 +8786.4 1704 +8797.07 1705 +8807.73 1709 +8818.39 1709 +8829.06 1713 +8839.72 1717 +8850.38 1721 +8861.04 1721 +8871.71 1725 +8882.37 1729 +8893.03 1731 +8903.7 1733 +8914.36 1735 +8925.02 1737 +8935.69 1739 +8946.35 1741 +8957.01 1743 +8967.68 1745 +8978.34 1747 +8989 1749 +8999.66 1751 +9010.33 1753 +9020.99 1757 +9031.65 1762 +9042.32 1768 +9052.98 1769 +9063.64 1772 +9074.31 1773 +9084.97 1777 +9095.63 1777 +9106.3 1781 +9116.96 1785 +9127.62 1785 +9138.29 1787 +9148.95 1789 +9159.61 1790 +9170.27 1793 +9180.94 1793 +9191.6 1794 +9202.26 1797 +9212.93 1798 +9223.59 1801 +9234.25 1802 +9244.92 1805 +9255.58 1806 +9266.24 1809 +9276.91 1811 +9287.57 1813 +9298.23 1815 +9308.9 1817 +9319.56 1819 +9330.22 1820 +9340.88 1822 +9351.55 1823 +9362.21 1825 +9372.87 1828 +9383.54 1831 +9394.2 1837 +9404.86 1837 +9415.53 1841 +9426.19 1841 +9436.85 1845 +9447.52 1849 +9458.18 1853 +9468.84 1857 +9479.5 1861 +9490.17 1861 +9500.83 1866 +9511.49 1866 +9522.16 1869 +9532.82 1870 +9543.48 1871 +9554.15 1874 +9564.81 1875 +9575.47 1879 +9586.14 1884 +9596.8 1888 +9607.46 1889 +9618.13 1892 +9628.79 1893 +9639.45 1893 +9650.11 1896 +9660.78 1897 +9671.44 1900 +9682.1 1901 +9692.77 1904 +9703.43 1905 +9714.09 1907 +9724.76 1909 +9735.42 1910 +9746.08 1913 +9756.75 1917 +9767.41 1918 +9778.07 1921 +9788.73 1923 +9799.4 1927 +9810.06 1927 +9820.72 1930 +9831.39 1932 +9842.05 1936 +9852.71 1937 +9863.38 1939 +9874.04 1941 +9884.7 1945 +9895.37 1948 +9906.03 1948 +9916.69 1950 +9927.36 1952 +9938.02 1954 +9948.68 1957 +9959.34 1958 +9970.01 1961 +9980.67 1962 +9991.33 1962 +10002 1965 +10012.7 1966 +10023.3 1969 +10034 1969 +10044.6 1970 +10055.3 1973 +10066 1974 +10076.6 1977 +10087.3 1978 +10098 1982 +10108.6 1983 +10119.3 1985 +10130 1988 +10140.6 1988 +10151.3 1991 +10161.9 1993 +10172.6 1997 +10183.3 1997 +10193.9 1998 +10204.6 2001 +10215.3 2004 +10225.9 2006 +10236.6 2008 +10247.2 2013 +10257.9 2014 +10268.6 2016 +10279.2 2018 +10289.9 2020 +10300.6 2022 +10311.2 2026 +10321.9 2026 +10332.6 2027 +10343.2 2029 +10353.9 2030 +10364.5 2031 +10375.2 2034 +10385.9 2035 +10396.5 2037 +10407.2 2040 +10417.9 2043 +10428.5 2046 +10439.2 2049 +10449.8 2050 +10460.5 2052 +10471.2 2054 +10481.8 2058 +10492.5 2059 +10503.2 2063 +10513.8 2067 +10524.5 2068 +10535.2 2070 +10545.8 2073 +10556.5 2073 +10567.1 2075 +10577.8 2077 +10588.5 2079 +10599.1 2081 +10609.8 2083 +10620.5 2086 +10631.1 2087 +10641.8 2089 +10652.4 2092 +10663.1 2094 +10673.8 2096 +10684.4 2098 +10695.1 2103 +10705.8 2104 +10716.4 2107 +10727.1 2108 +10737.8 2110 +10748.4 2112 +10759.1 2113 +10769.7 2116 +10780.4 2117 +10791.1 2118 +10801.7 2120 +10812.4 2122 +10823.1 2124 +10833.7 2126 +10844.4 2128 +10855 2130 +10865.7 2131 +10876.4 2133 +10887 2134 +10897.7 2136 +10908.4 2138 +10919 2139 +10929.7 2142 +10940.4 2144 +10951 2147 +10961.7 2149 +10972.3 2151 +10983 2153 +10993.7 2153 +11004.3 2154 +11015 2156 +11025.7 2160 +11036.3 2161 +11047 2162 +11057.6 2165 +11068.3 2167 +11079 2167 +11089.6 2171 +11100.3 2172 +11111 2175 +11121.6 2177 +11132.3 2180 +11142.9 2181 +11153.6 2183 +11164.3 2185 +11174.9 2188 +11185.6 2190 +11196.3 2192 +11206.9 2195 +11217.6 2198 +11228.3 2199 +11238.9 2201 +11249.6 2203 +11260.2 2205 +11270.9 2208 +11281.6 2210 +11292.2 2212 +11302.9 2215 +11313.6 2217 +11324.2 2219 +11334.9 2224 +11345.5 2225 +11356.2 2228 +11366.9 2229 +11377.5 2233 +11388.2 2235 +11398.9 2238 +11409.5 2239 +11420.2 2243 +11430.9 2243 +11441.5 2246 +11452.2 2251 +11462.8 2252 +11473.5 2254 +11484.2 2255 +11494.8 2257 +11505.5 2258 +11516.2 2259 +11526.8 2262 +11537.5 2264 +11548.1 2267 +11558.8 2268 +11569.5 2272 +11580.1 2272 +11590.8 2273 +11601.5 2276 +11612.1 2278 +11622.8 2281 +11633.5 2282 +11644.1 2285 +11654.8 2286 +11665.4 2290 +11676.1 2291 +11686.8 2294 +11697.4 2296 +11708.1 2298 +11718.8 2302 +11729.4 2307 +11740.1 2311 +11750.7 2315 +11761.4 2318 +11772.1 2319 +11782.7 2322 +11793.4 2324 +11804.1 2328 +11814.7 2330 +11825.4 2332 +11836.1 2333 +11846.7 2335 +11857.4 2336 +11868 2337 +11878.7 2339 +11889.4 2340 +11900 2341 +11910.7 2343 +11921.4 2344 +11932 2346 +11942.7 2349 +11953.3 2351 +11964 2353 +11974.7 2355 +11985.3 2357 +11996 2358 +12006.7 2362 +12017.3 2364 +12028 2367 +12038.7 2370 +12049.3 2371 +12060 2375 +12070.6 2376 +12081.3 2379 +12092 2380 +12102.6 2385 +12113.3 2385 +12124 2386 +12134.6 2389 +12145.3 2390 +12155.9 2393 +12166.6 2398 +12177.3 2398 +12187.9 2400 +12198.6 2402 +12209.3 2404 +12219.9 2406 +12230.6 2407 +12241.3 2409 +12251.9 2410 +12262.6 2411 +12273.2 2414 +12283.9 2418 +12294.6 2422 +12305.2 2426 +12315.9 2431 +12326.6 2433 +12337.2 2435 +12347.9 2437 +12358.5 2438 +12369.2 2441 +12379.9 2442 +12390.5 2445 +12401.2 2446 +12411.9 2450 +12422.5 2450 +12433.2 2454 +12443.8 2458 +12454.5 2462 +12465.2 2465 +12475.8 2467 +12486.5 2469 +12497.2 2472 +12507.8 2474 +12518.5 2476 +12529.2 2478 +12539.8 2480 +12550.5 2482 +12561.1 2483 +12571.8 2484 +12582.5 2487 +12593.1 2488 +12603.8 2492 +12614.5 2496 +12625.1 2500 +12635.8 2504 +12646.4 2507 +12657.1 2508 +12667.8 2512 +12678.4 2517 +12689.1 2517 +12699.8 2519 +12710.4 2521 +12721.1 2521 +12731.8 2523 +12742.4 2526 +12753.1 2526 +12763.7 2528 +12774.4 2530 +12785.1 2532 +12795.7 2534 +12806.4 2536 +12817.1 2538 +12827.7 2540 +12838.4 2542 +12849 2544 +12859.7 2547 +12870.4 2547 +12881 2549 +12891.7 2550 +12902.4 2552 +12913 2554 +12923.7 2555 +12934.4 2557 +12945 2559 +12955.7 2561 +12966.3 2564 +12977 2565 +12987.7 2567 +12998.3 2571 +13009 2572 +13019.7 2573 +13030.3 2577 +13041 2578 +13051.6 2580 +13062.3 2582 +13073 2584 +13083.6 2586 +13094.3 2588 +13105 2590 +13115.6 2592 +13126.3 2594 +13137 2596 +13147.6 2598 +13158.3 2601 +13168.9 2601 +13179.6 2604 +13190.3 2605 +13200.9 2607 +13211.6 2608 +13222.3 2610 +13232.9 2612 +13243.6 2615 +13254.2 2617 +13264.9 2620 +13275.6 2622 +13286.2 2624 +13296.9 2625 +13307.6 2628 +13318.2 2629 +13328.9 2632 +13339.6 2633 +13350.2 2636 +13360.9 2638 +13371.5 2639 +13382.2 2643 +13392.9 2643 +13403.5 2644 +13414.2 2647 +13424.9 2647 +13435.5 2649 +13446.2 2652 +13456.8 2652 +13467.5 2655 +13478.2 2658 +13488.8 2662 +13499.5 2663 +13510.2 2665 +13520.8 2667 +13531.5 2669 +13542.1 2671 +13552.8 2673 +13563.5 2675 +13574.1 2677 +13584.8 2679 +13595.5 2681 +13606.1 2681 +13616.8 2681 +13627.5 2681 +13638.1 2681 +13648.8 2681 +13659.4 2682 +13670.1 2685 +13680.8 2685 +13691.4 2685 +13702.1 2687 +13712.8 2689 +13723.4 2691 +13734.1 2694 +13744.7 2697 +13755.4 2700 +13766.1 2702 +13776.7 2705 +13787.4 2708 +13798.1 2710 +13808.7 2711 +13819.4 2713 +13830.1 2714 +13840.7 2718 +13851.4 2721 +13862 2721 +13872.7 2724 +13883.4 2724 +13894 2726 +13904.7 2728 +13915.4 2731 +13926 2732 +13936.7 2734 +13947.3 2735 +13958 2737 +13968.7 2738 +13979.3 2740 +13990 2742 +14000.7 2743 +14011.3 2745 +14022 2746 +14032.7 2746 +14043.3 2747 +14054 2750 +14064.6 2750 +14075.3 2751 +14086 2752 +14096.6 2754 +14107.3 2756 +14118 2758 +14128.6 2759 +14139.3 2760 +14149.9 2761 +14160.6 2763 +14171.3 2764 +14181.9 2766 +14192.6 2768 +14203.3 2772 +14213.9 2772 +14224.6 2776 +14235.3 2779 +14245.9 2782 +14256.6 2785 +14267.2 2786 +14277.9 2788 +14288.6 2790 +14299.2 2792 +14309.9 2794 +14320.6 2795 +14331.2 2797 +14341.9 2798 +14352.5 2800 +14363.2 2801 +14373.9 2803 +14384.5 2805 +14395.2 2806 +14405.9 2809 +14416.5 2810 +14427.2 2814 +14437.9 2814 +14448.5 2816 +14459.2 2818 +14469.8 2821 +14480.5 2823 +14491.2 2825 +14501.8 2828 +14512.5 2828 +14523.2 2831 +14533.8 2834 +14544.5 2835 +14555.1 2837 +14565.8 2840 +14576.5 2842 +14587.1 2844 +14597.8 2846 +14608.5 2848 +14619.1 2849 +14629.8 2851 +14640.5 2853 +14651.1 2854 +14661.8 2856 +14672.4 2858 +14683.1 2860 +14693.8 2862 +14704.4 2864 +14715.1 2866 +14725.8 2868 +14736.4 2870 +14747.1 2871 +14757.7 2873 +14768.4 2874 +14779.1 2875 +14789.7 2878 +14800.4 2880 +14811.1 2883 +14821.7 2884 +14832.4 2887 +14843 2890 +14853.7 2890 +14864.4 2891 +14875 2894 +14885.7 2895 +14896.4 2898 +14907 2899 +14917.7 2899 +14928.4 2902 +14939 2904 +14949.7 2909 +14960.3 2912 +14971 2914 +14981.7 2916 +14992.3 2920 +15003 2921 +15013.7 2923 +15024.3 2925 +15035 2927 +15045.6 2929 +15056.3 2931 +15067 2933 +15077.6 2935 +15088.3 2937 +15099 2939 +15109.6 2940 +15120.3 2941 +15131 2943 +15141.6 2944 +15152.3 2945 +15162.9 2948 +15173.6 2949 +15184.3 2951 +15194.9 2953 +15205.6 2955 +15216.3 2958 +15226.9 2961 +15237.6 2967 +15248.2 2968 +15258.9 2969 +15269.6 2972 +15280.2 2973 +15290.9 2973 +15301.6 2977 +15312.2 2981 +15322.9 2985 +15333.6 2990 +15344.2 2991 +15354.9 2996 +15365.5 2996 +15376.2 2998 +15386.9 3000 +15397.5 3001 +15408.2 3002 +15418.9 3005 +15429.5 3008 +15440.2 3008 +15450.8 3010 +15461.5 3012 +15472.2 3014 +15482.8 3015 +15493.5 3016 +15504.2 3018 +15514.8 3022 +15525.5 3023 +15536.2 3024 +15546.8 3027 +15557.5 3028 +15568.1 3031 +15578.8 3032 +15589.5 3033 +15600.1 3036 +15610.8 3039 +15621.5 3040 +15632.1 3040 +15642.8 3041 +15653.4 3042 +15664.1 3042 +15674.8 3042 +15685.4 3042 +15696.1 3042 +15706.8 3042 +15717.4 3042 +15728.1 3042 +15738.8 3042 +15749.4 3042 +15760.1 3042 +15770.7 3042 +15781.4 3042 +15792.1 3042 +15802.7 3042 +15813.4 3042 +15824.1 3042 +15834.7 3042 +15845.4 3042 +15856 3042 +15866.7 3042 +15877.4 3043 +15888 3044 +15898.7 3045 +15909.4 3046 +15920 3047 +15930.7 3047 +15941.3 3048 +15952 3049 +15962.7 3049 +15973.3 3050 +15984 3051 +15994.7 3052 +16005.3 3052 +16016 3053 +16026.7 3054 +16037.3 3055 +16048 3056 +16058.6 3058 +16069.3 3059 +16080 3060 +16090.6 3061 +16101.3 3062 +16112 3063 +16122.6 3064 +16133.3 3065 +16143.9 3066 +16154.6 3068 +16165.3 3070 +16175.9 3072 +16186.6 3073 +16197.3 3074 +16207.9 3074 +16218.6 3076 +16229.3 3078 +16239.9 3079 +16250.6 3080 +16261.2 3081 +16271.9 3082 +16282.6 3083 +16293.2 3084 +16303.9 3085 +16314.6 3086 +16325.2 3087 +16335.9 3088 +16346.5 3089 +16357.2 3090 +16367.9 3092 +16378.5 3093 +16389.2 3094 +16399.9 3095 +16410.5 3096 +16421.2 3097 +16431.9 3097 +16442.5 3098 +16453.2 3099 +16463.8 3100 +16474.5 3101 +16485.2 3102 +16495.8 3103 +16506.5 3104 +16517.2 3105 +16527.8 3106 +16538.5 3107 +16549.1 3108 +16559.8 3109 +16570.5 3110 +16581.1 3111 +16591.8 3112 +16602.5 3113 +16613.1 3114 +16623.8 3115 +16634.5 3116 +16645.1 3116 +16655.8 3117 +16666.4 3119 +16677.1 3121 +16687.8 3123 +16698.4 3123 +16709.1 3124 +16719.8 3125 +16730.4 3126 +16741.1 3127 +16751.7 3128 +16762.4 3129 +16773.1 3129 +16783.7 3130 +16794.4 3131 +16805.1 3132 +16815.7 3133 +16826.4 3134 +16837.1 3135 +16847.7 3136 +16858.4 3137 +16869 3138 +16879.7 3139 +16890.4 3139 +16901 3140 +16911.7 3142 +16922.4 3142 +16933 3144 +16943.7 3144 +16954.3 3145 +16965 3146 +16975.7 3147 +16986.3 3148 +16997 3150 +17007.7 3152 +17018.3 3155 +17029 3156 +17039.6 3156 +17050.3 3157 +17061 3158 +17071.6 3158 +17082.3 3158 +17093 3158 +17103.6 3158 +17114.3 3158 +17125 3159 +17135.6 3159 +17146.3 3159 +17156.9 3159 +17167.6 3159 +17178.3 3159 +17188.9 3160 +17199.6 3160 +17210.3 3160 +17220.9 3160 +17231.6 3160 +17242.2 3160 +17252.9 3160 +17263.6 3161 +17274.2 3161 +17284.9 3161 +17295.6 3161 +17306.2 3161 +17316.9 3161 +17327.6 3162 +17338.2 3162 +17348.9 3162 +17359.5 3162 +17370.2 3162 +17380.9 3162 +17391.5 3162 +17402.2 3163 +17412.9 3168 +17423.5 3168 +17434.2 3173 +17444.8 3177 +17455.5 3178 +17466.2 3181 +17476.8 3183 +17487.5 3186 +17498.2 3187 +17508.8 3188 +17519.5 3192 +17530.2 3194 +17540.8 3197 +17551.5 3199 +17562.1 3202 +17572.8 3204 +17583.5 3207 +17594.1 3213 +17604.8 3215 +17615.5 3217 +17626.1 3220 +17636.8 3222 +17647.4 3225 +17658.1 3227 +17668.8 3230 +17679.4 3232 +17690.1 3236 +17700.8 3238 +17711.4 3242 +17722.1 3244 +17732.8 3247 +17743.4 3250 +17754.1 3252 +17764.7 3253 +17775.4 3256 +17786.1 3259 +17796.7 3259 +17807.4 3262 +17818.1 3265 +17828.7 3268 +17839.4 3270 +17850 3270 +17860.7 3273 +17871.4 3276 +17882 3279 +17892.7 3282 +17903.4 3282 +17914 3284 +17924.7 3286 +17935.4 3287 +17946 3289 +17956.7 3292 +17967.3 3293 +17978 3294 +17988.7 3297 +17999.3 3299 +18010 3302 +18020.7 3304 +18031.3 3305 +18042 3308 +18052.6 3313 +18063.3 3314 +18074 3316 +18084.6 3317 +18095.3 3318 +18106 3318 +18116.6 3318 +18127.3 3318 +18138 3318 +18148.6 3318 +18159.3 3318 +18169.9 3318 +18180.6 3318 +18191.3 3318 +18201.9 3318 +18212.6 3318 +18223.3 3318 +18233.9 3318 +18244.6 3318 +18255.2 3318 +18265.9 3318 +18276.6 3318 +18287.2 3318 +18297.9 3318 +18308.6 3318 +18319.2 3318 +18329.9 3319 +18340.5 3320 +18351.2 3320 +18361.9 3321 +18372.5 3322 +18383.2 3322 +18393.9 3322 +18404.5 3322 +18415.2 3322 +18425.9 3322 +18436.5 3322 +18447.2 3322 +18457.8 3322 +18468.5 3322 +18479.2 3322 +18489.8 3322 +18500.5 3322 +18511.2 3322 +18521.8 3322 +18532.5 3322 +18543.1 3322 +18553.8 3322 +18564.5 3322 +18575.1 3322 +18585.8 3322 +18596.5 3322 +18607.1 3322 +18617.8 3322 +18628.5 3322 +18639.1 3322 +18649.8 3322 +18660.4 3322 +18671.1 3322 +18681.8 3322 +18692.4 3322 +18703.1 3322 +18713.8 3322 +18724.4 3322 +18735.1 3322 +18745.7 3322 +18756.4 3322 +18767.1 3322 +18777.7 3322 +18788.4 3322 +18799.1 3322 +18809.7 3322 +18820.4 3322 +18831.1 3322 +18841.7 3322 +18852.4 3322 +18863 3322 +18873.7 3322 +18884.4 3322 +18895 3322 +18905.7 3322 +18916.4 3322 +18927 3322 +18937.7 3322 +18948.3 3322 +18959 3322 +18969.7 3322 +18980.3 3322 +18991 3322 +19001.7 3322 +19012.3 3322 +19023 3322 +19033.7 3322 +19044.3 3324 +19055 3326 +19065.6 3328 +19076.3 3330 +19087 3333 +19097.6 3333 +19108.3 3334 +19119 3335 +19129.6 3336 +19140.3 3337 +19150.9 3339 +19161.6 3341 +19172.3 3342 +19182.9 3343 +19193.6 3344 +19204.3 3345 +19214.9 3347 +19225.6 3347 +19236.3 3348 +19246.9 3349 +19257.6 3350 +19268.2 3350 +19278.9 3351 +19289.6 3352 +19300.2 3353 +19310.9 3354 +19321.6 3355 +19332.2 3356 +19342.9 3357 +19353.5 3358 +19364.2 3359 +19374.9 3360 +19385.5 3361 +19396.2 3362 +19406.9 3363 +19417.5 3364 +19428.2 3365 +19438.8 3367 +19449.5 3368 +19460.2 3369 +19470.8 3370 +19481.5 3371 +19492.2 3372 +19502.8 3372 +19513.5 3375 +19524.2 3376 +19534.8 3377 +19545.5 3378 +19556.1 3380 +19566.8 3380 +19577.5 3382 +19588.1 3383 +19598.8 3384 +19609.5 3386 +19620.1 3387 +19630.8 3388 +19641.4 3389 +19652.1 3390 +19662.8 3391 +19673.4 3392 +19684.1 3393 +19694.8 3394 +19705.4 3395 +19716.1 3396 +19726.8 3397 +19737.4 3398 +19748.1 3399 +19758.7 3400 +19769.4 3401 +19780.1 3402 +19790.7 3403 +19801.4 3403 +19812.1 3404 +19822.7 3404 +19833.4 3405 +19844 3406 +19854.7 3407 +19865.4 3408 +19876 3409 +19886.7 3410 +19897.4 3411 +19908 3412 +19918.7 3413 +19929.4 3414 +19940 3415 +19950.7 3416 +19961.3 3417 +19972 3418 +19982.7 3419 +19993.3 3420 +20004 3420 +20014.7 3421 +20025.3 3422 +20036 3423 +20046.6 3424 +20057.3 3425 +20068 3427 +20078.6 3429 +20089.3 3432 +20100 3434 +20110.6 3435 +20121.3 3436 +20132 3437 +20142.6 3438 +20153.3 3438 +20163.9 3439 +20174.6 3440 +20185.3 3441 +20195.9 3442 +20206.6 3443 +20217.3 3444 +20227.9 3445 +20238.6 3446 +20249.2 3446 +20259.9 3446 +20270.6 3447 +20281.2 3447 +20291.9 3448 +20302.6 3448 +20313.2 3448 +20323.9 3449 +20334.6 3449 +20345.2 3450 +20355.9 3450 +20366.5 3451 +20377.2 3452 +20387.9 3453 +20398.5 3454 +20409.2 3455 +20419.9 3456 +20430.5 3457 +20441.2 3458 +20451.8 3459 +20462.5 3460 +20473.2 3461 +20483.8 3462 +20494.5 3463 +20505.2 3464 +20515.8 3465 +20526.5 3466 +20537.1 3467 +20547.8 3468 +20558.5 3469 +20569.1 3470 +20579.8 3471 +20590.5 3472 +20601.1 3473 +20611.8 3474 +20622.5 3475 +20633.1 3478 +20643.8 3478 +20654.4 3479 +20665.1 3480 +20675.8 3481 +20686.4 3481 +20697.1 3482 +20707.8 3483 +20718.4 3484 +20729.1 3487 +20739.7 3489 +20750.4 3489 +20761.1 3490 +20771.7 3491 +20782.4 3492 +20793.1 3493 +20803.7 3494 +20814.4 3495 +20825.1 3496 +20835.7 3497 +20846.4 3498 +20857 3499 +20867.7 3499 +20878.4 3501 +20889 3502 +20899.7 3504 +20910.4 3506 +20921 3508 +20931.7 3510 +20942.3 3512 +20953 3514 +20963.7 3515 +20974.3 3516 +20985 3517 +20995.7 3518 +21006.3 3520 +21017 3520 +21027.7 3522 +21038.3 3523 +21049 3523 +21059.6 3523 +21070.3 3523 +21081 3524 +21091.6 3526 +21102.3 3527 +21113 3528 +21123.6 3530 +21134.3 3531 +21144.9 3532 +21155.6 3533 +21166.3 3534 +21176.9 3535 +21187.6 3536 +21198.3 3537 +21208.9 3538 +21219.6 3539 +21230.3 3539 +21240.9 3540 +21251.6 3541 +21262.2 3542 +21272.9 3543 +21283.6 3544 +21294.2 3544 +21304.9 3545 +21315.6 3546 +21326.2 3548 +21336.9 3548 +21347.5 3549 +21358.2 3550 +21368.9 3551 +21379.5 3552 +21390.2 3553 +21400.9 3554 +21411.5 3554 +21422.2 3555 +21432.9 3556 +21443.5 3557 +21454.2 3558 +21464.8 3559 +21475.5 3561 +21486.2 3562 +21496.8 3562 +21507.5 3562 +21518.2 3562 +21528.8 3564 +21539.5 3565 +21550.1 3567 +21560.8 3567 +21571.5 3569 +21582.1 3572 +21592.8 3575 +21603.5 3577 +21614.1 3579 +21624.8 3580 +21635.5 3582 +21646.1 3584 +21656.8 3584 +21667.4 3586 +21678.1 3586 +21688.8 3588 +21699.4 3590 +21710.1 3592 +21720.8 3594 +21731.4 3596 +21742.1 3598 +21752.7 3600 +21763.4 3602 +21774.1 3604 +21784.7 3606 +21795.4 3608 +21806.1 3611 +21816.7 3613 +21827.4 3615 +21838 3616 +21848.7 3617 +21859.4 3618 +21870 3619 +21880.7 3621 +21891.4 3624 +21902 3626 +21912.7 3627 +21923.4 3628 +21934 3629 +21944.7 3631 +21955.3 3631 +21966 3633 +21976.7 3635 +21987.3 3635 +21998 3637 +22008.7 3639 +22019.3 3641 +22030 3643 +22040.6 3643 +22051.3 3645 +22062 3647 +22072.6 3647 +22083.3 3650 +22094 3652 +22104.6 3652 +22115.3 3654 +22126 3656 +22136.6 3658 +22147.3 3658 +22157.9 3659 +22168.6 3660 +22179.3 3661 +22189.9 3662 +22200.6 3663 +22211.3 3664 +22221.9 3664 +22232.6 3665 +22243.2 3665 +22253.9 3665 +22264.6 3665 +22275.2 3665 +22285.9 3665 +22296.6 3665 +22307.2 3666 +22317.9 3668 +22328.6 3669 +22339.2 3669 +22349.9 3670 +22360.5 3671 +22371.2 3672 +22381.9 3673 +22392.5 3674 +22403.2 3675 +22413.9 3676 +22424.5 3677 +22435.2 3679 +22445.8 3680 +22456.5 3680 +22467.2 3681 +22477.8 3682 +22488.5 3683 +22499.2 3684 +22509.8 3685 +22520.5 3688 +22531.2 3689 +22541.8 3690 +22552.5 3691 +22563.1 3692 +22573.8 3693 +22584.5 3693 +22595.1 3695 +22605.8 3696 +22616.5 3697 +22627.1 3698 +22637.8 3699 +22648.4 3700 +22659.1 3701 +22669.8 3701 +22680.4 3702 +22691.1 3703 +22701.8 3704 +22712.4 3704 +22723.1 3705 +22733.8 3707 +22744.4 3708 +22755.1 3709 +22765.7 3709 +22776.4 3710 +22787.1 3711 +22797.7 3712 +22808.4 3713 +22819.1 3715 +22829.7 3716 +22840.4 3717 +22851 3719 +22861.7 3721 +22872.4 3722 +22883 3724 +22893.7 3724 +22904.4 3725 +22915 3725 +22925.7 3725 +22936.3 3725 +22947 3725 +22957.7 3725 +22968.3 3726 +22979 3728 +22989.7 3729 +23000.3 3730 +23011 3731 +23021.7 3732 +23032.3 3733 +23043 3734 +23053.6 3735 +23064.3 3736 +23075 3737 +23085.6 3739 +23096.3 3741 +23107 3741 +23117.6 3743 +23128.3 3743 +23138.9 3745 +23149.6 3746 +23160.3 3749 +23170.9 3750 +23181.6 3750 +23192.3 3752 +23202.9 3753 +23213.6 3755 +23224.3 3756 +23234.9 3758 +23245.6 3759 +23256.2 3761 +23266.9 3762 +23277.6 3763 +23288.2 3764 +23298.9 3766 +23309.6 3768 +23320.2 3768 +23330.9 3770 +23341.5 3771 +23352.2 3773 +23362.9 3774 +23373.5 3775 +23384.2 3777 +23394.9 3778 +23405.5 3780 +23416.2 3781 +23426.9 3781 +23437.5 3783 +23448.2 3783 +23458.8 3783 +23469.5 3783 +23480.2 3783 +23490.8 3784 +23501.5 3784 +23512.2 3784 +23522.8 3784 +23533.5 3784 +23544.1 3784 +23554.8 3784 +23565.5 3784 +23576.1 3784 +23586.8 3784 +23597.5 3784 +23608.1 3784 +23618.8 3784 +23629.5 3784 +23640.1 3784 +23650.8 3784 +23661.4 3784 +23672.1 3784 +23682.8 3784 +23693.4 3784 +23704.1 3784 +23714.8 3784 +23725.4 3784 +23736.1 3784 +23746.7 3784 +23757.4 3784 +23768.1 3784 +23778.7 3784 +23789.4 3784 +23800.1 3784 +23810.7 3784 +23821.4 3784 +23832.1 3784 +23842.7 3784 +23853.4 3784 +23864 3784 +23874.7 3784 +23885.4 3784 +23896 3784 +23906.7 3784 +23917.4 3784 +23928 3784 +23938.7 3784 +23949.3 3784 +23960 3784 +23970.7 3784 +23981.3 3784 +23992 3784 +24002.7 3784 +24013.3 3785 +24024 3785 +24034.6 3786 +24045.3 3787 +24056 3788 +24066.6 3789 +24077.3 3791 +24088 3792 +24098.6 3793 +24109.3 3794 +24120 3795 +24130.6 3796 +24141.3 3798 +24151.9 3800 +24162.6 3802 +24173.3 3802 +24183.9 3802 +24194.6 3802 +24205.3 3802 +24215.9 3802 +24226.6 3802 +24237.2 3802 +24247.9 3802 +24258.6 3802 +24269.2 3802 +24279.9 3802 +24290.6 3802 +24301.2 3802 +24311.9 3802 +24322.6 3802 +24333.2 3802 +24343.9 3802 +24354.5 3802 +24365.2 3802 +24375.9 3802 +24386.5 3802 +24397.2 3802 +24407.9 3802 +24418.5 3802 +24429.2 3802 +24439.8 3802 +24450.5 3802 +24461.2 3802 +24471.8 3802 +24482.5 3802 +24493.2 3802 +24503.8 3802 +24514.5 3802 +24525.2 3802 +24535.8 3802 +24546.5 3802 +24557.1 3802 +24567.8 3802 +24578.5 3802 +24589.1 3802 +24599.8 3802 +24610.5 3802 +24621.1 3802 +24631.8 3802 +24642.4 3802 +24653.1 3802 +24663.8 3802 +24674.4 3802 +24685.1 3802 +24695.8 3802 +24706.4 3802 +24717.1 3802 +24727.8 3802 +24738.4 3802 +24749.1 3802 +24759.7 3802 +24770.4 3802 +24781.1 3802 +24791.7 3802 +24802.4 3802 +24813.1 3802 +24823.7 3802 +24834.4 3802 +24845 3802 +24855.7 3802 +24866.4 3802 +24877 3802 +24887.7 3802 +24898.4 3802 +24909 3802 +24919.7 3802 +24930.4 3802 +24941 3802 +24951.7 3802 +24962.3 3802 +24973 3803 +24983.7 3804 +24994.3 3805 +25005 3806 +25015.7 3808 +25026.3 3808 +25037 3809 +25047.6 3810 +25058.3 3811 +25069 3812 +25079.6 3813 +25090.3 3814 +25101 3815 +25111.6 3816 +25122.3 3817 +25133 3817 +25143.6 3819 +25154.3 3820 +25164.9 3821 +25175.6 3822 +25186.3 3823 +25196.9 3824 +25207.6 3825 +25218.3 3826 +25228.9 3827 +25239.6 3828 +25250.2 3829 +25260.9 3830 +25271.6 3831 +25282.2 3832 +25292.9 3833 +25303.6 3834 +25314.2 3835 +25324.9 3836 +25335.5 3837 +25346.2 3838 +25356.9 3839 +25367.5 3840 +25378.2 3841 +25388.9 3842 +25399.5 3843 +25410.2 3845 +25420.9 3846 +25431.5 3847 +25442.2 3847 +25452.8 3848 +25463.5 3849 +25474.2 3851 +25484.8 3852 +25495.5 3853 +25506.2 3854 +25516.8 3855 +25527.5 3857 +25538.1 3859 +25548.8 3861 +25559.5 3862 +25570.1 3863 +25580.8 3864 +25591.5 3865 +25602.1 3866 +25612.8 3868 +25623.5 3869 +25634.1 3870 +25644.8 3871 +25655.4 3872 +25666.1 3874 +25676.8 3875 +25687.4 3876 +25698.1 3877 +25708.8 3878 +25719.4 3879 +25730.1 3880 +25740.7 3881 +25751.4 3882 +25762.1 3883 +25772.7 3884 +25783.4 3885 +25794.1 3886 +25804.7 3887 +25815.4 3888 +25826.1 3889 +25836.7 3890 +25847.4 3891 +25858 3892 +25868.7 3893 +25879.4 3894 +25890 3895 +25900.7 3896 +25911.4 3897 +25922 3898 +25932.7 3899 +25943.3 3900 +25954 3900 +25964.7 3901 +25975.3 3902 +25986 3903 +25996.7 3905 +26007.3 3906 +26018 3906 +26028.7 3907 +26039.3 3908 +26050 3909 +26060.6 3911 +26071.3 3912 +26082 3912 +26092.6 3913 +26103.3 3914 +26114 3915 +26124.6 3917 +26135.3 3919 +26145.9 3920 +26156.6 3922 +26167.3 3923 +26177.9 3923 +26188.6 3924 +26199.3 3925 +26209.9 3926 +26220.6 3928 +26231.3 3929 +26241.9 3930 +26252.6 3931 +26263.2 3932 +26273.9 3932 +26284.6 3934 +26295.2 3935 +26305.9 3936 +26316.6 3937 +26327.2 3938 +26337.9 3939 +26348.5 3940 +26359.2 3941 +26369.9 3942 +26380.5 3943 +26391.2 3944 +26401.9 3945 +26412.5 3946 +26423.2 3947 +26433.8 3948 +26444.5 3949 +26455.2 3950 +26465.8 3951 +26476.5 3952 +26487.2 3953 +26497.8 3954 +26508.5 3955 +26519.2 3956 +26529.8 3957 +26540.5 3958 +26551.1 3959 +26561.8 3960 +26572.5 3961 +26583.1 3962 +26593.8 3963 +26604.5 3965 +26615.1 3965 +26625.8 3965 +26636.4 3965 +26647.1 3965 +26657.8 3965 +26668.4 3965 +26679.1 3965 +26689.8 3965 +26700.4 3965 +26711.1 3965 +26721.8 3965 +26732.4 3965 +26743.1 3965 +26753.7 3965 +26764.4 3965 +26775.1 3965 +26785.7 3965 +26796.4 3965 +26807.1 3965 +26817.7 3965 +26828.4 3965 +26839 3965 +26849.7 3965 +26860.4 3965 +26871 3965 +26881.7 3965 +26892.4 3965 +26903 3965 +26913.7 3965 +26924.4 3965 +26935 3965 +26945.7 3965 +26956.3 3965 +26967 3965 +26977.7 3965 +26988.3 3965 +26999 3965 +27009.7 3965 +27020.3 3965 +27031 3965 +27041.6 3965 +27052.3 3965 +27063 3965 +27073.6 3965 +27084.3 3965 +27095 3965 +27105.6 3965 +27116.3 3965 +27127 3965 +27137.6 3965 +27148.3 3965 +27158.9 3965 +27169.6 3967 +27180.3 3968 +27190.9 3969 +27201.6 3970 +27212.3 3971 +27222.9 3973 +27233.6 3975 +27244.2 3977 +27254.9 3978 +27265.6 3979 +27276.2 3979 +27286.9 3980 +27297.6 3981 +27308.2 3982 +27318.9 3983 +27329.6 3983 +27340.2 3983 +27350.9 3983 +27361.5 3983 +27372.2 3983 +27382.9 3984 +27393.5 3985 +27404.2 3985 +27414.9 3985 +27425.5 3986 +27436.2 3987 +27446.8 3987 +27457.5 3987 +27468.2 3987 +27478.8 3987 +27489.5 3987 +27500.2 3987 +27510.8 3987 +27521.5 3987 +27532.2 3987 +27542.8 3987 +27553.5 3987 +27564.1 3987 +27574.8 3987 +27585.5 3987 +27596.1 3987 +27606.8 3987 +27617.5 3987 +27628.1 3987 +27638.8 3987 +27649.4 3987 +27660.1 3987 +27670.8 3987 +27681.4 3987 +27692.1 3987 +27702.8 3987 +27713.4 3987 +27724.1 3987 +27734.7 3987 +27745.4 3987 +27756.1 3987 +27766.7 3987 +27777.4 3987 +27788.1 3987 +27798.7 3987 +27809.4 3987 +27820.1 3987 +27830.7 3987 +27841.4 3987 +27852 3987 +27862.7 3987 +27873.4 3987 +27884 3987 +27894.7 3987 +27905.4 3987 +27916 3987 +27926.7 3987 +27937.3 3987 +27948 3987 +27958.7 3987 +27969.3 3987 +27980 3987 +27990.7 3991 +28001.3 3991 +28012 3994 +28022.7 3997 +28033.3 4000 +28044 4003 +28054.6 4006 +28065.3 4006 +28076 4008 +28086.6 4009 +28097.3 4011 +28108 4012 +28118.6 4014 +28129.3 4014 +28139.9 4014 +28150.6 4016 +28161.3 4017 +28171.9 4018 +28182.6 4019 +28193.3 4019 +28203.9 4021 +28214.6 4022 +28225.3 4024 +28235.9 4025 +28246.6 4027 +28257.2 4028 +28267.9 4029 +28278.6 4032 +28289.2 4036 +28299.9 4036 +28310.6 4039 +28321.2 4041 +28331.9 4042 +28342.5 4045 +28353.2 4046 +28363.9 4047 +28374.5 4047 +28385.2 4048 +28395.9 4050 +28406.5 4051 +28417.2 4052 +28427.9 4053 +28438.5 4055 +28449.2 4057 +28459.8 4058 +28470.5 4060 +28481.2 4060 +28491.8 4063 +28502.5 4063 +28513.2 4066 +28523.8 4066 +28534.5 4067 +28545.1 4069 +28555.8 4070 +28566.5 4072 +28577.1 4072 +28587.8 4075 +28598.5 4075 +28609.1 4079 +28619.8 4083 +28630.5 4084 +28641.1 4084 +28651.8 4087 +28662.4 4087 +28673.1 4090 +28683.8 4093 +28694.4 4095 +28705.1 4096 +28715.8 4096 +28726.4 4097 +28737.1 4099 +28747.7 4099 +28758.4 4102 +28769.1 4102 +28779.7 4103 +28790.4 4104 +28801.1 4106 +28811.7 4107 +28822.4 4108 +28833 4111 +28843.7 4112 +28854.4 4113 +28865 4116 +28875.7 4117 +28886.4 4118 +28897 4120 +28907.7 4121 +28918.4 4122 +28929 4123 +28939.7 4125 +28950.3 4127 +28961 4128 +28971.7 4129 +28982.3 4131 +28993 4131 +29003.7 4132 +29014.3 4134 +29025 4137 +29035.6 4138 +29046.3 4139 +29057 4140 +29067.6 4142 +29078.3 4145 +29089 4148 +29099.6 4150 +29110.3 4151 +29121 4153 +29131.6 4154 +29142.3 4155 +29152.9 4156 +29163.6 4158 +29174.3 4159 +29184.9 4161 +29195.6 4162 +29206.3 4163 +29216.9 4165 +29227.6 4166 +29238.2 4169 +29248.9 4169 +29259.6 4172 +29270.2 4173 +29280.9 4175 +29291.6 4178 +29302.2 4178 +29312.9 4181 +29323.6 4181 +29334.2 4182 +29344.9 4184 +29355.5 4185 +29366.2 4187 +29376.9 4189 +29387.5 4191 +29398.2 4191 +29408.9 4194 +29419.5 4197 +29430.2 4200 +29440.8 4204 +29451.5 4204 +29462.2 4204 +29472.8 4204 +29483.5 4204 +29494.2 4206 +29504.8 4208 +29515.5 4208 +29526.2 4209 +29536.8 4210 +29547.5 4211 +29558.1 4212 +29568.8 4213 +29579.5 4213 +29590.1 4214 +29600.8 4215 +29611.5 4215 +29622.1 4216 +29632.8 4217 +29643.4 4217 +29654.1 4219 +29664.8 4220 +29675.4 4221 +29686.1 4222 +29696.8 4223 +29707.4 4224 +29718.1 4225 +29728.8 4226 +29739.4 4226 +29750.1 4227 +29760.7 4228 +29771.4 4229 +29782.1 4230 +29792.7 4230 +29803.4 4231 +29814.1 4232 +29824.7 4232 +29835.4 4233 +29846 4236 +29856.7 4239 +29867.4 4239 +29878 4242 +29888.7 4242 +29899.4 4243 +29910 4245 +29920.7 4246 +29931.3 4248 +29942 4250 +29952.7 4252 +29963.3 4253 +29974 4254 +29984.7 4256 +29995.3 4258 +30006 4261 +30016.7 4264 +30027.3 4266 +30038 4267 +30048.6 4268 +30059.3 4270 +30070 4271 +30080.6 4274 +30091.3 4275 +30102 4275 +30112.6 4277 +30123.3 4278 +30133.9 4279 +30144.6 4281 +30155.3 4281 +30165.9 4282 +30176.6 4284 +30187.3 4284 +30197.9 4287 +30208.6 4287 +30219.3 4288 +30229.9 4290 +30240.6 4290 +30251.2 4292 +30261.9 4293 +30272.6 4296 +30283.2 4299 +30293.9 4299 +30304.6 4302 +30315.2 4302 +30325.9 4307 +30336.5 4307 +30347.2 4310 +30357.9 4312 +30368.5 4316 +30379.2 4317 +30389.9 4320 +30400.5 4322 +30411.2 4322 +30421.9 4323 +30432.5 4325 +30443.2 4326 +30453.8 4328 +30464.5 4329 +30475.2 4331 +30485.8 4332 +30496.5 4332 +30507.2 4333 +30517.8 4335 +30528.5 4336 +30539.1 4337 +30549.8 4340 +30560.5 4341 +30571.1 4342 +30581.8 4343 +30592.5 4346 +30603.1 4347 +30613.8 4349 +30624.5 4351 +30635.1 4353 +30645.8 4356 +30656.4 4356 +30667.1 4359 +30677.8 4359 +30688.4 4361 +30699.1 4362 +30709.8 4365 +30720.4 4368 +30731.1 4371 +30741.7 4372 +30752.4 4375 +30763.1 4377 +30773.7 4378 +30784.4 4379 +30795.1 4381 +30805.7 4381 +30816.4 4384 +30827.1 4385 +30837.7 4386 +30848.4 4388 +30859 4389 +30869.7 4390 +30880.4 4393 +30891 4394 +30901.7 4394 +30912.4 4395 +30923 4397 +30933.7 4399 +30944.3 4400 +30955 4401 +30965.7 4402 +30976.3 4403 +30987 4404 +30997.7 4406 +31008.3 4407 +31019 4409 +31029.7 4409 +31040.3 4409 +31051 4409 +31061.6 4409 +31072.3 4409 +31083 4409 +31093.6 4409 +31104.3 4409 +31115 4409 +31125.6 4409 +31136.3 4409 +31146.9 4409 +31157.6 4409 +31168.3 4409 +31178.9 4409 +31189.6 4409 +31200.3 4409 +31210.9 4409 +31221.6 4409 +31232.2 4409 +31242.9 4409 +31253.6 4409 +31264.2 4409 +31274.9 4409 +31285.6 4409 +31296.2 4409 +31306.9 4409 +31317.6 4409 +31328.2 4409 +31338.9 4409 +31349.5 4409 +31360.2 4409 +31370.9 4409 +31381.5 4409 +31392.2 4409 +31402.9 4409 +31413.5 4410 +31424.2 4410 +31434.8 4410 +31445.5 4411 +31456.2 4411 +31466.8 4412 +31477.5 4412 +31488.2 4413 +31498.8 4414 +31509.5 4414 +31520.2 4415 +31530.8 4415 +31541.5 4416 +31552.1 4417 +31562.8 4418 +31573.5 4419 +31584.1 4419 +31594.8 4420 +31605.5 4421 +31616.1 4422 +31626.8 4426 +31637.4 4429 +31648.1 4429 +31658.8 4429 +31669.4 4429 +31680.1 4429 +31690.8 4429 +31701.4 4429 +31712.1 4429 +31722.8 4429 +31733.4 4429 +31744.1 4429 +31754.7 4429 +31765.4 4429 +31776.1 4429 +31786.7 4429 +31797.4 4429 +31808.1 4429 +31818.7 4429 +31829.4 4429 +31840 4429 +31850.7 4429 +31861.4 4429 +31872 4429 +31882.7 4429 +31893.4 4429 +31904 4429 +31914.7 4429 +31925.4 4429 +31936 4429 +31946.7 4429 +31957.3 4429 +31968 4429 +31978.7 4430 +31989.3 4430 +32000 4430 +32010.7 4430 +32021.3 4432 +32032 4433 +32042.6 4434 +32053.3 4434 +32064 4435 +32074.6 4436 +32085.3 4438 +32096 4439 +32106.6 4439 +32117.3 4440 +32128 4441 +32138.6 4441 +32149.3 4442 +32159.9 4443 +32170.6 4444 +32181.3 4445 +32191.9 4445 +32202.6 4446 +32213.3 4446 +32223.9 4447 +32234.6 4448 +32245.2 4449 +32255.9 4449 +32266.6 4450 +32277.2 4451 +32287.9 4452 +32298.6 4453 +32309.2 4454 +32319.9 4455 +32330.5 4456 +32341.2 4457 +32351.9 4458 +32362.5 4458 +32373.2 4459 +32383.9 4459 +32394.5 4460 +32405.2 4460 +32415.9 4460 +32426.5 4461 +32437.2 4461 +32447.8 4462 +32458.5 4462 +32469.2 4463 +32479.8 4464 +32490.5 4465 +32501.2 4465 +32511.8 4466 +32522.5 4466 +32533.1 4466 +32543.8 4468 +32554.5 4468 +32565.1 4468 +32575.8 4468 +32586.5 4468 +32597.1 4468 +32607.8 4468 +32618.5 4468 +32629.1 4468 +32639.8 4468 +32650.4 4468 +32661.1 4468 +32671.8 4468 +32682.4 4468 +32693.1 4468 +32703.8 4468 +32714.4 4468 +32725.1 4468 +32735.7 4468 +32746.4 4468 +32757.1 4468 +32767.7 4468 +32778.4 4468 +32789.1 4468 +32799.7 4468 +32810.4 4468 +32821.1 4468 +32831.7 4468 +32842.4 4468 +32853 4468 +32863.7 4468 +32874.4 4468 +32885 4468 +32895.7 4468 +32906.4 4468 +32917 4468 +32927.7 4468 +32938.3 4468 +32949 4468 +32959.7 4468 +32970.3 4468 +32981 4468 +32991.7 4468 +33002.3 4468 +33013 4468 +33023.7 4468 +33034.3 4468 +33045 4468 +33055.6 4468 +33066.3 4468 +33077 4468 +33087.6 4468 +33098.3 4468 +33109 4468 +33119.6 4468 +33130.3 4468 +33140.9 4468 +33151.6 4468 +33162.3 4468 +33172.9 4468 +33183.6 4468 +33194.3 4468 +33204.9 4468 +33215.6 4468 +33226.3 4468 +33236.9 4468 +33247.6 4468 +33258.2 4468 +33268.9 4468 +33279.6 4468 +33290.2 4468 +33300.9 4468 +33311.6 4468 +33322.2 4468 +33332.9 4468 +33343.5 4468 +33354.2 4468 +33364.9 4468 +33375.5 4468 +33386.2 4468 +33396.9 4468 +33407.5 4468 +33418.2 4468 +33428.8 4468 +33439.5 4468 +33450.2 4468 +33460.8 4468 +33471.5 4468 +33482.2 4468 +33492.8 4468 +33503.5 4468 +33514.2 4468 +33524.8 4468 +33535.5 4468 +33546.1 4468 +33556.8 4468 +33567.5 4468 +33578.1 4468 +33588.8 4468 +33599.5 4468 +33610.1 4468 +33620.8 4468 +33631.4 4468 +33642.1 4468 +33652.8 4468 +33663.4 4468 +33674.1 4468 +33684.8 4468 +33695.4 4468 +33706.1 4468 +33716.8 4468 +33727.4 4468 +33738.1 4468 +33748.7 4468 +33759.4 4468 +33770.1 4468 +33780.7 4468 +33791.4 4468 +33802.1 4468 +33812.7 4468 +33823.4 4468 +33834 4468 +33844.7 4468 +33855.4 4468 +33866 4468 +33876.7 4468 +33887.4 4468 +33898 4468 +33908.7 4468 +33919.4 4468 +33930 4468 +33940.7 4468 +33951.3 4468 +33962 4468 +33972.7 4468 +33983.3 4468 +33994 4468 +34004.7 4468 +34015.3 4468 +34026 4468 +34036.6 4468 +34047.3 4468 +34058 4468 +34068.6 4468 +34079.3 4468 +34090 4468 +34100.6 4468 +34111.3 4468 +34122 4468 +34132.6 4468 +34143.3 4468 +34153.9 4468 +34164.6 4468 +34175.3 4468 +34185.9 4468 +34196.6 4468 +34207.3 4468 +34217.9 4468 +34228.6 4468 +34239.2 4468 +34249.9 4468 +34260.6 4468 +34271.2 4468 +34281.9 4468 +34292.6 4468 +34303.2 4468 +34313.9 4468 +34324.6 4468 +34335.2 4468 +34345.9 4468 +34356.5 4468 +34367.2 4468 +34377.9 4468 +34388.5 4468 +34399.2 4468 +34409.9 4468 +34420.5 4468 +34431.2 4468 +34441.8 4468 +34452.5 4468 +34463.2 4468 +34473.8 4468 +34484.5 4468 +34495.2 4468 +34505.8 4468 +34516.5 4468 +34527.2 4468 +34537.8 4468 +34548.5 4468 +34559.1 4468 +34569.8 4468 +34580.5 4468 +34591.1 4468 +34601.8 4468 +34612.5 4468 +34623.1 4468 +34633.8 4468 +34644.4 4468 +34655.1 4468 +34665.8 4468 +34676.4 4468 +34687.1 4468 +34697.8 4468 +34708.4 4468 +34719.1 4468 +34729.7 4468 +34740.4 4468 +34751.1 4468 +34761.7 4468 +34772.4 4468 +34783.1 4468 +34793.7 4468 +34804.4 4468 +34815.1 4468 +34825.7 4468 +34836.4 4468 +34847 4468 +34857.7 4468 +34868.4 4468 +34879 4468 +34889.7 4468 +34900.4 4468 +34911 4468 +34921.7 4468 +34932.3 4468 +34943 4468 +34953.7 4468 +34964.3 4468 +34975 4468 +34985.7 4468 +34996.3 4468 +35007 4468 +35017.7 4468 +35028.3 4468 +35039 4468 +35049.6 4468 +35060.3 4468 +35071 4468 +35081.6 4468 +35092.3 4468 +35103 4468 +35113.6 4468 +35124.3 4468 +35134.9 4469 +35145.6 4471 +35156.3 4480 +35166.9 4481 +35177.6 4483 +35188.3 4484 +35198.9 4490 +35209.6 4490 +35220.3 4492 +35230.9 4495 +35241.6 4497 +35252.2 4499 +35262.9 4501 +35273.6 4502 +35284.2 4505 +35294.9 4507 +35305.6 4509 +35316.2 4513 +35326.9 4514 +35337.5 4515 +35348.2 4521 +35358.9 4522 +35369.5 4522 +35380.2 4529 +35390.9 4533 +35401.5 4535 +35412.2 4539 +35422.9 4541 +35433.5 4541 +35444.2 4545 +35454.8 4546 +35465.5 4549 +35476.2 4551 +35486.8 4552 +35497.5 4555 +35508.2 4557 +35518.8 4560 +35529.5 4561 +35540.1 4563 +35550.8 4565 +35561.5 4566 +35572.1 4570 +35582.8 4572 +35593.5 4574 +35604.1 4575 +35614.8 4576 +35625.5 4577 +35636.1 4578 +35646.8 4579 +35657.4 4579 +35668.1 4580 +35678.8 4581 +35689.4 4582 +35700.1 4583 +35710.8 4584 +35721.4 4586 +35732.1 4588 +35742.7 4589 +35753.4 4590 +35764.1 4591 +35774.7 4591 +35785.4 4592 +35796.1 4593 +35806.7 4594 +35817.4 4595 +35828 4596 +35838.7 4597 +35849.4 4598 +35860 4600 +35870.7 4602 +35881.4 4604 +35892 4605 +35902.7 4607 +35913.4 4608 +35924 4612 +35934.7 4615 +35945.3 4618 +35956 4620 +35966.7 4621 +35977.3 4624 +35988 4626 +35998.7 4627 +36009.3 4633 +36020 4634 +36030.6 4635 +36041.3 4639 +36052 4644 +36062.6 4644 +36073.3 4648 +36084 4651 +36094.6 4652 +36105.3 4658 +36116 4658 +36126.6 4660 +36137.3 4666 +36147.9 4667 +36158.6 4667 +36169.3 4672 +36179.9 4674 +36190.6 4679 +36201.3 4680 +36211.9 4685 +36222.6 4686 +36233.2 4692 +36243.9 4693 +36254.6 4695 +36265.2 4698 +36275.9 4702 +36286.6 4704 +36297.2 4706 +36307.9 4709 +36318.6 4710 +36329.2 4712 +36339.9 4716 +36350.5 4720 +36361.2 4722 +36371.9 4723 +36382.5 4727 +36393.2 4728 +36403.9 4730 +36414.5 4733 +36425.2 4733 +36435.8 4737 +36446.5 4739 +36457.2 4741 +36467.8 4742 +36478.5 4745 +36489.2 4749 +36499.8 4750 +36510.5 4752 +36521.2 4755 +36531.8 4761 +36542.5 4761 +36553.1 4764 +36563.8 4764 +36574.5 4765 +36585.1 4769 +36595.8 4769 +36606.5 4771 +36617.1 4775 +36627.8 4775 +36638.4 4778 +36649.1 4780 +36659.8 4784 +36670.4 4786 +36681.1 4788 +36691.8 4792 +36702.4 4795 +36713.1 4798 +36723.8 4801 +36734.4 4801 +36745.1 4803 +36755.7 4808 +36766.4 4811 +36777.1 4813 +36787.7 4817 +36798.4 4819 +36809.1 4822 +36819.7 4824 +36830.4 4828 +36841 4830 +36851.7 4834 +36862.4 4836 +36873 4838 +36883.7 4839 +36894.4 4844 +36905 4847 +36915.7 4848 +36926.3 4850 +36937 4853 +36947.7 4854 +36958.3 4856 +36969 4859 +36979.7 4862 +36990.3 4864 +37001 4868 +37011.7 4870 +37022.3 4872 +37033 4875 +37043.6 4879 +37054.3 4880 +37065 4882 +37075.6 4885 +37086.3 4887 +37097 4889 +37107.6 4893 +37118.3 4896 +37128.9 4898 +37139.6 4902 +37150.3 4903 +37160.9 4903 +37171.6 4906 +37182.3 4909 +37192.9 4910 +37203.6 4914 +37214.3 4918 +37224.9 4921 +37235.6 4923 +37246.2 4924 +37256.9 4928 +37267.6 4930 +37278.2 4933 +37288.9 4936 +37299.6 4939 +37310.2 4940 +37320.9 4943 +37331.5 4947 +37342.2 4947 +37352.9 4949 +37363.5 4953 +37374.2 4955 +37384.9 4955 +37395.5 4960 +37406.2 4961 +37416.9 4964 +37427.5 4968 +37438.2 4969 +37448.8 4973 +37459.5 4975 +37470.2 4978 +37480.8 4981 +37491.5 4983 +37502.2 4986 +37512.8 4988 +37523.5 4989 +37534.1 4993 +37544.8 4995 +37555.5 4998 +37566.1 5000 +37576.8 5001 +37587.5 5003 +37598.1 5006 +37608.8 5007 +37619.5 5011 +37630.1 5013 +37640.8 5018 +37651.4 5020 +37662.1 5022 +37672.8 5025 +37683.4 5026 +37694.1 5028 +37704.8 5031 +37715.4 5031 +37726.1 5032 +37736.7 5036 +37747.4 5038 +37758.1 5039 +37768.7 5042 +37779.4 5044 +37790.1 5047 +37800.7 5053 +37811.4 5055 +37822.1 5056 +37832.7 5058 +37843.4 5061 +37854 5062 +37864.7 5067 +37875.4 5069 +37886 5073 +37896.7 5074 +37907.4 5078 +37918 5080 +37928.7 5081 +37939.3 5084 +37950 5086 +37960.7 5088 +37971.3 5092 +37982 5096 +37992.7 5098 +38003.3 5102 +38014 5104 +38024.7 5109 +38035.3 5112 +38046 5114 +38056.6 5116 +38067.3 5119 +38078 5123 +38088.6 5126 +38099.3 5128 +38110 5132 +38120.6 5134 +38131.3 5134 +38141.9 5139 +38152.6 5141 +38163.3 5146 +38173.9 5147 +38184.6 5149 +38195.3 5153 +38205.9 5155 +38216.6 5158 +38227.2 5163 +38237.9 5166 +38248.6 5166 +38259.2 5167 +38269.9 5169 +38280.6 5170 +38291.2 5171 +38301.9 5172 +38312.6 5173 +38323.2 5174 +38333.9 5178 +38344.5 5180 +38355.2 5182 +38365.9 5185 +38376.5 5187 +38387.2 5191 +38397.9 5193 +38408.5 5196 +38419.2 5198 +38429.8 5203 +38440.5 5205 +38451.2 5206 +38461.8 5210 +38472.5 5212 +38483.2 5213 +38493.8 5215 +38504.5 5218 +38515.2 5219 +38525.8 5222 +38536.5 5227 +38547.1 5229 +38557.8 5231 +38568.5 5234 +38579.1 5234 +38589.8 5237 +38600.5 5241 +38611.1 5244 +38621.8 5247 +38632.4 5247 +38643.1 5250 +38653.8 5252 +38664.4 5255 +38675.1 5257 +38685.8 5258 +38696.4 5262 +38707.1 5265 +38717.8 5267 +38728.4 5269 +38739.1 5273 +38749.7 5276 +38760.4 5278 +38771.1 5281 +38781.7 5282 +38792.4 5286 +38803.1 5288 +38813.7 5290 +38824.4 5292 +38835 5295 +38845.7 5297 +38856.4 5299 +38867 5303 +38877.7 5305 +38888.4 5309 +38899 5312 +38909.7 5313 +38920.4 5315 +38931 5318 +38941.7 5321 +38952.3 5323 +38963 5327 +38973.7 5329 +38984.3 5331 +38995 5332 +39005.7 5335 +39016.3 5337 +39027 5339 +39037.6 5340 +39048.3 5344 +39059 5345 +39069.6 5347 +39080.3 5351 +39091 5351 +39101.6 5352 +39112.3 5357 +39123 5359 +39133.6 5359 +39144.3 5362 +39154.9 5366 +39165.6 5371 +39176.3 5372 +39186.9 5377 +39197.6 5380 +39208.3 5381 +39218.9 5386 +39229.6 5387 +39240.2 5388 +39250.9 5391 +39261.6 5393 +39272.2 5394 +39282.9 5397 +39293.6 5399 +39304.2 5400 +39314.9 5404 +39325.5 5405 +39336.2 5406 +39346.9 5408 +39357.5 5412 +39368.2 5417 +39378.9 5419 +39389.5 5420 +39400.2 5424 +39410.9 5425 +39421.5 5426 +39432.2 5431 +39442.8 5434 +39453.5 5435 +39464.2 5436 +39474.8 5441 +39485.5 5442 +39496.2 5443 +39506.8 5447 +39517.5 5450 +39528.1 5452 +39538.8 5454 +39549.5 5455 +39560.1 5458 +39570.8 5460 +39581.5 5462 +39592.1 5465 +39602.8 5469 +39613.5 5472 +39624.1 5476 +39634.8 5477 +39645.4 5478 +39656.1 5484 +39666.8 5485 +39677.4 5488 +39688.1 5491 +39698.8 5494 +39709.4 5498 +39720.1 5500 +39730.7 5504 +39741.4 5506 +39752.1 5509 +39762.7 5511 +39773.4 5513 +39784.1 5517 +39794.7 5518 +39805.4 5519 +39816.1 5525 +39826.7 5527 +39837.4 5529 +39848 5533 +39858.7 5534 +39869.4 5535 +39880 5539 +39890.7 5542 +39901.4 5544 +39912 5545 +39922.7 5548 +39933.3 5552 +39944 5552 +39954.7 5555 +39965.3 5559 +39976 5562 +39986.7 5563 +39997.3 5568 +40008 5569 +40018.7 5570 +40029.3 5576 +40040 5578 +40050.6 5579 +40061.3 5582 +40072 5585 +40082.6 5587 +40093.3 5593 +40104 5593 +40114.6 5598 +40125.3 5600 +40135.9 5601 +40146.6 5605 +40157.3 5608 +40167.9 5608 +40178.6 5611 +40189.3 5614 +40199.9 5615 +40210.6 5620 +40221.3 5623 +40231.9 5623 +40242.6 5625 +40253.2 5630 +40263.9 5632 +40274.6 5634 +40285.2 5638 +40295.9 5638 +40306.6 5640 +40317.2 5645 +40327.9 5645 +40338.5 5647 +40349.2 5651 +40359.9 5655 +40370.5 5658 +40381.2 5661 +40391.9 5662 +40402.5 5664 +40413.2 5668 +40423.9 5669 +40434.5 5673 +40445.2 5675 +40455.8 5677 +40466.5 5681 +40477.2 5683 +40487.8 5685 +40498.5 5690 +40509.2 5690 +40519.8 5693 +40530.5 5697 +40541.1 5697 +40551.8 5699 +40562.5 5704 +40573.1 5705 +40583.8 5710 +40594.5 5711 +40605.1 5712 +40615.8 5715 +40626.4 5719 +40637.1 5723 +40647.8 5727 +40658.4 5729 +40669.1 5733 +40679.8 5734 +40690.4 5736 +40701.1 5739 +40711.8 5740 +40722.4 5743 +40733.1 5747 +40743.7 5749 +40754.4 5752 +40765.1 5753 +40775.7 5756 +40786.4 5758 +40797.1 5761 +40807.7 5764 +40818.4 5765 +40829 5768 +40839.7 5768 +40850.4 5775 +40861 5779 +40871.7 5781 +40882.4 5782 +40893 5786 +40903.7 5788 +40914.4 5788 +40925 5793 +40935.7 5796 +40946.3 5797 +40957 5801 +40967.7 5802 +40978.3 5803 +40989 5805 +40999.7 5810 +41010.3 5810 +41021 5812 +41031.6 5817 +41042.3 5817 +41053 5819 +41063.6 5822 +41074.3 5824 +41085 5825 +41095.6 5828 +41106.3 5829 +41117 5832 +41127.6 5835 +41138.3 5837 +41148.9 5840 +41159.6 5843 +41170.3 5844 +41180.9 5847 +41191.6 5849 +41202.3 5853 +41212.9 5856 +41223.6 5860 +41234.2 5865 +41244.9 5866 +41255.6 5870 +41266.2 5872 +41276.9 5875 +41287.6 5879 +41298.2 5880 +41308.9 5883 +41319.6 5886 +41330.2 5891 +41340.9 5892 +41351.5 5898 +41362.2 5898 +41372.9 5903 +41383.5 5904 +41394.2 5907 +41404.9 5909 +41415.5 5911 +41426.2 5915 +41436.8 5917 +41447.5 5923 +41458.2 5925 +41468.8 5928 +41479.5 5931 +41490.2 5933 +41500.8 5938 +41511.5 5940 +41522.2 5942 +41532.8 5945 +41543.5 5947 +41554.1 5948 +41564.8 5955 +41575.5 5960 +41586.1 5962 +41596.8 5968 +41607.5 5970 +41618.1 5974 +41628.8 5977 +41639.4 5981 +41650.1 5983 +41660.8 5988 +41671.4 5990 +41682.1 5992 +41692.8 5995 +41703.4 5998 +41714.1 6000 +41724.7 6005 +41735.4 6006 +41746.1 6008 +41756.7 6009 +41767.4 6010 +41778.1 6012 +41788.7 6014 +41799.4 6017 +41810.1 6018 +41820.7 6020 +41831.4 6024 +41842 6026 +41852.7 6029 +41863.4 6031 +41874 6034 +41884.7 6037 +41895.4 6039 +41906 6041 +41916.7 6045 +41927.3 6045 +41938 6048 +41948.7 6052 +41959.3 6055 +41970 6058 +41980.7 6059 +41991.3 6062 +42002 6065 +42012.7 6068 +42023.3 6073 +42034 6075 +42044.6 6077 +42055.3 6080 +42066 6081 +42076.6 6084 +42087.3 6086 +42098 6087 +42108.6 6089 +42119.3 6093 +42129.9 6096 +42140.6 6097 +42151.3 6099 +42161.9 6103 +42172.6 6105 +42183.3 6106 +42193.9 6111 +42204.6 6113 +42215.3 6117 +42225.9 6119 +42236.6 6124 +42247.2 6126 +42257.9 6130 +42268.6 6132 +42279.2 6135 +42289.9 6136 +42300.6 6141 +42311.2 6143 +42321.9 6147 +42332.5 6151 +42343.2 6154 +42353.9 6156 +42364.5 6160 +42375.2 6162 +42385.9 6165 +42396.5 6168 +42407.2 6171 +42417.9 6171 +42428.5 6175 +42439.2 6178 +42449.8 6178 +42460.5 6182 +42471.2 6185 +42481.8 6188 +42492.5 6191 +42503.2 6193 +42513.8 6197 +42524.5 6200 +42535.1 6204 +42545.8 6205 +42556.5 6207 +42567.1 6214 +42577.8 6216 +42588.5 6216 +42599.1 6220 +42609.8 6222 +42620.5 6226 +42631.1 6228 +42641.8 6231 +42652.4 6234 +42663.1 6235 +42673.8 6236 +42684.4 6243 +42695.1 6244 +42705.8 6249 +42716.4 6250 +42727.1 6254 +42737.7 6256 +42748.4 6260 +42759.1 6264 +42769.7 6267 +42780.4 6270 +42791.1 6271 +42801.7 6275 +42812.4 6276 +42823 6278 +42833.7 6282 +42844.4 6282 +42855 6284 +42865.7 6288 +42876.4 6291 +42887 6295 +42897.7 6300 +42908.4 6301 +42919 6304 +42929.7 6306 +42940.3 6307 +42951 6310 +42961.7 6313 +42972.3 6317 +42983 6319 +42993.7 6323 +43004.3 6328 +43015 6331 +43025.6 6334 +43036.3 6336 +43047 6336 +43057.6 6339 +43068.3 6341 +43079 6341 +43089.6 6342 +43100.3 6344 +43111 6349 +43121.6 6352 +43132.3 6352 +43142.9 6355 +43153.6 6359 +43164.3 6360 +43174.9 6360 +43185.6 6367 +43196.3 6369 +43206.9 6374 +43217.6 6376 +43228.2 6376 +43238.9 6381 +43249.6 6383 +43260.2 6385 +43270.9 6388 +43281.6 6390 +43292.2 6394 +43302.9 6395 +43313.6 6398 +43324.2 6400 +43334.9 6402 +43345.5 6404 +43356.2 6408 +43366.9 6411 +43377.5 6414 +43388.2 6416 +43398.9 6419 +43409.5 6420 +43420.2 6425 +43430.8 6429 +43441.5 6431 +43452.2 6435 +43462.8 6437 +43473.5 6437 +43484.2 6438 +43494.8 6443 +43505.5 6443 +43516.2 6444 +43526.8 6448 +43537.5 6448 +43548.1 6454 +43558.8 6455 +43569.5 6456 +43580.1 6458 +43590.8 6461 +43601.5 6463 +43612.1 6467 +43622.8 6469 +43633.4 6472 +43644.1 6477 +43654.8 6477 +43665.4 6480 +43676.1 6484 +43686.8 6487 +43697.4 6490 +43708.1 6493 +43718.8 6497 +43729.4 6500 +43740.1 6503 +43750.7 6504 +43761.4 6507 +43772.1 6509 +43782.7 6512 +43793.4 6516 +43804.1 6518 +43814.7 6519 +43825.4 6524 +43836 6530 +43846.7 6530 +43857.4 6534 +43868 6536 +43878.7 6541 +43889.4 6546 +43900 6550 +43910.7 6551 +43921.4 6555 +43932 6556 +43942.7 6559 +43953.3 6561 +43964 6562 +43974.7 6565 +43985.3 6567 +43996 6568 +44006.7 6570 +44017.3 6574 +44028 6575 +44038.6 6576 +44049.3 6581 +44060 6582 +44070.6 6582 +44081.3 6587 +44092 6591 +44102.6 6593 +44113.3 6593 +44123.9 6597 +44134.6 6602 +44145.3 6603 +44155.9 6608 +44166.6 6613 +44177.3 6615 +44187.9 6619 +44198.6 6621 +44209.3 6625 +44219.9 6627 +44230.6 6634 +44241.2 6634 +44251.9 6640 +44262.6 6641 +44273.2 6645 +44283.9 6647 +44294.6 6651 +44305.2 6655 +44315.9 6656 +44326.5 6659 +44337.2 6660 +44347.9 6662 +44358.5 6663 +44369.2 6666 +44379.9 6668 +44390.5 6671 +44401.2 6672 +44411.9 6676 +44422.5 6679 +44433.2 6683 +44443.8 6685 +44454.5 6687 +44465.2 6690 +44475.8 6693 +44486.5 6693 +44497.2 6694 +44507.8 6697 +44518.5 6699 +44529.1 6701 +44539.8 6702 +44550.5 6707 +44561.1 6709 +44571.8 6713 +44582.5 6715 +44593.1 6722 +44603.8 6723 +44614.5 6726 +44625.1 6730 +44635.8 6734 +44646.4 6736 +44657.1 6740 +44667.8 6744 +44678.4 6745 +44689.1 6750 +44699.8 6750 +44710.4 6752 +44721.1 6757 +44731.7 6758 +44742.4 6761 +44753.1 6765 +44763.7 6766 +44774.4 6768 +44785.1 6771 +44795.7 6779 +44806.4 6780 +44817.1 6785 +44827.7 6788 +44838.4 6789 +44849 6796 +44859.7 6798 +44870.4 6803 +44881 6806 +44891.7 6808 +44902.4 6814 +44913 6817 +44923.7 6820 +44934.3 6827 +44945 6831 +44955.7 6837 +44966.3 6841 +44977 6841 +44987.7 6845 +44998.3 6850 +45009 6852 +45019.7 6854 +45030.3 6863 +45041 6865 +45051.6 6870 +45062.3 6874 +45073 6875 +45083.6 6878 +45094.3 6887 +45105 6891 +45115.6 6894 +45126.3 6896 +45136.9 6901 +45147.6 6903 +45158.3 6906 +45168.9 6908 +45179.6 6913 +45190.3 6918 +45200.9 6921 +45211.6 6926 +45222.2 6930 +45232.9 6933 +45243.6 6938 +45254.2 6941 +45264.9 6943 +45275.6 6948 +45286.2 6954 +45296.9 6955 +45307.6 6957 +45318.2 6963 +45328.9 6966 +45339.5 6968 +45350.2 6972 +45360.9 6979 +45371.5 6981 +45382.2 6983 +45392.9 6985 +45403.5 6990 +45414.2 6994 +45424.8 6996 +45435.5 7001 +45446.2 7006 +45456.8 7010 +45467.5 7011 +45478.2 7016 +45488.8 7021 +45499.5 7023 +45510.2 7027 +45520.8 7031 +45531.5 7033 +45542.1 7038 +45552.8 7040 +45563.5 7046 +45574.1 7051 +45584.8 7054 +45595.5 7058 +45606.1 7064 +45616.8 7065 +45627.4 7070 +45638.1 7076 +45648.8 7077 +45659.4 7079 +45670.1 7085 +45680.8 7090 +45691.4 7091 +45702.1 7093 +45712.8 7101 +45723.4 7104 +45734.1 7105 +45744.7 7112 +45755.4 7118 +45766.1 7118 +45776.7 7124 +45787.4 7129 +45798.1 7133 +45808.7 7139 +45819.4 7140 +45830 7142 +45840.7 7147 +45851.4 7151 +45862 7154 +45872.7 7160 +45883.4 7164 +45894 7167 +45904.7 7170 +45915.4 7174 +45926 7178 +45936.7 7181 +45947.3 7184 +45958 7187 +45968.7 7191 +45979.3 7195 +45990 7197 +46000.7 7199 +46011.3 7203 +46022 7209 +46032.6 7211 +46043.3 7213 +46054 7219 +46064.6 7220 +46075.3 7224 +46086 7230 +46096.6 7230 +46107.3 7236 +46118 7242 +46128.6 7246 +46139.3 7250 +46149.9 7255 +46160.6 7257 +46171.3 7260 +46181.9 7265 +46192.6 7267 +46203.3 7271 +46213.9 7280 +46224.6 7284 +46235.2 7291 +46245.9 7293 +46256.6 7294 +46267.2 7301 +46277.9 7305 +46288.6 7309 +46299.2 7313 +46309.9 7318 +46320.5 7322 +46331.2 7324 +46341.9 7329 +46352.5 7334 +46363.2 7337 +46373.9 7339 +46384.5 7343 +46395.2 7347 +46405.9 7349 +46416.5 7354 +46427.2 7359 +46437.8 7363 +46448.5 7369 +46459.2 7373 +46469.8 7376 +46480.5 7379 +46491.2 7385 +46501.8 7386 +46512.5 7390 +46523.1 7396 +46533.8 7402 +46544.5 7405 +46555.1 7409 +46565.8 7414 +46576.5 7417 +46587.1 7419 +46597.8 7424 +46608.5 7429 +46619.1 7430 +46629.8 7434 +46640.4 7436 +46651.1 7439 +46661.8 7443 +46672.4 7449 +46683.1 7450 +46693.8 7453 +46704.4 7459 +46715.1 7465 +46725.7 7472 +46736.4 7478 +46747.1 7478 +46757.7 7481 +46768.4 7490 +46779.1 7490 +46789.7 7492 +46800.4 7501 +46811.1 7502 +46821.7 7505 +46832.4 7508 +46843 7515 +46853.7 7516 +46864.4 7518 +46875 7523 +46885.7 7529 +46896.4 7531 +46907 7535 +46917.7 7540 +46928.3 7543 +46939 7545 +46949.7 7551 +46960.3 7554 +46971 7555 +46981.7 7564 +46992.3 7569 +47003 7570 +47013.7 7575 +47024.3 7582 +47035 7582 +47045.6 7587 +47056.3 7592 +47067 7597 +47077.6 7604 +47088.3 7608 +47099 7613 +47109.6 7623 +47120.3 7624 +47130.9 7628 +47141.6 7634 +47152.3 7638 +47162.9 7641 +47173.6 7642 +47184.3 7646 +47194.9 7650 +47205.6 7655 +47216.3 7656 +47226.9 7661 +47237.6 7667 +47248.2 7670 +47258.9 7672 +47269.6 7677 +47280.2 7679 +47290.9 7683 +47301.6 7686 +47312.2 7689 +47322.9 7694 +47333.5 7697 +47344.2 7700 +47354.9 7704 +47365.5 7709 +47376.2 7713 +47386.9 7719 +47397.5 7721 +47408.2 7724 +47418.9 7725 +47429.5 7732 +47440.2 7736 +47450.8 7740 +47461.5 7744 +47472.2 7744 +47482.8 7753 +47493.5 7763 +47504.2 7765 +47514.8 7772 +47525.5 7776 +47536.1 7778 +47546.8 7786 +47557.5 7791 +47568.1 7793 +47578.8 7800 +47589.5 7807 +47600.1 7811 +47610.8 7819 +47621.4 7824 +47632.1 7826 +47642.8 7832 +47653.4 7839 +47664.1 7842 +47674.8 7847 +47685.4 7852 +47696.1 7858 +47706.8 7858 +47717.4 7866 +47728.1 7877 +47738.7 7880 +47749.4 7885 +47760.1 7887 +47770.7 7895 +47781.4 7904 +47792.1 7906 +47802.7 7909 +47813.4 7919 +47824 7924 +47834.7 7925 +47845.4 7933 +47856 7938 +47866.7 7942 +47877.4 7950 +47888 7956 +47898.7 7959 +47909.4 7966 +47920 7970 +47930.7 7978 +47941.3 7983 +47952 7989 +47962.7 7995 +47973.3 7997 +47984 8000 +47994.7 8000 +48005.3 8006 +48016 8016 +48026.6 8020 +48037.3 8028 +48048 8030 +48058.6 8034 +48069.3 8045 +48080 8049 +48090.6 8051 +48101.3 8061 +48112 8069 +48122.6 8074 +48133.3 8078 +48143.9 8084 +48154.6 8090 +48165.3 8094 +48175.9 8103 +48186.6 8108 +48197.3 8114 +48207.9 8117 +48218.6 8125 +48229.2 8128 +48239.9 8133 +48250.6 8138 +48261.2 8148 +48271.9 8149 +48282.6 8153 +48293.2 8159 +48303.9 8164 +48314.6 8166 +48325.2 8176 +48335.9 8179 +48346.5 8186 +48357.2 8193 +48367.9 8196 +48378.5 8196 +48389.2 8205 +48399.9 8211 +48410.5 8214 +48421.2 8221 +48431.8 8226 +48442.5 8229 +48453.2 8232 +48463.8 8237 +48474.5 8244 +48485.2 8249 +48495.8 8254 +48506.5 8259 +48517.2 8265 +48527.8 8268 +48538.5 8275 +48549.1 8279 +48559.8 8284 +48570.5 8285 +48581.1 8290 +48591.8 8296 +48602.5 8302 +48613.1 8306 +48623.8 8306 +48634.4 8311 +48645.1 8318 +48655.8 8318 +48666.4 8324 +48677.1 8326 +48687.8 8338 +48698.4 8342 +48709.1 8344 +48719.7 8348 +48730.4 8356 +48741.1 8363 +48751.7 8369 +48762.4 8374 +48773.1 8380 +48783.7 8386 +48794.4 8391 +48805.1 8396 +48815.7 8404 +48826.4 8412 +48837 8415 +48847.7 8417 +48858.4 8422 +48869 8431 +48879.7 8433 +48890.4 8441 +48901 8449 +48911.7 8450 +48922.3 8454 +48933 8459 +48943.7 8462 +48954.3 8469 +48965 8475 +48975.7 8477 +48986.3 8486 +48997 8492 +49007.7 8494 +49018.3 8501 +49029 8505 +49039.6 8512 +49050.3 8517 +49061 8523 +49071.6 8528 +49082.3 8536 +49093 8540 +49103.6 8546 +49114.3 8553 +49124.9 8561 +49135.6 8564 +49146.3 8571 +49156.9 8574 +49167.6 8574 +49178.3 8578 +49188.9 8591 +49199.6 8594 +49210.3 8600 +49220.9 8602 +49231.6 8607 +49242.2 8609 +49252.9 8619 +49263.6 8627 +49274.2 8631 +49284.9 8637 +49295.6 8644 +49306.2 8650 +49316.9 8659 +49327.5 8663 +49338.2 8668 +49348.9 8677 +49359.5 8687 +49370.2 8688 +49380.9 8696 +49391.5 8702 +49402.2 8703 +49412.9 8708 +49423.5 8713 +49434.2 8721 +49444.8 8730 +49455.5 8733 +49466.2 8740 +49476.8 8745 +49487.5 8749 +49498.2 8755 +49508.8 8758 +49519.5 8763 +49530.1 8770 +49540.8 8777 +49551.5 8783 +49562.1 8788 +49572.8 8793 +49583.5 8799 +49594.1 8811 +49604.8 8814 +49615.5 8818 +49626.1 8825 +49636.8 8835 +49647.4 8839 +49658.1 8847 +49668.8 8852 +49679.4 8858 +49690.1 8867 +49700.8 8875 +49711.4 8878 +49722.1 8878 +49732.7 8888 +49743.4 8896 +49754.1 8899 +49764.7 8901 +49775.4 8904 +49786.1 8913 +49796.7 8924 +49807.4 8925 +49818 8932 +49828.7 8937 +49839.4 8943 +49850 8946 +49860.7 8952 +49871.4 8958 +49882 8964 +49892.7 8969 +49903.4 8974 +49914 8983 +49924.7 8991 +49935.3 8997 +49946 8999 +49956.7 9009 +49967.3 9019 +49978 9023 +49988.7 9028 +49999.3 9033 +50010 9043 +50020.6 9048 +50031.3 9055 +50042 9061 +50052.6 9068 +50063.3 9072 +50074 9074 +50084.6 9076 +50095.3 9085 +50106 9093 +50116.6 9099 +50127.3 9101 +50137.9 9103 +50148.6 9109 +50159.3 9122 +50169.9 9126 +50180.6 9134 +50191.3 9140 +50201.9 9146 +50212.6 9151 +50223.2 9159 +50233.9 9160 +50244.6 9170 +50255.2 9178 +50265.9 9182 +50276.6 9187 +50287.2 9190 +50297.9 9195 +50308.6 9206 +50319.2 9211 +50329.9 9218 +50340.5 9219 +50351.2 9225 +50361.9 9233 +50372.5 9235 +50383.2 9244 +50393.9 9249 +50404.5 9254 +50415.2 9258 +50425.8 9263 +50436.5 9265 +50447.2 9270 +50457.8 9279 +50468.5 9287 +50479.2 9290 +50489.8 9298 +50500.5 9302 +50511.2 9306 +50521.8 9311 +50532.5 9317 +50543.1 9323 +50553.8 9331 +50564.5 9334 +50575.1 9340 +50585.8 9344 +50596.5 9356 +50607.1 9361 +50617.8 9368 +50628.4 9377 +50639.1 9378 +50649.8 9386 +50660.4 9386 +50671.1 9390 +50681.8 9394 +50692.4 9403 +50703.1 9410 +50713.8 9413 +50724.4 9421 +50735.1 9424 +50745.7 9434 +50756.4 9441 +50767.1 9445 +50777.7 9455 +50788.4 9458 +50799.1 9462 +50809.7 9465 +50820.4 9468 +50831 9482 +50841.7 9488 +50852.4 9491 +50863 9497 +50873.7 9502 +50884.4 9513 +50895 9513 +50905.7 9517 +50916.4 9532 +50927 9533 +50937.7 9538 +50948.3 9545 +50959 9549 +50969.7 9551 +50980.3 9557 +50991 9568 +51001.7 9573 +51012.3 9580 +51023 9583 +51033.6 9591 +51044.3 9598 +51055 9606 +51065.6 9613 +51076.3 9616 +51087 9622 +51097.6 9623 +51108.3 9633 +51118.9 9641 +51129.6 9643 +51140.3 9647 +51150.9 9656 +51161.6 9664 +51172.3 9669 +51182.9 9671 +51193.6 9674 +51204.3 9676 +51214.9 9683 +51225.6 9687 +51236.2 9693 +51246.9 9699 +51257.6 9708 +51268.2 9714 +51278.9 9719 +51289.6 9720 +51300.2 9729 +51310.9 9735 +51321.5 9740 +51332.2 9749 +51342.9 9752 +51353.5 9764 +51364.2 9764 +51374.9 9768 +51385.5 9771 +51396.2 9774 +51406.9 9784 +51417.5 9790 +51428.2 9791 +51438.8 9795 +51449.5 9800 +51460.2 9814 +51470.8 9821 +51481.5 9825 +51492.2 9834 +51502.8 9840 +51513.5 9847 +51524.1 9853 +51534.8 9860 +51545.5 9864 +51556.1 9872 +51566.8 9873 +51577.5 9880 +51588.1 9887 +51598.8 9897 +51609.5 9902 +51620.1 9905 +51630.8 9909 +51641.4 9912 +51652.1 9920 +51662.8 9922 +51673.4 9922 +51684.1 9933 +51694.8 9944 +51705.4 9947 +51716.1 9953 +51726.7 9959 +51737.4 9966 +51748.1 9974 +51758.7 9980 +51769.4 9984 +51780.1 9993 +51790.7 9993 +51801.4 10002 +51812.1 10009 +51822.7 10012 +51833.4 10019 +51844 10022 +51854.7 10024 +51865.4 10030 +51876 10047 +51886.7 10053 +51897.4 10058 +51908 10062 +51918.7 10065 +51929.3 10074 +51940 10080 +51950.7 10084 +51961.3 10087 +51972 10103 +51982.7 10107 +51993.3 10109 +52004 10111 +52014.7 10124 +52025.3 10134 +52036 10137 +52046.6 10143 +52057.3 10150 +52068 10154 +52078.6 10158 +52089.3 10162 +52100 10165 +52110.6 10174 +52121.3 10181 +52131.9 10188 +52142.6 10196 +52153.3 10204 +52163.9 10209 +52174.6 10217 +52185.3 10225 +52195.9 10230 +52206.6 10237 +52217.2 10241 +52227.9 10246 +52238.6 10254 +52249.2 10261 +52259.9 10263 +52270.6 10268 +52281.2 10279 +52291.9 10284 +52302.6 10289 +52313.2 10294 +52323.9 10296 +52334.5 10311 +52345.2 10316 +52355.9 10318 +52366.5 10322 +52377.2 10331 +52387.9 10341 +52398.5 10345 +52409.2 10349 +52419.8 10353 +52430.5 10359 +52441.2 10364 +52451.8 10369 +52462.5 10379 +52473.2 10383 +52483.8 10387 +52494.5 10394 +52505.2 10396 +52515.8 10401 +52526.5 10409 +52537.1 10411 +52547.8 10416 +52558.5 10421 +52569.1 10433 +52579.8 10437 +52590.5 10442 +52601.1 10444 +52611.8 10450 +52622.4 10462 +52633.1 10465 +52643.8 10465 +52654.4 10471 +52665.1 10479 +52675.8 10488 +52686.4 10491 +52697.1 10494 +52707.8 10498 +52718.4 10515 +52729.1 10518 +52739.7 10527 +52750.4 10528 +52761.1 10534 +52771.7 10543 +52782.4 10551 +52793.1 10554 +52803.7 10558 +52814.4 10565 +52825 10574 +52835.7 10576 +52846.4 10576 +52857 10585 +52867.7 10598 +52878.4 10602 +52889 10603 +52899.7 10604 +52910.4 10613 +52921 10627 +52931.7 10630 +52942.3 10630 +52953 10631 +52963.7 10635 +52974.3 10645 +52985 10652 +52995.7 10656 +53006.3 10663 +53017 10667 +53027.6 10670 +53038.3 10674 +53049 10682 +53059.6 10697 +53070.3 10698 +53081 10701 +53091.6 10702 +53102.3 10708 +53113 10712 +53123.6 10713 +53134.3 10717 +53144.9 10730 +53155.6 10741 +53166.3 10749 +53176.9 10753 +53187.6 10759 +53198.3 10766 +53208.9 10771 +53219.6 10774 +53230.2 10780 +53240.9 10788 +53251.6 10794 +53262.2 10800 +53272.9 10808 +53283.6 10812 +53294.2 10821 +53304.9 10824 +53315.5 10830 +53326.2 10836 +53336.9 10844 +53347.5 10852 +53358.2 10860 +53368.9 10862 +53379.5 10865 +53390.2 10873 +53400.9 10881 +53411.5 10886 +53422.2 10889 +53432.8 10895 +53443.5 10902 +53454.2 10907 +53464.8 10913 +53475.5 10919 +53486.2 10927 +53496.8 10932 +53507.5 10935 +53518.1 10936 +53528.8 10941 +53539.5 10948 +53550.1 10956 +53560.8 10962 +53571.5 10969 +53582.1 10973 +53592.8 10979 +53603.5 10987 +53614.1 10989 +53624.8 10994 +53635.4 10997 +53646.1 11002 +53656.8 11009 +53667.4 11011 +53678.1 11011 +53688.8 11027 +53699.4 11035 +53710.1 11039 +53720.7 11043 +53731.4 11050 +53742.1 11054 +53752.7 11060 +53763.4 11067 +53774.1 11074 +53784.7 11078 +53795.4 11083 +53806.1 11085 +53816.7 11090 +53827.4 11096 +53838 11101 +53848.7 11108 +53859.4 11113 +53870 11115 +53880.7 11127 +53891.4 11133 +53902 11135 +53912.7 11139 +53923.3 11146 +53934 11151 +53944.7 11161 +53955.3 11162 +53966 11165 +53976.7 11170 +53987.3 11178 +53998 11181 +54008.7 11181 +54019.3 11186 +54030 11191 +54040.6 11205 +54051.3 11210 +54062 11217 +54072.6 11219 +54083.3 11227 +54094 11236 +54104.6 11239 +54115.3 11242 +54125.9 11243 +54136.6 11250 +54147.3 11263 +54157.9 11270 +54168.6 11272 +54179.3 11284 +54189.9 11289 +54200.6 11294 +54211.3 11301 +54221.9 11308 +54232.6 11315 +54243.2 11318 +54253.9 11324 +54264.6 11333 +54275.2 11341 +54285.9 11342 +54296.6 11345 +54307.2 11355 +54317.9 11359 +54328.5 11363 +54339.2 11369 +54349.9 11379 +54360.5 11385 +54371.2 11387 +54381.9 11390 +54392.5 11394 +54403.2 11398 +54413.9 11405 +54424.5 11410 +54435.2 11416 +54445.8 11420 +54456.5 11424 +54467.2 11441 +54477.8 11443 +54488.5 11449 +54499.2 11451 +54509.8 11459 +54520.5 11471 +54531.1 11476 +54541.8 11481 +54552.5 11491 +54563.1 11493 +54573.8 11498 +54584.5 11500 +54595.1 11506 +54605.8 11514 +54616.4 11523 +54627.1 11529 +54637.8 11531 +54648.4 11535 +54659.1 11548 +54669.8 11552 +54680.4 11554 +54691.1 11559 +54701.8 11570 +54712.4 11574 +54723.1 11579 +54733.7 11588 +54744.4 11592 +54755.1 11602 +54765.7 11605 +54776.4 11610 +54787.1 11617 +54797.7 11623 +54808.4 11626 +54819 11629 +54829.7 11631 +54840.4 11634 +54851 11645 +54861.7 11648 +54872.4 11651 +54883 11658 +54893.7 11661 +54904.4 11672 +54915 11676 +54925.7 11683 +54936.3 11689 +54947 11695 +54957.7 11700 +54968.3 11706 +54979 11708 +54989.7 11716 +55000.3 11724 +55011 11730 +55021.6 11734 +55032.3 11744 +55043 11745 +55053.6 11756 +55064.3 11756 +55075 11763 +55085.6 11768 +55096.3 11769 +55107 11778 +55117.6 11781 +55128.3 11782 +55138.9 11791 +55149.6 11794 +55160.3 11798 +55170.9 11799 +55181.6 11806 +55192.3 11815 +55202.9 11820 +55213.6 11828 +55224.2 11829 +55234.9 11835 +55245.6 11840 +55256.2 11844 +55266.9 11850 +55277.6 11855 +55288.2 11865 +55298.9 11868 +55309.6 11875 +55320.2 11880 +55330.9 11890 +55341.5 11892 +55352.2 11896 +55362.9 11900 +55373.5 11907 +55384.2 11911 +55394.9 11918 +55405.5 11922 +55416.2 11930 +55426.8 11941 +55437.5 11946 +55448.2 11952 +55458.8 11959 +55469.5 11968 +55480.2 11972 +55490.8 11973 +55501.5 11985 +55512.2 11988 +55522.8 11997 +55533.5 11999 +55544.1 12004 +55554.8 12011 +55565.5 12019 +55576.1 12023 +55586.8 12032 +55597.5 12035 +55608.1 12044 +55618.8 12051 +55629.4 12057 +55640.1 12062 +55650.8 12067 +55661.4 12077 +55672.1 12081 +55682.8 12086 +55693.4 12091 +55704.1 12099 +55714.7 12105 +55725.4 12108 +55736.1 12116 +55746.7 12119 +55757.4 12127 +55768.1 12133 +55778.7 12137 +55789.4 12142 +55800.1 12146 +55810.7 12151 +55821.4 12152 +55832 12160 +55842.7 12163 +55853.4 12170 +55864 12175 +55874.7 12182 +55885.4 12191 +55896 12199 +55906.7 12201 +55917.3 12204 +55928 12210 +55938.7 12222 +55949.3 12228 +55960 12231 +55970.7 12235 +55981.3 12235 +55992 12246 +56002.7 12261 +56013.3 12263 +56024 12268 +56034.6 12268 +56045.3 12278 +56056 12279 +56066.6 12282 +56077.3 12290 +56088 12297 +56098.6 12308 +56109.3 12313 +56119.9 12316 +56130.6 12323 +56141.3 12337 +56151.9 12338 +56162.6 12341 +56173.3 12351 +56183.9 12362 +56194.6 12365 +56205.3 12368 +56215.9 12371 +56226.6 12376 +56237.2 12382 +56247.9 12383 +56258.6 12386 +56269.2 12393 +56279.9 12399 +56290.6 12402 +56301.2 12409 +56311.9 12415 +56322.5 12423 +56333.2 12431 +56343.9 12436 +56354.5 12439 +56365.2 12444 +56375.9 12448 +56386.5 12458 +56397.2 12461 +56407.9 12470 +56418.5 12475 +56429.2 12478 +56439.8 12485 +56450.5 12497 +56461.2 12503 +56471.8 12507 +56482.5 12509 +56493.2 12518 +56503.8 12523 +56514.5 12529 +56525.1 12534 +56535.8 12539 +56546.5 12539 +56557.1 12541 +56567.8 12555 +56578.5 12560 +56589.1 12562 +56599.8 12565 +56610.5 12579 +56621.1 12584 +56631.8 12590 +56642.4 12596 +56653.1 12600 +56663.8 12607 +56674.4 12609 +56685.1 12615 +56695.8 12618 +56706.4 12629 +56717.1 12633 +56727.7 12639 +56738.4 12644 +56749.1 12652 +56759.7 12661 +56770.4 12661 +56781.1 12665 +56791.7 12672 +56802.4 12682 +56813.1 12687 +56823.7 12690 +56834.4 12694 +56845 12702 +56855.7 12712 +56866.4 12715 +56877 12720 +56887.7 12725 +56898.4 12734 +56909 12745 +56919.7 12749 +56930.3 12758 +56941 12763 +56951.7 12772 +56962.3 12775 +56973 12779 +56983.7 12786 +56994.3 12793 +57005 12799 +57015.6 12806 +57026.3 12813 +57037 12816 +57047.6 12816 +57058.3 12832 +57069 12840 +57079.6 12849 +57090.3 12852 +57101 12856 +57111.6 12858 +57122.3 12863 +57132.9 12867 +57143.6 12875 +57154.3 12881 +57164.9 12887 +57175.6 12893 +57186.3 12904 +57196.9 12908 +57207.6 12914 +57218.2 12916 +57228.9 12918 +57239.6 12923 +57250.2 12936 +57260.9 12938 +57271.6 12943 +57282.2 12947 +57292.9 12960 +57303.6 12966 +57314.2 12973 +57324.9 12981 +57335.5 12986 +57346.2 12995 +57356.9 12996 +57367.5 12999 +57378.2 13005 +57388.9 13013 +57399.5 13021 +57410.2 13026 +57420.8 13030 +57431.5 13032 +57442.2 13042 +57452.8 13051 +57463.5 13052 +57474.2 13060 +57484.8 13068 +57495.5 13076 +57506.2 13079 +57516.8 13084 +57527.5 13089 +57538.1 13099 +57548.8 13103 +57559.5 13105 +57570.1 13110 +57580.8 13114 +57591.5 13120 +57602.1 13125 +57612.8 13129 +57623.4 13133 +57634.1 13142 +57644.8 13147 +57655.4 13153 +57666.1 13160 +57676.8 13165 +57687.4 13170 +57698.1 13174 +57708.8 13174 +57719.4 13181 +57730.1 13193 +57740.7 13198 +57751.4 13201 +57762.1 13205 +57772.7 13217 +57783.4 13226 +57794.1 13228 +57804.7 13233 +57815.4 13236 +57826 13247 +57836.7 13252 +57847.4 13255 +57858 13256 +57868.7 13260 +57879.4 13272 +57890 13278 +57900.7 13283 +57911.4 13296 +57922 13299 +57932.7 13305 +57943.3 13307 +57954 13317 +57964.7 13320 +57975.3 13327 +57986 13330 +57996.7 13332 +58007.3 13345 +58018 13347 +58028.6 13351 +58039.3 13357 +58050 13364 +58060.6 13375 +58071.3 13379 +58082 13385 +58092.6 13388 +58103.3 13394 +58113.9 13399 +58124.6 13402 +58135.3 13406 +58145.9 13418 +58156.6 13419 +58167.3 13425 +58177.9 13428 +58188.6 13433 +58199.3 13445 +58209.9 13450 +58220.6 13455 +58231.2 13458 +58241.9 13466 +58252.6 13474 +58263.2 13479 +58273.9 13482 +58284.6 13488 +58295.2 13500 +58305.9 13503 +58316.5 13509 +58327.2 13516 +58337.9 13521 +58348.5 13532 +58359.2 13537 +58369.9 13544 +58380.5 13551 +58391.2 13555 +58401.9 13563 +58412.5 13570 +58423.2 13574 +58433.8 13581 +58444.5 13586 +58455.2 13592 +58465.8 13593 +58476.5 13597 +58487.2 13606 +58497.8 13607 +58508.5 13616 +58519.1 13619 +58529.8 13628 +58540.5 13630 +58551.1 13636 +58561.8 13643 +58572.5 13646 +58583.1 13652 +58593.8 13658 +58604.5 13666 +58615.1 13678 +58625.8 13679 +58636.4 13683 +58647.1 13684 +58657.8 13689 +58668.4 13695 +58679.1 13704 +58689.8 13710 +58700.4 13712 +58711.1 13715 +58721.7 13722 +58732.4 13729 +58743.1 13734 +58753.7 13737 +58764.4 13741 +58775.1 13742 +58785.7 13743 +58796.4 13745 +58807.1 13760 +58817.7 13765 +58828.4 13769 +58839 13774 +58849.7 13782 +58860.4 13789 +58871 13795 +58881.7 13804 +58892.4 13806 +58903 13814 +58913.7 13822 +58924.3 13827 +58935 13829 +58945.7 13840 +58956.3 13848 +58967 13857 +58977.7 13862 +58988.3 13864 +58999 13869 +59009.7 13882 +59020.3 13884 +59031 13891 +59041.6 13897 +59052.3 13898 +59063 13899 +59073.6 13909 +59084.3 13916 +59095 13922 +59105.6 13925 +59116.3 13929 +59126.9 13936 +59137.6 13948 +59148.3 13951 +59158.9 13960 +59169.6 13968 +59180.3 13970 +59190.9 13977 +59201.6 13982 +59212.2 13987 +59222.9 13993 +59233.6 13999 +59244.2 14007 +59254.9 14014 +59265.6 14024 +59276.2 14030 +59286.9 14036 +59297.6 14043 +59308.2 14047 +59318.9 14057 +59329.5 14058 +59340.2 14061 +59350.9 14064 +59361.5 14069 +59372.2 14076 +59382.9 14084 +59393.5 14085 +59404.2 14087 +59414.8 14104 +59425.5 14108 +59436.2 14113 +59446.8 14119 +59457.5 14125 +59468.2 14132 +59478.8 14137 +59489.5 14143 +59500.2 14150 +59510.8 14152 +59521.5 14162 +59532.1 14167 +59542.8 14174 +59553.5 14176 +59564.1 14180 +59574.8 14191 +59585.5 14203 +59596.1 14205 +59606.8 14208 +59617.4 14213 +59628.1 14218 +59638.8 14223 +59649.4 14225 +59660.1 14231 +59670.8 14234 +59681.4 14241 +59692.1 14257 +59702.8 14259 +59713.4 14260 +59724.1 14264 +59734.7 14280 +59745.4 14281 +59756.1 14288 +59766.7 14291 +59777.4 14306 +59788.1 14308 +59798.7 14317 +59809.4 14323 +59820 14331 +59830.7 14336 +59841.4 14343 +59852 14347 +59862.7 14358 +59873.4 14361 +59884 14366 +59894.7 14370 +59905.4 14378 +59916 14385 +59926.7 14391 +59937.3 14397 +59948 14399 +59958.7 14409 +59969.3 14413 +59980 14417 +59990.7 14425 +60001.3 14427 +60012 14437 +60022.6 14442 +60033.3 14449 +60044 14450 +60054.6 14453 +60065.3 14462 +60076 14465 +60086.6 14473 +60097.3 14479 +60108 14489 +60118.6 14495 +60129.3 14499 +60139.9 14509 +60150.6 14519 +60161.3 14522 +60171.9 14525 +60182.6 14529 +60193.3 14537 +60203.9 14545 +60214.6 14550 +60225.2 14557 +60235.9 14559 +60246.6 14570 +60257.2 14574 +60267.9 14576 +60278.6 14588 +60289.2 14595 +60299.9 14601 +60310.6 14601 +60321.2 14611 +60331.9 14618 +60342.5 14622 +60353.2 14631 +60363.9 14637 +60374.5 14642 +60385.2 14650 +60395.9 14659 +60406.5 14665 +60417.2 14667 +60427.8 14669 +60438.5 14670 +60449.2 14679 +60459.8 14687 +60470.5 14688 +60481.2 14695 +60491.8 14700 +60502.5 14706 +60513.1 14712 +60523.8 14714 +60534.5 14721 +60545.1 14731 +60555.8 14736 +60566.5 14740 +60577.1 14752 +60587.8 14757 +60598.5 14765 +60609.1 14770 +60619.8 14780 +60630.4 14786 +60641.1 14793 +60651.8 14796 +60662.4 14804 +60673.1 14809 +60683.8 14815 +60694.4 14821 +60705.1 14833 +60715.7 14840 +60726.4 14840 +60737.1 14849 +60747.7 14855 +60758.4 14861 +60769.1 14870 +60779.7 14875 +60790.4 14882 +60801.1 14884 +60811.7 14893 +60822.4 14899 +60833 14904 +60843.7 14912 +60854.4 14918 +60865 14922 +60875.7 14928 +60886.4 14935 +60897 14943 +60907.7 14948 +60918.3 14952 +60929 14962 +60939.7 14971 +60950.3 14973 +60961 14979 +60971.7 14985 +60982.3 14994 +60993 14998 +61003.7 15004 +61014.3 15010 +61025 15016 +61035.6 15022 +61046.3 15027 +61057 15032 +61067.6 15037 +61078.3 15043 +61089 15044 +61099.6 15050 +61110.3 15064 +61120.9 15066 +61131.6 15071 +61142.3 15082 +61152.9 15086 +61163.6 15092 +61174.3 15098 +61184.9 15107 +61195.6 15113 +61206.3 15119 +61216.9 15126 +61227.6 15132 +61238.2 15141 +61248.9 15148 +61259.6 15151 +61270.2 15155 +61280.9 15170 +61291.6 15174 +61302.2 15176 +61312.9 15177 +61323.5 15180 +61334.2 15184 +61344.9 15188 +61355.5 15198 +61366.2 15203 +61376.9 15204 +61387.5 15207 +61398.2 15214 +61408.9 15220 +61419.5 15228 +61430.2 15238 +61440.8 15240 +61451.5 15243 +61462.2 15250 +61472.8 15255 +61483.5 15265 +61494.2 15267 +61504.8 15274 +61515.5 15281 +61526.1 15287 +61536.8 15292 +61547.5 15298 +61558.1 15303 +61568.8 15309 +61579.5 15315 +61590.1 15318 +61600.8 15330 +61611.4 15335 +61622.1 15339 +61632.8 15342 +61643.4 15348 +61654.1 15359 +61664.8 15365 +61675.4 15368 +61686.1 15371 +61696.8 15377 +61707.4 15390 +61718.1 15394 +61728.7 15399 +61739.4 15405 +61750.1 15411 +61760.7 15419 +61771.4 15425 +61782.1 15431 +61792.7 15435 +61803.4 15439 +61814 15446 +61824.7 15450 +61835.4 15459 +61846 15466 +61856.7 15473 +61867.4 15476 +61878 15482 +61888.7 15482 +61899.4 15490 +61910 15494 +61920.7 15497 +61931.3 15503 +61942 15511 +61952.7 15518 +61963.3 15523 +61974 15527 +61984.7 15529 +61995.3 15547 +62006 15548 +62016.6 15550 +62027.3 15551 +62038 15561 +62048.6 15568 +62059.3 15572 +62070 15576 +62080.6 15584 +62091.3 15593 +62102 15599 +62112.6 15603 +62123.3 15612 +62133.9 15619 +62144.6 15624 +62155.3 15627 +62165.9 15635 +62176.6 15646 +62187.3 15648 +62197.9 15652 +62208.6 15654 +62219.2 15658 +62229.9 15659 +62240.6 15674 +62251.2 15679 +62261.9 15686 +62272.6 15692 +62283.2 15697 +62293.9 15700 +62304.6 15713 +62315.2 15717 +62325.9 15722 +62336.5 15723 +62347.2 15729 +62357.9 15733 +62368.5 15746 +62379.2 15752 +62389.9 15754 +62400.5 15759 +62411.2 15762 +62421.8 15771 +62432.5 15772 +62443.2 15783 +62453.8 15788 +62464.5 15792 +62475.2 15806 +62485.8 15807 +62496.5 15809 +62507.2 15815 +62517.8 15824 +62528.5 15832 +62539.1 15835 +62549.8 15841 +62560.5 15844 +62571.1 15853 +62581.8 15863 +62592.5 15864 +62603.1 15869 +62613.8 15886 +62624.4 15889 +62635.1 15895 +62645.8 15908 +62656.4 15912 +62667.1 15917 +62677.8 15920 +62688.4 15936 +62699.1 15938 +62709.7 15940 +62720.4 15941 +62731.1 15946 +62741.7 15952 +62752.4 15958 +62763.1 15963 +62773.7 15967 +62784.4 15977 +62795.1 15983 +62805.7 15987 +62816.4 15992 +62827 15996 +62837.7 16005 +62848.4 16007 +62859 16013 +62869.7 16017 +62880.4 16028 +62891 16035 +62901.7 16043 +62912.3 16047 +62923 16051 +62933.7 16058 +62944.3 16069 +62955 16074 +62965.7 16083 +62976.3 16092 +62987 16096 +62997.7 16099 +63008.3 16110 +63019 16116 +63029.6 16117 +63040.3 16119 +63051 16124 +63061.6 16130 +63072.3 16141 +63083 16148 +63093.6 16151 +63104.3 16160 +63114.9 16171 +63125.6 16173 +63136.3 16180 +63146.9 16187 +63157.6 16196 +63168.3 16200 +63178.9 16205 +63189.6 16208 +63200.3 16218 +63210.9 16225 +63221.6 16229 +63232.2 16232 +63242.9 16238 +63253.6 16242 +63264.2 16245 +63274.9 16254 +63285.6 16256 +63296.2 16259 +63306.9 16266 +63317.5 16269 +63328.2 16275 +63338.9 16279 +63349.5 16287 +63360.2 16299 +63370.9 16303 +63381.5 16310 +63392.2 16311 +63402.9 16326 +63413.5 16330 +63424.2 16337 +63434.8 16339 +63445.5 16340 +63456.2 16352 +63466.8 16360 +63477.5 16368 +63488.2 16376 +63498.8 16379 +63509.5 16389 +63520.1 16394 +63530.8 16400 +63541.5 16406 +63552.1 16415 +63562.8 16422 +63573.5 16427 +63584.1 16431 +63594.8 16433 +63605.5 16446 +63616.1 16449 +63626.8 16453 +63637.4 16457 +63648.1 16467 +63658.8 16472 +63669.4 16474 +63680.1 16477 +63690.8 16486 +63701.4 16494 +63712.1 16500 +63722.7 16503 +63733.4 16509 +63744.1 16517 +63754.7 16524 +63765.4 16528 +63776.1 16531 +63786.7 16539 +63797.4 16552 +63808.1 16556 +63818.7 16560 +63829.4 16564 +63840 16573 +63850.7 16577 +63861.4 16582 +63872 16585 +63882.7 16588 +63893.4 16599 +63904 16604 +63914.7 16609 +63925.3 16616 +63936 16621 +63946.7 16628 +63957.3 16638 +63968 16640 +63978.7 16650 +63989.3 16654 +64000 16661 +64010.6 16668 +64021.3 16672 +64032 16682 +64042.6 16689 +64053.3 16689 +64064 16695 +64074.6 16700 +64085.3 16710 +64096 16718 +64106.6 16723 +64117.3 16727 +64127.9 16738 +64138.6 16741 +64149.3 16747 +64159.9 16749 +64170.6 16754 +64181.3 16760 +64191.9 16764 +64202.6 16776 +64213.2 16781 +64223.9 16786 +64234.6 16792 +64245.2 16798 +64255.9 16806 +64266.6 16812 +64277.2 16818 +64287.9 16824 +64298.6 16830 +64309.2 16839 +64319.9 16847 +64330.5 16850 +64341.2 16857 +64351.9 16862 +64362.5 16872 +64373.2 16879 +64383.9 16882 +64394.5 16890 +64405.2 16899 +64415.8 16903 +64426.5 16909 +64437.2 16915 +64447.8 16918 +64458.5 16928 +64469.2 16934 +64479.8 16938 +64490.5 16945 +64501.2 16952 +64511.8 16958 +64522.5 16964 +64533.1 16971 +64543.8 16976 +64554.5 16981 +64565.1 16984 +64575.8 16991 +64586.5 16998 +64597.1 17001 +64607.8 17005 +64618.4 17014 +64629.1 17020 +64639.8 17025 +64650.4 17025 +64661.1 17033 +64671.8 17045 +64682.4 17050 +64693.1 17055 +64703.8 17061 +64714.4 17068 +64725.1 17073 +64735.7 17082 +64746.4 17088 +64757.1 17091 +64767.7 17092 +64778.4 17097 +64789.1 17104 +64799.7 17110 +64810.4 17120 +64821 17123 +64831.7 17124 +64842.4 17134 +64853 17139 +64863.7 17149 +64874.4 17153 +64885 17163 +64895.7 17164 +64906.4 17169 +64917 17174 +64927.7 17179 +64938.3 17188 +64949 17193 +64959.7 17200 +64970.3 17206 +64981 17210 +64991.7 17214 +65002.3 17218 +65013 17218 +65023.6 17229 +65034.3 17231 +65045 17237 +65055.6 17244 +65066.3 17248 +65077 17256 +65087.6 17260 +65098.3 17266 +65108.9 17270 +65119.6 17274 +65130.3 17279 +65140.9 17280 +65151.6 17285 +65162.3 17291 +65172.9 17297 +65183.6 17298 +65194.3 17304 +65204.9 17306 +65215.6 17310 +65226.2 17310 +65236.9 17315 +65247.6 17316 +65258.2 17321 +65268.9 17322 +65279.6 17322 +65290.2 17327 +65300.9 17328 +65311.5 17333 +65322.2 17334 +65332.9 17339 +65343.5 17340 +65354.2 17346 +65364.9 17346 +65375.5 17351 +65386.2 17352 +65396.9 17357 +65407.5 17358 +65418.2 17363 +65428.8 17364 +65439.5 17369 +65450.2 17370 +65460.8 17375 +65471.5 17376 +65482.2 17381 +65492.8 17382 +65503.5 17387 +65514.1 17388 +65524.8 17393 +65535.5 17394 +65546.1 17394 +65556.8 17394 +65567.5 17394 +65578.1 17394 +65588.8 17394 +65599.5 17394 +65610.1 17394 +65620.8 17394 +65631.4 17394 +65642.1 17394 +65652.8 17394 +65663.4 17395 +65674.1 17395 +65684.8 17396 +65695.4 17396 +65706.1 17396 +65716.7 17396 +65727.4 17397 +65738.1 17398 +65748.7 17398 +65759.4 17400 +65770.1 17403 +65780.7 17403 +65791.4 17405 +65802.1 17406 +65812.7 17406 +65823.4 17406 +65834 17406 +65844.7 17406 +65855.4 17406 +65866 17406 +65876.7 17406 +65887.4 17406 +65898 17406 +65908.7 17407 +65919.3 17408 +65930 17408 +65940.7 17409 +65951.3 17410 +65962 17410 +65972.7 17412 +65983.3 17412 +65994 17412 +66004.7 17412 +66015.3 17414 +66026 17415 +66036.6 17415 +66047.3 17416 +66058 17418 +66068.6 17421 +66079.3 17424 +66090 17424 +66100.6 17427 +66111.3 17429 +66121.9 17430 +66132.6 17430 +66143.3 17430 +66153.9 17432 +66164.6 17433 +66175.3 17435 +66185.9 17436 +66196.6 17439 +66207.2 17439 +66217.9 17441 +66228.6 17442 +66239.2 17445 +66249.9 17447 +66260.6 17448 +66271.2 17451 +66281.9 17451 +66292.6 17454 +66303.2 17454 +66313.9 17457 +66324.5 17460 +66335.2 17460 +66345.9 17463 +66356.5 17466 +66367.2 17466 +66377.9 17469 +66388.5 17469 +66399.2 17469 +66409.8 17469 +66420.5 17469 +66431.2 17469 +66441.8 17469 +66452.5 17472 +66463.2 17472 +66473.8 17474 +66484.5 17476 +66495.2 17478 +66505.8 17478 +66516.5 17478 +66527.1 17480 +66537.8 17482 +66548.5 17484 +66559.1 17484 +66569.8 17484 +66580.5 17484 +66591.1 17484 +66601.8 17484 +66612.4 17484 +66623.1 17484 +66633.8 17484 +66644.4 17484 +66655.1 17484 +66665.8 17484 +66676.4 17484 +66687.1 17484 +66697.8 17484 +66708.4 17484 +66719.1 17484 +66729.7 17484 +66740.4 17484 +66751.1 17484 +66761.7 17484 +66772.4 17484 +66783.1 17484 +66793.7 17484 +66804.4 17484 +66815 17484 +66825.7 17484 +66836.4 17484 +66847 17484 +66857.7 17484 +66868.4 17484 +66879 17484 +66889.7 17484 +66900.4 17484 +66911 17484 +66921.7 17484 +66932.3 17484 +66943 17484 +66953.7 17484 +66964.3 17484 +66975 17484 +66985.7 17484 +66996.3 17484 +67007 17484 +67017.6 17484 +67028.3 17484 +67039 17484 +67049.6 17484 +67060.3 17484 +67071 17484 +67081.6 17484 +67092.3 17484 +67103 17484 +67113.6 17484 +67124.3 17484 +67134.9 17484 +67145.6 17484 +67156.3 17484 +67166.9 17484 +67177.6 17484 +67188.3 17484 +67198.9 17484 +67209.6 17484 +67220.2 17484 +67230.9 17484 +67241.6 17484 +67252.2 17484 +67262.9 17484 +67273.6 17484 +67284.2 17484 +67294.9 17484 +67305.6 17484 +67316.2 17484 +67326.9 17484 +67337.5 17484 +67348.2 17484 +67358.9 17484 +67369.5 17484 +67380.2 17484 +67390.9 17484 +67401.5 17484 +67412.2 17484 +67422.8 17484 +67433.5 17484 +67444.2 17484 +67454.8 17484 +67465.5 17484 +67476.2 17484 +67486.8 17484 +67497.5 17484 +67508.1 17484 +67518.8 17484 +67529.5 17484 +67540.1 17484 +67550.8 17484 +67561.5 17484 +67572.1 17484 +67582.8 17484 +67593.5 17484 +67604.1 17484 +67614.8 17484 +67625.4 17484 +67636.1 17484 +67646.8 17484 +67657.4 17484 +67668.1 17484 +67678.8 17484 +67689.4 17484 +67700.1 17484 +67710.7 17484 +67721.4 17484 +67732.1 17484 +67742.7 17484 +67753.4 17484 +67764.1 17484 +67774.7 17484 +67785.4 17484 +67796.1 17484 +67806.7 17484 +67817.4 17484 +67828 17484 +67838.7 17484 +67849.4 17484 +67860 17484 +67870.7 17484 +67881.4 17484 +67892 17484 +67902.7 17484 +67913.3 17484 +67924 17484 +67934.7 17484 +67945.3 17484 +67956 17484 +67966.7 17484 +67977.3 17484 +67988 17484 +67998.7 17484 +68009.3 17484 +68020 17484 +68030.6 17484 +68041.3 17484 +68052 17484 +68062.6 17484 +68073.3 17484 +68084 17484 +68094.6 17484 +68105.3 17484 +68115.9 17484 +68126.6 17484 +68137.3 17484 +68147.9 17484 +68158.6 17484 +68169.3 17484 +68179.9 17484 +68190.6 17484 +68201.3 17484 +68211.9 17484 +68222.6 17484 +68233.2 17484 +68243.9 17484 +68254.6 17484 +68265.2 17484 +68275.9 17484 +68286.6 17484 +68297.2 17484 +68307.9 17484 +68318.5 17484 +68329.2 17484 +68339.9 17484 +68350.5 17484 +68361.2 17484 +68371.9 17484 +68382.5 17484 +68393.2 17484 +68403.9 17484 +68414.5 17484 +68425.2 17484 +68435.8 17484 +68446.5 17484 +68457.2 17484 +68467.8 17484 +68478.5 17484 +68489.2 17484 +68499.8 17484 +68510.5 17484 +68521.1 17484 +68531.8 17484 +68542.5 17484 +68553.1 17484 +68563.8 17484 +68574.5 17484 +68585.1 17484 +68595.8 17484 +68606.4 17484 +68617.1 17484 +68627.8 17484 +68638.4 17484 +68649.1 17484 +68659.8 17484 +68670.4 17484 +68681.1 17484 +68691.8 17484 +68702.4 17484 +68713.1 17484 +68723.7 17484 +68734.4 17484 +68745.1 17484 +68755.7 17484 +68766.4 17484 +68777.1 17484 +68787.7 17484 +68798.4 17484 +68809 17484 +68819.7 17484 +68830.4 17484 +68841 17484 +68851.7 17484 +68862.4 17484 +68873 17484 +68883.7 17484 +68894.4 17484 +68905 17484 +68915.7 17484 +68926.3 17484 +68937 17484 +68947.7 17484 +68958.3 17484 +68969 17484 +68979.7 17484 +68990.3 17484 +69001 17484 +69011.6 17484 +69022.3 17484 +69033 17484 +69043.6 17484 +69054.3 17484 +69065 17484 +69075.6 17484 +69086.3 17484 +69097 17484 +69107.6 17484 +69118.3 17484 +69128.9 17484 +69139.6 17484 +69150.3 17484 +69160.9 17484 +69171.6 17484 +69182.3 17484 +69192.9 17484 +69203.6 17484 +69214.2 17484 +69224.9 17484 +69235.6 17484 +69246.2 17484 +69256.9 17484 +69267.6 17484 +69278.2 17484 +69288.9 17484 +69299.6 17484 +69310.2 17484 +69320.9 17484 +69331.5 17484 +69342.2 17484 +69352.9 17484 +69363.5 17484 +69374.2 17484 +69384.9 17484 +69395.5 17484 +69406.2 17484 +69416.8 17484 +69427.5 17484 +69438.2 17484 +69448.8 17484 +69459.5 17484 +69470.2 17484 +69480.8 17484 +69491.5 17484 +69502.2 17484 +69512.8 17484 +69523.5 17484 +69534.1 17484 +69544.8 17484 +69555.5 17484 +69566.1 17484 +69576.8 17484 +69587.5 17484 +69598.1 17484 +69608.8 17484 +69619.4 17484 +69630.1 17484 +69640.8 17484 +69651.4 17484 +69662.1 17484 +69672.8 17484 +69683.4 17484 +69694.1 17484 +69704.8 17484 +69715.4 17484 +69726.1 17484 +69736.7 17484 +69747.4 17484 +69758.1 17484 +69768.7 17484 +69779.4 17484 +69790.1 17484 +69800.7 17484 +69811.4 17484 +69822 17484 +69832.7 17484 +69843.4 17484 +69854 17484 +69864.7 17484 +69875.4 17484 +69886 17484 +69896.7 17484 +69907.3 17484 +69918 17484 +69928.7 17484 +69939.3 17484 +69950 17484 +69960.7 17484 +69971.3 17484 +69982 17484 +69992.7 17484 +70003.3 17484 +70014 17484 +70024.6 17484 +70035.3 17484 +70046 17484 +70056.6 17484 +70067.3 17484 +70078 17484 +70088.6 17484 +70099.3 17484 +70109.9 17484 +70120.6 17484 +70131.3 17484 +70141.9 17484 +70152.6 17484 +70163.3 17484 +70173.9 17484 +70184.6 17484 +70195.3 17484 +70205.9 17484 +70216.6 17484 +70227.2 17484 +70237.9 17484 +70248.6 17484 +70259.2 17484 +70269.9 17484 +70280.6 17484 +70291.2 17484 +70301.9 17484 +70312.5 17484 +70323.2 17484 +70333.9 17484 +70344.5 17484 +70355.2 17484 +70365.9 17484 +70376.5 17484 +70387.2 17484 +70397.9 17484 +70408.5 17484 +70419.2 17484 +70429.8 17484 +70440.5 17484 +70451.2 17484 +70461.8 17484 +70472.5 17484 +70483.2 17484 +70493.8 17484 +70504.5 17484 +70515.1 17484 +70525.8 17484 +70536.5 17484 +70547.1 17484 +70557.8 17484 +70568.5 17484 +70579.1 17484 +70589.8 17484 +70600.5 17484 +70611.1 17484 +70621.8 17484 +70632.4 17484 +70643.1 17484 +70653.8 17484 +70664.4 17484 +70675.1 17484 +70685.8 17484 +70696.4 17484 +70707.1 17484 +70717.7 17484 +70728.4 17484 +70739.1 17484 +70749.7 17484 +70760.4 17484 +70771.1 17484 +70781.7 17484 +70792.4 17484 +70803.1 17484 +70813.7 17484 +70824.4 17484 +70835 17484 +70845.7 17484 +70856.4 17484 +70867 17484 +70877.7 17484 +70888.4 17484 +70899 17484 +70909.7 17484 +70920.3 17484 +70931 17484 +70941.7 17484 +70952.3 17484 +70963 17484 +70973.7 17484 +70984.3 17484 +70995 17484 +71005.6 17484 +71016.3 17484 +71027 17484 +71037.6 17484 +71048.3 17484 +71059 17484 +71069.6 17484 +71080.3 17484 +71091 17484 +71101.6 17484 +71112.3 17484 +71122.9 17484 +71133.6 17484 +71144.3 17484 +71154.9 17484 +71165.6 17484 +71176.3 17484 +71186.9 17484 +71197.6 17484 +71208.2 17484 +71218.9 17484 +71229.6 17484 +71240.2 17484 +71250.9 17484 +71261.6 17484 +71272.2 17484 +71282.9 17484 +71293.6 17484 +71304.2 17484 +71314.9 17484 +71325.5 17484 +71336.2 17484 +71346.9 17484 +71357.5 17484 +71368.2 17484 +71378.9 17484 +71389.5 17484 +71400.2 17484 +71410.8 17484 +71421.5 17484 +71432.2 17484 +71442.8 17484 +71453.5 17484 +71464.2 17484 +71474.8 17484 +71485.5 17484 +71496.2 17484 +71506.8 17484 +71517.5 17484 +71528.1 17484 +71538.8 17484 +71549.5 17484 +71560.1 17484 +71570.8 17484 +71581.5 17484 +71592.1 17484 +71602.8 17484 +71613.4 17484 +71624.1 17484 +71634.8 17484 +71645.4 17484 +71656.1 17484 +71666.8 17484 +71677.4 17484 +71688.1 17484 +71698.8 17484 +71709.4 17484 +71720.1 17484 +71730.7 17484 +71741.4 17484 +71752.1 17484 +71762.7 17484 +71773.4 17484 +71784.1 17484 +71794.7 17484 +71805.4 17484 +71816 17484 +71826.7 17484 +71837.4 17484 +71848 17484 +71858.7 17484 +71869.4 17484 +71880 17484 +71890.7 17484 +71901.4 17484 +71912 17484 +71922.7 17484 +71933.3 17484 +71944 17484 +71954.7 17484 +71965.3 17484 +71976 17484 +71986.7 17484 +71997.3 17484 +72008 17484 +72018.6 17484 +72029.3 17484 +72040 17484 +72050.6 17484 +72061.3 17484 +72072 17484 +72082.6 17484 +72093.3 17484 +72103.9 17484 +72114.6 17484 +72125.3 17484 +72135.9 17484 +72146.6 17484 +72157.3 17484 +72167.9 17484 +72178.6 17484 +72189.3 17484 +72199.9 17484 +72210.6 17484 +72221.2 17484 +72231.9 17484 +72242.6 17484 +72253.2 17484 +72263.9 17484 +72274.6 17484 +72285.2 17484 +72295.9 17484 +72306.5 17484 +72317.2 17484 +72327.9 17484 +72338.5 17484 +72349.2 17484 +72359.9 17484 +72370.5 17484 +72381.2 17484 +72391.9 17484 +72402.5 17484 +72413.2 17484 +72423.8 17484 +72434.5 17484 +72445.2 17484 +72455.8 17484 +72466.5 17484 +72477.2 17484 +72487.8 17484 +72498.5 17484 +72509.1 17484 +72519.8 17484 +72530.5 17484 +72541.1 17484 +72551.8 17484 +72562.5 17484 +72573.1 17484 +72583.8 17484 +72594.5 17484 +72605.1 17484 +72615.8 17484 +72626.4 17484 +72637.1 17484 +72647.8 17484 +72658.4 17484 +72669.1 17484 +72679.8 17484 +72690.4 17484 +72701.1 17484 +72711.7 17484 +72722.4 17484 +72733.1 17484 +72743.7 17484 +72754.4 17484 +72765.1 17484 +72775.7 17484 +72786.4 17484 +72797.1 17484 +72807.7 17484 +72818.4 17484 +72829 17484 +72839.7 17484 +72850.4 17484 +72861 17484 +72871.7 17484 +72882.4 17484 +72893 17484 +72903.7 17484 +72914.3 17484 +72925 17484 +72935.7 17484 +72946.3 17484 +72957 17484 +72967.7 17484 +72978.3 17484 +72989 17484 +72999.7 17484 +73010.3 17484 +73021 17484 +73031.6 17484 +73042.3 17484 +73053 17484 +73063.6 17484 +73074.3 17484 +73085 17484 +73095.6 17484 +73106.3 17484 +73116.9 17484 +73127.6 17484 +73138.3 17484 +73148.9 17484 +73159.6 17484 +73170.3 17484 +73180.9 17484 +73191.6 17484 +73202.3 17484 +73212.9 17484 +73223.6 17484 +73234.2 17484 +73244.9 17484 +73255.6 17484 +73266.2 17484 +73276.9 17484 +73287.6 17484 +73298.2 17484 +73308.9 17484 +73319.5 17484 +73330.2 17484 +73340.9 17484 +73351.5 17484 +73362.2 17484 +73372.9 17484 +73383.5 17484 +73394.2 17484 +73404.8 17484 +73415.5 17484 +73426.2 17484 +73436.8 17484 +73447.5 17484 +73458.2 17484 +73468.8 17484 +73479.5 17484 +73490.2 17484 +73500.8 17484 +73511.5 17484 +73522.1 17484 +73532.8 17484 +73543.5 17484 +73554.1 17484 +73564.8 17484 +73575.5 17484 +73586.1 17484 +73596.8 17484 +73607.4 17484 +73618.1 17484 +73628.8 17484 +73639.4 17484 +73650.1 17484 +73660.8 17484 +73671.4 17484 +73682.1 17484 +73692.8 17484 +73703.4 17484 +73714.1 17484 +73724.7 17484 +73735.4 17484 +73746.1 17484 +73756.7 17484 +73767.4 17484 +73778.1 17484 +73788.7 17484 +73799.4 17484 +73810 17484 +73820.7 17484 +73831.4 17484 +73842 17484 +73852.7 17484 +73863.4 17484 +73874 17484 +73884.7 17484 +73895.4 17484 +73906 17484 +73916.7 17484 +73927.3 17484 +73938 17484 +73948.7 17484 +73959.3 17484 +73970 17484 +73980.7 17484 +73991.3 17484 +74002 17484 +74012.6 17484 +74023.3 17484 +74034 17484 +74044.6 17484 +74055.3 17484 +74066 17484 +74076.6 17484 +74087.3 17484 +74098 17484 +74108.6 17484 +74119.3 17484 +74129.9 17484 +74140.6 17484 +74151.3 17484 +74161.9 17484 +74172.6 17484 +74183.3 17484 +74193.9 17484 +74204.6 17484 +74215.2 17484 +74225.9 17484 +74236.6 17484 +74247.2 17484 +74257.9 17484 +74268.6 17484 +74279.2 17484 +74289.9 17484 +74300.6 17484 +74311.2 17484 +74321.9 17484 +74332.5 17484 +74343.2 17484 +74353.9 17484 +74364.5 17484 +74375.2 17484 +74385.9 17484 +74396.5 17484 +74407.2 17484 +74417.8 17484 +74428.5 17484 +74439.2 17484 +74449.8 17484 +74460.5 17484 +74471.2 17484 +74481.8 17484 +74492.5 17484 +74503.1 17484 +74513.8 17484 +74524.5 17484 +74535.1 17484 +74545.8 17484 +74556.5 17484 +74567.1 17484 +74577.8 17484 +74588.5 17484 +74599.1 17484 +74609.8 17484 +74620.4 17484 +74631.1 17484 +74641.8 17484 +74652.4 17484 +74663.1 17484 +74673.8 17484 +74684.4 17484 +74695.1 17484 +74705.7 17484 +74716.4 17484 +74727.1 17484 +74737.7 17484 +74748.4 17484 +74759.1 17484 +74769.7 17484 +74780.4 17484 +74791.1 17484 +74801.7 17484 +74812.4 17484 +74823 17484 +74833.7 17484 +74844.4 17484 +74855 17484 +74865.7 17484 +74876.4 17484 +74887 17484 +74897.7 17484 +74908.3 17484 +74919 17484 +74929.7 17484 +74940.3 17484 +74951 17484 +74961.7 17484 +74972.3 17484 +74983 17484 +74993.7 17484 +75004.3 17484 +75015 17484 +75025.6 17484 +75036.3 17484 +75047 17484 +75057.6 17484 +75068.3 17484 +75079 17484 +75089.6 17484 +75100.3 17484 +75110.9 17484 +75121.6 17484 +75132.3 17484 +75142.9 17484 +75153.6 17484 +75164.3 17484 +75174.9 17484 +75185.6 17484 +75196.3 17484 +75206.9 17484 +75217.6 17484 +75228.2 17484 +75238.9 17484 +75249.6 17484 +75260.2 17484 +75270.9 17484 +75281.6 17484 +75292.2 17484 +75302.9 17484 +75313.5 17484 +75324.2 17484 +75334.9 17484 +75345.5 17484 +75356.2 17484 +75366.9 17484 +75377.5 17484 +75388.2 17484 +75398.9 17484 +75409.5 17484 +75420.2 17484 +75430.8 17484 +75441.5 17484 +75452.2 17484 +75462.8 17484 +75473.5 17484 +75484.2 17484 +75494.8 17484 +75505.5 17484 +75516.1 17484 +75526.8 17484 +75537.5 17484 +75548.1 17484 +75558.8 17484 +75569.5 17484 +75580.1 17484 +75590.8 17484 +75601.4 17484 +75612.1 17484 +75622.8 17484 +75633.4 17484 +75644.1 17484 +75654.8 17484 +75665.4 17484 +75676.1 17484 +75686.8 17484 +75697.4 17484 +75708.1 17484 +75718.7 17484 +75729.4 17484 +75740.1 17484 +75750.7 17484 +75761.4 17484 +75772.1 17484 +75782.7 17484 +75793.4 17484 +75804 17484 +75814.7 17484 +75825.4 17484 +75836 17484 +75846.7 17484 +75857.4 17484 +75868 17484 +75878.7 17484 +75889.4 17484 +75900 17484 +75910.7 17484 +75921.3 17484 +75932 17484 +75942.7 17484 +75953.3 17484 +75964 17484 +75974.7 17484 +75985.3 17484 +75996 17484 +76006.6 17484 +76017.3 17484 +76028 17484 +76038.6 17484 +76049.3 17484 +76060 17484 +76070.6 17484 +76081.3 17484 +76092 17484 +76102.6 17484 +76113.3 17484 +76123.9 17484 +76134.6 17484 +76145.3 17484 +76155.9 17484 +76166.6 17484 +76177.3 17484 +76187.9 17484 +76198.6 17484 +76209.2 17484 +76219.9 17484 +76230.6 17484 +76241.2 17484 +76251.9 17484 +76262.6 17484 +76273.2 17484 +76283.9 17484 +76294.6 17484 +76305.2 17484 +76315.9 17484 +76326.5 17484 +76337.2 17484 +76347.9 17484 +76358.5 17484 +76369.2 17484 +76379.9 17484 +76390.5 17484 +76401.2 17484 +76411.8 17484 +76422.5 17484 +76433.2 17484 +76443.8 17484 +76454.5 17484 +76465.2 17484 +76475.8 17484 +76486.5 17484 +76497.2 17484 +76507.8 17484 +76518.5 17484 +76529.1 17484 +76539.8 17484 +76550.5 17484 +76561.1 17484 +76571.8 17484 +76582.5 17484 +76593.1 17484 +76603.8 17484 +76614.4 17484 +76625.1 17484 +76635.8 17484 +76646.4 17484 +76657.1 17484 +76667.8 17484 +76678.4 17484 +76689.1 17484 +76699.8 17484 +76710.4 17484 +76721.1 17484 +76731.7 17484 +76742.4 17484 +76753.1 17484 +76763.7 17484 +76774.4 17484 +76785.1 17484 +76795.7 17484 +76806.4 17484 +76817 17484 +76827.7 17484 +76838.4 17484 +76849 17484 +76859.7 17484 +76870.4 17484 +76881 17484 +76891.7 17484 +76902.3 17484 +76913 17484 +76923.7 17484 +76934.3 17484 +76945 17484 +76955.7 17484 +76966.3 17484 +76977 17484 +76987.7 17484 +76998.3 17484 +77009 17484 +77019.6 17484 +77030.3 17484 +77041 17484 +77051.6 17484 +77062.3 17484 +77073 17484 +77083.6 17484 +77094.3 17484 +77104.9 17484 +77115.6 17484 +77126.3 17484 +77136.9 17484 +77147.6 17484 +77158.3 17484 +77168.9 17484 +77179.6 17484 +77190.3 17484 +77200.9 17484 +77211.6 17484 +77222.2 17484 +77232.9 17484 +77243.6 17484 +77254.2 17484 +77264.9 17484 +77275.6 17484 +77286.2 17484 +77296.9 17484 +77307.5 17484 +77318.2 17484 +77328.9 17484 +77339.5 17484 +77350.2 17484 +77360.9 17484 +77371.5 17484 +77382.2 17484 +77392.9 17484 +77403.5 17484 +77414.2 17484 +77424.8 17484 +77435.5 17484 +77446.2 17484 +77456.8 17484 +77467.5 17484 +77478.2 17484 +77488.8 17484 +77499.5 17484 +77510.1 17484 +77520.8 17484 +77531.5 17484 +77542.1 17484 +77552.8 17484 +77563.5 17484 +77574.1 17484 +77584.8 17484 +77595.5 17484 +77606.1 17484 +77616.8 17484 +77627.4 17484 +77638.1 17484 +77648.8 17484 +77659.4 17484 +77670.1 17484 +77680.8 17484 +77691.4 17484 +77702.1 17484 +77712.7 17484 +77723.4 17484 +77734.1 17484 +77744.7 17484 +77755.4 17484 +77766.1 17484 +77776.7 17484 +77787.4 17484 +77798.1 17484 +77808.7 17484 +77819.4 17484 +77830 17484 +77840.7 17484 +77851.4 17484 +77862 17484 +77872.7 17484 +77883.4 17484 +77894 17484 +77904.7 17484 +77915.3 17484 +77926 17484 +77936.7 17484 +77947.3 17484 +77958 17484 +77968.7 17484 +77979.3 17484 +77990 17484 +78000.6 17484 +78011.3 17484 +78022 17484 +78032.6 17484 +78043.3 17484 +78054 17484 +78064.6 17484 +78075.3 17484 +78086 17484 +78096.6 17484 +78107.3 17484 +78117.9 17484 +78128.6 17484 +78139.3 17484 +78149.9 17484 +78160.6 17484 +78171.3 17484 +78181.9 17484 +78192.6 17484 +78203.2 17484 +78213.9 17484 +78224.6 17484 +78235.2 17484 +78245.9 17484 +78256.6 17484 +78267.2 17484 +78277.9 17484 +78288.6 17484 +78299.2 17484 +78309.9 17484 +78320.5 17484 +78331.2 17484 +78341.9 17484 +78352.5 17484 +78363.2 17484 +78373.9 17484 +78384.5 17484 +78395.2 17484 +78405.8 17484 +78416.5 17484 +78427.2 17484 +78437.8 17484 +78448.5 17484 +78459.2 17484 +78469.8 17484 +78480.5 17484 +78491.2 17484 +78501.8 17484 +78512.5 17484 +78523.1 17484 +78533.8 17484 +78544.5 17484 +78555.1 17484 +78565.8 17484 +78576.5 17484 +78587.1 17484 +78597.8 17484 +78608.4 17484 +78619.1 17484 +78629.8 17484 +78640.4 17484 +78651.1 17484 +78661.8 17484 +78672.4 17484 +78683.1 17484 +78693.8 17484 +78704.4 17484 +78715.1 17484 +78725.7 17484 +78736.4 17484 +78747.1 17484 +78757.7 17484 +78768.4 17484 +78779.1 17484 +78789.7 17484 +78800.4 17484 +78811 17484 +78821.7 17484 +78832.4 17484 +78843 17484 +78853.7 17484 +78864.4 17484 +78875 17484 +78885.7 17484 +78896.4 17484 +78907 17484 +78917.7 17484 +78928.3 17484 +78939 17484 +78949.7 17484 +78960.3 17484 +78971 17484 +78981.7 17484 +78992.3 17484 +79003 17484 +79013.6 17484 +79024.3 17484 +79035 17484 +79045.6 17484 +79056.3 17484 +79067 17484 +79077.6 17484 +79088.3 17484 +79098.9 17484 +79109.6 17484 +79120.3 17484 +79130.9 17484 +79141.6 17484 +79152.3 17484 +79162.9 17484 +79173.6 17484 +79184.3 17484 +79194.9 17484 +79205.6 17484 +79216.2 17484 +79226.9 17484 +79237.6 17484 +79248.2 17484 +79258.9 17484 +79269.6 17484 +79280.2 17484 +79290.9 17484 +79301.5 17484 +79312.2 17484 +79322.9 17484 +79333.5 17484 +79344.2 17484 +79354.9 17484 +79365.5 17484 +79376.2 17484 +79386.9 17484 +79397.5 17484 +79408.2 17484 +79418.8 17484 +79429.5 17484 +79440.2 17484 +79450.8 17484 +79461.5 17484 +79472.2 17484 +79482.8 17484 +79493.5 17484 +79504.1 17484 +79514.8 17484 +79525.5 17484 +79536.1 17484 +79546.8 17484 +79557.5 17484 +79568.1 17484 +79578.8 17484 +79589.5 17484 +79600.1 17484 +79610.8 17484 +79621.4 17484 +79632.1 17484 +79642.8 17484 +79653.4 17484 +79664.1 17484 +79674.8 17484 +79685.4 17484 +79696.1 17484 +79706.7 17484 +79717.4 17484 +79728.1 17484 +79738.7 17484 +79749.4 17484 +79760.1 17484 +79770.7 17484 +79781.4 17484 +79792.1 17484 +79802.7 17484 +79813.4 17484 +79824 17484 +79834.7 17484 +79845.4 17484 +79856 17484 +79866.7 17484 +79877.4 17484 +79888 17484 +79898.7 17484 +79909.3 17484 +79920 17484 +79930.7 17484 +79941.3 17484 +79952 17484 +79962.7 17484 +79973.3 17484 +79984 17484 +79994.7 17484 +80005.3 17484 +80016 17484 +80026.6 17484 +80037.3 17484 +80048 17484 +80058.6 17484 +80069.3 17484 +80080 17484 +80090.6 17484 +80101.3 17484 +80111.9 17484 +80122.6 17484 +80133.3 17484 +80143.9 17484 +80154.6 17484 +80165.3 17484 +80175.9 17484 +80186.6 17484 +80197.3 17484 +80207.9 17484 +80218.6 17484 +80229.2 17484 +80239.9 17484 +80250.6 17484 +80261.2 17484 +80271.9 17484 +80282.6 17484 +80293.2 17484 +80303.9 17484 +80314.5 17484 +80325.2 17484 +80335.9 17484 +80346.5 17484 +80357.2 17484 +80367.9 17484 +80378.5 17484 +80389.2 17484 +80399.8 17484 +80410.5 17484 +80421.2 17484 +80431.8 17484 +80442.5 17484 +80453.2 17484 +80463.8 17484 +80474.5 17484 +80485.2 17484 +80495.8 17484 +80506.5 17484 +80517.1 17484 +80527.8 17484 +80538.5 17484 +80549.1 17484 +80559.8 17484 +80570.5 17484 +80581.1 17484 +80591.8 17484 +80602.4 17484 +80613.1 17484 +80623.8 17484 +80634.4 17484 +80645.1 17484 +80655.8 17484 +80666.4 17484 +80677.1 17484 +80687.8 17484 +80698.4 17484 +80709.1 17484 +80719.7 17484 +80730.4 17484 +80741.1 17484 +80751.7 17484 +80762.4 17484 +80773.1 17484 +80783.7 17484 +80794.4 17484 +80805 17484 +80815.7 17484 +80826.4 17484 +80837 17484 +80847.7 17484 +80858.4 17484 +80869 17484 +80879.7 17484 +80890.4 17484 +80901 17484 +80911.7 17484 +80922.3 17484 +80933 17484 +80943.7 17484 +80954.3 17484 +80965 17484 +80975.7 17484 +80986.3 17484 +80997 17484 +81007.6 17484 +81018.3 17484 +81029 17484 +81039.6 17484 +81050.3 17484 +81061 17484 +81071.6 17484 +81082.3 17484 +81093 17484 +81103.6 17484 +81114.3 17484 +81124.9 17484 +81135.6 17484 +81146.3 17484 +81156.9 17484 +81167.6 17484 +81178.3 17484 +81188.9 17484 +81199.6 17484 +81210.2 17484 +81220.9 17484 +81231.6 17484 +81242.2 17484 +81252.9 17484 +81263.6 17484 +81274.2 17484 +81284.9 17484 +81295.6 17484 +81306.2 17484 +81316.9 17484 +81327.5 17484 +81338.2 17484 +81348.9 17484 +81359.5 17484 +81370.2 17484 +81380.9 17484 +81391.5 17484 +81402.2 17484 +81412.8 17484 +81423.5 17484 +81434.2 17484 +81444.8 17484 +81455.5 17484 +81466.2 17484 +81476.8 17484 +81487.5 17484 +81498.1 17484 +81508.8 17484 +81519.5 17484 +81530.1 17484 +81540.8 17484 +81551.5 17484 +81562.1 17484 +81572.8 17484 +81583.5 17484 +81594.1 17484 +81604.8 17484 +81615.4 17484 +81626.1 17484 +81636.8 17484 +81647.4 17484 +81658.1 17484 +81668.8 17484 +81679.4 17484 +81690.1 17484 +81700.7 17484 +81711.4 17484 +81722.1 17484 +81732.7 17484 +81743.4 17484 +81754.1 17484 +81764.7 17484 +81775.4 17484 +81786.1 17484 +81796.7 17484 +81807.4 17484 +81818 17484 +81828.7 17484 +81839.4 17484 +81850 17484 +81860.7 17484 +81871.4 17484 +81882 17484 +81892.7 17484 +81903.3 17484 +81914 17484 +81924.7 17484 +81935.3 17484 +81946 17484 +81956.7 17484 +81967.3 17484 +81978 17484 +81988.7 17484 +81999.3 17484 +82010 17484 +82020.6 17484 +82031.3 17484 +82042 17484 +82052.6 17484 +82063.3 17484 +82074 17484 +82084.6 17484 +82095.3 17484 +82105.9 17484 +82116.6 17484 +82127.3 17484 +82137.9 17484 +82148.6 17484 +82159.3 17484 +82169.9 17484 +82180.6 17484 +82191.3 17484 +82201.9 17484 +82212.6 17484 +82223.2 17484 +82233.9 17484 +82244.6 17484 +82255.2 17484 +82265.9 17484 +82276.6 17484 +82287.2 17484 +82297.9 17484 +82308.5 17484 +82319.2 17484 +82329.9 17484 +82340.5 17484 +82351.2 17484 +82361.9 17484 +82372.5 17484 +82383.2 17484 +82393.9 17484 +82404.5 17484 +82415.2 17484 +82425.8 17484 +82436.5 17484 +82447.2 17484 +82457.8 17484 +82468.5 17484 +82479.2 17484 +82489.8 17484 +82500.5 17484 +82511.1 17484 +82521.8 17484 +82532.5 17484 +82543.1 17484 +82553.8 17484 +82564.5 17484 +82575.1 17484 +82585.8 17484 +82596.5 17484 +82607.1 17484 +82617.8 17484 +82628.4 17484 +82639.1 17484 +82649.8 17484 +82660.4 17484 +82671.1 17484 +82681.8 17484 +82692.4 17484 +82703.1 17484 +82713.7 17484 +82724.4 17484 +82735.1 17484 +82745.7 17484 +82756.4 17484 +82767.1 17484 +82777.7 17484 +82788.4 17484 +82799 17484 +82809.7 17484 +82820.4 17484 +82831 17484 +82841.7 17484 +82852.4 17484 +82863 17484 +82873.7 17484 +82884.4 17484 +82895 17484 +82905.7 17484 +82916.3 17484 +82927 17484 +82937.7 17484 +82948.3 17484 +82959 17484 +82969.7 17484 +82980.3 17484 +82991 17484 +83001.6 17484 +83012.3 17484 +83023 17484 +83033.6 17484 +83044.3 17484 +83055 17484 +83065.6 17484 +83076.3 17484 +83087 17484 +83097.6 17484 +83108.3 17484 +83118.9 17484 +83129.6 17484 +83140.3 17484 +83150.9 17484 +83161.6 17484 +83172.3 17484 +83182.9 17484 +83193.6 17484 +83204.2 17484 +83214.9 17484 +83225.6 17484 +83236.2 17484 +83246.9 17484 +83257.6 17484 +83268.2 17484 +83278.9 17484 +83289.6 17484 +83300.2 17484 +83310.9 17484 +83321.5 17484 +83332.2 17484 +83342.9 17484 +83353.5 17484 +83364.2 17484 +83374.9 17484 +83385.5 17484 +83396.2 17484 +83406.8 17484 +83417.5 17484 +83428.2 17484 +83438.8 17484 +83449.5 17484 +83460.2 17484 +83470.8 17484 +83481.5 17484 +83492.2 17484 +83502.8 17484 +83513.5 17484 +83524.1 17484 +83534.8 17484 +83545.5 17484 +83556.1 17484 +83566.8 17484 +83577.5 17484 +83588.1 17484 +83598.8 17484 +83609.4 17484 +83620.1 17484 +83630.8 17484 +83641.4 17484 +83652.1 17484 +83662.8 17484 +83673.4 17484 +83684.1 17484 +83694.8 17484 +83705.4 17484 +83716.1 17484 +83726.7 17484 +83737.4 17484 +83748.1 17484 +83758.7 17484 +83769.4 17484 +83780.1 17484 +83790.7 17484 +83801.4 17484 +83812 17484 +83822.7 17484 +83833.4 17484 +83844 17484 +83854.7 17484 +83865.4 17484 +83876 17484 +83886.7 17484 +83897.3 17484 +83908 17484 +83918.7 17484 +83929.3 17484 +83940 17484 +83950.7 17484 +83961.3 17484 +83972 17484 +83982.7 17484 +83993.3 17484 +84004 17484 +84014.6 17484 +84025.3 17484 +84036 17484 +84046.6 17484 +84057.3 17484 +84068 17484 +84078.6 17484 +84089.3 17484 +84099.9 17484 +84110.6 17484 +84121.3 17484 +84131.9 17484 +84142.6 17484 +84153.3 17484 +84163.9 17484 +84174.6 17484 +84185.3 17484 +84195.9 17484 +84206.6 17484 +84217.2 17484 +84227.9 17484 +84238.6 17484 +84249.2 17484 +84259.9 17484 +84270.6 17484 +84281.2 17484 +84291.9 17484 +84302.5 17484 +84313.2 17484 +84323.9 17484 +84334.5 17484 +84345.2 17484 +84355.9 17484 +84366.5 17484 +84377.2 17484 +84387.9 17484 +84398.5 17484 +84409.2 17484 +84419.8 17484 +84430.5 17484 +84441.2 17484 +84451.8 17484 +84462.5 17484 +84473.2 17484 +84483.8 17484 +84494.5 17484 +84505.1 17484 +84515.8 17484 +84526.5 17484 +84537.1 17484 +84547.8 17484 +84558.5 17484 +84569.1 17484 +84579.8 17484 +84590.5 17484 +84601.1 17484 +84611.8 17484 +84622.4 17484 +84633.1 17484 +84643.8 17484 +84654.4 17484 +84665.1 17484 +84675.8 17484 +84686.4 17484 +84697.1 17484 +84707.7 17484 +84718.4 17484 +84729.1 17484 +84739.7 17484 +84750.4 17484 +84761.1 17484 +84771.7 17484 +84782.4 17484 +84793.1 17484 +84803.7 17484 +84814.4 17484 +84825 17484 +84835.7 17484 +84846.4 17484 +84857 17484 +84867.7 17484 +84878.4 17484 +84889 17484 +84899.7 17484 +84910.3 17484 +84921 17484 +84931.7 17484 +84942.3 17484 +84953 17484 +84963.7 17484 +84974.3 17484 +84985 17484 +84995.6 17484 +85006.3 17484 +85017 17484 +85027.6 17484 +85038.3 17484 +85049 17484 +85059.6 17484 +85070.3 17484 +85081 17484 +85091.6 17484 +85102.3 17484 +85112.9 17484 +85123.6 17484 +85134.3 17484 +85144.9 17484 +85155.6 17484 +85166.3 17484 +85176.9 Copied: SwiftApps/SciColSim/docs/plot_ready_jobs.txt (from rev 5634, SwiftApps/SciColSim/plot_ready_jobs.txt) =================================================================== --- SwiftApps/SciColSim/docs/plot_ready_jobs.txt (rev 0) +++ SwiftApps/SciColSim/docs/plot_ready_jobs.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,6239 @@ +11 +19 +14 +19 +17 +13 +19 +19 +10 +2 +18 +19 +16 +12 +13 +12 +11 +2 +11 +15 +16 +11 +19 +2 +17 +11 +19 +18 +2 +13 +10 +9 +19 +19 +11 +19 +18 +12 +17 +11 +18 +17 +11 +12 +12 +11 +12 +14 +19 +2 +10 +10 +11 +19 +11 +17 +11 +11 +13 +11 +19 +19 +12 +18 +19 +17 +19 +2 +11 +12 +13 +19 +19 +18 +11 +12 +19 +15 +19 +11 +2 +12 +19 +19 +19 +11 +11 +11 +11 +19 +18 +11 +11 +19 +11 +10 +18 +11 +19 +11 +14 +18 +2 +11 +10 +11 +18 +11 +12 +11 +19 +11 +11 +11 +11 +18 +11 +11 +11 +11 +2 +11 +19 +19 +11 +19 +11 +19 +11 +19 +18 +19 +12 +17 +19 +2 +16 +15 +11 +11 +19 +12 +12 +11 +19 +16 +11 +10 +19 +19 +18 +11 +18 +2 +12 +11 +12 +19 +19 +10 +19 +19 +18 +12 +12 +11 +18 +12 +2 +19 +18 +11 +11 +19 +19 +19 +11 +11 +17 +11 +12 +2 +19 +11 +12 +11 +11 +19 +18 +9 +11 +18 +19 +12 +19 +2 +11 +11 +12 +11 +2 +11 +10 +14 +11 +19 +19 +12 +18 +19 +19 +11 +2 +18 +19 +10 +17 +18 +11 +11 +11 +19 +19 +11 +17 +11 +12 +12 +13 +11 +18 +11 +19 +19 +19 +19 +11 +18 +19 +17 +12 +12 +11 +19 +11 +11 +19 +12 +11 +19 +19 +15 +11 +17 +2 +13 +13 +11 +19 +19 +11 +12 +18 +19 +11 +17 +2 +19 +13 +13 +11 +19 +12 +10 +10 +11 +19 +11 +12 +19 +12 +19 +11 +18 +12 +9 +19 +13 +11 +16 +11 +11 +17 +19 +2 +12 +19 +19 +11 +11 +11 +14 +11 +16 +19 +16 +18 +19 +19 +12 +19 +12 +19 +17 +10 +10 +2 +11 +12 +13 +19 +10 +10 +19 +19 +19 +12 +11 +19 +19 +10 +2 +17 +19 +10 +12 +12 +19 +2 +19 +11 +12 +19 +19 +13 +16 +19 +18 +12 +19 +12 +12 +19 +18 +11 +11 +11 +19 +19 +11 +12 +18 +2 +19 +15 +11 +11 +18 +12 +14 +10 +11 +9 +16 +17 +12 +18 +19 +19 +11 +11 +18 +2 +17 +16 +19 +12 +11 +12 +11 +19 +11 +12 +11 +11 +17 +11 +11 +17 +19 +2 +17 +11 +13 +2 +12 +11 +12 +19 +11 +10 +11 +19 +19 +12 +11 +11 +19 +13 +12 +10 +19 +19 +11 +19 +19 +19 +12 +18 +13 +11 +18 +10 +17 +16 +11 +17 +18 +10 +19 +17 +11 +17 +16 +2 +11 +11 +13 +19 +19 +11 +11 +11 +11 +12 +19 +19 +18 +12 +11 +19 +18 +13 +11 +2 +2 +11 +10 +11 +11 +11 +19 +12 +17 +19 +2 +11 +11 +19 +15 +11 +2 +19 +11 +11 +19 +10 +19 +13 +13 +11 +19 +19 +19 +11 +12 +2 +19 +18 +2 +11 +10 +10 +11 +18 +19 +2 +11 +17 +11 +11 +19 +12 +11 +12 +2 +11 +11 +21 +22 +19 +12 +12 +19 +2 +13 +18 +19 +19 +12 +19 +2 +11 +12 +12 +19 +10 +11 +19 +2 +11 +12 +17 +12 +12 +11 +2 +2 +11 +18 +19 +11 +11 +11 +11 +19 +12 +19 +2 +17 +11 +19 +16 +11 +11 +16 +18 +11 +11 +11 +19 +11 +19 +13 +19 +12 +10 +11 +12 +17 +14 +18 +18 +19 +10 +14 +18 +19 +19 +10 +12 +2 +19 +9 +11 +15 +19 +19 +18 +10 +11 +11 +13 +11 +9 +12 +11 +19 +11 +10 +19 +19 +9 +11 +13 +19 +19 +14 +12 +19 +11 +12 +11 +11 +19 +19 +12 +12 +12 +11 +19 +10 +13 +19 +19 +19 +10 +12 +11 +19 +19 +17 +19 +18 +11 +13 +18 +19 +12 +18 +2 +19 +19 +12 +12 +11 +2 +16 +17 +11 +11 +12 +2 +12 +18 +12 +19 +19 +17 +10 +10 +19 +18 +10 +11 +2 +10 +2 +11 +19 +11 +11 +11 +2 +17 +11 +18 +11 +17 +11 +11 +2 +11 +19 +11 +18 +19 +2 +11 +19 +19 +18 +19 +11 +11 +19 +19 +19 +11 +11 +19 +11 +19 +19 +17 +19 +11 +11 +19 +11 +9 +19 +11 +11 +19 +19 +19 +18 +19 +19 +18 +19 +11 +11 +2 +19 +11 +19 +19 +19 +17 +11 +19 +19 +2 +11 +11 +19 +12 +11 +19 +14 +19 +17 +19 +18 +11 +2 +19 +19 +19 +2 +19 +19 +19 +2 +19 +11 +2 +19 +11 +19 +19 +19 +18 +19 +19 +2 +2 +19 +2 +19 +11 +19 +11 +11 +19 +2 +2 +11 +19 +19 +11 +11 +18 +19 +19 +19 +19 +11 +11 +2 +19 +19 +19 +19 +19 +11 +11 +2 +2 +2 +19 +19 +11 +11 +19 +2 +18 +11 +19 +19 +19 +19 +19 +10 +2 +19 +11 +11 +19 +19 +18 +18 +19 +2 +16 +19 +2 +19 +2 +12 +11 +19 +11 +11 +19 +19 +11 +11 +19 +16 +19 +19 +17 +19 +2 +19 +19 +11 +19 +11 +19 +2 +14 +19 +11 +19 +19 +19 +11 +19 +11 +2 +19 +19 +19 +19 +19 +2 +19 +19 +19 +19 +2 +18 +19 +19 +18 +19 +11 +12 +19 +17 +2 +11 +19 +19 +10 +18 +19 +11 +19 +2 +11 +19 +10 +19 +11 +19 +19 +19 +2 +19 +10 +2 +19 +2 +13 +19 +19 +19 +19 +19 +11 +19 +2 +19 +2 +19 +19 +19 +19 +19 +2 +19 +2 +10 +19 +19 +18 +11 +19 +17 +18 +2 +11 +18 +11 +2 +19 +11 +2 +11 +2 +11 +11 +19 +19 +19 +19 +19 +19 +13 +19 +11 +19 +2 +18 +11 +18 +2 +2 +2 +11 +19 +19 +12 +11 +19 +11 +19 +2 +2 +19 +19 +19 +18 +19 +2 +2 +19 +19 +18 +11 +19 +11 +2 +19 +11 +11 +19 +19 +19 +2 +19 +9 +11 +19 +11 +18 +2 +19 +19 +10 +19 +19 +11 +19 +2 +11 +19 +19 +19 +19 +19 +19 +10 +19 +19 +19 +19 +2 +19 +2 +11 +19 +2 +11 +11 +11 +19 +19 +11 +2 +19 +19 +2 +19 +19 +19 +19 +2 +2 +19 +2 +19 +19 +19 +2 +11 +19 +11 +11 +19 +19 +19 +2 +19 +2 +2 +19 +19 +11 +19 +2 +19 +11 +10 +18 +19 +19 +18 +19 +19 +11 +19 +2 +19 +12 +19 +19 +11 +11 +19 +10 +19 +2 +11 +19 +11 +19 +2 +11 +11 +11 +2 +19 +11 +19 +18 +11 +11 +19 +11 +2 +19 +11 +2 +19 +19 +19 +2 +19 +2 +19 +18 +19 +17 +2 +18 +19 +2 +19 +11 +11 +11 +11 +19 +18 +11 +2 +19 +19 +2 +19 +19 +19 +11 +19 +11 +2 +2 +19 +10 +11 +19 +16 +11 +11 +2 +19 +19 +18 +19 +18 +2 +18 +17 +19 +11 +19 +12 +19 +12 +19 +12 +19 +9 +11 +12 +2 +19 +19 +19 +11 +19 +19 +11 +19 +2 +11 +11 +19 +19 +11 +19 +2 +18 +19 +16 +19 +2 +19 +11 +19 +19 +10 +11 +13 +11 +19 +11 +18 +11 +2 +19 +2 +19 +18 +11 +2 +2 +11 +19 +10 +19 +16 +19 +11 +19 +11 +19 +11 +19 +19 +12 +12 +11 +19 +18 +11 +19 +2 +2 +2 +19 +18 +19 +19 +11 +19 +19 +19 +2 +19 +11 +11 +2 +11 +19 +18 +19 +2 +19 +11 +11 +19 +2 +11 +11 +19 +19 +18 +2 +19 +2 +19 +11 +12 +19 +19 +2 +19 +19 +19 +2 +19 +18 +2 +11 +19 +2 +17 +11 +2 +18 +19 +2 +19 +11 +19 +19 +19 +19 +2 +11 +19 +19 +19 +19 +19 +19 +19 +11 +18 +19 +2 +17 +19 +2 +11 +19 +19 +11 +11 +2 +17 +18 +11 +19 +11 +19 +19 +17 +11 +19 +19 +11 +11 +19 +11 +18 +11 +19 +19 +11 +19 +19 +18 +19 +11 +19 +2 +18 +19 +2 +19 +11 +2 +19 +19 +11 +19 +2 +19 +18 +19 +19 +2 +2 +19 +19 +11 +19 +2 +19 +11 +2 +18 +19 +11 +11 +11 +18 +19 +19 +2 +11 +2 +2 +18 +2 +19 +2 +2 +11 +18 +19 +2 +2 +11 +19 +13 +11 +19 +11 +19 +19 +2 +11 +19 +11 +11 +19 +16 +19 +2 +19 +18 +19 +19 +12 +11 +11 +19 +17 +11 +2 +19 +11 +19 +11 +2 +19 +2 +11 +19 +19 +19 +11 +19 +17 +12 +19 +19 +18 +19 +2 +18 +19 +2 +19 +19 +11 +19 +18 +19 +11 +18 +19 +16 +2 +19 +11 +19 +11 +19 +11 +19 +2 +19 +19 +17 +19 +11 +11 +19 +19 +11 +19 +19 +12 +12 +19 +2 +19 +17 +10 +19 +19 +11 +19 +19 +19 +18 +19 +2 +11 +11 +19 +2 +10 +11 +2 +19 +11 +19 +19 +11 +19 +2 +11 +19 +19 +19 +18 +19 +2 +19 +12 +10 +12 +2 +19 +19 +11 +19 +19 +18 +2 +19 +18 +17 +18 +12 +2 +19 +11 +10 +11 +2 +11 +12 +19 +19 +14 +2 +19 +11 +11 +19 +19 +11 +18 +19 +12 +12 +19 +18 +18 +2 +11 +11 +2 +19 +19 +11 +19 +10 +18 +18 +11 +11 +19 +12 +11 +18 +11 +11 +11 +2 +2 +19 +11 +12 +18 +19 +19 +14 +12 +18 +19 +11 +12 +19 +11 +11 +2 +19 +18 +13 +19 +11 +19 +16 +11 +17 +11 +19 +11 +19 +11 +18 +10 +10 +11 +11 +19 +17 +19 +17 +11 +2 +19 +19 +2 +12 +11 +19 +19 +19 +18 +16 +19 +12 +11 +10 +11 +11 +11 +17 +11 +19 +13 +2 +19 +11 +11 +11 +2 +16 +2 +19 +19 +17 +2 +18 +11 +12 +19 +2 +17 +11 +11 +11 +11 +11 +12 +19 +11 +19 +18 +10 +19 +11 +19 +11 +19 +11 +19 +11 +17 +11 +17 +12 +17 +11 +11 +18 +19 +19 +9 +11 +2 +19 +19 +16 +2 +19 +11 +14 +19 +12 +19 +19 +17 +13 +15 +19 +19 +12 +19 +2 +2 +16 +19 +19 +11 +12 +18 +12 +12 +19 +15 +16 +11 +2 +11 +11 +16 +11 +11 +17 +11 +18 +17 +2 +10 +12 +11 +19 +19 +2 +2 +2 +19 +13 +19 +2 +14 +13 +19 +19 +10 +19 +11 +19 +11 +2 +19 +11 +11 +19 +19 +9 +11 +11 +19 +12 +12 +11 +19 +11 +15 +2 +2 +18 +11 +19 +17 +19 +19 +10 +11 +19 +11 +10 +12 +2 +15 +13 +17 +18 +11 +13 +2 +11 +19 +11 +11 +11 +16 +12 +2 +2 +11 +11 +12 +11 +19 +12 +11 +11 +12 +11 +19 +2 +12 +17 +11 +11 +11 +16 +19 +12 +11 +19 +19 +12 +19 +19 +11 +16 +19 +19 +19 +12 +19 +12 +11 +11 +11 +14 +11 +2 +19 +11 +11 +11 +10 +11 +16 +11 +2 +10 +11 +17 +10 +19 +10 +11 +11 +17 +16 +19 +16 +11 +11 +17 +11 +11 +19 +10 +19 +19 +19 +19 +11 +12 +18 +19 +10 +19 +19 +11 +19 +19 +11 +2 +19 +19 +11 +19 +19 +17 +18 +18 +2 +11 +11 +11 +19 +13 +11 +11 +18 +10 +12 +17 +18 +11 +18 +11 +11 +19 +9 +17 +2 +2 +11 +11 +17 +2 +11 +18 +11 +13 +19 +19 +11 +10 +13 +17 +19 +19 +19 +19 +11 +10 +11 +11 +11 +19 +13 +16 +19 +12 +12 +19 +19 +11 +19 +19 +16 +17 +14 +19 +19 +15 +19 +2 +19 +19 +19 +18 +19 +2 +19 +19 +2 +2 +2 +19 +11 +19 +19 +11 +19 +2 +11 +11 +19 +19 +18 +19 +2 +2 +19 +19 +16 +19 +19 +19 +19 +2 +19 +19 +11 +19 +19 +2 +19 +19 +12 +12 +19 +19 +17 +11 +19 +19 +19 +19 +19 +19 +19 +11 +11 +19 +11 +2 +19 +2 +19 +19 +11 +11 +11 +11 +19 +2 +19 +11 +11 +2 +19 +19 +19 +19 +19 +2 +19 +11 +11 +11 +19 +19 +19 +19 +19 +19 +19 +18 +2 +11 +12 +12 +2 +19 +18 +2 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +19 +19 +11 +12 +11 +2 +19 +11 +2 +19 +17 +19 +11 +2 +19 +17 +19 +11 +18 +19 +12 +2 +19 +18 +12 +19 +11 +2 +16 +19 +11 +11 +19 +19 +19 +11 +2 +19 +18 +19 +19 +19 +2 +11 +19 +19 +18 +19 +19 +19 +11 +11 +11 +11 +19 +19 +11 +2 +18 +19 +18 +19 +19 +11 +19 +19 +19 +11 +2 +19 +11 +11 +12 +2 +11 +19 +19 +11 +19 +19 +11 +19 +18 +11 +2 +19 +11 +19 +19 +2 +19 +10 +11 +11 +11 +19 +11 +2 +19 +19 +19 +19 +19 +2 +19 +18 +19 +19 +11 +19 +19 +18 +19 +17 +11 +19 +19 +2 +11 +19 +19 +19 +18 +10 +2 +19 +19 +2 +11 +19 +11 +19 +19 +19 +19 +2 +19 +19 +2 +19 +19 +19 +2 +10 +18 +2 +11 +19 +19 +11 +19 +19 +19 +11 +2 +11 +19 +19 +19 +19 +19 +11 +19 +19 +2 +19 +2 +19 +19 +19 +19 +11 +2 +2 +2 +11 +11 +19 +11 +17 +2 +19 +19 +18 +19 +16 +19 +19 +11 +11 +19 +19 +11 +11 +19 +11 +19 +11 +19 +11 +19 +11 +2 +11 +19 +19 +11 +19 +19 +11 +2 +19 +11 +19 +14 +13 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +20 +21 +4 +4 +4 +4 +13 +21 +21 +12 +11 +19 +18 +17 +12 +19 +11 +19 +19 +11 +13 +18 +19 +10 +18 +11 +19 +11 +10 +11 +11 +16 +18 +10 +2 +19 +2 +10 +19 +11 +11 +2 +19 +14 +16 +19 +12 +11 +19 +19 +11 +11 +11 +19 +19 +19 +2 +2 +12 +18 +2 +19 +12 +18 +11 +11 +11 +19 +11 +11 +18 +19 +18 +11 +11 +18 +19 +18 +2 +2 +11 +2 +19 +2 +10 +19 +11 +19 +17 +12 +18 +2 +10 +11 +11 +19 +19 +11 +17 +19 +19 +19 +11 +12 +19 +12 +11 +19 +19 +11 +10 +19 +19 +19 +15 +18 +19 +11 +10 +17 +11 +19 +9 +12 +19 +13 +9 +19 +19 +11 +18 +2 +19 +19 +10 +19 +2 +2 +17 +16 +11 +2 +19 +11 +11 +11 +2 +2 +19 +11 +18 +19 +19 +19 +11 +11 +2 +19 +10 +13 +11 +19 +11 +18 +12 +18 +19 +2 +19 +11 +19 +2 +2 +11 +11 +11 +11 +18 +11 +11 +11 +2 +10 +19 +18 +18 +12 +19 +19 +10 +18 +19 +11 +19 +11 +11 +11 +11 +19 +19 +18 +11 +18 +19 +11 +19 +2 +13 +19 +19 +11 +10 +19 +11 +11 +11 +12 +18 +11 +19 +19 +11 +11 +2 +11 +19 +10 +11 +17 +12 +11 +18 +2 +19 +11 +11 +11 +19 +11 +10 +2 +18 +17 +16 +2 +11 +19 +18 +14 +12 +11 +2 +19 +2 +11 +11 +18 +19 +11 +11 +19 +2 +12 +11 +2 +18 +11 +19 +11 +2 +18 +2 +19 +2 +18 +19 +2 +19 +13 +9 +2 +19 +11 +16 +11 +19 +19 +11 +19 +19 +11 +18 +11 +2 +2 +11 +19 +11 +12 +18 +11 +16 +2 +12 +18 +17 +16 +11 +18 +2 +11 +10 +2 +10 +18 +19 +11 +11 +18 +2 +19 +11 +10 +11 +19 +13 +17 +11 +2 +2 +19 +18 +14 +19 +19 +19 +16 +12 +19 +2 +13 +15 +19 +19 +17 +11 +2 +19 +19 +19 +18 +11 +11 +19 +11 +11 +18 +11 +11 +10 +2 +19 +16 +18 +19 +19 +19 +12 +19 +2 +2 +19 +11 +19 +19 +19 +17 +19 +19 +11 +12 +11 +2 +19 +11 +11 +11 +11 +19 +2 +11 +19 +18 +2 +11 +2 +11 +11 +12 +11 +19 +11 +18 +11 +11 +11 +2 +11 +11 +11 +19 +19 +10 +11 +2 +19 +12 +12 +18 +2 +17 +11 +11 +11 +19 +19 +19 +16 +18 +11 +19 +19 +11 +16 +12 +19 +19 +17 +18 +19 +19 +11 +11 +11 +11 +17 +11 +18 +19 +11 +11 +10 +2 +19 +17 +18 +11 +19 +11 +11 +19 +19 +19 +10 +19 +11 +19 +11 +11 +19 +11 +11 +11 +12 +2 +19 +10 +11 +11 +10 +11 +19 +19 +19 +2 +19 +17 +17 +11 +19 +12 +11 +2 +19 +19 +11 +2 +19 +11 +11 +19 +2 +19 +12 +11 +19 +10 +11 +19 +11 +11 +19 +11 +12 +11 +19 +19 +11 +19 +16 +11 +10 +2 +11 +19 +17 +2 +2 +11 +19 +19 +19 +11 +11 +12 +11 +12 +18 +11 +11 +19 +19 +15 +19 +2 +17 +18 +19 +11 +11 +11 +11 +11 +11 +18 +12 +18 +19 +11 +19 +11 +19 +11 +2 +12 +19 +16 +11 +11 +11 +11 +11 +11 +12 +11 +11 +2 +11 +19 +11 +11 +10 +16 +11 +10 +11 +2 +11 +18 +11 +11 +19 +19 +19 +17 +2 +10 +11 +19 +19 +11 +18 +14 +18 +19 +11 +19 +18 +19 +19 +16 +11 +18 +19 +11 +17 +19 +18 +11 +12 +11 +18 +19 +2 +19 +19 +2 +17 +11 +11 +18 +18 +14 +11 +11 +18 +11 +16 +19 +16 +19 +7 +2 +19 +11 +11 +19 +11 +19 +19 +15 +19 +11 +19 +9 +19 +12 +19 +18 +11 +15 +13 +11 +12 +19 +11 +18 +11 +11 +11 +19 +18 +12 +19 +11 +11 +12 +10 +11 +11 +11 +12 +17 +11 +10 +19 +11 +2 +12 +12 +19 +19 +18 +17 +11 +11 +18 +11 +11 +11 +11 +10 +11 +19 +11 +19 +19 +2 +11 +2 +19 +11 +11 +11 +18 +2 +19 +10 +11 +19 +19 +19 +17 +2 +19 +19 +12 +11 +12 +11 +17 +13 +19 +18 +10 +11 +2 +11 +11 +19 +12 +19 +17 +2 +19 +18 +18 +11 +2 +18 +19 +2 +19 +11 +11 +11 +19 +11 +11 +19 +19 +19 +19 +19 +18 +19 +2 +19 +19 +11 +10 +19 +19 +18 +11 +11 +18 +18 +19 +17 +18 +11 +19 +17 +19 +19 +11 +19 +11 +14 +12 +11 +19 +18 +11 +17 +19 +17 +10 +11 +10 +11 +10 +16 +19 +18 +12 +19 +2 +12 +11 +12 +12 +15 +19 +19 +19 +18 +19 +19 +19 +19 +19 +19 +13 +13 +13 +18 +19 +18 +17 +11 +18 +19 +10 +19 +16 +19 +11 +12 +19 +19 +10 +19 +19 +17 +19 +19 +2 +19 +19 +19 +19 +19 +19 +2 +19 +2 +19 +2 +11 +11 +19 +19 +2 +17 +11 +19 +19 +11 +11 +11 +11 +19 +19 +19 +19 +11 +11 +19 +19 +18 +19 +11 +11 +19 +19 +11 +11 +19 +11 +19 +2 +19 +2 +11 +19 +19 +19 +11 +13 +10 +19 +19 +11 +2 +19 +18 +19 +19 +11 +19 +19 +12 +19 +19 +19 +19 +11 +2 +19 +11 +12 +19 +2 +19 +10 +19 +19 +18 +19 +19 +11 +19 +19 +11 +19 +2 +19 +11 +19 +19 +19 +18 +2 +11 +2 +2 +11 +19 +19 +2 +11 +19 +19 +19 +19 +11 +2 +18 +19 +11 +2 +19 +11 +18 +19 +17 +19 +11 +2 +19 +10 +2 +2 +2 +11 +11 +19 +19 +11 +2 +19 +19 +2 +18 +18 +19 +19 +11 +18 +19 +11 +11 +19 +19 +2 +19 +19 +19 +19 +18 +18 +10 +2 +19 +19 +16 +19 +11 +2 +11 +19 +19 +19 +19 +19 +19 +2 +18 +19 +19 +19 +11 +19 +11 +2 +19 +19 +19 +19 +11 +11 +12 +19 +12 +19 +19 +19 +11 +19 +10 +11 +19 +17 +19 +11 +11 +19 +19 +2 +19 +19 +2 +11 +19 +17 +19 +12 +11 +19 +19 +11 +19 +2 +19 +2 +2 +11 +11 +11 +19 +11 +17 +19 +17 +19 +19 +19 +11 +11 +19 +11 +11 +2 +19 +11 +2 +19 +17 +11 +2 +19 +19 +19 +19 +19 +18 +2 +11 +19 +19 +19 +19 +19 +19 +19 +19 +2 +2 +19 +19 +19 +19 +2 +19 +11 +19 +11 +12 +19 +19 +19 +19 +19 +2 +19 +19 +2 +19 +10 +19 +11 +19 +2 +17 +19 +19 +11 +10 +11 +19 +19 +18 +19 +2 +18 +19 +11 +19 +18 +19 +19 +18 +19 +18 +19 +19 +19 +19 +2 +19 +19 +19 +19 +19 +11 +11 +11 +19 +19 +19 +11 +2 +19 +19 +2 +19 +17 +2 +19 +18 +11 +19 +19 +18 +19 +2 +11 +19 +2 +2 +19 +18 +19 +11 +11 +2 +19 +11 +19 +18 +2 +19 +18 +19 +19 +11 +11 +19 +19 +19 +16 +2 +19 +11 +2 +2 +19 +19 +19 +11 +2 +19 +19 +19 +11 +19 +19 +2 +19 +2 +11 +19 +11 +2 +19 +19 +11 +19 +19 +2 +2 +19 +11 +2 +19 +19 +19 +19 +10 +11 +11 +19 +19 +2 +19 +19 +19 +19 +19 +11 +18 +19 +19 +18 +19 +19 +11 +19 +19 +11 +11 +11 +2 +11 +12 +19 +19 +19 +19 +19 +19 +19 +19 +19 +2 +17 +2 +19 +12 +2 +19 +17 +19 +11 +18 +19 +19 +17 +11 +11 +17 +19 +19 +19 +19 +19 +11 +19 +19 +19 +19 +18 +19 +19 +19 +19 +2 +19 +19 +19 +19 +19 +11 +19 +11 +11 +11 +19 +11 +19 +17 +2 +19 +11 +19 +11 +11 +19 +2 +18 +11 +19 +19 +18 +11 +19 +2 +2 +12 +12 +19 +11 +19 +19 +18 +19 +19 +19 +19 +19 +19 +19 +2 +17 +19 +11 +19 +2 +19 +2 +19 +11 +19 +11 +11 +12 +19 +19 +16 +2 +19 +2 +19 +2 +19 +18 +19 +19 +19 +19 +19 +11 +19 +18 +11 +19 +19 +11 +11 +18 +2 +19 +18 +19 +11 +11 +11 +19 +19 +19 +18 +11 +2 +19 +19 +19 +19 +2 +19 +2 +19 +19 +19 +11 +19 +11 +19 +19 +11 +2 +19 +19 +19 +11 +18 +19 +19 +19 +19 +19 +2 +19 +2 +19 +2 +19 +19 +17 +19 +19 +11 +11 +19 +19 +19 +11 +19 +11 +19 +11 +11 +18 +19 +19 +18 +11 +19 +19 +11 +19 +2 +11 +19 +19 +19 +19 +2 +19 +17 +19 +2 +11 +18 +11 +13 +11 +19 +19 +11 +11 +19 +16 +19 +2 +19 +2 +19 +19 +11 +19 +19 +11 +19 +11 +19 +2 +16 +11 +19 +11 +19 +19 +19 +11 +11 +19 +11 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +19 +11 +2 +18 +19 +11 +11 +11 +19 +19 +18 +19 +19 +2 +19 +19 +11 +2 +19 +19 +19 +11 +11 +19 +19 +19 +11 +19 +2 +2 +11 +11 +19 +11 +11 +2 +19 +11 +11 +19 +11 +2 +16 +11 +19 +19 +2 +11 +2 +19 +11 +11 +19 +19 +2 +2 +19 +19 +2 +19 +11 +11 +18 +19 +19 +19 +19 +11 +19 +10 +19 +19 +19 +10 +11 +12 +11 +19 +11 +19 +18 +18 +19 +2 +2 +19 +19 +2 +11 +19 +19 +19 +11 +19 +17 +19 +11 +2 +19 +2 +2 +19 +19 +19 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +2 +11 +2 +19 +19 +18 +19 +19 +11 +13 +2 +19 +11 +11 +19 +19 +2 +19 +11 +12 +19 +11 +18 +19 +10 +19 +19 +17 +2 +19 +19 +11 +11 +19 +11 +11 +19 +10 +2 +19 +17 +19 +2 +19 +19 +18 +2 +11 +2 +19 +19 +18 +19 +19 +19 +2 +19 +19 +19 +2 +11 +19 +19 +19 +2 +11 +2 +19 +19 +11 +11 +11 +19 +2 +19 +19 +11 +19 +19 +11 +19 +11 +11 +19 +19 +11 +2 +11 +13 +19 +18 +19 +18 +11 +11 +2 +19 +19 +19 +11 +19 +19 +2 +19 +19 +18 +18 +19 +19 +19 +11 +19 +19 +19 +11 +19 +19 +11 +11 +11 +10 +19 +19 +19 +18 +19 +12 +19 +19 +19 +17 +11 +19 +2 +19 +2 +10 +2 +2 +2 +2 +19 +19 +2 +19 +19 +11 +2 +19 +19 +19 +11 +2 +11 +18 +19 +19 +19 +11 +11 +19 +11 +19 +11 +19 +11 +10 +2 +19 +17 +2 +19 +11 +18 +19 +19 +11 +2 +19 +19 +19 +11 +18 +19 +19 +2 +11 +11 +2 +19 +19 +11 +2 +19 +19 +19 +11 +19 +19 +11 +2 +2 +19 +11 +19 +19 +19 +2 +19 +18 +18 +19 +19 +11 +18 +19 +19 +2 +2 +19 +2 +19 +11 +19 +11 +19 +19 +19 +18 +19 +19 +19 +19 +19 +2 +11 +19 +19 +19 +19 +19 +19 +19 +2 +10 +16 +19 +11 +11 +19 +19 +19 +19 +19 +19 +19 +19 +19 +2 +19 +19 +2 +11 +15 +19 +19 +2 +19 +19 +19 +2 +18 +19 +2 +11 +12 +19 +18 +19 +11 +11 +19 +11 +11 +2 +19 +18 +2 +19 +12 +2 +19 +13 +2 +19 +11 +2 +19 +18 +11 +19 +19 +19 +19 +18 +11 +19 +2 +10 +2 +19 +18 +11 +19 +11 +19 +19 +19 +9 +11 +11 +19 +19 +2 +17 +2 +19 +10 +19 +17 +19 +10 +19 +19 +19 +2 +11 +19 +19 +10 +10 +11 +19 +11 +19 +19 +19 +19 +19 +19 +2 +19 +11 +19 +2 +19 +11 +19 +2 +18 +11 +19 +19 +19 +12 +13 +12 +19 +16 +19 +17 +19 +19 +2 +19 +12 +2 +19 +2 +2 +19 +9 +19 +17 +2 +19 +12 +17 +19 +11 +11 +2 +19 +18 +11 +2 +19 +11 +2 +19 +19 +19 +19 +19 +11 +2 +11 +19 +11 +19 +11 +17 +19 +19 +18 +19 +2 +19 +19 +11 +13 +11 +19 +19 +11 +19 +19 +11 +11 +19 +11 +19 +2 +19 +19 +19 +18 +19 +19 +11 +18 +21 +13 +16 +18 +18 +18 +18 +18 +18 +0 +2 +6 +2 +2 +0 +4 +2 +2 +2 +2 +2 +10 +12 +3 +2 +8 +4 +3 +3 +3 +7 +3 +8 +3 +5 +3 +2 +30 +11 +9 +16 +19 +11 +10 +10 +17 +2 +11 +19 +12 +12 +10 +11 +11 +10 +18 +13 +11 +17 +12 +10 +17 +13 +2 +19 +11 +9 +14 +12 +11 +12 +15 +13 +16 +17 +12 +11 +12 +13 +11 +9 +11 +12 +12 +11 +13 +11 +12 +11 +12 +12 +10 +11 +11 +11 +17 +12 +12 +12 +12 +10 +12 +13 +12 +11 +10 +13 +10 +17 +11 +11 +18 +10 +12 +11 +12 +19 +12 +12 +15 +13 +11 +19 +11 +12 +10 +8 +16 +12 +11 +11 +13 +11 +10 +19 +12 +10 +17 +17 +13 +14 +11 +12 +10 +11 +12 +13 +16 +19 +19 +17 +11 +13 +11 +12 +10 +9 +11 +14 +19 +17 +12 +15 +12 +9 +13 +12 +12 +11 +13 +13 +11 +12 +12 +19 +10 +9 +17 +10 +11 +17 +11 +11 +11 +2 +17 +11 +11 +13 +11 +12 +10 +14 +17 +17 +19 +13 +12 +15 +11 +12 +12 +11 +11 +12 +11 +11 +19 +17 +10 +9 +13 +19 +10 +14 +11 +19 +17 +17 +11 +12 +10 +12 +10 +16 +11 +12 +19 +11 +11 +19 +12 +12 +12 +11 +16 +17 +10 +17 +19 +18 +17 +11 +11 +10 +12 +11 +2 +11 +11 +15 +14 +11 +17 +11 +2 +12 +10 +19 +17 +2 +19 +11 +11 +17 +11 +19 +11 +2 +16 +12 +9 +9 +11 +15 +17 +11 +11 +11 +12 +17 +10 +15 +12 +12 +11 +12 +14 +9 +17 +9 +19 +13 +11 +12 +9 +17 +11 +11 +19 +17 +10 +11 +17 +11 +10 +19 +10 +12 +12 +10 +14 +13 +11 +12 +7 +11 +16 +13 +10 +12 +10 +12 +11 +14 +17 +9 +11 +13 +11 +12 +12 +19 +12 +11 +11 +13 +9 +10 +11 +11 +16 +17 +17 +7 +10 +10 +11 +13 +13 +11 +2 +10 +19 +19 +12 +19 +19 +17 +19 +11 +17 +11 +10 +13 +12 +11 +10 +10 +13 +11 +11 +10 +13 +11 +17 +11 +11 +19 +17 +11 +11 +10 +19 +2 +17 +19 +12 +13 +7 +13 +14 +17 +11 +15 +19 +11 +11 +17 +18 +19 +12 +2 +18 +17 +19 +11 +18 +13 +15 +13 +12 +9 +10 +2 +18 +16 +11 +6 +11 +11 +11 +11 +16 +19 +19 +11 +19 +18 +10 +19 +19 +19 +12 +13 +12 +11 +12 +10 +11 +17 +15 +9 +15 +12 +14 +12 +11 +11 +14 +11 +10 +12 +11 +11 +10 +11 +11 +12 +19 +11 +10 +13 +11 +12 +14 +11 +13 +13 +11 +12 +14 +17 +11 +10 +11 +12 +11 +11 +11 +11 +2 +12 +12 +13 +13 +17 +14 +13 +12 +19 +11 +11 +11 +13 +13 +10 +13 +11 +11 +12 +13 +11 +11 +11 +2 +11 +18 +11 +11 +11 +11 +11 +19 +9 +18 +11 +13 +12 +13 +11 +9 +2 +19 +10 +18 +18 +11 +11 +11 +19 +19 +19 +18 +10 +11 +10 +12 +11 +10 +12 +10 +19 +2 +18 +11 +10 +10 +2 +11 +16 +15 +17 +19 +17 +11 +11 +17 +12 +8 +11 +19 +12 +14 +12 +14 +11 +12 +10 +19 +11 +19 +17 +10 +18 +19 +2 +18 +15 +19 +11 +19 +12 +15 +10 +13 +13 +12 +11 +13 +11 +11 +11 +11 +19 +11 +11 +16 +18 +11 +11 +2 +11 +18 +2 +11 +13 +7 +11 +9 +14 +13 +12 +15 +19 +19 +11 +15 +19 +19 +11 +10 +11 +17 +12 +13 +13 +13 +11 +17 +11 +12 +14 +15 +11 +11 +13 +11 +11 +12 +11 +11 +11 +19 +10 +17 +11 +11 +18 +11 +11 +10 +10 +15 +12 +11 +11 +13 +10 +13 +11 +10 +12 +12 +11 +10 +11 +10 +11 +16 +10 +15 +13 +18 +11 +11 +11 +10 +12 +14 +12 +12 +14 +12 +9 +13 +11 +10 +10 +11 +11 +11 +12 +14 +9 +10 +10 +18 +11 +14 +14 +9 +11 +10 +15 +9 +12 +11 +10 +16 +11 +10 +14 +12 +12 +13 +11 +11 +11 +2 +11 +17 +13 +11 +11 +15 +18 +18 +19 +19 +19 +13 +12 +17 +12 +12 +19 +12 +11 +17 +10 +11 +12 +18 +11 +12 +12 +12 +12 +18 +10 +19 +11 +18 +11 +12 +17 +11 +18 +11 +13 +12 +15 +14 +11 +10 +14 +10 +19 +19 +11 +13 +8 +2 +2 +16 +11 +11 +13 +10 +13 +13 +10 +14 +11 +11 +10 +18 +11 +11 +12 +13 +11 +11 +9 +13 +10 +11 +10 +11 +11 +19 +10 +12 +11 +10 +10 +13 +13 +11 +19 +11 +13 +12 +11 +12 +10 +12 +12 +17 +11 +9 +12 +16 +12 +12 +2 +12 +11 +16 +16 +11 +13 +11 +12 +2 +11 +14 +10 +11 +17 +16 +12 +19 +19 +17 +11 +11 +11 +9 +14 +11 +11 +11 +11 +11 +15 +11 +14 +12 +10 +16 +11 +12 +11 +11 +15 +12 +11 +16 +11 +11 +12 +12 +13 +8 +10 +19 +11 +17 +12 +13 +12 +8 +17 +13 +15 +17 +7 +9 +17 +10 +16 +6 +10 +12 +15 +16 +11 +5 +13 +9 +13 +5 +9 +9 +5 +9 +4 +3 +13 +7 +3 +3 +14 +4 +13 +4 +4 +14 +19 +19 +15 +14 +19 +11 +16 +15 +14 +18 +9 +5 +4 +13 +4 +12 +3 +13 +13 +2 +17 +13 +14 +19 +10 +12 +9 +6 +15 +5 +5 +15 +4 +13 +4 +13 +4 +4 +13 +4 +13 +3 +4 +13 +4 +13 +3 +2 +13 +4 +13 +4 +3 +4 +13 +3 +3 +13 +3 +3 +13 +4 +13 +3 +4 +13 +2 +4 +14 +13 +14 +19 +10 +15 +13 +14 +19 +10 +13 +11 +10 +15 +5 +6 +13 +4 +13 +4 +13 +3 +2 +13 +4 +13 +3 +2 +10 +3 +2 +13 +3 +2 +13 +4 +13 +3 +4 +13 +4 +13 +4 +2 +3 +13 +3 +3 +13 +3 +4 +13 +3 +2 +12 +3 +4 +13 +4 +13 +2 +2 +13 +14 +19 +19 +15 +13 +19 +19 +15 +12 +15 +5 +4 +13 +4 +13 +3 +13 +13 +19 +17 +13 +13 +19 +17 +11 +7 +7 +15 +5 +5 +15 +6 +15 +4 +13 +3 +4 +13 +4 +13 +3 +2 +13 +3 +2 +13 +3 +3 +13 +3 +12 +8 +3 +3 +13 +2 +2 +13 +4 +4 +13 +3 +13 +11 +3 +2 +13 +3 +12 +9 +14 +19 +15 +14 +19 +15 +13 +19 +15 +13 +19 +13 +12 +18 +8 +17 +8 +17 +8 +16 +6 +15 +6 +15 +6 +15 +6 +15 +4 +4 +14 +6 +15 +6 +15 +6 +16 +6 +15 +6 +15 +4 +4 +14 +6 +15 +6 +15 +6 +15 +5 +15 +6 +15 +4 +13 +10 +6 +15 +6 +15 +4 +6 +15 +6 +15 +6 +15 +4 +13 +9 +6 +15 +6 +15 +6 +15 +6 +15 +6 +15 +3 +4 +14 +13 +13 +19 +17 +13 +13 +19 +17 +12 +9 +6 +15 +5 +5 +15 +6 +13 +4 +13 +3 +3 +13 +4 +13 +3 +3 +13 +3 +2 +13 +3 +2 +13 +4 +13 +3 +4 +13 +3 +13 +3 +4 +13 +4 +2 +2 +2 +11 +5 +3 +0 +2 +11 +5 +4 +4 +3 +2 +2 +2 +11 +7 +5 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +11 +5 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +2 +11 +9 +2 +0 +0 +11 +7 +5 +4 +4 +4 +3 +2 +2 +12 +11 +9 +7 +3 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +0 +12 +11 +8 +5 +2 +0 +12 +11 +9 +5 +4 +4 +3 +2 +2 +2 +11 +7 +5 +3 +2 +2 +11 +6 +4 +4 +3 +2 +2 +2 +11 +5 +3 +2 +2 +11 +7 +5 +4 +4 +3 +2 +2 +2 +12 +11 +9 +5 +2 +2 +11 +8 +4 +4 +3 +2 +2 +12 +11 +9 +5 +2 +2 +12 +11 +5 +4 +4 +3 +2 +12 +11 +9 +3 +2 +2 +11 +9 +7 +4 +4 +4 +3 +2 +2 +11 +9 +6 +3 +2 +2 +11 +7 +4 +4 +4 +3 +0 +0 +11 +9 +5 +2 +2 +2 +2 +11 +5 +4 +4 +3 +2 +2 +12 +11 +7 +3 +2 +2 +11 +10 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +11 +7 +3 +2 +2 +11 +5 +4 +4 +4 +3 +2 +2 +12 +11 +7 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +11 +4 +3 +2 +2 +11 +9 +7 +4 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +12 +11 +7 +3 +2 +2 +11 +9 +7 +5 +4 +4 +3 +2 +2 +12 +11 +8 +5 +3 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +11 +7 +3 +2 +2 +2 +11 +5 +4 +4 +3 +2 +2 +11 +5 +2 +2 +2 +11 +8 +5 +4 +4 +4 +3 +2 +2 +11 +7 +3 +2 +2 +2 +11 +7 +4 +4 +3 +2 +2 +11 +7 +2 +2 +11 +6 +4 +4 +4 +3 +2 +2 +11 +5 +2 +2 +11 +5 +4 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +0 +11 +4 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +12 +11 +4 +4 +3 +2 +2 +2 +11 +7 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +2 +12 +11 +5 +2 +2 +11 +9 +7 +4 +4 +3 +2 +2 +11 +3 +2 +2 +11 +7 +4 +4 +4 +2 +2 +11 +3 +2 +2 +11 +7 +4 +4 +3 +2 +2 +0 +11 +5 +2 +0 +12 +11 +7 +4 +4 +3 +2 +2 +11 +9 +5 +2 +2 +12 +11 +7 +5 +4 +4 +3 +2 +2 +2 +11 +7 +2 +0 +11 +6 +5 +4 +4 +4 +3 +2 +2 +11 +9 +5 +3 +2 +2 +11 +7 +4 +4 +4 +2 +2 +11 +9 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +11 +9 +5 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +12 +11 +7 +5 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +2 +12 +11 +5 +4 +4 +3 +2 +2 +12 +11 +7 +5 +3 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +7 +12 +11 +5 +4 +2 +2 +2 +12 +11 +9 +4 +4 +3 +2 +2 +2 Copied: SwiftApps/SciColSim/docs/plotit (from rev 5634, SwiftApps/SciColSim/plotit) =================================================================== --- SwiftApps/SciColSim/docs/plotit (rev 0) +++ SwiftApps/SciColSim/docs/plotit 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,42 @@ +set terminal png enhanced +#set term postscript eps enhanced +#set terminal svg enhanced size 1000 1000 +#set style line 1 linecolor rgb "blue" +set output "activeplot.png" +set nokey +set xlabel "Time in sec" +set ylabel "number of active jobs" +set title "Active jobs" +plot "plot_active.txt" using 1:2 with line + +set output "cumulativeplot-openmp.png" +set xlabel "Time in seconds" +set ylabel "number of completed jobs" +set title "Cumulative SciColSim-openMP jobs" +plot "plot_cumulative.txt" using 1:($2*24) with lines + +set output "cumulativeplot.png" +set xlabel "Time in seconds" +set ylabel "number of completed jobs" +set title "Cumulative jobs" +plot "plot_cumulative.txt" using 1:2 with lines + +set output "scs.png" +set xlabel "Evolution" +set ylabel "Value of T" +set title "SciColSim evolution Results" +plot "T.data" using 1 with lines + +set output "scs_loss.png" +set title "SciColSim evolution loss Results" +set xlabel "Evolution" +set ylabel "Value of loss(AR)" +plot "anneal.data" using 1 with lines + +set output "multiloss.png" +set title "SciColSim evolution loss Results" +set key auto +set yrange [0:200] +set xlabel "Evolution" +set ylabel "loss" +plot "multiloss.txt" using 3 with lines title "multiloss mean val", "multiloss.txt" using ($3+$4) with lines title "+stddev", "multiloss.txt" using ($3-$4) with lines title "-stddev" Copied: SwiftApps/SciColSim/docs/sample.swift.output (from rev 5634, SwiftApps/SciColSim/sample.swift.output) =================================================================== --- SwiftApps/SciColSim/docs/sample.swift.output (rev 0) +++ SwiftApps/SciColSim/docs/sample.swift.output 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,528 @@ +Swift 0.93 swift-r5483 cog-r3339 + +RunID: 20120130-1217-63kot916 +Progress: time: Mon, 30 Jan 2012 12:17:12 -0600 +multi_loss appCalls=1 +multi_loss: entered: ci=0 cj=0 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.0,50.0,-1.0] +multi_annealing: AR: i=1 ....T = 2.0 +multi_loss: i=1 calling evolve, args=[0,0,4,50,-1,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:16 -0600 Checking status:1 +multi_annealing: AR: initial: 124.861101 +- 3.21017 +multi_loss: returning: ci=0 cj=0 r.loss=124.861101 r.sdev=3.21017 +multi_loss appCalls=1 +multi_annealing: AR: 4.017889129124014 2 +multi_loss: entered: ci=1 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.017889129124014,50.0,-1.0] +multi_loss: i=1 calling evolve, args=[0,0,4.017889129124014,50,-1,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:19 -0600 Checking status:1 Finished successfully:2 +multi_annealing: AR: 124.117401 +- 3.306 +multi_loss: returning: ci=1 cj=2 r.loss=124.117401 r.sdev=3.306 +multi_annealing: AF: best_opt_some.txt: 58.0,124.117401,0.0,0.0,4.017889129124014,50.0,-1.0,3.306 +multi_annealing: AR: 0.3916097778073887 vs 1.0 +math/min: result=1.0 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: Accepting try_x[j], i=1 j=2 +multi_annealing: Accepting try_x[j], i=1 j=2 try_x[j]=4.017889129124014 +multi_annealing: AR: [1][2] Rejection counts: 0.0 0.0 0.0 0.0 0.0 + +multi_annealing: AR: 1 ***** Did accept! 0.0 0.0 4.017889129124014 50.0 -1.0 + +multi_loss appCalls=1 +multi_annealing: AR: 48.711529653164106 3 +multi_loss: entered: ci=1 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.017889129124014,48.711529653164106,-1.0] +multi_loss: i=1 calling evolve, args=[0,0,4.017889129124014,48.711529653164106,-1,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:22 -0600 Checking status:1 Finished successfully:4 +multi_annealing: AR: 125.18271 +- 3.599503 +multi_loss: returning: ci=1 cj=3 r.loss=125.18271 r.sdev=3.599503 +multi_annealing: AF: best_opt_some.txt: 58.0,125.18271,0.0,0.0,4.017889129124014,48.711529653164106,-1.0,3.599503 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.29338527075939624 vs 0.5870445897168992 +math/min: result=0.5870445897168992 +multi_annealing: Accepting try_x[j], i=1 j=3 try_x[j]=48.711529653164106 +multi_annealing: Accepting try_x[j], i=1 j=3 +multi_annealing: AR: 1 ***** Did accept! 0.0 0.0 4.017889129124014 48.711529653164106 -1.0 + +multi_annealing: AR: [1][3] Rejection counts: 0.0 0.0 0.0 0.0 0.0 + +multi_loss appCalls=1 +multi_annealing: AR: -0.0033614536445253362 4 +multi_loss: entered: ci=1 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.017889129124014,48.711529653164106,-0.0033614536445253362] +multi_loss: i=1 calling evolve, args=[0,0,4.017889129124014,48.711529653164106,-0.0033614536445253362,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:26 -0600 Checking status:1 Finished successfully:6 +multi_annealing: AR: 125.933179 +- 3.36805 +multi_loss: returning: ci=1 cj=4 r.loss=125.933179 r.sdev=3.36805 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AF: best_opt_some.txt: 58.0,125.933179,0.0,0.0,4.017889129124014,48.711529653164106,-0.0033614536445253362,3.36805 +multi_annealing: AR: 0.6647548795660121 vs 0.6871281283507249 +math/min: result=0.6871281283507249 +multi_annealing: Accepting try_x[j], i=1 j=4 +multi_annealing: Accepting try_x[j], i=1 j=4 try_x[j]=-0.0033614536445253362 +multi_annealing: AR: 1 ***** Did accept! 0.0 0.0 4.017889129124014 48.711529653164106 -0.0033614536445253362 + +multi_annealing: AR: [1][4] Rejection counts: 0.0 0.0 0.0 0.0 0.0 + +multi_annealing: AR: i=2 ....T = 1.6762121943865207 +multi_loss appCalls=1 +multi_annealing: AR: 5.284753614883805 2 +multi_loss: entered: ci=2 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.711529653164106,-0.0033614536445253362] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.711529653164106,-0.0033614536445253362,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:29 -0600 Checking status:1 Finished successfully:8 +multi_annealing: AR: 126.145367 +- 3.119133 +multi_loss: returning: ci=2 cj=2 r.loss=126.145367 r.sdev=3.119133 +multi_annealing: AF: best_opt_some.txt: 58.0,126.145367,0.0,0.0,5.284753614883805,48.711529653164106,-0.0033614536445253362,3.119133 +multi_annealing: AR: 0.8343453829181197 vs 0.8810967932193764 +math/min: result=0.8810967932193764 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: Accepting try_x[j], i=2 j=2 try_x[j]=5.284753614883805 +multi_annealing: Accepting try_x[j], i=2 j=2 +multi_annealing: AR: 2 ***** Did accept! 0.0 0.0 5.284753614883805 48.711529653164106 -0.0033614536445253362 + +multi_annealing: AR: [2][2] Rejection counts: 0.0 0.0 0.0 0.0 0.0 + +multi_loss appCalls=1 +multi_annealing: AR: 47.49006278600924 3 +multi_loss: entered: ci=2 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,-0.0033614536445253362] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,-0.0033614536445253362,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:33 -0600 Checking status:1 Finished successfully:10 +multi_annealing: AR: 125.831434 +- 3.344003 +multi_loss: returning: ci=2 cj=3 r.loss=125.831434 r.sdev=3.344003 +multi_annealing: AF: best_opt_some.txt: 58.0,125.831434,0.0,0.0,5.284753614883805,47.49006278600924,-0.0033614536445253362,3.344003 +multi_annealing: AR: 0.7961447191161577 vs 1.0 +math/min: result=1.0 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: Accepting try_x[j], i=2 j=3 +multi_annealing: Accepting try_x[j], i=2 j=3 try_x[j]=47.49006278600924 +multi_annealing: AR: 2 ***** Did accept! 0.0 0.0 5.284753614883805 47.49006278600924 -0.0033614536445253362 + +multi_annealing: AR: [2][3] Rejection counts: 0.0 0.0 0.0 0.0 0.0 + +multi_loss appCalls=1 +multi_annealing: AR: 0.2830038287653472 4 +multi_loss: entered: ci=2 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,0.2830038287653472] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,0.2830038287653472,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:36 -0600 Checking status:1 Finished successfully:12 +multi_annealing: AR: 123.989674 +- 3.372759 +multi_loss: returning: ci=2 cj=4 r.loss=123.989674 r.sdev=3.372759 +multi_annealing: AF: best_opt_some.txt: 58.0,123.989674,0.0,0.0,5.284753614883805,47.49006278600924,0.2830038287653472,3.372759 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.19911890147442235 vs 1.0 +math/min: result=1.0 +multi_annealing: Accepting try_x[j], i=2 j=4 +multi_annealing: Accepting try_x[j], i=2 j=4 try_x[j]=0.2830038287653472 +multi_annealing: AR: [2][4] Rejection counts: 0.0 0.0 0.0 0.0 0.0 + +multi_annealing: AR: 2 ***** Did accept! 0.0 0.0 5.284753614883805 47.49006278600924 0.2830038287653472 + +multi_annealing: AR: i=3 ....T = 1.4048436603050374 +multi_loss appCalls=1 +multi_annealing: AR: 6.751519052449282 2 +multi_loss: entered: ci=3 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,6.751519052449282,47.49006278600924,0.2830038287653472] +multi_loss: i=1 calling evolve, args=[0,0,6.751519052449282,47.49006278600924,0.2830038287653472,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:39 -0600 Checking status:1 Finished successfully:14 +multi_loss: returning: ci=3 cj=2 r.loss=125.83918 r.sdev=3.276288 +multi_annealing: AR: 125.83918 +- 3.276288 +multi_annealing: AF: best_opt_some.txt: 58.0,125.83918,0.0,0.0,6.751519052449282,47.49006278600924,0.2830038287653472,3.276288 +math/min: result=0.2680663186298088 +multi_annealing: AR: 3,2 3 Did not accept: 6.751519052449282 (2) +multi_annealing: AR: 0.6852396383450929 vs 0.2680663186298088 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.0 0.0 6.751519052449282 47.49006278600924 0.2830038287653472 +multi_loss appCalls=1 +multi_annealing: AR: 49.01109219848105 3 +multi_loss: entered: ci=3 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,49.01109219848105,0.2830038287653472] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,49.01109219848105,0.2830038287653472,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:42 -0600 Checking status:1 Finished successfully:16 +multi_loss: returning: ci=3 cj=3 r.loss=126.260409 r.sdev=3.474799 +multi_annealing: AF: best_opt_some.txt: 58.0,126.260409,0.0,0.0,5.284753614883805,49.01109219848105,0.2830038287653472,3.474799 +multi_annealing: AR: 126.260409 +- 3.474799 +math/min: result=0.1986200941793068 +multi_annealing: AR: 0.6989515725257741 vs 0.1986200941793068 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 3,3 3 Did not accept: 49.01109219848105 (3) +multi_annealing: AR: 0.0 0.0 5.284753614883805 49.01109219848105 0.2830038287653472 +multi_loss appCalls=1 +multi_annealing: AR: 0.7184988677898592 4 +multi_loss: entered: ci=3 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:45 -0600 Checking status:1 Finished successfully:18 +multi_loss: returning: ci=3 cj=4 r.loss=123.593465 r.sdev=3.286319 +multi_annealing: AR: 123.593465 +- 3.286319 +multi_annealing: AF: best_opt_some.txt: 58.0,123.593465,0.0,0.0,5.284753614883805,47.49006278600924,0.7184988677898592,3.286319 +multi_annealing: AR: 0.10970841947076293 vs 1.0 +multi_annealing: AF: max_dist.txt - tbd +math/min: result=1.0 +multi_annealing: Accepting try_x[j], i=3 j=4 +multi_annealing: Accepting try_x[j], i=3 j=4 try_x[j]=0.7184988677898592 +multi_annealing: AR: 3 ***** Did accept! 0.0 0.0 5.284753614883805 47.49006278600924 0.7184988677898592 + +multi_annealing: AR: [3][4] Rejection counts: 0.0 0.0 1.0 1.0 0.0 + +multi_annealing: AR: i=4 ....T = 1.1774080373049494 +multi_loss appCalls=1 +multi_annealing: AR: 4.4255186274220115 2 +multi_loss: entered: ci=4 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.4255186274220115,47.49006278600924,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,4.4255186274220115,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:49 -0600 Checking status:1 Finished successfully:20 +multi_loss: returning: ci=4 cj=2 r.loss=126.444622 r.sdev=3.25147 +multi_annealing: AR: 126.444622 +- 3.25147 +multi_annealing: AF: best_opt_some.txt: 58.0,126.444622,0.0,0.0,4.4255186274220115,47.49006278600924,0.7184988677898592,3.25147 +multi_annealing: AR: 0.9535428038358379 vs 0.08878355131476454 +math/min: result=0.08878355131476454 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 4,2 4 Did not accept: 4.4255186274220115 (2) +multi_annealing: AR: 0.0 0.0 4.4255186274220115 47.49006278600924 0.7184988677898592 +multi_loss appCalls=1 +multi_annealing: AR: 46.92686166375319 3 +multi_loss: entered: ci=4 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.92686166375319,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.92686166375319,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:52 -0600 Checking status:1 Finished successfully:22 +multi_annealing: AR: 124.963375 +- 3.41926 +multi_loss: returning: ci=4 cj=3 r.loss=124.963375 r.sdev=3.41926 +multi_annealing: AF: best_opt_some.txt: 58.0,124.963375,0.0,0.0,5.284753614883805,46.92686166375319,0.7184988677898592,3.41926 +multi_annealing: AR: 0.4500207377949753 vs 0.312392025102438 +math/min: result=0.312392025102438 +multi_annealing: AR: 4,3 4 Did not accept: 46.92686166375319 (3) +multi_annealing: AR: 0.0 0.0 5.284753614883805 46.92686166375319 0.7184988677898592 +multi_annealing: AF: max_dist.txt - tbd +multi_loss appCalls=1 +multi_annealing: AR: -0.3320316742658884 4 +multi_loss: entered: ci=4 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,-0.3320316742658884] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,-0.3320316742658884,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:55 -0600 Checking status:1 Finished successfully:24 +multi_annealing: AR: 125.407828 +- 3.018498 +multi_loss: returning: ci=4 cj=4 r.loss=125.407828 r.sdev=3.018498 +multi_annealing: AF: best_opt_some.txt: 58.0,125.407828,0.0,0.0,5.284753614883805,47.49006278600924,-0.3320316742658884,3.018498 +multi_annealing: AR: 0.8555641933973892 vs 0.21417097212905944 +math/min: result=0.21417097212905944 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.0 0.0 5.284753614883805 47.49006278600924 -0.3320316742658884 +multi_annealing: AR: 4,4 4 Did not accept: -0.3320316742658884 (4) +multi_annealing: AR: i=5 ....T = 0.9867928549496278 +multi_loss appCalls=1 +multi_annealing: AR: 6.833327620921641 2 +multi_loss: entered: ci=5 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,6.833327620921641,47.49006278600924,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,6.833327620921641,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:17:58 -0600 Checking status:1 Finished successfully:26 +multi_annealing: AR: 125.250487 +- 3.078819 +multi_loss: returning: ci=5 cj=2 r.loss=125.250487 r.sdev=3.078819 +multi_annealing: AF: best_opt_some.txt: 58.0,125.250487,0.0,0.0,6.833327620921641,47.49006278600924,0.7184988677898592,3.078819 +multi_annealing: AR: 0.44288167684075663 vs 0.18652324111077032 +math/min: result=0.18652324111077032 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 5,2 5 Did not accept: 6.833327620921641 (2) +multi_annealing: AR: 0.0 0.0 6.833327620921641 47.49006278600924 0.7184988677898592 +multi_loss appCalls=1 +multi_annealing: AR: 46.49027442733761 3 +multi_loss: entered: ci=5 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.49027442733761,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.49027442733761,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:01 -0600 Checking status:1 Finished successfully:28 +multi_annealing: AR: 124.663101 +- 3.485893 +multi_loss: returning: ci=5 cj=3 r.loss=124.663101 r.sdev=3.485893 +multi_annealing: AF: best_opt_some.txt: 58.0,124.663101,0.0,0.0,5.284753614883805,46.49027442733761,0.7184988677898592,3.485893 +multi_annealing: AR: 0.42913823795768913 vs 0.33825612299835406 +math/min: result=0.33825612299835406 +multi_annealing: AR: 0.0 0.0 5.284753614883805 46.49027442733761 0.7184988677898592 +multi_annealing: AR: 5,3 5 Did not accept: 46.49027442733761 (3) +multi_annealing: AF: max_dist.txt - tbd +multi_loss appCalls=1 +multi_annealing: AR: 2.2333217492423234 4 +multi_loss: entered: ci=5 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,2.2333217492423234] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,2.2333217492423234,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:05 -0600 Checking status:1 Finished successfully:30 +multi_annealing: AR: 125.856136 +- 3.415745 +multi_loss: returning: ci=5 cj=4 r.loss=125.856136 r.sdev=3.415745 +multi_annealing: AF: best_opt_some.txt: 58.0,125.856136,0.0,0.0,5.284753614883805,47.49006278600924,2.2333217492423234,3.415745 +multi_annealing: AR: 0.5684553851797784 vs 0.10096772364295076 +math/min: result=0.10096772364295076 +multi_annealing: AR: 5,4 5 Did not accept: 2.2333217492423234 (4) +multi_annealing: AR: 0.0 0.0 5.284753614883805 47.49006278600924 2.2333217492423234 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: i=6 ....T = 0.8270371084000275 +multi_loss appCalls=1 +multi_annealing: AR: 3.928981105935937 2 +multi_loss: entered: ci=6 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,3.928981105935937,47.49006278600924,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,3.928981105935937,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:08 -0600 Checking status:1 Finished successfully:32 +multi_annealing: AR: 125.944813 +- 3.343539 +multi_loss: returning: ci=6 cj=2 r.loss=125.944813 r.sdev=3.343539 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.0737231873586417 vs 0.05824491156028037 +multi_annealing: AF: best_opt_some.txt: 58.0,125.944813,0.0,0.0,3.928981105935937,47.49006278600924,0.7184988677898592,3.343539 +multi_annealing: AR: 6,2 6 Did not accept: 3.928981105935937 (2) +math/min: result=0.05824491156028037 +multi_annealing: AR: 0.0 0.0 3.928981105935937 47.49006278600924 0.7184988677898592 +multi_loss appCalls=1 +multi_annealing: AR: 47.456980868107266 3 +multi_loss: entered: ci=6 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.456980868107266,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.456980868107266,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:11 -0600 Checking status:1 Finished successfully:34 +multi_annealing: AR: 126.604462 +- 3.183016 +multi_loss: returning: ci=6 cj=3 r.loss=126.604462 r.sdev=3.183016 +multi_annealing: AR: 0.5487345599809303 vs 0.02623387861162342 +math/min: result=0.02623387861162342 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AF: best_opt_some.txt: 58.0,126.604462,0.0,0.0,5.284753614883805,47.456980868107266,0.7184988677898592,3.183016 +multi_annealing: AR: 6,3 6 Did not accept: 47.456980868107266 (3) +multi_annealing: AR: 0.0 0.0 5.284753614883805 47.456980868107266 0.7184988677898592 +multi_loss appCalls=1 +multi_loss: entered: ci=6 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,-1.5302000464747076] +multi_annealing: AR: -1.5302000464747076 4 +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,-1.5302000464747076,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:12 -0600 Active:1 Finished successfully:36 +Progress: time: Mon, 30 Jan 2012 12:18:14 -0600 Checking status:1 Finished successfully:36 +multi_loss: returning: ci=6 cj=4 r.loss=125.062511 r.sdev=3.22833 +multi_annealing: AR: 125.062511 +- 3.22833 +multi_annealing: AF: best_opt_some.txt: 58.0,125.062511,0.0,0.0,5.284753614883805,47.49006278600924,-1.5302000464747076,3.22833 +multi_annealing: AR: 0.4295446121391554 vs 0.16926736066405584 +multi_annealing: AF: max_dist.txt - tbd +math/min: result=0.16926736066405584 +multi_annealing: AR: 6,4 6 Did not accept: -1.5302000464747076 (4) +multi_annealing: AR: 0.0 0.0 5.284753614883805 47.49006278600924 -1.5302000464747076 +multi_annealing: AR: i=7 ....T = 0.6931448431551464 +multi_loss appCalls=1 +multi_annealing: AR: 5.698890855198198 2 +multi_loss: entered: ci=7 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.698890855198198,47.49006278600924,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,5.698890855198198,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:17 -0600 Checking status:1 Finished successfully:38 +multi_annealing: AR: 124.92233 +- 3.519439 +multi_loss: returning: ci=7 cj=2 r.loss=124.92233 r.sdev=3.519439 +multi_annealing: AF: best_opt_some.txt: 58.0,124.92233,0.0,0.0,5.698890855198198,47.49006278600924,0.7184988677898592,3.519439 +multi_annealing: AR: 0.26061833782383614 vs 0.14702488652213752 +multi_annealing: AF: max_dist.txt - tbd +math/min: result=0.14702488652213752 +multi_annealing: AR: 7,2 7 Did not accept: 5.698890855198198 (2) +multi_annealing: AR: 0.0 0.0 5.698890855198198 47.49006278600924 0.7184988677898592 +multi_loss appCalls=1 +multi_annealing: AR: 48.00451051760781 3 +multi_loss: entered: ci=7 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,0.7184988677898592] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:21 -0600 Checking status:1 Finished successfully:40 +multi_annealing: AR: 123.700997 +- 3.061641 +multi_loss: returning: ci=7 cj=3 r.loss=123.700997 r.sdev=3.061641 +multi_annealing: AF: best_opt_some.txt: 58.0,123.700997,0.0,0.0,5.284753614883805,48.00451051760781,0.7184988677898592,3.061641 +multi_annealing: AR: 0.04383216320955852 vs 0.8562983650405412 +math/min: result=0.8562983650405412 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: Accepting try_x[j], i=7 j=3 +multi_annealing: Accepting try_x[j], i=7 j=3 try_x[j]=48.00451051760781 +multi_annealing: AR: 7 ***** Did accept! 0.0 0.0 5.284753614883805 48.00451051760781 0.7184988677898592 + +multi_annealing: AR: [7][3] Rejection counts: 0.0 0.0 5.0 4.0 3.0 + +multi_loss appCalls=1 +multi_annealing: AR: -0.41452399887346414 4 +multi_loss: entered: ci=7 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:24 -0600 Checking status:1 Finished successfully:42 +multi_annealing: AR: 122.427501 +- 3.484433 +multi_loss: returning: ci=7 cj=4 r.loss=122.427501 r.sdev=3.484433 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.6794911655574871 vs 1.0 +math/min: result=1.0 +multi_annealing: AF: best_opt_some.txt: 58.0,122.427501,0.0,0.0,5.284753614883805,48.00451051760781,-0.41452399887346414,3.484433 +multi_annealing: Accepting try_x[j], i=7 j=4 +multi_annealing: Accepting try_x[j], i=7 j=4 try_x[j]=-0.41452399887346414 +multi_annealing: AR: [7][4] Rejection counts: 0.0 0.0 5.0 4.0 3.0 + +multi_annealing: AR: 7 ***** Did accept! 0.0 0.0 5.284753614883805 48.00451051760781 -0.41452399887346414 + +multi_annealing: AR: i=8 ....T = 0.5809289192863943 +multi_loss appCalls=1 +multi_annealing: AR: 4.228373615739721 2 +multi_loss: entered: ci=8 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.228373615739721,48.00451051760781,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,4.228373615739721,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:27 -0600 Checking status:1 Finished successfully:44 +multi_loss: returning: ci=8 cj=2 r.loss=125.825434 r.sdev=3.06081 +multi_annealing: AR: 125.825434 +- 3.06081 +multi_annealing: AF: best_opt_some.txt: 58.0,125.825434,0.0,0.0,4.228373615739721,48.00451051760781,-0.41452399887346414,3.06081 +multi_annealing: AR: 0.43307949429152304 vs 0.0028823847709179276 +math/min: result=0.0028823847709179276 +multi_annealing: AR: 0.0 0.0 4.228373615739721 48.00451051760781 -0.41452399887346414 +multi_annealing: AR: 8,2 8 Did not accept: 4.228373615739721 (2) +multi_annealing: AF: max_dist.txt - tbd +multi_loss appCalls=1 +multi_annealing: AR: 46.894163840589215 3 +multi_loss: entered: ci=8 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.894163840589215,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.894163840589215,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:30 -0600 Checking status:1 Finished successfully:46 +multi_annealing: AR: 124.871719 +- 3.122439 +multi_loss: returning: ci=8 cj=3 r.loss=124.871719 r.sdev=3.122439 +multi_annealing: AF: best_opt_some.txt: 58.0,124.871719,0.0,0.0,5.284753614883805,46.894163840589215,-0.41452399887346414,3.122439 +multi_annealing: AR: 0.34644774801935974 vs 0.014884566500466245 +math/min: result=0.014884566500466245 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.0 0.0 5.284753614883805 46.894163840589215 -0.41452399887346414 +multi_annealing: AR: 8,3 8 Did not accept: 46.894163840589215 (3) +multi_loss appCalls=1 +multi_annealing: AR: -2.2286308752011443 4 +multi_loss: entered: ci=8 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-2.2286308752011443] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-2.2286308752011443,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:33 -0600 Checking status:1 Finished successfully:48 +multi_annealing: AR: 125.200576 +- 3.137099 +multi_loss: returning: ci=8 cj=4 r.loss=125.200576 r.sdev=3.137099 +multi_annealing: AF: best_opt_some.txt: 58.0,125.200576,0.0,0.0,5.284753614883805,48.00451051760781,-2.2286308752011443,3.137099 +multi_annealing: AR: 0.47163119315783886 vs 0.008450593550370632 +math/min: result=0.008450593550370632 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 8,4 8 Did not accept: -2.2286308752011443 (4) +multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 -2.2286308752011443 +multi_annealing: AR: i=9 ....T = 0.48688006928981853 +multi_loss appCalls=1 +multi_annealing: AR: 5.695013169826046 2 +multi_loss: entered: ci=9 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.695013169826046,48.00451051760781,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,5.695013169826046,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:37 -0600 Checking status:1 Finished successfully:50 +multi_annealing: AR: 125.017227 +- 3.237815 +multi_loss: returning: ci=9 cj=2 r.loss=125.017227 r.sdev=3.237815 +multi_annealing: AF: best_opt_some.txt: 58.0,125.017227,0.0,0.0,5.695013169826046,48.00451051760781,-0.41452399887346414,3.237815 +multi_annealing: AR: 0.17076495981302242 vs 0.004897539166396153 +math/min: result=0.004897539166396153 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 9,2 9 Did not accept: 5.695013169826046 (2) +multi_annealing: AR: 0.0 0.0 5.695013169826046 48.00451051760781 -0.41452399887346414 +multi_loss appCalls=1 +multi_annealing: AR: 48.00679484464189 3 +multi_loss: entered: ci=9 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00679484464189,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00679484464189,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:40 -0600 Checking status:1 Finished successfully:52 +multi_annealing: AR: 125.213924 +- 3.333561 +multi_loss: returning: ci=9 cj=3 r.loss=125.213924 r.sdev=3.333561 +multi_annealing: AF: best_opt_some.txt: 58.0,125.213924,0.0,0.0,5.284753614883805,48.00679484464189,-0.41452399887346414,3.333561 +multi_annealing: AR: 0.15928070563724706 vs 0.003269830345111401 +math/min: result=0.003269830345111401 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00679484464189 -0.41452399887346414 +multi_annealing: AR: 9,3 9 Did not accept: 48.00679484464189 (3) +multi_loss appCalls=1 +multi_annealing: AR: -0.7507963173758503 4 +multi_loss: entered: ci=9 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-0.7507963173758503] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-0.7507963173758503,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:42 -0600 Active:1 Finished successfully:54 +multi_loss: returning: ci=9 cj=4 r.loss=125.856406 r.sdev=3.764608 +multi_annealing: AR: 125.856406 +- 3.764608 +multi_annealing: AF: best_opt_some.txt: 58.0,125.856406,0.0,0.0,5.284753614883805,48.00451051760781,-0.7507963173758503,3.764608 +math/min: result=8.738454465360378E-4 +multi_annealing: AR: 0.061628429129563234 vs 8.738454465360378E-4 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 9,4 9 Did not accept: -0.7507963173758503 (4) +multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 -0.7507963173758503 +multi_annealing: AR: i=10 ....T = 0.408057154673674 +multi_loss appCalls=1 +multi_annealing: AR: 3.29267604969456 2 +multi_loss: entered: ci=10 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,3.29267604969456,48.00451051760781,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,3.29267604969456,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:46 -0600 Checking status:1 Finished successfully:56 +multi_annealing: AR: 125.360364 +- 3.317013 +multi_loss: returning: ci=10 cj=2 r.loss=125.360364 r.sdev=3.317013 +multi_annealing: AF: best_opt_some.txt: 58.0,125.360364,0.0,0.0,3.29267604969456,48.00451051760781,-0.41452399887346414,3.317013 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.27027335203696023 vs 7.56065260977875E-4 +math/min: result=7.56065260977875E-4 +multi_annealing: AR: 0.0 0.0 3.29267604969456 48.00451051760781 -0.41452399887346414 +multi_annealing: AR: 10,2 10 Did not accept: 3.29267604969456 (2) +multi_loss appCalls=1 +multi_annealing: AR: 46.275556353155956 3 +multi_loss: entered: ci=10 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.275556353155956,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.275556353155956,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:49 -0600 Checking status:1 Finished successfully:58 +multi_annealing: AR: 126.434478 +- 3.246686 +multi_loss: returning: ci=10 cj=3 r.loss=126.434478 r.sdev=3.246686 +multi_annealing: AF: best_opt_some.txt: 58.0,126.434478,0.0,0.0,5.284753614883805,46.275556353155956,-0.41452399887346414,3.246686 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.14920802306232583 vs 5.4372803009239825E-5 +math/min: result=5.4372803009239825E-5 +multi_annealing: AR: 10,3 10 Did not accept: 46.275556353155956 (3) +multi_annealing: AR: 0.0 0.0 5.284753614883805 46.275556353155956 -0.41452399887346414 +multi_loss appCalls=1 +multi_annealing: AR: 1.5046793086101826 4 +multi_loss: entered: ci=10 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,1.5046793086101826] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,1.5046793086101826,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:53 -0600 Checking status:1 Finished successfully:60 +multi_loss: returning: ci=10 cj=4 r.loss=125.785376 r.sdev=3.346594 +multi_annealing: AR: 125.785376 +- 3.346594 +multi_annealing: AF: best_opt_some.txt: 58.0,125.785376,0.0,0.0,5.284753614883805,48.00451051760781,1.5046793086101826,3.346594 +multi_annealing: AR: 0.6250655950503741 vs 2.668208671281028E-4 +math/min: result=2.668208671281028E-4 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 1.5046793086101826 +multi_annealing: AR: 10,4 10 Did not accept: 1.5046793086101826 (4) +multi_annealing: new cycle at i=11 +multi_annealing: AR: New cycle at 11: prev dx[0-4]=[2.3 2.3 2.3 2.3 2.3] +multi_annealing: AR: i=11 ....T = 0.34199518933533946 +multi_annealing: AR: New cycle at 11: dx[0-4]=[4.6 4.6 0.8624999999999998 0.9857142857142855 1.15] +multi_loss appCalls=1 +multi_annealing: AR: 3.791705563626845 2 +multi_loss: entered: ci=11 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,3.791705563626845,48.00451051760781,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,3.791705563626845,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:56 -0600 Checking status:1 Finished successfully:62 +multi_annealing: AF: max_dist.txt - tbd +multi_loss: returning: ci=11 cj=2 r.loss=124.596526 r.sdev=3.176561 +multi_annealing: AR: 124.596526 +- 3.176561 +multi_annealing: AF: best_opt_some.txt: 58.0,124.596526,0.0,0.0,3.791705563626845,48.00451051760781,-0.41452399887346414,3.176561 +multi_annealing: AR: 0.9715442940965933 vs 0.001760306082349071 +math/min: result=0.001760306082349071 +multi_annealing: AR: 0.0 0.0 3.791705563626845 48.00451051760781 -0.41452399887346414 +multi_annealing: AR: 11,2 11 Did not accept: 3.791705563626845 (2) +multi_loss appCalls=1 +multi_annealing: AR: 49.92607616034099 3 +multi_loss: entered: ci=11 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,49.92607616034099,-0.41452399887346414] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,49.92607616034099,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:18:59 -0600 Checking status:1 Finished successfully:64 +multi_annealing: AR: 124.00716 +- 3.111738 +multi_loss: returning: ci=11 cj=3 r.loss=124.00716 r.sdev=3.111738 +multi_annealing: AF: best_opt_some.txt: 58.0,124.00716,0.0,0.0,5.284753614883805,49.92607616034099,-0.41452399887346414,3.111738 +multi_annealing: AR: 0.38818246796613753 vs 0.009863137695174688 +math/min: result=0.009863137695174688 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 11,3 11 Did not accept: 49.92607616034099 (3) +multi_annealing: AR: 0.0 0.0 5.284753614883805 49.92607616034099 -0.41452399887346414 +multi_loss appCalls=1 +multi_annealing: AR: -0.7771568808805009 4 +multi_loss: entered: ci=11 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-0.7771568808805009] +multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-0.7771568808805009,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] +Progress: time: Mon, 30 Jan 2012 12:19:02 -0600 Checking status:1 Finished successfully:66 +multi_annealing: AR: 123.567412 +- 3.66859 +multi_loss: returning: ci=11 cj=4 r.loss=123.567412 r.sdev=3.66859 +multi_annealing: AF: best_opt_some.txt: 58.0,123.567412,0.0,0.0,5.284753614883805,48.00451051760781,-0.7771568808805009,3.66859 +multi_annealing: AR: 0.5338319788181374 vs 0.03568160518248377 +math/min: result=0.03568160518248377 +multi_annealing: AF: max_dist.txt - tbd +multi_annealing: AR: 11,4 11 Did not accept: -0.7771568808805009 (4) +multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 -0.7771568808805009 +Progress: time: Mon, 30 Jan 2012 12:19:12 -0600 Finished successfully:68 +No events in 10s. + +Registered futures: +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +---- + +Waiting threads: +---- + +No events in 10s. + +Registered futures: +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +---- + +Waiting threads: +---- + +No events in 10s. + +Registered futures: +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +string[] args Closed, 24 elements, no listeners +---- + +Waiting threads: +---- + +Progress: time: Mon, 30 Jan 2012 12:19:42 -0600 Finished successfully:68 Copied: SwiftApps/SciColSim/docs/sample.testopt.py.output (from rev 5634, SwiftApps/SciColSim/sample.testopt.py.output) =================================================================== --- SwiftApps/SciColSim/docs/sample.testopt.py.output (rev 0) +++ SwiftApps/SciColSim/docs/sample.testopt.py.output 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,243 @@ + +**** Calling optimizer: OMP_NUM_THREADS=4 ./openmp-optimizer 0 0 4 50 -1 58 40000 20 100 2 1 2. 0.01 5 0.3 2.3 1 1 0 0 0 n 4 1234567 + +alpha_i: 0 +alpha_m: 0 +beta: 4 +gamma: 50 +delta: -1 +target: 58 +n_epochs: 40000 +n_steps: 20 +n_reruns: 100 +range: 2 +verbose level: 1 +T_start: 2 +T_end: 0.01 +Annealing_steps: 5 +Target_rejection: 0.3 +Starting_jump: 2.3 +FREEZE_alpha_i: 1 +FREEZE_alpha_m: 1 +FREEZE_beta: 0 +FREEZE_gamma: 0 +FREEZE_delta: 0 +Operation: n +Nworkers: 4 +initSeed: 1234567 +0 | 1 (fixed) +1 | 1 (fixed) +2 | 0 (fixed) +3 | 0 (fixed) +4 | 0 (fixed) +0.742788 0.631704 0.118309 0.922271 0.141282 0.80831 0.961468 0.363704 0.665483 0.683465 0.771216 0.267925 0.224677 0.153439 0.23455 0.816502 0.718347 0.371612 0.948727 0.404154 0.600908 0.766305 0.493219 0.82445 0.100233 0.672304 0.157299 0.53804 0.6794 0.57498 0.758357 0.422188 0.206684 0.876666 0.344459 0.347966 0.684976 0.305927 0.71167 0.350459 0.989392 0.482885 0.618384 0.214069 0.636325 0.852934 0.0305713 0.354672 0.224546 0.979299 0.758825 0.825454 0.745604 0.252044 0.649904 0.845837 0.924348 0.807203 0.383877 0.603748 0.382183 0.142234 0.0259353 0.588867 0.0189005 0.370394 0.936833 0.703877 0.676321 0.648502 0.0543356 0.665713 0.131387 0.672719 0.879782 0.767712 0.525653 0.910353 0.122384 0.750199 0.889652 0.881209 0.575653 0.635256 0.133253 0.225557 0.481092 0.0576008 0.0327595 0.864969 0.661348 0.414942 0.00720323 0.687284 0.00380882 0.0261037 0.0576777 0.940641 0.72998 0.733998 +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.9134 seconds 0.0485567 minutes + +126.43 +- 3.11244 + +....T = 2 + +3.77342 2 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.90873 seconds 0.0484788 minutes + +126.523 +- 3.32417 +0.82704 vs 0.954153 +1 Rejection counts: 0 0 0 0 0 + + 1,2 ***** Did accept! 0 0 3.77342 50 -1 + +52.2335 3 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.93802 seconds 0.0489671 minutes + +130.173 +- 3.67201 +0.188468 vs 0.161259 + 1,3 1 Did not accept 52.2335(3) +0 0 3.77342 52.2335 -1 +-2.00667 4 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.95626 seconds 0.049271 minutes + +129.554 +- 3.1612 +0.88704 vs 0.219698 + 1,4 1 Did not accept -2.00667(4) +0 0 3.77342 50 -2.00667 + +....T = 0.693145 + +4.07035 2 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.99097 seconds 0.0498495 minutes + +130.603 +- 3.25174 +0.0501227 vs 0.00277796 + 2,2 2 Did not accept 4.07035(2) +0 0 4.07035 50 -1 +48.5261 3 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.94022 seconds 0.0490036 minutes + +128.508 +- 3.34913 +0.685387 vs 0.0571204 + 2,3 2 Did not accept 48.5261(3) +0 0 3.77342 48.5261 -1 +-2.2438 4 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.95557 seconds 0.0492594 minutes + +128.768 +- 3.41509 +0.579097 vs 0.0392132 + 2,4 2 Did not accept -2.2438(4) +0 0 3.77342 50 -2.2438 + +....T = 0.240225 + +2.54662 2 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 3.02841 seconds 0.0504735 minutes + +127.262 +- 3.06273 +0.274094 vs 0.0462924 + 3,2 3 Did not accept 2.54662(2) +0 0 2.54662 50 -1 +51.7319 3 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 3.00121 seconds 0.0500201 minutes + +128.927 +- 3.75415 +0.00641465 vs 4.52253e-05 + 3,3 3 Did not accept 51.7319(3) +0 0 3.77342 51.7319 -1 +0.232896 4 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.98499 seconds 0.0497499 minutes + +128.55 +- 3.56206 +0.941162 vs 0.000216463 + 3,4 3 Did not accept 0.232896(4) +0 0 3.77342 50 0.232896 + +....T = 0.0832553 + +4.37082 2 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.95775 seconds 0.0492958 minutes + +128.816 +- 3.45615 +0.803355 vs 1.09972e-12 + 4,2 4 Did not accept 4.37082(2) +0 0 4.37082 50 -1 +49.3468 3 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.9872 seconds 0.0497866 minutes + +128.915 +- 3.17434 +0.126163 vs 3.35758e-13 + 4,3 4 Did not accept 49.3468(3) +0 0 3.77342 49.3468 -1 +-0.0551126 4 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.93849 seconds 0.0489748 minutes + +125.1 +- 3.35383 +0.17234 vs 1 +4 Rejection counts: 0 0 3 4 3 + + 4,4 ***** Did accept! 0 0 3.77342 50 -0.0551126 + + +....T = 0.028854 + +5.90757 2 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 3.04963 seconds 0.0508272 minutes + +131.481 +- 3.49648 +0.318332 vs 9.27549e-97 + 5,2 5 Did not accept 5.90757(2) +0 0 5.90757 50 -0.0551126 +49.5818 3 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 3.0051 seconds 0.050085 minutes + +131.054 +- 3.3899 +0.854774 vs 2.47481e-90 + 5,3 5 Did not accept 49.5818(3) +0 0 3.77342 49.5818 -0.0551126 +-1.93165 4 + +multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 +multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 +multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 +multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 +multi_loss(N=100, target=58) elapsed time: 2.95204 seconds 0.0492006 minutes + +127.676 +- 3.04749 +0.356781 vs 1.74605e-39 + 5,4 5 Did not accept -1.93165(4) +0 0 3.77342 50 -1.93165 + +*** optimizer completed, elapsed time=47.6158 seconds 0.793596 minutes) + +./mw.py Done! Deleted: SwiftApps/SciColSim/extract4plots =================================================================== --- SwiftApps/SciColSim/extract4plots 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/extract4plots 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,42 +0,0 @@ -#!/bin/bash - -#usage: ./swiftoutput2plot - -SWIFTOUTFILE=$1 - -#extract start time -TMPDATE=`grep -i progress $SWIFTOUTFILE | head -n 1 | cut -f4-9 -d ' '` -START_TIME=`date +%s -d "$TMPDATE"` - -#extract end time -TMPDATE=`grep -i progress $SWIFTOUTFILE | tail -n 1 | cut -f4-9 -d ' '` -END_TIME=`date +%s -d "$TMPDATE"` - -#duration -DIFFTIME=$((END_TIME - START_TIME)) - -#extract active runs in a file -grep -o -i "Active:[0-9]*" $SWIFTOUTFILE | awk -F: '{print $2}' > active.txt - -#extract successful completions in a file -grep -o -i "Successfully:[0-9]*" $SWIFTOUTFILE | awk -F: '{print $2}' > cumulative.txt - -#prepare tics -activelines=`wc -l active.txt | awk '{print $1}'` -cumulines=`wc -l cumulative.txt | awk '{print $1}'` - -activelinespertic=`echo "scale=5 ; $DIFFTIME / $activelines" | bc` -seq 0 $activelinespertic $DIFFTIME > activetics.txt - -cumulinespertic=`echo "scale=5 ; $DIFFTIME / $cumulines" | bc` -seq 0 $cumulinespertic $DIFFTIME > cumultics.txt - -#final plot data -paste activetics.txt active.txt > plot_active.txt -paste cumultics.txt cumulative.txt > plot_cumulative.txt - -grep "T =" $SWIFTOUTFILE | awk '{print $6}' | cut -c8- | sed 's/....$//' > T.data - -grep multi_annealing $SWIFTOUTFILE | grep "1;30" | awk '{print $3}' | cut -c11- | sed 's/....$//' > anneal.data - -grep returning $SWIFTOUTFILE | awk '{print $3, $4, $5, $6}' | sed -e 's/'ci='//' -e 's/'cj='//' -e 's/'r.loss='//' -e 's/'r.sdev='//' | sort -t' ' -k 1,2n > multiloss.txt Deleted: SwiftApps/SciColSim/getallparams.sh =================================================================== --- SwiftApps/SciColSim/getallparams.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/getallparams.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,10 +0,0 @@ -#! /bin/sh - -# targetinno=${1:-58} - -grep 'calling evolve' swift.out | # grep ,$targetinno, | - sed -e 's/^.*\[//' \ - -e 's/\]$//' \ - -e 's/,/ /g' \ - -e 's/\(\......\)[0-9]* /\1 /g' | - awk '{print $3, $4, $5}' | uniq Deleted: SwiftApps/SciColSim/getparamtrace.sh =================================================================== --- SwiftApps/SciColSim/getparamtrace.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/getparamtrace.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,9 +0,0 @@ -#! /bin/sh - -targetinno=${1:-58} -grep 'calling evolve' swift.out | grep ,$targetinno, | - sed -e 's/^.*\[//' \ - -e 's/\]$//' \ - -e 's/,/ /g' \ - -e 's/\(\......\)[0-9]* /\1 /g' | - awk '{print $3, $4, $5}' | uniq Deleted: SwiftApps/SciColSim/local.xml =================================================================== --- SwiftApps/SciColSim/local.xml 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/local.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,9 +0,0 @@ - - - - 0.05 - 10000 - - /gpfs/pads/swift/jonmon/Swift/work/pads - - Deleted: SwiftApps/SciColSim/mathtest.swift =================================================================== --- SwiftApps/SciColSim/mathtest.swift 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/mathtest.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,18 +0,0 @@ -import "math"; - -float a = 0.5; -tracef("random(): %f\n", random()); -tracef("sin(%f): %f\n", a, sin(a)); -tracef("jlog(%f): %f\n", a, jlog(a)); -tracef("log10(%f): %f\n", a, log10(a)); -tracef("exp(%f): %f\n", a, exp(a)); -tracef("ceil(%f): %f\n", 1.23, ceil(1.23)); -tracef("floor(%f): %f\n", 1.23, floor(1.23)); -tracef("pow(%f,%f): %f\n", 2.0, 4.0, pow(2.0,4.0)); -tracef("min(%f,%f): %f\n", 2.0, 4.0, min(2.0,4.0)); -tracef("min(%f,%f): %f\n", 2.0, 1.5, min(2.0,1.5)); - - - - - Copied: SwiftApps/SciColSim/old/RunSwift.sh (from rev 5634, SwiftApps/SciColSim/RunSwift.sh) =================================================================== --- SwiftApps/SciColSim/old/RunSwift.sh (rev 0) +++ SwiftApps/SciColSim/old/RunSwift.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,49 @@ +#!/bin/bash + +# ./Runswift local to run on sandbox +# ./Runswift clustersmall to run on beagle pbs cluster at small scale +# ./Runswift clusterquick to run on beagle pbs cluster at large scale + +escapecode=$(echo -n -e '\033') + +count=$(head -1 counter.txt); +expr $count + 1 > counter.txt +mkdir run$count +cp /home/ketan/SciColSim/*.swift run$count/ +cp /home/ketan/SciColSim/sites.beagle.xml run$count/ +cp /home/ketan/SciColSim/sites.beagle.quick.xml run$count/ +cp local.xml run$count/ +cp /home/ketan/SciColSim/tc run$count/ +cp /home/ketan/SciColSim/movie_graph.txt run$count/ +cp /home/ketan/SciColSim/cf run$count/ +cd run$count + +if [ $1 = "local" ] +then + #SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file local.xml -config cf annealing.swift -e33="$escapecode" -nworkers=36 >& swift.out + #Total jobs = 6 * 1 * 120/20 * 3 * 100 = 10,800 + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file local.xml -config cf annealing.swift -e33="$escapecode" -nworkers=6 -minrange=58 -maxrange=64 -rangeinc=1 -evoreruns=120 -nreps=1 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=20 >& swift.out + +elif [ $1 = "clusterbig" ] +then + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.xml -config cf annealing.swift -e33="$escapecode" -nworkers=24 -rangeinc=50 -evoreruns=960 -startingjump=2.3 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=192 >& swift.out + +elif [ $1 = "clustersmall" ] +then + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.xml -config cf annealing.swift \-e33="$escapecode" \ + >& swift.out + +elif [ $1 = "clusterquick" ] +then +#target_innovation=(1009-58)/50=~20 +#repeats=nreps=1 +# 3 repeats constant (serial) +#annealing_cycles=100 (serial) +#rerunsperapp=192 +#evoreruns=960 +#J=evoreruns/rerunsperapp=960/192=5 + +#Total parallel jobs = (maxrange-minrange)/rangeinc * nreps * (evoreruns/rerunsperapp) = (1009-58)/50 * 1 * 960/192 = 20*5 = 100 Jobs = 2400 openmp jobs in parallel + SWIFT_HEAP_MAX=7000M swift -tc.file tc -sites.file sites.beagle.quick.xml -config cf annealing.swift -e33="$escapecode" -nworkers=24 -minrange=58 -maxrange=1009 -rangeinc=50 -evoreruns=960 -nreps=1 -alphai=0 -alpham=0 -beta=4.0 -gamma=50.0 -delta=-1 -annealingcycles=100 -rerunsperapp=192 >& swift.out +fi + Copied: SwiftApps/SciColSim/old/annealing.open-issues.swift (from rev 5634, SwiftApps/SciColSim/annealing.open-issues.swift) =================================================================== --- SwiftApps/SciColSim/old/annealing.open-issues.swift (rev 0) +++ SwiftApps/SciColSim/old/annealing.open-issues.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,379 @@ +import "math"; +import "colortext"; + +type file; + +type Res +{ + float loss; + float sdev; +} + +global boolean FIX_VARIABLES = true; +global int var_fixed[] = [1,1,0,0,0]; +global int Nworkers = @toint(@arg("nworkers","4")); +global int rerunsPerApp; + +(float nx) newx(float x, float dx) +{ + float r = (random()) ; // / (pow(2.0,31.0)-1.0); + if (r > 0.5) + { + nx = x + (random())*dx; // /(pow(2.0,31.0)-1.0); + } + else + { + nx = x - (random())*dx; // /(pow(2.0,31.0)-1.0); + } + // tracef("newx(%f,%f)=%f\n",x,dx,nx); +} + +app (file outfile, file loss) evolve (string args[], file graph) +{ + evolve @loss args stdout=@outfile ; // graph is passed implicitly +} + +app (file x) sumloss(file loss[]) +{ + sumloss @filenames(loss) stdout=@x; +} + +/* + + Program structure: + + main + optimizer_sweep() - formerly, python script + multi_annealing() + multi_loss() + evolve() + sumloss() +*/ + +(file bestfile, file maxfile) multi_annealing ( + float T_start, + float T_end, + float Target_rejection, + int evolve_reruns, + float starting_jump, + float params0[], + float target_innov, + int annealing_cycles) +{ + int cycle=10; // const + int NEVOPARAMS=5; // const - 5 params, alpha 1,m through delta, does not include target_innovation + + float rejection[][]; // [i][j] where i is cycle and j is evolve-parameter (alpha_i, alpha_m, beta, gamma, delta) + + float x[][], dx[][], curr_loss[], curr_sdev[]; + + Res mlres[][]; + mlres[0][0] = multi_loss( 0, 0, params0, target_innov, evolve_reruns ); // FIXME: serves for all evolve-params ??? + tracef("multi_annealing: AR: initial: %f +- %f\n",mlres[0][0].loss,mlres[0][0].sdev); + + foreach j in [0:NEVOPARAMS-1] + { + x[0][j]=params0[j]; + dx[0][j] = starting_jump; + rejection[0][j] = 0.0; + curr_loss[j] = mlres[0][0].loss; + curr_sdev[j] = mlres[0][0].sdev; + } + + iterate iter_i + { // foreach i in [1:annealing_cycles] + int i = iter_i + 1; + + // set new temperature, rejection threshold, and dx values for this cycle + + float temperature = T_start*exp( @tofloat(i-1)*(jlog(T_end)-jlog(T_start))/@tofloat(annealing_cycles)); + + tracef(@strcat("multi_annealing: AR: i=%i ....T = ",color(3,"%f"),"\n"), i, temperature); + + // On each new "major" cycle within the annealing_cycles (other than the first) set new rejection and dx values + + if ( i %% cycle == 1 && i > 1 ) + { + tracef("multi_annealing: new cycle at i=%i\n",i); + tracef(color(Pink, "multi_annealing: AR: New cycle at %i: prev dx[0-4]=[%f %f %f %f %f]\n"),i,dx[i-1][0],dx[i-1][1],dx[i-1][2],dx[i-1][3],dx[i-1][4]); + foreach k in [0:NEVOPARAMS-1] + { + float newrejection = rejection[i-1][k] / @tofloat(cycle); + if (newrejection > 0.0) + { + dx[i][k] = dx[i-1][k] / (newrejection / Target_rejection); + // FIXME: re-enable: rejection[i][k]=0.0; + } + else + { + dx[i][k] = dx[i-1][k] * 2.0; + // FIXME: re-enable: rejection[i][k]=rejection[i-1][k]; + } + // FIXME: HANGS? : tracef(color(Red,"Recomputed rejection: i=%d k=%d dx[i][k]=%f\n"), i, k, dx[i][k]); + } + tracef(color(Blue, "multi_annealing: AR: New cycle at %i: dx[0-4]=[%f %f %f %f %f]\n"),i,dx[i][0],dx[i][1],dx[i][2],dx[i][3],dx[i][4]); + } + else + { // If not new cycle, set dx[i][*] from previous dx ([i-1]). rejection[i]j] is set later. + foreach k in [0:NEVOPARAMS-1] + { + dx[i][k] = dx[i-1][k]; + } + } + //foreach j in [0:NEVOPARAMS-1] { // Try a new value for each non-fixed param; then write results and accept or reject + iterate j + { // Try a new value for each non-fixed param; then write results and accept or reject + // float try_x[]; + int curr = (i * NEVOPARAMS) + j; + int prev = curr-1; + // tracef("in multi_annealing: i=%i j=%i curr=%i prev=%i\n", i, j, curr, prev); + if ( /*(!FIX_VARIABLES) || */ (var_fixed[j]==0) ) { // Adjustable vars + // fixed=1,1,0,0,0: FIXME: FIX_VARIABLES flag has faulty logic but OK when TRUE + float try_x[]; + foreach k in [0:NEVOPARAMS-1] + { // Select the evolve params to try + if ( k < j ) + { + try_x[k] = x[i][k]; // already set x[i][k] + } + else + { + if ( k == j ) + { + try_x[k] = newx(x[i-1][j],dx[i-1][j]); // permute x[i-1][j] + } + else + { // k > j + try_x[k] = x[i-1][k]; // use x[i-1][k] (from prior cycle) + } + } + } + tracef(@strcat("multi_annealing: AR: ", color(10,"%f"), " ", color(9,"%i"),"\n"), try_x[j],j); + // Up to here, x[] and dx[] are only set for previous i + mlres[i][j] = multi_loss(i,j,try_x, target_innov, evolve_reruns); // do the N evolve()'s, N=evolve_reruns + tracef("multi_annealing: AR: %f +- %f\n", mlres[i][j].loss, mlres[i][j].sdev); + // Beyond this point, x[] and dx[] are being set for this i,j + + float ALOT=100000000000.0; // 100,000,000,000. = 10^11 + if (mlres[i][j].loss < ALOT) + { + tracef("multi_annealing: AF: best_opt_some.txt: %f,%f,%f,%f,%f,%f,%f,%f\n", + target_innov,mlres[i][j].loss,try_x[0],try_x[1],try_x[2],try_x[3],try_x[4],mlres[i][j].sdev); + tracef(color(Red,"multi_annealing: AF: max_dist.txt - tbd\n")); // FIXME: max_dist is global set in evolve() + } + else + { // does this ever occur? if so did we want to still do the ratio computation above??? + tracef("multi_annealing: Loss %f > ALOT at [i][j] = [%d][%d]\n", mlres[i][j].loss, i ,j); + } + float ratio = min(1.0, exp( -(mlres[i][j].loss-curr_loss[prev]) / temperature)); + float r = (random()) ; // / (pow(2.0,31.0)-1.0); // FIXME: AR: why all the 2^31's ??? + tracef("multi_annealing: AR: %f vs %f\n", r, ratio); + if (r > ratio) + { // Reject new parameter + x[i][j] = x[i-1][j]; + rejection[i][j] = rejection[i-1][j] + 1.0; // FIXME: AR: Is this correct? incr rejection? + curr_loss[curr] = curr_loss[prev]; + curr_sdev[curr] = curr_sdev[prev]; + // FIXME: AR: the following prints seem to replicate values in the .cpp version - please clarify. + tracef("multi_annealing: AR: %i,%i %i Did not accept: %f (%i)\n", i, j, i, try_x[j], j); + tracef("multi_annealing: AR: %f %f %f %f %f\n", try_x[0],try_x[1],try_x[2],try_x[3],try_x[4]); + } + else + { // Accept new parameter + tracef("multi_annealing: Accepting try_x[j], i=%i j=%i\n",i,j); + x[i][j] = try_x[j]; + rejection[i][j] = rejection[i-1][j]; // FIXME: AR: Is this correct? no incr of rejection? + tracef("multi_annealing: Accepting try_x[j], i=%i j=%i try_x[j]=%f\n",i,j,try_x[j]); + curr_loss[curr] = mlres[i][j].loss; + curr_sdev[curr] = mlres[i][j].sdev; + float rj[]; + foreach k in [0:NEVOPARAMS-1] + { // FIXME!!! + if (k <= j) + { + rj[k] = rejection[i][k]; // Was either set from previous j or just set for this j + } + else + { + rj[k] = rejection[i-1][k]; // Not yet set, use previous + } + } + tracef(@strcat("multi_annealing: AR: [%i][%i] ", color(8,"Rejection counts: "), + color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), + i, j, rj[0], rj[1], rj[2], rj[3], rj[4]); + tracef(@strcat("multi_annealing: AR: %i ", color(8,"***** Did accept! "), + color(1,"%f"), " ", color(7,"%f"), " ", color(5,"%f"), " ", color(9,"%f"), " ", color(6,"%f"), "\n\n"), + i, try_x[0], try_x[1], try_x[2], try_x[3], try_x[4]); + } + } + else + { // Fixed Vars + x[i][j] = x[i-1][j]; + rejection[i][j] = rejection[i-1][j]; + curr_loss[curr] = curr_loss[prev]; + curr_sdev[curr] = curr_sdev[prev]; + // dx[i][j] not set for fixed vars + } + } until(j == NEVOPARAMS-1); + } until(iter_i == (annealing_cycles-1)); +} + +(Res r) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) +// (Res r, Stats s) multi_loss( int ci, int cj, float x[], float target_innov, int evolve_reruns ) FIXME: To obtain stats +{ + file rfile[]; + file ofile[]; // FIXME: to obtain timings and otehr stats + tracef("multi_loss: entered: ci=%i cj=%i target_innov=%f evolve_reruns=%i x=%q\n",ci, cj, target_innov,evolve_reruns,x); + + int appCalls = @toint(@tofloat(evolve_reruns) / @tofloat(rerunsPerApp)); // FIXME: handle fractional issues and rounding etc. For now must divide evenly + + tracef("multi_loss appCalls=%i\n", appCalls); + foreach i in [1:appCalls] { // repeats of the evolove() - same as n_reruns + file outfile; // FIXME: map and save in future + string args[] = [ // FIXME: move this to a setargs() function + // alpha_i alpha_m beta gamma delta target_innov + @strcat(x[0]), @strcat(x[1]), @strcat(x[2]), @strcat(x[3]), @strcat(x[4]), @strcat(target_innov), + + // n_epochs n_steps evolve_reruns range + // "40000", "20", @strcat(evolve_reruns), "2", + "40000", "20", @strcat(rerunsPerApp), "2", + + // verbose_level + "1", + + // T_start T_end Annealing_steps Target_rejection Starting_jump + "2.", "0.01", "2", "0.3", "2.3", + + // FREEZE: alpha_i alpha_m beta gamma delta + "1", "1", "0", "0", "0", + + // operation-code:(m,a) Nworkers seed + "m", @strcat(Nworkers), "1234567" ]; + + file graph <"movie_graph.txt">; + (outfile, rfile[i]) = evolve(args,graph); + // (ofile[i], rfile[i]) = evolve(args,graph); + tracef("multi_loss: i=%i calling evolve, args=%q\n", i, args); + // tracef("multi_loss: after evolve: i=%i %k %k\n", i, outfile, rfile[i]); + } + file sumfile = sumloss(rfile); + r = readData(sumfile); + tracef("multi_loss: returning: ci=%i cj=%i r.loss=%f r.sdev=%f\n",ci,cj,r.loss,r.sdev); + // file statfile = sumstats(ofile); FIXME: to obtain timings and otehr stats + // s = readStat(statsfile); FIXME: to obtain timings and otehr stats +} + +optimizer_sweep() // Implements logic of python driver script +{ + int minrange=58; + int maxrange=59; + int rangeinc=50; + + //int maxrange=1009; + //int maxrange=209; + + // FIXME: add provision for random priming and random param values when x[i] == -100 (see optimizer.cpp main()) + + int nreps=1; // 15 + +// file bestfile ; +// file maxfile ; + + foreach target_innov in [minrange:maxrange:rangeinc] + { + foreach rep in [1:nreps] + { + file outfile; // ; + file lossfile; // ; +/* + (outfile,lossfile) = multi_annealing( + T_start = 2.0, + T_end = 0.01, + Target_rejection = 0.3, + evolve_reruns = 10, + starting_jump = 2.3, + params0[] = [0.0, 0.0, 4.0, 50.0, -1.0], + @tofloat(target_innov), + annealing_cycles = 2); +*/ + (outfile,lossfile) = multi_annealing( + 2.0, + 0.01, + 0.3, + 100, + 2.3, + [0.0, 0.0, 4.0, 50.0, -1.0], + @tofloat(target_innov), + 30); + } + } +} + +rerunsPerApp = 100; + +main() +{ + optimizer_sweep(); +} + +main(); + +/* + + Program structure: + + main + optimizer_sweep() + multi_annealing() + multi_loss() + evolve() + sumloss() + + Example parameter sets: + + for target in range(58,59,50): + for i in range(1): + args="./toptimizer 0 0 4 50 -1 "+target+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 m // > out.T"+str(target)+".i"+str(i) + os.system(args); + + string fastargs1[] = [ + "0", "0", "4", "50", "-1", @strcat(target), + "40000", "20", "1000", "2", + "1", + "2.", "0.01", "100", "0.3", "2.3", + "1", "1", "0", "0", "0"]; + string fastargs2[] = [ + "0", "0", "4", "50", "-1", @strcat(target), + "40000", "20", "1000", "2", + "1", + "2.", "0.01", "5", "0.3", "2.3", + "1", "1", "0", "0", "0", "m"]; + string fastargs3[] = [ + "0", "0", "4", "50", "-1", @strcat(target), + "40000", "20", @strcat(repeats), "2", + "1", + "2.", "0.01", "2", "0.3", "2.3", + "1", "1", "0", "0", "0", "m"]; +*/ + +(string args[]) setargs() +{ + // string longargs[] = @strcat("0 0 4 50 -1 ",target," 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 m"); + + // [alpha_i alpha_m beta gamma delta target_innov + // [n_epochs n_steps n_reruns] [range] + // [verbose_level] + // [T_start T_end Annealing_steps Target_rejection Starting_jump] + // [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta] [operation-code:(m,a) Nworkers] +} + +////////////////// HOLD JUNK + +// tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), +// color( /* 2 */ 1," %f"), "\n\n"), +// i, rejection[i][j] ); // , rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); +// FIXME: determine correct rejection[] values to avoid hanging: +// tracef(@strcat("multi_annealing: AR: %i ", color(8,"Rejection counts: "), +// color( /* 2 */ 1," %f"), color(7," %f"), color(5," %f"), color(9," %f"), color(6," %f"), "\n\n"), +// rejection[i][0], rejection[i][1], rejection[i][2], rejection[i][3], rejection[i][4]); +// END FIXME Copied: SwiftApps/SciColSim/old/beagle.xml (from rev 5634, SwiftApps/SciColSim/beagle.xml) =================================================================== --- SwiftApps/SciColSim/old/beagle.xml (rev 0) +++ SwiftApps/SciColSim/old/beagle.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,60 @@ + + + + + + + + pbs.aprun;pbs.mpp;depth=24 + 1 + + 24 + 02:00:00 + 14400 + 20 + 1 + 1 + 100 + 100 + .15 + 10000 + + CI-MCB000119 + route + + + /lustre/beagle/wilde/swiftwork + + + + + Copied: SwiftApps/SciColSim/old/mathtest.swift (from rev 5634, SwiftApps/SciColSim/mathtest.swift) =================================================================== --- SwiftApps/SciColSim/old/mathtest.swift (rev 0) +++ SwiftApps/SciColSim/old/mathtest.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,18 @@ +import "math"; + +float a = 0.5; +tracef("random(): %f\n", random()); +tracef("sin(%f): %f\n", a, sin(a)); +tracef("jlog(%f): %f\n", a, jlog(a)); +tracef("log10(%f): %f\n", a, log10(a)); +tracef("exp(%f): %f\n", a, exp(a)); +tracef("ceil(%f): %f\n", 1.23, ceil(1.23)); +tracef("floor(%f): %f\n", 1.23, floor(1.23)); +tracef("pow(%f,%f): %f\n", 2.0, 4.0, pow(2.0,4.0)); +tracef("min(%f,%f): %f\n", 2.0, 4.0, min(2.0,4.0)); +tracef("min(%f,%f): %f\n", 2.0, 1.5, min(2.0,1.5)); + + + + + Copied: SwiftApps/SciColSim/old/optimizer.protomods.cpp (from rev 5634, SwiftApps/SciColSim/optimizer.protomods.cpp) =================================================================== --- SwiftApps/SciColSim/old/optimizer.protomods.cpp (rev 0) +++ SwiftApps/SciColSim/old/optimizer.protomods.cpp 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,1818 @@ +// +// main.cpp +// optimizer +// +// Created by Andrey Rzhetsky on 4/11/11. +// Copyright 2011 University of Chicago. All rights reserved. +// + +#define MAXNworkers 24 +int Nworkers=MAXNworkers; + +// Add operation code to enable existing code to be used at lower level from Swift scripts: + +char operation = 'n'; // n: normal; m: do one multi_loss (with n_reruns). + // Not used: a: analyze and generate next annealing parameter set. g: tbd + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +// #include +#include + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error +#define BOOST_MATH_DISCRETE_QUANTILE_POLICY real +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define INT_INFINITY 2147483647 +#define NEVOPARAMS 5 + +#define FIX_VARIABLES 1 + +using namespace boost; +using namespace std; +using namespace boost::numeric::ublas; + +static int max_dist=0; + +typedef boost::adjacency_matrix Graph; +typedef std::pair Edge; +typedef boost::graph_traits GraphTraits; +typedef boost::numeric::ublas::triangular_matrix prob; +typedef boost::numeric::ublas::triangular_matrix pathlength; +typedef boost::graph_traits::vertex_descriptor vertex_descriptor; + +namespace std { + using ::time; +} + +static int var_fixed[NEVOPARAMS] = {1, 0, 1, 1, 0}; + +typedef boost::minstd_rand base_generator_type; +typedef adjacency_list < listS, vecS, directedS, +no_property, property < edge_weight_t, int > > graph_t; +typedef graph_traits < graph_t >::vertex_descriptor vertex_descriptor; +typedef graph_traits < graph_t >::edge_descriptor edge_descriptor; + + +//================================================ +string strDouble(double number) +{ + stringstream ss;//create a stringstream + ss << number;//add number to the stream + return ss.str();//return a string with the contents of the stream +} + +//================================================ + +double gaussian(double sigma) +{ + double GaussNum = 0.0; + int NumInSum = 10; + for(int i = 0; i < NumInSum; i++) + { + GaussNum += ((double)rand()/(double)RAND_MAX - 0.5); + } + GaussNum = GaussNum*sqrt((double)12/(double)NumInSum); + + + return GaussNum; + +} + + + +//================================================= +double diffclock(clock_t clock1,clock_t clock2) +{ + double diffticks=clock1-clock2; + double diffms=(diffticks)/CLOCKS_PER_SEC; + return diffms; +} + +//================================================ +//================================================================ +double get_new_x(double x, double dx){ + + double new_x; + // boost::variate_generator > uni(generator, uni_dist); + double r = rand()/(double)(pow(2.,31)-1.); + + if (r > 0.5){ + new_x = x + rand()*dx/(double)(pow(2.,31)-1.); + } else { + new_x = x - rand()*dx/(double)(pow(2.,31)-1.); + } + + return new_x; + +} + + +//=============================================== +string string_wrap(string ins, int mode){ + + std::ostringstream s; + + switch(mode){ + case 0: + s << "\033[1;29m" << ins << "\033[0m"; + break; + case 1: + s << "\033[1;34m" << ins << "\033[0m"; + break; + case 2: + s << "\033[1;44m" << ins << "\033[0m"; + break; + case 3: + s << "\033[1;35m" << ins << "\033[0m"; + break; + case 4: + s << "\033[1;33;44m" << ins << "\033[0m"; + break; + case 5: + s << "\033[1;47;34m" << ins << "\033[0m"; + break; + case 6: + s << "\033[1;1;31m" << ins << "\033[0m"; + break; + case 7: + s << "\033[1;1;33m" << ins << "\033[0m"; + break; + case 8: + s << "\033[1;1;43;34m" << ins << "\033[0m"; + break; + case 9: + s << "\033[1;1;37m" << ins << "\033[0m"; + break; + case 10: + s << "\033[1;30;47m" << ins << "\033[0m"; + break; + default: + s << ins; + } + + return s.str(); +} + + +//=============================================== +string wrap_double(double val, int mode){ + + std::ostringstream s; + s << string_wrap(strDouble(val),mode); + + return s.str(); +} + + + +//=============================================== +const +string i2string(int i){ + + std::ostringstream s; + s << "worker" + << lexical_cast(i); + + return s.str(); + +} + +//=============================================== +char* i2char(int i){ + + std::ostringstream s; + s << "worker" + << lexical_cast(i); + + char* a=new char[s.str().size()+1]; + memcpy(a,s.str().c_str(), s.str().size()); + + return a; +} + + +template +bool from_string(T& t, + const std::string& s, + std::ios_base& (*f)(std::ios_base&)) +{ + std::istringstream iss(s); + return !(iss >> f >> t).fail(); +} + +//================================================ +class Universe { + +private: + + double alpha_i; + double alpha_m; + double beta; + double gamma; + double delta; + + double TargetNovelty; + double CumulativeRelativeLoss; + double CRLsquare; + string id; + + + int N_nodes; + int M_edges; + + int N_epochs; + int N_steps; + int N_repeats; + + int current_epoch; + double current_loss; + int current_repeat; + double current_novelty; + + int mode_identify_failed; + int verbose_level; // 0 is silent, higher is more + + double k_max; + + graph_t Full_g; + + double **Prob; + double **Tried; + double **Dist; + double **Final; + double **EdgeIndex; + double *Rank; + + base_generator_type generator; + boost::uniform_real<> uni_dist; + boost::geometric_distribution geo; + +public: + + + + //====== Constructor ====== + Universe(const std::string FileToOpen, int Epochs, int Steps, int Repeats, int identify_failed, double target, const std::string idd) + { + //typedef array_type2::index index2; + + + std::ifstream inFile; + //string line; + + //------------------------------- + + base_generator_type gene(42u); + generator = gene; + generator.seed(static_cast(std::time(0))); + boost::uniform_real<> uni_d(0,1); + uni_dist = uni_d; + + //-------------------------------- + + int i, k; + int x, y; + Edge* edge_array_mine; + int num_arcs_mine, num_nodes_mine; + int* weights_mine; + + TargetNovelty = target; + CumulativeRelativeLoss = 0.; + CRLsquare = 0.; + + + N_epochs = Epochs; + N_steps = Steps; + N_repeats = Repeats; + + current_epoch = 0; + current_loss = 0.; + current_repeat = 0; + + id = idd; + + verbose_level = 1; + + mode_identify_failed = identify_failed; + + + //------------------------------- + // The first pass though file with the graph + inFile.open(FileToOpen.c_str()); + if (inFile.fail()) { + cout << "Unable to open file"; + exit(1); // terminate with error + }else { + + if (verbose_level > 2){ + std::cout << " Opened <" << FileToOpen << ">"<> x; + inFile >> y; + + if (verbose_level > 2){ + std::cout << " x: " << x; + std::cout << " y: " << y << std::endl; + } + + if (i==0){ + N_nodes=x; + M_edges=y; + break; + } + i++; + + + } + inFile.close(); + + if (verbose_level == 2){ + std::cout << N_nodes << " nodes, " << M_edges << " edges"< 2){ + std::cout << " Opened <" << FileToOpen << ">"<> x && inFile >>y) { + if (i > 0) { + Final[x][y]=1.; + Final[y][x]=1.; + + + if (verbose_level == 2){ + std::cout << "."; + } + } + i++; + + } + if (verbose_level == 2){ + std::cout << std::endl; + } + inFile.close(); + + k=0; + for (int i=0; i 0.){ + EdgeIndex[i][j]=k; + k++; + } + } + } + + + + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + // create graph -- hopefully, we can keep it, just modifying edge weights + + + edge_array_mine = new Edge[2*M_edges]; + num_arcs_mine = 2*M_edges; + num_nodes_mine = N_nodes; + weights_mine = new int[2*M_edges]; + for (int i=0; i<2*M_edges; i++){ weights_mine[i]=1;} + + k=0; + for(int i=0; i0.){ + edge_array_mine[2*k] =Edge(i,j); + edge_array_mine[2*k+1]=Edge(j,i); + k++; + } + } + } + graph_t g(edge_array_mine, edge_array_mine + num_arcs_mine, weights_mine, num_nodes_mine); + + Full_g = g; + delete edge_array_mine; + delete weights_mine; + + //=========================================================================== + std::vector p(num_edges(Full_g)); + std::vector d(num_edges(Full_g)); + edge_descriptor s; + boost::graph_traits::vertex_descriptor u, v; + + for (int i=0; i 0.){ + u = vertex(i, Full_g); + v = vertex(j, Full_g); + remove_edge(u,v,Full_g); + remove_edge(v,u,Full_g); + + } + } + } + + + } + + + //===================================================================== + int sample_failed_number(double pfail){ + + //boost::geometric_distribution geo(pfail); + //boost::variate_generator > geom(generator, geo); + + double r, u, g; + + r=0.; + for(int i=0; i=3){ + std::cout << id << " failed " << r << std::endl; + } + return r; + + } + + //============================================= + double get_target(void){ + return TargetNovelty; + } + + //============================================= + void set_target(double target){ + TargetNovelty=target; + } + + //============================================= + int sample(){ + + //boost::variate_generator > uni(generator, uni_dist); + // double r = uni(), Summa = 0.; + + + + double r = rand(), Summa = 0.; + r /= (double)(pow(2.,31)-1.); + int result = 0; + int finished = 0; + + if (verbose_level==4){ + std::cout << id << " sampled " << r << std::endl; + } + + for(int i=0; i r){ + + Tried[i][j]+=1.; + + if (Final[i][j] > 0.){ + result = 1; + } + finished = 1; + } + } + } + + return result; + + } + + //=============================== + void update_current_graph(void){ + + std::vector p(num_edges(Full_g)); + std::vector d(num_edges(Full_g)); + edge_descriptor s; + boost::graph_traits::vertex_descriptor u, v; + + //property_map::type weightmap = get(edge_weight, Full_g); + for (int i=0; i 0. && Tried[i][j]>0){ + //s = edge(i, j, Full_g); + boost::graph_traits::edge_descriptor e1,e2; + bool found1, found2; + u = vertex(i, Full_g); + v = vertex(j, Full_g); + tie(e1, found1) = edge(u, v, Full_g); + tie(e2, found2) = edge(v, u, Full_g); + if (!found1 && !found2){ + add_edge(u,v,1,Full_g); + add_edge(v,u,1,Full_g); + } + + } + } + + } + } + + //=============================== + void update_distances(void){ + // put shortest paths to the *Dist[][] + std::vector p(num_vertices(Full_g)); + std::vector d(num_vertices(Full_g)); + vertex_descriptor s; + + + // put shortest paths to the *Dist[][] + for (int j=0; j 0.){ + s = vertex(j, Full_g); + dijkstra_shortest_paths(Full_g, s, predecessor_map(&p[0]).distance_map(&d[0])); + + //std::cout <<" Vertex "<< j << std::endl; + graph_traits < graph_t >::vertex_iterator vi, vend; + + for (boost::tie(vi, vend) = vertices(Full_g); vi != vend; ++vi) { + + if (p[*vi]!=*vi){ + Dist[*vi][j]=d[*vi]; + Dist[j][*vi]=d[*vi]; + + if (Dist[*vi][j]>max_dist){ + max_dist=Dist[*vi][j]; + } + + + } else { + Dist[*vi][j]=-1.; + Dist[j][*vi]=-1.; + } + } + } + + } + + + } + + //====================================================== + void update_ranks(void){ + + for(int i=0; i0. && Final[i][j] >0.){ + Rank[i]++; + Rank[j]++; + } + } + } + + } + + //==================================================================== + void set_world(double a_i, double a_m, double b, double g, double d){ + + alpha_i=a_i; + alpha_m=a_m; + gamma=g; + beta=b; + delta=d; + + } + + //==================================================================== + void reset_world(){ + + //==================================================== + std::vector p(num_edges(Full_g)); + std::vector d(num_edges(Full_g)); + edge_descriptor s; + boost::graph_traits::vertex_descriptor u, v; + + + for (int i=0; i 0. && Tried[i][j] > 0){ + u = vertex(i, Full_g); + v = vertex(j, Full_g); + remove_edge(u,v,Full_g); + remove_edge(v,u,Full_g); + + } + } + } + + //================================================== + + current_loss=0; + current_epoch=0; + current_repeat++; + current_novelty=0; + + for(int i = 0; i < N_nodes; ++i) { + Rank[i]=0.; + for(int j = 0; j < N_nodes; ++j) { + Prob[i][j]=0.; + Dist[i][j]=-1.; + Tried[i][j]=0.; + } + } + } + + + //============================================== + void show_parameters(void){ + + std::cout << "Parameters: " + << alpha_i << " " + << alpha_m << " | " + << beta << " " + << gamma << " | " + << delta << std::endl; + + } + + + + //=============================================== + string file_name(){ + + std::ostringstream s; + s << "world_" + << lexical_cast(alpha_i) << "_" + << lexical_cast(alpha_m) << "_" + << lexical_cast(beta) << "_" + << lexical_cast(gamma) << "_" + << lexical_cast(delta) << "_" + << lexical_cast(N_epochs) << "_" + << lexical_cast(N_steps) << "_" + << lexical_cast(N_repeats) << ".txt"; + + return s.str(); + + } + + + + + //================================================= + void set_verbose(int verbose){ + + verbose_level = verbose; + } + + + //============================================================= + void update_probabilities(void){ + + + //========================= + // Compute sampling probabilities + // first pass: \xi_i,j + for(int i=0; i 0.){ + + double k = Dist[i][j]; + if (k >= k_max){ + k = k_max-1; + } + + bg = beta * log(k/k_max) + gamma * log(1. - k/k_max); + + } else { + bg = delta; + } + + Prob[i][j] = exp(Prob[i][j] + bg); + } + } + + + // second pass: sum + double Summa = 0.; + + for(int i=0; i0. && Final[i][j]>0.){ + novel+=1.; + } + } + } + + } + //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + else { + + double pfail=0.; + int n_failed; + //, n_check = 0; + + for(int i=0; i0. && Final[i][j]>0.){ + novel+=1.; + } + } + } + } + + current_novelty = novel; + + + //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + if (verbose_level == 2){ + std::cout << (current_repeat+1) << " epoch=" << (current_epoch+1) + + << " cost=" << cost + << " novel=" << novel + << " rel_loss=" << cost/novel + << std::endl; + } + + current_epoch++; + } + + + //====== Destructor ====== + ~Universe(){ + + delete_2Dmatrix(Final, N_nodes); + delete_2Dmatrix(Dist, N_nodes); + delete_2Dmatrix(Tried, N_nodes); + delete_2Dmatrix(Prob, N_nodes); + delete_2Dmatrix(EdgeIndex, N_nodes); + delete_1Dmatrix(Rank); + } + + //================================================ + // Allocate memory + double** allocate_2Dmatrix(int N, int M) + { + double **pointer; + + if (verbose_level == 2){ + std::cout<< "["< 0){ + + pointer = new double[N]; + + }else { + + pointer = NULL; + } + + return pointer; + + } + + //============================================== + // De-Allocate memory to prevent memory leak + void delete_2Dmatrix(double **pointer, int N){ + + if (pointer != NULL){ + + for (int i = 0; i < N; ++i){ + delete [] pointer[i]; + } + delete [] pointer; + } + } + //==================== + void delete_1Dmatrix(double *pointer){ + + delete [] pointer; + } + + //=========================================== + double get_rel_loss(){ + + return CumulativeRelativeLoss ; + } + + //=========================================== + double get_rel_loss_err(){ + + return CRLsquare ; + } + + + + //================================================================================== + void evolve_to_target_and_save(int istart, int iend, double* storage, int* counters){ + + double ALOT=100000000000.; + + // std::cout<<" evolve_to_target_and_save: istart=" << istart << "iend=" << iend << "\n"; + + reset_world(); + + for (int k = istart; k < iend; k++){ + + // std::cout<<" evolve: k=" << k << "\n"; + + + + for(int i=0; i< N_epochs && current_novelty < TargetNovelty; i++){ + // std::cout<<" evolve: k=" << k << " i=" << i << " cur=" << current_novelty << " Target=" << TargetNovelty << "\n"; + update_world(); + } + + storage[k]=current_loss/current_novelty; + counters[k]=1; + + + reset_world(); + } + + } + //============================================== + int get_reruns(void){ + return N_repeats; + } + + //============================================== + double get_parameter(int i){ + + switch(i){ + case 0: + return alpha_i; + case 1: + return alpha_m; + case 2: + return beta; + case 3: + return gamma; + case 4: + return delta; + default: + + std::cout << "Erroneous parameter id!!!!\n\n\n"; + return 0.; + } + } + + + //============================================== + void evolve_to_target(){ + + reset_world(); + if (beta < -1. || gamma < -1.){ + CumulativeRelativeLoss = 100000000000.; + CRLsquare = 0.; + return; + } + + + for (int k=0; k< N_repeats; k++){ + + + for(int i=0; i 4) {return 0;} + + else { + + switch(position){ + case 0: + alpha_i=value; + return 1; + case 1: + alpha_m=value; + return 1; + case 2: + beta=value; + return 1; + case 3: + gamma=value; + return 1; + case 4: + delta=value; + return 1; + } + + } + + return 0; + } + +#ifdef notdef + //================================================================= + void try_annealing(double starting_jump, int iterations, + double temp_start, double temp_end, double target_rejection){ + + double dx[5]={0.,0.,0.,0.,0}; + double x[5]={0.,0.,0.,0.,0}; + double rejection[5]={0., 0., 0., 0., 0.}; + double curr_x, curr_err, x_tmp; + double temperature; + double ratio, r; + int cycle=10; + boost::variate_generator > uni(generator, uni_dist); + + // set up parameter for annealing + + x[0]=alpha_i; + x[1]=alpha_m; + x[2]=beta; + x[3]=gamma; + x[4]=delta; + + for(int i=0;i<5;i++){ + dx[i] = starting_jump; + } + + // establish the current value + + //.......................................... + evolve_to_target(); + std::cout << CumulativeRelativeLoss << " +- " << CRLsquare << std::endl; + + curr_x = CumulativeRelativeLoss; + curr_err = CRLsquare; + CumulativeRelativeLoss = 0; + CRLsquare = 0; + //........................................... + + // optimization cycle + for(int i=0; i ratio){ + + std::cout << string_wrap(id, 4) <<" "<< (i+1) << ","<< (j) + <<" "<< (i+1) << " Did not accept " + << x_tmp << "(" << j << ")" << std::endl; + std::cout << alpha_i << " "<< alpha_m << " " + << beta << " " << gamma << " " + << delta << " " << std::endl; + set_parameter(x[j], j); + CumulativeRelativeLoss = 0; + CRLsquare = 0; + + rejection[j]+=1.; + } + + else { + + curr_x = CumulativeRelativeLoss; + curr_err = CRLsquare; + x[j] = x_tmp; + CumulativeRelativeLoss = 0; + CRLsquare = 0; + std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) + << wrap_double(rejection[0],2) + << " "<< wrap_double(rejection[1], 7) << " " + << wrap_double(rejection[2],5) << " " << wrap_double(rejection[2],9) << " " + << wrap_double(rejection[4],6) << " " + << std::endl << std::endl; + + std::cout << string_wrap(id, 4) <<" "<< (i+1) <<","<< (j) + <<" " + << string_wrap((string) "***** Did accept! ", 3) + << wrap_double(alpha_i,2) + << " "<< wrap_double(alpha_m, 7) << " " + << wrap_double(beta,5) << " " + << wrap_double(gamma,9) << " " + << wrap_double(delta,6) << " " + << std::endl << std::endl; + + } + //........................................................ + + } + + } + + } + +#endif // notdef + + +}; + + +//============================================================ + +std::pair multi_loss( // dispatch_group_t group, + Universe* un[], + // dispatch_queue_t* CustomQueues, + double* Results, + int* Counters, + double* params){ + + int N = un[0]->get_reruns(); + int step = (int)(double)N/(double)(Nworkers); + int istart=0; + int iend = istart+step; + + double Loss=0., LossSquare=0.; + + timeval startTime, endTime; + double elapsedTime; + // start timer + gettimeofday(&startTime, NULL); + + //err: for(int i=0; iget_parameter(j) << "," << params[j] << "] "; + un[i]->set_parameter(params[j],j); + } + } + std::cout << "\n"; + int i; + #pragma omp parallel for private (i) + for(i=0; ievolve_to_target_and_save(istart, iend, Results, Counters); + un[i]->evolve_to_target_and_save(i*step, min((i+1)*step,N), Results, Counters); + //}); + + // std::cout<<"multi_loss: Returned from evolve_to_target_and_save " << i << "\n"; + + + //istart += step; + //iend = min(istart+step,N); + + } + // err } + // dispatch_group_wait(group, DISPATCH_TIME_FOREVER); + //dispatch_release(group); + + + for (int i=0; i Res; + Res.first=Loss; + Res.second=two_std; + + gettimeofday(&endTime, NULL); + elapsedTime = (endTime.tv_sec - startTime.tv_sec) * 1000.0; // sec to ms + elapsedTime += (endTime.tv_usec - startTime.tv_usec) / 1000.0; // us to ms + elapsedTime /= 1000.; + cout << "multi_loss(N=" << N << ") elapsed time: " << elapsedTime << " seconds " << elapsedTime/60. << " minutes\n\n"; + + return Res; +} +//============================================================ + + +//============================================================ +void multi_annealing( // dispatch_group_t group, + Universe* un[], + // dispatch_queue_t* CustomQueues, + double T_start, double T_end, + double Target_rejection, + int Annealing_repeats, + double starting_jump, + double* Results, + int* Counters, + double* params0, + double annealing_cycles){ + //................................. + // re-implement annealing + + double dx[NEVOPARAMS]={0.,0.,0.,0.,0}; + double x[NEVOPARAMS]={0.,0.,0.,0.,0}; + double rejection[NEVOPARAMS]={0., 0., 0., 0., 0.}; + double curr_x, curr_err, x_tmp; + double temperature; + double ratio, r; + int cycle=10; + //boost::variate_generator > uni(generator, uni_dist); + + // set up parameter for annealing + + for(int i=0;iset_parameter(x[i], i); + } + } + + // establish the current value + std::pairRes; + + if ( operation == 'm' ) { + // Nworkers = 1; + } + else if (operation == 'g') { + // generate params: not yet implemented - to be deprecated + } + else if (operation == 'a') { + // analyze multi_loss() results: not tested or used - to be deprecated + + string line; + ifstream mlossdata ("multi_loss.data"); + double d, Loss, LossSquare, two_std; + bool b; + int n=0; + if (mlossdata.is_open()) { + while ( getline (mlossdata,line) ) { + b = from_string(d, std::string(line), std::dec); + cout << line << " d=" << d << endl; + Loss += d; + LossSquare += (d*d); + n++; + } + Loss /= double(n); + LossSquare /= double(n); + two_std = ((LossSquare - Loss*Loss)/(double)n); + two_std = 2.*sqrt(two_std); + std::cout<<"n="<get_reruns(); + + f = fopen("multi_loss.data","w"); + for(int i=0; iset_parameter(x_tmp, j); + } + + + // WRITE OUT PARAMS HERE; then exit. + + std::cout << "Calling multi_loss: i=" << i << " j=" << j << "\n"; + Res = multi_loss(/* group, */ un, /* CustomQueues, */ Results, Counters, x); + std::cout << "Ret from multi_loss: i=" << i << " j=" << j << "\n"; + std::cout << Res.first << " +- " << Res.second << std::endl; + + ratio = min(1.,exp(-(Res.first-curr_x)/temperature)); + r = rand()/(double)(pow(2.,31)-1.); + std::cout << r << " vs " << ratio << std::endl; + + double ALOT=100000000000.; + + if (Res.first < ALOT) + { + ofstream filestr; + + filestr.open ("best_opt_some.txt", ofstream::app); + + // >> i/o operations here << + filestr << un[0]->get_target() << "," + << Res.first + << "," << un[0]->get_parameter(0) + << "," << un[0]->get_parameter(1) + << "," << un[0]->get_parameter(2) + << "," << un[0]->get_parameter(3) + << "," << un[0]->get_parameter(4) << "," << Res.second << ",\n"; + + filestr.close(); + + + filestr.open ("max_dist.txt", ofstream::app); + + // >> i/o operations here << + filestr << max_dist << ",\n"; + + filestr.close(); + + } + + + if (r > ratio){ + + std::cout << " "<< (i+1) << ","<< (j) + <<" "<< (i+1) << " Did not accept " + << x_tmp << "(" << j << ")" << std::endl; + std::cout << un[0]->get_parameter(0) + << " " << un[0]->get_parameter(1) + << " " << un[0]->get_parameter(2) + << " " << un[0]->get_parameter(3) + << " " << un[0]->get_parameter(4) << " " << std::endl; + + x[j]=x_hold; + for(int w=0; wset_parameter(x[j], j); + } + + + //set_parameter(x[j], j); + rejection[j]+=1.; + } + + else { + + curr_x = Res.first; + curr_err = Res.second; + x[j] = x_tmp; + + for(int w=0; wset_parameter(x[j], j); + } + + std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) + << wrap_double(rejection[0],2) << " " + << wrap_double(rejection[1],7) << " " + << wrap_double(rejection[2],5) << " " + << wrap_double(rejection[3],9) << " " + << wrap_double(rejection[4],6) << " " + << std::endl << std::endl; + + std::cout << " "<< (i+1) <<","<< (j) + <<" " + << string_wrap((string) "***** Did accept! ", 3) + << wrap_double(un[0]->get_parameter(0),2) << " " + << wrap_double(un[0]->get_parameter(1),7) << " " + << wrap_double(un[0]->get_parameter(2),5) << " " + << wrap_double(un[0]->get_parameter(3),9) << " " + << wrap_double(un[0]->get_parameter(4),6) << " " + << std::endl << std::endl; + + + + } + //........................................................ + + } + } + + } + +} + + +//================================================ +int +main(int argc, char* argv[]) +{ + + double params0[6] = {0., 0., 0., 0., 0., 0.2}, target=50., range; + string par_names0[6] = {"alpha_i", "alpha_m", "beta", "gamma", "delta", "target"}; + string par_names1[4] = {"n_epochs", "n_steps", "n_reruns", "range"}; + string par_names2[5] = {"T_start", "T_end", "Annealing_steps","Target_rejection","Starting_jump"}; + string par_names3[5] = {"FREEZE_alpha_i", "FREEZE_alpha_m", "FREEZE_beta", "FREEZE_gamma", "FREEZE_delta"}; + string par_names4[2] = {"Operation", "Nworkers"}; + int params1[4] = {300, 50, 1000, 10}; + int params3[5] = { 0, 0, 0, 0, 0}; + + // temperature_start, temperature_end, annealing_steps target_rejection Starting_jump + double params2[5] = {1, 0.001, 100, 0.3, 1.5}; + + int verbose_level = 2; + const std::string one="one", two="two"; + static Universe* un[MAXNworkers]; + // static dispatch_queue_t CustomQueues[MAXNworkers]; + + static double* Results; + static int* Counters; + + timeval t1, t2; + double elapsedTime; + // start timer + gettimeofday(&t1, NULL); + + + if (argc < 8) { + std::cout << "Usage: super_optimizer alpha_i alpha_m beta gamma delta target_innov [n_epochs n_steps n_reruns] [range] [verbose_level]\n"; + std::cout << " [T_start T_end Annealing_steps Target_rejection Starting_jump]\n"; + std::cout << " [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta]\n"; + + system("pwd"); + + + return(1); + } + else { + std::cout << "argc=" << argc << std::endl; + + for (int nArg=0; nArg < argc; nArg++){ + //std::cout << nArg << " " << argv[nArg] << std::endl; + if (nArg > 0 && nArg < 7){ + params0[nArg-1]= atof(argv[nArg]); + std::cout << par_names0[nArg-1] << ": " << params0[nArg-1] << std::endl; + } + if (nArg > 6 && nArg < 11){ + params1[nArg-7]= atoi(argv[nArg]); + std::cout << par_names1[nArg-7] << ": " << params1[nArg-7] << std::endl; + } + if (nArg == 11){ + verbose_level = atoi(argv[nArg]); + std::cout << "verbose level: " << verbose_level << std::endl; + } + if (nArg > 11 && nArg < 17){ + params2[nArg-12]= atof(argv[nArg]); + std::cout << par_names2[nArg-12] << ": " << params2[nArg-12] << std::endl; + } + if (nArg > 16 && nArg < 22){ + params3[nArg-17]= atof(argv[nArg]); + var_fixed[nArg-17]= atof(argv[nArg]); + std::cout << par_names3[nArg-17] << ": " << var_fixed[nArg-17] << std::endl; + } + if (nArg == 22 ){ + operation = *argv[nArg]; + std::cout << par_names4[0] << ": " << operation << std::endl; + } + if (nArg == 23 ){ + Nworkers = atoi(argv[nArg]); + std::cout << par_names4[1] << ": " << Nworkers << std::endl; + } + } + } + + /* + for target in range(58,1009,50): + s = ("%d" % target) + print s + + for i in range(15): + # Param groups separated by "|" below for documentation. NOTE that | is not used on command line! + os.system("./supe_duper_optimizer |0 0 4 50 -1 "+s+" | 40000 20 1000 2 | 1 | 2. 0.01 100 0.3 2.3 | 1 1 0 0 0") + */ + + /* Parameters, re-iterated: + + "alpha_i", "alpha_m", "beta", "gamma", "delta", "target"}; + double params0[6] = {0., 0., 0., 0., 0., 0.2}, target=50., range; + + {"n_epochs", "n_steps", "n_reruns", "range"}; + int params1[4] = {300, 50, 1000, 10}; + + {"T_start", "T_end", "Annealing_steps","Target_rejection","Starting_jump"}; + temperature_start, temperature_end, annealing_steps target_rejection Starting_jump + double params2[5] = {1, 0.001, 100, 0.3, 1.5}; + + {"FREEZE_alpha_i", "FREEZE_alpha_m", "FREEZE_beta", "FREEZE_gamma", "FREEZE_delta"}; + int params3[5] = { 0, 0, 0, 0, 0}; + + + */ + + for (int j=0; j 0){ + + Results = new double[n_rep]; + Counters = new int[n_rep]; + + }else { + + Results = NULL; + Counters = NULL; + std::cout << " Number of reruns should be positive! " << std::endl; + return 0; + + } + //............................... + + //srand(time(0)); + //srandomdev(); + { + timeval t; + gettimeofday(&t, NULL); + srand(t.tv_usec); + } + + { + double r=0; + for (int j=0; j<100; j++){ + + + + r = rand()/(double)(pow(2.,31)-1.); + std::cout << r << " "; + } + std::cout << "\n "; + } + //random initiation of starting parameters + + if (range > 0.){ + + for (int i=0; i < 5; i++){ + + if (params0[i]==-100.){ + + double r1 = (rand()/(double)(pow(2.,31)-1.)); + double r2 = (rand()/(double)(pow(2.,31)-1.)); + double sign = 1.; + + if(r1 > 0.5){ + sign=-1.; + } + + params0[i] = sign*r2*range; + + std::cout << par_names0[i] << ": " << params0[i] << std::endl; + } + } + + } + + + double T_start=params2[0], T_end=params2[1], Target_rejection=params2[3], starting_jump=params2[4]; + int Annealing_repeats = (int) params2[2]; + + + // dispatch_group_t group = dispatch_group_create(); + + //............................. + multi_annealing( /* group, */ un, /* CustomQueues, */ T_start, T_end, Target_rejection, Annealing_repeats, + starting_jump, Results, Counters, params0, Annealing_repeats); + + //dispatch_group_wait(group, DISPATCH_TIME_FOREVER); + // dispatch_release(group); + //............................. + + + // stop timer + gettimeofday(&t2, NULL); + + // compute and print the elapsed time in millisec + elapsedTime = (t2.tv_sec - t1.tv_sec) * 1000.0; // sec to ms + elapsedTime += (t2.tv_usec - t1.tv_usec) / 1000.0; // us to ms + elapsedTime /= 1000.; + cout << elapsedTime << " seconds " << elapsedTime/60. << " minutes\n\n"; + + //..................... + + for(int i=0; i 0){ + + delete [] Results; + delete [] Counters; + + } + + return 0; + + + +} + Copied: SwiftApps/SciColSim/old/optirun.swift (from rev 5634, SwiftApps/SciColSim/optirun.swift) =================================================================== --- SwiftApps/SciColSim/old/optirun.swift (rev 0) +++ SwiftApps/SciColSim/old/optirun.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,41 @@ +type file; + +app (file outfile, file best, file max) optimize ( string args[], file graph ) +{ + optimizersh @best @max args stdout=@outfile ; +} + +int minrange=58; +int maxrange=1009; +//int maxrange=209; +int rangeinc=50; + +int nreps=2; # 15 + +// [alpha_i alpha_m beta gamma delta target_innov +// [n_epochs n_steps n_reruns] [range] +// [verbose_level] +// [T_start T_end Annealing_steps Target_rejection Starting_jump] +// [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta] + +file graph <"movie_graph.txt">; + +foreach target in [minrange:maxrange:rangeinc] { + foreach rep in [1:nreps] { + file outfile ; + // file errfile ; + file bestfile ; + file maxfile ; + + // string longargs[] = @strcat("0 0 4 50 -1 ",target," 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0"); + + string fastargs1[] = ["0", "0", "4", "50", "-1", @strcat(target), "40000", "20", "1000", "2", "1", "2.", "0.01", "100", "0.3", "2.3", "1", "1", "0", "0", "0"]; + string fastargs2[] = [ + "0", "0", "4", "50", "-1", @strcat(target), + "40000", "20", "1000", "2", + "1", + "2.", "0.01", "5", "0.3", "2.3", + "1", "1", "0", "0", "0"]; + (outfile, bestfile, maxfile) = optimize(fastargs2,graph); + } +} Copied: SwiftApps/SciColSim/old/sites.beagle.quick.xml (from rev 5634, SwiftApps/SciColSim/sites.beagle.quick.xml) =================================================================== --- SwiftApps/SciColSim/old/sites.beagle.quick.xml (rev 0) +++ SwiftApps/SciColSim/old/sites.beagle.quick.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,25 @@ + + + + CI-MCB000119 + + KEEP + + 1 + 24 + DEBUG + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 10000 + 01:30:00 + 50 + 2 + 2 + route + 9.59 + 10000 + + /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir + + Copied: SwiftApps/SciColSim/old/sites.beagle.xml (from rev 5634, SwiftApps/SciColSim/sites.beagle.xml) =================================================================== --- SwiftApps/SciColSim/old/sites.beagle.xml (rev 0) +++ SwiftApps/SciColSim/old/sites.beagle.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,24 @@ + + + + CI-MCB000119 + + KEEP + + 24 + DEBUG + 1 + pbs.aprun;pbs.mpp;depth=24 + 37000 + 10:00:00 + 20 + 100 + 100 + 2 + 2 + 9.59 + 10000 + + /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir + + Copied: SwiftApps/SciColSim/old/t1.py (from rev 5634, SwiftApps/SciColSim/t1.py) =================================================================== --- SwiftApps/SciColSim/old/t1.py (rev 0) +++ SwiftApps/SciColSim/old/t1.py 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,22 @@ +#! /usr/bin/env python +import os + +# FULL for target in range(58,1009,50): +# FAST for target in range(58,209,50): +for target in range(58,59,50): + s = ("%d" % target) + print s + +# FULL for i in range(15): +# FAST for i in range(2): + for i in range(1): + args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) + args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) + args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 # > out.T"+str(target)+".i"+str(i) + print("\n\n **** CALLING APP: "+args+"\n\n\n") + os.system(args); +# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") +# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") + + +print "Done!" Copied: SwiftApps/SciColSim/old/t2.py (from rev 5634, SwiftApps/SciColSim/t2.py) =================================================================== --- SwiftApps/SciColSim/old/t2.py (rev 0) +++ SwiftApps/SciColSim/old/t2.py 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,23 @@ +#! /usr/bin/env python +import os + +# FULL for target in range(58,1009,50): +# FAST for target in range(58,209,50): +for target in range(58,59,50): + s = ("%d" % target) + print s + +# FULL for i in range(15): +# FAST for i in range(2): + for i in range(1): + args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) + args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) + args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 m # > out.T"+str(target)+".i"+str(i) + args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 96 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 m 24 # > out.T"+str(target)+".i"+str(i) + print("\n\n **** CALLING APP: "+args+"\n\n\n") + os.system(args); +# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") +# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") + + +print "Done!" Copied: SwiftApps/SciColSim/old/t3.py (from rev 5634, SwiftApps/SciColSim/t3.py) =================================================================== --- SwiftApps/SciColSim/old/t3.py (rev 0) +++ SwiftApps/SciColSim/old/t3.py 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,22 @@ +#! /usr/bin/env python +import os + +# FULL for target in range(58,1009,50): +# FAST for target in range(58,209,50): +for target in range(58,59,50): + s = ("%d" % target) + print s + +# FULL for i in range(15): +# FAST for i in range(2): + for i in range(1): + args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) + args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) + args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 a # > out.T"+str(target)+".i"+str(i) + print("\n\n **** CALLING APP: "+args+"\n\n\n") + os.system(args); +# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") +# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") + + +print "Done!" Copied: SwiftApps/SciColSim/old/tc (from rev 5634, SwiftApps/SciColSim/tc) =================================================================== --- SwiftApps/SciColSim/old/tc (rev 0) +++ SwiftApps/SciColSim/old/tc 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,15 @@ +localhost sh /bin/sh null null null +localhost cat /bin/cat null null null + +pbs cat /bin/cat null null null +mcs cat /bin/cat null null null +localhost catnap /home/wilde/swift/lab/catnap.sh null null GLOBUS::maxwalltime="00:01:00" + +beagle optimizer /home/wilde/AndreysOptimizer/src/Optimizer null null null +beagle optimizersh /home/wilde/AndreysOptimizer/src/optimizer.sh null null null + +beagle evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null null +localhost evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null GLOBUS::maxwalltime="02:00:00" + +beagle sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null null +localhost sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null GLOBUS::maxwalltime="02:00:00" Copied: SwiftApps/SciColSim/old/test-orig.sh (from rev 5634, SwiftApps/SciColSim/test-orig.sh) =================================================================== --- SwiftApps/SciColSim/old/test-orig.sh (rev 0) +++ SwiftApps/SciColSim/old/test-orig.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,21 @@ +#! /bin/bash + +python <out.o.T"+s); +os.system("./Optimizer "+args+" >out.O.T"+s); + +# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") +# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") + +print "Done!" +END + Copied: SwiftApps/SciColSim/old/test-swift.sh (from rev 5634, SwiftApps/SciColSim/test-swift.sh) =================================================================== --- SwiftApps/SciColSim/old/test-swift.sh (rev 0) +++ SwiftApps/SciColSim/old/test-swift.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,7 @@ +escapecode=$(echo -n -e '\033') + +swift -config cf -tc.file tc -sites.file local.xml annealing.swift \ + -e33="$escapecode" + +# -evolveReruns=20 \ +# -annealingCycles=10 Property changes on: SwiftApps/SciColSim/optimizer.cpp ___________________________________________________________________ Deleted: svn:executable - * Deleted: SwiftApps/SciColSim/optimizer.orig-mac.cpp =================================================================== --- SwiftApps/SciColSim/optimizer.orig-mac.cpp 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/optimizer.orig-mac.cpp 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,1673 +0,0 @@ -// -// main.cpp -// optimizer -// -// Created by Andrey Rzhetsky on 4/11/11. -// Copyright 2011 University of Chicago. All rights reserved. -// - -#define Nworkers 2 - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error -#define BOOST_MATH_DISCRETE_QUANTILE_POLICY real -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define INT_INFINITY 2147483647 - -#define FIX_VARIABLES 1 - -using namespace boost; -using namespace std; -using namespace boost::numeric::ublas; - -static int max_dist=0; - -typedef boost::adjacency_matrix Graph; -typedef std::pair Edge; -typedef boost::graph_traits GraphTraits; -typedef boost::numeric::ublas::triangular_matrix prob; -typedef boost::numeric::ublas::triangular_matrix pathlength; -typedef boost::graph_traits::vertex_descriptor vertex_descriptor; - -namespace std { - using ::time; -} - -static int var_fixed[5] = {1, 0, 1, 1, 0}; - -typedef boost::minstd_rand base_generator_type; -typedef adjacency_list < listS, vecS, directedS, -no_property, property < edge_weight_t, int > > graph_t; -typedef graph_traits < graph_t >::vertex_descriptor vertex_descriptor; -typedef graph_traits < graph_t >::edge_descriptor edge_descriptor; - - -//================================================ -string strDouble(double number) -{ - stringstream ss;//create a stringstream - ss << number;//add number to the stream - return ss.str();//return a string with the contents of the stream -} - -//================================================ - -double gaussian(double sigma) -{ - double GaussNum = 0.0; - int NumInSum = 10; - for(int i = 0; i < NumInSum; i++) - { - GaussNum += ((double)rand()/(double)RAND_MAX - 0.5); - } - GaussNum = GaussNum*sqrt((double)12/(double)NumInSum); - - - return GaussNum; - -} - - - -//================================================= -double diffclock(clock_t clock1,clock_t clock2) -{ - double diffticks=clock1-clock2; - double diffms=(diffticks)/CLOCKS_PER_SEC; - return diffms; -} - -//================================================ -//================================================================ -double get_new_x(double x, double dx){ - - double new_x; - // boost::variate_generator > uni(generator, uni_dist); - double r = rand()/(double)(pow(2.,31)-1.); - - if (r > 0.5){ - new_x = x + rand()*dx/(double)(pow(2.,31)-1.); - } else { - new_x = x - rand()*dx/(double)(pow(2.,31)-1.); - } - - return new_x; - -} - - -//=============================================== -string string_wrap(string ins, int mode){ - - std::ostringstream s; - - switch(mode){ - case 0: - s << "\033[1;29m" << ins << "\033[0m"; - break; - case 1: - s << "\033[1;34m" << ins << "\033[0m"; - break; - case 2: - s << "\033[1;44m" << ins << "\033[0m"; - break; - case 3: - s << "\033[1;35m" << ins << "\033[0m"; - break; - case 4: - s << "\033[1;33;44m" << ins << "\033[0m"; - break; - case 5: - s << "\033[1;47;34m" << ins << "\033[0m"; - break; - case 6: - s << "\033[1;1;31m" << ins << "\033[0m"; - break; - case 7: - s << "\033[1;1;33m" << ins << "\033[0m"; - break; - case 8: - s << "\033[1;1;43;34m" << ins << "\033[0m"; - break; - case 9: - s << "\033[1;1;37m" << ins << "\033[0m"; - break; - case 10: - s << "\033[1;30;47m" << ins << "\033[0m"; - break; - default: - s << ins; - } - - return s.str(); -} - - -//=============================================== -string wrap_double(double val, int mode){ - - std::ostringstream s; - s << string_wrap(strDouble(val),mode); - - return s.str(); -} - - - -//=============================================== -const -string i2string(int i){ - - std::ostringstream s; - s << "worker" - << lexical_cast(i); - - return s.str(); - -} - -//=============================================== -char* i2char(int i){ - - std::ostringstream s; - s << "worker" - << lexical_cast(i); - - char* a=new char[s.str().size()+1]; - memcpy(a,s.str().c_str(), s.str().size()); - - return a; -} - -//================================================ -class Universe { - -private: - - double alpha_i; - double alpha_m; - double beta; - double gamma; - double delta; - - double TargetNovelty; - double CumulativeRelativeLoss; - double CRLsquare; - string id; - - - int N_nodes; - int M_edges; - - int N_epochs; - int N_steps; - int N_repeats; - - int current_epoch; - double current_loss; - int current_repeat; - double current_novelty; - - int mode_identify_failed; - int verbose_level; // 0 is silent, higher is more - - double k_max; - - graph_t Full_g; - - double **Prob; - double **Tried; - double **Dist; - double **Final; - double **EdgeIndex; - double *Rank; - - base_generator_type generator; - boost::uniform_real<> uni_dist; - boost::geometric_distribution geo; - -public: - - - - //====== Constructor ====== - Universe(const std::string FileToOpen, int Epochs, int Steps, int Repeats, int identify_failed, double target, const std::string idd) - { - //typedef array_type2::index index2; - - - std::ifstream inFile; - //string line; - - //------------------------------- - - base_generator_type gene(42u); - generator = gene; - generator.seed(static_cast(std::time(0))); - boost::uniform_real<> uni_d(0,1); - uni_dist = uni_d; - - //-------------------------------- - - int i, k; - int x, y; - Edge* edge_array_mine; - int num_arcs_mine, num_nodes_mine; - int* weights_mine; - - TargetNovelty = target; - CumulativeRelativeLoss = 0.; - CRLsquare = 0.; - - - N_epochs = Epochs; - N_steps = Steps; - N_repeats = Repeats; - - current_epoch = 0; - current_loss = 0.; - current_repeat = 0; - - id = idd; - - verbose_level = 1; - - mode_identify_failed = identify_failed; - - - //------------------------------- - // The first pass though file with the graph - inFile.open(FileToOpen.c_str()); - if (inFile.fail()) { - cout << "Unable to open file"; - exit(1); // terminate with error - }else { - - if (verbose_level > 2){ - std::cout << " Opened <" << FileToOpen << ">"<> x; - inFile >> y; - - if (verbose_level > 2){ - std::cout << " x: " << x; - std::cout << " y: " << y << std::endl; - } - - if (i==0){ - N_nodes=x; - M_edges=y; - break; - } - i++; - - - } - inFile.close(); - - if (verbose_level == 2){ - std::cout << N_nodes << " nodes, " << M_edges << " edges"< 2){ - std::cout << " Opened <" << FileToOpen << ">"<> x && inFile >>y) { - if (i > 0) { - Final[x][y]=1.; - Final[y][x]=1.; - - - if (verbose_level == 2){ - std::cout << "."; - } - } - i++; - - } - if (verbose_level == 2){ - std::cout << std::endl; - } - inFile.close(); - - k=0; - for (int i=0; i 0.){ - EdgeIndex[i][j]=k; - k++; - } - } - } - - - - //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - // create graph -- hopefully, we can keep it, just modifying edge weights - - - edge_array_mine = new Edge[2*M_edges]; - num_arcs_mine = 2*M_edges; - num_nodes_mine = N_nodes; - weights_mine = new int[2*M_edges]; - for (int i=0; i<2*M_edges; i++){ weights_mine[i]=1;} - - k=0; - for(int i=0; i0.){ - edge_array_mine[2*k] =Edge(i,j); - edge_array_mine[2*k+1]=Edge(j,i); - k++; - } - } - } - graph_t g(edge_array_mine, edge_array_mine + num_arcs_mine, weights_mine, num_nodes_mine); - - Full_g = g; - delete edge_array_mine; - delete weights_mine; - - //=========================================================================== - std::vector p(num_edges(Full_g)); - std::vector d(num_edges(Full_g)); - edge_descriptor s; - boost::graph_traits::vertex_descriptor u, v; - - for (int i=0; i 0.){ - u = vertex(i, Full_g); - v = vertex(j, Full_g); - remove_edge(u,v,Full_g); - remove_edge(v,u,Full_g); - - } - } - } - - - } - - - //===================================================================== - int sample_failed_number(double pfail){ - - //boost::geometric_distribution geo(pfail); - //boost::variate_generator > geom(generator, geo); - - double r, u, g; - - r=0.; - for(int i=0; i=3){ - std::cout << id << " failed " << r << std::endl; - } - return r; - - } - - //============================================= - double get_target(void){ - return TargetNovelty; - } - - //============================================= - void set_target(double target){ - TargetNovelty=target; - } - - //============================================= - int sample(){ - - //boost::variate_generator > uni(generator, uni_dist); - // double r = uni(), Summa = 0.; - - - - double r = rand(), Summa = 0.; - r /= (double)(pow(2.,31)-1.); - int result = 0; - int finished = 0; - - if (verbose_level==4){ - std::cout << id << " sampled " << r << std::endl; - } - - for(int i=0; i r){ - - Tried[i][j]+=1.; - - if (Final[i][j] > 0.){ - result = 1; - } - finished = 1; - } - } - } - - return result; - - } - - //=============================== - void update_current_graph(void){ - - std::vector p(num_edges(Full_g)); - std::vector d(num_edges(Full_g)); - edge_descriptor s; - boost::graph_traits::vertex_descriptor u, v; - - //property_map::type weightmap = get(edge_weight, Full_g); - for (int i=0; i 0. && Tried[i][j]>0){ - //s = edge(i, j, Full_g); - boost::graph_traits::edge_descriptor e1,e2; - bool found1, found2; - u = vertex(i, Full_g); - v = vertex(j, Full_g); - tie(e1, found1) = edge(u, v, Full_g); - tie(e2, found2) = edge(v, u, Full_g); - if (!found1 && !found2){ - add_edge(u,v,1,Full_g); - add_edge(v,u,1,Full_g); - } - - } - } - - } - } - - //=============================== - void update_distances(void){ - // put shortest paths to the *Dist[][] - std::vector p(num_vertices(Full_g)); - std::vector d(num_vertices(Full_g)); - vertex_descriptor s; - - - // put shortest paths to the *Dist[][] - for (int j=0; j 0.){ - s = vertex(j, Full_g); - dijkstra_shortest_paths(Full_g, s, predecessor_map(&p[0]).distance_map(&d[0])); - - //std::cout <<" Vertex "<< j << std::endl; - graph_traits < graph_t >::vertex_iterator vi, vend; - - for (boost::tie(vi, vend) = vertices(Full_g); vi != vend; ++vi) { - - if (p[*vi]!=*vi){ - Dist[*vi][j]=d[*vi]; - Dist[j][*vi]=d[*vi]; - - if (Dist[*vi][j]>max_dist){ - max_dist=Dist[*vi][j]; - } - - - } else { - Dist[*vi][j]=-1.; - Dist[j][*vi]=-1.; - } - } - } - - } - - - } - - //====================================================== - void update_ranks(void){ - - for(int i=0; i0. && Final[i][j] >0.){ - Rank[i]++; - Rank[j]++; - } - } - } - - } - - //==================================================================== - void set_world(double a_i, double a_m, double b, double g, double d){ - - alpha_i=a_i; - alpha_m=a_m; - gamma=g; - beta=b; - delta=d; - - } - - //==================================================================== - void reset_world(){ - - //==================================================== - std::vector p(num_edges(Full_g)); - std::vector d(num_edges(Full_g)); - edge_descriptor s; - boost::graph_traits::vertex_descriptor u, v; - - - for (int i=0; i 0. && Tried[i][j] > 0){ - u = vertex(i, Full_g); - v = vertex(j, Full_g); - remove_edge(u,v,Full_g); - remove_edge(v,u,Full_g); - - } - } - } - - //================================================== - - current_loss=0; - current_epoch=0; - current_repeat++; - current_novelty=0; - - for(int i = 0; i < N_nodes; ++i) { - Rank[i]=0.; - for(int j = 0; j < N_nodes; ++j) { - Prob[i][j]=0.; - Dist[i][j]=-1.; - Tried[i][j]=0.; - } - } - } - - - //============================================== - void show_parameters(void){ - - std::cout << "Parameters: " - << alpha_i << " " - << alpha_m << " | " - << beta << " " - << gamma << " | " - << delta << std::endl; - - } - - - - //=============================================== - string file_name(){ - - std::ostringstream s; - s << "world_" - << lexical_cast(alpha_i) << "_" - << lexical_cast(alpha_m) << "_" - << lexical_cast(beta) << "_" - << lexical_cast(gamma) << "_" - << lexical_cast(delta) << "_" - << lexical_cast(N_epochs) << "_" - << lexical_cast(N_steps) << "_" - << lexical_cast(N_repeats) << ".txt"; - - return s.str(); - - } - - - - - //================================================= - void set_verbose(int verbose){ - - verbose_level = verbose; - } - - - //============================================================= - void update_probabilities(void){ - - - //========================= - // Compute sampling probabilities - // first pass: \xi_i,j - for(int i=0; i 0.){ - - double k = Dist[i][j]; - if (k >= k_max){ - k = k_max-1; - } - - bg = beta * log(k/k_max) + gamma * log(1. - k/k_max); - - } else { - bg = delta; - } - - Prob[i][j] = exp(Prob[i][j] + bg); - } - } - - - // second pass: sum - double Summa = 0.; - - for(int i=0; i0. && Final[i][j]>0.){ - novel+=1.; - } - } - } - - } - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - else { - - double pfail=0.; - int n_failed; - //, n_check = 0; - - for(int i=0; i0. && Final[i][j]>0.){ - novel+=1.; - } - } - } - } - - current_novelty = novel; - - - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - if (verbose_level == 2){ - std::cout << (current_repeat+1) << " epoch=" << (current_epoch+1) - - << " cost=" << cost - << " novel=" << novel - << " rel_loss=" << cost/novel - << std::endl; - } - - current_epoch++; - } - - - //====== Destructor ====== - ~Universe(){ - - delete_2Dmatrix(Final, N_nodes); - delete_2Dmatrix(Dist, N_nodes); - delete_2Dmatrix(Tried, N_nodes); - delete_2Dmatrix(Prob, N_nodes); - delete_2Dmatrix(EdgeIndex, N_nodes); - delete_1Dmatrix(Rank); - } - - //================================================ - // Allocate memory - double** allocate_2Dmatrix(int N, int M) - { - double **pointer; - - if (verbose_level == 2){ - std::cout<< "["< 0){ - - pointer = new double[N]; - - }else { - - pointer = NULL; - } - - return pointer; - - } - - //============================================== - // De-Allocate memory to prevent memory leak - void delete_2Dmatrix(double **pointer, int N){ - - if (pointer != NULL){ - - for (int i = 0; i < N; ++i){ - delete [] pointer[i]; - } - delete [] pointer; - } - } - //==================== - void delete_1Dmatrix(double *pointer){ - - delete [] pointer; - } - - //=========================================== - double get_rel_loss(){ - - return CumulativeRelativeLoss ; - } - - //=========================================== - double get_rel_loss_err(){ - - return CRLsquare ; - } - - - - //================================================================================== - void evolve_to_target_and_save(int istart, int iend, double* storage, int* counters){ - - double ALOT=100000000000.; - - reset_world(); - - for (int k = istart; k < iend; k++){ - - - for(int i=0; i< N_epochs && current_novelty < TargetNovelty; i++){ - update_world(); - } - - storage[k]=current_loss/current_novelty; - counters[k]=1; - - - reset_world(); - } - - } - //============================================== - int get_reruns(void){ - return N_repeats; - } - - //============================================== - double get_parameter(int i){ - - switch(i){ - case 0: - return alpha_i; - case 1: - return alpha_m; - case 2: - return beta; - case 3: - return gamma; - case 4: - return delta; - default: - - std::cout << "Erroneous parameter id!!!!\n\n\n"; - return 0.; - } - } - - - //============================================== - void evolve_to_target(){ - - reset_world(); - if (beta < -1. || gamma < -1.){ - CumulativeRelativeLoss = 100000000000.; - CRLsquare = 0.; - return; - } - - - for (int k=0; k< N_repeats; k++){ - - - for(int i=0; i 4) {return 0;} - - else { - - switch(position){ - case 0: - alpha_i=value; - return 1; - case 1: - alpha_m=value; - return 1; - case 2: - beta=value; - return 1; - case 3: - gamma=value; - return 1; - case 4: - delta=value; - return 1; - } - - } - - return 0; - } - - - //================================================================= - void try_annealing(double starting_jump, int iterations, - double temp_start, double temp_end, double target_rejection){ - - double dx[5]={0.,0.,0.,0.,0}; - double x[5]={0.,0.,0.,0.,0}; - double rejection[5]={0., 0., 0., 0., 0.}; - double curr_x, curr_err, x_tmp; - double temperature; - double ratio, r; - int cycle=10; - boost::variate_generator > uni(generator, uni_dist); - - // set up parameter for annealing - - x[0]=alpha_i; - x[1]=alpha_m; - x[2]=beta; - x[3]=gamma; - x[4]=delta; - - for(int i=0;i<5;i++){ - dx[i] = starting_jump; - } - - // establish the current value - - //.......................................... - evolve_to_target(); - std::cout << CumulativeRelativeLoss << " +- " << CRLsquare << std::endl; - - curr_x = CumulativeRelativeLoss; - curr_err = CRLsquare; - CumulativeRelativeLoss = 0; - CRLsquare = 0; - //........................................... - - // optimization cycle - for(int i=0; i ratio){ - - std::cout << string_wrap(id, 4) <<" "<< (i+1) << ","<< (j) - <<" "<< (i+1) << " Did not accept " - << x_tmp << "(" << j << ")" << std::endl; - std::cout << alpha_i << " "<< alpha_m << " " - << beta << " " << gamma << " " - << delta << " " << std::endl; - set_parameter(x[j], j); - CumulativeRelativeLoss = 0; - CRLsquare = 0; - - rejection[j]+=1.; - } - - else { - - curr_x = CumulativeRelativeLoss; - curr_err = CRLsquare; - x[j] = x_tmp; - CumulativeRelativeLoss = 0; - CRLsquare = 0; - std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) - << wrap_double(rejection[0],2) - << " "<< wrap_double(rejection[1], 7) << " " - << wrap_double(rejection[2],5) << " " << wrap_double(rejection[2],9) << " " - << wrap_double(rejection[4],6) << " " - << std::endl << std::endl; - - std::cout << string_wrap(id, 4) <<" "<< (i+1) <<","<< (j) - <<" " - << string_wrap((string) "***** Did accept! ", 3) - << wrap_double(alpha_i,2) - << " "<< wrap_double(alpha_m, 7) << " " - << wrap_double(beta,5) << " " - << wrap_double(gamma,9) << " " - << wrap_double(delta,6) << " " - << std::endl << std::endl; - - } - //........................................................ - - } - - } - - } - - -}; - -//============================================================ - -std::pair multi_loss(dispatch_group_t group, - Universe* un[], - dispatch_queue_t* CustomQueues, - double* Results, - int* Counters, - double* params){ - - int N = un[0]->get_reruns(); - int step = (int)(double)N/(double)(Nworkers); - int istart=0; - int iend = istart+step; - - double Loss=0., LossSquare=0.; - - for(int i=0; iset_parameter(params[j],j); - } - } - - - for(int i=0; ievolve_to_target_and_save(istart, iend, Results, Counters); - }); - - std::cout << "queued: i=" << i << " N=" << N << " istart=" << istart << " iend=" << iend << "\n"; - istart += step; - iend = min(istart+step,N); - - } - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - //dispatch_release(group); - - for (int i=0; i Res; - Res.first=Loss; - Res.second=two_std; - - return Res; - - -} -//============================================================ - - -//============================================================ -void multi_annealing( dispatch_group_t group, - Universe* un[], - dispatch_queue_t* CustomQueues, - double T_start, double T_end, - double Target_rejection, - int Annealing_repeats, - double starting_jump, - double* Results, - int* Counters, - double* params0, - double annealing_cycles){ - //................................. - // re-implement annealing - - double dx[5]={0.,0.,0.,0.,0}; - double x[5]={0.,0.,0.,0.,0}; - double rejection[5]={0., 0., 0., 0., 0.}; - double curr_x, curr_err, x_tmp; - double temperature; - double ratio, r; - int cycle=10; - //boost::variate_generator > uni(generator, uni_dist); - - // set up parameter for annealing - - x[0]=params0[0]; - x[1]=params0[1]; - x[2]=params0[2]; - x[3]=params0[3]; - x[4]=params0[4]; - - for(int i=0;i<5;i++){ - dx[i] = starting_jump; - } - - // establish the current value - std::pairRes; - - Res = multi_loss(group, un, CustomQueues, Results, Counters, x); - std::cout << Res.first << " +- " << Res.second << std::endl; - - curr_x = Res.first; - curr_err = Res.second; - - // optimization cycle - - for(int i=0; iset_parameter(x_tmp, j); - } - - - Res = multi_loss(group, un, CustomQueues, Results, Counters, x); - std::cout << Res.first << " +- " << Res.second << std::endl; - - ratio = min(1.,exp(-(Res.first-curr_x)/temperature)); - r = rand()/(double)(pow(2.,31)-1.); - std::cout << r << " vs " << ratio << std::endl; - - double ALOT=100000000000.; - - if (Res.first < ALOT) - { - ofstream filestr; - - filestr.open ("best_opt_some.txt", ofstream::app); - - // >> i/o operations here << - filestr << un[0]->get_target() << "," - << Res.first - << "," << un[0]->get_parameter(0) - << "," << un[0]->get_parameter(1) - << "," << un[0]->get_parameter(2) - << "," << un[0]->get_parameter(3) - << "," << un[0]->get_parameter(4) << "," << Res.second << ",\n"; - - filestr.close(); - - - filestr.open ("max_dist.txt", ofstream::app); - - // >> i/o operations here << - filestr << max_dist << ",\n"; - - filestr.close(); - - } - - - if (r > ratio){ - - std::cout << " "<< (i+1) << ","<< (j) - <<" "<< (i+1) << " Did not accept " - << x_tmp << "(" << j << ")" << std::endl; - std::cout << un[0]->get_parameter(0) - << " " << un[0]->get_parameter(1) - << " " << un[0]->get_parameter(2) - << " " << un[0]->get_parameter(3) - << " " << un[0]->get_parameter(4) << " " << std::endl; - - x[j]=x_hold; - for(int w=0; wset_parameter(x[j], j); - } - - - //set_parameter(x[j], j); - rejection[j]+=1.; - } - - else { - - curr_x = Res.first; - curr_err = Res.second; - x[j] = x_tmp; - - for(int w=0; wset_parameter(x[j], j); - } - - std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) - << wrap_double(rejection[0],2) << " " - << wrap_double(rejection[1],7) << " " - << wrap_double(rejection[2],5) << " " - << wrap_double(rejection[3],9) << " " - << wrap_double(rejection[4],6) << " " - << std::endl << std::endl; - - std::cout << " "<< (i+1) <<","<< (j) - <<" " - << string_wrap((string) "***** Did accept! ", 3) - << wrap_double(un[0]->get_parameter(0),2) << " " - << wrap_double(un[0]->get_parameter(1),7) << " " - << wrap_double(un[0]->get_parameter(2),5) << " " - << wrap_double(un[0]->get_parameter(3),9) << " " - << wrap_double(un[0]->get_parameter(4),6) << " " - << std::endl << std::endl; - - - - } - //........................................................ - - } - } - - } - -} - - - -//================================================ -int -main(int argc, char* argv[]) -{ - - double params0[6] = {0., 0., 0., 0., 0., 0.2}, target=50., range; - string par_names0[6] = {"alpha_i", "alpha_m", "beta", "gamma", "delta", "target"}; - string par_names1[4] = {"n_epochs", "n_steps", "n_reruns", "range"}; - string par_names2[5] = {"T_start", "T_end", "Annealing_steps","Target_rejection","Starting_jump"}; - string par_names3[5] = {"FREEZE_alpha_i", "FREEZE_alpha_m", "FREEZE_beta", "FREEZE_gamma", "FREEZE_delta"}; - int params1[4] = {300, 50, 1000, 10}; - int params3[5] = { 0, 0, 0, 0, 0}; - - // temperature_start, temperature_end, annealing_steps target_rejection Starting_jump - double params2[5] = {1, 0.001, 100, 0.3, 1.5}; - - int verbose_level = 2; - const std::string one="one", two="two"; - static Universe* un[Nworkers]; - static dispatch_queue_t CustomQueues[Nworkers]; - - static double* Results; - static int* Counters; - - timeval t1, t2; - double elapsedTime; - // start timer - gettimeofday(&t1, NULL); - - - if (argc < 8) { - std::cout << "Usage: super_optimizer alpha_i alpha_m beta gamma delta target_innov [n_epochs n_steps n_reruns] [range] [verbose_level]\n"; - std::cout << " [T_start T_end Annealing_steps Target_rejection Starting_jump]\n"; - std::cout << " [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta]\n"; - - system("pwd"); - - - return(1); - } - else { - for (int nArg=0; nArg < argc; nArg++){ - //std::cout << nArg << " " << argv[nArg] << std::endl; - if (nArg > 0 && nArg < 7){ - params0[nArg-1]= atof(argv[nArg]); - std::cout << par_names0[nArg-1] << ": " << params0[nArg-1] << std::endl; - } - if (nArg > 6 && nArg < 11){ - params1[nArg-7]= atoi(argv[nArg]); - std::cout << par_names1[nArg-7] << ": " << params1[nArg-7] << std::endl; - } - if (nArg == 11){ - verbose_level = atoi(argv[nArg]); - std::cout << "verbose level: " << verbose_level << std::endl; - } - if (nArg > 11 && nArg < 17){ - params2[nArg-12]= atof(argv[nArg]); - std::cout << par_names2[nArg-12] << ": " << params2[nArg-12] << std::endl; - } - if (nArg > 16 && nArg < 22){ - params3[nArg-17]= atof(argv[nArg]); - var_fixed[nArg-17]= atof(argv[nArg]); - std::cout << par_names3[nArg-17] << ": " << var_fixed[nArg-17] << std::endl; - } - - - } - - } - - for (int j=0; j<5; j++){ - - cout << j << " | " << var_fixed[j] << " (fixed) \n"; - } - - target=params0[5]; - range = (double)params1[3]; - int identify_failed = 0; - char* filename= (char *)"movie_graph.txt"; - int n_ep=params1[0], n_st=params1[1], n_rep=params1[2]; - - //............................... - - for(int i=0; i 0){ - - Results = new double[n_rep]; - Counters = new int[n_rep]; - - }else { - - Results = NULL; - Counters = NULL; - std::cout << " Number of reruns should be positive! " << std::endl; - return 0; - - } - //............................... - srand(time(0)); - //srandomdev(); - - { - double r=0; - for (int j=0; j<100; j++){ - - - - r = rand()/(double)(pow(2.,31)-1.); - std::cout << r << " "; - } - std::cout << "\n "; - } - //random initiation of starting parameters - - if (range > 0.){ - - for (int i=0; i < 5; i++){ - - if (params0[i]==-100.){ - - double r1 = (rand()/(double)(pow(2.,31)-1.)); - double r2 = (rand()/(double)(pow(2.,31)-1.)); - double sign = 1.; - - if(r1 > 0.5){ - sign=-1.; - } - - params0[i] = sign*r2*range; - - std::cout << par_names0[i] << ": " << params0[i] << std::endl; - } - } - - } - - - double T_start=params2[0], T_end=params2[1], Target_rejection=params2[3], starting_jump=params2[4]; - int Annealing_repeats = (int) params2[2]; - - - dispatch_group_t group = dispatch_group_create(); - - //............................. - multi_annealing(group, un, CustomQueues, T_start, T_end, Target_rejection, Annealing_repeats, - starting_jump, Results, Counters, params0, Annealing_repeats); - - //dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - dispatch_release(group); - //............................. - - - // stop timer - gettimeofday(&t2, NULL); - - // compute and print the elapsed time in millisec - elapsedTime = (t2.tv_sec - t1.tv_sec) * 1000.0; // sec to ms - elapsedTime += (t2.tv_usec - t1.tv_usec) / 1000.0; // us to ms - elapsedTime /= 1000.; - cout << elapsedTime << " seconds \n .....(" << elapsedTime/60. << " minutes)\n\n"; - - //..................... - - for(int i=0; i 0){ - - delete [] Results; - delete [] Counters; - - } - - return 0; - - - -} - Copied: SwiftApps/SciColSim/optimizer.orig-mac.cpp (from rev 5634, SwiftApps/SciColSim/optimizer.orig-mac.cpp) =================================================================== --- SwiftApps/SciColSim/optimizer.orig-mac.cpp (rev 0) +++ SwiftApps/SciColSim/optimizer.orig-mac.cpp 2012-02-16 20:59:48 UTC (rev 5639) @@ -0,0 +1,1673 @@ +// +// main.cpp +// optimizer +// +// Created by Andrey Rzhetsky on 4/11/11. +// Copyright 2011 University of Chicago. All rights reserved. +// + +#define Nworkers 2 + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error +#define BOOST_MATH_DISCRETE_QUANTILE_POLICY real +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define INT_INFINITY 2147483647 + +#define FIX_VARIABLES 1 + +using namespace boost; +using namespace std; +using namespace boost::numeric::ublas; + +static int max_dist=0; + +typedef boost::adjacency_matrix Graph; +typedef std::pair Edge; +typedef boost::graph_traits GraphTraits; +typedef boost::numeric::ublas::triangular_matrix prob; +typedef boost::numeric::ublas::triangular_matrix pathlength; +typedef boost::graph_traits::vertex_descriptor vertex_descriptor; + +namespace std { + using ::time; +} + +static int var_fixed[5] = {1, 0, 1, 1, 0}; + +typedef boost::minstd_rand base_generator_type; +typedef adjacency_list < listS, vecS, directedS, +no_property, property < edge_weight_t, int > > graph_t; +typedef graph_traits < graph_t >::vertex_descriptor vertex_descriptor; +typedef graph_traits < graph_t >::edge_descriptor edge_descriptor; + + +//================================================ +string strDouble(double number) +{ + stringstream ss;//create a stringstream + ss << number;//add number to the stream + return ss.str();//return a string with the contents of the stream +} + +//================================================ + +double gaussian(double sigma) +{ + double GaussNum = 0.0; + int NumInSum = 10; + for(int i = 0; i < NumInSum; i++) + { + GaussNum += ((double)rand()/(double)RAND_MAX - 0.5); + } + GaussNum = GaussNum*sqrt((double)12/(double)NumInSum); + + + return GaussNum; + +} + + + +//================================================= +double diffclock(clock_t clock1,clock_t clock2) +{ + double diffticks=clock1-clock2; + double diffms=(diffticks)/CLOCKS_PER_SEC; + return diffms; +} + +//================================================ +//================================================================ +double get_new_x(double x, double dx){ + + double new_x; + // boost::variate_generator > uni(generator, uni_dist); + double r = rand()/(double)(pow(2.,31)-1.); + + if (r > 0.5){ + new_x = x + rand()*dx/(double)(pow(2.,31)-1.); + } else { + new_x = x - rand()*dx/(double)(pow(2.,31)-1.); + } + + return new_x; + +} + + +//=============================================== +string string_wrap(string ins, int mode){ + + std::ostringstream s; + + switch(mode){ + case 0: + s << "\033[1;29m" << ins << "\033[0m"; + break; + case 1: + s << "\033[1;34m" << ins << "\033[0m"; + break; + case 2: + s << "\033[1;44m" << ins << "\033[0m"; + break; + case 3: + s << "\033[1;35m" << ins << "\033[0m"; + break; + case 4: + s << "\033[1;33;44m" << ins << "\033[0m"; + break; + case 5: + s << "\033[1;47;34m" << ins << "\033[0m"; + break; + case 6: + s << "\033[1;1;31m" << ins << "\033[0m"; + break; + case 7: + s << "\033[1;1;33m" << ins << "\033[0m"; + break; + case 8: + s << "\033[1;1;43;34m" << ins << "\033[0m"; + break; + case 9: + s << "\033[1;1;37m" << ins << "\033[0m"; + break; + case 10: + s << "\033[1;30;47m" << ins << "\033[0m"; + break; + default: + s << ins; + } + + return s.str(); +} + + +//=============================================== +string wrap_double(double val, int mode){ + + std::ostringstream s; + s << string_wrap(strDouble(val),mode); + + return s.str(); +} + + + +//=============================================== +const +string i2string(int i){ + + std::ostringstream s; + s << "worker" + << lexical_cast(i); + + return s.str(); + +} + +//=============================================== +char* i2char(int i){ + + std::ostringstream s; + s << "worker" + << lexical_cast(i); + + char* a=new char[s.str().size()+1]; + memcpy(a,s.str().c_str(), s.str().size()); + + return a; +} + +//================================================ +class Universe { + +private: + + double alpha_i; + double alpha_m; + double beta; + double gamma; + double delta; + + double TargetNovelty; + double CumulativeRelativeLoss; + double CRLsquare; + string id; + + + int N_nodes; + int M_edges; + + int N_epochs; + int N_steps; + int N_repeats; + + int current_epoch; + double current_loss; + int current_repeat; + double current_novelty; + + int mode_identify_failed; + int verbose_level; // 0 is silent, higher is more + + double k_max; + + graph_t Full_g; + + double **Prob; + double **Tried; + double **Dist; + double **Final; + double **EdgeIndex; + double *Rank; + + base_generator_type generator; + boost::uniform_real<> uni_dist; + boost::geometric_distribution geo; + +public: + + + + //====== Constructor ====== + Universe(const std::string FileToOpen, int Epochs, int Steps, int Repeats, int identify_failed, double target, const std::string idd) + { + //typedef array_type2::index index2; + + + std::ifstream inFile; + //string line; + + //------------------------------- + + base_generator_type gene(42u); + generator = gene; + generator.seed(static_cast(std::time(0))); + boost::uniform_real<> uni_d(0,1); + uni_dist = uni_d; + + //-------------------------------- + + int i, k; + int x, y; + Edge* edge_array_mine; + int num_arcs_mine, num_nodes_mine; + int* weights_mine; + + TargetNovelty = target; + CumulativeRelativeLoss = 0.; + CRLsquare = 0.; + + + N_epochs = Epochs; + N_steps = Steps; + N_repeats = Repeats; + + current_epoch = 0; + current_loss = 0.; + current_repeat = 0; + + id = idd; + + verbose_level = 1; + + mode_identify_failed = identify_failed; + + + //------------------------------- + // The first pass though file with the graph + inFile.open(FileToOpen.c_str()); + if (inFile.fail()) { + cout << "Unable to open file"; + exit(1); // terminate with error + }else { + + if (verbose_level > 2){ + std::cout << " Opened <" << FileToOpen << ">"<> x; + inFile >> y; + + if (verbose_level > 2){ + std::cout << " x: " << x; + std::cout << " y: " << y << std::endl; + } + + if (i==0){ + N_nodes=x; + M_edges=y; + break; + } + i++; + + + } + inFile.close(); + + if (verbose_level == 2){ + std::cout << N_nodes << " nodes, " << M_edges << " edges"< 2){ + std::cout << " Opened <" << FileToOpen << ">"<> x && inFile >>y) { + if (i > 0) { + Final[x][y]=1.; + Final[y][x]=1.; + + + if (verbose_level == 2){ + std::cout << "."; + } + } + i++; + + } + if (verbose_level == 2){ + std::cout << std::endl; + } + inFile.close(); + + k=0; + for (int i=0; i 0.){ + EdgeIndex[i][j]=k; + k++; + } + } + } + + + + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + // create graph -- hopefully, we can keep it, just modifying edge weights + + + edge_array_mine = new Edge[2*M_edges]; + num_arcs_mine = 2*M_edges; + num_nodes_mine = N_nodes; + weights_mine = new int[2*M_edges]; + for (int i=0; i<2*M_edges; i++){ weights_mine[i]=1;} + + k=0; + for(int i=0; i0.){ + edge_array_mine[2*k] =Edge(i,j); + edge_array_mine[2*k+1]=Edge(j,i); + k++; + } + } + } + graph_t g(edge_array_mine, edge_array_mine + num_arcs_mine, weights_mine, num_nodes_mine); + + Full_g = g; + delete edge_array_mine; + delete weights_mine; + + //=========================================================================== + std::vector p(num_edges(Full_g)); + std::vector d(num_edges(Full_g)); + edge_descriptor s; + boost::graph_traits::vertex_descriptor u, v; + + for (int i=0; i 0.){ + u = vertex(i, Full_g); + v = vertex(j, Full_g); + remove_edge(u,v,Full_g); + remove_edge(v,u,Full_g); + + } + } + } + + + } + + + //===================================================================== + int sample_failed_number(double pfail){ + + //boost::geometric_distribution geo(pfail); + //boost::variate_generator > geom(generator, geo); + + double r, u, g; + + r=0.; + for(int i=0; i=3){ + std::cout << id << " failed " << r << std::endl; + } + return r; + + } + + //============================================= + double get_target(void){ + return TargetNovelty; + } + + //============================================= + void set_target(double target){ + TargetNovelty=target; + } + + //============================================= + int sample(){ + + //boost::variate_generator > uni(generator, uni_dist); + // double r = uni(), Summa = 0.; + + + + double r = rand(), Summa = 0.; + r /= (double)(pow(2.,31)-1.); + int result = 0; + int finished = 0; + + if (verbose_level==4){ + std::cout << id << " sampled " << r << std::endl; + } + + for(int i=0; i r){ + + Tried[i][j]+=1.; + + if (Final[i][j] > 0.){ + result = 1; + } + finished = 1; + } + } + } + + return result; + + } + + //=============================== + void update_current_graph(void){ + + std::vector p(num_edges(Full_g)); + std::vector d(num_edges(Full_g)); + edge_descriptor s; + boost::graph_traits::vertex_descriptor u, v; + + //property_map::type weightmap = get(edge_weight, Full_g); + for (int i=0; i 0. && Tried[i][j]>0){ + //s = edge(i, j, Full_g); + boost::graph_traits::edge_descriptor e1,e2; + bool found1, found2; + u = vertex(i, Full_g); + v = vertex(j, Full_g); + tie(e1, found1) = edge(u, v, Full_g); + tie(e2, found2) = edge(v, u, Full_g); + if (!found1 && !found2){ + add_edge(u,v,1,Full_g); + add_edge(v,u,1,Full_g); + } + + } + } + + } + } + + //=============================== + void update_distances(void){ + // put shortest paths to the *Dist[][] + std::vector p(num_vertices(Full_g)); + std::vector d(num_vertices(Full_g)); + vertex_descriptor s; + + + // put shortest paths to the *Dist[][] + for (int j=0; j 0.){ + s = vertex(j, Full_g); + dijkstra_shortest_paths(Full_g, s, predecessor_map(&p[0]).distance_map(&d[0])); + + //std::cout <<" Vertex "<< j << std::endl; + graph_traits < graph_t >::vertex_iterator vi, vend; + + for (boost::tie(vi, vend) = vertices(Full_g); vi != vend; ++vi) { + + if (p[*vi]!=*vi){ + Dist[*vi][j]=d[*vi]; + Dist[j][*vi]=d[*vi]; + + if (Dist[*vi][j]>max_dist){ + max_dist=Dist[*vi][j]; + } + + + } else { + Dist[*vi][j]=-1.; + Dist[j][*vi]=-1.; + } + } + } + + } + + + } + + //====================================================== + void update_ranks(void){ + + for(int i=0; i0. && Final[i][j] >0.){ + Rank[i]++; + Rank[j]++; + } + } + } + + } + + //==================================================================== + void set_world(double a_i, double a_m, double b, double g, double d){ + + alpha_i=a_i; + alpha_m=a_m; + gamma=g; + beta=b; + delta=d; + + } + + //==================================================================== + void reset_world(){ + + //==================================================== + std::vector p(num_edges(Full_g)); + std::vector d(num_edges(Full_g)); + edge_descriptor s; + boost::graph_traits::vertex_descriptor u, v; + + + for (int i=0; i 0. && Tried[i][j] > 0){ + u = vertex(i, Full_g); + v = vertex(j, Full_g); + remove_edge(u,v,Full_g); + remove_edge(v,u,Full_g); + + } + } + } + + //================================================== + + current_loss=0; + current_epoch=0; + current_repeat++; + current_novelty=0; + + for(int i = 0; i < N_nodes; ++i) { + Rank[i]=0.; + for(int j = 0; j < N_nodes; ++j) { + Prob[i][j]=0.; + Dist[i][j]=-1.; + Tried[i][j]=0.; + } + } + } + + + //============================================== + void show_parameters(void){ + + std::cout << "Parameters: " + << alpha_i << " " + << alpha_m << " | " + << beta << " " + << gamma << " | " + << delta << std::endl; + + } + + + + //=============================================== + string file_name(){ + + std::ostringstream s; + s << "world_" + << lexical_cast(alpha_i) << "_" + << lexical_cast(alpha_m) << "_" + << lexical_cast(beta) << "_" + << lexical_cast(gamma) << "_" + << lexical_cast(delta) << "_" + << lexical_cast(N_epochs) << "_" + << lexical_cast(N_steps) << "_" + << lexical_cast(N_repeats) << ".txt"; + + return s.str(); + + } + + + + + //================================================= + void set_verbose(int verbose){ + + verbose_level = verbose; + } + + + //============================================================= + void update_probabilities(void){ + + + //========================= + // Compute sampling probabilities + // first pass: \xi_i,j + for(int i=0; i 0.){ + + double k = Dist[i][j]; + if (k >= k_max){ + k = k_max-1; + } + + bg = beta * log(k/k_max) + gamma * log(1. - k/k_max); + + } else { + bg = delta; + } + + Prob[i][j] = exp(Prob[i][j] + bg); + } + } + + + // second pass: sum + double Summa = 0.; + + for(int i=0; i0. && Final[i][j]>0.){ + novel+=1.; + } + } + } + + } + //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + else { + + double pfail=0.; + int n_failed; + //, n_check = 0; + + for(int i=0; i0. && Final[i][j]>0.){ + novel+=1.; + } + } + } + } + + current_novelty = novel; + + + //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + if (verbose_level == 2){ + std::cout << (current_repeat+1) << " epoch=" << (current_epoch+1) + + << " cost=" << cost + << " novel=" << novel + << " rel_loss=" << cost/novel + << std::endl; + } + + current_epoch++; + } + + + //====== Destructor ====== + ~Universe(){ + + delete_2Dmatrix(Final, N_nodes); + delete_2Dmatrix(Dist, N_nodes); + delete_2Dmatrix(Tried, N_nodes); + delete_2Dmatrix(Prob, N_nodes); + delete_2Dmatrix(EdgeIndex, N_nodes); + delete_1Dmatrix(Rank); + } + + //================================================ + // Allocate memory + double** allocate_2Dmatrix(int N, int M) + { + double **pointer; + + if (verbose_level == 2){ + std::cout<< "["< 0){ + + pointer = new double[N]; + + }else { + + pointer = NULL; + } + + return pointer; + + } + + //============================================== + // De-Allocate memory to prevent memory leak + void delete_2Dmatrix(double **pointer, int N){ + + if (pointer != NULL){ + + for (int i = 0; i < N; ++i){ + delete [] pointer[i]; + } + delete [] pointer; + } + } + //==================== + void delete_1Dmatrix(double *pointer){ + + delete [] pointer; + } + + //=========================================== + double get_rel_loss(){ + + return CumulativeRelativeLoss ; + } + + //=========================================== + double get_rel_loss_err(){ + + return CRLsquare ; + } + + + + //================================================================================== + void evolve_to_target_and_save(int istart, int iend, double* storage, int* counters){ + + double ALOT=100000000000.; + + reset_world(); + + for (int k = istart; k < iend; k++){ + + + for(int i=0; i< N_epochs && current_novelty < TargetNovelty; i++){ + update_world(); + } + + storage[k]=current_loss/current_novelty; + counters[k]=1; + + + reset_world(); + } + + } + //============================================== + int get_reruns(void){ + return N_repeats; + } + + //============================================== + double get_parameter(int i){ + + switch(i){ + case 0: + return alpha_i; + case 1: + return alpha_m; + case 2: + return beta; + case 3: + return gamma; + case 4: + return delta; + default: + + std::cout << "Erroneous parameter id!!!!\n\n\n"; + return 0.; + } + } + + + //============================================== + void evolve_to_target(){ + + reset_world(); + if (beta < -1. || gamma < -1.){ + CumulativeRelativeLoss = 100000000000.; + CRLsquare = 0.; + return; + } + + + for (int k=0; k< N_repeats; k++){ + + + for(int i=0; i 4) {return 0;} + + else { + + switch(position){ + case 0: + alpha_i=value; + return 1; + case 1: + alpha_m=value; + return 1; + case 2: + beta=value; + return 1; + case 3: + gamma=value; + return 1; + case 4: + delta=value; + return 1; + } + + } + + return 0; + } + + + //================================================================= + void try_annealing(double starting_jump, int iterations, + double temp_start, double temp_end, double target_rejection){ + + double dx[5]={0.,0.,0.,0.,0}; + double x[5]={0.,0.,0.,0.,0}; + double rejection[5]={0., 0., 0., 0., 0.}; + double curr_x, curr_err, x_tmp; + double temperature; + double ratio, r; + int cycle=10; + boost::variate_generator > uni(generator, uni_dist); + + // set up parameter for annealing + + x[0]=alpha_i; + x[1]=alpha_m; + x[2]=beta; + x[3]=gamma; + x[4]=delta; + + for(int i=0;i<5;i++){ + dx[i] = starting_jump; + } + + // establish the current value + + //.......................................... + evolve_to_target(); + std::cout << CumulativeRelativeLoss << " +- " << CRLsquare << std::endl; + + curr_x = CumulativeRelativeLoss; + curr_err = CRLsquare; + CumulativeRelativeLoss = 0; + CRLsquare = 0; + //........................................... + + // optimization cycle + for(int i=0; i ratio){ + + std::cout << string_wrap(id, 4) <<" "<< (i+1) << ","<< (j) + <<" "<< (i+1) << " Did not accept " + << x_tmp << "(" << j << ")" << std::endl; + std::cout << alpha_i << " "<< alpha_m << " " + << beta << " " << gamma << " " + << delta << " " << std::endl; + set_parameter(x[j], j); + CumulativeRelativeLoss = 0; + CRLsquare = 0; + + rejection[j]+=1.; + } + + else { + + curr_x = CumulativeRelativeLoss; + curr_err = CRLsquare; + x[j] = x_tmp; + CumulativeRelativeLoss = 0; + CRLsquare = 0; + std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) + << wrap_double(rejection[0],2) + << " "<< wrap_double(rejection[1], 7) << " " + << wrap_double(rejection[2],5) << " " << wrap_double(rejection[2],9) << " " + << wrap_double(rejection[4],6) << " " + << std::endl << std::endl; + + std::cout << string_wrap(id, 4) <<" "<< (i+1) <<","<< (j) + <<" " + << string_wrap((string) "***** Did accept! ", 3) + << wrap_double(alpha_i,2) + << " "<< wrap_double(alpha_m, 7) << " " + << wrap_double(beta,5) << " " + << wrap_double(gamma,9) << " " + << wrap_double(delta,6) << " " + << std::endl << std::endl; + + } + //........................................................ + + } + + } + + } + + +}; + +//============================================================ + +std::pair multi_loss(dispatch_group_t group, + Universe* un[], + dispatch_queue_t* CustomQueues, + double* Results, + int* Counters, + double* params){ + + int N = un[0]->get_reruns(); + int step = (int)(double)N/(double)(Nworkers); + int istart=0; + int iend = istart+step; + + double Loss=0., LossSquare=0.; + + for(int i=0; iset_parameter(params[j],j); + } + } + + + for(int i=0; ievolve_to_target_and_save(istart, iend, Results, Counters); + }); + + std::cout << "queued: i=" << i << " N=" << N << " istart=" << istart << " iend=" << iend << "\n"; + istart += step; + iend = min(istart+step,N); + + } + dispatch_group_wait(group, DISPATCH_TIME_FOREVER); + //dispatch_release(group); + + for (int i=0; i Res; + Res.first=Loss; + Res.second=two_std; + + return Res; + + +} +//============================================================ + + +//============================================================ +void multi_annealing( dispatch_group_t group, + Universe* un[], + dispatch_queue_t* CustomQueues, + double T_start, double T_end, + double Target_rejection, + int Annealing_repeats, + double starting_jump, + double* Results, + int* Counters, + double* params0, + double annealing_cycles){ + //................................. + // re-implement annealing + + double dx[5]={0.,0.,0.,0.,0}; + double x[5]={0.,0.,0.,0.,0}; + double rejection[5]={0., 0., 0., 0., 0.}; + double curr_x, curr_err, x_tmp; + double temperature; + double ratio, r; + int cycle=10; + //boost::variate_generator > uni(generator, uni_dist); + + // set up parameter for annealing + + x[0]=params0[0]; + x[1]=params0[1]; + x[2]=params0[2]; + x[3]=params0[3]; + x[4]=params0[4]; + + for(int i=0;i<5;i++){ + dx[i] = starting_jump; + } + + // establish the current value + std::pairRes; + + Res = multi_loss(group, un, CustomQueues, Results, Counters, x); + std::cout << Res.first << " +- " << Res.second << std::endl; + + curr_x = Res.first; + curr_err = Res.second; + + // optimization cycle + + for(int i=0; iset_parameter(x_tmp, j); + } + + + Res = multi_loss(group, un, CustomQueues, Results, Counters, x); + std::cout << Res.first << " +- " << Res.second << std::endl; + + ratio = min(1.,exp(-(Res.first-curr_x)/temperature)); + r = rand()/(double)(pow(2.,31)-1.); + std::cout << r << " vs " << ratio << std::endl; + + double ALOT=100000000000.; + + if (Res.first < ALOT) + { + ofstream filestr; + + filestr.open ("best_opt_some.txt", ofstream::app); + + // >> i/o operations here << + filestr << un[0]->get_target() << "," + << Res.first + << "," << un[0]->get_parameter(0) + << "," << un[0]->get_parameter(1) + << "," << un[0]->get_parameter(2) + << "," << un[0]->get_parameter(3) + << "," << un[0]->get_parameter(4) << "," << Res.second << ",\n"; + + filestr.close(); + + + filestr.open ("max_dist.txt", ofstream::app); + + // >> i/o operations here << + filestr << max_dist << ",\n"; + + filestr.close(); + + } + + + if (r > ratio){ + + std::cout << " "<< (i+1) << ","<< (j) + <<" "<< (i+1) << " Did not accept " + << x_tmp << "(" << j << ")" << std::endl; + std::cout << un[0]->get_parameter(0) + << " " << un[0]->get_parameter(1) + << " " << un[0]->get_parameter(2) + << " " << un[0]->get_parameter(3) + << " " << un[0]->get_parameter(4) << " " << std::endl; + + x[j]=x_hold; + for(int w=0; wset_parameter(x[j], j); + } + + + //set_parameter(x[j], j); + rejection[j]+=1.; + } + + else { + + curr_x = Res.first; + curr_err = Res.second; + x[j] = x_tmp; + + for(int w=0; wset_parameter(x[j], j); + } + + std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) + << wrap_double(rejection[0],2) << " " + << wrap_double(rejection[1],7) << " " + << wrap_double(rejection[2],5) << " " + << wrap_double(rejection[3],9) << " " + << wrap_double(rejection[4],6) << " " + << std::endl << std::endl; + + std::cout << " "<< (i+1) <<","<< (j) + <<" " + << string_wrap((string) "***** Did accept! ", 3) + << wrap_double(un[0]->get_parameter(0),2) << " " + << wrap_double(un[0]->get_parameter(1),7) << " " + << wrap_double(un[0]->get_parameter(2),5) << " " + << wrap_double(un[0]->get_parameter(3),9) << " " + << wrap_double(un[0]->get_parameter(4),6) << " " + << std::endl << std::endl; + + + + } + //........................................................ + + } + } + + } + +} + + + +//================================================ +int +main(int argc, char* argv[]) +{ + + double params0[6] = {0., 0., 0., 0., 0., 0.2}, target=50., range; + string par_names0[6] = {"alpha_i", "alpha_m", "beta", "gamma", "delta", "target"}; + string par_names1[4] = {"n_epochs", "n_steps", "n_reruns", "range"}; + string par_names2[5] = {"T_start", "T_end", "Annealing_steps","Target_rejection","Starting_jump"}; + string par_names3[5] = {"FREEZE_alpha_i", "FREEZE_alpha_m", "FREEZE_beta", "FREEZE_gamma", "FREEZE_delta"}; + int params1[4] = {300, 50, 1000, 10}; + int params3[5] = { 0, 0, 0, 0, 0}; + + // temperature_start, temperature_end, annealing_steps target_rejection Starting_jump + double params2[5] = {1, 0.001, 100, 0.3, 1.5}; + + int verbose_level = 2; + const std::string one="one", two="two"; + static Universe* un[Nworkers]; + static dispatch_queue_t CustomQueues[Nworkers]; + + static double* Results; + static int* Counters; + + timeval t1, t2; + double elapsedTime; + // start timer + gettimeofday(&t1, NULL); + + + if (argc < 8) { + std::cout << "Usage: super_optimizer alpha_i alpha_m beta gamma delta target_innov [n_epochs n_steps n_reruns] [range] [verbose_level]\n"; + std::cout << " [T_start T_end Annealing_steps Target_rejection Starting_jump]\n"; + std::cout << " [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta]\n"; + + system("pwd"); + + + return(1); + } + else { + for (int nArg=0; nArg < argc; nArg++){ + //std::cout << nArg << " " << argv[nArg] << std::endl; + if (nArg > 0 && nArg < 7){ + params0[nArg-1]= atof(argv[nArg]); + std::cout << par_names0[nArg-1] << ": " << params0[nArg-1] << std::endl; + } + if (nArg > 6 && nArg < 11){ + params1[nArg-7]= atoi(argv[nArg]); + std::cout << par_names1[nArg-7] << ": " << params1[nArg-7] << std::endl; + } + if (nArg == 11){ + verbose_level = atoi(argv[nArg]); + std::cout << "verbose level: " << verbose_level << std::endl; + } + if (nArg > 11 && nArg < 17){ + params2[nArg-12]= atof(argv[nArg]); + std::cout << par_names2[nArg-12] << ": " << params2[nArg-12] << std::endl; + } + if (nArg > 16 && nArg < 22){ + params3[nArg-17]= atof(argv[nArg]); + var_fixed[nArg-17]= atof(argv[nArg]); + std::cout << par_names3[nArg-17] << ": " << var_fixed[nArg-17] << std::endl; + } + + + } + + } + + for (int j=0; j<5; j++){ + + cout << j << " | " << var_fixed[j] << " (fixed) \n"; + } + + target=params0[5]; + range = (double)params1[3]; + int identify_failed = 0; + char* filename= (char *)"movie_graph.txt"; + int n_ep=params1[0], n_st=params1[1], n_rep=params1[2]; + + //............................... + + for(int i=0; i 0){ + + Results = new double[n_rep]; + Counters = new int[n_rep]; + + }else { + + Results = NULL; + Counters = NULL; + std::cout << " Number of reruns should be positive! " << std::endl; + return 0; + + } + //............................... + srand(time(0)); + //srandomdev(); + + { + double r=0; + for (int j=0; j<100; j++){ + + + + r = rand()/(double)(pow(2.,31)-1.); + std::cout << r << " "; + } + std::cout << "\n "; + } + //random initiation of starting parameters + + if (range > 0.){ + + for (int i=0; i < 5; i++){ + + if (params0[i]==-100.){ + + double r1 = (rand()/(double)(pow(2.,31)-1.)); + double r2 = (rand()/(double)(pow(2.,31)-1.)); + double sign = 1.; + + if(r1 > 0.5){ + sign=-1.; + } + + params0[i] = sign*r2*range; + + std::cout << par_names0[i] << ": " << params0[i] << std::endl; + } + } + + } + + + double T_start=params2[0], T_end=params2[1], Target_rejection=params2[3], starting_jump=params2[4]; + int Annealing_repeats = (int) params2[2]; + + + dispatch_group_t group = dispatch_group_create(); + + //............................. + multi_annealing(group, un, CustomQueues, T_start, T_end, Target_rejection, Annealing_repeats, + starting_jump, Results, Counters, params0, Annealing_repeats); + + //dispatch_group_wait(group, DISPATCH_TIME_FOREVER); + dispatch_release(group); + //............................. + + + // stop timer + gettimeofday(&t2, NULL); + + // compute and print the elapsed time in millisec + elapsedTime = (t2.tv_sec - t1.tv_sec) * 1000.0; // sec to ms + elapsedTime += (t2.tv_usec - t1.tv_usec) / 1000.0; // us to ms + elapsedTime /= 1000.; + cout << elapsedTime << " seconds \n .....(" << elapsedTime/60. << " minutes)\n\n"; + + //..................... + + for(int i=0; i 0){ + + delete [] Results; + delete [] Counters; + + } + + return 0; + + + +} + Deleted: SwiftApps/SciColSim/optimizer.protomods.cpp =================================================================== --- SwiftApps/SciColSim/optimizer.protomods.cpp 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/optimizer.protomods.cpp 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,1818 +0,0 @@ -// -// main.cpp -// optimizer -// -// Created by Andrey Rzhetsky on 4/11/11. -// Copyright 2011 University of Chicago. All rights reserved. -// - -#define MAXNworkers 24 -int Nworkers=MAXNworkers; - -// Add operation code to enable existing code to be used at lower level from Swift scripts: - -char operation = 'n'; // n: normal; m: do one multi_loss (with n_reruns). - // Not used: a: analyze and generate next annealing parameter set. g: tbd - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -// #include -#include - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error -#define BOOST_MATH_DISCRETE_QUANTILE_POLICY real -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define INT_INFINITY 2147483647 -#define NEVOPARAMS 5 - -#define FIX_VARIABLES 1 - -using namespace boost; -using namespace std; -using namespace boost::numeric::ublas; - -static int max_dist=0; - -typedef boost::adjacency_matrix Graph; -typedef std::pair Edge; -typedef boost::graph_traits GraphTraits; -typedef boost::numeric::ublas::triangular_matrix prob; -typedef boost::numeric::ublas::triangular_matrix pathlength; -typedef boost::graph_traits::vertex_descriptor vertex_descriptor; - -namespace std { - using ::time; -} - -static int var_fixed[NEVOPARAMS] = {1, 0, 1, 1, 0}; - -typedef boost::minstd_rand base_generator_type; -typedef adjacency_list < listS, vecS, directedS, -no_property, property < edge_weight_t, int > > graph_t; -typedef graph_traits < graph_t >::vertex_descriptor vertex_descriptor; -typedef graph_traits < graph_t >::edge_descriptor edge_descriptor; - - -//================================================ -string strDouble(double number) -{ - stringstream ss;//create a stringstream - ss << number;//add number to the stream - return ss.str();//return a string with the contents of the stream -} - -//================================================ - -double gaussian(double sigma) -{ - double GaussNum = 0.0; - int NumInSum = 10; - for(int i = 0; i < NumInSum; i++) - { - GaussNum += ((double)rand()/(double)RAND_MAX - 0.5); - } - GaussNum = GaussNum*sqrt((double)12/(double)NumInSum); - - - return GaussNum; - -} - - - -//================================================= -double diffclock(clock_t clock1,clock_t clock2) -{ - double diffticks=clock1-clock2; - double diffms=(diffticks)/CLOCKS_PER_SEC; - return diffms; -} - -//================================================ -//================================================================ -double get_new_x(double x, double dx){ - - double new_x; - // boost::variate_generator > uni(generator, uni_dist); - double r = rand()/(double)(pow(2.,31)-1.); - - if (r > 0.5){ - new_x = x + rand()*dx/(double)(pow(2.,31)-1.); - } else { - new_x = x - rand()*dx/(double)(pow(2.,31)-1.); - } - - return new_x; - -} - - -//=============================================== -string string_wrap(string ins, int mode){ - - std::ostringstream s; - - switch(mode){ - case 0: - s << "\033[1;29m" << ins << "\033[0m"; - break; - case 1: - s << "\033[1;34m" << ins << "\033[0m"; - break; - case 2: - s << "\033[1;44m" << ins << "\033[0m"; - break; - case 3: - s << "\033[1;35m" << ins << "\033[0m"; - break; - case 4: - s << "\033[1;33;44m" << ins << "\033[0m"; - break; - case 5: - s << "\033[1;47;34m" << ins << "\033[0m"; - break; - case 6: - s << "\033[1;1;31m" << ins << "\033[0m"; - break; - case 7: - s << "\033[1;1;33m" << ins << "\033[0m"; - break; - case 8: - s << "\033[1;1;43;34m" << ins << "\033[0m"; - break; - case 9: - s << "\033[1;1;37m" << ins << "\033[0m"; - break; - case 10: - s << "\033[1;30;47m" << ins << "\033[0m"; - break; - default: - s << ins; - } - - return s.str(); -} - - -//=============================================== -string wrap_double(double val, int mode){ - - std::ostringstream s; - s << string_wrap(strDouble(val),mode); - - return s.str(); -} - - - -//=============================================== -const -string i2string(int i){ - - std::ostringstream s; - s << "worker" - << lexical_cast(i); - - return s.str(); - -} - -//=============================================== -char* i2char(int i){ - - std::ostringstream s; - s << "worker" - << lexical_cast(i); - - char* a=new char[s.str().size()+1]; - memcpy(a,s.str().c_str(), s.str().size()); - - return a; -} - - -template -bool from_string(T& t, - const std::string& s, - std::ios_base& (*f)(std::ios_base&)) -{ - std::istringstream iss(s); - return !(iss >> f >> t).fail(); -} - -//================================================ -class Universe { - -private: - - double alpha_i; - double alpha_m; - double beta; - double gamma; - double delta; - - double TargetNovelty; - double CumulativeRelativeLoss; - double CRLsquare; - string id; - - - int N_nodes; - int M_edges; - - int N_epochs; - int N_steps; - int N_repeats; - - int current_epoch; - double current_loss; - int current_repeat; - double current_novelty; - - int mode_identify_failed; - int verbose_level; // 0 is silent, higher is more - - double k_max; - - graph_t Full_g; - - double **Prob; - double **Tried; - double **Dist; - double **Final; - double **EdgeIndex; - double *Rank; - - base_generator_type generator; - boost::uniform_real<> uni_dist; - boost::geometric_distribution geo; - -public: - - - - //====== Constructor ====== - Universe(const std::string FileToOpen, int Epochs, int Steps, int Repeats, int identify_failed, double target, const std::string idd) - { - //typedef array_type2::index index2; - - - std::ifstream inFile; - //string line; - - //------------------------------- - - base_generator_type gene(42u); - generator = gene; - generator.seed(static_cast(std::time(0))); - boost::uniform_real<> uni_d(0,1); - uni_dist = uni_d; - - //-------------------------------- - - int i, k; - int x, y; - Edge* edge_array_mine; - int num_arcs_mine, num_nodes_mine; - int* weights_mine; - - TargetNovelty = target; - CumulativeRelativeLoss = 0.; - CRLsquare = 0.; - - - N_epochs = Epochs; - N_steps = Steps; - N_repeats = Repeats; - - current_epoch = 0; - current_loss = 0.; - current_repeat = 0; - - id = idd; - - verbose_level = 1; - - mode_identify_failed = identify_failed; - - - //------------------------------- - // The first pass though file with the graph - inFile.open(FileToOpen.c_str()); - if (inFile.fail()) { - cout << "Unable to open file"; - exit(1); // terminate with error - }else { - - if (verbose_level > 2){ - std::cout << " Opened <" << FileToOpen << ">"<> x; - inFile >> y; - - if (verbose_level > 2){ - std::cout << " x: " << x; - std::cout << " y: " << y << std::endl; - } - - if (i==0){ - N_nodes=x; - M_edges=y; - break; - } - i++; - - - } - inFile.close(); - - if (verbose_level == 2){ - std::cout << N_nodes << " nodes, " << M_edges << " edges"< 2){ - std::cout << " Opened <" << FileToOpen << ">"<> x && inFile >>y) { - if (i > 0) { - Final[x][y]=1.; - Final[y][x]=1.; - - - if (verbose_level == 2){ - std::cout << "."; - } - } - i++; - - } - if (verbose_level == 2){ - std::cout << std::endl; - } - inFile.close(); - - k=0; - for (int i=0; i 0.){ - EdgeIndex[i][j]=k; - k++; - } - } - } - - - - //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - // create graph -- hopefully, we can keep it, just modifying edge weights - - - edge_array_mine = new Edge[2*M_edges]; - num_arcs_mine = 2*M_edges; - num_nodes_mine = N_nodes; - weights_mine = new int[2*M_edges]; - for (int i=0; i<2*M_edges; i++){ weights_mine[i]=1;} - - k=0; - for(int i=0; i0.){ - edge_array_mine[2*k] =Edge(i,j); - edge_array_mine[2*k+1]=Edge(j,i); - k++; - } - } - } - graph_t g(edge_array_mine, edge_array_mine + num_arcs_mine, weights_mine, num_nodes_mine); - - Full_g = g; - delete edge_array_mine; - delete weights_mine; - - //=========================================================================== - std::vector p(num_edges(Full_g)); - std::vector d(num_edges(Full_g)); - edge_descriptor s; - boost::graph_traits::vertex_descriptor u, v; - - for (int i=0; i 0.){ - u = vertex(i, Full_g); - v = vertex(j, Full_g); - remove_edge(u,v,Full_g); - remove_edge(v,u,Full_g); - - } - } - } - - - } - - - //===================================================================== - int sample_failed_number(double pfail){ - - //boost::geometric_distribution geo(pfail); - //boost::variate_generator > geom(generator, geo); - - double r, u, g; - - r=0.; - for(int i=0; i=3){ - std::cout << id << " failed " << r << std::endl; - } - return r; - - } - - //============================================= - double get_target(void){ - return TargetNovelty; - } - - //============================================= - void set_target(double target){ - TargetNovelty=target; - } - - //============================================= - int sample(){ - - //boost::variate_generator > uni(generator, uni_dist); - // double r = uni(), Summa = 0.; - - - - double r = rand(), Summa = 0.; - r /= (double)(pow(2.,31)-1.); - int result = 0; - int finished = 0; - - if (verbose_level==4){ - std::cout << id << " sampled " << r << std::endl; - } - - for(int i=0; i r){ - - Tried[i][j]+=1.; - - if (Final[i][j] > 0.){ - result = 1; - } - finished = 1; - } - } - } - - return result; - - } - - //=============================== - void update_current_graph(void){ - - std::vector p(num_edges(Full_g)); - std::vector d(num_edges(Full_g)); - edge_descriptor s; - boost::graph_traits::vertex_descriptor u, v; - - //property_map::type weightmap = get(edge_weight, Full_g); - for (int i=0; i 0. && Tried[i][j]>0){ - //s = edge(i, j, Full_g); - boost::graph_traits::edge_descriptor e1,e2; - bool found1, found2; - u = vertex(i, Full_g); - v = vertex(j, Full_g); - tie(e1, found1) = edge(u, v, Full_g); - tie(e2, found2) = edge(v, u, Full_g); - if (!found1 && !found2){ - add_edge(u,v,1,Full_g); - add_edge(v,u,1,Full_g); - } - - } - } - - } - } - - //=============================== - void update_distances(void){ - // put shortest paths to the *Dist[][] - std::vector p(num_vertices(Full_g)); - std::vector d(num_vertices(Full_g)); - vertex_descriptor s; - - - // put shortest paths to the *Dist[][] - for (int j=0; j 0.){ - s = vertex(j, Full_g); - dijkstra_shortest_paths(Full_g, s, predecessor_map(&p[0]).distance_map(&d[0])); - - //std::cout <<" Vertex "<< j << std::endl; - graph_traits < graph_t >::vertex_iterator vi, vend; - - for (boost::tie(vi, vend) = vertices(Full_g); vi != vend; ++vi) { - - if (p[*vi]!=*vi){ - Dist[*vi][j]=d[*vi]; - Dist[j][*vi]=d[*vi]; - - if (Dist[*vi][j]>max_dist){ - max_dist=Dist[*vi][j]; - } - - - } else { - Dist[*vi][j]=-1.; - Dist[j][*vi]=-1.; - } - } - } - - } - - - } - - //====================================================== - void update_ranks(void){ - - for(int i=0; i0. && Final[i][j] >0.){ - Rank[i]++; - Rank[j]++; - } - } - } - - } - - //==================================================================== - void set_world(double a_i, double a_m, double b, double g, double d){ - - alpha_i=a_i; - alpha_m=a_m; - gamma=g; - beta=b; - delta=d; - - } - - //==================================================================== - void reset_world(){ - - //==================================================== - std::vector p(num_edges(Full_g)); - std::vector d(num_edges(Full_g)); - edge_descriptor s; - boost::graph_traits::vertex_descriptor u, v; - - - for (int i=0; i 0. && Tried[i][j] > 0){ - u = vertex(i, Full_g); - v = vertex(j, Full_g); - remove_edge(u,v,Full_g); - remove_edge(v,u,Full_g); - - } - } - } - - //================================================== - - current_loss=0; - current_epoch=0; - current_repeat++; - current_novelty=0; - - for(int i = 0; i < N_nodes; ++i) { - Rank[i]=0.; - for(int j = 0; j < N_nodes; ++j) { - Prob[i][j]=0.; - Dist[i][j]=-1.; - Tried[i][j]=0.; - } - } - } - - - //============================================== - void show_parameters(void){ - - std::cout << "Parameters: " - << alpha_i << " " - << alpha_m << " | " - << beta << " " - << gamma << " | " - << delta << std::endl; - - } - - - - //=============================================== - string file_name(){ - - std::ostringstream s; - s << "world_" - << lexical_cast(alpha_i) << "_" - << lexical_cast(alpha_m) << "_" - << lexical_cast(beta) << "_" - << lexical_cast(gamma) << "_" - << lexical_cast(delta) << "_" - << lexical_cast(N_epochs) << "_" - << lexical_cast(N_steps) << "_" - << lexical_cast(N_repeats) << ".txt"; - - return s.str(); - - } - - - - - //================================================= - void set_verbose(int verbose){ - - verbose_level = verbose; - } - - - //============================================================= - void update_probabilities(void){ - - - //========================= - // Compute sampling probabilities - // first pass: \xi_i,j - for(int i=0; i 0.){ - - double k = Dist[i][j]; - if (k >= k_max){ - k = k_max-1; - } - - bg = beta * log(k/k_max) + gamma * log(1. - k/k_max); - - } else { - bg = delta; - } - - Prob[i][j] = exp(Prob[i][j] + bg); - } - } - - - // second pass: sum - double Summa = 0.; - - for(int i=0; i0. && Final[i][j]>0.){ - novel+=1.; - } - } - } - - } - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - else { - - double pfail=0.; - int n_failed; - //, n_check = 0; - - for(int i=0; i0. && Final[i][j]>0.){ - novel+=1.; - } - } - } - } - - current_novelty = novel; - - - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - if (verbose_level == 2){ - std::cout << (current_repeat+1) << " epoch=" << (current_epoch+1) - - << " cost=" << cost - << " novel=" << novel - << " rel_loss=" << cost/novel - << std::endl; - } - - current_epoch++; - } - - - //====== Destructor ====== - ~Universe(){ - - delete_2Dmatrix(Final, N_nodes); - delete_2Dmatrix(Dist, N_nodes); - delete_2Dmatrix(Tried, N_nodes); - delete_2Dmatrix(Prob, N_nodes); - delete_2Dmatrix(EdgeIndex, N_nodes); - delete_1Dmatrix(Rank); - } - - //================================================ - // Allocate memory - double** allocate_2Dmatrix(int N, int M) - { - double **pointer; - - if (verbose_level == 2){ - std::cout<< "["< 0){ - - pointer = new double[N]; - - }else { - - pointer = NULL; - } - - return pointer; - - } - - //============================================== - // De-Allocate memory to prevent memory leak - void delete_2Dmatrix(double **pointer, int N){ - - if (pointer != NULL){ - - for (int i = 0; i < N; ++i){ - delete [] pointer[i]; - } - delete [] pointer; - } - } - //==================== - void delete_1Dmatrix(double *pointer){ - - delete [] pointer; - } - - //=========================================== - double get_rel_loss(){ - - return CumulativeRelativeLoss ; - } - - //=========================================== - double get_rel_loss_err(){ - - return CRLsquare ; - } - - - - //================================================================================== - void evolve_to_target_and_save(int istart, int iend, double* storage, int* counters){ - - double ALOT=100000000000.; - - // std::cout<<" evolve_to_target_and_save: istart=" << istart << "iend=" << iend << "\n"; - - reset_world(); - - for (int k = istart; k < iend; k++){ - - // std::cout<<" evolve: k=" << k << "\n"; - - - - for(int i=0; i< N_epochs && current_novelty < TargetNovelty; i++){ - // std::cout<<" evolve: k=" << k << " i=" << i << " cur=" << current_novelty << " Target=" << TargetNovelty << "\n"; - update_world(); - } - - storage[k]=current_loss/current_novelty; - counters[k]=1; - - - reset_world(); - } - - } - //============================================== - int get_reruns(void){ - return N_repeats; - } - - //============================================== - double get_parameter(int i){ - - switch(i){ - case 0: - return alpha_i; - case 1: - return alpha_m; - case 2: - return beta; - case 3: - return gamma; - case 4: - return delta; - default: - - std::cout << "Erroneous parameter id!!!!\n\n\n"; - return 0.; - } - } - - - //============================================== - void evolve_to_target(){ - - reset_world(); - if (beta < -1. || gamma < -1.){ - CumulativeRelativeLoss = 100000000000.; - CRLsquare = 0.; - return; - } - - - for (int k=0; k< N_repeats; k++){ - - - for(int i=0; i 4) {return 0;} - - else { - - switch(position){ - case 0: - alpha_i=value; - return 1; - case 1: - alpha_m=value; - return 1; - case 2: - beta=value; - return 1; - case 3: - gamma=value; - return 1; - case 4: - delta=value; - return 1; - } - - } - - return 0; - } - -#ifdef notdef - //================================================================= - void try_annealing(double starting_jump, int iterations, - double temp_start, double temp_end, double target_rejection){ - - double dx[5]={0.,0.,0.,0.,0}; - double x[5]={0.,0.,0.,0.,0}; - double rejection[5]={0., 0., 0., 0., 0.}; - double curr_x, curr_err, x_tmp; - double temperature; - double ratio, r; - int cycle=10; - boost::variate_generator > uni(generator, uni_dist); - - // set up parameter for annealing - - x[0]=alpha_i; - x[1]=alpha_m; - x[2]=beta; - x[3]=gamma; - x[4]=delta; - - for(int i=0;i<5;i++){ - dx[i] = starting_jump; - } - - // establish the current value - - //.......................................... - evolve_to_target(); - std::cout << CumulativeRelativeLoss << " +- " << CRLsquare << std::endl; - - curr_x = CumulativeRelativeLoss; - curr_err = CRLsquare; - CumulativeRelativeLoss = 0; - CRLsquare = 0; - //........................................... - - // optimization cycle - for(int i=0; i ratio){ - - std::cout << string_wrap(id, 4) <<" "<< (i+1) << ","<< (j) - <<" "<< (i+1) << " Did not accept " - << x_tmp << "(" << j << ")" << std::endl; - std::cout << alpha_i << " "<< alpha_m << " " - << beta << " " << gamma << " " - << delta << " " << std::endl; - set_parameter(x[j], j); - CumulativeRelativeLoss = 0; - CRLsquare = 0; - - rejection[j]+=1.; - } - - else { - - curr_x = CumulativeRelativeLoss; - curr_err = CRLsquare; - x[j] = x_tmp; - CumulativeRelativeLoss = 0; - CRLsquare = 0; - std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) - << wrap_double(rejection[0],2) - << " "<< wrap_double(rejection[1], 7) << " " - << wrap_double(rejection[2],5) << " " << wrap_double(rejection[2],9) << " " - << wrap_double(rejection[4],6) << " " - << std::endl << std::endl; - - std::cout << string_wrap(id, 4) <<" "<< (i+1) <<","<< (j) - <<" " - << string_wrap((string) "***** Did accept! ", 3) - << wrap_double(alpha_i,2) - << " "<< wrap_double(alpha_m, 7) << " " - << wrap_double(beta,5) << " " - << wrap_double(gamma,9) << " " - << wrap_double(delta,6) << " " - << std::endl << std::endl; - - } - //........................................................ - - } - - } - - } - -#endif // notdef - - -}; - - -//============================================================ - -std::pair multi_loss( // dispatch_group_t group, - Universe* un[], - // dispatch_queue_t* CustomQueues, - double* Results, - int* Counters, - double* params){ - - int N = un[0]->get_reruns(); - int step = (int)(double)N/(double)(Nworkers); - int istart=0; - int iend = istart+step; - - double Loss=0., LossSquare=0.; - - timeval startTime, endTime; - double elapsedTime; - // start timer - gettimeofday(&startTime, NULL); - - //err: for(int i=0; iget_parameter(j) << "," << params[j] << "] "; - un[i]->set_parameter(params[j],j); - } - } - std::cout << "\n"; - int i; - #pragma omp parallel for private (i) - for(i=0; ievolve_to_target_and_save(istart, iend, Results, Counters); - un[i]->evolve_to_target_and_save(i*step, min((i+1)*step,N), Results, Counters); - //}); - - // std::cout<<"multi_loss: Returned from evolve_to_target_and_save " << i << "\n"; - - - //istart += step; - //iend = min(istart+step,N); - - } - // err } - // dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - //dispatch_release(group); - - - for (int i=0; i Res; - Res.first=Loss; - Res.second=two_std; - - gettimeofday(&endTime, NULL); - elapsedTime = (endTime.tv_sec - startTime.tv_sec) * 1000.0; // sec to ms - elapsedTime += (endTime.tv_usec - startTime.tv_usec) / 1000.0; // us to ms - elapsedTime /= 1000.; - cout << "multi_loss(N=" << N << ") elapsed time: " << elapsedTime << " seconds " << elapsedTime/60. << " minutes\n\n"; - - return Res; -} -//============================================================ - - -//============================================================ -void multi_annealing( // dispatch_group_t group, - Universe* un[], - // dispatch_queue_t* CustomQueues, - double T_start, double T_end, - double Target_rejection, - int Annealing_repeats, - double starting_jump, - double* Results, - int* Counters, - double* params0, - double annealing_cycles){ - //................................. - // re-implement annealing - - double dx[NEVOPARAMS]={0.,0.,0.,0.,0}; - double x[NEVOPARAMS]={0.,0.,0.,0.,0}; - double rejection[NEVOPARAMS]={0., 0., 0., 0., 0.}; - double curr_x, curr_err, x_tmp; - double temperature; - double ratio, r; - int cycle=10; - //boost::variate_generator > uni(generator, uni_dist); - - // set up parameter for annealing - - for(int i=0;iset_parameter(x[i], i); - } - } - - // establish the current value - std::pairRes; - - if ( operation == 'm' ) { - // Nworkers = 1; - } - else if (operation == 'g') { - // generate params: not yet implemented - to be deprecated - } - else if (operation == 'a') { - // analyze multi_loss() results: not tested or used - to be deprecated - - string line; - ifstream mlossdata ("multi_loss.data"); - double d, Loss, LossSquare, two_std; - bool b; - int n=0; - if (mlossdata.is_open()) { - while ( getline (mlossdata,line) ) { - b = from_string(d, std::string(line), std::dec); - cout << line << " d=" << d << endl; - Loss += d; - LossSquare += (d*d); - n++; - } - Loss /= double(n); - LossSquare /= double(n); - two_std = ((LossSquare - Loss*Loss)/(double)n); - two_std = 2.*sqrt(two_std); - std::cout<<"n="<get_reruns(); - - f = fopen("multi_loss.data","w"); - for(int i=0; iset_parameter(x_tmp, j); - } - - - // WRITE OUT PARAMS HERE; then exit. - - std::cout << "Calling multi_loss: i=" << i << " j=" << j << "\n"; - Res = multi_loss(/* group, */ un, /* CustomQueues, */ Results, Counters, x); - std::cout << "Ret from multi_loss: i=" << i << " j=" << j << "\n"; - std::cout << Res.first << " +- " << Res.second << std::endl; - - ratio = min(1.,exp(-(Res.first-curr_x)/temperature)); - r = rand()/(double)(pow(2.,31)-1.); - std::cout << r << " vs " << ratio << std::endl; - - double ALOT=100000000000.; - - if (Res.first < ALOT) - { - ofstream filestr; - - filestr.open ("best_opt_some.txt", ofstream::app); - - // >> i/o operations here << - filestr << un[0]->get_target() << "," - << Res.first - << "," << un[0]->get_parameter(0) - << "," << un[0]->get_parameter(1) - << "," << un[0]->get_parameter(2) - << "," << un[0]->get_parameter(3) - << "," << un[0]->get_parameter(4) << "," << Res.second << ",\n"; - - filestr.close(); - - - filestr.open ("max_dist.txt", ofstream::app); - - // >> i/o operations here << - filestr << max_dist << ",\n"; - - filestr.close(); - - } - - - if (r > ratio){ - - std::cout << " "<< (i+1) << ","<< (j) - <<" "<< (i+1) << " Did not accept " - << x_tmp << "(" << j << ")" << std::endl; - std::cout << un[0]->get_parameter(0) - << " " << un[0]->get_parameter(1) - << " " << un[0]->get_parameter(2) - << " " << un[0]->get_parameter(3) - << " " << un[0]->get_parameter(4) << " " << std::endl; - - x[j]=x_hold; - for(int w=0; wset_parameter(x[j], j); - } - - - //set_parameter(x[j], j); - rejection[j]+=1.; - } - - else { - - curr_x = Res.first; - curr_err = Res.second; - x[j] = x_tmp; - - for(int w=0; wset_parameter(x[j], j); - } - - std::cout << (i+1) << string_wrap((string) " Rejection counts: ", 8) - << wrap_double(rejection[0],2) << " " - << wrap_double(rejection[1],7) << " " - << wrap_double(rejection[2],5) << " " - << wrap_double(rejection[3],9) << " " - << wrap_double(rejection[4],6) << " " - << std::endl << std::endl; - - std::cout << " "<< (i+1) <<","<< (j) - <<" " - << string_wrap((string) "***** Did accept! ", 3) - << wrap_double(un[0]->get_parameter(0),2) << " " - << wrap_double(un[0]->get_parameter(1),7) << " " - << wrap_double(un[0]->get_parameter(2),5) << " " - << wrap_double(un[0]->get_parameter(3),9) << " " - << wrap_double(un[0]->get_parameter(4),6) << " " - << std::endl << std::endl; - - - - } - //........................................................ - - } - } - - } - -} - - -//================================================ -int -main(int argc, char* argv[]) -{ - - double params0[6] = {0., 0., 0., 0., 0., 0.2}, target=50., range; - string par_names0[6] = {"alpha_i", "alpha_m", "beta", "gamma", "delta", "target"}; - string par_names1[4] = {"n_epochs", "n_steps", "n_reruns", "range"}; - string par_names2[5] = {"T_start", "T_end", "Annealing_steps","Target_rejection","Starting_jump"}; - string par_names3[5] = {"FREEZE_alpha_i", "FREEZE_alpha_m", "FREEZE_beta", "FREEZE_gamma", "FREEZE_delta"}; - string par_names4[2] = {"Operation", "Nworkers"}; - int params1[4] = {300, 50, 1000, 10}; - int params3[5] = { 0, 0, 0, 0, 0}; - - // temperature_start, temperature_end, annealing_steps target_rejection Starting_jump - double params2[5] = {1, 0.001, 100, 0.3, 1.5}; - - int verbose_level = 2; - const std::string one="one", two="two"; - static Universe* un[MAXNworkers]; - // static dispatch_queue_t CustomQueues[MAXNworkers]; - - static double* Results; - static int* Counters; - - timeval t1, t2; - double elapsedTime; - // start timer - gettimeofday(&t1, NULL); - - - if (argc < 8) { - std::cout << "Usage: super_optimizer alpha_i alpha_m beta gamma delta target_innov [n_epochs n_steps n_reruns] [range] [verbose_level]\n"; - std::cout << " [T_start T_end Annealing_steps Target_rejection Starting_jump]\n"; - std::cout << " [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta]\n"; - - system("pwd"); - - - return(1); - } - else { - std::cout << "argc=" << argc << std::endl; - - for (int nArg=0; nArg < argc; nArg++){ - //std::cout << nArg << " " << argv[nArg] << std::endl; - if (nArg > 0 && nArg < 7){ - params0[nArg-1]= atof(argv[nArg]); - std::cout << par_names0[nArg-1] << ": " << params0[nArg-1] << std::endl; - } - if (nArg > 6 && nArg < 11){ - params1[nArg-7]= atoi(argv[nArg]); - std::cout << par_names1[nArg-7] << ": " << params1[nArg-7] << std::endl; - } - if (nArg == 11){ - verbose_level = atoi(argv[nArg]); - std::cout << "verbose level: " << verbose_level << std::endl; - } - if (nArg > 11 && nArg < 17){ - params2[nArg-12]= atof(argv[nArg]); - std::cout << par_names2[nArg-12] << ": " << params2[nArg-12] << std::endl; - } - if (nArg > 16 && nArg < 22){ - params3[nArg-17]= atof(argv[nArg]); - var_fixed[nArg-17]= atof(argv[nArg]); - std::cout << par_names3[nArg-17] << ": " << var_fixed[nArg-17] << std::endl; - } - if (nArg == 22 ){ - operation = *argv[nArg]; - std::cout << par_names4[0] << ": " << operation << std::endl; - } - if (nArg == 23 ){ - Nworkers = atoi(argv[nArg]); - std::cout << par_names4[1] << ": " << Nworkers << std::endl; - } - } - } - - /* - for target in range(58,1009,50): - s = ("%d" % target) - print s - - for i in range(15): - # Param groups separated by "|" below for documentation. NOTE that | is not used on command line! - os.system("./supe_duper_optimizer |0 0 4 50 -1 "+s+" | 40000 20 1000 2 | 1 | 2. 0.01 100 0.3 2.3 | 1 1 0 0 0") - */ - - /* Parameters, re-iterated: - - "alpha_i", "alpha_m", "beta", "gamma", "delta", "target"}; - double params0[6] = {0., 0., 0., 0., 0., 0.2}, target=50., range; - - {"n_epochs", "n_steps", "n_reruns", "range"}; - int params1[4] = {300, 50, 1000, 10}; - - {"T_start", "T_end", "Annealing_steps","Target_rejection","Starting_jump"}; - temperature_start, temperature_end, annealing_steps target_rejection Starting_jump - double params2[5] = {1, 0.001, 100, 0.3, 1.5}; - - {"FREEZE_alpha_i", "FREEZE_alpha_m", "FREEZE_beta", "FREEZE_gamma", "FREEZE_delta"}; - int params3[5] = { 0, 0, 0, 0, 0}; - - - */ - - for (int j=0; j 0){ - - Results = new double[n_rep]; - Counters = new int[n_rep]; - - }else { - - Results = NULL; - Counters = NULL; - std::cout << " Number of reruns should be positive! " << std::endl; - return 0; - - } - //............................... - - //srand(time(0)); - //srandomdev(); - { - timeval t; - gettimeofday(&t, NULL); - srand(t.tv_usec); - } - - { - double r=0; - for (int j=0; j<100; j++){ - - - - r = rand()/(double)(pow(2.,31)-1.); - std::cout << r << " "; - } - std::cout << "\n "; - } - //random initiation of starting parameters - - if (range > 0.){ - - for (int i=0; i < 5; i++){ - - if (params0[i]==-100.){ - - double r1 = (rand()/(double)(pow(2.,31)-1.)); - double r2 = (rand()/(double)(pow(2.,31)-1.)); - double sign = 1.; - - if(r1 > 0.5){ - sign=-1.; - } - - params0[i] = sign*r2*range; - - std::cout << par_names0[i] << ": " << params0[i] << std::endl; - } - } - - } - - - double T_start=params2[0], T_end=params2[1], Target_rejection=params2[3], starting_jump=params2[4]; - int Annealing_repeats = (int) params2[2]; - - - // dispatch_group_t group = dispatch_group_create(); - - //............................. - multi_annealing( /* group, */ un, /* CustomQueues, */ T_start, T_end, Target_rejection, Annealing_repeats, - starting_jump, Results, Counters, params0, Annealing_repeats); - - //dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - // dispatch_release(group); - //............................. - - - // stop timer - gettimeofday(&t2, NULL); - - // compute and print the elapsed time in millisec - elapsedTime = (t2.tv_sec - t1.tv_sec) * 1000.0; // sec to ms - elapsedTime += (t2.tv_usec - t1.tv_usec) / 1000.0; // us to ms - elapsedTime /= 1000.; - cout << elapsedTime << " seconds " << elapsedTime/60. << " minutes\n\n"; - - //..................... - - for(int i=0; i 0){ - - delete [] Results; - delete [] Counters; - - } - - return 0; - - - -} - Deleted: SwiftApps/SciColSim/optirun.swift =================================================================== --- SwiftApps/SciColSim/optirun.swift 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/optirun.swift 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,41 +0,0 @@ -type file; - -app (file outfile, file best, file max) optimize ( string args[], file graph ) -{ - optimizersh @best @max args stdout=@outfile ; -} - -int minrange=58; -int maxrange=1009; -//int maxrange=209; -int rangeinc=50; - -int nreps=2; # 15 - -// [alpha_i alpha_m beta gamma delta target_innov -// [n_epochs n_steps n_reruns] [range] -// [verbose_level] -// [T_start T_end Annealing_steps Target_rejection Starting_jump] -// [FREEZE_alpha_i FREEZE_alpha_m FREEZE_beta FREEZE_gamma FREEZE_delta] - -file graph <"movie_graph.txt">; - -foreach target in [minrange:maxrange:rangeinc] { - foreach rep in [1:nreps] { - file outfile ; - // file errfile ; - file bestfile ; - file maxfile ; - - // string longargs[] = @strcat("0 0 4 50 -1 ",target," 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0"); - - string fastargs1[] = ["0", "0", "4", "50", "-1", @strcat(target), "40000", "20", "1000", "2", "1", "2.", "0.01", "100", "0.3", "2.3", "1", "1", "0", "0", "0"]; - string fastargs2[] = [ - "0", "0", "4", "50", "-1", @strcat(target), - "40000", "20", "1000", "2", - "1", - "2.", "0.01", "5", "0.3", "2.3", - "1", "1", "0", "0", "0"]; - (outfile, bestfile, maxfile) = optimize(fastargs2,graph); - } -} Deleted: SwiftApps/SciColSim/pads.similar.beagle.xml =================================================================== --- SwiftApps/SciColSim/pads.similar.beagle.xml 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/pads.similar.beagle.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,23 +0,0 @@ - - - - - - CI-CCR000013 - KEEP - - 8 - 1 - 100 - 100 - 3600 - 00:02:00 - 10 - 1 - 1 - fast - 9.59 - 10000 - /gpfs/pads/swift/jonmon/Swift/work/pads - - Deleted: SwiftApps/SciColSim/paramtraceall.sh =================================================================== --- SwiftApps/SciColSim/paramtraceall.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/paramtraceall.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,7 +0,0 @@ -for ti in $(seq 58 70); do - echo - echo "=======" $ti ; /home/wilde/AndreysOptimizer/src/getparamtrace.sh $ti - echo -done - - Deleted: SwiftApps/SciColSim/plot_active.txt =================================================================== --- SwiftApps/SciColSim/plot_active.txt 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/plot_active.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,7767 +0,0 @@ -0 1 -10.9679 3 -21.9359 3 -32.9038 4 -43.8717 3 -54.8397 3 -65.8076 3 -76.7755 3 -87.7434 3 -98.7114 3 -109.679 3 -120.647 3 -131.615 3 -142.583 3 -153.551 3 -164.519 3 -175.487 3 -186.455 4 -197.423 3 -208.391 4 -219.359 3 -230.327 3 -241.294 3 -252.262 3 -263.23 3 -274.198 3 -285.166 3 -296.134 4 -307.102 4 -318.07 3 -329.038 4 -340.006 4 -350.974 3 -361.942 4 -372.91 4 -383.878 4 -394.845 3 -405.813 3 -416.781 4 -427.749 3 -438.717 3 -449.685 3 -460.653 3 -471.621 3 -482.589 3 -493.557 4 -504.525 3 -515.493 4 -526.461 3 -537.429 4 -548.397 3 -559.364 3 -570.332 3 -581.3 3 -592.268 4 -603.236 3 -614.204 3 -625.172 4 -636.14 4 -647.108 3 -658.076 4 -669.044 3 -680.012 3 -690.98 3 -701.948 3 -712.915 4 -723.883 3 -734.851 4 -745.819 4 -756.787 4 -767.755 3 -778.723 3 -789.691 3 -800.659 3 -811.627 3 -822.595 3 -833.563 4 -844.531 4 -855.499 3 -866.466 4 -877.434 3 -888.402 4 -899.37 4 -910.338 3 -921.306 3 -932.274 3 -943.242 4 -954.21 3 -965.178 4 -976.146 3 -987.114 4 -998.082 3 -1009.05 3 -1020.02 3 -1030.99 3 -1041.95 3 -1052.92 3 -1063.89 3 -1074.86 4 -1085.83 4 -1096.79 3 -1107.76 4 -1118.73 3 -1129.7 3 -1140.66 3 -1151.63 4 -1162.6 4 -1173.57 3 -1184.54 4 -1195.5 3 -1206.47 4 -1217.44 3 -1228.41 4 -1239.38 4 -1250.34 3 -1261.31 3 -1272.28 3 -1283.25 3 -1294.22 3 -1305.18 4 -1316.15 3 -1327.12 4 -1338.09 4 -1349.06 3 -1360.02 3 -1370.99 4 -1381.96 3 -1392.93 3 -1403.9 3 -1414.86 3 -1425.83 4 -1436.8 3 -1447.77 3 -1458.73 4 -1469.7 3 -1480.67 4 -1491.64 3 -1502.61 4 -1513.57 4 -1524.54 3 -1535.51 3 -1546.48 3 -1557.45 3 -1568.41 4 -1579.38 4 -1590.35 3 -1601.32 3 -1612.29 3 -1623.25 4 -1634.22 4 -1645.19 3 -1656.16 4 -1667.13 4 -1678.09 3 -1689.06 3 -1700.03 3 -1711 3 -1721.97 4 -1732.93 3 -1743.9 4 -1754.87 4 -1765.84 3 -1776.8 3 -1787.77 3 -1798.74 4 -1809.71 3 -1820.68 4 -1831.64 3 -1842.61 4 -1853.58 4 -1864.55 3 -1875.52 3 -1886.48 4 -1897.45 3 -1908.42 3 -1919.39 4 -1930.36 4 -1941.32 3 -1952.29 4 -1963.26 3 -1974.23 3 -1985.2 3 -1996.16 4 -2007.13 3 -2018.1 4 -2029.07 3 -2040.03 4 -2051 3 -2061.97 4 -2072.94 3 -2083.91 3 -2094.87 3 -2105.84 3 -2116.81 4 -2127.78 3 -2138.75 3 -2149.71 3 -2160.68 4 -2171.65 3 -2182.62 3 -2193.59 3 -2204.55 3 -2215.52 4 -2226.49 4 -2237.46 2 -2248.43 3 -2259.39 3 -2270.36 4 -2281.33 3 -2292.3 3 -2303.27 3 -2314.23 3 -2325.2 3 -2336.17 4 -2347.14 3 -2358.1 3 -2369.07 4 -2380.04 3 -2391.01 3 -2401.98 3 -2412.94 4 -2423.91 3 -2434.88 4 -2445.85 3 -2456.82 4 -2467.78 3 -2478.75 4 -2489.72 3 -2500.69 4 -2511.66 3 -2522.62 4 -2533.59 3 -2544.56 4 -2555.53 4 -2566.5 3 -2577.46 4 -2588.43 3 -2599.4 4 -2610.37 3 -2621.34 3 -2632.3 4 -2643.27 4 -2654.24 4 -2665.21 4 -2676.17 3 -2687.14 3 -2698.11 4 -2709.08 4 -2720.05 2 -2731.01 3 -2741.98 3 -2752.95 3 -2763.92 3 -2774.89 4 -2785.85 4 -2796.82 3 -2807.79 3 -2818.76 3 -2829.73 3 -2840.69 3 -2851.66 3 -2862.63 4 -2873.6 4 -2884.57 4 -2895.53 3 -2906.5 3 -2917.47 3 -2928.44 3 -2939.41 3 -2950.37 3 -2961.34 4 -2972.31 3 -2983.28 3 -2994.24 3 -3005.21 4 -3016.18 4 -3027.15 3 -3038.12 4 -3049.08 3 -3060.05 3 -3071.02 4 -3081.99 3 -3092.96 3 -3103.92 3 -3114.89 4 -3125.86 3 -3136.83 4 -3147.8 3 -3158.76 3 -3169.73 3 -3180.7 4 -3191.67 4 -3202.64 4 -3213.6 4 -3224.57 3 -3235.54 4 -3246.51 4 -3257.48 4 -3268.44 4 -3279.41 4 -3290.38 3 -3301.35 4 -3312.31 4 -3323.28 4 -3334.25 3 -3345.22 3 -3356.19 4 -3367.15 3 -3378.12 3 -3389.09 4 -3400.06 3 -3411.03 4 -3421.99 3 -3432.96 4 -3443.93 3 -3454.9 3 -3465.87 3 -3476.83 4 -3487.8 3 -3498.77 4 -3509.74 3 -3520.71 3 -3531.67 3 -3542.64 3 -3553.61 3 -3564.58 4 -3575.55 4 -3586.51 3 -3597.48 3 -3608.45 4 -3619.42 4 -3630.38 4 -3641.35 3 -3652.32 4 -3663.29 3 -3674.26 4 -3685.22 3 -3696.19 3 -3707.16 4 -3718.13 3 -3729.1 3 -3740.06 3 -3751.03 4 -3762 3 -3772.97 4 -3783.94 3 -3794.9 3 -3805.87 3 -3816.84 3 -3827.81 4 -3838.78 3 -3849.74 3 -3860.71 3 -3871.68 3 -3882.65 4 -3893.62 3 -3904.58 3 -3915.55 3 -3926.52 4 -3937.49 4 -3948.45 3 -3959.42 3 -3970.39 4 -3981.36 4 -3992.33 4 -4003.29 4 -4014.26 3 -4025.23 3 -4036.2 3 -4047.17 4 -4058.13 3 -4069.1 4 -4080.07 3 -4091.04 4 -4102.01 3 -4112.97 4 -4123.94 3 -4134.91 4 -4145.88 3 -4156.85 4 -4167.81 4 -4178.78 3 -4189.75 4 -4200.72 3 -4211.69 4 -4222.65 4 -4233.62 3 -4244.59 3 -4255.56 3 -4266.52 4 -4277.49 3 -4288.46 3 -4299.43 3 -4310.4 4 -4321.36 3 -4332.33 4 -4343.3 3 -4354.27 3 -4365.24 3 -4376.2 4 -4387.17 3 -4398.14 4 -4409.11 3 -4420.08 4 -4431.04 3 -4442.01 3 -4452.98 3 -4463.95 3 -4474.92 3 -4485.88 4 -4496.85 3 -4507.82 3 -4518.79 3 -4529.76 3 -4540.72 3 -4551.69 4 -4562.66 3 -4573.63 4 -4584.59 3 -4595.56 4 -4606.53 3 -4617.5 3 -4628.47 4 -4639.43 3 -4650.4 4 -4661.37 3 -4672.34 3 -4683.31 3 -4694.27 4 -4705.24 3 -4716.21 3 -4727.18 4 -4738.15 4 -4749.11 4 -4760.08 3 -4771.05 3 -4782.02 4 -4792.99 3 -4803.95 3 -4814.92 4 -4825.89 3 -4836.86 4 -4847.83 3 -4858.79 4 -4869.76 3 -4880.73 3 -4891.7 3 -4902.66 3 -4913.63 3 -4924.6 3 -4935.57 4 -4946.54 3 -4957.5 3 -4968.47 4 -4979.44 3 -4990.41 3 -5001.38 3 -5012.34 3 -5023.31 3 -5034.28 3 -5045.25 4 -5056.22 3 -5067.18 4 -5078.15 3 -5089.12 3 -5100.09 3 -5111.06 4 -5122.02 4 -5132.99 3 -5143.96 3 -5154.93 3 -5165.9 4 -5176.86 3 -5187.83 4 -5198.8 3 -5209.77 3 -5220.73 3 -5231.7 3 -5242.67 4 -5253.64 3 -5264.61 3 -5275.57 3 -5286.54 3 -5297.51 3 -5308.48 3 -5319.45 4 -5330.41 4 -5341.38 3 -5352.35 4 -5363.32 3 -5374.29 3 -5385.25 4 -5396.22 3 -5407.19 3 -5418.16 4 -5429.13 3 -5440.09 3 -5451.06 4 -5462.03 3 -5473 3 -5483.97 3 -5494.93 3 -5505.9 3 -5516.87 4 -5527.84 3 -5538.8 4 -5549.77 3 -5560.74 3 -5571.71 4 -5582.68 3 -5593.64 4 -5604.61 3 -5615.58 3 -5626.55 3 -5637.52 3 -5648.48 3 -5659.45 4 -5670.42 3 -5681.39 4 -5692.36 3 -5703.32 3 -5714.29 3 -5725.26 3 -5736.23 3 -5747.2 3 -5758.16 4 -5769.13 3 -5780.1 4 -5791.07 3 -5802.03 4 -5813 4 -5823.97 3 -5834.94 4 -5845.91 4 -5856.87 3 -5867.84 3 -5878.81 3 -5889.78 4 -5900.75 3 -5911.71 3 -5922.68 3 -5933.65 4 -5944.62 3 -5955.59 4 -5966.55 4 -5977.52 3 -5988.49 3 -5999.46 3 -6010.43 3 -6021.39 4 -6032.36 4 -6043.33 3 -6054.3 4 -6065.27 4 -6076.23 4 -6087.2 3 -6098.17 3 -6109.14 3 -6120.1 3 -6131.07 3 -6142.04 3 -6153.01 4 -6163.98 4 -6174.94 4 -6185.91 3 -6196.88 3 -6207.85 4 -6218.82 3 -6229.78 3 -6240.75 4 -6251.72 4 -6262.69 3 -6273.66 3 -6284.62 4 -6295.59 3 -6306.56 4 -6317.53 4 -6328.5 3 -6339.46 4 -6350.43 3 -6361.4 3 -6372.37 3 -6383.34 3 -6394.3 3 -6405.27 3 -6416.24 3 -6427.21 4 -6438.17 3 -6449.14 3 -6460.11 3 -6471.08 3 -6482.05 3 -6493.01 3 -6503.98 4 -6514.95 4 -6525.92 3 -6536.89 3 -6547.85 4 -6558.82 4 -6569.79 4 -6580.76 4 -6591.73 4 -6602.69 4 -6613.66 3 -6624.63 3 -6635.6 4 -6646.57 4 -6657.53 3 -6668.5 4 -6679.47 4 -6690.44 3 -6701.41 3 -6712.37 3 -6723.34 3 -6734.31 3 -6745.28 3 -6756.24 3 -6767.21 3 -6778.18 3 -6789.15 3 -6800.12 2 -6811.08 3 -6822.05 3 -6833.02 3 -6843.99 3 -6854.96 4 -6865.92 3 -6876.89 4 -6887.86 4 -6898.83 4 -6909.8 3 -6920.76 4 -6931.73 3 -6942.7 3 -6953.67 3 -6964.64 4 -6975.6 3 -6986.57 3 -6997.54 3 -7008.51 3 -7019.48 3 -7030.44 3 -7041.41 3 -7052.38 4 -7063.35 3 -7074.31 4 -7085.28 3 -7096.25 4 -7107.22 4 -7118.19 3 -7129.15 3 -7140.12 3 -7151.09 4 -7162.06 3 -7173.03 4 -7183.99 3 -7194.96 3 -7205.93 4 -7216.9 4 -7227.87 3 -7238.83 3 -7249.8 3 -7260.77 3 -7271.74 3 -7282.71 4 -7293.67 3 -7304.64 3 -7315.61 3 -7326.58 3 -7337.55 3 -7348.51 3 -7359.48 3 -7370.45 4 -7381.42 3 -7392.38 4 -7403.35 4 -7414.32 3 -7425.29 3 -7436.26 4 -7447.22 3 -7458.19 3 -7469.16 4 -7480.13 3 -7491.1 4 -7502.06 3 -7513.03 4 -7524 3 -7534.97 3 -7545.94 3 -7556.9 3 -7567.87 3 -7578.84 4 -7589.81 3 -7600.78 4 -7611.74 3 -7622.71 4 -7633.68 3 -7644.65 3 -7655.62 3 -7666.58 3 -7677.55 4 -7688.52 3 -7699.49 3 -7710.45 4 -7721.42 4 -7732.39 4 -7743.36 4 -7754.33 4 -7765.29 3 -7776.26 3 -7787.23 3 -7798.2 3 -7809.17 3 -7820.13 3 -7831.1 3 -7842.07 3 -7853.04 3 -7864.01 3 -7874.97 3 -7885.94 3 -7896.91 3 -7907.88 3 -7918.85 3 -7929.81 3 -7940.78 3 -7951.75 3 -7962.72 4 -7973.69 4 -7984.65 4 -7995.62 3 -8006.59 3 -8017.56 3 -8028.52 3 -8039.49 4 -8050.46 3 -8061.43 3 -8072.4 3 -8083.36 3 -8094.33 3 -8105.3 3 -8116.27 4 -8127.24 3 -8138.2 3 -8149.17 4 -8160.14 3 -8171.11 3 -8182.08 3 -8193.04 4 -8204.01 3 -8214.98 3 -8225.95 3 -8236.92 4 -8247.88 3 -8258.85 3 -8269.82 4 -8280.79 3 -8291.76 3 -8302.72 3 -8313.69 3 -8324.66 4 -8335.63 4 -8346.59 4 -8357.56 3 -8368.53 3 -8379.5 3 -8390.47 3 -8401.43 4 -8412.4 4 -8423.37 3 -8434.34 4 -8445.31 4 -8456.27 3 -8467.24 3 -8478.21 3 -8489.18 3 -8500.15 4 -8511.11 3 -8522.08 3 -8533.05 3 -8544.02 3 -8554.99 3 -8565.95 3 -8576.92 3 -8587.89 3 -8598.86 4 -8609.83 3 -8620.79 3 -8631.76 4 -8642.73 4 -8653.7 4 -8664.66 3 -8675.63 4 -8686.6 3 -8697.57 3 -8708.54 3 -8719.5 3 -8730.47 3 -8741.44 3 -8752.41 3 -8763.38 3 -8774.34 3 -8785.31 3 -8796.28 3 -8807.25 3 -8818.22 3 -8829.18 3 -8840.15 3 -8851.12 4 -8862.09 3 -8873.06 4 -8884.02 3 -8894.99 4 -8905.96 3 -8916.93 3 -8927.9 3 -8938.86 4 -8949.83 3 -8960.8 4 -8971.77 3 -8982.73 4 -8993.7 3 -9004.67 4 -9015.64 3 -9026.61 3 -9037.57 4 -9048.54 3 -9059.51 4 -9070.48 3 -9081.45 4 -9092.41 3 -9103.38 3 -9114.35 3 -9125.32 4 -9136.29 3 -9147.25 3 -9158.22 3 -9169.19 3 -9180.16 3 -9191.13 3 -9202.09 3 -9213.06 3 -9224.03 3 -9235 3 -9245.96 3 -9256.93 3 -9267.9 3 -9278.87 3 -9289.84 3 -9300.8 4 -9311.77 4 -9322.74 4 -9333.71 3 -9344.68 3 -9355.64 3 -9366.61 4 -9377.58 3 -9388.55 3 -9399.52 4 -9410.48 3 -9421.45 4 -9432.42 3 -9443.39 4 -9454.36 4 -9465.32 3 -9476.29 3 -9487.26 3 -9498.23 3 -9509.2 3 -9520.16 3 -9531.13 3 -9542.1 3 -9553.07 3 -9564.03 3 -9575 3 -9585.97 3 -9596.94 4 -9607.91 4 -9618.87 4 -9629.84 3 -9640.81 3 -9651.78 3 -9662.75 3 -9673.71 3 -9684.68 4 -9695.65 3 -9706.62 4 -9717.59 3 -9728.55 3 -9739.52 3 -9750.49 3 -9761.46 3 -9772.43 4 -9783.39 3 -9794.36 4 -9805.33 3 -9816.3 4 -9827.27 3 -9838.23 4 -9849.2 3 -9860.17 3 -9871.14 3 -9882.1 4 -9893.07 4 -9904.04 3 -9915.01 4 -9925.98 4 -9936.94 3 -9947.91 3 -9958.88 3 -9969.85 4 -9980.82 3 -9991.78 4 -10002.8 3 -10013.7 3 -10024.7 3 -10035.7 3 -10046.6 3 -10057.6 4 -10068.6 3 -10079.5 4 -10090.5 3 -10101.5 4 -10112.4 3 -10123.4 4 -10134.4 3 -10145.3 4 -10156.3 3 -10167.3 3 -10178.2 3 -10189.2 4 -10200.2 4 -10211.1 3 -10222.1 4 -10233.1 3 -10244 4 -10255 3 -10266 3 -10277 4 -10287.9 4 -10298.9 4 -10309.9 3 -10320.8 3 -10331.8 4 -10342.8 4 -10353.7 3 -10364.7 3 -10375.7 3 -10386.6 3 -10397.6 3 -10408.6 4 -10419.5 3 -10430.5 3 -10441.5 4 -10452.4 3 -10463.4 4 -10474.4 3 -10485.3 4 -10496.3 3 -10507.3 3 -10518.2 3 -10529.2 3 -10540.2 4 -10551.1 3 -10562.1 4 -10573.1 3 -10584.1 3 -10595 3 -10606 3 -10617 4 -10627.9 4 -10638.9 3 -10649.9 3 -10660.8 3 -10671.8 3 -10682.8 3 -10693.7 4 -10704.7 4 -10715.7 4 -10726.6 3 -10737.6 3 -10748.6 3 -10759.5 4 -10770.5 3 -10781.5 3 -10792.4 3 -10803.4 4 -10814.4 3 -10825.3 3 -10836.3 3 -10847.3 3 -10858.3 3 -10869.2 4 -10880.2 4 -10891.2 3 -10902.1 3 -10913.1 3 -10924.1 3 -10935 3 -10946 4 -10957 3 -10967.9 4 -10978.9 3 -10989.9 3 -11000.8 3 -11011.8 4 -11022.8 3 -11033.7 3 -11044.7 3 -11055.7 3 -11066.6 3 -11077.6 3 -11088.6 3 -11099.5 4 -11110.5 4 -11121.5 3 -11132.4 3 -11143.4 3 -11154.4 3 -11165.4 3 -11176.3 3 -11187.3 4 -11198.3 3 -11209.2 4 -11220.2 3 -11231.2 3 -11242.1 4 -11253.1 3 -11264.1 4 -11275 3 -11286 3 -11297 3 -11307.9 3 -11318.9 4 -11329.9 4 -11340.8 3 -11351.8 3 -11362.8 4 -11373.7 3 -11384.7 3 -11395.7 4 -11406.6 4 -11417.6 3 -11428.6 4 -11439.6 3 -11450.5 3 -11461.5 3 -11472.5 3 -11483.4 3 -11494.4 4 -11505.4 3 -11516.3 3 -11527.3 3 -11538.3 3 -11549.2 3 -11560.2 4 -11571.2 3 -11582.1 3 -11593.1 3 -11604.1 3 -11615 3 -11626 3 -11637 3 -11647.9 3 -11658.9 3 -11669.9 2 -11680.8 3 -11691.8 3 -11702.8 3 -11713.7 3 -11724.7 4 -11735.7 3 -11746.7 3 -11757.6 3 -11768.6 4 -11779.6 3 -11790.5 3 -11801.5 4 -11812.5 4 -11823.4 4 -11834.4 3 -11845.4 4 -11856.3 4 -11867.3 3 -11878.3 3 -11889.2 3 -11900.2 4 -11911.2 3 -11922.1 4 -11933.1 3 -11944.1 3 -11955 3 -11966 3 -11977 4 -11987.9 3 -11998.9 3 -12009.9 3 -12020.9 3 -12031.8 3 -12042.8 3 -12053.8 4 -12064.7 4 -12075.7 3 -12086.7 3 -12097.6 3 -12108.6 3 -12119.6 4 -12130.5 3 -12141.5 3 -12152.5 4 -12163.4 4 -12174.4 3 -12185.4 3 -12196.3 3 -12207.3 4 -12218.3 3 -12229.2 3 -12240.2 4 -12251.2 3 -12262.1 3 -12273.1 4 -12284.1 3 -12295 3 -12306 3 -12317 4 -12328 3 -12338.9 3 -12349.9 3 -12360.9 4 -12371.8 4 -12382.8 3 -12393.8 4 -12404.7 3 -12415.7 4 -12426.7 3 -12437.6 3 -12448.6 3 -12459.6 3 -12470.5 4 -12481.5 3 -12492.5 3 -12503.4 3 -12514.4 3 -12525.4 4 -12536.3 4 -12547.3 3 -12558.3 3 -12569.2 3 -12580.2 3 -12591.2 3 -12602.2 3 -12613.1 4 -12624.1 3 -12635.1 4 -12646 3 -12657 3 -12668 3 -12678.9 3 -12689.9 3 -12700.9 3 -12711.8 4 -12722.8 4 -12733.8 3 -12744.7 4 -12755.7 3 -12766.7 3 -12777.6 3 -12788.6 4 -12799.6 3 -12810.5 3 -12821.5 3 -12832.5 4 -12843.4 3 -12854.4 3 -12865.4 3 -12876.3 4 -12887.3 3 -12898.3 4 -12909.3 3 -12920.2 4 -12931.2 3 -12942.2 3 -12953.1 4 -12964.1 4 -12975.1 3 -12986 4 -12997 3 -13008 3 -13018.9 3 -13029.9 3 -13040.9 3 -13051.8 2 -13062.8 4 -13073.8 3 -13084.7 3 -13095.7 4 -13106.7 3 -13117.6 4 -13128.6 4 -13139.6 4 -13150.5 3 -13161.5 3 -13172.5 4 -13183.5 3 -13194.4 3 -13205.4 3 -13216.4 4 -13227.3 3 -13238.3 4 -13249.3 4 -13260.2 3 -13271.2 4 -13282.2 3 -13293.1 3 -13304.1 3 -13315.1 3 -13326 3 -13337 3 -13348 3 -13358.9 4 -13369.9 4 -13380.9 3 -13391.8 3 -13402.8 3 -13413.8 3 -13424.7 4 -13435.7 3 -13446.7 4 -13457.7 3 -13468.6 4 -13479.6 3 -13490.6 4 -13501.5 3 -13512.5 4 -13523.5 3 -13534.4 4 -13545.4 4 -13556.4 4 -13567.3 3 -13578.3 4 -13589.3 4 -13600.2 4 -13611.2 3 -13622.2 4 -13633.1 3 -13644.1 3 -13655.1 3 -13666 3 -13677 3 -13688 3 -13698.9 3 -13709.9 4 -13720.9 3 -13731.8 3 -13742.8 3 -13753.8 3 -13764.8 3 -13775.7 3 -13786.7 4 -13797.7 3 -13808.6 3 -13819.6 4 -13830.6 3 -13841.5 3 -13852.5 4 -13863.5 3 -13874.4 4 -13885.4 3 -13896.4 4 -13907.3 3 -13918.3 3 -13929.3 3 -13940.2 3 -13951.2 3 -13962.2 3 -13973.1 3 -13984.1 3 -13995.1 3 -14006 4 -14017 4 -14028 4 -14039 4 -14049.9 4 -14060.9 3 -14071.9 3 -14082.8 4 -14093.8 4 -14104.8 3 -14115.7 3 -14126.7 3 -14137.7 3 -14148.6 3 -14159.6 3 -14170.6 3 -14181.5 3 -14192.5 3 -14203.5 4 -14214.4 3 -14225.4 3 -14236.4 4 -14247.3 3 -14258.3 4 -14269.3 4 -14280.2 3 -14291.2 4 -14302.2 3 -14313.1 3 -14324.1 3 -14335.1 3 -14346.1 3 -14357 3 -14368 4 -14379 3 -14389.9 3 -14400.9 3 -14411.9 4 -14422.8 3 -14433.8 4 -14444.8 4 -14455.7 3 -14466.7 3 -14477.7 4 -14488.6 3 -14499.6 3 -14510.6 3 -14521.5 3 -14532.5 3 -14543.5 4 -14554.4 4 -14565.4 3 -14576.4 3 -14587.3 3 -14598.3 3 -14609.3 3 -14620.3 3 -14631.2 4 -14642.2 3 -14653.2 3 -14664.1 3 -14675.1 3 -14686.1 4 -14697 3 -14708 3 -14719 3 -14729.9 4 -14740.9 3 -14751.9 3 -14762.8 3 -14773.8 4 -14784.8 3 -14795.7 3 -14806.7 3 -14817.7 3 -14828.6 3 -14839.6 4 -14850.6 3 -14861.5 4 -14872.5 3 -14883.5 4 -14894.4 3 -14905.4 4 -14916.4 4 -14927.4 3 -14938.3 4 -14949.3 3 -14960.3 3 -14971.2 4 -14982.2 3 -14993.2 3 -15004.1 3 -15015.1 3 -15026.1 3 -15037 4 -15048 4 -15059 3 -15069.9 3 -15080.9 4 -15091.9 4 -15102.8 3 -15113.8 3 -15124.8 3 -15135.7 3 -15146.7 3 -15157.7 3 -15168.6 4 -15179.6 4 -15190.6 4 -15201.6 3 -15212.5 4 -15223.5 3 -15234.5 3 -15245.4 4 -15256.4 4 -15267.4 3 -15278.3 4 -15289.3 4 -15300.3 3 -15311.2 3 -15322.2 3 -15333.2 3 -15344.1 4 -15355.1 4 -15366.1 3 -15377 3 -15388 3 -15399 3 -15409.9 3 -15420.9 4 -15431.9 3 -15442.8 4 -15453.8 3 -15464.8 3 -15475.7 3 -15486.7 3 -15497.7 3 -15508.7 3 -15519.6 3 -15530.6 3 -15541.6 3 -15552.5 3 -15563.5 3 -15574.5 3 -15585.4 3 -15596.4 3 -15607.4 3 -15618.3 3 -15629.3 3 -15640.3 4 -15651.2 3 -15662.2 3 -15673.2 3 -15684.1 3 -15695.1 4 -15706.1 3 -15717 3 -15728 3 -15739 4 -15749.9 4 -15760.9 3 -15771.9 3 -15782.9 3 -15793.8 4 -15804.8 3 -15815.8 4 -15826.7 3 -15837.7 3 -15848.7 3 -15859.6 4 -15870.6 3 -15881.6 3 -15892.5 4 -15903.5 3 -15914.5 3 -15925.4 4 -15936.4 3 -15947.4 3 -15958.3 3 -15969.3 4 -15980.3 4 -15991.2 3 -16002.2 3 -16013.2 3 -16024.1 3 -16035.1 4 -16046.1 3 -16057 3 -16068 3 -16079 4 -16090 4 -16100.9 3 -16111.9 3 -16122.9 4 -16133.8 4 -16144.8 4 -16155.8 4 -16166.7 4 -16177.7 4 -16188.7 4 -16199.6 4 -16210.6 4 -16221.6 4 -16232.5 4 -16243.5 4 -16254.5 4 -16265.4 4 -16276.4 4 -16287.4 4 -16298.3 4 -16309.3 4 -16320.3 4 -16331.2 5 -16342.2 5 -16353.2 5 -16364.2 5 -16375.1 5 -16386.1 5 -16397.1 6 -16408 5 -16419 5 -16430 6 -16440.9 5 -16451.9 5 -16462.9 5 -16473.8 6 -16484.8 5 -16495.8 5 -16506.7 5 -16517.7 5 -16528.7 5 -16539.6 5 -16550.6 5 -16561.6 5 -16572.5 5 -16583.5 5 -16594.5 5 -16605.4 5 -16616.4 5 -16627.4 5 -16638.3 5 -16649.3 6 -16660.3 5 -16671.3 5 -16682.2 6 -16693.2 5 -16704.2 6 -16715.1 5 -16726.1 5 -16737.1 5 -16748 5 -16759 5 -16770 5 -16780.9 5 -16791.9 5 -16802.9 5 -16813.8 5 -16824.8 5 -16835.8 5 -16846.7 5 -16857.7 5 -16868.7 5 -16879.6 5 -16890.6 5 -16901.6 5 -16912.5 6 -16923.5 5 -16934.5 5 -16945.5 5 -16956.4 5 -16967.4 5 -16978.4 5 -16989.3 5 -17000.3 5 -17011.3 5 -17022.2 5 -17033.2 5 -17044.2 5 -17055.1 5 -17066.1 5 -17077.1 5 -17088 5 -17099 5 -17110 5 -17120.9 5 -17131.9 6 -17142.9 5 -17153.8 5 -17164.8 6 -17175.8 5 -17186.7 6 -17197.7 5 -17208.7 5 -17219.7 5 -17230.6 5 -17241.6 5 -17252.6 5 -17263.5 6 -17274.5 5 -17285.5 5 -17296.4 5 -17307.4 5 -17318.4 5 -17329.3 5 -17340.3 5 -17351.3 5 -17362.2 5 -17373.2 6 -17384.2 6 -17395.1 5 -17406.1 5 -17417.1 6 -17428 5 -17439 6 -17450 5 -17460.9 5 -17471.9 5 -17482.9 5 -17493.8 5 -17504.8 6 -17515.8 5 -17526.8 6 -17537.7 6 -17548.7 5 -17559.7 5 -17570.6 6 -17581.6 6 -17592.6 6 -17603.5 6 -17614.5 6 -17625.5 5 -17636.4 6 -17647.4 6 -17658.4 6 -17669.3 6 -17680.3 6 -17691.3 5 -17702.2 6 -17713.2 6 -17724.2 6 -17735.1 6 -17746.1 6 -17757.1 6 -17768 5 -17779 6 -17790 6 -17801 6 -17811.9 6 -17822.9 6 -17833.9 5 -17844.8 6 -17855.8 6 -17866.8 6 -17877.7 6 -17888.7 6 -17899.7 6 -17910.6 9 -17921.6 8 -17932.6 10 -17943.5 9 -17954.5 9 -17965.5 9 -17976.4 9 -17987.4 10 -17998.4 9 -18009.3 10 -18020.3 9 -18031.3 9 -18042.2 10 -18053.2 9 -18064.2 9 -18075.1 9 -18086.1 9 -18097.1 9 -18108.1 10 -18119 10 -18130 9 -18141 9 -18151.9 8 -18162.9 9 -18173.9 9 -18184.8 9 -18195.8 9 -18206.8 9 -18217.7 9 -18228.7 9 -18239.7 9 -18250.6 9 -18261.6 9 -18272.6 10 -18283.5 10 -18294.5 9 -18305.5 10 -18316.4 10 -18327.4 9 -18338.4 9 -18349.3 9 -18360.3 10 -18371.3 10 -18382.3 9 -18393.2 10 -18404.2 9 -18415.2 10 -18426.1 10 -18437.1 9 -18448.1 10 -18459 10 -18470 9 -18481 10 -18491.9 10 -18502.9 9 -18513.9 9 -18524.8 9 -18535.8 9 -18546.8 10 -18557.7 10 -18568.7 9 -18579.7 10 -18590.6 10 -18601.6 9 -18612.6 9 -18623.5 9 -18634.5 10 -18645.5 10 -18656.4 10 -18667.4 10 -18678.4 10 -18689.4 10 -18700.3 10 -18711.3 10 -18722.3 10 -18733.2 10 -18744.2 10 -18755.2 10 -18766.1 10 -18777.1 10 -18788.1 10 -18799 10 -18810 10 -18821 10 -18831.9 10 -18842.9 10 -18853.9 10 -18864.8 9 -18875.8 9 -18886.8 10 -18897.7 9 -18908.7 9 -18919.7 10 -18930.6 10 -18941.6 10 -18952.6 10 -18963.6 10 -18974.5 10 -18985.5 10 -18996.5 10 -19007.4 10 -19018.4 10 -19029.4 10 -19040.3 10 -19051.3 10 -19062.3 10 -19073.2 10 -19084.2 10 -19095.2 10 -19106.1 10 -19117.1 10 -19128.1 10 -19139 10 -19150 10 -19161 10 -19171.9 10 -19182.9 10 -19193.9 10 -19204.8 10 -19215.8 10 -19226.8 10 -19237.7 10 -19248.7 10 -19259.7 10 -19270.7 10 -19281.6 10 -19292.6 10 -19303.6 10 -19314.5 10 -19325.5 10 -19336.5 10 -19347.4 10 -19358.4 10 -19369.4 10 -19380.3 10 -19391.3 10 -19402.3 10 -19413.2 10 -19424.2 10 -19435.2 10 -19446.1 10 -19457.1 10 -19468.1 10 -19479 10 -19490 10 -19501 10 -19511.9 10 -19522.9 10 -19533.9 10 -19544.9 10 -19555.8 10 -19566.8 10 -19577.8 10 -19588.7 11 -19599.7 11 -19610.7 11 -19621.6 11 -19632.6 11 -19643.6 11 -19654.5 12 -19665.5 11 -19676.5 11 -19687.4 11 -19698.4 11 -19709.4 11 -19720.3 11 -19731.3 11 -19742.3 11 -19753.2 11 -19764.2 11 -19775.2 11 -19786.1 12 -19797.1 11 -19808.1 11 -19819 12 -19830 12 -19841 11 -19852 11 -19862.9 11 -19873.9 11 -19884.9 11 -19895.8 11 -19906.8 11 -19917.8 11 -19928.7 11 -19939.7 11 -19950.7 11 -19961.6 11 -19972.6 11 -19983.6 11 -19994.5 11 -20005.5 11 -20016.5 11 -20027.4 11 -20038.4 11 -20049.4 11 -20060.3 11 -20071.3 12 -20082.3 11 -20093.2 12 -20104.2 11 -20115.2 11 -20126.2 11 -20137.1 12 -20148.1 11 -20159.1 11 -20170 11 -20181 11 -20192 11 -20202.9 11 -20213.9 11 -20224.9 11 -20235.8 11 -20246.8 11 -20257.8 11 -20268.7 11 -20279.7 11 -20290.7 11 -20301.6 11 -20312.6 11 -20323.6 11 -20334.5 11 -20345.5 11 -20356.5 11 -20367.4 12 -20378.4 12 -20389.4 11 -20400.3 12 -20411.3 11 -20422.3 11 -20433.3 11 -20444.2 11 -20455.2 11 -20466.2 11 -20477.1 11 -20488.1 11 -20499.1 11 -20510 11 -20521 11 -20532 11 -20542.9 11 -20553.9 11 -20564.9 11 -20575.8 11 -20586.8 12 -20597.8 11 -20608.7 11 -20619.7 11 -20630.7 11 -20641.6 11 -20652.6 11 -20663.6 12 -20674.5 12 -20685.5 12 -20696.5 11 -20707.5 11 -20718.4 11 -20729.4 11 -20740.4 12 -20751.3 11 -20762.3 11 -20773.3 11 -20784.2 11 -20795.2 11 -20806.2 11 -20817.1 11 -20828.1 11 -20839.1 12 -20850 12 -20861 11 -20872 12 -20882.9 11 -20893.9 12 -20904.9 12 -20915.8 11 -20926.8 12 -20937.8 12 -20948.7 12 -20959.7 11 -20970.7 11 -20981.7 11 -20992.6 11 -21003.6 11 -21014.6 11 -21025.5 12 -21036.5 11 -21047.5 11 -21058.4 11 -21069.4 11 -21080.4 11 -21091.3 11 -21102.3 11 -21113.3 11 -21124.2 11 -21135.2 11 -21146.2 11 -21157.1 11 -21168.1 11 -21179.1 11 -21190 11 -21201 11 -21212 12 -21222.9 12 -21233.9 12 -21244.9 12 -21255.8 11 -21266.8 11 -21277.8 11 -21288.8 12 -21299.7 11 -21310.7 11 -21321.7 11 -21332.6 12 -21343.6 12 -21354.6 12 -21365.5 11 -21376.5 11 -21387.5 11 -21398.4 11 -21409.4 11 -21420.4 11 -21431.3 11 -21442.3 11 -21453.3 11 -21464.2 11 -21475.2 12 -21486.2 11 -21497.1 11 -21508.1 11 -21519.1 11 -21530 11 -21541 11 -21552 11 -21563 11 -21573.9 11 -21584.9 12 -21595.9 11 -21606.8 12 -21617.8 11 -21628.8 12 -21639.7 11 -21650.7 12 -21661.7 12 -21672.6 12 -21683.6 12 -21694.6 11 -21705.5 11 -21716.5 11 -21727.5 11 -21738.4 12 -21749.4 11 -21760.4 11 -21771.3 11 -21782.3 11 -21793.3 11 -21804.2 11 -21815.2 11 -21826.2 11 -21837.1 11 -21848.1 12 -21859.1 11 -21870.1 11 -21881 11 -21892 11 -21903 11 -21913.9 12 -21924.9 11 -21935.9 11 -21946.8 11 -21957.8 12 -21968.8 11 -21979.7 11 -21990.7 11 -22001.7 11 -22012.6 11 -22023.6 11 -22034.6 12 -22045.5 11 -22056.5 11 -22067.5 11 -22078.4 11 -22089.4 11 -22100.4 11 -22111.3 12 -22122.3 12 -22133.3 12 -22144.3 12 -22155.2 11 -22166.2 11 -22177.2 11 -22188.1 12 -22199.1 11 -22210.1 11 -22221 11 -22232 12 -22243 12 -22253.9 11 -22264.9 11 -22275.9 11 -22286.8 12 -22297.8 11 -22308.8 12 -22319.7 11 -22330.7 11 -22341.7 11 -22352.6 11 -22363.6 11 -22374.6 11 -22385.5 11 -22396.5 11 -22407.5 11 -22418.4 11 -22429.4 11 -22440.4 11 -22451.4 11 -22462.3 11 -22473.3 11 -22484.3 11 -22495.2 11 -22506.2 11 -22517.2 11 -22528.1 11 -22539.1 11 -22550.1 11 -22561 11 -22572 11 -22583 11 -22593.9 12 -22604.9 11 -22615.9 11 -22626.8 12 -22637.8 11 -22648.8 11 -22659.7 11 -22670.7 11 -22681.7 12 -22692.6 11 -22703.6 11 -22714.6 12 -22725.6 11 -22736.5 11 -22747.5 12 -22758.5 11 -22769.4 11 -22780.4 11 -22791.4 12 -22802.3 11 -22813.3 11 -22824.3 11 -22835.2 11 -22846.2 11 -22857.2 11 -22868.1 12 -22879.1 11 -22890.1 12 -22901 12 -22912 12 -22923 12 -22933.9 13 -22944.9 14 -22955.9 13 -22966.8 13 -22977.8 14 -22988.8 14 -22999.7 13 -23010.7 13 -23021.7 13 -23032.7 13 -23043.6 13 -23054.6 13 -23065.6 13 -23076.5 13 -23087.5 13 -23098.5 14 -23109.4 14 -23120.4 13 -23131.4 13 -23142.3 13 -23153.3 13 -23164.3 13 -23175.2 13 -23186.2 14 -23197.2 13 -23208.1 13 -23219.1 13 -23230.1 14 -23241 14 -23252 13 -23263 14 -23273.9 13 -23284.9 13 -23295.9 13 -23306.9 13 -23317.8 13 -23328.8 14 -23339.8 13 -23350.7 13 -23361.7 13 -23372.7 14 -23383.6 13 -23394.6 13 -23405.6 13 -23416.5 13 -23427.5 14 -23438.5 13 -23449.4 13 -23460.4 13 -23471.4 13 -23482.3 13 -23493.3 13 -23504.3 13 -23515.2 13 -23526.2 13 -23537.2 13 -23548.1 13 -23559.1 14 -23570.1 13 -23581 14 -23592 14 -23603 14 -23614 14 -23624.9 14 -23635.9 13 -23646.9 13 -23657.8 14 -23668.8 13 -23679.8 13 -23690.7 13 -23701.7 13 -23712.7 13 -23723.6 13 -23734.6 13 -23745.6 13 -23756.5 13 -23767.5 14 -23778.5 14 -23789.4 14 -23800.4 14 -23811.4 13 -23822.3 13 -23833.3 14 -23844.3 13 -23855.2 13 -23866.2 14 -23877.2 13 -23888.2 14 -23899.1 13 -23910.1 14 -23921.1 14 -23932 13 -23943 14 -23954 13 -23964.9 13 -23975.9 13 -23986.9 14 -23997.8 14 -24008.8 13 -24019.8 14 -24030.7 13 -24041.7 14 -24052.7 13 -24063.6 13 -24074.6 13 -24085.6 13 -24096.5 14 -24107.5 14 -24118.5 13 -24129.4 14 -24140.4 14 -24151.4 14 -24162.3 14 -24173.3 13 -24184.3 14 -24195.3 14 -24206.2 14 -24217.2 14 -24228.2 14 -24239.1 14 -24250.1 14 -24261.1 14 -24272 14 -24283 14 -24294 14 -24304.9 14 -24315.9 14 -24326.9 14 -24337.8 14 -24348.8 14 -24359.8 14 -24370.7 14 -24381.7 14 -24392.7 14 -24403.6 14 -24414.6 14 -24425.6 14 -24436.5 14 -24447.5 14 -24458.5 14 -24469.5 14 -24480.4 14 -24491.4 14 -24502.4 14 -24513.3 14 -24524.3 14 -24535.3 14 -24546.2 14 -24557.2 14 -24568.2 14 -24579.1 14 -24590.1 14 -24601.1 14 -24612 14 -24623 14 -24634 14 -24644.9 14 -24655.9 14 -24666.9 14 -24677.8 12 -24688.8 10 -24699.8 10 -24710.7 11 -24721.7 12 -24732.7 11 -24743.7 11 -24754.6 11 -24765.6 11 -24776.6 11 -24787.5 11 -24798.5 11 -24809.5 11 -24820.4 11 -24831.4 11 -24842.4 11 -24853.3 11 -24864.3 12 -24875.3 12 -24886.2 12 -24897.2 12 -24908.2 12 -24919.1 12 -24930.1 12 -24941.1 12 -24952 12 -24963 12 -24974 12 -24984.9 12 -24995.9 12 -25006.9 12 -25017.8 12 -25028.8 12 -25039.8 12 -25050.8 12 -25061.7 12 -25072.7 12 -25083.7 12 -25094.6 12 -25105.6 12 -25116.6 12 -25127.5 12 -25138.5 12 -25149.5 12 -25160.4 12 -25171.4 12 -25182.4 12 -25193.3 12 -25204.3 12 -25215.3 12 -25226.2 12 -25237.2 12 -25248.2 12 -25259.1 12 -25270.1 12 -25281.1 12 -25292 12 -25303 12 -25314 12 -25325 12 -25335.9 12 -25346.9 12 -25357.9 12 -25368.8 12 -25379.8 12 -25390.8 12 -25401.7 12 -25412.7 12 -25423.7 12 -25434.6 12 -25445.6 12 -25456.6 12 -25467.5 12 -25478.5 12 -25489.5 12 -25500.4 12 -25511.4 12 -25522.4 12 -25533.3 12 -25544.3 12 -25555.3 12 -25566.2 12 -25577.2 12 -25588.2 12 -25599.1 12 -25610.1 12 -25621.1 13 -25632.1 14 -25643 14 -25654 14 -25665 14 -25675.9 14 -25686.9 15 -25697.9 15 -25708.8 15 -25719.8 15 -25730.8 15 -25741.7 15 -25752.7 16 -25763.7 15 -25774.6 15 -25785.6 15 -25796.6 15 -25807.5 15 -25818.5 15 -25829.5 15 -25840.4 15 -25851.4 15 -25862.4 16 -25873.3 15 -25884.3 15 -25895.3 15 -25906.3 15 -25917.2 15 -25928.2 15 -25939.2 15 -25950.1 15 -25961.1 15 -25972.1 16 -25983 15 -25994 15 -26005 15 -26015.9 15 -26026.9 15 -26037.9 15 -26048.8 15 -26059.8 15 -26070.8 15 -26081.7 15 -26092.7 15 -26103.7 15 -26114.6 15 -26125.6 15 -26136.6 15 -26147.5 15 -26158.5 15 -26169.5 15 -26180.4 16 -26191.4 15 -26202.4 15 -26213.4 15 -26224.3 15 -26235.3 15 -26246.3 15 -26257.2 15 -26268.2 15 -26279.2 15 -26290.1 15 -26301.1 15 -26312.1 15 -26323 15 -26334 15 -26345 15 -26355.9 15 -26366.9 15 -26377.9 15 -26388.8 15 -26399.8 15 -26410.8 15 -26421.7 15 -26432.7 15 -26443.7 15 -26454.6 15 -26465.6 15 -26476.6 15 -26487.6 15 -26498.5 15 -26509.5 15 -26520.5 15 -26531.4 15 -26542.4 15 -26553.4 15 -26564.3 15 -26575.3 15 -26586.3 15 -26597.2 15 -26608.2 15 -26619.2 15 -26630.1 15 -26641.1 15 -26652.1 15 -26663 15 -26674 15 -26685 15 -26695.9 15 -26706.9 16 -26717.9 15 -26728.8 15 -26739.8 15 -26750.8 15 -26761.7 16 -26772.7 16 -26783.7 15 -26794.7 15 -26805.6 15 -26816.6 15 -26827.6 15 -26838.5 16 -26849.5 15 -26860.5 15 -26871.4 15 -26882.4 15 -26893.4 15 -26904.3 16 -26915.3 15 -26926.3 15 -26937.2 16 -26948.2 15 -26959.2 15 -26970.1 15 -26981.1 15 -26992.1 15 -27003 15 -27014 15 -27025 16 -27035.9 16 -27046.9 15 -27057.9 15 -27068.9 15 -27079.8 15 -27090.8 15 -27101.8 15 -27112.7 15 -27123.7 15 -27134.7 15 -27145.6 15 -27156.6 15 -27167.6 15 -27178.5 15 -27189.5 15 -27200.5 15 -27211.4 15 -27222.4 15 -27233.4 15 -27244.3 15 -27255.3 15 -27266.3 15 -27277.2 15 -27288.2 15 -27299.2 15 -27310.1 15 -27321.1 15 -27332.1 15 -27343 15 -27354 15 -27365 15 -27376 15 -27386.9 16 -27397.9 16 -27408.9 16 -27419.8 16 -27430.8 16 -27441.8 16 -27452.7 14 -27463.7 14 -27474.7 15 -27485.6 16 -27496.6 16 -27507.6 16 -27518.5 16 -27529.5 16 -27540.5 16 -27551.4 17 -27562.4 18 -27573.4 18 -27584.3 18 -27595.3 18 -27606.3 18 -27617.2 18 -27628.2 18 -27639.2 18 -27650.2 18 -27661.1 18 -27672.1 18 -27683.1 18 -27694 18 -27705 18 -27716 18 -27726.9 18 -27737.9 18 -27748.9 18 -27759.8 18 -27770.8 18 -27781.8 18 -27792.7 18 -27803.7 18 -27814.7 18 -27825.6 18 -27836.6 18 -27847.6 18 -27858.5 18 -27869.5 18 -27880.5 18 -27891.4 18 -27902.4 18 -27913.4 14 -27924.3 14 -27935.3 14 -27946.3 14 -27957.3 13 -27968.2 13 -27979.2 13 -27990.2 13 -28001.1 13 -28012.1 13 -28023.1 13 -28034 14 -28045 14 -28056 13 -28066.9 14 -28077.9 13 -28088.9 13 -28099.8 13 -28110.8 13 -28121.8 14 -28132.7 14 -28143.7 14 -28154.7 14 -28165.6 14 -28176.6 13 -28187.6 13 -28198.5 14 -28209.5 14 -28220.5 14 -28231.5 13 -28242.4 14 -28253.4 14 -28264.4 14 -28275.3 14 -28286.3 14 -28297.3 14 -28308.2 14 -28319.2 14 -28330.2 14 -28341.1 14 -28352.1 14 -28363.1 14 -28374 14 -28385 14 -28396 14 -28406.9 14 -28417.9 14 -28428.9 14 -28439.8 14 -28450.8 14 -28461.8 14 -28472.7 14 -28483.7 14 -28494.7 14 -28505.7 14 -28516.6 14 -28527.6 14 -28538.6 14 -28549.5 14 -28560.5 14 -28571.5 14 -28582.4 14 -28593.4 14 -28604.4 14 -28615.3 14 -28626.3 14 -28637.3 14 -28648.2 14 -28659.2 14 -28670.2 14 -28681.1 14 -28692.1 14 -28703.1 14 -28714 14 -28725 14 -28736 14 -28746.9 14 -28757.9 14 -28768.9 14 -28779.8 14 -28790.8 15 -28801.8 17 -28812.8 18 -28823.7 17 -28834.7 17 -28845.7 17 -28856.6 17 -28867.6 17 -28878.6 18 -28889.5 17 -28900.5 17 -28911.5 17 -28922.4 17 -28933.4 17 -28944.4 18 -28955.3 17 -28966.3 17 -28977.3 17 -28988.2 17 -28999.2 18 -29010.2 18 -29021.1 17 -29032.1 18 -29043.1 17 -29054 17 -29065 17 -29076 18 -29087 18 -29097.9 17 -29108.9 18 -29119.9 18 -29130.8 17 -29141.8 17 -29152.8 18 -29163.7 17 -29174.7 18 -29185.7 18 -29196.6 18 -29207.6 17 -29218.6 17 -29229.5 18 -29240.5 18 -29251.5 17 -29262.4 17 -29273.4 17 -29284.4 17 -29295.3 18 -29306.3 17 -29317.3 18 -29328.2 17 -29339.2 17 -29350.2 18 -29361.1 17 -29372.1 17 -29383.1 17 -29394.1 17 -29405 17 -29416 17 -29427 18 -29437.9 17 -29448.9 17 -29459.9 18 -29470.8 18 -29481.8 17 -29492.8 18 -29503.7 17 -29514.7 18 -29525.7 16 -29536.6 17 -29547.6 18 -29558.6 17 -29569.5 17 -29580.5 17 -29591.5 17 -29602.4 18 -29613.4 17 -29624.4 17 -29635.3 18 -29646.3 18 -29657.3 17 -29668.3 17 -29679.2 17 -29690.2 18 -29701.2 17 -29712.1 18 -29723.1 17 -29734.1 18 -29745 17 -29756 17 -29767 17 -29777.9 18 -29788.9 17 -29799.9 18 -29810.8 17 -29821.8 18 -29832.8 18 -29843.7 17 -29854.7 17 -29865.7 17 -29876.6 17 -29887.6 16 -29898.6 18 -29909.5 17 -29920.5 17 -29931.5 18 -29942.4 17 -29953.4 17 -29964.4 17 -29975.4 18 -29986.3 18 -29997.3 17 -30008.3 17 -30019.2 17 -30030.2 17 -30041.2 18 -30052.1 17 -30063.1 18 -30074.1 17 -30085 17 -30096 18 -30107 18 -30117.9 17 -30128.9 18 -30139.9 17 -30150.8 18 -30161.8 17 -30172.8 18 -30183.7 17 -30194.7 18 -30205.7 17 -30216.6 17 -30227.6 17 -30238.6 18 -30249.6 17 -30260.5 17 -30271.5 17 -30282.5 18 -30293.4 17 -30304.4 18 -30315.4 18 -30326.3 18 -30337.3 18 -30348.3 17 -30359.2 18 -30370.2 18 -30381.2 17 -30392.1 17 -30403.1 17 -30414.1 17 -30425 17 -30436 18 -30447 17 -30457.9 17 -30468.9 18 -30479.9 17 -30490.8 18 -30501.8 18 -30512.8 17 -30523.7 17 -30534.7 17 -30545.7 17 -30556.7 17 -30567.6 17 -30578.6 17 -30589.6 17 -30600.5 18 -30611.5 17 -30622.5 17 -30633.4 17 -30644.4 17 -30655.4 18 -30666.3 17 -30677.3 17 -30688.3 18 -30699.2 17 -30710.2 17 -30721.2 17 -30732.1 18 -30743.1 17 -30754.1 18 -30765 18 -30776 18 -30787 17 -30797.9 17 -30808.9 17 -30819.9 18 -30830.9 17 -30841.8 18 -30852.8 18 -30863.8 18 -30874.7 17 -30885.7 18 -30896.7 17 -30907.6 18 -30918.6 17 -30929.6 17 -30940.5 17 -30951.5 17 -30962.5 18 -30973.4 18 -30984.4 17 -30995.4 18 -31006.3 17 -31017.3 17 -31028.3 18 -31039.2 17 -31050.2 17 -31061.2 17 -31072.1 17 -31083.1 18 -31094.1 17 -31105 17 -31116 18 -31127 17 -31138 17 -31148.9 17 -31159.9 17 -31170.9 18 -31181.8 17 -31192.8 18 -31203.8 17 -31214.7 18 -31225.7 17 -31236.7 17 -31247.6 17 -31258.6 18 -31269.6 18 -31280.5 18 -31291.5 18 -31302.5 17 -31313.4 17 -31324.4 17 -31335.4 17 -31346.3 17 -31357.3 17 -31368.3 17 -31379.2 18 -31390.2 17 -31401.2 17 -31412.2 17 -31423.1 17 -31434.1 18 -31445.1 17 -31456 17 -31467 18 -31478 17 -31488.9 17 -31499.9 18 -31510.9 17 -31521.8 18 -31532.8 17 -31543.8 18 -31554.7 17 -31565.7 18 -31576.7 17 -31587.6 18 -31598.6 18 -31609.6 18 -31620.5 18 -31631.5 18 -31642.5 17 -31653.4 18 -31664.4 18 -31675.4 17 -31686.3 17 -31697.3 18 -31708.3 17 -31719.3 17 -31730.2 17 -31741.2 17 -31752.2 17 -31763.1 18 -31774.1 18 -31785.1 18 -31796 18 -31807 17 -31818 17 -31828.9 17 -31839.9 17 -31850.9 17 -31861.8 17 -31872.8 17 -31883.8 18 -31894.7 17 -31905.7 17 -31916.7 17 -31927.6 18 -31938.6 18 -31949.6 18 -31960.5 18 -31971.5 18 -31982.5 18 -31993.5 17 -32004.4 16 -32015.4 16 -32026.4 16 -32037.3 16 -32048.3 16 -32059.3 16 -32070.2 16 -32081.2 16 -32092.2 16 -32103.1 16 -32114.1 16 -32125.1 16 -32136 16 -32147 16 -32158 16 -32168.9 16 -32179.9 16 -32190.9 16 -32201.8 16 -32212.8 16 -32223.8 16 -32234.7 16 -32245.7 16 -32256.7 16 -32267.7 16 -32278.6 16 -32289.6 16 -32300.6 16 -32311.5 16 -32322.5 15 -32333.5 16 -32344.4 16 -32355.4 15 -32366.4 16 -32377.3 16 -32388.3 16 -32399.3 15 -32410.2 15 -32421.2 16 -32432.2 15 -32443.1 16 -32454.1 15 -32465.1 15 -32476 15 -32487 15 -32498 16 -32508.9 15 -32519.9 15 -32530.9 15 -32541.8 15 -32552.8 15 -32563.8 16 -32574.8 16 -32585.7 16 -32596.7 16 -32607.7 16 -32618.6 16 -32629.6 16 -32640.6 16 -32651.5 16 -32662.5 16 -32673.5 16 -32684.4 16 -32695.4 14 -32706.4 14 -32717.3 14 -32728.3 14 -32739.3 14 -32750.2 14 -32761.2 14 -32772.2 14 -32783.1 14 -32794.1 14 -32805.1 14 -32816 14 -32827 14 -32838 14 -32849 14 -32859.9 14 -32870.9 14 -32881.9 14 -32892.8 14 -32903.8 13 -32914.8 14 -32925.7 14 -32936.7 14 -32947.7 13 -32958.6 13 -32969.6 13 -32980.6 14 -32991.5 13 -33002.5 13 -33013.5 13 -33024.4 13 -33035.4 14 -33046.4 13 -33057.3 13 -33068.3 14 -33079.3 13 -33090.2 13 -33101.2 13 -33112.2 14 -33123.1 14 -33134.1 13 -33145.1 14 -33156.1 13 -33167 13 -33178 13 -33189 14 -33199.9 13 -33210.9 13 -33221.9 13 -33232.8 13 -33243.8 13 -33254.8 13 -33265.7 13 -33276.7 13 -33287.7 13 -33298.6 14 -33309.6 13 -33320.6 14 -33331.5 14 -33342.5 14 -33353.5 14 -33364.4 13 -33375.4 14 -33386.4 13 -33397.3 14 -33408.3 13 -33419.3 13 -33430.3 13 -33441.2 14 -33452.2 13 -33463.2 14 -33474.1 13 -33485.1 13 -33496.1 14 -33507 14 -33518 14 -33529 14 -33539.9 14 -33550.9 14 -33561.9 14 -33572.8 14 -33583.8 14 -33594.8 14 -33605.7 14 -33616.7 14 -33627.7 14 -33638.6 14 -33649.6 14 -33660.6 14 -33671.5 14 -33682.5 14 -33693.5 14 -33704.4 14 -33715.4 14 -33726.4 14 -33737.4 14 -33748.3 14 -33759.3 14 -33770.3 14 -33781.2 14 -33792.2 14 -33803.2 14 -33814.1 14 -33825.1 14 -33836.1 14 -33847 14 -33858 14 -33869 14 -33879.9 14 -33890.9 14 -33901.9 13 -33912.8 12 -33923.8 12 -33934.8 12 -33945.7 12 -33956.7 12 -33967.7 12 -33978.6 12 -33989.6 12 -34000.6 12 -34011.6 12 -34022.5 12 -34033.5 12 -34044.5 12 -34055.4 12 -34066.4 12 -34077.4 12 -34088.3 12 -34099.3 12 -34110.3 12 -34121.2 12 -34132.2 12 -34143.2 12 -34154.1 12 -34165.1 12 -34176.1 12 -34187 12 -34198 12 -34209 12 -34219.9 12 -34230.9 12 -34241.9 12 -34252.8 12 -34263.8 12 -34274.8 12 -34285.7 12 -34296.7 12 -34307.7 12 -34318.7 12 -34329.6 12 -34340.6 12 -34351.6 12 -34362.5 12 -34373.5 12 -34384.5 12 -34395.4 12 -34406.4 12 -34417.4 12 -34428.3 12 -34439.3 12 -34450.3 12 -34461.2 12 -34472.2 12 -34483.2 12 -34494.1 12 -34505.1 12 -34516.1 12 -34527 12 -34538 12 -34549 12 -34559.9 12 -34570.9 12 -34581.9 12 -34592.9 12 -34603.8 12 -34614.8 12 -34625.8 12 -34636.7 12 -34647.7 12 -34658.7 12 -34669.6 11 -34680.6 10 -34691.6 10 -34702.5 10 -34713.5 10 -34724.5 9 -34735.4 8 -34746.4 8 -34757.4 8 -34768.3 8 -34779.3 8 -34790.3 8 -34801.2 8 -34812.2 8 -34823.2 8 -34834.1 8 -34845.1 8 -34856.1 8 -34867 8 -34878 8 -34889 8 -34900 8 -34910.9 8 -34921.9 8 -34932.9 8 -34943.8 8 -34954.8 8 -34965.8 8 -34976.7 8 -34987.7 8 -34998.7 7 -35009.6 6 -35020.6 6 -35031.6 6 -35042.5 6 -35053.5 6 -35064.5 5 -35075.4 4 -35086.4 4 -35097.4 4 -35108.3 4 -35119.3 4 -35130.3 4 -35141.2 4 -35152.2 4 -35163.2 4 -35174.2 4 -35185.1 4 -35196.1 4 -35207.1 4 -35218 4 -35229 4 -35240 4 -35250.9 4 -35261.9 4 -35272.9 4 -35283.8 4 -35294.8 4 -35305.8 4 -35316.7 4 -35327.7 4 -35338.7 4 -35349.6 4 -35360.6 4 -35371.6 4 -35382.5 4 -35393.5 4 -35404.5 4 -35415.4 4 -35426.4 4 -35437.4 4 -35448.3 4 -35459.3 4 -35470.3 4 -35481.3 4 -35492.2 4 -35503.2 4 -35514.2 4 -35525.1 4 -35536.1 4 -35547.1 4 -35558 4 -35569 4 -35580 4 -35590.9 4 -35601.9 4 -35612.9 4 -35623.8 4 -35634.8 4 -35645.8 4 -35656.7 4 -35667.7 4 -35678.7 4 -35689.6 4 -35700.6 4 -35711.6 4 -35722.5 4 -35733.5 4 -35744.5 4 -35755.5 4 -35766.4 4 -35777.4 4 -35788.4 4 -35799.3 4 -35810.3 4 -35821.3 4 -35832.2 4 -35843.2 4 -35854.2 4 -35865.1 4 -35876.1 4 -35887.1 4 -35898 4 -35909 4 -35920 4 -35930.9 4 -35941.9 4 -35952.9 4 -35963.8 4 -35974.8 4 -35985.8 4 -35996.7 4 -36007.7 4 -36018.7 4 -36029.7 4 -36040.6 4 -36051.6 4 -36062.6 4 -36073.5 4 -36084.5 4 -36095.5 4 -36106.4 3 -36117.4 1 -36128.4 1 -36139.3 7 -36150.3 11 -36161.3 13 -36172.2 20 -36183.2 23 -36194.2 23 -36205.1 23 -36216.1 24 -36227.1 23 -36238 24 -36249 23 -36260 23 -36270.9 23 -36281.9 23 -36292.9 23 -36303.8 25 -36314.8 25 -36325.8 25 -36336.8 25 -36347.7 25 -36358.7 25 -36369.7 26 -36380.6 26 -36391.6 25 -36402.6 26 -36413.5 25 -36424.5 25 -36435.5 26 -36446.4 26 -36457.4 25 -36468.4 26 -36479.3 25 -36490.3 26 -36501.3 26 -36512.2 25 -36523.2 25 -36534.2 25 -36545.1 25 -36556.1 25 -36567.1 26 -36578 25 -36589 25 -36600 25 -36611 25 -36621.9 25 -36632.9 25 -36643.9 25 -36654.8 25 -36665.8 26 -36676.8 26 -36687.7 25 -36698.7 25 -36709.7 25 -36720.6 25 -36731.6 25 -36742.6 25 -36753.5 25 -36764.5 25 -36775.5 25 -36786.4 26 -36797.4 26 -36808.4 25 -36819.3 25 -36830.3 25 -36841.3 25 -36852.2 25 -36863.2 25 -36874.2 25 -36885.1 25 -36896.1 25 -36907.1 25 -36918.1 25 -36929 25 -36940 26 -36951 25 -36961.9 25 -36972.9 25 -36983.9 26 -36994.8 25 -37005.8 25 -37016.8 26 -37027.7 25 -37038.7 25 -37049.7 26 -37060.6 26 -37071.6 26 -37082.6 25 -37093.5 26 -37104.5 25 -37115.5 25 -37126.4 25 -37137.4 26 -37148.4 26 -37159.3 25 -37170.3 25 -37181.3 26 -37192.3 26 -37203.2 26 -37214.2 25 -37225.2 25 -37236.1 26 -37247.1 25 -37258.1 25 -37269 25 -37280 26 -37291 25 -37301.9 25 -37312.9 25 -37323.9 26 -37334.8 26 -37345.8 26 -37356.8 26 -37367.7 25 -37378.7 26 -37389.7 26 -37400.6 25 -37411.6 26 -37422.6 25 -37433.5 25 -37444.5 26 -37455.5 25 -37466.4 26 -37477.4 25 -37488.4 26 -37499.4 26 -37510.3 25 -37521.3 26 -37532.3 25 -37543.2 25 -37554.2 25 -37565.2 25 -37576.1 26 -37587.1 26 -37598.1 25 -37609 26 -37620 25 -37631 26 -37641.9 26 -37652.9 25 -37663.9 25 -37674.8 26 -37685.8 25 -37696.8 25 -37707.7 25 -37718.7 25 -37729.7 25 -37740.6 26 -37751.6 25 -37762.6 26 -37773.6 26 -37784.5 26 -37795.5 25 -37806.5 25 -37817.4 26 -37828.4 25 -37839.4 25 -37850.3 26 -37861.3 25 -37872.3 25 -37883.2 25 -37894.2 25 -37905.2 25 -37916.1 26 -37927.1 25 -37938.1 25 -37949 25 -37960 26 -37971 25 -37981.9 26 -37992.9 26 -38003.9 26 -38014.8 26 -38025.8 25 -38036.8 26 -38047.7 25 -38058.7 25 -38069.7 25 -38080.7 26 -38091.6 25 -38102.6 25 -38113.6 26 -38124.5 26 -38135.5 25 -38146.5 25 -38157.4 26 -38168.4 25 -38179.4 26 -38190.3 25 -38201.3 25 -38212.3 26 -38223.2 26 -38234.2 25 -38245.2 26 -38256.1 26 -38267.1 25 -38278.1 26 -38289 25 -38300 25 -38311 26 -38321.9 25 -38332.9 26 -38343.9 25 -38354.9 26 -38365.8 26 -38376.8 26 -38387.8 25 -38398.7 25 -38409.7 26 -38420.7 26 -38431.6 26 -38442.6 26 -38453.6 26 -38464.5 25 -38475.5 26 -38486.5 25 -38497.4 25 -38508.4 25 -38519.4 25 -38530.3 26 -38541.3 25 -38552.3 26 -38563.2 25 -38574.2 25 -38585.2 26 -38596.1 25 -38607.1 25 -38618.1 26 -38629 26 -38640 26 -38651 25 -38662 25 -38672.9 25 -38683.9 25 -38694.9 25 -38705.8 26 -38716.8 25 -38727.8 26 -38738.7 26 -38749.7 25 -38760.7 26 -38771.6 26 -38782.6 25 -38793.6 26 -38804.5 25 -38815.5 25 -38826.5 25 -38837.4 25 -38848.4 26 -38859.4 25 -38870.3 25 -38881.3 24 -38892.3 25 -38903.2 26 -38914.2 26 -38925.2 25 -38936.2 26 -38947.1 25 -38958.1 25 -38969.1 25 -38980 26 -38991 26 -39002 25 -39012.9 25 -39023.9 25 -39034.9 25 -39045.8 25 -39056.8 25 -39067.8 25 -39078.7 25 -39089.7 25 -39100.7 25 -39111.6 25 -39122.6 25 -39133.6 25 -39144.5 26 -39155.5 26 -39166.5 25 -39177.4 26 -39188.4 25 -39199.4 25 -39210.3 25 -39221.3 26 -39232.3 25 -39243.3 25 -39254.2 25 -39265.2 25 -39276.2 25 -39287.1 26 -39298.1 26 -39309.1 25 -39320 26 -39331 26 -39342 26 -39352.9 26 -39363.9 25 -39374.9 25 -39385.8 25 -39396.8 26 -39407.8 26 -39418.7 26 -39429.7 25 -39440.7 25 -39451.6 25 -39462.6 25 -39473.6 25 -39484.5 25 -39495.5 25 -39506.5 26 -39517.5 25 -39528.4 26 -39539.4 25 -39550.4 25 -39561.3 25 -39572.3 26 -39583.3 25 -39594.2 25 -39605.2 26 -39616.2 25 -39627.1 25 -39638.1 25 -39649.1 25 -39660 26 -39671 25 -39682 26 -39692.9 25 -39703.9 25 -39714.9 25 -39725.8 26 -39736.8 26 -39747.8 25 -39758.7 25 -39769.7 25 -39780.7 26 -39791.7 26 -39802.6 25 -39813.6 24 -39824.6 25 -39835.5 26 -39846.5 26 -39857.5 25 -39868.4 26 -39879.4 26 -39890.4 26 -39901.3 25 -39912.3 26 -39923.3 25 -39934.2 25 -39945.2 25 -39956.2 26 -39967.1 25 -39978.1 25 -39989.1 25 -40000 24 -40011 26 -40022 25 -40032.9 26 -40043.9 25 -40054.9 25 -40065.8 25 -40076.8 26 -40087.8 26 -40098.8 25 -40109.7 25 -40120.7 25 -40131.7 26 -40142.6 25 -40153.6 25 -40164.6 26 -40175.5 26 -40186.5 25 -40197.5 26 -40208.4 26 -40219.4 25 -40230.4 26 -40241.3 26 -40252.3 26 -40263.3 25 -40274.2 25 -40285.2 26 -40296.2 26 -40307.1 25 -40318.1 26 -40329.1 26 -40340 25 -40351 26 -40362 26 -40373 26 -40383.9 25 -40394.9 25 -40405.9 25 -40416.8 25 -40427.8 26 -40438.8 25 -40449.7 25 -40460.7 25 -40471.7 26 -40482.6 25 -40493.6 26 -40504.6 26 -40515.5 26 -40526.5 25 -40537.5 26 -40548.4 26 -40559.4 25 -40570.4 25 -40581.3 25 -40592.3 25 -40603.3 25 -40614.2 25 -40625.2 25 -40636.2 25 -40647.1 25 -40658.1 26 -40669.1 24 -40680.1 25 -40691 25 -40702 25 -40713 25 -40723.9 25 -40734.9 26 -40745.9 25 -40756.8 25 -40767.8 26 -40778.8 25 -40789.7 25 -40800.7 26 -40811.7 25 -40822.6 25 -40833.6 25 -40844.6 25 -40855.5 25 -40866.5 25 -40877.5 25 -40888.4 26 -40899.4 25 -40910.4 25 -40921.3 25 -40932.3 25 -40943.3 25 -40954.3 24 -40965.2 26 -40976.2 25 -40987.2 25 -40998.1 25 -41009.1 25 -41020.1 25 -41031 25 -41042 26 -41053 26 -41063.9 26 -41074.9 26 -41085.9 26 -41096.8 25 -41107.8 25 -41118.8 26 -41129.7 26 -41140.7 25 -41151.7 26 -41162.6 25 -41173.6 25 -41184.6 26 -41195.5 25 -41206.5 25 -41217.5 26 -41228.4 25 -41239.4 26 -41250.4 26 -41261.4 25 -41272.3 26 -41283.3 25 -41294.3 25 -41305.2 25 -41316.2 26 -41327.2 25 -41338.1 25 -41349.1 25 -41360.1 25 -41371 25 -41382 26 -41393 25 -41403.9 25 -41414.9 26 -41425.9 25 -41436.8 25 -41447.8 26 -41458.8 25 -41469.7 25 -41480.7 26 -41491.7 26 -41502.6 25 -41513.6 25 -41524.6 25 -41535.6 25 -41546.5 26 -41557.5 26 -41568.5 25 -41579.4 25 -41590.4 25 -41601.4 26 -41612.3 25 -41623.3 25 -41634.3 26 -41645.2 25 -41656.2 26 -41667.2 26 -41678.1 25 -41689.1 26 -41700.1 26 -41711 26 -41722 25 -41733 25 -41743.9 25 -41754.9 26 -41765.9 26 -41776.8 25 -41787.8 26 -41798.8 25 -41809.7 26 -41820.7 25 -41831.7 25 -41842.7 26 -41853.6 25 -41864.6 25 -41875.6 26 -41886.5 25 -41897.5 26 -41908.5 26 -41919.4 25 -41930.4 26 -41941.4 25 -41952.3 26 -41963.3 25 -41974.3 26 -41985.2 25 -41996.2 25 -42007.2 25 -42018.1 25 -42029.1 26 -42040.1 25 -42051 26 -42062 25 -42073 25 -42083.9 26 -42094.9 25 -42105.9 26 -42116.9 26 -42127.8 25 -42138.8 26 -42149.8 25 -42160.7 25 -42171.7 25 -42182.7 26 -42193.6 25 -42204.6 25 -42215.6 26 -42226.5 25 -42237.5 26 -42248.5 26 -42259.4 25 -42270.4 25 -42281.4 25 -42292.3 25 -42303.3 24 -42314.3 25 -42325.2 25 -42336.2 26 -42347.2 25 -42358.1 25 -42369.1 26 -42380.1 25 -42391 25 -42402 26 -42413 25 -42424 26 -42434.9 25 -42445.9 26 -42456.9 25 -42467.8 26 -42478.8 26 -42489.8 26 -42500.7 26 -42511.7 25 -42522.7 26 -42533.6 25 -42544.6 26 -42555.6 25 -42566.5 26 -42577.5 25 -42588.5 25 -42599.4 26 -42610.4 25 -42621.4 26 -42632.3 25 -42643.3 25 -42654.3 25 -42665.2 26 -42676.2 25 -42687.2 26 -42698.2 25 -42709.1 26 -42720.1 26 -42731.1 26 -42742 26 -42753 25 -42764 25 -42774.9 26 -42785.9 25 -42796.9 26 -42807.8 25 -42818.8 26 -42829.8 25 -42840.7 26 -42851.7 25 -42862.7 26 -42873.6 25 -42884.6 26 -42895.6 25 -42906.5 25 -42917.5 26 -42928.5 26 -42939.4 25 -42950.4 26 -42961.4 26 -42972.3 25 -42983.3 25 -42994.3 26 -43005.3 26 -43016.2 25 -43027.2 25 -43038.2 26 -43049.1 25 -43060.1 25 -43071.1 25 -43082 26 -43093 26 -43104 25 -43114.9 25 -43125.9 26 -43136.9 25 -43147.8 26 -43158.8 25 -43169.8 26 -43180.7 26 -43191.7 26 -43202.7 25 -43213.6 25 -43224.6 25 -43235.6 26 -43246.5 26 -43257.5 25 -43268.5 25 -43279.5 25 -43290.4 26 -43301.4 26 -43312.4 25 -43323.3 26 -43334.3 26 -43345.3 26 -43356.2 25 -43367.2 25 -43378.2 25 -43389.1 26 -43400.1 25 -43411.1 26 -43422 25 -43433 25 -43444 25 -43454.9 25 -43465.9 25 -43476.9 26 -43487.8 25 -43498.8 25 -43509.8 25 -43520.7 25 -43531.7 26 -43542.7 25 -43553.7 26 -43564.6 25 -43575.6 24 -43586.6 25 -43597.5 26 -43608.5 25 -43619.5 26 -43630.4 26 -43641.4 25 -43652.4 26 -43663.3 26 -43674.3 25 -43685.3 25 -43696.2 25 -43707.2 26 -43718.2 26 -43729.1 25 -43740.1 25 -43751.1 25 -43762 26 -43773 25 -43784 25 -43794.9 26 -43805.9 26 -43816.9 25 -43827.8 25 -43838.8 25 -43849.8 25 -43860.8 25 -43871.7 26 -43882.7 25 -43893.7 26 -43904.6 25 -43915.6 26 -43926.6 25 -43937.5 26 -43948.5 25 -43959.5 25 -43970.4 25 -43981.4 26 -43992.4 25 -44003.3 26 -44014.3 25 -44025.3 25 -44036.2 25 -44047.2 25 -44058.2 25 -44069.1 26 -44080.1 25 -44091.1 25 -44102 25 -44113 25 -44124 25 -44135 25 -44145.9 25 -44156.9 25 -44167.9 26 -44178.8 25 -44189.8 25 -44200.8 25 -44211.7 25 -44222.7 25 -44233.7 26 -44244.6 25 -44255.6 26 -44266.6 26 -44277.5 26 -44288.5 25 -44299.5 26 -44310.4 26 -44321.4 25 -44332.4 25 -44343.3 25 -44354.3 25 -44365.3 26 -44376.2 25 -44387.2 26 -44398.2 26 -44409.1 25 -44420.1 25 -44431.1 25 -44442.1 25 -44453 25 -44464 26 -44475 25 -44485.9 25 -44496.9 26 -44507.9 26 -44518.8 25 -44529.8 26 -44540.8 25 -44551.7 26 -44562.7 26 -44573.7 25 -44584.6 25 -44595.6 25 -44606.6 25 -44617.5 25 -44628.5 25 -44639.5 25 -44650.4 25 -44661.4 25 -44672.4 26 -44683.3 26 -44694.3 25 -44705.3 26 -44716.3 26 -44727.2 26 -44738.2 25 -44749.2 26 -44760.1 25 -44771.1 25 -44782.1 26 -44793 25 -44804 26 -44815 26 -44825.9 25 -44836.9 26 -44847.9 25 -44858.8 26 -44869.8 25 -44880.8 25 -44891.7 26 -44902.7 26 -44913.7 25 -44924.6 26 -44935.6 25 -44946.6 25 -44957.5 25 -44968.5 25 -44979.5 25 -44990.4 25 -45001.4 26 -45012.4 25 -45023.4 26 -45034.3 25 -45045.3 25 -45056.3 25 -45067.2 25 -45078.2 26 -45089.2 25 -45100.1 26 -45111.1 25 -45122.1 26 -45133 25 -45144 26 -45155 26 -45165.9 25 -45176.9 25 -45187.9 26 -45198.8 25 -45209.8 26 -45220.8 25 -45231.7 25 -45242.7 26 -45253.7 25 -45264.6 25 -45275.6 26 -45286.6 25 -45297.6 25 -45308.5 25 -45319.5 26 -45330.5 26 -45341.4 26 -45352.4 25 -45363.4 26 -45374.3 26 -45385.3 25 -45396.3 25 -45407.2 26 -45418.2 25 -45429.2 25 -45440.1 25 -45451.1 25 -45462.1 25 -45473 25 -45484 25 -45495 25 -45505.9 26 -45516.9 25 -45527.9 25 -45538.8 25 -45549.8 25 -45560.8 25 -45571.7 26 -45582.7 26 -45593.7 25 -45604.7 25 -45615.6 25 -45626.6 25 -45637.6 25 -45648.5 25 -45659.5 26 -45670.5 25 -45681.4 25 -45692.4 25 -45703.4 25 -45714.3 26 -45725.3 25 -45736.3 25 -45747.2 25 -45758.2 26 -45769.2 25 -45780.1 25 -45791.1 25 -45802.1 25 -45813 25 -45824 26 -45835 25 -45845.9 25 -45856.9 26 -45867.9 25 -45878.9 25 -45889.8 25 -45900.8 25 -45911.8 25 -45922.7 26 -45933.7 25 -45944.7 25 -45955.6 25 -45966.6 25 -45977.6 26 -45988.5 25 -45999.5 26 -46010.5 26 -46021.4 27 -46032.4 27 -46043.4 27 -46054.3 27 -46065.3 27 -46076.3 28 -46087.2 28 -46098.2 27 -46109.2 28 -46120.1 28 -46131.1 27 -46142.1 27 -46153 27 -46164 27 -46175 29 -46186 29 -46196.9 29 -46207.9 29 -46218.9 29 -46229.8 29 -46240.8 29 -46251.8 30 -46262.7 30 -46273.7 29 -46284.7 29 -46295.6 29 -46306.6 29 -46317.6 29 -46328.5 29 -46339.5 29 -46350.5 29 -46361.4 30 -46372.4 29 -46383.4 29 -46394.3 29 -46405.3 29 -46416.3 29 -46427.2 29 -46438.2 29 -46449.2 30 -46460.2 29 -46471.1 28 -46482.1 29 -46493.1 29 -46504 29 -46515 29 -46526 29 -46536.9 29 -46547.9 29 -46558.9 30 -46569.8 30 -46580.8 28 -46591.8 30 -46602.7 29 -46613.7 30 -46624.7 29 -46635.6 29 -46646.6 29 -46657.6 30 -46668.5 30 -46679.5 30 -46690.5 29 -46701.4 29 -46712.4 30 -46723.4 29 -46734.3 29 -46745.3 30 -46756.3 29 -46767.3 30 -46778.2 30 -46789.2 29 -46800.2 29 -46811.1 29 -46822.1 30 -46833.1 30 -46844 29 -46855 30 -46866 29 -46876.9 29 -46887.9 29 -46898.9 30 -46909.8 30 -46920.8 30 -46931.8 29 -46942.7 30 -46953.7 30 -46964.7 29 -46975.6 29 -46986.6 29 -46997.6 30 -47008.5 29 -47019.5 29 -47030.5 30 -47041.5 30 -47052.4 28 -47063.4 30 -47074.4 30 -47085.3 29 -47096.3 30 -47107.3 29 -47118.2 30 -47129.2 30 -47140.2 30 -47151.1 29 -47162.1 30 -47173.1 29 -47184 30 -47195 29 -47206 30 -47216.9 29 -47227.9 29 -47238.9 29 -47249.8 29 -47260.8 30 -47271.8 29 -47282.7 30 -47293.7 30 -47304.7 30 -47315.7 30 -47326.6 30 -47337.6 30 -47348.6 29 -47359.5 29 -47370.5 30 -47381.5 29 -47392.4 29 -47403.4 29 -47414.4 30 -47425.3 29 -47436.3 29 -47447.3 30 -47458.2 30 -47469.2 30 -47480.2 30 -47491.1 29 -47502.1 29 -47513.1 29 -47524 29 -47535 29 -47546 29 -47556.9 29 -47567.9 30 -47578.9 30 -47589.8 29 -47600.8 29 -47611.8 30 -47622.8 29 -47633.7 29 -47644.7 29 -47655.7 30 -47666.6 29 -47677.6 30 -47688.6 30 -47699.5 29 -47710.5 30 -47721.5 30 -47732.4 29 -47743.4 29 -47754.4 30 -47765.3 30 -47776.3 29 -47787.3 30 -47798.2 30 -47809.2 30 -47820.2 29 -47831.1 30 -47842.1 29 -47853.1 29 -47864 29 -47875 29 -47886 29 -47897 30 -47907.9 29 -47918.9 29 -47929.9 30 -47940.8 29 -47951.8 30 -47962.8 29 -47973.7 29 -47984.7 30 -47995.7 29 -48006.6 29 -48017.6 30 -48028.6 29 -48039.5 29 -48050.5 30 -48061.5 29 -48072.4 29 -48083.4 30 -48094.4 29 -48105.3 29 -48116.3 30 -48127.3 29 -48138.2 30 -48149.2 30 -48160.2 29 -48171.1 29 -48182.1 29 -48193.1 30 -48204.1 29 -48215 29 -48226 29 -48237 29 -48247.9 29 -48258.9 29 -48269.9 30 -48280.8 30 -48291.8 29 -48302.8 30 -48313.7 30 -48324.7 29 -48335.7 29 -48346.6 30 -48357.6 29 -48368.6 29 -48379.5 30 -48390.5 29 -48401.5 29 -48412.4 30 -48423.4 29 -48434.4 29 -48445.3 29 -48456.3 30 -48467.3 30 -48478.3 29 -48489.2 30 -48500.2 29 -48511.2 30 -48522.1 30 -48533.1 29 -48544.1 28 -48555 29 -48566 30 -48577 30 -48587.9 30 -48598.9 30 -48609.9 30 -48620.8 30 -48631.8 30 -48642.8 29 -48653.7 30 -48664.7 30 -48675.7 29 -48686.6 29 -48697.6 29 -48708.6 29 -48719.5 29 -48730.5 29 -48741.5 29 -48752.4 30 -48763.4 30 -48774.4 31 -48785.4 35 -48796.3 35 -48807.3 35 -48818.3 35 -48829.2 35 -48840.2 35 -48851.2 36 -48862.1 35 -48873.1 34 -48884.1 36 -48895 36 -48906 36 -48917 36 -48927.9 36 -48938.9 36 -48949.9 35 -48960.8 36 -48971.8 36 -48982.8 35 -48993.7 35 -49004.7 36 -49015.7 35 -49026.6 36 -49037.6 36 -49048.6 36 -49059.6 36 -49070.5 36 -49081.5 34 -49092.5 35 -49103.4 35 -49114.4 34 -49125.4 36 -49136.3 36 -49147.3 35 -49158.3 36 -49169.2 35 -49180.2 36 -49191.2 36 -49202.1 35 -49213.1 35 -49224.1 36 -49235 35 -49246 35 -49257 35 -49267.9 36 -49278.9 35 -49289.9 36 -49300.8 35 -49311.8 36 -49322.8 36 -49333.7 36 -49344.7 35 -49355.7 35 -49366.7 36 -49377.6 35 -49388.6 35 -49399.6 35 -49410.5 36 -49421.5 35 -49432.5 35 -49443.4 35 -49454.4 36 -49465.4 35 -49476.3 36 -49487.3 35 -49498.3 36 -49509.2 35 -49520.2 35 -49531.2 35 -49542.1 36 -49553.1 35 -49564.1 36 -49575 36 -49586 35 -49597 36 -49607.9 36 -49618.9 36 -49629.9 36 -49640.9 35 -49651.8 36 -49662.8 35 -49673.8 36 -49684.7 36 -49695.7 35 -49706.7 35 -49717.6 36 -49728.6 35 -49739.6 33 -49750.5 35 -49761.5 36 -49772.5 34 -49783.4 35 -49794.4 35 -49805.4 35 -49816.3 35 -49827.3 36 -49838.3 36 -49849.2 36 -49860.2 35 -49871.2 35 -49882.1 36 -49893.1 36 -49904.1 35 -49915 35 -49926 30 -49937 34 -49948 32 -49958.9 35 -49969.9 36 -49980.9 31 -49991.8 35 -50002.8 31 -50013.8 32 -50024.7 35 -50035.7 36 -50046.7 36 -50057.6 35 -50068.6 36 -50079.6 35 -50090.5 36 -50101.5 35 -50112.5 35 -50123.4 36 -50134.4 35 -50145.4 36 -50156.3 35 -50167.3 35 -50178.3 35 -50189.2 34 -50200.2 35 -50211.2 36 -50222.2 32 -50233.1 35 -50244.1 36 -50255.1 36 -50266 35 -50277 36 -50288 36 -50298.9 35 -50309.9 36 -50320.9 35 -50331.8 36 -50342.8 35 -50353.8 36 -50364.7 36 -50375.7 35 -50386.7 35 -50397.6 37 -50408.6 38 -50419.6 38 -50430.5 37 -50441.5 37 -50452.5 38 -50463.4 37 -50474.4 37 -50485.4 37 -50496.3 37 -50507.3 38 -50518.3 37 -50529.3 37 -50540.2 37 -50551.2 38 -50562.2 38 -50573.1 40 -50584.1 39 -50595.1 35 -50606 34 -50617 29 -50628 33 -50638.9 39 -50649.9 39 -50660.9 39 -50671.8 38 -50682.8 40 -50693.8 39 -50704.7 39 -50715.7 39 -50726.7 39 -50737.6 39 -50748.6 40 -50759.6 39 -50770.5 39 -50781.5 39 -50792.5 39 -50803.5 40 -50814.4 40 -50825.4 39 -50836.4 40 -50847.3 40 -50858.3 40 -50869.3 39 -50880.2 39 -50891.2 40 -50902.2 40 -50913.1 40 -50924.1 37 -50935.1 40 -50946 39 -50957 39 -50968 40 -50978.9 40 -50989.9 39 -51000.9 39 -51011.8 39 -51022.8 39 -51033.8 40 -51044.7 39 -51055.7 39 -51066.7 39 -51077.7 39 -51088.6 40 -51099.6 40 -51110.6 37 -51121.5 38 -51132.5 40 -51143.5 38 -51154.4 31 -51165.4 37 -51176.4 40 -51187.3 40 -51198.3 39 -51209.3 40 -51220.2 37 -51231.2 40 -51242.2 39 -51253.1 40 -51264.1 40 -51275.1 39 -51286 39 -51297 39 -51308 40 -51318.9 40 -51329.9 39 -51340.9 39 -51351.8 39 -51362.8 39 -51373.8 39 -51384.8 39 -51395.7 40 -51406.7 39 -51417.7 40 -51428.6 40 -51439.6 40 -51450.6 40 -51461.5 39 -51472.5 38 -51483.5 37 -51494.4 37 -51505.4 39 -51516.4 39 -51527.3 40 -51538.3 40 -51549.3 40 -51560.2 40 -51571.2 40 -51582.2 39 -51593.1 40 -51604.1 40 -51615.1 40 -51626 39 -51637 40 -51648 40 -51659 39 -51669.9 40 -51680.9 38 -51691.9 39 -51702.8 40 -51713.8 40 -51724.8 40 -51735.7 39 -51746.7 39 -51757.7 40 -51768.6 40 -51779.6 39 -51790.6 40 -51801.5 40 -51812.5 39 -51823.5 35 -51834.4 40 -51845.4 39 -51856.4 39 -51867.3 40 -51878.3 39 -51889.3 39 -51900.2 40 -51911.2 39 -51922.2 39 -51933.1 40 -51944.1 39 -51955.1 39 -51966.1 40 -51977 39 -51988 40 -51999 40 -52009.9 40 -52020.9 40 -52031.9 39 -52042.8 38 -52053.8 39 -52064.8 39 -52075.7 40 -52086.7 40 -52097.7 39 -52108.6 40 -52119.6 39 -52130.6 40 -52141.5 40 -52152.5 40 -52163.5 39 -52174.4 39 -52185.4 39 -52196.4 40 -52207.3 39 -52218.3 40 -52229.3 39 -52240.3 40 -52251.2 39 -52262.2 40 -52273.2 40 -52284.1 39 -52295.1 40 -52306.1 40 -52317 39 -52328 39 -52339 39 -52349.9 40 -52360.9 39 -52371.9 40 -52382.8 35 -52393.8 36 -52404.8 38 -52415.7 39 -52426.7 39 -52437.7 40 -52448.6 40 -52459.6 40 -52470.6 35 -52481.5 39 -52492.5 40 -52503.5 39 -52514.4 40 -52525.4 39 -52536.4 39 -52547.4 40 -52558.3 40 -52569.3 39 -52580.3 39 -52591.2 40 -52602.2 39 -52613.2 34 -52624.1 39 -52635.1 40 -52646.1 39 -52657 39 -52668 39 -52679 40 -52689.9 39 -52700.9 39 -52711.9 39 -52722.8 39 -52733.8 40 -52744.8 39 -52755.7 39 -52766.7 40 -52777.7 40 -52788.6 39 -52799.6 40 -52810.6 39 -52821.6 40 -52832.5 40 -52843.5 39 -52854.5 40 -52865.4 40 -52876.4 40 -52887.4 40 -52898.3 39 -52909.3 33 -52920.3 30 -52931.2 28 -52942.2 39 -52953.2 40 -52964.1 39 -52975.1 40 -52986.1 39 -52997 40 -53008 38 -53019 38 -53029.9 39 -53040.9 40 -53051.9 40 -53062.8 40 -53073.8 39 -53084.8 39 -53095.7 40 -53106.7 39 -53117.7 39 -53128.7 39 -53139.6 39 -53150.6 39 -53161.6 39 -53172.5 39 -53183.5 40 -53194.5 40 -53205.4 40 -53216.4 39 -53227.4 39 -53238.3 33 -53249.3 40 -53260.3 40 -53271.2 40 -53282.2 39 -53293.2 39 -53304.1 39 -53315.1 40 -53326.1 40 -53337 39 -53348 39 -53359 33 -53369.9 39 -53380.9 39 -53391.9 40 -53402.9 39 -53413.8 40 -53424.8 40 -53435.8 40 -53446.7 40 -53457.7 39 -53468.7 39 -53479.6 40 -53490.6 39 -53501.6 40 -53512.5 38 -53523.5 40 -53534.5 40 -53545.4 40 -53556.4 39 -53567.4 39 -53578.3 40 -53589.3 39 -53600.3 39 -53611.2 39 -53622.2 40 -53633.2 37 -53644.1 39 -53655.1 38 -53666.1 39 -53677 40 -53688 33 -53699 40 -53710 39 -53720.9 40 -53731.9 39 -53742.9 39 -53753.8 39 -53764.8 38 -53775.8 40 -53786.7 39 -53797.7 39 -53808.7 40 -53819.6 39 -53830.6 33 -53841.6 39 -53852.5 39 -53863.5 39 -53874.5 39 -53885.4 40 -53896.4 40 -53907.4 39 -53918.3 40 -53929.3 40 -53940.3 40 -53951.2 38 -53962.2 38 -53973.2 39 -53984.2 40 -53995.1 39 -54006.1 39 -54017.1 40 -54028 39 -54039 39 -54050 39 -54060.9 37 -54071.9 40 -54082.9 40 -54093.8 39 -54104.8 40 -54115.8 39 -54126.7 40 -54137.7 40 -54148.7 40 -54159.6 38 -54170.6 39 -54181.6 39 -54192.5 40 -54203.5 40 -54214.5 39 -54225.4 39 -54236.4 40 -54247.4 39 -54258.3 40 -54269.3 39 -54280.3 39 -54291.3 39 -54302.2 40 -54313.2 39 -54324.2 39 -54335.1 39 -54346.1 39 -54357.1 39 -54368 32 -54379 39 -54390 40 -54400.9 40 -54411.9 38 -54422.9 39 -54433.8 36 -54444.8 40 -54455.8 40 -54466.7 39 -54477.7 40 -54488.7 40 -54499.6 39 -54510.6 39 -54521.6 40 -54532.5 40 -54543.5 40 -54554.5 39 -54565.5 36 -54576.4 26 -54587.4 40 -54598.4 40 -54609.3 40 -54620.3 40 -54631.3 40 -54642.2 39 -54653.2 39 -54664.2 40 -54675.1 38 -54686.1 39 -54697.1 39 -54708 38 -54719 40 -54730 39 -54740.9 39 -54751.9 39 -54762.9 39 -54773.8 39 -54784.8 39 -54795.8 39 -54806.7 39 -54817.7 40 -54828.7 39 -54839.7 39 -54850.6 40 -54861.6 40 -54872.6 39 -54883.5 40 -54894.5 40 -54905.5 40 -54916.4 39 -54927.4 39 -54938.4 40 -54949.3 40 -54960.3 40 -54971.3 39 -54982.2 40 -54993.2 40 -55004.2 40 -55015.1 39 -55026.1 39 -55037.1 40 -55048 40 -55059 39 -55070 39 -55080.9 40 -55091.9 39 -55102.9 39 -55113.8 38 -55124.8 38 -55135.8 38 -55146.8 38 -55157.7 39 -55168.7 40 -55179.7 39 -55190.6 39 -55201.6 40 -55212.6 39 -55223.5 36 -55234.5 39 -55245.5 39 -55256.4 39 -55267.4 40 -55278.4 39 -55289.3 39 -55300.3 39 -55311.3 38 -55322.2 40 -55333.2 39 -55344.2 38 -55355.1 39 -55366.1 40 -55377.1 40 -55388 40 -55399 40 -55410 39 -55421 39 -55431.9 39 -55442.9 40 -55453.9 39 -55464.8 40 -55475.8 40 -55486.8 39 -55497.7 40 -55508.7 39 -55519.7 40 -55530.6 39 -55541.6 39 -55552.6 40 -55563.5 40 -55574.5 39 -55585.5 34 -55596.4 40 -55607.4 38 -55618.4 40 -55629.3 39 -55640.3 39 -55651.3 39 -55662.2 40 -55673.2 40 -55684.2 39 -55695.1 39 -55706.1 39 -55717.1 36 -55728.1 33 -55739 31 -55750 39 -55761 39 -55771.9 40 -55782.9 39 -55793.9 39 -55804.8 39 -55815.8 40 -55826.8 40 -55837.7 39 -55848.7 40 -55859.7 40 -55870.6 40 -55881.6 39 -55892.6 40 -55903.5 38 -55914.5 39 -55925.5 38 -55936.4 40 -55947.4 39 -55958.4 39 -55969.3 39 -55980.3 39 -55991.3 40 -56002.3 40 -56013.2 40 -56024.2 36 -56035.2 40 -56046.1 39 -56057.1 40 -56068.1 39 -56079 40 -56090 39 -56101 40 -56111.9 39 -56122.9 40 -56133.9 40 -56144.8 39 -56155.8 38 -56166.8 36 -56177.7 38 -56188.7 40 -56199.7 39 -56210.6 38 -56221.6 40 -56232.6 40 -56243.5 39 -56254.5 40 -56265.5 38 -56276.4 39 -56287.4 39 -56298.4 39 -56309.4 39 -56320.3 40 -56331.3 40 -56342.3 39 -56353.2 39 -56364.2 40 -56375.2 40 -56386.1 39 -56397.1 40 -56408.1 39 -56419 40 -56430 40 -56441 39 -56451.9 39 -56462.9 39 -56473.9 39 -56484.8 38 -56495.8 39 -56506.8 40 -56517.7 40 -56528.7 39 -56539.7 39 -56550.6 40 -56561.6 39 -56572.6 39 -56583.6 40 -56594.5 39 -56605.5 39 -56616.5 36 -56627.4 28 -56638.4 32 -56649.4 29 -56660.3 35 -56671.3 35 -56682.3 35 -56693.2 32 -56704.2 35 -56715.2 30 -56726.1 39 -56737.1 40 -56748.1 40 -56759 39 -56770 39 -56781 33 -56791.9 38 -56802.9 40 -56813.9 39 -56824.8 40 -56835.8 40 -56846.8 39 -56857.7 40 -56868.7 39 -56879.7 40 -56890.7 39 -56901.6 40 -56912.6 40 -56923.6 40 -56934.5 39 -56945.5 39 -56956.5 40 -56967.4 39 -56978.4 39 -56989.4 39 -57000.3 40 -57011.3 40 -57022.3 39 -57033.2 39 -57044.2 39 -57055.2 40 -57066.1 39 -57077.1 39 -57088.1 36 -57099 40 -57110 40 -57121 40 -57131.9 39 -57142.9 40 -57153.9 40 -57164.9 40 -57175.8 40 -57186.8 39 -57197.8 38 -57208.7 40 -57219.7 39 -57230.7 40 -57241.6 35 -57252.6 31 -57263.6 39 -57274.5 40 -57285.5 40 -57296.5 38 -57307.4 39 -57318.4 39 -57329.4 39 -57340.3 39 -57351.3 39 -57362.3 40 -57373.2 40 -57384.2 39 -57395.2 40 -57406.1 40 -57417.1 39 -57428.1 39 -57439 40 -57450 40 -57461 39 -57472 39 -57482.9 38 -57493.9 38 -57504.9 39 -57515.8 40 -57526.8 40 -57537.8 36 -57548.7 36 -57559.7 40 -57570.7 40 -57581.6 39 -57592.6 39 -57603.6 32 -57614.5 39 -57625.5 39 -57636.5 40 -57647.4 39 -57658.4 40 -57669.4 40 -57680.3 37 -57691.3 40 -57702.3 40 -57713.2 39 -57724.2 39 -57735.2 40 -57746.2 40 -57757.1 39 -57768.1 39 -57779.1 39 -57790 40 -57801 39 -57812 40 -57822.9 40 -57833.9 39 -57844.9 39 -57855.8 40 -57866.8 40 -57877.8 36 -57888.7 40 -57899.7 40 -57910.7 39 -57921.6 40 -57932.6 39 -57943.6 40 -57954.5 40 -57965.5 40 -57976.5 39 -57987.4 39 -57998.4 39 -58009.4 39 -58020.3 40 -58031.3 40 -58042.3 40 -58053.3 40 -58064.2 38 -58075.2 31 -58086.2 39 -58097.1 39 -58108.1 39 -58119.1 39 -58130 40 -58141 39 -58152 39 -58162.9 40 -58173.9 39 -58184.9 39 -58195.8 40 -58206.8 40 -58217.8 40 -58228.7 35 -58239.7 38 -58250.7 39 -58261.6 39 -58272.6 39 -58283.6 39 -58294.5 40 -58305.5 39 -58316.5 40 -58327.5 39 -58338.4 40 -58349.4 39 -58360.4 39 -58371.3 40 -58382.3 40 -58393.3 40 -58404.2 39 -58415.2 40 -58426.2 39 -58437.1 40 -58448.1 39 -58459.1 39 -58470 40 -58481 40 -58492 40 -58502.9 40 -58513.9 40 -58524.9 39 -58535.8 39 -58546.8 39 -58557.8 40 -58568.7 39 -58579.7 39 -58590.7 40 -58601.6 39 -58612.6 40 -58623.6 39 -58634.6 39 -58645.5 40 -58656.5 40 -58667.5 40 -58678.4 39 -58689.4 32 -58700.4 35 -58711.3 37 -58722.3 40 -58733.3 40 -58744.2 40 -58755.2 39 -58766.2 40 -58777.1 40 -58788.1 40 -58799.1 39 -58810 39 -58821 39 -58832 40 -58842.9 40 -58853.9 39 -58864.9 40 -58875.8 40 -58886.8 40 -58897.8 40 -58908.8 39 -58919.7 40 -58930.7 39 -58941.7 40 -58952.6 38 -58963.6 39 -58974.6 40 -58985.5 39 -58996.5 40 -59007.5 39 -59018.4 38 -59029.4 30 -59040.4 37 -59051.3 38 -59062.3 39 -59073.3 40 -59084.2 39 -59095.2 40 -59106.2 39 -59117.1 38 -59128.1 39 -59139.1 40 -59150 39 -59161 40 -59172 40 -59183 39 -59193.9 39 -59204.9 39 -59215.9 39 -59226.8 39 -59237.8 40 -59248.8 39 -59259.7 39 -59270.7 39 -59281.7 40 -59292.6 39 -59303.6 39 -59314.6 40 -59325.5 40 -59336.5 40 -59347.5 39 -59358.4 40 -59369.4 39 -59380.4 40 -59391.3 40 -59402.3 39 -59413.3 35 -59424.2 28 -59435.2 40 -59446.2 39 -59457.1 39 -59468.1 40 -59479.1 39 -59490.1 39 -59501 39 -59512 39 -59523 39 -59533.9 40 -59544.9 39 -59555.9 36 -59566.8 32 -59577.8 38 -59588.8 39 -59599.7 40 -59610.7 40 -59621.7 39 -59632.6 39 -59643.6 40 -59654.6 40 -59665.5 40 -59676.5 38 -59687.5 33 -59698.4 34 -59709.4 36 -59720.4 35 -59731.3 39 -59742.3 39 -59753.3 39 -59764.3 39 -59775.2 40 -59786.2 40 -59797.2 39 -59808.1 38 -59819.1 40 -59830.1 40 -59841 39 -59852 39 -59863 40 -59873.9 40 -59884.9 39 -59895.9 40 -59906.8 39 -59917.8 40 -59928.8 39 -59939.7 39 -59950.7 39 -59961.7 40 -59972.6 40 -59983.6 39 -59994.6 39 -60005.5 39 -60016.5 39 -60027.5 39 -60038.4 40 -60049.4 39 -60060.4 40 -60071.4 40 -60082.3 40 -60093.3 40 -60104.3 40 -60115.2 39 -60126.2 40 -60137.2 39 -60148.1 38 -60159.1 36 -60170.1 39 -60181 38 -60192 40 -60203 40 -60213.9 40 -60224.9 39 -60235.9 35 -60246.8 40 -60257.8 39 -60268.8 40 -60279.7 38 -60290.7 32 -60301.7 39 -60312.6 39 -60323.6 39 -60334.6 40 -60345.6 39 -60356.5 39 -60367.5 39 -60378.5 40 -60389.4 40 -60400.4 40 -60411.4 40 -60422.3 40 -60433.3 40 -60444.3 40 -60455.2 39 -60466.2 40 -60477.2 40 -60488.1 39 -60499.1 40 -60510.1 39 -60521 40 -60532 39 -60543 40 -60553.9 39 -60564.9 40 -60575.9 39 -60586.8 39 -60597.8 39 -60608.8 38 -60619.7 39 -60630.7 38 -60641.7 39 -60652.7 40 -60663.6 40 -60674.6 39 -60685.6 40 -60696.5 39 -60707.5 40 -60718.5 39 -60729.4 39 -60740.4 40 -60751.4 40 -60762.3 40 -60773.3 40 -60784.3 39 -60795.2 40 -60806.2 40 -60817.2 39 -60828.1 40 -60839.1 39 -60850.1 39 -60861 40 -60872 40 -60883 39 -60893.9 39 -60904.9 40 -60915.9 40 -60926.9 39 -60937.8 39 -60948.8 39 -60959.8 40 -60970.7 40 -60981.7 39 -60992.7 39 -61003.6 39 -61014.6 39 -61025.6 40 -61036.5 38 -61047.5 39 -61058.5 38 -61069.4 40 -61080.4 40 -61091.4 39 -61102.3 38 -61113.3 35 -61124.3 39 -61135.2 39 -61146.2 40 -61157.2 39 -61168.1 39 -61179.1 40 -61190.1 39 -61201 39 -61212 39 -61223 40 -61234 40 -61244.9 39 -61255.9 40 -61266.9 39 -61277.8 40 -61288.8 33 -61299.8 39 -61310.7 40 -61321.7 39 -61332.7 39 -61343.6 39 -61354.6 40 -61365.6 40 -61376.5 39 -61387.5 33 -61398.5 28 -61409.4 39 -61420.4 39 -61431.4 39 -61442.3 40 -61453.3 39 -61464.3 39 -61475.2 39 -61486.2 39 -61497.2 40 -61508.2 39 -61519.1 40 -61530.1 40 -61541.1 39 -61552 40 -61563 39 -61574 40 -61584.9 38 -61595.9 39 -61606.9 39 -61617.8 39 -61628.8 38 -61639.8 39 -61650.7 40 -61661.7 38 -61672.7 39 -61683.6 40 -61694.6 40 -61705.6 39 -61716.5 39 -61727.5 39 -61738.5 39 -61749.4 40 -61760.4 39 -61771.4 39 -61782.3 39 -61793.3 39 -61804.3 40 -61815.3 37 -61826.2 39 -61837.2 40 -61848.2 39 -61859.1 39 -61870.1 40 -61881.1 39 -61892 40 -61903 40 -61914 40 -61924.9 39 -61935.9 40 -61946.9 40 -61957.8 40 -61968.8 39 -61979.8 40 -61990.7 39 -62001.7 40 -62012.7 40 -62023.6 40 -62034.6 40 -62045.6 38 -62056.5 40 -62067.5 40 -62078.5 40 -62089.5 38 -62100.4 39 -62111.4 39 -62122.4 40 -62133.3 40 -62144.3 40 -62155.3 39 -62166.2 40 -62177.2 40 -62188.2 39 -62199.1 39 -62210.1 39 -62221.1 39 -62232 40 -62243 40 -62254 40 -62264.9 39 -62275.9 40 -62286.9 39 -62297.8 40 -62308.8 40 -62319.8 40 -62330.7 40 -62341.7 39 -62352.7 39 -62363.6 39 -62374.6 39 -62385.6 40 -62396.6 40 -62407.5 39 -62418.5 39 -62429.5 39 -62440.4 39 -62451.4 40 -62462.4 40 -62473.3 39 -62484.3 40 -62495.3 39 -62506.2 40 -62517.2 39 -62528.2 39 -62539.1 40 -62550.1 39 -62561.1 40 -62572 40 -62583 38 -62594 39 -62604.9 39 -62615.9 40 -62626.9 39 -62637.8 39 -62648.8 40 -62659.8 39 -62670.8 39 -62681.7 40 -62692.7 40 -62703.7 40 -62714.6 39 -62725.6 40 -62736.6 40 -62747.5 39 -62758.5 39 -62769.5 39 -62780.4 39 -62791.4 40 -62802.4 39 -62813.3 40 -62824.3 39 -62835.3 39 -62846.2 39 -62857.2 39 -62868.2 39 -62879.1 39 -62890.1 40 -62901.1 40 -62912 39 -62923 39 -62934 39 -62945 40 -62955.9 40 -62966.9 40 -62977.9 39 -62988.8 38 -62999.8 38 -63010.8 39 -63021.7 39 -63032.7 40 -63043.7 39 -63054.6 40 -63065.6 40 -63076.6 39 -63087.5 40 -63098.5 39 -63109.5 39 -63120.4 39 -63131.4 39 -63142.4 39 -63153.3 39 -63164.3 39 -63175.3 39 -63186.2 39 -63197.2 40 -63208.2 40 -63219.1 40 -63230.1 39 -63241.1 39 -63252.1 40 -63263 40 -63274 40 -63285 39 -63295.9 39 -63306.9 40 -63317.9 39 -63328.8 39 -63339.8 39 -63350.8 39 -63361.7 39 -63372.7 40 -63383.7 39 -63394.6 40 -63405.6 40 -63416.6 40 -63427.5 40 -63438.5 39 -63449.5 39 -63460.4 39 -63471.4 38 -63482.4 39 -63493.3 40 -63504.3 39 -63515.3 39 -63526.3 39 -63537.2 39 -63548.2 40 -63559.2 38 -63570.1 40 -63581.1 40 -63592.1 39 -63603 39 -63614 40 -63625 39 -63635.9 39 -63646.9 40 -63657.9 40 -63668.8 39 -63679.8 39 -63690.8 40 -63701.7 39 -63712.7 40 -63723.7 39 -63734.6 39 -63745.6 40 -63756.6 33 -63767.5 24 -63778.5 39 -63789.5 40 -63800.4 40 -63811.4 39 -63822.4 40 -63833.4 39 -63844.3 39 -63855.3 39 -63866.3 39 -63877.2 40 -63888.2 39 -63899.2 38 -63910.1 39 -63921.1 39 -63932.1 39 -63943 40 -63954 39 -63965 39 -63975.9 39 -63986.9 40 -63997.9 39 -64008.8 39 -64019.8 39 -64030.8 39 -64041.7 37 -64052.7 39 -64063.7 39 -64074.6 39 -64085.6 38 -64096.6 40 -64107.6 39 -64118.5 40 -64129.5 39 -64140.5 39 -64151.4 39 -64162.4 39 -64173.4 40 -64184.3 39 -64195.3 39 -64206.3 40 -64217.2 40 -64228.2 38 -64239.2 40 -64250.1 39 -64261.1 39 -64272.1 39 -64283 39 -64294 39 -64305 39 -64315.9 39 -64326.9 38 -64337.9 39 -64348.8 40 -64359.8 40 -64370.8 38 -64381.7 39 -64392.7 40 -64403.7 39 -64414.7 39 -64425.6 39 -64436.6 39 -64447.6 39 -64458.5 40 -64469.5 39 -64480.5 37 -64491.4 39 -64502.4 39 -64513.4 40 -64524.3 40 -64535.3 39 -64546.3 39 -64557.2 39 -64568.2 40 -64579.2 40 -64590.1 40 -64601.1 39 -64612.1 39 -64623 39 -64634 39 -64645 39 -64655.9 39 -64666.9 40 -64677.9 40 -64688.9 38 -64699.8 40 -64710.8 40 -64721.8 39 -64732.7 38 -64743.7 39 -64754.7 40 -64765.6 39 -64776.6 39 -64787.6 40 -64798.5 40 -64809.5 39 -64820.5 39 -64831.4 39 -64842.4 39 -64853.4 40 -64864.3 40 -64875.3 39 -64886.3 39 -64897.2 40 -64908.2 36 -64919.2 40 -64930.1 40 -64941.1 40 -64952.1 39 -64963 39 -64974 40 -64985 39 -64996 40 -65006.9 38 -65017.9 40 -65028.9 40 -65039.8 40 -65050.8 39 -65061.8 40 -65072.7 40 -65083.7 40 -65094.7 40 -65105.6 39 -65116.6 39 -65127.6 39 -65138.5 39 -65149.5 39 -65160.5 39 -65171.4 40 -65182.4 39 -65193.4 39 -65204.3 40 -65215.3 38 -65226.3 38 -65237.2 40 -65248.2 39 -65259.2 39 -65270.2 40 -65281.1 40 -65292.1 39 -65303.1 38 -65314 39 -65325 40 -65336 40 -65346.9 39 -65357.9 39 -65368.9 40 -65379.8 40 -65390.8 40 -65401.8 40 -65412.7 40 -65423.7 39 -65434.7 39 -65445.6 39 -65456.6 37 -65467.6 39 -65478.5 40 -65489.5 39 -65500.5 39 -65511.4 39 -65522.4 39 -65533.4 39 -65544.3 40 -65555.3 39 -65566.3 39 -65577.3 39 -65588.2 40 -65599.2 40 -65610.2 39 -65621.1 31 -65632.1 40 -65643.1 39 -65654 39 -65665 39 -65676 38 -65686.9 40 -65697.9 40 -65708.9 40 -65719.8 40 -65730.8 39 -65741.8 40 -65752.7 40 -65763.7 40 -65774.7 39 -65785.6 40 -65796.6 40 -65807.6 40 -65818.5 40 -65829.5 40 -65840.5 39 -65851.5 38 -65862.4 40 -65873.4 39 -65884.4 40 -65895.3 38 -65906.3 39 -65917.3 39 -65928.2 40 -65939.2 39 -65950.2 39 -65961.1 38 -65972.1 40 -65983.1 39 -65994 40 -66005 39 -66016 40 -66026.9 39 -66037.9 37 -66048.9 39 -66059.8 40 -66070.8 39 -66081.8 39 -66092.7 39 -66103.7 39 -66114.7 39 -66125.6 36 -66136.6 39 -66147.6 39 -66158.6 40 -66169.5 40 -66180.5 39 -66191.5 39 -66202.4 38 -66213.4 40 -66224.4 38 -66235.3 38 -66246.3 40 -66257.3 40 -66268.2 39 -66279.2 39 -66290.2 40 -66301.1 40 -66312.1 39 -66323.1 40 -66334 39 -66345 40 -66356 40 -66366.9 40 -66377.9 40 -66388.9 39 -66399.8 39 -66410.8 39 -66421.8 40 -66432.8 40 -66443.7 39 -66454.7 40 -66465.7 38 -66476.6 39 -66487.6 39 -66498.6 40 -66509.5 39 -66520.5 36 -66531.5 39 -66542.4 39 -66553.4 39 -66564.4 39 -66575.3 40 -66586.3 40 -66597.3 35 -66608.2 39 -66619.2 40 -66630.2 39 -66641.1 39 -66652.1 38 -66663.1 39 -66674 31 -66685 39 -66696 39 -66707 39 -66717.9 39 -66728.9 39 -66739.9 35 -66750.8 36 -66761.8 39 -66772.8 39 -66783.7 40 -66794.7 32 -66805.7 37 -66816.6 39 -66827.6 36 -66838.6 32 -66849.5 39 -66860.5 38 -66871.5 36 -66882.4 36 -66893.4 35 -66904.4 36 -66915.3 39 -66926.3 31 -66937.3 36 -66948.2 34 -66959.2 29 -66970.2 31 -66981.1 32 -66992.1 31 -67003.1 30 -67014.1 35 -67025 29 -67036 30 -67047 25 -67057.9 29 -67068.9 25 -67079.9 27 -67090.8 25 -67101.8 24 -67112.8 20 -67123.7 24 -67134.7 20 -67145.7 20 -67156.6 24 -67167.6 20 -67178.6 25 -67189.5 20 -67200.5 24 -67211.5 20 -67222.4 24 -67233.4 20 -67244.4 24 -67255.3 20 -67266.3 24 -67277.3 20 -67288.3 24 -67299.2 20 -67310.2 24 -67321.2 20 -67332.1 24 -67343.1 20 -67354.1 24 -67365 20 -67376 24 -67387 20 -67397.9 24 -67408.9 21 -67419.9 20 -67430.8 20 -67441.8 20 -67452.8 20 -67463.7 20 -67474.7 20 -67485.7 20 -67496.6 20 -67507.6 20 -67518.6 20 -67529.5 20 -67540.5 19 -67551.5 19 -67562.4 18 -67573.4 18 -67584.4 18 -67595.4 18 -67606.3 17 -67617.3 16 -67628.3 16 -67639.2 15 -67650.2 17 -67661.2 17 -67672.1 16 -67683.1 15 -67694.1 18 -67705 19 -67716 20 -67727 20 -67737.9 20 -67748.9 20 -67759.9 20 -67770.8 20 -67781.8 20 -67792.8 19 -67803.7 18 -67814.7 18 -67825.7 17 -67836.6 16 -67847.6 16 -67858.6 15 -67869.6 18 -67880.5 19 -67891.5 20 -67902.5 19 -67913.4 17 -67924.4 17 -67935.4 16 -67946.3 15 -67957.3 17 -67968.3 16 -67979.2 16 -67990.2 17 -68001.2 16 -68012.1 15 -68023.1 18 -68034.1 19 -68045 19 -68056 17 -68067 16 -68077.9 15 -68088.9 17 -68099.9 17 -68110.8 16 -68121.8 15 -68132.8 17 -68143.7 16 -68154.7 15 -68165.7 17 -68176.7 17 -68187.6 16 -68198.6 15 -68209.6 17 -68220.5 16 -68231.5 15 -68242.5 17 -68253.4 16 -68264.4 15 -68275.4 17 -68286.3 15 -68297.3 15 -68308.3 15 -68319.2 15 -68330.2 15 -68341.2 16 -68352.1 16 -68363.1 15 -68374.1 16 -68385 16 -68396 15 -68407 15 -68417.9 17 -68428.9 16 -68439.9 16 -68450.9 15 -68461.8 15 -68472.8 17 -68483.8 18 -68494.7 19 -68505.7 19 -68516.7 19 -68527.6 19 -68538.6 19 -68549.6 19 -68560.5 19 -68571.5 19 -68582.5 19 -68593.4 19 -68604.4 19 -68615.4 19 -68626.3 19 -68637.3 19 -68648.3 19 -68659.2 19 -68670.2 19 -68681.2 19 -68692.1 19 -68703.1 19 -68714.1 19 -68725 19 -68736 19 -68747 19 -68758 19 -68768.9 19 -68779.9 19 -68790.9 19 -68801.8 19 -68812.8 19 -68823.8 19 -68834.7 19 -68845.7 19 -68856.7 19 -68867.6 19 -68878.6 19 -68889.6 19 -68900.5 19 -68911.5 19 -68922.5 19 -68933.4 19 -68944.4 19 -68955.4 19 -68966.3 19 -68977.3 19 -68988.3 19 -68999.2 19 -69010.2 19 -69021.2 19 -69032.2 19 -69043.1 19 -69054.1 19 -69065.1 19 -69076 19 -69087 19 -69098 19 -69108.9 19 -69119.9 19 -69130.9 19 -69141.8 19 -69152.8 19 -69163.8 19 -69174.7 19 -69185.7 19 -69196.7 19 -69207.6 19 -69218.6 19 -69229.6 19 -69240.5 19 -69251.5 19 -69262.5 19 -69273.4 19 -69284.4 19 -69295.4 19 -69306.3 19 -69317.3 19 -69328.3 19 -69339.3 19 -69350.2 19 -69361.2 19 -69372.2 19 -69383.1 19 -69394.1 19 -69405.1 19 -69416 19 -69427 19 -69438 19 -69448.9 19 -69459.9 19 -69470.9 19 -69481.8 19 -69492.8 19 -69503.8 19 -69514.7 19 -69525.7 19 -69536.7 19 -69547.6 19 -69558.6 19 -69569.6 19 -69580.5 19 -69591.5 19 -69602.5 19 -69613.5 19 -69624.4 19 -69635.4 19 -69646.4 19 -69657.3 19 -69668.3 19 -69679.3 19 -69690.2 19 -69701.2 19 -69712.2 19 -69723.1 19 -69734.1 19 -69745.1 19 -69756 19 -69767 19 -69778 19 -69788.9 19 -69799.9 19 -69810.9 19 -69821.8 19 -69832.8 19 -69843.8 19 -69854.7 19 -69865.7 19 -69876.7 19 -69887.6 19 -69898.6 19 -69909.6 19 -69920.6 19 -69931.5 19 -69942.5 19 -69953.5 19 -69964.4 19 -69975.4 19 -69986.4 19 -69997.3 19 -70008.3 19 -70019.3 19 -70030.2 19 -70041.2 19 -70052.2 19 -70063.1 19 -70074.1 19 -70085.1 19 -70096 19 -70107 19 -70118 19 -70128.9 19 -70139.9 19 -70150.9 19 -70161.8 19 -70172.8 19 -70183.8 19 -70194.8 19 -70205.7 19 -70216.7 19 -70227.7 19 -70238.6 19 -70249.6 19 -70260.6 19 -70271.5 19 -70282.5 19 -70293.5 19 -70304.4 19 -70315.4 19 -70326.4 19 -70337.3 19 -70348.3 19 -70359.3 19 -70370.2 19 -70381.2 18 -70392.2 12 -70403.1 4 -70414.1 5 -70425.1 11 -70436 17 -70447 20 -70458 20 -70469 20 -70479.9 20 -70490.9 20 -70501.9 20 -70512.8 20 -70523.8 20 -70534.8 20 -70545.7 20 -70556.7 20 -70567.7 20 -70578.6 20 -70589.6 20 -70600.6 20 -70611.5 20 -70622.5 20 -70633.5 20 -70644.4 20 -70655.4 20 -70666.4 20 -70677.3 20 -70688.3 20 -70699.3 20 -70710.2 20 -70721.2 20 -70732.2 20 -70743.1 20 -70754.1 20 -70765.1 20 -70776.1 20 -70787 20 -70798 20 -70809 20 -70819.9 20 -70830.9 20 -70841.9 20 -70852.8 20 -70863.8 20 -70874.8 20 -70885.7 20 -70896.7 20 -70907.7 20 -70918.6 20 -70929.6 20 -70940.6 20 -70951.5 20 -70962.5 20 -70973.5 20 -70984.4 20 -70995.4 20 -71006.4 20 -71017.3 20 -71028.3 20 -71039.3 20 -71050.3 20 -71061.2 20 -71072.2 20 -71083.2 20 -71094.1 20 -71105.1 20 -71116.1 20 -71127 20 -71138 20 -71149 20 -71159.9 20 -71170.9 20 -71181.9 20 -71192.8 20 -71203.8 20 -71214.8 20 -71225.7 20 -71236.7 20 -71247.7 20 -71258.6 20 -71269.6 20 -71280.6 20 -71291.5 20 -71302.5 20 -71313.5 20 -71324.4 20 -71335.4 20 -71346.4 20 -71357.4 20 -71368.3 20 -71379.3 20 -71390.3 20 -71401.2 20 -71412.2 20 -71423.2 20 -71434.1 20 -71445.1 20 -71456.1 20 -71467 20 -71478 20 -71489 20 -71499.9 20 -71510.9 20 -71521.9 20 -71532.8 20 -71543.8 20 -71554.8 20 -71565.7 20 -71576.7 20 -71587.7 20 -71598.6 20 -71609.6 20 -71620.6 20 -71631.6 20 -71642.5 20 -71653.5 20 -71664.5 20 -71675.4 20 -71686.4 20 -71697.4 20 -71708.3 20 -71719.3 20 -71730.3 20 -71741.2 20 -71752.2 20 -71763.2 20 -71774.1 20 -71785.1 20 -71796.1 20 -71807 20 -71818 20 -71829 20 -71839.9 20 -71850.9 20 -71861.9 20 -71872.8 20 -71883.8 20 -71894.8 20 -71905.7 20 -71916.7 20 -71927.7 20 -71938.7 20 -71949.6 20 -71960.6 20 -71971.6 20 -71982.5 20 -71993.5 20 -72004.5 20 -72015.4 20 -72026.4 20 -72037.4 20 -72048.3 20 -72059.3 20 -72070.3 20 -72081.2 20 -72092.2 20 -72103.2 20 -72114.1 20 -72125.1 20 -72136.1 20 -72147 20 -72158 18 -72169 18 -72179.9 18 -72190.9 17 -72201.9 16 -72212.9 17 -72223.8 20 -72234.8 20 -72245.8 20 -72256.7 20 -72267.7 20 -72278.7 20 -72289.6 20 -72300.6 20 -72311.6 20 -72322.5 20 -72333.5 20 -72344.5 20 -72355.4 20 -72366.4 20 -72377.4 20 -72388.3 20 -72399.3 20 -72410.3 20 -72421.2 20 -72432.2 20 -72443.2 20 -72454.1 20 -72465.1 20 -72476.1 20 -72487 20 -72498 20 -72509 20 -72520 20 -72530.9 20 -72541.9 20 -72552.9 20 -72563.8 20 -72574.8 20 -72585.8 20 -72596.7 20 -72607.7 20 -72618.7 20 -72629.6 20 -72640.6 20 -72651.6 20 -72662.5 20 -72673.5 20 -72684.5 20 -72695.4 20 -72706.4 20 -72717.4 20 -72728.3 20 -72739.3 20 -72750.3 20 -72761.2 20 -72772.2 20 -72783.2 20 -72794.2 20 -72805.1 20 -72816.1 20 -72827.1 20 -72838 20 -72849 20 -72860 20 -72870.9 20 -72881.9 20 -72892.9 20 -72903.8 20 -72914.8 20 -72925.8 20 -72936.7 20 -72947.7 20 -72958.7 20 -72969.6 20 -72980.6 20 -72991.6 20 -73002.5 20 -73013.5 20 -73024.5 20 -73035.4 20 -73046.4 20 -73057.4 20 -73068.3 20 -73079.3 20 -73090.3 20 -73101.3 20 -73112.2 20 -73123.2 20 -73134.2 20 -73145.1 20 -73156.1 20 -73167.1 20 -73178 20 -73189 20 -73200 20 -73210.9 20 -73221.9 20 -73232.9 20 -73243.8 20 -73254.8 20 -73265.8 20 -73276.7 20 -73287.7 20 -73298.7 20 -73309.6 20 -73320.6 20 -73331.6 20 -73342.5 20 -73353.5 20 -73364.5 20 -73375.5 20 -73386.4 20 -73397.4 20 -73408.4 20 -73419.3 20 -73430.3 20 -73441.3 20 -73452.2 20 -73463.2 20 -73474.2 20 -73485.1 20 -73496.1 20 -73507.1 20 -73518 20 -73529 20 -73540 20 -73550.9 20 -73561.9 20 -73572.9 20 -73583.8 20 -73594.8 20 -73605.8 20 -73616.7 20 -73627.7 20 -73638.7 20 -73649.6 20 -73660.6 20 -73671.6 20 -73682.6 20 -73693.5 20 -73704.5 20 -73715.5 20 -73726.4 20 -73737.4 20 -73748.4 20 -73759.3 20 -73770.3 20 -73781.3 20 -73792.2 20 -73803.2 20 -73814.2 20 -73825.1 20 -73836.1 20 -73847.1 20 -73858 20 -73869 20 -73880 20 -73890.9 20 -73901.9 20 -73912.9 20 -73923.8 20 -73934.8 20 -73945.8 20 -73956.8 20 -73967.7 20 -73978.7 20 -73989.7 20 -74000.6 20 -74011.6 20 -74022.6 20 -74033.5 20 -74044.5 20 -74055.5 20 -74066.4 20 -74077.4 20 -74088.4 20 -74099.3 20 -74110.3 20 -74121.3 4 -74132.2 5 -74143.2 7 -74154.2 7 -74165.1 7 -74176.1 7 -74187.1 7 -74198 7 -74209 7 -74220 7 -74231 7 -74241.9 7 -74252.9 7 -74263.9 7 -74274.8 7 -74285.8 7 -74296.8 7 -74307.7 7 -74318.7 7 -74329.7 7 -74340.6 7 -74351.6 7 -74362.6 7 -74373.5 7 -74384.5 7 -74395.5 7 -74406.4 7 -74417.4 7 -74428.4 7 -74439.3 7 -74450.3 7 -74461.3 7 -74472.2 7 -74483.2 7 -74494.2 7 -74505.1 7 -74516.1 7 -74527.1 7 -74538.1 7 -74549 7 -74560 7 -74571 7 -74581.9 7 -74592.9 7 -74603.9 7 -74614.8 7 -74625.8 7 -74636.8 7 -74647.7 7 -74658.7 7 -74669.7 7 -74680.6 7 -74691.6 7 -74702.6 7 -74713.5 7 -74724.5 7 -74735.5 7 -74746.4 7 -74757.4 7 -74768.4 7 -74779.3 7 -74790.3 7 -74801.3 7 -74812.3 7 -74823.2 7 -74834.2 7 -74845.2 7 -74856.1 7 -74867.1 7 -74878.1 7 -74889 7 -74900 7 -74911 7 -74921.9 7 -74932.9 7 -74943.9 7 -74954.8 7 -74965.8 7 -74976.8 7 -74987.7 7 -74998.7 7 -75009.7 7 -75020.6 7 -75031.6 7 -75042.6 7 -75053.5 7 -75064.5 7 -75075.5 7 -75086.4 7 -75097.4 7 -75108.4 7 -75119.4 7 -75130.3 7 -75141.3 7 -75152.3 7 -75163.2 7 -75174.2 7 -75185.2 7 -75196.1 7 -75207.1 7 -75218.1 7 -75229 7 -75240 7 -75251 7 -75261.9 7 -75272.9 7 -75283.9 7 -75294.8 7 -75305.8 7 -75316.8 7 -75327.7 7 -75338.7 7 -75349.7 7 -75360.6 7 -75371.6 7 -75382.6 7 -75393.6 7 -75404.5 7 -75415.5 7 -75426.5 7 -75437.4 7 -75448.4 7 -75459.4 7 -75470.3 7 -75481.3 7 -75492.3 7 -75503.2 7 -75514.2 7 -75525.2 7 -75536.1 7 -75547.1 7 -75558.1 7 -75569 7 -75580 7 -75591 7 -75601.9 7 -75612.9 7 -75623.9 7 -75634.8 7 -75645.8 7 -75656.8 7 -75667.7 7 -75678.7 7 -75689.7 7 -75700.7 7 -75711.6 7 -75722.6 7 -75733.6 7 -75744.5 7 -75755.5 7 -75766.5 7 -75777.4 7 -75788.4 7 -75799.4 7 -75810.3 7 -75821.3 7 -75832.3 7 -75843.2 7 -75854.2 7 -75865.2 7 -75876.1 3 -75887.1 4 -75898.1 6 -75909 7 -75920 7 -75931 7 -75941.9 7 -75952.9 7 -75963.9 7 -75974.9 7 -75985.8 7 -75996.8 7 -76007.8 7 -76018.7 7 -76029.7 7 -76040.7 7 -76051.6 7 -76062.6 7 -76073.6 7 -76084.5 7 -76095.5 7 -76106.5 7 -76117.4 7 -76128.4 7 -76139.4 7 -76150.3 7 -76161.3 7 -76172.3 7 -76183.2 7 -76194.2 7 -76205.2 7 -76216.1 7 -76227.1 7 -76238.1 7 -76249 7 -76260 7 -76271 7 -76282 7 -76292.9 7 -76303.9 7 -76314.9 7 -76325.8 7 -76336.8 7 -76347.8 7 -76358.7 7 -76369.7 7 -76380.7 7 -76391.6 7 -76402.6 7 -76413.6 7 -76424.5 7 -76435.5 7 -76446.5 7 -76457.4 7 -76468.4 7 -76479.4 7 -76490.3 7 -76501.3 7 -76512.3 7 -76523.2 7 -76534.2 7 -76545.2 7 -76556.2 7 -76567.1 7 -76578.1 7 -76589.1 7 -76600 7 -76611 7 -76622 7 -76632.9 7 -76643.9 7 -76654.9 7 -76665.8 7 -76676.8 7 -76687.8 7 -76698.7 7 -76709.7 7 -76720.7 7 -76731.6 7 -76742.6 7 -76753.6 7 -76764.5 7 -76775.5 7 -76786.5 7 -76797.4 7 -76808.4 7 -76819.4 7 -76830.3 7 -76841.3 7 -76852.3 7 -76863.3 7 -76874.2 7 -76885.2 7 -76896.2 7 -76907.1 7 -76918.1 7 -76929.1 7 -76940 7 -76951 7 -76962 7 -76972.9 7 -76983.9 7 -76994.9 7 -77005.8 7 -77016.8 7 -77027.8 7 -77038.7 7 -77049.7 7 -77060.7 7 -77071.6 7 -77082.6 7 -77093.6 7 -77104.5 7 -77115.5 7 -77126.5 7 -77137.5 7 -77148.4 7 -77159.4 7 -77170.4 7 -77181.3 7 -77192.3 7 -77203.3 7 -77214.2 7 -77225.2 7 -77236.2 7 -77247.1 7 -77258.1 7 -77269.1 7 -77280 7 -77291 7 -77302 7 -77312.9 7 -77323.9 7 -77334.9 7 -77345.8 7 -77356.8 7 -77367.8 7 -77378.7 7 -77389.7 7 -77400.7 7 -77411.6 7 -77422.6 7 -77433.6 7 -77444.6 7 -77455.5 7 -77466.5 7 -77477.5 7 -77488.4 7 -77499.4 7 -77510.4 7 -77521.3 7 -77532.3 7 -77543.3 7 -77554.2 7 -77565.2 7 -77576.2 7 -77587.1 7 -77598.1 7 -77609.1 7 -77620 7 -77631 7 -77642 7 -77652.9 7 -77663.9 7 -77674.9 7 -77685.8 7 -77696.8 7 -77707.8 7 -77718.8 7 -77729.7 7 -77740.7 7 -77751.7 7 -77762.6 7 -77773.6 7 -77784.6 7 -77795.5 7 -77806.5 4 -77817.5 4 -77828.4 5 -77839.4 5 -77850.4 5 -77861.3 5 -77872.3 5 -77883.3 5 -77894.2 5 -77905.2 5 -77916.2 5 -77927.1 5 -77938.1 5 -77949.1 5 -77960 5 -77971 5 -77982 5 -77993 5 -78003.9 5 -78014.9 5 -78025.9 5 -78036.8 5 -78047.8 5 -78058.8 5 -78069.7 5 -78080.7 5 -78091.7 5 -78102.6 5 -78113.6 5 -78124.6 5 -78135.5 5 -78146.5 5 -78157.5 5 -78168.4 5 -78179.4 5 -78190.4 5 -78201.3 5 -78212.3 5 -78223.3 5 -78234.2 5 -78245.2 5 -78256.2 5 -78267.1 5 -78278.1 5 -78289.1 5 -78300.1 5 -78311 5 -78322 5 -78333 5 -78343.9 5 -78354.9 5 -78365.9 5 -78376.8 5 -78387.8 5 -78398.8 5 -78409.7 5 -78420.7 5 -78431.7 5 -78442.6 5 -78453.6 5 -78464.6 5 -78475.5 5 -78486.5 5 -78497.5 5 -78508.4 5 -78519.4 5 -78530.4 5 -78541.3 5 -78552.3 5 -78563.3 5 -78574.3 5 -78585.2 5 -78596.2 5 -78607.2 5 -78618.1 5 -78629.1 5 -78640.1 5 -78651 5 -78662 5 -78673 5 -78683.9 5 -78694.9 5 -78705.9 5 -78716.8 5 -78727.8 5 -78738.8 5 -78749.7 5 -78760.7 5 -78771.7 5 -78782.6 5 -78793.6 5 -78804.6 5 -78815.5 5 -78826.5 5 -78837.5 5 -78848.4 5 -78859.4 5 -78870.4 5 -78881.4 5 -78892.3 5 -78903.3 5 -78914.3 5 -78925.2 5 -78936.2 5 -78947.2 5 -78958.1 5 -78969.1 5 -78980.1 5 -78991 5 -79002 5 -79013 5 -79023.9 5 -79034.9 5 -79045.9 5 -79056.8 5 -79067.8 5 -79078.8 5 -79089.7 5 -79100.7 5 -79111.7 5 -79122.6 5 -79133.6 5 -79144.6 5 -79155.6 5 -79166.5 5 -79177.5 5 -79188.5 5 -79199.4 5 -79210.4 5 -79221.4 5 -79232.3 5 -79243.3 5 -79254.3 5 -79265.2 5 -79276.2 5 -79287.2 5 -79298.1 5 -79309.1 5 -79320.1 5 -79331 5 -79342 5 -79353 5 -79363.9 5 -79374.9 5 -79385.9 5 -79396.8 5 -79407.8 5 -79418.8 5 -79429.7 5 -79440.7 5 -79451.7 5 -79462.7 5 -79473.6 5 -79484.6 5 -79495.6 5 -79506.5 5 -79517.5 5 -79528.5 5 -79539.4 5 -79550.4 5 -79561.4 5 -79572.3 3 -79583.3 2 -79594.3 5 -79605.2 5 -79616.2 5 -79627.2 5 -79638.1 5 -79649.1 5 -79660.1 5 -79671 5 -79682 5 -79693 5 -79703.9 5 -79714.9 5 -79725.9 5 -79736.9 5 -79747.8 5 -79758.8 5 -79769.8 5 -79780.7 5 -79791.7 5 -79802.7 5 -79813.6 5 -79824.6 5 -79835.6 5 -79846.5 5 -79857.5 5 -79868.5 5 -79879.4 5 -79890.4 5 -79901.4 5 -79912.3 5 -79923.3 5 -79934.3 5 -79945.2 5 -79956.2 5 -79967.2 5 -79978.1 5 -79989.1 5 -80000.1 5 -80011 5 -80022 5 -80033 5 -80044 5 -80054.9 5 -80065.9 5 -80076.9 5 -80087.8 5 -80098.8 5 -80109.8 5 -80120.7 5 -80131.7 5 -80142.7 5 -80153.6 5 -80164.6 5 -80175.6 5 -80186.5 5 -80197.5 5 -80208.5 5 -80219.4 5 -80230.4 5 -80241.4 5 -80252.3 5 -80263.3 5 -80274.3 5 -80285.2 5 -80296.2 5 -80307.2 5 -80318.2 5 -80329.1 5 -80340.1 5 -80351.1 5 -80362 5 -80373 5 -80384 5 -80394.9 5 -80405.9 5 -80416.9 5 -80427.8 5 -80438.8 5 -80449.8 5 -80460.7 5 -80471.7 5 -80482.7 5 -80493.6 5 -80504.6 5 -80515.6 5 -80526.5 5 -80537.5 5 -80548.5 5 -80559.4 5 -80570.4 5 -80581.4 5 -80592.3 5 -80603.3 5 -80614.3 5 -80625.3 5 -80636.2 5 -80647.2 5 -80658.2 5 -80669.1 5 -80680.1 5 -80691.1 5 -80702 5 -80713 5 -80724 5 -80734.9 5 -80745.9 5 -80756.9 5 -80767.8 5 -80778.8 5 -80789.8 5 -80800.7 5 -80811.7 5 -80822.7 5 -80833.6 5 -80844.6 5 -80855.6 5 -80866.5 5 -80877.5 5 -80888.5 5 -80899.5 5 -80910.4 5 -80921.4 5 -80932.4 5 -80943.3 5 -80954.3 5 -80965.3 5 -80976.2 5 -80987.2 5 -80998.2 5 -81009.1 5 -81020.1 5 -81031.1 5 -81042 5 -81053 5 -81064 5 -81074.9 5 -81085.9 5 -81096.9 5 -81107.8 5 -81118.8 5 -81129.8 5 -81140.7 5 -81151.7 5 -81162.7 5 -81173.6 5 -81184.6 5 -81195.6 5 -81206.6 5 -81217.5 5 -81228.5 5 -81239.5 5 -81250.4 5 -81261.4 5 -81272.4 5 -81283.3 5 -81294.3 5 -81305.3 5 -81316.2 5 -81327.2 5 -81338.2 5 -81349.1 5 -81360.1 5 -81371.1 5 -81382 5 -81393 5 -81404 5 -81414.9 5 -81425.9 5 -81436.9 5 -81447.8 5 -81458.8 5 -81469.8 5 -81480.8 5 -81491.7 4 -81502.7 4 -81513.7 5 -81524.6 5 -81535.6 5 -81546.6 5 -81557.5 5 -81568.5 5 -81579.5 5 -81590.4 5 -81601.4 5 -81612.4 5 -81623.3 5 -81634.3 5 -81645.3 5 -81656.2 5 -81667.2 5 -81678.2 5 -81689.1 5 -81700.1 5 -81711.1 5 -81722 5 -81733 5 -81744 5 -81755 5 -81765.9 5 -81776.9 5 -81787.9 5 -81798.8 5 -81809.8 5 -81820.8 5 -81831.7 5 -81842.7 5 -81853.7 5 -81864.6 5 -81875.6 5 -81886.6 5 -81897.5 5 -81908.5 5 -81919.5 5 -81930.4 5 -81941.4 5 -81952.4 5 -81963.3 5 -81974.3 5 -81985.3 5 -81996.2 5 -82007.2 5 -82018.2 5 -82029.1 5 -82040.1 5 -82051.1 5 -82062.1 5 -82073 5 -82084 5 -82095 5 -82105.9 5 -82116.9 5 -82127.9 5 -82138.8 5 -82149.8 5 -82160.8 5 -82171.7 5 -82182.7 5 -82193.7 5 -82204.6 5 -82215.6 5 -82226.6 5 -82237.5 5 -82248.5 5 -82259.5 5 -82270.4 5 -82281.4 5 -82292.4 5 -82303.3 5 -82314.3 5 -82325.3 5 -82336.3 5 -82347.2 5 -82358.2 5 -82369.2 5 -82380.1 5 -82391.1 5 -82402.1 5 -82413 5 -82424 5 -82435 5 -82445.9 5 -82456.9 5 -82467.9 5 -82478.8 5 -82489.8 5 -82500.8 5 -82511.7 5 -82522.7 5 -82533.7 5 -82544.6 5 -82555.6 5 -82566.6 5 -82577.5 5 -82588.5 5 -82599.5 5 -82610.4 5 -82621.4 5 -82632.4 5 -82643.4 5 -82654.3 5 -82665.3 5 -82676.3 5 -82687.2 5 -82698.2 5 -82709.2 5 -82720.1 5 -82731.1 5 -82742.1 5 -82753 5 -82764 5 -82775 5 -82785.9 5 -82796.9 5 -82807.9 5 -82818.8 5 -82829.8 5 -82840.8 5 -82851.7 5 -82862.7 5 -82873.7 5 -82884.6 5 -82895.6 5 -82906.6 5 -82917.6 5 -82928.5 5 -82939.5 5 -82950.5 5 -82961.4 5 -82972.4 5 -82983.4 5 -82994.3 5 -83005.3 5 -83016.3 5 -83027.2 5 -83038.2 5 -83049.2 5 -83060.1 5 -83071.1 5 -83082.1 5 -83093 5 -83104 5 -83115 5 -83125.9 5 -83136.9 5 -83147.9 5 -83158.8 5 -83169.8 5 -83180.8 5 -83191.7 5 -83202.7 5 -83213.7 5 -83224.7 5 -83235.6 5 -83246.6 2 -83257.6 1 -83268.5 1 -83279.5 1 -83290.5 1 -83301.4 1 -83312.4 1 -83323.4 1 -83334.3 1 -83345.3 1 -83356.3 1 -83367.2 1 -83378.2 1 -83389.2 1 -83400.1 1 -83411.1 1 -83422.1 1 -83433 1 -83444 1 -83455 1 -83465.9 1 -83476.9 1 -83487.9 1 -83498.9 1 -83509.8 1 -83520.8 1 -83531.8 1 -83542.7 1 -83553.7 1 -83564.7 1 -83575.6 1 -83586.6 1 -83597.6 1 -83608.5 1 -83619.5 1 -83630.5 1 -83641.4 1 -83652.4 1 -83663.4 1 -83674.3 1 -83685.3 1 -83696.3 1 -83707.2 1 -83718.2 1 -83729.2 1 -83740.1 1 -83751.1 1 -83762.1 1 -83773 1 -83784 1 -83795 1 -83806 1 -83816.9 1 -83827.9 1 -83838.9 1 -83849.8 1 -83860.8 1 -83871.8 1 -83882.7 1 -83893.7 1 -83904.7 1 -83915.6 1 -83926.6 1 -83937.6 1 -83948.5 1 -83959.5 1 -83970.5 1 -83981.4 1 -83992.4 1 -84003.4 1 -84014.3 1 -84025.3 1 -84036.3 1 -84047.2 1 -84058.2 1 -84069.2 1 -84080.2 1 -84091.1 1 -84102.1 1 -84113.1 1 -84124 1 -84135 1 -84146 1 -84156.9 1 -84167.9 1 -84178.9 1 -84189.8 1 -84200.8 1 -84211.8 1 -84222.7 1 -84233.7 1 -84244.7 1 -84255.6 1 -84266.6 1 -84277.6 1 -84288.5 1 -84299.5 1 -84310.5 1 -84321.4 1 -84332.4 1 -84343.4 1 -84354.3 1 -84365.3 1 -84376.3 1 -84387.3 1 -84398.2 1 -84409.2 1 -84420.2 1 -84431.1 1 -84442.1 1 -84453.1 1 -84464 1 -84475 1 -84486 1 -84496.9 1 -84507.9 1 -84518.9 1 -84529.8 1 -84540.8 1 -84551.8 1 -84562.7 1 -84573.7 1 -84584.7 1 -84595.6 1 -84606.6 1 -84617.6 1 -84628.5 1 -84639.5 1 -84650.5 1 -84661.5 1 -84672.4 1 -84683.4 1 -84694.4 1 -84705.3 1 -84716.3 1 -84727.3 1 -84738.2 1 -84749.2 1 -84760.2 1 -84771.1 1 -84782.1 1 -84793.1 1 -84804 1 -84815 1 -84826 1 -84836.9 1 -84847.9 1 -84858.9 1 -84869.8 1 -84880.8 1 -84891.8 1 -84902.7 1 -84913.7 1 -84924.7 1 -84935.6 1 -84946.6 1 -84957.6 1 -84968.6 1 -84979.5 1 -84990.5 1 -85001.5 1 -85012.4 1 -85023.4 1 -85034.4 1 -85045.3 1 -85056.3 1 -85067.3 1 -85078.2 1 -85089.2 1 -85100.2 1 -85111.1 1 -85122.1 1 -85133.1 1 -85144 1 -85155 1 -85166 1 -85176.9 Deleted: SwiftApps/SciColSim/plot_cumulative.txt =================================================================== --- SwiftApps/SciColSim/plot_cumulative.txt 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/plot_cumulative.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,7989 +0,0 @@ -0 4 -10.6631 8 -21.3262 8 -31.9893 12 -42.6524 13 -53.3156 16 -63.9787 17 -74.6418 20 -85.3049 21 -95.968 24 -106.631 24 -117.294 28 -127.957 29 -138.62 32 -149.284 33 -159.947 35 -170.61 37 -181.273 40 -191.936 41 -202.599 43 -213.262 45 -223.925 47 -234.588 49 -245.252 51 -255.915 53 -266.578 55 -277.241 57 -287.904 57 -298.567 58 -309.23 61 -319.893 61 -330.556 63 -341.22 67 -351.883 74 -362.546 75 -373.209 79 -383.872 81 -394.535 83 -405.198 85 -415.861 89 -426.524 90 -437.188 93 -447.851 94 -458.514 98 -469.177 98 -479.84 101 -490.503 102 -501.166 103 -511.829 106 -522.492 107 -533.155 110 -543.819 114 -554.482 118 -565.145 118 -575.808 121 -586.471 122 -597.134 122 -607.797 125 -618.46 127 -629.123 127 -639.787 129 -650.45 132 -661.113 134 -671.776 136 -682.439 136 -693.102 139 -703.765 143 -714.428 147 -725.091 148 -735.755 150 -746.418 152 -757.081 153 -767.744 156 -778.407 160 -789.07 162 -799.733 164 -810.396 164 -821.059 164 -831.723 168 -842.386 169 -853.049 175 -863.712 175 -874.375 176 -885.038 179 -895.701 182 -906.364 186 -917.027 190 -927.691 190 -938.354 194 -949.017 195 -959.68 198 -970.343 199 -981.006 202 -991.669 203 -1002.33 206 -1013 207 -1023.66 210 -1034.32 210 -1044.98 211 -1055.65 213 -1066.31 215 -1076.97 217 -1087.64 219 -1098.3 222 -1108.96 224 -1119.63 224 -1130.29 227 -1140.95 228 -1151.62 231 -1162.28 233 -1172.94 236 -1183.61 241 -1194.27 242 -1204.93 243 -1215.59 246 -1226.26 247 -1236.92 250 -1247.58 252 -1258.25 254 -1268.91 256 -1279.57 259 -1290.24 260 -1300.9 263 -1311.56 264 -1322.23 266 -1332.89 267 -1343.55 269 -1354.21 271 -1364.88 273 -1375.54 275 -1386.2 276 -1396.87 278 -1407.53 281 -1418.19 285 -1428.86 285 -1439.52 288 -1450.18 290 -1460.85 290 -1471.51 291 -1482.17 294 -1492.84 297 -1503.5 298 -1514.16 301 -1524.82 302 -1535.49 306 -1546.15 307 -1556.81 310 -1567.48 312 -1578.14 313 -1588.8 315 -1599.47 317 -1610.13 317 -1620.79 319 -1631.46 321 -1642.12 324 -1652.78 327 -1663.45 328 -1674.11 331 -1684.77 333 -1695.43 333 -1706.1 335 -1716.76 338 -1727.42 340 -1738.09 342 -1748.75 344 -1759.41 346 -1770.08 347 -1780.74 351 -1791.4 351 -1802.07 352 -1812.73 355 -1823.39 355 -1834.05 356 -1844.72 361 -1855.38 362 -1866.04 362 -1876.71 365 -1887.37 366 -1898.03 370 -1908.7 371 -1919.36 373 -1930.02 375 -1940.69 376 -1951.35 379 -1962.01 380 -1972.68 383 -1983.34 386 -1994 387 -2004.66 389 -2015.33 391 -2025.99 393 -2036.65 396 -2047.32 398 -2057.98 401 -2068.64 402 -2079.31 405 -2089.97 405 -2100.63 407 -2111.3 409 -2121.96 411 -2132.62 413 -2143.29 415 -2153.95 415 -2164.61 417 -2175.27 419 -2185.94 421 -2196.6 424 -2207.26 425 -2217.93 427 -2228.59 428 -2239.25 430 -2249.92 432 -2260.58 433 -2271.24 435 -2281.91 439 -2292.57 443 -2303.23 444 -2313.89 445 -2324.56 448 -2335.22 449 -2345.88 453 -2356.55 453 -2367.21 456 -2377.87 457 -2388.54 461 -2399.2 461 -2409.86 464 -2420.53 465 -2431.19 468 -2441.85 470 -2452.52 472 -2463.18 474 -2473.84 474 -2484.5 477 -2495.17 479 -2505.83 481 -2516.49 484 -2527.16 486 -2537.82 488 -2548.48 490 -2559.15 492 -2569.81 493 -2580.47 496 -2591.14 497 -2601.8 500 -2612.46 501 -2623.13 501 -2633.79 504 -2644.45 505 -2655.11 508 -2665.78 509 -2676.44 512 -2687.1 513 -2697.77 514 -2708.43 516 -2719.09 518 -2729.76 520 -2740.42 522 -2751.08 524 -2761.75 526 -2772.41 526 -2783.07 529 -2793.73 531 -2804.4 534 -2815.06 536 -2825.72 538 -2836.39 540 -2847.05 542 -2857.71 545 -2868.38 545 -2879.04 545 -2889.7 549 -2900.37 551 -2911.03 553 -2921.69 553 -2932.36 558 -2943.02 560 -2953.68 563 -2964.34 567 -2975.01 568 -2985.67 569 -2996.33 571 -3007 572 -3017.66 575 -3028.32 576 -3038.99 576 -3049.65 579 -3060.31 581 -3070.98 583 -3081.64 585 -3092.3 586 -3102.97 586 -3113.63 589 -3124.29 590 -3134.95 594 -3145.62 595 -3156.28 597 -3166.94 598 -3177.61 599 -3188.27 602 -3198.93 605 -3209.6 606 -3220.26 607 -3230.92 609 -3241.59 612 -3252.25 613 -3262.91 615 -3273.57 617 -3284.24 618 -3294.9 622 -3305.56 622 -3316.23 625 -3326.89 626 -3337.55 630 -3348.22 634 -3358.88 638 -3369.54 639 -3380.21 642 -3390.87 643 -3401.53 646 -3412.2 647 -3422.86 650 -3433.52 652 -3444.18 653 -3454.85 658 -3465.51 661 -3476.17 665 -3486.84 668 -3497.5 672 -3508.16 673 -3518.83 673 -3529.49 676 -3540.15 677 -3550.82 679 -3561.48 680 -3572.14 681 -3582.8 684 -3593.47 685 -3604.13 688 -3614.79 689 -3625.46 693 -3636.12 694 -3646.78 696 -3657.45 697 -3668.11 698 -3678.77 701 -3689.44 702 -3700.1 706 -3710.76 706 -3721.43 709 -3732.09 710 -3742.75 712 -3753.41 714 -3764.08 715 -3774.74 717 -3785.4 719 -3796.07 722 -3806.73 722 -3817.39 724 -3828.06 726 -3838.72 729 -3849.38 732 -3860.05 736 -3870.71 737 -3881.37 737 -3892.04 739 -3902.7 741 -3913.36 744 -3924.02 745 -3934.69 749 -3945.35 749 -3956.01 752 -3966.68 753 -3977.34 756 -3988 757 -3998.67 760 -4009.33 762 -4019.99 764 -4030.66 768 -4041.32 768 -4051.98 770 -4062.64 771 -4073.31 776 -4083.97 778 -4094.63 778 -4105.3 780 -4115.96 782 -4126.62 784 -4137.29 784 -4147.95 787 -4158.61 788 -4169.28 790 -4179.94 792 -4190.6 795 -4201.27 796 -4211.93 797 -4222.59 800 -4233.25 804 -4243.92 804 -4254.58 806 -4265.24 808 -4275.91 810 -4286.57 813 -4297.23 815 -4307.9 817 -4318.56 818 -4329.22 820 -4339.89 824 -4350.55 824 -4361.21 829 -4371.88 834 -4382.54 838 -4393.2 842 -4403.86 846 -4414.53 846 -4425.19 848 -4435.85 850 -4446.52 852 -4457.18 856 -4467.84 858 -4478.51 861 -4489.17 863 -4499.83 865 -4510.5 867 -4521.16 868 -4531.82 869 -4542.48 871 -4553.15 872 -4563.81 873 -4574.47 876 -4585.14 877 -4595.8 878 -4606.46 880 -4617.13 880 -4627.79 884 -4638.45 884 -4649.12 886 -4659.78 889 -4670.44 889 -4681.11 891 -4691.77 893 -4702.43 895 -4713.09 898 -4723.76 900 -4734.42 902 -4745.08 904 -4755.75 906 -4766.41 908 -4777.07 912 -4787.74 913 -4798.4 914 -4809.06 918 -4819.73 920 -4830.39 922 -4841.05 924 -4851.72 926 -4862.38 928 -4873.04 930 -4883.7 933 -4894.37 935 -4905.03 938 -4915.69 940 -4926.36 942 -4937.02 944 -4947.68 946 -4958.35 948 -4969.01 951 -4979.67 953 -4990.34 955 -5001 957 -5011.66 957 -5022.32 960 -5032.99 962 -5043.65 963 -5054.31 966 -5064.98 968 -5075.64 971 -5086.3 971 -5096.97 973 -5107.63 975 -5118.29 977 -5128.96 979 -5139.62 981 -5150.28 983 -5160.95 984 -5171.61 984 -5182.27 987 -5192.93 987 -5203.6 991 -5214.26 996 -5224.92 997 -5235.59 1001 -5246.25 1005 -5256.91 1008 -5267.58 1010 -5278.24 1012 -5288.9 1014 -5299.57 1016 -5310.23 1018 -5320.89 1020 -5331.55 1022 -5342.22 1024 -5352.88 1026 -5363.54 1028 -5374.21 1028 -5384.87 1030 -5395.53 1032 -5406.2 1032 -5416.86 1035 -5427.52 1036 -5438.19 1040 -5448.85 1043 -5459.51 1047 -5470.18 1051 -5480.84 1054 -5491.5 1055 -5502.16 1058 -5512.83 1061 -5523.49 1065 -5534.15 1069 -5544.82 1073 -5555.48 1077 -5566.14 1079 -5576.81 1082 -5587.47 1084 -5598.13 1087 -5608.8 1088 -5619.46 1090 -5630.12 1092 -5640.79 1092 -5651.45 1095 -5662.11 1098 -5672.77 1099 -5683.44 1101 -5694.1 1103 -5704.76 1105 -5715.43 1107 -5726.09 1109 -5736.75 1111 -5747.42 1115 -5758.08 1117 -5768.74 1119 -5779.41 1121 -5790.07 1123 -5800.73 1124 -5811.39 1127 -5822.06 1128 -5832.72 1132 -5843.38 1134 -5854.05 1134 -5864.71 1136 -5875.37 1138 -5886.04 1138 -5896.7 1140 -5907.36 1141 -5918.03 1143 -5928.69 1144 -5939.35 1146 -5950.02 1148 -5960.68 1151 -5971.34 1153 -5982 1154 -5992.67 1155 -6003.33 1157 -6013.99 1160 -6024.66 1162 -6035.32 1164 -6045.98 1166 -6056.65 1166 -6067.31 1169 -6077.97 1171 -6088.64 1173 -6099.3 1175 -6109.96 1177 -6120.63 1179 -6131.29 1179 -6141.95 1182 -6152.61 1184 -6163.28 1186 -6173.94 1188 -6184.6 1191 -6195.27 1194 -6205.93 1195 -6216.59 1199 -6227.26 1203 -6237.92 1205 -6248.58 1207 -6259.25 1209 -6269.91 1212 -6280.57 1214 -6291.23 1216 -6301.9 1219 -6312.56 1221 -6323.22 1222 -6333.89 1223 -6344.55 1226 -6355.21 1227 -6365.88 1227 -6376.54 1230 -6387.2 1231 -6397.87 1231 -6408.53 1234 -6419.19 1235 -6429.86 1238 -6440.52 1239 -6451.18 1240 -6461.84 1243 -6472.51 1244 -6483.17 1245 -6493.83 1248 -6504.5 1249 -6515.16 1252 -6525.82 1256 -6536.49 1259 -6547.15 1260 -6557.81 1263 -6568.48 1264 -6579.14 1267 -6589.8 1268 -6600.47 1271 -6611.13 1272 -6621.79 1275 -6632.45 1276 -6643.12 1280 -6653.78 1280 -6664.44 1283 -6675.11 1285 -6685.77 1288 -6696.43 1289 -6707.1 1293 -6717.76 1294 -6728.42 1298 -6739.09 1299 -6749.75 1301 -6760.41 1306 -6771.07 1307 -6781.74 1308 -6792.4 1311 -6803.06 1313 -6813.73 1316 -6824.39 1317 -6835.05 1320 -6845.72 1321 -6856.38 1324 -6867.04 1325 -6877.71 1328 -6888.37 1329 -6899.03 1329 -6909.7 1332 -6920.36 1336 -6931.02 1338 -6941.68 1339 -6952.35 1342 -6963.01 1342 -6973.67 1343 -6984.34 1346 -6995 1347 -7005.66 1347 -7016.33 1350 -7026.99 1351 -7037.65 1353 -7048.32 1354 -7058.98 1356 -7069.64 1357 -7080.31 1358 -7090.97 1359 -7101.63 1362 -7112.29 1363 -7122.96 1366 -7133.62 1367 -7144.28 1370 -7154.95 1371 -7165.61 1374 -7176.27 1377 -7186.94 1378 -7197.6 1380 -7208.26 1385 -7218.93 1387 -7229.59 1391 -7240.25 1394 -7250.91 1395 -7261.58 1400 -7272.24 1400 -7282.9 1402 -7293.57 1404 -7304.23 1406 -7314.89 1408 -7325.56 1410 -7336.22 1412 -7346.88 1414 -7357.55 1418 -7368.21 1421 -7378.87 1422 -7389.54 1424 -7400.2 1426 -7410.86 1428 -7421.52 1430 -7432.19 1431 -7442.85 1436 -7453.51 1437 -7464.18 1439 -7474.84 1441 -7485.5 1441 -7496.17 1444 -7506.83 1449 -7517.49 1450 -7528.16 1450 -7538.82 1452 -7549.48 1454 -7560.14 1458 -7570.81 1461 -7581.47 1462 -7592.13 1465 -7602.8 1466 -7613.46 1469 -7624.12 1470 -7634.79 1473 -7645.45 1474 -7656.11 1477 -7666.78 1478 -7677.44 1481 -7688.1 1482 -7698.77 1485 -7709.43 1487 -7720.09 1490 -7730.75 1491 -7741.42 1492 -7752.08 1494 -7762.74 1495 -7773.41 1498 -7784.07 1499 -7794.73 1502 -7805.4 1502 -7816.06 1503 -7826.72 1506 -7837.39 1508 -7848.05 1515 -7858.71 1516 -7869.38 1520 -7880.04 1520 -7890.7 1524 -7901.36 1528 -7912.03 1529 -7922.69 1532 -7933.35 1533 -7944.02 1537 -7954.68 1541 -7965.34 1542 -7976.01 1545 -7986.67 1547 -7997.33 1550 -8008 1551 -8018.66 1553 -8029.32 1553 -8039.98 1555 -8050.65 1557 -8061.31 1559 -8071.97 1561 -8082.64 1562 -8093.3 1564 -8103.96 1565 -8114.63 1567 -8125.29 1569 -8135.95 1571 -8146.62 1573 -8157.28 1575 -8167.94 1575 -8178.61 1576 -8189.27 1579 -8199.93 1581 -8210.59 1583 -8221.26 1585 -8231.92 1587 -8242.58 1590 -8253.25 1593 -8263.91 1595 -8274.57 1597 -8285.24 1599 -8295.9 1601 -8306.56 1604 -8317.23 1606 -8327.89 1608 -8338.55 1610 -8349.22 1612 -8359.88 1614 -8370.54 1615 -8381.2 1617 -8391.87 1618 -8402.53 1621 -8413.19 1623 -8423.86 1623 -8434.52 1626 -8445.18 1629 -8455.85 1631 -8466.51 1633 -8477.17 1636 -8487.84 1638 -8498.5 1640 -8509.16 1643 -8519.82 1645 -8530.49 1647 -8541.15 1649 -8551.81 1651 -8562.48 1653 -8573.14 1655 -8583.8 1657 -8594.47 1657 -8605.13 1661 -8615.79 1661 -8626.46 1664 -8637.12 1665 -8647.78 1668 -8658.45 1669 -8669.11 1673 -8679.77 1673 -8690.43 1677 -8701.1 1678 -8711.76 1681 -8722.42 1682 -8733.09 1685 -8743.75 1690 -8754.41 1694 -8765.08 1698 -8775.74 1701 -8786.4 1704 -8797.07 1705 -8807.73 1709 -8818.39 1709 -8829.06 1713 -8839.72 1717 -8850.38 1721 -8861.04 1721 -8871.71 1725 -8882.37 1729 -8893.03 1731 -8903.7 1733 -8914.36 1735 -8925.02 1737 -8935.69 1739 -8946.35 1741 -8957.01 1743 -8967.68 1745 -8978.34 1747 -8989 1749 -8999.66 1751 -9010.33 1753 -9020.99 1757 -9031.65 1762 -9042.32 1768 -9052.98 1769 -9063.64 1772 -9074.31 1773 -9084.97 1777 -9095.63 1777 -9106.3 1781 -9116.96 1785 -9127.62 1785 -9138.29 1787 -9148.95 1789 -9159.61 1790 -9170.27 1793 -9180.94 1793 -9191.6 1794 -9202.26 1797 -9212.93 1798 -9223.59 1801 -9234.25 1802 -9244.92 1805 -9255.58 1806 -9266.24 1809 -9276.91 1811 -9287.57 1813 -9298.23 1815 -9308.9 1817 -9319.56 1819 -9330.22 1820 -9340.88 1822 -9351.55 1823 -9362.21 1825 -9372.87 1828 -9383.54 1831 -9394.2 1837 -9404.86 1837 -9415.53 1841 -9426.19 1841 -9436.85 1845 -9447.52 1849 -9458.18 1853 -9468.84 1857 -9479.5 1861 -9490.17 1861 -9500.83 1866 -9511.49 1866 -9522.16 1869 -9532.82 1870 -9543.48 1871 -9554.15 1874 -9564.81 1875 -9575.47 1879 -9586.14 1884 -9596.8 1888 -9607.46 1889 -9618.13 1892 -9628.79 1893 -9639.45 1893 -9650.11 1896 -9660.78 1897 -9671.44 1900 -9682.1 1901 -9692.77 1904 -9703.43 1905 -9714.09 1907 -9724.76 1909 -9735.42 1910 -9746.08 1913 -9756.75 1917 -9767.41 1918 -9778.07 1921 -9788.73 1923 -9799.4 1927 -9810.06 1927 -9820.72 1930 -9831.39 1932 -9842.05 1936 -9852.71 1937 -9863.38 1939 -9874.04 1941 -9884.7 1945 -9895.37 1948 -9906.03 1948 -9916.69 1950 -9927.36 1952 -9938.02 1954 -9948.68 1957 -9959.34 1958 -9970.01 1961 -9980.67 1962 -9991.33 1962 -10002 1965 -10012.7 1966 -10023.3 1969 -10034 1969 -10044.6 1970 -10055.3 1973 -10066 1974 -10076.6 1977 -10087.3 1978 -10098 1982 -10108.6 1983 -10119.3 1985 -10130 1988 -10140.6 1988 -10151.3 1991 -10161.9 1993 -10172.6 1997 -10183.3 1997 -10193.9 1998 -10204.6 2001 -10215.3 2004 -10225.9 2006 -10236.6 2008 -10247.2 2013 -10257.9 2014 -10268.6 2016 -10279.2 2018 -10289.9 2020 -10300.6 2022 -10311.2 2026 -10321.9 2026 -10332.6 2027 -10343.2 2029 -10353.9 2030 -10364.5 2031 -10375.2 2034 -10385.9 2035 -10396.5 2037 -10407.2 2040 -10417.9 2043 -10428.5 2046 -10439.2 2049 -10449.8 2050 -10460.5 2052 -10471.2 2054 -10481.8 2058 -10492.5 2059 -10503.2 2063 -10513.8 2067 -10524.5 2068 -10535.2 2070 -10545.8 2073 -10556.5 2073 -10567.1 2075 -10577.8 2077 -10588.5 2079 -10599.1 2081 -10609.8 2083 -10620.5 2086 -10631.1 2087 -10641.8 2089 -10652.4 2092 -10663.1 2094 -10673.8 2096 -10684.4 2098 -10695.1 2103 -10705.8 2104 -10716.4 2107 -10727.1 2108 -10737.8 2110 -10748.4 2112 -10759.1 2113 -10769.7 2116 -10780.4 2117 -10791.1 2118 -10801.7 2120 -10812.4 2122 -10823.1 2124 -10833.7 2126 -10844.4 2128 -10855 2130 -10865.7 2131 -10876.4 2133 -10887 2134 -10897.7 2136 -10908.4 2138 -10919 2139 -10929.7 2142 -10940.4 2144 -10951 2147 -10961.7 2149 -10972.3 2151 -10983 2153 -10993.7 2153 -11004.3 2154 -11015 2156 -11025.7 2160 -11036.3 2161 -11047 2162 -11057.6 2165 -11068.3 2167 -11079 2167 -11089.6 2171 -11100.3 2172 -11111 2175 -11121.6 2177 -11132.3 2180 -11142.9 2181 -11153.6 2183 -11164.3 2185 -11174.9 2188 -11185.6 2190 -11196.3 2192 -11206.9 2195 -11217.6 2198 -11228.3 2199 -11238.9 2201 -11249.6 2203 -11260.2 2205 -11270.9 2208 -11281.6 2210 -11292.2 2212 -11302.9 2215 -11313.6 2217 -11324.2 2219 -11334.9 2224 -11345.5 2225 -11356.2 2228 -11366.9 2229 -11377.5 2233 -11388.2 2235 -11398.9 2238 -11409.5 2239 -11420.2 2243 -11430.9 2243 -11441.5 2246 -11452.2 2251 -11462.8 2252 -11473.5 2254 -11484.2 2255 -11494.8 2257 -11505.5 2258 -11516.2 2259 -11526.8 2262 -11537.5 2264 -11548.1 2267 -11558.8 2268 -11569.5 2272 -11580.1 2272 -11590.8 2273 -11601.5 2276 -11612.1 2278 -11622.8 2281 -11633.5 2282 -11644.1 2285 -11654.8 2286 -11665.4 2290 -11676.1 2291 -11686.8 2294 -11697.4 2296 -11708.1 2298 -11718.8 2302 -11729.4 2307 -11740.1 2311 -11750.7 2315 -11761.4 2318 -11772.1 2319 -11782.7 2322 -11793.4 2324 -11804.1 2328 -11814.7 2330 -11825.4 2332 -11836.1 2333 -11846.7 2335 -11857.4 2336 -11868 2337 -11878.7 2339 -11889.4 2340 -11900 2341 -11910.7 2343 -11921.4 2344 -11932 2346 -11942.7 2349 -11953.3 2351 -11964 2353 -11974.7 2355 -11985.3 2357 -11996 2358 -12006.7 2362 -12017.3 2364 -12028 2367 -12038.7 2370 -12049.3 2371 -12060 2375 -12070.6 2376 -12081.3 2379 -12092 2380 -12102.6 2385 -12113.3 2385 -12124 2386 -12134.6 2389 -12145.3 2390 -12155.9 2393 -12166.6 2398 -12177.3 2398 -12187.9 2400 -12198.6 2402 -12209.3 2404 -12219.9 2406 -12230.6 2407 -12241.3 2409 -12251.9 2410 -12262.6 2411 -12273.2 2414 -12283.9 2418 -12294.6 2422 -12305.2 2426 -12315.9 2431 -12326.6 2433 -12337.2 2435 -12347.9 2437 -12358.5 2438 -12369.2 2441 -12379.9 2442 -12390.5 2445 -12401.2 2446 -12411.9 2450 -12422.5 2450 -12433.2 2454 -12443.8 2458 -12454.5 2462 -12465.2 2465 -12475.8 2467 -12486.5 2469 -12497.2 2472 -12507.8 2474 -12518.5 2476 -12529.2 2478 -12539.8 2480 -12550.5 2482 -12561.1 2483 -12571.8 2484 -12582.5 2487 -12593.1 2488 -12603.8 2492 -12614.5 2496 -12625.1 2500 -12635.8 2504 -12646.4 2507 -12657.1 2508 -12667.8 2512 -12678.4 2517 -12689.1 2517 -12699.8 2519 -12710.4 2521 -12721.1 2521 -12731.8 2523 -12742.4 2526 -12753.1 2526 -12763.7 2528 -12774.4 2530 -12785.1 2532 -12795.7 2534 -12806.4 2536 -12817.1 2538 -12827.7 2540 -12838.4 2542 -12849 2544 -12859.7 2547 -12870.4 2547 -12881 2549 -12891.7 2550 -12902.4 2552 -12913 2554 -12923.7 2555 -12934.4 2557 -12945 2559 -12955.7 2561 -12966.3 2564 -12977 2565 -12987.7 2567 -12998.3 2571 -13009 2572 -13019.7 2573 -13030.3 2577 -13041 2578 -13051.6 2580 -13062.3 2582 -13073 2584 -13083.6 2586 -13094.3 2588 -13105 2590 -13115.6 2592 -13126.3 2594 -13137 2596 -13147.6 2598 -13158.3 2601 -13168.9 2601 -13179.6 2604 -13190.3 2605 -13200.9 2607 -13211.6 2608 -13222.3 2610 -13232.9 2612 -13243.6 2615 -13254.2 2617 -13264.9 2620 -13275.6 2622 -13286.2 2624 -13296.9 2625 -13307.6 2628 -13318.2 2629 -13328.9 2632 -13339.6 2633 -13350.2 2636 -13360.9 2638 -13371.5 2639 -13382.2 2643 -13392.9 2643 -13403.5 2644 -13414.2 2647 -13424.9 2647 -13435.5 2649 -13446.2 2652 -13456.8 2652 -13467.5 2655 -13478.2 2658 -13488.8 2662 -13499.5 2663 -13510.2 2665 -13520.8 2667 -13531.5 2669 -13542.1 2671 -13552.8 2673 -13563.5 2675 -13574.1 2677 -13584.8 2679 -13595.5 2681 -13606.1 2681 -13616.8 2681 -13627.5 2681 -13638.1 2681 -13648.8 2681 -13659.4 2682 -13670.1 2685 -13680.8 2685 -13691.4 2685 -13702.1 2687 -13712.8 2689 -13723.4 2691 -13734.1 2694 -13744.7 2697 -13755.4 2700 -13766.1 2702 -13776.7 2705 -13787.4 2708 -13798.1 2710 -13808.7 2711 -13819.4 2713 -13830.1 2714 -13840.7 2718 -13851.4 2721 -13862 2721 -13872.7 2724 -13883.4 2724 -13894 2726 -13904.7 2728 -13915.4 2731 -13926 2732 -13936.7 2734 -13947.3 2735 -13958 2737 -13968.7 2738 -13979.3 2740 -13990 2742 -14000.7 2743 -14011.3 2745 -14022 2746 -14032.7 2746 -14043.3 2747 -14054 2750 -14064.6 2750 -14075.3 2751 -14086 2752 -14096.6 2754 -14107.3 2756 -14118 2758 -14128.6 2759 -14139.3 2760 -14149.9 2761 -14160.6 2763 -14171.3 2764 -14181.9 2766 -14192.6 2768 -14203.3 2772 -14213.9 2772 -14224.6 2776 -14235.3 2779 -14245.9 2782 -14256.6 2785 -14267.2 2786 -14277.9 2788 -14288.6 2790 -14299.2 2792 -14309.9 2794 -14320.6 2795 -14331.2 2797 -14341.9 2798 -14352.5 2800 -14363.2 2801 -14373.9 2803 -14384.5 2805 -14395.2 2806 -14405.9 2809 -14416.5 2810 -14427.2 2814 -14437.9 2814 -14448.5 2816 -14459.2 2818 -14469.8 2821 -14480.5 2823 -14491.2 2825 -14501.8 2828 -14512.5 2828 -14523.2 2831 -14533.8 2834 -14544.5 2835 -14555.1 2837 -14565.8 2840 -14576.5 2842 -14587.1 2844 -14597.8 2846 -14608.5 2848 -14619.1 2849 -14629.8 2851 -14640.5 2853 -14651.1 2854 -14661.8 2856 -14672.4 2858 -14683.1 2860 -14693.8 2862 -14704.4 2864 -14715.1 2866 -14725.8 2868 -14736.4 2870 -14747.1 2871 -14757.7 2873 -14768.4 2874 -14779.1 2875 -14789.7 2878 -14800.4 2880 -14811.1 2883 -14821.7 2884 -14832.4 2887 -14843 2890 -14853.7 2890 -14864.4 2891 -14875 2894 -14885.7 2895 -14896.4 2898 -14907 2899 -14917.7 2899 -14928.4 2902 -14939 2904 -14949.7 2909 -14960.3 2912 -14971 2914 -14981.7 2916 -14992.3 2920 -15003 2921 -15013.7 2923 -15024.3 2925 -15035 2927 -15045.6 2929 -15056.3 2931 -15067 2933 -15077.6 2935 -15088.3 2937 -15099 2939 -15109.6 2940 -15120.3 2941 -15131 2943 -15141.6 2944 -15152.3 2945 -15162.9 2948 -15173.6 2949 -15184.3 2951 -15194.9 2953 -15205.6 2955 -15216.3 2958 -15226.9 2961 -15237.6 2967 -15248.2 2968 -15258.9 2969 -15269.6 2972 -15280.2 2973 -15290.9 2973 -15301.6 2977 -15312.2 2981 -15322.9 2985 -15333.6 2990 -15344.2 2991 -15354.9 2996 -15365.5 2996 -15376.2 2998 -15386.9 3000 -15397.5 3001 -15408.2 3002 -15418.9 3005 -15429.5 3008 -15440.2 3008 -15450.8 3010 -15461.5 3012 -15472.2 3014 -15482.8 3015 -15493.5 3016 -15504.2 3018 -15514.8 3022 -15525.5 3023 -15536.2 3024 -15546.8 3027 -15557.5 3028 -15568.1 3031 -15578.8 3032 -15589.5 3033 -15600.1 3036 -15610.8 3039 -15621.5 3040 -15632.1 3040 -15642.8 3041 -15653.4 3042 -15664.1 3042 -15674.8 3042 -15685.4 3042 -15696.1 3042 -15706.8 3042 -15717.4 3042 -15728.1 3042 -15738.8 3042 -15749.4 3042 -15760.1 3042 -15770.7 3042 -15781.4 3042 -15792.1 3042 -15802.7 3042 -15813.4 3042 -15824.1 3042 -15834.7 3042 -15845.4 3042 -15856 3042 -15866.7 3042 -15877.4 3043 -15888 3044 -15898.7 3045 -15909.4 3046 -15920 3047 -15930.7 3047 -15941.3 3048 -15952 3049 -15962.7 3049 -15973.3 3050 -15984 3051 -15994.7 3052 -16005.3 3052 -16016 3053 -16026.7 3054 -16037.3 3055 -16048 3056 -16058.6 3058 -16069.3 3059 -16080 3060 -16090.6 3061 -16101.3 3062 -16112 3063 -16122.6 3064 -16133.3 3065 -16143.9 3066 -16154.6 3068 -16165.3 3070 -16175.9 3072 -16186.6 3073 -16197.3 3074 -16207.9 3074 -16218.6 3076 -16229.3 3078 -16239.9 3079 -16250.6 3080 -16261.2 3081 -16271.9 3082 -16282.6 3083 -16293.2 3084 -16303.9 3085 -16314.6 3086 -16325.2 3087 -16335.9 3088 -16346.5 3089 -16357.2 3090 -16367.9 3092 -16378.5 3093 -16389.2 3094 -16399.9 3095 -16410.5 3096 -16421.2 3097 -16431.9 3097 -16442.5 3098 -16453.2 3099 -16463.8 3100 -16474.5 3101 -16485.2 3102 -16495.8 3103 -16506.5 3104 -16517.2 3105 -16527.8 3106 -16538.5 3107 -16549.1 3108 -16559.8 3109 -16570.5 3110 -16581.1 3111 -16591.8 3112 -16602.5 3113 -16613.1 3114 -16623.8 3115 -16634.5 3116 -16645.1 3116 -16655.8 3117 -16666.4 3119 -16677.1 3121 -16687.8 3123 -16698.4 3123 -16709.1 3124 -16719.8 3125 -16730.4 3126 -16741.1 3127 -16751.7 3128 -16762.4 3129 -16773.1 3129 -16783.7 3130 -16794.4 3131 -16805.1 3132 -16815.7 3133 -16826.4 3134 -16837.1 3135 -16847.7 3136 -16858.4 3137 -16869 3138 -16879.7 3139 -16890.4 3139 -16901 3140 -16911.7 3142 -16922.4 3142 -16933 3144 -16943.7 3144 -16954.3 3145 -16965 3146 -16975.7 3147 -16986.3 3148 -16997 3150 -17007.7 3152 -17018.3 3155 -17029 3156 -17039.6 3156 -17050.3 3157 -17061 3158 -17071.6 3158 -17082.3 3158 -17093 3158 -17103.6 3158 -17114.3 3158 -17125 3159 -17135.6 3159 -17146.3 3159 -17156.9 3159 -17167.6 3159 -17178.3 3159 -17188.9 3160 -17199.6 3160 -17210.3 3160 -17220.9 3160 -17231.6 3160 -17242.2 3160 -17252.9 3160 -17263.6 3161 -17274.2 3161 -17284.9 3161 -17295.6 3161 -17306.2 3161 -17316.9 3161 -17327.6 3162 -17338.2 3162 -17348.9 3162 -17359.5 3162 -17370.2 3162 -17380.9 3162 -17391.5 3162 -17402.2 3163 -17412.9 3168 -17423.5 3168 -17434.2 3173 -17444.8 3177 -17455.5 3178 -17466.2 3181 -17476.8 3183 -17487.5 3186 -17498.2 3187 -17508.8 3188 -17519.5 3192 -17530.2 3194 -17540.8 3197 -17551.5 3199 -17562.1 3202 -17572.8 3204 -17583.5 3207 -17594.1 3213 -17604.8 3215 -17615.5 3217 -17626.1 3220 -17636.8 3222 -17647.4 3225 -17658.1 3227 -17668.8 3230 -17679.4 3232 -17690.1 3236 -17700.8 3238 -17711.4 3242 -17722.1 3244 -17732.8 3247 -17743.4 3250 -17754.1 3252 -17764.7 3253 -17775.4 3256 -17786.1 3259 -17796.7 3259 -17807.4 3262 -17818.1 3265 -17828.7 3268 -17839.4 3270 -17850 3270 -17860.7 3273 -17871.4 3276 -17882 3279 -17892.7 3282 -17903.4 3282 -17914 3284 -17924.7 3286 -17935.4 3287 -17946 3289 -17956.7 3292 -17967.3 3293 -17978 3294 -17988.7 3297 -17999.3 3299 -18010 3302 -18020.7 3304 -18031.3 3305 -18042 3308 -18052.6 3313 -18063.3 3314 -18074 3316 -18084.6 3317 -18095.3 3318 -18106 3318 -18116.6 3318 -18127.3 3318 -18138 3318 -18148.6 3318 -18159.3 3318 -18169.9 3318 -18180.6 3318 -18191.3 3318 -18201.9 3318 -18212.6 3318 -18223.3 3318 -18233.9 3318 -18244.6 3318 -18255.2 3318 -18265.9 3318 -18276.6 3318 -18287.2 3318 -18297.9 3318 -18308.6 3318 -18319.2 3318 -18329.9 3319 -18340.5 3320 -18351.2 3320 -18361.9 3321 -18372.5 3322 -18383.2 3322 -18393.9 3322 -18404.5 3322 -18415.2 3322 -18425.9 3322 -18436.5 3322 -18447.2 3322 -18457.8 3322 -18468.5 3322 -18479.2 3322 -18489.8 3322 -18500.5 3322 -18511.2 3322 -18521.8 3322 -18532.5 3322 -18543.1 3322 -18553.8 3322 -18564.5 3322 -18575.1 3322 -18585.8 3322 -18596.5 3322 -18607.1 3322 -18617.8 3322 -18628.5 3322 -18639.1 3322 -18649.8 3322 -18660.4 3322 -18671.1 3322 -18681.8 3322 -18692.4 3322 -18703.1 3322 -18713.8 3322 -18724.4 3322 -18735.1 3322 -18745.7 3322 -18756.4 3322 -18767.1 3322 -18777.7 3322 -18788.4 3322 -18799.1 3322 -18809.7 3322 -18820.4 3322 -18831.1 3322 -18841.7 3322 -18852.4 3322 -18863 3322 -18873.7 3322 -18884.4 3322 -18895 3322 -18905.7 3322 -18916.4 3322 -18927 3322 -18937.7 3322 -18948.3 3322 -18959 3322 -18969.7 3322 -18980.3 3322 -18991 3322 -19001.7 3322 -19012.3 3322 -19023 3322 -19033.7 3322 -19044.3 3324 -19055 3326 -19065.6 3328 -19076.3 3330 -19087 3333 -19097.6 3333 -19108.3 3334 -19119 3335 -19129.6 3336 -19140.3 3337 -19150.9 3339 -19161.6 3341 -19172.3 3342 -19182.9 3343 -19193.6 3344 -19204.3 3345 -19214.9 3347 -19225.6 3347 -19236.3 3348 -19246.9 3349 -19257.6 3350 -19268.2 3350 -19278.9 3351 -19289.6 3352 -19300.2 3353 -19310.9 3354 -19321.6 3355 -19332.2 3356 -19342.9 3357 -19353.5 3358 -19364.2 3359 -19374.9 3360 -19385.5 3361 -19396.2 3362 -19406.9 3363 -19417.5 3364 -19428.2 3365 -19438.8 3367 -19449.5 3368 -19460.2 3369 -19470.8 3370 -19481.5 3371 -19492.2 3372 -19502.8 3372 -19513.5 3375 -19524.2 3376 -19534.8 3377 -19545.5 3378 -19556.1 3380 -19566.8 3380 -19577.5 3382 -19588.1 3383 -19598.8 3384 -19609.5 3386 -19620.1 3387 -19630.8 3388 -19641.4 3389 -19652.1 3390 -19662.8 3391 -19673.4 3392 -19684.1 3393 -19694.8 3394 -19705.4 3395 -19716.1 3396 -19726.8 3397 -19737.4 3398 -19748.1 3399 -19758.7 3400 -19769.4 3401 -19780.1 3402 -19790.7 3403 -19801.4 3403 -19812.1 3404 -19822.7 3404 -19833.4 3405 -19844 3406 -19854.7 3407 -19865.4 3408 -19876 3409 -19886.7 3410 -19897.4 3411 -19908 3412 -19918.7 3413 -19929.4 3414 -19940 3415 -19950.7 3416 -19961.3 3417 -19972 3418 -19982.7 3419 -19993.3 3420 -20004 3420 -20014.7 3421 -20025.3 3422 -20036 3423 -20046.6 3424 -20057.3 3425 -20068 3427 -20078.6 3429 -20089.3 3432 -20100 3434 -20110.6 3435 -20121.3 3436 -20132 3437 -20142.6 3438 -20153.3 3438 -20163.9 3439 -20174.6 3440 -20185.3 3441 -20195.9 3442 -20206.6 3443 -20217.3 3444 -20227.9 3445 -20238.6 3446 -20249.2 3446 -20259.9 3446 -20270.6 3447 -20281.2 3447 -20291.9 3448 -20302.6 3448 -20313.2 3448 -20323.9 3449 -20334.6 3449 -20345.2 3450 -20355.9 3450 -20366.5 3451 -20377.2 3452 -20387.9 3453 -20398.5 3454 -20409.2 3455 -20419.9 3456 -20430.5 3457 -20441.2 3458 -20451.8 3459 -20462.5 3460 -20473.2 3461 -20483.8 3462 -20494.5 3463 -20505.2 3464 -20515.8 3465 -20526.5 3466 -20537.1 3467 -20547.8 3468 -20558.5 3469 -20569.1 3470 -20579.8 3471 -20590.5 3472 -20601.1 3473 -20611.8 3474 -20622.5 3475 -20633.1 3478 -20643.8 3478 -20654.4 3479 -20665.1 3480 -20675.8 3481 -20686.4 3481 -20697.1 3482 -20707.8 3483 -20718.4 3484 -20729.1 3487 -20739.7 3489 -20750.4 3489 -20761.1 3490 -20771.7 3491 -20782.4 3492 -20793.1 3493 -20803.7 3494 -20814.4 3495 -20825.1 3496 -20835.7 3497 -20846.4 3498 -20857 3499 -20867.7 3499 -20878.4 3501 -20889 3502 -20899.7 3504 -20910.4 3506 -20921 3508 -20931.7 3510 -20942.3 3512 -20953 3514 -20963.7 3515 -20974.3 3516 -20985 3517 -20995.7 3518 -21006.3 3520 -21017 3520 -21027.7 3522 -21038.3 3523 -21049 3523 -21059.6 3523 -21070.3 3523 -21081 3524 -21091.6 3526 -21102.3 3527 -21113 3528 -21123.6 3530 -21134.3 3531 -21144.9 3532 -21155.6 3533 -21166.3 3534 -21176.9 3535 -21187.6 3536 -21198.3 3537 -21208.9 3538 -21219.6 3539 -21230.3 3539 -21240.9 3540 -21251.6 3541 -21262.2 3542 -21272.9 3543 -21283.6 3544 -21294.2 3544 -21304.9 3545 -21315.6 3546 -21326.2 3548 -21336.9 3548 -21347.5 3549 -21358.2 3550 -21368.9 3551 -21379.5 3552 -21390.2 3553 -21400.9 3554 -21411.5 3554 -21422.2 3555 -21432.9 3556 -21443.5 3557 -21454.2 3558 -21464.8 3559 -21475.5 3561 -21486.2 3562 -21496.8 3562 -21507.5 3562 -21518.2 3562 -21528.8 3564 -21539.5 3565 -21550.1 3567 -21560.8 3567 -21571.5 3569 -21582.1 3572 -21592.8 3575 -21603.5 3577 -21614.1 3579 -21624.8 3580 -21635.5 3582 -21646.1 3584 -21656.8 3584 -21667.4 3586 -21678.1 3586 -21688.8 3588 -21699.4 3590 -21710.1 3592 -21720.8 3594 -21731.4 3596 -21742.1 3598 -21752.7 3600 -21763.4 3602 -21774.1 3604 -21784.7 3606 -21795.4 3608 -21806.1 3611 -21816.7 3613 -21827.4 3615 -21838 3616 -21848.7 3617 -21859.4 3618 -21870 3619 -21880.7 3621 -21891.4 3624 -21902 3626 -21912.7 3627 -21923.4 3628 -21934 3629 -21944.7 3631 -21955.3 3631 -21966 3633 -21976.7 3635 -21987.3 3635 -21998 3637 -22008.7 3639 -22019.3 3641 -22030 3643 -22040.6 3643 -22051.3 3645 -22062 3647 -22072.6 3647 -22083.3 3650 -22094 3652 -22104.6 3652 -22115.3 3654 -22126 3656 -22136.6 3658 -22147.3 3658 -22157.9 3659 -22168.6 3660 -22179.3 3661 -22189.9 3662 -22200.6 3663 -22211.3 3664 -22221.9 3664 -22232.6 3665 -22243.2 3665 -22253.9 3665 -22264.6 3665 -22275.2 3665 -22285.9 3665 -22296.6 3665 -22307.2 3666 -22317.9 3668 -22328.6 3669 -22339.2 3669 -22349.9 3670 -22360.5 3671 -22371.2 3672 -22381.9 3673 -22392.5 3674 -22403.2 3675 -22413.9 3676 -22424.5 3677 -22435.2 3679 -22445.8 3680 -22456.5 3680 -22467.2 3681 -22477.8 3682 -22488.5 3683 -22499.2 3684 -22509.8 3685 -22520.5 3688 -22531.2 3689 -22541.8 3690 -22552.5 3691 -22563.1 3692 -22573.8 3693 -22584.5 3693 -22595.1 3695 -22605.8 3696 -22616.5 3697 -22627.1 3698 -22637.8 3699 -22648.4 3700 -22659.1 3701 -22669.8 3701 -22680.4 3702 -22691.1 3703 -22701.8 3704 -22712.4 3704 -22723.1 3705 -22733.8 3707 -22744.4 3708 -22755.1 3709 -22765.7 3709 -22776.4 3710 -22787.1 3711 -22797.7 3712 -22808.4 3713 -22819.1 3715 -22829.7 3716 -22840.4 3717 -22851 3719 -22861.7 3721 -22872.4 3722 -22883 3724 -22893.7 3724 -22904.4 3725 -22915 3725 -22925.7 3725 -22936.3 3725 -22947 3725 -22957.7 3725 -22968.3 3726 -22979 3728 -22989.7 3729 -23000.3 3730 -23011 3731 -23021.7 3732 -23032.3 3733 -23043 3734 -23053.6 3735 -23064.3 3736 -23075 3737 -23085.6 3739 -23096.3 3741 -23107 3741 -23117.6 3743 -23128.3 3743 -23138.9 3745 -23149.6 3746 -23160.3 3749 -23170.9 3750 -23181.6 3750 -23192.3 3752 -23202.9 3753 -23213.6 3755 -23224.3 3756 -23234.9 3758 -23245.6 3759 -23256.2 3761 -23266.9 3762 -23277.6 3763 -23288.2 3764 -23298.9 3766 -23309.6 3768 -23320.2 3768 -23330.9 3770 -23341.5 3771 -23352.2 3773 -23362.9 3774 -23373.5 3775 -23384.2 3777 -23394.9 3778 -23405.5 3780 -23416.2 3781 -23426.9 3781 -23437.5 3783 -23448.2 3783 -23458.8 3783 -23469.5 3783 -23480.2 3783 -23490.8 3784 -23501.5 3784 -23512.2 3784 -23522.8 3784 -23533.5 3784 -23544.1 3784 -23554.8 3784 -23565.5 3784 -23576.1 3784 -23586.8 3784 -23597.5 3784 -23608.1 3784 -23618.8 3784 -23629.5 3784 -23640.1 3784 -23650.8 3784 -23661.4 3784 -23672.1 3784 -23682.8 3784 -23693.4 3784 -23704.1 3784 -23714.8 3784 -23725.4 3784 -23736.1 3784 -23746.7 3784 -23757.4 3784 -23768.1 3784 -23778.7 3784 -23789.4 3784 -23800.1 3784 -23810.7 3784 -23821.4 3784 -23832.1 3784 -23842.7 3784 -23853.4 3784 -23864 3784 -23874.7 3784 -23885.4 3784 -23896 3784 -23906.7 3784 -23917.4 3784 -23928 3784 -23938.7 3784 -23949.3 3784 -23960 3784 -23970.7 3784 -23981.3 3784 -23992 3784 -24002.7 3784 -24013.3 3785 -24024 3785 -24034.6 3786 -24045.3 3787 -24056 3788 -24066.6 3789 -24077.3 3791 -24088 3792 -24098.6 3793 -24109.3 3794 -24120 3795 -24130.6 3796 -24141.3 3798 -24151.9 3800 -24162.6 3802 -24173.3 3802 -24183.9 3802 -24194.6 3802 -24205.3 3802 -24215.9 3802 -24226.6 3802 -24237.2 3802 -24247.9 3802 -24258.6 3802 -24269.2 3802 -24279.9 3802 -24290.6 3802 -24301.2 3802 -24311.9 3802 -24322.6 3802 -24333.2 3802 -24343.9 3802 -24354.5 3802 -24365.2 3802 -24375.9 3802 -24386.5 3802 -24397.2 3802 -24407.9 3802 -24418.5 3802 -24429.2 3802 -24439.8 3802 -24450.5 3802 -24461.2 3802 -24471.8 3802 -24482.5 3802 -24493.2 3802 -24503.8 3802 -24514.5 3802 -24525.2 3802 -24535.8 3802 -24546.5 3802 -24557.1 3802 -24567.8 3802 -24578.5 3802 -24589.1 3802 -24599.8 3802 -24610.5 3802 -24621.1 3802 -24631.8 3802 -24642.4 3802 -24653.1 3802 -24663.8 3802 -24674.4 3802 -24685.1 3802 -24695.8 3802 -24706.4 3802 -24717.1 3802 -24727.8 3802 -24738.4 3802 -24749.1 3802 -24759.7 3802 -24770.4 3802 -24781.1 3802 -24791.7 3802 -24802.4 3802 -24813.1 3802 -24823.7 3802 -24834.4 3802 -24845 3802 -24855.7 3802 -24866.4 3802 -24877 3802 -24887.7 3802 -24898.4 3802 -24909 3802 -24919.7 3802 -24930.4 3802 -24941 3802 -24951.7 3802 -24962.3 3802 -24973 3803 -24983.7 3804 -24994.3 3805 -25005 3806 -25015.7 3808 -25026.3 3808 -25037 3809 -25047.6 3810 -25058.3 3811 -25069 3812 -25079.6 3813 -25090.3 3814 -25101 3815 -25111.6 3816 -25122.3 3817 -25133 3817 -25143.6 3819 -25154.3 3820 -25164.9 3821 -25175.6 3822 -25186.3 3823 -25196.9 3824 -25207.6 3825 -25218.3 3826 -25228.9 3827 -25239.6 3828 -25250.2 3829 -25260.9 3830 -25271.6 3831 -25282.2 3832 -25292.9 3833 -25303.6 3834 -25314.2 3835 -25324.9 3836 -25335.5 3837 -25346.2 3838 -25356.9 3839 -25367.5 3840 -25378.2 3841 -25388.9 3842 -25399.5 3843 -25410.2 3845 -25420.9 3846 -25431.5 3847 -25442.2 3847 -25452.8 3848 -25463.5 3849 -25474.2 3851 -25484.8 3852 -25495.5 3853 -25506.2 3854 -25516.8 3855 -25527.5 3857 -25538.1 3859 -25548.8 3861 -25559.5 3862 -25570.1 3863 -25580.8 3864 -25591.5 3865 -25602.1 3866 -25612.8 3868 -25623.5 3869 -25634.1 3870 -25644.8 3871 -25655.4 3872 -25666.1 3874 -25676.8 3875 -25687.4 3876 -25698.1 3877 -25708.8 3878 -25719.4 3879 -25730.1 3880 -25740.7 3881 -25751.4 3882 -25762.1 3883 -25772.7 3884 -25783.4 3885 -25794.1 3886 -25804.7 3887 -25815.4 3888 -25826.1 3889 -25836.7 3890 -25847.4 3891 -25858 3892 -25868.7 3893 -25879.4 3894 -25890 3895 -25900.7 3896 -25911.4 3897 -25922 3898 -25932.7 3899 -25943.3 3900 -25954 3900 -25964.7 3901 -25975.3 3902 -25986 3903 -25996.7 3905 -26007.3 3906 -26018 3906 -26028.7 3907 -26039.3 3908 -26050 3909 -26060.6 3911 -26071.3 3912 -26082 3912 -26092.6 3913 -26103.3 3914 -26114 3915 -26124.6 3917 -26135.3 3919 -26145.9 3920 -26156.6 3922 -26167.3 3923 -26177.9 3923 -26188.6 3924 -26199.3 3925 -26209.9 3926 -26220.6 3928 -26231.3 3929 -26241.9 3930 -26252.6 3931 -26263.2 3932 -26273.9 3932 -26284.6 3934 -26295.2 3935 -26305.9 3936 -26316.6 3937 -26327.2 3938 -26337.9 3939 -26348.5 3940 -26359.2 3941 -26369.9 3942 -26380.5 3943 -26391.2 3944 -26401.9 3945 -26412.5 3946 -26423.2 3947 -26433.8 3948 -26444.5 3949 -26455.2 3950 -26465.8 3951 -26476.5 3952 -26487.2 3953 -26497.8 3954 -26508.5 3955 -26519.2 3956 -26529.8 3957 -26540.5 3958 -26551.1 3959 -26561.8 3960 -26572.5 3961 -26583.1 3962 -26593.8 3963 -26604.5 3965 -26615.1 3965 -26625.8 3965 -26636.4 3965 -26647.1 3965 -26657.8 3965 -26668.4 3965 -26679.1 3965 -26689.8 3965 -26700.4 3965 -26711.1 3965 -26721.8 3965 -26732.4 3965 -26743.1 3965 -26753.7 3965 -26764.4 3965 -26775.1 3965 -26785.7 3965 -26796.4 3965 -26807.1 3965 -26817.7 3965 -26828.4 3965 -26839 3965 -26849.7 3965 -26860.4 3965 -26871 3965 -26881.7 3965 -26892.4 3965 -26903 3965 -26913.7 3965 -26924.4 3965 -26935 3965 -26945.7 3965 -26956.3 3965 -26967 3965 -26977.7 3965 -26988.3 3965 -26999 3965 -27009.7 3965 -27020.3 3965 -27031 3965 -27041.6 3965 -27052.3 3965 -27063 3965 -27073.6 3965 -27084.3 3965 -27095 3965 -27105.6 3965 -27116.3 3965 -27127 3965 -27137.6 3965 -27148.3 3965 -27158.9 3965 -27169.6 3967 -27180.3 3968 -27190.9 3969 -27201.6 3970 -27212.3 3971 -27222.9 3973 -27233.6 3975 -27244.2 3977 -27254.9 3978 -27265.6 3979 -27276.2 3979 -27286.9 3980 -27297.6 3981 -27308.2 3982 -27318.9 3983 -27329.6 3983 -27340.2 3983 -27350.9 3983 -27361.5 3983 -27372.2 3983 -27382.9 3984 -27393.5 3985 -27404.2 3985 -27414.9 3985 -27425.5 3986 -27436.2 3987 -27446.8 3987 -27457.5 3987 -27468.2 3987 -27478.8 3987 -27489.5 3987 -27500.2 3987 -27510.8 3987 -27521.5 3987 -27532.2 3987 -27542.8 3987 -27553.5 3987 -27564.1 3987 -27574.8 3987 -27585.5 3987 -27596.1 3987 -27606.8 3987 -27617.5 3987 -27628.1 3987 -27638.8 3987 -27649.4 3987 -27660.1 3987 -27670.8 3987 -27681.4 3987 -27692.1 3987 -27702.8 3987 -27713.4 3987 -27724.1 3987 -27734.7 3987 -27745.4 3987 -27756.1 3987 -27766.7 3987 -27777.4 3987 -27788.1 3987 -27798.7 3987 -27809.4 3987 -27820.1 3987 -27830.7 3987 -27841.4 3987 -27852 3987 -27862.7 3987 -27873.4 3987 -27884 3987 -27894.7 3987 -27905.4 3987 -27916 3987 -27926.7 3987 -27937.3 3987 -27948 3987 -27958.7 3987 -27969.3 3987 -27980 3987 -27990.7 3991 -28001.3 3991 -28012 3994 -28022.7 3997 -28033.3 4000 -28044 4003 -28054.6 4006 -28065.3 4006 -28076 4008 -28086.6 4009 -28097.3 4011 -28108 4012 -28118.6 4014 -28129.3 4014 -28139.9 4014 -28150.6 4016 -28161.3 4017 -28171.9 4018 -28182.6 4019 -28193.3 4019 -28203.9 4021 -28214.6 4022 -28225.3 4024 -28235.9 4025 -28246.6 4027 -28257.2 4028 -28267.9 4029 -28278.6 4032 -28289.2 4036 -28299.9 4036 -28310.6 4039 -28321.2 4041 -28331.9 4042 -28342.5 4045 -28353.2 4046 -28363.9 4047 -28374.5 4047 -28385.2 4048 -28395.9 4050 -28406.5 4051 -28417.2 4052 -28427.9 4053 -28438.5 4055 -28449.2 4057 -28459.8 4058 -28470.5 4060 -28481.2 4060 -28491.8 4063 -28502.5 4063 -28513.2 4066 -28523.8 4066 -28534.5 4067 -28545.1 4069 -28555.8 4070 -28566.5 4072 -28577.1 4072 -28587.8 4075 -28598.5 4075 -28609.1 4079 -28619.8 4083 -28630.5 4084 -28641.1 4084 -28651.8 4087 -28662.4 4087 -28673.1 4090 -28683.8 4093 -28694.4 4095 -28705.1 4096 -28715.8 4096 -28726.4 4097 -28737.1 4099 -28747.7 4099 -28758.4 4102 -28769.1 4102 -28779.7 4103 -28790.4 4104 -28801.1 4106 -28811.7 4107 -28822.4 4108 -28833 4111 -28843.7 4112 -28854.4 4113 -28865 4116 -28875.7 4117 -28886.4 4118 -28897 4120 -28907.7 4121 -28918.4 4122 -28929 4123 -28939.7 4125 -28950.3 4127 -28961 4128 -28971.7 4129 -28982.3 4131 -28993 4131 -29003.7 4132 -29014.3 4134 -29025 4137 -29035.6 4138 -29046.3 4139 -29057 4140 -29067.6 4142 -29078.3 4145 -29089 4148 -29099.6 4150 -29110.3 4151 -29121 4153 -29131.6 4154 -29142.3 4155 -29152.9 4156 -29163.6 4158 -29174.3 4159 -29184.9 4161 -29195.6 4162 -29206.3 4163 -29216.9 4165 -29227.6 4166 -29238.2 4169 -29248.9 4169 -29259.6 4172 -29270.2 4173 -29280.9 4175 -29291.6 4178 -29302.2 4178 -29312.9 4181 -29323.6 4181 -29334.2 4182 -29344.9 4184 -29355.5 4185 -29366.2 4187 -29376.9 4189 -29387.5 4191 -29398.2 4191 -29408.9 4194 -29419.5 4197 -29430.2 4200 -29440.8 4204 -29451.5 4204 -29462.2 4204 -29472.8 4204 -29483.5 4204 -29494.2 4206 -29504.8 4208 -29515.5 4208 -29526.2 4209 -29536.8 4210 -29547.5 4211 -29558.1 4212 -29568.8 4213 -29579.5 4213 -29590.1 4214 -29600.8 4215 -29611.5 4215 -29622.1 4216 -29632.8 4217 -29643.4 4217 -29654.1 4219 -29664.8 4220 -29675.4 4221 -29686.1 4222 -29696.8 4223 -29707.4 4224 -29718.1 4225 -29728.8 4226 -29739.4 4226 -29750.1 4227 -29760.7 4228 -29771.4 4229 -29782.1 4230 -29792.7 4230 -29803.4 4231 -29814.1 4232 -29824.7 4232 -29835.4 4233 -29846 4236 -29856.7 4239 -29867.4 4239 -29878 4242 -29888.7 4242 -29899.4 4243 -29910 4245 -29920.7 4246 -29931.3 4248 -29942 4250 -29952.7 4252 -29963.3 4253 -29974 4254 -29984.7 4256 -29995.3 4258 -30006 4261 -30016.7 4264 -30027.3 4266 -30038 4267 -30048.6 4268 -30059.3 4270 -30070 4271 -30080.6 4274 -30091.3 4275 -30102 4275 -30112.6 4277 -30123.3 4278 -30133.9 4279 -30144.6 4281 -30155.3 4281 -30165.9 4282 -30176.6 4284 -30187.3 4284 -30197.9 4287 -30208.6 4287 -30219.3 4288 -30229.9 4290 -30240.6 4290 -30251.2 4292 -30261.9 4293 -30272.6 4296 -30283.2 4299 -30293.9 4299 -30304.6 4302 -30315.2 4302 -30325.9 4307 -30336.5 4307 -30347.2 4310 -30357.9 4312 -30368.5 4316 -30379.2 4317 -30389.9 4320 -30400.5 4322 -30411.2 4322 -30421.9 4323 -30432.5 4325 -30443.2 4326 -30453.8 4328 -30464.5 4329 -30475.2 4331 -30485.8 4332 -30496.5 4332 -30507.2 4333 -30517.8 4335 -30528.5 4336 -30539.1 4337 -30549.8 4340 -30560.5 4341 -30571.1 4342 -30581.8 4343 -30592.5 4346 -30603.1 4347 -30613.8 4349 -30624.5 4351 -30635.1 4353 -30645.8 4356 -30656.4 4356 -30667.1 4359 -30677.8 4359 -30688.4 4361 -30699.1 4362 -30709.8 4365 -30720.4 4368 -30731.1 4371 -30741.7 4372 -30752.4 4375 -30763.1 4377 -30773.7 4378 -30784.4 4379 -30795.1 4381 -30805.7 4381 -30816.4 4384 -30827.1 4385 -30837.7 4386 -30848.4 4388 -30859 4389 -30869.7 4390 -30880.4 4393 -30891 4394 -30901.7 4394 -30912.4 4395 -30923 4397 -30933.7 4399 -30944.3 4400 -30955 4401 -30965.7 4402 -30976.3 4403 -30987 4404 -30997.7 4406 -31008.3 4407 -31019 4409 -31029.7 4409 -31040.3 4409 -31051 4409 -31061.6 4409 -31072.3 4409 -31083 4409 -31093.6 4409 -31104.3 4409 -31115 4409 -31125.6 4409 -31136.3 4409 -31146.9 4409 -31157.6 4409 -31168.3 4409 -31178.9 4409 -31189.6 4409 -31200.3 4409 -31210.9 4409 -31221.6 4409 -31232.2 4409 -31242.9 4409 -31253.6 4409 -31264.2 4409 -31274.9 4409 -31285.6 4409 -31296.2 4409 -31306.9 4409 -31317.6 4409 -31328.2 4409 -31338.9 4409 -31349.5 4409 -31360.2 4409 -31370.9 4409 -31381.5 4409 -31392.2 4409 -31402.9 4409 -31413.5 4410 -31424.2 4410 -31434.8 4410 -31445.5 4411 -31456.2 4411 -31466.8 4412 -31477.5 4412 -31488.2 4413 -31498.8 4414 -31509.5 4414 -31520.2 4415 -31530.8 4415 -31541.5 4416 -31552.1 4417 -31562.8 4418 -31573.5 4419 -31584.1 4419 -31594.8 4420 -31605.5 4421 -31616.1 4422 -31626.8 4426 -31637.4 4429 -31648.1 4429 -31658.8 4429 -31669.4 4429 -31680.1 4429 -31690.8 4429 -31701.4 4429 -31712.1 4429 -31722.8 4429 -31733.4 4429 -31744.1 4429 -31754.7 4429 -31765.4 4429 -31776.1 4429 -31786.7 4429 -31797.4 4429 -31808.1 4429 -31818.7 4429 -31829.4 4429 -31840 4429 -31850.7 4429 -31861.4 4429 -31872 4429 -31882.7 4429 -31893.4 4429 -31904 4429 -31914.7 4429 -31925.4 4429 -31936 4429 -31946.7 4429 -31957.3 4429 -31968 4429 -31978.7 4430 -31989.3 4430 -32000 4430 -32010.7 4430 -32021.3 4432 -32032 4433 -32042.6 4434 -32053.3 4434 -32064 4435 -32074.6 4436 -32085.3 4438 -32096 4439 -32106.6 4439 -32117.3 4440 -32128 4441 -32138.6 4441 -32149.3 4442 -32159.9 4443 -32170.6 4444 -32181.3 4445 -32191.9 4445 -32202.6 4446 -32213.3 4446 -32223.9 4447 -32234.6 4448 -32245.2 4449 -32255.9 4449 -32266.6 4450 -32277.2 4451 -32287.9 4452 -32298.6 4453 -32309.2 4454 -32319.9 4455 -32330.5 4456 -32341.2 4457 -32351.9 4458 -32362.5 4458 -32373.2 4459 -32383.9 4459 -32394.5 4460 -32405.2 4460 -32415.9 4460 -32426.5 4461 -32437.2 4461 -32447.8 4462 -32458.5 4462 -32469.2 4463 -32479.8 4464 -32490.5 4465 -32501.2 4465 -32511.8 4466 -32522.5 4466 -32533.1 4466 -32543.8 4468 -32554.5 4468 -32565.1 4468 -32575.8 4468 -32586.5 4468 -32597.1 4468 -32607.8 4468 -32618.5 4468 -32629.1 4468 -32639.8 4468 -32650.4 4468 -32661.1 4468 -32671.8 4468 -32682.4 4468 -32693.1 4468 -32703.8 4468 -32714.4 4468 -32725.1 4468 -32735.7 4468 -32746.4 4468 -32757.1 4468 -32767.7 4468 -32778.4 4468 -32789.1 4468 -32799.7 4468 -32810.4 4468 -32821.1 4468 -32831.7 4468 -32842.4 4468 -32853 4468 -32863.7 4468 -32874.4 4468 -32885 4468 -32895.7 4468 -32906.4 4468 -32917 4468 -32927.7 4468 -32938.3 4468 -32949 4468 -32959.7 4468 -32970.3 4468 -32981 4468 -32991.7 4468 -33002.3 4468 -33013 4468 -33023.7 4468 -33034.3 4468 -33045 4468 -33055.6 4468 -33066.3 4468 -33077 4468 -33087.6 4468 -33098.3 4468 -33109 4468 -33119.6 4468 -33130.3 4468 -33140.9 4468 -33151.6 4468 -33162.3 4468 -33172.9 4468 -33183.6 4468 -33194.3 4468 -33204.9 4468 -33215.6 4468 -33226.3 4468 -33236.9 4468 -33247.6 4468 -33258.2 4468 -33268.9 4468 -33279.6 4468 -33290.2 4468 -33300.9 4468 -33311.6 4468 -33322.2 4468 -33332.9 4468 -33343.5 4468 -33354.2 4468 -33364.9 4468 -33375.5 4468 -33386.2 4468 -33396.9 4468 -33407.5 4468 -33418.2 4468 -33428.8 4468 -33439.5 4468 -33450.2 4468 -33460.8 4468 -33471.5 4468 -33482.2 4468 -33492.8 4468 -33503.5 4468 -33514.2 4468 -33524.8 4468 -33535.5 4468 -33546.1 4468 -33556.8 4468 -33567.5 4468 -33578.1 4468 -33588.8 4468 -33599.5 4468 -33610.1 4468 -33620.8 4468 -33631.4 4468 -33642.1 4468 -33652.8 4468 -33663.4 4468 -33674.1 4468 -33684.8 4468 -33695.4 4468 -33706.1 4468 -33716.8 4468 -33727.4 4468 -33738.1 4468 -33748.7 4468 -33759.4 4468 -33770.1 4468 -33780.7 4468 -33791.4 4468 -33802.1 4468 -33812.7 4468 -33823.4 4468 -33834 4468 -33844.7 4468 -33855.4 4468 -33866 4468 -33876.7 4468 -33887.4 4468 -33898 4468 -33908.7 4468 -33919.4 4468 -33930 4468 -33940.7 4468 -33951.3 4468 -33962 4468 -33972.7 4468 -33983.3 4468 -33994 4468 -34004.7 4468 -34015.3 4468 -34026 4468 -34036.6 4468 -34047.3 4468 -34058 4468 -34068.6 4468 -34079.3 4468 -34090 4468 -34100.6 4468 -34111.3 4468 -34122 4468 -34132.6 4468 -34143.3 4468 -34153.9 4468 -34164.6 4468 -34175.3 4468 -34185.9 4468 -34196.6 4468 -34207.3 4468 -34217.9 4468 -34228.6 4468 -34239.2 4468 -34249.9 4468 -34260.6 4468 -34271.2 4468 -34281.9 4468 -34292.6 4468 -34303.2 4468 -34313.9 4468 -34324.6 4468 -34335.2 4468 -34345.9 4468 -34356.5 4468 -34367.2 4468 -34377.9 4468 -34388.5 4468 -34399.2 4468 -34409.9 4468 -34420.5 4468 -34431.2 4468 -34441.8 4468 -34452.5 4468 -34463.2 4468 -34473.8 4468 -34484.5 4468 -34495.2 4468 -34505.8 4468 -34516.5 4468 -34527.2 4468 -34537.8 4468 -34548.5 4468 -34559.1 4468 -34569.8 4468 -34580.5 4468 -34591.1 4468 -34601.8 4468 -34612.5 4468 -34623.1 4468 -34633.8 4468 -34644.4 4468 -34655.1 4468 -34665.8 4468 -34676.4 4468 -34687.1 4468 -34697.8 4468 -34708.4 4468 -34719.1 4468 -34729.7 4468 -34740.4 4468 -34751.1 4468 -34761.7 4468 -34772.4 4468 -34783.1 4468 -34793.7 4468 -34804.4 4468 -34815.1 4468 -34825.7 4468 -34836.4 4468 -34847 4468 -34857.7 4468 -34868.4 4468 -34879 4468 -34889.7 4468 -34900.4 4468 -34911 4468 -34921.7 4468 -34932.3 4468 -34943 4468 -34953.7 4468 -34964.3 4468 -34975 4468 -34985.7 4468 -34996.3 4468 -35007 4468 -35017.7 4468 -35028.3 4468 -35039 4468 -35049.6 4468 -35060.3 4468 -35071 4468 -35081.6 4468 -35092.3 4468 -35103 4468 -35113.6 4468 -35124.3 4468 -35134.9 4469 -35145.6 4471 -35156.3 4480 -35166.9 4481 -35177.6 4483 -35188.3 4484 -35198.9 4490 -35209.6 4490 -35220.3 4492 -35230.9 4495 -35241.6 4497 -35252.2 4499 -35262.9 4501 -35273.6 4502 -35284.2 4505 -35294.9 4507 -35305.6 4509 -35316.2 4513 -35326.9 4514 -35337.5 4515 -35348.2 4521 -35358.9 4522 -35369.5 4522 -35380.2 4529 -35390.9 4533 -35401.5 4535 -35412.2 4539 -35422.9 4541 -35433.5 4541 -35444.2 4545 -35454.8 4546 -35465.5 4549 -35476.2 4551 -35486.8 4552 -35497.5 4555 -35508.2 4557 -35518.8 4560 -35529.5 4561 -35540.1 4563 -35550.8 4565 -35561.5 4566 -35572.1 4570 -35582.8 4572 -35593.5 4574 -35604.1 4575 -35614.8 4576 -35625.5 4577 -35636.1 4578 -35646.8 4579 -35657.4 4579 -35668.1 4580 -35678.8 4581 -35689.4 4582 -35700.1 4583 -35710.8 4584 -35721.4 4586 -35732.1 4588 -35742.7 4589 -35753.4 4590 -35764.1 4591 -35774.7 4591 -35785.4 4592 -35796.1 4593 -35806.7 4594 -35817.4 4595 -35828 4596 -35838.7 4597 -35849.4 4598 -35860 4600 -35870.7 4602 -35881.4 4604 -35892 4605 -35902.7 4607 -35913.4 4608 -35924 4612 -35934.7 4615 -35945.3 4618 -35956 4620 -35966.7 4621 -35977.3 4624 -35988 4626 -35998.7 4627 -36009.3 4633 -36020 4634 -36030.6 4635 -36041.3 4639 -36052 4644 -36062.6 4644 -36073.3 4648 -36084 4651 -36094.6 4652 -36105.3 4658 -36116 4658 -36126.6 4660 -36137.3 4666 -36147.9 4667 -36158.6 4667 -36169.3 4672 -36179.9 4674 -36190.6 4679 -36201.3 4680 -36211.9 4685 -36222.6 4686 -36233.2 4692 -36243.9 4693 -36254.6 4695 -36265.2 4698 -36275.9 4702 -36286.6 4704 -36297.2 4706 -36307.9 4709 -36318.6 4710 -36329.2 4712 -36339.9 4716 -36350.5 4720 -36361.2 4722 -36371.9 4723 -36382.5 4727 -36393.2 4728 -36403.9 4730 -36414.5 4733 -36425.2 4733 -36435.8 4737 -36446.5 4739 -36457.2 4741 -36467.8 4742 -36478.5 4745 -36489.2 4749 -36499.8 4750 -36510.5 4752 -36521.2 4755 -36531.8 4761 -36542.5 4761 -36553.1 4764 -36563.8 4764 -36574.5 4765 -36585.1 4769 -36595.8 4769 -36606.5 4771 -36617.1 4775 -36627.8 4775 -36638.4 4778 -36649.1 4780 -36659.8 4784 -36670.4 4786 -36681.1 4788 -36691.8 4792 -36702.4 4795 -36713.1 4798 -36723.8 4801 -36734.4 4801 -36745.1 4803 -36755.7 4808 -36766.4 4811 -36777.1 4813 -36787.7 4817 -36798.4 4819 -36809.1 4822 -36819.7 4824 -36830.4 4828 -36841 4830 -36851.7 4834 -36862.4 4836 -36873 4838 -36883.7 4839 -36894.4 4844 -36905 4847 -36915.7 4848 -36926.3 4850 -36937 4853 -36947.7 4854 -36958.3 4856 -36969 4859 -36979.7 4862 -36990.3 4864 -37001 4868 -37011.7 4870 -37022.3 4872 -37033 4875 -37043.6 4879 -37054.3 4880 -37065 4882 -37075.6 4885 -37086.3 4887 -37097 4889 -37107.6 4893 -37118.3 4896 -37128.9 4898 -37139.6 4902 -37150.3 4903 -37160.9 4903 -37171.6 4906 -37182.3 4909 -37192.9 4910 -37203.6 4914 -37214.3 4918 -37224.9 4921 -37235.6 4923 -37246.2 4924 -37256.9 4928 -37267.6 4930 -37278.2 4933 -37288.9 4936 -37299.6 4939 -37310.2 4940 -37320.9 4943 -37331.5 4947 -37342.2 4947 -37352.9 4949 -37363.5 4953 -37374.2 4955 -37384.9 4955 -37395.5 4960 -37406.2 4961 -37416.9 4964 -37427.5 4968 -37438.2 4969 -37448.8 4973 -37459.5 4975 -37470.2 4978 -37480.8 4981 -37491.5 4983 -37502.2 4986 -37512.8 4988 -37523.5 4989 -37534.1 4993 -37544.8 4995 -37555.5 4998 -37566.1 5000 -37576.8 5001 -37587.5 5003 -37598.1 5006 -37608.8 5007 -37619.5 5011 -37630.1 5013 -37640.8 5018 -37651.4 5020 -37662.1 5022 -37672.8 5025 -37683.4 5026 -37694.1 5028 -37704.8 5031 -37715.4 5031 -37726.1 5032 -37736.7 5036 -37747.4 5038 -37758.1 5039 -37768.7 5042 -37779.4 5044 -37790.1 5047 -37800.7 5053 -37811.4 5055 -37822.1 5056 -37832.7 5058 -37843.4 5061 -37854 5062 -37864.7 5067 -37875.4 5069 -37886 5073 -37896.7 5074 -37907.4 5078 -37918 5080 -37928.7 5081 -37939.3 5084 -37950 5086 -37960.7 5088 -37971.3 5092 -37982 5096 -37992.7 5098 -38003.3 5102 -38014 5104 -38024.7 5109 -38035.3 5112 -38046 5114 -38056.6 5116 -38067.3 5119 -38078 5123 -38088.6 5126 -38099.3 5128 -38110 5132 -38120.6 5134 -38131.3 5134 -38141.9 5139 -38152.6 5141 -38163.3 5146 -38173.9 5147 -38184.6 5149 -38195.3 5153 -38205.9 5155 -38216.6 5158 -38227.2 5163 -38237.9 5166 -38248.6 5166 -38259.2 5167 -38269.9 5169 -38280.6 5170 -38291.2 5171 -38301.9 5172 -38312.6 5173 -38323.2 5174 -38333.9 5178 -38344.5 5180 -38355.2 5182 -38365.9 5185 -38376.5 5187 -38387.2 5191 -38397.9 5193 -38408.5 5196 -38419.2 5198 -38429.8 5203 -38440.5 5205 -38451.2 5206 -38461.8 5210 -38472.5 5212 -38483.2 5213 -38493.8 5215 -38504.5 5218 -38515.2 5219 -38525.8 5222 -38536.5 5227 -38547.1 5229 -38557.8 5231 -38568.5 5234 -38579.1 5234 -38589.8 5237 -38600.5 5241 -38611.1 5244 -38621.8 5247 -38632.4 5247 -38643.1 5250 -38653.8 5252 -38664.4 5255 -38675.1 5257 -38685.8 5258 -38696.4 5262 -38707.1 5265 -38717.8 5267 -38728.4 5269 -38739.1 5273 -38749.7 5276 -38760.4 5278 -38771.1 5281 -38781.7 5282 -38792.4 5286 -38803.1 5288 -38813.7 5290 -38824.4 5292 -38835 5295 -38845.7 5297 -38856.4 5299 -38867 5303 -38877.7 5305 -38888.4 5309 -38899 5312 -38909.7 5313 -38920.4 5315 -38931 5318 -38941.7 5321 -38952.3 5323 -38963 5327 -38973.7 5329 -38984.3 5331 -38995 5332 -39005.7 5335 -39016.3 5337 -39027 5339 -39037.6 5340 -39048.3 5344 -39059 5345 -39069.6 5347 -39080.3 5351 -39091 5351 -39101.6 5352 -39112.3 5357 -39123 5359 -39133.6 5359 -39144.3 5362 -39154.9 5366 -39165.6 5371 -39176.3 5372 -39186.9 5377 -39197.6 5380 -39208.3 5381 -39218.9 5386 -39229.6 5387 -39240.2 5388 -39250.9 5391 -39261.6 5393 -39272.2 5394 -39282.9 5397 -39293.6 5399 -39304.2 5400 -39314.9 5404 -39325.5 5405 -39336.2 5406 -39346.9 5408 -39357.5 5412 -39368.2 5417 -39378.9 5419 -39389.5 5420 -39400.2 5424 -39410.9 5425 -39421.5 5426 -39432.2 5431 -39442.8 5434 -39453.5 5435 -39464.2 5436 -39474.8 5441 -39485.5 5442 -39496.2 5443 -39506.8 5447 -39517.5 5450 -39528.1 5452 -39538.8 5454 -39549.5 5455 -39560.1 5458 -39570.8 5460 -39581.5 5462 -39592.1 5465 -39602.8 5469 -39613.5 5472 -39624.1 5476 -39634.8 5477 -39645.4 5478 -39656.1 5484 -39666.8 5485 -39677.4 5488 -39688.1 5491 -39698.8 5494 -39709.4 5498 -39720.1 5500 -39730.7 5504 -39741.4 5506 -39752.1 5509 -39762.7 5511 -39773.4 5513 -39784.1 5517 -39794.7 5518 -39805.4 5519 -39816.1 5525 -39826.7 5527 -39837.4 5529 -39848 5533 -39858.7 5534 -39869.4 5535 -39880 5539 -39890.7 5542 -39901.4 5544 -39912 5545 -39922.7 5548 -39933.3 5552 -39944 5552 -39954.7 5555 -39965.3 5559 -39976 5562 -39986.7 5563 -39997.3 5568 -40008 5569 -40018.7 5570 -40029.3 5576 -40040 5578 -40050.6 5579 -40061.3 5582 -40072 5585 -40082.6 5587 -40093.3 5593 -40104 5593 -40114.6 5598 -40125.3 5600 -40135.9 5601 -40146.6 5605 -40157.3 5608 -40167.9 5608 -40178.6 5611 -40189.3 5614 -40199.9 5615 -40210.6 5620 -40221.3 5623 -40231.9 5623 -40242.6 5625 -40253.2 5630 -40263.9 5632 -40274.6 5634 -40285.2 5638 -40295.9 5638 -40306.6 5640 -40317.2 5645 -40327.9 5645 -40338.5 5647 -40349.2 5651 -40359.9 5655 -40370.5 5658 -40381.2 5661 -40391.9 5662 -40402.5 5664 -40413.2 5668 -40423.9 5669 -40434.5 5673 -40445.2 5675 -40455.8 5677 -40466.5 5681 -40477.2 5683 -40487.8 5685 -40498.5 5690 -40509.2 5690 -40519.8 5693 -40530.5 5697 -40541.1 5697 -40551.8 5699 -40562.5 5704 -40573.1 5705 -40583.8 5710 -40594.5 5711 -40605.1 5712 -40615.8 5715 -40626.4 5719 -40637.1 5723 -40647.8 5727 -40658.4 5729 -40669.1 5733 -40679.8 5734 -40690.4 5736 -40701.1 5739 -40711.8 5740 -40722.4 5743 -40733.1 5747 -40743.7 5749 -40754.4 5752 -40765.1 5753 -40775.7 5756 -40786.4 5758 -40797.1 5761 -40807.7 5764 -40818.4 5765 -40829 5768 -40839.7 5768 -40850.4 5775 -40861 5779 -40871.7 5781 -40882.4 5782 -40893 5786 -40903.7 5788 -40914.4 5788 -40925 5793 -40935.7 5796 -40946.3 5797 -40957 5801 -40967.7 5802 -40978.3 5803 -40989 5805 -40999.7 5810 -41010.3 5810 -41021 5812 -41031.6 5817 -41042.3 5817 -41053 5819 -41063.6 5822 -41074.3 5824 -41085 5825 -41095.6 5828 -41106.3 5829 -41117 5832 -41127.6 5835 -41138.3 5837 -41148.9 5840 -41159.6 5843 -41170.3 5844 -41180.9 5847 -41191.6 5849 -41202.3 5853 -41212.9 5856 -41223.6 5860 -41234.2 5865 -41244.9 5866 -41255.6 5870 -41266.2 5872 -41276.9 5875 -41287.6 5879 -41298.2 5880 -41308.9 5883 -41319.6 5886 -41330.2 5891 -41340.9 5892 -41351.5 5898 -41362.2 5898 -41372.9 5903 -41383.5 5904 -41394.2 5907 -41404.9 5909 -41415.5 5911 -41426.2 5915 -41436.8 5917 -41447.5 5923 -41458.2 5925 -41468.8 5928 -41479.5 5931 -41490.2 5933 -41500.8 5938 -41511.5 5940 -41522.2 5942 -41532.8 5945 -41543.5 5947 -41554.1 5948 -41564.8 5955 -41575.5 5960 -41586.1 5962 -41596.8 5968 -41607.5 5970 -41618.1 5974 -41628.8 5977 -41639.4 5981 -41650.1 5983 -41660.8 5988 -41671.4 5990 -41682.1 5992 -41692.8 5995 -41703.4 5998 -41714.1 6000 -41724.7 6005 -41735.4 6006 -41746.1 6008 -41756.7 6009 -41767.4 6010 -41778.1 6012 -41788.7 6014 -41799.4 6017 -41810.1 6018 -41820.7 6020 -41831.4 6024 -41842 6026 -41852.7 6029 -41863.4 6031 -41874 6034 -41884.7 6037 -41895.4 6039 -41906 6041 -41916.7 6045 -41927.3 6045 -41938 6048 -41948.7 6052 -41959.3 6055 -41970 6058 -41980.7 6059 -41991.3 6062 -42002 6065 -42012.7 6068 -42023.3 6073 -42034 6075 -42044.6 6077 -42055.3 6080 -42066 6081 -42076.6 6084 -42087.3 6086 -42098 6087 -42108.6 6089 -42119.3 6093 -42129.9 6096 -42140.6 6097 -42151.3 6099 -42161.9 6103 -42172.6 6105 -42183.3 6106 -42193.9 6111 -42204.6 6113 -42215.3 6117 -42225.9 6119 -42236.6 6124 -42247.2 6126 -42257.9 6130 -42268.6 6132 -42279.2 6135 -42289.9 6136 -42300.6 6141 -42311.2 6143 -42321.9 6147 -42332.5 6151 -42343.2 6154 -42353.9 6156 -42364.5 6160 -42375.2 6162 -42385.9 6165 -42396.5 6168 -42407.2 6171 -42417.9 6171 -42428.5 6175 -42439.2 6178 -42449.8 6178 -42460.5 6182 -42471.2 6185 -42481.8 6188 -42492.5 6191 -42503.2 6193 -42513.8 6197 -42524.5 6200 -42535.1 6204 -42545.8 6205 -42556.5 6207 -42567.1 6214 -42577.8 6216 -42588.5 6216 -42599.1 6220 -42609.8 6222 -42620.5 6226 -42631.1 6228 -42641.8 6231 -42652.4 6234 -42663.1 6235 -42673.8 6236 -42684.4 6243 -42695.1 6244 -42705.8 6249 -42716.4 6250 -42727.1 6254 -42737.7 6256 -42748.4 6260 -42759.1 6264 -42769.7 6267 -42780.4 6270 -42791.1 6271 -42801.7 6275 -42812.4 6276 -42823 6278 -42833.7 6282 -42844.4 6282 -42855 6284 -42865.7 6288 -42876.4 6291 -42887 6295 -42897.7 6300 -42908.4 6301 -42919 6304 -42929.7 6306 -42940.3 6307 -42951 6310 -42961.7 6313 -42972.3 6317 -42983 6319 -42993.7 6323 -43004.3 6328 -43015 6331 -43025.6 6334 -43036.3 6336 -43047 6336 -43057.6 6339 -43068.3 6341 -43079 6341 -43089.6 6342 -43100.3 6344 -43111 6349 -43121.6 6352 -43132.3 6352 -43142.9 6355 -43153.6 6359 -43164.3 6360 -43174.9 6360 -43185.6 6367 -43196.3 6369 -43206.9 6374 -43217.6 6376 -43228.2 6376 -43238.9 6381 -43249.6 6383 -43260.2 6385 -43270.9 6388 -43281.6 6390 -43292.2 6394 -43302.9 6395 -43313.6 6398 -43324.2 6400 -43334.9 6402 -43345.5 6404 -43356.2 6408 -43366.9 6411 -43377.5 6414 -43388.2 6416 -43398.9 6419 -43409.5 6420 -43420.2 6425 -43430.8 6429 -43441.5 6431 -43452.2 6435 -43462.8 6437 -43473.5 6437 -43484.2 6438 -43494.8 6443 -43505.5 6443 -43516.2 6444 -43526.8 6448 -43537.5 6448 -43548.1 6454 -43558.8 6455 -43569.5 6456 -43580.1 6458 -43590.8 6461 -43601.5 6463 -43612.1 6467 -43622.8 6469 -43633.4 6472 -43644.1 6477 -43654.8 6477 -43665.4 6480 -43676.1 6484 -43686.8 6487 -43697.4 6490 -43708.1 6493 -43718.8 6497 -43729.4 6500 -43740.1 6503 -43750.7 6504 -43761.4 6507 -43772.1 6509 -43782.7 6512 -43793.4 6516 -43804.1 6518 -43814.7 6519 -43825.4 6524 -43836 6530 -43846.7 6530 -43857.4 6534 -43868 6536 -43878.7 6541 -43889.4 6546 -43900 6550 -43910.7 6551 -43921.4 6555 -43932 6556 -43942.7 6559 -43953.3 6561 -43964 6562 -43974.7 6565 -43985.3 6567 -43996 6568 -44006.7 6570 -44017.3 6574 -44028 6575 -44038.6 6576 -44049.3 6581 -44060 6582 -44070.6 6582 -44081.3 6587 -44092 6591 -44102.6 6593 -44113.3 6593 -44123.9 6597 -44134.6 6602 -44145.3 6603 -44155.9 6608 -44166.6 6613 -44177.3 6615 -44187.9 6619 -44198.6 6621 -44209.3 6625 -44219.9 6627 -44230.6 6634 -44241.2 6634 -44251.9 6640 -44262.6 6641 -44273.2 6645 -44283.9 6647 -44294.6 6651 -44305.2 6655 -44315.9 6656 -44326.5 6659 -44337.2 6660 -44347.9 6662 -44358.5 6663 -44369.2 6666 -44379.9 6668 -44390.5 6671 -44401.2 6672 -44411.9 6676 -44422.5 6679 -44433.2 6683 -44443.8 6685 -44454.5 6687 -44465.2 6690 -44475.8 6693 -44486.5 6693 -44497.2 6694 -44507.8 6697 -44518.5 6699 -44529.1 6701 -44539.8 6702 -44550.5 6707 -44561.1 6709 -44571.8 6713 -44582.5 6715 -44593.1 6722 -44603.8 6723 -44614.5 6726 -44625.1 6730 -44635.8 6734 -44646.4 6736 -44657.1 6740 -44667.8 6744 -44678.4 6745 -44689.1 6750 -44699.8 6750 -44710.4 6752 -44721.1 6757 -44731.7 6758 -44742.4 6761 -44753.1 6765 -44763.7 6766 -44774.4 6768 -44785.1 6771 -44795.7 6779 -44806.4 6780 -44817.1 6785 -44827.7 6788 -44838.4 6789 -44849 6796 -44859.7 6798 -44870.4 6803 -44881 6806 -44891.7 6808 -44902.4 6814 -44913 6817 -44923.7 6820 -44934.3 6827 -44945 6831 -44955.7 6837 -44966.3 6841 -44977 6841 -44987.7 6845 -44998.3 6850 -45009 6852 -45019.7 6854 -45030.3 6863 -45041 6865 -45051.6 6870 -45062.3 6874 -45073 6875 -45083.6 6878 -45094.3 6887 -45105 6891 -45115.6 6894 -45126.3 6896 -45136.9 6901 -45147.6 6903 -45158.3 6906 -45168.9 6908 -45179.6 6913 -45190.3 6918 -45200.9 6921 -45211.6 6926 -45222.2 6930 -45232.9 6933 -45243.6 6938 -45254.2 6941 -45264.9 6943 -45275.6 6948 -45286.2 6954 -45296.9 6955 -45307.6 6957 -45318.2 6963 -45328.9 6966 -45339.5 6968 -45350.2 6972 -45360.9 6979 -45371.5 6981 -45382.2 6983 -45392.9 6985 -45403.5 6990 -45414.2 6994 -45424.8 6996 -45435.5 7001 -45446.2 7006 -45456.8 7010 -45467.5 7011 -45478.2 7016 -45488.8 7021 -45499.5 7023 -45510.2 7027 -45520.8 7031 -45531.5 7033 -45542.1 7038 -45552.8 7040 -45563.5 7046 -45574.1 7051 -45584.8 7054 -45595.5 7058 -45606.1 7064 -45616.8 7065 -45627.4 7070 -45638.1 7076 -45648.8 7077 -45659.4 7079 -45670.1 7085 -45680.8 7090 -45691.4 7091 -45702.1 7093 -45712.8 7101 -45723.4 7104 -45734.1 7105 -45744.7 7112 -45755.4 7118 -45766.1 7118 -45776.7 7124 -45787.4 7129 -45798.1 7133 -45808.7 7139 -45819.4 7140 -45830 7142 -45840.7 7147 -45851.4 7151 -45862 7154 -45872.7 7160 -45883.4 7164 -45894 7167 -45904.7 7170 -45915.4 7174 -45926 7178 -45936.7 7181 -45947.3 7184 -45958 7187 -45968.7 7191 -45979.3 7195 -45990 7197 -46000.7 7199 -46011.3 7203 -46022 7209 -46032.6 7211 -46043.3 7213 -46054 7219 -46064.6 7220 -46075.3 7224 -46086 7230 -46096.6 7230 -46107.3 7236 -46118 7242 -46128.6 7246 -46139.3 7250 -46149.9 7255 -46160.6 7257 -46171.3 7260 -46181.9 7265 -46192.6 7267 -46203.3 7271 -46213.9 7280 -46224.6 7284 -46235.2 7291 -46245.9 7293 -46256.6 7294 -46267.2 7301 -46277.9 7305 -46288.6 7309 -46299.2 7313 -46309.9 7318 -46320.5 7322 -46331.2 7324 -46341.9 7329 -46352.5 7334 -46363.2 7337 -46373.9 7339 -46384.5 7343 -46395.2 7347 -46405.9 7349 -46416.5 7354 -46427.2 7359 -46437.8 7363 -46448.5 7369 -46459.2 7373 -46469.8 7376 -46480.5 7379 -46491.2 7385 -46501.8 7386 -46512.5 7390 -46523.1 7396 -46533.8 7402 -46544.5 7405 -46555.1 7409 -46565.8 7414 -46576.5 7417 -46587.1 7419 -46597.8 7424 -46608.5 7429 -46619.1 7430 -46629.8 7434 -46640.4 7436 -46651.1 7439 -46661.8 7443 -46672.4 7449 -46683.1 7450 -46693.8 7453 -46704.4 7459 -46715.1 7465 -46725.7 7472 -46736.4 7478 -46747.1 7478 -46757.7 7481 -46768.4 7490 -46779.1 7490 -46789.7 7492 -46800.4 7501 -46811.1 7502 -46821.7 7505 -46832.4 7508 -46843 7515 -46853.7 7516 -46864.4 7518 -46875 7523 -46885.7 7529 -46896.4 7531 -46907 7535 -46917.7 7540 -46928.3 7543 -46939 7545 -46949.7 7551 -46960.3 7554 -46971 7555 -46981.7 7564 -46992.3 7569 -47003 7570 -47013.7 7575 -47024.3 7582 -47035 7582 -47045.6 7587 -47056.3 7592 -47067 7597 -47077.6 7604 -47088.3 7608 -47099 7613 -47109.6 7623 -47120.3 7624 -47130.9 7628 -47141.6 7634 -47152.3 7638 -47162.9 7641 -47173.6 7642 -47184.3 7646 -47194.9 7650 -47205.6 7655 -47216.3 7656 -47226.9 7661 -47237.6 7667 -47248.2 7670 -47258.9 7672 -47269.6 7677 -47280.2 7679 -47290.9 7683 -47301.6 7686 -47312.2 7689 -47322.9 7694 -47333.5 7697 -47344.2 7700 -47354.9 7704 -47365.5 7709 -47376.2 7713 -47386.9 7719 -47397.5 7721 -47408.2 7724 -47418.9 7725 -47429.5 7732 -47440.2 7736 -47450.8 7740 -47461.5 7744 -47472.2 7744 -47482.8 7753 -47493.5 7763 -47504.2 7765 -47514.8 7772 -47525.5 7776 -47536.1 7778 -47546.8 7786 -47557.5 7791 -47568.1 7793 -47578.8 7800 -47589.5 7807 -47600.1 7811 -47610.8 7819 -47621.4 7824 -47632.1 7826 -47642.8 7832 -47653.4 7839 -47664.1 7842 -47674.8 7847 -47685.4 7852 -47696.1 7858 -47706.8 7858 -47717.4 7866 -47728.1 7877 -47738.7 7880 -47749.4 7885 -47760.1 7887 -47770.7 7895 -47781.4 7904 -47792.1 7906 -47802.7 7909 -47813.4 7919 -47824 7924 -47834.7 7925 -47845.4 7933 -47856 7938 -47866.7 7942 -47877.4 7950 -47888 7956 -47898.7 7959 -47909.4 7966 -47920 7970 -47930.7 7978 -47941.3 7983 -47952 7989 -47962.7 7995 -47973.3 7997 -47984 8000 -47994.7 8000 -48005.3 8006 -48016 8016 -48026.6 8020 -48037.3 8028 -48048 8030 -48058.6 8034 -48069.3 8045 -48080 8049 -48090.6 8051 -48101.3 8061 -48112 8069 -48122.6 8074 -48133.3 8078 -48143.9 8084 -48154.6 8090 -48165.3 8094 -48175.9 8103 -48186.6 8108 -48197.3 8114 -48207.9 8117 -48218.6 8125 -48229.2 8128 -48239.9 8133 -48250.6 8138 -48261.2 8148 -48271.9 8149 -48282.6 8153 -48293.2 8159 -48303.9 8164 -48314.6 8166 -48325.2 8176 -48335.9 8179 -48346.5 8186 -48357.2 8193 -48367.9 8196 -48378.5 8196 -48389.2 8205 -48399.9 8211 -48410.5 8214 -48421.2 8221 -48431.8 8226 -48442.5 8229 -48453.2 8232 -48463.8 8237 -48474.5 8244 -48485.2 8249 -48495.8 8254 -48506.5 8259 -48517.2 8265 -48527.8 8268 -48538.5 8275 -48549.1 8279 -48559.8 8284 -48570.5 8285 -48581.1 8290 -48591.8 8296 -48602.5 8302 -48613.1 8306 -48623.8 8306 -48634.4 8311 -48645.1 8318 -48655.8 8318 -48666.4 8324 -48677.1 8326 -48687.8 8338 -48698.4 8342 -48709.1 8344 -48719.7 8348 -48730.4 8356 -48741.1 8363 -48751.7 8369 -48762.4 8374 -48773.1 8380 -48783.7 8386 -48794.4 8391 -48805.1 8396 -48815.7 8404 -48826.4 8412 -48837 8415 -48847.7 8417 -48858.4 8422 -48869 8431 -48879.7 8433 -48890.4 8441 -48901 8449 -48911.7 8450 -48922.3 8454 -48933 8459 -48943.7 8462 -48954.3 8469 -48965 8475 -48975.7 8477 -48986.3 8486 -48997 8492 -49007.7 8494 -49018.3 8501 -49029 8505 -49039.6 8512 -49050.3 8517 -49061 8523 -49071.6 8528 -49082.3 8536 -49093 8540 -49103.6 8546 -49114.3 8553 -49124.9 8561 -49135.6 8564 -49146.3 8571 -49156.9 8574 -49167.6 8574 -49178.3 8578 -49188.9 8591 -49199.6 8594 -49210.3 8600 -49220.9 8602 -49231.6 8607 -49242.2 8609 -49252.9 8619 -49263.6 8627 -49274.2 8631 -49284.9 8637 -49295.6 8644 -49306.2 8650 -49316.9 8659 -49327.5 8663 -49338.2 8668 -49348.9 8677 -49359.5 8687 -49370.2 8688 -49380.9 8696 -49391.5 8702 -49402.2 8703 -49412.9 8708 -49423.5 8713 -49434.2 8721 -49444.8 8730 -49455.5 8733 -49466.2 8740 -49476.8 8745 -49487.5 8749 -49498.2 8755 -49508.8 8758 -49519.5 8763 -49530.1 8770 -49540.8 8777 -49551.5 8783 -49562.1 8788 -49572.8 8793 -49583.5 8799 -49594.1 8811 -49604.8 8814 -49615.5 8818 -49626.1 8825 -49636.8 8835 -49647.4 8839 -49658.1 8847 -49668.8 8852 -49679.4 8858 -49690.1 8867 -49700.8 8875 -49711.4 8878 -49722.1 8878 -49732.7 8888 -49743.4 8896 -49754.1 8899 -49764.7 8901 -49775.4 8904 -49786.1 8913 -49796.7 8924 -49807.4 8925 -49818 8932 -49828.7 8937 -49839.4 8943 -49850 8946 -49860.7 8952 -49871.4 8958 -49882 8964 -49892.7 8969 -49903.4 8974 -49914 8983 -49924.7 8991 -49935.3 8997 -49946 8999 -49956.7 9009 -49967.3 9019 -49978 9023 -49988.7 9028 -49999.3 9033 -50010 9043 -50020.6 9048 -50031.3 9055 -50042 9061 -50052.6 9068 -50063.3 9072 -50074 9074 -50084.6 9076 -50095.3 9085 -50106 9093 -50116.6 9099 -50127.3 9101 -50137.9 9103 -50148.6 9109 -50159.3 9122 -50169.9 9126 -50180.6 9134 -50191.3 9140 -50201.9 9146 -50212.6 9151 -50223.2 9159 -50233.9 9160 -50244.6 9170 -50255.2 9178 -50265.9 9182 -50276.6 9187 -50287.2 9190 -50297.9 9195 -50308.6 9206 -50319.2 9211 -50329.9 9218 -50340.5 9219 -50351.2 9225 -50361.9 9233 -50372.5 9235 -50383.2 9244 -50393.9 9249 -50404.5 9254 -50415.2 9258 -50425.8 9263 -50436.5 9265 -50447.2 9270 -50457.8 9279 -50468.5 9287 -50479.2 9290 -50489.8 9298 -50500.5 9302 -50511.2 9306 -50521.8 9311 -50532.5 9317 -50543.1 9323 -50553.8 9331 -50564.5 9334 -50575.1 9340 -50585.8 9344 -50596.5 9356 -50607.1 9361 -50617.8 9368 -50628.4 9377 -50639.1 9378 -50649.8 9386 -50660.4 9386 -50671.1 9390 -50681.8 9394 -50692.4 9403 -50703.1 9410 -50713.8 9413 -50724.4 9421 -50735.1 9424 -50745.7 9434 -50756.4 9441 -50767.1 9445 -50777.7 9455 -50788.4 9458 -50799.1 9462 -50809.7 9465 -50820.4 9468 -50831 9482 -50841.7 9488 -50852.4 9491 -50863 9497 -50873.7 9502 -50884.4 9513 -50895 9513 -50905.7 9517 -50916.4 9532 -50927 9533 -50937.7 9538 -50948.3 9545 -50959 9549 -50969.7 9551 -50980.3 9557 -50991 9568 -51001.7 9573 -51012.3 9580 -51023 9583 -51033.6 9591 -51044.3 9598 -51055 9606 -51065.6 9613 -51076.3 9616 -51087 9622 -51097.6 9623 -51108.3 9633 -51118.9 9641 -51129.6 9643 -51140.3 9647 -51150.9 9656 -51161.6 9664 -51172.3 9669 -51182.9 9671 -51193.6 9674 -51204.3 9676 -51214.9 9683 -51225.6 9687 -51236.2 9693 -51246.9 9699 -51257.6 9708 -51268.2 9714 -51278.9 9719 -51289.6 9720 -51300.2 9729 -51310.9 9735 -51321.5 9740 -51332.2 9749 -51342.9 9752 -51353.5 9764 -51364.2 9764 -51374.9 9768 -51385.5 9771 -51396.2 9774 -51406.9 9784 -51417.5 9790 -51428.2 9791 -51438.8 9795 -51449.5 9800 -51460.2 9814 -51470.8 9821 -51481.5 9825 -51492.2 9834 -51502.8 9840 -51513.5 9847 -51524.1 9853 -51534.8 9860 -51545.5 9864 -51556.1 9872 -51566.8 9873 -51577.5 9880 -51588.1 9887 -51598.8 9897 -51609.5 9902 -51620.1 9905 -51630.8 9909 -51641.4 9912 -51652.1 9920 -51662.8 9922 -51673.4 9922 -51684.1 9933 -51694.8 9944 -51705.4 9947 -51716.1 9953 -51726.7 9959 -51737.4 9966 -51748.1 9974 -51758.7 9980 -51769.4 9984 -51780.1 9993 -51790.7 9993 -51801.4 10002 -51812.1 10009 -51822.7 10012 -51833.4 10019 -51844 10022 -51854.7 10024 -51865.4 10030 -51876 10047 -51886.7 10053 -51897.4 10058 -51908 10062 -51918.7 10065 -51929.3 10074 -51940 10080 -51950.7 10084 -51961.3 10087 -51972 10103 -51982.7 10107 -51993.3 10109 -52004 10111 -52014.7 10124 -52025.3 10134 -52036 10137 -52046.6 10143 -52057.3 10150 -52068 10154 -52078.6 10158 -52089.3 10162 -52100 10165 -52110.6 10174 -52121.3 10181 -52131.9 10188 -52142.6 10196 -52153.3 10204 -52163.9 10209 -52174.6 10217 -52185.3 10225 -52195.9 10230 -52206.6 10237 -52217.2 10241 -52227.9 10246 -52238.6 10254 -52249.2 10261 -52259.9 10263 -52270.6 10268 -52281.2 10279 -52291.9 10284 -52302.6 10289 -52313.2 10294 -52323.9 10296 -52334.5 10311 -52345.2 10316 -52355.9 10318 -52366.5 10322 -52377.2 10331 -52387.9 10341 -52398.5 10345 -52409.2 10349 -52419.8 10353 -52430.5 10359 -52441.2 10364 -52451.8 10369 -52462.5 10379 -52473.2 10383 -52483.8 10387 -52494.5 10394 -52505.2 10396 -52515.8 10401 -52526.5 10409 -52537.1 10411 -52547.8 10416 -52558.5 10421 -52569.1 10433 -52579.8 10437 -52590.5 10442 -52601.1 10444 -52611.8 10450 -52622.4 10462 -52633.1 10465 -52643.8 10465 -52654.4 10471 -52665.1 10479 -52675.8 10488 -52686.4 10491 -52697.1 10494 -52707.8 10498 -52718.4 10515 -52729.1 10518 -52739.7 10527 -52750.4 10528 -52761.1 10534 -52771.7 10543 -52782.4 10551 -52793.1 10554 -52803.7 10558 -52814.4 10565 -52825 10574 -52835.7 10576 -52846.4 10576 -52857 10585 -52867.7 10598 -52878.4 10602 -52889 10603 -52899.7 10604 -52910.4 10613 -52921 10627 -52931.7 10630 -52942.3 10630 -52953 10631 -52963.7 10635 -52974.3 10645 -52985 10652 -52995.7 10656 -53006.3 10663 -53017 10667 -53027.6 10670 -53038.3 10674 -53049 10682 -53059.6 10697 -53070.3 10698 -53081 10701 -53091.6 10702 -53102.3 10708 -53113 10712 -53123.6 10713 -53134.3 10717 -53144.9 10730 -53155.6 10741 -53166.3 10749 -53176.9 10753 -53187.6 10759 -53198.3 10766 -53208.9 10771 -53219.6 10774 -53230.2 10780 -53240.9 10788 -53251.6 10794 -53262.2 10800 -53272.9 10808 -53283.6 10812 -53294.2 10821 -53304.9 10824 -53315.5 10830 -53326.2 10836 -53336.9 10844 -53347.5 10852 -53358.2 10860 -53368.9 10862 -53379.5 10865 -53390.2 10873 -53400.9 10881 -53411.5 10886 -53422.2 10889 -53432.8 10895 -53443.5 10902 -53454.2 10907 -53464.8 10913 -53475.5 10919 -53486.2 10927 -53496.8 10932 -53507.5 10935 -53518.1 10936 -53528.8 10941 -53539.5 10948 -53550.1 10956 -53560.8 10962 -53571.5 10969 -53582.1 10973 -53592.8 10979 -53603.5 10987 -53614.1 10989 -53624.8 10994 -53635.4 10997 -53646.1 11002 -53656.8 11009 -53667.4 11011 -53678.1 11011 -53688.8 11027 -53699.4 11035 -53710.1 11039 -53720.7 11043 -53731.4 11050 -53742.1 11054 -53752.7 11060 -53763.4 11067 -53774.1 11074 -53784.7 11078 -53795.4 11083 -53806.1 11085 -53816.7 11090 -53827.4 11096 -53838 11101 -53848.7 11108 -53859.4 11113 -53870 11115 -53880.7 11127 -53891.4 11133 -53902 11135 -53912.7 11139 -53923.3 11146 -53934 11151 -53944.7 11161 -53955.3 11162 -53966 11165 -53976.7 11170 -53987.3 11178 -53998 11181 -54008.7 11181 -54019.3 11186 -54030 11191 -54040.6 11205 -54051.3 11210 -54062 11217 -54072.6 11219 -54083.3 11227 -54094 11236 -54104.6 11239 -54115.3 11242 -54125.9 11243 -54136.6 11250 -54147.3 11263 -54157.9 11270 -54168.6 11272 -54179.3 11284 -54189.9 11289 -54200.6 11294 -54211.3 11301 -54221.9 11308 -54232.6 11315 -54243.2 11318 -54253.9 11324 -54264.6 11333 -54275.2 11341 -54285.9 11342 -54296.6 11345 -54307.2 11355 -54317.9 11359 -54328.5 11363 -54339.2 11369 -54349.9 11379 -54360.5 11385 -54371.2 11387 -54381.9 11390 -54392.5 11394 -54403.2 11398 -54413.9 11405 -54424.5 11410 -54435.2 11416 -54445.8 11420 -54456.5 11424 -54467.2 11441 -54477.8 11443 -54488.5 11449 -54499.2 11451 -54509.8 11459 -54520.5 11471 -54531.1 11476 -54541.8 11481 -54552.5 11491 -54563.1 11493 -54573.8 11498 -54584.5 11500 -54595.1 11506 -54605.8 11514 -54616.4 11523 -54627.1 11529 -54637.8 11531 -54648.4 11535 -54659.1 11548 -54669.8 11552 -54680.4 11554 -54691.1 11559 -54701.8 11570 -54712.4 11574 -54723.1 11579 -54733.7 11588 -54744.4 11592 -54755.1 11602 -54765.7 11605 -54776.4 11610 -54787.1 11617 -54797.7 11623 -54808.4 11626 -54819 11629 -54829.7 11631 -54840.4 11634 -54851 11645 -54861.7 11648 -54872.4 11651 -54883 11658 -54893.7 11661 -54904.4 11672 -54915 11676 -54925.7 11683 -54936.3 11689 -54947 11695 -54957.7 11700 -54968.3 11706 -54979 11708 -54989.7 11716 -55000.3 11724 -55011 11730 -55021.6 11734 -55032.3 11744 -55043 11745 -55053.6 11756 -55064.3 11756 -55075 11763 -55085.6 11768 -55096.3 11769 -55107 11778 -55117.6 11781 -55128.3 11782 -55138.9 11791 -55149.6 11794 -55160.3 11798 -55170.9 11799 -55181.6 11806 -55192.3 11815 -55202.9 11820 -55213.6 11828 -55224.2 11829 -55234.9 11835 -55245.6 11840 -55256.2 11844 -55266.9 11850 -55277.6 11855 -55288.2 11865 -55298.9 11868 -55309.6 11875 -55320.2 11880 -55330.9 11890 -55341.5 11892 -55352.2 11896 -55362.9 11900 -55373.5 11907 -55384.2 11911 -55394.9 11918 -55405.5 11922 -55416.2 11930 -55426.8 11941 -55437.5 11946 -55448.2 11952 -55458.8 11959 -55469.5 11968 -55480.2 11972 -55490.8 11973 -55501.5 11985 -55512.2 11988 -55522.8 11997 -55533.5 11999 -55544.1 12004 -55554.8 12011 -55565.5 12019 -55576.1 12023 -55586.8 12032 -55597.5 12035 -55608.1 12044 -55618.8 12051 -55629.4 12057 -55640.1 12062 -55650.8 12067 -55661.4 12077 -55672.1 12081 -55682.8 12086 -55693.4 12091 -55704.1 12099 -55714.7 12105 -55725.4 12108 -55736.1 12116 -55746.7 12119 -55757.4 12127 -55768.1 12133 -55778.7 12137 -55789.4 12142 -55800.1 12146 -55810.7 12151 -55821.4 12152 -55832 12160 -55842.7 12163 -55853.4 12170 -55864 12175 -55874.7 12182 -55885.4 12191 -55896 12199 -55906.7 12201 -55917.3 12204 -55928 12210 -55938.7 12222 -55949.3 12228 -55960 12231 -55970.7 12235 -55981.3 12235 -55992 12246 -56002.7 12261 -56013.3 12263 -56024 12268 -56034.6 12268 -56045.3 12278 -56056 12279 -56066.6 12282 -56077.3 12290 -56088 12297 -56098.6 12308 -56109.3 12313 -56119.9 12316 -56130.6 12323 -56141.3 12337 -56151.9 12338 -56162.6 12341 -56173.3 12351 -56183.9 12362 -56194.6 12365 -56205.3 12368 -56215.9 12371 -56226.6 12376 -56237.2 12382 -56247.9 12383 -56258.6 12386 -56269.2 12393 -56279.9 12399 -56290.6 12402 -56301.2 12409 -56311.9 12415 -56322.5 12423 -56333.2 12431 -56343.9 12436 -56354.5 12439 -56365.2 12444 -56375.9 12448 -56386.5 12458 -56397.2 12461 -56407.9 12470 -56418.5 12475 -56429.2 12478 -56439.8 12485 -56450.5 12497 -56461.2 12503 -56471.8 12507 -56482.5 12509 -56493.2 12518 -56503.8 12523 -56514.5 12529 -56525.1 12534 -56535.8 12539 -56546.5 12539 -56557.1 12541 -56567.8 12555 -56578.5 12560 -56589.1 12562 -56599.8 12565 -56610.5 12579 -56621.1 12584 -56631.8 12590 -56642.4 12596 -56653.1 12600 -56663.8 12607 -56674.4 12609 -56685.1 12615 -56695.8 12618 -56706.4 12629 -56717.1 12633 -56727.7 12639 -56738.4 12644 -56749.1 12652 -56759.7 12661 -56770.4 12661 -56781.1 12665 -56791.7 12672 -56802.4 12682 -56813.1 12687 -56823.7 12690 -56834.4 12694 -56845 12702 -56855.7 12712 -56866.4 12715 -56877 12720 -56887.7 12725 -56898.4 12734 -56909 12745 -56919.7 12749 -56930.3 12758 -56941 12763 -56951.7 12772 -56962.3 12775 -56973 12779 -56983.7 12786 -56994.3 12793 -57005 12799 -57015.6 12806 -57026.3 12813 -57037 12816 -57047.6 12816 -57058.3 12832 -57069 12840 -57079.6 12849 -57090.3 12852 -57101 12856 -57111.6 12858 -57122.3 12863 -57132.9 12867 -57143.6 12875 -57154.3 12881 -57164.9 12887 -57175.6 12893 -57186.3 12904 -57196.9 12908 -57207.6 12914 -57218.2 12916 -57228.9 12918 -57239.6 12923 -57250.2 12936 -57260.9 12938 -57271.6 12943 -57282.2 12947 -57292.9 12960 -57303.6 12966 -57314.2 12973 -57324.9 12981 -57335.5 12986 -57346.2 12995 -57356.9 12996 -57367.5 12999 -57378.2 13005 -57388.9 13013 -57399.5 13021 -57410.2 13026 -57420.8 13030 -57431.5 13032 -57442.2 13042 -57452.8 13051 -57463.5 13052 -57474.2 13060 -57484.8 13068 -57495.5 13076 -57506.2 13079 -57516.8 13084 -57527.5 13089 -57538.1 13099 -57548.8 13103 -57559.5 13105 -57570.1 13110 -57580.8 13114 -57591.5 13120 -57602.1 13125 -57612.8 13129 -57623.4 13133 -57634.1 13142 -57644.8 13147 -57655.4 13153 -57666.1 13160 -57676.8 13165 -57687.4 13170 -57698.1 13174 -57708.8 13174 -57719.4 13181 -57730.1 13193 -57740.7 13198 -57751.4 13201 -57762.1 13205 -57772.7 13217 -57783.4 13226 -57794.1 13228 -57804.7 13233 -57815.4 13236 -57826 13247 -57836.7 13252 -57847.4 13255 -57858 13256 -57868.7 13260 -57879.4 13272 -57890 13278 -57900.7 13283 -57911.4 13296 -57922 13299 -57932.7 13305 -57943.3 13307 -57954 13317 -57964.7 13320 -57975.3 13327 -57986 13330 -57996.7 13332 -58007.3 13345 -58018 13347 -58028.6 13351 -58039.3 13357 -58050 13364 -58060.6 13375 -58071.3 13379 -58082 13385 -58092.6 13388 -58103.3 13394 -58113.9 13399 -58124.6 13402 -58135.3 13406 -58145.9 13418 -58156.6 13419 -58167.3 13425 -58177.9 13428 -58188.6 13433 -58199.3 13445 -58209.9 13450 -58220.6 13455 -58231.2 13458 -58241.9 13466 -58252.6 13474 -58263.2 13479 -58273.9 13482 -58284.6 13488 -58295.2 13500 -58305.9 13503 -58316.5 13509 -58327.2 13516 -58337.9 13521 -58348.5 13532 -58359.2 13537 -58369.9 13544 -58380.5 13551 -58391.2 13555 -58401.9 13563 -58412.5 13570 -58423.2 13574 -58433.8 13581 -58444.5 13586 -58455.2 13592 -58465.8 13593 -58476.5 13597 -58487.2 13606 -58497.8 13607 -58508.5 13616 -58519.1 13619 -58529.8 13628 -58540.5 13630 -58551.1 13636 -58561.8 13643 -58572.5 13646 -58583.1 13652 -58593.8 13658 -58604.5 13666 -58615.1 13678 -58625.8 13679 -58636.4 13683 -58647.1 13684 -58657.8 13689 -58668.4 13695 -58679.1 13704 -58689.8 13710 -58700.4 13712 -58711.1 13715 -58721.7 13722 -58732.4 13729 -58743.1 13734 -58753.7 13737 -58764.4 13741 -58775.1 13742 -58785.7 13743 -58796.4 13745 -58807.1 13760 -58817.7 13765 -58828.4 13769 -58839 13774 -58849.7 13782 -58860.4 13789 -58871 13795 -58881.7 13804 -58892.4 13806 -58903 13814 -58913.7 13822 -58924.3 13827 -58935 13829 -58945.7 13840 -58956.3 13848 -58967 13857 -58977.7 13862 -58988.3 13864 -58999 13869 -59009.7 13882 -59020.3 13884 -59031 13891 -59041.6 13897 -59052.3 13898 -59063 13899 -59073.6 13909 -59084.3 13916 -59095 13922 -59105.6 13925 -59116.3 13929 -59126.9 13936 -59137.6 13948 -59148.3 13951 -59158.9 13960 -59169.6 13968 -59180.3 13970 -59190.9 13977 -59201.6 13982 -59212.2 13987 -59222.9 13993 -59233.6 13999 -59244.2 14007 -59254.9 14014 -59265.6 14024 -59276.2 14030 -59286.9 14036 -59297.6 14043 -59308.2 14047 -59318.9 14057 -59329.5 14058 -59340.2 14061 -59350.9 14064 -59361.5 14069 -59372.2 14076 -59382.9 14084 -59393.5 14085 -59404.2 14087 -59414.8 14104 -59425.5 14108 -59436.2 14113 -59446.8 14119 -59457.5 14125 -59468.2 14132 -59478.8 14137 -59489.5 14143 -59500.2 14150 -59510.8 14152 -59521.5 14162 -59532.1 14167 -59542.8 14174 -59553.5 14176 -59564.1 14180 -59574.8 14191 -59585.5 14203 -59596.1 14205 -59606.8 14208 -59617.4 14213 -59628.1 14218 -59638.8 14223 -59649.4 14225 -59660.1 14231 -59670.8 14234 -59681.4 14241 -59692.1 14257 -59702.8 14259 -59713.4 14260 -59724.1 14264 -59734.7 14280 -59745.4 14281 -59756.1 14288 -59766.7 14291 -59777.4 14306 -59788.1 14308 -59798.7 14317 -59809.4 14323 -59820 14331 -59830.7 14336 -59841.4 14343 -59852 14347 -59862.7 14358 -59873.4 14361 -59884 14366 -59894.7 14370 -59905.4 14378 -59916 14385 -59926.7 14391 -59937.3 14397 -59948 14399 -59958.7 14409 -59969.3 14413 -59980 14417 -59990.7 14425 -60001.3 14427 -60012 14437 -60022.6 14442 -60033.3 14449 -60044 14450 -60054.6 14453 -60065.3 14462 -60076 14465 -60086.6 14473 -60097.3 14479 -60108 14489 -60118.6 14495 -60129.3 14499 -60139.9 14509 -60150.6 14519 -60161.3 14522 -60171.9 14525 -60182.6 14529 -60193.3 14537 -60203.9 14545 -60214.6 14550 -60225.2 14557 -60235.9 14559 -60246.6 14570 -60257.2 14574 -60267.9 14576 -60278.6 14588 -60289.2 14595 -60299.9 14601 -60310.6 14601 -60321.2 14611 -60331.9 14618 -60342.5 14622 -60353.2 14631 -60363.9 14637 -60374.5 14642 -60385.2 14650 -60395.9 14659 -60406.5 14665 -60417.2 14667 -60427.8 14669 -60438.5 14670 -60449.2 14679 -60459.8 14687 -60470.5 14688 -60481.2 14695 -60491.8 14700 -60502.5 14706 -60513.1 14712 -60523.8 14714 -60534.5 14721 -60545.1 14731 -60555.8 14736 -60566.5 14740 -60577.1 14752 -60587.8 14757 -60598.5 14765 -60609.1 14770 -60619.8 14780 -60630.4 14786 -60641.1 14793 -60651.8 14796 -60662.4 14804 -60673.1 14809 -60683.8 14815 -60694.4 14821 -60705.1 14833 -60715.7 14840 -60726.4 14840 -60737.1 14849 -60747.7 14855 -60758.4 14861 -60769.1 14870 -60779.7 14875 -60790.4 14882 -60801.1 14884 -60811.7 14893 -60822.4 14899 -60833 14904 -60843.7 14912 -60854.4 14918 -60865 14922 -60875.7 14928 -60886.4 14935 -60897 14943 -60907.7 14948 -60918.3 14952 -60929 14962 -60939.7 14971 -60950.3 14973 -60961 14979 -60971.7 14985 -60982.3 14994 -60993 14998 -61003.7 15004 -61014.3 15010 -61025 15016 -61035.6 15022 -61046.3 15027 -61057 15032 -61067.6 15037 -61078.3 15043 -61089 15044 -61099.6 15050 -61110.3 15064 -61120.9 15066 -61131.6 15071 -61142.3 15082 -61152.9 15086 -61163.6 15092 -61174.3 15098 -61184.9 15107 -61195.6 15113 -61206.3 15119 -61216.9 15126 -61227.6 15132 -61238.2 15141 -61248.9 15148 -61259.6 15151 -61270.2 15155 -61280.9 15170 -61291.6 15174 -61302.2 15176 -61312.9 15177 -61323.5 15180 -61334.2 15184 -61344.9 15188 -61355.5 15198 -61366.2 15203 -61376.9 15204 -61387.5 15207 -61398.2 15214 -61408.9 15220 -61419.5 15228 -61430.2 15238 -61440.8 15240 -61451.5 15243 -61462.2 15250 -61472.8 15255 -61483.5 15265 -61494.2 15267 -61504.8 15274 -61515.5 15281 -61526.1 15287 -61536.8 15292 -61547.5 15298 -61558.1 15303 -61568.8 15309 -61579.5 15315 -61590.1 15318 -61600.8 15330 -61611.4 15335 -61622.1 15339 -61632.8 15342 -61643.4 15348 -61654.1 15359 -61664.8 15365 -61675.4 15368 -61686.1 15371 -61696.8 15377 -61707.4 15390 -61718.1 15394 -61728.7 15399 -61739.4 15405 -61750.1 15411 -61760.7 15419 -61771.4 15425 -61782.1 15431 -61792.7 15435 -61803.4 15439 -61814 15446 -61824.7 15450 -61835.4 15459 -61846 15466 -61856.7 15473 -61867.4 15476 -61878 15482 -61888.7 15482 -61899.4 15490 -61910 15494 -61920.7 15497 -61931.3 15503 -61942 15511 -61952.7 15518 -61963.3 15523 -61974 15527 -61984.7 15529 -61995.3 15547 -62006 15548 -62016.6 15550 -62027.3 15551 -62038 15561 -62048.6 15568 -62059.3 15572 -62070 15576 -62080.6 15584 -62091.3 15593 -62102 15599 -62112.6 15603 -62123.3 15612 -62133.9 15619 -62144.6 15624 -62155.3 15627 -62165.9 15635 -62176.6 15646 -62187.3 15648 -62197.9 15652 -62208.6 15654 -62219.2 15658 -62229.9 15659 -62240.6 15674 -62251.2 15679 -62261.9 15686 -62272.6 15692 -62283.2 15697 -62293.9 15700 -62304.6 15713 -62315.2 15717 -62325.9 15722 -62336.5 15723 -62347.2 15729 -62357.9 15733 -62368.5 15746 -62379.2 15752 -62389.9 15754 -62400.5 15759 -62411.2 15762 -62421.8 15771 -62432.5 15772 -62443.2 15783 -62453.8 15788 -62464.5 15792 -62475.2 15806 -62485.8 15807 -62496.5 15809 -62507.2 15815 -62517.8 15824 -62528.5 15832 -62539.1 15835 -62549.8 15841 -62560.5 15844 -62571.1 15853 -62581.8 15863 -62592.5 15864 -62603.1 15869 -62613.8 15886 -62624.4 15889 -62635.1 15895 -62645.8 15908 -62656.4 15912 -62667.1 15917 -62677.8 15920 -62688.4 15936 -62699.1 15938 -62709.7 15940 -62720.4 15941 -62731.1 15946 -62741.7 15952 -62752.4 15958 -62763.1 15963 -62773.7 15967 -62784.4 15977 -62795.1 15983 -62805.7 15987 -62816.4 15992 -62827 15996 -62837.7 16005 -62848.4 16007 -62859 16013 -62869.7 16017 -62880.4 16028 -62891 16035 -62901.7 16043 -62912.3 16047 -62923 16051 -62933.7 16058 -62944.3 16069 -62955 16074 -62965.7 16083 -62976.3 16092 -62987 16096 -62997.7 16099 -63008.3 16110 -63019 16116 -63029.6 16117 -63040.3 16119 -63051 16124 -63061.6 16130 -63072.3 16141 -63083 16148 -63093.6 16151 -63104.3 16160 -63114.9 16171 -63125.6 16173 -63136.3 16180 -63146.9 16187 -63157.6 16196 -63168.3 16200 -63178.9 16205 -63189.6 16208 -63200.3 16218 -63210.9 16225 -63221.6 16229 -63232.2 16232 -63242.9 16238 -63253.6 16242 -63264.2 16245 -63274.9 16254 -63285.6 16256 -63296.2 16259 -63306.9 16266 -63317.5 16269 -63328.2 16275 -63338.9 16279 -63349.5 16287 -63360.2 16299 -63370.9 16303 -63381.5 16310 -63392.2 16311 -63402.9 16326 -63413.5 16330 -63424.2 16337 -63434.8 16339 -63445.5 16340 -63456.2 16352 -63466.8 16360 -63477.5 16368 -63488.2 16376 -63498.8 16379 -63509.5 16389 -63520.1 16394 -63530.8 16400 -63541.5 16406 -63552.1 16415 -63562.8 16422 -63573.5 16427 -63584.1 16431 -63594.8 16433 -63605.5 16446 -63616.1 16449 -63626.8 16453 -63637.4 16457 -63648.1 16467 -63658.8 16472 -63669.4 16474 -63680.1 16477 -63690.8 16486 -63701.4 16494 -63712.1 16500 -63722.7 16503 -63733.4 16509 -63744.1 16517 -63754.7 16524 -63765.4 16528 -63776.1 16531 -63786.7 16539 -63797.4 16552 -63808.1 16556 -63818.7 16560 -63829.4 16564 -63840 16573 -63850.7 16577 -63861.4 16582 -63872 16585 -63882.7 16588 -63893.4 16599 -63904 16604 -63914.7 16609 -63925.3 16616 -63936 16621 -63946.7 16628 -63957.3 16638 -63968 16640 -63978.7 16650 -63989.3 16654 -64000 16661 -64010.6 16668 -64021.3 16672 -64032 16682 -64042.6 16689 -64053.3 16689 -64064 16695 -64074.6 16700 -64085.3 16710 -64096 16718 -64106.6 16723 -64117.3 16727 -64127.9 16738 -64138.6 16741 -64149.3 16747 -64159.9 16749 -64170.6 16754 -64181.3 16760 -64191.9 16764 -64202.6 16776 -64213.2 16781 -64223.9 16786 -64234.6 16792 -64245.2 16798 -64255.9 16806 -64266.6 16812 -64277.2 16818 -64287.9 16824 -64298.6 16830 -64309.2 16839 -64319.9 16847 -64330.5 16850 -64341.2 16857 -64351.9 16862 -64362.5 16872 -64373.2 16879 -64383.9 16882 -64394.5 16890 -64405.2 16899 -64415.8 16903 -64426.5 16909 -64437.2 16915 -64447.8 16918 -64458.5 16928 -64469.2 16934 -64479.8 16938 -64490.5 16945 -64501.2 16952 -64511.8 16958 -64522.5 16964 -64533.1 16971 -64543.8 16976 -64554.5 16981 -64565.1 16984 -64575.8 16991 -64586.5 16998 -64597.1 17001 -64607.8 17005 -64618.4 17014 -64629.1 17020 -64639.8 17025 -64650.4 17025 -64661.1 17033 -64671.8 17045 -64682.4 17050 -64693.1 17055 -64703.8 17061 -64714.4 17068 -64725.1 17073 -64735.7 17082 -64746.4 17088 -64757.1 17091 -64767.7 17092 -64778.4 17097 -64789.1 17104 -64799.7 17110 -64810.4 17120 -64821 17123 -64831.7 17124 -64842.4 17134 -64853 17139 -64863.7 17149 -64874.4 17153 -64885 17163 -64895.7 17164 -64906.4 17169 -64917 17174 -64927.7 17179 -64938.3 17188 -64949 17193 -64959.7 17200 -64970.3 17206 -64981 17210 -64991.7 17214 -65002.3 17218 -65013 17218 -65023.6 17229 -65034.3 17231 -65045 17237 -65055.6 17244 -65066.3 17248 -65077 17256 -65087.6 17260 -65098.3 17266 -65108.9 17270 -65119.6 17274 -65130.3 17279 -65140.9 17280 -65151.6 17285 -65162.3 17291 -65172.9 17297 -65183.6 17298 -65194.3 17304 -65204.9 17306 -65215.6 17310 -65226.2 17310 -65236.9 17315 -65247.6 17316 -65258.2 17321 -65268.9 17322 -65279.6 17322 -65290.2 17327 -65300.9 17328 -65311.5 17333 -65322.2 17334 -65332.9 17339 -65343.5 17340 -65354.2 17346 -65364.9 17346 -65375.5 17351 -65386.2 17352 -65396.9 17357 -65407.5 17358 -65418.2 17363 -65428.8 17364 -65439.5 17369 -65450.2 17370 -65460.8 17375 -65471.5 17376 -65482.2 17381 -65492.8 17382 -65503.5 17387 -65514.1 17388 -65524.8 17393 -65535.5 17394 -65546.1 17394 -65556.8 17394 -65567.5 17394 -65578.1 17394 -65588.8 17394 -65599.5 17394 -65610.1 17394 -65620.8 17394 -65631.4 17394 -65642.1 17394 -65652.8 17394 -65663.4 17395 -65674.1 17395 -65684.8 17396 -65695.4 17396 -65706.1 17396 -65716.7 17396 -65727.4 17397 -65738.1 17398 -65748.7 17398 -65759.4 17400 -65770.1 17403 -65780.7 17403 -65791.4 17405 -65802.1 17406 -65812.7 17406 -65823.4 17406 -65834 17406 -65844.7 17406 -65855.4 17406 -65866 17406 -65876.7 17406 -65887.4 17406 -65898 17406 -65908.7 17407 -65919.3 17408 -65930 17408 -65940.7 17409 -65951.3 17410 -65962 17410 -65972.7 17412 -65983.3 17412 -65994 17412 -66004.7 17412 -66015.3 17414 -66026 17415 -66036.6 17415 -66047.3 17416 -66058 17418 -66068.6 17421 -66079.3 17424 -66090 17424 -66100.6 17427 -66111.3 17429 -66121.9 17430 -66132.6 17430 -66143.3 17430 -66153.9 17432 -66164.6 17433 -66175.3 17435 -66185.9 17436 -66196.6 17439 -66207.2 17439 -66217.9 17441 -66228.6 17442 -66239.2 17445 -66249.9 17447 -66260.6 17448 -66271.2 17451 -66281.9 17451 -66292.6 17454 -66303.2 17454 -66313.9 17457 -66324.5 17460 -66335.2 17460 -66345.9 17463 -66356.5 17466 -66367.2 17466 -66377.9 17469 -66388.5 17469 -66399.2 17469 -66409.8 17469 -66420.5 17469 -66431.2 17469 -66441.8 17469 -66452.5 17472 -66463.2 17472 -66473.8 17474 -66484.5 17476 -66495.2 17478 -66505.8 17478 -66516.5 17478 -66527.1 17480 -66537.8 17482 -66548.5 17484 -66559.1 17484 -66569.8 17484 -66580.5 17484 -66591.1 17484 -66601.8 17484 -66612.4 17484 -66623.1 17484 -66633.8 17484 -66644.4 17484 -66655.1 17484 -66665.8 17484 -66676.4 17484 -66687.1 17484 -66697.8 17484 -66708.4 17484 -66719.1 17484 -66729.7 17484 -66740.4 17484 -66751.1 17484 -66761.7 17484 -66772.4 17484 -66783.1 17484 -66793.7 17484 -66804.4 17484 -66815 17484 -66825.7 17484 -66836.4 17484 -66847 17484 -66857.7 17484 -66868.4 17484 -66879 17484 -66889.7 17484 -66900.4 17484 -66911 17484 -66921.7 17484 -66932.3 17484 -66943 17484 -66953.7 17484 -66964.3 17484 -66975 17484 -66985.7 17484 -66996.3 17484 -67007 17484 -67017.6 17484 -67028.3 17484 -67039 17484 -67049.6 17484 -67060.3 17484 -67071 17484 -67081.6 17484 -67092.3 17484 -67103 17484 -67113.6 17484 -67124.3 17484 -67134.9 17484 -67145.6 17484 -67156.3 17484 -67166.9 17484 -67177.6 17484 -67188.3 17484 -67198.9 17484 -67209.6 17484 -67220.2 17484 -67230.9 17484 -67241.6 17484 -67252.2 17484 -67262.9 17484 -67273.6 17484 -67284.2 17484 -67294.9 17484 -67305.6 17484 -67316.2 17484 -67326.9 17484 -67337.5 17484 -67348.2 17484 -67358.9 17484 -67369.5 17484 -67380.2 17484 -67390.9 17484 -67401.5 17484 -67412.2 17484 -67422.8 17484 -67433.5 17484 -67444.2 17484 -67454.8 17484 -67465.5 17484 -67476.2 17484 -67486.8 17484 -67497.5 17484 -67508.1 17484 -67518.8 17484 -67529.5 17484 -67540.1 17484 -67550.8 17484 -67561.5 17484 -67572.1 17484 -67582.8 17484 -67593.5 17484 -67604.1 17484 -67614.8 17484 -67625.4 17484 -67636.1 17484 -67646.8 17484 -67657.4 17484 -67668.1 17484 -67678.8 17484 -67689.4 17484 -67700.1 17484 -67710.7 17484 -67721.4 17484 -67732.1 17484 -67742.7 17484 -67753.4 17484 -67764.1 17484 -67774.7 17484 -67785.4 17484 -67796.1 17484 -67806.7 17484 -67817.4 17484 -67828 17484 -67838.7 17484 -67849.4 17484 -67860 17484 -67870.7 17484 -67881.4 17484 -67892 17484 -67902.7 17484 -67913.3 17484 -67924 17484 -67934.7 17484 -67945.3 17484 -67956 17484 -67966.7 17484 -67977.3 17484 -67988 17484 -67998.7 17484 -68009.3 17484 -68020 17484 -68030.6 17484 -68041.3 17484 -68052 17484 -68062.6 17484 -68073.3 17484 -68084 17484 -68094.6 17484 -68105.3 17484 -68115.9 17484 -68126.6 17484 -68137.3 17484 -68147.9 17484 -68158.6 17484 -68169.3 17484 -68179.9 17484 -68190.6 17484 -68201.3 17484 -68211.9 17484 -68222.6 17484 -68233.2 17484 -68243.9 17484 -68254.6 17484 -68265.2 17484 -68275.9 17484 -68286.6 17484 -68297.2 17484 -68307.9 17484 -68318.5 17484 -68329.2 17484 -68339.9 17484 -68350.5 17484 -68361.2 17484 -68371.9 17484 -68382.5 17484 -68393.2 17484 -68403.9 17484 -68414.5 17484 -68425.2 17484 -68435.8 17484 -68446.5 17484 -68457.2 17484 -68467.8 17484 -68478.5 17484 -68489.2 17484 -68499.8 17484 -68510.5 17484 -68521.1 17484 -68531.8 17484 -68542.5 17484 -68553.1 17484 -68563.8 17484 -68574.5 17484 -68585.1 17484 -68595.8 17484 -68606.4 17484 -68617.1 17484 -68627.8 17484 -68638.4 17484 -68649.1 17484 -68659.8 17484 -68670.4 17484 -68681.1 17484 -68691.8 17484 -68702.4 17484 -68713.1 17484 -68723.7 17484 -68734.4 17484 -68745.1 17484 -68755.7 17484 -68766.4 17484 -68777.1 17484 -68787.7 17484 -68798.4 17484 -68809 17484 -68819.7 17484 -68830.4 17484 -68841 17484 -68851.7 17484 -68862.4 17484 -68873 17484 -68883.7 17484 -68894.4 17484 -68905 17484 -68915.7 17484 -68926.3 17484 -68937 17484 -68947.7 17484 -68958.3 17484 -68969 17484 -68979.7 17484 -68990.3 17484 -69001 17484 -69011.6 17484 -69022.3 17484 -69033 17484 -69043.6 17484 -69054.3 17484 -69065 17484 -69075.6 17484 -69086.3 17484 -69097 17484 -69107.6 17484 -69118.3 17484 -69128.9 17484 -69139.6 17484 -69150.3 17484 -69160.9 17484 -69171.6 17484 -69182.3 17484 -69192.9 17484 -69203.6 17484 -69214.2 17484 -69224.9 17484 -69235.6 17484 -69246.2 17484 -69256.9 17484 -69267.6 17484 -69278.2 17484 -69288.9 17484 -69299.6 17484 -69310.2 17484 -69320.9 17484 -69331.5 17484 -69342.2 17484 -69352.9 17484 -69363.5 17484 -69374.2 17484 -69384.9 17484 -69395.5 17484 -69406.2 17484 -69416.8 17484 -69427.5 17484 -69438.2 17484 -69448.8 17484 -69459.5 17484 -69470.2 17484 -69480.8 17484 -69491.5 17484 -69502.2 17484 -69512.8 17484 -69523.5 17484 -69534.1 17484 -69544.8 17484 -69555.5 17484 -69566.1 17484 -69576.8 17484 -69587.5 17484 -69598.1 17484 -69608.8 17484 -69619.4 17484 -69630.1 17484 -69640.8 17484 -69651.4 17484 -69662.1 17484 -69672.8 17484 -69683.4 17484 -69694.1 17484 -69704.8 17484 -69715.4 17484 -69726.1 17484 -69736.7 17484 -69747.4 17484 -69758.1 17484 -69768.7 17484 -69779.4 17484 -69790.1 17484 -69800.7 17484 -69811.4 17484 -69822 17484 -69832.7 17484 -69843.4 17484 -69854 17484 -69864.7 17484 -69875.4 17484 -69886 17484 -69896.7 17484 -69907.3 17484 -69918 17484 -69928.7 17484 -69939.3 17484 -69950 17484 -69960.7 17484 -69971.3 17484 -69982 17484 -69992.7 17484 -70003.3 17484 -70014 17484 -70024.6 17484 -70035.3 17484 -70046 17484 -70056.6 17484 -70067.3 17484 -70078 17484 -70088.6 17484 -70099.3 17484 -70109.9 17484 -70120.6 17484 -70131.3 17484 -70141.9 17484 -70152.6 17484 -70163.3 17484 -70173.9 17484 -70184.6 17484 -70195.3 17484 -70205.9 17484 -70216.6 17484 -70227.2 17484 -70237.9 17484 -70248.6 17484 -70259.2 17484 -70269.9 17484 -70280.6 17484 -70291.2 17484 -70301.9 17484 -70312.5 17484 -70323.2 17484 -70333.9 17484 -70344.5 17484 -70355.2 17484 -70365.9 17484 -70376.5 17484 -70387.2 17484 -70397.9 17484 -70408.5 17484 -70419.2 17484 -70429.8 17484 -70440.5 17484 -70451.2 17484 -70461.8 17484 -70472.5 17484 -70483.2 17484 -70493.8 17484 -70504.5 17484 -70515.1 17484 -70525.8 17484 -70536.5 17484 -70547.1 17484 -70557.8 17484 -70568.5 17484 -70579.1 17484 -70589.8 17484 -70600.5 17484 -70611.1 17484 -70621.8 17484 -70632.4 17484 -70643.1 17484 -70653.8 17484 -70664.4 17484 -70675.1 17484 -70685.8 17484 -70696.4 17484 -70707.1 17484 -70717.7 17484 -70728.4 17484 -70739.1 17484 -70749.7 17484 -70760.4 17484 -70771.1 17484 -70781.7 17484 -70792.4 17484 -70803.1 17484 -70813.7 17484 -70824.4 17484 -70835 17484 -70845.7 17484 -70856.4 17484 -70867 17484 -70877.7 17484 -70888.4 17484 -70899 17484 -70909.7 17484 -70920.3 17484 -70931 17484 -70941.7 17484 -70952.3 17484 -70963 17484 -70973.7 17484 -70984.3 17484 -70995 17484 -71005.6 17484 -71016.3 17484 -71027 17484 -71037.6 17484 -71048.3 17484 -71059 17484 -71069.6 17484 -71080.3 17484 -71091 17484 -71101.6 17484 -71112.3 17484 -71122.9 17484 -71133.6 17484 -71144.3 17484 -71154.9 17484 -71165.6 17484 -71176.3 17484 -71186.9 17484 -71197.6 17484 -71208.2 17484 -71218.9 17484 -71229.6 17484 -71240.2 17484 -71250.9 17484 -71261.6 17484 -71272.2 17484 -71282.9 17484 -71293.6 17484 -71304.2 17484 -71314.9 17484 -71325.5 17484 -71336.2 17484 -71346.9 17484 -71357.5 17484 -71368.2 17484 -71378.9 17484 -71389.5 17484 -71400.2 17484 -71410.8 17484 -71421.5 17484 -71432.2 17484 -71442.8 17484 -71453.5 17484 -71464.2 17484 -71474.8 17484 -71485.5 17484 -71496.2 17484 -71506.8 17484 -71517.5 17484 -71528.1 17484 -71538.8 17484 -71549.5 17484 -71560.1 17484 -71570.8 17484 -71581.5 17484 -71592.1 17484 -71602.8 17484 -71613.4 17484 -71624.1 17484 -71634.8 17484 -71645.4 17484 -71656.1 17484 -71666.8 17484 -71677.4 17484 -71688.1 17484 -71698.8 17484 -71709.4 17484 -71720.1 17484 -71730.7 17484 -71741.4 17484 -71752.1 17484 -71762.7 17484 -71773.4 17484 -71784.1 17484 -71794.7 17484 -71805.4 17484 -71816 17484 -71826.7 17484 -71837.4 17484 -71848 17484 -71858.7 17484 -71869.4 17484 -71880 17484 -71890.7 17484 -71901.4 17484 -71912 17484 -71922.7 17484 -71933.3 17484 -71944 17484 -71954.7 17484 -71965.3 17484 -71976 17484 -71986.7 17484 -71997.3 17484 -72008 17484 -72018.6 17484 -72029.3 17484 -72040 17484 -72050.6 17484 -72061.3 17484 -72072 17484 -72082.6 17484 -72093.3 17484 -72103.9 17484 -72114.6 17484 -72125.3 17484 -72135.9 17484 -72146.6 17484 -72157.3 17484 -72167.9 17484 -72178.6 17484 -72189.3 17484 -72199.9 17484 -72210.6 17484 -72221.2 17484 -72231.9 17484 -72242.6 17484 -72253.2 17484 -72263.9 17484 -72274.6 17484 -72285.2 17484 -72295.9 17484 -72306.5 17484 -72317.2 17484 -72327.9 17484 -72338.5 17484 -72349.2 17484 -72359.9 17484 -72370.5 17484 -72381.2 17484 -72391.9 17484 -72402.5 17484 -72413.2 17484 -72423.8 17484 -72434.5 17484 -72445.2 17484 -72455.8 17484 -72466.5 17484 -72477.2 17484 -72487.8 17484 -72498.5 17484 -72509.1 17484 -72519.8 17484 -72530.5 17484 -72541.1 17484 -72551.8 17484 -72562.5 17484 -72573.1 17484 -72583.8 17484 -72594.5 17484 -72605.1 17484 -72615.8 17484 -72626.4 17484 -72637.1 17484 -72647.8 17484 -72658.4 17484 -72669.1 17484 -72679.8 17484 -72690.4 17484 -72701.1 17484 -72711.7 17484 -72722.4 17484 -72733.1 17484 -72743.7 17484 -72754.4 17484 -72765.1 17484 -72775.7 17484 -72786.4 17484 -72797.1 17484 -72807.7 17484 -72818.4 17484 -72829 17484 -72839.7 17484 -72850.4 17484 -72861 17484 -72871.7 17484 -72882.4 17484 -72893 17484 -72903.7 17484 -72914.3 17484 -72925 17484 -72935.7 17484 -72946.3 17484 -72957 17484 -72967.7 17484 -72978.3 17484 -72989 17484 -72999.7 17484 -73010.3 17484 -73021 17484 -73031.6 17484 -73042.3 17484 -73053 17484 -73063.6 17484 -73074.3 17484 -73085 17484 -73095.6 17484 -73106.3 17484 -73116.9 17484 -73127.6 17484 -73138.3 17484 -73148.9 17484 -73159.6 17484 -73170.3 17484 -73180.9 17484 -73191.6 17484 -73202.3 17484 -73212.9 17484 -73223.6 17484 -73234.2 17484 -73244.9 17484 -73255.6 17484 -73266.2 17484 -73276.9 17484 -73287.6 17484 -73298.2 17484 -73308.9 17484 -73319.5 17484 -73330.2 17484 -73340.9 17484 -73351.5 17484 -73362.2 17484 -73372.9 17484 -73383.5 17484 -73394.2 17484 -73404.8 17484 -73415.5 17484 -73426.2 17484 -73436.8 17484 -73447.5 17484 -73458.2 17484 -73468.8 17484 -73479.5 17484 -73490.2 17484 -73500.8 17484 -73511.5 17484 -73522.1 17484 -73532.8 17484 -73543.5 17484 -73554.1 17484 -73564.8 17484 -73575.5 17484 -73586.1 17484 -73596.8 17484 -73607.4 17484 -73618.1 17484 -73628.8 17484 -73639.4 17484 -73650.1 17484 -73660.8 17484 -73671.4 17484 -73682.1 17484 -73692.8 17484 -73703.4 17484 -73714.1 17484 -73724.7 17484 -73735.4 17484 -73746.1 17484 -73756.7 17484 -73767.4 17484 -73778.1 17484 -73788.7 17484 -73799.4 17484 -73810 17484 -73820.7 17484 -73831.4 17484 -73842 17484 -73852.7 17484 -73863.4 17484 -73874 17484 -73884.7 17484 -73895.4 17484 -73906 17484 -73916.7 17484 -73927.3 17484 -73938 17484 -73948.7 17484 -73959.3 17484 -73970 17484 -73980.7 17484 -73991.3 17484 -74002 17484 -74012.6 17484 -74023.3 17484 -74034 17484 -74044.6 17484 -74055.3 17484 -74066 17484 -74076.6 17484 -74087.3 17484 -74098 17484 -74108.6 17484 -74119.3 17484 -74129.9 17484 -74140.6 17484 -74151.3 17484 -74161.9 17484 -74172.6 17484 -74183.3 17484 -74193.9 17484 -74204.6 17484 -74215.2 17484 -74225.9 17484 -74236.6 17484 -74247.2 17484 -74257.9 17484 -74268.6 17484 -74279.2 17484 -74289.9 17484 -74300.6 17484 -74311.2 17484 -74321.9 17484 -74332.5 17484 -74343.2 17484 -74353.9 17484 -74364.5 17484 -74375.2 17484 -74385.9 17484 -74396.5 17484 -74407.2 17484 -74417.8 17484 -74428.5 17484 -74439.2 17484 -74449.8 17484 -74460.5 17484 -74471.2 17484 -74481.8 17484 -74492.5 17484 -74503.1 17484 -74513.8 17484 -74524.5 17484 -74535.1 17484 -74545.8 17484 -74556.5 17484 -74567.1 17484 -74577.8 17484 -74588.5 17484 -74599.1 17484 -74609.8 17484 -74620.4 17484 -74631.1 17484 -74641.8 17484 -74652.4 17484 -74663.1 17484 -74673.8 17484 -74684.4 17484 -74695.1 17484 -74705.7 17484 -74716.4 17484 -74727.1 17484 -74737.7 17484 -74748.4 17484 -74759.1 17484 -74769.7 17484 -74780.4 17484 -74791.1 17484 -74801.7 17484 -74812.4 17484 -74823 17484 -74833.7 17484 -74844.4 17484 -74855 17484 -74865.7 17484 -74876.4 17484 -74887 17484 -74897.7 17484 -74908.3 17484 -74919 17484 -74929.7 17484 -74940.3 17484 -74951 17484 -74961.7 17484 -74972.3 17484 -74983 17484 -74993.7 17484 -75004.3 17484 -75015 17484 -75025.6 17484 -75036.3 17484 -75047 17484 -75057.6 17484 -75068.3 17484 -75079 17484 -75089.6 17484 -75100.3 17484 -75110.9 17484 -75121.6 17484 -75132.3 17484 -75142.9 17484 -75153.6 17484 -75164.3 17484 -75174.9 17484 -75185.6 17484 -75196.3 17484 -75206.9 17484 -75217.6 17484 -75228.2 17484 -75238.9 17484 -75249.6 17484 -75260.2 17484 -75270.9 17484 -75281.6 17484 -75292.2 17484 -75302.9 17484 -75313.5 17484 -75324.2 17484 -75334.9 17484 -75345.5 17484 -75356.2 17484 -75366.9 17484 -75377.5 17484 -75388.2 17484 -75398.9 17484 -75409.5 17484 -75420.2 17484 -75430.8 17484 -75441.5 17484 -75452.2 17484 -75462.8 17484 -75473.5 17484 -75484.2 17484 -75494.8 17484 -75505.5 17484 -75516.1 17484 -75526.8 17484 -75537.5 17484 -75548.1 17484 -75558.8 17484 -75569.5 17484 -75580.1 17484 -75590.8 17484 -75601.4 17484 -75612.1 17484 -75622.8 17484 -75633.4 17484 -75644.1 17484 -75654.8 17484 -75665.4 17484 -75676.1 17484 -75686.8 17484 -75697.4 17484 -75708.1 17484 -75718.7 17484 -75729.4 17484 -75740.1 17484 -75750.7 17484 -75761.4 17484 -75772.1 17484 -75782.7 17484 -75793.4 17484 -75804 17484 -75814.7 17484 -75825.4 17484 -75836 17484 -75846.7 17484 -75857.4 17484 -75868 17484 -75878.7 17484 -75889.4 17484 -75900 17484 -75910.7 17484 -75921.3 17484 -75932 17484 -75942.7 17484 -75953.3 17484 -75964 17484 -75974.7 17484 -75985.3 17484 -75996 17484 -76006.6 17484 -76017.3 17484 -76028 17484 -76038.6 17484 -76049.3 17484 -76060 17484 -76070.6 17484 -76081.3 17484 -76092 17484 -76102.6 17484 -76113.3 17484 -76123.9 17484 -76134.6 17484 -76145.3 17484 -76155.9 17484 -76166.6 17484 -76177.3 17484 -76187.9 17484 -76198.6 17484 -76209.2 17484 -76219.9 17484 -76230.6 17484 -76241.2 17484 -76251.9 17484 -76262.6 17484 -76273.2 17484 -76283.9 17484 -76294.6 17484 -76305.2 17484 -76315.9 17484 -76326.5 17484 -76337.2 17484 -76347.9 17484 -76358.5 17484 -76369.2 17484 -76379.9 17484 -76390.5 17484 -76401.2 17484 -76411.8 17484 -76422.5 17484 -76433.2 17484 -76443.8 17484 -76454.5 17484 -76465.2 17484 -76475.8 17484 -76486.5 17484 -76497.2 17484 -76507.8 17484 -76518.5 17484 -76529.1 17484 -76539.8 17484 -76550.5 17484 -76561.1 17484 -76571.8 17484 -76582.5 17484 -76593.1 17484 -76603.8 17484 -76614.4 17484 -76625.1 17484 -76635.8 17484 -76646.4 17484 -76657.1 17484 -76667.8 17484 -76678.4 17484 -76689.1 17484 -76699.8 17484 -76710.4 17484 -76721.1 17484 -76731.7 17484 -76742.4 17484 -76753.1 17484 -76763.7 17484 -76774.4 17484 -76785.1 17484 -76795.7 17484 -76806.4 17484 -76817 17484 -76827.7 17484 -76838.4 17484 -76849 17484 -76859.7 17484 -76870.4 17484 -76881 17484 -76891.7 17484 -76902.3 17484 -76913 17484 -76923.7 17484 -76934.3 17484 -76945 17484 -76955.7 17484 -76966.3 17484 -76977 17484 -76987.7 17484 -76998.3 17484 -77009 17484 -77019.6 17484 -77030.3 17484 -77041 17484 -77051.6 17484 -77062.3 17484 -77073 17484 -77083.6 17484 -77094.3 17484 -77104.9 17484 -77115.6 17484 -77126.3 17484 -77136.9 17484 -77147.6 17484 -77158.3 17484 -77168.9 17484 -77179.6 17484 -77190.3 17484 -77200.9 17484 -77211.6 17484 -77222.2 17484 -77232.9 17484 -77243.6 17484 -77254.2 17484 -77264.9 17484 -77275.6 17484 -77286.2 17484 -77296.9 17484 -77307.5 17484 -77318.2 17484 -77328.9 17484 -77339.5 17484 -77350.2 17484 -77360.9 17484 -77371.5 17484 -77382.2 17484 -77392.9 17484 -77403.5 17484 -77414.2 17484 -77424.8 17484 -77435.5 17484 -77446.2 17484 -77456.8 17484 -77467.5 17484 -77478.2 17484 -77488.8 17484 -77499.5 17484 -77510.1 17484 -77520.8 17484 -77531.5 17484 -77542.1 17484 -77552.8 17484 -77563.5 17484 -77574.1 17484 -77584.8 17484 -77595.5 17484 -77606.1 17484 -77616.8 17484 -77627.4 17484 -77638.1 17484 -77648.8 17484 -77659.4 17484 -77670.1 17484 -77680.8 17484 -77691.4 17484 -77702.1 17484 -77712.7 17484 -77723.4 17484 -77734.1 17484 -77744.7 17484 -77755.4 17484 -77766.1 17484 -77776.7 17484 -77787.4 17484 -77798.1 17484 -77808.7 17484 -77819.4 17484 -77830 17484 -77840.7 17484 -77851.4 17484 -77862 17484 -77872.7 17484 -77883.4 17484 -77894 17484 -77904.7 17484 -77915.3 17484 -77926 17484 -77936.7 17484 -77947.3 17484 -77958 17484 -77968.7 17484 -77979.3 17484 -77990 17484 -78000.6 17484 -78011.3 17484 -78022 17484 -78032.6 17484 -78043.3 17484 -78054 17484 -78064.6 17484 -78075.3 17484 -78086 17484 -78096.6 17484 -78107.3 17484 -78117.9 17484 -78128.6 17484 -78139.3 17484 -78149.9 17484 -78160.6 17484 -78171.3 17484 -78181.9 17484 -78192.6 17484 -78203.2 17484 -78213.9 17484 -78224.6 17484 -78235.2 17484 -78245.9 17484 -78256.6 17484 -78267.2 17484 -78277.9 17484 -78288.6 17484 -78299.2 17484 -78309.9 17484 -78320.5 17484 -78331.2 17484 -78341.9 17484 -78352.5 17484 -78363.2 17484 -78373.9 17484 -78384.5 17484 -78395.2 17484 -78405.8 17484 -78416.5 17484 -78427.2 17484 -78437.8 17484 -78448.5 17484 -78459.2 17484 -78469.8 17484 -78480.5 17484 -78491.2 17484 -78501.8 17484 -78512.5 17484 -78523.1 17484 -78533.8 17484 -78544.5 17484 -78555.1 17484 -78565.8 17484 -78576.5 17484 -78587.1 17484 -78597.8 17484 -78608.4 17484 -78619.1 17484 -78629.8 17484 -78640.4 17484 -78651.1 17484 -78661.8 17484 -78672.4 17484 -78683.1 17484 -78693.8 17484 -78704.4 17484 -78715.1 17484 -78725.7 17484 -78736.4 17484 -78747.1 17484 -78757.7 17484 -78768.4 17484 -78779.1 17484 -78789.7 17484 -78800.4 17484 -78811 17484 -78821.7 17484 -78832.4 17484 -78843 17484 -78853.7 17484 -78864.4 17484 -78875 17484 -78885.7 17484 -78896.4 17484 -78907 17484 -78917.7 17484 -78928.3 17484 -78939 17484 -78949.7 17484 -78960.3 17484 -78971 17484 -78981.7 17484 -78992.3 17484 -79003 17484 -79013.6 17484 -79024.3 17484 -79035 17484 -79045.6 17484 -79056.3 17484 -79067 17484 -79077.6 17484 -79088.3 17484 -79098.9 17484 -79109.6 17484 -79120.3 17484 -79130.9 17484 -79141.6 17484 -79152.3 17484 -79162.9 17484 -79173.6 17484 -79184.3 17484 -79194.9 17484 -79205.6 17484 -79216.2 17484 -79226.9 17484 -79237.6 17484 -79248.2 17484 -79258.9 17484 -79269.6 17484 -79280.2 17484 -79290.9 17484 -79301.5 17484 -79312.2 17484 -79322.9 17484 -79333.5 17484 -79344.2 17484 -79354.9 17484 -79365.5 17484 -79376.2 17484 -79386.9 17484 -79397.5 17484 -79408.2 17484 -79418.8 17484 -79429.5 17484 -79440.2 17484 -79450.8 17484 -79461.5 17484 -79472.2 17484 -79482.8 17484 -79493.5 17484 -79504.1 17484 -79514.8 17484 -79525.5 17484 -79536.1 17484 -79546.8 17484 -79557.5 17484 -79568.1 17484 -79578.8 17484 -79589.5 17484 -79600.1 17484 -79610.8 17484 -79621.4 17484 -79632.1 17484 -79642.8 17484 -79653.4 17484 -79664.1 17484 -79674.8 17484 -79685.4 17484 -79696.1 17484 -79706.7 17484 -79717.4 17484 -79728.1 17484 -79738.7 17484 -79749.4 17484 -79760.1 17484 -79770.7 17484 -79781.4 17484 -79792.1 17484 -79802.7 17484 -79813.4 17484 -79824 17484 -79834.7 17484 -79845.4 17484 -79856 17484 -79866.7 17484 -79877.4 17484 -79888 17484 -79898.7 17484 -79909.3 17484 -79920 17484 -79930.7 17484 -79941.3 17484 -79952 17484 -79962.7 17484 -79973.3 17484 -79984 17484 -79994.7 17484 -80005.3 17484 -80016 17484 -80026.6 17484 -80037.3 17484 -80048 17484 -80058.6 17484 -80069.3 17484 -80080 17484 -80090.6 17484 -80101.3 17484 -80111.9 17484 -80122.6 17484 -80133.3 17484 -80143.9 17484 -80154.6 17484 -80165.3 17484 -80175.9 17484 -80186.6 17484 -80197.3 17484 -80207.9 17484 -80218.6 17484 -80229.2 17484 -80239.9 17484 -80250.6 17484 -80261.2 17484 -80271.9 17484 -80282.6 17484 -80293.2 17484 -80303.9 17484 -80314.5 17484 -80325.2 17484 -80335.9 17484 -80346.5 17484 -80357.2 17484 -80367.9 17484 -80378.5 17484 -80389.2 17484 -80399.8 17484 -80410.5 17484 -80421.2 17484 -80431.8 17484 -80442.5 17484 -80453.2 17484 -80463.8 17484 -80474.5 17484 -80485.2 17484 -80495.8 17484 -80506.5 17484 -80517.1 17484 -80527.8 17484 -80538.5 17484 -80549.1 17484 -80559.8 17484 -80570.5 17484 -80581.1 17484 -80591.8 17484 -80602.4 17484 -80613.1 17484 -80623.8 17484 -80634.4 17484 -80645.1 17484 -80655.8 17484 -80666.4 17484 -80677.1 17484 -80687.8 17484 -80698.4 17484 -80709.1 17484 -80719.7 17484 -80730.4 17484 -80741.1 17484 -80751.7 17484 -80762.4 17484 -80773.1 17484 -80783.7 17484 -80794.4 17484 -80805 17484 -80815.7 17484 -80826.4 17484 -80837 17484 -80847.7 17484 -80858.4 17484 -80869 17484 -80879.7 17484 -80890.4 17484 -80901 17484 -80911.7 17484 -80922.3 17484 -80933 17484 -80943.7 17484 -80954.3 17484 -80965 17484 -80975.7 17484 -80986.3 17484 -80997 17484 -81007.6 17484 -81018.3 17484 -81029 17484 -81039.6 17484 -81050.3 17484 -81061 17484 -81071.6 17484 -81082.3 17484 -81093 17484 -81103.6 17484 -81114.3 17484 -81124.9 17484 -81135.6 17484 -81146.3 17484 -81156.9 17484 -81167.6 17484 -81178.3 17484 -81188.9 17484 -81199.6 17484 -81210.2 17484 -81220.9 17484 -81231.6 17484 -81242.2 17484 -81252.9 17484 -81263.6 17484 -81274.2 17484 -81284.9 17484 -81295.6 17484 -81306.2 17484 -81316.9 17484 -81327.5 17484 -81338.2 17484 -81348.9 17484 -81359.5 17484 -81370.2 17484 -81380.9 17484 -81391.5 17484 -81402.2 17484 -81412.8 17484 -81423.5 17484 -81434.2 17484 -81444.8 17484 -81455.5 17484 -81466.2 17484 -81476.8 17484 -81487.5 17484 -81498.1 17484 -81508.8 17484 -81519.5 17484 -81530.1 17484 -81540.8 17484 -81551.5 17484 -81562.1 17484 -81572.8 17484 -81583.5 17484 -81594.1 17484 -81604.8 17484 -81615.4 17484 -81626.1 17484 -81636.8 17484 -81647.4 17484 -81658.1 17484 -81668.8 17484 -81679.4 17484 -81690.1 17484 -81700.7 17484 -81711.4 17484 -81722.1 17484 -81732.7 17484 -81743.4 17484 -81754.1 17484 -81764.7 17484 -81775.4 17484 -81786.1 17484 -81796.7 17484 -81807.4 17484 -81818 17484 -81828.7 17484 -81839.4 17484 -81850 17484 -81860.7 17484 -81871.4 17484 -81882 17484 -81892.7 17484 -81903.3 17484 -81914 17484 -81924.7 17484 -81935.3 17484 -81946 17484 -81956.7 17484 -81967.3 17484 -81978 17484 -81988.7 17484 -81999.3 17484 -82010 17484 -82020.6 17484 -82031.3 17484 -82042 17484 -82052.6 17484 -82063.3 17484 -82074 17484 -82084.6 17484 -82095.3 17484 -82105.9 17484 -82116.6 17484 -82127.3 17484 -82137.9 17484 -82148.6 17484 -82159.3 17484 -82169.9 17484 -82180.6 17484 -82191.3 17484 -82201.9 17484 -82212.6 17484 -82223.2 17484 -82233.9 17484 -82244.6 17484 -82255.2 17484 -82265.9 17484 -82276.6 17484 -82287.2 17484 -82297.9 17484 -82308.5 17484 -82319.2 17484 -82329.9 17484 -82340.5 17484 -82351.2 17484 -82361.9 17484 -82372.5 17484 -82383.2 17484 -82393.9 17484 -82404.5 17484 -82415.2 17484 -82425.8 17484 -82436.5 17484 -82447.2 17484 -82457.8 17484 -82468.5 17484 -82479.2 17484 -82489.8 17484 -82500.5 17484 -82511.1 17484 -82521.8 17484 -82532.5 17484 -82543.1 17484 -82553.8 17484 -82564.5 17484 -82575.1 17484 -82585.8 17484 -82596.5 17484 -82607.1 17484 -82617.8 17484 -82628.4 17484 -82639.1 17484 -82649.8 17484 -82660.4 17484 -82671.1 17484 -82681.8 17484 -82692.4 17484 -82703.1 17484 -82713.7 17484 -82724.4 17484 -82735.1 17484 -82745.7 17484 -82756.4 17484 -82767.1 17484 -82777.7 17484 -82788.4 17484 -82799 17484 -82809.7 17484 -82820.4 17484 -82831 17484 -82841.7 17484 -82852.4 17484 -82863 17484 -82873.7 17484 -82884.4 17484 -82895 17484 -82905.7 17484 -82916.3 17484 -82927 17484 -82937.7 17484 -82948.3 17484 -82959 17484 -82969.7 17484 -82980.3 17484 -82991 17484 -83001.6 17484 -83012.3 17484 -83023 17484 -83033.6 17484 -83044.3 17484 -83055 17484 -83065.6 17484 -83076.3 17484 -83087 17484 -83097.6 17484 -83108.3 17484 -83118.9 17484 -83129.6 17484 -83140.3 17484 -83150.9 17484 -83161.6 17484 -83172.3 17484 -83182.9 17484 -83193.6 17484 -83204.2 17484 -83214.9 17484 -83225.6 17484 -83236.2 17484 -83246.9 17484 -83257.6 17484 -83268.2 17484 -83278.9 17484 -83289.6 17484 -83300.2 17484 -83310.9 17484 -83321.5 17484 -83332.2 17484 -83342.9 17484 -83353.5 17484 -83364.2 17484 -83374.9 17484 -83385.5 17484 -83396.2 17484 -83406.8 17484 -83417.5 17484 -83428.2 17484 -83438.8 17484 -83449.5 17484 -83460.2 17484 -83470.8 17484 -83481.5 17484 -83492.2 17484 -83502.8 17484 -83513.5 17484 -83524.1 17484 -83534.8 17484 -83545.5 17484 -83556.1 17484 -83566.8 17484 -83577.5 17484 -83588.1 17484 -83598.8 17484 -83609.4 17484 -83620.1 17484 -83630.8 17484 -83641.4 17484 -83652.1 17484 -83662.8 17484 -83673.4 17484 -83684.1 17484 -83694.8 17484 -83705.4 17484 -83716.1 17484 -83726.7 17484 -83737.4 17484 -83748.1 17484 -83758.7 17484 -83769.4 17484 -83780.1 17484 -83790.7 17484 -83801.4 17484 -83812 17484 -83822.7 17484 -83833.4 17484 -83844 17484 -83854.7 17484 -83865.4 17484 -83876 17484 -83886.7 17484 -83897.3 17484 -83908 17484 -83918.7 17484 -83929.3 17484 -83940 17484 -83950.7 17484 -83961.3 17484 -83972 17484 -83982.7 17484 -83993.3 17484 -84004 17484 -84014.6 17484 -84025.3 17484 -84036 17484 -84046.6 17484 -84057.3 17484 -84068 17484 -84078.6 17484 -84089.3 17484 -84099.9 17484 -84110.6 17484 -84121.3 17484 -84131.9 17484 -84142.6 17484 -84153.3 17484 -84163.9 17484 -84174.6 17484 -84185.3 17484 -84195.9 17484 -84206.6 17484 -84217.2 17484 -84227.9 17484 -84238.6 17484 -84249.2 17484 -84259.9 17484 -84270.6 17484 -84281.2 17484 -84291.9 17484 -84302.5 17484 -84313.2 17484 -84323.9 17484 -84334.5 17484 -84345.2 17484 -84355.9 17484 -84366.5 17484 -84377.2 17484 -84387.9 17484 -84398.5 17484 -84409.2 17484 -84419.8 17484 -84430.5 17484 -84441.2 17484 -84451.8 17484 -84462.5 17484 -84473.2 17484 -84483.8 17484 -84494.5 17484 -84505.1 17484 -84515.8 17484 -84526.5 17484 -84537.1 17484 -84547.8 17484 -84558.5 17484 -84569.1 17484 -84579.8 17484 -84590.5 17484 -84601.1 17484 -84611.8 17484 -84622.4 17484 -84633.1 17484 -84643.8 17484 -84654.4 17484 -84665.1 17484 -84675.8 17484 -84686.4 17484 -84697.1 17484 -84707.7 17484 -84718.4 17484 -84729.1 17484 -84739.7 17484 -84750.4 17484 -84761.1 17484 -84771.7 17484 -84782.4 17484 -84793.1 17484 -84803.7 17484 -84814.4 17484 -84825 17484 -84835.7 17484 -84846.4 17484 -84857 17484 -84867.7 17484 -84878.4 17484 -84889 17484 -84899.7 17484 -84910.3 17484 -84921 17484 -84931.7 17484 -84942.3 17484 -84953 17484 -84963.7 17484 -84974.3 17484 -84985 17484 -84995.6 17484 -85006.3 17484 -85017 17484 -85027.6 17484 -85038.3 17484 -85049 17484 -85059.6 17484 -85070.3 17484 -85081 17484 -85091.6 17484 -85102.3 17484 -85112.9 17484 -85123.6 17484 -85134.3 17484 -85144.9 17484 -85155.6 17484 -85166.3 17484 -85176.9 Deleted: SwiftApps/SciColSim/plot_ready_jobs.txt =================================================================== --- SwiftApps/SciColSim/plot_ready_jobs.txt 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/plot_ready_jobs.txt 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,6239 +0,0 @@ -11 -19 -14 -19 -17 -13 -19 -19 -10 -2 -18 -19 -16 -12 -13 -12 -11 -2 -11 -15 -16 -11 -19 -2 -17 -11 -19 -18 -2 -13 -10 -9 -19 -19 -11 -19 -18 -12 -17 -11 -18 -17 -11 -12 -12 -11 -12 -14 -19 -2 -10 -10 -11 -19 -11 -17 -11 -11 -13 -11 -19 -19 -12 -18 -19 -17 -19 -2 -11 -12 -13 -19 -19 -18 -11 -12 -19 -15 -19 -11 -2 -12 -19 -19 -19 -11 -11 -11 -11 -19 -18 -11 -11 -19 -11 -10 -18 -11 -19 -11 -14 -18 -2 -11 -10 -11 -18 -11 -12 -11 -19 -11 -11 -11 -11 -18 -11 -11 -11 -11 -2 -11 -19 -19 -11 -19 -11 -19 -11 -19 -18 -19 -12 -17 -19 -2 -16 -15 -11 -11 -19 -12 -12 -11 -19 -16 -11 -10 -19 -19 -18 -11 -18 -2 -12 -11 -12 -19 -19 -10 -19 -19 -18 -12 -12 -11 -18 -12 -2 -19 -18 -11 -11 -19 -19 -19 -11 -11 -17 -11 -12 -2 -19 -11 -12 -11 -11 -19 -18 -9 -11 -18 -19 -12 -19 -2 -11 -11 -12 -11 -2 -11 -10 -14 -11 -19 -19 -12 -18 -19 -19 -11 -2 -18 -19 -10 -17 -18 -11 -11 -11 -19 -19 -11 -17 -11 -12 -12 -13 -11 -18 -11 -19 -19 -19 -19 -11 -18 -19 -17 -12 -12 -11 -19 -11 -11 -19 -12 -11 -19 -19 -15 -11 -17 -2 -13 -13 -11 -19 -19 -11 -12 -18 -19 -11 -17 -2 -19 -13 -13 -11 -19 -12 -10 -10 -11 -19 -11 -12 -19 -12 -19 -11 -18 -12 -9 -19 -13 -11 -16 -11 -11 -17 -19 -2 -12 -19 -19 -11 -11 -11 -14 -11 -16 -19 -16 -18 -19 -19 -12 -19 -12 -19 -17 -10 -10 -2 -11 -12 -13 -19 -10 -10 -19 -19 -19 -12 -11 -19 -19 -10 -2 -17 -19 -10 -12 -12 -19 -2 -19 -11 -12 -19 -19 -13 -16 -19 -18 -12 -19 -12 -12 -19 -18 -11 -11 -11 -19 -19 -11 -12 -18 -2 -19 -15 -11 -11 -18 -12 -14 -10 -11 -9 -16 -17 -12 -18 -19 -19 -11 -11 -18 -2 -17 -16 -19 -12 -11 -12 -11 -19 -11 -12 -11 -11 -17 -11 -11 -17 -19 -2 -17 -11 -13 -2 -12 -11 -12 -19 -11 -10 -11 -19 -19 -12 -11 -11 -19 -13 -12 -10 -19 -19 -11 -19 -19 -19 -12 -18 -13 -11 -18 -10 -17 -16 -11 -17 -18 -10 -19 -17 -11 -17 -16 -2 -11 -11 -13 -19 -19 -11 -11 -11 -11 -12 -19 -19 -18 -12 -11 -19 -18 -13 -11 -2 -2 -11 -10 -11 -11 -11 -19 -12 -17 -19 -2 -11 -11 -19 -15 -11 -2 -19 -11 -11 -19 -10 -19 -13 -13 -11 -19 -19 -19 -11 -12 -2 -19 -18 -2 -11 -10 -10 -11 -18 -19 -2 -11 -17 -11 -11 -19 -12 -11 -12 -2 -11 -11 -21 -22 -19 -12 -12 -19 -2 -13 -18 -19 -19 -12 -19 -2 -11 -12 -12 -19 -10 -11 -19 -2 -11 -12 -17 -12 -12 -11 -2 -2 -11 -18 -19 -11 -11 -11 -11 -19 -12 -19 -2 -17 -11 -19 -16 -11 -11 -16 -18 -11 -11 -11 -19 -11 -19 -13 -19 -12 -10 -11 -12 -17 -14 -18 -18 -19 -10 -14 -18 -19 -19 -10 -12 -2 -19 -9 -11 -15 -19 -19 -18 -10 -11 -11 -13 -11 -9 -12 -11 -19 -11 -10 -19 -19 -9 -11 -13 -19 -19 -14 -12 -19 -11 -12 -11 -11 -19 -19 -12 -12 -12 -11 -19 -10 -13 -19 -19 -19 -10 -12 -11 -19 -19 -17 -19 -18 -11 -13 -18 -19 -12 -18 -2 -19 -19 -12 -12 -11 -2 -16 -17 -11 -11 -12 -2 -12 -18 -12 -19 -19 -17 -10 -10 -19 -18 -10 -11 -2 -10 -2 -11 -19 -11 -11 -11 -2 -17 -11 -18 -11 -17 -11 -11 -2 -11 -19 -11 -18 -19 -2 -11 -19 -19 -18 -19 -11 -11 -19 -19 -19 -11 -11 -19 -11 -19 -19 -17 -19 -11 -11 -19 -11 -9 -19 -11 -11 -19 -19 -19 -18 -19 -19 -18 -19 -11 -11 -2 -19 -11 -19 -19 -19 -17 -11 -19 -19 -2 -11 -11 -19 -12 -11 -19 -14 -19 -17 -19 -18 -11 -2 -19 -19 -19 -2 -19 -19 -19 -2 -19 -11 -2 -19 -11 -19 -19 -19 -18 -19 -19 -2 -2 -19 -2 -19 -11 -19 -11 -11 -19 -2 -2 -11 -19 -19 -11 -11 -18 -19 -19 -19 -19 -11 -11 -2 -19 -19 -19 -19 -19 -11 -11 -2 -2 -2 -19 -19 -11 -11 -19 -2 -18 -11 -19 -19 -19 -19 -19 -10 -2 -19 -11 -11 -19 -19 -18 -18 -19 -2 -16 -19 -2 -19 -2 -12 -11 -19 -11 -11 -19 -19 -11 -11 -19 -16 -19 -19 -17 -19 -2 -19 -19 -11 -19 -11 -19 -2 -14 -19 -11 -19 -19 -19 -11 -19 -11 -2 -19 -19 -19 -19 -19 -2 -19 -19 -19 -19 -2 -18 -19 -19 -18 -19 -11 -12 -19 -17 -2 -11 -19 -19 -10 -18 -19 -11 -19 -2 -11 -19 -10 -19 -11 -19 -19 -19 -2 -19 -10 -2 -19 -2 -13 -19 -19 -19 -19 -19 -11 -19 -2 -19 -2 -19 -19 -19 -19 -19 -2 -19 -2 -10 -19 -19 -18 -11 -19 -17 -18 -2 -11 -18 -11 -2 -19 -11 -2 -11 -2 -11 -11 -19 -19 -19 -19 -19 -19 -13 -19 -11 -19 -2 -18 -11 -18 -2 -2 -2 -11 -19 -19 -12 -11 -19 -11 -19 -2 -2 -19 -19 -19 -18 -19 -2 -2 -19 -19 -18 -11 -19 -11 -2 -19 -11 -11 -19 -19 -19 -2 -19 -9 -11 -19 -11 -18 -2 -19 -19 -10 -19 -19 -11 -19 -2 -11 -19 -19 -19 -19 -19 -19 -10 -19 -19 -19 -19 -2 -19 -2 -11 -19 -2 -11 -11 -11 -19 -19 -11 -2 -19 -19 -2 -19 -19 -19 -19 -2 -2 -19 -2 -19 -19 -19 -2 -11 -19 -11 -11 -19 -19 -19 -2 -19 -2 -2 -19 -19 -11 -19 -2 -19 -11 -10 -18 -19 -19 -18 -19 -19 -11 -19 -2 -19 -12 -19 -19 -11 -11 -19 -10 -19 -2 -11 -19 -11 -19 -2 -11 -11 -11 -2 -19 -11 -19 -18 -11 -11 -19 -11 -2 -19 -11 -2 -19 -19 -19 -2 -19 -2 -19 -18 -19 -17 -2 -18 -19 -2 -19 -11 -11 -11 -11 -19 -18 -11 -2 -19 -19 -2 -19 -19 -19 -11 -19 -11 -2 -2 -19 -10 -11 -19 -16 -11 -11 -2 -19 -19 -18 -19 -18 -2 -18 -17 -19 -11 -19 -12 -19 -12 -19 -12 -19 -9 -11 -12 -2 -19 -19 -19 -11 -19 -19 -11 -19 -2 -11 -11 -19 -19 -11 -19 -2 -18 -19 -16 -19 -2 -19 -11 -19 -19 -10 -11 -13 -11 -19 -11 -18 -11 -2 -19 -2 -19 -18 -11 -2 -2 -11 -19 -10 -19 -16 -19 -11 -19 -11 -19 -11 -19 -19 -12 -12 -11 -19 -18 -11 -19 -2 -2 -2 -19 -18 -19 -19 -11 -19 -19 -19 -2 -19 -11 -11 -2 -11 -19 -18 -19 -2 -19 -11 -11 -19 -2 -11 -11 -19 -19 -18 -2 -19 -2 -19 -11 -12 -19 -19 -2 -19 -19 -19 -2 -19 -18 -2 -11 -19 -2 -17 -11 -2 -18 -19 -2 -19 -11 -19 -19 -19 -19 -2 -11 -19 -19 -19 -19 -19 -19 -19 -11 -18 -19 -2 -17 -19 -2 -11 -19 -19 -11 -11 -2 -17 -18 -11 -19 -11 -19 -19 -17 -11 -19 -19 -11 -11 -19 -11 -18 -11 -19 -19 -11 -19 -19 -18 -19 -11 -19 -2 -18 -19 -2 -19 -11 -2 -19 -19 -11 -19 -2 -19 -18 -19 -19 -2 -2 -19 -19 -11 -19 -2 -19 -11 -2 -18 -19 -11 -11 -11 -18 -19 -19 -2 -11 -2 -2 -18 -2 -19 -2 -2 -11 -18 -19 -2 -2 -11 -19 -13 -11 -19 -11 -19 -19 -2 -11 -19 -11 -11 -19 -16 -19 -2 -19 -18 -19 -19 -12 -11 -11 -19 -17 -11 -2 -19 -11 -19 -11 -2 -19 -2 -11 -19 -19 -19 -11 -19 -17 -12 -19 -19 -18 -19 -2 -18 -19 -2 -19 -19 -11 -19 -18 -19 -11 -18 -19 -16 -2 -19 -11 -19 -11 -19 -11 -19 -2 -19 -19 -17 -19 -11 -11 -19 -19 -11 -19 -19 -12 -12 -19 -2 -19 -17 -10 -19 -19 -11 -19 -19 -19 -18 -19 -2 -11 -11 -19 -2 -10 -11 -2 -19 -11 -19 -19 -11 -19 -2 -11 -19 -19 -19 -18 -19 -2 -19 -12 -10 -12 -2 -19 -19 -11 -19 -19 -18 -2 -19 -18 -17 -18 -12 -2 -19 -11 -10 -11 -2 -11 -12 -19 -19 -14 -2 -19 -11 -11 -19 -19 -11 -18 -19 -12 -12 -19 -18 -18 -2 -11 -11 -2 -19 -19 -11 -19 -10 -18 -18 -11 -11 -19 -12 -11 -18 -11 -11 -11 -2 -2 -19 -11 -12 -18 -19 -19 -14 -12 -18 -19 -11 -12 -19 -11 -11 -2 -19 -18 -13 -19 -11 -19 -16 -11 -17 -11 -19 -11 -19 -11 -18 -10 -10 -11 -11 -19 -17 -19 -17 -11 -2 -19 -19 -2 -12 -11 -19 -19 -19 -18 -16 -19 -12 -11 -10 -11 -11 -11 -17 -11 -19 -13 -2 -19 -11 -11 -11 -2 -16 -2 -19 -19 -17 -2 -18 -11 -12 -19 -2 -17 -11 -11 -11 -11 -11 -12 -19 -11 -19 -18 -10 -19 -11 -19 -11 -19 -11 -19 -11 -17 -11 -17 -12 -17 -11 -11 -18 -19 -19 -9 -11 -2 -19 -19 -16 -2 -19 -11 -14 -19 -12 -19 -19 -17 -13 -15 -19 -19 -12 -19 -2 -2 -16 -19 -19 -11 -12 -18 -12 -12 -19 -15 -16 -11 -2 -11 -11 -16 -11 -11 -17 -11 -18 -17 -2 -10 -12 -11 -19 -19 -2 -2 -2 -19 -13 -19 -2 -14 -13 -19 -19 -10 -19 -11 -19 -11 -2 -19 -11 -11 -19 -19 -9 -11 -11 -19 -12 -12 -11 -19 -11 -15 -2 -2 -18 -11 -19 -17 -19 -19 -10 -11 -19 -11 -10 -12 -2 -15 -13 -17 -18 -11 -13 -2 -11 -19 -11 -11 -11 -16 -12 -2 -2 -11 -11 -12 -11 -19 -12 -11 -11 -12 -11 -19 -2 -12 -17 -11 -11 -11 -16 -19 -12 -11 -19 -19 -12 -19 -19 -11 -16 -19 -19 -19 -12 -19 -12 -11 -11 -11 -14 -11 -2 -19 -11 -11 -11 -10 -11 -16 -11 -2 -10 -11 -17 -10 -19 -10 -11 -11 -17 -16 -19 -16 -11 -11 -17 -11 -11 -19 -10 -19 -19 -19 -19 -11 -12 -18 -19 -10 -19 -19 -11 -19 -19 -11 -2 -19 -19 -11 -19 -19 -17 -18 -18 -2 -11 -11 -11 -19 -13 -11 -11 -18 -10 -12 -17 -18 -11 -18 -11 -11 -19 -9 -17 -2 -2 -11 -11 -17 -2 -11 -18 -11 -13 -19 -19 -11 -10 -13 -17 -19 -19 -19 -19 -11 -10 -11 -11 -11 -19 -13 -16 -19 -12 -12 -19 -19 -11 -19 -19 -16 -17 -14 -19 -19 -15 -19 -2 -19 -19 -19 -18 -19 -2 -19 -19 -2 -2 -2 -19 -11 -19 -19 -11 -19 -2 -11 -11 -19 -19 -18 -19 -2 -2 -19 -19 -16 -19 -19 -19 -19 -2 -19 -19 -11 -19 -19 -2 -19 -19 -12 -12 -19 -19 -17 -11 -19 -19 -19 -19 -19 -19 -19 -11 -11 -19 -11 -2 -19 -2 -19 -19 -11 -11 -11 -11 -19 -2 -19 -11 -11 -2 -19 -19 -19 -19 -19 -2 -19 -11 -11 -11 -19 -19 -19 -19 -19 -19 -19 -18 -2 -11 -12 -12 -2 -19 -18 -2 -19 -19 -11 -19 -19 -19 -19 -19 -11 -19 -19 -19 -19 -19 -11 -19 -19 -19 -11 -12 -11 -2 -19 -11 -2 -19 -17 -19 -11 -2 -19 -17 -19 -11 -18 -19 -12 -2 -19 -18 -12 -19 -11 -2 -16 -19 -11 -11 -19 -19 -19 -11 -2 -19 -18 -19 -19 -19 -2 -11 -19 -19 -18 -19 -19 -19 -11 -11 -11 -11 -19 -19 -11 -2 -18 -19 -18 -19 -19 -11 -19 -19 -19 -11 -2 -19 -11 -11 -12 -2 -11 -19 -19 -11 -19 -19 -11 -19 -18 -11 -2 -19 -11 -19 -19 -2 -19 -10 -11 -11 -11 -19 -11 -2 -19 -19 -19 -19 -19 -2 -19 -18 -19 -19 -11 -19 -19 -18 -19 -17 -11 -19 -19 -2 -11 -19 -19 -19 -18 -10 -2 -19 -19 -2 -11 -19 -11 -19 -19 -19 -19 -2 -19 -19 -2 -19 -19 -19 -2 -10 -18 -2 -11 -19 -19 -11 -19 -19 -19 -11 -2 -11 -19 -19 -19 -19 -19 -11 -19 -19 -2 -19 -2 -19 -19 -19 -19 -11 -2 -2 -2 -11 -11 -19 -11 -17 -2 -19 -19 -18 -19 -16 -19 -19 -11 -11 -19 -19 -11 -11 -19 -11 -19 -11 -19 -11 -19 -11 -2 -11 -19 -19 -11 -19 -19 -11 -2 -19 -11 -19 -14 -13 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -20 -21 -4 -4 -4 -4 -13 -21 -21 -12 -11 -19 -18 -17 -12 -19 -11 -19 -19 -11 -13 -18 -19 -10 -18 -11 -19 -11 -10 -11 -11 -16 -18 -10 -2 -19 -2 -10 -19 -11 -11 -2 -19 -14 -16 -19 -12 -11 -19 -19 -11 -11 -11 -19 -19 -19 -2 -2 -12 -18 -2 -19 -12 -18 -11 -11 -11 -19 -11 -11 -18 -19 -18 -11 -11 -18 -19 -18 -2 -2 -11 -2 -19 -2 -10 -19 -11 -19 -17 -12 -18 -2 -10 -11 -11 -19 -19 -11 -17 -19 -19 -19 -11 -12 -19 -12 -11 -19 -19 -11 -10 -19 -19 -19 -15 -18 -19 -11 -10 -17 -11 -19 -9 -12 -19 -13 -9 -19 -19 -11 -18 -2 -19 -19 -10 -19 -2 -2 -17 -16 -11 -2 -19 -11 -11 -11 -2 -2 -19 -11 -18 -19 -19 -19 -11 -11 -2 -19 -10 -13 -11 -19 -11 -18 -12 -18 -19 -2 -19 -11 -19 -2 -2 -11 -11 -11 -11 -18 -11 -11 -11 -2 -10 -19 -18 -18 -12 -19 -19 -10 -18 -19 -11 -19 -11 -11 -11 -11 -19 -19 -18 -11 -18 -19 -11 -19 -2 -13 -19 -19 -11 -10 -19 -11 -11 -11 -12 -18 -11 -19 -19 -11 -11 -2 -11 -19 -10 -11 -17 -12 -11 -18 -2 -19 -11 -11 -11 -19 -11 -10 -2 -18 -17 -16 -2 -11 -19 -18 -14 -12 -11 -2 -19 -2 -11 -11 -18 -19 -11 -11 -19 -2 -12 -11 -2 -18 -11 -19 -11 -2 -18 -2 -19 -2 -18 -19 -2 -19 -13 -9 -2 -19 -11 -16 -11 -19 -19 -11 -19 -19 -11 -18 -11 -2 -2 -11 -19 -11 -12 -18 -11 -16 -2 -12 -18 -17 -16 -11 -18 -2 -11 -10 -2 -10 -18 -19 -11 -11 -18 -2 -19 -11 -10 -11 -19 -13 -17 -11 -2 -2 -19 -18 -14 -19 -19 -19 -16 -12 -19 -2 -13 -15 -19 -19 -17 -11 -2 -19 -19 -19 -18 -11 -11 -19 -11 -11 -18 -11 -11 -10 -2 -19 -16 -18 -19 -19 -19 -12 -19 -2 -2 -19 -11 -19 -19 -19 -17 -19 -19 -11 -12 -11 -2 -19 -11 -11 -11 -11 -19 -2 -11 -19 -18 -2 -11 -2 -11 -11 -12 -11 -19 -11 -18 -11 -11 -11 -2 -11 -11 -11 -19 -19 -10 -11 -2 -19 -12 -12 -18 -2 -17 -11 -11 -11 -19 -19 -19 -16 -18 -11 -19 -19 -11 -16 -12 -19 -19 -17 -18 -19 -19 -11 -11 -11 -11 -17 -11 -18 -19 -11 -11 -10 -2 -19 -17 -18 -11 -19 -11 -11 -19 -19 -19 -10 -19 -11 -19 -11 -11 -19 -11 -11 -11 -12 -2 -19 -10 -11 -11 -10 -11 -19 -19 -19 -2 -19 -17 -17 -11 -19 -12 -11 -2 -19 -19 -11 -2 -19 -11 -11 -19 -2 -19 -12 -11 -19 -10 -11 -19 -11 -11 -19 -11 -12 -11 -19 -19 -11 -19 -16 -11 -10 -2 -11 -19 -17 -2 -2 -11 -19 -19 -19 -11 -11 -12 -11 -12 -18 -11 -11 -19 -19 -15 -19 -2 -17 -18 -19 -11 -11 -11 -11 -11 -11 -18 -12 -18 -19 -11 -19 -11 -19 -11 -2 -12 -19 -16 -11 -11 -11 -11 -11 -11 -12 -11 -11 -2 -11 -19 -11 -11 -10 -16 -11 -10 -11 -2 -11 -18 -11 -11 -19 -19 -19 -17 -2 -10 -11 -19 -19 -11 -18 -14 -18 -19 -11 -19 -18 -19 -19 -16 -11 -18 -19 -11 -17 -19 -18 -11 -12 -11 -18 -19 -2 -19 -19 -2 -17 -11 -11 -18 -18 -14 -11 -11 -18 -11 -16 -19 -16 -19 -7 -2 -19 -11 -11 -19 -11 -19 -19 -15 -19 -11 -19 -9 -19 -12 -19 -18 -11 -15 -13 -11 -12 -19 -11 -18 -11 -11 -11 -19 -18 -12 -19 -11 -11 -12 -10 -11 -11 -11 -12 -17 -11 -10 -19 -11 -2 -12 -12 -19 -19 -18 -17 -11 -11 -18 -11 -11 -11 -11 -10 -11 -19 -11 -19 -19 -2 -11 -2 -19 -11 -11 -11 -18 -2 -19 -10 -11 -19 -19 -19 -17 -2 -19 -19 -12 -11 -12 -11 -17 -13 -19 -18 -10 -11 -2 -11 -11 -19 -12 -19 -17 -2 -19 -18 -18 -11 -2 -18 -19 -2 -19 -11 -11 -11 -19 -11 -11 -19 -19 -19 -19 -19 -18 -19 -2 -19 -19 -11 -10 -19 -19 -18 -11 -11 -18 -18 -19 -17 -18 -11 -19 -17 -19 -19 -11 -19 -11 -14 -12 -11 -19 -18 -11 -17 -19 -17 -10 -11 -10 -11 -10 -16 -19 -18 -12 -19 -2 -12 -11 -12 -12 -15 -19 -19 -19 -18 -19 -19 -19 -19 -19 -19 -13 -13 -13 -18 -19 -18 -17 -11 -18 -19 -10 -19 -16 -19 -11 -12 -19 -19 -10 -19 -19 -17 -19 -19 -2 -19 -19 -19 -19 -19 -19 -2 -19 -2 -19 -2 -11 -11 -19 -19 -2 -17 -11 -19 -19 -11 -11 -11 -11 -19 -19 -19 -19 -11 -11 -19 -19 -18 -19 -11 -11 -19 -19 -11 -11 -19 -11 -19 -2 -19 -2 -11 -19 -19 -19 -11 -13 -10 -19 -19 -11 -2 -19 -18 -19 -19 -11 -19 -19 -12 -19 -19 -19 -19 -11 -2 -19 -11 -12 -19 -2 -19 -10 -19 -19 -18 -19 -19 -11 -19 -19 -11 -19 -2 -19 -11 -19 -19 -19 -18 -2 -11 -2 -2 -11 -19 -19 -2 -11 -19 -19 -19 -19 -11 -2 -18 -19 -11 -2 -19 -11 -18 -19 -17 -19 -11 -2 -19 -10 -2 -2 -2 -11 -11 -19 -19 -11 -2 -19 -19 -2 -18 -18 -19 -19 -11 -18 -19 -11 -11 -19 -19 -2 -19 -19 -19 -19 -18 -18 -10 -2 -19 -19 -16 -19 -11 -2 -11 -19 -19 -19 -19 -19 -19 -2 -18 -19 -19 -19 -11 -19 -11 -2 -19 -19 -19 -19 -11 -11 -12 -19 -12 -19 -19 -19 -11 -19 -10 -11 -19 -17 -19 -11 -11 -19 -19 -2 -19 -19 -2 -11 -19 -17 -19 -12 -11 -19 -19 -11 -19 -2 -19 -2 -2 -11 -11 -11 -19 -11 -17 -19 -17 -19 -19 -19 -11 -11 -19 -11 -11 -2 -19 -11 -2 -19 -17 -11 -2 -19 -19 -19 -19 -19 -18 -2 -11 -19 -19 -19 -19 -19 -19 -19 -19 -2 -2 -19 -19 -19 -19 -2 -19 -11 -19 -11 -12 -19 -19 -19 -19 -19 -2 -19 -19 -2 -19 -10 -19 -11 -19 -2 -17 -19 -19 -11 -10 -11 -19 -19 -18 -19 -2 -18 -19 -11 -19 -18 -19 -19 -18 -19 -18 -19 -19 -19 -19 -2 -19 -19 -19 -19 -19 -11 -11 -11 -19 -19 -19 -11 -2 -19 -19 -2 -19 -17 -2 -19 -18 -11 -19 -19 -18 -19 -2 -11 -19 -2 -2 -19 -18 -19 -11 -11 -2 -19 -11 -19 -18 -2 -19 -18 -19 -19 -11 -11 -19 -19 -19 -16 -2 -19 -11 -2 -2 -19 -19 -19 -11 -2 -19 -19 -19 -11 -19 -19 -2 -19 -2 -11 -19 -11 -2 -19 -19 -11 -19 -19 -2 -2 -19 -11 -2 -19 -19 -19 -19 -10 -11 -11 -19 -19 -2 -19 -19 -19 -19 -19 -11 -18 -19 -19 -18 -19 -19 -11 -19 -19 -11 -11 -11 -2 -11 -12 -19 -19 -19 -19 -19 -19 -19 -19 -19 -2 -17 -2 -19 -12 -2 -19 -17 -19 -11 -18 -19 -19 -17 -11 -11 -17 -19 -19 -19 -19 -19 -11 -19 -19 -19 -19 -18 -19 -19 -19 -19 -2 -19 -19 -19 -19 -19 -11 -19 -11 -11 -11 -19 -11 -19 -17 -2 -19 -11 -19 -11 -11 -19 -2 -18 -11 -19 -19 -18 -11 -19 -2 -2 -12 -12 -19 -11 -19 -19 -18 -19 -19 -19 -19 -19 -19 -19 -2 -17 -19 -11 -19 -2 -19 -2 -19 -11 -19 -11 -11 -12 -19 -19 -16 -2 -19 -2 -19 -2 -19 -18 -19 -19 -19 -19 -19 -11 -19 -18 -11 -19 -19 -11 -11 -18 -2 -19 -18 -19 -11 -11 -11 -19 -19 -19 -18 -11 -2 -19 -19 -19 -19 -2 -19 -2 -19 -19 -19 -11 -19 -11 -19 -19 -11 -2 -19 -19 -19 -11 -18 -19 -19 -19 -19 -19 -2 -19 -2 -19 -2 -19 -19 -17 -19 -19 -11 -11 -19 -19 -19 -11 -19 -11 -19 -11 -11 -18 -19 -19 -18 -11 -19 -19 -11 -19 -2 -11 -19 -19 -19 -19 -2 -19 -17 -19 -2 -11 -18 -11 -13 -11 -19 -19 -11 -11 -19 -16 -19 -2 -19 -2 -19 -19 -11 -19 -19 -11 -19 -11 -19 -2 -16 -11 -19 -11 -19 -19 -19 -11 -11 -19 -11 -19 -19 -11 -19 -19 -19 -19 -19 -11 -19 -19 -11 -2 -18 -19 -11 -11 -11 -19 -19 -18 -19 -19 -2 -19 -19 -11 -2 -19 -19 -19 -11 -11 -19 -19 -19 -11 -19 -2 -2 -11 -11 -19 -11 -11 -2 -19 -11 -11 -19 -11 -2 -16 -11 -19 -19 -2 -11 -2 -19 -11 -11 -19 -19 -2 -2 -19 -19 -2 -19 -11 -11 -18 -19 -19 -19 -19 -11 -19 -10 -19 -19 -19 -10 -11 -12 -11 -19 -11 -19 -18 -18 -19 -2 -2 -19 -19 -2 -11 -19 -19 -19 -11 -19 -17 -19 -11 -2 -19 -2 -2 -19 -19 -19 -19 -19 -11 -19 -19 -19 -19 -19 -11 -19 -2 -11 -2 -19 -19 -18 -19 -19 -11 -13 -2 -19 -11 -11 -19 -19 -2 -19 -11 -12 -19 -11 -18 -19 -10 -19 -19 -17 -2 -19 -19 -11 -11 -19 -11 -11 -19 -10 -2 -19 -17 -19 -2 -19 -19 -18 -2 -11 -2 -19 -19 -18 -19 -19 -19 -2 -19 -19 -19 -2 -11 -19 -19 -19 -2 -11 -2 -19 -19 -11 -11 -11 -19 -2 -19 -19 -11 -19 -19 -11 -19 -11 -11 -19 -19 -11 -2 -11 -13 -19 -18 -19 -18 -11 -11 -2 -19 -19 -19 -11 -19 -19 -2 -19 -19 -18 -18 -19 -19 -19 -11 -19 -19 -19 -11 -19 -19 -11 -11 -11 -10 -19 -19 -19 -18 -19 -12 -19 -19 -19 -17 -11 -19 -2 -19 -2 -10 -2 -2 -2 -2 -19 -19 -2 -19 -19 -11 -2 -19 -19 -19 -11 -2 -11 -18 -19 -19 -19 -11 -11 -19 -11 -19 -11 -19 -11 -10 -2 -19 -17 -2 -19 -11 -18 -19 -19 -11 -2 -19 -19 -19 -11 -18 -19 -19 -2 -11 -11 -2 -19 -19 -11 -2 -19 -19 -19 -11 -19 -19 -11 -2 -2 -19 -11 -19 -19 -19 -2 -19 -18 -18 -19 -19 -11 -18 -19 -19 -2 -2 -19 -2 -19 -11 -19 -11 -19 -19 -19 -18 -19 -19 -19 -19 -19 -2 -11 -19 -19 -19 -19 -19 -19 -19 -2 -10 -16 -19 -11 -11 -19 -19 -19 -19 -19 -19 -19 -19 -19 -2 -19 -19 -2 -11 -15 -19 -19 -2 -19 -19 -19 -2 -18 -19 -2 -11 -12 -19 -18 -19 -11 -11 -19 -11 -11 -2 -19 -18 -2 -19 -12 -2 -19 -13 -2 -19 -11 -2 -19 -18 -11 -19 -19 -19 -19 -18 -11 -19 -2 -10 -2 -19 -18 -11 -19 -11 -19 -19 -19 -9 -11 -11 -19 -19 -2 -17 -2 -19 -10 -19 -17 -19 -10 -19 -19 -19 -2 -11 -19 -19 -10 -10 -11 -19 -11 -19 -19 -19 -19 -19 -19 -2 -19 -11 -19 -2 -19 -11 -19 -2 -18 -11 -19 -19 -19 -12 -13 -12 -19 -16 -19 -17 -19 -19 -2 -19 -12 -2 -19 -2 -2 -19 -9 -19 -17 -2 -19 -12 -17 -19 -11 -11 -2 -19 -18 -11 -2 -19 -11 -2 -19 -19 -19 -19 -19 -11 -2 -11 -19 -11 -19 -11 -17 -19 -19 -18 -19 -2 -19 -19 -11 -13 -11 -19 -19 -11 -19 -19 -11 -11 -19 -11 -19 -2 -19 -19 -19 -18 -19 -19 -11 -18 -21 -13 -16 -18 -18 -18 -18 -18 -18 -0 -2 -6 -2 -2 -0 -4 -2 -2 -2 -2 -2 -10 -12 -3 -2 -8 -4 -3 -3 -3 -7 -3 -8 -3 -5 -3 -2 -30 -11 -9 -16 -19 -11 -10 -10 -17 -2 -11 -19 -12 -12 -10 -11 -11 -10 -18 -13 -11 -17 -12 -10 -17 -13 -2 -19 -11 -9 -14 -12 -11 -12 -15 -13 -16 -17 -12 -11 -12 -13 -11 -9 -11 -12 -12 -11 -13 -11 -12 -11 -12 -12 -10 -11 -11 -11 -17 -12 -12 -12 -12 -10 -12 -13 -12 -11 -10 -13 -10 -17 -11 -11 -18 -10 -12 -11 -12 -19 -12 -12 -15 -13 -11 -19 -11 -12 -10 -8 -16 -12 -11 -11 -13 -11 -10 -19 -12 -10 -17 -17 -13 -14 -11 -12 -10 -11 -12 -13 -16 -19 -19 -17 -11 -13 -11 -12 -10 -9 -11 -14 -19 -17 -12 -15 -12 -9 -13 -12 -12 -11 -13 -13 -11 -12 -12 -19 -10 -9 -17 -10 -11 -17 -11 -11 -11 -2 -17 -11 -11 -13 -11 -12 -10 -14 -17 -17 -19 -13 -12 -15 -11 -12 -12 -11 -11 -12 -11 -11 -19 -17 -10 -9 -13 -19 -10 -14 -11 -19 -17 -17 -11 -12 -10 -12 -10 -16 -11 -12 -19 -11 -11 -19 -12 -12 -12 -11 -16 -17 -10 -17 -19 -18 -17 -11 -11 -10 -12 -11 -2 -11 -11 -15 -14 -11 -17 -11 -2 -12 -10 -19 -17 -2 -19 -11 -11 -17 -11 -19 -11 -2 -16 -12 -9 -9 -11 -15 -17 -11 -11 -11 -12 -17 -10 -15 -12 -12 -11 -12 -14 -9 -17 -9 -19 -13 -11 -12 -9 -17 -11 -11 -19 -17 -10 -11 -17 -11 -10 -19 -10 -12 -12 -10 -14 -13 -11 -12 -7 -11 -16 -13 -10 -12 -10 -12 -11 -14 -17 -9 -11 -13 -11 -12 -12 -19 -12 -11 -11 -13 -9 -10 -11 -11 -16 -17 -17 -7 -10 -10 -11 -13 -13 -11 -2 -10 -19 -19 -12 -19 -19 -17 -19 -11 -17 -11 -10 -13 -12 -11 -10 -10 -13 -11 -11 -10 -13 -11 -17 -11 -11 -19 -17 -11 -11 -10 -19 -2 -17 -19 -12 -13 -7 -13 -14 -17 -11 -15 -19 -11 -11 -17 -18 -19 -12 -2 -18 -17 -19 -11 -18 -13 -15 -13 -12 -9 -10 -2 -18 -16 -11 -6 -11 -11 -11 -11 -16 -19 -19 -11 -19 -18 -10 -19 -19 -19 -12 -13 -12 -11 -12 -10 -11 -17 -15 -9 -15 -12 -14 -12 -11 -11 -14 -11 -10 -12 -11 -11 -10 -11 -11 -12 -19 -11 -10 -13 -11 -12 -14 -11 -13 -13 -11 -12 -14 -17 -11 -10 -11 -12 -11 -11 -11 -11 -2 -12 -12 -13 -13 -17 -14 -13 -12 -19 -11 -11 -11 -13 -13 -10 -13 -11 -11 -12 -13 -11 -11 -11 -2 -11 -18 -11 -11 -11 -11 -11 -19 -9 -18 -11 -13 -12 -13 -11 -9 -2 -19 -10 -18 -18 -11 -11 -11 -19 -19 -19 -18 -10 -11 -10 -12 -11 -10 -12 -10 -19 -2 -18 -11 -10 -10 -2 -11 -16 -15 -17 -19 -17 -11 -11 -17 -12 -8 -11 -19 -12 -14 -12 -14 -11 -12 -10 -19 -11 -19 -17 -10 -18 -19 -2 -18 -15 -19 -11 -19 -12 -15 -10 -13 -13 -12 -11 -13 -11 -11 -11 -11 -19 -11 -11 -16 -18 -11 -11 -2 -11 -18 -2 -11 -13 -7 -11 -9 -14 -13 -12 -15 -19 -19 -11 -15 -19 -19 -11 -10 -11 -17 -12 -13 -13 -13 -11 -17 -11 -12 -14 -15 -11 -11 -13 -11 -11 -12 -11 -11 -11 -19 -10 -17 -11 -11 -18 -11 -11 -10 -10 -15 -12 -11 -11 -13 -10 -13 -11 -10 -12 -12 -11 -10 -11 -10 -11 -16 -10 -15 -13 -18 -11 -11 -11 -10 -12 -14 -12 -12 -14 -12 -9 -13 -11 -10 -10 -11 -11 -11 -12 -14 -9 -10 -10 -18 -11 -14 -14 -9 -11 -10 -15 -9 -12 -11 -10 -16 -11 -10 -14 -12 -12 -13 -11 -11 -11 -2 -11 -17 -13 -11 -11 -15 -18 -18 -19 -19 -19 -13 -12 -17 -12 -12 -19 -12 -11 -17 -10 -11 -12 -18 -11 -12 -12 -12 -12 -18 -10 -19 -11 -18 -11 -12 -17 -11 -18 -11 -13 -12 -15 -14 -11 -10 -14 -10 -19 -19 -11 -13 -8 -2 -2 -16 -11 -11 -13 -10 -13 -13 -10 -14 -11 -11 -10 -18 -11 -11 -12 -13 -11 -11 -9 -13 -10 -11 -10 -11 -11 -19 -10 -12 -11 -10 -10 -13 -13 -11 -19 -11 -13 -12 -11 -12 -10 -12 -12 -17 -11 -9 -12 -16 -12 -12 -2 -12 -11 -16 -16 -11 -13 -11 -12 -2 -11 -14 -10 -11 -17 -16 -12 -19 -19 -17 -11 -11 -11 -9 -14 -11 -11 -11 -11 -11 -15 -11 -14 -12 -10 -16 -11 -12 -11 -11 -15 -12 -11 -16 -11 -11 -12 -12 -13 -8 -10 -19 -11 -17 -12 -13 -12 -8 -17 -13 -15 -17 -7 -9 -17 -10 -16 -6 -10 -12 -15 -16 -11 -5 -13 -9 -13 -5 -9 -9 -5 -9 -4 -3 -13 -7 -3 -3 -14 -4 -13 -4 -4 -14 -19 -19 -15 -14 -19 -11 -16 -15 -14 -18 -9 -5 -4 -13 -4 -12 -3 -13 -13 -2 -17 -13 -14 -19 -10 -12 -9 -6 -15 -5 -5 -15 -4 -13 -4 -13 -4 -4 -13 -4 -13 -3 -4 -13 -4 -13 -3 -2 -13 -4 -13 -4 -3 -4 -13 -3 -3 -13 -3 -3 -13 -4 -13 -3 -4 -13 -2 -4 -14 -13 -14 -19 -10 -15 -13 -14 -19 -10 -13 -11 -10 -15 -5 -6 -13 -4 -13 -4 -13 -3 -2 -13 -4 -13 -3 -2 -10 -3 -2 -13 -3 -2 -13 -4 -13 -3 -4 -13 -4 -13 -4 -2 -3 -13 -3 -3 -13 -3 -4 -13 -3 -2 -12 -3 -4 -13 -4 -13 -2 -2 -13 -14 -19 -19 -15 -13 -19 -19 -15 -12 -15 -5 -4 -13 -4 -13 -3 -13 -13 -19 -17 -13 -13 -19 -17 -11 -7 -7 -15 -5 -5 -15 -6 -15 -4 -13 -3 -4 -13 -4 -13 -3 -2 -13 -3 -2 -13 -3 -3 -13 -3 -12 -8 -3 -3 -13 -2 -2 -13 -4 -4 -13 -3 -13 -11 -3 -2 -13 -3 -12 -9 -14 -19 -15 -14 -19 -15 -13 -19 -15 -13 -19 -13 -12 -18 -8 -17 -8 -17 -8 -16 -6 -15 -6 -15 -6 -15 -6 -15 -4 -4 -14 -6 -15 -6 -15 -6 -16 -6 -15 -6 -15 -4 -4 -14 -6 -15 -6 -15 -6 -15 -5 -15 -6 -15 -4 -13 -10 -6 -15 -6 -15 -4 -6 -15 -6 -15 -6 -15 -4 -13 -9 -6 -15 -6 -15 -6 -15 -6 -15 -6 -15 -3 -4 -14 -13 -13 -19 -17 -13 -13 -19 -17 -12 -9 -6 -15 -5 -5 -15 -6 -13 -4 -13 -3 -3 -13 -4 -13 -3 -3 -13 -3 -2 -13 -3 -2 -13 -4 -13 -3 -4 -13 -3 -13 -3 -4 -13 -4 -2 -2 -2 -11 -5 -3 -0 -2 -11 -5 -4 -4 -3 -2 -2 -2 -11 -7 -5 -2 -2 -12 -11 -9 -5 -4 -4 -3 -2 -2 -11 -5 -2 -2 -12 -11 -9 -5 -4 -4 -3 -2 -2 -2 -11 -9 -2 -0 -0 -11 -7 -5 -4 -4 -4 -3 -2 -2 -12 -11 -9 -7 -3 -2 -2 -12 -11 -9 -5 -4 -4 -3 -2 -0 -12 -11 -8 -5 -2 -0 -12 -11 -9 -5 -4 -4 -3 -2 -2 -2 -11 -7 -5 -3 -2 -2 -11 -6 -4 -4 -3 -2 -2 -2 -11 -5 -3 -2 -2 -11 -7 -5 -4 -4 -3 -2 -2 -2 -12 -11 -9 -5 -2 -2 -11 -8 -4 -4 -3 -2 -2 -12 -11 -9 -5 -2 -2 -12 -11 -5 -4 -4 -3 -2 -12 -11 -9 -3 -2 -2 -11 -9 -7 -4 -4 -4 -3 -2 -2 -11 -9 -6 -3 -2 -2 -11 -7 -4 -4 -4 -3 -0 -0 -11 -9 -5 -2 -2 -2 -2 -11 -5 -4 -4 -3 -2 -2 -12 -11 -7 -3 -2 -2 -11 -10 -4 -4 -3 -2 -2 -11 -5 -3 -2 -2 -11 -7 -4 -4 -4 -3 -2 -2 -12 -11 -5 -3 -2 -2 -12 -11 -9 -5 -4 -4 -3 -2 -2 -11 -7 -3 -2 -2 -11 -5 -4 -4 -4 -3 -2 -2 -12 -11 -7 -3 -2 -2 -11 -9 -4 -4 -3 -2 -2 -11 -4 -3 -2 -2 -11 -9 -7 -4 -4 -4 -3 -2 -2 -11 -5 -3 -2 -2 -11 -7 -4 -4 -4 -3 -2 -2 -12 -11 -7 -3 -2 -2 -11 -9 -7 -5 -4 -4 -3 -2 -2 -12 -11 -8 -5 -3 -2 -2 -11 -7 -4 -4 -4 -3 -2 -2 -11 -7 -3 -2 -2 -2 -11 -5 -4 -4 -3 -2 -2 -11 -5 -2 -2 -2 -11 -8 -5 -4 -4 -4 -3 -2 -2 -11 -7 -3 -2 -2 -2 -11 -7 -4 -4 -3 -2 -2 -11 -7 -2 -2 -11 -6 -4 -4 -4 -3 -2 -2 -11 -5 -2 -2 -11 -5 -4 -4 -4 -3 -2 -2 -12 -11 -5 -3 -2 -0 -11 -4 -4 -4 -3 -2 -2 -11 -5 -3 -2 -2 -12 -11 -4 -4 -3 -2 -2 -2 -11 -7 -3 -2 -2 -11 -9 -4 -4 -3 -2 -2 -2 -12 -11 -5 -2 -2 -11 -9 -7 -4 -4 -3 -2 -2 -11 -3 -2 -2 -11 -7 -4 -4 -4 -2 -2 -11 -3 -2 -2 -11 -7 -4 -4 -3 -2 -2 -0 -11 -5 -2 -0 -12 -11 -7 -4 -4 -3 -2 -2 -11 -9 -5 -2 -2 -12 -11 -7 -5 -4 -4 -3 -2 -2 -2 -11 -7 -2 -0 -11 -6 -5 -4 -4 -4 -3 -2 -2 -11 -9 -5 -3 -2 -2 -11 -7 -4 -4 -4 -2 -2 -11 -9 -3 -2 -2 -11 -9 -4 -4 -3 -2 -2 -11 -9 -5 -2 -2 -11 -7 -4 -4 -4 -3 -2 -2 -11 -5 -3 -2 -2 -12 -11 -7 -5 -4 -4 -3 -2 -2 -12 -11 -5 -3 -2 -2 -12 -11 -5 -4 -4 -3 -2 -2 -12 -11 -7 -5 -3 -2 -2 -12 -11 -9 -5 -4 -4 -3 -2 -2 -12 -11 -5 -3 -2 -2 -11 -9 -4 -4 -3 -2 -2 -7 -12 -11 -5 -4 -2 -2 -2 -12 -11 -9 -4 -4 -3 -2 -2 -2 Deleted: SwiftApps/SciColSim/plotit =================================================================== --- SwiftApps/SciColSim/plotit 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/plotit 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,42 +0,0 @@ -set terminal png enhanced -#set term postscript eps enhanced -#set terminal svg enhanced size 1000 1000 -#set style line 1 linecolor rgb "blue" -set output "activeplot.png" -set nokey -set xlabel "Time in sec" -set ylabel "number of active jobs" -set title "Active jobs" -plot "plot_active.txt" using 1:2 with line - -set output "cumulativeplot-openmp.png" -set xlabel "Time in seconds" -set ylabel "number of completed jobs" -set title "Cumulative SciColSim-openMP jobs" -plot "plot_cumulative.txt" using 1:($2*24) with lines - -set output "cumulativeplot.png" -set xlabel "Time in seconds" -set ylabel "number of completed jobs" -set title "Cumulative jobs" -plot "plot_cumulative.txt" using 1:2 with lines - -set output "scs.png" -set xlabel "Evolution" -set ylabel "Value of T" -set title "SciColSim evolution Results" -plot "T.data" using 1 with lines - -set output "scs_loss.png" -set title "SciColSim evolution loss Results" -set xlabel "Evolution" -set ylabel "Value of loss(AR)" -plot "anneal.data" using 1 with lines - -set output "multiloss.png" -set title "SciColSim evolution loss Results" -set key auto -set yrange [0:200] -set xlabel "Evolution" -set ylabel "loss" -plot "multiloss.txt" using 3 with lines title "multiloss mean val", "multiloss.txt" using ($3+$4) with lines title "+stddev", "multiloss.txt" using ($3-$4) with lines title "-stddev" Deleted: SwiftApps/SciColSim/sample.swift.output =================================================================== --- SwiftApps/SciColSim/sample.swift.output 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/sample.swift.output 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,528 +0,0 @@ -Swift 0.93 swift-r5483 cog-r3339 - -RunID: 20120130-1217-63kot916 -Progress: time: Mon, 30 Jan 2012 12:17:12 -0600 -multi_loss appCalls=1 -multi_loss: entered: ci=0 cj=0 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.0,50.0,-1.0] -multi_annealing: AR: i=1 ....T = 2.0 -multi_loss: i=1 calling evolve, args=[0,0,4,50,-1,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:16 -0600 Checking status:1 -multi_annealing: AR: initial: 124.861101 +- 3.21017 -multi_loss: returning: ci=0 cj=0 r.loss=124.861101 r.sdev=3.21017 -multi_loss appCalls=1 -multi_annealing: AR: 4.017889129124014 2 -multi_loss: entered: ci=1 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.017889129124014,50.0,-1.0] -multi_loss: i=1 calling evolve, args=[0,0,4.017889129124014,50,-1,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:19 -0600 Checking status:1 Finished successfully:2 -multi_annealing: AR: 124.117401 +- 3.306 -multi_loss: returning: ci=1 cj=2 r.loss=124.117401 r.sdev=3.306 -multi_annealing: AF: best_opt_some.txt: 58.0,124.117401,0.0,0.0,4.017889129124014,50.0,-1.0,3.306 -multi_annealing: AR: 0.3916097778073887 vs 1.0 -math/min: result=1.0 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: Accepting try_x[j], i=1 j=2 -multi_annealing: Accepting try_x[j], i=1 j=2 try_x[j]=4.017889129124014 -multi_annealing: AR: [1][2] Rejection counts: 0.0 0.0 0.0 0.0 0.0 - -multi_annealing: AR: 1 ***** Did accept! 0.0 0.0 4.017889129124014 50.0 -1.0 - -multi_loss appCalls=1 -multi_annealing: AR: 48.711529653164106 3 -multi_loss: entered: ci=1 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.017889129124014,48.711529653164106,-1.0] -multi_loss: i=1 calling evolve, args=[0,0,4.017889129124014,48.711529653164106,-1,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:22 -0600 Checking status:1 Finished successfully:4 -multi_annealing: AR: 125.18271 +- 3.599503 -multi_loss: returning: ci=1 cj=3 r.loss=125.18271 r.sdev=3.599503 -multi_annealing: AF: best_opt_some.txt: 58.0,125.18271,0.0,0.0,4.017889129124014,48.711529653164106,-1.0,3.599503 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.29338527075939624 vs 0.5870445897168992 -math/min: result=0.5870445897168992 -multi_annealing: Accepting try_x[j], i=1 j=3 try_x[j]=48.711529653164106 -multi_annealing: Accepting try_x[j], i=1 j=3 -multi_annealing: AR: 1 ***** Did accept! 0.0 0.0 4.017889129124014 48.711529653164106 -1.0 - -multi_annealing: AR: [1][3] Rejection counts: 0.0 0.0 0.0 0.0 0.0 - -multi_loss appCalls=1 -multi_annealing: AR: -0.0033614536445253362 4 -multi_loss: entered: ci=1 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.017889129124014,48.711529653164106,-0.0033614536445253362] -multi_loss: i=1 calling evolve, args=[0,0,4.017889129124014,48.711529653164106,-0.0033614536445253362,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:26 -0600 Checking status:1 Finished successfully:6 -multi_annealing: AR: 125.933179 +- 3.36805 -multi_loss: returning: ci=1 cj=4 r.loss=125.933179 r.sdev=3.36805 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AF: best_opt_some.txt: 58.0,125.933179,0.0,0.0,4.017889129124014,48.711529653164106,-0.0033614536445253362,3.36805 -multi_annealing: AR: 0.6647548795660121 vs 0.6871281283507249 -math/min: result=0.6871281283507249 -multi_annealing: Accepting try_x[j], i=1 j=4 -multi_annealing: Accepting try_x[j], i=1 j=4 try_x[j]=-0.0033614536445253362 -multi_annealing: AR: 1 ***** Did accept! 0.0 0.0 4.017889129124014 48.711529653164106 -0.0033614536445253362 - -multi_annealing: AR: [1][4] Rejection counts: 0.0 0.0 0.0 0.0 0.0 - -multi_annealing: AR: i=2 ....T = 1.6762121943865207 -multi_loss appCalls=1 -multi_annealing: AR: 5.284753614883805 2 -multi_loss: entered: ci=2 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.711529653164106,-0.0033614536445253362] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.711529653164106,-0.0033614536445253362,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:29 -0600 Checking status:1 Finished successfully:8 -multi_annealing: AR: 126.145367 +- 3.119133 -multi_loss: returning: ci=2 cj=2 r.loss=126.145367 r.sdev=3.119133 -multi_annealing: AF: best_opt_some.txt: 58.0,126.145367,0.0,0.0,5.284753614883805,48.711529653164106,-0.0033614536445253362,3.119133 -multi_annealing: AR: 0.8343453829181197 vs 0.8810967932193764 -math/min: result=0.8810967932193764 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: Accepting try_x[j], i=2 j=2 try_x[j]=5.284753614883805 -multi_annealing: Accepting try_x[j], i=2 j=2 -multi_annealing: AR: 2 ***** Did accept! 0.0 0.0 5.284753614883805 48.711529653164106 -0.0033614536445253362 - -multi_annealing: AR: [2][2] Rejection counts: 0.0 0.0 0.0 0.0 0.0 - -multi_loss appCalls=1 -multi_annealing: AR: 47.49006278600924 3 -multi_loss: entered: ci=2 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,-0.0033614536445253362] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,-0.0033614536445253362,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:33 -0600 Checking status:1 Finished successfully:10 -multi_annealing: AR: 125.831434 +- 3.344003 -multi_loss: returning: ci=2 cj=3 r.loss=125.831434 r.sdev=3.344003 -multi_annealing: AF: best_opt_some.txt: 58.0,125.831434,0.0,0.0,5.284753614883805,47.49006278600924,-0.0033614536445253362,3.344003 -multi_annealing: AR: 0.7961447191161577 vs 1.0 -math/min: result=1.0 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: Accepting try_x[j], i=2 j=3 -multi_annealing: Accepting try_x[j], i=2 j=3 try_x[j]=47.49006278600924 -multi_annealing: AR: 2 ***** Did accept! 0.0 0.0 5.284753614883805 47.49006278600924 -0.0033614536445253362 - -multi_annealing: AR: [2][3] Rejection counts: 0.0 0.0 0.0 0.0 0.0 - -multi_loss appCalls=1 -multi_annealing: AR: 0.2830038287653472 4 -multi_loss: entered: ci=2 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,0.2830038287653472] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,0.2830038287653472,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:36 -0600 Checking status:1 Finished successfully:12 -multi_annealing: AR: 123.989674 +- 3.372759 -multi_loss: returning: ci=2 cj=4 r.loss=123.989674 r.sdev=3.372759 -multi_annealing: AF: best_opt_some.txt: 58.0,123.989674,0.0,0.0,5.284753614883805,47.49006278600924,0.2830038287653472,3.372759 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.19911890147442235 vs 1.0 -math/min: result=1.0 -multi_annealing: Accepting try_x[j], i=2 j=4 -multi_annealing: Accepting try_x[j], i=2 j=4 try_x[j]=0.2830038287653472 -multi_annealing: AR: [2][4] Rejection counts: 0.0 0.0 0.0 0.0 0.0 - -multi_annealing: AR: 2 ***** Did accept! 0.0 0.0 5.284753614883805 47.49006278600924 0.2830038287653472 - -multi_annealing: AR: i=3 ....T = 1.4048436603050374 -multi_loss appCalls=1 -multi_annealing: AR: 6.751519052449282 2 -multi_loss: entered: ci=3 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,6.751519052449282,47.49006278600924,0.2830038287653472] -multi_loss: i=1 calling evolve, args=[0,0,6.751519052449282,47.49006278600924,0.2830038287653472,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:39 -0600 Checking status:1 Finished successfully:14 -multi_loss: returning: ci=3 cj=2 r.loss=125.83918 r.sdev=3.276288 -multi_annealing: AR: 125.83918 +- 3.276288 -multi_annealing: AF: best_opt_some.txt: 58.0,125.83918,0.0,0.0,6.751519052449282,47.49006278600924,0.2830038287653472,3.276288 -math/min: result=0.2680663186298088 -multi_annealing: AR: 3,2 3 Did not accept: 6.751519052449282 (2) -multi_annealing: AR: 0.6852396383450929 vs 0.2680663186298088 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.0 0.0 6.751519052449282 47.49006278600924 0.2830038287653472 -multi_loss appCalls=1 -multi_annealing: AR: 49.01109219848105 3 -multi_loss: entered: ci=3 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,49.01109219848105,0.2830038287653472] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,49.01109219848105,0.2830038287653472,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:42 -0600 Checking status:1 Finished successfully:16 -multi_loss: returning: ci=3 cj=3 r.loss=126.260409 r.sdev=3.474799 -multi_annealing: AF: best_opt_some.txt: 58.0,126.260409,0.0,0.0,5.284753614883805,49.01109219848105,0.2830038287653472,3.474799 -multi_annealing: AR: 126.260409 +- 3.474799 -math/min: result=0.1986200941793068 -multi_annealing: AR: 0.6989515725257741 vs 0.1986200941793068 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 3,3 3 Did not accept: 49.01109219848105 (3) -multi_annealing: AR: 0.0 0.0 5.284753614883805 49.01109219848105 0.2830038287653472 -multi_loss appCalls=1 -multi_annealing: AR: 0.7184988677898592 4 -multi_loss: entered: ci=3 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:45 -0600 Checking status:1 Finished successfully:18 -multi_loss: returning: ci=3 cj=4 r.loss=123.593465 r.sdev=3.286319 -multi_annealing: AR: 123.593465 +- 3.286319 -multi_annealing: AF: best_opt_some.txt: 58.0,123.593465,0.0,0.0,5.284753614883805,47.49006278600924,0.7184988677898592,3.286319 -multi_annealing: AR: 0.10970841947076293 vs 1.0 -multi_annealing: AF: max_dist.txt - tbd -math/min: result=1.0 -multi_annealing: Accepting try_x[j], i=3 j=4 -multi_annealing: Accepting try_x[j], i=3 j=4 try_x[j]=0.7184988677898592 -multi_annealing: AR: 3 ***** Did accept! 0.0 0.0 5.284753614883805 47.49006278600924 0.7184988677898592 - -multi_annealing: AR: [3][4] Rejection counts: 0.0 0.0 1.0 1.0 0.0 - -multi_annealing: AR: i=4 ....T = 1.1774080373049494 -multi_loss appCalls=1 -multi_annealing: AR: 4.4255186274220115 2 -multi_loss: entered: ci=4 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.4255186274220115,47.49006278600924,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,4.4255186274220115,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:49 -0600 Checking status:1 Finished successfully:20 -multi_loss: returning: ci=4 cj=2 r.loss=126.444622 r.sdev=3.25147 -multi_annealing: AR: 126.444622 +- 3.25147 -multi_annealing: AF: best_opt_some.txt: 58.0,126.444622,0.0,0.0,4.4255186274220115,47.49006278600924,0.7184988677898592,3.25147 -multi_annealing: AR: 0.9535428038358379 vs 0.08878355131476454 -math/min: result=0.08878355131476454 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 4,2 4 Did not accept: 4.4255186274220115 (2) -multi_annealing: AR: 0.0 0.0 4.4255186274220115 47.49006278600924 0.7184988677898592 -multi_loss appCalls=1 -multi_annealing: AR: 46.92686166375319 3 -multi_loss: entered: ci=4 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.92686166375319,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.92686166375319,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:52 -0600 Checking status:1 Finished successfully:22 -multi_annealing: AR: 124.963375 +- 3.41926 -multi_loss: returning: ci=4 cj=3 r.loss=124.963375 r.sdev=3.41926 -multi_annealing: AF: best_opt_some.txt: 58.0,124.963375,0.0,0.0,5.284753614883805,46.92686166375319,0.7184988677898592,3.41926 -multi_annealing: AR: 0.4500207377949753 vs 0.312392025102438 -math/min: result=0.312392025102438 -multi_annealing: AR: 4,3 4 Did not accept: 46.92686166375319 (3) -multi_annealing: AR: 0.0 0.0 5.284753614883805 46.92686166375319 0.7184988677898592 -multi_annealing: AF: max_dist.txt - tbd -multi_loss appCalls=1 -multi_annealing: AR: -0.3320316742658884 4 -multi_loss: entered: ci=4 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,-0.3320316742658884] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,-0.3320316742658884,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:55 -0600 Checking status:1 Finished successfully:24 -multi_annealing: AR: 125.407828 +- 3.018498 -multi_loss: returning: ci=4 cj=4 r.loss=125.407828 r.sdev=3.018498 -multi_annealing: AF: best_opt_some.txt: 58.0,125.407828,0.0,0.0,5.284753614883805,47.49006278600924,-0.3320316742658884,3.018498 -multi_annealing: AR: 0.8555641933973892 vs 0.21417097212905944 -math/min: result=0.21417097212905944 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.0 0.0 5.284753614883805 47.49006278600924 -0.3320316742658884 -multi_annealing: AR: 4,4 4 Did not accept: -0.3320316742658884 (4) -multi_annealing: AR: i=5 ....T = 0.9867928549496278 -multi_loss appCalls=1 -multi_annealing: AR: 6.833327620921641 2 -multi_loss: entered: ci=5 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,6.833327620921641,47.49006278600924,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,6.833327620921641,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:17:58 -0600 Checking status:1 Finished successfully:26 -multi_annealing: AR: 125.250487 +- 3.078819 -multi_loss: returning: ci=5 cj=2 r.loss=125.250487 r.sdev=3.078819 -multi_annealing: AF: best_opt_some.txt: 58.0,125.250487,0.0,0.0,6.833327620921641,47.49006278600924,0.7184988677898592,3.078819 -multi_annealing: AR: 0.44288167684075663 vs 0.18652324111077032 -math/min: result=0.18652324111077032 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 5,2 5 Did not accept: 6.833327620921641 (2) -multi_annealing: AR: 0.0 0.0 6.833327620921641 47.49006278600924 0.7184988677898592 -multi_loss appCalls=1 -multi_annealing: AR: 46.49027442733761 3 -multi_loss: entered: ci=5 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.49027442733761,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.49027442733761,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:01 -0600 Checking status:1 Finished successfully:28 -multi_annealing: AR: 124.663101 +- 3.485893 -multi_loss: returning: ci=5 cj=3 r.loss=124.663101 r.sdev=3.485893 -multi_annealing: AF: best_opt_some.txt: 58.0,124.663101,0.0,0.0,5.284753614883805,46.49027442733761,0.7184988677898592,3.485893 -multi_annealing: AR: 0.42913823795768913 vs 0.33825612299835406 -math/min: result=0.33825612299835406 -multi_annealing: AR: 0.0 0.0 5.284753614883805 46.49027442733761 0.7184988677898592 -multi_annealing: AR: 5,3 5 Did not accept: 46.49027442733761 (3) -multi_annealing: AF: max_dist.txt - tbd -multi_loss appCalls=1 -multi_annealing: AR: 2.2333217492423234 4 -multi_loss: entered: ci=5 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,2.2333217492423234] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,2.2333217492423234,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:05 -0600 Checking status:1 Finished successfully:30 -multi_annealing: AR: 125.856136 +- 3.415745 -multi_loss: returning: ci=5 cj=4 r.loss=125.856136 r.sdev=3.415745 -multi_annealing: AF: best_opt_some.txt: 58.0,125.856136,0.0,0.0,5.284753614883805,47.49006278600924,2.2333217492423234,3.415745 -multi_annealing: AR: 0.5684553851797784 vs 0.10096772364295076 -math/min: result=0.10096772364295076 -multi_annealing: AR: 5,4 5 Did not accept: 2.2333217492423234 (4) -multi_annealing: AR: 0.0 0.0 5.284753614883805 47.49006278600924 2.2333217492423234 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: i=6 ....T = 0.8270371084000275 -multi_loss appCalls=1 -multi_annealing: AR: 3.928981105935937 2 -multi_loss: entered: ci=6 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,3.928981105935937,47.49006278600924,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,3.928981105935937,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:08 -0600 Checking status:1 Finished successfully:32 -multi_annealing: AR: 125.944813 +- 3.343539 -multi_loss: returning: ci=6 cj=2 r.loss=125.944813 r.sdev=3.343539 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.0737231873586417 vs 0.05824491156028037 -multi_annealing: AF: best_opt_some.txt: 58.0,125.944813,0.0,0.0,3.928981105935937,47.49006278600924,0.7184988677898592,3.343539 -multi_annealing: AR: 6,2 6 Did not accept: 3.928981105935937 (2) -math/min: result=0.05824491156028037 -multi_annealing: AR: 0.0 0.0 3.928981105935937 47.49006278600924 0.7184988677898592 -multi_loss appCalls=1 -multi_annealing: AR: 47.456980868107266 3 -multi_loss: entered: ci=6 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.456980868107266,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.456980868107266,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:11 -0600 Checking status:1 Finished successfully:34 -multi_annealing: AR: 126.604462 +- 3.183016 -multi_loss: returning: ci=6 cj=3 r.loss=126.604462 r.sdev=3.183016 -multi_annealing: AR: 0.5487345599809303 vs 0.02623387861162342 -math/min: result=0.02623387861162342 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AF: best_opt_some.txt: 58.0,126.604462,0.0,0.0,5.284753614883805,47.456980868107266,0.7184988677898592,3.183016 -multi_annealing: AR: 6,3 6 Did not accept: 47.456980868107266 (3) -multi_annealing: AR: 0.0 0.0 5.284753614883805 47.456980868107266 0.7184988677898592 -multi_loss appCalls=1 -multi_loss: entered: ci=6 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,47.49006278600924,-1.5302000464747076] -multi_annealing: AR: -1.5302000464747076 4 -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,47.49006278600924,-1.5302000464747076,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:12 -0600 Active:1 Finished successfully:36 -Progress: time: Mon, 30 Jan 2012 12:18:14 -0600 Checking status:1 Finished successfully:36 -multi_loss: returning: ci=6 cj=4 r.loss=125.062511 r.sdev=3.22833 -multi_annealing: AR: 125.062511 +- 3.22833 -multi_annealing: AF: best_opt_some.txt: 58.0,125.062511,0.0,0.0,5.284753614883805,47.49006278600924,-1.5302000464747076,3.22833 -multi_annealing: AR: 0.4295446121391554 vs 0.16926736066405584 -multi_annealing: AF: max_dist.txt - tbd -math/min: result=0.16926736066405584 -multi_annealing: AR: 6,4 6 Did not accept: -1.5302000464747076 (4) -multi_annealing: AR: 0.0 0.0 5.284753614883805 47.49006278600924 -1.5302000464747076 -multi_annealing: AR: i=7 ....T = 0.6931448431551464 -multi_loss appCalls=1 -multi_annealing: AR: 5.698890855198198 2 -multi_loss: entered: ci=7 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.698890855198198,47.49006278600924,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,5.698890855198198,47.49006278600924,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:17 -0600 Checking status:1 Finished successfully:38 -multi_annealing: AR: 124.92233 +- 3.519439 -multi_loss: returning: ci=7 cj=2 r.loss=124.92233 r.sdev=3.519439 -multi_annealing: AF: best_opt_some.txt: 58.0,124.92233,0.0,0.0,5.698890855198198,47.49006278600924,0.7184988677898592,3.519439 -multi_annealing: AR: 0.26061833782383614 vs 0.14702488652213752 -multi_annealing: AF: max_dist.txt - tbd -math/min: result=0.14702488652213752 -multi_annealing: AR: 7,2 7 Did not accept: 5.698890855198198 (2) -multi_annealing: AR: 0.0 0.0 5.698890855198198 47.49006278600924 0.7184988677898592 -multi_loss appCalls=1 -multi_annealing: AR: 48.00451051760781 3 -multi_loss: entered: ci=7 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,0.7184988677898592] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,0.7184988677898592,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:21 -0600 Checking status:1 Finished successfully:40 -multi_annealing: AR: 123.700997 +- 3.061641 -multi_loss: returning: ci=7 cj=3 r.loss=123.700997 r.sdev=3.061641 -multi_annealing: AF: best_opt_some.txt: 58.0,123.700997,0.0,0.0,5.284753614883805,48.00451051760781,0.7184988677898592,3.061641 -multi_annealing: AR: 0.04383216320955852 vs 0.8562983650405412 -math/min: result=0.8562983650405412 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: Accepting try_x[j], i=7 j=3 -multi_annealing: Accepting try_x[j], i=7 j=3 try_x[j]=48.00451051760781 -multi_annealing: AR: 7 ***** Did accept! 0.0 0.0 5.284753614883805 48.00451051760781 0.7184988677898592 - -multi_annealing: AR: [7][3] Rejection counts: 0.0 0.0 5.0 4.0 3.0 - -multi_loss appCalls=1 -multi_annealing: AR: -0.41452399887346414 4 -multi_loss: entered: ci=7 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:24 -0600 Checking status:1 Finished successfully:42 -multi_annealing: AR: 122.427501 +- 3.484433 -multi_loss: returning: ci=7 cj=4 r.loss=122.427501 r.sdev=3.484433 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.6794911655574871 vs 1.0 -math/min: result=1.0 -multi_annealing: AF: best_opt_some.txt: 58.0,122.427501,0.0,0.0,5.284753614883805,48.00451051760781,-0.41452399887346414,3.484433 -multi_annealing: Accepting try_x[j], i=7 j=4 -multi_annealing: Accepting try_x[j], i=7 j=4 try_x[j]=-0.41452399887346414 -multi_annealing: AR: [7][4] Rejection counts: 0.0 0.0 5.0 4.0 3.0 - -multi_annealing: AR: 7 ***** Did accept! 0.0 0.0 5.284753614883805 48.00451051760781 -0.41452399887346414 - -multi_annealing: AR: i=8 ....T = 0.5809289192863943 -multi_loss appCalls=1 -multi_annealing: AR: 4.228373615739721 2 -multi_loss: entered: ci=8 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,4.228373615739721,48.00451051760781,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,4.228373615739721,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:27 -0600 Checking status:1 Finished successfully:44 -multi_loss: returning: ci=8 cj=2 r.loss=125.825434 r.sdev=3.06081 -multi_annealing: AR: 125.825434 +- 3.06081 -multi_annealing: AF: best_opt_some.txt: 58.0,125.825434,0.0,0.0,4.228373615739721,48.00451051760781,-0.41452399887346414,3.06081 -multi_annealing: AR: 0.43307949429152304 vs 0.0028823847709179276 -math/min: result=0.0028823847709179276 -multi_annealing: AR: 0.0 0.0 4.228373615739721 48.00451051760781 -0.41452399887346414 -multi_annealing: AR: 8,2 8 Did not accept: 4.228373615739721 (2) -multi_annealing: AF: max_dist.txt - tbd -multi_loss appCalls=1 -multi_annealing: AR: 46.894163840589215 3 -multi_loss: entered: ci=8 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.894163840589215,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.894163840589215,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:30 -0600 Checking status:1 Finished successfully:46 -multi_annealing: AR: 124.871719 +- 3.122439 -multi_loss: returning: ci=8 cj=3 r.loss=124.871719 r.sdev=3.122439 -multi_annealing: AF: best_opt_some.txt: 58.0,124.871719,0.0,0.0,5.284753614883805,46.894163840589215,-0.41452399887346414,3.122439 -multi_annealing: AR: 0.34644774801935974 vs 0.014884566500466245 -math/min: result=0.014884566500466245 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.0 0.0 5.284753614883805 46.894163840589215 -0.41452399887346414 -multi_annealing: AR: 8,3 8 Did not accept: 46.894163840589215 (3) -multi_loss appCalls=1 -multi_annealing: AR: -2.2286308752011443 4 -multi_loss: entered: ci=8 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-2.2286308752011443] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-2.2286308752011443,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:33 -0600 Checking status:1 Finished successfully:48 -multi_annealing: AR: 125.200576 +- 3.137099 -multi_loss: returning: ci=8 cj=4 r.loss=125.200576 r.sdev=3.137099 -multi_annealing: AF: best_opt_some.txt: 58.0,125.200576,0.0,0.0,5.284753614883805,48.00451051760781,-2.2286308752011443,3.137099 -multi_annealing: AR: 0.47163119315783886 vs 0.008450593550370632 -math/min: result=0.008450593550370632 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 8,4 8 Did not accept: -2.2286308752011443 (4) -multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 -2.2286308752011443 -multi_annealing: AR: i=9 ....T = 0.48688006928981853 -multi_loss appCalls=1 -multi_annealing: AR: 5.695013169826046 2 -multi_loss: entered: ci=9 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.695013169826046,48.00451051760781,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,5.695013169826046,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:37 -0600 Checking status:1 Finished successfully:50 -multi_annealing: AR: 125.017227 +- 3.237815 -multi_loss: returning: ci=9 cj=2 r.loss=125.017227 r.sdev=3.237815 -multi_annealing: AF: best_opt_some.txt: 58.0,125.017227,0.0,0.0,5.695013169826046,48.00451051760781,-0.41452399887346414,3.237815 -multi_annealing: AR: 0.17076495981302242 vs 0.004897539166396153 -math/min: result=0.004897539166396153 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 9,2 9 Did not accept: 5.695013169826046 (2) -multi_annealing: AR: 0.0 0.0 5.695013169826046 48.00451051760781 -0.41452399887346414 -multi_loss appCalls=1 -multi_annealing: AR: 48.00679484464189 3 -multi_loss: entered: ci=9 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00679484464189,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00679484464189,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:40 -0600 Checking status:1 Finished successfully:52 -multi_annealing: AR: 125.213924 +- 3.333561 -multi_loss: returning: ci=9 cj=3 r.loss=125.213924 r.sdev=3.333561 -multi_annealing: AF: best_opt_some.txt: 58.0,125.213924,0.0,0.0,5.284753614883805,48.00679484464189,-0.41452399887346414,3.333561 -multi_annealing: AR: 0.15928070563724706 vs 0.003269830345111401 -math/min: result=0.003269830345111401 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00679484464189 -0.41452399887346414 -multi_annealing: AR: 9,3 9 Did not accept: 48.00679484464189 (3) -multi_loss appCalls=1 -multi_annealing: AR: -0.7507963173758503 4 -multi_loss: entered: ci=9 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-0.7507963173758503] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-0.7507963173758503,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:42 -0600 Active:1 Finished successfully:54 -multi_loss: returning: ci=9 cj=4 r.loss=125.856406 r.sdev=3.764608 -multi_annealing: AR: 125.856406 +- 3.764608 -multi_annealing: AF: best_opt_some.txt: 58.0,125.856406,0.0,0.0,5.284753614883805,48.00451051760781,-0.7507963173758503,3.764608 -math/min: result=8.738454465360378E-4 -multi_annealing: AR: 0.061628429129563234 vs 8.738454465360378E-4 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 9,4 9 Did not accept: -0.7507963173758503 (4) -multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 -0.7507963173758503 -multi_annealing: AR: i=10 ....T = 0.408057154673674 -multi_loss appCalls=1 -multi_annealing: AR: 3.29267604969456 2 -multi_loss: entered: ci=10 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,3.29267604969456,48.00451051760781,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,3.29267604969456,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:46 -0600 Checking status:1 Finished successfully:56 -multi_annealing: AR: 125.360364 +- 3.317013 -multi_loss: returning: ci=10 cj=2 r.loss=125.360364 r.sdev=3.317013 -multi_annealing: AF: best_opt_some.txt: 58.0,125.360364,0.0,0.0,3.29267604969456,48.00451051760781,-0.41452399887346414,3.317013 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.27027335203696023 vs 7.56065260977875E-4 -math/min: result=7.56065260977875E-4 -multi_annealing: AR: 0.0 0.0 3.29267604969456 48.00451051760781 -0.41452399887346414 -multi_annealing: AR: 10,2 10 Did not accept: 3.29267604969456 (2) -multi_loss appCalls=1 -multi_annealing: AR: 46.275556353155956 3 -multi_loss: entered: ci=10 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,46.275556353155956,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,46.275556353155956,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:49 -0600 Checking status:1 Finished successfully:58 -multi_annealing: AR: 126.434478 +- 3.246686 -multi_loss: returning: ci=10 cj=3 r.loss=126.434478 r.sdev=3.246686 -multi_annealing: AF: best_opt_some.txt: 58.0,126.434478,0.0,0.0,5.284753614883805,46.275556353155956,-0.41452399887346414,3.246686 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.14920802306232583 vs 5.4372803009239825E-5 -math/min: result=5.4372803009239825E-5 -multi_annealing: AR: 10,3 10 Did not accept: 46.275556353155956 (3) -multi_annealing: AR: 0.0 0.0 5.284753614883805 46.275556353155956 -0.41452399887346414 -multi_loss appCalls=1 -multi_annealing: AR: 1.5046793086101826 4 -multi_loss: entered: ci=10 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,1.5046793086101826] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,1.5046793086101826,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:53 -0600 Checking status:1 Finished successfully:60 -multi_loss: returning: ci=10 cj=4 r.loss=125.785376 r.sdev=3.346594 -multi_annealing: AR: 125.785376 +- 3.346594 -multi_annealing: AF: best_opt_some.txt: 58.0,125.785376,0.0,0.0,5.284753614883805,48.00451051760781,1.5046793086101826,3.346594 -multi_annealing: AR: 0.6250655950503741 vs 2.668208671281028E-4 -math/min: result=2.668208671281028E-4 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 1.5046793086101826 -multi_annealing: AR: 10,4 10 Did not accept: 1.5046793086101826 (4) -multi_annealing: new cycle at i=11 -multi_annealing: AR: New cycle at 11: prev dx[0-4]=[2.3 2.3 2.3 2.3 2.3] -multi_annealing: AR: i=11 ....T = 0.34199518933533946 -multi_annealing: AR: New cycle at 11: dx[0-4]=[4.6 4.6 0.8624999999999998 0.9857142857142855 1.15] -multi_loss appCalls=1 -multi_annealing: AR: 3.791705563626845 2 -multi_loss: entered: ci=11 cj=2 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,3.791705563626845,48.00451051760781,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,3.791705563626845,48.00451051760781,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:56 -0600 Checking status:1 Finished successfully:62 -multi_annealing: AF: max_dist.txt - tbd -multi_loss: returning: ci=11 cj=2 r.loss=124.596526 r.sdev=3.176561 -multi_annealing: AR: 124.596526 +- 3.176561 -multi_annealing: AF: best_opt_some.txt: 58.0,124.596526,0.0,0.0,3.791705563626845,48.00451051760781,-0.41452399887346414,3.176561 -multi_annealing: AR: 0.9715442940965933 vs 0.001760306082349071 -math/min: result=0.001760306082349071 -multi_annealing: AR: 0.0 0.0 3.791705563626845 48.00451051760781 -0.41452399887346414 -multi_annealing: AR: 11,2 11 Did not accept: 3.791705563626845 (2) -multi_loss appCalls=1 -multi_annealing: AR: 49.92607616034099 3 -multi_loss: entered: ci=11 cj=3 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,49.92607616034099,-0.41452399887346414] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,49.92607616034099,-0.41452399887346414,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:18:59 -0600 Checking status:1 Finished successfully:64 -multi_annealing: AR: 124.00716 +- 3.111738 -multi_loss: returning: ci=11 cj=3 r.loss=124.00716 r.sdev=3.111738 -multi_annealing: AF: best_opt_some.txt: 58.0,124.00716,0.0,0.0,5.284753614883805,49.92607616034099,-0.41452399887346414,3.111738 -multi_annealing: AR: 0.38818246796613753 vs 0.009863137695174688 -math/min: result=0.009863137695174688 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 11,3 11 Did not accept: 49.92607616034099 (3) -multi_annealing: AR: 0.0 0.0 5.284753614883805 49.92607616034099 -0.41452399887346414 -multi_loss appCalls=1 -multi_annealing: AR: -0.7771568808805009 4 -multi_loss: entered: ci=11 cj=4 target_innov=58.0 evolve_reruns=100 x=[0.0,0.0,5.284753614883805,48.00451051760781,-0.7771568808805009] -multi_loss: i=1 calling evolve, args=[0,0,5.284753614883805,48.00451051760781,-0.7771568808805009,58,40000,20,100,2,1,2.,0.01,2,0.3,2.3,1,1,0,0,0,m,4,1234567] -Progress: time: Mon, 30 Jan 2012 12:19:02 -0600 Checking status:1 Finished successfully:66 -multi_annealing: AR: 123.567412 +- 3.66859 -multi_loss: returning: ci=11 cj=4 r.loss=123.567412 r.sdev=3.66859 -multi_annealing: AF: best_opt_some.txt: 58.0,123.567412,0.0,0.0,5.284753614883805,48.00451051760781,-0.7771568808805009,3.66859 -multi_annealing: AR: 0.5338319788181374 vs 0.03568160518248377 -math/min: result=0.03568160518248377 -multi_annealing: AF: max_dist.txt - tbd -multi_annealing: AR: 11,4 11 Did not accept: -0.7771568808805009 (4) -multi_annealing: AR: 0.0 0.0 5.284753614883805 48.00451051760781 -0.7771568808805009 -Progress: time: Mon, 30 Jan 2012 12:19:12 -0600 Finished successfully:68 -No events in 10s. - -Registered futures: -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners ----- - -Waiting threads: ----- - -No events in 10s. - -Registered futures: -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners ----- - -Waiting threads: ----- - -No events in 10s. - -Registered futures: -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners -string[] args Closed, 24 elements, no listeners ----- - -Waiting threads: ----- - -Progress: time: Mon, 30 Jan 2012 12:19:42 -0600 Finished successfully:68 Deleted: SwiftApps/SciColSim/sample.testopt.py.output =================================================================== --- SwiftApps/SciColSim/sample.testopt.py.output 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/sample.testopt.py.output 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,243 +0,0 @@ - -**** Calling optimizer: OMP_NUM_THREADS=4 ./openmp-optimizer 0 0 4 50 -1 58 40000 20 100 2 1 2. 0.01 5 0.3 2.3 1 1 0 0 0 n 4 1234567 - -alpha_i: 0 -alpha_m: 0 -beta: 4 -gamma: 50 -delta: -1 -target: 58 -n_epochs: 40000 -n_steps: 20 -n_reruns: 100 -range: 2 -verbose level: 1 -T_start: 2 -T_end: 0.01 -Annealing_steps: 5 -Target_rejection: 0.3 -Starting_jump: 2.3 -FREEZE_alpha_i: 1 -FREEZE_alpha_m: 1 -FREEZE_beta: 0 -FREEZE_gamma: 0 -FREEZE_delta: 0 -Operation: n -Nworkers: 4 -initSeed: 1234567 -0 | 1 (fixed) -1 | 1 (fixed) -2 | 0 (fixed) -3 | 0 (fixed) -4 | 0 (fixed) -0.742788 0.631704 0.118309 0.922271 0.141282 0.80831 0.961468 0.363704 0.665483 0.683465 0.771216 0.267925 0.224677 0.153439 0.23455 0.816502 0.718347 0.371612 0.948727 0.404154 0.600908 0.766305 0.493219 0.82445 0.100233 0.672304 0.157299 0.53804 0.6794 0.57498 0.758357 0.422188 0.206684 0.876666 0.344459 0.347966 0.684976 0.305927 0.71167 0.350459 0.989392 0.482885 0.618384 0.214069 0.636325 0.852934 0.0305713 0.354672 0.224546 0.979299 0.758825 0.825454 0.745604 0.252044 0.649904 0.845837 0.924348 0.807203 0.383877 0.603748 0.382183 0.142234 0.0259353 0.588867 0.0189005 0.370394 0.936833 0.703877 0.676321 0.648502 0.0543356 0.665713 0.131387 0.672719 0.879782 0.767712 0.525653 0.910353 0.122384 0.750199 0.889652 0.881209 0.575653 0.635256 0.133253 0.225557 0.481092 0.0576008 0.0327595 0.864969 0.661348 0.414942 0.00720323 0.687284 0.00380882 0.0261037 0.0576777 0.940641 0.72998 0.733998 -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.9134 seconds 0.0485567 minutes - -126.43 +- 3.11244 - -....T = 2 - -3.77342 2 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.90873 seconds 0.0484788 minutes - -126.523 +- 3.32417 -0.82704 vs 0.954153 -1 Rejection counts: 0 0 0 0 0 - - 1,2 ***** Did accept! 0 0 3.77342 50 -1 - -52.2335 3 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.93802 seconds 0.0489671 minutes - -130.173 +- 3.67201 -0.188468 vs 0.161259 - 1,3 1 Did not accept 52.2335(3) -0 0 3.77342 52.2335 -1 --2.00667 4 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.95626 seconds 0.049271 minutes - -129.554 +- 3.1612 -0.88704 vs 0.219698 - 1,4 1 Did not accept -2.00667(4) -0 0 3.77342 50 -2.00667 - -....T = 0.693145 - -4.07035 2 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.99097 seconds 0.0498495 minutes - -130.603 +- 3.25174 -0.0501227 vs 0.00277796 - 2,2 2 Did not accept 4.07035(2) -0 0 4.07035 50 -1 -48.5261 3 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.94022 seconds 0.0490036 minutes - -128.508 +- 3.34913 -0.685387 vs 0.0571204 - 2,3 2 Did not accept 48.5261(3) -0 0 3.77342 48.5261 -1 --2.2438 4 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.95557 seconds 0.0492594 minutes - -128.768 +- 3.41509 -0.579097 vs 0.0392132 - 2,4 2 Did not accept -2.2438(4) -0 0 3.77342 50 -2.2438 - -....T = 0.240225 - -2.54662 2 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 3.02841 seconds 0.0504735 minutes - -127.262 +- 3.06273 -0.274094 vs 0.0462924 - 3,2 3 Did not accept 2.54662(2) -0 0 2.54662 50 -1 -51.7319 3 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 3.00121 seconds 0.0500201 minutes - -128.927 +- 3.75415 -0.00641465 vs 4.52253e-05 - 3,3 3 Did not accept 51.7319(3) -0 0 3.77342 51.7319 -1 -0.232896 4 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.98499 seconds 0.0497499 minutes - -128.55 +- 3.56206 -0.941162 vs 0.000216463 - 3,4 3 Did not accept 0.232896(4) -0 0 3.77342 50 0.232896 - -....T = 0.0832553 - -4.37082 2 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.95775 seconds 0.0492958 minutes - -128.816 +- 3.45615 -0.803355 vs 1.09972e-12 - 4,2 4 Did not accept 4.37082(2) -0 0 4.37082 50 -1 -49.3468 3 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.9872 seconds 0.0497866 minutes - -128.915 +- 3.17434 -0.126163 vs 3.35758e-13 - 4,3 4 Did not accept 49.3468(3) -0 0 3.77342 49.3468 -1 --0.0551126 4 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.93849 seconds 0.0489748 minutes - -125.1 +- 3.35383 -0.17234 vs 1 -4 Rejection counts: 0 0 3 4 3 - - 4,4 ***** Did accept! 0 0 3.77342 50 -0.0551126 - - -....T = 0.028854 - -5.90757 2 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 3.04963 seconds 0.0508272 minutes - -131.481 +- 3.49648 -0.318332 vs 9.27549e-97 - 5,2 5 Did not accept 5.90757(2) -0 0 5.90757 50 -0.0551126 -49.5818 3 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 3.0051 seconds 0.050085 minutes - -131.054 +- 3.3899 -0.854774 vs 2.47481e-90 - 5,3 5 Did not accept 49.5818(3) -0 0 3.77342 49.5818 -0.0551126 --1.93165 4 - -multi_loss: Calling evolve_to_target_and_save i=0 N=100 step=25 istart=0 iend=25 -multi_loss: Calling evolve_to_target_and_save i=1 N=100 step=25 istart=25 iend=50 -multi_loss: Calling evolve_to_target_and_save i=2 N=100 step=25 istart=50 iend=75 -multi_loss: Calling evolve_to_target_and_save i=3 N=100 step=25 istart=75 iend=100 -multi_loss(N=100, target=58) elapsed time: 2.95204 seconds 0.0492006 minutes - -127.676 +- 3.04749 -0.356781 vs 1.74605e-39 - 5,4 5 Did not accept -1.93165(4) -0 0 3.77342 50 -1.93165 - -*** optimizer completed, elapsed time=47.6158 seconds 0.793596 minutes) - -./mw.py Done! Deleted: SwiftApps/SciColSim/showbest.sh =================================================================== --- SwiftApps/SciColSim/showbest.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/showbest.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,8 +0,0 @@ -#! /bin/sh - -awk '{ - printf( "N %2d %2d %10.5f %5.2f | %5.2f %10.5f [ %5.2f %5.2f %10.5f %10.5f %10.5f ] %10.5f\n", - $2, $3, $4, $5, $7, $8, $10, $11, $12, $13, $14, $16); -}' - - Deleted: SwiftApps/SciColSim/sites.beagle.quick.xml =================================================================== --- SwiftApps/SciColSim/sites.beagle.quick.xml 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/sites.beagle.quick.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,25 +0,0 @@ - - - - CI-MCB000119 - - KEEP - - 1 - 24 - DEBUG - 100 - 100 - pbs.aprun;pbs.mpp;depth=24 - 10000 - 01:30:00 - 50 - 2 - 2 - route - 9.59 - 10000 - - /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir - - Deleted: SwiftApps/SciColSim/sites.beagle.xml =================================================================== --- SwiftApps/SciColSim/sites.beagle.xml 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/sites.beagle.xml 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,24 +0,0 @@ - - - - CI-MCB000119 - - KEEP - - 24 - DEBUG - 1 - pbs.aprun;pbs.mpp;depth=24 - 37000 - 10:00:00 - 20 - 100 - 100 - 2 - 2 - 9.59 - 10000 - - /lustre/beagle/ketan/labs/SciColSim-Bgl/swift.workdir - - Deleted: SwiftApps/SciColSim/t1.py =================================================================== --- SwiftApps/SciColSim/t1.py 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/t1.py 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,22 +0,0 @@ -#! /usr/bin/env python -import os - -# FULL for target in range(58,1009,50): -# FAST for target in range(58,209,50): -for target in range(58,59,50): - s = ("%d" % target) - print s - -# FULL for i in range(15): -# FAST for i in range(2): - for i in range(1): - args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) - args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) - args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 # > out.T"+str(target)+".i"+str(i) - print("\n\n **** CALLING APP: "+args+"\n\n\n") - os.system(args); -# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") -# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") - - -print "Done!" Deleted: SwiftApps/SciColSim/t2.py =================================================================== --- SwiftApps/SciColSim/t2.py 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/t2.py 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,23 +0,0 @@ -#! /usr/bin/env python -import os - -# FULL for target in range(58,1009,50): -# FAST for target in range(58,209,50): -for target in range(58,59,50): - s = ("%d" % target) - print s - -# FULL for i in range(15): -# FAST for i in range(2): - for i in range(1): - args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) - args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) - args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 m # > out.T"+str(target)+".i"+str(i) - args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 96 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 m 24 # > out.T"+str(target)+".i"+str(i) - print("\n\n **** CALLING APP: "+args+"\n\n\n") - os.system(args); -# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") -# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") - - -print "Done!" Deleted: SwiftApps/SciColSim/t3.py =================================================================== --- SwiftApps/SciColSim/t3.py 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/t3.py 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,22 +0,0 @@ -#! /usr/bin/env python -import os - -# FULL for target in range(58,1009,50): -# FAST for target in range(58,209,50): -for target in range(58,59,50): - s = ("%d" % target) - print s - -# FULL for i in range(15): -# FAST for i in range(2): - for i in range(1): - args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 1000 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) - args="OMP_NUM_THREADS=24 ./toptimizer 0 0 4 50 -1 "+s+" 40000 20 100 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0 # > out.T"+str(target)+".i"+str(i) - args="./toptimizer 0 0 4 50 -1 "+s+" 40000 20 75 2 1 2. 0.01 2 0.3 2.3 1 1 1 0 0 a # > out.T"+str(target)+".i"+str(i) - print("\n\n **** CALLING APP: "+args+"\n\n\n") - os.system(args); -# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") -# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") - - -print "Done!" Deleted: SwiftApps/SciColSim/tc =================================================================== --- SwiftApps/SciColSim/tc 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/tc 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,15 +0,0 @@ -localhost sh /bin/sh null null null -localhost cat /bin/cat null null null - -pbs cat /bin/cat null null null -mcs cat /bin/cat null null null -localhost catnap /home/wilde/swift/lab/catnap.sh null null GLOBUS::maxwalltime="00:01:00" - -beagle optimizer /home/wilde/AndreysOptimizer/src/Optimizer null null null -beagle optimizersh /home/wilde/AndreysOptimizer/src/optimizer.sh null null null - -beagle evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null null -localhost evolve /home/wilde/AndreysOptimizer/src/evolve.sh null null GLOBUS::maxwalltime="02:00:00" - -beagle sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null null -localhost sumloss /home/wilde/AndreysOptimizer/src/sumloss.sh null null GLOBUS::maxwalltime="02:00:00" Deleted: SwiftApps/SciColSim/test-orig.sh =================================================================== --- SwiftApps/SciColSim/test-orig.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/test-orig.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,21 +0,0 @@ -#! /bin/bash - -python <out.o.T"+s); -os.system("./Optimizer "+args+" >out.O.T"+s); - -# print("\n\n **** CALLING APP: ./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 100 0.3 2.3 1 1 0 0 0\n\n\n") -# FAST: os.system("./optimizer 0 0 4 50 -1 "+s+" 40000 20 10 2 1 2. 0.01 2 0.3 2.3 1 1 0 0 0") - -print "Done!" -END - Deleted: SwiftApps/SciColSim/test-swift.sh =================================================================== --- SwiftApps/SciColSim/test-swift.sh 2012-02-16 20:22:37 UTC (rev 5638) +++ SwiftApps/SciColSim/test-swift.sh 2012-02-16 20:59:48 UTC (rev 5639) @@ -1,7 +0,0 @@ -escapecode=$(echo -n -e '\033') - -swift -config cf -tc.file tc -sites.file local.xml annealing.swift \ - -e33="$escapecode" - -# -evolveReruns=20 \ -# -annealingCycles=10 From ketan at ci.uchicago.edu Tue Feb 7 15:33:43 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 7 Feb 2012 15:33:43 -0600 (CST) Subject: [Swift-commit] r5554 - SwiftApps/SciColSim Message-ID: <20120207213343.8D2559CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-07 15:33:43 -0600 (Tue, 07 Feb 2012) New Revision: 5554 Added: SwiftApps/SciColSim/plot_active.plt SwiftApps/SciColSim/plot_active.txt SwiftApps/SciColSim/plot_cumulative.plt SwiftApps/SciColSim/plot_cumulative.txt SwiftApps/SciColSim/plot_cumulative_openmp.plt SwiftApps/SciColSim/plot_ready.plt SwiftApps/SciColSim/plot_ready_jobs.txt Modified: SwiftApps/SciColSim/local.xml SwiftApps/SciColSim/sites.beagle.quick.xml Log: adding plotting scripts and data Modified: SwiftApps/SciColSim/local.xml =================================================================== --- SwiftApps/SciColSim/local.xml 2012-02-07 14:16:18 UTC (rev 5553) +++ SwiftApps/SciColSim/local.xml 2012-02-07 21:33:43 UTC (rev 5554) @@ -1,9 +1,9 @@ - 0.00 + 0.05 10000 - /tmp/wilde/swiftwork + /lustre/beagle/ketan/labs/SciColSim/swift.workdir Added: SwiftApps/SciColSim/plot_active.plt =================================================================== --- SwiftApps/SciColSim/plot_active.plt (rev 0) +++ SwiftApps/SciColSim/plot_active.plt 2012-02-07 21:33:43 UTC (rev 5554) @@ -0,0 +1,9 @@ +set terminal png enhanced +set output "activeplot.png" +set nokey +set xlabel "Time" +set ylabel "number of active jobs" +set yrange [0:12] +set xrange [3400:3800] +set title "Active SciColSim jobs" +plot "plot_active.txt" using 1 with line Added: SwiftApps/SciColSim/plot_active.txt =================================================================== --- SwiftApps/SciColSim/plot_active.txt (rev 0) +++ SwiftApps/SciColSim/plot_active.txt 2012-02-07 21:33:43 UTC (rev 5554) @@ -0,0 +1,6085 @@ +9 +6 +9 +8 +2 +9 +9 +7 +10 +9 +9 +8 +8 +7 +8 +6 +10 +9 +7 +7 +9 +9 +10 +7 +9 +9 +8 +10 +5 +6 +7 +9 +9 +8 +9 +9 +8 +8 +8 +9 +8 +8 +7 +7 +8 +7 +7 +9 +10 +8 +8 +7 +9 +7 +8 +7 +7 +6 +9 +9 +9 +7 +9 +9 +8 +9 +10 +8 +4 +6 +9 +9 +9 +5 +7 +9 +7 +9 +9 +10 +4 +9 +9 +9 +8 +8 +8 +9 +9 +8 +9 +9 +9 +9 +4 +9 +9 +9 +6 +6 +9 +10 +9 +8 +7 +9 +9 +7 +9 +9 +8 +5 +8 +9 +9 +9 +9 +8 +7 +10 +8 +9 +9 +9 +9 +9 +9 +6 +9 +9 +9 +7 +8 +9 +10 +8 +7 +9 +9 +9 +8 +7 +9 +9 +7 +9 +7 +9 +9 +9 +9 +8 +10 +8 +9 +7 +9 +9 +7 +9 +9 +9 +7 +5 +9 +9 +6 +10 +9 +9 +9 +9 +9 +9 +9 +8 +9 +8 +8 +5 +10 +9 +8 +6 +8 +9 +9 +8 +7 +9 +9 +9 +6 +9 +10 +9 +6 +8 +9 +10 +8 +6 +6 +8 +9 +9 +7 +9 +9 +9 +6 +10 +9 +9 +6 +8 +9 +9 +6 +8 +9 +9 +8 +8 +9 +8 +8 +7 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +7 +7 +9 +9 +9 +8 +9 +8 +8 +9 +9 +7 +6 +8 +10 +6 +4 +9 +9 +9 +9 +7 +9 +9 +9 +8 +10 +9 +6 +7 +9 +9 +6 +5 +8 +9 +9 +7 +7 +9 +6 +9 +9 +9 +5 +5 +9 +7 +9 +8 +8 +9 +8 +9 +10 +8 +9 +9 +8 +8 +7 +6 +8 +8 +9 +8 +8 +9 +9 +7 +9 +8 +9 +8 +8 +8 +10 +7 +7 +6 +9 +7 +6 +9 +9 +9 +5 +9 +9 +9 +7 +10 +8 +9 +6 +5 +8 +9 +10 +9 +6 +6 +9 +9 +6 +7 +9 +9 +8 +9 +7 +7 +9 +9 +6 +7 +8 +9 +9 +6 +8 +9 +10 +9 +7 +7 +9 +9 +7 +6 +6 +9 +6 +8 +8 +6 +8 +9 +9 +7 +7 +9 +10 +8 +7 +9 +6 +6 +8 +9 +9 +8 +8 +9 +9 +8 +8 +8 +8 +9 +10 +8 +9 +5 +10 +8 +9 +5 +9 +6 +8 +9 +9 +9 +8 +6 +8 +9 +7 +7 +8 +9 +9 +7 +9 +9 +9 +8 +8 +6 +8 +9 +7 +8 +8 +8 +8 +9 +7 +9 +8 +8 +8 +7 +10 +8 +7 +7 +9 +9 +8 +9 +9 +9 +7 +9 +9 +9 +7 +7 +9 +9 +4 +7 +10 +10 +9 +7 +9 +9 +9 +9 +7 +8 +9 +10 +5 +9 +9 +7 +7 +10 +9 +7 +8 +9 +8 +9 +4 +6 +9 +9 +9 +9 +9 +6 +10 +9 +8 +10 +7 +7 +8 +8 +9 +9 +10 +7 +8 +6 +9 +9 +8 +9 +6 +10 +8 +6 +7 +9 +9 +7 +4 +9 +10 +6 +9 +9 +9 +7 +9 +10 +8 +8 +5 +9 +8 +7 +9 +10 +8 +7 +8 +7 +7 +9 +10 +10 +8 +9 +9 +7 +6 +9 +8 +9 +7 +9 +10 +8 +7 +9 +8 +9 +7 +8 +8 +9 +9 +9 +9 +9 +9 +6 +9 +5 +8 +9 +8 +8 +6 +9 +9 +9 +7 +4 +8 +9 +9 +7 +7 +10 +9 +7 +9 +6 +9 +9 +9 +6 +9 +8 +6 +8 +7 +8 +7 +9 +9 +8 +9 +9 +6 +8 +7 +9 +9 +6 +8 +9 +9 +7 +8 +9 +9 +9 +8 +6 +8 +8 +9 +7 +6 +9 +9 +9 +8 +7 +8 +9 +9 +8 +9 +9 +9 +6 +9 +9 +8 +9 +10 +9 +9 +4 +7 +9 +10 +8 +8 +9 +9 +8 +10 +6 +9 +6 +9 +9 +8 +8 +7 +9 +8 +8 +9 +10 +7 +10 +8 +9 +9 +6 +9 +10 +8 +6 +9 +9 +8 +7 +5 +10 +9 +9 +7 +9 +9 +10 +8 +9 +9 +9 +9 +8 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +7 +9 +8 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +8 +9 +9 +9 +10 +9 +9 +9 +7 +9 +9 +7 +9 +8 +9 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +10 +9 +8 +10 +9 +9 +9 +9 +9 +9 +9 +9 +10 +10 +9 +10 +9 +9 +9 +9 +9 +9 +10 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +10 +9 +9 +9 +9 +9 +9 +9 +10 +10 +10 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +8 +10 +9 +8 +9 +9 +9 +9 +9 +9 +10 +8 +9 +10 +9 +10 +8 +8 +9 +8 +8 +9 +9 +9 +9 +9 +8 +9 +9 +8 +9 +10 +9 +9 +9 +9 +8 +9 +10 +7 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +8 +9 +8 +10 +9 +9 +9 +8 +8 +9 +9 +9 +10 +9 +9 +8 +9 +9 +9 +9 +9 +10 +9 +7 +10 +9 +10 +7 +9 +9 +9 +9 +9 +9 +9 +10 +9 +10 +9 +9 +9 +9 +9 +10 +9 +10 +8 +9 +9 +9 +9 +9 +8 +9 +10 +8 +9 +8 +10 +9 +9 +10 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +7 +9 +9 +9 +10 +9 +9 +9 +10 +10 +10 +9 +9 +9 +7 +9 +9 +9 +9 +10 +10 +9 +9 +9 +9 +9 +10 +10 +9 +9 +9 +9 +9 +8 +10 +9 +8 +9 +9 +9 +9 +10 +9 +7 +9 +9 +7 +9 +10 +9 +9 +8 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +7 +9 +9 +9 +9 +10 +9 +10 +9 +9 +10 +7 +7 +9 +9 +9 +8 +10 +9 +9 +10 +9 +9 +9 +9 +10 +10 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +10 +9 +10 +10 +9 +9 +9 +9 +10 +9 +9 +8 +8 +9 +9 +9 +9 +9 +7 +9 +10 +9 +8 +9 +9 +9 +9 +9 +8 +9 +10 +9 +9 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +9 +9 +10 +9 +10 +9 +9 +9 +8 +10 +9 +9 +10 +9 +8 +8 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +9 +9 +9 +9 +9 +10 +10 +9 +7 +9 +9 +7 +9 +9 +10 +9 +9 +9 +9 +9 +10 +9 +8 +9 +9 +9 +8 +9 +7 +9 +8 +9 +7 +8 +7 +10 +9 +9 +9 +9 +9 +9 +8 +9 +10 +9 +9 +9 +9 +9 +9 +10 +9 +9 +8 +9 +10 +9 +7 +9 +9 +8 +7 +6 +9 +9 +9 +9 +8 +10 +9 +10 +9 +9 +9 +10 +10 +9 +9 +8 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +7 +6 +8 +9 +9 +9 +9 +10 +10 +10 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +10 +9 +9 +9 +9 +10 +8 +8 +9 +9 +9 +10 +9 +10 +9 +9 +8 +9 +9 +10 +9 +9 +9 +10 +9 +9 +10 +9 +9 +10 +8 +9 +10 +9 +9 +10 +9 +8 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +10 +8 +9 +10 +8 +9 +9 +9 +9 +10 +8 +9 +9 +9 +8 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +7 +9 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +8 +10 +9 +9 +9 +9 +10 +9 +9 +9 +9 +10 +10 +9 +9 +9 +9 +10 +9 +9 +10 +9 +9 +8 +8 +9 +9 +9 +9 +10 +8 +10 +10 +9 +10 +9 +10 +10 +9 +9 +9 +10 +10 +9 +9 +7 +9 +9 +9 +9 +9 +10 +9 +9 +8 +9 +9 +8 +9 +10 +9 +9 +9 +9 +7 +9 +9 +9 +8 +8 +10 +9 +9 +9 +8 +10 +9 +10 +9 +9 +9 +9 +9 +9 +8 +7 +9 +9 +9 +9 +10 +8 +9 +10 +9 +9 +9 +9 +9 +9 +7 +9 +9 +8 +10 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +8 +9 +9 +8 +9 +9 +9 +9 +9 +7 +8 +9 +10 +9 +8 +8 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +10 +6 +8 +10 +9 +8 +9 +9 +8 +9 +10 +9 +9 +9 +9 +9 +9 +10 +9 +8 +6 +7 +10 +9 +9 +8 +9 +9 +8 +10 +9 +9 +8 +9 +7 +10 +9 +8 +7 +9 +10 +8 +8 +9 +9 +6 +10 +9 +8 +7 +9 +9 +8 +9 +9 +8 +5 +9 +9 +9 +10 +9 +8 +10 +9 +9 +9 +9 +8 +9 +9 +8 +9 +9 +5 +9 +9 +9 +9 +7 +10 +10 +9 +9 +6 +9 +9 +9 +6 +7 +9 +9 +5 +8 +9 +8 +8 +10 +9 +8 +7 +9 +9 +9 +8 +9 +8 +9 +9 +9 +9 +9 +9 +8 +8 +7 +9 +9 +8 +9 +8 +7 +10 +9 +9 +10 +7 +7 +9 +9 +9 +8 +8 +9 +7 +7 +8 +9 +7 +8 +7 +9 +9 +6 +10 +9 +5 +9 +9 +10 +8 +10 +9 +9 +7 +10 +9 +8 +6 +9 +10 +8 +8 +6 +9 +9 +8 +6 +9 +9 +9 +8 +8 +9 +7 +1 +8 +9 +8 +9 +8 +8 +8 +8 +7 +8 +9 +7 +8 +9 +9 +7 +4 +10 +9 +9 +8 +10 +9 +8 +4 +9 +6 +9 +9 +3 +6 +7 +9 +9 +8 +9 +10 +10 +8 +9 +9 +7 +6 +9 +7 +8 +9 +7 +7 +8 +10 +8 +9 +8 +9 +9 +8 +5 +9 +8 +10 +7 +8 +8 +9 +9 +10 +10 +10 +9 +6 +9 +10 +3 +7 +9 +9 +7 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +6 +8 +8 +9 +8 +7 +8 +9 +5 +7 +10 +10 +8 +7 +9 +8 +9 +9 +6 +8 +9 +8 +6 +7 +10 +7 +7 +8 +9 +8 +6 +10 +9 +9 +9 +9 +8 +8 +8 +10 +10 +6 +9 +7 +9 +9 +8 +8 +8 +7 +7 +9 +10 +8 +8 +9 +6 +9 +8 +9 +6 +7 +9 +9 +5 +9 +9 +9 +8 +9 +9 +9 +7 +9 +7 +9 +9 +9 +4 +9 +10 +9 +8 +6 +8 +8 +9 +8 +9 +10 +7 +8 +8 +8 +9 +6 +8 +6 +8 +8 +9 +8 +7 +8 +8 +9 +7 +9 +8 +9 +9 +9 +9 +9 +7 +9 +9 +7 +9 +9 +9 +9 +9 +8 +10 +9 +9 +9 +9 +9 +7 +9 +9 +10 +7 +8 +8 +9 +7 +9 +8 +9 +7 +7 +8 +9 +8 +8 +6 +8 +9 +7 +8 +10 +10 +9 +8 +8 +10 +9 +9 +8 +6 +9 +9 +9 +5 +5 +8 +9 +9 +9 +9 +5 +8 +9 +9 +9 +9 +7 +7 +9 +7 +8 +9 +9 +7 +9 +9 +8 +8 +5 +9 +9 +7 +9 +10 +9 +9 +9 +9 +9 +10 +9 +9 +10 +10 +10 +9 +8 +9 +9 +9 +9 +10 +8 +9 +9 +9 +9 +9 +10 +10 +9 +9 +8 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +10 +9 +9 +7 +8 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +10 +9 +9 +8 +9 +8 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +7 +8 +10 +9 +9 +10 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +7 +8 +10 +9 +8 +10 +9 +8 +9 +7 +10 +9 +8 +9 +9 +9 +9 +8 +10 +9 +9 +8 +9 +9 +10 +8 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +8 +9 +9 +9 +10 +8 +9 +9 +9 +9 +9 +9 +9 +9 +8 +10 +9 +8 +8 +8 +10 +8 +9 +9 +8 +9 +9 +8 +9 +9 +9 +10 +9 +8 +9 +9 +10 +9 +8 +8 +8 +9 +9 +9 +10 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +10 +9 +9 +9 +9 +9 +8 +10 +9 +9 +10 +8 +9 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +9 +9 +10 +8 +9 +10 +9 +9 +9 +7 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +10 +9 +9 +9 +9 +8 +10 +10 +10 +9 +9 +9 +9 +8 +10 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +10 +9 +8 +9 +7 +5 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +1 +9 +9 +4 +9 +9 +9 +8 +6 +9 +9 +9 +9 +8 +7 +9 +9 +8 +8 +9 +9 +9 +8 +9 +8 +8 +8 +8 +10 +9 +10 +8 +9 +9 +9 +10 +9 +6 +7 +9 +8 +9 +9 +9 +7 +9 +9 +9 +9 +9 +10 +10 +8 +9 +10 +9 +8 +8 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +8 +9 +9 +9 +10 +10 +7 +10 +9 +10 +7 +9 +9 +9 +8 +7 +9 +10 +8 +6 +8 +9 +9 +8 +8 +9 +9 +9 +7 +8 +9 +8 +9 +9 +9 +9 +6 +9 +9 +9 +6 +9 +9 +8 +7 +8 +9 +9 +7 +8 +9 +7 +7 +9 +9 +8 +9 +10 +9 +9 +8 +9 +10 +10 +8 +8 +7 +10 +9 +8 +9 +7 +10 +10 +9 +8 +8 +9 +9 +9 +8 +9 +10 +9 +7 +6 +9 +9 +9 +9 +6 +9 +9 +10 +9 +9 +9 +10 +10 +8 +7 +8 +9 +9 +8 +8 +9 +10 +7 +9 +9 +9 +8 +9 +9 +8 +8 +9 +9 +9 +8 +8 +8 +8 +9 +9 +9 +9 +9 +9 +8 +9 +10 +6 +9 +9 +8 +7 +9 +8 +9 +9 +6 +9 +9 +9 +9 +9 +9 +10 +8 +9 +8 +9 +8 +7 +9 +9 +10 +9 +8 +9 +9 +9 +7 +8 +10 +9 +8 +8 +10 +9 +9 +9 +5 +7 +7 +10 +9 +10 +6 +8 +9 +9 +9 +8 +9 +10 +8 +8 +10 +9 +9 +9 +8 +10 +9 +10 +9 +10 +9 +9 +10 +9 +6 +6 +10 +9 +6 +7 +9 +9 +9 +8 +9 +9 +9 +9 +8 +10 +10 +9 +9 +8 +8 +9 +9 +7 +10 +8 +9 +8 +8 +9 +9 +10 +9 +7 +10 +8 +9 +9 +8 +6 +8 +10 +9 +9 +6 +8 +9 +7 +8 +8 +10 +10 +9 +9 +6 +9 +9 +9 +8 +7 +9 +10 +5 +5 +9 +9 +8 +9 +10 +9 +9 +9 +8 +9 +8 +9 +8 +8 +9 +9 +8 +6 +10 +9 +7 +9 +9 +9 +9 +7 +9 +10 +10 +9 +8 +9 +9 +9 +8 +9 +9 +8 +8 +6 +10 +9 +9 +9 +8 +9 +9 +10 +9 +9 +9 +10 +9 +10 +8 +6 +8 +9 +9 +9 +9 +9 +9 +8 +10 +8 +9 +9 +9 +9 +7 +8 +10 +9 +7 +6 +9 +10 +8 +9 +9 +9 +9 +9 +9 +8 +9 +8 +9 +9 +9 +8 +7 +9 +9 +8 +9 +9 +9 +8 +7 +8 +7 +8 +9 +9 +9 +9 +8 +7 +10 +9 +8 +8 +9 +9 +8 +8 +9 +9 +9 +6 +9 +9 +9 +8 +8 +9 +8 +8 +9 +7 +10 +9 +8 +9 +9 +8 +8 +9 +9 +9 +10 +9 +8 +8 +9 +9 +8 +8 +10 +9 +9 +9 +10 +9 +7 +9 +9 +10 +9 +8 +8 +9 +8 +7 +9 +8 +9 +9 +9 +7 +9 +9 +9 +8 +9 +8 +9 +8 +10 +8 +9 +7 +10 +10 +9 +9 +9 +9 +9 +8 +7 +9 +8 +8 +8 +9 +9 +9 +6 +9 +10 +8 +8 +9 +9 +7 +9 +9 +8 +7 +9 +8 +8 +9 +9 +9 +9 +9 +9 +10 +7 +9 +8 +9 +9 +8 +8 +7 +8 +8 +8 +9 +10 +9 +9 +8 +9 +8 +8 +9 +8 +8 +10 +7 +9 +9 +9 +9 +9 +9 +8 +10 +8 +8 +9 +9 +9 +9 +6 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +6 +8 +9 +9 +8 +8 +8 +8 +9 +10 +9 +9 +10 +8 +9 +8 +9 +9 +6 +6 +9 +9 +8 +8 +9 +6 +9 +4 +10 +9 +7 +8 +9 +9 +9 +9 +7 +9 +7 +9 +7 +9 +8 +9 +9 +7 +7 +7 +9 +7 +9 +8 +9 +8 +6 +9 +9 +9 +6 +9 +8 +9 +6 +8 +8 +9 +9 +8 +8 +9 +7 +9 +9 +10 +8 +6 +9 +9 +9 +8 +7 +7 +9 +9 +7 +6 +7 +8 +8 +9 +9 +9 +9 +10 +9 +10 +9 +7 +8 +5 +8 +10 +9 +8 +7 +9 +9 +9 +8 +10 +9 +9 +5 +9 +8 +7 +8 +7 +9 +9 +8 +9 +10 +9 +8 +9 +7 +9 +8 +10 +9 +9 +9 +8 +10 +9 +9 +10 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +8 +8 +9 +9 +9 +8 +9 +8 +9 +9 +8 +9 +8 +9 +8 +9 +9 +7 +9 +8 +4 +7 +9 +9 +9 +4 +8 +9 +8 +6 +6 +8 +8 +7 +8 +9 +9 +7 +9 +10 +5 +8 +7 +8 +5 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +6 +6 +5 +9 +9 +9 +8 +9 +9 +9 +6 +9 +8 +9 +8 +5 +9 +9 +6 +9 +9 +8 +9 +9 +10 +9 +9 +9 +9 +9 +9 +10 +9 +10 +9 +10 +9 +9 +9 +9 +10 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +9 +8 +9 +10 +9 +10 +9 +9 +9 +9 +8 +7 +8 +9 +9 +8 +10 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +8 +10 +9 +9 +9 +9 +10 +9 +7 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +10 +9 +10 +10 +9 +9 +9 +10 +9 +9 +9 +9 +9 +8 +10 +9 +9 +9 +10 +9 +8 +9 +9 +8 +9 +7 +10 +9 +7 +10 +10 +10 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +8 +10 +9 +9 +8 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +8 +10 +9 +9 +9 +9 +8 +7 +7 +9 +8 +9 +9 +9 +8 +9 +7 +8 +9 +8 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +9 +8 +9 +6 +8 +9 +9 +9 +9 +10 +9 +10 +10 +9 +9 +9 +9 +9 +8 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +8 +8 +10 +9 +9 +9 +9 +9 +9 +10 +8 +9 +9 +9 +9 +9 +9 +9 +9 +10 +10 +9 +9 +9 +9 +10 +9 +9 +9 +8 +7 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +8 +9 +8 +9 +10 +8 +9 +9 +9 +8 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +8 +10 +9 +9 +10 +9 +8 +10 +9 +9 +9 +9 +9 +8 +9 +10 +9 +9 +10 +10 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +10 +9 +9 +10 +10 +9 +9 +9 +8 +10 +9 +9 +9 +9 +9 +9 +10 +9 +10 +9 +9 +9 +10 +9 +9 +8 +9 +9 +10 +10 +9 +7 +10 +9 +9 +9 +9 +8 +8 +9 +9 +9 +10 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +10 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +8 +10 +9 +8 +10 +9 +8 +9 +7 +9 +9 +9 +8 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +8 +10 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +10 +10 +8 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +8 +9 +9 +9 +10 +9 +10 +9 +9 +9 +8 +8 +8 +9 +9 +8 +10 +9 +10 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +10 +9 +9 +9 +9 +10 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +8 +10 +9 +9 +9 +8 +9 +9 +9 +9 +9 +9 +10 +9 +10 +9 +10 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +10 +9 +8 +9 +10 +9 +9 +9 +7 +8 +9 +9 +9 +9 +9 +8 +9 +10 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +8 +9 +9 +9 +9 +9 +9 +9 +9 +8 +10 +9 +9 +8 +8 +9 +9 +9 +9 +9 +9 +10 +9 +9 +8 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +10 +8 +8 +9 +9 +9 +10 +9 +9 +9 +9 +8 +10 +8 +9 +9 +9 +10 +8 +10 +9 +8 +9 +9 +9 +10 +10 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +9 +9 +9 +8 +9 +8 +9 +9 +8 +9 +9 +9 +9 +10 +10 +9 +9 +10 +9 +9 +9 +9 +8 +9 +8 +9 +9 +10 +9 +10 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +10 +9 +9 +9 +9 +9 +7 +6 +10 +9 +9 +9 +9 +9 +10 +9 +8 +7 +9 +9 +9 +9 +8 +9 +9 +8 +10 +9 +9 +9 +9 +9 +9 +9 +9 +7 +10 +9 +8 +9 +10 +9 +9 +9 +10 +9 +10 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +10 +8 +10 +9 +9 +9 +9 +9 +9 +10 +9 +9 +8 +9 +9 +8 +9 +9 +9 +9 +9 +9 +10 +9 +7 +9 +9 +9 +9 +8 +9 +10 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +8 +8 +8 +8 +9 +9 +9 +9 +9 +8 +9 +9 +9 +8 +9 +9 +10 +9 +10 +8 +10 +10 +10 +10 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +8 +8 +9 +9 +9 +9 +9 +9 +8 +10 +9 +8 +10 +9 +8 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +10 +8 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +10 +10 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +10 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +8 +9 +9 +9 +9 +9 +9 +9 +10 +8 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +10 +9 +7 +9 +9 +10 +9 +9 +9 +10 +9 +9 +10 +7 +8 +9 +9 +9 +9 +9 +9 +8 +8 +10 +9 +9 +10 +9 +7 +10 +9 +7 +10 +9 +9 +10 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +8 +10 +9 +9 +9 +9 +9 +9 +9 +9 +7 +6 +9 +9 +9 +10 +8 +10 +9 +8 +9 +8 +9 +8 +9 +9 +9 +10 +9 +9 +9 +6 +8 +9 +9 +9 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +10 +9 +9 +9 +9 +9 +8 +7 +8 +9 +8 +9 +8 +9 +9 +10 +9 +8 +10 +9 +10 +10 +9 +7 +9 +8 +10 +9 +8 +8 +9 +8 +9 +10 +9 +9 +9 +10 +9 +9 +10 +9 +9 +9 +9 +9 +9 +10 +9 +9 +9 +9 +9 +8 +9 +9 +9 +9 +10 +9 +9 +9 +6 +9 +9 +9 +7 +9 +9 +9 +9 +9 +8 +9 +10 +9 +9 +9 +9 +9 +9 +9 +8 +9 +8 +5 +4 +4 +4 +4 +4 +4 +6 +1 +1 +2 +1 +1 +1 +6 +1 +1 +1 +4 +3 +7 +9 +9 +8 +8 +8 +10 +9 +9 +8 +8 +8 +9 +6 +8 +9 +6 +8 +8 +7 +4 +8 +7 +10 +9 +8 +6 +6 +4 +8 +6 +6 +6 +8 +8 +6 +5 +8 +7 +7 +5 +4 +6 +8 +7 +6 +7 +5 +7 +8 +8 +8 +9 +3 +6 +8 +7 +7 +5 +5 +7 +8 +6 +3 +4 +3 +4 +6 +8 +5 +8 +9 +8 +6 +4 +2 +9 +8 +7 +7 +6 +3 +9 +9 +7 +8 +2 +7 +6 +9 +8 +2 +6 +6 +9 +7 +6 +8 +8 +7 +7 +8 +8 +8 +7 +7 +7 +8 +9 +9 +8 +9 +7 +6 +4 +4 +6 +4 +6 +9 +8 +8 +2 +5 +7 +7 +7 +5 +4 +7 +7 +7 +6 +3 +9 +8 +7 +8 +3 +8 +8 +6 +8 +5 +10 +8 +8 +7 +4 +9 +7 +7 +5 +8 +8 +9 +6 +6 +7 +9 +7 +3 +6 +6 +7 +9 +5 +9 +8 +8 +6 +6 +9 +8 +5 +5 +9 +8 +8 +9 +7 +8 +5 +8 +8 +9 +2 +9 +8 +8 +9 +7 +8 +8 +8 +8 +8 +8 +8 +9 +9 +8 +9 +9 +6 +6 +3 +10 +9 +7 +7 +3 +9 +8 +9 +10 +7 +6 +9 +8 +10 +9 +9 +7 +8 +9 +9 +9 +10 +8 +5 +6 +4 +7 +7 +8 +6 +8 +8 +6 +8 +6 +4 +6 +7 +7 +7 +5 +5 +8 +6 +9 +6 +7 +5 +6 +8 +5 +9 +9 +8 +5 +9 +8 +8 +3 +9 +8 +7 +5 +8 +6 +4 +5 +4 +3 +7 +8 +6 +6 +5 +4 +7 +5 +7 +8 +5 +9 +6 +8 +5 +7 +9 +8 +7 +7 +5 +4 +5 +7 +9 +8 +8 +8 +1 +6 +7 +6 +5 +5 +6 +10 +8 +9 +9 +7 +9 +9 +8 +9 +9 +8 +6 +5 +7 +8 +5 +7 +7 +6 +9 +8 +4 +7 +7 +8 +9 +9 +9 +8 +9 +9 +8 +9 +10 +8 +9 +7 +3 +4 +5 +5 +8 +9 +2 +9 +9 +6 +8 +9 +9 +7 +10 +9 +8 +9 +8 +9 +6 +7 +6 +7 +6 +4 +10 +8 +7 +5 +3 +8 +8 +9 +7 +8 +9 +9 +9 +9 +9 +8 +9 +9 +9 +6 +5 +7 +5 +3 +5 +6 +8 +2 +7 +7 +8 +4 +4 +5 +7 +6 +6 +7 +8 +7 +8 +7 +9 +8 +5 +9 +7 +7 +4 +7 +6 +4 +5 +2 +6 +4 +7 +3 +8 +8 +7 +2 +7 +7 +7 +8 +5 +10 +6 +8 +5 +5 +7 +5 +3 +3 +9 +7 +9 +8 +7 +5 +8 +5 +7 +6 +3 +4 +9 +9 +9 +10 +8 +9 +9 +9 +8 +9 +9 +9 +7 +9 +7 +5 +6 +4 +4 +6 +10 +9 +8 +9 +9 +9 +8 +9 +9 +9 +9 +9 +8 +7 +8 +4 +4 +4 +5 +6 +9 +10 +9 +9 +8 +8 +10 +9 +8 +7 +8 +9 +8 +8 +9 +8 +5 +3 +9 +9 +8 +4 +6 +6 +5 +8 +8 +9 +9 +9 +8 +8 +8 +9 +10 +9 +7 +9 +8 +9 +7 +4 +6 +5 +6 +5 +5 +6 +8 +9 +7 +8 +9 +9 +8 +8 +9 +8 +9 +10 +8 +9 +10 +8 +4 +5 +7 +6 +5 +7 +8 +7 +9 +9 +9 +7 +9 +9 +9 +8 +9 +8 +6 +6 +5 +6 +8 +8 +5 +5 +7 +6 +7 +7 +4 +6 +6 +6 +9 +8 +9 +9 +7 +8 +7 +7 +9 +9 +8 +8 +6 +7 +7 +7 +7 +2 +5 +6 +8 +8 +3 +8 +5 +5 +5 +7 +5 +8 +6 +4 +5 +9 +8 +8 +9 +6 +5 +7 +6 +1 +4 +5 +2 +5 +8 +8 +7 +2 +9 +9 +4 +4 +4 +6 +5 +9 +9 +6 +2 +5 +6 +7 +4 +7 +6 +7 +6 +8 +8 +8 +5 +7 +8 +5 +5 +2 +8 +10 +8 +7 +5 +8 +9 +7 +9 +9 +9 +9 +9 +7 +8 +8 +7 +6 +9 +8 +8 +8 +6 +7 +7 +9 +8 +6 +3 +7 +7 +9 +8 +9 +9 +9 +9 +6 +8 +8 +9 +9 +3 +8 +5 +3 +4 +4 +5 +4 +9 +9 +8 +6 +6 +10 +10 +8 +3 +9 +7 +7 +6 +6 +7 +3 +7 +4 +3 +8 +8 +8 +6 +5 +7 +7 +5 +5 +6 +8 +8 +9 +5 +9 +7 +8 +6 +6 +6 +6 +7 +5 +9 +5 +7 +8 +7 +4 +6 +5 +7 +7 +8 +6 +7 +8 +6 +7 +10 +8 +7 +4 +4 +2 +5 +9 +4 +10 +7 +5 +7 +9 +8 +7 +7 +9 +9 +8 +9 +9 +9 +7 +6 +6 +7 +9 +6 +7 +7 +8 +6 +4 +6 +6 +6 +7 +3 +3 +6 +7 +8 +7 +9 +9 +7 +8 +7 +6 +7 +9 +7 +2 +4 +5 +5 +3 +2 +5 +6 +8 +2 +7 +8 +6 +2 +2 +8 +8 +7 +8 +7 +1 +3 +6 +6 +3 +6 +7 +2 +7 +2 +1 +6 +4 +1 +1 +7 +2 +6 +2 +2 +7 +9 +9 +7 +7 +9 +9 +8 +7 +7 +9 +4 +2 +2 +6 +2 +6 +1 +6 +6 +10 +8 +6 +7 +9 +8 +6 +4 +3 +7 +2 +2 +7 +2 +6 +2 +6 +2 +2 +6 +2 +6 +1 +2 +6 +2 +6 +1 +1 +6 +2 +6 +2 +1 +2 +6 +1 +1 +6 +1 +1 +6 +2 +6 +1 +2 +6 +1 +7 +6 +7 +9 +8 +7 +6 +7 +9 +8 +6 +5 +5 +7 +2 +3 +6 +2 +6 +2 +6 +1 +1 +6 +2 +6 +1 +1 +3 +1 +1 +6 +1 +1 +6 +2 +6 +1 +2 +6 +2 +6 +2 +1 +1 +6 +1 +1 +6 +1 +2 +6 +1 +1 +5 +1 +2 +6 +2 +6 +1 +1 +6 +7 +9 +9 +7 +6 +9 +9 +7 +6 +7 +2 +2 +6 +2 +6 +1 +6 +6 +9 +8 +6 +6 +9 +8 +5 +3 +3 +7 +2 +2 +7 +3 +7 +2 +6 +1 +2 +6 +2 +6 +1 +1 +6 +1 +1 +6 +1 +1 +6 +1 +1 +3 +1 +1 +6 +1 +1 +6 +2 +2 +6 +1 +1 +4 +1 +1 +6 +1 +5 +7 +9 +7 +7 +9 +7 +6 +9 +7 +6 +9 +6 +6 +9 +4 +8 +4 +8 +4 +8 +3 +7 +3 +7 +3 +7 +3 +7 +2 +2 +6 +3 +7 +3 +7 +3 +8 +3 +7 +3 +7 +2 +2 +6 +3 +7 +3 +7 +3 +7 +2 +7 +3 +7 +2 +2 +3 +3 +7 +3 +7 +2 +2 +7 +3 +7 +3 +7 +2 +2 +3 +3 +7 +3 +7 +3 +7 +3 +7 +3 +7 +1 +2 +7 +6 +6 +9 +8 +6 +6 +9 +8 +6 +4 +3 +7 +2 +2 +7 +3 +6 +2 +6 +1 +1 +6 +2 +6 +1 +1 +6 +1 +1 +6 +1 +1 +6 +2 +6 +1 +2 +6 +1 +6 +1 +2 +6 +2 +1 +1 +5 +2 +1 +5 +2 +2 +2 +1 +1 +1 +5 +3 +2 +1 +6 +5 +4 +2 +2 +2 +1 +5 +2 +1 +6 +5 +4 +2 +2 +2 +1 +1 +5 +4 +1 +5 +3 +2 +2 +2 +2 +1 +1 +6 +5 +4 +3 +1 +6 +5 +4 +2 +2 +2 +1 +6 +5 +4 +2 +6 +5 +4 +2 +2 +2 +1 +1 +1 +5 +3 +2 +1 +5 +3 +2 +2 +1 +1 +1 +5 +2 +1 +1 +5 +3 +2 +2 +2 +1 +1 +1 +6 +5 +4 +2 +5 +4 +2 +2 +1 +1 +6 +5 +4 +2 +6 +5 +2 +2 +2 +1 +1 +6 +5 +4 +1 +1 +5 +4 +3 +2 +2 +2 +1 +5 +4 +3 +1 +1 +5 +3 +2 +2 +2 +1 +5 +4 +2 +1 +1 +1 +5 +2 +2 +2 +1 +1 +6 +5 +3 +1 +5 +5 +2 +2 +1 +1 +5 +2 +1 +5 +3 +2 +2 +2 +1 +6 +5 +2 +1 +1 +6 +5 +4 +2 +2 +2 +1 +1 +5 +3 +1 +1 +5 +2 +2 +2 +2 +1 +1 +6 +5 +3 +1 +5 +4 +2 +2 +1 +5 +2 +1 +5 +4 +3 +2 +2 +2 +1 +1 +5 +2 +1 +5 +3 +2 +2 +2 +1 +1 +6 +5 +3 +1 +1 +5 +4 +3 +2 +2 +2 +1 +6 +5 +4 +2 +1 +5 +3 +2 +2 +2 +1 +1 +5 +3 +1 +1 +5 +2 +2 +2 +1 +1 +5 +2 +1 +1 +5 +4 +2 +2 +2 +2 +1 +5 +3 +1 +1 +5 +3 +2 +2 +1 +5 +3 +5 +3 +2 +2 +2 +1 +5 +2 +1 +5 +2 +2 +2 +2 +1 +6 +5 +2 +1 +5 +2 +2 +2 +1 +1 +5 +2 +1 +1 +6 +5 +2 +2 +1 +1 +5 +3 +1 +1 +1 +5 +4 +2 +2 +1 +1 +6 +5 +2 +1 +5 +4 +3 +2 +2 +1 +1 +5 +1 +1 +5 +3 +2 +2 +2 +5 +1 +5 +3 +2 +2 +1 +1 +5 +2 +6 +5 +3 +2 +2 +1 +1 +5 +4 +2 +1 +6 +5 +3 +2 +2 +2 +1 +1 +1 +5 +3 +5 +3 +2 +2 +2 +2 +1 +1 +5 +4 +2 +1 +5 +3 +2 +2 +2 +1 +1 +5 +4 +1 +1 +1 +5 +4 +2 +2 +1 +1 +5 +4 +2 +5 +3 +2 +2 +2 +1 +1 +1 +5 +2 +1 +1 +6 +5 +3 +2 +2 +2 +1 +1 +6 +5 +2 +1 +6 +5 +2 +2 +2 +1 +6 +5 +3 +2 +1 +6 +5 +4 +2 +2 +2 +1 +1 +6 +5 +2 +1 +5 +4 +2 +2 +1 +1 +5 +6 +5 +2 +1 +1 +6 +5 +4 +2 +2 +1 +1 +1 Added: SwiftApps/SciColSim/plot_cumulative.plt =================================================================== --- SwiftApps/SciColSim/plot_cumulative.plt (rev 0) +++ SwiftApps/SciColSim/plot_cumulative.plt 2012-02-07 21:33:43 UTC (rev 5554) @@ -0,0 +1,8 @@ +set terminal png enhanced +#set term postscript eps enhanced +set output "cumulativeplot.png" +set nokey +set xlabel "Time in seconds" +set ylabel "number of completed jobs" +set title "Cumulative SciColSim jobs" +plot "plot_cumulative.txt" using 1:2 with lines Added: SwiftApps/SciColSim/plot_cumulative.txt =================================================================== --- SwiftApps/SciColSim/plot_cumulative.txt (rev 0) +++ SwiftApps/SciColSim/plot_cumulative.txt 2012-02-07 21:33:43 UTC (rev 5554) @@ -0,0 +1,6226 @@ +1.000 10 60 +3.351 10 60 +5.702 12 72 +8.053 16 96 +10.404 20 120 +12.755 22 132 +15.106 28 168 +17.457 30 180 +19.808 31 186 +22.159 32 192 +24.510 35 210 +26.861 42 252 +29.212 46 276 +31.563 49 294 +33.914 52 312 +36.265 55 330 +38.616 56 336 +40.967 58 348 +43.318 60 360 +45.669 66 396 +48.020 66 396 +50.371 68 408 +52.722 72 432 +55.073 76 456 +57.424 76 456 +59.775 77 462 +62.126 81 486 +64.477 86 516 +66.828 90 540 +69.179 95 570 +71.530 95 570 +73.881 96 576 +76.232 99 594 +78.583 101 606 +80.934 105 630 +83.285 108 648 +85.636 109 654 +87.987 112 672 +90.338 115 690 +92.689 117 702 +95.040 119 714 +97.391 121 726 +99.742 126 756 +102.093 129 774 +104.444 132 792 +106.795 136 816 +109.146 138 828 +111.497 142 852 +113.848 146 876 +116.199 149 894 +118.550 153 918 +120.901 153 918 +123.252 156 936 +125.603 158 948 +127.954 160 960 +130.305 165 990 +132.656 168 1008 +135.007 171 1026 +137.358 171 1026 +139.709 172 1032 +142.060 179 1074 +144.411 182 1092 +146.762 182 1092 +149.113 187 1122 +151.464 191 1146 +153.815 193 1158 +156.166 195 1170 +158.517 199 1194 +160.868 206 1236 +163.219 207 1242 +165.570 208 1248 +167.921 210 1260 +170.272 216 1296 +172.623 219 1314 +174.974 220 1320 +177.325 225 1350 +179.676 229 1374 +182.027 231 1386 +184.378 232 1392 +186.729 237 1422 +189.080 241 1446 +191.431 242 1452 +193.782 243 1458 +196.133 251 1506 +198.484 253 1518 +200.835 256 1536 +203.186 259 1554 +205.537 264 1584 +207.888 265 1590 +210.239 270 1620 +212.590 274 1644 +214.941 274 1644 +217.292 277 1662 +219.643 284 1704 +221.994 286 1716 +224.345 287 1722 +226.696 288 1728 +229.047 293 1758 +231.398 297 1782 +233.749 299 1794 +236.100 300 1800 +238.451 303 1818 +240.802 306 1836 +243.153 308 1848 +245.504 310 1860 +247.855 314 1884 +250.206 318 1908 +252.557 320 1920 +254.908 320 1920 +257.259 322 1932 +259.610 326 1956 +261.961 332 1992 +264.312 334 2004 +266.663 335 2010 +269.014 339 2034 +271.365 343 2058 +273.716 345 2070 +276.067 346 2076 +278.418 350 2100 +280.769 355 2130 +283.120 357 2142 +285.471 359 2154 +287.822 361 2166 +290.173 363 2178 +292.524 366 2196 +294.875 369 2214 +297.226 373 2238 +299.577 377 2262 +301.928 380 2280 +304.279 382 2292 +306.630 387 2322 +308.981 390 2340 +311.332 391 2346 +313.683 394 2364 +316.034 397 2382 +318.385 401 2406 +320.736 403 2418 +323.087 405 2430 +325.438 405 2430 +327.789 409 2454 +330.140 412 2472 +332.491 415 2490 +334.842 415 2490 +337.193 419 2514 +339.544 425 2550 +341.895 428 2568 +344.246 431 2586 +346.597 436 2616 +348.948 439 2634 +351.299 440 2640 +353.650 440 2640 +356.001 444 2664 +358.352 448 2688 +360.703 449 2694 +363.054 451 2706 +365.405 452 2712 +367.756 457 2742 +370.107 462 2772 +372.458 462 2772 +374.809 463 2778 +377.160 466 2796 +379.511 468 2808 +381.862 474 2844 +384.213 478 2868 +386.564 482 2892 +388.915 484 2904 +391.266 488 2928 +393.617 488 2928 +395.968 490 2940 +398.319 492 2952 +400.670 498 2988 +403.021 498 2988 +405.372 499 2994 +407.723 500 3000 +410.074 506 3036 +412.425 508 3048 +414.776 509 3054 +417.127 510 3060 +419.478 514 3084 +421.829 523 3138 +424.180 523 3138 +426.531 526 3156 +428.882 532 3192 +431.233 534 3204 +433.584 537 3222 +435.935 537 3222 +438.286 539 3234 +440.637 544 3264 +442.988 546 3276 +445.339 547 3282 +447.690 547 3282 +450.041 552 3312 +452.392 554 3324 +454.743 558 3348 +457.094 559 3354 +459.445 562 3372 +461.796 566 3396 +464.147 569 3414 +466.498 571 3426 +468.849 573 3438 +471.200 577 3462 +473.551 582 3492 +475.902 584 3504 +478.253 585 3510 +480.604 586 3516 +482.955 589 3534 +485.306 598 3588 +487.657 598 3588 +490.008 599 3594 +492.359 607 3642 +494.710 611 3666 +497.061 612 3672 +499.412 613 3678 +501.763 616 3696 +504.114 621 3726 +506.465 624 3744 +508.816 626 3756 +511.167 629 3774 +513.518 631 3786 +515.869 635 3810 +518.220 636 3816 +520.571 639 3834 +522.922 641 3846 +525.273 643 3858 +527.624 646 3876 +529.975 651 3906 +532.326 655 3930 +534.677 657 3942 +537.028 658 3948 +539.379 660 3960 +541.730 664 3984 +544.081 667 4002 +546.432 669 4014 +548.783 671 4026 +551.134 679 4074 +553.485 681 4086 +555.836 681 4086 +558.187 683 4098 +560.538 687 4122 +562.889 690 4140 +565.240 695 4170 +567.591 697 4182 +569.942 702 4212 +572.293 704 4224 +574.644 706 4236 +576.995 709 4254 +579.346 711 4266 +581.697 714 4284 +584.048 716 4296 +586.399 719 4314 +588.750 723 4338 +591.101 725 4350 +593.452 726 4356 +595.803 730 4380 +598.154 739 4434 +600.505 741 4446 +602.856 741 4446 +605.207 742 4452 +607.558 745 4470 +609.909 750 4500 +612.260 752 4512 +614.611 752 4512 +616.962 756 4536 +619.313 759 4554 +621.664 762 4572 +624.015 762 4572 +626.366 768 4608 +628.717 772 4632 +631.068 773 4638 +633.419 773 4638 +635.770 779 4674 +638.121 783 4698 +640.472 787 4722 +642.823 790 4740 +645.174 790 4740 +647.525 793 4758 +649.876 798 4788 +652.227 800 4800 +654.578 805 4830 +656.929 810 4860 +659.280 813 4878 +661.631 816 4896 +663.982 820 4920 +666.333 823 4938 +668.684 826 4956 +671.035 830 4980 +673.386 832 4992 +675.737 834 5004 +678.088 838 5028 +680.439 840 5040 +682.790 841 5046 +685.141 842 5052 +687.492 845 5070 +689.843 850 5100 +692.194 853 5118 +694.545 856 5136 +696.896 859 5154 +699.247 861 5166 +701.598 865 5190 +703.949 872 5232 +706.300 873 5238 +708.651 876 5256 +711.002 877 5262 +713.353 882 5292 +715.704 882 5292 +718.055 884 5304 +720.406 887 5322 +722.757 892 5352 +725.108 892 5352 +727.459 895 5370 +729.810 897 5382 +732.161 900 5400 +734.512 903 5418 +736.863 906 5436 +739.214 909 5454 +741.565 912 5472 +743.916 915 5490 +746.267 919 5514 +748.618 921 5526 +750.969 923 5538 +753.320 927 5562 +755.671 933 5598 +758.022 934 5604 +760.373 935 5610 +762.724 939 5634 +765.075 944 5664 +767.426 947 5682 +769.777 949 5694 +772.128 953 5718 +774.479 958 5748 +776.830 960 5760 +779.181 961 5766 +781.532 966 5796 +783.883 970 5820 +786.234 973 5838 +788.585 975 5850 +790.936 977 5862 +793.287 977 5862 +795.638 982 5892 +797.989 985 5910 +800.340 989 5934 +802.691 991 5946 +805.042 997 5982 +807.393 998 5988 +809.744 1001 6006 +812.095 1003 6018 +814.446 1005 6030 +816.797 1006 6036 +819.148 1010 6060 +821.499 1016 6096 +823.850 1018 6108 +826.201 1021 6126 +828.552 1024 6144 +830.903 1029 6174 +833.254 1032 6192 +835.605 1032 6192 +837.956 1033 6198 +840.307 1038 6228 +842.658 1044 6264 +845.009 1046 6276 +847.360 1046 6276 +849.711 1046 6276 +852.062 1050 6300 +854.413 1052 6312 +856.764 1057 6342 +859.115 1058 6348 +861.466 1061 6366 +863.817 1065 6390 +866.168 1069 6414 +868.519 1072 6432 +870.870 1075 6450 +873.221 1078 6468 +875.572 1079 6474 +877.923 1082 6492 +880.274 1083 6498 +882.625 1086 6516 +884.976 1087 6522 +887.327 1089 6534 +889.678 1093 6558 +892.029 1096 6576 +894.380 1098 6588 +896.731 1099 6594 +899.082 1101 6606 +901.433 1104 6624 +903.784 1108 6648 +906.135 1111 6666 +908.486 1117 6702 +910.837 1120 6720 +913.188 1120 6720 +915.539 1123 6738 +917.890 1127 6762 +920.241 1128 6768 +922.592 1129 6774 +924.943 1132 6792 +927.294 1134 6804 +929.645 1138 6828 +931.996 1139 6834 +934.347 1142 6852 +936.698 1143 6858 +939.049 1144 6864 +941.400 1147 6882 +943.751 1153 6918 +946.102 1154 6924 +948.453 1156 6936 +950.804 1157 6942 +953.155 1165 6990 +955.506 1167 7002 +957.857 1170 7020 +960.208 1175 7050 +962.559 1177 7062 +964.910 1177 7062 +967.261 1178 7068 +969.612 1181 7086 +971.963 1184 7104 +974.314 1189 7134 +976.665 1189 7134 +979.016 1192 7152 +981.367 1195 7170 +983.718 1201 7206 +986.069 1202 7212 +988.420 1204 7224 +990.771 1212 7272 +993.122 1213 7278 +995.473 1215 7290 +997.824 1217 7302 +1000.175 1222 7332 +1002.526 1222 7332 +1004.877 1227 7362 +1007.228 1230 7380 +1009.579 1232 7392 +1011.930 1233 7398 +1014.281 1237 7422 +1016.632 1240 7440 +1018.983 1242 7452 +1021.334 1244 7464 +1023.685 1247 7482 +1026.036 1249 7494 +1028.387 1253 7518 +1030.738 1255 7530 +1033.089 1257 7542 +1035.440 1262 7572 +1037.791 1264 7584 +1040.142 1266 7596 +1042.493 1268 7608 +1044.844 1273 7638 +1047.195 1277 7662 +1049.546 1278 7668 +1051.897 1279 7674 +1054.248 1284 7704 +1056.599 1289 7734 +1058.950 1292 7752 +1061.301 1293 7758 +1063.652 1297 7782 +1066.003 1299 7794 +1068.354 1300 7800 +1070.705 1302 7812 +1073.056 1305 7830 +1075.407 1311 7866 +1077.758 1312 7872 +1080.109 1314 7884 +1082.460 1320 7920 +1084.811 1325 7950 +1087.162 1327 7962 +1089.513 1328 7968 +1091.864 1329 7974 +1094.215 1332 7992 +1096.566 1337 8022 +1098.917 1338 8028 +1101.268 1339 8034 +1103.619 1340 8040 +1105.970 1345 8070 +1108.321 1351 8106 +1110.672 1352 8112 +1113.023 1354 8124 +1115.374 1360 8160 +1117.725 1364 8184 +1120.076 1364 8184 +1122.427 1367 8202 +1124.778 1371 8226 +1127.129 1374 8244 +1129.480 1374 8244 +1131.831 1378 8268 +1134.182 1380 8280 +1136.533 1381 8286 +1138.884 1384 8304 +1141.235 1384 8304 +1143.586 1391 8346 +1145.937 1398 8388 +1148.288 1399 8394 +1150.639 1399 8394 +1152.990 1403 8418 +1155.341 1409 8454 +1157.692 1413 8478 +1160.043 1418 8508 +1162.394 1420 8520 +1164.745 1420 8520 +1167.096 1422 8532 +1169.447 1426 8556 +1171.798 1429 8574 +1174.149 1432 8592 +1176.500 1434 8604 +1178.851 1436 8616 +1181.202 1440 8640 +1183.553 1444 8664 +1185.904 1445 8670 +1188.255 1448 8688 +1190.606 1449 8694 +1192.957 1453 8718 +1195.308 1455 8730 +1197.659 1457 8742 +1200.010 1461 8766 +1202.361 1463 8778 +1204.712 1466 8796 +1207.063 1468 8808 +1209.414 1470 8820 +1211.765 1473 8838 +1214.116 1480 8880 +1216.467 1483 8898 +1218.818 1483 8898 +1221.169 1486 8916 +1223.520 1491 8946 +1225.871 1493 8958 +1228.222 1495 8970 +1230.573 1501 9006 +1232.924 1505 9030 +1235.275 1505 9030 +1237.626 1506 9036 +1239.977 1512 9072 +1242.328 1515 9090 +1244.679 1518 9108 +1247.030 1519 9114 +1249.381 1522 9132 +1251.732 1527 9162 +1254.083 1531 9186 +1256.434 1534 9204 +1258.785 1540 9240 +1261.136 1542 9252 +1263.487 1543 9258 +1265.838 1545 9270 +1268.189 1550 9300 +1270.540 1553 9318 +1272.891 1554 9324 +1275.242 1557 9342 +1277.593 1564 9384 +1279.944 1566 9396 +1282.295 1569 9414 +1284.646 1573 9438 +1286.997 1574 9444 +1289.348 1574 9444 +1291.699 1579 9474 +1294.050 1582 9492 +1296.401 1585 9510 +1298.752 1586 9516 +1301.103 1588 9528 +1303.454 1591 9546 +1305.805 1594 9564 +1308.156 1596 9576 +1310.507 1599 9594 +1312.858 1600 9600 +1315.209 1604 9624 +1317.560 1606 9636 +1319.911 1610 9660 +1322.262 1613 9678 +1324.613 1617 9702 +1326.964 1619 9714 +1329.315 1619 9714 +1331.666 1623 9738 +1334.017 1624 9744 +1336.368 1625 9750 +1338.719 1630 9780 +1341.070 1635 9810 +1343.421 1635 9810 +1345.772 1640 9840 +1348.123 1642 9852 +1350.474 1645 9870 +1352.825 1651 9906 +1355.176 1652 9912 +1357.527 1654 9924 +1359.878 1657 9942 +1362.229 1660 9960 +1364.580 1664 9984 +1366.931 1665 9990 +1369.282 1665 9990 +1371.633 1667 10002 +1373.984 1673 10038 +1376.335 1674 10044 +1378.686 1677 10062 +1381.037 1678 10068 +1383.388 1682 10092 +1385.739 1688 10128 +1388.090 1691 10146 +1390.441 1691 10146 +1392.792 1696 10176 +1395.143 1699 10194 +1397.494 1701 10206 +1399.845 1705 10230 +1402.196 1707 10242 +1404.547 1709 10254 +1406.898 1713 10278 +1409.249 1714 10284 +1411.600 1715 10290 +1413.951 1721 10326 +1416.302 1723 10338 +1418.653 1726 10356 +1421.004 1729 10374 +1423.355 1732 10392 +1425.706 1732 10392 +1428.057 1735 10410 +1430.408 1738 10428 +1432.759 1740 10440 +1435.110 1742 10452 +1437.461 1747 10482 +1439.812 1751 10506 +1442.163 1755 10530 +1444.514 1755 10530 +1446.865 1756 10536 +1449.216 1762 10572 +1451.567 1767 10602 +1453.918 1767 10602 +1456.269 1771 10626 +1458.620 1774 10644 +1460.971 1775 10650 +1463.322 1779 10674 +1465.673 1782 10692 +1468.024 1783 10698 +1470.375 1787 10722 +1472.726 1792 10752 +1475.077 1795 10770 +1477.428 1796 10776 +1479.779 1797 10782 +1482.130 1801 10806 +1484.481 1808 10848 +1486.832 1808 10848 +1489.183 1809 10854 +1491.534 1811 10866 +1493.885 1816 10896 +1496.236 1821 10926 +1498.587 1825 10950 +1500.938 1825 10950 +1503.289 1830 10980 +1505.640 1834 11004 +1507.991 1835 11010 +1510.342 1838 11028 +1512.693 1840 11040 +1515.044 1845 11070 +1517.395 1847 11082 +1519.746 1847 11082 +1522.097 1851 11106 +1524.448 1857 11142 +1526.799 1858 11148 +1529.150 1858 11148 +1531.501 1859 11154 +1533.852 1865 11190 +1536.203 1872 11232 +1538.554 1873 11238 +1540.905 1875 11250 +1543.256 1877 11262 +1545.607 1878 11268 +1547.958 1882 11292 +1550.309 1884 11304 +1552.660 1887 11322 +1555.011 1888 11328 +1557.362 1892 11352 +1559.713 1894 11364 +1562.064 1896 11376 +1564.415 1899 11394 +1566.766 1902 11412 +1569.117 1905 11430 +1571.468 1909 11454 +1573.819 1912 11472 +1576.170 1913 11478 +1578.521 1915 11490 +1580.872 1919 11514 +1583.223 1924 11544 +1585.574 1926 11556 +1587.925 1928 11568 +1590.276 1931 11586 +1592.627 1935 11610 +1594.978 1936 11616 +1597.329 1938 11628 +1599.680 1943 11658 +1602.031 1946 11676 +1604.382 1947 11682 +1606.733 1948 11688 +1609.084 1955 11730 +1611.435 1956 11736 +1613.786 1958 11748 +1616.137 1959 11754 +1618.488 1962 11772 +1620.839 1966 11796 +1623.190 1972 11832 +1625.541 1973 11838 +1627.892 1973 11838 +1630.243 1975 11850 +1632.594 1979 11874 +1634.945 1979 11874 +1637.296 1981 11886 +1639.647 1983 11898 +1641.998 1983 11898 +1644.349 1985 11910 +1646.700 1987 11922 +1649.051 1987 11922 +1651.402 1989 11934 +1653.753 1990 11940 +1656.104 1991 11946 +1658.455 1992 11952 +1660.806 1993 11958 +1663.157 1995 11970 +1665.508 1997 11982 +1667.859 1997 11982 +1670.210 1999 11994 +1672.561 1999 11994 +1674.912 2000 12000 +1677.263 2002 12012 +1679.614 2003 12018 +1681.965 2006 12036 +1684.316 2007 12042 +1686.667 2007 12042 +1689.018 2009 12054 +1691.369 2013 12078 +1693.720 2013 12078 +1696.071 2016 12096 +1698.422 2017 12102 +1700.773 2018 12108 +1703.124 2019 12114 +1705.475 2020 12120 +1707.826 2023 12138 +1710.177 2023 12138 +1712.528 2024 12144 +1714.879 2027 12162 +1717.230 2027 12162 +1719.581 2030 12180 +1721.932 2031 12186 +1724.283 2032 12192 +1726.634 2032 12192 +1728.985 2036 12216 +1731.336 2036 12216 +1733.687 2037 12222 +1736.038 2040 12240 +1738.389 2042 12252 +1740.740 2044 12264 +1743.091 2045 12270 +1745.442 2046 12276 +1747.793 2047 12282 +1750.144 2049 12294 +1752.495 2050 12300 +1754.846 2050 12300 +1757.197 2052 12312 +1759.548 2056 12336 +1761.899 2056 12336 +1764.250 2060 12360 +1766.601 2060 12360 +1768.952 2063 12378 +1771.303 2064 12384 +1773.654 2066 12396 +1776.005 2068 12408 +1778.356 2070 12420 +1780.707 2070 12420 +1783.058 2071 12426 +1785.409 2072 12432 +1787.760 2073 12438 +1790.111 2073 12438 +1792.462 2075 12450 +1794.813 2076 12456 +1797.164 2078 12468 +1799.515 2078 12468 +1801.866 2080 12480 +1804.217 2081 12486 +1806.568 2081 12486 +1808.919 2083 12498 +1811.270 2083 12498 +1813.621 2084 12504 +1815.972 2085 12510 +1818.323 2087 12522 +1820.674 2087 12522 +1823.025 2089 12534 +1825.376 2091 12546 +1827.727 2092 12552 +1830.078 2092 12552 +1832.429 2094 12564 +1834.780 2095 12570 +1837.131 2097 12582 +1839.482 2097 12582 +1841.833 2099 12594 +1844.184 2100 12600 +1846.535 2100 12600 +1848.886 2102 12612 +1851.237 2103 12618 +1853.588 2104 12624 +1855.939 2104 12624 +1858.290 2105 12630 +1860.641 2107 12642 +1862.992 2108 12648 +1865.343 2109 12654 +1867.694 2109 12654 +1870.045 2111 12666 +1872.396 2112 12672 +1874.747 2113 12678 +1877.098 2115 12690 +1879.449 2117 12702 +1881.800 2118 12708 +1884.151 2118 12708 +1886.502 2119 12714 +1888.853 2120 12720 +1891.204 2122 12732 +1893.555 2123 12738 +1895.906 2125 12750 +1898.257 2126 12756 +1900.608 2127 12762 +1902.959 2128 12768 +1905.310 2129 12774 +1907.661 2131 12786 +1910.012 2132 12792 +1912.363 2134 12804 +1914.714 2135 12810 +1917.065 2135 12810 +1919.416 2136 12816 +1921.767 2138 12828 +1924.118 2139 12834 +1926.469 2139 12834 +1928.820 2140 12840 +1931.171 2141 12846 +1933.522 2143 12858 +1935.873 2144 12864 +1938.224 2148 12888 +1940.575 2148 12888 +1942.926 2148 12888 +1945.277 2149 12894 +1947.628 2153 12918 +1949.979 2153 12918 +1952.330 2154 12924 +1954.681 2156 12936 +1957.032 2157 12942 +1959.383 2157 12942 +1961.734 2158 12948 +1964.085 2160 12960 +1966.436 2160 12960 +1968.787 2161 12966 +1971.138 2161 12966 +1973.489 2162 12972 +1975.840 2165 12990 +1978.191 2167 13002 +1980.542 2168 13008 +1982.893 2171 13026 +1985.244 2173 13038 +1987.595 2173 13038 +1989.946 2174 13044 +1992.297 2176 13056 +1994.648 2177 13062 +1996.999 2177 13062 +1999.350 2180 13080 +2001.701 2180 13080 +2004.052 2181 13086 +2006.403 2183 13098 +2008.754 2184 13104 +2011.105 2185 13110 +2013.456 2185 13110 +2015.807 2187 13122 +2018.158 2189 13134 +2020.509 2189 13134 +2022.860 2191 13146 +2025.211 2194 13164 +2027.562 2195 13170 +2029.913 2198 13188 +2032.264 2198 13188 +2034.615 2200 13200 +2036.966 2203 13218 +2039.317 2204 13224 +2041.668 2205 13230 +2044.019 2208 13248 +2046.370 2208 13248 +2048.721 2211 13266 +2051.072 2212 13272 +2053.423 2212 13272 +2055.774 2214 13284 +2058.125 2216 13296 +2060.476 2218 13308 +2062.827 2219 13314 +2065.178 2220 13320 +2067.529 2220 13320 +2069.880 2221 13326 +2072.231 2222 13332 +2074.582 2224 13344 +2076.933 2225 13350 +2079.284 2226 13356 +2081.635 2226 13356 +2083.986 2228 13368 +2086.337 2230 13380 +2088.688 2230 13380 +2091.039 2232 13392 +2093.390 2235 13410 +2095.741 2239 13434 +2098.092 2242 13452 +2100.443 2243 13458 +2102.794 2244 13464 +2105.145 2245 13470 +2107.496 2247 13482 +2109.847 2249 13494 +2112.198 2249 13494 +2114.549 2252 13512 +2116.900 2256 13536 +2119.251 2256 13536 +2121.602 2258 13548 +2123.953 2260 13560 +2126.304 2260 13560 +2128.655 2263 13578 +2131.006 2264 13584 +2133.357 2267 13602 +2135.708 2268 13608 +2138.059 2269 13614 +2140.410 2270 13620 +2142.761 2273 13638 +2145.112 2273 13638 +2147.463 2275 13650 +2149.814 2278 13668 +2152.165 2280 13680 +2154.516 2281 13686 +2156.867 2284 13704 +2159.218 2284 13704 +2161.569 2286 13716 +2163.920 2287 13722 +2166.271 2288 13728 +2168.622 2290 13740 +2170.973 2292 13752 +2173.324 2292 13752 +2175.675 2294 13764 +2178.026 2294 13764 +2180.377 2296 13776 +2182.728 2296 13776 +2185.079 2297 13782 +2187.430 2298 13788 +2189.781 2299 13794 +2192.132 2300 13800 +2194.483 2302 13812 +2196.834 2302 13812 +2199.185 2303 13818 +2201.536 2305 13830 +2203.887 2305 13830 +2206.238 2307 13842 +2208.589 2309 13854 +2210.940 2311 13866 +2213.291 2311 13866 +2215.642 2313 13878 +2217.993 2315 13890 +2220.344 2315 13890 +2222.695 2317 13902 +2225.046 2318 13908 +2227.397 2319 13914 +2229.748 2323 13938 +2232.099 2323 13938 +2234.450 2325 13950 +2236.801 2326 13956 +2239.152 2327 13962 +2241.503 2327 13962 +2243.854 2328 13968 +2246.205 2330 13980 +2248.556 2330 13980 +2250.907 2331 13986 +2253.258 2332 13992 +2255.609 2334 14004 +2257.960 2335 14010 +2260.311 2336 14016 +2262.662 2339 14034 +2265.013 2339 14034 +2267.364 2341 14046 +2269.715 2341 14046 +2272.066 2342 14052 +2274.417 2343 14058 +2276.768 2344 14064 +2279.119 2345 14070 +2281.470 2345 14070 +2283.821 2346 14076 +2286.172 2348 14088 +2288.523 2349 14094 +2290.874 2349 14094 +2293.225 2350 14100 +2295.576 2353 14118 +2297.927 2355 14130 +2300.278 2355 14130 +2302.629 2358 14148 +2304.980 2358 14148 +2307.331 2359 14154 +2309.682 2360 14160 +2312.033 2362 14172 +2314.384 2363 14178 +2316.735 2364 14184 +2319.086 2366 14196 +2321.437 2366 14196 +2323.788 2367 14202 +2326.139 2368 14208 +2328.490 2368 14208 +2330.841 2369 14214 +2333.192 2371 14226 +2335.543 2372 14232 +2337.894 2372 14232 +2340.245 2374 14244 +2342.596 2377 14262 +2344.947 2377 14262 +2347.298 2380 14280 +2349.649 2381 14286 +2352.000 2381 14286 +2354.351 2382 14292 +2356.702 2384 14304 +2359.053 2385 14310 +2361.404 2385 14310 +2363.755 2388 14328 +2366.106 2390 14340 +2368.457 2392 14352 +2370.808 2393 14358 +2373.159 2396 14376 +2375.510 2397 14382 +2377.861 2398 14388 +2380.212 2399 14394 +2382.563 2402 14412 +2384.914 2402 14412 +2387.265 2403 14418 +2389.616 2406 14436 +2391.967 2406 14436 +2394.318 2407 14442 +2396.669 2408 14448 +2399.020 2408 14448 +2401.371 2410 14460 +2403.722 2411 14466 +2406.073 2412 14472 +2408.424 2414 14484 +2410.775 2415 14490 +2413.126 2417 14502 +2415.477 2418 14508 +2417.828 2419 14514 +2420.179 2421 14526 +2422.530 2422 14532 +2424.881 2423 14538 +2427.232 2424 14544 +2429.583 2425 14550 +2431.934 2426 14556 +2434.285 2426 14556 +2436.636 2427 14562 +2438.987 2430 14580 +2441.338 2432 14592 +2443.689 2434 14604 +2446.040 2435 14610 +2448.391 2437 14622 +2450.742 2438 14628 +2453.093 2439 14634 +2455.444 2439 14634 +2457.795 2442 14652 +2460.146 2443 14658 +2462.497 2443 14658 +2464.848 2446 14676 +2467.199 2447 14682 +2469.550 2448 14688 +2471.901 2450 14700 +2474.252 2451 14706 +2476.603 2451 14706 +2478.954 2452 14712 +2481.305 2452 14712 +2483.656 2453 14718 +2486.007 2454 14724 +2488.358 2455 14730 +2490.709 2456 14736 +2493.060 2456 14736 +2495.411 2458 14748 +2497.762 2459 14754 +2500.113 2459 14754 +2502.464 2460 14760 +2504.815 2461 14766 +2507.166 2462 14772 +2509.517 2462 14772 +2511.868 2464 14784 +2514.219 2465 14790 +2516.570 2465 14790 +2518.921 2466 14796 +2521.272 2468 14808 +2523.623 2468 14808 +2525.974 2469 14814 +2528.325 2469 14814 +2530.676 2471 14826 +2533.027 2474 14844 +2535.378 2474 14844 +2537.729 2476 14856 +2540.080 2477 14862 +2542.431 2480 14880 +2544.782 2481 14886 +2547.133 2482 14892 +2549.484 2485 14910 +2551.835 2485 14910 +2554.186 2486 14916 +2556.537 2486 14916 +2558.888 2489 14934 +2561.239 2489 14934 +2563.590 2490 14940 +2565.941 2493 14958 +2568.292 2494 14964 +2570.643 2494 14964 +2572.994 2497 14982 +2575.345 2497 14982 +2577.696 2498 14988 +2580.047 2500 15000 +2582.398 2500 15000 +2584.749 2502 15012 +2587.100 2502 15012 +2589.451 2503 15018 +2591.802 2504 15024 +2594.153 2505 15030 +2596.504 2506 15036 +2598.855 2507 15042 +2601.206 2509 15054 +2603.557 2511 15066 +2605.908 2511 15066 +2608.259 2513 15078 +2610.610 2514 15084 +2612.961 2515 15090 +2615.312 2516 15096 +2617.663 2519 15114 +2620.014 2520 15120 +2622.365 2520 15120 +2624.716 2523 15138 +2627.067 2524 15144 +2629.418 2524 15144 +2631.769 2525 15150 +2634.120 2527 15162 +2636.471 2528 15168 +2638.822 2528 15168 +2641.173 2529 15174 +2643.524 2529 15174 +2645.875 2532 15192 +2648.226 2532 15192 +2650.577 2534 15204 +2652.928 2535 15210 +2655.279 2537 15222 +2657.630 2537 15222 +2659.981 2538 15228 +2662.332 2539 15234 +2664.683 2541 15246 +2667.034 2542 15252 +2669.385 2544 15264 +2671.736 2546 15276 +2674.087 2546 15276 +2676.438 2549 15294 +2678.789 2550 15300 +2681.140 2551 15306 +2683.491 2551 15306 +2685.842 2554 15324 +2688.193 2555 15330 +2690.544 2555 15330 +2692.895 2556 15336 +2695.246 2559 15354 +2697.597 2563 15378 +2699.948 2563 15378 +2702.299 2566 15396 +2704.650 2567 15402 +2707.001 2567 15402 +2709.352 2567 15402 +2711.703 2569 15414 +2714.054 2572 15432 +2716.405 2572 15432 +2718.756 2574 15444 +2721.107 2576 15456 +2723.458 2578 15468 +2725.809 2580 15480 +2728.160 2580 15480 +2730.511 2582 15492 +2732.862 2584 15504 +2735.213 2584 15504 +2737.564 2587 15522 +2739.915 2588 15528 +2742.266 2589 15534 +2744.617 2591 15546 +2746.968 2592 15552 +2749.319 2596 15576 +2751.670 2596 15576 +2754.021 2599 15594 +2756.372 2600 15600 +2758.723 2602 15612 +2761.074 2604 15624 +2763.425 2608 15648 +2765.776 2608 15648 +2768.127 2611 15666 +2770.478 2613 15678 +2772.829 2616 15696 +2775.180 2618 15708 +2777.531 2618 15708 +2779.882 2620 15720 +2782.233 2622 15732 +2784.584 2626 15756 +2786.935 2626 15756 +2789.286 2627 15762 +2791.637 2630 15780 +2793.988 2630 15780 +2796.339 2631 15786 +2798.690 2632 15792 +2801.041 2634 15804 +2803.392 2634 15804 +2805.743 2635 15810 +2808.094 2637 15822 +2810.445 2638 15828 +2812.796 2639 15834 +2815.147 2641 15846 +2817.498 2642 15852 +2819.849 2645 15870 +2822.200 2645 15870 +2824.551 2646 15876 +2826.902 2646 15876 +2829.253 2649 15894 +2831.604 2649 15894 +2833.955 2650 15900 +2836.306 2652 15912 +2838.657 2652 15912 +2841.008 2656 15936 +2843.359 2659 15954 +2845.710 2659 15954 +2848.061 2661 15966 +2850.412 2662 15972 +2852.763 2663 15978 +2855.114 2664 15984 +2857.465 2664 15984 +2859.816 2665 15990 +2862.167 2665 15990 +2864.518 2667 16002 +2866.869 2668 16008 +2869.220 2668 16008 +2871.571 2669 16014 +2873.922 2670 16020 +2876.273 2672 16032 +2878.624 2675 16050 +2880.975 2676 16056 +2883.326 2680 16080 +2885.677 2680 16080 +2888.028 2682 16092 +2890.379 2684 16104 +2892.730 2688 16128 +2895.081 2688 16128 +2897.432 2691 16146 +2899.783 2691 16146 +2902.134 2692 16152 +2904.485 2694 16164 +2906.836 2698 16188 +2909.187 2700 16200 +2911.538 2702 16212 +2913.889 2704 16224 +2916.240 2706 16236 +2918.591 2706 16236 +2920.942 2708 16248 +2923.293 2709 16254 +2925.644 2710 16260 +2927.995 2710 16260 +2930.346 2713 16278 +2932.697 2713 16278 +2935.048 2714 16284 +2937.399 2717 16302 +2939.750 2717 16302 +2942.101 2718 16308 +2944.452 2721 16326 +2946.803 2722 16332 +2949.154 2722 16332 +2951.505 2725 16350 +2953.856 2726 16356 +2956.207 2726 16356 +2958.558 2727 16362 +2960.909 2727 16362 +2963.260 2730 16380 +2965.611 2730 16380 +2967.962 2731 16386 +2970.313 2731 16386 +2972.664 2733 16398 +2975.015 2734 16404 +2977.366 2734 16404 +2979.717 2735 16410 +2982.068 2737 16422 +2984.419 2739 16434 +2986.770 2740 16440 +2989.121 2743 16458 +2991.472 2746 16476 +2993.823 2747 16482 +2996.174 2747 16482 +2998.525 2751 16506 +3000.876 2751 16506 +3003.227 2753 16518 +3005.578 2755 16530 +3007.929 2755 16530 +3010.280 2756 16536 +3012.631 2759 16554 +3014.982 2760 16560 +3017.333 2762 16572 +3019.684 2763 16578 +3022.035 2764 16584 +3024.386 2764 16584 +3026.737 2766 16596 +3029.088 2767 16602 +3031.439 2768 16608 +3033.790 2768 16608 +3036.141 2770 16620 +3038.492 2771 16626 +3040.843 2772 16632 +3043.194 2774 16644 +3045.545 2775 16650 +3047.896 2776 16656 +3050.247 2778 16668 +3052.598 2778 16668 +3054.949 2779 16674 +3057.300 2780 16680 +3059.651 2781 16686 +3062.002 2782 16692 +3064.353 2783 16698 +3066.704 2784 16704 +3069.055 2785 16710 +3071.406 2785 16710 +3073.757 2786 16716 +3076.108 2787 16722 +3078.459 2788 16728 +3080.810 2789 16734 +3083.161 2790 16740 +3085.512 2791 16746 +3087.863 2793 16758 +3090.214 2794 16764 +3092.565 2795 16770 +3094.916 2797 16782 +3097.267 2798 16788 +3099.618 2799 16794 +3101.969 2800 16800 +3104.320 2802 16812 +3106.671 2804 16824 +3109.022 2805 16830 +3111.373 2808 16848 +3113.724 2809 16854 +3116.075 2809 16854 +3118.426 2810 16860 +3120.777 2812 16872 +3123.128 2813 16878 +3125.479 2813 16878 +3127.830 2814 16884 +3130.181 2816 16896 +3132.532 2818 16908 +3134.883 2820 16920 +3137.234 2822 16932 +3139.585 2823 16938 +3141.936 2824 16944 +3144.287 2826 16956 +3146.638 2827 16962 +3148.989 2827 16962 +3151.340 2829 16974 +3153.691 2830 16980 +3156.042 2832 16992 +3158.393 2832 16992 +3160.744 2833 16998 +3163.095 2836 17016 +3165.446 2836 17016 +3167.797 2837 17022 +3170.148 2839 17034 +3172.499 2839 17034 +3174.850 2841 17046 +3177.201 2841 17046 +3179.552 2843 17058 +3181.903 2845 17070 +3184.254 2846 17076 +3186.605 2847 17082 +3188.956 2847 17082 +3191.307 2850 17100 +3193.658 2851 17106 +3196.009 2851 17106 +3198.360 2852 17112 +3200.711 2854 17124 +3203.062 2855 17130 +3205.413 2856 17136 +3207.764 2857 17142 +3210.115 2859 17154 +3212.466 2860 17160 +3214.817 2861 17166 +3217.168 2862 17172 +3219.519 2864 17184 +3221.870 2865 17190 +3224.221 2866 17196 +3226.572 2868 17208 +3228.923 2869 17214 +3231.274 2870 17220 +3233.625 2871 17226 +3235.976 2873 17238 +3238.327 2874 17244 +3240.678 2875 17250 +3243.029 2875 17250 +3245.380 2876 17256 +3247.731 2878 17268 +3250.082 2879 17274 +3252.433 2880 17280 +3254.784 2880 17280 +3257.135 2881 17286 +3259.486 2882 17292 +3261.837 2883 17298 +3264.188 2884 17304 +3266.539 2886 17316 +3268.890 2887 17322 +3271.241 2888 17328 +3273.592 2888 17328 +3275.943 2889 17334 +3278.294 2890 17340 +3280.645 2892 17352 +3282.996 2893 17358 +3285.347 2893 17358 +3287.698 2894 17364 +3290.049 2896 17376 +3292.400 2897 17382 +3294.751 2897 17382 +3297.102 2900 17400 +3299.453 2901 17406 +3301.804 2902 17412 +3304.155 2906 17436 +3306.506 2906 17436 +3308.857 2907 17442 +3311.208 2910 17460 +3313.559 2911 17466 +3315.910 2911 17466 +3318.261 2913 17478 +3320.612 2915 17490 +3322.963 2916 17496 +3325.314 2919 17514 +3327.665 2919 17514 +3330.016 2921 17526 +3332.367 2921 17526 +3334.718 2923 17538 +3337.069 2924 17544 +3339.420 2925 17550 +3341.771 2928 17568 +3344.122 2929 17574 +3346.473 2930 17580 +3348.824 2930 17580 +3351.175 2932 17592 +3353.526 2934 17604 +3355.877 2935 17610 +3358.228 2935 17610 +3360.579 2938 17628 +3362.930 2939 17634 +3365.281 2940 17640 +3367.632 2944 17664 +3369.983 2944 17664 +3372.334 2945 17670 +3374.685 2948 17688 +3377.036 2948 17688 +3379.387 2949 17694 +3381.738 2951 17706 +3384.089 2953 17718 +3386.440 2953 17718 +3388.791 2955 17730 +3391.142 2956 17736 +3393.493 2959 17754 +3395.844 2960 17760 +3398.195 2963 17778 +3400.546 2963 17778 +3402.897 2964 17784 +3405.248 2965 17790 +3407.599 2967 17802 +3409.950 2969 17814 +3412.301 2972 17832 +3414.652 2973 17838 +3417.003 2976 17856 +3419.354 2976 17856 +3421.705 2980 17880 +3424.056 2980 17880 +3426.407 2983 17898 +3428.758 2985 17910 +3431.109 2987 17922 +3433.460 2991 17946 +3435.811 2991 17946 +3438.162 2994 17964 +3440.513 2996 17976 +3442.864 2996 17976 +3445.215 2999 17994 +3447.566 2999 17994 +3449.917 3001 18006 +3452.268 3001 18006 +3454.619 3004 18024 +3456.970 3004 18024 +3459.321 3006 18036 +3461.672 3008 18048 +3464.023 3009 18054 +3466.374 3011 18066 +3468.725 3013 18078 +3471.076 3014 18084 +3473.427 3015 18090 +3475.778 3019 18114 +3478.129 3019 18114 +3480.480 3020 18120 +3482.831 3024 18144 +3485.182 3026 18156 +3487.533 3028 18168 +3489.884 3031 18186 +3492.235 3031 18186 +3494.586 3033 18198 +3496.937 3036 18216 +3499.288 3036 18216 +3501.639 3038 18228 +3503.990 3041 18246 +3506.341 3041 18246 +3508.692 3042 18252 +3511.043 3044 18264 +3513.394 3047 18282 +3515.745 3047 18282 +3518.096 3051 18306 +3520.447 3052 18312 +3522.798 3053 18318 +3525.149 3056 18336 +3527.500 3057 18342 +3529.851 3059 18354 +3532.202 3063 18378 +3534.553 3066 18396 +3536.904 3066 18396 +3539.255 3068 18408 +3541.606 3072 18432 +3543.957 3073 18438 +3546.308 3076 18456 +3548.659 3078 18468 +3551.010 3081 18486 +3553.361 3084 18504 +3555.712 3084 18504 +3558.063 3085 18510 +3560.414 3088 18528 +3562.765 3090 18540 +3565.116 3090 18540 +3567.467 3094 18564 +3569.818 3096 18576 +3572.169 3098 18588 +3574.520 3102 18612 +3576.871 3104 18624 +3579.222 3109 18654 +3581.573 3109 18654 +3583.924 3110 18660 +3586.275 3115 18690 +3588.626 3115 18690 +3590.977 3116 18696 +3593.328 3117 18702 +3595.679 3122 18732 +3598.030 3122 18732 +3600.381 3124 18744 +3602.732 3125 18750 +3605.083 3127 18762 +3607.434 3129 18774 +3609.785 3132 18792 +3612.136 3132 18792 +3614.487 3136 18816 +3616.838 3140 18840 +3619.189 3142 18852 +3621.540 3143 18858 +3623.891 3146 18876 +3626.242 3151 18906 +3628.593 3151 18906 +3630.944 3152 18912 +3633.295 3155 18930 +3635.646 3158 18948 +3637.997 3160 18960 +3640.348 3164 18984 +3642.699 3166 18996 +3645.050 3167 19002 +3647.401 3168 19008 +3649.752 3171 19026 +3652.103 3174 19044 +3654.454 3176 19056 +3656.805 3179 19074 +3659.156 3184 19104 +3661.507 3184 19104 +3663.858 3186 19116 +3666.209 3188 19128 +3668.560 3192 19152 +3670.911 3194 19164 +3673.262 3195 19170 +3675.613 3199 19194 +3677.964 3201 19206 +3680.315 3203 19218 +3682.666 3206 19236 +3685.017 3207 19242 +3687.368 3210 19260 +3689.719 3212 19272 +3692.070 3214 19284 +3694.421 3216 19296 +3696.772 3219 19314 +3699.123 3219 19314 +3701.474 3223 19338 +3703.825 3227 19362 +3706.176 3230 19380 +3708.527 3231 19386 +3710.878 3235 19410 +3713.229 3238 19428 +3715.580 3239 19434 +3717.931 3242 19452 +3720.282 3243 19458 +3722.633 3246 19476 +3724.984 3249 19494 +3727.335 3251 19506 +3729.686 3252 19512 +3732.037 3253 19518 +3734.388 3258 19548 +3736.739 3260 19560 +3739.090 3262 19572 +3741.441 3262 19572 +3743.792 3268 19608 +3746.143 3270 19620 +3748.494 3270 19620 +3750.845 3272 19632 +3753.196 3276 19656 +3755.547 3278 19668 +3757.898 3278 19668 +3760.249 3281 19686 +3762.600 3285 19710 +3764.951 3288 19728 +3767.302 3291 19746 +3769.653 3293 19758 +3772.004 3298 19788 +3774.355 3301 19806 +3776.706 3302 19812 +3779.057 3304 19824 +3781.408 3305 19830 +3783.759 3310 19860 +3786.110 3310 19860 +3788.461 3313 19878 +3790.812 3317 19902 +3793.163 3318 19908 +3795.514 3321 19926 +3797.865 3325 19950 +3800.216 3326 19956 +3802.567 3329 19974 +3804.918 3333 19998 +3807.269 3334 20004 +3809.620 3336 20016 +3811.971 3341 20046 +3814.322 3343 20058 +3816.673 3345 20070 +3819.024 3347 20082 +3821.375 3348 20088 +3823.726 3350 20100 +3826.077 3354 20124 +3828.428 3356 20136 +3830.779 3358 20148 +3833.130 3361 20166 +3835.481 3364 20184 +3837.832 3368 20208 +3840.183 3368 20208 +3842.534 3371 20226 +3844.885 3373 20238 +3847.236 3376 20256 +3849.587 3378 20268 +3851.938 3381 20286 +3854.289 3382 20292 +3856.640 3385 20310 +3858.991 3390 20340 +3861.342 3390 20340 +3863.693 3396 20376 +3866.044 3398 20388 +3868.395 3399 20394 +3870.746 3403 20418 +3873.097 3407 20442 +3875.448 3408 20448 +3877.799 3409 20454 +3880.150 3417 20502 +3882.501 3418 20508 +3884.852 3420 20520 +3887.203 3421 20526 +3889.554 3426 20556 +3891.905 3429 20574 +3894.256 3430 20580 +3896.607 3431 20586 +3898.958 3436 20616 +3901.309 3439 20634 +3903.660 3440 20640 +3906.011 3441 20646 +3908.362 3444 20664 +3910.713 3449 20694 +3913.064 3452 20712 +3915.415 3455 20730 +3917.766 3457 20742 +3920.117 3462 20772 +3922.468 3463 20778 +3924.819 3473 20838 +3927.170 3473 20838 +3929.521 3475 20850 +3931.872 3483 20898 +3934.223 3483 20898 +3936.574 3486 20916 +3938.925 3495 20970 +3941.276 3499 20994 +3943.627 3500 21000 +3945.978 3503 21018 +3948.329 3505 21030 +3950.680 3510 21060 +3953.031 3511 21066 +3955.382 3514 21084 +3957.733 3515 21090 +3960.084 3518 21108 +3962.435 3520 21120 +3964.786 3522 21132 +3967.137 3524 21144 +3969.488 3528 21168 +3971.839 3530 21180 +3974.190 3531 21186 +3976.541 3535 21210 +3978.892 3543 21258 +3981.243 3548 21288 +3983.594 3548 21288 +3985.945 3549 21294 +3988.296 3553 21318 +3990.647 3558 21348 +3992.998 3558 21348 +3995.349 3559 21354 +3997.700 3565 21390 +4000.051 3569 21414 +4002.402 3573 21438 +4004.753 3579 21474 +4007.104 3580 21480 +4009.455 3590 21540 +4011.806 3594 21564 +4014.157 3596 21576 +4016.508 3597 21582 +4018.859 3599 21594 +4021.210 3604 21624 +4023.561 3604 21624 +4025.912 3605 21630 +4028.263 3608 21648 +4030.614 3614 21684 +4032.965 3614 21684 +4035.316 3616 21696 +4037.667 3620 21720 +4040.018 3625 21750 +4042.369 3626 21756 +4044.720 3628 21768 +4047.071 3631 21786 +4049.422 3632 21792 +4051.773 3635 21810 +4054.124 3637 21822 +4056.475 3642 21852 +4058.826 3644 21864 +4061.177 3646 21876 +4063.528 3647 21882 +4065.879 3651 21906 +4068.230 3654 21924 +4070.581 3655 21930 +4072.932 3656 21936 +4075.283 3661 21966 +4077.634 3664 21984 +4079.985 3666 21996 +4082.336 3667 22002 +4084.687 3671 22026 +4087.038 3677 22062 +4089.389 3680 22080 +4091.740 3680 22080 +4094.091 3681 22086 +4096.442 3690 22140 +4098.793 3690 22140 +4101.144 3691 22146 +4103.495 3691 22146 +4105.846 3699 22194 +4108.197 3701 22206 +4110.548 3702 22212 +4112.899 3708 22248 +4115.250 3715 22290 +4117.601 3715 22290 +4119.952 3717 22302 +4122.303 3720 22320 +4124.654 3726 22356 +4127.005 3728 22368 +4129.356 3729 22374 +4131.707 3732 22392 +4134.058 3733 22398 +4136.409 3733 22398 +4138.760 3735 22410 +4141.111 3736 22416 +4143.462 3736 22416 +4145.813 3737 22422 +4148.164 3741 22446 +4150.515 3746 22476 +4152.866 3749 22494 +4155.217 3749 22494 +4157.568 3752 22512 +4159.919 3761 22566 +4162.270 3764 22584 +4164.621 3764 22584 +4166.972 3769 22614 +4169.323 3773 22638 +4171.674 3774 22644 +4174.025 3775 22650 +4176.376 3779 22674 +4178.727 3784 22704 +4181.078 3784 22704 +4183.429 3787 22722 +4185.780 3788 22728 +4188.131 3789 22734 +4190.482 3795 22770 +4192.833 3797 22782 +4195.184 3799 22794 +4197.535 3801 22806 +4199.886 3808 22848 +4202.237 3810 22860 +4204.588 3813 22878 +4206.939 3815 22890 +4209.290 3819 22914 +4211.641 3820 22920 +4213.992 3822 22932 +4216.343 3824 22944 +4218.694 3830 22980 +4221.045 3831 22986 +4223.396 3832 22992 +4225.747 3833 22998 +4228.098 3835 23010 +4230.449 3836 23016 +4232.800 3838 23028 +4235.151 3843 23058 +4237.502 3846 23076 +4239.853 3847 23082 +4242.204 3848 23088 +4244.555 3852 23112 +4246.906 3857 23142 +4249.257 3860 23160 +4251.608 3862 23172 +4253.959 3862 23172 +4256.310 3868 23208 +4258.661 3870 23220 +4261.012 3873 23238 +4263.363 3876 23256 +4265.714 3879 23274 +4268.065 3879 23274 +4270.416 3882 23292 +4272.767 3884 23304 +4275.118 3885 23310 +4277.469 3888 23328 +4279.820 3892 23352 +4282.171 3894 23364 +4284.522 3896 23376 +4286.873 3896 23376 +4289.224 3900 23400 +4291.575 3908 23448 +4293.926 3908 23448 +4296.277 3911 23466 +4298.628 3915 23490 +4300.979 3918 23508 +4303.330 3921 23526 +4305.681 3923 23538 +4308.032 3927 23562 +4310.383 3927 23562 +4312.734 3930 23580 +4315.085 3931 23586 +4317.436 3934 23604 +4319.787 3937 23622 +4322.138 3943 23658 +4324.489 3946 23676 +4326.840 3947 23682 +4329.191 3948 23688 +4331.542 3956 23736 +4333.893 3957 23742 +4336.244 3960 23760 +4338.595 3960 23760 +4340.946 3964 23784 +4343.297 3967 23802 +4345.648 3970 23820 +4347.999 3972 23832 +4350.350 3975 23850 +4352.701 3977 23862 +4355.052 3978 23868 +4357.403 3980 23880 +4359.754 3983 23898 +4362.105 3984 23904 +4364.456 3989 23934 +4366.807 3992 23952 +4369.158 3994 23964 +4371.509 3997 23982 +4373.860 3999 23994 +4376.211 4004 24024 +4378.562 4006 24036 +4380.913 4009 24054 +4383.264 4009 24054 +4385.615 4012 24072 +4387.966 4015 24090 +4390.317 4018 24108 +4392.668 4021 24126 +4395.019 4023 24138 +4397.370 4027 24162 +4399.721 4029 24174 +4402.072 4033 24198 +4404.423 4033 24198 +4406.774 4034 24204 +4409.125 4036 24216 +4411.476 4037 24222 +4413.827 4039 24234 +4416.178 4041 24246 +4418.529 4043 24258 +4420.880 4043 24258 +4423.231 4046 24276 +4425.582 4047 24282 +4427.933 4048 24288 +4430.284 4051 24306 +4432.635 4051 24306 +4434.986 4052 24312 +4437.337 4054 24324 +4439.688 4056 24336 +4442.039 4056 24336 +4444.390 4057 24342 +4446.741 4060 24360 +4449.092 4060 24360 +4451.443 4061 24366 +4453.794 4062 24372 +4456.145 4066 24396 +4458.496 4067 24402 +4460.847 4068 24408 +4463.198 4074 24444 +4465.549 4075 24450 +4467.900 4077 24462 +4470.251 4078 24468 +4472.602 4083 24498 +4474.953 4084 24504 +4477.304 4086 24516 +4479.655 4087 24522 +4482.006 4090 24540 +4484.357 4094 24564 +4486.708 4097 24582 +4489.059 4100 24600 +4491.410 4102 24612 +4493.761 4104 24624 +4496.112 4111 24666 +4498.463 4114 24684 +4500.814 4114 24684 +4503.165 4119 24714 +4505.516 4122 24732 +4507.867 4125 24750 +4510.218 4126 24756 +4512.569 4127 24762 +4514.920 4130 24780 +4517.271 4133 24798 +4519.622 4135 24810 +4521.973 4136 24816 +4524.324 4137 24822 +4526.675 4138 24828 +4529.026 4144 24864 +4531.377 4147 24882 +4533.728 4148 24888 +4536.079 4150 24900 +4538.430 4154 24924 +4540.781 4160 24960 +4543.132 4161 24966 +4545.483 4164 24984 +4547.834 4167 25002 +4550.185 4170 25020 +4552.536 4171 25026 +4554.887 4177 25062 +4557.238 4179 25074 +4559.589 4180 25080 +4561.940 4181 25086 +4564.291 4183 25098 +4566.642 4184 25104 +4568.993 4188 25128 +4571.344 4189 25134 +4573.695 4192 25152 +4576.046 4195 25170 +4578.397 4202 25212 +4580.748 4204 25224 +4583.099 4205 25230 +4585.450 4210 25260 +4587.801 4214 25284 +4590.152 4215 25290 +4592.503 4218 25308 +4594.854 4219 25314 +4597.205 4224 25344 +4599.556 4231 25386 +4601.907 4233 25398 +4604.258 4236 25416 +4606.609 4240 25440 +4608.960 4241 25446 +4611.311 4243 25458 +4613.662 4244 25464 +4616.013 4245 25470 +4618.364 4247 25482 +4620.715 4248 25488 +4623.066 4249 25494 +4625.417 4249 25494 +4627.768 4252 25512 +4630.119 4253 25518 +4632.470 4253 25518 +4634.821 4254 25524 +4637.172 4254 25524 +4639.523 4256 25536 +4641.874 4257 25542 +4644.225 4259 25554 +4646.576 4261 25566 +4648.927 4261 25566 +4651.278 4262 25572 +4653.629 4264 25584 +4655.980 4265 25590 +4658.331 4267 25602 +4660.682 4269 25614 +4663.033 4273 25638 +4665.384 4273 25638 +4667.735 4274 25644 +4670.086 4275 25650 +4672.437 4277 25662 +4674.788 4278 25668 +4677.139 4281 25686 +4679.490 4281 25686 +4681.841 4282 25692 +4684.192 4283 25698 +4686.543 4285 25710 +4688.894 4286 25716 +4691.245 4286 25716 +4693.596 4288 25728 +4695.947 4290 25740 +4698.298 4290 25740 +4700.649 4293 25758 +4703.000 4294 25764 +4705.351 4294 25764 +4707.702 4295 25770 +4710.053 4297 25782 +4712.404 4300 25800 +4714.755 4303 25818 +4717.106 4304 25824 +4719.457 4306 25836 +4721.808 4308 25848 +4724.159 4308 25848 +4726.510 4310 25860 +4728.861 4311 25866 +4731.212 4312 25872 +4733.563 4314 25884 +4735.914 4315 25890 +4738.265 4316 25896 +4740.616 4319 25914 +4742.967 4320 25920 +4745.318 4320 25920 +4747.669 4323 25938 +4750.020 4324 25944 +4752.371 4324 25944 +4754.722 4327 25962 +4757.073 4328 25968 +4759.424 4329 25974 +4761.775 4332 25992 +4764.126 4333 25998 +4766.477 4334 26004 +4768.828 4336 26016 +4771.179 4337 26022 +4773.530 4339 26034 +4775.881 4339 26034 +4778.232 4341 26046 +4780.583 4342 26052 +4782.934 4343 26058 +4785.285 4343 26058 +4787.636 4344 26064 +4789.987 4345 26070 +4792.338 4347 26082 +4794.689 4349 26094 +4797.040 4351 26106 +4799.391 4351 26106 +4801.742 4353 26118 +4804.093 4354 26124 +4806.444 4355 26130 +4808.795 4355 26130 +4811.146 4356 26136 +4813.497 4358 26148 +4815.848 4359 26154 +4818.199 4360 26160 +4820.550 4362 26172 +4822.901 4363 26178 +4825.252 4365 26190 +4827.603 4366 26196 +4829.954 4368 26208 +4832.305 4370 26220 +4834.656 4373 26238 +4837.007 4374 26244 +4839.358 4374 26244 +4841.709 4376 26256 +4844.060 4378 26268 +4846.411 4378 26268 +4848.762 4379 26274 +4851.113 4381 26286 +4853.464 4382 26292 +4855.815 4384 26304 +4858.166 4385 26310 +4860.517 4386 26316 +4862.868 4388 26328 +4865.219 4390 26340 +4867.570 4390 26340 +4869.921 4392 26352 +4872.272 4394 26364 +4874.623 4395 26370 +4876.974 4396 26376 +4879.325 4398 26388 +4881.676 4398 26388 +4884.027 4399 26394 +4886.378 4400 26400 +4888.729 4402 26412 +4891.080 4404 26424 +4893.431 4407 26442 +4895.782 4409 26454 +4898.133 4409 26454 +4900.484 4412 26472 +4902.835 4413 26478 +4905.186 4413 26478 +4907.537 4415 26490 +4909.888 4417 26502 +4912.239 4419 26514 +4914.590 4421 26526 +4916.941 4421 26526 +4919.292 4423 26538 +4921.643 4425 26550 +4923.994 4427 26562 +4926.345 4429 26574 +4928.696 4429 26574 +4931.047 4432 26592 +4933.398 4434 26604 +4935.749 4434 26604 +4938.100 4436 26616 +4940.451 4438 26628 +4942.802 4438 26628 +4945.153 4440 26640 +4947.504 4442 26652 +4949.855 4444 26664 +4952.206 4444 26664 +4954.557 4446 26676 +4956.908 4448 26688 +4959.259 4448 26688 +4961.610 4450 26700 +4963.961 4452 26712 +4966.312 4455 26730 +4968.663 4456 26736 +4971.014 4456 26736 +4973.365 4458 26748 +4975.716 4459 26754 +4978.067 4460 26760 +4980.418 4462 26772 +4982.769 4463 26778 +4985.120 4464 26784 +4987.471 4464 26784 +4989.822 4466 26796 +4992.173 4468 26808 +4994.524 4468 26808 +4996.875 4469 26814 +4999.226 4470 26820 +5001.577 4471 26826 +5003.928 4473 26838 +5006.279 4476 26856 +5008.630 4478 26868 +5010.981 4479 26874 +5013.332 4481 26886 +5015.683 4483 26898 +5018.034 4483 26898 +5020.385 4485 26910 +5022.736 4487 26922 +5025.087 4491 26946 +5027.438 4491 26946 +5029.789 4492 26952 +5032.140 4495 26970 +5034.491 4495 26970 +5036.842 4497 26982 +5039.193 4499 26994 +5041.544 4502 27012 +5043.895 4503 27018 +5046.246 4503 27018 +5048.597 4507 27042 +5050.948 4508 27048 +5053.299 4510 27060 +5055.650 4511 27066 +5058.001 4514 27084 +5060.352 4514 27084 +5062.703 4515 27090 +5065.054 4518 27108 +5067.405 4518 27108 +5069.756 4519 27114 +5072.107 4522 27132 +5074.458 4522 27132 +5076.809 4524 27144 +5079.160 4526 27156 +5081.511 4526 27156 +5083.862 4526 27156 +5086.213 4528 27168 +5088.564 4530 27180 +5090.915 4534 27204 +5093.266 4538 27228 +5095.617 4538 27228 +5097.968 4542 27252 +5100.319 4542 27252 +5102.670 4544 27264 +5105.021 4546 27276 +5107.372 4547 27282 +5109.723 4549 27294 +5112.074 4549 27294 +5114.425 4549 27294 +5116.776 4550 27300 +5119.127 4551 27306 +5121.478 4553 27318 +5123.829 4555 27330 +5126.180 4557 27342 +5128.531 4557 27342 +5130.882 4559 27354 +5133.233 4559 27354 +5135.584 4561 27366 +5137.935 4563 27378 +5140.286 4563 27378 +5142.637 4565 27390 +5144.988 4568 27408 +5147.339 4570 27420 +5149.690 4572 27432 +5152.041 4574 27444 +5154.392 4574 27444 +5156.743 4575 27450 +5159.094 4577 27462 +5161.445 4579 27474 +5163.796 4581 27486 +5166.147 4582 27492 +5168.498 4583 27498 +5170.849 4586 27516 +5173.200 4587 27522 +5175.551 4588 27528 +5177.902 4588 27528 +5180.253 4590 27540 +5182.604 4592 27552 +5184.955 4593 27558 +5187.306 4594 27564 +5189.657 4596 27576 +5192.008 4596 27576 +5194.359 4597 27582 +5196.710 4598 27588 +5199.061 4600 27600 +5201.412 4602 27612 +5203.763 4602 27612 +5206.114 4604 27624 +5208.465 4606 27636 +5210.816 4607 27642 +5213.167 4609 27654 +5215.518 4610 27660 +5217.869 4611 27666 +5220.220 4613 27678 +5222.571 4614 27684 +5224.922 4616 27696 +5227.273 4618 27708 +5229.624 4618 27708 +5231.975 4619 27714 +5234.326 4622 27732 +5236.677 4622 27732 +5239.028 4623 27738 +5241.379 4624 27744 +5243.730 4626 27756 +5246.081 4627 27762 +5248.432 4628 27768 +5250.783 4628 27768 +5253.134 4629 27774 +5255.485 4631 27786 +5257.836 4632 27792 +5260.187 4633 27798 +5262.538 4636 27816 +5264.889 4636 27816 +5267.240 4637 27822 +5269.591 4639 27834 +5271.942 4639 27834 +5274.293 4640 27840 +5276.644 4641 27846 +5278.995 4643 27858 +5281.346 4644 27864 +5283.697 4645 27870 +5286.048 4647 27882 +5288.399 4649 27894 +5290.750 4650 27900 +5293.101 4651 27906 +5295.452 4652 27912 +5297.803 4654 27924 +5300.154 4654 27924 +5302.505 4656 27936 +5304.856 4657 27942 +5307.207 4659 27954 +5309.558 4659 27954 +5311.909 4660 27960 +5314.260 4663 27978 +5316.611 4663 27978 +5318.962 4666 27996 +5321.313 4666 27996 +5323.664 4667 28002 +5326.015 4670 28020 +5328.366 4671 28026 +5330.717 4671 28026 +5333.068 4672 28032 +5335.419 4674 28044 +5337.770 4675 28050 +5340.121 4675 28050 +5342.472 4677 28062 +5344.823 4677 28062 +5347.174 4679 28074 +5349.525 4679 28074 +5351.876 4681 28086 +5354.227 4681 28086 +5356.578 4683 28098 +5358.929 4685 28110 +5361.280 4687 28122 +5363.631 4688 28128 +5365.982 4689 28134 +5368.333 4692 28152 +5370.684 4693 28158 +5373.035 4695 28170 +5375.386 4697 28182 +5377.737 4697 28182 +5380.088 4697 28182 +5382.439 4700 28200 +5384.790 4701 28206 +5387.141 4701 28206 +5389.492 4704 28224 +5391.843 4705 28230 +5394.194 4705 28230 +5396.545 4705 28230 +5398.896 4705 28230 +5401.247 4705 28230 +5403.598 4705 28230 +5405.949 4705 28230 +5408.300 4705 28230 +5410.651 4705 28230 +5413.002 4705 28230 +5415.353 4707 28242 +5417.704 4708 28248 +5420.055 4709 28254 +5422.406 4709 28254 +5424.757 4709 28254 +5427.108 4709 28254 +5429.459 4709 28254 +5431.810 4709 28254 +5434.161 4710 28260 +5436.512 4718 28308 +5438.863 4720 28320 +5441.214 4722 28332 +5443.565 4724 28344 +5445.916 4725 28350 +5448.267 4730 28380 +5450.618 4732 28392 +5452.969 4734 28404 +5455.320 4734 28404 +5457.671 4738 28428 +5460.022 4740 28440 +5462.373 4743 28458 +5464.724 4744 28464 +5467.075 4744 28464 +5469.426 4748 28488 +5471.777 4748 28488 +5474.128 4751 28506 +5476.479 4751 28506 +5478.830 4754 28524 +5481.181 4759 28554 +5483.532 4760 28560 +5485.883 4761 28566 +5488.234 4764 28584 +5490.585 4764 28584 +5492.936 4768 28608 +5495.287 4769 28614 +5497.638 4771 28626 +5499.989 4772 28632 +5502.340 4775 28650 +5504.691 4776 28656 +5507.042 4780 28680 +5509.393 4782 28692 +5511.744 4784 28704 +5514.095 4784 28704 +5516.446 4787 28722 +5518.797 4791 28746 +5521.148 4793 28758 +5523.499 4796 28776 +5525.850 4804 28824 +5528.201 4804 28824 +5530.552 4805 28830 +5532.903 4808 28848 +5535.254 4812 28872 +5537.605 4813 28878 +5539.956 4813 28878 +5542.307 4816 28896 +5544.658 4821 28926 +5547.009 4823 28938 +5549.360 4825 28950 +5551.711 4830 28980 +5554.062 4831 28986 +5556.413 4833 28998 +5558.764 4834 29004 +5561.115 4839 29034 +5563.466 4839 29034 +5565.817 4843 29058 +5568.168 4844 29064 +5570.519 4845 29070 +5572.870 4846 29076 +5575.221 4849 29094 +5577.572 4850 29100 +5579.923 4850 29100 +5582.274 4852 29112 +5584.625 4854 29124 +5586.976 4855 29130 +5589.327 4857 29142 +5591.678 4861 29166 +5594.029 4862 29172 +5596.380 4864 29184 +5598.731 4864 29184 +5601.082 4865 29190 +5603.433 4869 29214 +5605.784 4874 29244 +5608.135 4874 29244 +5610.486 4875 29250 +5612.837 4878 29268 +5615.188 4882 29292 +5617.539 4884 29304 +5619.890 4884 29304 +5622.241 4886 29316 +5624.592 4889 29334 +5626.943 4891 29346 +5629.294 4892 29352 +5631.645 4894 29364 +5633.996 4897 29382 +5636.347 4900 29400 +5638.698 4901 29406 +5641.049 4902 29412 +5643.400 4906 29436 +5645.751 4907 29442 +5648.102 4909 29454 +5650.453 4910 29460 +5652.804 4911 29466 +5655.155 4917 29502 +5657.506 4919 29514 +5659.857 4919 29514 +5662.208 4924 29544 +5664.559 4928 29568 +5666.910 4928 29568 +5669.261 4929 29574 +5671.612 4931 29586 +5673.963 4935 29610 +5676.314 4936 29616 +5678.665 4937 29622 +5681.016 4939 29634 +5683.367 4942 29652 +5685.718 4946 29676 +5688.069 4947 29682 +5690.420 4949 29694 +5692.771 4951 29706 +5695.122 4954 29724 +5697.473 4957 29742 +5699.824 4959 29754 +5702.175 4962 29772 +5704.526 4965 29790 +5706.877 4967 29802 +5709.228 4973 29838 +5711.579 4976 29856 +5713.930 4976 29856 +5716.281 4977 29862 +5718.632 4984 29904 +5720.983 4986 29916 +5723.334 4987 29922 +5725.685 4989 29934 +5728.036 4991 29946 +5730.387 4994 29964 +5732.738 4996 29976 +5735.089 4997 29982 +5737.440 5000 30000 +5739.791 5001 30006 +5742.142 5004 30024 +5744.493 5006 30036 +5746.844 5010 30060 +5749.195 5011 30066 +5751.546 5013 30078 +5753.897 5015 30090 +5756.248 5017 30102 +5758.599 5019 30114 +5760.950 5021 30126 +5763.301 5021 30126 +5765.652 5025 30150 +5768.003 5026 30156 +5770.354 5028 30168 +5772.705 5029 30174 +5775.056 5031 30186 +5777.407 5035 30210 +5779.758 5036 30216 +5782.109 5038 30228 +5784.460 5038 30228 +5786.811 5040 30240 +5789.162 5045 30270 +5791.513 5049 30294 +5793.864 5049 30294 +5796.215 5051 30306 +5798.566 5053 30318 +5800.917 5055 30330 +5803.268 5058 30348 +5805.619 5058 30348 +5807.970 5059 30354 +5810.321 5059 30354 +5812.672 5063 30378 +5815.023 5066 30396 +5817.374 5067 30402 +5819.725 5068 30408 +5822.076 5069 30414 +5824.427 5072 30432 +5826.778 5075 30450 +5829.129 5077 30462 +5831.480 5078 30468 +5833.831 5080 30480 +5836.182 5082 30492 +5838.533 5085 30510 +5840.884 5086 30516 +5843.235 5088 30528 +5845.586 5089 30534 +5847.937 5093 30558 +5850.288 5095 30570 +5852.639 5097 30582 +5854.990 5098 30588 +5857.341 5100 30600 +5859.692 5106 30636 +5862.043 5106 30636 +5864.394 5108 30648 +5866.745 5113 30678 +5869.096 5116 30696 +5871.447 5117 30702 +5873.798 5118 30708 +5876.149 5122 30732 +5878.500 5124 30744 +5880.851 5124 30744 +5883.202 5126 30756 +5885.553 5130 30780 +5887.904 5132 30792 +5890.255 5134 30804 +5892.606 5135 30810 +5894.957 5140 30840 +5897.308 5140 30840 +5899.659 5141 30846 +5902.010 5147 30882 +5904.361 5148 30888 +5906.712 5149 30894 +5909.063 5151 30906 +5911.414 5157 30942 +5913.765 5159 30954 +5916.116 5161 30966 +5918.467 5162 30972 +5920.818 5163 30978 +5923.169 5167 31002 +5925.520 5169 31014 +5927.871 5170 31020 +5930.222 5170 31020 +5932.573 5172 31032 +5934.924 5176 31056 +5937.275 5177 31062 +5939.626 5178 31068 +5941.977 5179 31074 +5944.328 5184 31104 +5946.679 5187 31122 +5949.030 5188 31128 +5951.381 5191 31146 +5953.732 5194 31164 +5956.083 5196 31176 +5958.434 5197 31182 +5960.785 5198 31188 +5963.136 5198 31188 +5965.487 5201 31206 +5967.838 5204 31224 +5970.189 5206 31236 +5972.540 5206 31236 +5974.891 5210 31260 +5977.242 5214 31284 +5979.593 5214 31284 +5981.944 5216 31296 +5984.295 5217 31302 +5986.646 5221 31326 +5988.997 5222 31332 +5991.348 5226 31356 +5993.699 5226 31356 +5996.050 5229 31374 +5998.401 5232 31392 +6000.752 5235 31410 +6003.103 5236 31416 +6005.454 5238 31428 +6007.805 5240 31440 +6010.156 5241 31446 +6012.507 5244 31464 +6014.858 5246 31476 +6017.209 5249 31494 +6019.560 5249 31494 +6021.911 5253 31518 +6024.262 5257 31542 +6026.613 5257 31542 +6028.964 5258 31548 +6031.315 5262 31572 +6033.666 5264 31584 +6036.017 5267 31602 +6038.368 5269 31614 +6040.719 5271 31626 +6043.070 5271 31626 +6045.421 5275 31650 +6047.772 5276 31656 +6050.123 5277 31662 +6052.474 5279 31674 +6054.825 5282 31692 +6057.176 5283 31698 +6059.527 5285 31710 +6061.878 5286 31716 +6064.229 5290 31740 +6066.580 5290 31740 +6068.931 5293 31758 +6071.282 5299 31794 +6073.633 5301 31806 +6075.984 5301 31806 +6078.335 5304 31824 +6080.686 5307 31842 +6083.037 5310 31860 +6085.388 5310 31860 +6087.739 5312 31872 +6090.090 5315 31890 +6092.441 5316 31896 +6094.792 5319 31914 +6097.143 5321 31926 +6099.494 5322 31932 +6101.845 5324 31944 +6104.196 5328 31968 +6106.547 5329 31974 +6108.898 5331 31986 +6111.249 5331 31986 +6113.600 5335 32010 +6115.951 5339 32034 +6118.302 5340 32040 +6120.653 5341 32046 +6123.004 5342 32052 +6125.355 5344 32064 +6127.706 5347 32082 +6130.057 5348 32088 +6132.408 5351 32106 +6134.759 5354 32124 +6137.110 5356 32136 +6139.461 5357 32142 +6141.812 5358 32148 +6144.163 5360 32160 +6146.514 5362 32172 +6148.865 5363 32178 +6151.216 5367 32202 +6153.567 5368 32208 +6155.918 5368 32208 +6158.269 5369 32214 +6160.620 5371 32226 +6162.971 5374 32244 +6165.322 5377 32262 +6167.673 5377 32262 +6170.024 5380 32280 +6172.375 5384 32304 +6174.726 5385 32310 +6177.077 5387 32322 +6179.428 5390 32340 +6181.779 5391 32346 +6184.130 5392 32352 +6186.481 5396 32376 +6188.832 5399 32394 +6191.183 5399 32394 +6193.534 5402 32412 +6195.885 5404 32424 +6198.236 5406 32436 +6200.587 5407 32442 +6202.938 5408 32448 +6205.289 5412 32472 +6207.640 5414 32484 +6209.991 5415 32490 +6212.342 5416 32496 +6214.693 5421 32526 +6217.044 5427 32562 +6219.395 5427 32562 +6221.746 5428 32568 +6224.097 5430 32580 +6226.448 5435 32610 +6228.799 5437 32622 +6231.150 5437 32622 +6233.501 5441 32646 +6235.852 5443 32658 +6238.203 5445 32670 +6240.554 5448 32688 +6242.905 5450 32700 +6245.256 5451 32706 +6247.607 5452 32712 +6249.958 5456 32736 +6252.309 5457 32742 +6254.660 5460 32760 +6257.011 5462 32772 +6259.362 5467 32802 +6261.713 5469 32814 +6264.064 5470 32820 +6266.415 5473 32838 +6268.766 5479 32874 +6271.117 5479 32874 +6273.468 5480 32880 +6275.819 5481 32886 +6278.170 5486 32916 +6280.521 5487 32922 +6282.872 5488 32928 +6285.223 5488 32928 +6287.574 5490 32940 +6289.925 5495 32970 +6292.276 5495 32970 +6294.627 5497 32982 +6296.978 5498 32988 +6299.329 5501 33006 +6301.680 5505 33030 +6304.031 5509 33054 +6306.382 5511 33066 +6308.733 5513 33078 +6311.084 5514 33084 +6313.435 5518 33108 +6315.786 5518 33108 +6318.137 5521 33126 +6320.488 5522 33132 +6322.839 5526 33156 +6325.190 5527 33162 +6327.541 5527 33162 +6329.892 5528 33168 +6332.243 5529 33174 +6334.594 5531 33186 +6336.945 5536 33216 +6339.296 5536 33216 +6341.647 5538 33228 +6343.998 5539 33234 +6346.349 5541 33246 +6348.700 5543 33258 +6351.051 5547 33282 +6353.402 5549 33294 +6355.753 5549 33294 +6358.104 5553 33318 +6360.455 5554 33324 +6362.806 5556 33336 +6365.157 5557 33342 +6367.508 5560 33360 +6369.859 5561 33366 +6372.210 5563 33378 +6374.561 5566 33396 +6376.912 5567 33402 +6379.263 5567 33402 +6381.614 5569 33414 +6383.965 5573 33438 +6386.316 5575 33450 +6388.667 5576 33456 +6391.018 5577 33462 +6393.369 5579 33474 +6395.720 5585 33510 +6398.071 5587 33522 +6400.422 5588 33528 +6402.773 5590 33540 +6405.124 5593 33558 +6407.475 5595 33570 +6409.826 5596 33576 +6412.177 5596 33576 +6414.528 5601 33606 +6416.879 5603 33618 +6419.230 5607 33642 +6421.581 5609 33654 +6423.932 5611 33666 +6426.283 5612 33672 +6428.634 5613 33678 +6430.985 5616 33696 +6433.336 5620 33720 +6435.687 5622 33732 +6438.038 5623 33738 +6440.389 5624 33744 +6442.740 5626 33756 +6445.091 5632 33792 +6447.442 5633 33798 +6449.793 5635 33810 +6452.144 5637 33822 +6454.495 5640 33840 +6456.846 5642 33852 +6459.197 5644 33864 +6461.548 5647 33882 +6463.899 5650 33900 +6466.250 5651 33906 +6468.601 5651 33906 +6470.952 5653 33918 +6473.303 5655 33930 +6475.654 5658 33948 +6478.005 5660 33960 +6480.356 5660 33960 +6482.707 5663 33978 +6485.058 5664 33984 +6487.409 5669 34014 +6489.760 5669 34014 +6492.111 5670 34020 +6494.462 5677 34062 +6496.813 5678 34068 +6499.164 5679 34074 +6501.515 5680 34080 +6503.866 5686 34116 +6506.217 5687 34122 +6508.568 5689 34134 +6510.919 5689 34134 +6513.270 5691 34146 +6515.621 5696 34176 +6517.972 5697 34182 +6520.323 5698 34188 +6522.674 5700 34200 +6525.025 5704 34224 +6527.376 5706 34236 +6529.727 5707 34242 +6532.078 5708 34248 +6534.429 5712 34272 +6536.780 5713 34278 +6539.131 5716 34296 +6541.482 5718 34308 +6543.833 5720 34320 +6546.184 5722 34332 +6548.535 5724 34344 +6550.886 5726 34356 +6553.237 5729 34374 +6555.588 5729 34374 +6557.939 5732 34392 +6560.290 5735 34410 +6562.641 5738 34428 +6564.992 5738 34428 +6567.343 5740 34440 +6569.694 5744 34464 +6572.045 5749 34494 +6574.396 5750 34500 +6576.747 5751 34506 +6579.098 5757 34542 +6581.449 5758 34548 +6583.800 5758 34548 +6586.151 5763 34578 +6588.502 5766 34596 +6590.853 5766 34596 +6593.204 5767 34602 +6595.555 5769 34614 +6597.906 5775 34650 +6600.257 5776 34656 +6602.608 5778 34668 +6604.959 5781 34686 +6607.310 5784 34704 +6609.661 5784 34704 +6612.012 5786 34716 +6614.363 5788 34728 +6616.714 5788 34728 +6619.065 5791 34746 +6621.416 5794 34764 +6623.767 5795 34770 +6626.118 5796 34776 +6628.469 5797 34782 +6630.820 5802 34812 +6633.171 5805 34830 +6635.522 5808 34848 +6637.873 5810 34860 +6640.224 5813 34878 +6642.575 5816 34896 +6644.926 5819 34914 +6647.277 5819 34914 +6649.628 5820 34920 +6651.979 5825 34950 +6654.330 5826 34956 +6656.681 5827 34962 +6659.032 5828 34968 +6661.383 5831 34986 +6663.734 5833 34998 +6666.085 5836 35016 +6668.436 5837 35022 +6670.787 5842 35052 +6673.138 5843 35058 +6675.489 5845 35070 +6677.840 5845 35070 +6680.191 5852 35112 +6682.542 5854 35124 +6684.893 5855 35130 +6687.244 5857 35142 +6689.595 5859 35154 +6691.946 5863 35178 +6694.297 5864 35184 +6696.648 5865 35190 +6698.999 5866 35196 +6701.350 5869 35214 +6703.701 5872 35232 +6706.052 5874 35244 +6708.403 5876 35256 +6710.754 5877 35262 +6713.105 5879 35274 +6715.456 5882 35292 +6717.807 5885 35310 +6720.158 5888 35328 +6722.509 5888 35328 +6724.860 5892 35352 +6727.211 5896 35376 +6729.562 5896 35376 +6731.913 5899 35394 +6734.264 5899 35394 +6736.615 5904 35424 +6738.966 5905 35430 +6741.317 5908 35448 +6743.668 5908 35448 +6746.019 5911 35466 +6748.370 5913 35478 +6750.721 5914 35484 +6753.072 5915 35490 +6755.423 5917 35502 +6757.774 5920 35520 +6760.125 5923 35538 +6762.476 5926 35556 +6764.827 5927 35562 +6767.178 5930 35580 +6769.529 5931 35586 +6771.880 5934 35604 +6774.231 5934 35604 +6776.582 5938 35628 +6778.933 5939 35634 +6781.284 5941 35646 +6783.635 5943 35658 +6785.986 5944 35664 +6788.337 5948 35688 +6790.688 5950 35700 +6793.039 5952 35712 +6795.390 5954 35724 +6797.741 5956 35736 +6800.092 5958 35748 +6802.443 5962 35772 +6804.794 5962 35772 +6807.145 5964 35784 +6809.496 5965 35790 +6811.847 5969 35814 +6814.198 5971 35826 +6816.549 5975 35850 +6818.900 5976 35856 +6821.251 5978 35868 +6823.602 5979 35874 +6825.953 5981 35886 +6828.304 5983 35898 +6830.655 5987 35922 +6833.006 5991 35946 +6835.357 5991 35946 +6837.708 5993 35958 +6840.059 5997 35982 +6842.410 5999 35994 +6844.761 6001 36006 +6847.112 6004 36024 +6849.463 6008 36048 +6851.814 6011 36066 +6854.165 6014 36084 +6856.516 6014 36084 +6858.867 6019 36114 +6861.218 6022 36132 +6863.569 6023 36138 +6865.920 6025 36150 +6868.271 6027 36162 +6870.622 6031 36186 +6872.973 6035 36210 +6875.324 6036 36216 +6877.675 6038 36228 +6880.026 6041 36246 +6882.377 6043 36258 +6884.728 6046 36276 +6887.079 6048 36288 +6889.430 6049 36294 +6891.781 6053 36318 +6894.132 6055 36330 +6896.483 6058 36348 +6898.834 6059 36354 +6901.185 6063 36378 +6903.536 6065 36390 +6905.887 6069 36414 +6908.238 6070 36420 +6910.589 6070 36420 +6912.940 6077 36462 +6915.291 6078 36468 +6917.642 6080 36480 +6919.993 6086 36516 +6922.344 6092 36552 +6924.695 6094 36564 +6927.046 6095 36570 +6929.397 6101 36606 +6931.748 6106 36636 +6934.099 6107 36642 +6936.450 6110 36660 +6938.801 6114 36684 +6941.152 6115 36690 +6943.503 6119 36714 +6945.854 6122 36732 +6948.205 6124 36744 +6950.556 6126 36756 +6952.907 6130 36780 +6955.258 6131 36786 +6957.609 6135 36810 +6959.960 6135 36810 +6962.311 6138 36828 +6964.662 6142 36852 +6967.013 6145 36870 +6969.364 6148 36888 +6971.715 6150 36900 +6974.066 6154 36924 +6976.417 6154 36924 +6978.768 6159 36954 +6981.119 6160 36960 +6983.470 6162 36972 +6985.821 6166 36996 +6988.172 6168 37008 +6990.523 6168 37008 +6992.874 6171 37026 +6995.225 6173 37038 +6997.576 6175 37050 +6999.927 6180 37080 +7002.278 6181 37086 +7004.629 6183 37098 +7006.980 6189 37134 +7009.331 6191 37146 +7011.682 6192 37152 +7014.033 6195 37170 +7016.384 6197 37182 +7018.735 6199 37194 +7021.086 6201 37206 +7023.437 6204 37224 +7025.788 6207 37242 +7028.139 6210 37260 +7030.490 6212 37272 +7032.841 6218 37308 +7035.192 6222 37332 +7037.543 6224 37344 +7039.894 6226 37356 +7042.245 6228 37368 +7044.596 6229 37374 +7046.947 6233 37398 +7049.298 6237 37422 +7051.649 6240 37440 +7054.000 6241 37446 +7056.351 6244 37464 +7058.702 6247 37482 +7061.053 6249 37494 +7063.404 6254 37524 +7065.755 6255 37530 +7068.106 6256 37536 +7070.457 6258 37548 +7072.808 6262 37572 +7075.159 6263 37578 +7077.510 6265 37590 +7079.861 6271 37626 +7082.212 6272 37632 +7084.563 6274 37644 +7086.914 6278 37668 +7089.265 6279 37674 +7091.616 6283 37698 +7093.967 6285 37710 +7096.318 6290 37740 +7098.669 6291 37746 +7101.020 6294 37764 +7103.371 6296 37776 +7105.722 6302 37812 +7108.073 6303 37818 +7110.424 6304 37824 +7112.775 6306 37836 +7115.126 6310 37860 +7117.477 6311 37866 +7119.828 6312 37872 +7122.179 6316 37896 +7124.530 6320 37920 +7126.881 6322 37932 +7129.232 6323 37938 +7131.583 6327 37962 +7133.934 6331 37986 +7136.285 6332 37992 +7138.636 6335 38010 +7140.987 6337 38022 +7143.338 6340 38040 +7145.689 6343 38058 +7148.040 6344 38064 +7150.391 6346 38076 +7152.742 6348 38088 +7155.093 6353 38118 +7157.444 6354 38124 +7159.795 6356 38136 +7162.146 6359 38154 +7164.497 6359 38154 +7166.848 6361 38166 +7169.199 6363 38178 +7171.550 6364 38184 +7173.901 6366 38196 +7176.252 6367 38202 +7178.603 6368 38208 +7180.954 6369 38214 +7183.305 6369 38214 +7185.656 6371 38226 +7188.007 6372 38232 +7190.358 6374 38244 +7192.709 6374 38244 +7195.060 6376 38256 +7197.411 6377 38262 +7199.762 6378 38268 +7202.113 6380 38280 +7204.464 6381 38286 +7206.815 6382 38292 +7209.166 6384 38304 +7211.517 6386 38316 +7213.868 6386 38316 +7216.219 6387 38322 +7218.570 6388 38328 +7220.921 6389 38334 +7223.272 6390 38340 +7225.623 6393 38358 +7227.974 6393 38358 +7230.325 6394 38364 +7232.676 6396 38376 +7235.027 6397 38382 +7237.378 6399 38394 +7239.729 6401 38406 +7242.080 6404 38424 +7244.431 6404 38424 +7246.782 6406 38436 +7249.133 6410 38460 +7251.484 6412 38472 +7253.835 6413 38478 +7256.186 6415 38490 +7258.537 6421 38526 +7260.888 6422 38532 +7263.239 6429 38574 +7265.590 6430 38580 +7267.941 6432 38592 +7270.292 6439 38634 +7272.643 6443 38658 +7274.994 6445 38670 +7277.345 6445 38670 +7279.696 6447 38682 +7282.047 6450 38700 +7284.398 6455 38730 +7286.749 6456 38736 +7289.100 6458 38748 +7291.451 6463 38778 +7293.802 6465 38790 +7296.153 6469 38814 +7298.504 6469 38814 +7300.855 6474 38844 +7303.206 6477 38862 +7305.557 6477 38862 +7307.908 6482 38892 +7310.259 6484 38904 +7312.610 6485 38910 +7314.961 6486 38916 +7317.312 6489 38934 +7319.663 6496 38976 +7322.014 6498 38988 +7324.365 6502 39012 +7326.716 6508 39048 +7329.067 6508 39048 +7331.418 6510 39060 +7333.769 6512 39072 +7336.120 6518 39108 +7338.471 6518 39108 +7340.822 6520 39120 +7343.173 6521 39126 +7345.524 6524 39144 +7347.875 6526 39156 +7350.226 6527 39162 +7352.577 6531 39186 +7354.928 6534 39204 +7357.279 6541 39246 +7359.630 6542 39252 +7361.981 6542 39252 +7364.332 6544 39264 +7366.683 6545 39270 +7369.034 6551 39306 +7371.385 6553 39318 +7373.736 6553 39318 +7376.087 6558 39348 +7378.438 6561 39366 +7380.789 6564 39384 +7383.140 6564 39384 +7385.491 6565 39390 +7387.842 6569 39414 +7390.193 6578 39468 +7392.544 6579 39474 +7394.895 6582 39492 +7397.246 6585 39510 +7399.597 6586 39516 +7401.948 6589 39534 +7404.299 6590 39540 +7406.650 6591 39546 +7409.001 6594 39564 +7411.352 6594 39564 +7413.703 6595 39570 +7416.054 6597 39582 +7418.405 6598 39588 +7420.756 6600 39600 +7423.107 6601 39606 +7425.458 6602 39612 +7427.809 6604 39624 +7430.160 6606 39636 +7432.511 6606 39636 +7434.862 6607 39642 +7437.213 6609 39654 +7439.564 6610 39660 +7441.915 6610 39660 +7444.266 6613 39678 +7446.617 6614 39684 +7448.968 6616 39696 +7451.319 6618 39708 +7453.670 6618 39708 +7456.021 6620 39720 +7458.372 6622 39732 +7460.723 6624 39744 +7463.074 6625 39750 +7465.425 6626 39756 +7467.776 6626 39756 +7470.127 6627 39762 +7472.478 6628 39768 +7474.829 6629 39774 +7477.180 6630 39780 +7479.531 6633 39798 +7481.882 6633 39798 +7484.233 6634 39804 +7486.584 6637 39822 +7488.935 6637 39822 +7491.286 6638 39828 +7493.637 6640 39840 +7495.988 6640 39840 +7498.339 6641 39846 +7500.690 6643 39858 +7503.041 6645 39870 +7505.392 6645 39870 +7507.743 6647 39882 +7510.094 6648 39888 +7512.445 6649 39894 +7514.796 6650 39900 +7517.147 6651 39906 +7519.498 6652 39912 +7521.849 6653 39918 +7524.200 6654 39924 +7526.551 6655 39930 +7528.902 6656 39936 +7531.253 6659 39954 +7533.604 6661 39966 +7535.955 6662 39972 +7538.306 6663 39978 +7540.657 6666 39996 +7543.008 6667 40002 +7545.359 6667 40002 +7547.710 6669 40014 +7550.061 6669 40014 +7552.412 6671 40026 +7554.763 6673 40038 +7557.114 6673 40038 +7559.465 6675 40050 +7561.816 6679 40074 +7564.167 6679 40074 +7566.518 6680 40080 +7568.869 6682 40092 +7571.220 6683 40098 +7573.571 6684 40104 +7575.922 6686 40116 +7578.273 6688 40128 +7580.624 6692 40152 +7582.975 6693 40158 +7585.326 6693 40158 +7587.677 6694 40164 +7590.028 6695 40170 +7592.379 6697 40182 +7594.730 6698 40188 +7597.081 6699 40194 +7599.432 6702 40212 +7601.783 6703 40218 +7604.134 6704 40224 +7606.485 6707 40242 +7608.836 6707 40242 +7611.187 6708 40248 +7613.538 6711 40266 +7615.889 6711 40266 +7618.240 6712 40272 +7620.591 6712 40272 +7622.942 6715 40290 +7625.293 6715 40290 +7627.644 6716 40296 +7629.995 6718 40308 +7632.346 6720 40320 +7634.697 6720 40320 +7637.048 6722 40332 +7639.399 6722 40332 +7641.750 6723 40338 +7644.101 6724 40344 +7646.452 6724 40344 +7648.803 6725 40350 +7651.154 6726 40356 +7653.505 6728 40368 +7655.856 6731 40386 +7658.207 6732 40392 +7660.558 6734 40404 +7662.909 6735 40410 +7665.260 6736 40416 +7667.611 6739 40434 +7669.962 6740 40440 +7672.313 6740 40440 +7674.664 6743 40458 +7677.015 6744 40464 +7679.366 6744 40464 +7681.717 6745 40470 +7684.068 6748 40488 +7686.419 6748 40488 +7688.770 6750 40500 +7691.121 6752 40512 +7693.472 6756 40536 +7695.823 6757 40542 +7698.174 6757 40542 +7700.525 6761 40566 +7702.876 6761 40566 +7705.227 6762 40572 +7707.578 6763 40578 +7709.929 6765 40590 +7712.280 6766 40596 +7714.631 6767 40602 +7716.982 6768 40608 +7719.333 6771 40626 +7721.684 6772 40632 +7724.035 6772 40632 +7726.386 6773 40638 +7728.737 6775 40650 +7731.088 6776 40656 +7733.439 6777 40662 +7735.790 6777 40662 +7738.141 6778 40668 +7740.492 6780 40680 +7742.843 6781 40686 +7745.194 6781 40686 +7747.545 6784 40704 +7749.896 6785 40710 +7752.247 6785 40710 +7754.598 6788 40728 +7756.949 6789 40734 +7759.300 6790 40740 +7761.651 6792 40752 +7764.002 6793 40758 +7766.353 6794 40764 +7768.704 6796 40776 +7771.055 6797 40782 +7773.406 6799 40794 +7775.757 6801 40806 +7778.108 6801 40806 +7780.459 6802 40812 +7782.810 6805 40830 +7785.161 6805 40830 +7787.512 6807 40842 +7789.863 6807 40842 +7792.214 6809 40854 +7794.565 6809 40854 +7796.916 6811 40866 +7799.267 6813 40878 +7801.618 6814 40884 +7803.969 6815 40890 +7806.320 6816 40896 +7808.671 6817 40902 +7811.022 6818 40908 +7813.373 6818 40908 +7815.724 6819 40914 +7818.075 6821 40926 +7820.426 6823 40938 +7822.777 6823 40938 +7825.128 6824 40944 +7827.479 6826 40956 +7829.830 6826 40956 +7832.181 6827 40962 +7834.532 6828 40968 +7836.883 6830 40980 +7839.234 6831 40986 +7841.585 6834 41004 +7843.936 6836 41016 +7846.287 6837 41022 +7848.638 6840 41040 +7850.989 6841 41046 +7853.340 6842 41052 +7855.691 6843 41058 +7858.042 6846 41076 +7860.393 6846 41076 +7862.744 6848 41088 +7865.095 6851 41106 +7867.446 6851 41106 +7869.797 6854 41124 +7872.148 6855 41130 +7874.499 6857 41142 +7876.850 6859 41154 +7879.201 6859 41154 +7881.552 6861 41166 +7883.903 6863 41178 +7886.254 6863 41178 +7888.605 6864 41184 +7890.956 6866 41196 +7893.307 6868 41208 +7895.658 6868 41208 +7898.009 6870 41220 +7900.360 6872 41232 +7902.711 6876 41256 +7905.062 6878 41268 +7907.413 6879 41274 +7909.764 6881 41286 +7912.115 6883 41298 +7914.466 6883 41298 +7916.817 6884 41304 +7919.168 6886 41316 +7921.519 6888 41328 +7923.870 6889 41334 +7926.221 6890 41340 +7928.572 6891 41346 +7930.923 6892 41352 +7933.274 6892 41352 +7935.625 6894 41364 +7937.976 6895 41370 +7940.327 6896 41376 +7942.678 6898 41388 +7945.029 6899 41394 +7947.380 6900 41400 +7949.731 6901 41406 +7952.082 6903 41418 +7954.433 6904 41424 +7956.784 6904 41424 +7959.135 6906 41436 +7961.486 6907 41442 +7963.837 6908 41448 +7966.188 6908 41448 +7968.539 6911 41466 +7970.890 6912 41472 +7973.241 6912 41472 +7975.592 6914 41484 +7977.943 6916 41496 +7980.294 6919 41514 +7982.645 6921 41526 +7984.996 6922 41532 +7987.347 6924 41544 +7989.698 6925 41550 +7992.049 6926 41556 +7994.400 6928 41568 +7996.751 6928 41568 +7999.102 6929 41574 +8001.453 6930 41580 +8003.804 6931 41586 +8006.155 6932 41592 +8008.506 6934 41604 +8010.857 6935 41610 +8013.208 6936 41616 +8015.559 6938 41628 +8017.910 6939 41634 +8020.261 6941 41646 +8022.612 6942 41652 +8024.963 6942 41652 +8027.314 6943 41658 +8029.665 6945 41670 +8032.016 6946 41676 +8034.367 6947 41682 +8036.718 6947 41682 +8039.069 6949 41694 +8041.420 6949 41694 +8043.771 6950 41700 +8046.122 6953 41718 +8048.473 6955 41730 +8050.824 6957 41742 +8053.175 6959 41754 +8055.526 6961 41766 +8057.877 6963 41778 +8060.228 6965 41790 +8062.579 6965 41790 +8064.930 6967 41802 +8067.281 6969 41814 +8069.632 6969 41814 +8071.983 6973 41838 +8074.334 6973 41838 +8076.685 6977 41862 +8079.036 6977 41862 +8081.387 6978 41868 +8083.738 6981 41886 +8086.089 6982 41892 +8088.440 6983 41898 +8090.791 6986 41916 +8093.142 6988 41928 +8095.493 6989 41934 +8097.844 6989 41934 +8100.195 6991 41946 +8102.546 6993 41958 +8104.897 6993 41958 +8107.248 6994 41964 +8109.599 6996 41976 +8111.950 6996 41976 +8114.301 6998 41988 +8116.652 6998 41988 +8119.003 7000 42000 +8121.354 7000 42000 +8123.705 7002 42012 +8126.056 7004 42024 +8128.407 7004 42024 +8130.758 7006 42036 +8133.109 7006 42036 +8135.460 7008 42048 +8137.811 7010 42060 +8140.162 7012 42072 +8142.513 7013 42078 +8144.864 7015 42090 +8147.215 7016 42096 +8149.566 7017 42102 +8151.917 7018 42108 +8154.268 7019 42114 +8156.619 7021 42126 +8158.970 7023 42138 +8161.321 7024 42144 +8163.672 7025 42150 +8166.023 7026 42156 +8168.374 7027 42162 +8170.725 7030 42180 +8173.076 7031 42186 +8175.427 7031 42186 +8177.778 7032 42192 +8180.129 7035 42210 +8182.480 7036 42216 +8184.831 7038 42228 +8187.182 7040 42240 +8189.533 7040 42240 +8191.884 7042 42252 +8194.235 7044 42264 +8196.586 7044 42264 +8198.937 7045 42270 +8201.288 7046 42276 +8203.639 7048 42288 +8205.990 7050 42300 +8208.341 7053 42318 +8210.692 7053 42318 +8213.043 7056 42336 +8215.394 7057 42342 +8217.745 7057 42342 +8220.096 7059 42354 +8222.447 7061 42366 +8224.798 7063 42378 +8227.149 7067 42402 +8229.500 7067 42402 +8231.851 7069 42414 +8234.202 7071 42426 +8236.553 7073 42438 +8238.904 7076 42456 +8241.255 7077 42462 +8243.606 7077 42462 +8245.957 7080 42480 +8248.308 7081 42486 +8250.659 7082 42492 +8253.010 7084 42504 +8255.361 7085 42510 +8257.712 7086 42516 +8260.063 7088 42528 +8262.414 7090 42540 +8264.765 7093 42558 +8267.116 7094 42564 +8269.467 7094 42564 +8271.818 7097 42582 +8274.169 7098 42588 +8276.520 7099 42594 +8278.871 7100 42600 +8281.222 7103 42618 +8283.573 7105 42630 +8285.924 7107 42642 +8288.275 7108 42648 +8290.626 7109 42654 +8292.977 7110 42660 +8295.328 7111 42666 +8297.679 7113 42678 +8300.030 7113 42678 +8302.381 7115 42690 +8304.732 7117 42702 +8307.083 7117 42702 +8309.434 7118 42708 +8311.785 7119 42714 +8314.136 7119 42714 +8316.487 7121 42726 +8318.838 7122 42732 +8321.189 7122 42732 +8323.540 7123 42738 +8325.891 7126 42756 +8328.242 7126 42756 +8330.593 7127 42762 +8332.944 7130 42780 +8335.295 7130 42780 +8337.646 7130 42780 +8339.997 7134 42804 +8342.348 7135 42810 +8344.699 7136 42816 +8347.050 7137 42822 +8349.401 7138 42828 +8351.752 7139 42834 +8354.103 7141 42846 +8356.454 7142 42852 +8358.805 7144 42864 +8361.156 7144 42864 +8363.507 7145 42870 +8365.858 7148 42888 +8368.209 7148 42888 +8370.560 7149 42894 +8372.911 7150 42900 +8375.262 7152 42912 +8377.613 7153 42918 +8379.964 7155 42930 +8382.315 7158 42948 +8384.666 7158 42948 +8387.017 7159 42954 +8389.368 7161 42966 +8391.719 7161 42966 +8394.070 7162 42972 +8396.421 7164 42984 +8398.772 7164 42984 +8401.123 7166 42996 +8403.474 7167 43002 +8405.825 7169 43014 +8408.176 7171 43026 +8410.527 7172 43032 +8412.878 7174 43044 +8415.229 7176 43056 +8417.580 7176 43056 +8419.931 7178 43068 +8422.282 7179 43074 +8424.633 7180 43080 +8426.984 7181 43086 +8429.335 7183 43098 +8431.686 7184 43104 +8434.037 7185 43110 +8436.388 7188 43128 +8438.739 7189 43134 +8441.090 7192 43152 +8443.441 7193 43158 +8445.792 7193 43158 +8448.143 7196 43176 +8450.494 7197 43182 +8452.845 7197 43182 +8455.196 7200 43200 +8457.547 7201 43206 +8459.898 7205 43230 +8462.249 7207 43242 +8464.600 7207 43242 +8466.951 7208 43248 +8469.302 7210 43260 +8471.653 7211 43266 +8474.004 7213 43278 +8476.355 7214 43284 +8478.706 7215 43290 +8481.057 7217 43302 +8483.408 7218 43308 +8485.759 7219 43314 +8488.110 7221 43326 +8490.461 7223 43338 +8492.812 7223 43338 +8495.163 7224 43344 +8497.514 7226 43356 +8499.865 7227 43362 +8502.216 7229 43374 +8504.567 7230 43380 +8506.918 7231 43386 +8509.269 7232 43392 +8511.620 7234 43404 +8513.971 7235 43410 +8516.322 7235 43410 +8518.673 7236 43416 +8521.024 7237 43422 +8523.375 7239 43434 +8525.726 7240 43440 +8528.077 7243 43458 +8530.428 7243 43458 +8532.779 7245 43470 +8535.130 7247 43482 +8537.481 7251 43506 +8539.832 7251 43506 +8542.183 7255 43530 +8544.534 7255 43530 +8546.885 7258 43548 +8549.236 7259 43554 +8551.587 7259 43554 +8553.938 7263 43578 +8556.289 7263 43578 +8558.640 7266 43596 +8560.991 7267 43602 +8563.342 7267 43602 +8565.693 7269 43614 +8568.044 7270 43620 +8570.395 7271 43626 +8572.746 7271 43626 +8575.097 7272 43632 +8577.448 7274 43644 +8579.799 7275 43650 +8582.150 7275 43650 +8584.501 7276 43656 +8586.852 7277 43662 +8589.203 7279 43674 +8591.554 7281 43686 +8593.905 7281 43686 +8596.256 7284 43704 +8598.607 7286 43716 +8600.958 7287 43722 +8603.309 7290 43740 +8605.660 7290 43740 +8608.011 7292 43752 +8610.362 7294 43764 +8612.713 7296 43776 +8615.064 7297 43782 +8617.415 7298 43788 +8619.766 7300 43800 +8622.117 7302 43812 +8624.468 7303 43818 +8626.819 7304 43824 +8629.170 7306 43836 +8631.521 7306 43836 +8633.872 7308 43848 +8636.223 7309 43854 +8638.574 7311 43866 +8640.925 7311 43866 +8643.276 7313 43878 +8645.627 7313 43878 +8647.978 7315 43890 +8650.329 7316 43896 +8652.680 7319 43914 +8655.031 7320 43920 +8657.382 7321 43926 +8659.733 7324 43944 +8662.084 7324 43944 +8664.435 7325 43950 +8666.786 7326 43956 +8669.137 7326 43956 +8671.488 7328 43968 +8673.839 7328 43968 +8676.190 7330 43980 +8678.541 7330 43980 +8680.892 7331 43986 +8683.243 7332 43992 +8685.594 7333 43998 +8687.945 7334 44004 +8690.296 7337 44022 +8692.647 7337 44022 +8694.998 7339 44034 +8697.349 7340 44040 +8699.700 7340 44040 +8702.051 7341 44046 +8704.402 7343 44058 +8706.753 7344 44064 +8709.104 7345 44070 +8711.455 7346 44076 +8713.806 7346 44076 +8716.157 7348 44088 +8718.508 7348 44088 +8720.859 7350 44100 +8723.210 7352 44112 +8725.561 7353 44118 +8727.912 7353 44118 +8730.263 7355 44130 +8732.614 7356 44136 +8734.965 7358 44148 +8737.316 7359 44154 +8739.667 7360 44160 +8742.018 7360 44160 +8744.369 7362 44172 +8746.720 7363 44178 +8749.071 7364 44184 +8751.422 7366 44196 +8753.773 7366 44196 +8756.124 7368 44208 +8758.475 7368 44208 +8760.826 7369 44214 +8763.177 7370 44220 +8765.528 7372 44232 +8767.879 7372 44232 +8770.230 7374 44244 +8772.581 7374 44244 +8774.932 7376 44256 +8777.283 7377 44262 +8779.634 7379 44274 +8781.985 7379 44274 +8784.336 7381 44286 +8786.687 7383 44298 +8789.038 7385 44310 +8791.389 7386 44316 +8793.740 7387 44322 +8796.091 7388 44328 +8798.442 7390 44340 +8800.793 7391 44346 +8803.144 7392 44352 +8805.495 7394 44364 +8807.846 7395 44370 +8810.197 7396 44376 +8812.548 7396 44376 +8814.899 7398 44388 +8817.250 7398 44388 +8819.601 7399 44394 +8821.952 7401 44406 +8824.303 7402 44412 +8826.654 7403 44418 +8829.005 7406 44436 +8831.356 7407 44442 +8833.707 7407 44442 +8836.058 7410 44460 +8838.409 7411 44466 +8840.760 7414 44484 +8843.111 7416 44496 +8845.462 7418 44508 +8847.813 7418 44508 +8850.164 7420 44520 +8852.515 7422 44532 +8854.866 7425 44550 +8857.217 7425 44550 +8859.568 7426 44556 +8861.919 7428 44568 +8864.270 7429 44574 +8866.621 7430 44580 +8868.972 7432 44592 +8871.323 7434 44604 +8873.674 7434 44604 +8876.025 7437 44622 +8878.376 7438 44628 +8880.727 7438 44628 +8883.078 7441 44646 +8885.429 7442 44652 +8887.780 7443 44658 +8890.131 7446 44676 +8892.482 7446 44676 +8894.833 7448 44688 +8897.184 7450 44700 +8899.535 7451 44706 +8901.886 7452 44712 +8904.237 7453 44718 +8906.588 7454 44724 +8908.939 7457 44742 +8911.290 7459 44754 +8913.641 7459 44754 +8915.992 7460 44760 +8918.343 7463 44778 +8920.694 7464 44784 +8923.045 7464 44784 +8925.396 7467 44802 +8927.747 7467 44802 +8930.098 7468 44808 +8932.449 7468 44808 +8934.800 7470 44820 +8937.151 7472 44832 +8939.502 7473 44838 +8941.853 7475 44850 +8944.204 7477 44862 +8946.555 7478 44868 +8948.906 7481 44886 +8951.257 7481 44886 +8953.608 7484 44904 +8955.959 7487 44922 +8958.310 7488 44928 +8960.661 7490 44940 +8963.012 7491 44946 +8965.363 7492 44952 +8967.714 7494 44964 +8970.065 7494 44964 +8972.416 7495 44970 +8974.767 7496 44976 +8977.118 7498 44988 +8979.469 7499 44994 +8981.820 7499 44994 +8984.171 7502 45012 +8986.522 7502 45012 +8988.873 7503 45018 +8991.224 7505 45030 +8993.575 7507 45042 +8995.926 7508 45048 +8998.277 7509 45054 +9000.628 7511 45066 +9002.979 7512 45072 +9005.330 7514 45084 +9007.681 7515 45090 +9010.032 7516 45096 +9012.383 7518 45108 +9014.734 7519 45114 +9017.085 7521 45126 +9019.436 7522 45132 +9021.787 7525 45150 +9024.138 7526 45156 +9026.489 7528 45168 +9028.840 7528 45168 +9031.191 7529 45174 +9033.542 7532 45192 +9035.893 7532 45192 +9038.244 7534 45204 +9040.595 7536 45216 +9042.946 7536 45216 +9045.297 7537 45222 +9047.648 7540 45240 +9049.999 7541 45246 +9052.350 7541 45246 +9054.701 7542 45252 +9057.052 7543 45258 +9059.403 7545 45270 +9061.754 7546 45276 +9064.105 7546 45276 +9066.456 7547 45282 +9068.807 7548 45288 +9071.158 7550 45300 +9073.509 7550 45300 +9075.860 7551 45306 +9078.211 7552 45312 +9080.562 7553 45318 +9082.913 7556 45336 +9085.264 7557 45342 +9087.615 7559 45354 +9089.966 7561 45366 +9092.317 7563 45378 +9094.668 7563 45378 +9097.019 7565 45390 +9099.370 7567 45402 +9101.721 7567 45402 +9104.072 7570 45420 +9106.423 7571 45426 +9108.774 7573 45438 +9111.125 7575 45450 +9113.476 7575 45450 +9115.827 7576 45456 +9118.178 7577 45462 +9120.529 7579 45474 +9122.880 7580 45480 +9125.231 7580 45480 +9127.582 7582 45492 +9129.933 7585 45510 +9132.284 7585 45510 +9134.635 7587 45522 +9136.986 7589 45534 +9139.337 7590 45540 +9141.688 7591 45546 +9144.039 7593 45558 +9146.390 7594 45564 +9148.741 7595 45570 +9151.092 7597 45582 +9153.443 7598 45588 +9155.794 7599 45594 +9158.145 7599 45594 +9160.496 7601 45606 +9162.847 7603 45618 +9165.198 7604 45624 +9167.549 7607 45642 +9169.900 7607 45642 +9172.251 7610 45660 +9174.602 7610 45660 +9176.953 7611 45666 +9179.304 7612 45672 +9181.655 7615 45690 +9184.006 7616 45696 +9186.357 7618 45708 +9188.708 7619 45714 +9191.059 7620 45720 +9193.410 7622 45732 +9195.761 7622 45732 +9198.112 7624 45744 +9200.463 7626 45756 +9202.814 7626 45756 +9205.165 7629 45774 +9207.516 7630 45780 +9209.867 7630 45780 +9212.218 7632 45792 +9214.569 7634 45804 +9216.920 7635 45810 +9219.271 7638 45828 +9221.622 7640 45840 +9223.973 7642 45852 +9226.324 7646 45876 +9228.675 7646 45876 +9231.026 7649 45894 +9233.377 7650 45900 +9235.728 7652 45912 +9238.079 7654 45924 +9240.430 7655 45930 +9242.781 7657 45942 +9245.132 7658 45948 +9247.483 7658 45948 +9249.834 7660 45960 +9252.185 7661 45966 +9254.536 7662 45972 +9256.887 7664 45984 +9259.238 7666 45996 +9261.589 7666 45996 +9263.940 7667 46002 +9266.291 7669 46014 +9268.642 7670 46020 +9270.993 7671 46026 +9273.344 7674 46044 +9275.695 7674 46044 +9278.046 7675 46050 +9280.397 7677 46062 +9282.748 7678 46068 +9285.099 7678 46068 +9287.450 7679 46074 +9289.801 7681 46086 +9292.152 7682 46092 +9294.503 7683 46098 +9296.854 7686 46116 +9299.205 7689 46134 +9301.556 7690 46140 +9303.907 7692 46152 +9306.258 7695 46170 +9308.609 7696 46176 +9310.960 7696 46176 +9313.311 7697 46182 +9315.662 7700 46200 +9318.013 7700 46200 +9320.364 7701 46206 +9322.715 7704 46224 +9325.066 7705 46230 +9327.417 7707 46242 +9329.768 7709 46254 +9332.119 7709 46254 +9334.470 7713 46278 +9336.821 7713 46278 +9339.172 7714 46284 +9341.523 7716 46296 +9343.874 7717 46302 +9346.225 7717 46302 +9348.576 7719 46314 +9350.927 7721 46326 +9353.278 7723 46338 +9355.629 7723 46338 +9357.980 7726 46356 +9360.331 7727 46362 +9362.682 7727 46362 +9365.033 7730 46380 +9367.384 7733 46398 +9369.735 7733 46398 +9372.086 7736 46416 +9374.437 7737 46422 +9376.788 7738 46428 +9379.139 7740 46440 +9381.490 7741 46446 +9383.841 7743 46458 +9386.192 7744 46464 +9388.543 7746 46476 +9390.894 7747 46482 +9393.245 7747 46482 +9395.596 7748 46488 +9397.947 7750 46500 +9400.298 7751 46506 +9402.649 7753 46518 +9405.000 7755 46530 +9407.351 7757 46542 +9409.702 7758 46548 +9412.053 7759 46554 +9414.404 7760 46560 +9416.755 7762 46572 +9419.106 7763 46578 +9421.457 7764 46584 +9423.808 7765 46590 +9426.159 7768 46608 +9428.510 7769 46614 +9430.861 7770 46620 +9433.212 7773 46638 +9435.563 7774 46644 +9437.914 7776 46656 +9440.265 7778 46668 +9442.616 7780 46680 +9444.967 7781 46686 +9447.318 7781 46686 +9449.669 7783 46698 +9452.020 7783 46698 +9454.371 7784 46704 +9456.722 7787 46722 +9459.073 7787 46722 +9461.424 7788 46728 +9463.775 7791 46746 +9466.126 7791 46746 +9468.477 7793 46758 +9470.828 7795 46770 +9473.179 7795 46770 +9475.530 7796 46776 +9477.881 7799 46794 +9480.232 7799 46794 +9482.583 7800 46800 +9484.934 7803 46818 +9487.285 7803 46818 +9489.636 7805 46830 +9491.987 7807 46842 +9494.338 7811 46866 +9496.689 7812 46872 +9499.040 7814 46884 +9501.391 7815 46890 +9503.742 7816 46896 +9506.093 7817 46902 +9508.444 7818 46908 +9510.795 7820 46920 +9513.146 7820 46920 +9515.497 7822 46932 +9517.848 7823 46938 +9520.199 7824 46944 +9522.550 7826 46956 +9524.901 7828 46968 +9527.252 7829 46974 +9529.603 7829 46974 +9531.954 7830 46980 +9534.305 7832 46992 +9536.656 7834 47004 +9539.007 7834 47004 +9541.358 7836 47016 +9543.709 7838 47028 +9546.060 7842 47052 +9548.411 7842 47052 +9550.762 7844 47064 +9553.113 7846 47076 +9555.464 7847 47082 +9557.815 7849 47094 +9560.166 7851 47106 +9562.517 7853 47118 +9564.868 7855 47130 +9567.219 7857 47142 +9569.570 7861 47166 +9571.921 7861 47166 +9574.272 7865 47190 +9576.623 7865 47190 +9578.974 7866 47196 +9581.325 7869 47214 +9583.676 7871 47226 +9586.027 7873 47238 +9588.378 7873 47238 +9590.729 7877 47262 +9593.080 7878 47268 +9595.431 7879 47274 +9597.782 7882 47292 +9600.133 7882 47292 +9602.484 7883 47298 +9604.835 7884 47304 +9607.186 7887 47322 +9609.537 7889 47334 +9611.888 7890 47340 +9614.239 7893 47358 +9616.590 7893 47358 +9618.941 7894 47364 +9621.292 7896 47376 +9623.643 7897 47382 +9625.994 7897 47382 +9628.345 7898 47388 +9630.696 7900 47400 +9633.047 7902 47412 +9635.398 7902 47412 +9637.749 7904 47424 +9640.100 7905 47430 +9642.451 7905 47430 +9644.802 7906 47436 +9647.153 7908 47448 +9649.504 7909 47454 +9651.855 7911 47466 +9654.206 7911 47466 +9656.557 7913 47478 +9658.908 7913 47478 +9661.259 7915 47490 +9663.610 7915 47490 +9665.961 7917 47502 +9668.312 7920 47520 +9670.663 7922 47532 +9673.014 7922 47532 +9675.365 7925 47550 +9677.716 7926 47556 +9680.067 7927 47562 +9682.418 7929 47574 +9684.769 7930 47580 +9687.120 7930 47580 +9689.471 7931 47586 +9691.822 7933 47598 +9694.173 7934 47604 +9696.524 7934 47604 +9698.875 7935 47610 +9701.226 7936 47616 +9703.577 7938 47628 +9705.928 7939 47634 +9708.279 7940 47640 +9710.630 7942 47652 +9712.981 7944 47664 +9715.332 7946 47676 +9717.683 7947 47682 +9720.034 7948 47688 +9722.385 7948 47688 +9724.736 7950 47700 +9727.087 7952 47712 +9729.438 7954 47724 +9731.789 7954 47724 +9734.140 7956 47736 +9736.491 7958 47748 +9738.842 7960 47760 +9741.193 7962 47772 +9743.544 7963 47778 +9745.895 7965 47790 +9748.246 7966 47796 +9750.597 7966 47796 +9752.948 7968 47808 +9755.299 7970 47820 +9757.650 7970 47820 +9760.001 7971 47826 +9762.352 7972 47832 +9764.703 7974 47844 +9767.054 7975 47850 +9769.405 7978 47868 +9771.756 7979 47874 +9774.107 7979 47874 +9776.458 7980 47880 +9778.809 7982 47892 +9781.160 7983 47898 +9783.511 7983 47898 +9785.862 7985 47910 +9788.213 7986 47916 +9790.564 7988 47928 +9792.915 7989 47934 +9795.266 7991 47946 +9797.617 7991 47946 +9799.968 7993 47958 +9802.319 7993 47958 +9804.670 7995 47970 +9807.021 7997 47982 +9809.372 7998 47988 +9811.723 7999 47994 +9814.074 8001 48006 +9816.425 8001 48006 +9818.776 8003 48018 +9821.127 8004 48024 +9823.478 8005 48030 +9825.829 8007 48042 +9828.180 8008 48048 +9830.531 8009 48054 +9832.882 8012 48072 +9835.233 8013 48078 +9837.584 8014 48084 +9839.935 8016 48096 +9842.286 8017 48102 +9844.637 8018 48108 +9846.988 8020 48120 +9849.339 8021 48126 +9851.690 8023 48138 +9854.041 8025 48150 +9856.392 8026 48156 +9858.743 8030 48180 +9861.094 8031 48186 +9863.445 8031 48186 +9865.796 8032 48192 +9868.147 8033 48198 +9870.498 8035 48210 +9872.849 8036 48216 +9875.200 8037 48222 +9877.551 8039 48234 +9879.902 8040 48240 +9882.253 8042 48252 +9884.604 8044 48264 +9886.955 8045 48270 +9889.306 8046 48276 +9891.657 8049 48294 +9894.008 8050 48300 +9896.359 8052 48312 +9898.710 8053 48318 +9901.061 8054 48324 +9903.412 8057 48342 +9905.763 8058 48348 +9908.114 8059 48354 +9910.465 8060 48360 +9912.816 8062 48372 +9915.167 8063 48378 +9917.518 8063 48378 +9919.869 8064 48384 +9922.220 8067 48402 +9924.571 8069 48414 +9926.922 8069 48414 +9929.273 8072 48432 +9931.624 8073 48438 +9933.975 8075 48450 +9936.326 8077 48462 +9938.677 8077 48462 +9941.028 8078 48468 +9943.379 8081 48486 +9945.730 8082 48492 +9948.081 8082 48492 +9950.432 8085 48510 +9952.783 8086 48516 +9955.134 8086 48516 +9957.485 8089 48534 +9959.836 8090 48540 +9962.187 8090 48540 +9964.538 8094 48564 +9966.889 8096 48576 +9969.240 8096 48576 +9971.591 8100 48600 +9973.942 8102 48612 +9976.293 8103 48618 +9978.644 8105 48630 +9980.995 8107 48642 +9983.346 8107 48642 +9985.697 8109 48654 +9988.048 8111 48666 +9990.399 8112 48672 +9992.750 8114 48684 +9995.101 8115 48690 +9997.452 8115 48690 +9999.803 8116 48696 +10002.154 8118 48708 +10004.505 8119 48714 +10006.856 8119 48714 +10009.207 8122 48732 +10011.558 8123 48738 +10013.909 8123 48738 +10016.260 8126 48756 +10018.611 8127 48762 +10020.962 8130 48780 +10023.313 8131 48786 +10025.664 8134 48804 +10028.015 8136 48816 +10030.366 8138 48828 +10032.717 8140 48840 +10035.068 8141 48846 +10037.419 8142 48852 +10039.770 8143 48858 +10042.121 8145 48870 +10044.472 8145 48870 +10046.823 8149 48894 +10049.174 8149 48894 +10051.525 8152 48912 +10053.876 8153 48918 +10056.227 8157 48942 +10058.578 8157 48942 +10060.929 8161 48966 +10063.280 8165 48990 +10065.631 8166 48996 +10067.982 8169 49014 +10070.333 8169 49014 +10072.684 8173 49038 +10075.035 8177 49062 +10077.386 8179 49074 +10079.737 8182 49092 +10082.088 8183 49098 +10084.439 8187 49122 +10086.790 8187 49122 +10089.141 8190 49140 +10091.492 8191 49146 +10093.843 8193 49158 +10096.194 8195 49170 +10098.545 8197 49182 +10100.896 8199 49194 +10103.247 8199 49194 +10105.598 8201 49206 +10107.949 8201 49206 +10110.300 8203 49218 +10112.651 8203 49218 +10115.002 8206 49236 +10117.353 8207 49242 +10119.704 8208 49248 +10122.055 8210 49260 +10124.406 8211 49266 +10126.757 8211 49266 +10129.108 8213 49278 +10131.459 8215 49290 +10133.810 8217 49302 +10136.161 8221 49326 +10138.512 8225 49350 +10140.863 8225 49350 +10143.214 8229 49374 +10145.565 8229 49374 +10147.916 8232 49392 +10150.267 8233 49398 +10152.618 8234 49404 +10154.969 8237 49422 +10157.320 8237 49422 +10159.671 8241 49446 +10162.022 8241 49446 +10164.373 8241 49446 +10166.724 8243 49458 +10169.075 8245 49470 +10171.426 8245 49470 +10173.777 8249 49494 +10176.128 8250 49500 +10178.479 8252 49512 +10180.830 8254 49524 +10183.181 8254 49524 +10185.532 8256 49536 +10187.883 8257 49542 +10190.234 8258 49548 +10192.585 8260 49560 +10194.936 8263 49578 +10197.287 8265 49590 +10199.638 8265 49590 +10201.989 8267 49602 +10204.340 8269 49614 +10206.691 8271 49626 +10209.042 8271 49626 +10211.393 8274 49644 +10213.744 8275 49650 +10216.095 8275 49650 +10218.446 8276 49656 +10220.797 8278 49668 +10223.148 8279 49674 +10225.499 8280 49680 +10227.850 8283 49698 +10230.201 8283 49698 +10232.552 8284 49704 +10234.903 8284 49704 +10237.254 8287 49722 +10239.605 8287 49722 +10241.956 8289 49734 +10244.307 8290 49740 +10246.658 8291 49746 +10249.009 8293 49758 +10251.360 8295 49770 +10253.711 8295 49770 +10256.062 8297 49782 +10258.413 8298 49788 +10260.764 8299 49794 +10263.115 8301 49806 +10265.466 8304 49824 +10267.817 8308 49848 +10270.168 8308 49848 +10272.519 8309 49854 +10274.870 8312 49872 +10277.221 8312 49872 +10279.572 8313 49878 +10281.923 8315 49890 +10284.274 8316 49896 +10286.625 8316 49896 +10288.976 8318 49908 +10291.327 8319 49914 +10293.678 8321 49926 +10296.029 8321 49926 +10298.380 8323 49938 +10300.731 8325 49950 +10303.082 8328 49968 +10305.433 8329 49974 +10307.784 8330 49980 +10310.135 8333 49998 +10312.486 8333 49998 +10314.837 8333 49998 +10317.188 8334 50004 +10319.539 8337 50022 +10321.890 8339 50034 +10324.241 8339 50034 +10326.592 8339 50034 +10328.943 8339 50034 +10331.294 8339 50034 +10333.645 8339 50034 +10335.996 8344 50064 +10338.347 8345 50070 +10340.698 8346 50076 +10343.049 8350 50100 +10345.400 8351 50106 +10347.751 8351 50106 +10350.102 8351 50106 +10352.453 8352 50112 +10354.804 8352 50112 +10357.155 8353 50118 +10359.506 8358 50148 +10361.857 8358 50148 +10364.208 8358 50148 +10366.559 8358 50148 +10368.910 8359 50154 +10371.261 8360 50160 +10373.612 8365 50190 +10375.963 8374 50244 +10378.314 8377 50262 +10380.665 8383 50298 +10383.016 8389 50334 +10385.367 8393 50358 +10387.718 8396 50376 +10390.069 8397 50382 +10392.420 8399 50394 +10394.771 8402 50412 +10397.122 8406 50436 +10399.473 8409 50454 +10401.824 8412 50472 +10404.175 8415 50490 +10406.526 8418 50508 +10408.877 8421 50526 +10411.228 8424 50544 +10413.579 8429 50574 +10415.930 8435 50610 +10418.281 8441 50646 +10420.632 8447 50682 +10422.983 8453 50718 +10425.334 8461 50766 +10427.685 8466 50796 +10430.036 8473 50838 +10432.387 8479 50874 +10434.738 8485 50910 +10437.089 8493 50958 +10439.440 8504 51024 +10441.791 8511 51066 +10444.142 8517 51102 +10446.493 8523 51138 +10448.844 8531 51186 +10451.195 8538 51228 +10453.546 8545 51270 +10455.897 8552 51312 +10458.248 8558 51348 +10460.599 8567 51402 +10462.950 8573 51438 +10465.301 8579 51474 +10467.652 8587 51522 +10470.003 8595 51570 +10472.354 8603 51618 +10474.705 8609 51654 +10477.056 8615 51690 +10479.407 8623 51738 +10481.758 8630 51780 +10484.109 8637 51822 +10486.460 8644 51864 +10488.811 8651 51906 +10491.162 8657 51942 +10493.513 8664 51984 +10495.864 8672 52032 +10498.215 8680 52080 +10500.566 8687 52122 +10502.917 8694 52164 +10505.268 8698 52188 +10507.619 8706 52236 +10509.970 8712 52272 +10512.321 8718 52308 +10514.672 8727 52362 +10517.023 8733 52398 +10519.374 8739 52434 +10521.725 8745 52470 +10524.076 8753 52518 +10526.427 8760 52560 +10528.778 8765 52590 +10531.129 8771 52626 +10533.480 8774 52644 +10535.831 8782 52692 +10538.182 8789 52734 +10540.533 8795 52770 +10542.884 8802 52812 +10545.235 8810 52860 +10547.586 8817 52902 +10549.937 8824 52944 +10552.288 8831 52986 +10554.639 8839 53034 +10556.990 8845 53070 +10559.341 8852 53112 +10561.692 8860 53160 +10564.043 8865 53190 +10566.394 8875 53250 +10568.745 8881 53286 +10571.096 8886 53316 +10573.447 8894 53364 +10575.798 8902 53412 +10578.149 8910 53460 +10580.500 8918 53508 +10582.851 8922 53532 +10585.202 8930 53580 +10587.553 8937 53622 +10589.904 8945 53670 +10592.255 8953 53718 +10594.606 8958 53748 +10596.957 8965 53790 +10599.308 8971 53826 +10601.659 8980 53880 +10604.010 8989 53934 +10606.361 8996 53976 +10608.712 9003 54018 +10611.063 9011 54066 +10613.414 9014 54084 +10615.765 9015 54090 +10618.116 9019 54114 +10620.467 9021 54126 +10622.818 9022 54132 +10625.169 9024 54144 +10627.520 9028 54168 +10629.871 9031 54186 +10632.222 9031 54186 +10634.573 9034 54204 +10636.924 9037 54222 +10639.275 9040 54240 +10641.626 9046 54276 +10643.977 9051 54306 +10646.328 9058 54348 +10648.679 9062 54372 +10651.030 9069 54414 +10653.381 9075 54450 +10655.732 9085 54510 +10658.083 9090 54540 +10660.434 9098 54588 +10662.785 9105 54630 +10665.136 9113 54678 +10667.487 9120 54720 +10669.838 9127 54762 +10672.189 9133 54798 +10674.540 9139 54834 +10676.891 9148 54888 +10679.242 9153 54918 +10681.593 9159 54954 +10683.944 9166 54996 +10686.295 9174 55044 +10688.646 9180 55080 +10690.997 9188 55128 +10693.348 9194 55164 +10695.699 9202 55212 +10698.050 9210 55260 +10700.401 9216 55296 +10702.752 9223 55338 +10705.103 9228 55368 +10707.454 9235 55410 +10709.805 9243 55458 +10712.156 9250 55500 +10714.507 9257 55542 +10716.858 9263 55578 +10719.209 9270 55620 +10721.560 9278 55668 +10723.911 9283 55698 +10726.262 9291 55746 +10728.613 9298 55788 +10730.964 9305 55830 +10733.315 9313 55878 +10735.666 9320 55920 +10738.017 9327 55962 +10740.368 9334 56004 +10742.719 9341 56046 +10745.070 9349 56094 +10747.421 9357 56142 +10749.772 9363 56178 +10752.123 9370 56220 +10754.474 9378 56268 +10756.825 9384 56304 +10759.176 9389 56334 +10761.527 9397 56382 +10763.878 9403 56418 +10766.229 9411 56466 +10768.580 9418 56508 +10770.931 9424 56544 +10773.282 9432 56592 +10775.633 9439 56634 +10777.984 9446 56676 +10780.335 9452 56712 +10782.686 9460 56760 +10785.037 9468 56808 +10787.388 9474 56844 +10789.739 9481 56886 +10792.090 9487 56922 +10794.441 9495 56970 +10796.792 9503 57018 +10799.143 9510 57060 +10801.494 9517 57102 +10803.845 9526 57156 +10806.196 9532 57192 +10808.547 9539 57234 +10810.898 9546 57276 +10813.249 9552 57312 +10815.600 9561 57366 +10817.951 9567 57402 +10820.302 9574 57444 +10822.653 9583 57498 +10825.004 9588 57528 +10827.355 9596 57576 +10829.706 9599 57594 +10832.057 9602 57612 +10834.408 9605 57630 +10836.759 9607 57642 +10839.110 9608 57648 +10841.461 9610 57660 +10843.812 9613 57678 +10846.163 9614 57684 +10848.514 9616 57696 +10850.865 9617 57702 +10853.216 9620 57720 +10855.567 9622 57732 +10857.918 9626 57756 +10860.269 9628 57768 +10862.620 9637 57822 +10864.971 9642 57852 +10867.322 9649 57894 +10869.673 9656 57936 +10872.024 9663 57978 +10874.375 9669 58014 +10876.726 9678 58068 +10879.077 9685 58110 +10881.428 9693 58158 +10883.779 9700 58200 +10886.130 9708 58248 +10888.481 9716 58296 +10890.832 9721 58326 +10893.183 9724 58344 +10895.534 9726 58356 +10897.885 9728 58368 +10900.236 9732 58392 +10902.587 9735 58410 +10904.938 9736 58416 +10907.289 9738 58428 +10909.640 9741 58446 +10911.991 9744 58464 +10914.342 9746 58476 +10916.693 9750 58500 +10919.044 9755 58530 +10921.395 9761 58566 +10923.746 9769 58614 +10926.097 9773 58638 +10928.448 9779 58674 +10930.799 9785 58710 +10933.150 9793 58758 +10935.501 9802 58812 +10937.852 9811 58866 +10940.203 9817 58902 +10942.554 9823 58938 +10944.905 9830 58980 +10947.256 9838 59028 +10949.607 9846 59076 +10951.958 9852 59112 +10954.309 9860 59160 +10956.660 9867 59202 +10959.011 9873 59238 +10961.362 9881 59286 +10963.713 9887 59322 +10966.064 9894 59364 +10968.415 9901 59406 +10970.766 9909 59454 +10973.117 9916 59496 +10975.468 9925 59550 +10977.819 9931 59586 +10980.170 9936 59616 +10982.521 9943 59658 +10984.872 9949 59694 +10987.223 9957 59742 +10989.574 9965 59790 +10991.925 9971 59826 +10994.276 9978 59868 +10996.627 9985 59910 +10998.978 9992 59952 +11001.329 10000 60000 +11003.680 10005 60030 +11006.031 10014 60084 +11008.382 10020 60120 +11010.733 10027 60162 +11013.084 10034 60204 +11015.435 10040 60240 +11017.786 10047 60282 +11020.137 10053 60318 +11022.488 10057 60342 +11024.839 10065 60390 +11027.190 10069 60414 +11029.541 10077 60462 +11031.892 10083 60498 +11034.243 10090 60540 +11036.594 10097 60582 +11038.945 10103 60618 +11041.296 10108 60648 +11043.647 10114 60684 +11045.998 10121 60726 +11048.349 10125 60750 +11050.700 10132 60792 +11053.051 10138 60828 +11055.402 10146 60876 +11057.753 10153 60918 +11060.104 10159 60954 +11062.455 10165 60990 +11064.806 10169 61014 +11067.157 10178 61068 +11069.508 10185 61110 +11071.859 10191 61146 +11074.210 10198 61188 +11076.561 10202 61212 +11078.912 10208 61248 +11081.263 10215 61290 +11083.614 10222 61332 +11085.965 10231 61386 +11088.316 10237 61422 +11090.667 10244 61464 +11093.018 10255 61530 +11095.369 10259 61554 +11097.720 10266 61596 +11100.071 10272 61632 +11102.422 10278 61668 +11104.773 10283 61698 +11107.124 10287 61722 +11109.475 10290 61740 +11111.826 10292 61752 +11114.177 10292 61752 +11116.528 10294 61764 +11118.879 10298 61788 +11121.230 10300 61800 +11123.581 10302 61812 +11125.932 10305 61830 +11128.283 10308 61848 +11130.634 10311 61866 +11132.985 10314 61884 +11135.336 10319 61914 +11137.687 10326 61956 +11140.038 10330 61980 +11142.389 10337 62022 +11144.740 10344 62064 +11147.091 10350 62100 +11149.442 10355 62130 +11151.793 10360 62160 +11154.144 10367 62202 +11156.495 10376 62256 +11158.846 10383 62298 +11161.197 10389 62334 +11163.548 10397 62382 +11165.899 10399 62394 +11168.250 10402 62412 +11170.601 10403 62418 +11172.952 10404 62424 +11175.303 10406 62436 +11177.654 10409 62454 +11180.005 10410 62460 +11182.356 10412 62472 +11184.707 10412 62472 +11187.058 10416 62496 +11189.409 10418 62508 +11191.760 10419 62514 +11194.111 10424 62544 +11196.462 10431 62586 +11198.813 10437 62622 +11201.164 10442 62652 +11203.515 10447 62682 +11205.866 10454 62724 +11208.217 10463 62778 +11210.568 10471 62826 +11212.919 10476 62856 +11215.270 10478 62868 +11217.621 10481 62886 +11219.972 10483 62898 +11222.323 10485 62910 +11224.674 10486 62916 +11227.025 10490 62940 +11229.376 10492 62952 +11231.727 10494 62964 +11234.078 10495 62970 +11236.429 10496 62976 +11238.780 10501 63006 +11241.131 10504 63024 +11243.482 10508 63048 +11245.833 10514 63084 +11248.184 10520 63120 +11250.535 10527 63162 +11252.886 10534 63204 +11255.237 10539 63234 +11257.588 10544 63264 +11259.939 10551 63306 +11262.290 10559 63354 +11264.641 10566 63396 +11266.992 10579 63474 +11269.343 10582 63492 +11271.694 10584 63504 +11274.045 10587 63522 +11276.396 10590 63540 +11278.747 10592 63552 +11281.098 10594 63564 +11283.449 10596 63576 +11285.800 10599 63594 +11288.151 10601 63606 +11290.502 10605 63630 +11292.853 10607 63642 +11295.204 10609 63654 +11297.555 10611 63666 +11299.906 10614 63684 +11302.257 10620 63720 +11304.608 10625 63750 +11306.959 10633 63798 +11309.310 10639 63834 +11311.661 10645 63870 +11314.012 10652 63912 +11316.363 10658 63948 +11318.714 10665 63990 +11321.065 10671 64026 +11323.416 10679 64074 +11325.767 10686 64116 +11328.118 10692 64152 +11330.469 10700 64200 +11332.820 10706 64236 +11335.171 10714 64284 +11337.522 10719 64314 +11339.873 10727 64362 +11342.224 10734 64404 +11344.575 10740 64440 +11346.926 10747 64482 +11349.277 10755 64530 +11351.628 10762 64572 +11353.979 10769 64614 +11356.330 10776 64656 +11358.681 10783 64698 +11361.032 10790 64740 +11363.383 10795 64770 +11365.734 10804 64824 +11368.085 10811 64866 +11370.436 10816 64896 +11372.787 10823 64938 +11375.138 10830 64980 +11377.489 10836 65016 +11379.840 10843 65058 +11382.191 10849 65094 +11384.542 10856 65136 +11386.893 10862 65172 +11389.244 10868 65208 +11391.595 10875 65250 +11393.946 10881 65286 +11396.297 10888 65328 +11398.648 10896 65376 +11400.999 10904 65424 +11403.350 10909 65454 +11405.701 10917 65502 +11408.052 10925 65550 +11410.403 10930 65580 +11412.754 10937 65622 +11415.105 10943 65658 +11417.456 10950 65700 +11419.807 10958 65748 +11422.158 10966 65796 +11424.509 10972 65832 +11426.860 10977 65862 +11429.211 10986 65916 +11431.562 10993 65958 +11433.913 11000 66000 +11436.264 11006 66036 +11438.615 11014 66084 +11440.966 11021 66126 +11443.317 11027 66162 +11445.668 11035 66210 +11448.019 11043 66258 +11450.370 11050 66300 +11452.721 11057 66342 +11455.072 11064 66384 +11457.423 11071 66426 +11459.774 11080 66480 +11462.125 11086 66516 +11464.476 11089 66534 +11466.827 11091 66546 +11469.178 11092 66552 +11471.529 11094 66564 +11473.880 11096 66576 +11476.231 11099 66594 +11478.582 11100 66600 +11480.933 11102 66612 +11483.284 11103 66618 +11485.635 11106 66636 +11487.986 11107 66642 +11490.337 11109 66654 +11492.688 11114 66684 +11495.039 11119 66714 +11497.390 11125 66750 +11499.741 11132 66792 +11502.092 11138 66828 +11504.443 11144 66864 +11506.794 11153 66918 +11509.145 11157 66942 +11511.496 11159 66954 +11513.847 11162 66972 +11516.198 11165 66990 +11518.549 11166 66996 +11520.900 11168 67008 +11523.251 11169 67014 +11525.602 11171 67026 +11527.953 11173 67038 +11530.304 11174 67044 +11532.655 11175 67050 +11535.006 11178 67068 +11537.357 11181 67086 +11539.708 11187 67122 +11542.059 11193 67158 +11544.410 11199 67194 +11546.761 11207 67242 +11549.112 11214 67284 +11551.463 11221 67326 +11553.814 11228 67368 +11556.165 11234 67404 +11558.516 11238 67428 +11560.867 11242 67452 +11563.218 11244 67464 +11565.569 11245 67470 +11567.920 11247 67482 +11570.271 11250 67500 +11572.622 11252 67512 +11574.973 11254 67524 +11577.324 11256 67536 +11579.675 11258 67548 +11582.026 11260 67560 +11584.377 11262 67572 +11586.728 11265 67590 +11589.079 11270 67620 +11591.430 11278 67668 +11593.781 11285 67710 +11596.132 11290 67740 +11598.483 11295 67770 +11600.834 11300 67800 +11603.185 11307 67842 +11605.536 11315 67890 +11607.887 11323 67938 +11610.238 11329 67974 +11612.589 11338 68028 +11614.940 11344 68064 +11617.291 11348 68088 +11619.642 11350 68100 +11621.993 11352 68112 +11624.344 11354 68124 +11626.695 11356 68136 +11629.046 11359 68154 +11631.397 11362 68172 +11633.748 11362 68172 +11636.099 11364 68184 +11638.450 11366 68196 +11640.801 11370 68220 +11643.152 11372 68232 +11645.503 11375 68250 +11647.854 11380 68280 +11650.205 11387 68322 +11652.556 11395 68370 +11654.907 11402 68412 +11657.258 11408 68448 +11659.609 11414 68484 +11661.960 11420 68520 +11664.311 11427 68562 +11666.662 11433 68598 +11669.013 11441 68646 +11671.364 11447 68682 +11673.715 11455 68730 +11676.066 11460 68760 +11678.417 11462 68772 +11680.768 11463 68778 +11683.119 11465 68790 +11685.470 11467 68802 +11687.821 11469 68814 +11690.172 11472 68832 +11692.523 11472 68832 +11694.874 11474 68844 +11697.225 11478 68868 +11699.576 11479 68874 +11701.927 11481 68886 +11704.278 11484 68904 +11706.629 11493 68958 +11708.980 11497 68982 +11711.331 11505 69030 +11713.682 11509 69054 +11716.033 11517 69102 +11718.384 11525 69150 +11720.735 11531 69186 +11723.086 11533 69198 +11725.437 11535 69210 +11727.788 11537 69222 +11730.139 11539 69234 +11732.490 11541 69246 +11734.841 11543 69258 +11737.192 11545 69270 +11739.543 11547 69282 +11741.894 11549 69294 +11744.245 11551 69306 +11746.596 11553 69318 +11748.947 11558 69348 +11751.298 11563 69378 +11753.649 11569 69414 +11756.000 11575 69450 +11758.351 11584 69504 +11760.702 11588 69528 +11763.053 11594 69564 +11765.404 11600 69600 +11767.755 11606 69636 +11770.106 11614 69684 +11772.457 11618 69708 +11774.808 11625 69750 +11777.159 11632 69792 +11779.510 11641 69846 +11781.861 11646 69876 +11784.212 11653 69918 +11786.563 11660 69960 +11788.914 11663 69978 +11791.265 11667 70002 +11793.616 11668 70008 +11795.967 11670 70020 +11798.318 11672 70032 +11800.669 11674 70044 +11803.020 11678 70068 +11805.371 11681 70086 +11807.722 11683 70098 +11810.073 11684 70104 +11812.424 11686 70116 +11814.775 11691 70146 +11817.126 11694 70164 +11819.477 11700 70200 +11821.828 11705 70230 +11824.179 11710 70260 +11826.530 11717 70302 +11828.881 11725 70350 +11831.232 11729 70374 +11833.583 11735 70410 +11835.934 11742 70452 +11838.285 11750 70500 +11840.636 11756 70536 +11842.987 11762 70572 +11845.338 11771 70626 +11847.689 11776 70656 +11850.040 11780 70680 +11852.391 11787 70722 +11854.742 11794 70764 +11857.093 11800 70800 +11859.444 11806 70836 +11861.795 11812 70872 +11864.146 11819 70914 +11866.497 11827 70962 +11868.848 11833 70998 +11871.199 11841 71046 +11873.550 11849 71094 +11875.901 11857 71142 +11878.252 11863 71178 +11880.603 11870 71220 +11882.954 11875 71250 +11885.305 11883 71298 +11887.656 11888 71328 +11890.007 11895 71370 +11892.358 11901 71406 +11894.709 11905 71430 +11897.060 11912 71472 +11899.411 11919 71514 +11901.762 11926 71556 +11904.113 11931 71586 +11906.464 11938 71628 +11908.815 11946 71676 +11911.166 11953 71718 +11913.517 11959 71754 +11915.868 11966 71796 +11918.219 11970 71820 +11920.570 11975 71850 +11922.921 11982 71892 +11925.272 11988 71928 +11927.623 11996 71976 +11929.974 12002 72012 +11932.325 12010 72060 +11934.676 12015 72090 +11937.027 12021 72126 +11939.378 12028 72168 +11941.729 12035 72210 +11944.080 12041 72246 +11946.431 12050 72300 +11948.782 12058 72348 +11951.133 12065 72390 +11953.484 12071 72426 +11955.835 12076 72456 +11958.186 12084 72504 +11960.537 12091 72546 +11962.888 12099 72594 +11965.239 12107 72642 +11967.590 12114 72684 +11969.941 12119 72714 +11972.292 12125 72750 +11974.643 12133 72798 +11976.994 12141 72846 +11979.345 12147 72882 +11981.696 12155 72930 +11984.047 12162 72972 +11986.398 12165 72990 +11988.749 12167 73002 +11991.100 12169 73014 +11993.451 12171 73026 +11995.802 12173 73038 +11998.153 12176 73056 +12000.504 12178 73068 +12002.855 12181 73086 +12005.206 12184 73104 +12007.557 12185 73110 +12009.908 12186 73116 +12012.259 12191 73146 +12014.610 12196 73176 +12016.961 12204 73224 +12019.312 12210 73260 +12021.663 12216 73296 +12024.014 12223 73338 +12026.365 12231 73386 +12028.716 12238 73428 +12031.067 12246 73476 +12033.418 12253 73518 +12035.769 12259 73554 +12038.120 12267 73602 +12040.471 12274 73644 +12042.822 12277 73662 +12045.173 12278 73668 +12047.524 12281 73686 +12049.875 12283 73698 +12052.226 12286 73716 +12054.577 12289 73734 +12056.928 12291 73746 +12059.279 12295 73770 +12061.630 12296 73776 +12063.981 12298 73788 +12066.332 12301 73806 +12068.683 12303 73818 +12071.034 12311 73866 +12073.385 12316 73896 +12075.736 12323 73938 +12078.087 12330 73980 +12080.438 12336 74016 +12082.789 12341 74046 +12085.140 12345 74070 +12087.491 12351 74106 +12089.842 12357 74142 +12092.193 12364 74184 +12094.544 12372 74232 +12096.895 12380 74280 +12099.246 12387 74322 +12101.597 12392 74352 +12103.948 12400 74400 +12106.299 12408 74448 +12108.650 12413 74478 +12111.001 12419 74514 +12113.352 12427 74562 +12115.703 12435 74610 +12118.054 12440 74640 +12120.405 12447 74682 +12122.756 12453 74718 +12125.107 12461 74766 +12127.458 12467 74802 +12129.809 12474 74844 +12132.160 12478 74868 +12134.511 12483 74898 +12136.862 12492 74952 +12139.213 12499 74994 +12141.564 12507 75042 +12143.915 12513 75078 +12146.266 12520 75120 +12148.617 12527 75162 +12150.968 12533 75198 +12153.319 12540 75240 +12155.670 12548 75288 +12158.021 12555 75330 +12160.372 12562 75372 +12162.723 12568 75408 +12165.074 12575 75450 +12167.425 12581 75486 +12169.776 12589 75534 +12172.127 12596 75576 +12174.478 12602 75612 +12176.829 12609 75654 +12179.180 12616 75696 +12181.531 12623 75738 +12183.882 12629 75774 +12186.233 12638 75828 +12188.584 12644 75864 +12190.935 12652 75912 +12193.286 12658 75948 +12195.637 12665 75990 +12197.988 12673 76038 +12200.339 12680 76080 +12202.690 12684 76104 +12205.041 12689 76134 +12207.392 12697 76182 +12209.743 12703 76218 +12212.094 12710 76260 +12214.445 12717 76302 +12216.796 12722 76332 +12219.147 12731 76386 +12221.498 12736 76416 +12223.849 12744 76464 +12226.200 12752 76512 +12228.551 12760 76560 +12230.902 12768 76608 +12233.253 12774 76644 +12235.604 12782 76692 +12237.955 12789 76734 +12240.306 12796 76776 +12242.657 12799 76794 +12245.008 12807 76842 +12247.359 12813 76878 +12249.710 12821 76926 +12252.061 12828 76968 +12254.412 12836 77016 +12256.763 12839 77034 +12259.114 12842 77052 +12261.465 12844 77064 +12263.816 12846 77076 +12266.167 12849 77094 +12268.518 12852 77112 +12270.869 12856 77136 +12273.220 12858 77148 +12275.571 12860 77160 +12277.922 12863 77178 +12280.273 12867 77202 +12282.624 12869 77214 +12284.975 12874 77244 +12287.326 12881 77286 +12289.677 12888 77328 +12292.028 12895 77370 +12294.379 12899 77394 +12296.730 12907 77442 +12299.081 12913 77478 +12301.432 12920 77520 +12303.783 12927 77562 +12306.134 12931 77586 +12308.485 12935 77610 +12310.836 12944 77664 +12313.187 12952 77712 +12315.538 12961 77766 +12317.889 12969 77814 +12320.240 12970 77820 +12322.591 12977 77862 +12324.942 12984 77904 +12327.293 12992 77952 +12329.644 12999 77994 +12331.995 13007 78042 +12334.346 13013 78078 +12336.697 13022 78132 +12339.048 13031 78186 +12341.399 13038 78228 +12343.750 13043 78258 +12346.101 13049 78294 +12348.452 13057 78342 +12350.803 13064 78384 +12353.154 13072 78432 +12355.505 13078 78468 +12357.856 13083 78498 +12360.207 13088 78528 +12362.558 13093 78558 +12364.909 13099 78594 +12367.260 13104 78624 +12369.611 13110 78660 +12371.962 13117 78702 +12374.313 13122 78732 +12376.664 13128 78768 +12379.015 13135 78810 +12381.366 13141 78846 +12383.717 13146 78876 +12386.068 13149 78894 +12388.419 13157 78942 +12390.770 13164 78984 +12393.121 13170 79020 +12395.472 13176 79056 +12397.823 13184 79104 +12400.174 13186 79116 +12402.525 13193 79158 +12404.876 13198 79188 +12407.227 13203 79218 +12409.578 13206 79236 +12411.929 13213 79278 +12414.280 13218 79308 +12416.631 13219 79314 +12418.982 13225 79350 +12421.333 13227 79362 +12423.684 13228 79368 +12426.035 13236 79416 +12428.386 13240 79440 +12430.737 13241 79446 +12433.088 13242 79452 +12435.439 13248 79488 +12437.790 13249 79494 +12440.141 13254 79524 +12442.492 13255 79530 +12444.843 13257 79542 +12447.194 13258 79548 +12449.545 13260 79560 +12451.896 13262 79572 +12454.247 13264 79584 +12456.598 13265 79590 +12458.949 13267 79602 +12461.300 13269 79614 +12463.651 13269 79614 +12466.002 13271 79626 +12468.353 13274 79644 +12470.704 13279 79674 +12473.055 13281 79686 +12475.406 13283 79698 +12477.757 13284 79704 +12480.108 13290 79740 +12482.459 13292 79752 +12484.810 13297 79782 +12487.161 13298 79788 +12489.512 13299 79794 +12491.863 13300 79800 +12494.214 13303 79818 +12496.565 13305 79830 +12498.916 13306 79836 +12501.267 13307 79842 +12503.618 13310 79860 +12505.969 13313 79878 +12508.320 13314 79884 +12510.671 13315 79890 +12513.022 13318 79908 +12515.373 13323 79938 +12517.724 13324 79944 +12520.075 13325 79950 +12522.426 13332 79992 +12524.777 13333 79998 +12527.128 13339 80034 +12529.479 13340 80040 +12531.830 13345 80070 +12534.181 13346 80076 +12536.532 13347 80082 +12538.883 13353 80118 +12541.234 13354 80124 +12543.585 13359 80154 +12545.936 13360 80160 +12548.287 13361 80166 +12550.638 13367 80202 +12552.989 13368 80208 +12555.340 13373 80238 +12557.691 13375 80250 +12560.042 13375 80250 +12562.393 13381 80286 +12564.744 13382 80292 +12567.095 13387 80322 +12569.446 13387 80322 +12571.797 13388 80328 +12574.148 13389 80334 +12576.499 13395 80370 +12578.850 13396 80376 +12581.201 13396 80376 +12583.552 13401 80406 +12585.903 13402 80412 +12588.254 13403 80418 +12590.605 13409 80454 +12592.956 13410 80460 +12595.307 13415 80490 +12597.658 13416 80496 +12600.009 13417 80502 +12602.360 13423 80538 +12604.711 13423 80538 +12607.062 13425 80550 +12609.413 13431 80586 +12611.764 13432 80592 +12614.115 13433 80598 +12616.466 13436 80616 +12618.817 13437 80622 +12621.168 13438 80628 +12623.519 13439 80634 +12625.870 13440 80640 +12628.221 13443 80658 +12630.572 13445 80670 +12632.923 13446 80676 +12635.274 13448 80688 +12637.625 13451 80706 +12639.976 13456 80736 +12642.327 13457 80742 +12644.678 13459 80754 +12647.029 13465 80790 +12649.380 13466 80796 +12651.731 13472 80832 +12654.082 13473 80838 +12656.433 13478 80868 +12658.784 13480 80880 +12661.135 13480 80880 +12663.486 13486 80916 +12665.837 13487 80922 +12668.188 13492 80952 +12670.539 13494 80964 +12672.890 13494 80964 +12675.241 13500 81000 +12677.592 13501 81006 +12679.943 13501 81006 +12682.294 13506 81036 +12684.645 13508 81048 +12686.996 13508 81048 +12689.347 13514 81084 +12691.698 13515 81090 +12694.049 13520 81120 +12696.400 13521 81126 +12698.751 13522 81132 +12701.102 13528 81168 +12703.453 13529 81174 +12705.804 13534 81204 +12708.155 13535 81210 +12710.506 13535 81210 +12712.857 13536 81216 +12715.208 13542 81252 +12717.559 13543 81258 +12719.910 13543 81258 +12722.261 13548 81288 +12724.612 13549 81294 +12726.963 13550 81300 +12729.314 13556 81336 +12731.665 13557 81342 +12734.016 13557 81342 +12736.367 13562 81372 +12738.718 13563 81378 +12741.069 13564 81384 +12743.420 13570 81420 +12745.771 13571 81426 +12748.122 13577 81462 +12750.473 13578 81468 +12752.824 13578 81468 +12755.175 13579 81474 +12757.526 13580 81480 +12759.877 13582 81492 +12762.228 13584 81504 +12764.579 13586 81516 +12766.930 13587 81522 +12769.281 13589 81534 +12771.632 13591 81546 +12773.983 13594 81564 +12776.334 13598 81588 +12778.685 13603 81618 +12781.036 13605 81630 +12783.387 13606 81636 +12785.738 13612 81672 +12788.089 13613 81678 +12790.440 13619 81714 +12792.791 13620 81720 +12795.142 13621 81726 +12797.493 13622 81732 +12799.844 13625 81750 +12802.195 13627 81762 +12804.546 13628 81768 +12806.897 13629 81774 +12809.248 13632 81792 +12811.599 13635 81810 +12813.950 13637 81822 +12816.301 13638 81828 +12818.652 13640 81840 +12821.003 13645 81870 +12823.354 13646 81876 +12825.705 13647 81882 +12828.056 13653 81918 +12830.407 13654 81924 +12832.758 13661 81966 +12835.109 13662 81972 +12837.460 13667 82002 +12839.811 13668 82008 +12842.162 13669 82014 +12844.513 13675 82050 +12846.864 13676 82056 +12849.215 13681 82086 +12851.566 13683 82098 +12853.917 13683 82098 +12856.268 13689 82134 +12858.619 13690 82140 +12860.970 13690 82140 +12863.321 13695 82170 +12865.672 13696 82176 +12868.023 13697 82182 +12870.374 13703 82218 +12872.725 13704 82224 +12875.076 13706 82236 +12877.427 13709 82254 +12879.778 13710 82260 +12882.129 13711 82266 +12884.480 13717 82302 +12886.831 13718 82308 +12889.182 13718 82308 +12891.533 13723 82338 +12893.884 13724 82344 +12896.235 13725 82350 +12898.586 13731 82386 +12900.937 13732 82392 +12903.288 13732 82392 +12905.639 13737 82422 +12907.990 13739 82434 +12910.341 13739 82434 +12912.692 13745 82470 +12915.043 13747 82482 +12917.394 13751 82506 +12919.745 13754 82524 +12922.096 13755 82530 +12924.447 13759 82554 +12926.798 13761 82566 +12929.149 13762 82572 +12931.500 13766 82596 +12933.851 13768 82608 +12936.202 13769 82614 +12938.553 13773 82638 +12940.904 13775 82650 +12943.255 13776 82656 +12945.606 13781 82686 +12947.957 13783 82698 +12950.308 13786 82716 +12952.659 13792 82752 +12955.010 13793 82758 +12957.361 13799 82794 +12959.712 13800 82800 +12962.063 13806 82836 +12964.414 13808 82848 +12966.765 13814 82884 +12969.116 13815 82890 +12971.467 13821 82926 +12973.818 13822 82932 +12976.169 13828 82968 +12978.520 13829 82974 +12980.871 13835 83010 +12983.222 13836 83016 +12985.573 13842 83052 +12987.924 13843 83058 +12990.275 13843 83058 +12992.626 13849 83094 +12994.977 13850 83100 +12997.328 13856 83136 +12999.679 13857 83142 +13002.030 13863 83178 +13004.381 13864 83184 +13006.732 13870 83220 +13009.083 13871 83226 +13011.434 13877 83262 +13013.785 13878 83268 +13016.136 13884 83304 +13018.487 13885 83310 +13020.838 13885 83310 +13023.189 13891 83346 +13025.540 13892 83352 +13027.891 13898 83388 +13030.242 13899 83394 +13032.593 13905 83430 +13034.944 13906 83436 +13037.295 13912 83472 +13039.646 13913 83478 +13041.997 13919 83514 +13044.348 13920 83520 +13046.699 13926 83556 +13049.050 13927 83562 +13051.401 13928 83568 +13053.752 13933 83598 +13056.103 13934 83604 +13058.454 13940 83640 +13060.805 13941 83646 +13063.156 13947 83682 +13065.507 13948 83688 +13067.858 13948 83688 +13070.209 13954 83724 +13072.560 13955 83730 +13074.911 13961 83766 +13077.262 13962 83772 +13079.613 13968 83808 +13081.964 13969 83814 +13084.315 13971 83826 +13086.666 13975 83850 +13089.017 13976 83856 +13091.368 13982 83892 +13093.719 13983 83898 +13096.070 13989 83934 +13098.421 13990 83940 +13100.772 13996 83976 +13103.123 13997 83982 +13105.474 14003 84018 +13107.825 14004 84024 +13110.176 14010 84060 +13112.527 14011 84066 +13114.878 14013 84078 +13117.229 14019 84114 +13119.580 14020 84120 +13121.931 14021 84126 +13124.282 14024 84144 +13126.633 14026 84156 +13128.984 14027 84162 +13131.335 14028 84168 +13133.686 14031 84186 +13136.037 14034 84204 +13138.388 14035 84210 +13140.739 14038 84228 +13143.090 14039 84234 +13145.441 14044 84264 +13147.792 14045 84270 +13150.143 14046 84276 +13152.494 14052 84312 +13154.845 14054 84324 +13157.196 14060 84360 +13159.547 14061 84366 +13161.898 14066 84396 +13164.249 14067 84402 +13166.600 14068 84408 +13168.951 14074 84444 +13171.302 14075 84450 +13173.653 14080 84480 +13176.004 14081 84486 +13178.355 14082 84492 +13180.706 14088 84528 +13183.057 14089 84534 +13185.408 14089 84534 +13187.759 14094 84564 +13190.110 14096 84576 +13192.461 14096 84576 +13194.812 14102 84612 +13197.163 14103 84618 +13199.514 14108 84648 +13201.865 14109 84654 +13204.216 14110 84660 +13206.567 14116 84696 +13208.918 14117 84702 +13211.269 14122 84732 +13213.620 14123 84738 +13215.971 14124 84744 +13218.322 14130 84780 +13220.673 14131 84786 +13223.024 14131 84786 +13225.375 14132 84792 +13227.726 14133 84798 +13230.077 14136 84816 +13232.428 14137 84822 +13234.779 14139 84834 +13237.130 14139 84834 +13239.481 14140 84840 +13241.832 14143 84858 +13244.183 14144 84864 +13246.534 14144 84864 +13248.885 14144 84864 +13251.236 14145 84870 +13253.587 14145 84870 +13255.938 14146 84876 +13258.289 14147 84882 +13260.640 14149 84894 +13262.991 14150 84900 +13265.342 14152 84912 +13267.693 14153 84918 +13270.044 14154 84924 +13272.395 14154 84924 +13274.746 14155 84930 +13277.097 14157 84942 +13279.448 14158 84948 +13281.799 14158 84948 +13284.150 14158 84948 +13286.501 14159 84954 +13288.852 14160 84960 +13291.203 14161 84966 +13293.554 14164 84984 +13295.905 14166 84996 +13298.256 14167 85002 +13300.607 14168 85008 +13302.958 14168 85008 +13305.309 14169 85014 +13307.660 14171 85026 +13310.011 14172 85032 +13312.362 14172 85032 +13314.713 14172 85032 +13317.064 14173 85038 +13319.415 14173 85038 +13321.766 14174 85044 +13324.117 14175 85050 +13326.468 14176 85056 +13328.819 14180 85080 +13331.170 14181 85086 +13333.521 14182 85092 +13335.872 14182 85092 +13338.223 14184 85104 +13340.574 14185 85110 +13342.925 14186 85116 +13345.276 14186 85116 +13347.627 14186 85116 +13349.978 14186 85116 +13352.329 14187 85122 +13354.680 14188 85128 +13357.031 14189 85134 +13359.382 14189 85134 +13361.733 14190 85140 +13364.084 14191 85146 +13366.435 14193 85158 +13368.786 14194 85164 +13371.137 14195 85170 +13373.488 14196 85176 +13375.839 14196 85176 +13378.190 14197 85182 +13380.541 14199 85194 +13382.892 14200 85200 +13385.243 14200 85200 +13387.594 14200 85200 +13389.945 14201 85206 +13392.296 14203 85218 +13394.647 14203 85218 +13396.998 14203 85218 +13399.349 14205 85230 +13401.700 14206 85236 +13404.051 14208 85248 +13406.402 14210 85260 +13408.753 14210 85260 +13411.104 14210 85260 +13413.455 14211 85266 +13415.806 14213 85278 +13418.157 14214 85284 +13420.508 14214 85284 +13422.859 14214 85284 +13425.210 14215 85290 +13427.561 14215 85290 +13429.912 14216 85296 +13432.263 14217 85302 +13434.614 14219 85314 +13436.965 14220 85320 +13439.316 14221 85326 +13441.667 14222 85332 +13444.018 14223 85338 +13446.369 14224 85344 +13448.720 14227 85362 +13451.071 14228 85368 +13453.422 14228 85368 +13455.773 14228 85368 +13458.124 14229 85374 +13460.475 14229 85374 +13462.826 14230 85380 +13465.177 14231 85386 +13467.528 14234 85404 +13469.879 14235 85410 +13472.230 14236 85416 +13474.581 14237 85422 +13476.932 14238 85428 +13479.283 14240 85440 +13481.634 14241 85446 +13483.985 14242 85452 +13486.336 14242 85452 +13488.687 14242 85452 +13491.038 14243 85458 +13493.389 14243 85458 +13495.740 14244 85464 +13498.091 14245 85470 +13500.442 14245 85470 +13502.793 14246 85476 +13505.144 14248 85488 +13507.495 14250 85500 +13509.846 14251 85506 +13512.197 14252 85512 +13514.548 14254 85524 +13516.899 14256 85536 +13519.250 14256 85536 +13521.601 14256 85536 +13523.952 14257 85542 +13526.303 14258 85548 +13528.654 14259 85554 +13531.005 14259 85554 +13533.356 14260 85560 +13535.707 14262 85572 +13538.058 14264 85584 +13540.409 14265 85590 +13542.760 14266 85596 +13545.111 14266 85596 +13547.462 14269 85614 +13549.813 14270 85620 +13552.164 14270 85620 +13554.515 14270 85620 +13556.866 14272 85632 +13559.217 14273 85638 +13561.568 14273 85638 +13563.919 14274 85644 +13566.270 14277 85662 +13568.621 14278 85668 +13570.972 14279 85674 +13573.323 14280 85680 +13575.674 14281 85686 +13578.025 14282 85692 +13580.376 14284 85704 +13582.727 14284 85704 +13585.078 14284 85704 +13587.429 14284 85704 +13589.780 14285 85710 +13592.131 14286 85716 +13594.482 14287 85722 +13596.833 14288 85728 +13599.184 14290 85740 +13601.535 14291 85746 +13603.886 14292 85752 +13606.237 14293 85758 +13608.588 14294 85764 +13610.939 14296 85776 +13613.290 14298 85788 +13615.641 14298 85788 +13617.992 14298 85788 +13620.343 14298 85788 +13622.694 14300 85800 +13625.045 14301 85806 +13627.396 14301 85806 +13629.747 14302 85812 +13632.098 14304 85824 +13634.449 14306 85836 +13636.800 14306 85836 +13639.151 14306 85836 +13641.502 14307 85842 +13643.853 14308 85848 +13646.204 14311 85866 +13648.555 14312 85872 +13650.906 14312 85872 +13653.257 14312 85872 +13655.608 14313 85878 +13657.959 14314 85884 +13660.310 14315 85890 +13662.661 14315 85890 +13665.012 14317 85902 +13667.363 14319 85914 +13669.714 14320 85920 +13672.065 14321 85926 +13674.416 14322 85932 +13676.767 14323 85938 +13679.118 14326 85956 +13681.469 14326 85956 +13683.820 14326 85956 +13686.171 14327 85962 +13688.522 14328 85968 +13690.873 14329 85974 +13693.224 14332 85992 +13695.575 14333 85998 +13697.926 14334 86004 +13700.277 14335 86010 +13702.628 14336 86016 +13704.979 14338 86028 +13707.330 14340 86040 +13709.681 14340 86040 +13712.032 14340 86040 +13714.383 14340 86040 +13716.734 14341 86046 +13719.085 14342 86052 +13721.436 14343 86058 +13723.787 14343 86058 +13726.138 14346 86076 +13728.489 14347 86082 +13730.840 14348 86088 +13733.191 14349 86094 +13735.542 14350 86100 +13737.893 14350 86100 +13740.244 14351 86106 +13742.595 14353 86118 +13744.946 14354 86124 +13747.297 14354 86124 +13749.648 14354 86124 +13751.999 14355 86130 +13754.350 14356 86136 +13756.701 14357 86142 +13759.052 14359 86154 +13761.403 14361 86166 +13763.754 14362 86172 +13766.105 14363 86178 +13768.456 14364 86184 +13770.807 14367 86202 +13773.158 14368 86208 +13775.509 14368 86208 +13777.860 14368 86208 +13780.211 14368 86208 +13782.562 14369 86214 +13784.913 14370 86220 +13787.264 14371 86226 +13789.615 14371 86226 +13791.966 14373 86238 +13794.317 14375 86250 +13796.668 14376 86256 +13799.019 14377 86262 +13801.370 14378 86268 +13803.721 14379 86274 +13806.072 14382 86292 +13808.423 14382 86292 +13810.774 14382 86292 +13813.125 14383 86298 +13815.476 14384 86304 +13817.827 14385 86310 +13820.178 14389 86334 +13822.529 14389 86334 +13824.880 14390 86340 +13827.231 14391 86346 +13829.582 14392 86352 +13831.933 14393 86358 +13834.284 14394 86364 +13836.635 14396 86376 +13838.986 14396 86376 +13841.337 14396 86376 +13843.688 14396 86376 +13846.039 14397 86382 +13848.390 14398 86388 +13850.741 14399 86394 +13853.092 14402 86412 +13855.443 14403 86418 +13857.794 14404 86424 +13860.145 14405 86430 +13862.496 14406 86436 +13864.847 14408 86448 +13867.198 14410 86460 +13869.549 14410 86460 +13871.900 14410 86460 +13874.251 14410 86460 +13876.602 14411 86466 +13878.953 14412 86472 +13881.304 14413 86478 +13883.655 14413 86478 +13886.006 14415 86490 +13888.357 14417 86502 +13890.708 14418 86508 +13893.059 14419 86514 +13895.410 14420 86520 +13897.761 14421 86526 +13900.112 14422 86532 +13902.463 14423 86538 +13904.814 14424 86544 +13907.165 14424 86544 +13909.516 14424 86544 +13911.867 14425 86550 +13914.218 14426 86556 +13916.569 14427 86562 +13918.920 14427 86562 +13921.271 14429 86574 +13923.622 14430 86580 +13925.973 14431 86586 +13928.324 14432 86592 +13930.675 14433 86598 +13933.026 14434 86604 +13935.377 14436 86616 +13937.728 14438 86628 +13940.079 14438 86628 +13942.430 14438 86628 +13944.781 14438 86628 +13947.132 14439 86634 +13949.483 14440 86640 +13951.834 14441 86646 +13954.185 14443 86658 +13956.536 14445 86670 +13958.887 14446 86676 +13961.238 14446 86676 +13963.589 14447 86682 +13965.940 14448 86688 +13968.291 14451 86706 +13970.642 14452 86712 +13972.993 14452 86712 +13975.344 14452 86712 +13977.695 14453 86718 +13980.046 14454 86724 +13982.397 14455 86730 +13984.748 14458 86748 +13987.099 14460 86760 +13989.450 14460 86760 +13991.801 14461 86766 +13994.152 14462 86772 +13996.503 14464 86784 +13998.854 14465 86790 +14001.205 14466 86796 +14003.556 14466 86796 +14005.907 14466 86796 +14008.258 14466 86796 +14010.609 14467 86802 +14012.960 14468 86808 +14015.311 14469 86814 +14017.662 14471 86826 +14020.013 14473 86838 +14022.364 14474 86844 +14024.715 14474 86844 +14027.066 14475 86850 +14029.417 14476 86856 +14031.768 14478 86868 +14034.119 14480 86880 +14036.470 14480 86880 +14038.821 14480 86880 +14041.172 14481 86886 +14043.523 14482 86892 +14045.874 14483 86898 +14048.225 14485 86910 +14050.576 14488 86928 +14052.927 14489 86934 +14055.278 14490 86940 +14057.629 14493 86958 +14059.980 14494 86964 +14062.331 14494 86964 +14064.682 14494 86964 +14067.033 14494 86964 +14069.384 14495 86970 +14071.735 14496 86976 +14074.086 14497 86982 +14076.437 14500 87000 +14078.788 14502 87012 +14081.139 14503 87018 +14083.490 14504 87024 +14085.841 14507 87042 +14088.192 14508 87048 +14090.543 14508 87048 +14092.894 14508 87048 +14095.245 14508 87048 +14097.596 14509 87054 +14099.947 14510 87060 +14102.298 14511 87066 +14104.649 14511 87066 +14107.000 14514 87084 +14109.351 14515 87090 +14111.702 14516 87096 +14114.053 14518 87108 +14116.404 14518 87108 +14118.755 14522 87132 +14121.106 14522 87132 +14123.457 14522 87132 +14125.808 14522 87132 +14128.159 14523 87138 +14130.510 14524 87144 +14132.861 14525 87150 +14135.212 14528 87168 +14137.563 14529 87174 +14139.914 14530 87180 +14142.265 14531 87186 +14144.616 14532 87192 +14146.967 14532 87192 +14149.318 14536 87216 +14151.669 14536 87216 +14154.020 14536 87216 +14156.371 14537 87222 +14158.722 14537 87222 +14161.073 14538 87228 +14163.424 14539 87234 +14165.775 14541 87246 +14168.126 14543 87258 +14170.477 14544 87264 +14172.828 14545 87270 +14175.179 14546 87276 +14177.530 14547 87282 +14179.881 14550 87300 +14182.232 14550 87300 +14184.583 14550 87300 +14186.934 14551 87306 +14189.285 14551 87306 +14191.636 14552 87312 +14193.987 14553 87318 +14196.338 14553 87318 +14198.689 14556 87336 +14201.040 14558 87348 +14203.391 14559 87354 +14205.742 14560 87360 +14208.093 14561 87366 +14210.444 14562 87372 +14212.795 14564 87384 +14215.146 14564 87384 +14217.497 14564 87384 +14219.848 14565 87390 +14222.199 14566 87396 +14224.550 14567 87402 +14226.901 14571 87426 +14229.252 14572 87432 +14231.603 14573 87438 +14233.954 14574 87444 +14236.305 14576 87456 +14238.656 14578 87468 +14241.007 14578 87468 +14243.358 14578 87468 +14245.709 14579 87474 +14248.060 14580 87480 +14250.411 14581 87486 +14252.762 14585 87510 +14255.113 14586 87516 +14257.464 14587 87522 +14259.815 14588 87528 +14262.166 14590 87540 +14264.517 14592 87552 +14266.868 14592 87552 +14269.219 14592 87552 +14271.570 14593 87558 +14273.921 14593 87558 +14276.272 14595 87570 +14278.623 14595 87570 +14280.974 14598 87588 +14283.325 14600 87600 +14285.676 14602 87612 +14288.027 14602 87612 +14290.378 14602 87612 +14292.729 14604 87624 +14295.080 14606 87636 +14297.431 14606 87636 +14299.782 14606 87636 +14302.133 14607 87642 +14304.484 14608 87648 +14306.835 14609 87654 +14309.186 14610 87660 +14311.537 14612 87672 +14313.888 14614 87684 +14316.239 14615 87690 +14318.590 14616 87696 +14320.941 14616 87696 +14323.292 14618 87708 +14325.643 14619 87714 +14327.994 14620 87720 +14330.345 14620 87720 +14332.696 14620 87720 +14335.047 14621 87726 +14337.398 14621 87726 +14339.749 14622 87732 +14342.100 14623 87738 +14344.451 14625 87750 +14346.802 14628 87768 +14349.153 14630 87780 +14351.504 14630 87780 +14353.855 14633 87798 +14356.206 14633 87798 +14358.557 14634 87804 +14360.908 14634 87804 +14363.259 14634 87804 +14365.610 14634 87804 +14367.961 14635 87810 +14370.312 14636 87816 +14372.663 14637 87822 +14375.014 14638 87828 +14377.365 14640 87840 +14379.716 14641 87846 +14382.067 14642 87852 +14384.418 14643 87858 +14386.769 14644 87864 +14389.120 14646 87876 +14391.471 14648 87888 +14393.822 14648 87888 +14396.173 14648 87888 +14398.524 14649 87894 +14400.875 14650 87900 +14403.226 14651 87906 +14405.577 14652 87912 +14407.928 14655 87930 +14410.279 14656 87936 +14412.630 14657 87942 +14414.981 14658 87948 +14417.332 14659 87954 +14419.683 14662 87972 +14422.034 14662 87972 +14424.385 14662 87972 +14426.736 14663 87978 +14429.087 14664 87984 +14431.438 14665 87990 +14433.789 14666 87996 +14436.140 14668 88008 +14438.491 14670 88020 +14440.842 14671 88026 +14443.193 14672 88032 +14445.544 14674 88044 +14447.895 14676 88056 +14450.246 14676 88056 +14452.597 14676 88056 +14454.948 14676 88056 +14457.299 14677 88062 +14459.650 14678 88068 +14462.001 14679 88074 +14464.352 14682 88092 +14466.703 14683 88098 +14469.054 14684 88104 +14471.405 14685 88110 +14473.756 14686 88116 +14476.107 14686 88116 +14478.458 14688 88128 +14480.809 14689 88134 +14483.160 14690 88140 +14485.511 14690 88140 +14487.862 14690 88140 +14490.213 14691 88146 +14492.564 14692 88152 +14494.915 14693 88158 +14497.266 14693 88158 +14499.617 14696 88176 +14501.968 14697 88182 +14504.319 14698 88188 +14506.670 14699 88194 +14509.021 14700 88200 +14511.372 14700 88200 +14513.723 14703 88218 +14516.074 14704 88224 +14518.425 14704 88224 +14520.776 14704 88224 +14523.127 14705 88230 +14525.478 14706 88236 +14527.829 14707 88242 +14530.180 14707 88242 +14532.531 14709 88254 +14534.882 14710 88260 +14537.233 14711 88266 +14539.584 14712 88272 +14541.935 14713 88278 +14544.286 14714 88284 +14546.637 14714 88284 +14548.988 14715 88290 +14551.339 14717 88302 +14553.690 14718 88308 +14556.041 14718 88308 +14558.392 14718 88308 +14560.743 14719 88314 +14563.094 14720 88320 +14565.445 14721 88326 +14567.796 14721 88326 +14570.147 14724 88344 +14572.498 14725 88350 +14574.849 14726 88356 +14577.200 14727 88362 +14579.551 14728 88368 +14581.902 14729 88374 +14584.253 14732 88392 +14586.604 14732 88392 +14588.955 14732 88392 +14591.306 14733 88398 +14593.657 14734 88404 +14596.008 14735 88410 +14598.359 14735 88410 +14600.710 14735 88410 +14603.061 14738 88428 +14605.412 14738 88428 +14607.763 14740 88440 +14610.114 14740 88440 +14612.465 14741 88446 +14614.816 14742 88452 +14617.167 14742 88452 +14619.518 14743 88458 +14621.869 14746 88476 +14624.220 14746 88476 +14626.571 14746 88476 +14628.922 14747 88482 +14631.273 14747 88482 +14633.624 14748 88488 +14635.975 14749 88494 Added: SwiftApps/SciColSim/plot_cumulative_openmp.plt =================================================================== --- SwiftApps/SciColSim/plot_cumulative_openmp.plt (rev 0) +++ SwiftApps/SciColSim/plot_cumulative_openmp.plt 2012-02-07 21:33:43 UTC (rev 5554) @@ -0,0 +1,8 @@ +set terminal png enhanced +#set term postscript eps enhanced +set output "cumulativeplot-openmp.png" +set nokey +set xlabel "Time in seconds" +set ylabel "number of completed jobs" +set title "Cumulative SciColSim-openMP jobs" +plot "plot_cumulative.txt" using 1:3 with lines Added: SwiftApps/SciColSim/plot_ready.plt =================================================================== --- SwiftApps/SciColSim/plot_ready.plt (rev 0) +++ SwiftApps/SciColSim/plot_ready.plt 2012-02-07 21:33:43 UTC (rev 5554) @@ -0,0 +1,9 @@ +set terminal png enhanced +#set term postscript eps enhanced +set output "readyplot.png" +set nokey +set xlabel "Time" +set ylabel "number of ready jobs" +set xrange [3400:3800] +set title "Init+Active+Sub+Stageinout jobs" +plot "plot_ready_jobs.txt" using 1 with lines Added: SwiftApps/SciColSim/plot_ready_jobs.txt =================================================================== --- SwiftApps/SciColSim/plot_ready_jobs.txt (rev 0) +++ SwiftApps/SciColSim/plot_ready_jobs.txt 2012-02-07 21:33:43 UTC (rev 5554) @@ -0,0 +1,6239 @@ +11 +19 +14 +19 +17 +13 +19 +19 +10 +2 +18 +19 +16 +12 +13 +12 +11 +2 +11 +15 +16 +11 +19 +2 +17 +11 +19 +18 +2 +13 +10 +9 +19 +19 +11 +19 +18 +12 +17 +11 +18 +17 +11 +12 +12 +11 +12 +14 +19 +2 +10 +10 +11 +19 +11 +17 +11 +11 +13 +11 +19 +19 +12 +18 +19 +17 +19 +2 +11 +12 +13 +19 +19 +18 +11 +12 +19 +15 +19 +11 +2 +12 +19 +19 +19 +11 +11 +11 +11 +19 +18 +11 +11 +19 +11 +10 +18 +11 +19 +11 +14 +18 +2 +11 +10 +11 +18 +11 +12 +11 +19 +11 +11 +11 +11 +18 +11 +11 +11 +11 +2 +11 +19 +19 +11 +19 +11 +19 +11 +19 +18 +19 +12 +17 +19 +2 +16 +15 +11 +11 +19 +12 +12 +11 +19 +16 +11 +10 +19 +19 +18 +11 +18 +2 +12 +11 +12 +19 +19 +10 +19 +19 +18 +12 +12 +11 +18 +12 +2 +19 +18 +11 +11 +19 +19 +19 +11 +11 +17 +11 +12 +2 +19 +11 +12 +11 +11 +19 +18 +9 +11 +18 +19 +12 +19 +2 +11 +11 +12 +11 +2 +11 +10 +14 +11 +19 +19 +12 +18 +19 +19 +11 +2 +18 +19 +10 +17 +18 +11 +11 +11 +19 +19 +11 +17 +11 +12 +12 +13 +11 +18 +11 +19 +19 +19 +19 +11 +18 +19 +17 +12 +12 +11 +19 +11 +11 +19 +12 +11 +19 +19 +15 +11 +17 +2 +13 +13 +11 +19 +19 +11 +12 +18 +19 +11 +17 +2 +19 +13 +13 +11 +19 +12 +10 +10 +11 +19 +11 +12 +19 +12 +19 +11 +18 +12 +9 +19 +13 +11 +16 +11 +11 +17 +19 +2 +12 +19 +19 +11 +11 +11 +14 +11 +16 +19 +16 +18 +19 +19 +12 +19 +12 +19 +17 +10 +10 +2 +11 +12 +13 +19 +10 +10 +19 +19 +19 +12 +11 +19 +19 +10 +2 +17 +19 +10 +12 +12 +19 +2 +19 +11 +12 +19 +19 +13 +16 +19 +18 +12 +19 +12 +12 +19 +18 +11 +11 +11 +19 +19 +11 +12 +18 +2 +19 +15 +11 +11 +18 +12 +14 +10 +11 +9 +16 +17 +12 +18 +19 +19 +11 +11 +18 +2 +17 +16 +19 +12 +11 +12 +11 +19 +11 +12 +11 +11 +17 +11 +11 +17 +19 +2 +17 +11 +13 +2 +12 +11 +12 +19 +11 +10 +11 +19 +19 +12 +11 +11 +19 +13 +12 +10 +19 +19 +11 +19 +19 +19 +12 +18 +13 +11 +18 +10 +17 +16 +11 +17 +18 +10 +19 +17 +11 +17 +16 +2 +11 +11 +13 +19 +19 +11 +11 +11 +11 +12 +19 +19 +18 +12 +11 +19 +18 +13 +11 +2 +2 +11 +10 +11 +11 +11 +19 +12 +17 +19 +2 +11 +11 +19 +15 +11 +2 +19 +11 +11 +19 +10 +19 +13 +13 +11 +19 +19 +19 +11 +12 +2 +19 +18 +2 +11 +10 +10 +11 +18 +19 +2 +11 +17 +11 +11 +19 +12 +11 +12 +2 +11 +11 +21 +22 +19 +12 +12 +19 +2 +13 +18 +19 +19 +12 +19 +2 +11 +12 +12 +19 +10 +11 +19 +2 +11 +12 +17 +12 +12 +11 +2 +2 +11 +18 +19 +11 +11 +11 +11 +19 +12 +19 +2 +17 +11 +19 +16 +11 +11 +16 +18 +11 +11 +11 +19 +11 +19 +13 +19 +12 +10 +11 +12 +17 +14 +18 +18 +19 +10 +14 +18 +19 +19 +10 +12 +2 +19 +9 +11 +15 +19 +19 +18 +10 +11 +11 +13 +11 +9 +12 +11 +19 +11 +10 +19 +19 +9 +11 +13 +19 +19 +14 +12 +19 +11 +12 +11 +11 +19 +19 +12 +12 +12 +11 +19 +10 +13 +19 +19 +19 +10 +12 +11 +19 +19 +17 +19 +18 +11 +13 +18 +19 +12 +18 +2 +19 +19 +12 +12 +11 +2 +16 +17 +11 +11 +12 +2 +12 +18 +12 +19 +19 +17 +10 +10 +19 +18 +10 +11 +2 +10 +2 +11 +19 +11 +11 +11 +2 +17 +11 +18 +11 +17 +11 +11 +2 +11 +19 +11 +18 +19 +2 +11 +19 +19 +18 +19 +11 +11 +19 +19 +19 +11 +11 +19 +11 +19 +19 +17 +19 +11 +11 +19 +11 +9 +19 +11 +11 +19 +19 +19 +18 +19 +19 +18 +19 +11 +11 +2 +19 +11 +19 +19 +19 +17 +11 +19 +19 +2 +11 +11 +19 +12 +11 +19 +14 +19 +17 +19 +18 +11 +2 +19 +19 +19 +2 +19 +19 +19 +2 +19 +11 +2 +19 +11 +19 +19 +19 +18 +19 +19 +2 +2 +19 +2 +19 +11 +19 +11 +11 +19 +2 +2 +11 +19 +19 +11 +11 +18 +19 +19 +19 +19 +11 +11 +2 +19 +19 +19 +19 +19 +11 +11 +2 +2 +2 +19 +19 +11 +11 +19 +2 +18 +11 +19 +19 +19 +19 +19 +10 +2 +19 +11 +11 +19 +19 +18 +18 +19 +2 +16 +19 +2 +19 +2 +12 +11 +19 +11 +11 +19 +19 +11 +11 +19 +16 +19 +19 +17 +19 +2 +19 +19 +11 +19 +11 +19 +2 +14 +19 +11 +19 +19 +19 +11 +19 +11 +2 +19 +19 +19 +19 +19 +2 +19 +19 +19 +19 +2 +18 +19 +19 +18 +19 +11 +12 +19 +17 +2 +11 +19 +19 +10 +18 +19 +11 +19 +2 +11 +19 +10 +19 +11 +19 +19 +19 +2 +19 +10 +2 +19 +2 +13 +19 +19 +19 +19 +19 +11 +19 +2 +19 +2 +19 +19 +19 +19 +19 +2 +19 +2 +10 +19 +19 +18 +11 +19 +17 +18 +2 +11 +18 +11 +2 +19 +11 +2 +11 +2 +11 +11 +19 +19 +19 +19 +19 +19 +13 +19 +11 +19 +2 +18 +11 +18 +2 +2 +2 +11 +19 +19 +12 +11 +19 +11 +19 +2 +2 +19 +19 +19 +18 +19 +2 +2 +19 +19 +18 +11 +19 +11 +2 +19 +11 +11 +19 +19 +19 +2 +19 +9 +11 +19 +11 +18 +2 +19 +19 +10 +19 +19 +11 +19 +2 +11 +19 +19 +19 +19 +19 +19 +10 +19 +19 +19 +19 +2 +19 +2 +11 +19 +2 +11 +11 +11 +19 +19 +11 +2 +19 +19 +2 +19 +19 +19 +19 +2 +2 +19 +2 +19 +19 +19 +2 +11 +19 +11 +11 +19 +19 +19 +2 +19 +2 +2 +19 +19 +11 +19 +2 +19 +11 +10 +18 +19 +19 +18 +19 +19 +11 +19 +2 +19 +12 +19 +19 +11 +11 +19 +10 +19 +2 +11 +19 +11 +19 +2 +11 +11 +11 +2 +19 +11 +19 +18 +11 +11 +19 +11 +2 +19 +11 +2 +19 +19 +19 +2 +19 +2 +19 +18 +19 +17 +2 +18 +19 +2 +19 +11 +11 +11 +11 +19 +18 +11 +2 +19 +19 +2 +19 +19 +19 +11 +19 +11 +2 +2 +19 +10 +11 +19 +16 +11 +11 +2 +19 +19 +18 +19 +18 +2 +18 +17 +19 +11 +19 +12 +19 +12 +19 +12 +19 +9 +11 +12 +2 +19 +19 +19 +11 +19 +19 +11 +19 +2 +11 +11 +19 +19 +11 +19 +2 +18 +19 +16 +19 +2 +19 +11 +19 +19 +10 +11 +13 +11 +19 +11 +18 +11 +2 +19 +2 +19 +18 +11 +2 +2 +11 +19 +10 +19 +16 +19 +11 +19 +11 +19 +11 +19 +19 +12 +12 +11 +19 +18 +11 +19 +2 +2 +2 +19 +18 +19 +19 +11 +19 +19 +19 +2 +19 +11 +11 +2 +11 +19 +18 +19 +2 +19 +11 +11 +19 +2 +11 +11 +19 +19 +18 +2 +19 +2 +19 +11 +12 +19 +19 +2 +19 +19 +19 +2 +19 +18 +2 +11 +19 +2 +17 +11 +2 +18 +19 +2 +19 +11 +19 +19 +19 +19 +2 +11 +19 +19 +19 +19 +19 +19 +19 +11 +18 +19 +2 +17 +19 +2 +11 +19 +19 +11 +11 +2 +17 +18 +11 +19 +11 +19 +19 +17 +11 +19 +19 +11 +11 +19 +11 +18 +11 +19 +19 +11 +19 +19 +18 +19 +11 +19 +2 +18 +19 +2 +19 +11 +2 +19 +19 +11 +19 +2 +19 +18 +19 +19 +2 +2 +19 +19 +11 +19 +2 +19 +11 +2 +18 +19 +11 +11 +11 +18 +19 +19 +2 +11 +2 +2 +18 +2 +19 +2 +2 +11 +18 +19 +2 +2 +11 +19 +13 +11 +19 +11 +19 +19 +2 +11 +19 +11 +11 +19 +16 +19 +2 +19 +18 +19 +19 +12 +11 +11 +19 +17 +11 +2 +19 +11 +19 +11 +2 +19 +2 +11 +19 +19 +19 +11 +19 +17 +12 +19 +19 +18 +19 +2 +18 +19 +2 +19 +19 +11 +19 +18 +19 +11 +18 +19 +16 +2 +19 +11 +19 +11 +19 +11 +19 +2 +19 +19 +17 +19 +11 +11 +19 +19 +11 +19 +19 +12 +12 +19 +2 +19 +17 +10 +19 +19 +11 +19 +19 +19 +18 +19 +2 +11 +11 +19 +2 +10 +11 +2 +19 +11 +19 +19 +11 +19 +2 +11 +19 +19 +19 +18 +19 +2 +19 +12 +10 +12 +2 +19 +19 +11 +19 +19 +18 +2 +19 +18 +17 +18 +12 +2 +19 +11 +10 +11 +2 +11 +12 +19 +19 +14 +2 +19 +11 +11 +19 +19 +11 +18 +19 +12 +12 +19 +18 +18 +2 +11 +11 +2 +19 +19 +11 +19 +10 +18 +18 +11 +11 +19 +12 +11 +18 +11 +11 +11 +2 +2 +19 +11 +12 +18 +19 +19 +14 +12 +18 +19 +11 +12 +19 +11 +11 +2 +19 +18 +13 +19 +11 +19 +16 +11 +17 +11 +19 +11 +19 +11 +18 +10 +10 +11 +11 +19 +17 +19 +17 +11 +2 +19 +19 +2 +12 +11 +19 +19 +19 +18 +16 +19 +12 +11 +10 +11 +11 +11 +17 +11 +19 +13 +2 +19 +11 +11 +11 +2 +16 +2 +19 +19 +17 +2 +18 +11 +12 +19 +2 +17 +11 +11 +11 +11 +11 +12 +19 +11 +19 +18 +10 +19 +11 +19 +11 +19 +11 +19 +11 +17 +11 +17 +12 +17 +11 +11 +18 +19 +19 +9 +11 +2 +19 +19 +16 +2 +19 +11 +14 +19 +12 +19 +19 +17 +13 +15 +19 +19 +12 +19 +2 +2 +16 +19 +19 +11 +12 +18 +12 +12 +19 +15 +16 +11 +2 +11 +11 +16 +11 +11 +17 +11 +18 +17 +2 +10 +12 +11 +19 +19 +2 +2 +2 +19 +13 +19 +2 +14 +13 +19 +19 +10 +19 +11 +19 +11 +2 +19 +11 +11 +19 +19 +9 +11 +11 +19 +12 +12 +11 +19 +11 +15 +2 +2 +18 +11 +19 +17 +19 +19 +10 +11 +19 +11 +10 +12 +2 +15 +13 +17 +18 +11 +13 +2 +11 +19 +11 +11 +11 +16 +12 +2 +2 +11 +11 +12 +11 +19 +12 +11 +11 +12 +11 +19 +2 +12 +17 +11 +11 +11 +16 +19 +12 +11 +19 +19 +12 +19 +19 +11 +16 +19 +19 +19 +12 +19 +12 +11 +11 +11 +14 +11 +2 +19 +11 +11 +11 +10 +11 +16 +11 +2 +10 +11 +17 +10 +19 +10 +11 +11 +17 +16 +19 +16 +11 +11 +17 +11 +11 +19 +10 +19 +19 +19 +19 +11 +12 +18 +19 +10 +19 +19 +11 +19 +19 +11 +2 +19 +19 +11 +19 +19 +17 +18 +18 +2 +11 +11 +11 +19 +13 +11 +11 +18 +10 +12 +17 +18 +11 +18 +11 +11 +19 +9 +17 +2 +2 +11 +11 +17 +2 +11 +18 +11 +13 +19 +19 +11 +10 +13 +17 +19 +19 +19 +19 +11 +10 +11 +11 +11 +19 +13 +16 +19 +12 +12 +19 +19 +11 +19 +19 +16 +17 +14 +19 +19 +15 +19 +2 +19 +19 +19 +18 +19 +2 +19 +19 +2 +2 +2 +19 +11 +19 +19 +11 +19 +2 +11 +11 +19 +19 +18 +19 +2 +2 +19 +19 +16 +19 +19 +19 +19 +2 +19 +19 +11 +19 +19 +2 +19 +19 +12 +12 +19 +19 +17 +11 +19 +19 +19 +19 +19 +19 +19 +11 +11 +19 +11 +2 +19 +2 +19 +19 +11 +11 +11 +11 +19 +2 +19 +11 +11 +2 +19 +19 +19 +19 +19 +2 +19 +11 +11 +11 +19 +19 +19 +19 +19 +19 +19 +18 +2 +11 +12 +12 +2 +19 +18 +2 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +19 +19 +11 +12 +11 +2 +19 +11 +2 +19 +17 +19 +11 +2 +19 +17 +19 +11 +18 +19 +12 +2 +19 +18 +12 +19 +11 +2 +16 +19 +11 +11 +19 +19 +19 +11 +2 +19 +18 +19 +19 +19 +2 +11 +19 +19 +18 +19 +19 +19 +11 +11 +11 +11 +19 +19 +11 +2 +18 +19 +18 +19 +19 +11 +19 +19 +19 +11 +2 +19 +11 +11 +12 +2 +11 +19 +19 +11 +19 +19 +11 +19 +18 +11 +2 +19 +11 +19 +19 +2 +19 +10 +11 +11 +11 +19 +11 +2 +19 +19 +19 +19 +19 +2 +19 +18 +19 +19 +11 +19 +19 +18 +19 +17 +11 +19 +19 +2 +11 +19 +19 +19 +18 +10 +2 +19 +19 +2 +11 +19 +11 +19 +19 +19 +19 +2 +19 +19 +2 +19 +19 +19 +2 +10 +18 +2 +11 +19 +19 +11 +19 +19 +19 +11 +2 +11 +19 +19 +19 +19 +19 +11 +19 +19 +2 +19 +2 +19 +19 +19 +19 +11 +2 +2 +2 +11 +11 +19 +11 +17 +2 +19 +19 +18 +19 +16 +19 +19 +11 +11 +19 +19 +11 +11 +19 +11 +19 +11 +19 +11 +19 +11 +2 +11 +19 +19 +11 +19 +19 +11 +2 +19 +11 +19 +14 +13 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +20 +21 +4 +4 +4 +4 +13 +21 +21 +12 +11 +19 +18 +17 +12 +19 +11 +19 +19 +11 +13 +18 +19 +10 +18 +11 +19 +11 +10 +11 +11 +16 +18 +10 +2 +19 +2 +10 +19 +11 +11 +2 +19 +14 +16 +19 +12 +11 +19 +19 +11 +11 +11 +19 +19 +19 +2 +2 +12 +18 +2 +19 +12 +18 +11 +11 +11 +19 +11 +11 +18 +19 +18 +11 +11 +18 +19 +18 +2 +2 +11 +2 +19 +2 +10 +19 +11 +19 +17 +12 +18 +2 +10 +11 +11 +19 +19 +11 +17 +19 +19 +19 +11 +12 +19 +12 +11 +19 +19 +11 +10 +19 +19 +19 +15 +18 +19 +11 +10 +17 +11 +19 +9 +12 +19 +13 +9 +19 +19 +11 +18 +2 +19 +19 +10 +19 +2 +2 +17 +16 +11 +2 +19 +11 +11 +11 +2 +2 +19 +11 +18 +19 +19 +19 +11 +11 +2 +19 +10 +13 +11 +19 +11 +18 +12 +18 +19 +2 +19 +11 +19 +2 +2 +11 +11 +11 +11 +18 +11 +11 +11 +2 +10 +19 +18 +18 +12 +19 +19 +10 +18 +19 +11 +19 +11 +11 +11 +11 +19 +19 +18 +11 +18 +19 +11 +19 +2 +13 +19 +19 +11 +10 +19 +11 +11 +11 +12 +18 +11 +19 +19 +11 +11 +2 +11 +19 +10 +11 +17 +12 +11 +18 +2 +19 +11 +11 +11 +19 +11 +10 +2 +18 +17 +16 +2 +11 +19 +18 +14 +12 +11 +2 +19 +2 +11 +11 +18 +19 +11 +11 +19 +2 +12 +11 +2 +18 +11 +19 +11 +2 +18 +2 +19 +2 +18 +19 +2 +19 +13 +9 +2 +19 +11 +16 +11 +19 +19 +11 +19 +19 +11 +18 +11 +2 +2 +11 +19 +11 +12 +18 +11 +16 +2 +12 +18 +17 +16 +11 +18 +2 +11 +10 +2 +10 +18 +19 +11 +11 +18 +2 +19 +11 +10 +11 +19 +13 +17 +11 +2 +2 +19 +18 +14 +19 +19 +19 +16 +12 +19 +2 +13 +15 +19 +19 +17 +11 +2 +19 +19 +19 +18 +11 +11 +19 +11 +11 +18 +11 +11 +10 +2 +19 +16 +18 +19 +19 +19 +12 +19 +2 +2 +19 +11 +19 +19 +19 +17 +19 +19 +11 +12 +11 +2 +19 +11 +11 +11 +11 +19 +2 +11 +19 +18 +2 +11 +2 +11 +11 +12 +11 +19 +11 +18 +11 +11 +11 +2 +11 +11 +11 +19 +19 +10 +11 +2 +19 +12 +12 +18 +2 +17 +11 +11 +11 +19 +19 +19 +16 +18 +11 +19 +19 +11 +16 +12 +19 +19 +17 +18 +19 +19 +11 +11 +11 +11 +17 +11 +18 +19 +11 +11 +10 +2 +19 +17 +18 +11 +19 +11 +11 +19 +19 +19 +10 +19 +11 +19 +11 +11 +19 +11 +11 +11 +12 +2 +19 +10 +11 +11 +10 +11 +19 +19 +19 +2 +19 +17 +17 +11 +19 +12 +11 +2 +19 +19 +11 +2 +19 +11 +11 +19 +2 +19 +12 +11 +19 +10 +11 +19 +11 +11 +19 +11 +12 +11 +19 +19 +11 +19 +16 +11 +10 +2 +11 +19 +17 +2 +2 +11 +19 +19 +19 +11 +11 +12 +11 +12 +18 +11 +11 +19 +19 +15 +19 +2 +17 +18 +19 +11 +11 +11 +11 +11 +11 +18 +12 +18 +19 +11 +19 +11 +19 +11 +2 +12 +19 +16 +11 +11 +11 +11 +11 +11 +12 +11 +11 +2 +11 +19 +11 +11 +10 +16 +11 +10 +11 +2 +11 +18 +11 +11 +19 +19 +19 +17 +2 +10 +11 +19 +19 +11 +18 +14 +18 +19 +11 +19 +18 +19 +19 +16 +11 +18 +19 +11 +17 +19 +18 +11 +12 +11 +18 +19 +2 +19 +19 +2 +17 +11 +11 +18 +18 +14 +11 +11 +18 +11 +16 +19 +16 +19 +7 +2 +19 +11 +11 +19 +11 +19 +19 +15 +19 +11 +19 +9 +19 +12 +19 +18 +11 +15 +13 +11 +12 +19 +11 +18 +11 +11 +11 +19 +18 +12 +19 +11 +11 +12 +10 +11 +11 +11 +12 +17 +11 +10 +19 +11 +2 +12 +12 +19 +19 +18 +17 +11 +11 +18 +11 +11 +11 +11 +10 +11 +19 +11 +19 +19 +2 +11 +2 +19 +11 +11 +11 +18 +2 +19 +10 +11 +19 +19 +19 +17 +2 +19 +19 +12 +11 +12 +11 +17 +13 +19 +18 +10 +11 +2 +11 +11 +19 +12 +19 +17 +2 +19 +18 +18 +11 +2 +18 +19 +2 +19 +11 +11 +11 +19 +11 +11 +19 +19 +19 +19 +19 +18 +19 +2 +19 +19 +11 +10 +19 +19 +18 +11 +11 +18 +18 +19 +17 +18 +11 +19 +17 +19 +19 +11 +19 +11 +14 +12 +11 +19 +18 +11 +17 +19 +17 +10 +11 +10 +11 +10 +16 +19 +18 +12 +19 +2 +12 +11 +12 +12 +15 +19 +19 +19 +18 +19 +19 +19 +19 +19 +19 +13 +13 +13 +18 +19 +18 +17 +11 +18 +19 +10 +19 +16 +19 +11 +12 +19 +19 +10 +19 +19 +17 +19 +19 +2 +19 +19 +19 +19 +19 +19 +2 +19 +2 +19 +2 +11 +11 +19 +19 +2 +17 +11 +19 +19 +11 +11 +11 +11 +19 +19 +19 +19 +11 +11 +19 +19 +18 +19 +11 +11 +19 +19 +11 +11 +19 +11 +19 +2 +19 +2 +11 +19 +19 +19 +11 +13 +10 +19 +19 +11 +2 +19 +18 +19 +19 +11 +19 +19 +12 +19 +19 +19 +19 +11 +2 +19 +11 +12 +19 +2 +19 +10 +19 +19 +18 +19 +19 +11 +19 +19 +11 +19 +2 +19 +11 +19 +19 +19 +18 +2 +11 +2 +2 +11 +19 +19 +2 +11 +19 +19 +19 +19 +11 +2 +18 +19 +11 +2 +19 +11 +18 +19 +17 +19 +11 +2 +19 +10 +2 +2 +2 +11 +11 +19 +19 +11 +2 +19 +19 +2 +18 +18 +19 +19 +11 +18 +19 +11 +11 +19 +19 +2 +19 +19 +19 +19 +18 +18 +10 +2 +19 +19 +16 +19 +11 +2 +11 +19 +19 +19 +19 +19 +19 +2 +18 +19 +19 +19 +11 +19 +11 +2 +19 +19 +19 +19 +11 +11 +12 +19 +12 +19 +19 +19 +11 +19 +10 +11 +19 +17 +19 +11 +11 +19 +19 +2 +19 +19 +2 +11 +19 +17 +19 +12 +11 +19 +19 +11 +19 +2 +19 +2 +2 +11 +11 +11 +19 +11 +17 +19 +17 +19 +19 +19 +11 +11 +19 +11 +11 +2 +19 +11 +2 +19 +17 +11 +2 +19 +19 +19 +19 +19 +18 +2 +11 +19 +19 +19 +19 +19 +19 +19 +19 +2 +2 +19 +19 +19 +19 +2 +19 +11 +19 +11 +12 +19 +19 +19 +19 +19 +2 +19 +19 +2 +19 +10 +19 +11 +19 +2 +17 +19 +19 +11 +10 +11 +19 +19 +18 +19 +2 +18 +19 +11 +19 +18 +19 +19 +18 +19 +18 +19 +19 +19 +19 +2 +19 +19 +19 +19 +19 +11 +11 +11 +19 +19 +19 +11 +2 +19 +19 +2 +19 +17 +2 +19 +18 +11 +19 +19 +18 +19 +2 +11 +19 +2 +2 +19 +18 +19 +11 +11 +2 +19 +11 +19 +18 +2 +19 +18 +19 +19 +11 +11 +19 +19 +19 +16 +2 +19 +11 +2 +2 +19 +19 +19 +11 +2 +19 +19 +19 +11 +19 +19 +2 +19 +2 +11 +19 +11 +2 +19 +19 +11 +19 +19 +2 +2 +19 +11 +2 +19 +19 +19 +19 +10 +11 +11 +19 +19 +2 +19 +19 +19 +19 +19 +11 +18 +19 +19 +18 +19 +19 +11 +19 +19 +11 +11 +11 +2 +11 +12 +19 +19 +19 +19 +19 +19 +19 +19 +19 +2 +17 +2 +19 +12 +2 +19 +17 +19 +11 +18 +19 +19 +17 +11 +11 +17 +19 +19 +19 +19 +19 +11 +19 +19 +19 +19 +18 +19 +19 +19 +19 +2 +19 +19 +19 +19 +19 +11 +19 +11 +11 +11 +19 +11 +19 +17 +2 +19 +11 +19 +11 +11 +19 +2 +18 +11 +19 +19 +18 +11 +19 +2 +2 +12 +12 +19 +11 +19 +19 +18 +19 +19 +19 +19 +19 +19 +19 +2 +17 +19 +11 +19 +2 +19 +2 +19 +11 +19 +11 +11 +12 +19 +19 +16 +2 +19 +2 +19 +2 +19 +18 +19 +19 +19 +19 +19 +11 +19 +18 +11 +19 +19 +11 +11 +18 +2 +19 +18 +19 +11 +11 +11 +19 +19 +19 +18 +11 +2 +19 +19 +19 +19 +2 +19 +2 +19 +19 +19 +11 +19 +11 +19 +19 +11 +2 +19 +19 +19 +11 +18 +19 +19 +19 +19 +19 +2 +19 +2 +19 +2 +19 +19 +17 +19 +19 +11 +11 +19 +19 +19 +11 +19 +11 +19 +11 +11 +18 +19 +19 +18 +11 +19 +19 +11 +19 +2 +11 +19 +19 +19 +19 +2 +19 +17 +19 +2 +11 +18 +11 +13 +11 +19 +19 +11 +11 +19 +16 +19 +2 +19 +2 +19 +19 +11 +19 +19 +11 +19 +11 +19 +2 +16 +11 +19 +11 +19 +19 +19 +11 +11 +19 +11 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +19 +11 +2 +18 +19 +11 +11 +11 +19 +19 +18 +19 +19 +2 +19 +19 +11 +2 +19 +19 +19 +11 +11 +19 +19 +19 +11 +19 +2 +2 +11 +11 +19 +11 +11 +2 +19 +11 +11 +19 +11 +2 +16 +11 +19 +19 +2 +11 +2 +19 +11 +11 +19 +19 +2 +2 +19 +19 +2 +19 +11 +11 +18 +19 +19 +19 +19 +11 +19 +10 +19 +19 +19 +10 +11 +12 +11 +19 +11 +19 +18 +18 +19 +2 +2 +19 +19 +2 +11 +19 +19 +19 +11 +19 +17 +19 +11 +2 +19 +2 +2 +19 +19 +19 +19 +19 +11 +19 +19 +19 +19 +19 +11 +19 +2 +11 +2 +19 +19 +18 +19 +19 +11 +13 +2 +19 +11 +11 +19 +19 +2 +19 +11 +12 +19 +11 +18 +19 +10 +19 +19 +17 +2 +19 +19 +11 +11 +19 +11 +11 +19 +10 +2 +19 +17 +19 +2 +19 +19 +18 +2 +11 +2 +19 +19 +18 +19 +19 +19 +2 +19 +19 +19 +2 +11 +19 +19 +19 +2 +11 +2 +19 +19 +11 +11 +11 +19 +2 +19 +19 +11 +19 +19 +11 +19 +11 +11 +19 +19 +11 +2 +11 +13 +19 +18 +19 +18 +11 +11 +2 +19 +19 +19 +11 +19 +19 +2 +19 +19 +18 +18 +19 +19 +19 +11 +19 +19 +19 +11 +19 +19 +11 +11 +11 +10 +19 +19 +19 +18 +19 +12 +19 +19 +19 +17 +11 +19 +2 +19 +2 +10 +2 +2 +2 +2 +19 +19 +2 +19 +19 +11 +2 +19 +19 +19 +11 +2 +11 +18 +19 +19 +19 +11 +11 +19 +11 +19 +11 +19 +11 +10 +2 +19 +17 +2 +19 +11 +18 +19 +19 +11 +2 +19 +19 +19 +11 +18 +19 +19 +2 +11 +11 +2 +19 +19 +11 +2 +19 +19 +19 +11 +19 +19 +11 +2 +2 +19 +11 +19 +19 +19 +2 +19 +18 +18 +19 +19 +11 +18 +19 +19 +2 +2 +19 +2 +19 +11 +19 +11 +19 +19 +19 +18 +19 +19 +19 +19 +19 +2 +11 +19 +19 +19 +19 +19 +19 +19 +2 +10 +16 +19 +11 +11 +19 +19 +19 +19 +19 +19 +19 +19 +19 +2 +19 +19 +2 +11 +15 +19 +19 +2 +19 +19 +19 +2 +18 +19 +2 +11 +12 +19 +18 +19 +11 +11 +19 +11 +11 +2 +19 +18 +2 +19 +12 +2 +19 +13 +2 +19 +11 +2 +19 +18 +11 +19 +19 +19 +19 +18 +11 +19 +2 +10 +2 +19 +18 +11 +19 +11 +19 +19 +19 +9 +11 +11 +19 +19 +2 +17 +2 +19 +10 +19 +17 +19 +10 +19 +19 +19 +2 +11 +19 +19 +10 +10 +11 +19 +11 +19 +19 +19 +19 +19 +19 +2 +19 +11 +19 +2 +19 +11 +19 +2 +18 +11 +19 +19 +19 +12 +13 +12 +19 +16 +19 +17 +19 +19 +2 +19 +12 +2 +19 +2 +2 +19 +9 +19 +17 +2 +19 +12 +17 +19 +11 +11 +2 +19 +18 +11 +2 +19 +11 +2 +19 +19 +19 +19 +19 +11 +2 +11 +19 +11 +19 +11 +17 +19 +19 +18 +19 +2 +19 +19 +11 +13 +11 +19 +19 +11 +19 +19 +11 +11 +19 +11 +19 +2 +19 +19 +19 +18 +19 +19 +11 +18 +21 +13 +16 +18 +18 +18 +18 +18 +18 +0 +2 +6 +2 +2 +0 +4 +2 +2 +2 +2 +2 +10 +12 +3 +2 +8 +4 +3 +3 +3 +7 +3 +8 +3 +5 +3 +2 +30 +11 +9 +16 +19 +11 +10 +10 +17 +2 +11 +19 +12 +12 +10 +11 +11 +10 +18 +13 +11 +17 +12 +10 +17 +13 +2 +19 +11 +9 +14 +12 +11 +12 +15 +13 +16 +17 +12 +11 +12 +13 +11 +9 +11 +12 +12 +11 +13 +11 +12 +11 +12 +12 +10 +11 +11 +11 +17 +12 +12 +12 +12 +10 +12 +13 +12 +11 +10 +13 +10 +17 +11 +11 +18 +10 +12 +11 +12 +19 +12 +12 +15 +13 +11 +19 +11 +12 +10 +8 +16 +12 +11 +11 +13 +11 +10 +19 +12 +10 +17 +17 +13 +14 +11 +12 +10 +11 +12 +13 +16 +19 +19 +17 +11 +13 +11 +12 +10 +9 +11 +14 +19 +17 +12 +15 +12 +9 +13 +12 +12 +11 +13 +13 +11 +12 +12 +19 +10 +9 +17 +10 +11 +17 +11 +11 +11 +2 +17 +11 +11 +13 +11 +12 +10 +14 +17 +17 +19 +13 +12 +15 +11 +12 +12 +11 +11 +12 +11 +11 +19 +17 +10 +9 +13 +19 +10 +14 +11 +19 +17 +17 +11 +12 +10 +12 +10 +16 +11 +12 +19 +11 +11 +19 +12 +12 +12 +11 +16 +17 +10 +17 +19 +18 +17 +11 +11 +10 +12 +11 +2 +11 +11 +15 +14 +11 +17 +11 +2 +12 +10 +19 +17 +2 +19 +11 +11 +17 +11 +19 +11 +2 +16 +12 +9 +9 +11 +15 +17 +11 +11 +11 +12 +17 +10 +15 +12 +12 +11 +12 +14 +9 +17 +9 +19 +13 +11 +12 +9 +17 +11 +11 +19 +17 +10 +11 +17 +11 +10 +19 +10 +12 +12 +10 +14 +13 +11 +12 +7 +11 +16 +13 +10 +12 +10 +12 +11 +14 +17 +9 +11 +13 +11 +12 +12 +19 +12 +11 +11 +13 +9 +10 +11 +11 +16 +17 +17 +7 +10 +10 +11 +13 +13 +11 +2 +10 +19 +19 +12 +19 +19 +17 +19 +11 +17 +11 +10 +13 +12 +11 +10 +10 +13 +11 +11 +10 +13 +11 +17 +11 +11 +19 +17 +11 +11 +10 +19 +2 +17 +19 +12 +13 +7 +13 +14 +17 +11 +15 +19 +11 +11 +17 +18 +19 +12 +2 +18 +17 +19 +11 +18 +13 +15 +13 +12 +9 +10 +2 +18 +16 +11 +6 +11 +11 +11 +11 +16 +19 +19 +11 +19 +18 +10 +19 +19 +19 +12 +13 +12 +11 +12 +10 +11 +17 +15 +9 +15 +12 +14 +12 +11 +11 +14 +11 +10 +12 +11 +11 +10 +11 +11 +12 +19 +11 +10 +13 +11 +12 +14 +11 +13 +13 +11 +12 +14 +17 +11 +10 +11 +12 +11 +11 +11 +11 +2 +12 +12 +13 +13 +17 +14 +13 +12 +19 +11 +11 +11 +13 +13 +10 +13 +11 +11 +12 +13 +11 +11 +11 +2 +11 +18 +11 +11 +11 +11 +11 +19 +9 +18 +11 +13 +12 +13 +11 +9 +2 +19 +10 +18 +18 +11 +11 +11 +19 +19 +19 +18 +10 +11 +10 +12 +11 +10 +12 +10 +19 +2 +18 +11 +10 +10 +2 +11 +16 +15 +17 +19 +17 +11 +11 +17 +12 +8 +11 +19 +12 +14 +12 +14 +11 +12 +10 +19 +11 +19 +17 +10 +18 +19 +2 +18 +15 +19 +11 +19 +12 +15 +10 +13 +13 +12 +11 +13 +11 +11 +11 +11 +19 +11 +11 +16 +18 +11 +11 +2 +11 +18 +2 +11 +13 +7 +11 +9 +14 +13 +12 +15 +19 +19 +11 +15 +19 +19 +11 +10 +11 +17 +12 +13 +13 +13 +11 +17 +11 +12 +14 +15 +11 +11 +13 +11 +11 +12 +11 +11 +11 +19 +10 +17 +11 +11 +18 +11 +11 +10 +10 +15 +12 +11 +11 +13 +10 +13 +11 +10 +12 +12 +11 +10 +11 +10 +11 +16 +10 +15 +13 +18 +11 +11 +11 +10 +12 +14 +12 +12 +14 +12 +9 +13 +11 +10 +10 +11 +11 +11 +12 +14 +9 +10 +10 +18 +11 +14 +14 +9 +11 +10 +15 +9 +12 +11 +10 +16 +11 +10 +14 +12 +12 +13 +11 +11 +11 +2 +11 +17 +13 +11 +11 +15 +18 +18 +19 +19 +19 +13 +12 +17 +12 +12 +19 +12 +11 +17 +10 +11 +12 +18 +11 +12 +12 +12 +12 +18 +10 +19 +11 +18 +11 +12 +17 +11 +18 +11 +13 +12 +15 +14 +11 +10 +14 +10 +19 +19 +11 +13 +8 +2 +2 +16 +11 +11 +13 +10 +13 +13 +10 +14 +11 +11 +10 +18 +11 +11 +12 +13 +11 +11 +9 +13 +10 +11 +10 +11 +11 +19 +10 +12 +11 +10 +10 +13 +13 +11 +19 +11 +13 +12 +11 +12 +10 +12 +12 +17 +11 +9 +12 +16 +12 +12 +2 +12 +11 +16 +16 +11 +13 +11 +12 +2 +11 +14 +10 +11 +17 +16 +12 +19 +19 +17 +11 +11 +11 +9 +14 +11 +11 +11 +11 +11 +15 +11 +14 +12 +10 +16 +11 +12 +11 +11 +15 +12 +11 +16 +11 +11 +12 +12 +13 +8 +10 +19 +11 +17 +12 +13 +12 +8 +17 +13 +15 +17 +7 +9 +17 +10 +16 +6 +10 +12 +15 +16 +11 +5 +13 +9 +13 +5 +9 +9 +5 +9 +4 +3 +13 +7 +3 +3 +14 +4 +13 +4 +4 +14 +19 +19 +15 +14 +19 +11 +16 +15 +14 +18 +9 +5 +4 +13 +4 +12 +3 +13 +13 +2 +17 +13 +14 +19 +10 +12 +9 +6 +15 +5 +5 +15 +4 +13 +4 +13 +4 +4 +13 +4 +13 +3 +4 +13 +4 +13 +3 +2 +13 +4 +13 +4 +3 +4 +13 +3 +3 +13 +3 +3 +13 +4 +13 +3 +4 +13 +2 +4 +14 +13 +14 +19 +10 +15 +13 +14 +19 +10 +13 +11 +10 +15 +5 +6 +13 +4 +13 +4 +13 +3 +2 +13 +4 +13 +3 +2 +10 +3 +2 +13 +3 +2 +13 +4 +13 +3 +4 +13 +4 +13 +4 +2 +3 +13 +3 +3 +13 +3 +4 +13 +3 +2 +12 +3 +4 +13 +4 +13 +2 +2 +13 +14 +19 +19 +15 +13 +19 +19 +15 +12 +15 +5 +4 +13 +4 +13 +3 +13 +13 +19 +17 +13 +13 +19 +17 +11 +7 +7 +15 +5 +5 +15 +6 +15 +4 +13 +3 +4 +13 +4 +13 +3 +2 +13 +3 +2 +13 +3 +3 +13 +3 +12 +8 +3 +3 +13 +2 +2 +13 +4 +4 +13 +3 +13 +11 +3 +2 +13 +3 +12 +9 +14 +19 +15 +14 +19 +15 +13 +19 +15 +13 +19 +13 +12 +18 +8 +17 +8 +17 +8 +16 +6 +15 +6 +15 +6 +15 +6 +15 +4 +4 +14 +6 +15 +6 +15 +6 +16 +6 +15 +6 +15 +4 +4 +14 +6 +15 +6 +15 +6 +15 +5 +15 +6 +15 +4 +13 +10 +6 +15 +6 +15 +4 +6 +15 +6 +15 +6 +15 +4 +13 +9 +6 +15 +6 +15 +6 +15 +6 +15 +6 +15 +3 +4 +14 +13 +13 +19 +17 +13 +13 +19 +17 +12 +9 +6 +15 +5 +5 +15 +6 +13 +4 +13 +3 +3 +13 +4 +13 +3 +3 +13 +3 +2 +13 +3 +2 +13 +4 +13 +3 +4 +13 +3 +13 +3 +4 +13 +4 +2 +2 +2 +11 +5 +3 +0 +2 +11 +5 +4 +4 +3 +2 +2 +2 +11 +7 +5 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +11 +5 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +2 +11 +9 +2 +0 +0 +11 +7 +5 +4 +4 +4 +3 +2 +2 +12 +11 +9 +7 +3 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +0 +12 +11 +8 +5 +2 +0 +12 +11 +9 +5 +4 +4 +3 +2 +2 +2 +11 +7 +5 +3 +2 +2 +11 +6 +4 +4 +3 +2 +2 +2 +11 +5 +3 +2 +2 +11 +7 +5 +4 +4 +3 +2 +2 +2 +12 +11 +9 +5 +2 +2 +11 +8 +4 +4 +3 +2 +2 +12 +11 +9 +5 +2 +2 +12 +11 +5 +4 +4 +3 +2 +12 +11 +9 +3 +2 +2 +11 +9 +7 +4 +4 +4 +3 +2 +2 +11 +9 +6 +3 +2 +2 +11 +7 +4 +4 +4 +3 +0 +0 +11 +9 +5 +2 +2 +2 +2 +11 +5 +4 +4 +3 +2 +2 +12 +11 +7 +3 +2 +2 +11 +10 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +11 +7 +3 +2 +2 +11 +5 +4 +4 +4 +3 +2 +2 +12 +11 +7 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +11 +4 +3 +2 +2 +11 +9 +7 +4 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +12 +11 +7 +3 +2 +2 +11 +9 +7 +5 +4 +4 +3 +2 +2 +12 +11 +8 +5 +3 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +11 +7 +3 +2 +2 +2 +11 +5 +4 +4 +3 +2 +2 +11 +5 +2 +2 +2 +11 +8 +5 +4 +4 +4 +3 +2 +2 +11 +7 +3 +2 +2 +2 +11 +7 +4 +4 +3 +2 +2 +11 +7 +2 +2 +11 +6 +4 +4 +4 +3 +2 +2 +11 +5 +2 +2 +11 +5 +4 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +0 +11 +4 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +12 +11 +4 +4 +3 +2 +2 +2 +11 +7 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +2 +12 +11 +5 +2 +2 +11 +9 +7 +4 +4 +3 +2 +2 +11 +3 +2 +2 +11 +7 +4 +4 +4 +2 +2 +11 +3 +2 +2 +11 +7 +4 +4 +3 +2 +2 +0 +11 +5 +2 +0 +12 +11 +7 +4 +4 +3 +2 +2 +11 +9 +5 +2 +2 +12 +11 +7 +5 +4 +4 +3 +2 +2 +2 +11 +7 +2 +0 +11 +6 +5 +4 +4 +4 +3 +2 +2 +11 +9 +5 +3 +2 +2 +11 +7 +4 +4 +4 +2 +2 +11 +9 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +11 +9 +5 +2 +2 +11 +7 +4 +4 +4 +3 +2 +2 +11 +5 +3 +2 +2 +12 +11 +7 +5 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +2 +12 +11 +5 +4 +4 +3 +2 +2 +12 +11 +7 +5 +3 +2 +2 +12 +11 +9 +5 +4 +4 +3 +2 +2 +12 +11 +5 +3 +2 +2 +11 +9 +4 +4 +3 +2 +2 +7 +12 +11 +5 +4 +2 +2 +2 +12 +11 +9 +4 +4 +3 +2 +2 +2 Modified: SwiftApps/SciColSim/sites.beagle.quick.xml =================================================================== --- SwiftApps/SciColSim/sites.beagle.quick.xml 2012-02-07 14:16:18 UTC (rev 5553) +++ SwiftApps/SciColSim/sites.beagle.quick.xml 2012-02-07 21:33:43 UTC (rev 5554) @@ -11,8 +11,8 @@ 100 pbs.aprun;pbs.mpp;depth=24 10000 - 02:00:00 - 20 + 01:30:00 + 50 2 2 route From ketan at ci.uchicago.edu Sat Feb 11 14:31:25 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 11 Feb 2012 14:31:25 -0600 (CST) Subject: [Swift-commit] r5587 - SwiftApps/SciColSim Message-ID: <20120211203125.A6ED69CCA2@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-11 14:31:24 -0600 (Sat, 11 Feb 2012) New Revision: 5587 Modified: SwiftApps/SciColSim/README SwiftApps/SciColSim/plot_active.txt SwiftApps/SciColSim/plot_cumulative.txt SwiftApps/SciColSim/plotit Log: plot stuff updates Modified: SwiftApps/SciColSim/README =================================================================== --- SwiftApps/SciColSim/README 2012-02-11 19:11:50 UTC (rev 5586) +++ SwiftApps/SciColSim/README 2012-02-11 20:31:24 UTC (rev 5587) @@ -314,3 +314,12 @@ gnuplot must be installed and should be in PATH. +Following plots will be generated: +activeplot.png: number of active jobs over time +cumulativeplot.png: Cumulative number of jobs completed +cumulativeplot-openmp.png: Cumulative number of openmp threads completed +scs.png: SciColSim T value evolution +scs_loss.png: Scicolsim Loss +multiloss.png: Scicolsim loss with stddev + + Modified: SwiftApps/SciColSim/plot_active.txt =================================================================== --- SwiftApps/SciColSim/plot_active.txt 2012-02-11 19:11:50 UTC (rev 5586) +++ SwiftApps/SciColSim/plot_active.txt 2012-02-11 20:31:24 UTC (rev 5587) @@ -1,6085 +1,7767 @@ -9 -6 -9 -8 -2 -9 -9 -7 -10 -9 -9 -8 -8 -7 -8 -6 -10 -9 -7 -7 -9 -9 -10 -7 -9 -9 -8 -10 -5 -6 -7 -9 -9 -8 -9 -9 -8 -8 -8 -9 -8 -8 -7 -7 -8 -7 -7 -9 -10 -8 -8 -7 -9 -7 -8 -7 -7 -6 -9 -9 -9 -7 -9 -9 -8 -9 -10 -8 -4 -6 -9 -9 -9 -5 -7 -9 -7 -9 -9 -10 -4 -9 -9 -9 -8 -8 -8 -9 -9 -8 -9 -9 -9 -9 -4 -9 -9 -9 -6 -6 -9 -10 -9 -8 -7 -9 -9 -7 -9 -9 -8 -5 -8 -9 -9 -9 -9 -8 -7 -10 -8 -9 -9 -9 -9 -9 -9 -6 -9 -9 -9 -7 -8 -9 -10 -8 -7 -9 -9 -9 -8 -7 -9 -9 -7 -9 -7 -9 -9 -9 -9 -8 -10 -8 -9 -7 -9 -9 -7 -9 -9 -9 -7 -5 -9 -9 -6 -10 -9 -9 -9 -9 -9 -9 -9 -8 -9 -8 -8 -5 -10 -9 -8 -6 -8 -9 -9 -8 -7 -9 -9 -9 -6 -9 -10 -9 -6 -8 -9 -10 -8 -6 -6 -8 -9 -9 -7 -9 -9 -9 -6 -10 -9 -9 -6 -8 -9 -9 -6 -8 -9 -9 -8 -8 -9 -8 -8 -7 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -9 -9 -9 -8 -9 -8 -8 -9 -9 -7 -6 -8 -10 -6 -4 -9 -9 -9 -9 -7 -9 -9 -9 -8 -10 -9 -6 -7 -9 -9 -6 -5 -8 -9 -9 -7 -7 -9 -6 -9 -9 -9 -5 -5 -9 -7 -9 -8 -8 -9 -8 -9 -10 -8 -9 -9 -8 -8 -7 -6 -8 -8 -9 -8 -8 -9 -9 -7 -9 -8 -9 -8 -8 -8 -10 -7 -7 -6 -9 -7 -6 -9 -9 -9 -5 -9 -9 -9 -7 -10 -8 -9 -6 -5 -8 -9 -10 -9 -6 -6 -9 -9 -6 -7 -9 -9 -8 -9 -7 -7 -9 -9 -6 -7 -8 -9 -9 -6 -8 -9 -10 -9 -7 -7 -9 -9 -7 -6 -6 -9 -6 -8 -8 -6 -8 -9 -9 -7 -7 -9 -10 -8 -7 -9 -6 -6 -8 -9 -9 -8 -8 -9 -9 -8 -8 -8 -8 -9 -10 -8 -9 -5 -10 -8 -9 -5 -9 -6 -8 -9 -9 -9 -8 -6 -8 -9 -7 -7 -8 -9 -9 -7 -9 -9 -9 -8 -8 -6 -8 -9 -7 -8 -8 -8 -8 -9 -7 -9 -8 -8 -8 -7 -10 -8 -7 -7 -9 -9 -8 -9 -9 -9 -7 -9 -9 -9 -7 -7 -9 -9 -4 -7 -10 -10 -9 -7 -9 -9 -9 -9 -7 -8 -9 -10 -5 -9 -9 -7 -7 -10 -9 -7 -8 -9 -8 -9 -4 -6 -9 -9 -9 -9 -9 -6 -10 -9 -8 -10 -7 -7 -8 -8 -9 -9 -10 -7 -8 -6 -9 -9 -8 -9 -6 -10 -8 -6 -7 -9 -9 -7 -4 -9 -10 -6 -9 -9 -9 -7 -9 -10 -8 -8 -5 -9 -8 -7 -9 -10 -8 -7 -8 -7 -7 -9 -10 -10 -8 -9 -9 -7 -6 -9 -8 -9 -7 -9 -10 -8 -7 -9 -8 -9 -7 -8 -8 -9 -9 -9 -9 -9 -9 -6 -9 -5 -8 -9 -8 -8 -6 -9 -9 -9 -7 -4 -8 -9 -9 -7 -7 -10 -9 -7 -9 -6 -9 -9 -9 -6 -9 -8 -6 -8 -7 -8 -7 -9 -9 -8 -9 -9 -6 -8 -7 -9 -9 -6 -8 -9 -9 -7 -8 -9 -9 -9 -8 -6 -8 -8 -9 -7 -6 -9 -9 -9 -8 -7 -8 -9 -9 -8 -9 -9 -9 -6 -9 -9 -8 -9 -10 -9 -9 -4 -7 -9 -10 -8 -8 -9 -9 -8 -10 -6 -9 -6 -9 -9 -8 -8 -7 -9 -8 -8 -9 -10 -7 -10 -8 -9 -9 -6 -9 -10 -8 -6 -9 -9 -8 -7 -5 -10 -9 -9 -7 -9 -9 -10 -8 -9 -9 -9 -9 -8 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -7 -9 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -8 -9 -9 -9 -10 -9 -9 -9 -7 -9 -9 -7 -9 -8 -9 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -10 -9 -8 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -9 -10 -9 -9 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -8 -10 -9 -8 -9 -9 -9 -9 -9 -9 -10 -8 -9 -10 -9 -10 -8 -8 -9 -8 -8 -9 -9 -9 -9 -9 -8 -9 -9 -8 -9 -10 -9 -9 -9 -9 -8 -9 -10 -7 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -8 -9 -8 -10 -9 -9 -9 -8 -8 -9 -9 -9 -10 -9 -9 -8 -9 -9 -9 -9 -9 -10 -9 -7 -10 -9 -10 -7 -9 -9 -9 -9 -9 -9 -9 -10 -9 -10 -9 -9 -9 -9 -9 -10 -9 -10 -8 -9 -9 -9 -9 -9 -8 -9 -10 -8 -9 -8 -10 -9 -9 -10 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -7 -9 -9 -9 -10 -9 -9 -9 -10 -10 -10 -9 -9 -9 -7 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -9 -8 -10 -9 -8 -9 -9 -9 -9 -10 -9 -7 -9 -9 -7 -9 -10 -9 -9 -8 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -7 -9 -9 -9 -9 -10 -9 -10 -9 -9 -10 -7 -7 -9 -9 -9 -8 -10 -9 -9 -10 -9 -9 -9 -9 -10 -10 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -10 -9 -10 -10 -9 -9 -9 -9 -10 -9 -9 -8 -8 -9 -9 -9 -9 -9 -7 -9 -10 -9 -8 -9 -9 -9 -9 -9 -8 -9 -10 -9 -9 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -9 -9 -10 -9 -10 -9 -9 -9 -8 -10 -9 -9 -10 -9 -8 -8 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -9 -9 -9 -9 -9 -10 -10 -9 -7 -9 -9 -7 -9 -9 -10 -9 -9 -9 -9 -9 -10 -9 -8 -9 -9 -9 -8 -9 -7 -9 -8 -9 -7 -8 -7 -10 -9 -9 -9 -9 -9 -9 -8 -9 -10 -9 -9 -9 -9 -9 -9 -10 -9 -9 -8 -9 -10 -9 -7 -9 -9 -8 -7 -6 -9 -9 -9 -9 -8 -10 -9 -10 -9 -9 -9 -10 -10 -9 -9 -8 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -7 -6 -8 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -10 -9 -9 -9 -9 -10 -8 -8 -9 -9 -9 -10 -9 -10 -9 -9 -8 -9 -9 -10 -9 -9 -9 -10 -9 -9 -10 -9 -9 -10 -8 -9 -10 -9 -9 -10 -9 -8 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -10 -8 -9 -10 -8 -9 -9 -9 -9 -10 -8 -9 -9 -9 -8 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -7 -9 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -8 -10 -9 -9 -9 -9 -10 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -10 -9 -9 -10 -9 -9 -8 -8 -9 -9 -9 -9 -10 -8 -10 -10 -9 -10 -9 -10 -10 -9 -9 -9 -10 -10 -9 -9 -7 -9 -9 -9 -9 -9 -10 -9 -9 -8 -9 -9 -8 -9 -10 -9 -9 -9 -9 -7 -9 -9 -9 -8 -8 -10 -9 -9 -9 -8 -10 -9 -10 -9 -9 -9 -9 -9 -9 -8 -7 -9 -9 -9 -9 -10 -8 -9 -10 -9 -9 -9 -9 -9 -9 -7 -9 -9 -8 -10 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -8 -9 -9 -8 -9 -9 -9 -9 -9 -7 -8 -9 -10 -9 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -10 -6 -8 -10 -9 -8 -9 -9 -8 -9 -10 -9 -9 -9 -9 -9 -9 -10 -9 -8 -6 -7 -10 -9 -9 -8 -9 -9 -8 -10 -9 -9 -8 -9 -7 -10 -9 -8 -7 -9 -10 -8 -8 -9 -9 -6 -10 -9 -8 -7 -9 -9 -8 -9 -9 -8 -5 -9 -9 -9 -10 -9 -8 -10 -9 -9 -9 -9 -8 -9 -9 -8 -9 -9 -5 -9 -9 -9 -9 -7 -10 -10 -9 -9 -6 -9 -9 -9 -6 -7 -9 -9 -5 -8 -9 -8 -8 -10 -9 -8 -7 -9 -9 -9 -8 -9 -8 -9 -9 -9 -9 -9 -9 -8 -8 -7 -9 -9 -8 -9 -8 -7 -10 -9 -9 -10 -7 -7 -9 -9 -9 -8 -8 -9 -7 -7 -8 -9 -7 -8 -7 -9 -9 -6 -10 -9 -5 -9 -9 -10 -8 -10 -9 -9 -7 -10 -9 -8 -6 -9 -10 -8 -8 -6 -9 -9 -8 -6 -9 -9 -9 -8 -8 -9 -7 -1 -8 -9 -8 -9 -8 -8 -8 -8 -7 -8 -9 -7 -8 -9 -9 -7 -4 -10 -9 -9 -8 -10 -9 -8 -4 -9 -6 -9 -9 -3 -6 -7 -9 -9 -8 -9 -10 -10 -8 -9 -9 -7 -6 -9 -7 -8 -9 -7 -7 -8 -10 -8 -9 -8 -9 -9 -8 -5 -9 -8 -10 -7 -8 -8 -9 -9 -10 -10 -10 -9 -6 -9 -10 -3 -7 -9 -9 -7 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -6 -8 -8 -9 -8 -7 -8 -9 -5 -7 -10 -10 -8 -7 -9 -8 -9 -9 -6 -8 -9 -8 -6 -7 -10 -7 -7 -8 -9 -8 -6 -10 -9 -9 -9 -9 -8 -8 -8 -10 -10 -6 -9 -7 -9 -9 -8 -8 -8 -7 -7 -9 -10 -8 -8 -9 -6 -9 -8 -9 -6 -7 -9 -9 -5 -9 -9 -9 -8 -9 -9 -9 -7 -9 -7 -9 -9 -9 -4 -9 -10 -9 -8 -6 -8 -8 -9 -8 -9 -10 -7 -8 -8 -8 -9 -6 -8 -6 -8 -8 -9 -8 -7 -8 -8 -9 -7 -9 -8 -9 -9 -9 -9 -9 -7 -9 -9 -7 -9 -9 -9 -9 -9 -8 -10 -9 -9 -9 -9 -9 -7 -9 -9 -10 -7 -8 -8 -9 -7 -9 -8 -9 -7 -7 -8 -9 -8 -8 -6 -8 -9 -7 -8 -10 -10 -9 -8 -8 -10 -9 -9 -8 -6 -9 -9 -9 -5 -5 -8 -9 -9 -9 -9 -5 -8 -9 -9 -9 -9 -7 -7 -9 -7 -8 -9 -9 -7 -9 -9 -8 -8 -5 -9 -9 -7 -9 -10 -9 -9 -9 -9 -9 -10 -9 -9 -10 -10 -10 -9 -8 -9 -9 -9 -9 -10 -8 -9 -9 -9 -9 -9 -10 -10 -9 -9 -8 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -9 -9 -7 -8 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -10 -9 -9 -8 -9 -8 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -7 -8 -10 -9 -9 -10 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -7 -8 -10 -9 -8 -10 -9 -8 -9 -7 -10 -9 -8 -9 -9 -9 -9 -8 -10 -9 -9 -8 -9 -9 -10 -8 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -8 -9 -9 -9 -10 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -10 -9 -8 -8 -8 -10 -8 -9 -9 -8 -9 -9 -8 -9 -9 -9 -10 -9 -8 -9 -9 -10 -9 -8 -8 -8 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -10 -9 -9 -9 -9 -9 -8 -10 -9 -9 -10 -8 -9 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -9 -9 -10 -8 -9 -10 -9 -9 -9 -7 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -10 -9 -9 -9 -9 -8 -10 -10 -10 -9 -9 -9 -9 -8 -10 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -10 -9 -8 -9 -7 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -1 -9 -9 -4 -9 -9 -9 -8 -6 -9 -9 -9 -9 -8 -7 -9 -9 -8 -8 -9 -9 -9 -8 -9 -8 -8 -8 -8 -10 -9 -10 -8 -9 -9 -9 -10 -9 -6 -7 -9 -8 -9 -9 -9 -7 -9 -9 -9 -9 -9 -10 -10 -8 -9 -10 -9 -8 -8 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -8 -9 -9 -9 -10 -10 -7 -10 -9 -10 -7 -9 -9 -9 -8 -7 -9 -10 -8 -6 -8 -9 -9 -8 -8 -9 -9 -9 -7 -8 -9 -8 -9 -9 -9 -9 -6 -9 -9 -9 -6 -9 -9 -8 -7 -8 -9 -9 -7 -8 -9 -7 -7 -9 -9 -8 -9 -10 -9 -9 -8 -9 -10 -10 -8 -8 -7 -10 -9 -8 -9 -7 -10 -10 -9 -8 -8 -9 -9 -9 -8 -9 -10 -9 -7 -6 -9 -9 -9 -9 -6 -9 -9 -10 -9 -9 -9 -10 -10 -8 -7 -8 -9 -9 -8 -8 -9 -10 -7 -9 -9 -9 -8 -9 -9 -8 -8 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -9 -10 -6 -9 -9 -8 -7 -9 -8 -9 -9 -6 -9 -9 -9 -9 -9 -9 -10 -8 -9 -8 -9 -8 -7 -9 -9 -10 -9 -8 -9 -9 -9 -7 -8 -10 -9 -8 -8 -10 -9 -9 -9 -5 -7 -7 -10 -9 -10 -6 -8 -9 -9 -9 -8 -9 -10 -8 -8 -10 -9 -9 -9 -8 -10 -9 -10 -9 -10 -9 -9 -10 -9 -6 -6 -10 -9 -6 -7 -9 -9 -9 -8 -9 -9 -9 -9 -8 -10 -10 -9 -9 -8 -8 -9 -9 -7 -10 -8 -9 -8 -8 -9 -9 -10 -9 -7 -10 -8 -9 -9 -8 -6 -8 -10 -9 -9 -6 -8 -9 -7 -8 -8 -10 -10 -9 -9 -6 -9 -9 -9 -8 -7 -9 -10 -5 -5 -9 -9 -8 -9 -10 -9 -9 -9 -8 -9 -8 -9 -8 -8 -9 -9 -8 -6 -10 -9 -7 -9 -9 -9 -9 -7 -9 -10 -10 -9 -8 -9 -9 -9 -8 -9 -9 -8 -8 -6 -10 -9 -9 -9 -8 -9 -9 -10 -9 -9 -9 -10 -9 -10 -8 -6 -8 -9 -9 -9 -9 -9 -9 -8 -10 -8 -9 -9 -9 -9 -7 -8 -10 -9 -7 -6 -9 -10 -8 -9 -9 -9 -9 -9 -9 -8 -9 -8 -9 -9 -9 -8 -7 -9 -9 -8 -9 -9 -9 -8 -7 -8 -7 -8 -9 -9 -9 -9 -8 -7 -10 -9 -8 -8 -9 -9 -8 -8 -9 -9 -9 -6 -9 -9 -9 -8 -8 -9 -8 -8 -9 -7 -10 -9 -8 -9 -9 -8 -8 -9 -9 -9 -10 -9 -8 -8 -9 -9 -8 -8 -10 -9 -9 -9 -10 -9 -7 -9 -9 -10 -9 -8 -8 -9 -8 -7 -9 -8 -9 -9 -9 -7 -9 -9 -9 -8 -9 -8 -9 -8 -10 -8 -9 -7 -10 -10 -9 -9 -9 -9 -9 -8 -7 -9 -8 -8 -8 -9 -9 -9 -6 -9 -10 -8 -8 -9 -9 -7 -9 -9 -8 -7 -9 -8 -8 -9 -9 -9 -9 -9 -9 -10 -7 -9 -8 -9 -9 -8 -8 -7 -8 -8 -8 -9 -10 -9 -9 -8 -9 -8 -8 -9 -8 -8 -10 -7 -9 -9 -9 -9 -9 -9 -8 -10 -8 -8 -9 -9 -9 -9 -6 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -6 -8 -9 -9 -8 -8 -8 -8 -9 -10 -9 -9 -10 -8 -9 -8 -9 -9 -6 -6 -9 -9 -8 -8 -9 -6 -9 -4 -10 -9 -7 -8 -9 -9 -9 -9 -7 -9 -7 -9 -7 -9 -8 -9 -9 -7 -7 -7 -9 -7 -9 -8 -9 -8 -6 -9 -9 -9 -6 -9 -8 -9 -6 -8 -8 -9 -9 -8 -8 -9 -7 -9 -9 -10 -8 -6 -9 -9 -9 -8 -7 -7 -9 -9 -7 -6 -7 -8 -8 -9 -9 -9 -9 -10 -9 -10 -9 -7 -8 -5 -8 -10 -9 -8 -7 -9 -9 -9 -8 -10 -9 -9 -5 -9 -8 -7 -8 -7 -9 -9 -8 -9 -10 -9 -8 -9 -7 -9 -8 -10 -9 -9 -9 -8 -10 -9 -9 -10 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -8 -8 -9 -9 -9 -8 -9 -8 -9 -9 -8 -9 -8 -9 -8 -9 -9 -7 -9 -8 -4 -7 -9 -9 -9 -4 -8 -9 -8 -6 -6 -8 -8 -7 -8 -9 -9 -7 -9 -10 -5 -8 -7 -8 -5 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -6 -6 -5 -9 -9 -9 -8 -9 -9 -9 -6 -9 -8 -9 -8 -5 -9 -9 -6 -9 -9 -8 -9 -9 -10 -9 -9 -9 -9 -9 -9 -10 -9 -10 -9 -10 -9 -9 -9 -9 -10 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -8 -9 -10 -9 -10 -9 -9 -9 -9 -8 -7 -8 -9 -9 -8 -10 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -8 -10 -9 -9 -9 -9 -10 -9 -7 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -10 -9 -10 -10 -9 -9 -9 -10 -9 -9 -9 -9 -9 -8 -10 -9 -9 -9 -10 -9 -8 -9 -9 -8 -9 -7 -10 -9 -7 -10 -10 -10 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -8 -10 -9 -9 -8 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -8 -10 -9 -9 -9 -9 -8 -7 -7 -9 -8 -9 -9 -9 -8 -9 -7 -8 -9 -8 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -9 -8 -9 -6 -8 -9 -9 -9 -9 -10 -9 -10 -10 -9 -9 -9 -9 -9 -8 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -8 -8 -10 -9 -9 -9 -9 -9 -9 -10 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -10 -9 -9 -9 -8 -7 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -8 -9 -8 -9 -10 -8 -9 -9 -9 -8 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -8 -10 -9 -9 -10 -9 -8 -10 -9 -9 -9 -9 -9 -8 -9 -10 -9 -9 -10 -10 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -10 -9 -9 -10 -10 -9 -9 -9 -8 -10 -9 -9 -9 -9 -9 -9 -10 -9 -10 -9 -9 -9 -10 -9 -9 -8 -9 -9 -10 -10 -9 -7 -10 -9 -9 -9 -9 -8 -8 -9 -9 -9 -10 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -10 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -8 -10 -9 -8 -10 -9 -8 -9 -7 -9 -9 -9 -8 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -8 -10 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -8 -9 -9 -9 -10 -9 -10 -9 -9 -9 -8 -8 -8 -9 -9 -8 -10 -9 -10 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -10 -9 -9 -9 -9 -10 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -10 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -10 -9 -10 -9 -10 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -9 -8 -9 -10 -9 -9 -9 -7 -8 -9 -9 -9 -9 -9 -8 -9 -10 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -10 -9 -9 -8 -8 -9 -9 -9 -9 -9 -9 -10 -9 -9 -8 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -8 -8 -9 -9 -9 -10 -9 -9 -9 -9 -8 -10 -8 -9 -9 -9 -10 -8 -10 -9 -8 -9 -9 -9 -10 -10 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -8 -9 -8 -9 -9 -8 -9 -9 -9 -9 -10 -10 -9 -9 -10 -9 -9 -9 -9 -8 -9 -8 -9 -9 -10 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -10 -9 -9 -9 -9 -9 -7 -6 -10 -9 -9 -9 -9 -9 -10 -9 -8 -7 -9 -9 -9 -9 -8 -9 -9 -8 -10 -9 -9 -9 -9 -9 -9 -9 -9 -7 -10 -9 -8 -9 -10 -9 -9 -9 -10 -9 -10 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -10 -8 -10 -9 -9 -9 -9 -9 -9 -10 -9 -9 -8 -9 -9 -8 -9 -9 -9 -9 -9 -9 -10 -9 -7 -9 -9 -9 -9 -8 -9 -10 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -9 -9 -9 -8 -9 -9 -10 -9 -10 -8 -10 -10 -10 -10 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -8 -8 -9 -9 -9 -9 -9 -9 -8 -10 -9 -8 -10 -9 -8 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -10 -8 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -8 -9 -9 -9 -9 -9 -9 -9 -10 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -10 -9 -7 -9 -9 -10 -9 -9 -9 -10 -9 -9 -10 -7 -8 -9 -9 -9 -9 -9 -9 -8 -8 -10 -9 -9 -10 -9 -7 -10 -9 -7 -10 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -8 -10 -9 -9 -9 -9 -9 -9 -9 -9 -7 -6 -9 -9 -9 -10 -8 -10 -9 -8 -9 -8 -9 -8 -9 -9 -9 -10 -9 -9 -9 -6 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -10 -9 -9 -9 -9 -9 -8 -7 -8 -9 -8 -9 -8 -9 -9 -10 -9 -8 -10 -9 -10 -10 -9 -7 -9 -8 -10 -9 -8 -8 -9 -8 -9 -10 -9 -9 -9 -10 -9 -9 -10 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -10 -9 -9 -9 -6 -9 -9 -9 -7 -9 -9 -9 -9 -9 -8 -9 -10 -9 -9 -9 -9 -9 -9 -9 -8 -9 -8 -5 -4 -4 -4 -4 -4 -4 -6 -1 -1 -2 -1 -1 -1 -6 -1 -1 -1 -4 -3 -7 -9 -9 -8 -8 -8 -10 -9 -9 -8 -8 -8 -9 -6 -8 -9 -6 -8 -8 -7 -4 -8 -7 -10 -9 -8 -6 -6 -4 -8 -6 -6 -6 -8 -8 -6 -5 -8 -7 -7 -5 -4 -6 -8 -7 -6 -7 -5 -7 -8 -8 -8 -9 -3 -6 -8 -7 -7 -5 -5 -7 -8 -6 -3 -4 -3 -4 -6 -8 -5 -8 -9 -8 -6 -4 -2 -9 -8 -7 -7 -6 -3 -9 -9 -7 -8 -2 -7 -6 -9 -8 -2 -6 -6 -9 -7 -6 -8 -8 -7 -7 -8 -8 -8 -7 -7 -7 -8 -9 -9 -8 -9 -7 -6 -4 -4 -6 -4 -6 -9 -8 -8 -2 -5 -7 -7 -7 -5 -4 -7 -7 -7 -6 -3 -9 -8 -7 -8 -3 -8 -8 -6 -8 -5 -10 -8 -8 -7 -4 -9 -7 -7 -5 -8 -8 -9 -6 -6 -7 -9 -7 -3 -6 -6 -7 -9 -5 -9 -8 -8 -6 -6 -9 -8 -5 -5 -9 -8 -8 -9 -7 -8 -5 -8 -8 -9 -2 -9 -8 -8 -9 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -9 -9 -6 -6 -3 -10 -9 -7 -7 -3 -9 -8 -9 -10 -7 -6 -9 -8 -10 -9 -9 -7 -8 -9 -9 -9 -10 -8 -5 -6 -4 -7 -7 -8 -6 -8 -8 -6 -8 -6 -4 -6 -7 -7 -7 -5 -5 -8 -6 -9 -6 -7 -5 -6 -8 -5 -9 -9 -8 -5 -9 -8 -8 -3 -9 -8 -7 -5 -8 -6 -4 -5 -4 -3 -7 -8 -6 -6 -5 -4 -7 -5 -7 -8 -5 -9 -6 -8 -5 -7 -9 -8 -7 -7 -5 -4 -5 -7 -9 -8 -8 -8 -1 -6 -7 -6 -5 -5 -6 -10 -8 -9 -9 -7 -9 -9 -8 -9 -9 -8 -6 -5 -7 -8 -5 -7 -7 -6 -9 -8 -4 -7 -7 -8 -9 -9 -9 -8 -9 -9 -8 -9 -10 -8 -9 -7 -3 -4 -5 -5 -8 -9 -2 -9 -9 -6 -8 -9 -9 -7 -10 -9 -8 -9 -8 -9 -6 -7 -6 -7 -6 -4 -10 -8 -7 -5 -3 -8 -8 -9 -7 -8 -9 -9 -9 -9 -9 -8 -9 -9 -9 -6 -5 -7 -5 -3 -5 -6 -8 -2 -7 -7 -8 -4 -4 -5 -7 -6 -6 -7 -8 -7 -8 -7 -9 -8 -5 -9 -7 -7 -4 -7 -6 -4 -5 -2 -6 -4 -7 -3 -8 -8 -7 -2 -7 -7 -7 -8 -5 -10 -6 -8 -5 -5 -7 -5 -3 -3 -9 -7 -9 -8 -7 -5 -8 -5 -7 -6 -3 -4 -9 -9 -9 -10 -8 -9 -9 -9 -8 -9 -9 -9 -7 -9 -7 -5 -6 -4 -4 -6 -10 -9 -8 -9 -9 -9 -8 -9 -9 -9 -9 -9 -8 -7 -8 -4 -4 -4 -5 -6 -9 -10 -9 -9 -8 -8 -10 -9 -8 -7 -8 -9 -8 -8 -9 -8 -5 -3 -9 -9 -8 -4 -6 -6 -5 -8 -8 -9 -9 -9 -8 -8 -8 -9 -10 -9 -7 -9 -8 -9 -7 -4 -6 -5 -6 -5 -5 -6 -8 -9 -7 -8 -9 -9 -8 -8 -9 -8 -9 -10 -8 -9 -10 -8 -4 -5 -7 -6 -5 -7 -8 -7 -9 -9 -9 -7 -9 -9 -9 -8 -9 -8 -6 -6 -5 -6 -8 -8 -5 -5 -7 -6 -7 -7 -4 -6 -6 -6 -9 -8 -9 -9 -7 -8 -7 -7 -9 -9 -8 -8 -6 -7 -7 -7 -7 -2 -5 -6 -8 -8 -3 -8 -5 -5 -5 -7 -5 -8 -6 -4 -5 -9 -8 -8 -9 -6 -5 -7 -6 -1 -4 -5 -2 -5 -8 -8 -7 -2 -9 -9 -4 -4 -4 -6 -5 -9 -9 -6 -2 -5 -6 -7 -4 -7 -6 -7 -6 -8 -8 -8 -5 -7 -8 -5 -5 -2 -8 -10 -8 -7 -5 -8 -9 -7 -9 -9 -9 -9 -9 -7 -8 -8 -7 -6 -9 -8 -8 -8 -6 -7 -7 -9 -8 -6 -3 -7 -7 -9 -8 -9 -9 -9 -9 -6 -8 -8 -9 -9 -3 -8 -5 -3 -4 -4 -5 -4 -9 -9 -8 -6 -6 -10 -10 -8 -3 -9 -7 -7 -6 -6 -7 -3 -7 -4 -3 -8 -8 -8 -6 -5 -7 -7 -5 -5 -6 -8 -8 -9 -5 -9 -7 -8 -6 -6 -6 -6 -7 -5 -9 -5 -7 -8 -7 -4 -6 -5 -7 -7 -8 -6 -7 -8 -6 -7 -10 -8 -7 -4 -4 -2 -5 -9 -4 -10 -7 -5 -7 -9 -8 -7 -7 -9 -9 -8 -9 -9 -9 -7 -6 -6 -7 -9 -6 -7 -7 -8 -6 -4 -6 -6 -6 -7 -3 -3 -6 -7 -8 -7 -9 -9 -7 -8 -7 -6 -7 -9 -7 -2 -4 -5 -5 -3 -2 -5 -6 -8 -2 -7 -8 -6 -2 -2 -8 -8 -7 -8 -7 -1 -3 -6 -6 -3 -6 -7 -2 -7 -2 -1 -6 -4 -1 -1 -7 -2 -6 -2 -2 -7 -9 -9 -7 -7 -9 -9 -8 -7 -7 -9 -4 -2 -2 -6 -2 -6 -1 -6 -6 -10 -8 -6 -7 -9 -8 -6 -4 -3 -7 -2 -2 -7 -2 -6 -2 -6 -2 -2 -6 -2 -6 -1 -2 -6 -2 -6 -1 -1 -6 -2 -6 -2 -1 -2 -6 -1 -1 -6 -1 -1 -6 -2 -6 -1 -2 -6 -1 -7 -6 -7 -9 -8 -7 -6 -7 -9 -8 -6 -5 -5 -7 -2 -3 -6 -2 -6 -2 -6 -1 -1 -6 -2 -6 -1 -1 -3 -1 -1 -6 -1 -1 -6 -2 -6 -1 -2 -6 -2 -6 -2 -1 -1 -6 -1 -1 -6 -1 -2 -6 -1 -1 -5 -1 -2 -6 -2 -6 -1 -1 -6 -7 -9 -9 -7 -6 -9 -9 -7 -6 -7 -2 -2 -6 -2 -6 -1 -6 -6 -9 -8 -6 -6 -9 -8 -5 -3 -3 -7 -2 -2 -7 -3 -7 -2 -6 -1 -2 -6 -2 -6 -1 -1 -6 -1 -1 -6 -1 -1 -6 -1 -1 -3 -1 -1 -6 -1 -1 -6 -2 -2 -6 -1 -1 -4 -1 -1 -6 -1 -5 -7 -9 -7 -7 -9 -7 -6 -9 -7 -6 -9 -6 -6 -9 -4 -8 -4 -8 -4 -8 -3 -7 -3 -7 -3 -7 -3 -7 -2 -2 -6 -3 -7 -3 -7 -3 -8 -3 -7 -3 -7 -2 -2 -6 -3 -7 -3 -7 -3 -7 -2 -7 -3 -7 -2 -2 -3 -3 -7 -3 -7 -2 -2 -7 -3 -7 -3 -7 -2 -2 -3 -3 -7 -3 -7 -3 -7 -3 -7 -3 -7 -1 -2 -7 -6 -6 -9 -8 -6 -6 -9 -8 -6 -4 -3 -7 -2 -2 -7 -3 -6 -2 -6 -1 -1 -6 -2 -6 -1 -1 -6 -1 -1 -6 -1 -1 -6 -2 -6 -1 -2 -6 -1 -6 -1 -2 -6 -2 -1 -1 -5 -2 -1 -5 -2 -2 -2 -1 -1 -1 -5 -3 -2 -1 -6 -5 -4 -2 -2 -2 -1 -5 -2 -1 -6 -5 -4 -2 -2 -2 -1 -1 -5 -4 -1 -5 -3 -2 -2 -2 -2 -1 -1 -6 -5 -4 -3 -1 -6 -5 -4 -2 -2 -2 -1 -6 -5 -4 -2 -6 -5 -4 -2 -2 -2 -1 -1 -1 -5 -3 -2 -1 -5 -3 -2 -2 -1 -1 -1 -5 -2 -1 -1 -5 -3 -2 -2 -2 -1 -1 -1 -6 -5 -4 -2 -5 -4 -2 -2 -1 -1 -6 -5 -4 -2 -6 -5 -2 -2 -2 -1 -1 -6 -5 -4 -1 -1 -5 -4 -3 -2 -2 -2 -1 -5 -4 -3 -1 -1 -5 -3 -2 -2 -2 -1 -5 -4 -2 -1 -1 -1 -5 -2 -2 -2 -1 -1 -6 -5 -3 -1 -5 -5 -2 -2 -1 -1 -5 -2 -1 -5 -3 -2 -2 -2 -1 -6 -5 -2 -1 -1 -6 -5 -4 -2 -2 -2 -1 -1 -5 -3 -1 -1 -5 -2 -2 -2 -2 -1 -1 -6 -5 -3 -1 -5 -4 -2 -2 -1 -5 -2 -1 -5 -4 -3 -2 -2 -2 -1 -1 -5 -2 -1 -5 -3 -2 -2 -2 -1 -1 -6 -5 -3 -1 -1 -5 -4 -3 -2 -2 -2 -1 -6 -5 -4 -2 -1 -5 -3 -2 -2 -2 -1 -1 -5 -3 -1 -1 -5 -2 -2 -2 -1 -1 -5 -2 -1 -1 -5 -4 -2 -2 -2 -2 -1 -5 -3 -1 -1 -5 -3 -2 -2 -1 -5 -3 -5 -3 -2 -2 -2 -1 -5 -2 -1 -5 -2 -2 -2 -2 -1 -6 -5 -2 -1 -5 -2 -2 -2 -1 -1 -5 -2 -1 -1 -6 -5 -2 -2 -1 -1 -5 -3 -1 -1 -1 -5 -4 -2 -2 -1 -1 -6 -5 -2 -1 -5 -4 -3 -2 -2 -1 -1 -5 -1 -1 -5 -3 -2 -2 -2 -5 -1 -5 -3 -2 -2 -1 -1 -5 -2 -6 -5 -3 -2 -2 -1 -1 -5 -4 -2 -1 -6 -5 -3 -2 -2 -2 -1 -1 -1 -5 -3 -5 -3 -2 -2 -2 -2 -1 -1 -5 -4 -2 -1 -5 -3 -2 -2 -2 -1 -1 -5 -4 -1 -1 -1 -5 -4 -2 -2 -1 -1 -5 -4 -2 -5 -3 -2 -2 -2 -1 -1 -1 -5 -2 -1 -1 -6 -5 -3 -2 -2 -2 -1 -1 -6 -5 -2 -1 -6 -5 -2 -2 -2 -1 -6 -5 -3 -2 -1 -6 -5 -4 -2 -2 -2 -1 -1 -6 -5 -2 -1 -5 -4 -2 -2 -1 -1 -5 -6 -5 -2 -1 -1 -6 -5 -4 -2 -2 -1 -1 -1 +0 1 +10.9679 3 +21.9359 3 +32.9038 4 +43.8717 3 +54.8397 3 +65.8076 3 +76.7755 3 +87.7434 3 +98.7114 3 +109.679 3 +120.647 3 +131.615 3 +142.583 3 +153.551 3 +164.519 3 +175.487 3 +186.455 4 +197.423 3 +208.391 4 +219.359 3 +230.327 3 +241.294 3 +252.262 3 +263.23 3 +274.198 3 +285.166 3 +296.134 4 +307.102 4 +318.07 3 +329.038 4 +340.006 4 +350.974 3 +361.942 4 +372.91 4 +383.878 4 +394.845 3 +405.813 3 +416.781 4 +427.749 3 +438.717 3 +449.685 3 +460.653 3 +471.621 3 +482.589 3 +493.557 4 +504.525 3 +515.493 4 +526.461 3 +537.429 4 +548.397 3 +559.364 3 +570.332 3 +581.3 3 +592.268 4 +603.236 3 +614.204 3 +625.172 4 +636.14 4 +647.108 3 +658.076 4 +669.044 3 +680.012 3 +690.98 3 +701.948 3 +712.915 4 +723.883 3 +734.851 4 +745.819 4 +756.787 4 +767.755 3 +778.723 3 +789.691 3 +800.659 3 +811.627 3 +822.595 3 +833.563 4 +844.531 4 +855.499 3 +866.466 4 +877.434 3 +888.402 4 +899.37 4 +910.338 3 +921.306 3 +932.274 3 +943.242 4 +954.21 3 +965.178 4 +976.146 3 +987.114 4 +998.082 3 +1009.05 3 +1020.02 3 +1030.99 3 +1041.95 3 +1052.92 3 +1063.89 3 +1074.86 4 +1085.83 4 +1096.79 3 +1107.76 4 +1118.73 3 +1129.7 3 +1140.66 3 +1151.63 4 +1162.6 4 +1173.57 3 +1184.54 4 +1195.5 3 +1206.47 4 +1217.44 3 +1228.41 4 +1239.38 4 +1250.34 3 +1261.31 3 +1272.28 3 +1283.25 3 +1294.22 3 +1305.18 4 +1316.15 3 +1327.12 4 +1338.09 4 +1349.06 3 +1360.02 3 +1370.99 4 +1381.96 3 +1392.93 3 +1403.9 3 +1414.86 3 +1425.83 4 +1436.8 3 +1447.77 3 +1458.73 4 +1469.7 3 +1480.67 4 +1491.64 3 +1502.61 4 +1513.57 4 +1524.54 3 +1535.51 3 +1546.48 3 +1557.45 3 +1568.41 4 +1579.38 4 +1590.35 3 +1601.32 3 +1612.29 3 +1623.25 4 +1634.22 4 +1645.19 3 +1656.16 4 +1667.13 4 +1678.09 3 +1689.06 3 +1700.03 3 +1711 3 +1721.97 4 +1732.93 3 +1743.9 4 +1754.87 4 +1765.84 3 +1776.8 3 +1787.77 3 +1798.74 4 +1809.71 3 +1820.68 4 +1831.64 3 +1842.61 4 +1853.58 4 +1864.55 3 +1875.52 3 +1886.48 4 +1897.45 3 +1908.42 3 +1919.39 4 +1930.36 4 +1941.32 3 +1952.29 4 +1963.26 3 +1974.23 3 +1985.2 3 +1996.16 4 +2007.13 3 +2018.1 4 +2029.07 3 +2040.03 4 +2051 3 +2061.97 4 +2072.94 3 +2083.91 3 +2094.87 3 +2105.84 3 +2116.81 4 +2127.78 3 +2138.75 3 +2149.71 3 +2160.68 4 +2171.65 3 +2182.62 3 +2193.59 3 +2204.55 3 +2215.52 4 +2226.49 4 +2237.46 2 +2248.43 3 +2259.39 3 +2270.36 4 +2281.33 3 +2292.3 3 +2303.27 3 +2314.23 3 +2325.2 3 +2336.17 4 +2347.14 3 +2358.1 3 +2369.07 4 +2380.04 3 +2391.01 3 +2401.98 3 +2412.94 4 +2423.91 3 +2434.88 4 +2445.85 3 +2456.82 4 +2467.78 3 +2478.75 4 +2489.72 3 +2500.69 4 +2511.66 3 +2522.62 4 +2533.59 3 +2544.56 4 +2555.53 4 +2566.5 3 +2577.46 4 +2588.43 3 +2599.4 4 +2610.37 3 +2621.34 3 +2632.3 4 +2643.27 4 +2654.24 4 +2665.21 4 +2676.17 3 +2687.14 3 +2698.11 4 +2709.08 4 +2720.05 2 +2731.01 3 +2741.98 3 +2752.95 3 +2763.92 3 +2774.89 4 +2785.85 4 +2796.82 3 +2807.79 3 +2818.76 3 +2829.73 3 +2840.69 3 +2851.66 3 +2862.63 4 +2873.6 4 +2884.57 4 +2895.53 3 +2906.5 3 +2917.47 3 +2928.44 3 +2939.41 3 +2950.37 3 +2961.34 4 +2972.31 3 +2983.28 3 +2994.24 3 +3005.21 4 +3016.18 4 +3027.15 3 +3038.12 4 +3049.08 3 +3060.05 3 +3071.02 4 +3081.99 3 +3092.96 3 +3103.92 3 +3114.89 4 +3125.86 3 +3136.83 4 +3147.8 3 +3158.76 3 +3169.73 3 +3180.7 4 +3191.67 4 +3202.64 4 +3213.6 4 +3224.57 3 +3235.54 4 +3246.51 4 +3257.48 4 +3268.44 4 +3279.41 4 +3290.38 3 +3301.35 4 +3312.31 4 +3323.28 4 +3334.25 3 +3345.22 3 +3356.19 4 +3367.15 3 +3378.12 3 +3389.09 4 +3400.06 3 +3411.03 4 +3421.99 3 +3432.96 4 +3443.93 3 +3454.9 3 +3465.87 3 +3476.83 4 +3487.8 3 +3498.77 4 +3509.74 3 +3520.71 3 +3531.67 3 +3542.64 3 +3553.61 3 +3564.58 4 +3575.55 4 +3586.51 3 +3597.48 3 +3608.45 4 +3619.42 4 +3630.38 4 +3641.35 3 +3652.32 4 +3663.29 3 +3674.26 4 +3685.22 3 +3696.19 3 +3707.16 4 +3718.13 3 +3729.1 3 +3740.06 3 +3751.03 4 +3762 3 +3772.97 4 +3783.94 3 +3794.9 3 +3805.87 3 +3816.84 3 +3827.81 4 +3838.78 3 +3849.74 3 +3860.71 3 +3871.68 3 +3882.65 4 +3893.62 3 +3904.58 3 +3915.55 3 +3926.52 4 +3937.49 4 +3948.45 3 +3959.42 3 +3970.39 4 +3981.36 4 +3992.33 4 +4003.29 4 +4014.26 3 +4025.23 3 +4036.2 3 +4047.17 4 +4058.13 3 +4069.1 4 +4080.07 3 +4091.04 4 +4102.01 3 +4112.97 4 +4123.94 3 +4134.91 4 +4145.88 3 +4156.85 4 +4167.81 4 +4178.78 3 +4189.75 4 +4200.72 3 +4211.69 4 +4222.65 4 +4233.62 3 +4244.59 3 +4255.56 3 +4266.52 4 +4277.49 3 +4288.46 3 +4299.43 3 +4310.4 4 +4321.36 3 +4332.33 4 +4343.3 3 +4354.27 3 +4365.24 3 +4376.2 4 +4387.17 3 +4398.14 4 +4409.11 3 +4420.08 4 +4431.04 3 +4442.01 3 +4452.98 3 +4463.95 3 +4474.92 3 +4485.88 4 +4496.85 3 +4507.82 3 +4518.79 3 +4529.76 3 +4540.72 3 +4551.69 4 +4562.66 3 +4573.63 4 +4584.59 3 +4595.56 4 +4606.53 3 +4617.5 3 +4628.47 4 +4639.43 3 +4650.4 4 +4661.37 3 +4672.34 3 +4683.31 3 +4694.27 4 +4705.24 3 +4716.21 3 +4727.18 4 +4738.15 4 +4749.11 4 +4760.08 3 +4771.05 3 +4782.02 4 +4792.99 3 +4803.95 3 +4814.92 4 +4825.89 3 +4836.86 4 +4847.83 3 +4858.79 4 +4869.76 3 +4880.73 3 +4891.7 3 +4902.66 3 +4913.63 3 +4924.6 3 +4935.57 4 +4946.54 3 +4957.5 3 +4968.47 4 +4979.44 3 +4990.41 3 +5001.38 3 +5012.34 3 +5023.31 3 +5034.28 3 +5045.25 4 +5056.22 3 +5067.18 4 +5078.15 3 +5089.12 3 +5100.09 3 +5111.06 4 +5122.02 4 +5132.99 3 +5143.96 3 +5154.93 3 +5165.9 4 +5176.86 3 +5187.83 4 +5198.8 3 +5209.77 3 +5220.73 3 +5231.7 3 +5242.67 4 +5253.64 3 +5264.61 3 +5275.57 3 +5286.54 3 +5297.51 3 +5308.48 3 +5319.45 4 +5330.41 4 +5341.38 3 +5352.35 4 +5363.32 3 +5374.29 3 +5385.25 4 +5396.22 3 +5407.19 3 +5418.16 4 +5429.13 3 +5440.09 3 +5451.06 4 +5462.03 3 +5473 3 +5483.97 3 +5494.93 3 +5505.9 3 +5516.87 4 +5527.84 3 +5538.8 4 +5549.77 3 +5560.74 3 +5571.71 4 +5582.68 3 +5593.64 4 +5604.61 3 +5615.58 3 +5626.55 3 +5637.52 3 +5648.48 3 +5659.45 4 +5670.42 3 +5681.39 4 +5692.36 3 +5703.32 3 +5714.29 3 +5725.26 3 +5736.23 3 +5747.2 3 +5758.16 4 +5769.13 3 +5780.1 4 +5791.07 3 +5802.03 4 +5813 4 +5823.97 3 +5834.94 4 +5845.91 4 +5856.87 3 +5867.84 3 +5878.81 3 +5889.78 4 +5900.75 3 +5911.71 3 +5922.68 3 +5933.65 4 +5944.62 3 +5955.59 4 +5966.55 4 +5977.52 3 +5988.49 3 +5999.46 3 +6010.43 3 +6021.39 4 +6032.36 4 +6043.33 3 +6054.3 4 +6065.27 4 +6076.23 4 +6087.2 3 +6098.17 3 +6109.14 3 +6120.1 3 +6131.07 3 +6142.04 3 +6153.01 4 +6163.98 4 +6174.94 4 +6185.91 3 +6196.88 3 +6207.85 4 +6218.82 3 +6229.78 3 +6240.75 4 +6251.72 4 +6262.69 3 +6273.66 3 +6284.62 4 +6295.59 3 +6306.56 4 +6317.53 4 +6328.5 3 +6339.46 4 +6350.43 3 +6361.4 3 +6372.37 3 +6383.34 3 +6394.3 3 +6405.27 3 +6416.24 3 +6427.21 4 +6438.17 3 +6449.14 3 +6460.11 3 +6471.08 3 +6482.05 3 +6493.01 3 +6503.98 4 +6514.95 4 +6525.92 3 +6536.89 3 +6547.85 4 +6558.82 4 +6569.79 4 +6580.76 4 +6591.73 4 +6602.69 4 +6613.66 3 +6624.63 3 +6635.6 4 +6646.57 4 +6657.53 3 +6668.5 4 +6679.47 4 +6690.44 3 +6701.41 3 +6712.37 3 +6723.34 3 +6734.31 3 +6745.28 3 +6756.24 3 +6767.21 3 +6778.18 3 +6789.15 3 +6800.12 2 +6811.08 3 +6822.05 3 +6833.02 3 +6843.99 3 +6854.96 4 +6865.92 3 +6876.89 4 +6887.86 4 +6898.83 4 +6909.8 3 +6920.76 4 +6931.73 3 +6942.7 3 +6953.67 3 +6964.64 4 +6975.6 3 +6986.57 3 +6997.54 3 +7008.51 3 +7019.48 3 +7030.44 3 +7041.41 3 +7052.38 4 +7063.35 3 +7074.31 4 +7085.28 3 +7096.25 4 +7107.22 4 +7118.19 3 +7129.15 3 +7140.12 3 +7151.09 4 +7162.06 3 +7173.03 4 +7183.99 3 +7194.96 3 +7205.93 4 +7216.9 4 +7227.87 3 +7238.83 3 +7249.8 3 +7260.77 3 +7271.74 3 +7282.71 4 +7293.67 3 +7304.64 3 +7315.61 3 +7326.58 3 +7337.55 3 +7348.51 3 +7359.48 3 +7370.45 4 +7381.42 3 +7392.38 4 +7403.35 4 +7414.32 3 +7425.29 3 +7436.26 4 +7447.22 3 +7458.19 3 +7469.16 4 +7480.13 3 +7491.1 4 +7502.06 3 +7513.03 4 +7524 3 +7534.97 3 +7545.94 3 +7556.9 3 +7567.87 3 +7578.84 4 +7589.81 3 +7600.78 4 +7611.74 3 +7622.71 4 +7633.68 3 +7644.65 3 +7655.62 3 +7666.58 3 +7677.55 4 +7688.52 3 +7699.49 3 +7710.45 4 +7721.42 4 +7732.39 4 +7743.36 4 +7754.33 4 +7765.29 3 +7776.26 3 +7787.23 3 +7798.2 3 +7809.17 3 +7820.13 3 +7831.1 3 +7842.07 3 +7853.04 3 +7864.01 3 +7874.97 3 +7885.94 3 +7896.91 3 +7907.88 3 +7918.85 3 +7929.81 3 +7940.78 3 +7951.75 3 +7962.72 4 +7973.69 4 +7984.65 4 +7995.62 3 +8006.59 3 +8017.56 3 +8028.52 3 +8039.49 4 +8050.46 3 +8061.43 3 +8072.4 3 +8083.36 3 +8094.33 3 +8105.3 3 +8116.27 4 +8127.24 3 +8138.2 3 +8149.17 4 +8160.14 3 +8171.11 3 +8182.08 3 +8193.04 4 +8204.01 3 +8214.98 3 +8225.95 3 +8236.92 4 +8247.88 3 +8258.85 3 +8269.82 4 +8280.79 3 +8291.76 3 +8302.72 3 +8313.69 3 +8324.66 4 +8335.63 4 +8346.59 4 +8357.56 3 +8368.53 3 +8379.5 3 +8390.47 3 +8401.43 4 +8412.4 4 +8423.37 3 +8434.34 4 +8445.31 4 +8456.27 3 +8467.24 3 +8478.21 3 +8489.18 3 +8500.15 4 +8511.11 3 +8522.08 3 +8533.05 3 +8544.02 3 +8554.99 3 +8565.95 3 +8576.92 3 +8587.89 3 +8598.86 4 +8609.83 3 +8620.79 3 +8631.76 4 +8642.73 4 +8653.7 4 +8664.66 3 +8675.63 4 +8686.6 3 +8697.57 3 +8708.54 3 +8719.5 3 +8730.47 3 +8741.44 3 +8752.41 3 +8763.38 3 +8774.34 3 +8785.31 3 +8796.28 3 +8807.25 3 +8818.22 3 +8829.18 3 +8840.15 3 +8851.12 4 +8862.09 3 +8873.06 4 +8884.02 3 +8894.99 4 +8905.96 3 +8916.93 3 +8927.9 3 +8938.86 4 +8949.83 3 +8960.8 4 +8971.77 3 +8982.73 4 +8993.7 3 +9004.67 4 +9015.64 3 +9026.61 3 +9037.57 4 +9048.54 3 +9059.51 4 +9070.48 3 +9081.45 4 +9092.41 3 +9103.38 3 +9114.35 3 +9125.32 4 +9136.29 3 +9147.25 3 +9158.22 3 +9169.19 3 +9180.16 3 +9191.13 3 +9202.09 3 +9213.06 3 +9224.03 3 +9235 3 +9245.96 3 +9256.93 3 +9267.9 3 +9278.87 3 +9289.84 3 +9300.8 4 +9311.77 4 +9322.74 4 +9333.71 3 +9344.68 3 +9355.64 3 +9366.61 4 +9377.58 3 +9388.55 3 +9399.52 4 +9410.48 3 +9421.45 4 +9432.42 3 +9443.39 4 +9454.36 4 +9465.32 3 +9476.29 3 +9487.26 3 +9498.23 3 +9509.2 3 +9520.16 3 +9531.13 3 +9542.1 3 +9553.07 3 +9564.03 3 +9575 3 +9585.97 3 +9596.94 4 +9607.91 4 +9618.87 4 +9629.84 3 +9640.81 3 +9651.78 3 +9662.75 3 +9673.71 3 +9684.68 4 +9695.65 3 +9706.62 4 +9717.59 3 +9728.55 3 +9739.52 3 +9750.49 3 +9761.46 3 +9772.43 4 +9783.39 3 +9794.36 4 +9805.33 3 +9816.3 4 +9827.27 3 +9838.23 4 +9849.2 3 +9860.17 3 +9871.14 3 +9882.1 4 +9893.07 4 +9904.04 3 +9915.01 4 +9925.98 4 +9936.94 3 +9947.91 3 +9958.88 3 +9969.85 4 +9980.82 3 +9991.78 4 +10002.8 3 +10013.7 3 +10024.7 3 +10035.7 3 +10046.6 3 +10057.6 4 +10068.6 3 +10079.5 4 +10090.5 3 +10101.5 4 +10112.4 3 +10123.4 4 +10134.4 3 +10145.3 4 +10156.3 3 +10167.3 3 +10178.2 3 +10189.2 4 +10200.2 4 +10211.1 3 +10222.1 4 +10233.1 3 +10244 4 +10255 3 +10266 3 +10277 4 +10287.9 4 +10298.9 4 +10309.9 3 +10320.8 3 +10331.8 4 +10342.8 4 +10353.7 3 +10364.7 3 +10375.7 3 +10386.6 3 +10397.6 3 +10408.6 4 +10419.5 3 +10430.5 3 +10441.5 4 +10452.4 3 +10463.4 4 +10474.4 3 +10485.3 4 +10496.3 3 +10507.3 3 +10518.2 3 +10529.2 3 +10540.2 4 +10551.1 3 +10562.1 4 +10573.1 3 +10584.1 3 +10595 3 +10606 3 +10617 4 +10627.9 4 +10638.9 3 +10649.9 3 +10660.8 3 +10671.8 3 +10682.8 3 +10693.7 4 +10704.7 4 +10715.7 4 +10726.6 3 +10737.6 3 +10748.6 3 +10759.5 4 +10770.5 3 +10781.5 3 +10792.4 3 +10803.4 4 +10814.4 3 +10825.3 3 +10836.3 3 +10847.3 3 +10858.3 3 +10869.2 4 +10880.2 4 +10891.2 3 +10902.1 3 +10913.1 3 +10924.1 3 +10935 3 +10946 4 +10957 3 +10967.9 4 +10978.9 3 +10989.9 3 +11000.8 3 +11011.8 4 +11022.8 3 +11033.7 3 +11044.7 3 +11055.7 3 +11066.6 3 +11077.6 3 +11088.6 3 +11099.5 4 +11110.5 4 +11121.5 3 +11132.4 3 +11143.4 3 +11154.4 3 +11165.4 3 +11176.3 3 +11187.3 4 +11198.3 3 +11209.2 4 +11220.2 3 +11231.2 3 +11242.1 4 +11253.1 3 +11264.1 4 +11275 3 +11286 3 +11297 3 +11307.9 3 +11318.9 4 +11329.9 4 +11340.8 3 +11351.8 3 +11362.8 4 +11373.7 3 +11384.7 3 +11395.7 4 +11406.6 4 +11417.6 3 +11428.6 4 +11439.6 3 +11450.5 3 +11461.5 3 +11472.5 3 +11483.4 3 +11494.4 4 +11505.4 3 +11516.3 3 +11527.3 3 +11538.3 3 +11549.2 3 +11560.2 4 +11571.2 3 +11582.1 3 +11593.1 3 +11604.1 3 +11615 3 +11626 3 +11637 3 +11647.9 3 +11658.9 3 +11669.9 2 +11680.8 3 +11691.8 3 +11702.8 3 +11713.7 3 +11724.7 4 +11735.7 3 +11746.7 3 +11757.6 3 +11768.6 4 +11779.6 3 +11790.5 3 +11801.5 4 +11812.5 4 +11823.4 4 +11834.4 3 +11845.4 4 +11856.3 4 +11867.3 3 +11878.3 3 +11889.2 3 +11900.2 4 +11911.2 3 +11922.1 4 +11933.1 3 +11944.1 3 +11955 3 +11966 3 +11977 4 +11987.9 3 +11998.9 3 +12009.9 3 +12020.9 3 +12031.8 3 +12042.8 3 +12053.8 4 +12064.7 4 +12075.7 3 +12086.7 3 +12097.6 3 +12108.6 3 +12119.6 4 +12130.5 3 +12141.5 3 +12152.5 4 +12163.4 4 +12174.4 3 +12185.4 3 +12196.3 3 +12207.3 4 +12218.3 3 +12229.2 3 +12240.2 4 +12251.2 3 +12262.1 3 +12273.1 4 +12284.1 3 +12295 3 +12306 3 +12317 4 +12328 3 +12338.9 3 +12349.9 3 +12360.9 4 +12371.8 4 +12382.8 3 +12393.8 4 +12404.7 3 +12415.7 4 +12426.7 3 +12437.6 3 +12448.6 3 +12459.6 3 +12470.5 4 +12481.5 3 +12492.5 3 +12503.4 3 +12514.4 3 +12525.4 4 +12536.3 4 +12547.3 3 +12558.3 3 +12569.2 3 +12580.2 3 +12591.2 3 +12602.2 3 +12613.1 4 +12624.1 3 +12635.1 4 +12646 3 +12657 3 +12668 3 +12678.9 3 +12689.9 3 +12700.9 3 +12711.8 4 +12722.8 4 +12733.8 3 +12744.7 4 +12755.7 3 +12766.7 3 +12777.6 3 +12788.6 4 +12799.6 3 +12810.5 3 +12821.5 3 +12832.5 4 +12843.4 3 +12854.4 3 +12865.4 3 +12876.3 4 +12887.3 3 +12898.3 4 +12909.3 3 +12920.2 4 +12931.2 3 +12942.2 3 +12953.1 4 +12964.1 4 +12975.1 3 +12986 4 +12997 3 +13008 3 +13018.9 3 +13029.9 3 +13040.9 3 +13051.8 2 +13062.8 4 +13073.8 3 +13084.7 3 +13095.7 4 +13106.7 3 +13117.6 4 +13128.6 4 +13139.6 4 +13150.5 3 +13161.5 3 +13172.5 4 +13183.5 3 +13194.4 3 +13205.4 3 +13216.4 4 +13227.3 3 +13238.3 4 +13249.3 4 +13260.2 3 +13271.2 4 +13282.2 3 +13293.1 3 +13304.1 3 +13315.1 3 +13326 3 +13337 3 +13348 3 +13358.9 4 +13369.9 4 +13380.9 3 +13391.8 3 +13402.8 3 +13413.8 3 +13424.7 4 +13435.7 3 +13446.7 4 +13457.7 3 +13468.6 4 +13479.6 3 +13490.6 4 +13501.5 3 +13512.5 4 +13523.5 3 +13534.4 4 +13545.4 4 +13556.4 4 +13567.3 3 +13578.3 4 +13589.3 4 +13600.2 4 +13611.2 3 +13622.2 4 +13633.1 3 +13644.1 3 +13655.1 3 +13666 3 +13677 3 +13688 3 +13698.9 3 +13709.9 4 +13720.9 3 +13731.8 3 +13742.8 3 +13753.8 3 +13764.8 3 +13775.7 3 +13786.7 4 +13797.7 3 +13808.6 3 +13819.6 4 +13830.6 3 +13841.5 3 +13852.5 4 +13863.5 3 +13874.4 4 +13885.4 3 +13896.4 4 +13907.3 3 +13918.3 3 +13929.3 3 +13940.2 3 +13951.2 3 +13962.2 3 +13973.1 3 +13984.1 3 +13995.1 3 +14006 4 +14017 4 +14028 4 +14039 4 +14049.9 4 +14060.9 3 +14071.9 3 +14082.8 4 +14093.8 4 +14104.8 3 +14115.7 3 +14126.7 3 +14137.7 3 +14148.6 3 +14159.6 3 +14170.6 3 +14181.5 3 +14192.5 3 +14203.5 4 +14214.4 3 +14225.4 3 +14236.4 4 +14247.3 3 +14258.3 4 +14269.3 4 +14280.2 3 +14291.2 4 +14302.2 3 +14313.1 3 +14324.1 3 +14335.1 3 +14346.1 3 +14357 3 +14368 4 +14379 3 +14389.9 3 +14400.9 3 +14411.9 4 +14422.8 3 +14433.8 4 +14444.8 4 +14455.7 3 +14466.7 3 +14477.7 4 +14488.6 3 +14499.6 3 +14510.6 3 +14521.5 3 +14532.5 3 +14543.5 4 +14554.4 4 +14565.4 3 +14576.4 3 +14587.3 3 +14598.3 3 +14609.3 3 +14620.3 3 +14631.2 4 +14642.2 3 +14653.2 3 +14664.1 3 +14675.1 3 +14686.1 4 +14697 3 +14708 3 +14719 3 +14729.9 4 +14740.9 3 +14751.9 3 +14762.8 3 +14773.8 4 +14784.8 3 +14795.7 3 +14806.7 3 +14817.7 3 +14828.6 3 +14839.6 4 +14850.6 3 +14861.5 4 +14872.5 3 +14883.5 4 +14894.4 3 +14905.4 4 +14916.4 4 +14927.4 3 +14938.3 4 +14949.3 3 +14960.3 3 +14971.2 4 +14982.2 3 +14993.2 3 +15004.1 3 +15015.1 3 +15026.1 3 +15037 4 +15048 4 +15059 3 +15069.9 3 +15080.9 4 +15091.9 4 +15102.8 3 +15113.8 3 +15124.8 3 +15135.7 3 +15146.7 3 +15157.7 3 +15168.6 4 +15179.6 4 +15190.6 4 +15201.6 3 +15212.5 4 +15223.5 3 +15234.5 3 +15245.4 4 +15256.4 4 +15267.4 3 +15278.3 4 +15289.3 4 +15300.3 3 +15311.2 3 +15322.2 3 +15333.2 3 +15344.1 4 +15355.1 4 +15366.1 3 +15377 3 +15388 3 +15399 3 +15409.9 3 +15420.9 4 +15431.9 3 +15442.8 4 +15453.8 3 +15464.8 3 +15475.7 3 +15486.7 3 +15497.7 3 +15508.7 3 +15519.6 3 +15530.6 3 +15541.6 3 +15552.5 3 +15563.5 3 +15574.5 3 +15585.4 3 +15596.4 3 +15607.4 3 +15618.3 3 +15629.3 3 +15640.3 4 +15651.2 3 +15662.2 3 +15673.2 3 +15684.1 3 +15695.1 4 +15706.1 3 +15717 3 +15728 3 +15739 4 +15749.9 4 +15760.9 3 +15771.9 3 +15782.9 3 +15793.8 4 +15804.8 3 +15815.8 4 +15826.7 3 +15837.7 3 +15848.7 3 +15859.6 4 +15870.6 3 +15881.6 3 +15892.5 4 +15903.5 3 +15914.5 3 +15925.4 4 +15936.4 3 +15947.4 3 +15958.3 3 +15969.3 4 +15980.3 4 +15991.2 3 +16002.2 3 +16013.2 3 +16024.1 3 +16035.1 4 +16046.1 3 +16057 3 +16068 3 +16079 4 +16090 4 +16100.9 3 +16111.9 3 +16122.9 4 +16133.8 4 +16144.8 4 +16155.8 4 +16166.7 4 +16177.7 4 +16188.7 4 +16199.6 4 +16210.6 4 +16221.6 4 +16232.5 4 +16243.5 4 +16254.5 4 +16265.4 4 +16276.4 4 +16287.4 4 +16298.3 4 +16309.3 4 +16320.3 4 +16331.2 5 +16342.2 5 +16353.2 5 +16364.2 5 +16375.1 5 +16386.1 5 +16397.1 6 +16408 5 +16419 5 +16430 6 +16440.9 5 +16451.9 5 +16462.9 5 +16473.8 6 +16484.8 5 +16495.8 5 +16506.7 5 +16517.7 5 +16528.7 5 +16539.6 5 +16550.6 5 +16561.6 5 +16572.5 5 +16583.5 5 +16594.5 5 +16605.4 5 +16616.4 5 +16627.4 5 +16638.3 5 +16649.3 6 +16660.3 5 +16671.3 5 +16682.2 6 +16693.2 5 +16704.2 6 +16715.1 5 +16726.1 5 +16737.1 5 +16748 5 +16759 5 +16770 5 +16780.9 5 +16791.9 5 +16802.9 5 +16813.8 5 +16824.8 5 +16835.8 5 +16846.7 5 +16857.7 5 +16868.7 5 +16879.6 5 +16890.6 5 +16901.6 5 +16912.5 6 +16923.5 5 +16934.5 5 +16945.5 5 +16956.4 5 +16967.4 5 +16978.4 5 +16989.3 5 +17000.3 5 +17011.3 5 +17022.2 5 +17033.2 5 +17044.2 5 +17055.1 5 +17066.1 5 +17077.1 5 +17088 5 +17099 5 +17110 5 +17120.9 5 +17131.9 6 +17142.9 5 +17153.8 5 +17164.8 6 +17175.8 5 +17186.7 6 +17197.7 5 +17208.7 5 +17219.7 5 +17230.6 5 +17241.6 5 +17252.6 5 +17263.5 6 +17274.5 5 +17285.5 5 +17296.4 5 +17307.4 5 +17318.4 5 +17329.3 5 +17340.3 5 +17351.3 5 +17362.2 5 +17373.2 6 +17384.2 6 +17395.1 5 +17406.1 5 +17417.1 6 +17428 5 +17439 6 +17450 5 +17460.9 5 +17471.9 5 +17482.9 5 +17493.8 5 +17504.8 6 +17515.8 5 +17526.8 6 +17537.7 6 +17548.7 5 +17559.7 5 +17570.6 6 +17581.6 6 +17592.6 6 +17603.5 6 +17614.5 6 +17625.5 5 +17636.4 6 +17647.4 6 +17658.4 6 +17669.3 6 +17680.3 6 +17691.3 5 +17702.2 6 +17713.2 6 +17724.2 6 +17735.1 6 +17746.1 6 +17757.1 6 +17768 5 +17779 6 +17790 6 +17801 6 +17811.9 6 +17822.9 6 +17833.9 5 +17844.8 6 +17855.8 6 +17866.8 6 +17877.7 6 +17888.7 6 +17899.7 6 +17910.6 9 +17921.6 8 +17932.6 10 +17943.5 9 +17954.5 9 +17965.5 9 +17976.4 9 +17987.4 10 +17998.4 9 +18009.3 10 +18020.3 9 +18031.3 9 +18042.2 10 +18053.2 9 +18064.2 9 +18075.1 9 +18086.1 9 +18097.1 9 +18108.1 10 +18119 10 +18130 9 +18141 9 +18151.9 8 +18162.9 9 +18173.9 9 +18184.8 9 +18195.8 9 +18206.8 9 +18217.7 9 +18228.7 9 +18239.7 9 +18250.6 9 +18261.6 9 +18272.6 10 +18283.5 10 +18294.5 9 +18305.5 10 +18316.4 10 +18327.4 9 +18338.4 9 +18349.3 9 +18360.3 10 +18371.3 10 +18382.3 9 +18393.2 10 +18404.2 9 +18415.2 10 +18426.1 10 +18437.1 9 +18448.1 10 +18459 10 +18470 9 +18481 10 +18491.9 10 +18502.9 9 +18513.9 9 +18524.8 9 +18535.8 9 +18546.8 10 +18557.7 10 +18568.7 9 +18579.7 10 +18590.6 10 +18601.6 9 +18612.6 9 +18623.5 9 +18634.5 10 +18645.5 10 +18656.4 10 +18667.4 10 +18678.4 10 +18689.4 10 +18700.3 10 +18711.3 10 +18722.3 10 +18733.2 10 +18744.2 10 +18755.2 10 +18766.1 10 +18777.1 10 +18788.1 10 +18799 10 +18810 10 +18821 10 +18831.9 10 +18842.9 10 +18853.9 10 +18864.8 9 +18875.8 9 +18886.8 10 +18897.7 9 +18908.7 9 +18919.7 10 +18930.6 10 +18941.6 10 +18952.6 10 +18963.6 10 +18974.5 10 +18985.5 10 +18996.5 10 +19007.4 10 +19018.4 10 +19029.4 10 +19040.3 10 +19051.3 10 +19062.3 10 +19073.2 10 +19084.2 10 +19095.2 10 +19106.1 10 +19117.1 10 +19128.1 10 +19139 10 +19150 10 +19161 10 +19171.9 10 +19182.9 10 +19193.9 10 +19204.8 10 +19215.8 10 +19226.8 10 +19237.7 10 +19248.7 10 +19259.7 10 +19270.7 10 +19281.6 10 +19292.6 10 +19303.6 10 +19314.5 10 +19325.5 10 +19336.5 10 +19347.4 10 +19358.4 10 +19369.4 10 +19380.3 10 +19391.3 10 +19402.3 10 +19413.2 10 +19424.2 10 +19435.2 10 +19446.1 10 +19457.1 10 +19468.1 10 +19479 10 +19490 10 +19501 10 +19511.9 10 +19522.9 10 +19533.9 10 +19544.9 10 +19555.8 10 +19566.8 10 +19577.8 10 +19588.7 11 +19599.7 11 +19610.7 11 +19621.6 11 +19632.6 11 +19643.6 11 +19654.5 12 +19665.5 11 +19676.5 11 +19687.4 11 +19698.4 11 +19709.4 11 +19720.3 11 +19731.3 11 +19742.3 11 +19753.2 11 +19764.2 11 +19775.2 11 +19786.1 12 +19797.1 11 +19808.1 11 +19819 12 +19830 12 +19841 11 +19852 11 +19862.9 11 +19873.9 11 +19884.9 11 +19895.8 11 +19906.8 11 +19917.8 11 +19928.7 11 +19939.7 11 +19950.7 11 +19961.6 11 +19972.6 11 +19983.6 11 +19994.5 11 +20005.5 11 +20016.5 11 +20027.4 11 +20038.4 11 +20049.4 11 +20060.3 11 +20071.3 12 +20082.3 11 +20093.2 12 +20104.2 11 +20115.2 11 +20126.2 11 +20137.1 12 +20148.1 11 +20159.1 11 +20170 11 +20181 11 +20192 11 +20202.9 11 +20213.9 11 +20224.9 11 +20235.8 11 +20246.8 11 +20257.8 11 +20268.7 11 +20279.7 11 +20290.7 11 +20301.6 11 +20312.6 11 +20323.6 11 +20334.5 11 +20345.5 11 +20356.5 11 +20367.4 12 +20378.4 12 +20389.4 11 +20400.3 12 +20411.3 11 +20422.3 11 +20433.3 11 +20444.2 11 +20455.2 11 +20466.2 11 +20477.1 11 +20488.1 11 +20499.1 11 +20510 11 +20521 11 +20532 11 +20542.9 11 +20553.9 11 +20564.9 11 +20575.8 11 +20586.8 12 +20597.8 11 +20608.7 11 +20619.7 11 +20630.7 11 +20641.6 11 +20652.6 11 +20663.6 12 +20674.5 12 +20685.5 12 +20696.5 11 +20707.5 11 +20718.4 11 +20729.4 11 +20740.4 12 +20751.3 11 +20762.3 11 +20773.3 11 +20784.2 11 +20795.2 11 +20806.2 11 +20817.1 11 +20828.1 11 +20839.1 12 +20850 12 +20861 11 +20872 12 +20882.9 11 +20893.9 12 +20904.9 12 +20915.8 11 +20926.8 12 +20937.8 12 +20948.7 12 +20959.7 11 +20970.7 11 +20981.7 11 +20992.6 11 +21003.6 11 +21014.6 11 +21025.5 12 +21036.5 11 +21047.5 11 +21058.4 11 +21069.4 11 +21080.4 11 +21091.3 11 +21102.3 11 +21113.3 11 +21124.2 11 +21135.2 11 +21146.2 11 +21157.1 11 +21168.1 11 +21179.1 11 +21190 11 +21201 11 +21212 12 +21222.9 12 +21233.9 12 +21244.9 12 +21255.8 11 +21266.8 11 +21277.8 11 +21288.8 12 +21299.7 11 +21310.7 11 +21321.7 11 +21332.6 12 +21343.6 12 +21354.6 12 +21365.5 11 +21376.5 11 +21387.5 11 +21398.4 11 +21409.4 11 +21420.4 11 +21431.3 11 +21442.3 11 +21453.3 11 +21464.2 11 +21475.2 12 +21486.2 11 +21497.1 11 +21508.1 11 +21519.1 11 +21530 11 +21541 11 +21552 11 +21563 11 +21573.9 11 +21584.9 12 +21595.9 11 +21606.8 12 +21617.8 11 +21628.8 12 +21639.7 11 +21650.7 12 +21661.7 12 +21672.6 12 +21683.6 12 +21694.6 11 +21705.5 11 +21716.5 11 +21727.5 11 +21738.4 12 +21749.4 11 +21760.4 11 +21771.3 11 +21782.3 11 +21793.3 11 +21804.2 11 +21815.2 11 +21826.2 11 +21837.1 11 +21848.1 12 +21859.1 11 +21870.1 11 +21881 11 +21892 11 +21903 11 +21913.9 12 +21924.9 11 +21935.9 11 +21946.8 11 +21957.8 12 +21968.8 11 +21979.7 11 +21990.7 11 +22001.7 11 +22012.6 11 +22023.6 11 +22034.6 12 +22045.5 11 +22056.5 11 +22067.5 11 +22078.4 11 +22089.4 11 +22100.4 11 +22111.3 12 +22122.3 12 +22133.3 12 +22144.3 12 +22155.2 11 +22166.2 11 +22177.2 11 +22188.1 12 +22199.1 11 +22210.1 11 +22221 11 +22232 12 +22243 12 +22253.9 11 +22264.9 11 +22275.9 11 +22286.8 12 +22297.8 11 +22308.8 12 +22319.7 11 +22330.7 11 +22341.7 11 +22352.6 11 +22363.6 11 +22374.6 11 +22385.5 11 +22396.5 11 +22407.5 11 +22418.4 11 +22429.4 11 +22440.4 11 +22451.4 11 +22462.3 11 +22473.3 11 +22484.3 11 +22495.2 11 +22506.2 11 +22517.2 11 +22528.1 11 +22539.1 11 +22550.1 11 +22561 11 +22572 11 +22583 11 +22593.9 12 +22604.9 11 +22615.9 11 +22626.8 12 +22637.8 11 +22648.8 11 +22659.7 11 +22670.7 11 +22681.7 12 +22692.6 11 +22703.6 11 +22714.6 12 +22725.6 11 +22736.5 11 +22747.5 12 +22758.5 11 +22769.4 11 +22780.4 11 +22791.4 12 +22802.3 11 +22813.3 11 +22824.3 11 +22835.2 11 +22846.2 11 +22857.2 11 +22868.1 12 +22879.1 11 +22890.1 12 +22901 12 +22912 12 +22923 12 +22933.9 13 +22944.9 14 +22955.9 13 +22966.8 13 +22977.8 14 +22988.8 14 +22999.7 13 +23010.7 13 +23021.7 13 +23032.7 13 +23043.6 13 +23054.6 13 +23065.6 13 +23076.5 13 +23087.5 13 +23098.5 14 +23109.4 14 +23120.4 13 +23131.4 13 +23142.3 13 +23153.3 13 +23164.3 13 +23175.2 13 +23186.2 14 +23197.2 13 +23208.1 13 +23219.1 13 +23230.1 14 +23241 14 +23252 13 +23263 14 +23273.9 13 +23284.9 13 +23295.9 13 +23306.9 13 +23317.8 13 +23328.8 14 +23339.8 13 +23350.7 13 +23361.7 13 +23372.7 14 +23383.6 13 +23394.6 13 +23405.6 13 +23416.5 13 +23427.5 14 +23438.5 13 +23449.4 13 +23460.4 13 +23471.4 13 +23482.3 13 +23493.3 13 +23504.3 13 +23515.2 13 +23526.2 13 +23537.2 13 +23548.1 13 +23559.1 14 +23570.1 13 +23581 14 +23592 14 +23603 14 +23614 14 +23624.9 14 +23635.9 13 +23646.9 13 +23657.8 14 +23668.8 13 +23679.8 13 +23690.7 13 +23701.7 13 +23712.7 13 +23723.6 13 +23734.6 13 +23745.6 13 +23756.5 13 +23767.5 14 +23778.5 14 +23789.4 14 +23800.4 14 +23811.4 13 +23822.3 13 +23833.3 14 +23844.3 13 +23855.2 13 +23866.2 14 +23877.2 13 +23888.2 14 +23899.1 13 +23910.1 14 +23921.1 14 +23932 13 +23943 14 +23954 13 +23964.9 13 +23975.9 13 +23986.9 14 +23997.8 14 +24008.8 13 +24019.8 14 +24030.7 13 +24041.7 14 +24052.7 13 +24063.6 13 +24074.6 13 +24085.6 13 +24096.5 14 +24107.5 14 +24118.5 13 +24129.4 14 +24140.4 14 +24151.4 14 +24162.3 14 +24173.3 13 +24184.3 14 +24195.3 14 +24206.2 14 +24217.2 14 +24228.2 14 +24239.1 14 +24250.1 14 +24261.1 14 +24272 14 +24283 14 +24294 14 +24304.9 14 +24315.9 14 +24326.9 14 +24337.8 14 +24348.8 14 +24359.8 14 +24370.7 14 +24381.7 14 +24392.7 14 +24403.6 14 +24414.6 14 +24425.6 14 +24436.5 14 +24447.5 14 +24458.5 14 +24469.5 14 +24480.4 14 +24491.4 14 +24502.4 14 +24513.3 14 +24524.3 14 +24535.3 14 +24546.2 14 +24557.2 14 +24568.2 14 +24579.1 14 +24590.1 14 +24601.1 14 +24612 14 +24623 14 +24634 14 +24644.9 14 +24655.9 14 +24666.9 14 +24677.8 12 +24688.8 10 +24699.8 10 +24710.7 11 +24721.7 12 +24732.7 11 +24743.7 11 +24754.6 11 +24765.6 11 +24776.6 11 +24787.5 11 +24798.5 11 +24809.5 11 +24820.4 11 +24831.4 11 +24842.4 11 +24853.3 11 +24864.3 12 +24875.3 12 +24886.2 12 +24897.2 12 +24908.2 12 +24919.1 12 +24930.1 12 +24941.1 12 +24952 12 +24963 12 +24974 12 +24984.9 12 +24995.9 12 +25006.9 12 +25017.8 12 +25028.8 12 +25039.8 12 +25050.8 12 +25061.7 12 +25072.7 12 +25083.7 12 +25094.6 12 +25105.6 12 +25116.6 12 +25127.5 12 +25138.5 12 +25149.5 12 +25160.4 12 +25171.4 12 +25182.4 12 +25193.3 12 +25204.3 12 +25215.3 12 +25226.2 12 +25237.2 12 +25248.2 12 +25259.1 12 +25270.1 12 +25281.1 12 +25292 12 +25303 12 +25314 12 +25325 12 +25335.9 12 +25346.9 12 +25357.9 12 +25368.8 12 +25379.8 12 +25390.8 12 +25401.7 12 +25412.7 12 +25423.7 12 +25434.6 12 +25445.6 12 +25456.6 12 +25467.5 12 +25478.5 12 +25489.5 12 +25500.4 12 +25511.4 12 +25522.4 12 +25533.3 12 +25544.3 12 +25555.3 12 +25566.2 12 +25577.2 12 +25588.2 12 +25599.1 12 +25610.1 12 +25621.1 13 +25632.1 14 +25643 14 +25654 14 +25665 14 +25675.9 14 +25686.9 15 +25697.9 15 +25708.8 15 +25719.8 15 +25730.8 15 +25741.7 15 +25752.7 16 +25763.7 15 +25774.6 15 +25785.6 15 +25796.6 15 +25807.5 15 +25818.5 15 +25829.5 15 +25840.4 15 +25851.4 15 +25862.4 16 +25873.3 15 +25884.3 15 +25895.3 15 +25906.3 15 +25917.2 15 +25928.2 15 +25939.2 15 +25950.1 15 +25961.1 15 +25972.1 16 +25983 15 +25994 15 +26005 15 +26015.9 15 +26026.9 15 +26037.9 15 +26048.8 15 +26059.8 15 +26070.8 15 +26081.7 15 +26092.7 15 +26103.7 15 +26114.6 15 +26125.6 15 +26136.6 15 +26147.5 15 +26158.5 15 +26169.5 15 +26180.4 16 +26191.4 15 +26202.4 15 +26213.4 15 +26224.3 15 +26235.3 15 +26246.3 15 +26257.2 15 +26268.2 15 +26279.2 15 +26290.1 15 +26301.1 15 +26312.1 15 +26323 15 +26334 15 +26345 15 +26355.9 15 +26366.9 15 +26377.9 15 +26388.8 15 +26399.8 15 +26410.8 15 +26421.7 15 +26432.7 15 +26443.7 15 +26454.6 15 +26465.6 15 +26476.6 15 +26487.6 15 +26498.5 15 +26509.5 15 +26520.5 15 +26531.4 15 +26542.4 15 +26553.4 15 +26564.3 15 +26575.3 15 +26586.3 15 +26597.2 15 +26608.2 15 +26619.2 15 +26630.1 15 +26641.1 15 +26652.1 15 +26663 15 +26674 15 +26685 15 +26695.9 15 +26706.9 16 +26717.9 15 +26728.8 15 +26739.8 15 +26750.8 15 +26761.7 16 +26772.7 16 +26783.7 15 +26794.7 15 +26805.6 15 +26816.6 15 +26827.6 15 +26838.5 16 +26849.5 15 +26860.5 15 +26871.4 15 +26882.4 15 +26893.4 15 +26904.3 16 +26915.3 15 +26926.3 15 +26937.2 16 +26948.2 15 +26959.2 15 +26970.1 15 +26981.1 15 +26992.1 15 +27003 15 +27014 15 +27025 16 +27035.9 16 +27046.9 15 +27057.9 15 +27068.9 15 +27079.8 15 +27090.8 15 +27101.8 15 +27112.7 15 +27123.7 15 +27134.7 15 +27145.6 15 +27156.6 15 +27167.6 15 +27178.5 15 +27189.5 15 +27200.5 15 +27211.4 15 +27222.4 15 +27233.4 15 +27244.3 15 +27255.3 15 +27266.3 15 +27277.2 15 +27288.2 15 +27299.2 15 +27310.1 15 +27321.1 15 +27332.1 15 +27343 15 +27354 15 +27365 15 +27376 15 +27386.9 16 +27397.9 16 +27408.9 16 +27419.8 16 +27430.8 16 +27441.8 16 +27452.7 14 +27463.7 14 +27474.7 15 +27485.6 16 +27496.6 16 +27507.6 16 +27518.5 16 +27529.5 16 +27540.5 16 +27551.4 17 +27562.4 18 +27573.4 18 +27584.3 18 +27595.3 18 +27606.3 18 +27617.2 18 +27628.2 18 +27639.2 18 +27650.2 18 +27661.1 18 +27672.1 18 +27683.1 18 +27694 18 +27705 18 +27716 18 +27726.9 18 +27737.9 18 +27748.9 18 +27759.8 18 +27770.8 18 +27781.8 18 +27792.7 18 +27803.7 18 +27814.7 18 +27825.6 18 +27836.6 18 +27847.6 18 +27858.5 18 +27869.5 18 +27880.5 18 +27891.4 18 +27902.4 18 +27913.4 14 +27924.3 14 +27935.3 14 +27946.3 14 +27957.3 13 +27968.2 13 +27979.2 13 +27990.2 13 +28001.1 13 +28012.1 13 +28023.1 13 +28034 14 +28045 14 +28056 13 +28066.9 14 +28077.9 13 +28088.9 13 +28099.8 13 +28110.8 13 +28121.8 14 +28132.7 14 +28143.7 14 +28154.7 14 +28165.6 14 +28176.6 13 +28187.6 13 +28198.5 14 +28209.5 14 +28220.5 14 +28231.5 13 +28242.4 14 +28253.4 14 +28264.4 14 +28275.3 14 +28286.3 14 +28297.3 14 +28308.2 14 +28319.2 14 +28330.2 14 +28341.1 14 +28352.1 14 +28363.1 14 +28374 14 +28385 14 +28396 14 +28406.9 14 +28417.9 14 +28428.9 14 +28439.8 14 +28450.8 14 +28461.8 14 +28472.7 14 +28483.7 14 +28494.7 14 +28505.7 14 +28516.6 14 +28527.6 14 +28538.6 14 +28549.5 14 +28560.5 14 +28571.5 14 +28582.4 14 +28593.4 14 +28604.4 14 +28615.3 14 +28626.3 14 +28637.3 14 +28648.2 14 +28659.2 14 +28670.2 14 +28681.1 14 +28692.1 14 +28703.1 14 +28714 14 +28725 14 +28736 14 +28746.9 14 +28757.9 14 +28768.9 14 +28779.8 14 +28790.8 15 +28801.8 17 +28812.8 18 +28823.7 17 +28834.7 17 +28845.7 17 +28856.6 17 +28867.6 17 +28878.6 18 +28889.5 17 +28900.5 17 +28911.5 17 +28922.4 17 +28933.4 17 +28944.4 18 +28955.3 17 +28966.3 17 +28977.3 17 +28988.2 17 +28999.2 18 +29010.2 18 +29021.1 17 +29032.1 18 +29043.1 17 +29054 17 +29065 17 +29076 18 +29087 18 +29097.9 17 +29108.9 18 +29119.9 18 +29130.8 17 +29141.8 17 +29152.8 18 +29163.7 17 +29174.7 18 +29185.7 18 +29196.6 18 +29207.6 17 +29218.6 17 +29229.5 18 +29240.5 18 +29251.5 17 +29262.4 17 +29273.4 17 +29284.4 17 +29295.3 18 +29306.3 17 +29317.3 18 +29328.2 17 +29339.2 17 +29350.2 18 +29361.1 17 +29372.1 17 +29383.1 17 +29394.1 17 +29405 17 +29416 17 +29427 18 +29437.9 17 +29448.9 17 +29459.9 18 +29470.8 18 +29481.8 17 +29492.8 18 +29503.7 17 +29514.7 18 +29525.7 16 +29536.6 17 +29547.6 18 +29558.6 17 +29569.5 17 +29580.5 17 +29591.5 17 +29602.4 18 +29613.4 17 +29624.4 17 +29635.3 18 +29646.3 18 +29657.3 17 +29668.3 17 +29679.2 17 +29690.2 18 +29701.2 17 +29712.1 18 +29723.1 17 +29734.1 18 +29745 17 +29756 17 +29767 17 +29777.9 18 +29788.9 17 +29799.9 18 +29810.8 17 +29821.8 18 +29832.8 18 +29843.7 17 +29854.7 17 +29865.7 17 +29876.6 17 +29887.6 16 +29898.6 18 +29909.5 17 +29920.5 17 +29931.5 18 +29942.4 17 +29953.4 17 +29964.4 17 +29975.4 18 +29986.3 18 +29997.3 17 +30008.3 17 +30019.2 17 +30030.2 17 +30041.2 18 +30052.1 17 +30063.1 18 +30074.1 17 +30085 17 +30096 18 +30107 18 +30117.9 17 +30128.9 18 +30139.9 17 +30150.8 18 +30161.8 17 +30172.8 18 +30183.7 17 +30194.7 18 +30205.7 17 +30216.6 17 +30227.6 17 +30238.6 18 +30249.6 17 +30260.5 17 +30271.5 17 +30282.5 18 +30293.4 17 +30304.4 18 +30315.4 18 +30326.3 18 +30337.3 18 +30348.3 17 +30359.2 18 +30370.2 18 +30381.2 17 +30392.1 17 +30403.1 17 +30414.1 17 +30425 17 +30436 18 +30447 17 +30457.9 17 +30468.9 18 +30479.9 17 +30490.8 18 +30501.8 18 +30512.8 17 +30523.7 17 +30534.7 17 +30545.7 17 +30556.7 17 +30567.6 17 +30578.6 17 +30589.6 17 +30600.5 18 +30611.5 17 +30622.5 17 +30633.4 17 +30644.4 17 +30655.4 18 +30666.3 17 +30677.3 17 +30688.3 18 +30699.2 17 +30710.2 17 +30721.2 17 +30732.1 18 +30743.1 17 +30754.1 18 +30765 18 +30776 18 +30787 17 +30797.9 17 +30808.9 17 +30819.9 18 +30830.9 17 +30841.8 18 +30852.8 18 +30863.8 18 +30874.7 17 +30885.7 18 +30896.7 17 +30907.6 18 +30918.6 17 +30929.6 17 +30940.5 17 +30951.5 17 +30962.5 18 +30973.4 18 +30984.4 17 +30995.4 18 +31006.3 17 +31017.3 17 +31028.3 18 +31039.2 17 +31050.2 17 +31061.2 17 +31072.1 17 +31083.1 18 +31094.1 17 +31105 17 +31116 18 +31127 17 +31138 17 +31148.9 17 +31159.9 17 +31170.9 18 +31181.8 17 +31192.8 18 +31203.8 17 +31214.7 18 +31225.7 17 +31236.7 17 +31247.6 17 +31258.6 18 +31269.6 18 +31280.5 18 +31291.5 18 +31302.5 17 +31313.4 17 +31324.4 17 +31335.4 17 +31346.3 17 +31357.3 17 +31368.3 17 +31379.2 18 +31390.2 17 +31401.2 17 +31412.2 17 +31423.1 17 +31434.1 18 +31445.1 17 +31456 17 +31467 18 +31478 17 +31488.9 17 +31499.9 18 +31510.9 17 +31521.8 18 +31532.8 17 +31543.8 18 +31554.7 17 +31565.7 18 +31576.7 17 +31587.6 18 +31598.6 18 +31609.6 18 +31620.5 18 +31631.5 18 +31642.5 17 +31653.4 18 +31664.4 18 +31675.4 17 +31686.3 17 +31697.3 18 +31708.3 17 +31719.3 17 +31730.2 17 +31741.2 17 +31752.2 17 +31763.1 18 +31774.1 18 +31785.1 18 +31796 18 +31807 17 +31818 17 +31828.9 17 +31839.9 17 +31850.9 17 +31861.8 17 +31872.8 17 +31883.8 18 +31894.7 17 +31905.7 17 +31916.7 17 +31927.6 18 +31938.6 18 +31949.6 18 +31960.5 18 +31971.5 18 +31982.5 18 +31993.5 17 +32004.4 16 +32015.4 16 +32026.4 16 +32037.3 16 +32048.3 16 +32059.3 16 +32070.2 16 +32081.2 16 +32092.2 16 +32103.1 16 +32114.1 16 +32125.1 16 +32136 16 +32147 16 +32158 16 +32168.9 16 +32179.9 16 +32190.9 16 +32201.8 16 +32212.8 16 +32223.8 16 +32234.7 16 +32245.7 16 +32256.7 16 +32267.7 16 +32278.6 16 +32289.6 16 +32300.6 16 +32311.5 16 +32322.5 15 +32333.5 16 +32344.4 16 +32355.4 15 +32366.4 16 +32377.3 16 +32388.3 16 +32399.3 15 +32410.2 15 +32421.2 16 +32432.2 15 +32443.1 16 +32454.1 15 +32465.1 15 +32476 15 +32487 15 +32498 16 +32508.9 15 +32519.9 15 +32530.9 15 +32541.8 15 +32552.8 15 +32563.8 16 +32574.8 16 +32585.7 16 +32596.7 16 +32607.7 16 +32618.6 16 +32629.6 16 +32640.6 16 +32651.5 16 +32662.5 16 +32673.5 16 +32684.4 16 +32695.4 14 +32706.4 14 +32717.3 14 +32728.3 14 +32739.3 14 +32750.2 14 +32761.2 14 +32772.2 14 +32783.1 14 +32794.1 14 +32805.1 14 +32816 14 +32827 14 +32838 14 +32849 14 +32859.9 14 +32870.9 14 +32881.9 14 +32892.8 14 +32903.8 13 +32914.8 14 +32925.7 14 +32936.7 14 +32947.7 13 +32958.6 13 +32969.6 13 +32980.6 14 +32991.5 13 +33002.5 13 +33013.5 13 +33024.4 13 +33035.4 14 +33046.4 13 +33057.3 13 +33068.3 14 +33079.3 13 +33090.2 13 +33101.2 13 +33112.2 14 +33123.1 14 +33134.1 13 +33145.1 14 +33156.1 13 +33167 13 +33178 13 +33189 14 +33199.9 13 +33210.9 13 +33221.9 13 +33232.8 13 +33243.8 13 +33254.8 13 +33265.7 13 +33276.7 13 +33287.7 13 +33298.6 14 +33309.6 13 +33320.6 14 +33331.5 14 +33342.5 14 +33353.5 14 +33364.4 13 +33375.4 14 +33386.4 13 +33397.3 14 +33408.3 13 +33419.3 13 +33430.3 13 +33441.2 14 +33452.2 13 +33463.2 14 +33474.1 13 +33485.1 13 +33496.1 14 +33507 14 +33518 14 +33529 14 +33539.9 14 +33550.9 14 +33561.9 14 +33572.8 14 +33583.8 14 +33594.8 14 +33605.7 14 +33616.7 14 +33627.7 14 +33638.6 14 +33649.6 14 +33660.6 14 +33671.5 14 +33682.5 14 +33693.5 14 +33704.4 14 +33715.4 14 +33726.4 14 +33737.4 14 +33748.3 14 +33759.3 14 +33770.3 14 +33781.2 14 +33792.2 14 +33803.2 14 +33814.1 14 +33825.1 14 +33836.1 14 +33847 14 +33858 14 +33869 14 +33879.9 14 +33890.9 14 +33901.9 13 +33912.8 12 +33923.8 12 +33934.8 12 +33945.7 12 +33956.7 12 +33967.7 12 +33978.6 12 +33989.6 12 +34000.6 12 +34011.6 12 +34022.5 12 +34033.5 12 +34044.5 12 +34055.4 12 +34066.4 12 +34077.4 12 +34088.3 12 +34099.3 12 +34110.3 12 +34121.2 12 +34132.2 12 +34143.2 12 +34154.1 12 +34165.1 12 +34176.1 12 +34187 12 +34198 12 +34209 12 +34219.9 12 +34230.9 12 +34241.9 12 +34252.8 12 +34263.8 12 +34274.8 12 +34285.7 12 +34296.7 12 +34307.7 12 +34318.7 12 +34329.6 12 +34340.6 12 +34351.6 12 +34362.5 12 +34373.5 12 +34384.5 12 +34395.4 12 +34406.4 12 +34417.4 12 +34428.3 12 +34439.3 12 +34450.3 12 +34461.2 12 +34472.2 12 +34483.2 12 +34494.1 12 +34505.1 12 +34516.1 12 +34527 12 +34538 12 +34549 12 +34559.9 12 +34570.9 12 +34581.9 12 +34592.9 12 +34603.8 12 +34614.8 12 +34625.8 12 +34636.7 12 +34647.7 12 +34658.7 12 +34669.6 11 +34680.6 10 +34691.6 10 +34702.5 10 +34713.5 10 +34724.5 9 +34735.4 8 +34746.4 8 +34757.4 8 +34768.3 8 +34779.3 8 +34790.3 8 +34801.2 8 +34812.2 8 +34823.2 8 +34834.1 8 +34845.1 8 +34856.1 8 +34867 8 +34878 8 +34889 8 +34900 8 +34910.9 8 +34921.9 8 +34932.9 8 +34943.8 8 +34954.8 8 +34965.8 8 +34976.7 8 +34987.7 8 +34998.7 7 +35009.6 6 +35020.6 6 +35031.6 6 +35042.5 6 +35053.5 6 +35064.5 5 +35075.4 4 +35086.4 4 +35097.4 4 +35108.3 4 +35119.3 4 +35130.3 4 +35141.2 4 +35152.2 4 +35163.2 4 +35174.2 4 +35185.1 4 +35196.1 4 +35207.1 4 +35218 4 +35229 4 +35240 4 +35250.9 4 +35261.9 4 +35272.9 4 +35283.8 4 +35294.8 4 +35305.8 4 +35316.7 4 +35327.7 4 +35338.7 4 +35349.6 4 +35360.6 4 +35371.6 4 +35382.5 4 +35393.5 4 +35404.5 4 +35415.4 4 +35426.4 4 +35437.4 4 +35448.3 4 +35459.3 4 +35470.3 4 +35481.3 4 +35492.2 4 +35503.2 4 +35514.2 4 +35525.1 4 +35536.1 4 +35547.1 4 +35558 4 +35569 4 +35580 4 +35590.9 4 +35601.9 4 +35612.9 4 +35623.8 4 +35634.8 4 +35645.8 4 +35656.7 4 +35667.7 4 +35678.7 4 +35689.6 4 +35700.6 4 +35711.6 4 +35722.5 4 +35733.5 4 +35744.5 4 +35755.5 4 +35766.4 4 +35777.4 4 +35788.4 4 +35799.3 4 +35810.3 4 +35821.3 4 +35832.2 4 +35843.2 4 +35854.2 4 +35865.1 4 +35876.1 4 +35887.1 4 +35898 4 +35909 4 +35920 4 +35930.9 4 +35941.9 4 +35952.9 4 +35963.8 4 +35974.8 4 +35985.8 4 +35996.7 4 +36007.7 4 +36018.7 4 +36029.7 4 +36040.6 4 +36051.6 4 +36062.6 4 +36073.5 4 +36084.5 4 +36095.5 4 +36106.4 3 +36117.4 1 +36128.4 1 +36139.3 7 +36150.3 11 +36161.3 13 +36172.2 20 +36183.2 23 +36194.2 23 +36205.1 23 +36216.1 24 +36227.1 23 +36238 24 +36249 23 +36260 23 +36270.9 23 +36281.9 23 +36292.9 23 +36303.8 25 +36314.8 25 +36325.8 25 +36336.8 25 +36347.7 25 +36358.7 25 +36369.7 26 +36380.6 26 +36391.6 25 +36402.6 26 +36413.5 25 +36424.5 25 +36435.5 26 +36446.4 26 +36457.4 25 +36468.4 26 +36479.3 25 +36490.3 26 +36501.3 26 +36512.2 25 +36523.2 25 +36534.2 25 +36545.1 25 +36556.1 25 +36567.1 26 +36578 25 +36589 25 +36600 25 +36611 25 +36621.9 25 +36632.9 25 +36643.9 25 +36654.8 25 +36665.8 26 +36676.8 26 +36687.7 25 +36698.7 25 +36709.7 25 +36720.6 25 +36731.6 25 +36742.6 25 +36753.5 25 +36764.5 25 +36775.5 25 +36786.4 26 +36797.4 26 +36808.4 25 +36819.3 25 +36830.3 25 +36841.3 25 +36852.2 25 +36863.2 25 +36874.2 25 +36885.1 25 +36896.1 25 +36907.1 25 +36918.1 25 +36929 25 +36940 26 +36951 25 +36961.9 25 +36972.9 25 +36983.9 26 +36994.8 25 +37005.8 25 +37016.8 26 +37027.7 25 +37038.7 25 +37049.7 26 +37060.6 26 +37071.6 26 +37082.6 25 +37093.5 26 +37104.5 25 +37115.5 25 +37126.4 25 +37137.4 26 +37148.4 26 +37159.3 25 +37170.3 25 +37181.3 26 +37192.3 26 +37203.2 26 +37214.2 25 +37225.2 25 +37236.1 26 +37247.1 25 +37258.1 25 +37269 25 +37280 26 +37291 25 +37301.9 25 +37312.9 25 +37323.9 26 +37334.8 26 +37345.8 26 +37356.8 26 +37367.7 25 +37378.7 26 +37389.7 26 +37400.6 25 +37411.6 26 +37422.6 25 +37433.5 25 +37444.5 26 +37455.5 25 +37466.4 26 +37477.4 25 +37488.4 26 +37499.4 26 +37510.3 25 +37521.3 26 +37532.3 25 +37543.2 25 +37554.2 25 +37565.2 25 +37576.1 26 +37587.1 26 +37598.1 25 +37609 26 +37620 25 +37631 26 +37641.9 26 +37652.9 25 +37663.9 25 +37674.8 26 +37685.8 25 +37696.8 25 +37707.7 25 +37718.7 25 +37729.7 25 +37740.6 26 +37751.6 25 +37762.6 26 +37773.6 26 +37784.5 26 +37795.5 25 +37806.5 25 +37817.4 26 +37828.4 25 +37839.4 25 +37850.3 26 +37861.3 25 +37872.3 25 +37883.2 25 +37894.2 25 +37905.2 25 +37916.1 26 +37927.1 25 +37938.1 25 +37949 25 +37960 26 +37971 25 +37981.9 26 +37992.9 26 +38003.9 26 +38014.8 26 +38025.8 25 +38036.8 26 +38047.7 25 +38058.7 25 +38069.7 25 +38080.7 26 +38091.6 25 +38102.6 25 +38113.6 26 +38124.5 26 +38135.5 25 +38146.5 25 +38157.4 26 +38168.4 25 +38179.4 26 +38190.3 25 +38201.3 25 +38212.3 26 +38223.2 26 +38234.2 25 +38245.2 26 +38256.1 26 +38267.1 25 +38278.1 26 +38289 25 +38300 25 +38311 26 +38321.9 25 +38332.9 26 +38343.9 25 +38354.9 26 +38365.8 26 +38376.8 26 +38387.8 25 +38398.7 25 +38409.7 26 +38420.7 26 +38431.6 26 +38442.6 26 +38453.6 26 +38464.5 25 +38475.5 26 +38486.5 25 +38497.4 25 +38508.4 25 +38519.4 25 +38530.3 26 +38541.3 25 +38552.3 26 +38563.2 25 +38574.2 25 +38585.2 26 +38596.1 25 +38607.1 25 +38618.1 26 +38629 26 +38640 26 +38651 25 +38662 25 +38672.9 25 +38683.9 25 +38694.9 25 +38705.8 26 +38716.8 25 +38727.8 26 +38738.7 26 +38749.7 25 +38760.7 26 +38771.6 26 +38782.6 25 +38793.6 26 +38804.5 25 +38815.5 25 +38826.5 25 +38837.4 25 +38848.4 26 +38859.4 25 +38870.3 25 +38881.3 24 +38892.3 25 +38903.2 26 +38914.2 26 +38925.2 25 +38936.2 26 +38947.1 25 +38958.1 25 +38969.1 25 +38980 26 +38991 26 +39002 25 +39012.9 25 +39023.9 25 +39034.9 25 +39045.8 25 +39056.8 25 +39067.8 25 +39078.7 25 +39089.7 25 +39100.7 25 +39111.6 25 +39122.6 25 +39133.6 25 +39144.5 26 +39155.5 26 +39166.5 25 +39177.4 26 +39188.4 25 +39199.4 25 +39210.3 25 +39221.3 26 +39232.3 25 +39243.3 25 +39254.2 25 +39265.2 25 +39276.2 25 +39287.1 26 +39298.1 26 +39309.1 25 +39320 26 +39331 26 +39342 26 +39352.9 26 +39363.9 25 +39374.9 25 +39385.8 25 +39396.8 26 +39407.8 26 +39418.7 26 +39429.7 25 +39440.7 25 +39451.6 25 +39462.6 25 +39473.6 25 +39484.5 25 +39495.5 25 +39506.5 26 +39517.5 25 +39528.4 26 +39539.4 25 +39550.4 25 +39561.3 25 +39572.3 26 +39583.3 25 +39594.2 25 +39605.2 26 +39616.2 25 +39627.1 25 +39638.1 25 +39649.1 25 +39660 26 +39671 25 +39682 26 +39692.9 25 +39703.9 25 +39714.9 25 +39725.8 26 +39736.8 26 +39747.8 25 +39758.7 25 +39769.7 25 +39780.7 26 +39791.7 26 +39802.6 25 +39813.6 24 +39824.6 25 +39835.5 26 +39846.5 26 +39857.5 25 +39868.4 26 +39879.4 26 +39890.4 26 +39901.3 25 +39912.3 26 +39923.3 25 +39934.2 25 +39945.2 25 +39956.2 26 +39967.1 25 +39978.1 25 +39989.1 25 +40000 24 +40011 26 +40022 25 +40032.9 26 +40043.9 25 +40054.9 25 +40065.8 25 +40076.8 26 +40087.8 26 +40098.8 25 +40109.7 25 +40120.7 25 +40131.7 26 +40142.6 25 +40153.6 25 +40164.6 26 +40175.5 26 +40186.5 25 +40197.5 26 +40208.4 26 +40219.4 25 +40230.4 26 +40241.3 26 +40252.3 26 +40263.3 25 +40274.2 25 +40285.2 26 +40296.2 26 +40307.1 25 +40318.1 26 +40329.1 26 +40340 25 +40351 26 +40362 26 +40373 26 +40383.9 25 +40394.9 25 +40405.9 25 +40416.8 25 +40427.8 26 +40438.8 25 +40449.7 25 +40460.7 25 +40471.7 26 +40482.6 25 +40493.6 26 +40504.6 26 +40515.5 26 +40526.5 25 +40537.5 26 +40548.4 26 +40559.4 25 +40570.4 25 +40581.3 25 +40592.3 25 +40603.3 25 +40614.2 25 +40625.2 25 +40636.2 25 +40647.1 25 +40658.1 26 +40669.1 24 +40680.1 25 +40691 25 +40702 25 +40713 25 +40723.9 25 +40734.9 26 +40745.9 25 +40756.8 25 +40767.8 26 +40778.8 25 +40789.7 25 +40800.7 26 +40811.7 25 +40822.6 25 +40833.6 25 +40844.6 25 +40855.5 25 +40866.5 25 +40877.5 25 +40888.4 26 +40899.4 25 +40910.4 25 +40921.3 25 +40932.3 25 +40943.3 25 +40954.3 24 +40965.2 26 +40976.2 25 +40987.2 25 +40998.1 25 +41009.1 25 +41020.1 25 +41031 25 +41042 26 +41053 26 +41063.9 26 +41074.9 26 +41085.9 26 +41096.8 25 +41107.8 25 +41118.8 26 +41129.7 26 +41140.7 25 +41151.7 26 +41162.6 25 +41173.6 25 +41184.6 26 +41195.5 25 +41206.5 25 +41217.5 26 +41228.4 25 +41239.4 26 +41250.4 26 +41261.4 25 +41272.3 26 +41283.3 25 +41294.3 25 +41305.2 25 +41316.2 26 +41327.2 25 +41338.1 25 +41349.1 25 +41360.1 25 +41371 25 +41382 26 +41393 25 +41403.9 25 +41414.9 26 +41425.9 25 +41436.8 25 +41447.8 26 +41458.8 25 +41469.7 25 +41480.7 26 +41491.7 26 +41502.6 25 +41513.6 25 +41524.6 25 +41535.6 25 +41546.5 26 +41557.5 26 +41568.5 25 +41579.4 25 +41590.4 25 +41601.4 26 +41612.3 25 +41623.3 25 +41634.3 26 +41645.2 25 +41656.2 26 +41667.2 26 +41678.1 25 +41689.1 26 +41700.1 26 +41711 26 +41722 25 +41733 25 +41743.9 25 +41754.9 26 +41765.9 26 +41776.8 25 +41787.8 26 +41798.8 25 +41809.7 26 +41820.7 25 +41831.7 25 +41842.7 26 +41853.6 25 +41864.6 25 +41875.6 26 +41886.5 25 +41897.5 26 +41908.5 26 +41919.4 25 +41930.4 26 +41941.4 25 +41952.3 26 +41963.3 25 +41974.3 26 +41985.2 25 +41996.2 25 +42007.2 25 +42018.1 25 +42029.1 26 +42040.1 25 +42051 26 +42062 25 +42073 25 +42083.9 26 +42094.9 25 +42105.9 26 +42116.9 26 +42127.8 25 +42138.8 26 +42149.8 25 +42160.7 25 +42171.7 25 +42182.7 26 +42193.6 25 +42204.6 25 +42215.6 26 +42226.5 25 +42237.5 26 +42248.5 26 +42259.4 25 +42270.4 25 +42281.4 25 +42292.3 25 +42303.3 24 +42314.3 25 +42325.2 25 +42336.2 26 +42347.2 25 +42358.1 25 +42369.1 26 +42380.1 25 +42391 25 +42402 26 +42413 25 +42424 26 +42434.9 25 +42445.9 26 +42456.9 25 +42467.8 26 +42478.8 26 +42489.8 26 +42500.7 26 +42511.7 25 +42522.7 26 +42533.6 25 +42544.6 26 +42555.6 25 +42566.5 26 +42577.5 25 +42588.5 25 +42599.4 26 +42610.4 25 +42621.4 26 +42632.3 25 +42643.3 25 +42654.3 25 +42665.2 26 +42676.2 25 +42687.2 26 +42698.2 25 +42709.1 26 +42720.1 26 +42731.1 26 +42742 26 +42753 25 +42764 25 +42774.9 26 +42785.9 25 +42796.9 26 +42807.8 25 +42818.8 26 +42829.8 25 +42840.7 26 +42851.7 25 +42862.7 26 +42873.6 25 +42884.6 26 +42895.6 25 +42906.5 25 +42917.5 26 +42928.5 26 +42939.4 25 +42950.4 26 +42961.4 26 +42972.3 25 +42983.3 25 +42994.3 26 +43005.3 26 +43016.2 25 +43027.2 25 +43038.2 26 +43049.1 25 +43060.1 25 +43071.1 25 +43082 26 +43093 26 +43104 25 +43114.9 25 +43125.9 26 +43136.9 25 +43147.8 26 +43158.8 25 +43169.8 26 +43180.7 26 +43191.7 26 +43202.7 25 +43213.6 25 +43224.6 25 +43235.6 26 +43246.5 26 +43257.5 25 +43268.5 25 +43279.5 25 +43290.4 26 +43301.4 26 +43312.4 25 +43323.3 26 +43334.3 26 +43345.3 26 +43356.2 25 +43367.2 25 +43378.2 25 +43389.1 26 +43400.1 25 +43411.1 26 +43422 25 +43433 25 +43444 25 +43454.9 25 +43465.9 25 +43476.9 26 +43487.8 25 +43498.8 25 +43509.8 25 +43520.7 25 +43531.7 26 +43542.7 25 +43553.7 26 +43564.6 25 +43575.6 24 +43586.6 25 +43597.5 26 +43608.5 25 +43619.5 26 +43630.4 26 +43641.4 25 +43652.4 26 +43663.3 26 +43674.3 25 +43685.3 25 +43696.2 25 +43707.2 26 +43718.2 26 +43729.1 25 +43740.1 25 +43751.1 25 +43762 26 +43773 25 +43784 25 +43794.9 26 +43805.9 26 +43816.9 25 +43827.8 25 +43838.8 25 +43849.8 25 +43860.8 25 +43871.7 26 +43882.7 25 +43893.7 26 +43904.6 25 +43915.6 26 +43926.6 25 +43937.5 26 +43948.5 25 +43959.5 25 +43970.4 25 +43981.4 26 +43992.4 25 +44003.3 26 +44014.3 25 +44025.3 25 +44036.2 25 +44047.2 25 +44058.2 25 +44069.1 26 +44080.1 25 +44091.1 25 +44102 25 +44113 25 +44124 25 +44135 25 +44145.9 25 +44156.9 25 +44167.9 26 +44178.8 25 +44189.8 25 +44200.8 25 +44211.7 25 +44222.7 25 +44233.7 26 +44244.6 25 +44255.6 26 +44266.6 26 +44277.5 26 +44288.5 25 +44299.5 26 +44310.4 26 +44321.4 25 +44332.4 25 +44343.3 25 +44354.3 25 +44365.3 26 +44376.2 25 +44387.2 26 +44398.2 26 +44409.1 25 +44420.1 25 +44431.1 25 +44442.1 25 +44453 25 +44464 26 +44475 25 +44485.9 25 +44496.9 26 +44507.9 26 +44518.8 25 +44529.8 26 +44540.8 25 +44551.7 26 +44562.7 26 +44573.7 25 +44584.6 25 +44595.6 25 +44606.6 25 +44617.5 25 +44628.5 25 +44639.5 25 +44650.4 25 +44661.4 25 +44672.4 26 +44683.3 26 +44694.3 25 +44705.3 26 +44716.3 26 +44727.2 26 +44738.2 25 +44749.2 26 +44760.1 25 +44771.1 25 +44782.1 26 +44793 25 +44804 26 +44815 26 +44825.9 25 +44836.9 26 +44847.9 25 +44858.8 26 +44869.8 25 +44880.8 25 +44891.7 26 +44902.7 26 +44913.7 25 +44924.6 26 +44935.6 25 +44946.6 25 +44957.5 25 +44968.5 25 +44979.5 25 +44990.4 25 +45001.4 26 +45012.4 25 +45023.4 26 +45034.3 25 +45045.3 25 +45056.3 25 +45067.2 25 +45078.2 26 +45089.2 25 +45100.1 26 +45111.1 25 +45122.1 26 +45133 25 +45144 26 +45155 26 +45165.9 25 +45176.9 25 +45187.9 26 +45198.8 25 +45209.8 26 +45220.8 25 +45231.7 25 +45242.7 26 +45253.7 25 +45264.6 25 +45275.6 26 +45286.6 25 +45297.6 25 +45308.5 25 +45319.5 26 +45330.5 26 +45341.4 26 +45352.4 25 +45363.4 26 +45374.3 26 +45385.3 25 +45396.3 25 +45407.2 26 +45418.2 25 +45429.2 25 +45440.1 25 +45451.1 25 +45462.1 25 +45473 25 +45484 25 +45495 25 +45505.9 26 +45516.9 25 +45527.9 25 +45538.8 25 +45549.8 25 +45560.8 25 +45571.7 26 +45582.7 26 +45593.7 25 +45604.7 25 +45615.6 25 +45626.6 25 +45637.6 25 +45648.5 25 +45659.5 26 +45670.5 25 +45681.4 25 +45692.4 25 +45703.4 25 +45714.3 26 +45725.3 25 +45736.3 25 +45747.2 25 +45758.2 26 +45769.2 25 +45780.1 25 +45791.1 25 +45802.1 25 +45813 25 +45824 26 +45835 25 +45845.9 25 +45856.9 26 +45867.9 25 +45878.9 25 +45889.8 25 +45900.8 25 +45911.8 25 +45922.7 26 +45933.7 25 +45944.7 25 +45955.6 25 +45966.6 25 +45977.6 26 +45988.5 25 +45999.5 26 +46010.5 26 +46021.4 27 +46032.4 27 +46043.4 27 +46054.3 27 +46065.3 27 +46076.3 28 +46087.2 28 +46098.2 27 +46109.2 28 +46120.1 28 +46131.1 27 +46142.1 27 +46153 27 +46164 27 +46175 29 +46186 29 +46196.9 29 +46207.9 29 +46218.9 29 +46229.8 29 +46240.8 29 +46251.8 30 +46262.7 30 +46273.7 29 +46284.7 29 +46295.6 29 +46306.6 29 +46317.6 29 +46328.5 29 +46339.5 29 +46350.5 29 +46361.4 30 +46372.4 29 +46383.4 29 +46394.3 29 +46405.3 29 +46416.3 29 +46427.2 29 +46438.2 29 +46449.2 30 +46460.2 29 +46471.1 28 +46482.1 29 +46493.1 29 +46504 29 +46515 29 +46526 29 +46536.9 29 +46547.9 29 +46558.9 30 +46569.8 30 +46580.8 28 +46591.8 30 +46602.7 29 +46613.7 30 +46624.7 29 +46635.6 29 +46646.6 29 +46657.6 30 +46668.5 30 +46679.5 30 +46690.5 29 +46701.4 29 +46712.4 30 +46723.4 29 +46734.3 29 +46745.3 30 +46756.3 29 +46767.3 30 +46778.2 30 +46789.2 29 +46800.2 29 +46811.1 29 +46822.1 30 +46833.1 30 +46844 29 +46855 30 +46866 29 +46876.9 29 +46887.9 29 +46898.9 30 +46909.8 30 +46920.8 30 +46931.8 29 +46942.7 30 +46953.7 30 +46964.7 29 +46975.6 29 +46986.6 29 +46997.6 30 +47008.5 29 +47019.5 29 +47030.5 30 +47041.5 30 +47052.4 28 +47063.4 30 +47074.4 30 +47085.3 29 +47096.3 30 +47107.3 29 +47118.2 30 +47129.2 30 +47140.2 30 +47151.1 29 +47162.1 30 +47173.1 29 +47184 30 +47195 29 +47206 30 +47216.9 29 +47227.9 29 +47238.9 29 +47249.8 29 +47260.8 30 +47271.8 29 +47282.7 30 +47293.7 30 +47304.7 30 +47315.7 30 +47326.6 30 +47337.6 30 +47348.6 29 +47359.5 29 +47370.5 30 +47381.5 29 +47392.4 29 +47403.4 29 +47414.4 30 +47425.3 29 +47436.3 29 +47447.3 30 +47458.2 30 +47469.2 30 +47480.2 30 +47491.1 29 +47502.1 29 +47513.1 29 +47524 29 +47535 29 +47546 29 +47556.9 29 +47567.9 30 +47578.9 30 +47589.8 29 +47600.8 29 +47611.8 30 +47622.8 29 +47633.7 29 +47644.7 29 +47655.7 30 +47666.6 29 +47677.6 30 +47688.6 30 +47699.5 29 +47710.5 30 +47721.5 30 +47732.4 29 +47743.4 29 +47754.4 30 +47765.3 30 +47776.3 29 +47787.3 30 +47798.2 30 +47809.2 30 +47820.2 29 +47831.1 30 +47842.1 29 +47853.1 29 +47864 29 +47875 29 +47886 29 +47897 30 +47907.9 29 +47918.9 29 +47929.9 30 +47940.8 29 +47951.8 30 +47962.8 29 +47973.7 29 +47984.7 30 +47995.7 29 +48006.6 29 +48017.6 30 +48028.6 29 +48039.5 29 +48050.5 30 +48061.5 29 +48072.4 29 +48083.4 30 +48094.4 29 +48105.3 29 +48116.3 30 +48127.3 29 +48138.2 30 +48149.2 30 +48160.2 29 +48171.1 29 +48182.1 29 +48193.1 30 +48204.1 29 +48215 29 +48226 29 +48237 29 +48247.9 29 +48258.9 29 +48269.9 30 +48280.8 30 +48291.8 29 +48302.8 30 +48313.7 30 +48324.7 29 +48335.7 29 +48346.6 30 +48357.6 29 +48368.6 29 +48379.5 30 +48390.5 29 +48401.5 29 +48412.4 30 +48423.4 29 +48434.4 29 +48445.3 29 +48456.3 30 +48467.3 30 +48478.3 29 +48489.2 30 +48500.2 29 +48511.2 30 +48522.1 30 +48533.1 29 +48544.1 28 +48555 29 +48566 30 +48577 30 +48587.9 30 +48598.9 30 +48609.9 30 +48620.8 30 +48631.8 30 +48642.8 29 +48653.7 30 +48664.7 30 +48675.7 29 +48686.6 29 +48697.6 29 +48708.6 29 +48719.5 29 +48730.5 29 +48741.5 29 +48752.4 30 +48763.4 30 +48774.4 31 +48785.4 35 +48796.3 35 +48807.3 35 +48818.3 35 +48829.2 35 +48840.2 35 +48851.2 36 +48862.1 35 +48873.1 34 +48884.1 36 +48895 36 +48906 36 +48917 36 +48927.9 36 +48938.9 36 +48949.9 35 +48960.8 36 +48971.8 36 +48982.8 35 +48993.7 35 +49004.7 36 +49015.7 35 +49026.6 36 +49037.6 36 +49048.6 36 +49059.6 36 +49070.5 36 +49081.5 34 +49092.5 35 +49103.4 35 +49114.4 34 +49125.4 36 +49136.3 36 +49147.3 35 +49158.3 36 +49169.2 35 +49180.2 36 +49191.2 36 +49202.1 35 +49213.1 35 +49224.1 36 +49235 35 +49246 35 +49257 35 +49267.9 36 +49278.9 35 +49289.9 36 +49300.8 35 +49311.8 36 +49322.8 36 +49333.7 36 +49344.7 35 +49355.7 35 +49366.7 36 +49377.6 35 +49388.6 35 +49399.6 35 +49410.5 36 +49421.5 35 +49432.5 35 +49443.4 35 +49454.4 36 +49465.4 35 +49476.3 36 +49487.3 35 +49498.3 36 +49509.2 35 +49520.2 35 +49531.2 35 +49542.1 36 +49553.1 35 +49564.1 36 +49575 36 +49586 35 +49597 36 +49607.9 36 +49618.9 36 +49629.9 36 +49640.9 35 +49651.8 36 +49662.8 35 +49673.8 36 +49684.7 36 +49695.7 35 +49706.7 35 +49717.6 36 +49728.6 35 +49739.6 33 +49750.5 35 +49761.5 36 +49772.5 34 +49783.4 35 +49794.4 35 +49805.4 35 +49816.3 35 +49827.3 36 +49838.3 36 +49849.2 36 +49860.2 35 +49871.2 35 +49882.1 36 +49893.1 36 +49904.1 35 +49915 35 +49926 30 +49937 34 +49948 32 +49958.9 35 +49969.9 36 +49980.9 31 +49991.8 35 +50002.8 31 +50013.8 32 +50024.7 35 +50035.7 36 +50046.7 36 +50057.6 35 +50068.6 36 +50079.6 35 +50090.5 36 +50101.5 35 +50112.5 35 +50123.4 36 +50134.4 35 +50145.4 36 +50156.3 35 +50167.3 35 +50178.3 35 +50189.2 34 +50200.2 35 +50211.2 36 +50222.2 32 +50233.1 35 +50244.1 36 +50255.1 36 +50266 35 +50277 36 +50288 36 +50298.9 35 +50309.9 36 +50320.9 35 +50331.8 36 +50342.8 35 +50353.8 36 +50364.7 36 +50375.7 35 +50386.7 35 +50397.6 37 +50408.6 38 +50419.6 38 +50430.5 37 +50441.5 37 +50452.5 38 +50463.4 37 +50474.4 37 +50485.4 37 +50496.3 37 +50507.3 38 +50518.3 37 +50529.3 37 +50540.2 37 +50551.2 38 +50562.2 38 +50573.1 40 +50584.1 39 +50595.1 35 +50606 34 +50617 29 +50628 33 +50638.9 39 +50649.9 39 +50660.9 39 +50671.8 38 +50682.8 40 +50693.8 39 +50704.7 39 +50715.7 39 +50726.7 39 +50737.6 39 +50748.6 40 +50759.6 39 +50770.5 39 +50781.5 39 +50792.5 39 +50803.5 40 +50814.4 40 +50825.4 39 +50836.4 40 +50847.3 40 +50858.3 40 +50869.3 39 +50880.2 39 +50891.2 40 +50902.2 40 +50913.1 40 +50924.1 37 +50935.1 40 +50946 39 +50957 39 +50968 40 +50978.9 40 +50989.9 39 +51000.9 39 +51011.8 39 +51022.8 39 +51033.8 40 +51044.7 39 +51055.7 39 +51066.7 39 +51077.7 39 +51088.6 40 +51099.6 40 +51110.6 37 +51121.5 38 +51132.5 40 +51143.5 38 +51154.4 31 +51165.4 37 +51176.4 40 +51187.3 40 +51198.3 39 +51209.3 40 +51220.2 37 +51231.2 40 +51242.2 39 +51253.1 40 +51264.1 40 +51275.1 39 +51286 39 +51297 39 +51308 40 +51318.9 40 +51329.9 39 +51340.9 39 +51351.8 39 +51362.8 39 +51373.8 39 +51384.8 39 +51395.7 40 +51406.7 39 +51417.7 40 +51428.6 40 +51439.6 40 +51450.6 40 +51461.5 39 +51472.5 38 +51483.5 37 +51494.4 37 +51505.4 39 +51516.4 39 +51527.3 40 +51538.3 40 +51549.3 40 +51560.2 40 +51571.2 40 +51582.2 39 +51593.1 40 +51604.1 40 +51615.1 40 +51626 39 +51637 40 +51648 40 +51659 39 +51669.9 40 +51680.9 38 +51691.9 39 +51702.8 40 +51713.8 40 +51724.8 40 +51735.7 39 +51746.7 39 +51757.7 40 +51768.6 40 +51779.6 39 +51790.6 40 +51801.5 40 +51812.5 39 +51823.5 35 +51834.4 40 +51845.4 39 +51856.4 39 +51867.3 40 +51878.3 39 +51889.3 39 +51900.2 40 +51911.2 39 +51922.2 39 +51933.1 40 +51944.1 39 +51955.1 39 +51966.1 40 +51977 39 +51988 40 +51999 40 +52009.9 40 +52020.9 40 +52031.9 39 +52042.8 38 +52053.8 39 +52064.8 39 +52075.7 40 +52086.7 40 +52097.7 39 +52108.6 40 +52119.6 39 +52130.6 40 +52141.5 40 +52152.5 40 +52163.5 39 +52174.4 39 +52185.4 39 +52196.4 40 +52207.3 39 +52218.3 40 +52229.3 39 +52240.3 40 +52251.2 39 +52262.2 40 +52273.2 40 +52284.1 39 +52295.1 40 +52306.1 40 +52317 39 +52328 39 +52339 39 +52349.9 40 +52360.9 39 +52371.9 40 +52382.8 35 +52393.8 36 +52404.8 38 +52415.7 39 +52426.7 39 +52437.7 40 +52448.6 40 +52459.6 40 +52470.6 35 +52481.5 39 +52492.5 40 +52503.5 39 +52514.4 40 +52525.4 39 +52536.4 39 +52547.4 40 +52558.3 40 +52569.3 39 +52580.3 39 +52591.2 40 +52602.2 39 +52613.2 34 +52624.1 39 +52635.1 40 +52646.1 39 +52657 39 +52668 39 +52679 40 +52689.9 39 +52700.9 39 +52711.9 39 +52722.8 39 +52733.8 40 +52744.8 39 +52755.7 39 +52766.7 40 +52777.7 40 +52788.6 39 +52799.6 40 +52810.6 39 +52821.6 40 +52832.5 40 +52843.5 39 +52854.5 40 +52865.4 40 +52876.4 40 +52887.4 40 +52898.3 39 +52909.3 33 +52920.3 30 +52931.2 28 +52942.2 39 +52953.2 40 +52964.1 39 +52975.1 40 +52986.1 39 +52997 40 +53008 38 +53019 38 +53029.9 39 +53040.9 40 +53051.9 40 +53062.8 40 +53073.8 39 +53084.8 39 +53095.7 40 +53106.7 39 +53117.7 39 +53128.7 39 +53139.6 39 +53150.6 39 +53161.6 39 +53172.5 39 +53183.5 40 +53194.5 40 +53205.4 40 +53216.4 39 +53227.4 39 +53238.3 33 +53249.3 40 +53260.3 40 +53271.2 40 +53282.2 39 +53293.2 39 +53304.1 39 +53315.1 40 +53326.1 40 +53337 39 +53348 39 +53359 33 +53369.9 39 +53380.9 39 +53391.9 40 +53402.9 39 +53413.8 40 +53424.8 40 +53435.8 40 +53446.7 40 +53457.7 39 +53468.7 39 +53479.6 40 +53490.6 39 +53501.6 40 +53512.5 38 +53523.5 40 +53534.5 40 +53545.4 40 +53556.4 39 +53567.4 39 +53578.3 40 +53589.3 39 +53600.3 39 +53611.2 39 +53622.2 40 +53633.2 37 +53644.1 39 +53655.1 38 +53666.1 39 +53677 40 +53688 33 +53699 40 +53710 39 +53720.9 40 +53731.9 39 +53742.9 39 +53753.8 39 +53764.8 38 +53775.8 40 +53786.7 39 +53797.7 39 +53808.7 40 +53819.6 39 +53830.6 33 +53841.6 39 +53852.5 39 +53863.5 39 +53874.5 39 +53885.4 40 +53896.4 40 +53907.4 39 +53918.3 40 +53929.3 40 +53940.3 40 +53951.2 38 +53962.2 38 +53973.2 39 +53984.2 40 +53995.1 39 +54006.1 39 +54017.1 40 +54028 39 +54039 39 +54050 39 +54060.9 37 +54071.9 40 +54082.9 40 +54093.8 39 +54104.8 40 +54115.8 39 +54126.7 40 +54137.7 40 +54148.7 40 +54159.6 38 +54170.6 39 +54181.6 39 +54192.5 40 +54203.5 40 +54214.5 39 +54225.4 39 +54236.4 40 +54247.4 39 +54258.3 40 +54269.3 39 +54280.3 39 +54291.3 39 +54302.2 40 +54313.2 39 +54324.2 39 +54335.1 39 +54346.1 39 +54357.1 39 +54368 32 +54379 39 +54390 40 +54400.9 40 +54411.9 38 +54422.9 39 +54433.8 36 +54444.8 40 +54455.8 40 +54466.7 39 +54477.7 40 +54488.7 40 +54499.6 39 +54510.6 39 +54521.6 40 +54532.5 40 +54543.5 40 +54554.5 39 +54565.5 36 +54576.4 26 +54587.4 40 +54598.4 40 +54609.3 40 +54620.3 40 +54631.3 40 +54642.2 39 +54653.2 39 +54664.2 40 +54675.1 38 +54686.1 39 +54697.1 39 +54708 38 +54719 40 +54730 39 +54740.9 39 +54751.9 39 +54762.9 39 +54773.8 39 +54784.8 39 +54795.8 39 +54806.7 39 +54817.7 40 +54828.7 39 +54839.7 39 +54850.6 40 +54861.6 40 +54872.6 39 +54883.5 40 +54894.5 40 +54905.5 40 +54916.4 39 +54927.4 39 +54938.4 40 +54949.3 40 +54960.3 40 +54971.3 39 +54982.2 40 +54993.2 40 +55004.2 40 +55015.1 39 +55026.1 39 +55037.1 40 +55048 40 +55059 39 +55070 39 +55080.9 40 +55091.9 39 +55102.9 39 +55113.8 38 +55124.8 38 +55135.8 38 +55146.8 38 +55157.7 39 +55168.7 40 +55179.7 39 +55190.6 39 +55201.6 40 +55212.6 39 +55223.5 36 +55234.5 39 +55245.5 39 +55256.4 39 +55267.4 40 +55278.4 39 +55289.3 39 +55300.3 39 +55311.3 38 +55322.2 40 +55333.2 39 +55344.2 38 +55355.1 39 +55366.1 40 +55377.1 40 +55388 40 +55399 40 +55410 39 +55421 39 +55431.9 39 +55442.9 40 +55453.9 39 +55464.8 40 +55475.8 40 +55486.8 39 +55497.7 40 +55508.7 39 +55519.7 40 +55530.6 39 +55541.6 39 +55552.6 40 +55563.5 40 +55574.5 39 +55585.5 34 +55596.4 40 +55607.4 38 +55618.4 40 +55629.3 39 +55640.3 39 +55651.3 39 +55662.2 40 +55673.2 40 +55684.2 39 +55695.1 39 +55706.1 39 +55717.1 36 +55728.1 33 +55739 31 +55750 39 +55761 39 +55771.9 40 +55782.9 39 +55793.9 39 +55804.8 39 +55815.8 40 +55826.8 40 +55837.7 39 +55848.7 40 +55859.7 40 +55870.6 40 +55881.6 39 +55892.6 40 +55903.5 38 +55914.5 39 +55925.5 38 +55936.4 40 +55947.4 39 +55958.4 39 +55969.3 39 +55980.3 39 +55991.3 40 +56002.3 40 +56013.2 40 +56024.2 36 +56035.2 40 +56046.1 39 +56057.1 40 +56068.1 39 +56079 40 +56090 39 +56101 40 +56111.9 39 +56122.9 40 +56133.9 40 +56144.8 39 +56155.8 38 +56166.8 36 +56177.7 38 +56188.7 40 +56199.7 39 +56210.6 38 +56221.6 40 +56232.6 40 +56243.5 39 +56254.5 40 +56265.5 38 +56276.4 39 +56287.4 39 +56298.4 39 +56309.4 39 +56320.3 40 +56331.3 40 +56342.3 39 +56353.2 39 +56364.2 40 +56375.2 40 +56386.1 39 +56397.1 40 +56408.1 39 +56419 40 +56430 40 +56441 39 +56451.9 39 +56462.9 39 +56473.9 39 +56484.8 38 +56495.8 39 +56506.8 40 +56517.7 40 +56528.7 39 +56539.7 39 +56550.6 40 +56561.6 39 +56572.6 39 +56583.6 40 +56594.5 39 +56605.5 39 +56616.5 36 +56627.4 28 +56638.4 32 +56649.4 29 +56660.3 35 +56671.3 35 +56682.3 35 +56693.2 32 +56704.2 35 +56715.2 30 +56726.1 39 +56737.1 40 +56748.1 40 +56759 39 +56770 39 +56781 33 +56791.9 38 +56802.9 40 +56813.9 39 +56824.8 40 +56835.8 40 +56846.8 39 +56857.7 40 +56868.7 39 +56879.7 40 +56890.7 39 +56901.6 40 +56912.6 40 +56923.6 40 +56934.5 39 +56945.5 39 +56956.5 40 +56967.4 39 +56978.4 39 +56989.4 39 +57000.3 40 +57011.3 40 +57022.3 39 +57033.2 39 +57044.2 39 +57055.2 40 +57066.1 39 +57077.1 39 +57088.1 36 +57099 40 +57110 40 +57121 40 +57131.9 39 +57142.9 40 +57153.9 40 +57164.9 40 +57175.8 40 +57186.8 39 +57197.8 38 +57208.7 40 +57219.7 39 +57230.7 40 +57241.6 35 +57252.6 31 +57263.6 39 +57274.5 40 +57285.5 40 +57296.5 38 +57307.4 39 +57318.4 39 +57329.4 39 +57340.3 39 +57351.3 39 +57362.3 40 +57373.2 40 +57384.2 39 +57395.2 40 +57406.1 40 +57417.1 39 +57428.1 39 +57439 40 +57450 40 +57461 39 +57472 39 +57482.9 38 +57493.9 38 +57504.9 39 +57515.8 40 +57526.8 40 +57537.8 36 +57548.7 36 +57559.7 40 +57570.7 40 +57581.6 39 +57592.6 39 +57603.6 32 +57614.5 39 +57625.5 39 +57636.5 40 +57647.4 39 +57658.4 40 +57669.4 40 +57680.3 37 +57691.3 40 +57702.3 40 +57713.2 39 +57724.2 39 +57735.2 40 +57746.2 40 +57757.1 39 +57768.1 39 +57779.1 39 +57790 40 +57801 39 +57812 40 +57822.9 40 +57833.9 39 +57844.9 39 +57855.8 40 +57866.8 40 +57877.8 36 +57888.7 40 +57899.7 40 +57910.7 39 +57921.6 40 +57932.6 39 +57943.6 40 +57954.5 40 +57965.5 40 +57976.5 39 +57987.4 39 +57998.4 39 +58009.4 39 +58020.3 40 +58031.3 40 +58042.3 40 +58053.3 40 +58064.2 38 +58075.2 31 +58086.2 39 +58097.1 39 +58108.1 39 +58119.1 39 +58130 40 +58141 39 +58152 39 +58162.9 40 +58173.9 39 +58184.9 39 +58195.8 40 +58206.8 40 +58217.8 40 +58228.7 35 +58239.7 38 +58250.7 39 +58261.6 39 +58272.6 39 +58283.6 39 +58294.5 40 +58305.5 39 +58316.5 40 +58327.5 39 +58338.4 40 +58349.4 39 +58360.4 39 +58371.3 40 +58382.3 40 +58393.3 40 +58404.2 39 +58415.2 40 +58426.2 39 +58437.1 40 +58448.1 39 +58459.1 39 +58470 40 +58481 40 +58492 40 +58502.9 40 +58513.9 40 +58524.9 39 +58535.8 39 +58546.8 39 +58557.8 40 +58568.7 39 +58579.7 39 +58590.7 40 +58601.6 39 +58612.6 40 +58623.6 39 +58634.6 39 +58645.5 40 +58656.5 40 +58667.5 40 +58678.4 39 +58689.4 32 +58700.4 35 +58711.3 37 +58722.3 40 +58733.3 40 +58744.2 40 +58755.2 39 +58766.2 40 +58777.1 40 +58788.1 40 +58799.1 39 +58810 39 +58821 39 +58832 40 +58842.9 40 +58853.9 39 +58864.9 40 +58875.8 40 +58886.8 40 +58897.8 40 +58908.8 39 +58919.7 40 +58930.7 39 +58941.7 40 +58952.6 38 +58963.6 39 +58974.6 40 +58985.5 39 +58996.5 40 +59007.5 39 +59018.4 38 +59029.4 30 +59040.4 37 +59051.3 38 +59062.3 39 +59073.3 40 +59084.2 39 +59095.2 40 +59106.2 39 +59117.1 38 +59128.1 39 +59139.1 40 +59150 39 +59161 40 +59172 40 +59183 39 +59193.9 39 +59204.9 39 +59215.9 39 +59226.8 39 +59237.8 40 +59248.8 39 +59259.7 39 +59270.7 39 +59281.7 40 +59292.6 39 +59303.6 39 +59314.6 40 +59325.5 40 +59336.5 40 +59347.5 39 +59358.4 40 +59369.4 39 +59380.4 40 +59391.3 40 +59402.3 39 +59413.3 35 +59424.2 28 +59435.2 40 +59446.2 39 +59457.1 39 +59468.1 40 +59479.1 39 +59490.1 39 +59501 39 +59512 39 +59523 39 +59533.9 40 +59544.9 39 +59555.9 36 +59566.8 32 +59577.8 38 +59588.8 39 +59599.7 40 +59610.7 40 +59621.7 39 +59632.6 39 +59643.6 40 +59654.6 40 +59665.5 40 +59676.5 38 +59687.5 33 +59698.4 34 +59709.4 36 +59720.4 35 +59731.3 39 +59742.3 39 +59753.3 39 +59764.3 39 +59775.2 40 +59786.2 40 +59797.2 39 +59808.1 38 +59819.1 40 +59830.1 40 +59841 39 +59852 39 +59863 40 +59873.9 40 +59884.9 39 +59895.9 40 +59906.8 39 +59917.8 40 +59928.8 39 +59939.7 39 +59950.7 39 +59961.7 40 +59972.6 40 +59983.6 39 +59994.6 39 +60005.5 39 +60016.5 39 +60027.5 39 +60038.4 40 +60049.4 39 +60060.4 40 +60071.4 40 +60082.3 40 +60093.3 40 +60104.3 40 +60115.2 39 +60126.2 40 +60137.2 39 +60148.1 38 +60159.1 36 +60170.1 39 +60181 38 +60192 40 +60203 40 +60213.9 40 +60224.9 39 +60235.9 35 +60246.8 40 +60257.8 39 +60268.8 40 +60279.7 38 +60290.7 32 +60301.7 39 +60312.6 39 +60323.6 39 +60334.6 40 +60345.6 39 +60356.5 39 +60367.5 39 +60378.5 40 +60389.4 40 +60400.4 40 +60411.4 40 +60422.3 40 +60433.3 40 +60444.3 40 +60455.2 39 +60466.2 40 +60477.2 40 +60488.1 39 +60499.1 40 +60510.1 39 +60521 40 +60532 39 +60543 40 +60553.9 39 +60564.9 40 +60575.9 39 +60586.8 39 +60597.8 39 +60608.8 38 +60619.7 39 +60630.7 38 +60641.7 39 +60652.7 40 +60663.6 40 +60674.6 39 +60685.6 40 +60696.5 39 +60707.5 40 +60718.5 39 +60729.4 39 +60740.4 40 +60751.4 40 +60762.3 40 +60773.3 40 +60784.3 39 +60795.2 40 +60806.2 40 +60817.2 39 +60828.1 40 +60839.1 39 +60850.1 39 +60861 40 +60872 40 +60883 39 +60893.9 39 +60904.9 40 +60915.9 40 +60926.9 39 +60937.8 39 +60948.8 39 +60959.8 40 +60970.7 40 +60981.7 39 +60992.7 39 +61003.6 39 +61014.6 39 +61025.6 40 +61036.5 38 +61047.5 39 +61058.5 38 +61069.4 40 +61080.4 40 +61091.4 39 +61102.3 38 +61113.3 35 +61124.3 39 +61135.2 39 +61146.2 40 +61157.2 39 +61168.1 39 +61179.1 40 +61190.1 39 +61201 39 +61212 39 +61223 40 +61234 40 +61244.9 39 +61255.9 40 +61266.9 39 +61277.8 40 +61288.8 33 +61299.8 39 +61310.7 40 +61321.7 39 +61332.7 39 +61343.6 39 +61354.6 40 +61365.6 40 +61376.5 39 +61387.5 33 +61398.5 28 +61409.4 39 +61420.4 39 +61431.4 39 +61442.3 40 +61453.3 39 +61464.3 39 +61475.2 39 +61486.2 39 +61497.2 40 +61508.2 39 +61519.1 40 +61530.1 40 +61541.1 39 +61552 40 +61563 39 +61574 40 +61584.9 38 +61595.9 39 +61606.9 39 +61617.8 39 +61628.8 38 +61639.8 39 +61650.7 40 +61661.7 38 +61672.7 39 +61683.6 40 +61694.6 40 +61705.6 39 +61716.5 39 +61727.5 39 +61738.5 39 +61749.4 40 +61760.4 39 +61771.4 39 +61782.3 39 +61793.3 39 +61804.3 40 +61815.3 37 +61826.2 39 +61837.2 40 +61848.2 39 +61859.1 39 +61870.1 40 +61881.1 39 +61892 40 +61903 40 +61914 40 +61924.9 39 +61935.9 40 +61946.9 40 +61957.8 40 +61968.8 39 +61979.8 40 +61990.7 39 +62001.7 40 +62012.7 40 +62023.6 40 +62034.6 40 +62045.6 38 +62056.5 40 +62067.5 40 +62078.5 40 +62089.5 38 +62100.4 39 +62111.4 39 +62122.4 40 +62133.3 40 +62144.3 40 +62155.3 39 +62166.2 40 +62177.2 40 +62188.2 39 +62199.1 39 +62210.1 39 +62221.1 39 +62232 40 +62243 40 +62254 40 +62264.9 39 +62275.9 40 +62286.9 39 +62297.8 40 +62308.8 40 +62319.8 40 +62330.7 40 +62341.7 39 +62352.7 39 +62363.6 39 +62374.6 39 +62385.6 40 +62396.6 40 +62407.5 39 +62418.5 39 +62429.5 39 +62440.4 39 +62451.4 40 +62462.4 40 +62473.3 39 +62484.3 40 +62495.3 39 +62506.2 40 +62517.2 39 +62528.2 39 +62539.1 40 +62550.1 39 +62561.1 40 +62572 40 +62583 38 +62594 39 +62604.9 39 +62615.9 40 +62626.9 39 +62637.8 39 +62648.8 40 +62659.8 39 +62670.8 39 +62681.7 40 +62692.7 40 +62703.7 40 +62714.6 39 +62725.6 40 +62736.6 40 +62747.5 39 +62758.5 39 +62769.5 39 +62780.4 39 +62791.4 40 +62802.4 39 +62813.3 40 +62824.3 39 +62835.3 39 +62846.2 39 +62857.2 39 +62868.2 39 +62879.1 39 +62890.1 40 +62901.1 40 +62912 39 +62923 39 +62934 39 +62945 40 +62955.9 40 +62966.9 40 +62977.9 39 +62988.8 38 +62999.8 38 +63010.8 39 +63021.7 39 +63032.7 40 +63043.7 39 +63054.6 40 +63065.6 40 +63076.6 39 +63087.5 40 +63098.5 39 +63109.5 39 +63120.4 39 +63131.4 39 +63142.4 39 +63153.3 39 +63164.3 39 +63175.3 39 +63186.2 39 +63197.2 40 +63208.2 40 +63219.1 40 +63230.1 39 +63241.1 39 +63252.1 40 +63263 40 +63274 40 +63285 39 +63295.9 39 +63306.9 40 +63317.9 39 +63328.8 39 +63339.8 39 +63350.8 39 +63361.7 39 +63372.7 40 +63383.7 39 +63394.6 40 +63405.6 40 +63416.6 40 +63427.5 40 +63438.5 39 +63449.5 39 +63460.4 39 +63471.4 38 +63482.4 39 +63493.3 40 +63504.3 39 +63515.3 39 +63526.3 39 +63537.2 39 +63548.2 40 +63559.2 38 +63570.1 40 +63581.1 40 +63592.1 39 +63603 39 +63614 40 +63625 39 +63635.9 39 +63646.9 40 +63657.9 40 +63668.8 39 +63679.8 39 +63690.8 40 +63701.7 39 +63712.7 40 +63723.7 39 +63734.6 39 +63745.6 40 +63756.6 33 +63767.5 24 +63778.5 39 +63789.5 40 +63800.4 40 +63811.4 39 +63822.4 40 +63833.4 39 +63844.3 39 +63855.3 39 +63866.3 39 +63877.2 40 +63888.2 39 +63899.2 38 +63910.1 39 +63921.1 39 +63932.1 39 +63943 40 +63954 39 +63965 39 +63975.9 39 +63986.9 40 +63997.9 39 +64008.8 39 +64019.8 39 +64030.8 39 +64041.7 37 +64052.7 39 +64063.7 39 +64074.6 39 +64085.6 38 +64096.6 40 +64107.6 39 +64118.5 40 +64129.5 39 +64140.5 39 +64151.4 39 +64162.4 39 +64173.4 40 +64184.3 39 +64195.3 39 +64206.3 40 +64217.2 40 +64228.2 38 +64239.2 40 +64250.1 39 +64261.1 39 +64272.1 39 +64283 39 +64294 39 +64305 39 +64315.9 39 +64326.9 38 +64337.9 39 +64348.8 40 +64359.8 40 +64370.8 38 +64381.7 39 +64392.7 40 +64403.7 39 +64414.7 39 +64425.6 39 +64436.6 39 +64447.6 39 +64458.5 40 +64469.5 39 +64480.5 37 +64491.4 39 +64502.4 39 +64513.4 40 +64524.3 40 +64535.3 39 +64546.3 39 +64557.2 39 +64568.2 40 +64579.2 40 +64590.1 40 +64601.1 39 +64612.1 39 +64623 39 +64634 39 +64645 39 +64655.9 39 +64666.9 40 +64677.9 40 +64688.9 38 +64699.8 40 +64710.8 40 +64721.8 39 +64732.7 38 +64743.7 39 +64754.7 40 +64765.6 39 +64776.6 39 +64787.6 40 +64798.5 40 +64809.5 39 +64820.5 39 +64831.4 39 +64842.4 39 +64853.4 40 +64864.3 40 +64875.3 39 +64886.3 39 +64897.2 40 +64908.2 36 +64919.2 40 +64930.1 40 +64941.1 40 +64952.1 39 +64963 39 +64974 40 +64985 39 +64996 40 +65006.9 38 +65017.9 40 +65028.9 40 +65039.8 40 +65050.8 39 +65061.8 40 +65072.7 40 +65083.7 40 +65094.7 40 +65105.6 39 +65116.6 39 +65127.6 39 +65138.5 39 +65149.5 39 +65160.5 39 +65171.4 40 +65182.4 39 +65193.4 39 +65204.3 40 +65215.3 38 +65226.3 38 +65237.2 40 +65248.2 39 +65259.2 39 +65270.2 40 +65281.1 40 +65292.1 39 +65303.1 38 +65314 39 +65325 40 +65336 40 +65346.9 39 +65357.9 39 +65368.9 40 +65379.8 40 +65390.8 40 +65401.8 40 +65412.7 40 +65423.7 39 +65434.7 39 +65445.6 39 +65456.6 37 +65467.6 39 +65478.5 40 +65489.5 39 +65500.5 39 +65511.4 39 +65522.4 39 +65533.4 39 +65544.3 40 +65555.3 39 +65566.3 39 +65577.3 39 +65588.2 40 +65599.2 40 +65610.2 39 +65621.1 31 +65632.1 40 +65643.1 39 +65654 39 +65665 39 +65676 38 +65686.9 40 +65697.9 40 +65708.9 40 +65719.8 40 +65730.8 39 +65741.8 40 +65752.7 40 +65763.7 40 +65774.7 39 +65785.6 40 +65796.6 40 +65807.6 40 +65818.5 40 +65829.5 40 +65840.5 39 +65851.5 38 +65862.4 40 +65873.4 39 +65884.4 40 +65895.3 38 +65906.3 39 +65917.3 39 +65928.2 40 +65939.2 39 +65950.2 39 +65961.1 38 +65972.1 40 +65983.1 39 +65994 40 +66005 39 +66016 40 +66026.9 39 +66037.9 37 +66048.9 39 +66059.8 40 +66070.8 39 +66081.8 39 +66092.7 39 +66103.7 39 +66114.7 39 +66125.6 36 +66136.6 39 +66147.6 39 +66158.6 40 +66169.5 40 +66180.5 39 +66191.5 39 +66202.4 38 +66213.4 40 +66224.4 38 +66235.3 38 +66246.3 40 +66257.3 40 +66268.2 39 +66279.2 39 +66290.2 40 +66301.1 40 +66312.1 39 +66323.1 40 +66334 39 +66345 40 +66356 40 +66366.9 40 +66377.9 40 +66388.9 39 +66399.8 39 +66410.8 39 +66421.8 40 +66432.8 40 +66443.7 39 +66454.7 40 +66465.7 38 +66476.6 39 +66487.6 39 +66498.6 40 +66509.5 39 +66520.5 36 +66531.5 39 +66542.4 39 +66553.4 39 +66564.4 39 +66575.3 40 +66586.3 40 +66597.3 35 +66608.2 39 +66619.2 40 +66630.2 39 +66641.1 39 +66652.1 38 +66663.1 39 +66674 31 +66685 39 +66696 39 +66707 39 +66717.9 39 +66728.9 39 +66739.9 35 +66750.8 36 +66761.8 39 +66772.8 39 +66783.7 40 +66794.7 32 +66805.7 37 +66816.6 39 +66827.6 36 +66838.6 32 +66849.5 39 +66860.5 38 +66871.5 36 +66882.4 36 +66893.4 35 +66904.4 36 +66915.3 39 +66926.3 31 +66937.3 36 +66948.2 34 +66959.2 29 +66970.2 31 +66981.1 32 +66992.1 31 +67003.1 30 +67014.1 35 +67025 29 +67036 30 +67047 25 +67057.9 29 +67068.9 25 +67079.9 27 +67090.8 25 +67101.8 24 +67112.8 20 +67123.7 24 +67134.7 20 +67145.7 20 +67156.6 24 +67167.6 20 +67178.6 25 +67189.5 20 +67200.5 24 +67211.5 20 +67222.4 24 +67233.4 20 +67244.4 24 +67255.3 20 +67266.3 24 +67277.3 20 +67288.3 24 +67299.2 20 +67310.2 24 +67321.2 20 +67332.1 24 +67343.1 20 +67354.1 24 +67365 20 +67376 24 +67387 20 +67397.9 24 +67408.9 21 +67419.9 20 +67430.8 20 +67441.8 20 +67452.8 20 +67463.7 20 +67474.7 20 +67485.7 20 +67496.6 20 +67507.6 20 +67518.6 20 +67529.5 20 +67540.5 19 +67551.5 19 +67562.4 18 +67573.4 18 +67584.4 18 +67595.4 18 +67606.3 17 +67617.3 16 +67628.3 16 +67639.2 15 +67650.2 17 +67661.2 17 +67672.1 16 +67683.1 15 +67694.1 18 +67705 19 +67716 20 +67727 20 +67737.9 20 +67748.9 20 +67759.9 20 +67770.8 20 +67781.8 20 +67792.8 19 +67803.7 18 +67814.7 18 +67825.7 17 +67836.6 16 +67847.6 16 +67858.6 15 +67869.6 18 +67880.5 19 +67891.5 20 +67902.5 19 +67913.4 17 +67924.4 17 +67935.4 16 +67946.3 15 +67957.3 17 +67968.3 16 +67979.2 16 +67990.2 17 +68001.2 16 +68012.1 15 +68023.1 18 +68034.1 19 +68045 19 +68056 17 +68067 16 +68077.9 15 +68088.9 17 +68099.9 17 +68110.8 16 +68121.8 15 +68132.8 17 +68143.7 16 +68154.7 15 +68165.7 17 +68176.7 17 +68187.6 16 +68198.6 15 +68209.6 17 +68220.5 16 +68231.5 15 +68242.5 17 +68253.4 16 +68264.4 15 +68275.4 17 +68286.3 15 +68297.3 15 +68308.3 15 +68319.2 15 +68330.2 15 +68341.2 16 +68352.1 16 +68363.1 15 +68374.1 16 +68385 16 +68396 15 +68407 15 +68417.9 17 +68428.9 16 +68439.9 16 +68450.9 15 +68461.8 15 +68472.8 17 +68483.8 18 +68494.7 19 +68505.7 19 +68516.7 19 +68527.6 19 +68538.6 19 +68549.6 19 +68560.5 19 +68571.5 19 +68582.5 19 +68593.4 19 +68604.4 19 +68615.4 19 +68626.3 19 +68637.3 19 +68648.3 19 +68659.2 19 +68670.2 19 +68681.2 19 +68692.1 19 +68703.1 19 +68714.1 19 +68725 19 +68736 19 +68747 19 +68758 19 +68768.9 19 +68779.9 19 +68790.9 19 +68801.8 19 +68812.8 19 +68823.8 19 +68834.7 19 +68845.7 19 +68856.7 19 +68867.6 19 +68878.6 19 +68889.6 19 +68900.5 19 +68911.5 19 +68922.5 19 +68933.4 19 +68944.4 19 +68955.4 19 +68966.3 19 +68977.3 19 +68988.3 19 +68999.2 19 +69010.2 19 +69021.2 19 +69032.2 19 +69043.1 19 +69054.1 19 +69065.1 19 +69076 19 +69087 19 +69098 19 +69108.9 19 +69119.9 19 +69130.9 19 +69141.8 19 +69152.8 19 +69163.8 19 +69174.7 19 +69185.7 19 +69196.7 19 +69207.6 19 +69218.6 19 +69229.6 19 +69240.5 19 +69251.5 19 +69262.5 19 +69273.4 19 +69284.4 19 +69295.4 19 +69306.3 19 +69317.3 19 +69328.3 19 +69339.3 19 +69350.2 19 +69361.2 19 +69372.2 19 +69383.1 19 +69394.1 19 +69405.1 19 +69416 19 +69427 19 +69438 19 +69448.9 19 +69459.9 19 +69470.9 19 +69481.8 19 +69492.8 19 +69503.8 19 +69514.7 19 +69525.7 19 +69536.7 19 +69547.6 19 +69558.6 19 +69569.6 19 +69580.5 19 +69591.5 19 +69602.5 19 +69613.5 19 +69624.4 19 +69635.4 19 +69646.4 19 +69657.3 19 +69668.3 19 +69679.3 19 +69690.2 19 +69701.2 19 +69712.2 19 +69723.1 19 +69734.1 19 +69745.1 19 +69756 19 +69767 19 +69778 19 +69788.9 19 +69799.9 19 +69810.9 19 +69821.8 19 +69832.8 19 +69843.8 19 +69854.7 19 +69865.7 19 +69876.7 19 +69887.6 19 +69898.6 19 +69909.6 19 +69920.6 19 +69931.5 19 +69942.5 19 +69953.5 19 +69964.4 19 +69975.4 19 +69986.4 19 +69997.3 19 +70008.3 19 +70019.3 19 +70030.2 19 +70041.2 19 +70052.2 19 +70063.1 19 +70074.1 19 +70085.1 19 +70096 19 +70107 19 +70118 19 +70128.9 19 +70139.9 19 +70150.9 19 +70161.8 19 +70172.8 19 +70183.8 19 +70194.8 19 +70205.7 19 +70216.7 19 +70227.7 19 +70238.6 19 +70249.6 19 +70260.6 19 +70271.5 19 +70282.5 19 +70293.5 19 +70304.4 19 +70315.4 19 +70326.4 19 +70337.3 19 +70348.3 19 +70359.3 19 +70370.2 19 +70381.2 18 +70392.2 12 +70403.1 4 +70414.1 5 +70425.1 11 +70436 17 +70447 20 +70458 20 +70469 20 +70479.9 20 +70490.9 20 +70501.9 20 +70512.8 20 +70523.8 20 +70534.8 20 +70545.7 20 +70556.7 20 +70567.7 20 +70578.6 20 +70589.6 20 +70600.6 20 +70611.5 20 +70622.5 20 +70633.5 20 +70644.4 20 +70655.4 20 +70666.4 20 +70677.3 20 +70688.3 20 +70699.3 20 +70710.2 20 +70721.2 20 +70732.2 20 +70743.1 20 +70754.1 20 +70765.1 20 +70776.1 20 +70787 20 +70798 20 +70809 20 +70819.9 20 +70830.9 20 +70841.9 20 +70852.8 20 +70863.8 20 +70874.8 20 +70885.7 20 +70896.7 20 +70907.7 20 +70918.6 20 +70929.6 20 +70940.6 20 +70951.5 20 +70962.5 20 +70973.5 20 +70984.4 20 +70995.4 20 +71006.4 20 +71017.3 20 +71028.3 20 +71039.3 20 +71050.3 20 +71061.2 20 +71072.2 20 +71083.2 20 +71094.1 20 +71105.1 20 +71116.1 20 +71127 20 +71138 20 +71149 20 +71159.9 20 +71170.9 20 +71181.9 20 +71192.8 20 +71203.8 20 +71214.8 20 +71225.7 20 +71236.7 20 +71247.7 20 +71258.6 20 +71269.6 20 +71280.6 20 +71291.5 20 +71302.5 20 +71313.5 20 +71324.4 20 +71335.4 20 +71346.4 20 +71357.4 20 +71368.3 20 +71379.3 20 +71390.3 20 +71401.2 20 +71412.2 20 +71423.2 20 +71434.1 20 +71445.1 20 +71456.1 20 +71467 20 +71478 20 +71489 20 +71499.9 20 +71510.9 20 +71521.9 20 +71532.8 20 +71543.8 20 +71554.8 20 +71565.7 20 +71576.7 20 +71587.7 20 +71598.6 20 +71609.6 20 +71620.6 20 +71631.6 20 +71642.5 20 +71653.5 20 +71664.5 20 +71675.4 20 +71686.4 20 +71697.4 20 +71708.3 20 +71719.3 20 +71730.3 20 +71741.2 20 +71752.2 20 +71763.2 20 +71774.1 20 +71785.1 20 +71796.1 20 +71807 20 +71818 20 +71829 20 +71839.9 20 +71850.9 20 +71861.9 20 +71872.8 20 +71883.8 20 +71894.8 20 +71905.7 20 +71916.7 20 +71927.7 20 +71938.7 20 +71949.6 20 +71960.6 20 +71971.6 20 +71982.5 20 +71993.5 20 +72004.5 20 +72015.4 20 +72026.4 20 +72037.4 20 +72048.3 20 +72059.3 20 +72070.3 20 +72081.2 20 +72092.2 20 +72103.2 20 +72114.1 20 +72125.1 20 +72136.1 20 +72147 20 +72158 18 +72169 18 +72179.9 18 +72190.9 17 +72201.9 16 +72212.9 17 +72223.8 20 +72234.8 20 +72245.8 20 +72256.7 20 +72267.7 20 +72278.7 20 +72289.6 20 +72300.6 20 +72311.6 20 +72322.5 20 +72333.5 20 +72344.5 20 +72355.4 20 +72366.4 20 +72377.4 20 +72388.3 20 +72399.3 20 +72410.3 20 +72421.2 20 +72432.2 20 +72443.2 20 +72454.1 20 +72465.1 20 +72476.1 20 +72487 20 +72498 20 +72509 20 +72520 20 +72530.9 20 +72541.9 20 +72552.9 20 +72563.8 20 +72574.8 20 +72585.8 20 +72596.7 20 +72607.7 20 +72618.7 20 +72629.6 20 +72640.6 20 +72651.6 20 +72662.5 20 +72673.5 20 +72684.5 20 +72695.4 20 +72706.4 20 +72717.4 20 +72728.3 20 +72739.3 20 +72750.3 20 +72761.2 20 +72772.2 20 +72783.2 20 +72794.2 20 +72805.1 20 +72816.1 20 +72827.1 20 +72838 20 +72849 20 +72860 20 +72870.9 20 +72881.9 20 +72892.9 20 +72903.8 20 +72914.8 20 +72925.8 20 +72936.7 20 +72947.7 20 +72958.7 20 +72969.6 20 +72980.6 20 +72991.6 20 +73002.5 20 +73013.5 20 +73024.5 20 +73035.4 20 +73046.4 20 +73057.4 20 +73068.3 20 +73079.3 20 +73090.3 20 +73101.3 20 +73112.2 20 +73123.2 20 +73134.2 20 +73145.1 20 +73156.1 20 +73167.1 20 +73178 20 +73189 20 +73200 20 +73210.9 20 +73221.9 20 +73232.9 20 +73243.8 20 +73254.8 20 +73265.8 20 +73276.7 20 +73287.7 20 +73298.7 20 +73309.6 20 +73320.6 20 +73331.6 20 +73342.5 20 +73353.5 20 +73364.5 20 +73375.5 20 +73386.4 20 +73397.4 20 +73408.4 20 +73419.3 20 +73430.3 20 +73441.3 20 +73452.2 20 +73463.2 20 +73474.2 20 +73485.1 20 +73496.1 20 +73507.1 20 +73518 20 +73529 20 +73540 20 +73550.9 20 +73561.9 20 +73572.9 20 +73583.8 20 +73594.8 20 +73605.8 20 +73616.7 20 +73627.7 20 +73638.7 20 +73649.6 20 +73660.6 20 +73671.6 20 +73682.6 20 +73693.5 20 +73704.5 20 +73715.5 20 +73726.4 20 +73737.4 20 +73748.4 20 +73759.3 20 +73770.3 20 +73781.3 20 +73792.2 20 +73803.2 20 +73814.2 20 +73825.1 20 +73836.1 20 +73847.1 20 +73858 20 +73869 20 +73880 20 +73890.9 20 +73901.9 20 +73912.9 20 +73923.8 20 +73934.8 20 +73945.8 20 +73956.8 20 +73967.7 20 +73978.7 20 +73989.7 20 +74000.6 20 +74011.6 20 +74022.6 20 +74033.5 20 +74044.5 20 +74055.5 20 +74066.4 20 +74077.4 20 +74088.4 20 +74099.3 20 +74110.3 20 +74121.3 4 +74132.2 5 +74143.2 7 +74154.2 7 +74165.1 7 +74176.1 7 +74187.1 7 +74198 7 +74209 7 +74220 7 +74231 7 +74241.9 7 +74252.9 7 +74263.9 7 +74274.8 7 +74285.8 7 +74296.8 7 +74307.7 7 +74318.7 7 +74329.7 7 +74340.6 7 +74351.6 7 +74362.6 7 +74373.5 7 +74384.5 7 +74395.5 7 +74406.4 7 +74417.4 7 +74428.4 7 +74439.3 7 +74450.3 7 +74461.3 7 +74472.2 7 +74483.2 7 +74494.2 7 +74505.1 7 +74516.1 7 +74527.1 7 +74538.1 7 +74549 7 +74560 7 +74571 7 +74581.9 7 +74592.9 7 +74603.9 7 +74614.8 7 +74625.8 7 +74636.8 7 +74647.7 7 +74658.7 7 +74669.7 7 +74680.6 7 +74691.6 7 +74702.6 7 +74713.5 7 +74724.5 7 +74735.5 7 +74746.4 7 +74757.4 7 +74768.4 7 +74779.3 7 +74790.3 7 +74801.3 7 +74812.3 7 +74823.2 7 +74834.2 7 +74845.2 7 +74856.1 7 +74867.1 7 +74878.1 7 +74889 7 +74900 7 +74911 7 +74921.9 7 +74932.9 7 +74943.9 7 +74954.8 7 +74965.8 7 +74976.8 7 +74987.7 7 +74998.7 7 +75009.7 7 +75020.6 7 +75031.6 7 +75042.6 7 +75053.5 7 +75064.5 7 +75075.5 7 +75086.4 7 +75097.4 7 +75108.4 7 +75119.4 7 +75130.3 7 +75141.3 7 +75152.3 7 +75163.2 7 +75174.2 7 +75185.2 7 +75196.1 7 +75207.1 7 +75218.1 7 +75229 7 +75240 7 +75251 7 +75261.9 7 +75272.9 7 +75283.9 7 +75294.8 7 +75305.8 7 +75316.8 7 +75327.7 7 +75338.7 7 +75349.7 7 +75360.6 7 +75371.6 7 +75382.6 7 +75393.6 7 +75404.5 7 +75415.5 7 +75426.5 7 +75437.4 7 +75448.4 7 +75459.4 7 +75470.3 7 +75481.3 7 +75492.3 7 +75503.2 7 +75514.2 7 +75525.2 7 +75536.1 7 +75547.1 7 +75558.1 7 +75569 7 +75580 7 +75591 7 +75601.9 7 +75612.9 7 +75623.9 7 +75634.8 7 +75645.8 7 +75656.8 7 +75667.7 7 +75678.7 7 +75689.7 7 +75700.7 7 +75711.6 7 +75722.6 7 +75733.6 7 +75744.5 7 +75755.5 7 +75766.5 7 +75777.4 7 +75788.4 7 +75799.4 7 +75810.3 7 +75821.3 7 +75832.3 7 +75843.2 7 +75854.2 7 +75865.2 7 +75876.1 3 +75887.1 4 +75898.1 6 +75909 7 +75920 7 +75931 7 +75941.9 7 +75952.9 7 +75963.9 7 +75974.9 7 +75985.8 7 +75996.8 7 +76007.8 7 +76018.7 7 +76029.7 7 +76040.7 7 +76051.6 7 +76062.6 7 +76073.6 7 +76084.5 7 +76095.5 7 +76106.5 7 +76117.4 7 +76128.4 7 +76139.4 7 +76150.3 7 +76161.3 7 +76172.3 7 +76183.2 7 +76194.2 7 +76205.2 7 +76216.1 7 +76227.1 7 +76238.1 7 +76249 7 +76260 7 +76271 7 +76282 7 +76292.9 7 +76303.9 7 +76314.9 7 +76325.8 7 +76336.8 7 +76347.8 7 +76358.7 7 +76369.7 7 +76380.7 7 +76391.6 7 +76402.6 7 +76413.6 7 +76424.5 7 +76435.5 7 +76446.5 7 +76457.4 7 +76468.4 7 +76479.4 7 +76490.3 7 +76501.3 7 +76512.3 7 +76523.2 7 +76534.2 7 +76545.2 7 +76556.2 7 +76567.1 7 +76578.1 7 +76589.1 7 +76600 7 +76611 7 +76622 7 +76632.9 7 +76643.9 7 +76654.9 7 +76665.8 7 +76676.8 7 +76687.8 7 +76698.7 7 +76709.7 7 +76720.7 7 +76731.6 7 +76742.6 7 +76753.6 7 +76764.5 7 +76775.5 7 +76786.5 7 +76797.4 7 +76808.4 7 +76819.4 7 +76830.3 7 +76841.3 7 +76852.3 7 +76863.3 7 +76874.2 7 +76885.2 7 +76896.2 7 +76907.1 7 +76918.1 7 +76929.1 7 +76940 7 +76951 7 +76962 7 +76972.9 7 +76983.9 7 +76994.9 7 +77005.8 7 +77016.8 7 +77027.8 7 +77038.7 7 +77049.7 7 +77060.7 7 +77071.6 7 +77082.6 7 +77093.6 7 +77104.5 7 +77115.5 7 +77126.5 7 +77137.5 7 +77148.4 7 +77159.4 7 +77170.4 7 +77181.3 7 +77192.3 7 +77203.3 7 +77214.2 7 +77225.2 7 +77236.2 7 +77247.1 7 +77258.1 7 +77269.1 7 +77280 7 +77291 7 +77302 7 +77312.9 7 +77323.9 7 +77334.9 7 +77345.8 7 +77356.8 7 +77367.8 7 +77378.7 7 +77389.7 7 +77400.7 7 +77411.6 7 +77422.6 7 +77433.6 7 +77444.6 7 +77455.5 7 +77466.5 7 +77477.5 7 +77488.4 7 +77499.4 7 +77510.4 7 +77521.3 7 +77532.3 7 +77543.3 7 +77554.2 7 +77565.2 7 +77576.2 7 +77587.1 7 +77598.1 7 +77609.1 7 +77620 7 +77631 7 +77642 7 +77652.9 7 +77663.9 7 +77674.9 7 +77685.8 7 +77696.8 7 +77707.8 7 +77718.8 7 +77729.7 7 +77740.7 7 +77751.7 7 +77762.6 7 +77773.6 7 +77784.6 7 +77795.5 7 +77806.5 4 +77817.5 4 +77828.4 5 +77839.4 5 +77850.4 5 +77861.3 5 +77872.3 5 +77883.3 5 +77894.2 5 +77905.2 5 +77916.2 5 +77927.1 5 +77938.1 5 +77949.1 5 +77960 5 +77971 5 +77982 5 +77993 5 +78003.9 5 +78014.9 5 +78025.9 5 +78036.8 5 +78047.8 5 +78058.8 5 +78069.7 5 +78080.7 5 +78091.7 5 +78102.6 5 +78113.6 5 +78124.6 5 +78135.5 5 +78146.5 5 +78157.5 5 +78168.4 5 +78179.4 5 +78190.4 5 +78201.3 5 +78212.3 5 +78223.3 5 +78234.2 5 +78245.2 5 +78256.2 5 +78267.1 5 +78278.1 5 +78289.1 5 +78300.1 5 +78311 5 +78322 5 +78333 5 +78343.9 5 +78354.9 5 +78365.9 5 +78376.8 5 +78387.8 5 +78398.8 5 +78409.7 5 +78420.7 5 +78431.7 5 +78442.6 5 +78453.6 5 +78464.6 5 +78475.5 5 +78486.5 5 +78497.5 5 +78508.4 5 +78519.4 5 +78530.4 5 +78541.3 5 +78552.3 5 +78563.3 5 +78574.3 5 +78585.2 5 +78596.2 5 +78607.2 5 +78618.1 5 +78629.1 5 +78640.1 5 +78651 5 +78662 5 +78673 5 +78683.9 5 +78694.9 5 +78705.9 5 +78716.8 5 +78727.8 5 +78738.8 5 +78749.7 5 +78760.7 5 +78771.7 5 +78782.6 5 +78793.6 5 +78804.6 5 +78815.5 5 +78826.5 5 +78837.5 5 +78848.4 5 +78859.4 5 +78870.4 5 +78881.4 5 +78892.3 5 +78903.3 5 +78914.3 5 +78925.2 5 +78936.2 5 +78947.2 5 +78958.1 5 +78969.1 5 +78980.1 5 +78991 5 +79002 5 +79013 5 +79023.9 5 +79034.9 5 +79045.9 5 +79056.8 5 +79067.8 5 +79078.8 5 +79089.7 5 +79100.7 5 +79111.7 5 +79122.6 5 +79133.6 5 +79144.6 5 +79155.6 5 +79166.5 5 +79177.5 5 +79188.5 5 +79199.4 5 +79210.4 5 +79221.4 5 +79232.3 5 +79243.3 5 +79254.3 5 +79265.2 5 +79276.2 5 +79287.2 5 +79298.1 5 +79309.1 5 +79320.1 5 +79331 5 +79342 5 +79353 5 +79363.9 5 +79374.9 5 +79385.9 5 +79396.8 5 +79407.8 5 +79418.8 5 +79429.7 5 +79440.7 5 +79451.7 5 +79462.7 5 +79473.6 5 +79484.6 5 +79495.6 5 +79506.5 5 +79517.5 5 +79528.5 5 +79539.4 5 +79550.4 5 +79561.4 5 +79572.3 3 +79583.3 2 +79594.3 5 +79605.2 5 +79616.2 5 +79627.2 5 +79638.1 5 +79649.1 5 +79660.1 5 +79671 5 +79682 5 +79693 5 +79703.9 5 +79714.9 5 +79725.9 5 +79736.9 5 +79747.8 5 +79758.8 5 +79769.8 5 +79780.7 5 +79791.7 5 +79802.7 5 +79813.6 5 +79824.6 5 +79835.6 5 +79846.5 5 +79857.5 5 +79868.5 5 +79879.4 5 +79890.4 5 +79901.4 5 +79912.3 5 +79923.3 5 +79934.3 5 +79945.2 5 +79956.2 5 +79967.2 5 +79978.1 5 +79989.1 5 +80000.1 5 +80011 5 +80022 5 +80033 5 +80044 5 +80054.9 5 +80065.9 5 +80076.9 5 +80087.8 5 +80098.8 5 +80109.8 5 +80120.7 5 +80131.7 5 +80142.7 5 +80153.6 5 +80164.6 5 +80175.6 5 +80186.5 5 +80197.5 5 +80208.5 5 +80219.4 5 +80230.4 5 +80241.4 5 +80252.3 5 +80263.3 5 +80274.3 5 +80285.2 5 +80296.2 5 +80307.2 5 +80318.2 5 +80329.1 5 +80340.1 5 +80351.1 5 +80362 5 +80373 5 +80384 5 +80394.9 5 +80405.9 5 +80416.9 5 +80427.8 5 +80438.8 5 +80449.8 5 +80460.7 5 +80471.7 5 +80482.7 5 +80493.6 5 +80504.6 5 +80515.6 5 +80526.5 5 +80537.5 5 +80548.5 5 +80559.4 5 +80570.4 5 +80581.4 5 +80592.3 5 +80603.3 5 +80614.3 5 +80625.3 5 +80636.2 5 +80647.2 5 +80658.2 5 +80669.1 5 +80680.1 5 +80691.1 5 +80702 5 +80713 5 +80724 5 +80734.9 5 +80745.9 5 +80756.9 5 +80767.8 5 +80778.8 5 +80789.8 5 +80800.7 5 +80811.7 5 +80822.7 5 +80833.6 5 +80844.6 5 +80855.6 5 +80866.5 5 +80877.5 5 +80888.5 5 +80899.5 5 +80910.4 5 +80921.4 5 +80932.4 5 +80943.3 5 +80954.3 5 +80965.3 5 +80976.2 5 +80987.2 5 +80998.2 5 +81009.1 5 +81020.1 5 +81031.1 5 +81042 5 +81053 5 +81064 5 +81074.9 5 +81085.9 5 +81096.9 5 +81107.8 5 +81118.8 5 +81129.8 5 +81140.7 5 +81151.7 5 +81162.7 5 +81173.6 5 +81184.6 5 +81195.6 5 +81206.6 5 +81217.5 5 +81228.5 5 +81239.5 5 +81250.4 5 +81261.4 5 +81272.4 5 +81283.3 5 +81294.3 5 +81305.3 5 +81316.2 5 +81327.2 5 +81338.2 5 +81349.1 5 +81360.1 5 +81371.1 5 +81382 5 +81393 5 +81404 5 +81414.9 5 +81425.9 5 +81436.9 5 +81447.8 5 +81458.8 5 +81469.8 5 +81480.8 5 +81491.7 4 +81502.7 4 +81513.7 5 +81524.6 5 +81535.6 5 +81546.6 5 +81557.5 5 +81568.5 5 +81579.5 5 +81590.4 5 +81601.4 5 +81612.4 5 +81623.3 5 +81634.3 5 +81645.3 5 +81656.2 5 +81667.2 5 +81678.2 5 +81689.1 5 +81700.1 5 +81711.1 5 +81722 5 +81733 5 +81744 5 +81755 5 +81765.9 5 +81776.9 5 +81787.9 5 +81798.8 5 +81809.8 5 +81820.8 5 +81831.7 5 +81842.7 5 +81853.7 5 +81864.6 5 +81875.6 5 +81886.6 5 +81897.5 5 +81908.5 5 +81919.5 5 +81930.4 5 +81941.4 5 +81952.4 5 +81963.3 5 +81974.3 5 +81985.3 5 +81996.2 5 +82007.2 5 +82018.2 5 +82029.1 5 +82040.1 5 +82051.1 5 +82062.1 5 +82073 5 +82084 5 +82095 5 +82105.9 5 +82116.9 5 +82127.9 5 +82138.8 5 +82149.8 5 +82160.8 5 +82171.7 5 +82182.7 5 +82193.7 5 +82204.6 5 +82215.6 5 +82226.6 5 +82237.5 5 +82248.5 5 +82259.5 5 +82270.4 5 +82281.4 5 +82292.4 5 +82303.3 5 +82314.3 5 +82325.3 5 +82336.3 5 +82347.2 5 +82358.2 5 +82369.2 5 +82380.1 5 +82391.1 5 +82402.1 5 +82413 5 +82424 5 +82435 5 +82445.9 5 +82456.9 5 +82467.9 5 +82478.8 5 +82489.8 5 +82500.8 5 +82511.7 5 +82522.7 5 +82533.7 5 +82544.6 5 +82555.6 5 +82566.6 5 +82577.5 5 +82588.5 5 +82599.5 5 +82610.4 5 +82621.4 5 +82632.4 5 +82643.4 5 +82654.3 5 +82665.3 5 +82676.3 5 +82687.2 5 +82698.2 5 +82709.2 5 +82720.1 5 +82731.1 5 +82742.1 5 +82753 5 +82764 5 +82775 5 +82785.9 5 +82796.9 5 +82807.9 5 +82818.8 5 +82829.8 5 +82840.8 5 +82851.7 5 +82862.7 5 +82873.7 5 +82884.6 5 +82895.6 5 +82906.6 5 +82917.6 5 +82928.5 5 +82939.5 5 +82950.5 5 +82961.4 5 +82972.4 5 +82983.4 5 +82994.3 5 +83005.3 5 +83016.3 5 +83027.2 5 +83038.2 5 +83049.2 5 +83060.1 5 +83071.1 5 +83082.1 5 +83093 5 +83104 5 +83115 5 +83125.9 5 +83136.9 5 +83147.9 5 +83158.8 5 +83169.8 5 +83180.8 5 +83191.7 5 +83202.7 5 +83213.7 5 +83224.7 5 +83235.6 5 +83246.6 2 +83257.6 1 +83268.5 1 +83279.5 1 +83290.5 1 +83301.4 1 +83312.4 1 +83323.4 1 +83334.3 1 +83345.3 1 +83356.3 1 +83367.2 1 +83378.2 1 +83389.2 1 +83400.1 1 +83411.1 1 +83422.1 1 +83433 1 +83444 1 +83455 1 +83465.9 1 +83476.9 1 +83487.9 1 +83498.9 1 +83509.8 1 +83520.8 1 +83531.8 1 +83542.7 1 +83553.7 1 +83564.7 1 +83575.6 1 +83586.6 1 +83597.6 1 +83608.5 1 +83619.5 1 +83630.5 1 +83641.4 1 +83652.4 1 +83663.4 1 +83674.3 1 +83685.3 1 +83696.3 1 +83707.2 1 +83718.2 1 +83729.2 1 +83740.1 1 +83751.1 1 +83762.1 1 +83773 1 +83784 1 +83795 1 +83806 1 +83816.9 1 +83827.9 1 +83838.9 1 +83849.8 1 +83860.8 1 +83871.8 1 +83882.7 1 +83893.7 1 +83904.7 1 +83915.6 1 +83926.6 1 +83937.6 1 +83948.5 1 +83959.5 1 +83970.5 1 +83981.4 1 +83992.4 1 +84003.4 1 +84014.3 1 +84025.3 1 +84036.3 1 +84047.2 1 +84058.2 1 +84069.2 1 +84080.2 1 +84091.1 1 +84102.1 1 +84113.1 1 +84124 1 +84135 1 +84146 1 +84156.9 1 +84167.9 1 +84178.9 1 +84189.8 1 +84200.8 1 +84211.8 1 +84222.7 1 +84233.7 1 +84244.7 1 +84255.6 1 +84266.6 1 +84277.6 1 +84288.5 1 +84299.5 1 +84310.5 1 +84321.4 1 +84332.4 1 +84343.4 1 +84354.3 1 +84365.3 1 +84376.3 1 +84387.3 1 +84398.2 1 +84409.2 1 +84420.2 1 +84431.1 1 +84442.1 1 +84453.1 1 +84464 1 +84475 1 +84486 1 +84496.9 1 +84507.9 1 +84518.9 1 +84529.8 1 +84540.8 1 +84551.8 1 +84562.7 1 +84573.7 1 +84584.7 1 +84595.6 1 +84606.6 1 +84617.6 1 +84628.5 1 +84639.5 1 +84650.5 1 +84661.5 1 +84672.4 1 +84683.4 1 +84694.4 1 +84705.3 1 +84716.3 1 +84727.3 1 +84738.2 1 +84749.2 1 +84760.2 1 +84771.1 1 +84782.1 1 +84793.1 1 +84804 1 +84815 1 +84826 1 +84836.9 1 +84847.9 1 +84858.9 1 +84869.8 1 +84880.8 1 +84891.8 1 +84902.7 1 +84913.7 1 +84924.7 1 +84935.6 1 +84946.6 1 +84957.6 1 +84968.6 1 +84979.5 1 +84990.5 1 +85001.5 1 +85012.4 1 +85023.4 1 +85034.4 1 +85045.3 1 +85056.3 1 +85067.3 1 +85078.2 1 +85089.2 1 +85100.2 1 +85111.1 1 +85122.1 1 +85133.1 1 +85144 1 +85155 1 +85166 1 +85176.9 Modified: SwiftApps/SciColSim/plot_cumulative.txt =================================================================== --- SwiftApps/SciColSim/plot_cumulative.txt 2012-02-11 19:11:50 UTC (rev 5586) +++ SwiftApps/SciColSim/plot_cumulative.txt 2012-02-11 20:31:24 UTC (rev 5587) @@ -1,6226 +1,7989 @@ -1.000 10 60 -3.351 10 60 -5.702 12 72 -8.053 16 96 -10.404 20 120 -12.755 22 132 -15.106 28 168 -17.457 30 180 -19.808 31 186 -22.159 32 192 -24.510 35 210 -26.861 42 252 -29.212 46 276 -31.563 49 294 -33.914 52 312 -36.265 55 330 -38.616 56 336 -40.967 58 348 -43.318 60 360 -45.669 66 396 -48.020 66 396 -50.371 68 408 -52.722 72 432 -55.073 76 456 -57.424 76 456 -59.775 77 462 -62.126 81 486 -64.477 86 516 -66.828 90 540 -69.179 95 570 -71.530 95 570 -73.881 96 576 -76.232 99 594 -78.583 101 606 -80.934 105 630 -83.285 108 648 -85.636 109 654 -87.987 112 672 -90.338 115 690 -92.689 117 702 -95.040 119 714 -97.391 121 726 -99.742 126 756 -102.093 129 774 -104.444 132 792 -106.795 136 816 -109.146 138 828 -111.497 142 852 -113.848 146 876 -116.199 149 894 -118.550 153 918 -120.901 153 918 -123.252 156 936 -125.603 158 948 -127.954 160 960 -130.305 165 990 -132.656 168 1008 -135.007 171 1026 -137.358 171 1026 -139.709 172 1032 -142.060 179 1074 -144.411 182 1092 -146.762 182 1092 -149.113 187 1122 -151.464 191 1146 -153.815 193 1158 -156.166 195 1170 -158.517 199 1194 -160.868 206 1236 -163.219 207 1242 -165.570 208 1248 -167.921 210 1260 -170.272 216 1296 -172.623 219 1314 -174.974 220 1320 -177.325 225 1350 -179.676 229 1374 -182.027 231 1386 -184.378 232 1392 -186.729 237 1422 -189.080 241 1446 -191.431 242 1452 -193.782 243 1458 -196.133 251 1506 -198.484 253 1518 -200.835 256 1536 -203.186 259 1554 -205.537 264 1584 -207.888 265 1590 -210.239 270 1620 -212.590 274 1644 -214.941 274 1644 -217.292 277 1662 -219.643 284 1704 -221.994 286 1716 -224.345 287 1722 -226.696 288 1728 -229.047 293 1758 -231.398 297 1782 -233.749 299 1794 -236.100 300 1800 -238.451 303 1818 -240.802 306 1836 -243.153 308 1848 -245.504 310 1860 -247.855 314 1884 -250.206 318 1908 -252.557 320 1920 -254.908 320 1920 -257.259 322 1932 -259.610 326 1956 -261.961 332 1992 -264.312 334 2004 -266.663 335 2010 -269.014 339 2034 -271.365 343 2058 -273.716 345 2070 -276.067 346 2076 -278.418 350 2100 -280.769 355 2130 -283.120 357 2142 -285.471 359 2154 -287.822 361 2166 -290.173 363 2178 -292.524 366 2196 -294.875 369 2214 -297.226 373 2238 -299.577 377 2262 -301.928 380 2280 -304.279 382 2292 -306.630 387 2322 -308.981 390 2340 -311.332 391 2346 -313.683 394 2364 -316.034 397 2382 -318.385 401 2406 -320.736 403 2418 -323.087 405 2430 -325.438 405 2430 -327.789 409 2454 -330.140 412 2472 -332.491 415 2490 -334.842 415 2490 -337.193 419 2514 -339.544 425 2550 -341.895 428 2568 -344.246 431 2586 -346.597 436 2616 -348.948 439 2634 -351.299 440 2640 -353.650 440 2640 -356.001 444 2664 -358.352 448 2688 -360.703 449 2694 -363.054 451 2706 -365.405 452 2712 -367.756 457 2742 -370.107 462 2772 -372.458 462 2772 -374.809 463 2778 -377.160 466 2796 -379.511 468 2808 -381.862 474 2844 -384.213 478 2868 -386.564 482 2892 -388.915 484 2904 -391.266 488 2928 -393.617 488 2928 -395.968 490 2940 -398.319 492 2952 -400.670 498 2988 -403.021 498 2988 -405.372 499 2994 -407.723 500 3000 -410.074 506 3036 -412.425 508 3048 -414.776 509 3054 -417.127 510 3060 -419.478 514 3084 -421.829 523 3138 -424.180 523 3138 -426.531 526 3156 -428.882 532 3192 -431.233 534 3204 -433.584 537 3222 -435.935 537 3222 -438.286 539 3234 -440.637 544 3264 -442.988 546 3276 -445.339 547 3282 -447.690 547 3282 -450.041 552 3312 -452.392 554 3324 -454.743 558 3348 -457.094 559 3354 -459.445 562 3372 -461.796 566 3396 -464.147 569 3414 -466.498 571 3426 -468.849 573 3438 -471.200 577 3462 -473.551 582 3492 -475.902 584 3504 -478.253 585 3510 -480.604 586 3516 -482.955 589 3534 -485.306 598 3588 -487.657 598 3588 -490.008 599 3594 -492.359 607 3642 -494.710 611 3666 -497.061 612 3672 -499.412 613 3678 -501.763 616 3696 -504.114 621 3726 -506.465 624 3744 -508.816 626 3756 -511.167 629 3774 -513.518 631 3786 -515.869 635 3810 -518.220 636 3816 -520.571 639 3834 -522.922 641 3846 -525.273 643 3858 -527.624 646 3876 -529.975 651 3906 -532.326 655 3930 -534.677 657 3942 -537.028 658 3948 -539.379 660 3960 -541.730 664 3984 -544.081 667 4002 -546.432 669 4014 -548.783 671 4026 -551.134 679 4074 -553.485 681 4086 -555.836 681 4086 -558.187 683 4098 -560.538 687 4122 -562.889 690 4140 -565.240 695 4170 -567.591 697 4182 -569.942 702 4212 -572.293 704 4224 -574.644 706 4236 -576.995 709 4254 -579.346 711 4266 -581.697 714 4284 -584.048 716 4296 -586.399 719 4314 -588.750 723 4338 -591.101 725 4350 -593.452 726 4356 -595.803 730 4380 -598.154 739 4434 -600.505 741 4446 -602.856 741 4446 -605.207 742 4452 -607.558 745 4470 -609.909 750 4500 -612.260 752 4512 -614.611 752 4512 -616.962 756 4536 -619.313 759 4554 -621.664 762 4572 -624.015 762 4572 -626.366 768 4608 -628.717 772 4632 -631.068 773 4638 -633.419 773 4638 -635.770 779 4674 -638.121 783 4698 -640.472 787 4722 -642.823 790 4740 -645.174 790 4740 -647.525 793 4758 -649.876 798 4788 -652.227 800 4800 -654.578 805 4830 -656.929 810 4860 -659.280 813 4878 -661.631 816 4896 -663.982 820 4920 -666.333 823 4938 -668.684 826 4956 -671.035 830 4980 -673.386 832 4992 -675.737 834 5004 -678.088 838 5028 -680.439 840 5040 -682.790 841 5046 -685.141 842 5052 -687.492 845 5070 -689.843 850 5100 -692.194 853 5118 -694.545 856 5136 -696.896 859 5154 -699.247 861 5166 -701.598 865 5190 -703.949 872 5232 -706.300 873 5238 -708.651 876 5256 -711.002 877 5262 -713.353 882 5292 -715.704 882 5292 -718.055 884 5304 -720.406 887 5322 -722.757 892 5352 -725.108 892 5352 -727.459 895 5370 -729.810 897 5382 -732.161 900 5400 -734.512 903 5418 -736.863 906 5436 -739.214 909 5454 -741.565 912 5472 -743.916 915 5490 -746.267 919 5514 -748.618 921 5526 -750.969 923 5538 -753.320 927 5562 -755.671 933 5598 -758.022 934 5604 -760.373 935 5610 -762.724 939 5634 -765.075 944 5664 -767.426 947 5682 -769.777 949 5694 -772.128 953 5718 -774.479 958 5748 -776.830 960 5760 -779.181 961 5766 -781.532 966 5796 -783.883 970 5820 -786.234 973 5838 -788.585 975 5850 -790.936 977 5862 -793.287 977 5862 -795.638 982 5892 -797.989 985 5910 -800.340 989 5934 -802.691 991 5946 -805.042 997 5982 -807.393 998 5988 -809.744 1001 6006 -812.095 1003 6018 -814.446 1005 6030 -816.797 1006 6036 -819.148 1010 6060 -821.499 1016 6096 -823.850 1018 6108 -826.201 1021 6126 -828.552 1024 6144 -830.903 1029 6174 -833.254 1032 6192 -835.605 1032 6192 -837.956 1033 6198 -840.307 1038 6228 -842.658 1044 6264 -845.009 1046 6276 -847.360 1046 6276 -849.711 1046 6276 -852.062 1050 6300 -854.413 1052 6312 -856.764 1057 6342 -859.115 1058 6348 -861.466 1061 6366 -863.817 1065 6390 -866.168 1069 6414 -868.519 1072 6432 -870.870 1075 6450 -873.221 1078 6468 -875.572 1079 6474 -877.923 1082 6492 -880.274 1083 6498 -882.625 1086 6516 -884.976 1087 6522 -887.327 1089 6534 -889.678 1093 6558 -892.029 1096 6576 -894.380 1098 6588 -896.731 1099 6594 -899.082 1101 6606 -901.433 1104 6624 -903.784 1108 6648 -906.135 1111 6666 -908.486 1117 6702 -910.837 1120 6720 -913.188 1120 6720 -915.539 1123 6738 -917.890 1127 6762 -920.241 1128 6768 -922.592 1129 6774 -924.943 1132 6792 -927.294 1134 6804 -929.645 1138 6828 -931.996 1139 6834 -934.347 1142 6852 -936.698 1143 6858 -939.049 1144 6864 -941.400 1147 6882 -943.751 1153 6918 -946.102 1154 6924 -948.453 1156 6936 -950.804 1157 6942 -953.155 1165 6990 -955.506 1167 7002 -957.857 1170 7020 -960.208 1175 7050 -962.559 1177 7062 -964.910 1177 7062 -967.261 1178 7068 -969.612 1181 7086 -971.963 1184 7104 -974.314 1189 7134 -976.665 1189 7134 -979.016 1192 7152 -981.367 1195 7170 -983.718 1201 7206 -986.069 1202 7212 -988.420 1204 7224 -990.771 1212 7272 -993.122 1213 7278 -995.473 1215 7290 -997.824 1217 7302 -1000.175 1222 7332 -1002.526 1222 7332 -1004.877 1227 7362 -1007.228 1230 7380 -1009.579 1232 7392 -1011.930 1233 7398 -1014.281 1237 7422 -1016.632 1240 7440 -1018.983 1242 7452 -1021.334 1244 7464 -1023.685 1247 7482 -1026.036 1249 7494 -1028.387 1253 7518 -1030.738 1255 7530 -1033.089 1257 7542 -1035.440 1262 7572 -1037.791 1264 7584 -1040.142 1266 7596 -1042.493 1268 7608 -1044.844 1273 7638 -1047.195 1277 7662 -1049.546 1278 7668 -1051.897 1279 7674 -1054.248 1284 7704 -1056.599 1289 7734 -1058.950 1292 7752 -1061.301 1293 7758 -1063.652 1297 7782 -1066.003 1299 7794 -1068.354 1300 7800 -1070.705 1302 7812 -1073.056 1305 7830 -1075.407 1311 7866 -1077.758 1312 7872 -1080.109 1314 7884 -1082.460 1320 7920 -1084.811 1325 7950 -1087.162 1327 7962 -1089.513 1328 7968 -1091.864 1329 7974 -1094.215 1332 7992 -1096.566 1337 8022 -1098.917 1338 8028 -1101.268 1339 8034 -1103.619 1340 8040 -1105.970 1345 8070 -1108.321 1351 8106 -1110.672 1352 8112 -1113.023 1354 8124 -1115.374 1360 8160 -1117.725 1364 8184 -1120.076 1364 8184 -1122.427 1367 8202 -1124.778 1371 8226 -1127.129 1374 8244 -1129.480 1374 8244 -1131.831 1378 8268 -1134.182 1380 8280 -1136.533 1381 8286 -1138.884 1384 8304 -1141.235 1384 8304 -1143.586 1391 8346 -1145.937 1398 8388 -1148.288 1399 8394 -1150.639 1399 8394 -1152.990 1403 8418 -1155.341 1409 8454 -1157.692 1413 8478 -1160.043 1418 8508 -1162.394 1420 8520 -1164.745 1420 8520 -1167.096 1422 8532 -1169.447 1426 8556 -1171.798 1429 8574 -1174.149 1432 8592 -1176.500 1434 8604 -1178.851 1436 8616 -1181.202 1440 8640 -1183.553 1444 8664 -1185.904 1445 8670 -1188.255 1448 8688 -1190.606 1449 8694 -1192.957 1453 8718 -1195.308 1455 8730 -1197.659 1457 8742 -1200.010 1461 8766 -1202.361 1463 8778 -1204.712 1466 8796 -1207.063 1468 8808 -1209.414 1470 8820 -1211.765 1473 8838 -1214.116 1480 8880 -1216.467 1483 8898 -1218.818 1483 8898 -1221.169 1486 8916 -1223.520 1491 8946 -1225.871 1493 8958 -1228.222 1495 8970 -1230.573 1501 9006 -1232.924 1505 9030 -1235.275 1505 9030 -1237.626 1506 9036 -1239.977 1512 9072 -1242.328 1515 9090 -1244.679 1518 9108 -1247.030 1519 9114 -1249.381 1522 9132 -1251.732 1527 9162 -1254.083 1531 9186 -1256.434 1534 9204 -1258.785 1540 9240 -1261.136 1542 9252 -1263.487 1543 9258 -1265.838 1545 9270 -1268.189 1550 9300 -1270.540 1553 9318 -1272.891 1554 9324 -1275.242 1557 9342 -1277.593 1564 9384 -1279.944 1566 9396 -1282.295 1569 9414 -1284.646 1573 9438 -1286.997 1574 9444 -1289.348 1574 9444 -1291.699 1579 9474 -1294.050 1582 9492 -1296.401 1585 9510 -1298.752 1586 9516 -1301.103 1588 9528 -1303.454 1591 9546 -1305.805 1594 9564 -1308.156 1596 9576 -1310.507 1599 9594 -1312.858 1600 9600 -1315.209 1604 9624 -1317.560 1606 9636 -1319.911 1610 9660 -1322.262 1613 9678 -1324.613 1617 9702 -1326.964 1619 9714 -1329.315 1619 9714 -1331.666 1623 9738 -1334.017 1624 9744 -1336.368 1625 9750 -1338.719 1630 9780 -1341.070 1635 9810 -1343.421 1635 9810 -1345.772 1640 9840 -1348.123 1642 9852 -1350.474 1645 9870 -1352.825 1651 9906 -1355.176 1652 9912 -1357.527 1654 9924 -1359.878 1657 9942 -1362.229 1660 9960 -1364.580 1664 9984 -1366.931 1665 9990 -1369.282 1665 9990 -1371.633 1667 10002 -1373.984 1673 10038 -1376.335 1674 10044 -1378.686 1677 10062 -1381.037 1678 10068 -1383.388 1682 10092 -1385.739 1688 10128 -1388.090 1691 10146 -1390.441 1691 10146 -1392.792 1696 10176 -1395.143 1699 10194 -1397.494 1701 10206 -1399.845 1705 10230 -1402.196 1707 10242 -1404.547 1709 10254 -1406.898 1713 10278 -1409.249 1714 10284 -1411.600 1715 10290 -1413.951 1721 10326 -1416.302 1723 10338 -1418.653 1726 10356 -1421.004 1729 10374 -1423.355 1732 10392 -1425.706 1732 10392 -1428.057 1735 10410 -1430.408 1738 10428 -1432.759 1740 10440 -1435.110 1742 10452 -1437.461 1747 10482 -1439.812 1751 10506 -1442.163 1755 10530 -1444.514 1755 10530 -1446.865 1756 10536 -1449.216 1762 10572 -1451.567 1767 10602 -1453.918 1767 10602 -1456.269 1771 10626 -1458.620 1774 10644 -1460.971 1775 10650 -1463.322 1779 10674 -1465.673 1782 10692 -1468.024 1783 10698 -1470.375 1787 10722 -1472.726 1792 10752 -1475.077 1795 10770 -1477.428 1796 10776 -1479.779 1797 10782 -1482.130 1801 10806 -1484.481 1808 10848 -1486.832 1808 10848 -1489.183 1809 10854 -1491.534 1811 10866 -1493.885 1816 10896 -1496.236 1821 10926 -1498.587 1825 10950 -1500.938 1825 10950 -1503.289 1830 10980 -1505.640 1834 11004 -1507.991 1835 11010 -1510.342 1838 11028 -1512.693 1840 11040 -1515.044 1845 11070 -1517.395 1847 11082 -1519.746 1847 11082 -1522.097 1851 11106 -1524.448 1857 11142 -1526.799 1858 11148 -1529.150 1858 11148 -1531.501 1859 11154 -1533.852 1865 11190 -1536.203 1872 11232 -1538.554 1873 11238 -1540.905 1875 11250 -1543.256 1877 11262 -1545.607 1878 11268 -1547.958 1882 11292 -1550.309 1884 11304 -1552.660 1887 11322 -1555.011 1888 11328 -1557.362 1892 11352 -1559.713 1894 11364 -1562.064 1896 11376 -1564.415 1899 11394 -1566.766 1902 11412 -1569.117 1905 11430 -1571.468 1909 11454 -1573.819 1912 11472 -1576.170 1913 11478 -1578.521 1915 11490 -1580.872 1919 11514 -1583.223 1924 11544 -1585.574 1926 11556 -1587.925 1928 11568 -1590.276 1931 11586 -1592.627 1935 11610 -1594.978 1936 11616 -1597.329 1938 11628 -1599.680 1943 11658 -1602.031 1946 11676 -1604.382 1947 11682 -1606.733 1948 11688 -1609.084 1955 11730 -1611.435 1956 11736 -1613.786 1958 11748 -1616.137 1959 11754 -1618.488 1962 11772 -1620.839 1966 11796 -1623.190 1972 11832 -1625.541 1973 11838 -1627.892 1973 11838 -1630.243 1975 11850 -1632.594 1979 11874 -1634.945 1979 11874 -1637.296 1981 11886 -1639.647 1983 11898 -1641.998 1983 11898 -1644.349 1985 11910 -1646.700 1987 11922 -1649.051 1987 11922 -1651.402 1989 11934 -1653.753 1990 11940 -1656.104 1991 11946 -1658.455 1992 11952 -1660.806 1993 11958 -1663.157 1995 11970 -1665.508 1997 11982 -1667.859 1997 11982 -1670.210 1999 11994 -1672.561 1999 11994 -1674.912 2000 12000 -1677.263 2002 12012 -1679.614 2003 12018 -1681.965 2006 12036 -1684.316 2007 12042 -1686.667 2007 12042 -1689.018 2009 12054 -1691.369 2013 12078 -1693.720 2013 12078 -1696.071 2016 12096 -1698.422 2017 12102 -1700.773 2018 12108 -1703.124 2019 12114 -1705.475 2020 12120 -1707.826 2023 12138 -1710.177 2023 12138 -1712.528 2024 12144 -1714.879 2027 12162 -1717.230 2027 12162 -1719.581 2030 12180 -1721.932 2031 12186 -1724.283 2032 12192 -1726.634 2032 12192 -1728.985 2036 12216 -1731.336 2036 12216 -1733.687 2037 12222 -1736.038 2040 12240 -1738.389 2042 12252 -1740.740 2044 12264 -1743.091 2045 12270 -1745.442 2046 12276 -1747.793 2047 12282 -1750.144 2049 12294 -1752.495 2050 12300 -1754.846 2050 12300 -1757.197 2052 12312 -1759.548 2056 12336 -1761.899 2056 12336 -1764.250 2060 12360 -1766.601 2060 12360 -1768.952 2063 12378 -1771.303 2064 12384 -1773.654 2066 12396 -1776.005 2068 12408 -1778.356 2070 12420 -1780.707 2070 12420 -1783.058 2071 12426 -1785.409 2072 12432 -1787.760 2073 12438 -1790.111 2073 12438 -1792.462 2075 12450 -1794.813 2076 12456 -1797.164 2078 12468 -1799.515 2078 12468 -1801.866 2080 12480 -1804.217 2081 12486 -1806.568 2081 12486 -1808.919 2083 12498 -1811.270 2083 12498 -1813.621 2084 12504 -1815.972 2085 12510 -1818.323 2087 12522 -1820.674 2087 12522 -1823.025 2089 12534 -1825.376 2091 12546 -1827.727 2092 12552 -1830.078 2092 12552 -1832.429 2094 12564 -1834.780 2095 12570 -1837.131 2097 12582 -1839.482 2097 12582 -1841.833 2099 12594 -1844.184 2100 12600 -1846.535 2100 12600 -1848.886 2102 12612 -1851.237 2103 12618 -1853.588 2104 12624 -1855.939 2104 12624 -1858.290 2105 12630 -1860.641 2107 12642 -1862.992 2108 12648 -1865.343 2109 12654 -1867.694 2109 12654 -1870.045 2111 12666 -1872.396 2112 12672 -1874.747 2113 12678 -1877.098 2115 12690 -1879.449 2117 12702 -1881.800 2118 12708 -1884.151 2118 12708 -1886.502 2119 12714 -1888.853 2120 12720 -1891.204 2122 12732 -1893.555 2123 12738 -1895.906 2125 12750 -1898.257 2126 12756 -1900.608 2127 12762 -1902.959 2128 12768 -1905.310 2129 12774 -1907.661 2131 12786 -1910.012 2132 12792 -1912.363 2134 12804 -1914.714 2135 12810 -1917.065 2135 12810 -1919.416 2136 12816 -1921.767 2138 12828 -1924.118 2139 12834 -1926.469 2139 12834 -1928.820 2140 12840 -1931.171 2141 12846 -1933.522 2143 12858 -1935.873 2144 12864 -1938.224 2148 12888 -1940.575 2148 12888 -1942.926 2148 12888 -1945.277 2149 12894 -1947.628 2153 12918 -1949.979 2153 12918 -1952.330 2154 12924 -1954.681 2156 12936 -1957.032 2157 12942 -1959.383 2157 12942 -1961.734 2158 12948 -1964.085 2160 12960 -1966.436 2160 12960 -1968.787 2161 12966 -1971.138 2161 12966 -1973.489 2162 12972 -1975.840 2165 12990 -1978.191 2167 13002 -1980.542 2168 13008 -1982.893 2171 13026 -1985.244 2173 13038 -1987.595 2173 13038 -1989.946 2174 13044 -1992.297 2176 13056 -1994.648 2177 13062 -1996.999 2177 13062 -1999.350 2180 13080 -2001.701 2180 13080 -2004.052 2181 13086 -2006.403 2183 13098 -2008.754 2184 13104 -2011.105 2185 13110 -2013.456 2185 13110 -2015.807 2187 13122 -2018.158 2189 13134 -2020.509 2189 13134 -2022.860 2191 13146 -2025.211 2194 13164 -2027.562 2195 13170 -2029.913 2198 13188 -2032.264 2198 13188 -2034.615 2200 13200 -2036.966 2203 13218 -2039.317 2204 13224 -2041.668 2205 13230 -2044.019 2208 13248 -2046.370 2208 13248 -2048.721 2211 13266 -2051.072 2212 13272 -2053.423 2212 13272 -2055.774 2214 13284 -2058.125 2216 13296 -2060.476 2218 13308 -2062.827 2219 13314 -2065.178 2220 13320 -2067.529 2220 13320 -2069.880 2221 13326 -2072.231 2222 13332 -2074.582 2224 13344 -2076.933 2225 13350 -2079.284 2226 13356 -2081.635 2226 13356 -2083.986 2228 13368 -2086.337 2230 13380 -2088.688 2230 13380 -2091.039 2232 13392 -2093.390 2235 13410 -2095.741 2239 13434 -2098.092 2242 13452 -2100.443 2243 13458 -2102.794 2244 13464 -2105.145 2245 13470 -2107.496 2247 13482 -2109.847 2249 13494 -2112.198 2249 13494 -2114.549 2252 13512 -2116.900 2256 13536 -2119.251 2256 13536 -2121.602 2258 13548 -2123.953 2260 13560 -2126.304 2260 13560 -2128.655 2263 13578 -2131.006 2264 13584 -2133.357 2267 13602 -2135.708 2268 13608 -2138.059 2269 13614 -2140.410 2270 13620 -2142.761 2273 13638 -2145.112 2273 13638 -2147.463 2275 13650 -2149.814 2278 13668 -2152.165 2280 13680 -2154.516 2281 13686 -2156.867 2284 13704 -2159.218 2284 13704 -2161.569 2286 13716 -2163.920 2287 13722 -2166.271 2288 13728 -2168.622 2290 13740 -2170.973 2292 13752 -2173.324 2292 13752 -2175.675 2294 13764 -2178.026 2294 13764 -2180.377 2296 13776 -2182.728 2296 13776 -2185.079 2297 13782 -2187.430 2298 13788 -2189.781 2299 13794 -2192.132 2300 13800 -2194.483 2302 13812 -2196.834 2302 13812 -2199.185 2303 13818 -2201.536 2305 13830 -2203.887 2305 13830 -2206.238 2307 13842 -2208.589 2309 13854 -2210.940 2311 13866 -2213.291 2311 13866 -2215.642 2313 13878 -2217.993 2315 13890 -2220.344 2315 13890 -2222.695 2317 13902 -2225.046 2318 13908 -2227.397 2319 13914 -2229.748 2323 13938 -2232.099 2323 13938 -2234.450 2325 13950 -2236.801 2326 13956 -2239.152 2327 13962 -2241.503 2327 13962 -2243.854 2328 13968 -2246.205 2330 13980 -2248.556 2330 13980 -2250.907 2331 13986 -2253.258 2332 13992 -2255.609 2334 14004 -2257.960 2335 14010 -2260.311 2336 14016 -2262.662 2339 14034 -2265.013 2339 14034 -2267.364 2341 14046 -2269.715 2341 14046 -2272.066 2342 14052 -2274.417 2343 14058 -2276.768 2344 14064 -2279.119 2345 14070 -2281.470 2345 14070 -2283.821 2346 14076 -2286.172 2348 14088 -2288.523 2349 14094 -2290.874 2349 14094 -2293.225 2350 14100 -2295.576 2353 14118 -2297.927 2355 14130 -2300.278 2355 14130 -2302.629 2358 14148 -2304.980 2358 14148 -2307.331 2359 14154 -2309.682 2360 14160 -2312.033 2362 14172 -2314.384 2363 14178 -2316.735 2364 14184 -2319.086 2366 14196 -2321.437 2366 14196 -2323.788 2367 14202 -2326.139 2368 14208 -2328.490 2368 14208 -2330.841 2369 14214 -2333.192 2371 14226 -2335.543 2372 14232 -2337.894 2372 14232 -2340.245 2374 14244 -2342.596 2377 14262 -2344.947 2377 14262 -2347.298 2380 14280 -2349.649 2381 14286 -2352.000 2381 14286 -2354.351 2382 14292 -2356.702 2384 14304 -2359.053 2385 14310 -2361.404 2385 14310 -2363.755 2388 14328 -2366.106 2390 14340 -2368.457 2392 14352 -2370.808 2393 14358 -2373.159 2396 14376 -2375.510 2397 14382 -2377.861 2398 14388 -2380.212 2399 14394 -2382.563 2402 14412 -2384.914 2402 14412 -2387.265 2403 14418 -2389.616 2406 14436 -2391.967 2406 14436 -2394.318 2407 14442 -2396.669 2408 14448 -2399.020 2408 14448 -2401.371 2410 14460 -2403.722 2411 14466 -2406.073 2412 14472 -2408.424 2414 14484 -2410.775 2415 14490 -2413.126 2417 14502 -2415.477 2418 14508 -2417.828 2419 14514 -2420.179 2421 14526 -2422.530 2422 14532 -2424.881 2423 14538 -2427.232 2424 14544 -2429.583 2425 14550 -2431.934 2426 14556 -2434.285 2426 14556 -2436.636 2427 14562 -2438.987 2430 14580 -2441.338 2432 14592 -2443.689 2434 14604 -2446.040 2435 14610 -2448.391 2437 14622 -2450.742 2438 14628 -2453.093 2439 14634 -2455.444 2439 14634 -2457.795 2442 14652 -2460.146 2443 14658 -2462.497 2443 14658 -2464.848 2446 14676 -2467.199 2447 14682 -2469.550 2448 14688 -2471.901 2450 14700 -2474.252 2451 14706 -2476.603 2451 14706 -2478.954 2452 14712 -2481.305 2452 14712 -2483.656 2453 14718 -2486.007 2454 14724 -2488.358 2455 14730 -2490.709 2456 14736 -2493.060 2456 14736 -2495.411 2458 14748 -2497.762 2459 14754 -2500.113 2459 14754 -2502.464 2460 14760 -2504.815 2461 14766 -2507.166 2462 14772 -2509.517 2462 14772 -2511.868 2464 14784 -2514.219 2465 14790 -2516.570 2465 14790 -2518.921 2466 14796 -2521.272 2468 14808 -2523.623 2468 14808 -2525.974 2469 14814 -2528.325 2469 14814 -2530.676 2471 14826 -2533.027 2474 14844 -2535.378 2474 14844 -2537.729 2476 14856 -2540.080 2477 14862 -2542.431 2480 14880 -2544.782 2481 14886 -2547.133 2482 14892 -2549.484 2485 14910 -2551.835 2485 14910 -2554.186 2486 14916 -2556.537 2486 14916 -2558.888 2489 14934 -2561.239 2489 14934 -2563.590 2490 14940 -2565.941 2493 14958 -2568.292 2494 14964 -2570.643 2494 14964 -2572.994 2497 14982 -2575.345 2497 14982 -2577.696 2498 14988 -2580.047 2500 15000 -2582.398 2500 15000 -2584.749 2502 15012 -2587.100 2502 15012 -2589.451 2503 15018 -2591.802 2504 15024 -2594.153 2505 15030 -2596.504 2506 15036 -2598.855 2507 15042 -2601.206 2509 15054 -2603.557 2511 15066 -2605.908 2511 15066 -2608.259 2513 15078 -2610.610 2514 15084 -2612.961 2515 15090 -2615.312 2516 15096 -2617.663 2519 15114 -2620.014 2520 15120 -2622.365 2520 15120 -2624.716 2523 15138 -2627.067 2524 15144 -2629.418 2524 15144 -2631.769 2525 15150 -2634.120 2527 15162 -2636.471 2528 15168 -2638.822 2528 15168 -2641.173 2529 15174 -2643.524 2529 15174 -2645.875 2532 15192 -2648.226 2532 15192 -2650.577 2534 15204 -2652.928 2535 15210 -2655.279 2537 15222 -2657.630 2537 15222 -2659.981 2538 15228 -2662.332 2539 15234 -2664.683 2541 15246 -2667.034 2542 15252 -2669.385 2544 15264 -2671.736 2546 15276 -2674.087 2546 15276 -2676.438 2549 15294 -2678.789 2550 15300 -2681.140 2551 15306 -2683.491 2551 15306 -2685.842 2554 15324 -2688.193 2555 15330 -2690.544 2555 15330 -2692.895 2556 15336 -2695.246 2559 15354 -2697.597 2563 15378 -2699.948 2563 15378 -2702.299 2566 15396 -2704.650 2567 15402 -2707.001 2567 15402 -2709.352 2567 15402 -2711.703 2569 15414 -2714.054 2572 15432 -2716.405 2572 15432 -2718.756 2574 15444 -2721.107 2576 15456 -2723.458 2578 15468 -2725.809 2580 15480 -2728.160 2580 15480 -2730.511 2582 15492 -2732.862 2584 15504 -2735.213 2584 15504 -2737.564 2587 15522 -2739.915 2588 15528 -2742.266 2589 15534 -2744.617 2591 15546 -2746.968 2592 15552 -2749.319 2596 15576 -2751.670 2596 15576 -2754.021 2599 15594 -2756.372 2600 15600 -2758.723 2602 15612 -2761.074 2604 15624 -2763.425 2608 15648 -2765.776 2608 15648 -2768.127 2611 15666 -2770.478 2613 15678 -2772.829 2616 15696 -2775.180 2618 15708 -2777.531 2618 15708 -2779.882 2620 15720 -2782.233 2622 15732 -2784.584 2626 15756 -2786.935 2626 15756 -2789.286 2627 15762 -2791.637 2630 15780 -2793.988 2630 15780 -2796.339 2631 15786 -2798.690 2632 15792 -2801.041 2634 15804 -2803.392 2634 15804 -2805.743 2635 15810 -2808.094 2637 15822 -2810.445 2638 15828 -2812.796 2639 15834 -2815.147 2641 15846 -2817.498 2642 15852 -2819.849 2645 15870 -2822.200 2645 15870 -2824.551 2646 15876 -2826.902 2646 15876 -2829.253 2649 15894 -2831.604 2649 15894 -2833.955 2650 15900 -2836.306 2652 15912 -2838.657 2652 15912 -2841.008 2656 15936 -2843.359 2659 15954 -2845.710 2659 15954 -2848.061 2661 15966 -2850.412 2662 15972 -2852.763 2663 15978 -2855.114 2664 15984 -2857.465 2664 15984 -2859.816 2665 15990 -2862.167 2665 15990 -2864.518 2667 16002 -2866.869 2668 16008 -2869.220 2668 16008 -2871.571 2669 16014 -2873.922 2670 16020 -2876.273 2672 16032 -2878.624 2675 16050 -2880.975 2676 16056 -2883.326 2680 16080 -2885.677 2680 16080 -2888.028 2682 16092 -2890.379 2684 16104 -2892.730 2688 16128 -2895.081 2688 16128 -2897.432 2691 16146 -2899.783 2691 16146 -2902.134 2692 16152 -2904.485 2694 16164 -2906.836 2698 16188 -2909.187 2700 16200 -2911.538 2702 16212 -2913.889 2704 16224 -2916.240 2706 16236 -2918.591 2706 16236 -2920.942 2708 16248 -2923.293 2709 16254 -2925.644 2710 16260 -2927.995 2710 16260 -2930.346 2713 16278 -2932.697 2713 16278 -2935.048 2714 16284 -2937.399 2717 16302 -2939.750 2717 16302 -2942.101 2718 16308 -2944.452 2721 16326 -2946.803 2722 16332 -2949.154 2722 16332 -2951.505 2725 16350 -2953.856 2726 16356 -2956.207 2726 16356 -2958.558 2727 16362 -2960.909 2727 16362 -2963.260 2730 16380 -2965.611 2730 16380 -2967.962 2731 16386 -2970.313 2731 16386 -2972.664 2733 16398 -2975.015 2734 16404 -2977.366 2734 16404 -2979.717 2735 16410 -2982.068 2737 16422 -2984.419 2739 16434 -2986.770 2740 16440 -2989.121 2743 16458 -2991.472 2746 16476 -2993.823 2747 16482 -2996.174 2747 16482 -2998.525 2751 16506 -3000.876 2751 16506 -3003.227 2753 16518 -3005.578 2755 16530 -3007.929 2755 16530 -3010.280 2756 16536 -3012.631 2759 16554 -3014.982 2760 16560 -3017.333 2762 16572 -3019.684 2763 16578 -3022.035 2764 16584 -3024.386 2764 16584 -3026.737 2766 16596 -3029.088 2767 16602 -3031.439 2768 16608 -3033.790 2768 16608 -3036.141 2770 16620 -3038.492 2771 16626 -3040.843 2772 16632 -3043.194 2774 16644 -3045.545 2775 16650 -3047.896 2776 16656 -3050.247 2778 16668 -3052.598 2778 16668 -3054.949 2779 16674 -3057.300 2780 16680 -3059.651 2781 16686 -3062.002 2782 16692 -3064.353 2783 16698 -3066.704 2784 16704 -3069.055 2785 16710 -3071.406 2785 16710 -3073.757 2786 16716 -3076.108 2787 16722 -3078.459 2788 16728 -3080.810 2789 16734 -3083.161 2790 16740 -3085.512 2791 16746 -3087.863 2793 16758 -3090.214 2794 16764 -3092.565 2795 16770 -3094.916 2797 16782 -3097.267 2798 16788 -3099.618 2799 16794 -3101.969 2800 16800 -3104.320 2802 16812 -3106.671 2804 16824 -3109.022 2805 16830 -3111.373 2808 16848 -3113.724 2809 16854 -3116.075 2809 16854 -3118.426 2810 16860 -3120.777 2812 16872 -3123.128 2813 16878 -3125.479 2813 16878 -3127.830 2814 16884 -3130.181 2816 16896 -3132.532 2818 16908 -3134.883 2820 16920 -3137.234 2822 16932 -3139.585 2823 16938 -3141.936 2824 16944 -3144.287 2826 16956 -3146.638 2827 16962 -3148.989 2827 16962 -3151.340 2829 16974 -3153.691 2830 16980 -3156.042 2832 16992 -3158.393 2832 16992 -3160.744 2833 16998 -3163.095 2836 17016 -3165.446 2836 17016 -3167.797 2837 17022 -3170.148 2839 17034 -3172.499 2839 17034 -3174.850 2841 17046 -3177.201 2841 17046 -3179.552 2843 17058 -3181.903 2845 17070 -3184.254 2846 17076 -3186.605 2847 17082 -3188.956 2847 17082 -3191.307 2850 17100 -3193.658 2851 17106 -3196.009 2851 17106 -3198.360 2852 17112 -3200.711 2854 17124 -3203.062 2855 17130 -3205.413 2856 17136 -3207.764 2857 17142 -3210.115 2859 17154 -3212.466 2860 17160 -3214.817 2861 17166 -3217.168 2862 17172 -3219.519 2864 17184 -3221.870 2865 17190 -3224.221 2866 17196 -3226.572 2868 17208 -3228.923 2869 17214 -3231.274 2870 17220 -3233.625 2871 17226 -3235.976 2873 17238 -3238.327 2874 17244 -3240.678 2875 17250 -3243.029 2875 17250 -3245.380 2876 17256 -3247.731 2878 17268 -3250.082 2879 17274 -3252.433 2880 17280 -3254.784 2880 17280 -3257.135 2881 17286 -3259.486 2882 17292 -3261.837 2883 17298 -3264.188 2884 17304 -3266.539 2886 17316 -3268.890 2887 17322 -3271.241 2888 17328 -3273.592 2888 17328 -3275.943 2889 17334 -3278.294 2890 17340 -3280.645 2892 17352 -3282.996 2893 17358 -3285.347 2893 17358 -3287.698 2894 17364 -3290.049 2896 17376 -3292.400 2897 17382 -3294.751 2897 17382 -3297.102 2900 17400 -3299.453 2901 17406 -3301.804 2902 17412 -3304.155 2906 17436 -3306.506 2906 17436 -3308.857 2907 17442 -3311.208 2910 17460 -3313.559 2911 17466 -3315.910 2911 17466 -3318.261 2913 17478 -3320.612 2915 17490 -3322.963 2916 17496 -3325.314 2919 17514 -3327.665 2919 17514 -3330.016 2921 17526 -3332.367 2921 17526 -3334.718 2923 17538 -3337.069 2924 17544 -3339.420 2925 17550 -3341.771 2928 17568 -3344.122 2929 17574 -3346.473 2930 17580 -3348.824 2930 17580 -3351.175 2932 17592 -3353.526 2934 17604 -3355.877 2935 17610 -3358.228 2935 17610 -3360.579 2938 17628 -3362.930 2939 17634 -3365.281 2940 17640 -3367.632 2944 17664 -3369.983 2944 17664 -3372.334 2945 17670 -3374.685 2948 17688 -3377.036 2948 17688 -3379.387 2949 17694 -3381.738 2951 17706 -3384.089 2953 17718 -3386.440 2953 17718 -3388.791 2955 17730 -3391.142 2956 17736 -3393.493 2959 17754 -3395.844 2960 17760 -3398.195 2963 17778 -3400.546 2963 17778 -3402.897 2964 17784 -3405.248 2965 17790 -3407.599 2967 17802 -3409.950 2969 17814 -3412.301 2972 17832 -3414.652 2973 17838 -3417.003 2976 17856 -3419.354 2976 17856 -3421.705 2980 17880 -3424.056 2980 17880 -3426.407 2983 17898 -3428.758 2985 17910 -3431.109 2987 17922 -3433.460 2991 17946 -3435.811 2991 17946 -3438.162 2994 17964 -3440.513 2996 17976 -3442.864 2996 17976 -3445.215 2999 17994 -3447.566 2999 17994 -3449.917 3001 18006 -3452.268 3001 18006 -3454.619 3004 18024 -3456.970 3004 18024 -3459.321 3006 18036 -3461.672 3008 18048 -3464.023 3009 18054 -3466.374 3011 18066 -3468.725 3013 18078 -3471.076 3014 18084 -3473.427 3015 18090 -3475.778 3019 18114 -3478.129 3019 18114 -3480.480 3020 18120 -3482.831 3024 18144 -3485.182 3026 18156 -3487.533 3028 18168 -3489.884 3031 18186 -3492.235 3031 18186 -3494.586 3033 18198 -3496.937 3036 18216 -3499.288 3036 18216 -3501.639 3038 18228 -3503.990 3041 18246 -3506.341 3041 18246 -3508.692 3042 18252 -3511.043 3044 18264 -3513.394 3047 18282 -3515.745 3047 18282 -3518.096 3051 18306 -3520.447 3052 18312 -3522.798 3053 18318 -3525.149 3056 18336 -3527.500 3057 18342 -3529.851 3059 18354 -3532.202 3063 18378 -3534.553 3066 18396 -3536.904 3066 18396 -3539.255 3068 18408 -3541.606 3072 18432 -3543.957 3073 18438 -3546.308 3076 18456 -3548.659 3078 18468 -3551.010 3081 18486 -3553.361 3084 18504 -3555.712 3084 18504 -3558.063 3085 18510 -3560.414 3088 18528 -3562.765 3090 18540 -3565.116 3090 18540 -3567.467 3094 18564 -3569.818 3096 18576 -3572.169 3098 18588 -3574.520 3102 18612 -3576.871 3104 18624 -3579.222 3109 18654 -3581.573 3109 18654 -3583.924 3110 18660 -3586.275 3115 18690 -3588.626 3115 18690 -3590.977 3116 18696 -3593.328 3117 18702 -3595.679 3122 18732 -3598.030 3122 18732 -3600.381 3124 18744 -3602.732 3125 18750 -3605.083 3127 18762 -3607.434 3129 18774 -3609.785 3132 18792 -3612.136 3132 18792 -3614.487 3136 18816 -3616.838 3140 18840 -3619.189 3142 18852 -3621.540 3143 18858 -3623.891 3146 18876 -3626.242 3151 18906 -3628.593 3151 18906 -3630.944 3152 18912 -3633.295 3155 18930 -3635.646 3158 18948 -3637.997 3160 18960 -3640.348 3164 18984 -3642.699 3166 18996 -3645.050 3167 19002 -3647.401 3168 19008 -3649.752 3171 19026 -3652.103 3174 19044 -3654.454 3176 19056 -3656.805 3179 19074 -3659.156 3184 19104 -3661.507 3184 19104 -3663.858 3186 19116 -3666.209 3188 19128 -3668.560 3192 19152 -3670.911 3194 19164 -3673.262 3195 19170 -3675.613 3199 19194 -3677.964 3201 19206 -3680.315 3203 19218 -3682.666 3206 19236 -3685.017 3207 19242 -3687.368 3210 19260 -3689.719 3212 19272 -3692.070 3214 19284 -3694.421 3216 19296 -3696.772 3219 19314 -3699.123 3219 19314 -3701.474 3223 19338 -3703.825 3227 19362 -3706.176 3230 19380 -3708.527 3231 19386 -3710.878 3235 19410 -3713.229 3238 19428 -3715.580 3239 19434 -3717.931 3242 19452 -3720.282 3243 19458 -3722.633 3246 19476 -3724.984 3249 19494 -3727.335 3251 19506 -3729.686 3252 19512 -3732.037 3253 19518 -3734.388 3258 19548 -3736.739 3260 19560 -3739.090 3262 19572 -3741.441 3262 19572 -3743.792 3268 19608 -3746.143 3270 19620 -3748.494 3270 19620 -3750.845 3272 19632 -3753.196 3276 19656 -3755.547 3278 19668 -3757.898 3278 19668 -3760.249 3281 19686 -3762.600 3285 19710 -3764.951 3288 19728 -3767.302 3291 19746 -3769.653 3293 19758 -3772.004 3298 19788 -3774.355 3301 19806 -3776.706 3302 19812 -3779.057 3304 19824 -3781.408 3305 19830 -3783.759 3310 19860 -3786.110 3310 19860 -3788.461 3313 19878 -3790.812 3317 19902 -3793.163 3318 19908 -3795.514 3321 19926 -3797.865 3325 19950 -3800.216 3326 19956 -3802.567 3329 19974 -3804.918 3333 19998 -3807.269 3334 20004 -3809.620 3336 20016 -3811.971 3341 20046 -3814.322 3343 20058 -3816.673 3345 20070 -3819.024 3347 20082 -3821.375 3348 20088 -3823.726 3350 20100 -3826.077 3354 20124 -3828.428 3356 20136 -3830.779 3358 20148 -3833.130 3361 20166 -3835.481 3364 20184 -3837.832 3368 20208 -3840.183 3368 20208 -3842.534 3371 20226 -3844.885 3373 20238 -3847.236 3376 20256 -3849.587 3378 20268 -3851.938 3381 20286 -3854.289 3382 20292 -3856.640 3385 20310 -3858.991 3390 20340 -3861.342 3390 20340 -3863.693 3396 20376 -3866.044 3398 20388 -3868.395 3399 20394 -3870.746 3403 20418 -3873.097 3407 20442 -3875.448 3408 20448 -3877.799 3409 20454 -3880.150 3417 20502 -3882.501 3418 20508 -3884.852 3420 20520 -3887.203 3421 20526 -3889.554 3426 20556 -3891.905 3429 20574 -3894.256 3430 20580 -3896.607 3431 20586 -3898.958 3436 20616 -3901.309 3439 20634 -3903.660 3440 20640 -3906.011 3441 20646 -3908.362 3444 20664 -3910.713 3449 20694 -3913.064 3452 20712 -3915.415 3455 20730 -3917.766 3457 20742 -3920.117 3462 20772 -3922.468 3463 20778 -3924.819 3473 20838 -3927.170 3473 20838 -3929.521 3475 20850 -3931.872 3483 20898 -3934.223 3483 20898 -3936.574 3486 20916 -3938.925 3495 20970 -3941.276 3499 20994 -3943.627 3500 21000 -3945.978 3503 21018 -3948.329 3505 21030 -3950.680 3510 21060 -3953.031 3511 21066 -3955.382 3514 21084 -3957.733 3515 21090 -3960.084 3518 21108 -3962.435 3520 21120 -3964.786 3522 21132 -3967.137 3524 21144 -3969.488 3528 21168 -3971.839 3530 21180 -3974.190 3531 21186 -3976.541 3535 21210 -3978.892 3543 21258 -3981.243 3548 21288 -3983.594 3548 21288 -3985.945 3549 21294 -3988.296 3553 21318 -3990.647 3558 21348 -3992.998 3558 21348 -3995.349 3559 21354 -3997.700 3565 21390 -4000.051 3569 21414 -4002.402 3573 21438 -4004.753 3579 21474 -4007.104 3580 21480 -4009.455 3590 21540 -4011.806 3594 21564 -4014.157 3596 21576 -4016.508 3597 21582 -4018.859 3599 21594 -4021.210 3604 21624 -4023.561 3604 21624 -4025.912 3605 21630 -4028.263 3608 21648 -4030.614 3614 21684 -4032.965 3614 21684 -4035.316 3616 21696 -4037.667 3620 21720 -4040.018 3625 21750 -4042.369 3626 21756 -4044.720 3628 21768 -4047.071 3631 21786 -4049.422 3632 21792 -4051.773 3635 21810 -4054.124 3637 21822 -4056.475 3642 21852 -4058.826 3644 21864 -4061.177 3646 21876 -4063.528 3647 21882 -4065.879 3651 21906 -4068.230 3654 21924 -4070.581 3655 21930 -4072.932 3656 21936 -4075.283 3661 21966 -4077.634 3664 21984 -4079.985 3666 21996 -4082.336 3667 22002 -4084.687 3671 22026 -4087.038 3677 22062 -4089.389 3680 22080 -4091.740 3680 22080 -4094.091 3681 22086 -4096.442 3690 22140 -4098.793 3690 22140 -4101.144 3691 22146 -4103.495 3691 22146 -4105.846 3699 22194 -4108.197 3701 22206 -4110.548 3702 22212 -4112.899 3708 22248 -4115.250 3715 22290 -4117.601 3715 22290 -4119.952 3717 22302 -4122.303 3720 22320 -4124.654 3726 22356 -4127.005 3728 22368 -4129.356 3729 22374 -4131.707 3732 22392 -4134.058 3733 22398 -4136.409 3733 22398 -4138.760 3735 22410 -4141.111 3736 22416 -4143.462 3736 22416 -4145.813 3737 22422 -4148.164 3741 22446 -4150.515 3746 22476 -4152.866 3749 22494 -4155.217 3749 22494 -4157.568 3752 22512 -4159.919 3761 22566 -4162.270 3764 22584 -4164.621 3764 22584 -4166.972 3769 22614 -4169.323 3773 22638 -4171.674 3774 22644 -4174.025 3775 22650 -4176.376 3779 22674 -4178.727 3784 22704 -4181.078 3784 22704 -4183.429 3787 22722 -4185.780 3788 22728 -4188.131 3789 22734 -4190.482 3795 22770 -4192.833 3797 22782 -4195.184 3799 22794 -4197.535 3801 22806 -4199.886 3808 22848 -4202.237 3810 22860 -4204.588 3813 22878 -4206.939 3815 22890 -4209.290 3819 22914 -4211.641 3820 22920 -4213.992 3822 22932 -4216.343 3824 22944 -4218.694 3830 22980 -4221.045 3831 22986 -4223.396 3832 22992 -4225.747 3833 22998 -4228.098 3835 23010 -4230.449 3836 23016 -4232.800 3838 23028 -4235.151 3843 23058 -4237.502 3846 23076 -4239.853 3847 23082 -4242.204 3848 23088 -4244.555 3852 23112 -4246.906 3857 23142 -4249.257 3860 23160 -4251.608 3862 23172 -4253.959 3862 23172 -4256.310 3868 23208 -4258.661 3870 23220 -4261.012 3873 23238 -4263.363 3876 23256 -4265.714 3879 23274 -4268.065 3879 23274 -4270.416 3882 23292 -4272.767 3884 23304 -4275.118 3885 23310 -4277.469 3888 23328 -4279.820 3892 23352 -4282.171 3894 23364 -4284.522 3896 23376 -4286.873 3896 23376 -4289.224 3900 23400 -4291.575 3908 23448 -4293.926 3908 23448 -4296.277 3911 23466 -4298.628 3915 23490 -4300.979 3918 23508 -4303.330 3921 23526 -4305.681 3923 23538 -4308.032 3927 23562 -4310.383 3927 23562 -4312.734 3930 23580 -4315.085 3931 23586 -4317.436 3934 23604 -4319.787 3937 23622 -4322.138 3943 23658 -4324.489 3946 23676 -4326.840 3947 23682 -4329.191 3948 23688 -4331.542 3956 23736 -4333.893 3957 23742 -4336.244 3960 23760 -4338.595 3960 23760 -4340.946 3964 23784 -4343.297 3967 23802 -4345.648 3970 23820 -4347.999 3972 23832 -4350.350 3975 23850 -4352.701 3977 23862 -4355.052 3978 23868 -4357.403 3980 23880 -4359.754 3983 23898 -4362.105 3984 23904 -4364.456 3989 23934 -4366.807 3992 23952 -4369.158 3994 23964 -4371.509 3997 23982 -4373.860 3999 23994 -4376.211 4004 24024 -4378.562 4006 24036 -4380.913 4009 24054 -4383.264 4009 24054 -4385.615 4012 24072 -4387.966 4015 24090 -4390.317 4018 24108 -4392.668 4021 24126 -4395.019 4023 24138 -4397.370 4027 24162 -4399.721 4029 24174 -4402.072 4033 24198 -4404.423 4033 24198 -4406.774 4034 24204 -4409.125 4036 24216 -4411.476 4037 24222 -4413.827 4039 24234 -4416.178 4041 24246 -4418.529 4043 24258 -4420.880 4043 24258 -4423.231 4046 24276 -4425.582 4047 24282 -4427.933 4048 24288 -4430.284 4051 24306 -4432.635 4051 24306 -4434.986 4052 24312 -4437.337 4054 24324 -4439.688 4056 24336 -4442.039 4056 24336 -4444.390 4057 24342 -4446.741 4060 24360 -4449.092 4060 24360 -4451.443 4061 24366 -4453.794 4062 24372 -4456.145 4066 24396 -4458.496 4067 24402 -4460.847 4068 24408 -4463.198 4074 24444 -4465.549 4075 24450 -4467.900 4077 24462 -4470.251 4078 24468 -4472.602 4083 24498 -4474.953 4084 24504 -4477.304 4086 24516 -4479.655 4087 24522 -4482.006 4090 24540 -4484.357 4094 24564 -4486.708 4097 24582 -4489.059 4100 24600 -4491.410 4102 24612 -4493.761 4104 24624 -4496.112 4111 24666 -4498.463 4114 24684 -4500.814 4114 24684 -4503.165 4119 24714 -4505.516 4122 24732 -4507.867 4125 24750 -4510.218 4126 24756 -4512.569 4127 24762 -4514.920 4130 24780 -4517.271 4133 24798 -4519.622 4135 24810 -4521.973 4136 24816 -4524.324 4137 24822 -4526.675 4138 24828 -4529.026 4144 24864 -4531.377 4147 24882 -4533.728 4148 24888 -4536.079 4150 24900 -4538.430 4154 24924 -4540.781 4160 24960 -4543.132 4161 24966 -4545.483 4164 24984 -4547.834 4167 25002 -4550.185 4170 25020 -4552.536 4171 25026 -4554.887 4177 25062 -4557.238 4179 25074 -4559.589 4180 25080 -4561.940 4181 25086 -4564.291 4183 25098 -4566.642 4184 25104 -4568.993 4188 25128 -4571.344 4189 25134 -4573.695 4192 25152 -4576.046 4195 25170 -4578.397 4202 25212 -4580.748 4204 25224 -4583.099 4205 25230 -4585.450 4210 25260 -4587.801 4214 25284 -4590.152 4215 25290 -4592.503 4218 25308 -4594.854 4219 25314 -4597.205 4224 25344 -4599.556 4231 25386 -4601.907 4233 25398 -4604.258 4236 25416 -4606.609 4240 25440 -4608.960 4241 25446 -4611.311 4243 25458 -4613.662 4244 25464 -4616.013 4245 25470 -4618.364 4247 25482 -4620.715 4248 25488 -4623.066 4249 25494 -4625.417 4249 25494 -4627.768 4252 25512 -4630.119 4253 25518 -4632.470 4253 25518 -4634.821 4254 25524 -4637.172 4254 25524 -4639.523 4256 25536 -4641.874 4257 25542 -4644.225 4259 25554 -4646.576 4261 25566 -4648.927 4261 25566 -4651.278 4262 25572 -4653.629 4264 25584 -4655.980 4265 25590 -4658.331 4267 25602 -4660.682 4269 25614 -4663.033 4273 25638 -4665.384 4273 25638 -4667.735 4274 25644 -4670.086 4275 25650 -4672.437 4277 25662 -4674.788 4278 25668 -4677.139 4281 25686 -4679.490 4281 25686 -4681.841 4282 25692 -4684.192 4283 25698 -4686.543 4285 25710 -4688.894 4286 25716 -4691.245 4286 25716 -4693.596 4288 25728 -4695.947 4290 25740 -4698.298 4290 25740 -4700.649 4293 25758 -4703.000 4294 25764 -4705.351 4294 25764 -4707.702 4295 25770 -4710.053 4297 25782 -4712.404 4300 25800 -4714.755 4303 25818 -4717.106 4304 25824 -4719.457 4306 25836 -4721.808 4308 25848 -4724.159 4308 25848 -4726.510 4310 25860 -4728.861 4311 25866 -4731.212 4312 25872 -4733.563 4314 25884 -4735.914 4315 25890 -4738.265 4316 25896 -4740.616 4319 25914 -4742.967 4320 25920 -4745.318 4320 25920 -4747.669 4323 25938 -4750.020 4324 25944 -4752.371 4324 25944 -4754.722 4327 25962 -4757.073 4328 25968 -4759.424 4329 25974 -4761.775 4332 25992 -4764.126 4333 25998 -4766.477 4334 26004 -4768.828 4336 26016 -4771.179 4337 26022 -4773.530 4339 26034 -4775.881 4339 26034 -4778.232 4341 26046 -4780.583 4342 26052 -4782.934 4343 26058 -4785.285 4343 26058 -4787.636 4344 26064 -4789.987 4345 26070 -4792.338 4347 26082 -4794.689 4349 26094 -4797.040 4351 26106 -4799.391 4351 26106 -4801.742 4353 26118 -4804.093 4354 26124 -4806.444 4355 26130 -4808.795 4355 26130 -4811.146 4356 26136 -4813.497 4358 26148 -4815.848 4359 26154 -4818.199 4360 26160 -4820.550 4362 26172 -4822.901 4363 26178 -4825.252 4365 26190 -4827.603 4366 26196 -4829.954 4368 26208 -4832.305 4370 26220 -4834.656 4373 26238 -4837.007 4374 26244 -4839.358 4374 26244 -4841.709 4376 26256 -4844.060 4378 26268 -4846.411 4378 26268 -4848.762 4379 26274 -4851.113 4381 26286 -4853.464 4382 26292 -4855.815 4384 26304 -4858.166 4385 26310 -4860.517 4386 26316 -4862.868 4388 26328 -4865.219 4390 26340 -4867.570 4390 26340 -4869.921 4392 26352 -4872.272 4394 26364 -4874.623 4395 26370 -4876.974 4396 26376 -4879.325 4398 26388 -4881.676 4398 26388 -4884.027 4399 26394 -4886.378 4400 26400 -4888.729 4402 26412 -4891.080 4404 26424 -4893.431 4407 26442 -4895.782 4409 26454 -4898.133 4409 26454 -4900.484 4412 26472 -4902.835 4413 26478 -4905.186 4413 26478 -4907.537 4415 26490 -4909.888 4417 26502 -4912.239 4419 26514 -4914.590 4421 26526 -4916.941 4421 26526 -4919.292 4423 26538 -4921.643 4425 26550 -4923.994 4427 26562 -4926.345 4429 26574 -4928.696 4429 26574 -4931.047 4432 26592 -4933.398 4434 26604 -4935.749 4434 26604 -4938.100 4436 26616 -4940.451 4438 26628 -4942.802 4438 26628 -4945.153 4440 26640 -4947.504 4442 26652 -4949.855 4444 26664 -4952.206 4444 26664 -4954.557 4446 26676 -4956.908 4448 26688 -4959.259 4448 26688 -4961.610 4450 26700 -4963.961 4452 26712 -4966.312 4455 26730 -4968.663 4456 26736 -4971.014 4456 26736 -4973.365 4458 26748 -4975.716 4459 26754 -4978.067 4460 26760 -4980.418 4462 26772 -4982.769 4463 26778 -4985.120 4464 26784 -4987.471 4464 26784 -4989.822 4466 26796 -4992.173 4468 26808 -4994.524 4468 26808 -4996.875 4469 26814 -4999.226 4470 26820 -5001.577 4471 26826 -5003.928 4473 26838 -5006.279 4476 26856 -5008.630 4478 26868 -5010.981 4479 26874 -5013.332 4481 26886 -5015.683 4483 26898 -5018.034 4483 26898 -5020.385 4485 26910 -5022.736 4487 26922 -5025.087 4491 26946 -5027.438 4491 26946 -5029.789 4492 26952 -5032.140 4495 26970 -5034.491 4495 26970 -5036.842 4497 26982 -5039.193 4499 26994 -5041.544 4502 27012 -5043.895 4503 27018 -5046.246 4503 27018 -5048.597 4507 27042 -5050.948 4508 27048 -5053.299 4510 27060 -5055.650 4511 27066 -5058.001 4514 27084 -5060.352 4514 27084 -5062.703 4515 27090 -5065.054 4518 27108 -5067.405 4518 27108 -5069.756 4519 27114 -5072.107 4522 27132 -5074.458 4522 27132 -5076.809 4524 27144 -5079.160 4526 27156 -5081.511 4526 27156 -5083.862 4526 27156 -5086.213 4528 27168 -5088.564 4530 27180 -5090.915 4534 27204 -5093.266 4538 27228 -5095.617 4538 27228 -5097.968 4542 27252 -5100.319 4542 27252 -5102.670 4544 27264 -5105.021 4546 27276 -5107.372 4547 27282 -5109.723 4549 27294 -5112.074 4549 27294 -5114.425 4549 27294 -5116.776 4550 27300 -5119.127 4551 27306 -5121.478 4553 27318 -5123.829 4555 27330 -5126.180 4557 27342 -5128.531 4557 27342 -5130.882 4559 27354 -5133.233 4559 27354 -5135.584 4561 27366 -5137.935 4563 27378 -5140.286 4563 27378 -5142.637 4565 27390 -5144.988 4568 27408 -5147.339 4570 27420 -5149.690 4572 27432 -5152.041 4574 27444 -5154.392 4574 27444 -5156.743 4575 27450 -5159.094 4577 27462 -5161.445 4579 27474 -5163.796 4581 27486 -5166.147 4582 27492 -5168.498 4583 27498 -5170.849 4586 27516 -5173.200 4587 27522 -5175.551 4588 27528 -5177.902 4588 27528 -5180.253 4590 27540 -5182.604 4592 27552 -5184.955 4593 27558 -5187.306 4594 27564 -5189.657 4596 27576 -5192.008 4596 27576 -5194.359 4597 27582 -5196.710 4598 27588 -5199.061 4600 27600 -5201.412 4602 27612 -5203.763 4602 27612 -5206.114 4604 27624 -5208.465 4606 27636 -5210.816 4607 27642 -5213.167 4609 27654 -5215.518 4610 27660 -5217.869 4611 27666 -5220.220 4613 27678 -5222.571 4614 27684 -5224.922 4616 27696 -5227.273 4618 27708 -5229.624 4618 27708 -5231.975 4619 27714 -5234.326 4622 27732 -5236.677 4622 27732 -5239.028 4623 27738 -5241.379 4624 27744 -5243.730 4626 27756 -5246.081 4627 27762 -5248.432 4628 27768 -5250.783 4628 27768 -5253.134 4629 27774 -5255.485 4631 27786 -5257.836 4632 27792 -5260.187 4633 27798 -5262.538 4636 27816 -5264.889 4636 27816 -5267.240 4637 27822 -5269.591 4639 27834 -5271.942 4639 27834 -5274.293 4640 27840 -5276.644 4641 27846 -5278.995 4643 27858 -5281.346 4644 27864 -5283.697 4645 27870 -5286.048 4647 27882 -5288.399 4649 27894 -5290.750 4650 27900 -5293.101 4651 27906 -5295.452 4652 27912 -5297.803 4654 27924 -5300.154 4654 27924 -5302.505 4656 27936 -5304.856 4657 27942 -5307.207 4659 27954 -5309.558 4659 27954 -5311.909 4660 27960 -5314.260 4663 27978 -5316.611 4663 27978 -5318.962 4666 27996 -5321.313 4666 27996 -5323.664 4667 28002 -5326.015 4670 28020 -5328.366 4671 28026 -5330.717 4671 28026 -5333.068 4672 28032 -5335.419 4674 28044 -5337.770 4675 28050 -5340.121 4675 28050 -5342.472 4677 28062 -5344.823 4677 28062 -5347.174 4679 28074 -5349.525 4679 28074 -5351.876 4681 28086 -5354.227 4681 28086 -5356.578 4683 28098 -5358.929 4685 28110 -5361.280 4687 28122 -5363.631 4688 28128 -5365.982 4689 28134 -5368.333 4692 28152 -5370.684 4693 28158 -5373.035 4695 28170 -5375.386 4697 28182 -5377.737 4697 28182 -5380.088 4697 28182 -5382.439 4700 28200 -5384.790 4701 28206 -5387.141 4701 28206 -5389.492 4704 28224 -5391.843 4705 28230 -5394.194 4705 28230 -5396.545 4705 28230 -5398.896 4705 28230 -5401.247 4705 28230 -5403.598 4705 28230 -5405.949 4705 28230 -5408.300 4705 28230 -5410.651 4705 28230 -5413.002 4705 28230 -5415.353 4707 28242 -5417.704 4708 28248 -5420.055 4709 28254 -5422.406 4709 28254 -5424.757 4709 28254 -5427.108 4709 28254 -5429.459 4709 28254 -5431.810 4709 28254 -5434.161 4710 28260 -5436.512 4718 28308 -5438.863 4720 28320 -5441.214 4722 28332 -5443.565 4724 28344 -5445.916 4725 28350 -5448.267 4730 28380 -5450.618 4732 28392 -5452.969 4734 28404 -5455.320 4734 28404 -5457.671 4738 28428 -5460.022 4740 28440 -5462.373 4743 28458 -5464.724 4744 28464 -5467.075 4744 28464 -5469.426 4748 28488 -5471.777 4748 28488 -5474.128 4751 28506 -5476.479 4751 28506 -5478.830 4754 28524 -5481.181 4759 28554 -5483.532 4760 28560 -5485.883 4761 28566 -5488.234 4764 28584 -5490.585 4764 28584 -5492.936 4768 28608 -5495.287 4769 28614 -5497.638 4771 28626 -5499.989 4772 28632 -5502.340 4775 28650 -5504.691 4776 28656 -5507.042 4780 28680 -5509.393 4782 28692 -5511.744 4784 28704 -5514.095 4784 28704 -5516.446 4787 28722 -5518.797 4791 28746 -5521.148 4793 28758 -5523.499 4796 28776 -5525.850 4804 28824 -5528.201 4804 28824 -5530.552 4805 28830 -5532.903 4808 28848 -5535.254 4812 28872 -5537.605 4813 28878 -5539.956 4813 28878 -5542.307 4816 28896 -5544.658 4821 28926 -5547.009 4823 28938 -5549.360 4825 28950 -5551.711 4830 28980 -5554.062 4831 28986 -5556.413 4833 28998 -5558.764 4834 29004 -5561.115 4839 29034 -5563.466 4839 29034 -5565.817 4843 29058 -5568.168 4844 29064 -5570.519 4845 29070 -5572.870 4846 29076 -5575.221 4849 29094 -5577.572 4850 29100 -5579.923 4850 29100 -5582.274 4852 29112 -5584.625 4854 29124 -5586.976 4855 29130 -5589.327 4857 29142 -5591.678 4861 29166 -5594.029 4862 29172 -5596.380 4864 29184 -5598.731 4864 29184 -5601.082 4865 29190 -5603.433 4869 29214 -5605.784 4874 29244 -5608.135 4874 29244 -5610.486 4875 29250 -5612.837 4878 29268 -5615.188 4882 29292 -5617.539 4884 29304 -5619.890 4884 29304 -5622.241 4886 29316 -5624.592 4889 29334 -5626.943 4891 29346 -5629.294 4892 29352 -5631.645 4894 29364 -5633.996 4897 29382 -5636.347 4900 29400 -5638.698 4901 29406 -5641.049 4902 29412 -5643.400 4906 29436 -5645.751 4907 29442 -5648.102 4909 29454 -5650.453 4910 29460 -5652.804 4911 29466 -5655.155 4917 29502 -5657.506 4919 29514 -5659.857 4919 29514 -5662.208 4924 29544 -5664.559 4928 29568 -5666.910 4928 29568 -5669.261 4929 29574 -5671.612 4931 29586 -5673.963 4935 29610 -5676.314 4936 29616 -5678.665 4937 29622 -5681.016 4939 29634 -5683.367 4942 29652 -5685.718 4946 29676 -5688.069 4947 29682 -5690.420 4949 29694 -5692.771 4951 29706 -5695.122 4954 29724 -5697.473 4957 29742 -5699.824 4959 29754 -5702.175 4962 29772 -5704.526 4965 29790 -5706.877 4967 29802 -5709.228 4973 29838 -5711.579 4976 29856 -5713.930 4976 29856 -5716.281 4977 29862 -5718.632 4984 29904 -5720.983 4986 29916 -5723.334 4987 29922 -5725.685 4989 29934 -5728.036 4991 29946 -5730.387 4994 29964 -5732.738 4996 29976 -5735.089 4997 29982 -5737.440 5000 30000 -5739.791 5001 30006 -5742.142 5004 30024 -5744.493 5006 30036 -5746.844 5010 30060 -5749.195 5011 30066 -5751.546 5013 30078 -5753.897 5015 30090 -5756.248 5017 30102 -5758.599 5019 30114 -5760.950 5021 30126 -5763.301 5021 30126 -5765.652 5025 30150 -5768.003 5026 30156 -5770.354 5028 30168 -5772.705 5029 30174 -5775.056 5031 30186 -5777.407 5035 30210 -5779.758 5036 30216 -5782.109 5038 30228 -5784.460 5038 30228 -5786.811 5040 30240 -5789.162 5045 30270 -5791.513 5049 30294 -5793.864 5049 30294 -5796.215 5051 30306 -5798.566 5053 30318 -5800.917 5055 30330 -5803.268 5058 30348 -5805.619 5058 30348 -5807.970 5059 30354 -5810.321 5059 30354 -5812.672 5063 30378 -5815.023 5066 30396 -5817.374 5067 30402 -5819.725 5068 30408 -5822.076 5069 30414 -5824.427 5072 30432 -5826.778 5075 30450 -5829.129 5077 30462 -5831.480 5078 30468 -5833.831 5080 30480 -5836.182 5082 30492 -5838.533 5085 30510 -5840.884 5086 30516 -5843.235 5088 30528 -5845.586 5089 30534 -5847.937 5093 30558 -5850.288 5095 30570 -5852.639 5097 30582 -5854.990 5098 30588 -5857.341 5100 30600 -5859.692 5106 30636 -5862.043 5106 30636 -5864.394 5108 30648 -5866.745 5113 30678 -5869.096 5116 30696 -5871.447 5117 30702 -5873.798 5118 30708 -5876.149 5122 30732 -5878.500 5124 30744 -5880.851 5124 30744 -5883.202 5126 30756 -5885.553 5130 30780 -5887.904 5132 30792 -5890.255 5134 30804 -5892.606 5135 30810 -5894.957 5140 30840 -5897.308 5140 30840 -5899.659 5141 30846 -5902.010 5147 30882 -5904.361 5148 30888 -5906.712 5149 30894 -5909.063 5151 30906 -5911.414 5157 30942 -5913.765 5159 30954 -5916.116 5161 30966 -5918.467 5162 30972 -5920.818 5163 30978 -5923.169 5167 31002 -5925.520 5169 31014 -5927.871 5170 31020 -5930.222 5170 31020 -5932.573 5172 31032 -5934.924 5176 31056 -5937.275 5177 31062 -5939.626 5178 31068 -5941.977 5179 31074 -5944.328 5184 31104 -5946.679 5187 31122 -5949.030 5188 31128 -5951.381 5191 31146 -5953.732 5194 31164 -5956.083 5196 31176 -5958.434 5197 31182 -5960.785 5198 31188 -5963.136 5198 31188 -5965.487 5201 31206 -5967.838 5204 31224 -5970.189 5206 31236 -5972.540 5206 31236 -5974.891 5210 31260 -5977.242 5214 31284 -5979.593 5214 31284 -5981.944 5216 31296 -5984.295 5217 31302 -5986.646 5221 31326 -5988.997 5222 31332 -5991.348 5226 31356 -5993.699 5226 31356 -5996.050 5229 31374 -5998.401 5232 31392 -6000.752 5235 31410 -6003.103 5236 31416 -6005.454 5238 31428 -6007.805 5240 31440 -6010.156 5241 31446 -6012.507 5244 31464 -6014.858 5246 31476 -6017.209 5249 31494 -6019.560 5249 31494 -6021.911 5253 31518 -6024.262 5257 31542 -6026.613 5257 31542 -6028.964 5258 31548 -6031.315 5262 31572 -6033.666 5264 31584 -6036.017 5267 31602 -6038.368 5269 31614 -6040.719 5271 31626 -6043.070 5271 31626 -6045.421 5275 31650 -6047.772 5276 31656 -6050.123 5277 31662 -6052.474 5279 31674 -6054.825 5282 31692 -6057.176 5283 31698 -6059.527 5285 31710 -6061.878 5286 31716 -6064.229 5290 31740 -6066.580 5290 31740 -6068.931 5293 31758 -6071.282 5299 31794 -6073.633 5301 31806 -6075.984 5301 31806 -6078.335 5304 31824 -6080.686 5307 31842 -6083.037 5310 31860 -6085.388 5310 31860 -6087.739 5312 31872 -6090.090 5315 31890 -6092.441 5316 31896 -6094.792 5319 31914 -6097.143 5321 31926 -6099.494 5322 31932 -6101.845 5324 31944 -6104.196 5328 31968 -6106.547 5329 31974 -6108.898 5331 31986 -6111.249 5331 31986 -6113.600 5335 32010 -6115.951 5339 32034 -6118.302 5340 32040 -6120.653 5341 32046 -6123.004 5342 32052 -6125.355 5344 32064 -6127.706 5347 32082 -6130.057 5348 32088 -6132.408 5351 32106 -6134.759 5354 32124 -6137.110 5356 32136 -6139.461 5357 32142 -6141.812 5358 32148 -6144.163 5360 32160 -6146.514 5362 32172 -6148.865 5363 32178 -6151.216 5367 32202 -6153.567 5368 32208 -6155.918 5368 32208 -6158.269 5369 32214 -6160.620 5371 32226 -6162.971 5374 32244 -6165.322 5377 32262 -6167.673 5377 32262 -6170.024 5380 32280 -6172.375 5384 32304 -6174.726 5385 32310 -6177.077 5387 32322 -6179.428 5390 32340 -6181.779 5391 32346 -6184.130 5392 32352 -6186.481 5396 32376 -6188.832 5399 32394 -6191.183 5399 32394 -6193.534 5402 32412 -6195.885 5404 32424 -6198.236 5406 32436 -6200.587 5407 32442 -6202.938 5408 32448 -6205.289 5412 32472 -6207.640 5414 32484 -6209.991 5415 32490 -6212.342 5416 32496 -6214.693 5421 32526 -6217.044 5427 32562 -6219.395 5427 32562 -6221.746 5428 32568 -6224.097 5430 32580 -6226.448 5435 32610 -6228.799 5437 32622 -6231.150 5437 32622 -6233.501 5441 32646 -6235.852 5443 32658 -6238.203 5445 32670 -6240.554 5448 32688 -6242.905 5450 32700 -6245.256 5451 32706 -6247.607 5452 32712 -6249.958 5456 32736 -6252.309 5457 32742 -6254.660 5460 32760 -6257.011 5462 32772 -6259.362 5467 32802 -6261.713 5469 32814 -6264.064 5470 32820 -6266.415 5473 32838 -6268.766 5479 32874 -6271.117 5479 32874 -6273.468 5480 32880 -6275.819 5481 32886 -6278.170 5486 32916 -6280.521 5487 32922 -6282.872 5488 32928 -6285.223 5488 32928 -6287.574 5490 32940 -6289.925 5495 32970 -6292.276 5495 32970 -6294.627 5497 32982 -6296.978 5498 32988 -6299.329 5501 33006 -6301.680 5505 33030 -6304.031 5509 33054 -6306.382 5511 33066 -6308.733 5513 33078 -6311.084 5514 33084 -6313.435 5518 33108 -6315.786 5518 33108 -6318.137 5521 33126 -6320.488 5522 33132 -6322.839 5526 33156 -6325.190 5527 33162 -6327.541 5527 33162 -6329.892 5528 33168 -6332.243 5529 33174 -6334.594 5531 33186 -6336.945 5536 33216 -6339.296 5536 33216 -6341.647 5538 33228 -6343.998 5539 33234 -6346.349 5541 33246 -6348.700 5543 33258 -6351.051 5547 33282 -6353.402 5549 33294 -6355.753 5549 33294 -6358.104 5553 33318 -6360.455 5554 33324 -6362.806 5556 33336 -6365.157 5557 33342 -6367.508 5560 33360 -6369.859 5561 33366 -6372.210 5563 33378 -6374.561 5566 33396 -6376.912 5567 33402 -6379.263 5567 33402 -6381.614 5569 33414 -6383.965 5573 33438 -6386.316 5575 33450 -6388.667 5576 33456 -6391.018 5577 33462 -6393.369 5579 33474 -6395.720 5585 33510 -6398.071 5587 33522 -6400.422 5588 33528 -6402.773 5590 33540 -6405.124 5593 33558 -6407.475 5595 33570 -6409.826 5596 33576 -6412.177 5596 33576 -6414.528 5601 33606 -6416.879 5603 33618 -6419.230 5607 33642 -6421.581 5609 33654 -6423.932 5611 33666 -6426.283 5612 33672 -6428.634 5613 33678 -6430.985 5616 33696 -6433.336 5620 33720 -6435.687 5622 33732 -6438.038 5623 33738 -6440.389 5624 33744 -6442.740 5626 33756 -6445.091 5632 33792 -6447.442 5633 33798 -6449.793 5635 33810 -6452.144 5637 33822 -6454.495 5640 33840 -6456.846 5642 33852 -6459.197 5644 33864 -6461.548 5647 33882 -6463.899 5650 33900 -6466.250 5651 33906 -6468.601 5651 33906 -6470.952 5653 33918 -6473.303 5655 33930 -6475.654 5658 33948 -6478.005 5660 33960 -6480.356 5660 33960 -6482.707 5663 33978 -6485.058 5664 33984 -6487.409 5669 34014 -6489.760 5669 34014 -6492.111 5670 34020 -6494.462 5677 34062 -6496.813 5678 34068 -6499.164 5679 34074 -6501.515 5680 34080 -6503.866 5686 34116 -6506.217 5687 34122 -6508.568 5689 34134 -6510.919 5689 34134 -6513.270 5691 34146 -6515.621 5696 34176 -6517.972 5697 34182 -6520.323 5698 34188 -6522.674 5700 34200 -6525.025 5704 34224 -6527.376 5706 34236 -6529.727 5707 34242 -6532.078 5708 34248 -6534.429 5712 34272 -6536.780 5713 34278 -6539.131 5716 34296 -6541.482 5718 34308 -6543.833 5720 34320 -6546.184 5722 34332 -6548.535 5724 34344 -6550.886 5726 34356 -6553.237 5729 34374 -6555.588 5729 34374 -6557.939 5732 34392 -6560.290 5735 34410 -6562.641 5738 34428 -6564.992 5738 34428 -6567.343 5740 34440 -6569.694 5744 34464 -6572.045 5749 34494 -6574.396 5750 34500 -6576.747 5751 34506 -6579.098 5757 34542 -6581.449 5758 34548 -6583.800 5758 34548 -6586.151 5763 34578 -6588.502 5766 34596 -6590.853 5766 34596 -6593.204 5767 34602 -6595.555 5769 34614 -6597.906 5775 34650 -6600.257 5776 34656 -6602.608 5778 34668 -6604.959 5781 34686 -6607.310 5784 34704 -6609.661 5784 34704 -6612.012 5786 34716 -6614.363 5788 34728 -6616.714 5788 34728 -6619.065 5791 34746 -6621.416 5794 34764 -6623.767 5795 34770 -6626.118 5796 34776 -6628.469 5797 34782 -6630.820 5802 34812 -6633.171 5805 34830 -6635.522 5808 34848 -6637.873 5810 34860 -6640.224 5813 34878 -6642.575 5816 34896 -6644.926 5819 34914 -6647.277 5819 34914 -6649.628 5820 34920 -6651.979 5825 34950 -6654.330 5826 34956 -6656.681 5827 34962 -6659.032 5828 34968 -6661.383 5831 34986 -6663.734 5833 34998 -6666.085 5836 35016 -6668.436 5837 35022 -6670.787 5842 35052 -6673.138 5843 35058 -6675.489 5845 35070 -6677.840 5845 35070 -6680.191 5852 35112 -6682.542 5854 35124 -6684.893 5855 35130 -6687.244 5857 35142 -6689.595 5859 35154 -6691.946 5863 35178 -6694.297 5864 35184 -6696.648 5865 35190 -6698.999 5866 35196 -6701.350 5869 35214 -6703.701 5872 35232 -6706.052 5874 35244 -6708.403 5876 35256 -6710.754 5877 35262 -6713.105 5879 35274 -6715.456 5882 35292 -6717.807 5885 35310 -6720.158 5888 35328 -6722.509 5888 35328 -6724.860 5892 35352 -6727.211 5896 35376 -6729.562 5896 35376 -6731.913 5899 35394 -6734.264 5899 35394 -6736.615 5904 35424 -6738.966 5905 35430 -6741.317 5908 35448 -6743.668 5908 35448 -6746.019 5911 35466 -6748.370 5913 35478 -6750.721 5914 35484 -6753.072 5915 35490 -6755.423 5917 35502 -6757.774 5920 35520 -6760.125 5923 35538 -6762.476 5926 35556 -6764.827 5927 35562 -6767.178 5930 35580 -6769.529 5931 35586 -6771.880 5934 35604 -6774.231 5934 35604 -6776.582 5938 35628 -6778.933 5939 35634 -6781.284 5941 35646 -6783.635 5943 35658 -6785.986 5944 35664 -6788.337 5948 35688 -6790.688 5950 35700 -6793.039 5952 35712 -6795.390 5954 35724 -6797.741 5956 35736 -6800.092 5958 35748 -6802.443 5962 35772 -6804.794 5962 35772 -6807.145 5964 35784 -6809.496 5965 35790 -6811.847 5969 35814 -6814.198 5971 35826 -6816.549 5975 35850 -6818.900 5976 35856 -6821.251 5978 35868 -6823.602 5979 35874 -6825.953 5981 35886 -6828.304 5983 35898 -6830.655 5987 35922 -6833.006 5991 35946 -6835.357 5991 35946 -6837.708 5993 35958 -6840.059 5997 35982 -6842.410 5999 35994 -6844.761 6001 36006 -6847.112 6004 36024 -6849.463 6008 36048 -6851.814 6011 36066 -6854.165 6014 36084 -6856.516 6014 36084 -6858.867 6019 36114 -6861.218 6022 36132 -6863.569 6023 36138 -6865.920 6025 36150 -6868.271 6027 36162 -6870.622 6031 36186 -6872.973 6035 36210 -6875.324 6036 36216 -6877.675 6038 36228 -6880.026 6041 36246 -6882.377 6043 36258 -6884.728 6046 36276 -6887.079 6048 36288 -6889.430 6049 36294 -6891.781 6053 36318 -6894.132 6055 36330 -6896.483 6058 36348 -6898.834 6059 36354 -6901.185 6063 36378 -6903.536 6065 36390 -6905.887 6069 36414 -6908.238 6070 36420 -6910.589 6070 36420 -6912.940 6077 36462 -6915.291 6078 36468 -6917.642 6080 36480 -6919.993 6086 36516 -6922.344 6092 36552 -6924.695 6094 36564 -6927.046 6095 36570 -6929.397 6101 36606 -6931.748 6106 36636 -6934.099 6107 36642 -6936.450 6110 36660 -6938.801 6114 36684 -6941.152 6115 36690 -6943.503 6119 36714 -6945.854 6122 36732 -6948.205 6124 36744 -6950.556 6126 36756 -6952.907 6130 36780 -6955.258 6131 36786 -6957.609 6135 36810 -6959.960 6135 36810 -6962.311 6138 36828 -6964.662 6142 36852 -6967.013 6145 36870 -6969.364 6148 36888 -6971.715 6150 36900 -6974.066 6154 36924 -6976.417 6154 36924 -6978.768 6159 36954 -6981.119 6160 36960 -6983.470 6162 36972 -6985.821 6166 36996 -6988.172 6168 37008 -6990.523 6168 37008 -6992.874 6171 37026 -6995.225 6173 37038 -6997.576 6175 37050 -6999.927 6180 37080 -7002.278 6181 37086 -7004.629 6183 37098 -7006.980 6189 37134 -7009.331 6191 37146 -7011.682 6192 37152 -7014.033 6195 37170 -7016.384 6197 37182 -7018.735 6199 37194 -7021.086 6201 37206 -7023.437 6204 37224 -7025.788 6207 37242 -7028.139 6210 37260 -7030.490 6212 37272 -7032.841 6218 37308 -7035.192 6222 37332 -7037.543 6224 37344 -7039.894 6226 37356 -7042.245 6228 37368 -7044.596 6229 37374 -7046.947 6233 37398 -7049.298 6237 37422 -7051.649 6240 37440 -7054.000 6241 37446 -7056.351 6244 37464 -7058.702 6247 37482 -7061.053 6249 37494 -7063.404 6254 37524 -7065.755 6255 37530 -7068.106 6256 37536 -7070.457 6258 37548 -7072.808 6262 37572 -7075.159 6263 37578 -7077.510 6265 37590 -7079.861 6271 37626 -7082.212 6272 37632 -7084.563 6274 37644 -7086.914 6278 37668 -7089.265 6279 37674 -7091.616 6283 37698 -7093.967 6285 37710 -7096.318 6290 37740 -7098.669 6291 37746 -7101.020 6294 37764 -7103.371 6296 37776 -7105.722 6302 37812 -7108.073 6303 37818 -7110.424 6304 37824 -7112.775 6306 37836 -7115.126 6310 37860 -7117.477 6311 37866 -7119.828 6312 37872 -7122.179 6316 37896 -7124.530 6320 37920 -7126.881 6322 37932 -7129.232 6323 37938 -7131.583 6327 37962 -7133.934 6331 37986 -7136.285 6332 37992 -7138.636 6335 38010 -7140.987 6337 38022 -7143.338 6340 38040 -7145.689 6343 38058 -7148.040 6344 38064 -7150.391 6346 38076 -7152.742 6348 38088 -7155.093 6353 38118 -7157.444 6354 38124 -7159.795 6356 38136 -7162.146 6359 38154 -7164.497 6359 38154 -7166.848 6361 38166 -7169.199 6363 38178 -7171.550 6364 38184 -7173.901 6366 38196 -7176.252 6367 38202 -7178.603 6368 38208 -7180.954 6369 38214 -7183.305 6369 38214 -7185.656 6371 38226 -7188.007 6372 38232 -7190.358 6374 38244 -7192.709 6374 38244 -7195.060 6376 38256 -7197.411 6377 38262 -7199.762 6378 38268 -7202.113 6380 38280 -7204.464 6381 38286 -7206.815 6382 38292 -7209.166 6384 38304 -7211.517 6386 38316 -7213.868 6386 38316 -7216.219 6387 38322 -7218.570 6388 38328 -7220.921 6389 38334 -7223.272 6390 38340 -7225.623 6393 38358 -7227.974 6393 38358 -7230.325 6394 38364 -7232.676 6396 38376 -7235.027 6397 38382 -7237.378 6399 38394 -7239.729 6401 38406 -7242.080 6404 38424 -7244.431 6404 38424 -7246.782 6406 38436 -7249.133 6410 38460 -7251.484 6412 38472 -7253.835 6413 38478 -7256.186 6415 38490 -7258.537 6421 38526 -7260.888 6422 38532 -7263.239 6429 38574 -7265.590 6430 38580 -7267.941 6432 38592 -7270.292 6439 38634 -7272.643 6443 38658 -7274.994 6445 38670 -7277.345 6445 38670 -7279.696 6447 38682 -7282.047 6450 38700 -7284.398 6455 38730 -7286.749 6456 38736 -7289.100 6458 38748 -7291.451 6463 38778 -7293.802 6465 38790 -7296.153 6469 38814 -7298.504 6469 38814 -7300.855 6474 38844 -7303.206 6477 38862 -7305.557 6477 38862 -7307.908 6482 38892 -7310.259 6484 38904 -7312.610 6485 38910 -7314.961 6486 38916 -7317.312 6489 38934 -7319.663 6496 38976 -7322.014 6498 38988 -7324.365 6502 39012 -7326.716 6508 39048 -7329.067 6508 39048 -7331.418 6510 39060 -7333.769 6512 39072 -7336.120 6518 39108 -7338.471 6518 39108 -7340.822 6520 39120 -7343.173 6521 39126 -7345.524 6524 39144 -7347.875 6526 39156 -7350.226 6527 39162 -7352.577 6531 39186 -7354.928 6534 39204 -7357.279 6541 39246 -7359.630 6542 39252 -7361.981 6542 39252 -7364.332 6544 39264 -7366.683 6545 39270 -7369.034 6551 39306 -7371.385 6553 39318 -7373.736 6553 39318 -7376.087 6558 39348 -7378.438 6561 39366 -7380.789 6564 39384 -7383.140 6564 39384 -7385.491 6565 39390 -7387.842 6569 39414 -7390.193 6578 39468 -7392.544 6579 39474 -7394.895 6582 39492 -7397.246 6585 39510 -7399.597 6586 39516 -7401.948 6589 39534 -7404.299 6590 39540 -7406.650 6591 39546 -7409.001 6594 39564 -7411.352 6594 39564 -7413.703 6595 39570 -7416.054 6597 39582 -7418.405 6598 39588 -7420.756 6600 39600 -7423.107 6601 39606 -7425.458 6602 39612 -7427.809 6604 39624 -7430.160 6606 39636 -7432.511 6606 39636 -7434.862 6607 39642 -7437.213 6609 39654 -7439.564 6610 39660 -7441.915 6610 39660 -7444.266 6613 39678 -7446.617 6614 39684 -7448.968 6616 39696 -7451.319 6618 39708 -7453.670 6618 39708 -7456.021 6620 39720 -7458.372 6622 39732 -7460.723 6624 39744 -7463.074 6625 39750 -7465.425 6626 39756 -7467.776 6626 39756 -7470.127 6627 39762 -7472.478 6628 39768 -7474.829 6629 39774 -7477.180 6630 39780 -7479.531 6633 39798 -7481.882 6633 39798 -7484.233 6634 39804 -7486.584 6637 39822 -7488.935 6637 39822 -7491.286 6638 39828 -7493.637 6640 39840 -7495.988 6640 39840 -7498.339 6641 39846 -7500.690 6643 39858 -7503.041 6645 39870 -7505.392 6645 39870 -7507.743 6647 39882 -7510.094 6648 39888 -7512.445 6649 39894 -7514.796 6650 39900 -7517.147 6651 39906 -7519.498 6652 39912 -7521.849 6653 39918 -7524.200 6654 39924 -7526.551 6655 39930 -7528.902 6656 39936 -7531.253 6659 39954 -7533.604 6661 39966 -7535.955 6662 39972 -7538.306 6663 39978 -7540.657 6666 39996 -7543.008 6667 40002 -7545.359 6667 40002 -7547.710 6669 40014 -7550.061 6669 40014 -7552.412 6671 40026 -7554.763 6673 40038 -7557.114 6673 40038 -7559.465 6675 40050 -7561.816 6679 40074 -7564.167 6679 40074 -7566.518 6680 40080 -7568.869 6682 40092 -7571.220 6683 40098 -7573.571 6684 40104 -7575.922 6686 40116 -7578.273 6688 40128 -7580.624 6692 40152 -7582.975 6693 40158 -7585.326 6693 40158 -7587.677 6694 40164 -7590.028 6695 40170 -7592.379 6697 40182 -7594.730 6698 40188 -7597.081 6699 40194 -7599.432 6702 40212 -7601.783 6703 40218 -7604.134 6704 40224 -7606.485 6707 40242 -7608.836 6707 40242 -7611.187 6708 40248 -7613.538 6711 40266 -7615.889 6711 40266 -7618.240 6712 40272 -7620.591 6712 40272 -7622.942 6715 40290 -7625.293 6715 40290 -7627.644 6716 40296 -7629.995 6718 40308 -7632.346 6720 40320 -7634.697 6720 40320 -7637.048 6722 40332 -7639.399 6722 40332 -7641.750 6723 40338 -7644.101 6724 40344 -7646.452 6724 40344 -7648.803 6725 40350 -7651.154 6726 40356 -7653.505 6728 40368 -7655.856 6731 40386 -7658.207 6732 40392 -7660.558 6734 40404 -7662.909 6735 40410 -7665.260 6736 40416 -7667.611 6739 40434 -7669.962 6740 40440 -7672.313 6740 40440 -7674.664 6743 40458 -7677.015 6744 40464 -7679.366 6744 40464 -7681.717 6745 40470 -7684.068 6748 40488 -7686.419 6748 40488 -7688.770 6750 40500 -7691.121 6752 40512 -7693.472 6756 40536 -7695.823 6757 40542 -7698.174 6757 40542 -7700.525 6761 40566 -7702.876 6761 40566 -7705.227 6762 40572 -7707.578 6763 40578 -7709.929 6765 40590 -7712.280 6766 40596 -7714.631 6767 40602 -7716.982 6768 40608 -7719.333 6771 40626 -7721.684 6772 40632 -7724.035 6772 40632 -7726.386 6773 40638 -7728.737 6775 40650 -7731.088 6776 40656 -7733.439 6777 40662 -7735.790 6777 40662 -7738.141 6778 40668 -7740.492 6780 40680 -7742.843 6781 40686 -7745.194 6781 40686 -7747.545 6784 40704 -7749.896 6785 40710 -7752.247 6785 40710 -7754.598 6788 40728 -7756.949 6789 40734 -7759.300 6790 40740 -7761.651 6792 40752 -7764.002 6793 40758 -7766.353 6794 40764 -7768.704 6796 40776 -7771.055 6797 40782 -7773.406 6799 40794 -7775.757 6801 40806 -7778.108 6801 40806 -7780.459 6802 40812 -7782.810 6805 40830 -7785.161 6805 40830 -7787.512 6807 40842 -7789.863 6807 40842 -7792.214 6809 40854 -7794.565 6809 40854 -7796.916 6811 40866 -7799.267 6813 40878 -7801.618 6814 40884 -7803.969 6815 40890 -7806.320 6816 40896 -7808.671 6817 40902 -7811.022 6818 40908 -7813.373 6818 40908 -7815.724 6819 40914 -7818.075 6821 40926 -7820.426 6823 40938 -7822.777 6823 40938 -7825.128 6824 40944 -7827.479 6826 40956 -7829.830 6826 40956 -7832.181 6827 40962 -7834.532 6828 40968 -7836.883 6830 40980 -7839.234 6831 40986 -7841.585 6834 41004 -7843.936 6836 41016 -7846.287 6837 41022 -7848.638 6840 41040 -7850.989 6841 41046 -7853.340 6842 41052 -7855.691 6843 41058 -7858.042 6846 41076 -7860.393 6846 41076 -7862.744 6848 41088 -7865.095 6851 41106 -7867.446 6851 41106 -7869.797 6854 41124 -7872.148 6855 41130 -7874.499 6857 41142 -7876.850 6859 41154 -7879.201 6859 41154 -7881.552 6861 41166 -7883.903 6863 41178 -7886.254 6863 41178 -7888.605 6864 41184 -7890.956 6866 41196 -7893.307 6868 41208 -7895.658 6868 41208 -7898.009 6870 41220 -7900.360 6872 41232 -7902.711 6876 41256 -7905.062 6878 41268 -7907.413 6879 41274 -7909.764 6881 41286 -7912.115 6883 41298 -7914.466 6883 41298 -7916.817 6884 41304 -7919.168 6886 41316 -7921.519 6888 41328 -7923.870 6889 41334 -7926.221 6890 41340 -7928.572 6891 41346 -7930.923 6892 41352 -7933.274 6892 41352 -7935.625 6894 41364 -7937.976 6895 41370 -7940.327 6896 41376 -7942.678 6898 41388 -7945.029 6899 41394 -7947.380 6900 41400 -7949.731 6901 41406 -7952.082 6903 41418 -7954.433 6904 41424 -7956.784 6904 41424 -7959.135 6906 41436 -7961.486 6907 41442 -7963.837 6908 41448 -7966.188 6908 41448 -7968.539 6911 41466 -7970.890 6912 41472 -7973.241 6912 41472 -7975.592 6914 41484 -7977.943 6916 41496 -7980.294 6919 41514 -7982.645 6921 41526 -7984.996 6922 41532 -7987.347 6924 41544 -7989.698 6925 41550 -7992.049 6926 41556 -7994.400 6928 41568 -7996.751 6928 41568 -7999.102 6929 41574 -8001.453 6930 41580 -8003.804 6931 41586 -8006.155 6932 41592 -8008.506 6934 41604 -8010.857 6935 41610 -8013.208 6936 41616 -8015.559 6938 41628 -8017.910 6939 41634 -8020.261 6941 41646 -8022.612 6942 41652 -8024.963 6942 41652 -8027.314 6943 41658 -8029.665 6945 41670 -8032.016 6946 41676 -8034.367 6947 41682 -8036.718 6947 41682 -8039.069 6949 41694 -8041.420 6949 41694 -8043.771 6950 41700 -8046.122 6953 41718 -8048.473 6955 41730 -8050.824 6957 41742 -8053.175 6959 41754 -8055.526 6961 41766 -8057.877 6963 41778 -8060.228 6965 41790 -8062.579 6965 41790 -8064.930 6967 41802 -8067.281 6969 41814 -8069.632 6969 41814 -8071.983 6973 41838 -8074.334 6973 41838 -8076.685 6977 41862 -8079.036 6977 41862 -8081.387 6978 41868 -8083.738 6981 41886 -8086.089 6982 41892 -8088.440 6983 41898 -8090.791 6986 41916 -8093.142 6988 41928 -8095.493 6989 41934 -8097.844 6989 41934 -8100.195 6991 41946 -8102.546 6993 41958 -8104.897 6993 41958 -8107.248 6994 41964 -8109.599 6996 41976 -8111.950 6996 41976 -8114.301 6998 41988 -8116.652 6998 41988 -8119.003 7000 42000 -8121.354 7000 42000 -8123.705 7002 42012 -8126.056 7004 42024 -8128.407 7004 42024 -8130.758 7006 42036 -8133.109 7006 42036 -8135.460 7008 42048 -8137.811 7010 42060 -8140.162 7012 42072 -8142.513 7013 42078 -8144.864 7015 42090 -8147.215 7016 42096 -8149.566 7017 42102 -8151.917 7018 42108 -8154.268 7019 42114 -8156.619 7021 42126 -8158.970 7023 42138 -8161.321 7024 42144 -8163.672 7025 42150 -8166.023 7026 42156 -8168.374 7027 42162 -8170.725 7030 42180 -8173.076 7031 42186 -8175.427 7031 42186 -8177.778 7032 42192 -8180.129 7035 42210 -8182.480 7036 42216 -8184.831 7038 42228 -8187.182 7040 42240 -8189.533 7040 42240 -8191.884 7042 42252 -8194.235 7044 42264 -8196.586 7044 42264 -8198.937 7045 42270 -8201.288 7046 42276 -8203.639 7048 42288 -8205.990 7050 42300 -8208.341 7053 42318 -8210.692 7053 42318 -8213.043 7056 42336 -8215.394 7057 42342 -8217.745 7057 42342 -8220.096 7059 42354 -8222.447 7061 42366 -8224.798 7063 42378 -8227.149 7067 42402 -8229.500 7067 42402 -8231.851 7069 42414 -8234.202 7071 42426 -8236.553 7073 42438 -8238.904 7076 42456 -8241.255 7077 42462 -8243.606 7077 42462 -8245.957 7080 42480 -8248.308 7081 42486 -8250.659 7082 42492 -8253.010 7084 42504 -8255.361 7085 42510 -8257.712 7086 42516 -8260.063 7088 42528 -8262.414 7090 42540 -8264.765 7093 42558 -8267.116 7094 42564 -8269.467 7094 42564 -8271.818 7097 42582 -8274.169 7098 42588 -8276.520 7099 42594 -8278.871 7100 42600 -8281.222 7103 42618 -8283.573 7105 42630 -8285.924 7107 42642 -8288.275 7108 42648 -8290.626 7109 42654 -8292.977 7110 42660 -8295.328 7111 42666 -8297.679 7113 42678 -8300.030 7113 42678 -8302.381 7115 42690 -8304.732 7117 42702 -8307.083 7117 42702 -8309.434 7118 42708 -8311.785 7119 42714 -8314.136 7119 42714 -8316.487 7121 42726 -8318.838 7122 42732 -8321.189 7122 42732 -8323.540 7123 42738 -8325.891 7126 42756 -8328.242 7126 42756 -8330.593 7127 42762 -8332.944 7130 42780 -8335.295 7130 42780 -8337.646 7130 42780 -8339.997 7134 42804 -8342.348 7135 42810 -8344.699 7136 42816 -8347.050 7137 42822 -8349.401 7138 42828 -8351.752 7139 42834 -8354.103 7141 42846 -8356.454 7142 42852 -8358.805 7144 42864 -8361.156 7144 42864 -8363.507 7145 42870 -8365.858 7148 42888 -8368.209 7148 42888 -8370.560 7149 42894 -8372.911 7150 42900 -8375.262 7152 42912 -8377.613 7153 42918 -8379.964 7155 42930 -8382.315 7158 42948 -8384.666 7158 42948 -8387.017 7159 42954 -8389.368 7161 42966 -8391.719 7161 42966 -8394.070 7162 42972 -8396.421 7164 42984 -8398.772 7164 42984 -8401.123 7166 42996 -8403.474 7167 43002 -8405.825 7169 43014 -8408.176 7171 43026 -8410.527 7172 43032 -8412.878 7174 43044 -8415.229 7176 43056 -8417.580 7176 43056 -8419.931 7178 43068 -8422.282 7179 43074 -8424.633 7180 43080 -8426.984 7181 43086 -8429.335 7183 43098 -8431.686 7184 43104 -8434.037 7185 43110 -8436.388 7188 43128 -8438.739 7189 43134 -8441.090 7192 43152 -8443.441 7193 43158 -8445.792 7193 43158 -8448.143 7196 43176 -8450.494 7197 43182 -8452.845 7197 43182 -8455.196 7200 43200 -8457.547 7201 43206 -8459.898 7205 43230 -8462.249 7207 43242 -8464.600 7207 43242 -8466.951 7208 43248 -8469.302 7210 43260 -8471.653 7211 43266 -8474.004 7213 43278 -8476.355 7214 43284 -8478.706 7215 43290 -8481.057 7217 43302 -8483.408 7218 43308 -8485.759 7219 43314 -8488.110 7221 43326 -8490.461 7223 43338 -8492.812 7223 43338 -8495.163 7224 43344 -8497.514 7226 43356 -8499.865 7227 43362 -8502.216 7229 43374 -8504.567 7230 43380 -8506.918 7231 43386 -8509.269 7232 43392 -8511.620 7234 43404 -8513.971 7235 43410 -8516.322 7235 43410 -8518.673 7236 43416 -8521.024 7237 43422 -8523.375 7239 43434 -8525.726 7240 43440 -8528.077 7243 43458 -8530.428 7243 43458 -8532.779 7245 43470 -8535.130 7247 43482 -8537.481 7251 43506 -8539.832 7251 43506 -8542.183 7255 43530 -8544.534 7255 43530 -8546.885 7258 43548 -8549.236 7259 43554 -8551.587 7259 43554 -8553.938 7263 43578 -8556.289 7263 43578 -8558.640 7266 43596 -8560.991 7267 43602 -8563.342 7267 43602 -8565.693 7269 43614 -8568.044 7270 43620 -8570.395 7271 43626 -8572.746 7271 43626 -8575.097 7272 43632 -8577.448 7274 43644 -8579.799 7275 43650 -8582.150 7275 43650 -8584.501 7276 43656 -8586.852 7277 43662 -8589.203 7279 43674 -8591.554 7281 43686 -8593.905 7281 43686 -8596.256 7284 43704 -8598.607 7286 43716 -8600.958 7287 43722 -8603.309 7290 43740 -8605.660 7290 43740 -8608.011 7292 43752 -8610.362 7294 43764 -8612.713 7296 43776 -8615.064 7297 43782 -8617.415 7298 43788 -8619.766 7300 43800 -8622.117 7302 43812 -8624.468 7303 43818 -8626.819 7304 43824 -8629.170 7306 43836 -8631.521 7306 43836 -8633.872 7308 43848 -8636.223 7309 43854 -8638.574 7311 43866 -8640.925 7311 43866 -8643.276 7313 43878 -8645.627 7313 43878 -8647.978 7315 43890 -8650.329 7316 43896 -8652.680 7319 43914 -8655.031 7320 43920 -8657.382 7321 43926 -8659.733 7324 43944 -8662.084 7324 43944 -8664.435 7325 43950 -8666.786 7326 43956 -8669.137 7326 43956 -8671.488 7328 43968 -8673.839 7328 43968 -8676.190 7330 43980 -8678.541 7330 43980 -8680.892 7331 43986 -8683.243 7332 43992 -8685.594 7333 43998 -8687.945 7334 44004 -8690.296 7337 44022 -8692.647 7337 44022 -8694.998 7339 44034 -8697.349 7340 44040 -8699.700 7340 44040 -8702.051 7341 44046 -8704.402 7343 44058 -8706.753 7344 44064 -8709.104 7345 44070 -8711.455 7346 44076 -8713.806 7346 44076 -8716.157 7348 44088 -8718.508 7348 44088 -8720.859 7350 44100 -8723.210 7352 44112 -8725.561 7353 44118 -8727.912 7353 44118 -8730.263 7355 44130 -8732.614 7356 44136 -8734.965 7358 44148 -8737.316 7359 44154 -8739.667 7360 44160 -8742.018 7360 44160 -8744.369 7362 44172 -8746.720 7363 44178 -8749.071 7364 44184 -8751.422 7366 44196 -8753.773 7366 44196 -8756.124 7368 44208 -8758.475 7368 44208 -8760.826 7369 44214 -8763.177 7370 44220 -8765.528 7372 44232 -8767.879 7372 44232 -8770.230 7374 44244 -8772.581 7374 44244 -8774.932 7376 44256 -8777.283 7377 44262 -8779.634 7379 44274 -8781.985 7379 44274 -8784.336 7381 44286 -8786.687 7383 44298 -8789.038 7385 44310 -8791.389 7386 44316 -8793.740 7387 44322 -8796.091 7388 44328 -8798.442 7390 44340 -8800.793 7391 44346 -8803.144 7392 44352 -8805.495 7394 44364 -8807.846 7395 44370 -8810.197 7396 44376 -8812.548 7396 44376 -8814.899 7398 44388 -8817.250 7398 44388 -8819.601 7399 44394 -8821.952 7401 44406 -8824.303 7402 44412 -8826.654 7403 44418 -8829.005 7406 44436 -8831.356 7407 44442 -8833.707 7407 44442 -8836.058 7410 44460 -8838.409 7411 44466 -8840.760 7414 44484 -8843.111 7416 44496 -8845.462 7418 44508 -8847.813 7418 44508 -8850.164 7420 44520 -8852.515 7422 44532 -8854.866 7425 44550 -8857.217 7425 44550 -8859.568 7426 44556 -8861.919 7428 44568 -8864.270 7429 44574 -8866.621 7430 44580 -8868.972 7432 44592 -8871.323 7434 44604 -8873.674 7434 44604 -8876.025 7437 44622 -8878.376 7438 44628 -8880.727 7438 44628 -8883.078 7441 44646 -8885.429 7442 44652 -8887.780 7443 44658 -8890.131 7446 44676 -8892.482 7446 44676 -8894.833 7448 44688 -8897.184 7450 44700 -8899.535 7451 44706 -8901.886 7452 44712 -8904.237 7453 44718 -8906.588 7454 44724 -8908.939 7457 44742 -8911.290 7459 44754 -8913.641 7459 44754 -8915.992 7460 44760 -8918.343 7463 44778 -8920.694 7464 44784 -8923.045 7464 44784 -8925.396 7467 44802 -8927.747 7467 44802 -8930.098 7468 44808 -8932.449 7468 44808 -8934.800 7470 44820 -8937.151 7472 44832 -8939.502 7473 44838 -8941.853 7475 44850 -8944.204 7477 44862 -8946.555 7478 44868 -8948.906 7481 44886 -8951.257 7481 44886 -8953.608 7484 44904 -8955.959 7487 44922 -8958.310 7488 44928 -8960.661 7490 44940 -8963.012 7491 44946 -8965.363 7492 44952 -8967.714 7494 44964 -8970.065 7494 44964 -8972.416 7495 44970 -8974.767 7496 44976 -8977.118 7498 44988 -8979.469 7499 44994 -8981.820 7499 44994 -8984.171 7502 45012 -8986.522 7502 45012 -8988.873 7503 45018 -8991.224 7505 45030 -8993.575 7507 45042 -8995.926 7508 45048 -8998.277 7509 45054 -9000.628 7511 45066 -9002.979 7512 45072 -9005.330 7514 45084 -9007.681 7515 45090 -9010.032 7516 45096 -9012.383 7518 45108 -9014.734 7519 45114 -9017.085 7521 45126 -9019.436 7522 45132 -9021.787 7525 45150 -9024.138 7526 45156 -9026.489 7528 45168 -9028.840 7528 45168 -9031.191 7529 45174 -9033.542 7532 45192 -9035.893 7532 45192 -9038.244 7534 45204 -9040.595 7536 45216 -9042.946 7536 45216 -9045.297 7537 45222 -9047.648 7540 45240 -9049.999 7541 45246 -9052.350 7541 45246 -9054.701 7542 45252 -9057.052 7543 45258 -9059.403 7545 45270 -9061.754 7546 45276 -9064.105 7546 45276 -9066.456 7547 45282 -9068.807 7548 45288 -9071.158 7550 45300 -9073.509 7550 45300 -9075.860 7551 45306 -9078.211 7552 45312 -9080.562 7553 45318 -9082.913 7556 45336 -9085.264 7557 45342 -9087.615 7559 45354 -9089.966 7561 45366 -9092.317 7563 45378 -9094.668 7563 45378 -9097.019 7565 45390 -9099.370 7567 45402 -9101.721 7567 45402 -9104.072 7570 45420 -9106.423 7571 45426 -9108.774 7573 45438 -9111.125 7575 45450 -9113.476 7575 45450 -9115.827 7576 45456 -9118.178 7577 45462 -9120.529 7579 45474 -9122.880 7580 45480 -9125.231 7580 45480 -9127.582 7582 45492 -9129.933 7585 45510 -9132.284 7585 45510 -9134.635 7587 45522 -9136.986 7589 45534 -9139.337 7590 45540 -9141.688 7591 45546 -9144.039 7593 45558 -9146.390 7594 45564 -9148.741 7595 45570 -9151.092 7597 45582 -9153.443 7598 45588 -9155.794 7599 45594 -9158.145 7599 45594 -9160.496 7601 45606 -9162.847 7603 45618 -9165.198 7604 45624 -9167.549 7607 45642 -9169.900 7607 45642 -9172.251 7610 45660 -9174.602 7610 45660 -9176.953 7611 45666 -9179.304 7612 45672 -9181.655 7615 45690 -9184.006 7616 45696 -9186.357 7618 45708 -9188.708 7619 45714 -9191.059 7620 45720 -9193.410 7622 45732 -9195.761 7622 45732 -9198.112 7624 45744 -9200.463 7626 45756 -9202.814 7626 45756 -9205.165 7629 45774 -9207.516 7630 45780 -9209.867 7630 45780 -9212.218 7632 45792 -9214.569 7634 45804 -9216.920 7635 45810 -9219.271 7638 45828 -9221.622 7640 45840 -9223.973 7642 45852 -9226.324 7646 45876 -9228.675 7646 45876 -9231.026 7649 45894 -9233.377 7650 45900 -9235.728 7652 45912 -9238.079 7654 45924 -9240.430 7655 45930 -9242.781 7657 45942 -9245.132 7658 45948 -9247.483 7658 45948 -9249.834 7660 45960 -9252.185 7661 45966 -9254.536 7662 45972 -9256.887 7664 45984 -9259.238 7666 45996 -9261.589 7666 45996 -9263.940 7667 46002 -9266.291 7669 46014 -9268.642 7670 46020 -9270.993 7671 46026 -9273.344 7674 46044 -9275.695 7674 46044 -9278.046 7675 46050 -9280.397 7677 46062 -9282.748 7678 46068 -9285.099 7678 46068 -9287.450 7679 46074 -9289.801 7681 46086 -9292.152 7682 46092 -9294.503 7683 46098 -9296.854 7686 46116 -9299.205 7689 46134 -9301.556 7690 46140 -9303.907 7692 46152 -9306.258 7695 46170 -9308.609 7696 46176 -9310.960 7696 46176 -9313.311 7697 46182 -9315.662 7700 46200 -9318.013 7700 46200 -9320.364 7701 46206 -9322.715 7704 46224 -9325.066 7705 46230 -9327.417 7707 46242 -9329.768 7709 46254 -9332.119 7709 46254 -9334.470 7713 46278 -9336.821 7713 46278 -9339.172 7714 46284 -9341.523 7716 46296 -9343.874 7717 46302 -9346.225 7717 46302 -9348.576 7719 46314 -9350.927 7721 46326 -9353.278 7723 46338 -9355.629 7723 46338 -9357.980 7726 46356 -9360.331 7727 46362 -9362.682 7727 46362 -9365.033 7730 46380 -9367.384 7733 46398 -9369.735 7733 46398 -9372.086 7736 46416 -9374.437 7737 46422 -9376.788 7738 46428 -9379.139 7740 46440 -9381.490 7741 46446 -9383.841 7743 46458 -9386.192 7744 46464 -9388.543 7746 46476 -9390.894 7747 46482 -9393.245 7747 46482 -9395.596 7748 46488 -9397.947 7750 46500 -9400.298 7751 46506 -9402.649 7753 46518 -9405.000 7755 46530 -9407.351 7757 46542 -9409.702 7758 46548 -9412.053 7759 46554 -9414.404 7760 46560 -9416.755 7762 46572 -9419.106 7763 46578 -9421.457 7764 46584 -9423.808 7765 46590 -9426.159 7768 46608 -9428.510 7769 46614 -9430.861 7770 46620 -9433.212 7773 46638 -9435.563 7774 46644 -9437.914 7776 46656 -9440.265 7778 46668 -9442.616 7780 46680 -9444.967 7781 46686 -9447.318 7781 46686 -9449.669 7783 46698 -9452.020 7783 46698 -9454.371 7784 46704 -9456.722 7787 46722 -9459.073 7787 46722 -9461.424 7788 46728 -9463.775 7791 46746 -9466.126 7791 46746 -9468.477 7793 46758 -9470.828 7795 46770 -9473.179 7795 46770 -9475.530 7796 46776 -9477.881 7799 46794 -9480.232 7799 46794 -9482.583 7800 46800 -9484.934 7803 46818 -9487.285 7803 46818 -9489.636 7805 46830 -9491.987 7807 46842 -9494.338 7811 46866 -9496.689 7812 46872 -9499.040 7814 46884 -9501.391 7815 46890 -9503.742 7816 46896 -9506.093 7817 46902 -9508.444 7818 46908 -9510.795 7820 46920 -9513.146 7820 46920 -9515.497 7822 46932 -9517.848 7823 46938 -9520.199 7824 46944 -9522.550 7826 46956 -9524.901 7828 46968 -9527.252 7829 46974 -9529.603 7829 46974 -9531.954 7830 46980 -9534.305 7832 46992 -9536.656 7834 47004 -9539.007 7834 47004 -9541.358 7836 47016 -9543.709 7838 47028 -9546.060 7842 47052 -9548.411 7842 47052 -9550.762 7844 47064 -9553.113 7846 47076 -9555.464 7847 47082 -9557.815 7849 47094 -9560.166 7851 47106 -9562.517 7853 47118 -9564.868 7855 47130 -9567.219 7857 47142 -9569.570 7861 47166 -9571.921 7861 47166 -9574.272 7865 47190 -9576.623 7865 47190 -9578.974 7866 47196 -9581.325 7869 47214 -9583.676 7871 47226 -9586.027 7873 47238 -9588.378 7873 47238 -9590.729 7877 47262 -9593.080 7878 47268 -9595.431 7879 47274 -9597.782 7882 47292 -9600.133 7882 47292 -9602.484 7883 47298 -9604.835 7884 47304 -9607.186 7887 47322 -9609.537 7889 47334 -9611.888 7890 47340 -9614.239 7893 47358 -9616.590 7893 47358 -9618.941 7894 47364 -9621.292 7896 47376 -9623.643 7897 47382 -9625.994 7897 47382 -9628.345 7898 47388 -9630.696 7900 47400 -9633.047 7902 47412 -9635.398 7902 47412 -9637.749 7904 47424 -9640.100 7905 47430 -9642.451 7905 47430 -9644.802 7906 47436 -9647.153 7908 47448 -9649.504 7909 47454 -9651.855 7911 47466 -9654.206 7911 47466 -9656.557 7913 47478 -9658.908 7913 47478 -9661.259 7915 47490 -9663.610 7915 47490 -9665.961 7917 47502 -9668.312 7920 47520 -9670.663 7922 47532 -9673.014 7922 47532 -9675.365 7925 47550 -9677.716 7926 47556 -9680.067 7927 47562 -9682.418 7929 47574 -9684.769 7930 47580 -9687.120 7930 47580 -9689.471 7931 47586 -9691.822 7933 47598 -9694.173 7934 47604 -9696.524 7934 47604 -9698.875 7935 47610 -9701.226 7936 47616 -9703.577 7938 47628 -9705.928 7939 47634 -9708.279 7940 47640 -9710.630 7942 47652 -9712.981 7944 47664 -9715.332 7946 47676 -9717.683 7947 47682 -9720.034 7948 47688 -9722.385 7948 47688 -9724.736 7950 47700 -9727.087 7952 47712 -9729.438 7954 47724 -9731.789 7954 47724 -9734.140 7956 47736 -9736.491 7958 47748 -9738.842 7960 47760 -9741.193 7962 47772 -9743.544 7963 47778 -9745.895 7965 47790 -9748.246 7966 47796 -9750.597 7966 47796 -9752.948 7968 47808 -9755.299 7970 47820 -9757.650 7970 47820 -9760.001 7971 47826 -9762.352 7972 47832 -9764.703 7974 47844 -9767.054 7975 47850 -9769.405 7978 47868 -9771.756 7979 47874 -9774.107 7979 47874 -9776.458 7980 47880 -9778.809 7982 47892 -9781.160 7983 47898 -9783.511 7983 47898 -9785.862 7985 47910 -9788.213 7986 47916 -9790.564 7988 47928 -9792.915 7989 47934 -9795.266 7991 47946 -9797.617 7991 47946 -9799.968 7993 47958 -9802.319 7993 47958 -9804.670 7995 47970 -9807.021 7997 47982 -9809.372 7998 47988 -9811.723 7999 47994 -9814.074 8001 48006 -9816.425 8001 48006 -9818.776 8003 48018 -9821.127 8004 48024 -9823.478 8005 48030 -9825.829 8007 48042 -9828.180 8008 48048 -9830.531 8009 48054 -9832.882 8012 48072 -9835.233 8013 48078 -9837.584 8014 48084 -9839.935 8016 48096 -9842.286 8017 48102 -9844.637 8018 48108 -9846.988 8020 48120 -9849.339 8021 48126 -9851.690 8023 48138 -9854.041 8025 48150 -9856.392 8026 48156 -9858.743 8030 48180 -9861.094 8031 48186 -9863.445 8031 48186 -9865.796 8032 48192 -9868.147 8033 48198 -9870.498 8035 48210 -9872.849 8036 48216 -9875.200 8037 48222 -9877.551 8039 48234 -9879.902 8040 48240 -9882.253 8042 48252 -9884.604 8044 48264 -9886.955 8045 48270 -9889.306 8046 48276 -9891.657 8049 48294 -9894.008 8050 48300 -9896.359 8052 48312 -9898.710 8053 48318 -9901.061 8054 48324 -9903.412 8057 48342 -9905.763 8058 48348 -9908.114 8059 48354 -9910.465 8060 48360 -9912.816 8062 48372 -9915.167 8063 48378 -9917.518 8063 48378 -9919.869 8064 48384 -9922.220 8067 48402 -9924.571 8069 48414 -9926.922 8069 48414 -9929.273 8072 48432 -9931.624 8073 48438 -9933.975 8075 48450 -9936.326 8077 48462 -9938.677 8077 48462 -9941.028 8078 48468 -9943.379 8081 48486 -9945.730 8082 48492 -9948.081 8082 48492 -9950.432 8085 48510 -9952.783 8086 48516 -9955.134 8086 48516 -9957.485 8089 48534 -9959.836 8090 48540 -9962.187 8090 48540 -9964.538 8094 48564 -9966.889 8096 48576 -9969.240 8096 48576 -9971.591 8100 48600 -9973.942 8102 48612 -9976.293 8103 48618 -9978.644 8105 48630 -9980.995 8107 48642 -9983.346 8107 48642 -9985.697 8109 48654 -9988.048 8111 48666 -9990.399 8112 48672 -9992.750 8114 48684 -9995.101 8115 48690 -9997.452 8115 48690 -9999.803 8116 48696 -10002.154 8118 48708 -10004.505 8119 48714 -10006.856 8119 48714 -10009.207 8122 48732 -10011.558 8123 48738 -10013.909 8123 48738 -10016.260 8126 48756 -10018.611 8127 48762 -10020.962 8130 48780 -10023.313 8131 48786 -10025.664 8134 48804 -10028.015 8136 48816 -10030.366 8138 48828 -10032.717 8140 48840 -10035.068 8141 48846 -10037.419 8142 48852 -10039.770 8143 48858 -10042.121 8145 48870 -10044.472 8145 48870 -10046.823 8149 48894 -10049.174 8149 48894 -10051.525 8152 48912 -10053.876 8153 48918 -10056.227 8157 48942 -10058.578 8157 48942 -10060.929 8161 48966 -10063.280 8165 48990 -10065.631 8166 48996 -10067.982 8169 49014 -10070.333 8169 49014 -10072.684 8173 49038 -10075.035 8177 49062 -10077.386 8179 49074 -10079.737 8182 49092 -10082.088 8183 49098 -10084.439 8187 49122 -10086.790 8187 49122 -10089.141 8190 49140 -10091.492 8191 49146 -10093.843 8193 49158 -10096.194 8195 49170 -10098.545 8197 49182 -10100.896 8199 49194 -10103.247 8199 49194 -10105.598 8201 49206 -10107.949 8201 49206 -10110.300 8203 49218 -10112.651 8203 49218 -10115.002 8206 49236 -10117.353 8207 49242 -10119.704 8208 49248 -10122.055 8210 49260 -10124.406 8211 49266 -10126.757 8211 49266 -10129.108 8213 49278 -10131.459 8215 49290 -10133.810 8217 49302 -10136.161 8221 49326 -10138.512 8225 49350 -10140.863 8225 49350 -10143.214 8229 49374 -10145.565 8229 49374 -10147.916 8232 49392 -10150.267 8233 49398 -10152.618 8234 49404 -10154.969 8237 49422 -10157.320 8237 49422 -10159.671 8241 49446 -10162.022 8241 49446 -10164.373 8241 49446 -10166.724 8243 49458 -10169.075 8245 49470 -10171.426 8245 49470 -10173.777 8249 49494 -10176.128 8250 49500 -10178.479 8252 49512 -10180.830 8254 49524 -10183.181 8254 49524 -10185.532 8256 49536 -10187.883 8257 49542 -10190.234 8258 49548 -10192.585 8260 49560 -10194.936 8263 49578 -10197.287 8265 49590 -10199.638 8265 49590 -10201.989 8267 49602 -10204.340 8269 49614 -10206.691 8271 49626 -10209.042 8271 49626 -10211.393 8274 49644 -10213.744 8275 49650 -10216.095 8275 49650 -10218.446 8276 49656 -10220.797 8278 49668 -10223.148 8279 49674 -10225.499 8280 49680 -10227.850 8283 49698 -10230.201 8283 49698 -10232.552 8284 49704 -10234.903 8284 49704 -10237.254 8287 49722 -10239.605 8287 49722 -10241.956 8289 49734 -10244.307 8290 49740 -10246.658 8291 49746 -10249.009 8293 49758 -10251.360 8295 49770 -10253.711 8295 49770 -10256.062 8297 49782 -10258.413 8298 49788 -10260.764 8299 49794 -10263.115 8301 49806 -10265.466 8304 49824 -10267.817 8308 49848 -10270.168 8308 49848 -10272.519 8309 49854 -10274.870 8312 49872 -10277.221 8312 49872 -10279.572 8313 49878 -10281.923 8315 49890 -10284.274 8316 49896 -10286.625 8316 49896 -10288.976 8318 49908 -10291.327 8319 49914 -10293.678 8321 49926 -10296.029 8321 49926 -10298.380 8323 49938 -10300.731 8325 49950 -10303.082 8328 49968 -10305.433 8329 49974 -10307.784 8330 49980 -10310.135 8333 49998 -10312.486 8333 49998 -10314.837 8333 49998 -10317.188 8334 50004 -10319.539 8337 50022 -10321.890 8339 50034 -10324.241 8339 50034 -10326.592 8339 50034 -10328.943 8339 50034 -10331.294 8339 50034 -10333.645 8339 50034 -10335.996 8344 50064 -10338.347 8345 50070 -10340.698 8346 50076 -10343.049 8350 50100 -10345.400 8351 50106 -10347.751 8351 50106 -10350.102 8351 50106 -10352.453 8352 50112 -10354.804 8352 50112 -10357.155 8353 50118 -10359.506 8358 50148 -10361.857 8358 50148 -10364.208 8358 50148 -10366.559 8358 50148 -10368.910 8359 50154 -10371.261 8360 50160 -10373.612 8365 50190 -10375.963 8374 50244 -10378.314 8377 50262 -10380.665 8383 50298 -10383.016 8389 50334 -10385.367 8393 50358 -10387.718 8396 50376 -10390.069 8397 50382 -10392.420 8399 50394 -10394.771 8402 50412 -10397.122 8406 50436 -10399.473 8409 50454 -10401.824 8412 50472 -10404.175 8415 50490 -10406.526 8418 50508 -10408.877 8421 50526 -10411.228 8424 50544 -10413.579 8429 50574 -10415.930 8435 50610 -10418.281 8441 50646 -10420.632 8447 50682 -10422.983 8453 50718 -10425.334 8461 50766 -10427.685 8466 50796 -10430.036 8473 50838 -10432.387 8479 50874 -10434.738 8485 50910 -10437.089 8493 50958 -10439.440 8504 51024 -10441.791 8511 51066 -10444.142 8517 51102 -10446.493 8523 51138 -10448.844 8531 51186 -10451.195 8538 51228 -10453.546 8545 51270 -10455.897 8552 51312 -10458.248 8558 51348 -10460.599 8567 51402 -10462.950 8573 51438 -10465.301 8579 51474 -10467.652 8587 51522 -10470.003 8595 51570 -10472.354 8603 51618 -10474.705 8609 51654 -10477.056 8615 51690 -10479.407 8623 51738 -10481.758 8630 51780 -10484.109 8637 51822 -10486.460 8644 51864 -10488.811 8651 51906 -10491.162 8657 51942 -10493.513 8664 51984 -10495.864 8672 52032 -10498.215 8680 52080 -10500.566 8687 52122 -10502.917 8694 52164 -10505.268 8698 52188 -10507.619 8706 52236 -10509.970 8712 52272 -10512.321 8718 52308 -10514.672 8727 52362 -10517.023 8733 52398 -10519.374 8739 52434 -10521.725 8745 52470 -10524.076 8753 52518 -10526.427 8760 52560 -10528.778 8765 52590 -10531.129 8771 52626 -10533.480 8774 52644 -10535.831 8782 52692 -10538.182 8789 52734 -10540.533 8795 52770 -10542.884 8802 52812 -10545.235 8810 52860 -10547.586 8817 52902 -10549.937 8824 52944 -10552.288 8831 52986 -10554.639 8839 53034 -10556.990 8845 53070 -10559.341 8852 53112 -10561.692 8860 53160 -10564.043 8865 53190 -10566.394 8875 53250 -10568.745 8881 53286 -10571.096 8886 53316 -10573.447 8894 53364 -10575.798 8902 53412 -10578.149 8910 53460 -10580.500 8918 53508 -10582.851 8922 53532 -10585.202 8930 53580 -10587.553 8937 53622 -10589.904 8945 53670 -10592.255 8953 53718 -10594.606 8958 53748 -10596.957 8965 53790 -10599.308 8971 53826 -10601.659 8980 53880 -10604.010 8989 53934 -10606.361 8996 53976 -10608.712 9003 54018 -10611.063 9011 54066 -10613.414 9014 54084 -10615.765 9015 54090 -10618.116 9019 54114 -10620.467 9021 54126 -10622.818 9022 54132 -10625.169 9024 54144 -10627.520 9028 54168 -10629.871 9031 54186 -10632.222 9031 54186 -10634.573 9034 54204 -10636.924 9037 54222 -10639.275 9040 54240 -10641.626 9046 54276 -10643.977 9051 54306 -10646.328 9058 54348 -10648.679 9062 54372 -10651.030 9069 54414 -10653.381 9075 54450 -10655.732 9085 54510 -10658.083 9090 54540 -10660.434 9098 54588 -10662.785 9105 54630 -10665.136 9113 54678 -10667.487 9120 54720 -10669.838 9127 54762 -10672.189 9133 54798 -10674.540 9139 54834 -10676.891 9148 54888 -10679.242 9153 54918 -10681.593 9159 54954 -10683.944 9166 54996 -10686.295 9174 55044 -10688.646 9180 55080 -10690.997 9188 55128 -10693.348 9194 55164 -10695.699 9202 55212 -10698.050 9210 55260 -10700.401 9216 55296 -10702.752 9223 55338 -10705.103 9228 55368 -10707.454 9235 55410 -10709.805 9243 55458 -10712.156 9250 55500 -10714.507 9257 55542 -10716.858 9263 55578 -10719.209 9270 55620 -10721.560 9278 55668 -10723.911 9283 55698 -10726.262 9291 55746 -10728.613 9298 55788 -10730.964 9305 55830 -10733.315 9313 55878 -10735.666 9320 55920 -10738.017 9327 55962 -10740.368 9334 56004 -10742.719 9341 56046 -10745.070 9349 56094 -10747.421 9357 56142 -10749.772 9363 56178 -10752.123 9370 56220 -10754.474 9378 56268 -10756.825 9384 56304 -10759.176 9389 56334 -10761.527 9397 56382 -10763.878 9403 56418 -10766.229 9411 56466 -10768.580 9418 56508 -10770.931 9424 56544 -10773.282 9432 56592 -10775.633 9439 56634 -10777.984 9446 56676 -10780.335 9452 56712 -10782.686 9460 56760 -10785.037 9468 56808 -10787.388 9474 56844 -10789.739 9481 56886 -10792.090 9487 56922 -10794.441 9495 56970 -10796.792 9503 57018 -10799.143 9510 57060 -10801.494 9517 57102 -10803.845 9526 57156 -10806.196 9532 57192 -10808.547 9539 57234 -10810.898 9546 57276 -10813.249 9552 57312 -10815.600 9561 57366 -10817.951 9567 57402 -10820.302 9574 57444 -10822.653 9583 57498 -10825.004 9588 57528 -10827.355 9596 57576 -10829.706 9599 57594 -10832.057 9602 57612 -10834.408 9605 57630 -10836.759 9607 57642 -10839.110 9608 57648 -10841.461 9610 57660 -10843.812 9613 57678 -10846.163 9614 57684 -10848.514 9616 57696 -10850.865 9617 57702 -10853.216 9620 57720 -10855.567 9622 57732 -10857.918 9626 57756 -10860.269 9628 57768 -10862.620 9637 57822 -10864.971 9642 57852 -10867.322 9649 57894 -10869.673 9656 57936 -10872.024 9663 57978 -10874.375 9669 58014 -10876.726 9678 58068 -10879.077 9685 58110 -10881.428 9693 58158 -10883.779 9700 58200 -10886.130 9708 58248 -10888.481 9716 58296 -10890.832 9721 58326 -10893.183 9724 58344 -10895.534 9726 58356 -10897.885 9728 58368 -10900.236 9732 58392 -10902.587 9735 58410 -10904.938 9736 58416 -10907.289 9738 58428 -10909.640 9741 58446 -10911.991 9744 58464 -10914.342 9746 58476 -10916.693 9750 58500 -10919.044 9755 58530 -10921.395 9761 58566 -10923.746 9769 58614 -10926.097 9773 58638 -10928.448 9779 58674 -10930.799 9785 58710 -10933.150 9793 58758 -10935.501 9802 58812 -10937.852 9811 58866 -10940.203 9817 58902 -10942.554 9823 58938 -10944.905 9830 58980 -10947.256 9838 59028 -10949.607 9846 59076 -10951.958 9852 59112 -10954.309 9860 59160 -10956.660 9867 59202 -10959.011 9873 59238 -10961.362 9881 59286 -10963.713 9887 59322 -10966.064 9894 59364 -10968.415 9901 59406 -10970.766 9909 59454 -10973.117 9916 59496 -10975.468 9925 59550 -10977.819 9931 59586 -10980.170 9936 59616 -10982.521 9943 59658 -10984.872 9949 59694 -10987.223 9957 59742 -10989.574 9965 59790 -10991.925 9971 59826 -10994.276 9978 59868 -10996.627 9985 59910 -10998.978 9992 59952 -11001.329 10000 60000 -11003.680 10005 60030 -11006.031 10014 60084 -11008.382 10020 60120 -11010.733 10027 60162 -11013.084 10034 60204 -11015.435 10040 60240 -11017.786 10047 60282 -11020.137 10053 60318 -11022.488 10057 60342 -11024.839 10065 60390 -11027.190 10069 60414 -11029.541 10077 60462 -11031.892 10083 60498 -11034.243 10090 60540 -11036.594 10097 60582 -11038.945 10103 60618 -11041.296 10108 60648 -11043.647 10114 60684 -11045.998 10121 60726 -11048.349 10125 60750 -11050.700 10132 60792 -11053.051 10138 60828 -11055.402 10146 60876 -11057.753 10153 60918 -11060.104 10159 60954 -11062.455 10165 60990 -11064.806 10169 61014 -11067.157 10178 61068 -11069.508 10185 61110 -11071.859 10191 61146 -11074.210 10198 61188 -11076.561 10202 61212 -11078.912 10208 61248 -11081.263 10215 61290 -11083.614 10222 61332 -11085.965 10231 61386 -11088.316 10237 61422 -11090.667 10244 61464 -11093.018 10255 61530 -11095.369 10259 61554 -11097.720 10266 61596 -11100.071 10272 61632 -11102.422 10278 61668 -11104.773 10283 61698 -11107.124 10287 61722 -11109.475 10290 61740 -11111.826 10292 61752 -11114.177 10292 61752 -11116.528 10294 61764 -11118.879 10298 61788 -11121.230 10300 61800 -11123.581 10302 61812 -11125.932 10305 61830 -11128.283 10308 61848 -11130.634 10311 61866 -11132.985 10314 61884 -11135.336 10319 61914 -11137.687 10326 61956 -11140.038 10330 61980 -11142.389 10337 62022 -11144.740 10344 62064 -11147.091 10350 62100 -11149.442 10355 62130 -11151.793 10360 62160 -11154.144 10367 62202 -11156.495 10376 62256 -11158.846 10383 62298 -11161.197 10389 62334 -11163.548 10397 62382 -11165.899 10399 62394 -11168.250 10402 62412 -11170.601 10403 62418 -11172.952 10404 62424 -11175.303 10406 62436 -11177.654 10409 62454 -11180.005 10410 62460 -11182.356 10412 62472 -11184.707 10412 62472 -11187.058 10416 62496 -11189.409 10418 62508 -11191.760 10419 62514 -11194.111 10424 62544 -11196.462 10431 62586 -11198.813 10437 62622 -11201.164 10442 62652 -11203.515 10447 62682 -11205.866 10454 62724 -11208.217 10463 62778 -11210.568 10471 62826 -11212.919 10476 62856 -11215.270 10478 62868 -11217.621 10481 62886 -11219.972 10483 62898 -11222.323 10485 62910 -11224.674 10486 62916 -11227.025 10490 62940 -11229.376 10492 62952 -11231.727 10494 62964 -11234.078 10495 62970 -11236.429 10496 62976 -11238.780 10501 63006 -11241.131 10504 63024 -11243.482 10508 63048 -11245.833 10514 63084 -11248.184 10520 63120 -11250.535 10527 63162 -11252.886 10534 63204 -11255.237 10539 63234 -11257.588 10544 63264 -11259.939 10551 63306 -11262.290 10559 63354 -11264.641 10566 63396 -11266.992 10579 63474 -11269.343 10582 63492 -11271.694 10584 63504 -11274.045 10587 63522 -11276.396 10590 63540 -11278.747 10592 63552 -11281.098 10594 63564 -11283.449 10596 63576 -11285.800 10599 63594 -11288.151 10601 63606 -11290.502 10605 63630 -11292.853 10607 63642 -11295.204 10609 63654 -11297.555 10611 63666 -11299.906 10614 63684 -11302.257 10620 63720 -11304.608 10625 63750 -11306.959 10633 63798 -11309.310 10639 63834 -11311.661 10645 63870 -11314.012 10652 63912 -11316.363 10658 63948 -11318.714 10665 63990 -11321.065 10671 64026 -11323.416 10679 64074 -11325.767 10686 64116 -11328.118 10692 64152 -11330.469 10700 64200 -11332.820 10706 64236 -11335.171 10714 64284 -11337.522 10719 64314 -11339.873 10727 64362 -11342.224 10734 64404 -11344.575 10740 64440 -11346.926 10747 64482 -11349.277 10755 64530 -11351.628 10762 64572 -11353.979 10769 64614 -11356.330 10776 64656 -11358.681 10783 64698 -11361.032 10790 64740 -11363.383 10795 64770 -11365.734 10804 64824 -11368.085 10811 64866 -11370.436 10816 64896 -11372.787 10823 64938 -11375.138 10830 64980 -11377.489 10836 65016 -11379.840 10843 65058 -11382.191 10849 65094 -11384.542 10856 65136 -11386.893 10862 65172 -11389.244 10868 65208 -11391.595 10875 65250 -11393.946 10881 65286 -11396.297 10888 65328 -11398.648 10896 65376 -11400.999 10904 65424 -11403.350 10909 65454 -11405.701 10917 65502 -11408.052 10925 65550 -11410.403 10930 65580 -11412.754 10937 65622 -11415.105 10943 65658 -11417.456 10950 65700 -11419.807 10958 65748 -11422.158 10966 65796 -11424.509 10972 65832 -11426.860 10977 65862 -11429.211 10986 65916 -11431.562 10993 65958 -11433.913 11000 66000 -11436.264 11006 66036 -11438.615 11014 66084 -11440.966 11021 66126 -11443.317 11027 66162 -11445.668 11035 66210 -11448.019 11043 66258 -11450.370 11050 66300 -11452.721 11057 66342 -11455.072 11064 66384 -11457.423 11071 66426 -11459.774 11080 66480 -11462.125 11086 66516 -11464.476 11089 66534 -11466.827 11091 66546 -11469.178 11092 66552 -11471.529 11094 66564 -11473.880 11096 66576 -11476.231 11099 66594 -11478.582 11100 66600 -11480.933 11102 66612 -11483.284 11103 66618 -11485.635 11106 66636 -11487.986 11107 66642 -11490.337 11109 66654 -11492.688 11114 66684 -11495.039 11119 66714 -11497.390 11125 66750 -11499.741 11132 66792 -11502.092 11138 66828 -11504.443 11144 66864 -11506.794 11153 66918 -11509.145 11157 66942 -11511.496 11159 66954 -11513.847 11162 66972 -11516.198 11165 66990 -11518.549 11166 66996 -11520.900 11168 67008 -11523.251 11169 67014 -11525.602 11171 67026 -11527.953 11173 67038 -11530.304 11174 67044 -11532.655 11175 67050 -11535.006 11178 67068 -11537.357 11181 67086 -11539.708 11187 67122 -11542.059 11193 67158 -11544.410 11199 67194 -11546.761 11207 67242 -11549.112 11214 67284 -11551.463 11221 67326 -11553.814 11228 67368 -11556.165 11234 67404 -11558.516 11238 67428 -11560.867 11242 67452 -11563.218 11244 67464 -11565.569 11245 67470 -11567.920 11247 67482 -11570.271 11250 67500 -11572.622 11252 67512 -11574.973 11254 67524 -11577.324 11256 67536 -11579.675 11258 67548 -11582.026 11260 67560 -11584.377 11262 67572 -11586.728 11265 67590 -11589.079 11270 67620 -11591.430 11278 67668 -11593.781 11285 67710 -11596.132 11290 67740 -11598.483 11295 67770 -11600.834 11300 67800 -11603.185 11307 67842 -11605.536 11315 67890 -11607.887 11323 67938 -11610.238 11329 67974 -11612.589 11338 68028 -11614.940 11344 68064 -11617.291 11348 68088 -11619.642 11350 68100 -11621.993 11352 68112 -11624.344 11354 68124 -11626.695 11356 68136 -11629.046 11359 68154 -11631.397 11362 68172 -11633.748 11362 68172 -11636.099 11364 68184 -11638.450 11366 68196 -11640.801 11370 68220 -11643.152 11372 68232 -11645.503 11375 68250 -11647.854 11380 68280 -11650.205 11387 68322 -11652.556 11395 68370 -11654.907 11402 68412 -11657.258 11408 68448 -11659.609 11414 68484 -11661.960 11420 68520 -11664.311 11427 68562 -11666.662 11433 68598 -11669.013 11441 68646 -11671.364 11447 68682 -11673.715 11455 68730 -11676.066 11460 68760 -11678.417 11462 68772 -11680.768 11463 68778 -11683.119 11465 68790 -11685.470 11467 68802 -11687.821 11469 68814 -11690.172 11472 68832 -11692.523 11472 68832 -11694.874 11474 68844 -11697.225 11478 68868 -11699.576 11479 68874 -11701.927 11481 68886 -11704.278 11484 68904 -11706.629 11493 68958 -11708.980 11497 68982 -11711.331 11505 69030 -11713.682 11509 69054 -11716.033 11517 69102 -11718.384 11525 69150 -11720.735 11531 69186 -11723.086 11533 69198 -11725.437 11535 69210 -11727.788 11537 69222 -11730.139 11539 69234 -11732.490 11541 69246 -11734.841 11543 69258 -11737.192 11545 69270 -11739.543 11547 69282 -11741.894 11549 69294 -11744.245 11551 69306 -11746.596 11553 69318 -11748.947 11558 69348 -11751.298 11563 69378 -11753.649 11569 69414 -11756.000 11575 69450 -11758.351 11584 69504 -11760.702 11588 69528 -11763.053 11594 69564 -11765.404 11600 69600 -11767.755 11606 69636 -11770.106 11614 69684 -11772.457 11618 69708 -11774.808 11625 69750 -11777.159 11632 69792 -11779.510 11641 69846 -11781.861 11646 69876 -11784.212 11653 69918 -11786.563 11660 69960 -11788.914 11663 69978 -11791.265 11667 70002 -11793.616 11668 70008 -11795.967 11670 70020 -11798.318 11672 70032 -11800.669 11674 70044 -11803.020 11678 70068 -11805.371 11681 70086 -11807.722 11683 70098 -11810.073 11684 70104 -11812.424 11686 70116 -11814.775 11691 70146 -11817.126 11694 70164 -11819.477 11700 70200 -11821.828 11705 70230 -11824.179 11710 70260 -11826.530 11717 70302 -11828.881 11725 70350 -11831.232 11729 70374 -11833.583 11735 70410 -11835.934 11742 70452 -11838.285 11750 70500 -11840.636 11756 70536 -11842.987 11762 70572 -11845.338 11771 70626 -11847.689 11776 70656 -11850.040 11780 70680 -11852.391 11787 70722 -11854.742 11794 70764 -11857.093 11800 70800 -11859.444 11806 70836 -11861.795 11812 70872 -11864.146 11819 70914 -11866.497 11827 70962 -11868.848 11833 70998 -11871.199 11841 71046 -11873.550 11849 71094 -11875.901 11857 71142 -11878.252 11863 71178 -11880.603 11870 71220 -11882.954 11875 71250 -11885.305 11883 71298 -11887.656 11888 71328 -11890.007 11895 71370 -11892.358 11901 71406 -11894.709 11905 71430 -11897.060 11912 71472 -11899.411 11919 71514 -11901.762 11926 71556 -11904.113 11931 71586 -11906.464 11938 71628 -11908.815 11946 71676 -11911.166 11953 71718 -11913.517 11959 71754 -11915.868 11966 71796 -11918.219 11970 71820 -11920.570 11975 71850 -11922.921 11982 71892 -11925.272 11988 71928 -11927.623 11996 71976 -11929.974 12002 72012 -11932.325 12010 72060 -11934.676 12015 72090 -11937.027 12021 72126 -11939.378 12028 72168 -11941.729 12035 72210 -11944.080 12041 72246 -11946.431 12050 72300 -11948.782 12058 72348 -11951.133 12065 72390 -11953.484 12071 72426 -11955.835 12076 72456 -11958.186 12084 72504 -11960.537 12091 72546 -11962.888 12099 72594 -11965.239 12107 72642 -11967.590 12114 72684 -11969.941 12119 72714 -11972.292 12125 72750 -11974.643 12133 72798 -11976.994 12141 72846 -11979.345 12147 72882 -11981.696 12155 72930 -11984.047 12162 72972 -11986.398 12165 72990 -11988.749 12167 73002 -11991.100 12169 73014 -11993.451 12171 73026 -11995.802 12173 73038 -11998.153 12176 73056 -12000.504 12178 73068 -12002.855 12181 73086 -12005.206 12184 73104 -12007.557 12185 73110 -12009.908 12186 73116 -12012.259 12191 73146 -12014.610 12196 73176 -12016.961 12204 73224 -12019.312 12210 73260 -12021.663 12216 73296 -12024.014 12223 73338 -12026.365 12231 73386 -12028.716 12238 73428 -12031.067 12246 73476 -12033.418 12253 73518 -12035.769 12259 73554 -12038.120 12267 73602 -12040.471 12274 73644 -12042.822 12277 73662 -12045.173 12278 73668 -12047.524 12281 73686 -12049.875 12283 73698 -12052.226 12286 73716 -12054.577 12289 73734 -12056.928 12291 73746 -12059.279 12295 73770 -12061.630 12296 73776 -12063.981 12298 73788 -12066.332 12301 73806 -12068.683 12303 73818 -12071.034 12311 73866 -12073.385 12316 73896 -12075.736 12323 73938 -12078.087 12330 73980 -12080.438 12336 74016 -12082.789 12341 74046 -12085.140 12345 74070 -12087.491 12351 74106 -12089.842 12357 74142 -12092.193 12364 74184 -12094.544 12372 74232 -12096.895 12380 74280 -12099.246 12387 74322 -12101.597 12392 74352 -12103.948 12400 74400 -12106.299 12408 74448 -12108.650 12413 74478 -12111.001 12419 74514 -12113.352 12427 74562 -12115.703 12435 74610 -12118.054 12440 74640 -12120.405 12447 74682 -12122.756 12453 74718 -12125.107 12461 74766 -12127.458 12467 74802 -12129.809 12474 74844 -12132.160 12478 74868 -12134.511 12483 74898 -12136.862 12492 74952 -12139.213 12499 74994 -12141.564 12507 75042 -12143.915 12513 75078 -12146.266 12520 75120 -12148.617 12527 75162 -12150.968 12533 75198 -12153.319 12540 75240 -12155.670 12548 75288 -12158.021 12555 75330 -12160.372 12562 75372 -12162.723 12568 75408 -12165.074 12575 75450 -12167.425 12581 75486 -12169.776 12589 75534 -12172.127 12596 75576 -12174.478 12602 75612 -12176.829 12609 75654 -12179.180 12616 75696 -12181.531 12623 75738 -12183.882 12629 75774 -12186.233 12638 75828 -12188.584 12644 75864 -12190.935 12652 75912 -12193.286 12658 75948 -12195.637 12665 75990 -12197.988 12673 76038 -12200.339 12680 76080 -12202.690 12684 76104 -12205.041 12689 76134 -12207.392 12697 76182 -12209.743 12703 76218 -12212.094 12710 76260 -12214.445 12717 76302 -12216.796 12722 76332 -12219.147 12731 76386 -12221.498 12736 76416 -12223.849 12744 76464 -12226.200 12752 76512 -12228.551 12760 76560 -12230.902 12768 76608 -12233.253 12774 76644 -12235.604 12782 76692 -12237.955 12789 76734 -12240.306 12796 76776 -12242.657 12799 76794 -12245.008 12807 76842 -12247.359 12813 76878 -12249.710 12821 76926 -12252.061 12828 76968 -12254.412 12836 77016 -12256.763 12839 77034 -12259.114 12842 77052 -12261.465 12844 77064 -12263.816 12846 77076 -12266.167 12849 77094 -12268.518 12852 77112 -12270.869 12856 77136 -12273.220 12858 77148 -12275.571 12860 77160 -12277.922 12863 77178 -12280.273 12867 77202 -12282.624 12869 77214 -12284.975 12874 77244 -12287.326 12881 77286 -12289.677 12888 77328 -12292.028 12895 77370 -12294.379 12899 77394 -12296.730 12907 77442 -12299.081 12913 77478 -12301.432 12920 77520 -12303.783 12927 77562 -12306.134 12931 77586 -12308.485 12935 77610 -12310.836 12944 77664 -12313.187 12952 77712 -12315.538 12961 77766 -12317.889 12969 77814 -12320.240 12970 77820 -12322.591 12977 77862 -12324.942 12984 77904 -12327.293 12992 77952 -12329.644 12999 77994 -12331.995 13007 78042 -12334.346 13013 78078 -12336.697 13022 78132 -12339.048 13031 78186 -12341.399 13038 78228 -12343.750 13043 78258 -12346.101 13049 78294 -12348.452 13057 78342 -12350.803 13064 78384 -12353.154 13072 78432 -12355.505 13078 78468 -12357.856 13083 78498 -12360.207 13088 78528 -12362.558 13093 78558 -12364.909 13099 78594 -12367.260 13104 78624 -12369.611 13110 78660 -12371.962 13117 78702 -12374.313 13122 78732 -12376.664 13128 78768 -12379.015 13135 78810 -12381.366 13141 78846 -12383.717 13146 78876 -12386.068 13149 78894 -12388.419 13157 78942 -12390.770 13164 78984 -12393.121 13170 79020 -12395.472 13176 79056 -12397.823 13184 79104 -12400.174 13186 79116 -12402.525 13193 79158 -12404.876 13198 79188 -12407.227 13203 79218 -12409.578 13206 79236 -12411.929 13213 79278 -12414.280 13218 79308 -12416.631 13219 79314 -12418.982 13225 79350 -12421.333 13227 79362 -12423.684 13228 79368 -12426.035 13236 79416 -12428.386 13240 79440 -12430.737 13241 79446 -12433.088 13242 79452 -12435.439 13248 79488 -12437.790 13249 79494 -12440.141 13254 79524 -12442.492 13255 79530 -12444.843 13257 79542 -12447.194 13258 79548 -12449.545 13260 79560 -12451.896 13262 79572 -12454.247 13264 79584 -12456.598 13265 79590 -12458.949 13267 79602 -12461.300 13269 79614 -12463.651 13269 79614 -12466.002 13271 79626 -12468.353 13274 79644 -12470.704 13279 79674 -12473.055 13281 79686 -12475.406 13283 79698 -12477.757 13284 79704 -12480.108 13290 79740 -12482.459 13292 79752 -12484.810 13297 79782 -12487.161 13298 79788 -12489.512 13299 79794 -12491.863 13300 79800 -12494.214 13303 79818 -12496.565 13305 79830 -12498.916 13306 79836 -12501.267 13307 79842 -12503.618 13310 79860 -12505.969 13313 79878 -12508.320 13314 79884 -12510.671 13315 79890 -12513.022 13318 79908 -12515.373 13323 79938 -12517.724 13324 79944 -12520.075 13325 79950 -12522.426 13332 79992 -12524.777 13333 79998 -12527.128 13339 80034 -12529.479 13340 80040 -12531.830 13345 80070 -12534.181 13346 80076 -12536.532 13347 80082 -12538.883 13353 80118 -12541.234 13354 80124 -12543.585 13359 80154 -12545.936 13360 80160 -12548.287 13361 80166 -12550.638 13367 80202 -12552.989 13368 80208 -12555.340 13373 80238 -12557.691 13375 80250 -12560.042 13375 80250 -12562.393 13381 80286 -12564.744 13382 80292 -12567.095 13387 80322 -12569.446 13387 80322 -12571.797 13388 80328 -12574.148 13389 80334 -12576.499 13395 80370 -12578.850 13396 80376 -12581.201 13396 80376 -12583.552 13401 80406 -12585.903 13402 80412 -12588.254 13403 80418 -12590.605 13409 80454 -12592.956 13410 80460 -12595.307 13415 80490 -12597.658 13416 80496 -12600.009 13417 80502 -12602.360 13423 80538 -12604.711 13423 80538 -12607.062 13425 80550 -12609.413 13431 80586 -12611.764 13432 80592 -12614.115 13433 80598 -12616.466 13436 80616 -12618.817 13437 80622 -12621.168 13438 80628 -12623.519 13439 80634 -12625.870 13440 80640 -12628.221 13443 80658 -12630.572 13445 80670 -12632.923 13446 80676 -12635.274 13448 80688 -12637.625 13451 80706 -12639.976 13456 80736 -12642.327 13457 80742 -12644.678 13459 80754 -12647.029 13465 80790 -12649.380 13466 80796 -12651.731 13472 80832 -12654.082 13473 80838 -12656.433 13478 80868 -12658.784 13480 80880 -12661.135 13480 80880 -12663.486 13486 80916 -12665.837 13487 80922 -12668.188 13492 80952 -12670.539 13494 80964 -12672.890 13494 80964 -12675.241 13500 81000 -12677.592 13501 81006 -12679.943 13501 81006 -12682.294 13506 81036 -12684.645 13508 81048 -12686.996 13508 81048 -12689.347 13514 81084 -12691.698 13515 81090 -12694.049 13520 81120 -12696.400 13521 81126 -12698.751 13522 81132 -12701.102 13528 81168 -12703.453 13529 81174 -12705.804 13534 81204 -12708.155 13535 81210 -12710.506 13535 81210 -12712.857 13536 81216 -12715.208 13542 81252 -12717.559 13543 81258 -12719.910 13543 81258 -12722.261 13548 81288 -12724.612 13549 81294 -12726.963 13550 81300 -12729.314 13556 81336 -12731.665 13557 81342 -12734.016 13557 81342 -12736.367 13562 81372 -12738.718 13563 81378 -12741.069 13564 81384 -12743.420 13570 81420 -12745.771 13571 81426 -12748.122 13577 81462 -12750.473 13578 81468 -12752.824 13578 81468 -12755.175 13579 81474 -12757.526 13580 81480 -12759.877 13582 81492 -12762.228 13584 81504 -12764.579 13586 81516 -12766.930 13587 81522 -12769.281 13589 81534 -12771.632 13591 81546 -12773.983 13594 81564 -12776.334 13598 81588 -12778.685 13603 81618 -12781.036 13605 81630 -12783.387 13606 81636 -12785.738 13612 81672 -12788.089 13613 81678 -12790.440 13619 81714 -12792.791 13620 81720 -12795.142 13621 81726 -12797.493 13622 81732 -12799.844 13625 81750 -12802.195 13627 81762 -12804.546 13628 81768 -12806.897 13629 81774 -12809.248 13632 81792 -12811.599 13635 81810 -12813.950 13637 81822 -12816.301 13638 81828 -12818.652 13640 81840 -12821.003 13645 81870 -12823.354 13646 81876 -12825.705 13647 81882 -12828.056 13653 81918 -12830.407 13654 81924 -12832.758 13661 81966 -12835.109 13662 81972 -12837.460 13667 82002 -12839.811 13668 82008 -12842.162 13669 82014 -12844.513 13675 82050 -12846.864 13676 82056 -12849.215 13681 82086 -12851.566 13683 82098 -12853.917 13683 82098 -12856.268 13689 82134 -12858.619 13690 82140 -12860.970 13690 82140 -12863.321 13695 82170 -12865.672 13696 82176 -12868.023 13697 82182 -12870.374 13703 82218 -12872.725 13704 82224 -12875.076 13706 82236 -12877.427 13709 82254 -12879.778 13710 82260 -12882.129 13711 82266 -12884.480 13717 82302 -12886.831 13718 82308 -12889.182 13718 82308 -12891.533 13723 82338 -12893.884 13724 82344 -12896.235 13725 82350 -12898.586 13731 82386 -12900.937 13732 82392 -12903.288 13732 82392 -12905.639 13737 82422 -12907.990 13739 82434 -12910.341 13739 82434 -12912.692 13745 82470 -12915.043 13747 82482 -12917.394 13751 82506 -12919.745 13754 82524 -12922.096 13755 82530 -12924.447 13759 82554 -12926.798 13761 82566 -12929.149 13762 82572 -12931.500 13766 82596 -12933.851 13768 82608 -12936.202 13769 82614 -12938.553 13773 82638 -12940.904 13775 82650 -12943.255 13776 82656 -12945.606 13781 82686 -12947.957 13783 82698 -12950.308 13786 82716 -12952.659 13792 82752 -12955.010 13793 82758 -12957.361 13799 82794 -12959.712 13800 82800 -12962.063 13806 82836 -12964.414 13808 82848 -12966.765 13814 82884 -12969.116 13815 82890 -12971.467 13821 82926 -12973.818 13822 82932 -12976.169 13828 82968 -12978.520 13829 82974 -12980.871 13835 83010 -12983.222 13836 83016 -12985.573 13842 83052 -12987.924 13843 83058 -12990.275 13843 83058 -12992.626 13849 83094 -12994.977 13850 83100 -12997.328 13856 83136 -12999.679 13857 83142 -13002.030 13863 83178 -13004.381 13864 83184 -13006.732 13870 83220 -13009.083 13871 83226 -13011.434 13877 83262 -13013.785 13878 83268 -13016.136 13884 83304 -13018.487 13885 83310 -13020.838 13885 83310 -13023.189 13891 83346 -13025.540 13892 83352 -13027.891 13898 83388 -13030.242 13899 83394 -13032.593 13905 83430 -13034.944 13906 83436 -13037.295 13912 83472 -13039.646 13913 83478 -13041.997 13919 83514 -13044.348 13920 83520 -13046.699 13926 83556 -13049.050 13927 83562 -13051.401 13928 83568 -13053.752 13933 83598 -13056.103 13934 83604 -13058.454 13940 83640 -13060.805 13941 83646 -13063.156 13947 83682 -13065.507 13948 83688 -13067.858 13948 83688 -13070.209 13954 83724 -13072.560 13955 83730 -13074.911 13961 83766 -13077.262 13962 83772 -13079.613 13968 83808 -13081.964 13969 83814 -13084.315 13971 83826 -13086.666 13975 83850 -13089.017 13976 83856 -13091.368 13982 83892 -13093.719 13983 83898 -13096.070 13989 83934 -13098.421 13990 83940 -13100.772 13996 83976 -13103.123 13997 83982 -13105.474 14003 84018 -13107.825 14004 84024 -13110.176 14010 84060 -13112.527 14011 84066 -13114.878 14013 84078 -13117.229 14019 84114 -13119.580 14020 84120 -13121.931 14021 84126 -13124.282 14024 84144 -13126.633 14026 84156 -13128.984 14027 84162 -13131.335 14028 84168 -13133.686 14031 84186 -13136.037 14034 84204 -13138.388 14035 84210 -13140.739 14038 84228 -13143.090 14039 84234 -13145.441 14044 84264 -13147.792 14045 84270 -13150.143 14046 84276 -13152.494 14052 84312 -13154.845 14054 84324 -13157.196 14060 84360 -13159.547 14061 84366 -13161.898 14066 84396 -13164.249 14067 84402 -13166.600 14068 84408 -13168.951 14074 84444 -13171.302 14075 84450 -13173.653 14080 84480 -13176.004 14081 84486 -13178.355 14082 84492 -13180.706 14088 84528 -13183.057 14089 84534 -13185.408 14089 84534 -13187.759 14094 84564 -13190.110 14096 84576 -13192.461 14096 84576 -13194.812 14102 84612 -13197.163 14103 84618 -13199.514 14108 84648 -13201.865 14109 84654 -13204.216 14110 84660 -13206.567 14116 84696 -13208.918 14117 84702 -13211.269 14122 84732 -13213.620 14123 84738 -13215.971 14124 84744 -13218.322 14130 84780 -13220.673 14131 84786 -13223.024 14131 84786 -13225.375 14132 84792 -13227.726 14133 84798 -13230.077 14136 84816 -13232.428 14137 84822 -13234.779 14139 84834 -13237.130 14139 84834 -13239.481 14140 84840 -13241.832 14143 84858 -13244.183 14144 84864 -13246.534 14144 84864 -13248.885 14144 84864 -13251.236 14145 84870 -13253.587 14145 84870 -13255.938 14146 84876 -13258.289 14147 84882 -13260.640 14149 84894 -13262.991 14150 84900 -13265.342 14152 84912 -13267.693 14153 84918 -13270.044 14154 84924 -13272.395 14154 84924 -13274.746 14155 84930 -13277.097 14157 84942 -13279.448 14158 84948 -13281.799 14158 84948 -13284.150 14158 84948 -13286.501 14159 84954 -13288.852 14160 84960 -13291.203 14161 84966 -13293.554 14164 84984 -13295.905 14166 84996 -13298.256 14167 85002 -13300.607 14168 85008 -13302.958 14168 85008 -13305.309 14169 85014 -13307.660 14171 85026 -13310.011 14172 85032 -13312.362 14172 85032 -13314.713 14172 85032 -13317.064 14173 85038 -13319.415 14173 85038 -13321.766 14174 85044 -13324.117 14175 85050 -13326.468 14176 85056 -13328.819 14180 85080 -13331.170 14181 85086 -13333.521 14182 85092 -13335.872 14182 85092 -13338.223 14184 85104 -13340.574 14185 85110 -13342.925 14186 85116 -13345.276 14186 85116 -13347.627 14186 85116 -13349.978 14186 85116 -13352.329 14187 85122 -13354.680 14188 85128 -13357.031 14189 85134 -13359.382 14189 85134 -13361.733 14190 85140 -13364.084 14191 85146 -13366.435 14193 85158 -13368.786 14194 85164 -13371.137 14195 85170 -13373.488 14196 85176 -13375.839 14196 85176 -13378.190 14197 85182 -13380.541 14199 85194 -13382.892 14200 85200 -13385.243 14200 85200 -13387.594 14200 85200 -13389.945 14201 85206 -13392.296 14203 85218 -13394.647 14203 85218 -13396.998 14203 85218 -13399.349 14205 85230 -13401.700 14206 85236 -13404.051 14208 85248 -13406.402 14210 85260 -13408.753 14210 85260 -13411.104 14210 85260 -13413.455 14211 85266 -13415.806 14213 85278 -13418.157 14214 85284 -13420.508 14214 85284 -13422.859 14214 85284 -13425.210 14215 85290 -13427.561 14215 85290 -13429.912 14216 85296 -13432.263 14217 85302 -13434.614 14219 85314 -13436.965 14220 85320 -13439.316 14221 85326 -13441.667 14222 85332 -13444.018 14223 85338 -13446.369 14224 85344 -13448.720 14227 85362 -13451.071 14228 85368 -13453.422 14228 85368 -13455.773 14228 85368 -13458.124 14229 85374 -13460.475 14229 85374 -13462.826 14230 85380 -13465.177 14231 85386 -13467.528 14234 85404 -13469.879 14235 85410 -13472.230 14236 85416 -13474.581 14237 85422 -13476.932 14238 85428 -13479.283 14240 85440 -13481.634 14241 85446 -13483.985 14242 85452 -13486.336 14242 85452 -13488.687 14242 85452 -13491.038 14243 85458 -13493.389 14243 85458 -13495.740 14244 85464 -13498.091 14245 85470 -13500.442 14245 85470 -13502.793 14246 85476 -13505.144 14248 85488 -13507.495 14250 85500 -13509.846 14251 85506 -13512.197 14252 85512 -13514.548 14254 85524 -13516.899 14256 85536 -13519.250 14256 85536 -13521.601 14256 85536 -13523.952 14257 85542 -13526.303 14258 85548 -13528.654 14259 85554 -13531.005 14259 85554 -13533.356 14260 85560 -13535.707 14262 85572 -13538.058 14264 85584 -13540.409 14265 85590 -13542.760 14266 85596 -13545.111 14266 85596 -13547.462 14269 85614 -13549.813 14270 85620 -13552.164 14270 85620 -13554.515 14270 85620 -13556.866 14272 85632 -13559.217 14273 85638 -13561.568 14273 85638 -13563.919 14274 85644 -13566.270 14277 85662 -13568.621 14278 85668 -13570.972 14279 85674 -13573.323 14280 85680 -13575.674 14281 85686 -13578.025 14282 85692 -13580.376 14284 85704 -13582.727 14284 85704 -13585.078 14284 85704 -13587.429 14284 85704 -13589.780 14285 85710 -13592.131 14286 85716 -13594.482 14287 85722 -13596.833 14288 85728 -13599.184 14290 85740 -13601.535 14291 85746 -13603.886 14292 85752 -13606.237 14293 85758 -13608.588 14294 85764 -13610.939 14296 85776 -13613.290 14298 85788 -13615.641 14298 85788 -13617.992 14298 85788 -13620.343 14298 85788 -13622.694 14300 85800 -13625.045 14301 85806 -13627.396 14301 85806 -13629.747 14302 85812 -13632.098 14304 85824 -13634.449 14306 85836 -13636.800 14306 85836 -13639.151 14306 85836 -13641.502 14307 85842 -13643.853 14308 85848 -13646.204 14311 85866 -13648.555 14312 85872 -13650.906 14312 85872 -13653.257 14312 85872 -13655.608 14313 85878 -13657.959 14314 85884 -13660.310 14315 85890 -13662.661 14315 85890 -13665.012 14317 85902 -13667.363 14319 85914 -13669.714 14320 85920 -13672.065 14321 85926 -13674.416 14322 85932 -13676.767 14323 85938 -13679.118 14326 85956 -13681.469 14326 85956 -13683.820 14326 85956 -13686.171 14327 85962 -13688.522 14328 85968 -13690.873 14329 85974 -13693.224 14332 85992 -13695.575 14333 85998 -13697.926 14334 86004 -13700.277 14335 86010 -13702.628 14336 86016 -13704.979 14338 86028 -13707.330 14340 86040 -13709.681 14340 86040 -13712.032 14340 86040 -13714.383 14340 86040 -13716.734 14341 86046 -13719.085 14342 86052 -13721.436 14343 86058 -13723.787 14343 86058 -13726.138 14346 86076 -13728.489 14347 86082 -13730.840 14348 86088 -13733.191 14349 86094 -13735.542 14350 86100 -13737.893 14350 86100 -13740.244 14351 86106 -13742.595 14353 86118 -13744.946 14354 86124 -13747.297 14354 86124 -13749.648 14354 86124 -13751.999 14355 86130 -13754.350 14356 86136 -13756.701 14357 86142 -13759.052 14359 86154 -13761.403 14361 86166 -13763.754 14362 86172 -13766.105 14363 86178 -13768.456 14364 86184 -13770.807 14367 86202 -13773.158 14368 86208 -13775.509 14368 86208 -13777.860 14368 86208 -13780.211 14368 86208 -13782.562 14369 86214 -13784.913 14370 86220 -13787.264 14371 86226 -13789.615 14371 86226 -13791.966 14373 86238 -13794.317 14375 86250 -13796.668 14376 86256 -13799.019 14377 86262 -13801.370 14378 86268 -13803.721 14379 86274 -13806.072 14382 86292 -13808.423 14382 86292 -13810.774 14382 86292 -13813.125 14383 86298 -13815.476 14384 86304 -13817.827 14385 86310 -13820.178 14389 86334 -13822.529 14389 86334 -13824.880 14390 86340 -13827.231 14391 86346 -13829.582 14392 86352 -13831.933 14393 86358 -13834.284 14394 86364 -13836.635 14396 86376 -13838.986 14396 86376 -13841.337 14396 86376 -13843.688 14396 86376 -13846.039 14397 86382 -13848.390 14398 86388 -13850.741 14399 86394 -13853.092 14402 86412 -13855.443 14403 86418 -13857.794 14404 86424 -13860.145 14405 86430 -13862.496 14406 86436 -13864.847 14408 86448 -13867.198 14410 86460 -13869.549 14410 86460 -13871.900 14410 86460 -13874.251 14410 86460 -13876.602 14411 86466 -13878.953 14412 86472 -13881.304 14413 86478 -13883.655 14413 86478 -13886.006 14415 86490 -13888.357 14417 86502 -13890.708 14418 86508 -13893.059 14419 86514 -13895.410 14420 86520 -13897.761 14421 86526 -13900.112 14422 86532 -13902.463 14423 86538 -13904.814 14424 86544 -13907.165 14424 86544 -13909.516 14424 86544 -13911.867 14425 86550 -13914.218 14426 86556 -13916.569 14427 86562 -13918.920 14427 86562 -13921.271 14429 86574 -13923.622 14430 86580 -13925.973 14431 86586 -13928.324 14432 86592 -13930.675 14433 86598 -13933.026 14434 86604 -13935.377 14436 86616 -13937.728 14438 86628 -13940.079 14438 86628 -13942.430 14438 86628 -13944.781 14438 86628 -13947.132 14439 86634 -13949.483 14440 86640 -13951.834 14441 86646 -13954.185 14443 86658 -13956.536 14445 86670 -13958.887 14446 86676 -13961.238 14446 86676 -13963.589 14447 86682 -13965.940 14448 86688 -13968.291 14451 86706 -13970.642 14452 86712 -13972.993 14452 86712 -13975.344 14452 86712 -13977.695 14453 86718 -13980.046 14454 86724 -13982.397 14455 86730 -13984.748 14458 86748 -13987.099 14460 86760 -13989.450 14460 86760 -13991.801 14461 86766 -13994.152 14462 86772 -13996.503 14464 86784 -13998.854 14465 86790 -14001.205 14466 86796 -14003.556 14466 86796 -14005.907 14466 86796 -14008.258 14466 86796 -14010.609 14467 86802 -14012.960 14468 86808 -14015.311 14469 86814 -14017.662 14471 86826 -14020.013 14473 86838 -14022.364 14474 86844 -14024.715 14474 86844 -14027.066 14475 86850 -14029.417 14476 86856 -14031.768 14478 86868 -14034.119 14480 86880 -14036.470 14480 86880 -14038.821 14480 86880 -14041.172 14481 86886 -14043.523 14482 86892 -14045.874 14483 86898 -14048.225 14485 86910 -14050.576 14488 86928 -14052.927 14489 86934 -14055.278 14490 86940 -14057.629 14493 86958 -14059.980 14494 86964 -14062.331 14494 86964 -14064.682 14494 86964 -14067.033 14494 86964 -14069.384 14495 86970 -14071.735 14496 86976 -14074.086 14497 86982 -14076.437 14500 87000 -14078.788 14502 87012 -14081.139 14503 87018 -14083.490 14504 87024 -14085.841 14507 87042 -14088.192 14508 87048 -14090.543 14508 87048 -14092.894 14508 87048 -14095.245 14508 87048 -14097.596 14509 87054 -14099.947 14510 87060 -14102.298 14511 87066 -14104.649 14511 87066 -14107.000 14514 87084 -14109.351 14515 87090 -14111.702 14516 87096 -14114.053 14518 87108 -14116.404 14518 87108 -14118.755 14522 87132 -14121.106 14522 87132 -14123.457 14522 87132 -14125.808 14522 87132 -14128.159 14523 87138 -14130.510 14524 87144 -14132.861 14525 87150 -14135.212 14528 87168 -14137.563 14529 87174 -14139.914 14530 87180 -14142.265 14531 87186 -14144.616 14532 87192 -14146.967 14532 87192 -14149.318 14536 87216 -14151.669 14536 87216 -14154.020 14536 87216 -14156.371 14537 87222 -14158.722 14537 87222 -14161.073 14538 87228 -14163.424 14539 87234 -14165.775 14541 87246 -14168.126 14543 87258 -14170.477 14544 87264 -14172.828 14545 87270 -14175.179 14546 87276 -14177.530 14547 87282 -14179.881 14550 87300 -14182.232 14550 87300 -14184.583 14550 87300 -14186.934 14551 87306 -14189.285 14551 87306 -14191.636 14552 87312 -14193.987 14553 87318 -14196.338 14553 87318 -14198.689 14556 87336 -14201.040 14558 87348 -14203.391 14559 87354 -14205.742 14560 87360 -14208.093 14561 87366 -14210.444 14562 87372 -14212.795 14564 87384 -14215.146 14564 87384 -14217.497 14564 87384 -14219.848 14565 87390 -14222.199 14566 87396 -14224.550 14567 87402 -14226.901 14571 87426 -14229.252 14572 87432 -14231.603 14573 87438 -14233.954 14574 87444 -14236.305 14576 87456 -14238.656 14578 87468 -14241.007 14578 87468 -14243.358 14578 87468 -14245.709 14579 87474 -14248.060 14580 87480 -14250.411 14581 87486 -14252.762 14585 87510 -14255.113 14586 87516 -14257.464 14587 87522 -14259.815 14588 87528 -14262.166 14590 87540 -14264.517 14592 87552 -14266.868 14592 87552 -14269.219 14592 87552 -14271.570 14593 87558 -14273.921 14593 87558 -14276.272 14595 87570 -14278.623 14595 87570 -14280.974 14598 87588 -14283.325 14600 87600 -14285.676 14602 87612 -14288.027 14602 87612 -14290.378 14602 87612 -14292.729 14604 87624 -14295.080 14606 87636 -14297.431 14606 87636 -14299.782 14606 87636 -14302.133 14607 87642 -14304.484 14608 87648 -14306.835 14609 87654 -14309.186 14610 87660 -14311.537 14612 87672 -14313.888 14614 87684 -14316.239 14615 87690 -14318.590 14616 87696 -14320.941 14616 87696 -14323.292 14618 87708 -14325.643 14619 87714 -14327.994 14620 87720 -14330.345 14620 87720 -14332.696 14620 87720 -14335.047 14621 87726 -14337.398 14621 87726 -14339.749 14622 87732 -14342.100 14623 87738 -14344.451 14625 87750 -14346.802 14628 87768 -14349.153 14630 87780 -14351.504 14630 87780 -14353.855 14633 87798 -14356.206 14633 87798 -14358.557 14634 87804 -14360.908 14634 87804 -14363.259 14634 87804 -14365.610 14634 87804 -14367.961 14635 87810 -14370.312 14636 87816 -14372.663 14637 87822 -14375.014 14638 87828 -14377.365 14640 87840 -14379.716 14641 87846 -14382.067 14642 87852 -14384.418 14643 87858 -14386.769 14644 87864 -14389.120 14646 87876 -14391.471 14648 87888 -14393.822 14648 87888 -14396.173 14648 87888 -14398.524 14649 87894 -14400.875 14650 87900 -14403.226 14651 87906 -14405.577 14652 87912 -14407.928 14655 87930 -14410.279 14656 87936 -14412.630 14657 87942 -14414.981 14658 87948 -14417.332 14659 87954 -14419.683 14662 87972 -14422.034 14662 87972 -14424.385 14662 87972 -14426.736 14663 87978 -14429.087 14664 87984 -14431.438 14665 87990 -14433.789 14666 87996 -14436.140 14668 88008 -14438.491 14670 88020 -14440.842 14671 88026 -14443.193 14672 88032 -14445.544 14674 88044 -14447.895 14676 88056 -14450.246 14676 88056 -14452.597 14676 88056 -14454.948 14676 88056 -14457.299 14677 88062 -14459.650 14678 88068 -14462.001 14679 88074 -14464.352 14682 88092 -14466.703 14683 88098 -14469.054 14684 88104 -14471.405 14685 88110 -14473.756 14686 88116 -14476.107 14686 88116 -14478.458 14688 88128 -14480.809 14689 88134 -14483.160 14690 88140 -14485.511 14690 88140 -14487.862 14690 88140 -14490.213 14691 88146 -14492.564 14692 88152 -14494.915 14693 88158 -14497.266 14693 88158 -14499.617 14696 88176 -14501.968 14697 88182 -14504.319 14698 88188 -14506.670 14699 88194 -14509.021 14700 88200 -14511.372 14700 88200 -14513.723 14703 88218 -14516.074 14704 88224 -14518.425 14704 88224 -14520.776 14704 88224 -14523.127 14705 88230 -14525.478 14706 88236 -14527.829 14707 88242 -14530.180 14707 88242 -14532.531 14709 88254 -14534.882 14710 88260 -14537.233 14711 88266 -14539.584 14712 88272 -14541.935 14713 88278 -14544.286 14714 88284 -14546.637 14714 88284 -14548.988 14715 88290 -14551.339 14717 88302 -14553.690 14718 88308 -14556.041 14718 88308 -14558.392 14718 88308 -14560.743 14719 88314 -14563.094 14720 88320 -14565.445 14721 88326 -14567.796 14721 88326 -14570.147 14724 88344 -14572.498 14725 88350 -14574.849 14726 88356 -14577.200 14727 88362 -14579.551 14728 88368 -14581.902 14729 88374 -14584.253 14732 88392 -14586.604 14732 88392 -14588.955 14732 88392 -14591.306 14733 88398 -14593.657 14734 88404 -14596.008 14735 88410 -14598.359 14735 88410 -14600.710 14735 88410 -14603.061 14738 88428 -14605.412 14738 88428 -14607.763 14740 88440 -14610.114 14740 88440 -14612.465 14741 88446 -14614.816 14742 88452 -14617.167 14742 88452 -14619.518 14743 88458 -14621.869 14746 88476 -14624.220 14746 88476 -14626.571 14746 88476 -14628.922 14747 88482 -14631.273 14747 88482 -14633.624 14748 88488 -14635.975 14749 88494 +0 4 +10.6631 8 +21.3262 8 +31.9893 12 +42.6524 13 +53.3156 16 +63.9787 17 +74.6418 20 +85.3049 21 +95.968 24 +106.631 24 +117.294 28 +127.957 29 +138.62 32 +149.284 33 +159.947 35 +170.61 37 +181.273 40 +191.936 41 +202.599 43 +213.262 45 +223.925 47 +234.588 49 +245.252 51 +255.915 53 +266.578 55 +277.241 57 +287.904 57 +298.567 58 +309.23 61 +319.893 61 +330.556 63 +341.22 67 +351.883 74 +362.546 75 +373.209 79 +383.872 81 +394.535 83 +405.198 85 +415.861 89 +426.524 90 +437.188 93 +447.851 94 +458.514 98 +469.177 98 +479.84 101 +490.503 102 +501.166 103 +511.829 106 +522.492 107 +533.155 110 +543.819 114 +554.482 118 +565.145 118 +575.808 121 +586.471 122 +597.134 122 +607.797 125 +618.46 127 +629.123 127 +639.787 129 +650.45 132 +661.113 134 +671.776 136 +682.439 136 +693.102 139 +703.765 143 +714.428 147 +725.091 148 +735.755 150 +746.418 152 +757.081 153 +767.744 156 +778.407 160 +789.07 162 +799.733 164 +810.396 164 +821.059 164 +831.723 168 +842.386 169 +853.049 175 +863.712 175 +874.375 176 +885.038 179 +895.701 182 +906.364 186 +917.027 190 +927.691 190 +938.354 194 +949.017 195 +959.68 198 +970.343 199 +981.006 202 +991.669 203 +1002.33 206 +1013 207 +1023.66 210 +1034.32 210 +1044.98 211 +1055.65 213 +1066.31 215 +1076.97 217 +1087.64 219 +1098.3 222 +1108.96 224 +1119.63 224 +1130.29 227 +1140.95 228 +1151.62 231 +1162.28 233 +1172.94 236 +1183.61 241 +1194.27 242 +1204.93 243 +1215.59 246 +1226.26 247 +1236.92 250 +1247.58 252 +1258.25 254 +1268.91 256 +1279.57 259 +1290.24 260 +1300.9 263 +1311.56 264 +1322.23 266 +1332.89 267 +1343.55 269 +1354.21 271 +1364.88 273 +1375.54 275 +1386.2 276 +1396.87 278 +1407.53 281 +1418.19 285 +1428.86 285 +1439.52 288 +1450.18 290 +1460.85 290 +1471.51 291 +1482.17 294 +1492.84 297 +1503.5 298 +1514.16 301 +1524.82 302 +1535.49 306 +1546.15 307 +1556.81 310 +1567.48 312 +1578.14 313 +1588.8 315 +1599.47 317 +1610.13 317 +1620.79 319 +1631.46 321 +1642.12 324 +1652.78 327 +1663.45 328 +1674.11 331 +1684.77 333 +1695.43 333 +1706.1 335 +1716.76 338 +1727.42 340 +1738.09 342 +1748.75 344 +1759.41 346 +1770.08 347 +1780.74 351 +1791.4 351 +1802.07 352 +1812.73 355 +1823.39 355 +1834.05 356 +1844.72 361 +1855.38 362 +1866.04 362 +1876.71 365 +1887.37 366 +1898.03 370 +1908.7 371 +1919.36 373 +1930.02 375 +1940.69 376 +1951.35 379 +1962.01 380 +1972.68 383 +1983.34 386 +1994 387 +2004.66 389 +2015.33 391 +2025.99 393 +2036.65 396 +2047.32 398 +2057.98 401 +2068.64 402 +2079.31 405 +2089.97 405 +2100.63 407 +2111.3 409 +2121.96 411 +2132.62 413 +2143.29 415 +2153.95 415 +2164.61 417 +2175.27 419 +2185.94 421 +2196.6 424 +2207.26 425 +2217.93 427 +2228.59 428 +2239.25 430 +2249.92 432 +2260.58 433 +2271.24 435 +2281.91 439 +2292.57 443 +2303.23 444 +2313.89 445 +2324.56 448 +2335.22 449 +2345.88 453 +2356.55 453 +2367.21 456 +2377.87 457 +2388.54 461 +2399.2 461 +2409.86 464 +2420.53 465 +2431.19 468 +2441.85 470 +2452.52 472 +2463.18 474 +2473.84 474 +2484.5 477 +2495.17 479 +2505.83 481 +2516.49 484 +2527.16 486 +2537.82 488 +2548.48 490 +2559.15 492 +2569.81 493 +2580.47 496 +2591.14 497 +2601.8 500 +2612.46 501 +2623.13 501 +2633.79 504 +2644.45 505 +2655.11 508 +2665.78 509 +2676.44 512 +2687.1 513 +2697.77 514 +2708.43 516 +2719.09 518 +2729.76 520 +2740.42 522 +2751.08 524 +2761.75 526 +2772.41 526 +2783.07 529 +2793.73 531 +2804.4 534 +2815.06 536 +2825.72 538 +2836.39 540 +2847.05 542 +2857.71 545 +2868.38 545 +2879.04 545 +2889.7 549 +2900.37 551 +2911.03 553 +2921.69 553 +2932.36 558 +2943.02 560 +2953.68 563 +2964.34 567 +2975.01 568 +2985.67 569 +2996.33 571 +3007 572 +3017.66 575 +3028.32 576 +3038.99 576 +3049.65 579 +3060.31 581 +3070.98 583 +3081.64 585 +3092.3 586 +3102.97 586 +3113.63 589 +3124.29 590 +3134.95 594 +3145.62 595 +3156.28 597 +3166.94 598 +3177.61 599 +3188.27 602 +3198.93 605 +3209.6 606 +3220.26 607 +3230.92 609 +3241.59 612 +3252.25 613 +3262.91 615 +3273.57 617 +3284.24 618 +3294.9 622 +3305.56 622 +3316.23 625 +3326.89 626 +3337.55 630 +3348.22 634 +3358.88 638 +3369.54 639 +3380.21 642 +3390.87 643 +3401.53 646 +3412.2 647 +3422.86 650 +3433.52 652 +3444.18 653 +3454.85 658 +3465.51 661 +3476.17 665 +3486.84 668 +3497.5 672 +3508.16 673 +3518.83 673 +3529.49 676 +3540.15 677 +3550.82 679 +3561.48 680 +3572.14 681 +3582.8 684 +3593.47 685 +3604.13 688 +3614.79 689 +3625.46 693 +3636.12 694 +3646.78 696 +3657.45 697 +3668.11 698 +3678.77 701 +3689.44 702 +3700.1 706 +3710.76 706 +3721.43 709 +3732.09 710 +3742.75 712 +3753.41 714 +3764.08 715 +3774.74 717 +3785.4 719 +3796.07 722 +3806.73 722 +3817.39 724 +3828.06 726 +3838.72 729 +3849.38 732 +3860.05 736 +3870.71 737 +3881.37 737 +3892.04 739 +3902.7 741 +3913.36 744 +3924.02 745 +3934.69 749 +3945.35 749 +3956.01 752 +3966.68 753 +3977.34 756 +3988 757 +3998.67 760 +4009.33 762 +4019.99 764 +4030.66 768 +4041.32 768 +4051.98 770 +4062.64 771 +4073.31 776 +4083.97 778 +4094.63 778 +4105.3 780 +4115.96 782 +4126.62 784 +4137.29 784 +4147.95 787 +4158.61 788 +4169.28 790 +4179.94 792 +4190.6 795 +4201.27 796 +4211.93 797 +4222.59 800 +4233.25 804 +4243.92 804 +4254.58 806 +4265.24 808 +4275.91 810 +4286.57 813 +4297.23 815 +4307.9 817 +4318.56 818 +4329.22 820 +4339.89 824 +4350.55 824 +4361.21 829 +4371.88 834 +4382.54 838 +4393.2 842 +4403.86 846 +4414.53 846 +4425.19 848 +4435.85 850 +4446.52 852 +4457.18 856 +4467.84 858 +4478.51 861 +4489.17 863 +4499.83 865 +4510.5 867 +4521.16 868 +4531.82 869 +4542.48 871 +4553.15 872 +4563.81 873 +4574.47 876 +4585.14 877 +4595.8 878 +4606.46 880 +4617.13 880 +4627.79 884 +4638.45 884 +4649.12 886 +4659.78 889 +4670.44 889 +4681.11 891 +4691.77 893 +4702.43 895 +4713.09 898 +4723.76 900 +4734.42 902 +4745.08 904 +4755.75 906 +4766.41 908 +4777.07 912 +4787.74 913 +4798.4 914 +4809.06 918 +4819.73 920 +4830.39 922 +4841.05 924 +4851.72 926 +4862.38 928 +4873.04 930 +4883.7 933 +4894.37 935 +4905.03 938 +4915.69 940 +4926.36 942 +4937.02 944 +4947.68 946 +4958.35 948 +4969.01 951 +4979.67 953 +4990.34 955 +5001 957 +5011.66 957 +5022.32 960 +5032.99 962 +5043.65 963 +5054.31 966 +5064.98 968 +5075.64 971 +5086.3 971 +5096.97 973 +5107.63 975 +5118.29 977 +5128.96 979 +5139.62 981 +5150.28 983 +5160.95 984 +5171.61 984 +5182.27 987 +5192.93 987 +5203.6 991 +5214.26 996 +5224.92 997 +5235.59 1001 +5246.25 1005 +5256.91 1008 +5267.58 1010 +5278.24 1012 +5288.9 1014 +5299.57 1016 +5310.23 1018 +5320.89 1020 +5331.55 1022 +5342.22 1024 +5352.88 1026 +5363.54 1028 +5374.21 1028 +5384.87 1030 +5395.53 1032 +5406.2 1032 +5416.86 1035 +5427.52 1036 +5438.19 1040 +5448.85 1043 +5459.51 1047 +5470.18 1051 +5480.84 1054 +5491.5 1055 +5502.16 1058 +5512.83 1061 +5523.49 1065 +5534.15 1069 +5544.82 1073 +5555.48 1077 +5566.14 1079 +5576.81 1082 +5587.47 1084 +5598.13 1087 +5608.8 1088 +5619.46 1090 +5630.12 1092 +5640.79 1092 +5651.45 1095 +5662.11 1098 +5672.77 1099 +5683.44 1101 +5694.1 1103 +5704.76 1105 +5715.43 1107 +5726.09 1109 +5736.75 1111 +5747.42 1115 +5758.08 1117 +5768.74 1119 +5779.41 1121 +5790.07 1123 +5800.73 1124 +5811.39 1127 +5822.06 1128 +5832.72 1132 +5843.38 1134 +5854.05 1134 +5864.71 1136 +5875.37 1138 +5886.04 1138 +5896.7 1140 +5907.36 1141 +5918.03 1143 +5928.69 1144 +5939.35 1146 +5950.02 1148 +5960.68 1151 +5971.34 1153 +5982 1154 +5992.67 1155 +6003.33 1157 +6013.99 1160 +6024.66 1162 +6035.32 1164 +6045.98 1166 +6056.65 1166 +6067.31 1169 +6077.97 1171 +6088.64 1173 +6099.3 1175 +6109.96 1177 +6120.63 1179 +6131.29 1179 +6141.95 1182 +6152.61 1184 +6163.28 1186 +6173.94 1188 +6184.6 1191 +6195.27 1194 +6205.93 1195 +6216.59 1199 +6227.26 1203 +6237.92 1205 +6248.58 1207 +6259.25 1209 +6269.91 1212 +6280.57 1214 +6291.23 1216 +6301.9 1219 +6312.56 1221 +6323.22 1222 +6333.89 1223 +6344.55 1226 +6355.21 1227 +6365.88 1227 +6376.54 1230 +6387.2 1231 +6397.87 1231 +6408.53 1234 +6419.19 1235 +6429.86 1238 +6440.52 1239 +6451.18 1240 +6461.84 1243 +6472.51 1244 +6483.17 1245 +6493.83 1248 +6504.5 1249 +6515.16 1252 +6525.82 1256 +6536.49 1259 +6547.15 1260 +6557.81 1263 +6568.48 1264 +6579.14 1267 +6589.8 1268 +6600.47 1271 +6611.13 1272 +6621.79 1275 +6632.45 1276 +6643.12 1280 +6653.78 1280 +6664.44 1283 +6675.11 1285 +6685.77 1288 +6696.43 1289 +6707.1 1293 +6717.76 1294 +6728.42 1298 +6739.09 1299 +6749.75 1301 +6760.41 1306 +6771.07 1307 +6781.74 1308 +6792.4 1311 +6803.06 1313 +6813.73 1316 +6824.39 1317 +6835.05 1320 +6845.72 1321 +6856.38 1324 +6867.04 1325 +6877.71 1328 +6888.37 1329 +6899.03 1329 +6909.7 1332 +6920.36 1336 +6931.02 1338 +6941.68 1339 +6952.35 1342 +6963.01 1342 +6973.67 1343 +6984.34 1346 +6995 1347 +7005.66 1347 +7016.33 1350 +7026.99 1351 +7037.65 1353 +7048.32 1354 +7058.98 1356 +7069.64 1357 +7080.31 1358 +7090.97 1359 +7101.63 1362 +7112.29 1363 +7122.96 1366 +7133.62 1367 +7144.28 1370 +7154.95 1371 +7165.61 1374 +7176.27 1377 +7186.94 1378 +7197.6 1380 +7208.26 1385 +7218.93 1387 +7229.59 1391 +7240.25 1394 +7250.91 1395 +7261.58 1400 +7272.24 1400 +7282.9 1402 +7293.57 1404 +7304.23 1406 +7314.89 1408 +7325.56 1410 +7336.22 1412 +7346.88 1414 +7357.55 1418 +7368.21 1421 +7378.87 1422 +7389.54 1424 +7400.2 1426 +7410.86 1428 +7421.52 1430 +7432.19 1431 +7442.85 1436 +7453.51 1437 +7464.18 1439 +7474.84 1441 +7485.5 1441 +7496.17 1444 +7506.83 1449 +7517.49 1450 +7528.16 1450 +7538.82 1452 +7549.48 1454 +7560.14 1458 +7570.81 1461 +7581.47 1462 +7592.13 1465 +7602.8 1466 +7613.46 1469 +7624.12 1470 +7634.79 1473 +7645.45 1474 +7656.11 1477 +7666.78 1478 +7677.44 1481 +7688.1 1482 +7698.77 1485 +7709.43 1487 +7720.09 1490 +7730.75 1491 +7741.42 1492 +7752.08 1494 +7762.74 1495 +7773.41 1498 +7784.07 1499 +7794.73 1502 +7805.4 1502 +7816.06 1503 +7826.72 1506 +7837.39 1508 +7848.05 1515 +7858.71 1516 +7869.38 1520 +7880.04 1520 +7890.7 1524 +7901.36 1528 +7912.03 1529 +7922.69 1532 +7933.35 1533 +7944.02 1537 +7954.68 1541 +7965.34 1542 +7976.01 1545 +7986.67 1547 +7997.33 1550 +8008 1551 +8018.66 1553 +8029.32 1553 +8039.98 1555 +8050.65 1557 +8061.31 1559 +8071.97 1561 +8082.64 1562 +8093.3 1564 +8103.96 1565 +8114.63 1567 +8125.29 1569 +8135.95 1571 +8146.62 1573 +8157.28 1575 +8167.94 1575 +8178.61 1576 +8189.27 1579 +8199.93 1581 +8210.59 1583 +8221.26 1585 +8231.92 1587 +8242.58 1590 +8253.25 1593 +8263.91 1595 +8274.57 1597 +8285.24 1599 +8295.9 1601 +8306.56 1604 +8317.23 1606 +8327.89 1608 +8338.55 1610 +8349.22 1612 +8359.88 1614 +8370.54 1615 +8381.2 1617 +8391.87 1618 +8402.53 1621 +8413.19 1623 +8423.86 1623 +8434.52 1626 +8445.18 1629 +8455.85 1631 +8466.51 1633 +8477.17 1636 +8487.84 1638 +8498.5 1640 +8509.16 1643 +8519.82 1645 +8530.49 1647 +8541.15 1649 +8551.81 1651 +8562.48 1653 +8573.14 1655 +8583.8 1657 +8594.47 1657 +8605.13 1661 +8615.79 1661 +8626.46 1664 +8637.12 1665 +8647.78 1668 +8658.45 1669 +8669.11 1673 +8679.77 1673 +8690.43 1677 +8701.1 1678 +8711.76 1681 +8722.42 1682 +8733.09 1685 +8743.75 1690 +8754.41 1694 +8765.08 1698 +8775.74 1701 +8786.4 1704 +8797.07 1705 +8807.73 1709 +8818.39 1709 +8829.06 1713 +8839.72 1717 +8850.38 1721 +8861.04 1721 +8871.71 1725 +8882.37 1729 +8893.03 1731 +8903.7 1733 +8914.36 1735 +8925.02 1737 +8935.69 1739 +8946.35 1741 +8957.01 1743 +8967.68 1745 +8978.34 1747 +8989 1749 +8999.66 1751 +9010.33 1753 +9020.99 1757 +9031.65 1762 +9042.32 1768 +9052.98 1769 +9063.64 1772 +9074.31 1773 +9084.97 1777 +9095.63 1777 +9106.3 1781 +9116.96 1785 +9127.62 1785 +9138.29 1787 +9148.95 1789 +9159.61 1790 +9170.27 1793 +9180.94 1793 +9191.6 1794 +9202.26 1797 +9212.93 1798 +9223.59 1801 +9234.25 1802 +9244.92 1805 +9255.58 1806 +9266.24 1809 +9276.91 1811 +9287.57 1813 +9298.23 1815 +9308.9 1817 +9319.56 1819 +9330.22 1820 +9340.88 1822 +9351.55 1823 +9362.21 1825 +9372.87 1828 +9383.54 1831 +9394.2 1837 +9404.86 1837 +9415.53 1841 +9426.19 1841 +9436.85 1845 +9447.52 1849 +9458.18 1853 +9468.84 1857 +9479.5 1861 +9490.17 1861 +9500.83 1866 +9511.49 1866 +9522.16 1869 +9532.82 1870 +9543.48 1871 +9554.15 1874 +9564.81 1875 +9575.47 1879 +9586.14 1884 +9596.8 1888 +9607.46 1889 +9618.13 1892 +9628.79 1893 +9639.45 1893 +9650.11 1896 +9660.78 1897 +9671.44 1900 +9682.1 1901 +9692.77 1904 +9703.43 1905 +9714.09 1907 +9724.76 1909 +9735.42 1910 +9746.08 1913 +9756.75 1917 +9767.41 1918 +9778.07 1921 +9788.73 1923 +9799.4 1927 +9810.06 1927 +9820.72 1930 +9831.39 1932 +9842.05 1936 +9852.71 1937 +9863.38 1939 +9874.04 1941 +9884.7 1945 +9895.37 1948 +9906.03 1948 +9916.69 1950 +9927.36 1952 +9938.02 1954 +9948.68 1957 +9959.34 1958 +9970.01 1961 +9980.67 1962 +9991.33 1962 +10002 1965 +10012.7 1966 +10023.3 1969 +10034 1969 +10044.6 1970 +10055.3 1973 +10066 1974 +10076.6 1977 +10087.3 1978 +10098 1982 +10108.6 1983 +10119.3 1985 +10130 1988 +10140.6 1988 +10151.3 1991 +10161.9 1993 +10172.6 1997 +10183.3 1997 +10193.9 1998 +10204.6 2001 +10215.3 2004 +10225.9 2006 +10236.6 2008 +10247.2 2013 +10257.9 2014 +10268.6 2016 +10279.2 2018 +10289.9 2020 +10300.6 2022 +10311.2 2026 +10321.9 2026 +10332.6 2027 +10343.2 2029 +10353.9 2030 +10364.5 2031 +10375.2 2034 +10385.9 2035 +10396.5 2037 +10407.2 2040 +10417.9 2043 +10428.5 2046 +10439.2 2049 +10449.8 2050 +10460.5 2052 +10471.2 2054 +10481.8 2058 +10492.5 2059 +10503.2 2063 +10513.8 2067 +10524.5 2068 +10535.2 2070 +10545.8 2073 +10556.5 2073 +10567.1 2075 +10577.8 2077 +10588.5 2079 +10599.1 2081 +10609.8 2083 +10620.5 2086 +10631.1 2087 +10641.8 2089 +10652.4 2092 +10663.1 2094 +10673.8 2096 +10684.4 2098 +10695.1 2103 +10705.8 2104 +10716.4 2107 +10727.1 2108 +10737.8 2110 +10748.4 2112 +10759.1 2113 +10769.7 2116 +10780.4 2117 +10791.1 2118 +10801.7 2120 +10812.4 2122 +10823.1 2124 +10833.7 2126 +10844.4 2128 +10855 2130 +10865.7 2131 +10876.4 2133 +10887 2134 +10897.7 2136 +10908.4 2138 +10919 2139 +10929.7 2142 +10940.4 2144 +10951 2147 +10961.7 2149 +10972.3 2151 +10983 2153 +10993.7 2153 +11004.3 2154 +11015 2156 +11025.7 2160 +11036.3 2161 +11047 2162 +11057.6 2165 +11068.3 2167 +11079 2167 +11089.6 2171 +11100.3 2172 +11111 2175 +11121.6 2177 +11132.3 2180 +11142.9 2181 +11153.6 2183 +11164.3 2185 +11174.9 2188 +11185.6 2190 +11196.3 2192 +11206.9 2195 +11217.6 2198 +11228.3 2199 +11238.9 2201 +11249.6 2203 +11260.2 2205 +11270.9 2208 +11281.6 2210 +11292.2 2212 +11302.9 2215 +11313.6 2217 +11324.2 2219 +11334.9 2224 +11345.5 2225 +11356.2 2228 +11366.9 2229 +11377.5 2233 +11388.2 2235 +11398.9 2238 +11409.5 2239 +11420.2 2243 +11430.9 2243 +11441.5 2246 +11452.2 2251 +11462.8 2252 +11473.5 2254 +11484.2 2255 +11494.8 2257 +11505.5 2258 +11516.2 2259 +11526.8 2262 +11537.5 2264 +11548.1 2267 +11558.8 2268 +11569.5 2272 +11580.1 2272 +11590.8 2273 +11601.5 2276 +11612.1 2278 +11622.8 2281 +11633.5 2282 +11644.1 2285 +11654.8 2286 +11665.4 2290 +11676.1 2291 +11686.8 2294 +11697.4 2296 +11708.1 2298 +11718.8 2302 +11729.4 2307 +11740.1 2311 +11750.7 2315 +11761.4 2318 +11772.1 2319 +11782.7 2322 +11793.4 2324 +11804.1 2328 +11814.7 2330 +11825.4 2332 +11836.1 2333 +11846.7 2335 +11857.4 2336 +11868 2337 +11878.7 2339 +11889.4 2340 +11900 2341 +11910.7 2343 +11921.4 2344 +11932 2346 +11942.7 2349 +11953.3 2351 +11964 2353 +11974.7 2355 +11985.3 2357 +11996 2358 +12006.7 2362 +12017.3 2364 +12028 2367 +12038.7 2370 +12049.3 2371 +12060 2375 +12070.6 2376 +12081.3 2379 +12092 2380 +12102.6 2385 +12113.3 2385 +12124 2386 +12134.6 2389 +12145.3 2390 +12155.9 2393 +12166.6 2398 +12177.3 2398 +12187.9 2400 +12198.6 2402 +12209.3 2404 +12219.9 2406 +12230.6 2407 +12241.3 2409 +12251.9 2410 +12262.6 2411 +12273.2 2414 +12283.9 2418 +12294.6 2422 +12305.2 2426 +12315.9 2431 +12326.6 2433 +12337.2 2435 +12347.9 2437 +12358.5 2438 +12369.2 2441 +12379.9 2442 +12390.5 2445 +12401.2 2446 +12411.9 2450 +12422.5 2450 +12433.2 2454 +12443.8 2458 +12454.5 2462 +12465.2 2465 +12475.8 2467 +12486.5 2469 +12497.2 2472 +12507.8 2474 +12518.5 2476 +12529.2 2478 +12539.8 2480 +12550.5 2482 +12561.1 2483 +12571.8 2484 +12582.5 2487 +12593.1 2488 +12603.8 2492 +12614.5 2496 +12625.1 2500 +12635.8 2504 +12646.4 2507 +12657.1 2508 +12667.8 2512 +12678.4 2517 +12689.1 2517 +12699.8 2519 +12710.4 2521 +12721.1 2521 +12731.8 2523 +12742.4 2526 +12753.1 2526 +12763.7 2528 +12774.4 2530 +12785.1 2532 +12795.7 2534 +12806.4 2536 +12817.1 2538 +12827.7 2540 +12838.4 2542 +12849 2544 +12859.7 2547 +12870.4 2547 +12881 2549 +12891.7 2550 +12902.4 2552 +12913 2554 +12923.7 2555 +12934.4 2557 +12945 2559 +12955.7 2561 +12966.3 2564 +12977 2565 +12987.7 2567 +12998.3 2571 +13009 2572 +13019.7 2573 +13030.3 2577 +13041 2578 +13051.6 2580 +13062.3 2582 +13073 2584 +13083.6 2586 +13094.3 2588 +13105 2590 +13115.6 2592 +13126.3 2594 +13137 2596 +13147.6 2598 +13158.3 2601 +13168.9 2601 +13179.6 2604 +13190.3 2605 +13200.9 2607 +13211.6 2608 +13222.3 2610 +13232.9 2612 +13243.6 2615 +13254.2 2617 +13264.9 2620 +13275.6 2622 +13286.2 2624 +13296.9 2625 +13307.6 2628 +13318.2 2629 +13328.9 2632 +13339.6 2633 +13350.2 2636 +13360.9 2638 +13371.5 2639 +13382.2 2643 +13392.9 2643 +13403.5 2644 +13414.2 2647 +13424.9 2647 +13435.5 2649 +13446.2 2652 +13456.8 2652 +13467.5 2655 +13478.2 2658 +13488.8 2662 +13499.5 2663 +13510.2 2665 +13520.8 2667 +13531.5 2669 +13542.1 2671 +13552.8 2673 +13563.5 2675 +13574.1 2677 +13584.8 2679 +13595.5 2681 +13606.1 2681 +13616.8 2681 +13627.5 2681 +13638.1 2681 +13648.8 2681 +13659.4 2682 +13670.1 2685 +13680.8 2685 +13691.4 2685 +13702.1 2687 +13712.8 2689 +13723.4 2691 +13734.1 2694 +13744.7 2697 +13755.4 2700 +13766.1 2702 +13776.7 2705 +13787.4 2708 +13798.1 2710 +13808.7 2711 +13819.4 2713 +13830.1 2714 +13840.7 2718 +13851.4 2721 +13862 2721 +13872.7 2724 +13883.4 2724 +13894 2726 +13904.7 2728 +13915.4 2731 +13926 2732 +13936.7 2734 +13947.3 2735 +13958 2737 +13968.7 2738 +13979.3 2740 +13990 2742 +14000.7 2743 +14011.3 2745 +14022 2746 +14032.7 2746 +14043.3 2747 +14054 2750 +14064.6 2750 +14075.3 2751 +14086 2752 +14096.6 2754 +14107.3 2756 +14118 2758 +14128.6 2759 +14139.3 2760 +14149.9 2761 +14160.6 2763 +14171.3 2764 +14181.9 2766 +14192.6 2768 +14203.3 2772 +14213.9 2772 +14224.6 2776 +14235.3 2779 +14245.9 2782 +14256.6 2785 +14267.2 2786 +14277.9 2788 +14288.6 2790 +14299.2 2792 +14309.9 2794 +14320.6 2795 +14331.2 2797 +14341.9 2798 +14352.5 2800 +14363.2 2801 +14373.9 2803 +14384.5 2805 +14395.2 2806 +14405.9 2809 +14416.5 2810 +14427.2 2814 +14437.9 2814 +14448.5 2816 +14459.2 2818 +14469.8 2821 +14480.5 2823 +14491.2 2825 +14501.8 2828 +14512.5 2828 +14523.2 2831 +14533.8 2834 +14544.5 2835 +14555.1 2837 +14565.8 2840 +14576.5 2842 +14587.1 2844 +14597.8 2846 +14608.5 2848 +14619.1 2849 +14629.8 2851 +14640.5 2853 +14651.1 2854 +14661.8 2856 +14672.4 2858 +14683.1 2860 +14693.8 2862 +14704.4 2864 +14715.1 2866 +14725.8 2868 +14736.4 2870 +14747.1 2871 +14757.7 2873 +14768.4 2874 +14779.1 2875 +14789.7 2878 +14800.4 2880 +14811.1 2883 +14821.7 2884 +14832.4 2887 +14843 2890 +14853.7 2890 +14864.4 2891 +14875 2894 +14885.7 2895 +14896.4 2898 +14907 2899 +14917.7 2899 +14928.4 2902 +14939 2904 +14949.7 2909 +14960.3 2912 +14971 2914 +14981.7 2916 +14992.3 2920 +15003 2921 +15013.7 2923 +15024.3 2925 +15035 2927 +15045.6 2929 +15056.3 2931 +15067 2933 +15077.6 2935 +15088.3 2937 +15099 2939 +15109.6 2940 +15120.3 2941 +15131 2943 +15141.6 2944 +15152.3 2945 +15162.9 2948 +15173.6 2949 +15184.3 2951 +15194.9 2953 +15205.6 2955 +15216.3 2958 +15226.9 2961 +15237.6 2967 +15248.2 2968 +15258.9 2969 +15269.6 2972 +15280.2 2973 +15290.9 2973 +15301.6 2977 +15312.2 2981 +15322.9 2985 +15333.6 2990 +15344.2 2991 +15354.9 2996 +15365.5 2996 +15376.2 2998 +15386.9 3000 +15397.5 3001 +15408.2 3002 +15418.9 3005 +15429.5 3008 +15440.2 3008 +15450.8 3010 +15461.5 3012 +15472.2 3014 +15482.8 3015 +15493.5 3016 +15504.2 3018 +15514.8 3022 +15525.5 3023 +15536.2 3024 +15546.8 3027 +15557.5 3028 +15568.1 3031 +15578.8 3032 +15589.5 3033 +15600.1 3036 +15610.8 3039 +15621.5 3040 +15632.1 3040 +15642.8 3041 +15653.4 3042 +15664.1 3042 +15674.8 3042 +15685.4 3042 +15696.1 3042 +15706.8 3042 +15717.4 3042 +15728.1 3042 +15738.8 3042 +15749.4 3042 +15760.1 3042 +15770.7 3042 +15781.4 3042 +15792.1 3042 +15802.7 3042 +15813.4 3042 +15824.1 3042 +15834.7 3042 +15845.4 3042 +15856 3042 +15866.7 3042 +15877.4 3043 +15888 3044 +15898.7 3045 +15909.4 3046 +15920 3047 +15930.7 3047 +15941.3 3048 +15952 3049 +15962.7 3049 +15973.3 3050 +15984 3051 +15994.7 3052 +16005.3 3052 +16016 3053 +16026.7 3054 +16037.3 3055 +16048 3056 +16058.6 3058 +16069.3 3059 +16080 3060 +16090.6 3061 +16101.3 3062 +16112 3063 +16122.6 3064 +16133.3 3065 +16143.9 3066 +16154.6 3068 +16165.3 3070 +16175.9 3072 +16186.6 3073 +16197.3 3074 +16207.9 3074 +16218.6 3076 +16229.3 3078 +16239.9 3079 +16250.6 3080 +16261.2 3081 +16271.9 3082 +16282.6 3083 +16293.2 3084 +16303.9 3085 +16314.6 3086 +16325.2 3087 +16335.9 3088 +16346.5 3089 +16357.2 3090 +16367.9 3092 +16378.5 3093 +16389.2 3094 +16399.9 3095 +16410.5 3096 +16421.2 3097 +16431.9 3097 +16442.5 3098 +16453.2 3099 +16463.8 3100 +16474.5 3101 +16485.2 3102 +16495.8 3103 +16506.5 3104 +16517.2 3105 +16527.8 3106 +16538.5 3107 +16549.1 3108 +16559.8 3109 +16570.5 3110 +16581.1 3111 +16591.8 3112 +16602.5 3113 +16613.1 3114 +16623.8 3115 +16634.5 3116 +16645.1 3116 +16655.8 3117 +16666.4 3119 +16677.1 3121 +16687.8 3123 +16698.4 3123 +16709.1 3124 +16719.8 3125 +16730.4 3126 +16741.1 3127 +16751.7 3128 +16762.4 3129 +16773.1 3129 +16783.7 3130 +16794.4 3131 +16805.1 3132 +16815.7 3133 +16826.4 3134 +16837.1 3135 +16847.7 3136 +16858.4 3137 +16869 3138 +16879.7 3139 +16890.4 3139 +16901 3140 +16911.7 3142 +16922.4 3142 +16933 3144 +16943.7 3144 +16954.3 3145 +16965 3146 +16975.7 3147 +16986.3 3148 +16997 3150 +17007.7 3152 +17018.3 3155 +17029 3156 +17039.6 3156 +17050.3 3157 +17061 3158 +17071.6 3158 +17082.3 3158 +17093 3158 +17103.6 3158 +17114.3 3158 +17125 3159 +17135.6 3159 +17146.3 3159 +17156.9 3159 +17167.6 3159 +17178.3 3159 +17188.9 3160 +17199.6 3160 +17210.3 3160 +17220.9 3160 +17231.6 3160 +17242.2 3160 +17252.9 3160 +17263.6 3161 +17274.2 3161 +17284.9 3161 +17295.6 3161 +17306.2 3161 +17316.9 3161 +17327.6 3162 +17338.2 3162 +17348.9 3162 +17359.5 3162 +17370.2 3162 +17380.9 3162 +17391.5 3162 +17402.2 3163 +17412.9 3168 +17423.5 3168 +17434.2 3173 +17444.8 3177 +17455.5 3178 +17466.2 3181 +17476.8 3183 +17487.5 3186 +17498.2 3187 +17508.8 3188 +17519.5 3192 +17530.2 3194 +17540.8 3197 +17551.5 3199 +17562.1 3202 +17572.8 3204 +17583.5 3207 +17594.1 3213 +17604.8 3215 +17615.5 3217 +17626.1 3220 +17636.8 3222 +17647.4 3225 +17658.1 3227 +17668.8 3230 +17679.4 3232 +17690.1 3236 +17700.8 3238 +17711.4 3242 +17722.1 3244 +17732.8 3247 +17743.4 3250 +17754.1 3252 +17764.7 3253 +17775.4 3256 +17786.1 3259 +17796.7 3259 +17807.4 3262 +17818.1 3265 +17828.7 3268 +17839.4 3270 +17850 3270 +17860.7 3273 +17871.4 3276 +17882 3279 +17892.7 3282 +17903.4 3282 +17914 3284 +17924.7 3286 +17935.4 3287 +17946 3289 +17956.7 3292 +17967.3 3293 +17978 3294 +17988.7 3297 +17999.3 3299 +18010 3302 +18020.7 3304 +18031.3 3305 +18042 3308 +18052.6 3313 +18063.3 3314 +18074 3316 +18084.6 3317 +18095.3 3318 +18106 3318 +18116.6 3318 +18127.3 3318 +18138 3318 +18148.6 3318 +18159.3 3318 +18169.9 3318 +18180.6 3318 +18191.3 3318 +18201.9 3318 +18212.6 3318 +18223.3 3318 +18233.9 3318 +18244.6 3318 +18255.2 3318 +18265.9 3318 +18276.6 3318 +18287.2 3318 +18297.9 3318 +18308.6 3318 +18319.2 3318 +18329.9 3319 +18340.5 3320 +18351.2 3320 +18361.9 3321 +18372.5 3322 +18383.2 3322 +18393.9 3322 +18404.5 3322 +18415.2 3322 +18425.9 3322 +18436.5 3322 +18447.2 3322 +18457.8 3322 +18468.5 3322 +18479.2 3322 +18489.8 3322 +18500.5 3322 +18511.2 3322 +18521.8 3322 +18532.5 3322 +18543.1 3322 +18553.8 3322 +18564.5 3322 +18575.1 3322 +18585.8 3322 +18596.5 3322 +18607.1 3322 +18617.8 3322 +18628.5 3322 +18639.1 3322 +18649.8 3322 +18660.4 3322 +18671.1 3322 +18681.8 3322 +18692.4 3322 +18703.1 3322 +18713.8 3322 +18724.4 3322 +18735.1 3322 +18745.7 3322 +18756.4 3322 +18767.1 3322 +18777.7 3322 +18788.4 3322 +18799.1 3322 +18809.7 3322 +18820.4 3322 +18831.1 3322 +18841.7 3322 +18852.4 3322 +18863 3322 +18873.7 3322 +18884.4 3322 +18895 3322 +18905.7 3322 +18916.4 3322 +18927 3322 +18937.7 3322 +18948.3 3322 +18959 3322 +18969.7 3322 +18980.3 3322 +18991 3322 +19001.7 3322 +19012.3 3322 +19023 3322 +19033.7 3322 +19044.3 3324 +19055 3326 +19065.6 3328 +19076.3 3330 +19087 3333 +19097.6 3333 +19108.3 3334 +19119 3335 +19129.6 3336 +19140.3 3337 +19150.9 3339 +19161.6 3341 +19172.3 3342 +19182.9 3343 +19193.6 3344 +19204.3 3345 +19214.9 3347 +19225.6 3347 +19236.3 3348 +19246.9 3349 +19257.6 3350 +19268.2 3350 +19278.9 3351 +19289.6 3352 +19300.2 3353 +19310.9 3354 +19321.6 3355 +19332.2 3356 +19342.9 3357 +19353.5 3358 +19364.2 3359 +19374.9 3360 +19385.5 3361 +19396.2 3362 +19406.9 3363 +19417.5 3364 +19428.2 3365 +19438.8 3367 +19449.5 3368 +19460.2 3369 +19470.8 3370 +19481.5 3371 +19492.2 3372 +19502.8 3372 +19513.5 3375 +19524.2 3376 +19534.8 3377 +19545.5 3378 +19556.1 3380 +19566.8 3380 +19577.5 3382 +19588.1 3383 +19598.8 3384 +19609.5 3386 +19620.1 3387 +19630.8 3388 +19641.4 3389 +19652.1 3390 +19662.8 3391 +19673.4 3392 +19684.1 3393 +19694.8 3394 +19705.4 3395 +19716.1 3396 +19726.8 3397 +19737.4 3398 +19748.1 3399 +19758.7 3400 +19769.4 3401 +19780.1 3402 +19790.7 3403 +19801.4 3403 +19812.1 3404 +19822.7 3404 +19833.4 3405 +19844 3406 +19854.7 3407 +19865.4 3408 +19876 3409 +19886.7 3410 +19897.4 3411 +19908 3412 +19918.7 3413 +19929.4 3414 +19940 3415 +19950.7 3416 +19961.3 3417 +19972 3418 +19982.7 3419 +19993.3 3420 +20004 3420 +20014.7 3421 +20025.3 3422 +20036 3423 +20046.6 3424 +20057.3 3425 +20068 3427 +20078.6 3429 +20089.3 3432 +20100 3434 +20110.6 3435 +20121.3 3436 +20132 3437 +20142.6 3438 +20153.3 3438 +20163.9 3439 +20174.6 3440 +20185.3 3441 +20195.9 3442 +20206.6 3443 +20217.3 3444 +20227.9 3445 +20238.6 3446 +20249.2 3446 +20259.9 3446 +20270.6 3447 +20281.2 3447 +20291.9 3448 +20302.6 3448 +20313.2 3448 +20323.9 3449 +20334.6 3449 +20345.2 3450 +20355.9 3450 +20366.5 3451 +20377.2 3452 +20387.9 3453 +20398.5 3454 +20409.2 3455 +20419.9 3456 +20430.5 3457 +20441.2 3458 +20451.8 3459 +20462.5 3460 +20473.2 3461 +20483.8 3462 +20494.5 3463 +20505.2 3464 +20515.8 3465 +20526.5 3466 +20537.1 3467 +20547.8 3468 +20558.5 3469 +20569.1 3470 +20579.8 3471 +20590.5 3472 +20601.1 3473 +20611.8 3474 +20622.5 3475 +20633.1 3478 +20643.8 3478 +20654.4 3479 +20665.1 3480 +20675.8 3481 +20686.4 3481 +20697.1 3482 +20707.8 3483 +20718.4 3484 +20729.1 3487 +20739.7 3489 +20750.4 3489 +20761.1 3490 +20771.7 3491 +20782.4 3492 +20793.1 3493 +20803.7 3494 +20814.4 3495 +20825.1 3496 +20835.7 3497 +20846.4 3498 +20857 3499 +20867.7 3499 +20878.4 3501 +20889 3502 +20899.7 3504 +20910.4 3506 +20921 3508 +20931.7 3510 +20942.3 3512 +20953 3514 +20963.7 3515 +20974.3 3516 +20985 3517 +20995.7 3518 +21006.3 3520 +21017 3520 +21027.7 3522 +21038.3 3523 +21049 3523 +21059.6 3523 +21070.3 3523 +21081 3524 +21091.6 3526 +21102.3 3527 +21113 3528 +21123.6 3530 +21134.3 3531 +21144.9 3532 +21155.6 3533 +21166.3 3534 +21176.9 3535 +21187.6 3536 +21198.3 3537 +21208.9 3538 +21219.6 3539 +21230.3 3539 +21240.9 3540 +21251.6 3541 +21262.2 3542 +21272.9 3543 +21283.6 3544 +21294.2 3544 +21304.9 3545 +21315.6 3546 +21326.2 3548 +21336.9 3548 +21347.5 3549 +21358.2 3550 +21368.9 3551 +21379.5 3552 +21390.2 3553 +21400.9 3554 +21411.5 3554 +21422.2 3555 +21432.9 3556 +21443.5 3557 +21454.2 3558 +21464.8 3559 +21475.5 3561 +21486.2 3562 +21496.8 3562 +21507.5 3562 +21518.2 3562 +21528.8 3564 +21539.5 3565 +21550.1 3567 +21560.8 3567 +21571.5 3569 +21582.1 3572 +21592.8 3575 +21603.5 3577 +21614.1 3579 +21624.8 3580 +21635.5 3582 +21646.1 3584 +21656.8 3584 +21667.4 3586 +21678.1 3586 +21688.8 3588 +21699.4 3590 +21710.1 3592 +21720.8 3594 +21731.4 3596 +21742.1 3598 +21752.7 3600 +21763.4 3602 +21774.1 3604 +21784.7 3606 +21795.4 3608 +21806.1 3611 +21816.7 3613 +21827.4 3615 +21838 3616 +21848.7 3617 +21859.4 3618 +21870 3619 +21880.7 3621 +21891.4 3624 +21902 3626 +21912.7 3627 +21923.4 3628 +21934 3629 +21944.7 3631 +21955.3 3631 +21966 3633 +21976.7 3635 +21987.3 3635 +21998 3637 +22008.7 3639 +22019.3 3641 +22030 3643 +22040.6 3643 +22051.3 3645 +22062 3647 +22072.6 3647 +22083.3 3650 +22094 3652 +22104.6 3652 +22115.3 3654 +22126 3656 +22136.6 3658 +22147.3 3658 +22157.9 3659 +22168.6 3660 +22179.3 3661 +22189.9 3662 +22200.6 3663 +22211.3 3664 +22221.9 3664 +22232.6 3665 +22243.2 3665 +22253.9 3665 +22264.6 3665 +22275.2 3665 +22285.9 3665 +22296.6 3665 +22307.2 3666 +22317.9 3668 +22328.6 3669 +22339.2 3669 +22349.9 3670 +22360.5 3671 +22371.2 3672 +22381.9 3673 +22392.5 3674 +22403.2 3675 +22413.9 3676 +22424.5 3677 +22435.2 3679 +22445.8 3680 +22456.5 3680 +22467.2 3681 +22477.8 3682 +22488.5 3683 +22499.2 3684 +22509.8 3685 +22520.5 3688 +22531.2 3689 +22541.8 3690 +22552.5 3691 +22563.1 3692 +22573.8 3693 +22584.5 3693 +22595.1 3695 +22605.8 3696 +22616.5 3697 +22627.1 3698 +22637.8 3699 +22648.4 3700 +22659.1 3701 +22669.8 3701 +22680.4 3702 +22691.1 3703 +22701.8 3704 +22712.4 3704 +22723.1 3705 +22733.8 3707 +22744.4 3708 +22755.1 3709 +22765.7 3709 +22776.4 3710 +22787.1 3711 +22797.7 3712 +22808.4 3713 +22819.1 3715 +22829.7 3716 +22840.4 3717 +22851 3719 +22861.7 3721 +22872.4 3722 +22883 3724 +22893.7 3724 +22904.4 3725 +22915 3725 +22925.7 3725 +22936.3 3725 +22947 3725 +22957.7 3725 +22968.3 3726 +22979 3728 +22989.7 3729 +23000.3 3730 +23011 3731 +23021.7 3732 +23032.3 3733 +23043 3734 +23053.6 3735 +23064.3 3736 +23075 3737 +23085.6 3739 +23096.3 3741 +23107 3741 +23117.6 3743 +23128.3 3743 +23138.9 3745 +23149.6 3746 +23160.3 3749 +23170.9 3750 +23181.6 3750 +23192.3 3752 +23202.9 3753 +23213.6 3755 +23224.3 3756 +23234.9 3758 +23245.6 3759 +23256.2 3761 +23266.9 3762 +23277.6 3763 +23288.2 3764 +23298.9 3766 +23309.6 3768 +23320.2 3768 +23330.9 3770 +23341.5 3771 +23352.2 3773 +23362.9 3774 +23373.5 3775 +23384.2 3777 +23394.9 3778 +23405.5 3780 +23416.2 3781 +23426.9 3781 +23437.5 3783 +23448.2 3783 +23458.8 3783 +23469.5 3783 +23480.2 3783 +23490.8 3784 +23501.5 3784 +23512.2 3784 +23522.8 3784 +23533.5 3784 +23544.1 3784 +23554.8 3784 +23565.5 3784 +23576.1 3784 +23586.8 3784 +23597.5 3784 +23608.1 3784 +23618.8 3784 +23629.5 3784 +23640.1 3784 +23650.8 3784 +23661.4 3784 +23672.1 3784 +23682.8 3784 +23693.4 3784 +23704.1 3784 +23714.8 3784 +23725.4 3784 +23736.1 3784 +23746.7 3784 +23757.4 3784 +23768.1 3784 +23778.7 3784 +23789.4 3784 +23800.1 3784 +23810.7 3784 +23821.4 3784 +23832.1 3784 +23842.7 3784 +23853.4 3784 +23864 3784 +23874.7 3784 +23885.4 3784 +23896 3784 +23906.7 3784 +23917.4 3784 +23928 3784 +23938.7 3784 +23949.3 3784 +23960 3784 +23970.7 3784 +23981.3 3784 +23992 3784 +24002.7 3784 +24013.3 3785 +24024 3785 +24034.6 3786 +24045.3 3787 +24056 3788 +24066.6 3789 +24077.3 3791 +24088 3792 +24098.6 3793 +24109.3 3794 +24120 3795 +24130.6 3796 +24141.3 3798 +24151.9 3800 +24162.6 3802 +24173.3 3802 +24183.9 3802 +24194.6 3802 +24205.3 3802 +24215.9 3802 +24226.6 3802 +24237.2 3802 +24247.9 3802 +24258.6 3802 +24269.2 3802 +24279.9 3802 +24290.6 3802 +24301.2 3802 +24311.9 3802 +24322.6 3802 +24333.2 3802 +24343.9 3802 +24354.5 3802 +24365.2 3802 +24375.9 3802 +24386.5 3802 +24397.2 3802 +24407.9 3802 +24418.5 3802 +24429.2 3802 +24439.8 3802 +24450.5 3802 +24461.2 3802 +24471.8 3802 +24482.5 3802 +24493.2 3802 +24503.8 3802 +24514.5 3802 +24525.2 3802 +24535.8 3802 +24546.5 3802 +24557.1 3802 +24567.8 3802 +24578.5 3802 +24589.1 3802 +24599.8 3802 +24610.5 3802 +24621.1 3802 +24631.8 3802 +24642.4 3802 +24653.1 3802 +24663.8 3802 +24674.4 3802 +24685.1 3802 +24695.8 3802 +24706.4 3802 +24717.1 3802 +24727.8 3802 +24738.4 3802 +24749.1 3802 +24759.7 3802 +24770.4 3802 +24781.1 3802 +24791.7 3802 +24802.4 3802 +24813.1 3802 +24823.7 3802 +24834.4 3802 +24845 3802 +24855.7 3802 +24866.4 3802 +24877 3802 +24887.7 3802 +24898.4 3802 +24909 3802 +24919.7 3802 +24930.4 3802 +24941 3802 +24951.7 3802 +24962.3 3802 +24973 3803 +24983.7 3804 +24994.3 3805 +25005 3806 +25015.7 3808 +25026.3 3808 +25037 3809 +25047.6 3810 +25058.3 3811 +25069 3812 +25079.6 3813 +25090.3 3814 +25101 3815 +25111.6 3816 +25122.3 3817 +25133 3817 +25143.6 3819 +25154.3 3820 +25164.9 3821 +25175.6 3822 +25186.3 3823 +25196.9 3824 +25207.6 3825 +25218.3 3826 +25228.9 3827 +25239.6 3828 +25250.2 3829 +25260.9 3830 +25271.6 3831 +25282.2 3832 +25292.9 3833 +25303.6 3834 +25314.2 3835 +25324.9 3836 +25335.5 3837 +25346.2 3838 +25356.9 3839 +25367.5 3840 +25378.2 3841 +25388.9 3842 +25399.5 3843 +25410.2 3845 +25420.9 3846 +25431.5 3847 +25442.2 3847 +25452.8 3848 +25463.5 3849 +25474.2 3851 +25484.8 3852 +25495.5 3853 +25506.2 3854 +25516.8 3855 +25527.5 3857 +25538.1 3859 +25548.8 3861 +25559.5 3862 +25570.1 3863 +25580.8 3864 +25591.5 3865 +25602.1 3866 +25612.8 3868 +25623.5 3869 +25634.1 3870 +25644.8 3871 +25655.4 3872 +25666.1 3874 +25676.8 3875 +25687.4 3876 +25698.1 3877 +25708.8 3878 +25719.4 3879 +25730.1 3880 +25740.7 3881 +25751.4 3882 +25762.1 3883 +25772.7 3884 +25783.4 3885 +25794.1 3886 +25804.7 3887 +25815.4 3888 +25826.1 3889 +25836.7 3890 +25847.4 3891 +25858 3892 +25868.7 3893 +25879.4 3894 +25890 3895 +25900.7 3896 +25911.4 3897 +25922 3898 +25932.7 3899 +25943.3 3900 +25954 3900 +25964.7 3901 +25975.3 3902 +25986 3903 +25996.7 3905 +26007.3 3906 +26018 3906 +26028.7 3907 +26039.3 3908 +26050 3909 +26060.6 3911 +26071.3 3912 +26082 3912 +26092.6 3913 +26103.3 3914 +26114 3915 +26124.6 3917 +26135.3 3919 +26145.9 3920 +26156.6 3922 +26167.3 3923 +26177.9 3923 +26188.6 3924 +26199.3 3925 +26209.9 3926 +26220.6 3928 +26231.3 3929 +26241.9 3930 +26252.6 3931 +26263.2 3932 +26273.9 3932 +26284.6 3934 +26295.2 3935 +26305.9 3936 +26316.6 3937 +26327.2 3938 +26337.9 3939 +26348.5 3940 +26359.2 3941 +26369.9 3942 +26380.5 3943 +26391.2 3944 +26401.9 3945 +26412.5 3946 +26423.2 3947 +26433.8 3948 +26444.5 3949 +26455.2 3950 +26465.8 3951 +26476.5 3952 +26487.2 3953 +26497.8 3954 +26508.5 3955 +26519.2 3956 +26529.8 3957 +26540.5 3958 +26551.1 3959 +26561.8 3960 +26572.5 3961 +26583.1 3962 +26593.8 3963 +26604.5 3965 +26615.1 3965 +26625.8 3965 +26636.4 3965 +26647.1 3965 +26657.8 3965 +26668.4 3965 +26679.1 3965 +26689.8 3965 +26700.4 3965 +26711.1 3965 +26721.8 3965 +26732.4 3965 +26743.1 3965 +26753.7 3965 +26764.4 3965 +26775.1 3965 +26785.7 3965 +26796.4 3965 +26807.1 3965 +26817.7 3965 +26828.4 3965 +26839 3965 +26849.7 3965 +26860.4 3965 +26871 3965 +26881.7 3965 +26892.4 3965 +26903 3965 +26913.7 3965 +26924.4 3965 +26935 3965 +26945.7 3965 +26956.3 3965 +26967 3965 +26977.7 3965 +26988.3 3965 +26999 3965 +27009.7 3965 +27020.3 3965 +27031 3965 +27041.6 3965 +27052.3 3965 +27063 3965 +27073.6 3965 +27084.3 3965 +27095 3965 +27105.6 3965 +27116.3 3965 +27127 3965 +27137.6 3965 +27148.3 3965 +27158.9 3965 +27169.6 3967 +27180.3 3968 +27190.9 3969 +27201.6 3970 +27212.3 3971 +27222.9 3973 +27233.6 3975 +27244.2 3977 +27254.9 3978 +27265.6 3979 +27276.2 3979 +27286.9 3980 +27297.6 3981 +27308.2 3982 +27318.9 3983 +27329.6 3983 +27340.2 3983 +27350.9 3983 +27361.5 3983 +27372.2 3983 +27382.9 3984 +27393.5 3985 +27404.2 3985 +27414.9 3985 +27425.5 3986 +27436.2 3987 +27446.8 3987 +27457.5 3987 +27468.2 3987 +27478.8 3987 +27489.5 3987 +27500.2 3987 +27510.8 3987 +27521.5 3987 +27532.2 3987 +27542.8 3987 +27553.5 3987 +27564.1 3987 +27574.8 3987 +27585.5 3987 +27596.1 3987 +27606.8 3987 +27617.5 3987 +27628.1 3987 +27638.8 3987 +27649.4 3987 +27660.1 3987 +27670.8 3987 +27681.4 3987 +27692.1 3987 +27702.8 3987 +27713.4 3987 +27724.1 3987 +27734.7 3987 +27745.4 3987 +27756.1 3987 +27766.7 3987 +27777.4 3987 +27788.1 3987 +27798.7 3987 +27809.4 3987 +27820.1 3987 +27830.7 3987 +27841.4 3987 +27852 3987 +27862.7 3987 +27873.4 3987 +27884 3987 +27894.7 3987 +27905.4 3987 +27916 3987 +27926.7 3987 +27937.3 3987 +27948 3987 +27958.7 3987 +27969.3 3987 +27980 3987 +27990.7 3991 +28001.3 3991 +28012 3994 +28022.7 3997 +28033.3 4000 +28044 4003 +28054.6 4006 +28065.3 4006 +28076 4008 +28086.6 4009 +28097.3 4011 +28108 4012 +28118.6 4014 +28129.3 4014 +28139.9 4014 +28150.6 4016 +28161.3 4017 +28171.9 4018 +28182.6 4019 +28193.3 4019 +28203.9 4021 +28214.6 4022 +28225.3 4024 +28235.9 4025 +28246.6 4027 +28257.2 4028 +28267.9 4029 +28278.6 4032 +28289.2 4036 +28299.9 4036 +28310.6 4039 +28321.2 4041 +28331.9 4042 +28342.5 4045 +28353.2 4046 +28363.9 4047 +28374.5 4047 +28385.2 4048 +28395.9 4050 +28406.5 4051 +28417.2 4052 +28427.9 4053 +28438.5 4055 +28449.2 4057 +28459.8 4058 +28470.5 4060 +28481.2 4060 +28491.8 4063 +28502.5 4063 +28513.2 4066 +28523.8 4066 +28534.5 4067 +28545.1 4069 +28555.8 4070 +28566.5 4072 +28577.1 4072 +28587.8 4075 +28598.5 4075 +28609.1 4079 +28619.8 4083 +28630.5 4084 +28641.1 4084 +28651.8 4087 +28662.4 4087 +28673.1 4090 +28683.8 4093 +28694.4 4095 +28705.1 4096 +28715.8 4096 +28726.4 4097 +28737.1 4099 +28747.7 4099 +28758.4 4102 +28769.1 4102 +28779.7 4103 +28790.4 4104 +28801.1 4106 +28811.7 4107 +28822.4 4108 +28833 4111 +28843.7 4112 +28854.4 4113 +28865 4116 +28875.7 4117 +28886.4 4118 +28897 4120 +28907.7 4121 +28918.4 4122 +28929 4123 +28939.7 4125 +28950.3 4127 +28961 4128 +28971.7 4129 +28982.3 4131 +28993 4131 +29003.7 4132 +29014.3 4134 +29025 4137 +29035.6 4138 +29046.3 4139 +29057 4140 +29067.6 4142 +29078.3 4145 +29089 4148 +29099.6 4150 +29110.3 4151 +29121 4153 +29131.6 4154 +29142.3 4155 +29152.9 4156 +29163.6 4158 +29174.3 4159 +29184.9 4161 +29195.6 4162 +29206.3 4163 +29216.9 4165 +29227.6 4166 +29238.2 4169 +29248.9 4169 +29259.6 4172 +29270.2 4173 +29280.9 4175 +29291.6 4178 +29302.2 4178 +29312.9 4181 +29323.6 4181 +29334.2 4182 +29344.9 4184 +29355.5 4185 +29366.2 4187 +29376.9 4189 +29387.5 4191 +29398.2 4191 +29408.9 4194 +29419.5 4197 +29430.2 4200 +29440.8 4204 +29451.5 4204 +29462.2 4204 +29472.8 4204 +29483.5 4204 +29494.2 4206 +29504.8 4208 +29515.5 4208 +29526.2 4209 +29536.8 4210 +29547.5 4211 +29558.1 4212 +29568.8 4213 +29579.5 4213 +29590.1 4214 +29600.8 4215 +29611.5 4215 +29622.1 4216 +29632.8 4217 +29643.4 4217 +29654.1 4219 +29664.8 4220 +29675.4 4221 +29686.1 4222 +29696.8 4223 +29707.4 4224 +29718.1 4225 +29728.8 4226 +29739.4 4226 +29750.1 4227 +29760.7 4228 +29771.4 4229 +29782.1 4230 +29792.7 4230 +29803.4 4231 +29814.1 4232 +29824.7 4232 +29835.4 4233 +29846 4236 +29856.7 4239 +29867.4 4239 +29878 4242 +29888.7 4242 +29899.4 4243 +29910 4245 +29920.7 4246 +29931.3 4248 +29942 4250 +29952.7 4252 +29963.3 4253 +29974 4254 +29984.7 4256 +29995.3 4258 +30006 4261 +30016.7 4264 +30027.3 4266 +30038 4267 +30048.6 4268 +30059.3 4270 +30070 4271 +30080.6 4274 +30091.3 4275 +30102 4275 +30112.6 4277 +30123.3 4278 +30133.9 4279 +30144.6 4281 +30155.3 4281 +30165.9 4282 +30176.6 4284 +30187.3 4284 +30197.9 4287 +30208.6 4287 +30219.3 4288 +30229.9 4290 +30240.6 4290 +30251.2 4292 +30261.9 4293 +30272.6 4296 +30283.2 4299 +30293.9 4299 +30304.6 4302 +30315.2 4302 +30325.9 4307 +30336.5 4307 +30347.2 4310 +30357.9 4312 +30368.5 4316 +30379.2 4317 +30389.9 4320 +30400.5 4322 +30411.2 4322 +30421.9 4323 +30432.5 4325 +30443.2 4326 +30453.8 4328 +30464.5 4329 +30475.2 4331 +30485.8 4332 +30496.5 4332 +30507.2 4333 +30517.8 4335 +30528.5 4336 +30539.1 4337 +30549.8 4340 +30560.5 4341 +30571.1 4342 +30581.8 4343 +30592.5 4346 +30603.1 4347 +30613.8 4349 +30624.5 4351 +30635.1 4353 +30645.8 4356 +30656.4 4356 +30667.1 4359 +30677.8 4359 +30688.4 4361 +30699.1 4362 +30709.8 4365 +30720.4 4368 +30731.1 4371 +30741.7 4372 +30752.4 4375 +30763.1 4377 +30773.7 4378 +30784.4 4379 +30795.1 4381 +30805.7 4381 +30816.4 4384 +30827.1 4385 +30837.7 4386 +30848.4 4388 +30859 4389 +30869.7 4390 +30880.4 4393 +30891 4394 +30901.7 4394 +30912.4 4395 +30923 4397 +30933.7 4399 +30944.3 4400 +30955 4401 +30965.7 4402 +30976.3 4403 +30987 4404 +30997.7 4406 +31008.3 4407 +31019 4409 +31029.7 4409 +31040.3 4409 +31051 4409 +31061.6 4409 +31072.3 4409 +31083 4409 +31093.6 4409 +31104.3 4409 +31115 4409 +31125.6 4409 +31136.3 4409 +31146.9 4409 +31157.6 4409 +31168.3 4409 +31178.9 4409 +31189.6 4409 +31200.3 4409 +31210.9 4409 +31221.6 4409 +31232.2 4409 +31242.9 4409 +31253.6 4409 +31264.2 4409 +31274.9 4409 +31285.6 4409 +31296.2 4409 +31306.9 4409 +31317.6 4409 +31328.2 4409 +31338.9 4409 +31349.5 4409 +31360.2 4409 +31370.9 4409 +31381.5 4409 +31392.2 4409 +31402.9 4409 +31413.5 4410 +31424.2 4410 +31434.8 4410 +31445.5 4411 +31456.2 4411 +31466.8 4412 +31477.5 4412 +31488.2 4413 +31498.8 4414 +31509.5 4414 +31520.2 4415 +31530.8 4415 +31541.5 4416 +31552.1 4417 +31562.8 4418 +31573.5 4419 +31584.1 4419 +31594.8 4420 +31605.5 4421 +31616.1 4422 +31626.8 4426 +31637.4 4429 +31648.1 4429 +31658.8 4429 +31669.4 4429 +31680.1 4429 +31690.8 4429 +31701.4 4429 +31712.1 4429 +31722.8 4429 +31733.4 4429 +31744.1 4429 +31754.7 4429 +31765.4 4429 +31776.1 4429 +31786.7 4429 +31797.4 4429 +31808.1 4429 +31818.7 4429 +31829.4 4429 +31840 4429 +31850.7 4429 +31861.4 4429 +31872 4429 +31882.7 4429 +31893.4 4429 +31904 4429 +31914.7 4429 +31925.4 4429 +31936 4429 +31946.7 4429 +31957.3 4429 +31968 4429 +31978.7 4430 +31989.3 4430 +32000 4430 +32010.7 4430 +32021.3 4432 +32032 4433 +32042.6 4434 +32053.3 4434 +32064 4435 +32074.6 4436 +32085.3 4438 +32096 4439 +32106.6 4439 +32117.3 4440 +32128 4441 +32138.6 4441 +32149.3 4442 +32159.9 4443 +32170.6 4444 +32181.3 4445 +32191.9 4445 +32202.6 4446 +32213.3 4446 +32223.9 4447 +32234.6 4448 +32245.2 4449 +32255.9 4449 +32266.6 4450 +32277.2 4451 +32287.9 4452 +32298.6 4453 +32309.2 4454 +32319.9 4455 +32330.5 4456 +32341.2 4457 +32351.9 4458 +32362.5 4458 +32373.2 4459 +32383.9 4459 +32394.5 4460 +32405.2 4460 +32415.9 4460 +32426.5 4461 +32437.2 4461 +32447.8 4462 +32458.5 4462 +32469.2 4463 +32479.8 4464 +32490.5 4465 +32501.2 4465 +32511.8 4466 +32522.5 4466 +32533.1 4466 +32543.8 4468 +32554.5 4468 +32565.1 4468 +32575.8 4468 +32586.5 4468 +32597.1 4468 +32607.8 4468 +32618.5 4468 +32629.1 4468 +32639.8 4468 +32650.4 4468 +32661.1 4468 +32671.8 4468 +32682.4 4468 +32693.1 4468 +32703.8 4468 +32714.4 4468 +32725.1 4468 +32735.7 4468 +32746.4 4468 +32757.1 4468 +32767.7 4468 +32778.4 4468 +32789.1 4468 +32799.7 4468 +32810.4 4468 +32821.1 4468 +32831.7 4468 +32842.4 4468 +32853 4468 +32863.7 4468 +32874.4 4468 +32885 4468 +32895.7 4468 +32906.4 4468 +32917 4468 +32927.7 4468 +32938.3 4468 +32949 4468 +32959.7 4468 +32970.3 4468 +32981 4468 +32991.7 4468 +33002.3 4468 +33013 4468 +33023.7 4468 +33034.3 4468 +33045 4468 +33055.6 4468 +33066.3 4468 +33077 4468 +33087.6 4468 +33098.3 4468 +33109 4468 +33119.6 4468 +33130.3 4468 +33140.9 4468 +33151.6 4468 +33162.3 4468 +33172.9 4468 +33183.6 4468 +33194.3 4468 +33204.9 4468 +33215.6 4468 +33226.3 4468 +33236.9 4468 +33247.6 4468 +33258.2 4468 +33268.9 4468 +33279.6 4468 +33290.2 4468 +33300.9 4468 +33311.6 4468 +33322.2 4468 +33332.9 4468 +33343.5 4468 +33354.2 4468 +33364.9 4468 +33375.5 4468 +33386.2 4468 +33396.9 4468 +33407.5 4468 +33418.2 4468 +33428.8 4468 +33439.5 4468 +33450.2 4468 +33460.8 4468 +33471.5 4468 +33482.2 4468 +33492.8 4468 +33503.5 4468 +33514.2 4468 +33524.8 4468 +33535.5 4468 +33546.1 4468 +33556.8 4468 +33567.5 4468 +33578.1 4468 +33588.8 4468 +33599.5 4468 +33610.1 4468 +33620.8 4468 +33631.4 4468 +33642.1 4468 +33652.8 4468 +33663.4 4468 +33674.1 4468 +33684.8 4468 +33695.4 4468 +33706.1 4468 +33716.8 4468 +33727.4 4468 +33738.1 4468 +33748.7 4468 +33759.4 4468 +33770.1 4468 +33780.7 4468 +33791.4 4468 +33802.1 4468 +33812.7 4468 +33823.4 4468 +33834 4468 +33844.7 4468 +33855.4 4468 +33866 4468 +33876.7 4468 +33887.4 4468 +33898 4468 +33908.7 4468 +33919.4 4468 +33930 4468 +33940.7 4468 +33951.3 4468 +33962 4468 +33972.7 4468 +33983.3 4468 +33994 4468 +34004.7 4468 +34015.3 4468 +34026 4468 +34036.6 4468 +34047.3 4468 +34058 4468 +34068.6 4468 +34079.3 4468 +34090 4468 +34100.6 4468 +34111.3 4468 +34122 4468 +34132.6 4468 +34143.3 4468 +34153.9 4468 +34164.6 4468 +34175.3 4468 +34185.9 4468 +34196.6 4468 +34207.3 4468 +34217.9 4468 +34228.6 4468 +34239.2 4468 +34249.9 4468 +34260.6 4468 +34271.2 4468 +34281.9 4468 +34292.6 4468 +34303.2 4468 +34313.9 4468 +34324.6 4468 +34335.2 4468 +34345.9 4468 +34356.5 4468 +34367.2 4468 +34377.9 4468 +34388.5 4468 +34399.2 4468 +34409.9 4468 +34420.5 4468 +34431.2 4468 +34441.8 4468 +34452.5 4468 +34463.2 4468 +34473.8 4468 +34484.5 4468 +34495.2 4468 +34505.8 4468 +34516.5 4468 +34527.2 4468 +34537.8 4468 +34548.5 4468 +34559.1 4468 +34569.8 4468 +34580.5 4468 +34591.1 4468 +34601.8 4468 +34612.5 4468 +34623.1 4468 +34633.8 4468 +34644.4 4468 +34655.1 4468 +34665.8 4468 +34676.4 4468 +34687.1 4468 +34697.8 4468 +34708.4 4468 +34719.1 4468 +34729.7 4468 +34740.4 4468 +34751.1 4468 +34761.7 4468 +34772.4 4468 +34783.1 4468 +34793.7 4468 +34804.4 4468 +34815.1 4468 +34825.7 4468 +34836.4 4468 +34847 4468 +34857.7 4468 +34868.4 4468 +34879 4468 +34889.7 4468 +34900.4 4468 +34911 4468 +34921.7 4468 +34932.3 4468 +34943 4468 +34953.7 4468 +34964.3 4468 +34975 4468 +34985.7 4468 +34996.3 4468 +35007 4468 +35017.7 4468 +35028.3 4468 +35039 4468 +35049.6 4468 +35060.3 4468 +35071 4468 +35081.6 4468 +35092.3 4468 +35103 4468 +35113.6 4468 +35124.3 4468 +35134.9 4469 +35145.6 4471 +35156.3 4480 +35166.9 4481 +35177.6 4483 +35188.3 4484 +35198.9 4490 +35209.6 4490 +35220.3 4492 +35230.9 4495 +35241.6 4497 +35252.2 4499 +35262.9 4501 +35273.6 4502 +35284.2 4505 +35294.9 4507 +35305.6 4509 +35316.2 4513 +35326.9 4514 +35337.5 4515 +35348.2 4521 +35358.9 4522 +35369.5 4522 +35380.2 4529 +35390.9 4533 +35401.5 4535 +35412.2 4539 +35422.9 4541 +35433.5 4541 +35444.2 4545 +35454.8 4546 +35465.5 4549 +35476.2 4551 +35486.8 4552 +35497.5 4555 +35508.2 4557 +35518.8 4560 +35529.5 4561 +35540.1 4563 +35550.8 4565 +35561.5 4566 +35572.1 4570 +35582.8 4572 +35593.5 4574 +35604.1 4575 +35614.8 4576 +35625.5 4577 +35636.1 4578 +35646.8 4579 +35657.4 4579 +35668.1 4580 +35678.8 4581 +35689.4 4582 +35700.1 4583 +35710.8 4584 +35721.4 4586 +35732.1 4588 +35742.7 4589 +35753.4 4590 +35764.1 4591 +35774.7 4591 +35785.4 4592 +35796.1 4593 +35806.7 4594 +35817.4 4595 +35828 4596 +35838.7 4597 +35849.4 4598 +35860 4600 +35870.7 4602 +35881.4 4604 +35892 4605 +35902.7 4607 +35913.4 4608 +35924 4612 +35934.7 4615 +35945.3 4618 +35956 4620 +35966.7 4621 +35977.3 4624 +35988 4626 +35998.7 4627 +36009.3 4633 +36020 4634 +36030.6 4635 +36041.3 4639 +36052 4644 +36062.6 4644 +36073.3 4648 +36084 4651 +36094.6 4652 +36105.3 4658 +36116 4658 +36126.6 4660 +36137.3 4666 +36147.9 4667 +36158.6 4667 +36169.3 4672 +36179.9 4674 +36190.6 4679 +36201.3 4680 +36211.9 4685 +36222.6 4686 +36233.2 4692 +36243.9 4693 +36254.6 4695 +36265.2 4698 +36275.9 4702 +36286.6 4704 +36297.2 4706 +36307.9 4709 +36318.6 4710 +36329.2 4712 +36339.9 4716 +36350.5 4720 +36361.2 4722 +36371.9 4723 +36382.5 4727 +36393.2 4728 +36403.9 4730 +36414.5 4733 +36425.2 4733 +36435.8 4737 +36446.5 4739 +36457.2 4741 +36467.8 4742 +36478.5 4745 +36489.2 4749 +36499.8 4750 +36510.5 4752 +36521.2 4755 +36531.8 4761 +36542.5 4761 +36553.1 4764 +36563.8 4764 +36574.5 4765 +36585.1 4769 +36595.8 4769 +36606.5 4771 +36617.1 4775 +36627.8 4775 +36638.4 4778 +36649.1 4780 +36659.8 4784 +36670.4 4786 +36681.1 4788 +36691.8 4792 +36702.4 4795 +36713.1 4798 +36723.8 4801 +36734.4 4801 +36745.1 4803 +36755.7 4808 +36766.4 4811 +36777.1 4813 +36787.7 4817 +36798.4 4819 +36809.1 4822 +36819.7 4824 +36830.4 4828 +36841 4830 +36851.7 4834 +36862.4 4836 +36873 4838 +36883.7 4839 +36894.4 4844 +36905 4847 +36915.7 4848 +36926.3 4850 +36937 4853 +36947.7 4854 +36958.3 4856 +36969 4859 +36979.7 4862 +36990.3 4864 +37001 4868 +37011.7 4870 +37022.3 4872 +37033 4875 +37043.6 4879 +37054.3 4880 +37065 4882 +37075.6 4885 +37086.3 4887 +37097 4889 +37107.6 4893 +37118.3 4896 +37128.9 4898 +37139.6 4902 +37150.3 4903 +37160.9 4903 +37171.6 4906 +37182.3 4909 +37192.9 4910 +37203.6 4914 +37214.3 4918 +37224.9 4921 +37235.6 4923 +37246.2 4924 +37256.9 4928 +37267.6 4930 +37278.2 4933 +37288.9 4936 +37299.6 4939 +37310.2 4940 +37320.9 4943 +37331.5 4947 +37342.2 4947 +37352.9 4949 +37363.5 4953 +37374.2 4955 +37384.9 4955 +37395.5 4960 +37406.2 4961 +37416.9 4964 +37427.5 4968 +37438.2 4969 +37448.8 4973 +37459.5 4975 +37470.2 4978 +37480.8 4981 +37491.5 4983 +37502.2 4986 +37512.8 4988 +37523.5 4989 +37534.1 4993 +37544.8 4995 +37555.5 4998 +37566.1 5000 +37576.8 5001 +37587.5 5003 +37598.1 5006 +37608.8 5007 +37619.5 5011 +37630.1 5013 +37640.8 5018 +37651.4 5020 +37662.1 5022 +37672.8 5025 +37683.4 5026 +37694.1 5028 +37704.8 5031 +37715.4 5031 +37726.1 5032 +37736.7 5036 +37747.4 5038 +37758.1 5039 +37768.7 5042 +37779.4 5044 +37790.1 5047 +37800.7 5053 +37811.4 5055 +37822.1 5056 +37832.7 5058 +37843.4 5061 +37854 5062 +37864.7 5067 +37875.4 5069 +37886 5073 +37896.7 5074 +37907.4 5078 +37918 5080 +37928.7 5081 +37939.3 5084 +37950 5086 +37960.7 5088 +37971.3 5092 +37982 5096 +37992.7 5098 +38003.3 5102 +38014 5104 +38024.7 5109 +38035.3 5112 +38046 5114 +38056.6 5116 +38067.3 5119 +38078 5123 +38088.6 5126 +38099.3 5128 +38110 5132 +38120.6 5134 +38131.3 5134 +38141.9 5139 +38152.6 5141 +38163.3 5146 +38173.9 5147 +38184.6 5149 +38195.3 5153 +38205.9 5155 +38216.6 5158 +38227.2 5163 +38237.9 5166 +38248.6 5166 +38259.2 5167 +38269.9 5169 +38280.6 5170 +38291.2 5171 +38301.9 5172 +38312.6 5173 +38323.2 5174 +38333.9 5178 +38344.5 5180 +38355.2 5182 +38365.9 5185 +38376.5 5187 +38387.2 5191 +38397.9 5193 +38408.5 5196 +38419.2 5198 +38429.8 5203 +38440.5 5205 +38451.2 5206 +38461.8 5210 +38472.5 5212 +38483.2 5213 +38493.8 5215 +38504.5 5218 +38515.2 5219 +38525.8 5222 +38536.5 5227 +38547.1 5229 +38557.8 5231 +38568.5 5234 +38579.1 5234 +38589.8 5237 +38600.5 5241 +38611.1 5244 +38621.8 5247 +38632.4 5247 +38643.1 5250 +38653.8 5252 +38664.4 5255 +38675.1 5257 +38685.8 5258 +38696.4 5262 +38707.1 5265 +38717.8 5267 +38728.4 5269 +38739.1 5273 +38749.7 5276 +38760.4 5278 +38771.1 5281 +38781.7 5282 +38792.4 5286 +38803.1 5288 +38813.7 5290 +38824.4 5292 +38835 5295 +38845.7 5297 +38856.4 5299 +38867 5303 +38877.7 5305 +38888.4 5309 +38899 5312 +38909.7 5313 +38920.4 5315 +38931 5318 +38941.7 5321 +38952.3 5323 +38963 5327 +38973.7 5329 +38984.3 5331 +38995 5332 +39005.7 5335 +39016.3 5337 +39027 5339 +39037.6 5340 +39048.3 5344 +39059 5345 +39069.6 5347 +39080.3 5351 +39091 5351 +39101.6 5352 +39112.3 5357 +39123 5359 +39133.6 5359 +39144.3 5362 +39154.9 5366 +39165.6 5371 +39176.3 5372 +39186.9 5377 +39197.6 5380 +39208.3 5381 +39218.9 5386 +39229.6 5387 +39240.2 5388 +39250.9 5391 +39261.6 5393 +39272.2 5394 +39282.9 5397 +39293.6 5399 +39304.2 5400 +39314.9 5404 +39325.5 5405 +39336.2 5406 +39346.9 5408 +39357.5 5412 +39368.2 5417 +39378.9 5419 +39389.5 5420 +39400.2 5424 +39410.9 5425 +39421.5 5426 +39432.2 5431 +39442.8 5434 +39453.5 5435 +39464.2 5436 +39474.8 5441 +39485.5 5442 +39496.2 5443 +39506.8 5447 +39517.5 5450 +39528.1 5452 +39538.8 5454 +39549.5 5455 +39560.1 5458 +39570.8 5460 +39581.5 5462 +39592.1 5465 +39602.8 5469 +39613.5 5472 +39624.1 5476 +39634.8 5477 +39645.4 5478 +39656.1 5484 +39666.8 5485 +39677.4 5488 +39688.1 5491 +39698.8 5494 +39709.4 5498 +39720.1 5500 +39730.7 5504 +39741.4 5506 +39752.1 5509 +39762.7 5511 +39773.4 5513 +39784.1 5517 +39794.7 5518 +39805.4 5519 +39816.1 5525 +39826.7 5527 +39837.4 5529 +39848 5533 +39858.7 5534 +39869.4 5535 +39880 5539 +39890.7 5542 +39901.4 5544 +39912 5545 +39922.7 5548 +39933.3 5552 +39944 5552 +39954.7 5555 +39965.3 5559 +39976 5562 +39986.7 5563 +39997.3 5568 +40008 5569 +40018.7 5570 +40029.3 5576 +40040 5578 +40050.6 5579 +40061.3 5582 +40072 5585 +40082.6 5587 +40093.3 5593 +40104 5593 +40114.6 5598 +40125.3 5600 +40135.9 5601 +40146.6 5605 +40157.3 5608 +40167.9 5608 +40178.6 5611 +40189.3 5614 +40199.9 5615 +40210.6 5620 +40221.3 5623 +40231.9 5623 +40242.6 5625 +40253.2 5630 +40263.9 5632 +40274.6 5634 +40285.2 5638 +40295.9 5638 +40306.6 5640 +40317.2 5645 +40327.9 5645 +40338.5 5647 +40349.2 5651 +40359.9 5655 +40370.5 5658 +40381.2 5661 +40391.9 5662 +40402.5 5664 +40413.2 5668 +40423.9 5669 +40434.5 5673 +40445.2 5675 +40455.8 5677 +40466.5 5681 +40477.2 5683 +40487.8 5685 +40498.5 5690 +40509.2 5690 +40519.8 5693 +40530.5 5697 +40541.1 5697 +40551.8 5699 +40562.5 5704 +40573.1 5705 +40583.8 5710 +40594.5 5711 +40605.1 5712 +40615.8 5715 +40626.4 5719 +40637.1 5723 +40647.8 5727 +40658.4 5729 +40669.1 5733 +40679.8 5734 +40690.4 5736 +40701.1 5739 +40711.8 5740 +40722.4 5743 +40733.1 5747 +40743.7 5749 +40754.4 5752 +40765.1 5753 +40775.7 5756 +40786.4 5758 +40797.1 5761 +40807.7 5764 +40818.4 5765 +40829 5768 +40839.7 5768 +40850.4 5775 +40861 5779 +40871.7 5781 +40882.4 5782 +40893 5786 +40903.7 5788 +40914.4 5788 +40925 5793 +40935.7 5796 +40946.3 5797 +40957 5801 +40967.7 5802 +40978.3 5803 +40989 5805 +40999.7 5810 +41010.3 5810 +41021 5812 +41031.6 5817 +41042.3 5817 +41053 5819 +41063.6 5822 +41074.3 5824 +41085 5825 +41095.6 5828 +41106.3 5829 +41117 5832 +41127.6 5835 +41138.3 5837 +41148.9 5840 +41159.6 5843 +41170.3 5844 +41180.9 5847 +41191.6 5849 +41202.3 5853 +41212.9 5856 +41223.6 5860 +41234.2 5865 +41244.9 5866 +41255.6 5870 +41266.2 5872 +41276.9 5875 +41287.6 5879 +41298.2 5880 +41308.9 5883 +41319.6 5886 +41330.2 5891 +41340.9 5892 +41351.5 5898 +41362.2 5898 +41372.9 5903 +41383.5 5904 +41394.2 5907 +41404.9 5909 +41415.5 5911 +41426.2 5915 +41436.8 5917 +41447.5 5923 +41458.2 5925 +41468.8 5928 +41479.5 5931 +41490.2 5933 +41500.8 5938 +41511.5 5940 +41522.2 5942 +41532.8 5945 +41543.5 5947 +41554.1 5948 +41564.8 5955 +41575.5 5960 +41586.1 5962 +41596.8 5968 +41607.5 5970 +41618.1 5974 +41628.8 5977 +41639.4 5981 +41650.1 5983 +41660.8 5988 +41671.4 5990 +41682.1 5992 +41692.8 5995 +41703.4 5998 +41714.1 6000 +41724.7 6005 +41735.4 6006 +41746.1 6008 +41756.7 6009 +41767.4 6010 +41778.1 6012 +41788.7 6014 +41799.4 6017 +41810.1 6018 +41820.7 6020 +41831.4 6024 +41842 6026 +41852.7 6029 +41863.4 6031 +41874 6034 +41884.7 6037 +41895.4 6039 +41906 6041 +41916.7 6045 +41927.3 6045 +41938 6048 +41948.7 6052 +41959.3 6055 +41970 6058 +41980.7 6059 +41991.3 6062 +42002 6065 +42012.7 6068 +42023.3 6073 +42034 6075 +42044.6 6077 +42055.3 6080 +42066 6081 +42076.6 6084 +42087.3 6086 +42098 6087 +42108.6 6089 +42119.3 6093 +42129.9 6096 +42140.6 6097 +42151.3 6099 +42161.9 6103 +42172.6 6105 +42183.3 6106 +42193.9 6111 +42204.6 6113 +42215.3 6117 +42225.9 6119 +42236.6 6124 +42247.2 6126 +42257.9 6130 +42268.6 6132 +42279.2 6135 +42289.9 6136 +42300.6 6141 +42311.2 6143 +42321.9 6147 +42332.5 6151 +42343.2 6154 +42353.9 6156 +42364.5 6160 +42375.2 6162 +42385.9 6165 +42396.5 6168 +42407.2 6171 +42417.9 6171 +42428.5 6175 +42439.2 6178 +42449.8 6178 +42460.5 6182 +42471.2 6185 +42481.8 6188 +42492.5 6191 +42503.2 6193 +42513.8 6197 +42524.5 6200 +42535.1 6204 +42545.8 6205 +42556.5 6207 +42567.1 6214 +42577.8 6216 +42588.5 6216 +42599.1 6220 +42609.8 6222 +42620.5 6226 +42631.1 6228 +42641.8 6231 +42652.4 6234 +42663.1 6235 +42673.8 6236 +42684.4 6243 +42695.1 6244 +42705.8 6249 +42716.4 6250 +42727.1 6254 +42737.7 6256 +42748.4 6260 +42759.1 6264 +42769.7 6267 +42780.4 6270 +42791.1 6271 +42801.7 6275 +42812.4 6276 +42823 6278 +42833.7 6282 +42844.4 6282 +42855 6284 +42865.7 6288 +42876.4 6291 +42887 6295 +42897.7 6300 +42908.4 6301 +42919 6304 +42929.7 6306 +42940.3 6307 +42951 6310 +42961.7 6313 +42972.3 6317 +42983 6319 +42993.7 6323 +43004.3 6328 +43015 6331 +43025.6 6334 +43036.3 6336 +43047 6336 +43057.6 6339 +43068.3 6341 +43079 6341 +43089.6 6342 +43100.3 6344 +43111 6349 +43121.6 6352 +43132.3 6352 +43142.9 6355 +43153.6 6359 +43164.3 6360 +43174.9 6360 +43185.6 6367 +43196.3 6369 +43206.9 6374 +43217.6 6376 +43228.2 6376 +43238.9 6381 +43249.6 6383 +43260.2 6385 +43270.9 6388 +43281.6 6390 +43292.2 6394 +43302.9 6395 +43313.6 6398 +43324.2 6400 +43334.9 6402 +43345.5 6404 +43356.2 6408 +43366.9 6411 +43377.5 6414 +43388.2 6416 +43398.9 6419 +43409.5 6420 +43420.2 6425 +43430.8 6429 +43441.5 6431 +43452.2 6435 +43462.8 6437 +43473.5 6437 +43484.2 6438 +43494.8 6443 +43505.5 6443 +43516.2 6444 +43526.8 6448 +43537.5 6448 +43548.1 6454 +43558.8 6455 +43569.5 6456 +43580.1 6458 +43590.8 6461 +43601.5 6463 +43612.1 6467 +43622.8 6469 +43633.4 6472 +43644.1 6477 +43654.8 6477 +43665.4 6480 +43676.1 6484 +43686.8 6487 +43697.4 6490 +43708.1 6493 +43718.8 6497 +43729.4 6500 +43740.1 6503 +43750.7 6504 +43761.4 6507 +43772.1 6509 +43782.7 6512 +43793.4 6516 +43804.1 6518 +43814.7 6519 +43825.4 6524 +43836 6530 +43846.7 6530 +43857.4 6534 +43868 6536 +43878.7 6541 +43889.4 6546 +43900 6550 +43910.7 6551 +43921.4 6555 +43932 6556 +43942.7 6559 +43953.3 6561 +43964 6562 +43974.7 6565 +43985.3 6567 +43996 6568 +44006.7 6570 +44017.3 6574 +44028 6575 +44038.6 6576 +44049.3 6581 +44060 6582 +44070.6 6582 +44081.3 6587 +44092 6591 +44102.6 6593 +44113.3 6593 +44123.9 6597 +44134.6 6602 +44145.3 6603 +44155.9 6608 +44166.6 6613 +44177.3 6615 +44187.9 6619 +44198.6 6621 +44209.3 6625 +44219.9 6627 +44230.6 6634 +44241.2 6634 +44251.9 6640 +44262.6 6641 +44273.2 6645 +44283.9 6647 +44294.6 6651 +44305.2 6655 +44315.9 6656 +44326.5 6659 +44337.2 6660 +44347.9 6662 +44358.5 6663 +44369.2 6666 +44379.9 6668 +44390.5 6671 +44401.2 6672 +44411.9 6676 +44422.5 6679 +44433.2 6683 +44443.8 6685 +44454.5 6687 +44465.2 6690 +44475.8 6693 +44486.5 6693 +44497.2 6694 +44507.8 6697 +44518.5 6699 +44529.1 6701 +44539.8 6702 +44550.5 6707 +44561.1 6709 +44571.8 6713 +44582.5 6715 +44593.1 6722 +44603.8 6723 +44614.5 6726 +44625.1 6730 +44635.8 6734 +44646.4 6736 +44657.1 6740 +44667.8 6744 +44678.4 6745 +44689.1 6750 +44699.8 6750 +44710.4 6752 +44721.1 6757 +44731.7 6758 +44742.4 6761 +44753.1 6765 +44763.7 6766 +44774.4 6768 +44785.1 6771 +44795.7 6779 +44806.4 6780 +44817.1 6785 +44827.7 6788 +44838.4 6789 +44849 6796 +44859.7 6798 +44870.4 6803 +44881 6806 +44891.7 6808 +44902.4 6814 +44913 6817 +44923.7 6820 +44934.3 6827 +44945 6831 +44955.7 6837 +44966.3 6841 +44977 6841 +44987.7 6845 +44998.3 6850 +45009 6852 +45019.7 6854 +45030.3 6863 +45041 6865 +45051.6 6870 +45062.3 6874 +45073 6875 +45083.6 6878 +45094.3 6887 +45105 6891 +45115.6 6894 +45126.3 6896 +45136.9 6901 +45147.6 6903 +45158.3 6906 +45168.9 6908 +45179.6 6913 +45190.3 6918 +45200.9 6921 +45211.6 6926 +45222.2 6930 +45232.9 6933 +45243.6 6938 +45254.2 6941 +45264.9 6943 +45275.6 6948 +45286.2 6954 +45296.9 6955 +45307.6 6957 +45318.2 6963 +45328.9 6966 +45339.5 6968 +45350.2 6972 +45360.9 6979 +45371.5 6981 +45382.2 6983 +45392.9 6985 +45403.5 6990 +45414.2 6994 +45424.8 6996 +45435.5 7001 +45446.2 7006 +45456.8 7010 +45467.5 7011 +45478.2 7016 +45488.8 7021 +45499.5 7023 +45510.2 7027 +45520.8 7031 +45531.5 7033 +45542.1 7038 +45552.8 7040 +45563.5 7046 +45574.1 7051 +45584.8 7054 +45595.5 7058 +45606.1 7064 +45616.8 7065 +45627.4 7070 +45638.1 7076 +45648.8 7077 +45659.4 7079 +45670.1 7085 +45680.8 7090 +45691.4 7091 +45702.1 7093 +45712.8 7101 +45723.4 7104 +45734.1 7105 +45744.7 7112 +45755.4 7118 +45766.1 7118 +45776.7 7124 +45787.4 7129 +45798.1 7133 +45808.7 7139 +45819.4 7140 +45830 7142 +45840.7 7147 +45851.4 7151 +45862 7154 +45872.7 7160 +45883.4 7164 +45894 7167 +45904.7 7170 +45915.4 7174 +45926 7178 +45936.7 7181 +45947.3 7184 +45958 7187 +45968.7 7191 +45979.3 7195 +45990 7197 +46000.7 7199 +46011.3 7203 +46022 7209 +46032.6 7211 +46043.3 7213 +46054 7219 +46064.6 7220 +46075.3 7224 +46086 7230 +46096.6 7230 +46107.3 7236 +46118 7242 +46128.6 7246 +46139.3 7250 +46149.9 7255 +46160.6 7257 +46171.3 7260 +46181.9 7265 +46192.6 7267 +46203.3 7271 +46213.9 7280 +46224.6 7284 +46235.2 7291 +46245.9 7293 +46256.6 7294 +46267.2 7301 +46277.9 7305 +46288.6 7309 +46299.2 7313 +46309.9 7318 +46320.5 7322 +46331.2 7324 +46341.9 7329 +46352.5 7334 +46363.2 7337 +46373.9 7339 +46384.5 7343 +46395.2 7347 +46405.9 7349 +46416.5 7354 +46427.2 7359 +46437.8 7363 +46448.5 7369 +46459.2 7373 +46469.8 7376 +46480.5 7379 +46491.2 7385 +46501.8 7386 +46512.5 7390 +46523.1 7396 +46533.8 7402 +46544.5 7405 +46555.1 7409 +46565.8 7414 +46576.5 7417 +46587.1 7419 +46597.8 7424 +46608.5 7429 +46619.1 7430 +46629.8 7434 +46640.4 7436 +46651.1 7439 +46661.8 7443 +46672.4 7449 +46683.1 7450 +46693.8 7453 +46704.4 7459 +46715.1 7465 +46725.7 7472 +46736.4 7478 +46747.1 7478 +46757.7 7481 +46768.4 7490 +46779.1 7490 +46789.7 7492 +46800.4 7501 +46811.1 7502 +46821.7 7505 +46832.4 7508 +46843 7515 +46853.7 7516 +46864.4 7518 +46875 7523 +46885.7 7529 +46896.4 7531 +46907 7535 +46917.7 7540 +46928.3 7543 +46939 7545 +46949.7 7551 +46960.3 7554 +46971 7555 +46981.7 7564 +46992.3 7569 +47003 7570 +47013.7 7575 +47024.3 7582 +47035 7582 +47045.6 7587 +47056.3 7592 +47067 7597 +47077.6 7604 +47088.3 7608 +47099 7613 +47109.6 7623 +47120.3 7624 +47130.9 7628 +47141.6 7634 +47152.3 7638 +47162.9 7641 +47173.6 7642 +47184.3 7646 +47194.9 7650 +47205.6 7655 +47216.3 7656 +47226.9 7661 +47237.6 7667 +47248.2 7670 +47258.9 7672 +47269.6 7677 +47280.2 7679 +47290.9 7683 +47301.6 7686 +47312.2 7689 +47322.9 7694 +47333.5 7697 +47344.2 7700 +47354.9 7704 +47365.5 7709 +47376.2 7713 +47386.9 7719 +47397.5 7721 +47408.2 7724 +47418.9 7725 +47429.5 7732 +47440.2 7736 +47450.8 7740 +47461.5 7744 +47472.2 7744 +47482.8 7753 +47493.5 7763 +47504.2 7765 +47514.8 7772 +47525.5 7776 +47536.1 7778 +47546.8 7786 +47557.5 7791 +47568.1 7793 +47578.8 7800 +47589.5 7807 +47600.1 7811 +47610.8 7819 +47621.4 7824 +47632.1 7826 +47642.8 7832 +47653.4 7839 +47664.1 7842 +47674.8 7847 +47685.4 7852 +47696.1 7858 +47706.8 7858 +47717.4 7866 +47728.1 7877 +47738.7 7880 +47749.4 7885 +47760.1 7887 +47770.7 7895 +47781.4 7904 +47792.1 7906 +47802.7 7909 +47813.4 7919 +47824 7924 +47834.7 7925 +47845.4 7933 +47856 7938 +47866.7 7942 +47877.4 7950 +47888 7956 +47898.7 7959 +47909.4 7966 +47920 7970 +47930.7 7978 +47941.3 7983 +47952 7989 +47962.7 7995 +47973.3 7997 +47984 8000 +47994.7 8000 +48005.3 8006 +48016 8016 +48026.6 8020 +48037.3 8028 +48048 8030 +48058.6 8034 +48069.3 8045 +48080 8049 +48090.6 8051 +48101.3 8061 +48112 8069 +48122.6 8074 +48133.3 8078 +48143.9 8084 +48154.6 8090 +48165.3 8094 +48175.9 8103 +48186.6 8108 +48197.3 8114 +48207.9 8117 +48218.6 8125 +48229.2 8128 +48239.9 8133 +48250.6 8138 +48261.2 8148 +48271.9 8149 +48282.6 8153 +48293.2 8159 +48303.9 8164 +48314.6 8166 +48325.2 8176 +48335.9 8179 +48346.5 8186 +48357.2 8193 +48367.9 8196 +48378.5 8196 +48389.2 8205 +48399.9 8211 +48410.5 8214 +48421.2 8221 +48431.8 8226 +48442.5 8229 +48453.2 8232 +48463.8 8237 +48474.5 8244 +48485.2 8249 +48495.8 8254 +48506.5 8259 +48517.2 8265 +48527.8 8268 +48538.5 8275 +48549.1 8279 +48559.8 8284 +48570.5 8285 +48581.1 8290 +48591.8 8296 +48602.5 8302 +48613.1 8306 +48623.8 8306 +48634.4 8311 +48645.1 8318 +48655.8 8318 +48666.4 8324 +48677.1 8326 +48687.8 8338 +48698.4 8342 +48709.1 8344 +48719.7 8348 +48730.4 8356 +48741.1 8363 +48751.7 8369 +48762.4 8374 +48773.1 8380 +48783.7 8386 +48794.4 8391 +48805.1 8396 +48815.7 8404 +48826.4 8412 +48837 8415 +48847.7 8417 +48858.4 8422 +48869 8431 +48879.7 8433 +48890.4 8441 +48901 8449 +48911.7 8450 +48922.3 8454 +48933 8459 +48943.7 8462 +48954.3 8469 +48965 8475 +48975.7 8477 +48986.3 8486 +48997 8492 +49007.7 8494 +49018.3 8501 +49029 8505 +49039.6 8512 +49050.3 8517 +49061 8523 +49071.6 8528 +49082.3 8536 +49093 8540 +49103.6 8546 +49114.3 8553 +49124.9 8561 +49135.6 8564 +49146.3 8571 +49156.9 8574 +49167.6 8574 +49178.3 8578 +49188.9 8591 +49199.6 8594 +49210.3 8600 +49220.9 8602 +49231.6 8607 +49242.2 8609 +49252.9 8619 +49263.6 8627 +49274.2 8631 +49284.9 8637 +49295.6 8644 +49306.2 8650 +49316.9 8659 +49327.5 8663 +49338.2 8668 +49348.9 8677 +49359.5 8687 +49370.2 8688 +49380.9 8696 +49391.5 8702 +49402.2 8703 +49412.9 8708 +49423.5 8713 +49434.2 8721 +49444.8 8730 +49455.5 8733 +49466.2 8740 +49476.8 8745 +49487.5 8749 +49498.2 8755 +49508.8 8758 +49519.5 8763 +49530.1 8770 +49540.8 8777 +49551.5 8783 +49562.1 8788 +49572.8 8793 +49583.5 8799 +49594.1 8811 +49604.8 8814 +49615.5 8818 +49626.1 8825 +49636.8 8835 +49647.4 8839 +49658.1 8847 +49668.8 8852 +49679.4 8858 +49690.1 8867 +49700.8 8875 +49711.4 8878 +49722.1 8878 +49732.7 8888 +49743.4 8896 +49754.1 8899 +49764.7 8901 +49775.4 8904 +49786.1 8913 +49796.7 8924 +49807.4 8925 +49818 8932 +49828.7 8937 +49839.4 8943 +49850 8946 +49860.7 8952 +49871.4 8958 +49882 8964 +49892.7 8969 +49903.4 8974 +49914 8983 +49924.7 8991 +49935.3 8997 +49946 8999 +49956.7 9009 +49967.3 9019 +49978 9023 +49988.7 9028 +49999.3 9033 +50010 9043 +50020.6 9048 +50031.3 9055 +50042 9061 +50052.6 9068 +50063.3 9072 +50074 9074 +50084.6 9076 +50095.3 9085 +50106 9093 +50116.6 9099 +50127.3 9101 +50137.9 9103 +50148.6 9109 +50159.3 9122 +50169.9 9126 +50180.6 9134 +50191.3 9140 +50201.9 9146 +50212.6 9151 +50223.2 9159 +50233.9 9160 +50244.6 9170 +50255.2 9178 +50265.9 9182 +50276.6 9187 +50287.2 9190 +50297.9 9195 +50308.6 9206 +50319.2 9211 +50329.9 9218 +50340.5 9219 +50351.2 9225 +50361.9 9233 +50372.5 9235 +50383.2 9244 +50393.9 9249 +50404.5 9254 +50415.2 9258 +50425.8 9263 +50436.5 9265 +50447.2 9270 +50457.8 9279 +50468.5 9287 +50479.2 9290 +50489.8 9298 +50500.5 9302 +50511.2 9306 +50521.8 9311 +50532.5 9317 +50543.1 9323 +50553.8 9331 +50564.5 9334 +50575.1 9340 +50585.8 9344 +50596.5 9356 +50607.1 9361 +50617.8 9368 +50628.4 9377 +50639.1 9378 +50649.8 9386 +50660.4 9386 +50671.1 9390 +50681.8 9394 +50692.4 9403 +50703.1 9410 +50713.8 9413 +50724.4 9421 +50735.1 9424 +50745.7 9434 +50756.4 9441 +50767.1 9445 +50777.7 9455 +50788.4 9458 +50799.1 9462 +50809.7 9465 +50820.4 9468 +50831 9482 +50841.7 9488 +50852.4 9491 +50863 9497 +50873.7 9502 +50884.4 9513 +50895 9513 +50905.7 9517 +50916.4 9532 +50927 9533 +50937.7 9538 +50948.3 9545 +50959 9549 +50969.7 9551 +50980.3 9557 +50991 9568 +51001.7 9573 +51012.3 9580 +51023 9583 +51033.6 9591 +51044.3 9598 +51055 9606 +51065.6 9613 +51076.3 9616 +51087 9622 +51097.6 9623 +51108.3 9633 +51118.9 9641 +51129.6 9643 +51140.3 9647 +51150.9 9656 +51161.6 9664 +51172.3 9669 +51182.9 9671 +51193.6 9674 +51204.3 9676 +51214.9 9683 +51225.6 9687 +51236.2 9693 +51246.9 9699 +51257.6 9708 +51268.2 9714 +51278.9 9719 +51289.6 9720 +51300.2 9729 +51310.9 9735 +51321.5 9740 +51332.2 9749 +51342.9 9752 +51353.5 9764 +51364.2 9764 +51374.9 9768 +51385.5 9771 +51396.2 9774 +51406.9 9784 +51417.5 9790 +51428.2 9791 +51438.8 9795 +51449.5 9800 +51460.2 9814 +51470.8 9821 +51481.5 9825 +51492.2 9834 +51502.8 9840 +51513.5 9847 +51524.1 9853 +51534.8 9860 +51545.5 9864 +51556.1 9872 +51566.8 9873 +51577.5 9880 +51588.1 9887 +51598.8 9897 +51609.5 9902 +51620.1 9905 +51630.8 9909 +51641.4 9912 +51652.1 9920 +51662.8 9922 +51673.4 9922 +51684.1 9933 +51694.8 9944 +51705.4 9947 +51716.1 9953 +51726.7 9959 +51737.4 9966 +51748.1 9974 +51758.7 9980 +51769.4 9984 +51780.1 9993 +51790.7 9993 +51801.4 10002 +51812.1 10009 +51822.7 10012 +51833.4 10019 +51844 10022 +51854.7 10024 +51865.4 10030 +51876 10047 +51886.7 10053 +51897.4 10058 +51908 10062 +51918.7 10065 +51929.3 10074 +51940 10080 +51950.7 10084 +51961.3 10087 +51972 10103 +51982.7 10107 +51993.3 10109 +52004 10111 +52014.7 10124 +52025.3 10134 +52036 10137 +52046.6 10143 +52057.3 10150 +52068 10154 +52078.6 10158 +52089.3 10162 +52100 10165 +52110.6 10174 +52121.3 10181 +52131.9 10188 +52142.6 10196 +52153.3 10204 +52163.9 10209 +52174.6 10217 +52185.3 10225 +52195.9 10230 +52206.6 10237 +52217.2 10241 +52227.9 10246 +52238.6 10254 +52249.2 10261 +52259.9 10263 +52270.6 10268 +52281.2 10279 +52291.9 10284 +52302.6 10289 +52313.2 10294 +52323.9 10296 +52334.5 10311 +52345.2 10316 +52355.9 10318 +52366.5 10322 +52377.2 10331 +52387.9 10341 +52398.5 10345 +52409.2 10349 +52419.8 10353 +52430.5 10359 +52441.2 10364 +52451.8 10369 +52462.5 10379 +52473.2 10383 +52483.8 10387 +52494.5 10394 +52505.2 10396 +52515.8 10401 +52526.5 10409 +52537.1 10411 +52547.8 10416 +52558.5 10421 +52569.1 10433 +52579.8 10437 +52590.5 10442 +52601.1 10444 +52611.8 10450 +52622.4 10462 +52633.1 10465 +52643.8 10465 +52654.4 10471 +52665.1 10479 +52675.8 10488 +52686.4 10491 +52697.1 10494 +52707.8 10498 +52718.4 10515 +52729.1 10518 +52739.7 10527 +52750.4 10528 +52761.1 10534 +52771.7 10543 +52782.4 10551 +52793.1 10554 +52803.7 10558 +52814.4 10565 +52825 10574 +52835.7 10576 +52846.4 10576 +52857 10585 +52867.7 10598 +52878.4 10602 +52889 10603 +52899.7 10604 +52910.4 10613 +52921 10627 +52931.7 10630 +52942.3 10630 +52953 10631 +52963.7 10635 +52974.3 10645 +52985 10652 +52995.7 10656 +53006.3 10663 +53017 10667 +53027.6 10670 +53038.3 10674 +53049 10682 +53059.6 10697 +53070.3 10698 +53081 10701 +53091.6 10702 +53102.3 10708 +53113 10712 +53123.6 10713 +53134.3 10717 +53144.9 10730 +53155.6 10741 +53166.3 10749 +53176.9 10753 +53187.6 10759 +53198.3 10766 +53208.9 10771 +53219.6 10774 +53230.2 10780 +53240.9 10788 +53251.6 10794 +53262.2 10800 +53272.9 10808 +53283.6 10812 +53294.2 10821 +53304.9 10824 +53315.5 10830 +53326.2 10836 +53336.9 10844 +53347.5 10852 +53358.2 10860 +53368.9 10862 +53379.5 10865 +53390.2 10873 +53400.9 10881 +53411.5 10886 +53422.2 10889 +53432.8 10895 +53443.5 10902 +53454.2 10907 +53464.8 10913 +53475.5 10919 +53486.2 10927 +53496.8 10932 +53507.5 10935 +53518.1 10936 +53528.8 10941 +53539.5 10948 +53550.1 10956 +53560.8 10962 +53571.5 10969 +53582.1 10973 +53592.8 10979 +53603.5 10987 +53614.1 10989 +53624.8 10994 +53635.4 10997 +53646.1 11002 +53656.8 11009 +53667.4 11011 +53678.1 11011 +53688.8 11027 +53699.4 11035 +53710.1 11039 +53720.7 11043 +53731.4 11050 +53742.1 11054 +53752.7 11060 +53763.4 11067 +53774.1 11074 +53784.7 11078 +53795.4 11083 +53806.1 11085 +53816.7 11090 +53827.4 11096 +53838 11101 +53848.7 11108 +53859.4 11113 +53870 11115 +53880.7 11127 +53891.4 11133 +53902 11135 +53912.7 11139 +53923.3 11146 +53934 11151 +53944.7 11161 +53955.3 11162 +53966 11165 +53976.7 11170 +53987.3 11178 +53998 11181 +54008.7 11181 +54019.3 11186 +54030 11191 +54040.6 11205 +54051.3 11210 +54062 11217 +54072.6 11219 +54083.3 11227 +54094 11236 +54104.6 11239 +54115.3 11242 +54125.9 11243 +54136.6 11250 +54147.3 11263 +54157.9 11270 +54168.6 11272 +54179.3 11284 +54189.9 11289 +54200.6 11294 +54211.3 11301 +54221.9 11308 +54232.6 11315 +54243.2 11318 +54253.9 11324 +54264.6 11333 +54275.2 11341 +54285.9 11342 +54296.6 11345 +54307.2 11355 +54317.9 11359 +54328.5 11363 +54339.2 11369 +54349.9 11379 +54360.5 11385 +54371.2 11387 +54381.9 11390 +54392.5 11394 +54403.2 11398 +54413.9 11405 +54424.5 11410 +54435.2 11416 +54445.8 11420 +54456.5 11424 +54467.2 11441 +54477.8 11443 +54488.5 11449 +54499.2 11451 +54509.8 11459 +54520.5 11471 +54531.1 11476 +54541.8 11481 +54552.5 11491 +54563.1 11493 +54573.8 11498 +54584.5 11500 +54595.1 11506 +54605.8 11514 +54616.4 11523 +54627.1 11529 +54637.8 11531 +54648.4 11535 +54659.1 11548 +54669.8 11552 +54680.4 11554 +54691.1 11559 +54701.8 11570 +54712.4 11574 +54723.1 11579 +54733.7 11588 +54744.4 11592 +54755.1 11602 +54765.7 11605 +54776.4 11610 +54787.1 11617 +54797.7 11623 +54808.4 11626 +54819 11629 +54829.7 11631 +54840.4 11634 +54851 11645 +54861.7 11648 +54872.4 11651 +54883 11658 +54893.7 11661 +54904.4 11672 +54915 11676 +54925.7 11683 +54936.3 11689 +54947 11695 +54957.7 11700 +54968.3 11706 +54979 11708 +54989.7 11716 +55000.3 11724 +55011 11730 +55021.6 11734 +55032.3 11744 +55043 11745 +55053.6 11756 +55064.3 11756 +55075 11763 +55085.6 11768 +55096.3 11769 +55107 11778 +55117.6 11781 +55128.3 11782 +55138.9 11791 +55149.6 11794 +55160.3 11798 +55170.9 11799 +55181.6 11806 +55192.3 11815 +55202.9 11820 +55213.6 11828 +55224.2 11829 +55234.9 11835 +55245.6 11840 +55256.2 11844 +55266.9 11850 +55277.6 11855 +55288.2 11865 +55298.9 11868 +55309.6 11875 +55320.2 11880 +55330.9 11890 +55341.5 11892 +55352.2 11896 +55362.9 11900 +55373.5 11907 +55384.2 11911 +55394.9 11918 +55405.5 11922 +55416.2 11930 +55426.8 11941 +55437.5 11946 +55448.2 11952 +55458.8 11959 +55469.5 11968 +55480.2 11972 +55490.8 11973 +55501.5 11985 +55512.2 11988 +55522.8 11997 +55533.5 11999 +55544.1 12004 +55554.8 12011 +55565.5 12019 +55576.1 12023 +55586.8 12032 +55597.5 12035 +55608.1 12044 +55618.8 12051 +55629.4 12057 +55640.1 12062 +55650.8 12067 +55661.4 12077 +55672.1 12081 +55682.8 12086 +55693.4 12091 +55704.1 12099 +55714.7 12105 +55725.4 12108 +55736.1 12116 +55746.7 12119 +55757.4 12127 +55768.1 12133 +55778.7 12137 +55789.4 12142 +55800.1 12146 +55810.7 12151 +55821.4 12152 +55832 12160 +55842.7 12163 +55853.4 12170 +55864 12175 +55874.7 12182 +55885.4 12191 +55896 12199 +55906.7 12201 +55917.3 12204 +55928 12210 +55938.7 12222 +55949.3 12228 +55960 12231 +55970.7 12235 +55981.3 12235 +55992 12246 +56002.7 12261 +56013.3 12263 +56024 12268 +56034.6 12268 +56045.3 12278 +56056 12279 +56066.6 12282 +56077.3 12290 +56088 12297 +56098.6 12308 +56109.3 12313 +56119.9 12316 +56130.6 12323 +56141.3 12337 +56151.9 12338 +56162.6 12341 +56173.3 12351 +56183.9 12362 +56194.6 12365 +56205.3 12368 +56215.9 12371 +56226.6 12376 +56237.2 12382 +56247.9 12383 +56258.6 12386 +56269.2 12393 +56279.9 12399 +56290.6 12402 +56301.2 12409 +56311.9 12415 +56322.5 12423 +56333.2 12431 +56343.9 12436 +56354.5 12439 +56365.2 12444 +56375.9 12448 +56386.5 12458 +56397.2 12461 +56407.9 12470 +56418.5 12475 +56429.2 12478 +56439.8 12485 +56450.5 12497 +56461.2 12503 +56471.8 12507 +56482.5 12509 +56493.2 12518 +56503.8 12523 +56514.5 12529 +56525.1 12534 +56535.8 12539 +56546.5 12539 +56557.1 12541 +56567.8 12555 +56578.5 12560 +56589.1 12562 +56599.8 12565 +56610.5 12579 +56621.1 12584 +56631.8 12590 +56642.4 12596 +56653.1 12600 +56663.8 12607 +56674.4 12609 +56685.1 12615 +56695.8 12618 +56706.4 12629 +56717.1 12633 +56727.7 12639 +56738.4 12644 +56749.1 12652 +56759.7 12661 +56770.4 12661 +56781.1 12665 +56791.7 12672 +56802.4 12682 +56813.1 12687 +56823.7 12690 +56834.4 12694 +56845 12702 +56855.7 12712 +56866.4 12715 +56877 12720 +56887.7 12725 +56898.4 12734 +56909 12745 +56919.7 12749 +56930.3 12758 +56941 12763 +56951.7 12772 +56962.3 12775 +56973 12779 +56983.7 12786 +56994.3 12793 +57005 12799 +57015.6 12806 +57026.3 12813 +57037 12816 +57047.6 12816 +57058.3 12832 +57069 12840 +57079.6 12849 +57090.3 12852 +57101 12856 +57111.6 12858 +57122.3 12863 +57132.9 12867 +57143.6 12875 +57154.3 12881 +57164.9 12887 +57175.6 12893 +57186.3 12904 +57196.9 12908 +57207.6 12914 +57218.2 12916 +57228.9 12918 +57239.6 12923 +57250.2 12936 +57260.9 12938 +57271.6 12943 +57282.2 12947 +57292.9 12960 +57303.6 12966 +57314.2 12973 +57324.9 12981 +57335.5 12986 +57346.2 12995 +57356.9 12996 +57367.5 12999 +57378.2 13005 +57388.9 13013 +57399.5 13021 +57410.2 13026 +57420.8 13030 +57431.5 13032 +57442.2 13042 +57452.8 13051 +57463.5 13052 +57474.2 13060 +57484.8 13068 +57495.5 13076 +57506.2 13079 +57516.8 13084 +57527.5 13089 +57538.1 13099 +57548.8 13103 +57559.5 13105 +57570.1 13110 +57580.8 13114 +57591.5 13120 +57602.1 13125 +57612.8 13129 +57623.4 13133 +57634.1 13142 +57644.8 13147 +57655.4 13153 +57666.1 13160 +57676.8 13165 +57687.4 13170 +57698.1 13174 +57708.8 13174 +57719.4 13181 +57730.1 13193 +57740.7 13198 +57751.4 13201 +57762.1 13205 +57772.7 13217 +57783.4 13226 +57794.1 13228 +57804.7 13233 +57815.4 13236 +57826 13247 +57836.7 13252 +57847.4 13255 +57858 13256 +57868.7 13260 +57879.4 13272 +57890 13278 +57900.7 13283 +57911.4 13296 +57922 13299 +57932.7 13305 +57943.3 13307 +57954 13317 +57964.7 13320 +57975.3 13327 +57986 13330 +57996.7 13332 +58007.3 13345 +58018 13347 +58028.6 13351 +58039.3 13357 +58050 13364 +58060.6 13375 +58071.3 13379 +58082 13385 +58092.6 13388 +58103.3 13394 +58113.9 13399 +58124.6 13402 +58135.3 13406 +58145.9 13418 +58156.6 13419 +58167.3 13425 +58177.9 13428 +58188.6 13433 +58199.3 13445 +58209.9 13450 +58220.6 13455 +58231.2 13458 +58241.9 13466 +58252.6 13474 +58263.2 13479 +58273.9 13482 +58284.6 13488 +58295.2 13500 +58305.9 13503 +58316.5 13509 +58327.2 13516 +58337.9 13521 +58348.5 13532 +58359.2 13537 +58369.9 13544 +58380.5 13551 +58391.2 13555 +58401.9 13563 +58412.5 13570 +58423.2 13574 +58433.8 13581 +58444.5 13586 +58455.2 13592 +58465.8 13593 +58476.5 13597 +58487.2 13606 +58497.8 13607 +58508.5 13616 +58519.1 13619 +58529.8 13628 +58540.5 13630 +58551.1 13636 +58561.8 13643 +58572.5 13646 +58583.1 13652 +58593.8 13658 +58604.5 13666 +58615.1 13678 +58625.8 13679 +58636.4 13683 +58647.1 13684 +58657.8 13689 +58668.4 13695 +58679.1 13704 +58689.8 13710 +58700.4 13712 +58711.1 13715 +58721.7 13722 +58732.4 13729 +58743.1 13734 +58753.7 13737 +58764.4 13741 +58775.1 13742 +58785.7 13743 +58796.4 13745 +58807.1 13760 +58817.7 13765 +58828.4 13769 +58839 13774 +58849.7 13782 +58860.4 13789 +58871 13795 +58881.7 13804 +58892.4 13806 +58903 13814 +58913.7 13822 +58924.3 13827 +58935 13829 +58945.7 13840 +58956.3 13848 +58967 13857 +58977.7 13862 +58988.3 13864 +58999 13869 +59009.7 13882 +59020.3 13884 +59031 13891 +59041.6 13897 +59052.3 13898 +59063 13899 +59073.6 13909 +59084.3 13916 +59095 13922 +59105.6 13925 +59116.3 13929 +59126.9 13936 +59137.6 13948 +59148.3 13951 +59158.9 13960 +59169.6 13968 +59180.3 13970 +59190.9 13977 +59201.6 13982 +59212.2 13987 +59222.9 13993 +59233.6 13999 +59244.2 14007 +59254.9 14014 +59265.6 14024 +59276.2 14030 +59286.9 14036 +59297.6 14043 +59308.2 14047 +59318.9 14057 +59329.5 14058 +59340.2 14061 +59350.9 14064 +59361.5 14069 +59372.2 14076 +59382.9 14084 +59393.5 14085 +59404.2 14087 +59414.8 14104 +59425.5 14108 +59436.2 14113 +59446.8 14119 +59457.5 14125 +59468.2 14132 +59478.8 14137 +59489.5 14143 +59500.2 14150 +59510.8 14152 +59521.5 14162 +59532.1 14167 +59542.8 14174 +59553.5 14176 +59564.1 14180 +59574.8 14191 +59585.5 14203 +59596.1 14205 +59606.8 14208 +59617.4 14213 +59628.1 14218 +59638.8 14223 +59649.4 14225 +59660.1 14231 +59670.8 14234 +59681.4 14241 +59692.1 14257 +59702.8 14259 +59713.4 14260 +59724.1 14264 +59734.7 14280 +59745.4 14281 +59756.1 14288 +59766.7 14291 +59777.4 14306 +59788.1 14308 +59798.7 14317 +59809.4 14323 +59820 14331 +59830.7 14336 +59841.4 14343 +59852 14347 +59862.7 14358 +59873.4 14361 +59884 14366 +59894.7 14370 +59905.4 14378 +59916 14385 +59926.7 14391 +59937.3 14397 +59948 14399 +59958.7 14409 +59969.3 14413 +59980 14417 +59990.7 14425 +60001.3 14427 +60012 14437 +60022.6 14442 +60033.3 14449 +60044 14450 +60054.6 14453 +60065.3 14462 +60076 14465 +60086.6 14473 +60097.3 14479 +60108 14489 +60118.6 14495 +60129.3 14499 +60139.9 14509 +60150.6 14519 +60161.3 14522 +60171.9 14525 +60182.6 14529 +60193.3 14537 +60203.9 14545 +60214.6 14550 +60225.2 14557 +60235.9 14559 +60246.6 14570 +60257.2 14574 +60267.9 14576 +60278.6 14588 +60289.2 14595 +60299.9 14601 +60310.6 14601 +60321.2 14611 +60331.9 14618 +60342.5 14622 +60353.2 14631 +60363.9 14637 +60374.5 14642 +60385.2 14650 +60395.9 14659 +60406.5 14665 +60417.2 14667 +60427.8 14669 +60438.5 14670 +60449.2 14679 +60459.8 14687 +60470.5 14688 +60481.2 14695 +60491.8 14700 +60502.5 14706 +60513.1 14712 +60523.8 14714 +60534.5 14721 +60545.1 14731 +60555.8 14736 +60566.5 14740 +60577.1 14752 +60587.8 14757 +60598.5 14765 +60609.1 14770 +60619.8 14780 +60630.4 14786 +60641.1 14793 +60651.8 14796 +60662.4 14804 +60673.1 14809 +60683.8 14815 +60694.4 14821 +60705.1 14833 +60715.7 14840 +60726.4 14840 +60737.1 14849 +60747.7 14855 +60758.4 14861 +60769.1 14870 +60779.7 14875 +60790.4 14882 +60801.1 14884 +60811.7 14893 +60822.4 14899 +60833 14904 +60843.7 14912 +60854.4 14918 +60865 14922 +60875.7 14928 +60886.4 14935 +60897 14943 +60907.7 14948 +60918.3 14952 +60929 14962 +60939.7 14971 +60950.3 14973 +60961 14979 +60971.7 14985 +60982.3 14994 +60993 14998 +61003.7 15004 +61014.3 15010 +61025 15016 +61035.6 15022 +61046.3 15027 +61057 15032 +61067.6 15037 +61078.3 15043 +61089 15044 +61099.6 15050 +61110.3 15064 +61120.9 15066 +61131.6 15071 +61142.3 15082 +61152.9 15086 +61163.6 15092 +61174.3 15098 +61184.9 15107 +61195.6 15113 +61206.3 15119 +61216.9 15126 +61227.6 15132 +61238.2 15141 +61248.9 15148 +61259.6 15151 +61270.2 15155 +61280.9 15170 +61291.6 15174 +61302.2 15176 +61312.9 15177 +61323.5 15180 +61334.2 15184 +61344.9 15188 +61355.5 15198 +61366.2 15203 +61376.9 15204 +61387.5 15207 +61398.2 15214 +61408.9 15220 +61419.5 15228 +61430.2 15238 +61440.8 15240 +61451.5 15243 +61462.2 15250 +61472.8 15255 +61483.5 15265 +61494.2 15267 +61504.8 15274 +61515.5 15281 +61526.1 15287 +61536.8 15292 +61547.5 15298 +61558.1 15303 +61568.8 15309 +61579.5 15315 +61590.1 15318 +61600.8 15330 +61611.4 15335 +61622.1 15339 +61632.8 15342 +61643.4 15348 +61654.1 15359 +61664.8 15365 +61675.4 15368 +61686.1 15371 +61696.8 15377 +61707.4 15390 +61718.1 15394 +61728.7 15399 +61739.4 15405 +61750.1 15411 +61760.7 15419 +61771.4 15425 +61782.1 15431 +61792.7 15435 +61803.4 15439 +61814 15446 +61824.7 15450 +61835.4 15459 +61846 15466 +61856.7 15473 +61867.4 15476 +61878 15482 +61888.7 15482 +61899.4 15490 +61910 15494 +61920.7 15497 +61931.3 15503 +61942 15511 +61952.7 15518 +61963.3 15523 +61974 15527 +61984.7 15529 +61995.3 15547 +62006 15548 +62016.6 15550 +62027.3 15551 +62038 15561 +62048.6 15568 +62059.3 15572 +62070 15576 +62080.6 15584 +62091.3 15593 +62102 15599 +62112.6 15603 +62123.3 15612 +62133.9 15619 +62144.6 15624 +62155.3 15627 +62165.9 15635 +62176.6 15646 +62187.3 15648 +62197.9 15652 +62208.6 15654 +62219.2 15658 +62229.9 15659 +62240.6 15674 +62251.2 15679 +62261.9 15686 +62272.6 15692 +62283.2 15697 +62293.9 15700 +62304.6 15713 +62315.2 15717 +62325.9 15722 +62336.5 15723 +62347.2 15729 +62357.9 15733 +62368.5 15746 +62379.2 15752 +62389.9 15754 +62400.5 15759 +62411.2 15762 +62421.8 15771 +62432.5 15772 +62443.2 15783 +62453.8 15788 +62464.5 15792 +62475.2 15806 +62485.8 15807 +62496.5 15809 +62507.2 15815 +62517.8 15824 +62528.5 15832 +62539.1 15835 +62549.8 15841 +62560.5 15844 +62571.1 15853 +62581.8 15863 +62592.5 15864 +62603.1 15869 +62613.8 15886 +62624.4 15889 +62635.1 15895 +62645.8 15908 +62656.4 15912 +62667.1 15917 +62677.8 15920 +62688.4 15936 +62699.1 15938 +62709.7 15940 +62720.4 15941 +62731.1 15946 +62741.7 15952 +62752.4 15958 +62763.1 15963 +62773.7 15967 +62784.4 15977 +62795.1 15983 +62805.7 15987 +62816.4 15992 +62827 15996 +62837.7 16005 +62848.4 16007 +62859 16013 +62869.7 16017 +62880.4 16028 +62891 16035 +62901.7 16043 +62912.3 16047 +62923 16051 +62933.7 16058 +62944.3 16069 +62955 16074 +62965.7 16083 +62976.3 16092 +62987 16096 +62997.7 16099 +63008.3 16110 +63019 16116 +63029.6 16117 +63040.3 16119 +63051 16124 +63061.6 16130 +63072.3 16141 +63083 16148 +63093.6 16151 +63104.3 16160 +63114.9 16171 +63125.6 16173 +63136.3 16180 +63146.9 16187 +63157.6 16196 +63168.3 16200 +63178.9 16205 +63189.6 16208 +63200.3 16218 +63210.9 16225 +63221.6 16229 +63232.2 16232 +63242.9 16238 +63253.6 16242 +63264.2 16245 +63274.9 16254 +63285.6 16256 +63296.2 16259 +63306.9 16266 +63317.5 16269 +63328.2 16275 +63338.9 16279 +63349.5 16287 +63360.2 16299 +63370.9 16303 +63381.5 16310 +63392.2 16311 +63402.9 16326 +63413.5 16330 +63424.2 16337 +63434.8 16339 +63445.5 16340 +63456.2 16352 +63466.8 16360 +63477.5 16368 +63488.2 16376 +63498.8 16379 +63509.5 16389 +63520.1 16394 +63530.8 16400 +63541.5 16406 +63552.1 16415 +63562.8 16422 +63573.5 16427 +63584.1 16431 +63594.8 16433 +63605.5 16446 +63616.1 16449 +63626.8 16453 +63637.4 16457 +63648.1 16467 +63658.8 16472 +63669.4 16474 +63680.1 16477 +63690.8 16486 +63701.4 16494 +63712.1 16500 +63722.7 16503 +63733.4 16509 +63744.1 16517 +63754.7 16524 +63765.4 16528 +63776.1 16531 +63786.7 16539 +63797.4 16552 +63808.1 16556 +63818.7 16560 +63829.4 16564 +63840 16573 +63850.7 16577 +63861.4 16582 +63872 16585 +63882.7 16588 +63893.4 16599 +63904 16604 +63914.7 16609 +63925.3 16616 +63936 16621 +63946.7 16628 +63957.3 16638 +63968 16640 +63978.7 16650 +63989.3 16654 +64000 16661 +64010.6 16668 +64021.3 16672 +64032 16682 +64042.6 16689 +64053.3 16689 +64064 16695 +64074.6 16700 +64085.3 16710 +64096 16718 +64106.6 16723 +64117.3 16727 +64127.9 16738 +64138.6 16741 +64149.3 16747 +64159.9 16749 +64170.6 16754 +64181.3 16760 +64191.9 16764 +64202.6 16776 +64213.2 16781 +64223.9 16786 +64234.6 16792 +64245.2 16798 +64255.9 16806 +64266.6 16812 +64277.2 16818 +64287.9 16824 +64298.6 16830 +64309.2 16839 +64319.9 16847 +64330.5 16850 +64341.2 16857 +64351.9 16862 +64362.5 16872 +64373.2 16879 +64383.9 16882 +64394.5 16890 +64405.2 16899 +64415.8 16903 +64426.5 16909 +64437.2 16915 +64447.8 16918 +64458.5 16928 +64469.2 16934 +64479.8 16938 +64490.5 16945 +64501.2 16952 +64511.8 16958 +64522.5 16964 +64533.1 16971 +64543.8 16976 +64554.5 16981 +64565.1 16984 +64575.8 16991 +64586.5 16998 +64597.1 17001 +64607.8 17005 +64618.4 17014 +64629.1 17020 +64639.8 17025 +64650.4 17025 +64661.1 17033 +64671.8 17045 +64682.4 17050 +64693.1 17055 +64703.8 17061 +64714.4 17068 +64725.1 17073 +64735.7 17082 +64746.4 17088 +64757.1 17091 +64767.7 17092 +64778.4 17097 +64789.1 17104 +64799.7 17110 +64810.4 17120 +64821 17123 +64831.7 17124 +64842.4 17134 +64853 17139 +64863.7 17149 +64874.4 17153 +64885 17163 +64895.7 17164 +64906.4 17169 +64917 17174 +64927.7 17179 +64938.3 17188 +64949 17193 +64959.7 17200 +64970.3 17206 +64981 17210 +64991.7 17214 +65002.3 17218 +65013 17218 +65023.6 17229 +65034.3 17231 +65045 17237 +65055.6 17244 +65066.3 17248 +65077 17256 +65087.6 17260 +65098.3 17266 +65108.9 17270 +65119.6 17274 +65130.3 17279 +65140.9 17280 +65151.6 17285 +65162.3 17291 +65172.9 17297 +65183.6 17298 +65194.3 17304 +65204.9 17306 +65215.6 17310 +65226.2 17310 +65236.9 17315 +65247.6 17316 +65258.2 17321 +65268.9 17322 +65279.6 17322 +65290.2 17327 +65300.9 17328 +65311.5 17333 +65322.2 17334 +65332.9 17339 +65343.5 17340 +65354.2 17346 +65364.9 17346 +65375.5 17351 +65386.2 17352 +65396.9 17357 +65407.5 17358 +65418.2 17363 +65428.8 17364 +65439.5 17369 +65450.2 17370 +65460.8 17375 +65471.5 17376 +65482.2 17381 +65492.8 17382 +65503.5 17387 +65514.1 17388 +65524.8 17393 +65535.5 17394 +65546.1 17394 +65556.8 17394 +65567.5 17394 +65578.1 17394 +65588.8 17394 +65599.5 17394 +65610.1 17394 +65620.8 17394 +65631.4 17394 +65642.1 17394 +65652.8 17394 +65663.4 17395 +65674.1 17395 +65684.8 17396 +65695.4 17396 +65706.1 17396 +65716.7 17396 +65727.4 17397 +65738.1 17398 +65748.7 17398 +65759.4 17400 +65770.1 17403 +65780.7 17403 +65791.4 17405 +65802.1 17406 +65812.7 17406 +65823.4 17406 +65834 17406 +65844.7 17406 +65855.4 17406 +65866 17406 +65876.7 17406 +65887.4 17406 +65898 17406 +65908.7 17407 +65919.3 17408 +65930 17408 +65940.7 17409 +65951.3 17410 +65962 17410 +65972.7 17412 +65983.3 17412 +65994 17412 +66004.7 17412 +66015.3 17414 +66026 17415 +66036.6 17415 +66047.3 17416 +66058 17418 +66068.6 17421 +66079.3 17424 +66090 17424 +66100.6 17427 +66111.3 17429 +66121.9 17430 +66132.6 17430 +66143.3 17430 +66153.9 17432 +66164.6 17433 +66175.3 17435 +66185.9 17436 +66196.6 17439 +66207.2 17439 +66217.9 17441 +66228.6 17442 +66239.2 17445 +66249.9 17447 +66260.6 17448 +66271.2 17451 +66281.9 17451 +66292.6 17454 +66303.2 17454 +66313.9 17457 +66324.5 17460 +66335.2 17460 +66345.9 17463 +66356.5 17466 +66367.2 17466 +66377.9 17469 +66388.5 17469 +66399.2 17469 +66409.8 17469 +66420.5 17469 +66431.2 17469 +66441.8 17469 +66452.5 17472 +66463.2 17472 +66473.8 17474 +66484.5 17476 +66495.2 17478 +66505.8 17478 +66516.5 17478 +66527.1 17480 +66537.8 17482 +66548.5 17484 +66559.1 17484 +66569.8 17484 +66580.5 17484 +66591.1 17484 +66601.8 17484 +66612.4 17484 +66623.1 17484 +66633.8 17484 +66644.4 17484 +66655.1 17484 +66665.8 17484 +66676.4 17484 +66687.1 17484 +66697.8 17484 +66708.4 17484 +66719.1 17484 +66729.7 17484 +66740.4 17484 +66751.1 17484 +66761.7 17484 +66772.4 17484 +66783.1 17484 +66793.7 17484 +66804.4 17484 +66815 17484 +66825.7 17484 +66836.4 17484 +66847 17484 +66857.7 17484 +66868.4 17484 +66879 17484 +66889.7 17484 +66900.4 17484 +66911 17484 +66921.7 17484 +66932.3 17484 +66943 17484 +66953.7 17484 +66964.3 17484 +66975 17484 +66985.7 17484 +66996.3 17484 +67007 17484 +67017.6 17484 +67028.3 17484 +67039 17484 +67049.6 17484 +67060.3 17484 +67071 17484 +67081.6 17484 +67092.3 17484 +67103 17484 +67113.6 17484 +67124.3 17484 +67134.9 17484 +67145.6 17484 +67156.3 17484 +67166.9 17484 +67177.6 17484 +67188.3 17484 +67198.9 17484 +67209.6 17484 +67220.2 17484 +67230.9 17484 +67241.6 17484 +67252.2 17484 +67262.9 17484 +67273.6 17484 +67284.2 17484 +67294.9 17484 +67305.6 17484 +67316.2 17484 +67326.9 17484 +67337.5 17484 +67348.2 17484 +67358.9 17484 +67369.5 17484 +67380.2 17484 +67390.9 17484 +67401.5 17484 +67412.2 17484 +67422.8 17484 +67433.5 17484 +67444.2 17484 +67454.8 17484 +67465.5 17484 +67476.2 17484 +67486.8 17484 +67497.5 17484 +67508.1 17484 +67518.8 17484 +67529.5 17484 +67540.1 17484 +67550.8 17484 +67561.5 17484 +67572.1 17484 +67582.8 17484 +67593.5 17484 +67604.1 17484 +67614.8 17484 +67625.4 17484 +67636.1 17484 +67646.8 17484 +67657.4 17484 +67668.1 17484 +67678.8 17484 +67689.4 17484 +67700.1 17484 +67710.7 17484 +67721.4 17484 +67732.1 17484 +67742.7 17484 +67753.4 17484 +67764.1 17484 +67774.7 17484 +67785.4 17484 +67796.1 17484 +67806.7 17484 +67817.4 17484 +67828 17484 +67838.7 17484 +67849.4 17484 +67860 17484 +67870.7 17484 +67881.4 17484 +67892 17484 +67902.7 17484 +67913.3 17484 +67924 17484 +67934.7 17484 +67945.3 17484 +67956 17484 +67966.7 17484 +67977.3 17484 +67988 17484 +67998.7 17484 +68009.3 17484 +68020 17484 +68030.6 17484 +68041.3 17484 +68052 17484 +68062.6 17484 +68073.3 17484 +68084 17484 +68094.6 17484 +68105.3 17484 +68115.9 17484 +68126.6 17484 +68137.3 17484 +68147.9 17484 +68158.6 17484 +68169.3 17484 +68179.9 17484 +68190.6 17484 +68201.3 17484 +68211.9 17484 +68222.6 17484 +68233.2 17484 +68243.9 17484 +68254.6 17484 +68265.2 17484 +68275.9 17484 +68286.6 17484 +68297.2 17484 +68307.9 17484 +68318.5 17484 +68329.2 17484 +68339.9 17484 +68350.5 17484 +68361.2 17484 +68371.9 17484 +68382.5 17484 +68393.2 17484 +68403.9 17484 +68414.5 17484 +68425.2 17484 +68435.8 17484 +68446.5 17484 +68457.2 17484 +68467.8 17484 +68478.5 17484 +68489.2 17484 +68499.8 17484 +68510.5 17484 +68521.1 17484 +68531.8 17484 +68542.5 17484 +68553.1 17484 +68563.8 17484 +68574.5 17484 +68585.1 17484 +68595.8 17484 +68606.4 17484 +68617.1 17484 +68627.8 17484 +68638.4 17484 +68649.1 17484 +68659.8 17484 +68670.4 17484 +68681.1 17484 +68691.8 17484 +68702.4 17484 +68713.1 17484 +68723.7 17484 +68734.4 17484 +68745.1 17484 +68755.7 17484 +68766.4 17484 +68777.1 17484 +68787.7 17484 +68798.4 17484 +68809 17484 +68819.7 17484 +68830.4 17484 +68841 17484 +68851.7 17484 +68862.4 17484 +68873 17484 +68883.7 17484 +68894.4 17484 +68905 17484 +68915.7 17484 +68926.3 17484 +68937 17484 +68947.7 17484 +68958.3 17484 +68969 17484 +68979.7 17484 +68990.3 17484 +69001 17484 +69011.6 17484 +69022.3 17484 +69033 17484 +69043.6 17484 +69054.3 17484 +69065 17484 +69075.6 17484 +69086.3 17484 +69097 17484 +69107.6 17484 +69118.3 17484 +69128.9 17484 +69139.6 17484 +69150.3 17484 +69160.9 17484 +69171.6 17484 +69182.3 17484 +69192.9 17484 +69203.6 17484 +69214.2 17484 +69224.9 17484 +69235.6 17484 +69246.2 17484 +69256.9 17484 +69267.6 17484 +69278.2 17484 +69288.9 17484 +69299.6 17484 +69310.2 17484 +69320.9 17484 +69331.5 17484 +69342.2 17484 +69352.9 17484 +69363.5 17484 +69374.2 17484 +69384.9 17484 +69395.5 17484 +69406.2 17484 +69416.8 17484 +69427.5 17484 +69438.2 17484 +69448.8 17484 +69459.5 17484 +69470.2 17484 +69480.8 17484 +69491.5 17484 +69502.2 17484 +69512.8 17484 +69523.5 17484 +69534.1 17484 +69544.8 17484 +69555.5 17484 +69566.1 17484 +69576.8 17484 +69587.5 17484 +69598.1 17484 +69608.8 17484 +69619.4 17484 +69630.1 17484 +69640.8 17484 +69651.4 17484 +69662.1 17484 +69672.8 17484 +69683.4 17484 +69694.1 17484 +69704.8 17484 +69715.4 17484 +69726.1 17484 +69736.7 17484 +69747.4 17484 +69758.1 17484 +69768.7 17484 +69779.4 17484 +69790.1 17484 +69800.7 17484 +69811.4 17484 +69822 17484 +69832.7 17484 +69843.4 17484 +69854 17484 +69864.7 17484 +69875.4 17484 +69886 17484 +69896.7 17484 +69907.3 17484 +69918 17484 +69928.7 17484 +69939.3 17484 +69950 17484 +69960.7 17484 +69971.3 17484 +69982 17484 +69992.7 17484 +70003.3 17484 +70014 17484 +70024.6 17484 +70035.3 17484 +70046 17484 +70056.6 17484 +70067.3 17484 +70078 17484 +70088.6 17484 +70099.3 17484 +70109.9 17484 +70120.6 17484 +70131.3 17484 +70141.9 17484 +70152.6 17484 +70163.3 17484 +70173.9 17484 +70184.6 17484 +70195.3 17484 +70205.9 17484 +70216.6 17484 +70227.2 17484 +70237.9 17484 +70248.6 17484 +70259.2 17484 +70269.9 17484 +70280.6 17484 +70291.2 17484 +70301.9 17484 +70312.5 17484 +70323.2 17484 +70333.9 17484 +70344.5 17484 +70355.2 17484 +70365.9 17484 +70376.5 17484 +70387.2 17484 +70397.9 17484 +70408.5 17484 +70419.2 17484 +70429.8 17484 +70440.5 17484 +70451.2 17484 +70461.8 17484 +70472.5 17484 +70483.2 17484 +70493.8 17484 +70504.5 17484 +70515.1 17484 +70525.8 17484 +70536.5 17484 +70547.1 17484 +70557.8 17484 +70568.5 17484 +70579.1 17484 +70589.8 17484 +70600.5 17484 +70611.1 17484 +70621.8 17484 +70632.4 17484 +70643.1 17484 +70653.8 17484 +70664.4 17484 +70675.1 17484 +70685.8 17484 +70696.4 17484 +70707.1 17484 +70717.7 17484 +70728.4 17484 +70739.1 17484 +70749.7 17484 +70760.4 17484 +70771.1 17484 +70781.7 17484 +70792.4 17484 +70803.1 17484 +70813.7 17484 +70824.4 17484 +70835 17484 +70845.7 17484 +70856.4 17484 +70867 17484 +70877.7 17484 +70888.4 17484 +70899 17484 +70909.7 17484 +70920.3 17484 +70931 17484 +70941.7 17484 +70952.3 17484 +70963 17484 +70973.7 17484 +70984.3 17484 +70995 17484 +71005.6 17484 +71016.3 17484 +71027 17484 +71037.6 17484 +71048.3 17484 +71059 17484 +71069.6 17484 +71080.3 17484 +71091 17484 +71101.6 17484 +71112.3 17484 +71122.9 17484 +71133.6 17484 +71144.3 17484 +71154.9 17484 +71165.6 17484 +71176.3 17484 +71186.9 17484 +71197.6 17484 +71208.2 17484 +71218.9 17484 +71229.6 17484 +71240.2 17484 +71250.9 17484 +71261.6 17484 +71272.2 17484 +71282.9 17484 +71293.6 17484 +71304.2 17484 +71314.9 17484 +71325.5 17484 +71336.2 17484 +71346.9 17484 +71357.5 17484 +71368.2 17484 +71378.9 17484 +71389.5 17484 +71400.2 17484 +71410.8 17484 +71421.5 17484 +71432.2 17484 +71442.8 17484 +71453.5 17484 +71464.2 17484 +71474.8 17484 +71485.5 17484 +71496.2 17484 +71506.8 17484 +71517.5 17484 +71528.1 17484 +71538.8 17484 +71549.5 17484 +71560.1 17484 +71570.8 17484 +71581.5 17484 +71592.1 17484 +71602.8 17484 +71613.4 17484 +71624.1 17484 +71634.8 17484 +71645.4 17484 +71656.1 17484 +71666.8 17484 +71677.4 17484 +71688.1 17484 +71698.8 17484 +71709.4 17484 +71720.1 17484 +71730.7 17484 +71741.4 17484 +71752.1 17484 +71762.7 17484 +71773.4 17484 +71784.1 17484 +71794.7 17484 +71805.4 17484 +71816 17484 +71826.7 17484 +71837.4 17484 +71848 17484 +71858.7 17484 +71869.4 17484 +71880 17484 +71890.7 17484 +71901.4 17484 +71912 17484 +71922.7 17484 +71933.3 17484 +71944 17484 +71954.7 17484 +71965.3 17484 +71976 17484 +71986.7 17484 +71997.3 17484 +72008 17484 +72018.6 17484 +72029.3 17484 +72040 17484 +72050.6 17484 +72061.3 17484 +72072 17484 +72082.6 17484 +72093.3 17484 +72103.9 17484 +72114.6 17484 +72125.3 17484 +72135.9 17484 +72146.6 17484 +72157.3 17484 +72167.9 17484 +72178.6 17484 +72189.3 17484 +72199.9 17484 +72210.6 17484 +72221.2 17484 +72231.9 17484 +72242.6 17484 +72253.2 17484 +72263.9 17484 +72274.6 17484 +72285.2 17484 +72295.9 17484 +72306.5 17484 +72317.2 17484 +72327.9 17484 +72338.5 17484 +72349.2 17484 +72359.9 17484 +72370.5 17484 +72381.2 17484 +72391.9 17484 +72402.5 17484 +72413.2 17484 +72423.8 17484 +72434.5 17484 +72445.2 17484 +72455.8 17484 +72466.5 17484 +72477.2 17484 +72487.8 17484 +72498.5 17484 +72509.1 17484 +72519.8 17484 +72530.5 17484 +72541.1 17484 +72551.8 17484 +72562.5 17484 +72573.1 17484 +72583.8 17484 +72594.5 17484 +72605.1 17484 +72615.8 17484 +72626.4 17484 +72637.1 17484 +72647.8 17484 +72658.4 17484 +72669.1 17484 +72679.8 17484 +72690.4 17484 +72701.1 17484 +72711.7 17484 +72722.4 17484 +72733.1 17484 +72743.7 17484 +72754.4 17484 +72765.1 17484 +72775.7 17484 +72786.4 17484 +72797.1 17484 +72807.7 17484 +72818.4 17484 +72829 17484 +72839.7 17484 +72850.4 17484 +72861 17484 +72871.7 17484 +72882.4 17484 +72893 17484 +72903.7 17484 +72914.3 17484 +72925 17484 +72935.7 17484 +72946.3 17484 +72957 17484 +72967.7 17484 +72978.3 17484 +72989 17484 +72999.7 17484 +73010.3 17484 +73021 17484 +73031.6 17484 +73042.3 17484 +73053 17484 +73063.6 17484 +73074.3 17484 +73085 17484 +73095.6 17484 +73106.3 17484 +73116.9 17484 +73127.6 17484 +73138.3 17484 +73148.9 17484 +73159.6 17484 +73170.3 17484 +73180.9 17484 +73191.6 17484 +73202.3 17484 +73212.9 17484 +73223.6 17484 +73234.2 17484 +73244.9 17484 +73255.6 17484 +73266.2 17484 +73276.9 17484 +73287.6 17484 +73298.2 17484 +73308.9 17484 +73319.5 17484 +73330.2 17484 +73340.9 17484 +73351.5 17484 +73362.2 17484 +73372.9 17484 +73383.5 17484 +73394.2 17484 +73404.8 17484 +73415.5 17484 +73426.2 17484 +73436.8 17484 +73447.5 17484 +73458.2 17484 +73468.8 17484 +73479.5 17484 +73490.2 17484 +73500.8 17484 +73511.5 17484 +73522.1 17484 +73532.8 17484 +73543.5 17484 +73554.1 17484 +73564.8 17484 +73575.5 17484 +73586.1 17484 +73596.8 17484 +73607.4 17484 +73618.1 17484 +73628.8 17484 +73639.4 17484 +73650.1 17484 +73660.8 17484 +73671.4 17484 +73682.1 17484 +73692.8 17484 +73703.4 17484 +73714.1 17484 +73724.7 17484 +73735.4 17484 +73746.1 17484 +73756.7 17484 +73767.4 17484 +73778.1 17484 +73788.7 17484 +73799.4 17484 +73810 17484 +73820.7 17484 +73831.4 17484 +73842 17484 +73852.7 17484 +73863.4 17484 +73874 17484 +73884.7 17484 +73895.4 17484 +73906 17484 +73916.7 17484 +73927.3 17484 +73938 17484 +73948.7 17484 +73959.3 17484 +73970 17484 +73980.7 17484 +73991.3 17484 +74002 17484 +74012.6 17484 +74023.3 17484 +74034 17484 +74044.6 17484 +74055.3 17484 +74066 17484 +74076.6 17484 +74087.3 17484 +74098 17484 +74108.6 17484 +74119.3 17484 +74129.9 17484 +74140.6 17484 +74151.3 17484 +74161.9 17484 +74172.6 17484 +74183.3 17484 +74193.9 17484 +74204.6 17484 +74215.2 17484 +74225.9 17484 +74236.6 17484 +74247.2 17484 +74257.9 17484 +74268.6 17484 +74279.2 17484 +74289.9 17484 +74300.6 17484 +74311.2 17484 +74321.9 17484 +74332.5 17484 +74343.2 17484 +74353.9 17484 +74364.5 17484 +74375.2 17484 +74385.9 17484 +74396.5 17484 +74407.2 17484 +74417.8 17484 +74428.5 17484 +74439.2 17484 +74449.8 17484 +74460.5 17484 +74471.2 17484 +74481.8 17484 +74492.5 17484 +74503.1 17484 +74513.8 17484 +74524.5 17484 +74535.1 17484 +74545.8 17484 +74556.5 17484 +74567.1 17484 +74577.8 17484 +74588.5 17484 +74599.1 17484 +74609.8 17484 +74620.4 17484 +74631.1 17484 +74641.8 17484 +74652.4 17484 +74663.1 17484 +74673.8 17484 +74684.4 17484 +74695.1 17484 +74705.7 17484 +74716.4 17484 +74727.1 17484 +74737.7 17484 +74748.4 17484 +74759.1 17484 +74769.7 17484 +74780.4 17484 +74791.1 17484 +74801.7 17484 +74812.4 17484 +74823 17484 +74833.7 17484 +74844.4 17484 +74855 17484 +74865.7 17484 +74876.4 17484 +74887 17484 +74897.7 17484 +74908.3 17484 +74919 17484 +74929.7 17484 +74940.3 17484 +74951 17484 +74961.7 17484 +74972.3 17484 +74983 17484 +74993.7 17484 +75004.3 17484 +75015 17484 +75025.6 17484 +75036.3 17484 +75047 17484 +75057.6 17484 +75068.3 17484 +75079 17484 +75089.6 17484 +75100.3 17484 +75110.9 17484 +75121.6 17484 +75132.3 17484 +75142.9 17484 +75153.6 17484 +75164.3 17484 +75174.9 17484 +75185.6 17484 +75196.3 17484 +75206.9 17484 +75217.6 17484 +75228.2 17484 +75238.9 17484 +75249.6 17484 +75260.2 17484 +75270.9 17484 +75281.6 17484 +75292.2 17484 +75302.9 17484 +75313.5 17484 +75324.2 17484 +75334.9 17484 +75345.5 17484 +75356.2 17484 +75366.9 17484 +75377.5 17484 +75388.2 17484 +75398.9 17484 +75409.5 17484 +75420.2 17484 +75430.8 17484 +75441.5 17484 +75452.2 17484 +75462.8 17484 +75473.5 17484 +75484.2 17484 +75494.8 17484 +75505.5 17484 +75516.1 17484 +75526.8 17484 +75537.5 17484 +75548.1 17484 +75558.8 17484 +75569.5 17484 +75580.1 17484 +75590.8 17484 +75601.4 17484 +75612.1 17484 +75622.8 17484 +75633.4 17484 +75644.1 17484 +75654.8 17484 +75665.4 17484 +75676.1 17484 +75686.8 17484 +75697.4 17484 +75708.1 17484 +75718.7 17484 +75729.4 17484 +75740.1 17484 +75750.7 17484 +75761.4 17484 +75772.1 17484 +75782.7 17484 +75793.4 17484 +75804 17484 +75814.7 17484 +75825.4 17484 +75836 17484 +75846.7 17484 +75857.4 17484 +75868 17484 +75878.7 17484 +75889.4 17484 +75900 17484 +75910.7 17484 +75921.3 17484 +75932 17484 +75942.7 17484 +75953.3 17484 +75964 17484 +75974.7 17484 +75985.3 17484 +75996 17484 +76006.6 17484 +76017.3 17484 +76028 17484 +76038.6 17484 +76049.3 17484 +76060 17484 +76070.6 17484 +76081.3 17484 +76092 17484 +76102.6 17484 +76113.3 17484 +76123.9 17484 +76134.6 17484 +76145.3 17484 +76155.9 17484 +76166.6 17484 +76177.3 17484 +76187.9 17484 +76198.6 17484 +76209.2 17484 +76219.9 17484 +76230.6 17484 +76241.2 17484 +76251.9 17484 +76262.6 17484 +76273.2 17484 +76283.9 17484 +76294.6 17484 +76305.2 17484 +76315.9 17484 +76326.5 17484 +76337.2 17484 +76347.9 17484 +76358.5 17484 +76369.2 17484 +76379.9 17484 +76390.5 17484 +76401.2 17484 +76411.8 17484 +76422.5 17484 +76433.2 17484 +76443.8 17484 +76454.5 17484 +76465.2 17484 +76475.8 17484 +76486.5 17484 +76497.2 17484 +76507.8 17484 +76518.5 17484 +76529.1 17484 +76539.8 17484 +76550.5 17484 +76561.1 17484 +76571.8 17484 +76582.5 17484 +76593.1 17484 +76603.8 17484 +76614.4 17484 +76625.1 17484 +76635.8 17484 +76646.4 17484 +76657.1 17484 +76667.8 17484 +76678.4 17484 +76689.1 17484 +76699.8 17484 +76710.4 17484 +76721.1 17484 +76731.7 17484 +76742.4 17484 +76753.1 17484 +76763.7 17484 +76774.4 17484 +76785.1 17484 +76795.7 17484 +76806.4 17484 +76817 17484 +76827.7 17484 +76838.4 17484 +76849 17484 +76859.7 17484 +76870.4 17484 +76881 17484 +76891.7 17484 +76902.3 17484 +76913 17484 +76923.7 17484 +76934.3 17484 +76945 17484 +76955.7 17484 +76966.3 17484 +76977 17484 +76987.7 17484 +76998.3 17484 +77009 17484 +77019.6 17484 +77030.3 17484 +77041 17484 +77051.6 17484 +77062.3 17484 +77073 17484 +77083.6 17484 +77094.3 17484 +77104.9 17484 +77115.6 17484 +77126.3 17484 +77136.9 17484 +77147.6 17484 +77158.3 17484 +77168.9 17484 +77179.6 17484 +77190.3 17484 +77200.9 17484 +77211.6 17484 +77222.2 17484 +77232.9 17484 +77243.6 17484 +77254.2 17484 +77264.9 17484 +77275.6 17484 +77286.2 17484 +77296.9 17484 +77307.5 17484 +77318.2 17484 +77328.9 17484 +77339.5 17484 +77350.2 17484 +77360.9 17484 +77371.5 17484 +77382.2 17484 +77392.9 17484 +77403.5 17484 +77414.2 17484 +77424.8 17484 +77435.5 17484 +77446.2 17484 +77456.8 17484 +77467.5 17484 +77478.2 17484 +77488.8 17484 +77499.5 17484 +77510.1 17484 +77520.8 17484 +77531.5 17484 +77542.1 17484 +77552.8 17484 +77563.5 17484 +77574.1 17484 +77584.8 17484 +77595.5 17484 +77606.1 17484 +77616.8 17484 +77627.4 17484 +77638.1 17484 +77648.8 17484 +77659.4 17484 +77670.1 17484 +77680.8 17484 +77691.4 17484 +77702.1 17484 +77712.7 17484 +77723.4 17484 +77734.1 17484 +77744.7 17484 +77755.4 17484 +77766.1 17484 +77776.7 17484 +77787.4 17484 +77798.1 17484 +77808.7 17484 +77819.4 17484 +77830 17484 +77840.7 17484 +77851.4 17484 +77862 17484 +77872.7 17484 +77883.4 17484 +77894 17484 +77904.7 17484 +77915.3 17484 +77926 17484 +77936.7 17484 +77947.3 17484 +77958 17484 +77968.7 17484 +77979.3 17484 +77990 17484 +78000.6 17484 +78011.3 17484 +78022 17484 +78032.6 17484 +78043.3 17484 +78054 17484 +78064.6 17484 +78075.3 17484 +78086 17484 +78096.6 17484 +78107.3 17484 +78117.9 17484 +78128.6 17484 +78139.3 17484 +78149.9 17484 +78160.6 17484 +78171.3 17484 +78181.9 17484 +78192.6 17484 +78203.2 17484 +78213.9 17484 +78224.6 17484 +78235.2 17484 +78245.9 17484 +78256.6 17484 +78267.2 17484 +78277.9 17484 +78288.6 17484 +78299.2 17484 +78309.9 17484 +78320.5 17484 +78331.2 17484 +78341.9 17484 +78352.5 17484 +78363.2 17484 +78373.9 17484 +78384.5 17484 +78395.2 17484 +78405.8 17484 +78416.5 17484 +78427.2 17484 +78437.8 17484 +78448.5 17484 +78459.2 17484 +78469.8 17484 +78480.5 17484 +78491.2 17484 +78501.8 17484 +78512.5 17484 +78523.1 17484 +78533.8 17484 +78544.5 17484 +78555.1 17484 +78565.8 17484 +78576.5 17484 +78587.1 17484 +78597.8 17484 +78608.4 17484 +78619.1 17484 +78629.8 17484 +78640.4 17484 +78651.1 17484 +78661.8 17484 +78672.4 17484 +78683.1 17484 +78693.8 17484 +78704.4 17484 +78715.1 17484 +78725.7 17484 +78736.4 17484 +78747.1 17484 +78757.7 17484 +78768.4 17484 +78779.1 17484 +78789.7 17484 +78800.4 17484 +78811 17484 +78821.7 17484 +78832.4 17484 +78843 17484 +78853.7 17484 +78864.4 17484 +78875 17484 +78885.7 17484 +78896.4 17484 +78907 17484 +78917.7 17484 +78928.3 17484 +78939 17484 +78949.7 17484 +78960.3 17484 +78971 17484 +78981.7 17484 +78992.3 17484 +79003 17484 +79013.6 17484 +79024.3 17484 +79035 17484 +79045.6 17484 +79056.3 17484 +79067 17484 +79077.6 17484 +79088.3 17484 +79098.9 17484 +79109.6 17484 +79120.3 17484 +79130.9 17484 +79141.6 17484 +79152.3 17484 +79162.9 17484 +79173.6 17484 +79184.3 17484 +79194.9 17484 +79205.6 17484 +79216.2 17484 +79226.9 17484 +79237.6 17484 +79248.2 17484 +79258.9 17484 +79269.6 17484 +79280.2 17484 +79290.9 17484 +79301.5 17484 +79312.2 17484 +79322.9 17484 +79333.5 17484 +79344.2 17484 +79354.9 17484 +79365.5 17484 +79376.2 17484 +79386.9 17484 +79397.5 17484 +79408.2 17484 +79418.8 17484 +79429.5 17484 +79440.2 17484 +79450.8 17484 +79461.5 17484 +79472.2 17484 +79482.8 17484 +79493.5 17484 +79504.1 17484 +79514.8 17484 +79525.5 17484 +79536.1 17484 +79546.8 17484 +79557.5 17484 +79568.1 17484 +79578.8 17484 +79589.5 17484 +79600.1 17484 +79610.8 17484 +79621.4 17484 +79632.1 17484 +79642.8 17484 +79653.4 17484 +79664.1 17484 +79674.8 17484 +79685.4 17484 +79696.1 17484 +79706.7 17484 +79717.4 17484 +79728.1 17484 +79738.7 17484 +79749.4 17484 +79760.1 17484 +79770.7 17484 +79781.4 17484 +79792.1 17484 +79802.7 17484 +79813.4 17484 +79824 17484 +79834.7 17484 +79845.4 17484 +79856 17484 +79866.7 17484 +79877.4 17484 +79888 17484 +79898.7 17484 +79909.3 17484 +79920 17484 +79930.7 17484 +79941.3 17484 +79952 17484 +79962.7 17484 +79973.3 17484 +79984 17484 +79994.7 17484 +80005.3 17484 +80016 17484 +80026.6 17484 +80037.3 17484 +80048 17484 +80058.6 17484 +80069.3 17484 +80080 17484 +80090.6 17484 +80101.3 17484 +80111.9 17484 +80122.6 17484 +80133.3 17484 +80143.9 17484 +80154.6 17484 +80165.3 17484 +80175.9 17484 +80186.6 17484 +80197.3 17484 +80207.9 17484 +80218.6 17484 +80229.2 17484 +80239.9 17484 +80250.6 17484 +80261.2 17484 +80271.9 17484 +80282.6 17484 +80293.2 17484 +80303.9 17484 +80314.5 17484 +80325.2 17484 +80335.9 17484 +80346.5 17484 +80357.2 17484 +80367.9 17484 +80378.5 17484 +80389.2 17484 +80399.8 17484 +80410.5 17484 +80421.2 17484 +80431.8 17484 +80442.5 17484 +80453.2 17484 +80463.8 17484 +80474.5 17484 +80485.2 17484 +80495.8 17484 +80506.5 17484 +80517.1 17484 +80527.8 17484 +80538.5 17484 +80549.1 17484 +80559.8 17484 +80570.5 17484 +80581.1 17484 +80591.8 17484 +80602.4 17484 +80613.1 17484 +80623.8 17484 +80634.4 17484 +80645.1 17484 +80655.8 17484 +80666.4 17484 +80677.1 17484 +80687.8 17484 +80698.4 17484 +80709.1 17484 +80719.7 17484 +80730.4 17484 +80741.1 17484 +80751.7 17484 +80762.4 17484 +80773.1 17484 +80783.7 17484 +80794.4 17484 +80805 17484 +80815.7 17484 +80826.4 17484 +80837 17484 +80847.7 17484 +80858.4 17484 +80869 17484 +80879.7 17484 +80890.4 17484 +80901 17484 +80911.7 17484 +80922.3 17484 +80933 17484 +80943.7 17484 +80954.3 17484 +80965 17484 +80975.7 17484 +80986.3 17484 +80997 17484 +81007.6 17484 +81018.3 17484 +81029 17484 +81039.6 17484 +81050.3 17484 +81061 17484 +81071.6 17484 +81082.3 17484 +81093 17484 +81103.6 17484 +81114.3 17484 +81124.9 17484 +81135.6 17484 +81146.3 17484 +81156.9 17484 +81167.6 17484 +81178.3 17484 +81188.9 17484 +81199.6 17484 +81210.2 17484 +81220.9 17484 +81231.6 17484 +81242.2 17484 +81252.9 17484 +81263.6 17484 +81274.2 17484 +81284.9 17484 +81295.6 17484 +81306.2 17484 +81316.9 17484 +81327.5 17484 +81338.2 17484 +81348.9 17484 +81359.5 17484 +81370.2 17484 +81380.9 17484 +81391.5 17484 +81402.2 17484 +81412.8 17484 +81423.5 17484 +81434.2 17484 +81444.8 17484 +81455.5 17484 +81466.2 17484 +81476.8 17484 +81487.5 17484 +81498.1 17484 +81508.8 17484 +81519.5 17484 +81530.1 17484 +81540.8 17484 +81551.5 17484 +81562.1 17484 +81572.8 17484 +81583.5 17484 +81594.1 17484 +81604.8 17484 +81615.4 17484 +81626.1 17484 +81636.8 17484 +81647.4 17484 +81658.1 17484 +81668.8 17484 +81679.4 17484 +81690.1 17484 +81700.7 17484 +81711.4 17484 +81722.1 17484 +81732.7 17484 +81743.4 17484 +81754.1 17484 +81764.7 17484 +81775.4 17484 +81786.1 17484 +81796.7 17484 +81807.4 17484 +81818 17484 +81828.7 17484 +81839.4 17484 +81850 17484 +81860.7 17484 +81871.4 17484 +81882 17484 +81892.7 17484 +81903.3 17484 +81914 17484 +81924.7 17484 +81935.3 17484 +81946 17484 +81956.7 17484 +81967.3 17484 +81978 17484 +81988.7 17484 +81999.3 17484 +82010 17484 +82020.6 17484 +82031.3 17484 +82042 17484 +82052.6 17484 +82063.3 17484 +82074 17484 +82084.6 17484 +82095.3 17484 +82105.9 17484 +82116.6 17484 +82127.3 17484 +82137.9 17484 +82148.6 17484 +82159.3 17484 +82169.9 17484 +82180.6 17484 +82191.3 17484 +82201.9 17484 +82212.6 17484 +82223.2 17484 +82233.9 17484 +82244.6 17484 +82255.2 17484 +82265.9 17484 +82276.6 17484 +82287.2 17484 +82297.9 17484 +82308.5 17484 +82319.2 17484 +82329.9 17484 +82340.5 17484 +82351.2 17484 +82361.9 17484 +82372.5 17484 +82383.2 17484 +82393.9 17484 +82404.5 17484 +82415.2 17484 +82425.8 17484 +82436.5 17484 +82447.2 17484 +82457.8 17484 +82468.5 17484 +82479.2 17484 +82489.8 17484 +82500.5 17484 +82511.1 17484 +82521.8 17484 +82532.5 17484 +82543.1 17484 +82553.8 17484 +82564.5 17484 +82575.1 17484 +82585.8 17484 +82596.5 17484 +82607.1 17484 +82617.8 17484 +82628.4 17484 +82639.1 17484 +82649.8 17484 +82660.4 17484 +82671.1 17484 +82681.8 17484 +82692.4 17484 +82703.1 17484 +82713.7 17484 +82724.4 17484 +82735.1 17484 +82745.7 17484 +82756.4 17484 +82767.1 17484 +82777.7 17484 +82788.4 17484 +82799 17484 +82809.7 17484 +82820.4 17484 +82831 17484 +82841.7 17484 +82852.4 17484 +82863 17484 +82873.7 17484 +82884.4 17484 +82895 17484 +82905.7 17484 +82916.3 17484 +82927 17484 +82937.7 17484 +82948.3 17484 +82959 17484 +82969.7 17484 +82980.3 17484 +82991 17484 +83001.6 17484 +83012.3 17484 +83023 17484 +83033.6 17484 +83044.3 17484 +83055 17484 +83065.6 17484 +83076.3 17484 +83087 17484 +83097.6 17484 +83108.3 17484 +83118.9 17484 +83129.6 17484 +83140.3 17484 +83150.9 17484 +83161.6 17484 +83172.3 17484 +83182.9 17484 +83193.6 17484 +83204.2 17484 +83214.9 17484 +83225.6 17484 +83236.2 17484 +83246.9 17484 +83257.6 17484 +83268.2 17484 +83278.9 17484 +83289.6 17484 +83300.2 17484 +83310.9 17484 +83321.5 17484 +83332.2 17484 +83342.9 17484 +83353.5 17484 +83364.2 17484 +83374.9 17484 +83385.5 17484 +83396.2 17484 +83406.8 17484 +83417.5 17484 +83428.2 17484 +83438.8 17484 +83449.5 17484 +83460.2 17484 +83470.8 17484 +83481.5 17484 +83492.2 17484 +83502.8 17484 +83513.5 17484 +83524.1 17484 +83534.8 17484 +83545.5 17484 +83556.1 17484 +83566.8 17484 +83577.5 17484 +83588.1 17484 +83598.8 17484 +83609.4 17484 +83620.1 17484 +83630.8 17484 +83641.4 17484 +83652.1 17484 +83662.8 17484 +83673.4 17484 +83684.1 17484 +83694.8 17484 +83705.4 17484 +83716.1 17484 +83726.7 17484 +83737.4 17484 +83748.1 17484 +83758.7 17484 +83769.4 17484 +83780.1 17484 +83790.7 17484 +83801.4 17484 +83812 17484 +83822.7 17484 +83833.4 17484 +83844 17484 +83854.7 17484 +83865.4 17484 +83876 17484 +83886.7 17484 +83897.3 17484 +83908 17484 +83918.7 17484 +83929.3 17484 +83940 17484 +83950.7 17484 +83961.3 17484 +83972 17484 +83982.7 17484 +83993.3 17484 +84004 17484 +84014.6 17484 +84025.3 17484 +84036 17484 +84046.6 17484 +84057.3 17484 +84068 17484 +84078.6 17484 +84089.3 17484 +84099.9 17484 +84110.6 17484 +84121.3 17484 +84131.9 17484 +84142.6 17484 +84153.3 17484 +84163.9 17484 +84174.6 17484 +84185.3 17484 +84195.9 17484 +84206.6 17484 +84217.2 17484 +84227.9 17484 +84238.6 17484 +84249.2 17484 +84259.9 17484 +84270.6 17484 +84281.2 17484 +84291.9 17484 +84302.5 17484 +84313.2 17484 +84323.9 17484 +84334.5 17484 +84345.2 17484 +84355.9 17484 +84366.5 17484 +84377.2 17484 +84387.9 17484 +84398.5 17484 +84409.2 17484 +84419.8 17484 +84430.5 17484 +84441.2 17484 +84451.8 17484 +84462.5 17484 +84473.2 17484 +84483.8 17484 +84494.5 17484 +84505.1 17484 +84515.8 17484 +84526.5 17484 +84537.1 17484 +84547.8 17484 +84558.5 17484 +84569.1 17484 +84579.8 17484 +84590.5 17484 +84601.1 17484 +84611.8 17484 +84622.4 17484 +84633.1 17484 +84643.8 17484 +84654.4 17484 +84665.1 17484 +84675.8 17484 +84686.4 17484 +84697.1 17484 +84707.7 17484 +84718.4 17484 +84729.1 17484 +84739.7 17484 +84750.4 17484 +84761.1 17484 +84771.7 17484 +84782.4 17484 +84793.1 17484 +84803.7 17484 +84814.4 17484 +84825 17484 +84835.7 17484 +84846.4 17484 +84857 17484 +84867.7 17484 +84878.4 17484 +84889 17484 +84899.7 17484 +84910.3 17484 +84921 17484 +84931.7 17484 +84942.3 17484 +84953 17484 +84963.7 17484 +84974.3 17484 +84985 17484 +84995.6 17484 +85006.3 17484 +85017 17484 +85027.6 17484 +85038.3 17484 +85049 17484 +85059.6 17484 +85070.3 17484 +85081 17484 +85091.6 17484 +85102.3 17484 +85112.9 17484 +85123.6 17484 +85134.3 17484 +85144.9 17484 +85155.6 17484 +85166.3 17484 +85176.9 Modified: SwiftApps/SciColSim/plotit =================================================================== --- SwiftApps/SciColSim/plotit 2012-02-11 19:11:50 UTC (rev 5586) +++ SwiftApps/SciColSim/plotit 2012-02-11 20:31:24 UTC (rev 5587) @@ -1,39 +1,39 @@ -#set terminal png enhanced size 1000 1000 +set terminal png enhanced #set term postscript eps enhanced -set terminal svg enhanced size 1000 1000 -set style line 1 lc rgb "blue" -set output "activeplot.svg" +#set terminal svg enhanced size 1000 1000 +#set style line 1 linecolor rgb "blue" +set output "activeplot.png" set nokey set xlabel "Time in sec" set ylabel "number of active jobs" set title "Active jobs" plot "plot_active.txt" using 1:2 with line -set output "cumulativeplot-openmp.svg" +set output "cumulativeplot-openmp.png" set xlabel "Time in seconds" set ylabel "number of completed jobs" set title "Cumulative SciColSim-openMP jobs" plot "plot_cumulative.txt" using 1:($2*24) with lines -set output "cumulativeplot.svg" +set output "cumulativeplot.png" set xlabel "Time in seconds" set ylabel "number of completed jobs" set title "Cumulative jobs" plot "plot_cumulative.txt" using 1:2 with lines -set output "scs.svg" +set output "scs.png" set xlabel "Evolution" set ylabel "Value of T" set title "SciColSim evolution Results" -plot "T.data" using 1 with lines lc rgb "green" +plot "T.data" using 1 with lines -set output "scs_loss.svg" +set output "scs_loss.png" set title "SciColSim evolution loss Results" set xlabel "Evolution" set ylabel "Value of loss(AR)" -plot "anneal.data" using 1 with lines lc rgb "green" +plot "anneal.data" using 1 with lines -set output "multiloss.svg" +set output "multiloss.png" set title "SciColSim evolution loss Results" set key auto set yrange [0:200] From ketan at ci.uchicago.edu Fri Feb 17 17:01:59 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 17 Feb 2012 17:01:59 -0600 (CST) Subject: [Swift-commit] r5648 - in SwiftApps/Cybershake: app etc swiftscripts Message-ID: <20120217230159.2CAD99CCC5@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-17 17:01:59 -0600 (Fri, 17 Feb 2012) New Revision: 5648 Added: SwiftApps/Cybershake/app/cybershake.rb SwiftApps/Cybershake/app/getrupture.rb SwiftApps/Cybershake/app/getsgtvar.rb SwiftApps/Cybershake/app/getsite.rb SwiftApps/Cybershake/app/getsub.rb SwiftApps/Cybershake/app/mk_catalog.rb SwiftApps/Cybershake/app/mk_catalog_coasters.rb SwiftApps/Cybershake/app/offset.rb SwiftApps/Cybershake/app/variation_mapper.rb SwiftApps/Cybershake/etc/cf SwiftApps/Cybershake/etc/cf.gridftp SwiftApps/Cybershake/etc/cf.ps SwiftApps/Cybershake/etc/fs.data SwiftApps/Cybershake/etc/sites-ranger.xml SwiftApps/Cybershake/etc/sites.grid-ps.xml SwiftApps/Cybershake/etc/sites.xml SwiftApps/Cybershake/etc/tc-fix.data SwiftApps/Cybershake/etc/tc-provider-staging SwiftApps/Cybershake/etc/tc-ranger.data SwiftApps/Cybershake/etc/tc.data SwiftApps/Cybershake/swiftscripts/postproc-gridftp.swift SwiftApps/Cybershake/swiftscripts/postproc.invalidpath.swift SwiftApps/Cybershake/swiftscripts/postproc.swift Log: Adding stuff to cybershake svn Added: SwiftApps/Cybershake/app/cybershake.rb =================================================================== --- SwiftApps/Cybershake/app/cybershake.rb (rev 0) +++ SwiftApps/Cybershake/app/cybershake.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,85 @@ +#!/home/ketan/ruby-install/bin/ruby + +require 'active_record' +require 'logger' + +ActiveRecord::Base.establish_connection( + :adapter => "mysql", + :database => "CyberShake", + :host => "focal.usc.edu", + :username => "cybershk_ro", + :password => "CyberShake2007" +) +#ActiveRecord::Base.logger = Logger.new(STDERR) +require 'composite_primary_keys' + +class Site < ActiveRecord::Base + set_table_name "CyberShake_Sites" + set_primary_key "CS_Site_ID" + + def name + read_attribute(:CS_Short_Name) + end + + def lat + read_attribute(:CS_Site_Lat) + end + + def lon + read_attribute(:CS_Site_Lon) + end +end + +class Run < ActiveRecord::Base + set_table_name "CyberShake_Runs" + set_primary_keys "Site_ID", "ERF_ID" + belongs_to :site, :foreign_key => "Site_ID" + has_many :ruptures, :foreign_key => ["CS_Site_ID", "ERF_ID"] + + def erf + read_attribute(:ERF_ID) + end + + def variation_scenario + read_attribute(:Rup_Var_Scenario_ID) + end +end + +class Rupture < ActiveRecord::Base + set_table_name "CyberShake_Site_Ruptures" + + def source + read_attribute(:Source_ID) + end + + def index + read_attribute(:Rupture_ID) + end +end + +class Variation < ActiveRecord::Base + set_table_name "Rupture_Variations" + set_primary_key "Rup_Var_ID" + + def self.digest + Digest::MD5.hexdigest(self.to_s).to_s + end + + def self.columns=(cached_columns) + @cached_columns= cached_columns + def self.columns + @cached_columns + end + @cached_columns + end +end +require 'memcached' +require 'digest/md5' +cache = Memcached.new +begin + Variation.columns = cache.get(Variation.digest) +rescue Memcached::NotFound + Variation.columns + cache.set(Variation.digest, Variation.columns) +end +cache = nil Property changes on: SwiftApps/Cybershake/app/cybershake.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/getrupture.rb =================================================================== --- SwiftApps/Cybershake/app/getrupture.rb (rev 0) +++ SwiftApps/Cybershake/app/getrupture.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,43 @@ +#!/home/ketan/ruby-install/bin/ruby + +$LOAD_PATH << "/scratch/local/ketan/cybershake" +require 'cybershake' +require 'memcached' +require 'digest/md5' + +runid = ARGV[0].to_i +x = Run.find_by_Run_ID(runid) +puts "source index size" + +digest = Digest::MD5.hexdigest(x.to_yaml).to_s +cache = Memcached.new + +begin + x.ruptures = cache.get(digest) +rescue Memcached::NotFound + x.ruptures + cache.set(digest, x.ruptures) +end + +x.ruptures.each { |rup| + options = {} + options[:erf] = x.erf + options[:variation_scenario] = x.variation_scenario + options[:source] = rup.source + options[:rupture] = rup.index + digest = Digest::MD5.hexdigest(options.to_s).to_s + + begin + variations = cache.get(digest) + rescue Memcached::NotFound + variations = Variation.find(:all, :conditions => { + :Rup_Var_Scenario_ID => options[:variation_scenario], + :ERF_ID => options[:erf], + :Source_ID => options[:source], :Rupture_ID => options[:rupture] }, + :order => "Rup_Var_ID") + cache.set(digest, variations) + end + len = variations.size + puts "#{rup.source} #{rup.index} #{len}" +} + Property changes on: SwiftApps/Cybershake/app/getrupture.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/getsgtvar.rb =================================================================== --- SwiftApps/Cybershake/app/getsgtvar.rb (rev 0) +++ SwiftApps/Cybershake/app/getsgtvar.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,18 @@ +#!/home/ketan/ruby-install/bin/ruby + +require 'optparse' + +options = {} +OptionParser.new do |opts| + opts.on("-r", "-runid") { |v| options[:runid] = v} + opts.on("-l", "-location") { |v| options[:location] = v} + opts.on("-s", "-sitename") { |v| options[:sitename] = v} +end.parse! + +if options[:location] == "NA" then + puts "x #{options[:sitename]}/#{options[:sitename]}_fx_#{options[:runid]}.sgt" + puts "y #{options[:sitename]}/#{options[:sitename]}_fy_#{options[:runid]}.sgt" +else + puts "x #{options[:location]}/#{options[:sitename]}/#{options[:sitename]}_fx_#{options[:runid]}.sgt" + puts "y #{options[:location]}/#{options[:sitename]}/#{options[:sitename]}_fy_#{options[:runid]}.sgt" +end Property changes on: SwiftApps/Cybershake/app/getsgtvar.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/getsite.rb =================================================================== --- SwiftApps/Cybershake/app/getsite.rb (rev 0) +++ SwiftApps/Cybershake/app/getsite.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,26 @@ +#!/home/ketan/ruby-install/bin/ruby + +$LOAD_PATH << "/scratch/local/ketan/cybershake" +require 'cybershake' +require 'memcached' +require 'digest/md5' + +cache = Memcached.new + +runid = ARGV[0].to_i +x = nil +begin + x = cache.get(runid.to_s) +rescue Memcached::NotFound + x = Run.find_by_Run_ID(runid) + cache.set(runid.to_s, x) +end +digest = Digest::MD5.hexdigest(x.to_yaml).to_s + "site" +begin + x.site = cache.get(digest) +rescue Memcached::NotFound + x.site + cache.set(digest,x.site) +end +puts "name lat lon erf variation_scenario" +puts "#{x.site.name} #{x.site.lat} #{x.site.lon} #{x.erf} #{x.variation_scenario}" Property changes on: SwiftApps/Cybershake/app/getsite.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/getsub.rb =================================================================== --- SwiftApps/Cybershake/app/getsub.rb (rev 0) +++ SwiftApps/Cybershake/app/getsub.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,15 @@ +#!/home/ketan/ruby-install/bin/ruby + +require 'optparse' + +options = {} +OptionParser.new do |opts| + opts.on("-l", "-location") { |v| options[:location] = v} + opts.on("-n", "-sitename") { |v| options[:sitename] = v} + opts.on("-s", "-source") { |v| options[:source] = v} + opts.on("-r", "-rupture") { |v| options[:rupture] = v} +end.parse! + +puts "x #{options[:location]}/#{options[:sitename]}_#{options[:source]}_#{options[:rupture]}_subfx.sgt" +puts "y #{options[:location]}/#{options[:sitename]}_#{options[:source]}_#{options[:rupture]}_subfy.sgt" + Property changes on: SwiftApps/Cybershake/app/getsub.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/mk_catalog.rb =================================================================== --- SwiftApps/Cybershake/app/mk_catalog.rb (rev 0) +++ SwiftApps/Cybershake/app/mk_catalog.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,206 @@ +#!/home/ketan/ruby-install/bin/ruby + +require 'erb' +require 'ostruct' + +# File: mk_catalog.rb +# Description: Generates sites.xml and tc.data for the cybershake workflow + +# starting ports for the templates +coaster_service = 65000 +worker_service = 64000 + +swift_tc = %q[ +# Utility apps +localhost getsite /home/aespinosa/workflows/cybershake/getsite.rb INSTALLED INTEL32::LINUX null +localhost getrupture /home/aespinosa/workflows/cybershake/getrupture.rb INSTALLED INTEL32::LINUX null +localhost variation_mapper /home/aespinosa/workflows/cybershake/variation_mapper.rb INSTALLED INTEL32::LINUX null +localhost mkoffset /home/aespinosa/workflows/cybershake/offset.rb INSTALLED INTEL32::LINUX null + +# PADS +PADS extract /gpfs/pads/swift/aespinosa/science/cybershake/apps/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +PADS seispeak_local /home/aespinosa/Documents/cybershake/post/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" + + +<% ctr = 0 + sites.each_key do |name| + jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> +<%= name %> seismogram <%= app_dir %>/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +<%= name %> surfeis_rspectra <%= app_dir %>/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +<%= name %> seispeak <%= app_dir %>/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +<%= name %> seispeak_agg <%= app_dir %>/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" +<% ctr += 1 + end %> +] + +coaster_sites = %q[ + + + + + /var/tmp + 0.20 + + + + + + passive + + 10000.0 + 3.66 + + 36 + + + /gpfs/pads/swift/aespinosa/swift-runs + +<% ctr = 0 + sites.each_key do |name| + jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> + + + + + passive + + 10000 + <%=throttle%> + 16 + + <%=data_dir%>/swift_scratch + +<% ctr += 1 + end %> + +] + +condor_sites = %q[ + + + + + /var/tmp + 0.20 + + + + + + passive + + 10000.0 + 3.66 + + 36 + + + /gpfs/pads/swift/aespinosa/swift-runs + +<% ctr = 0 + sites.each_key do |name| + jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> + + + + + grid + gt2 <%=url%>/jobmanager-<%=jm%> + + 20.0 + <%=throttle%> + <% if name =~ /FNAL_FERMIGRID/ %> + GlueHostOperatingSystemRelease =?= "5.3" && GlueSubClusterName =!= GlueClusterName + <% end %> + + + <%=data_dir%>/swift_scratch + +<% ctr += 1 + end %> + +] + +def ress_query(class_ads) + cmd = "condor_status -pool engage-central.renci.org" + class_ads[0..-2].each do |class_ad| + cmd << " -format \"%s|\" #{class_ad}" + end + cmd << " -format \"%s\\n\" #{class_ads[-1]}" + `#{cmd}` +end + +def ress_parse + dir_suffix = "/engage/scec" + class_ads = [ + "GlueSiteUniqueID", "GlueCEInfoHostName", "GlueCEInfoJobManager", + "GlueCEInfoGatekeeperPort", "GlueCEInfoApplicationDir", "GlueCEInfoDataDir", + "GlueCEInfoTotalCPUs" + ] + ress_query(class_ads).each_line do |line| + line.chomp! + next if line == "" + set = line.split("|") + + value = OpenStruct.new + + value.jm = set[class_ads.index("GlueCEInfoJobManager")] + value.url = set[class_ads.index("GlueCEInfoHostName")] + value.total = set[class_ads.index("GlueCEInfoTotalCPUs")].to_i + next if value.total == 999999 + value.throttle = (value.total.to_f - 2.0) / 100.0 + name = set[class_ads.index("GlueSiteUniqueID")] + "__" + value.url + + value.app_dir = set[class_ads.index("GlueCEInfoApplicationDir")] + value.app_dir.sub!(/\/$/, "") + value.data_dir = set[class_ads.index("GlueCEInfoDataDir")] + value.data_dir.sub!(/\/$/, "") + + value.app_dir += dir_suffix + value.data_dir += dir_suffix + + # Hard-wired exceptions + value.app_dir = "/osg/app" if name =~ /GridUNESP_CENTRAL/ + value.data_dir = "/osg/data" if name =~ /GridUNESP_CENTRAL/ + value.app_dir.sub!(dir_suffix, "/engage-scec") if name =~ /BNL-ATLAS/ + value.data_dir.sub!(dir_suffix, "/engage-scec") if name =~ /BNL-ATLAS/ + + yield name, value + end +end + +def dump(file, template, binding) + file_out = File.open(file, "w") + file_out.puts ERB.new(template, 0, "%<>").result(binding) + file_out.close +end + +# Non-working sites +blacklist = [] +# Only these sites +whitelist = IO.readlines(ARGV[0]).map { |line| line.chomp } + +# Removes duplicate site entries (i.e. multilpe GRAM endpoints) +sites = {} +ress_parse do |name, value| + next if blacklist.index(name) and not blacklist.empty? + next if not whitelist.index(name) and not whitelist.empty? + sites[name] = value if sites[name] == nil +end + +dump("coaster_osg.xml", coaster_sites, binding) +dump("condor_osg.xml", condor_sites, binding) +dump("tc.data", swift_tc, binding) Property changes on: SwiftApps/Cybershake/app/mk_catalog.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/mk_catalog_coasters.rb =================================================================== --- SwiftApps/Cybershake/app/mk_catalog_coasters.rb (rev 0) +++ SwiftApps/Cybershake/app/mk_catalog_coasters.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,272 @@ +#!/home/ketan/ruby-install/bin/ruby + +require 'erb' +require 'ostruct' + +# starting ports for the templates +coaster_service = 65000 +worker_service = 64000 + +swift_workflow = %q[ +<% ctr = 0 + sites.keys.sort.each do |name| + jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> +app (external o) worker<%= ctr %>() { +/* worker<%= ctr %> "http://128.135.125.17:<%= worker_service + ctr %>" "<%= name %>" "/tmp" "14400"; */ + sleep<%= ctr %> "14400"; +} + +external rups<%= ctr %>[]; +int arr<%= ctr %>[]; +iterate i{ + arr<%= ctr %>[i] = i; +} until (i == <%= ((throttle * 100 + 2) * 2.5).to_i %>); + +foreach a,i in arr<%= ctr %> { + rups<%= ctr %>[i] = worker<%= ctr %>(); +} + +<% ctr += 1 + end %> +] + +slave_workflow = %q[ +int t = 0; + +app (external o) sleep_pads(int time) { + sleep_pads time; +} +external o_pads; +o_pads = sleep_pads(t); + +<% ctr = 0 + sites.keys.sort.each do |name| + jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> +app (external o) sleep<%= ctr %>(int time) { + sleep<%= ctr %> time; +} + +external o<%=ctr%>; +o<%=ctr%> = sleep<%=ctr%>(t); + +<% ctr += 1 + end %> + +] + +swift_tc = %q[ +PADS sleep_pads /bin/sleep INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +<% ctr = 0 + sites.keys.sort.each do |name| + jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> +<%=name%> worker<%= ctr %> <%=app_dir%>/worker.pl INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" +<%=name%> sleep<%= ctr %> /bin/sleep INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +<%=name%> sleep /bin/sleep INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +<% ctr += 1 + end %> +] + +condor_sites = %q[ + +<% sites.keys.sort.each do |name| %> +<% jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> + + + + + grid + gt2 <%=url%>/jobmanager-<%=jm%> + + 20.0 + <%=throttle%> + <% if name =~ /FNAL_FERMIGRID/ %> + GlueHostOperatingSystemRelease =?= "5.3" && GlueSubClusterName =!= GlueClusterName + <% end %> + + + <%=data_dir%>/swift_scratch + +<% end %> + +] + +# GT2 for installing the workers +gt2_sites = %q[ + +<% sites.keys.sort.each do |name| %> +<% jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle %> + + + + + + <%= data_dir %>/swift_scratch + <%= app_dir %> + +<% end %> + +] + +coaster_sites = %q[ + + + + + passive + + 10000.0 + 3.66 + + 36 + + + /gpfs/pads/swift/aespinosa/swift-runs + +<% ctr = 0 + sites.keys.sort.each do |name| + jm = sites[name].jm + url = sites[name].url + app_dir = sites[name].app_dir + data_dir = sites[name].data_dir + throttle = sites[name].throttle + total = sites[name].total %> + + + + + passive + + 20.0 + + <%=throttle%> + + 36 + + + + /var/tmp/swift_scratch + +<% ctr += 1 + end %> + +] + +def ress_query(class_ads) + cmd = "condor_status -pool engage-central.renci.org" + class_ads[0..-2].each do |class_ad| + cmd << " -format \"%s|\" #{class_ad}" + end + cmd << " -format \"%s\\n\" #{class_ads[-1]}" + `#{cmd}` +end + +def ress_parse(app_name) + dir_suffix = "/engage/#{app_name}" + class_ads = [ + "GlueSiteUniqueID", "GlueCEInfoHostName", "GlueCEInfoJobManager", + "GlueCEInfoGatekeeperPort", "GlueCEInfoApplicationDir", "GlueCEInfoDataDir", + "GlueCEInfoTotalCPUs" + ] + ress_query(class_ads).each_line do |line| + line.chomp! + next if line == "" + set = line.split("|") + + value = OpenStruct.new + + value.jm = set[class_ads.index("GlueCEInfoJobManager")] + value.url = set[class_ads.index("GlueCEInfoHostName")] + value.total = set[class_ads.index("GlueCEInfoTotalCPUs")].to_i + next if value.total == 999999 + value.throttle = (value.total.to_f - 2.0) / 100.0 + name = set[class_ads.index("GlueSiteUniqueID")] + "__" + value.url + value.name = set[class_ads.index("GlueSiteUniqueID")] + + value.app_dir = set[class_ads.index("GlueCEInfoApplicationDir")] + value.app_dir.sub!(/\/$/, "") + value.data_dir = set[class_ads.index("GlueCEInfoDataDir")] + value.data_dir.sub!(/\/$/, "") + + value.app_dir += dir_suffix + value.data_dir += dir_suffix + + # Hard-wired exceptions + value.app_dir = "/osg/app/engage/#{app_name}" if name =~ /GridUNESP_CENTRAL/ + value.data_dir = "/osg/data/engage/#{app_name}" if name =~ /GridUNESP_CENTRAL/ + value.app_dir.sub!(dir_suffix, "/engage-#{app_name}") if name =~ /BNL-ATLAS/ + value.data_dir.sub!(dir_suffix, "/engage-#{app_name}") if name =~ /BNL-ATLAS/ + + yield name, value + end +end + +if __FILE__ == $0 then + raise "No whitelist file" if !ARGV[0] + + # Blacklist of non-working sites + blacklist = [] + ARGV[1] = "scec" if !ARGV[1] + whitelist = IO.readlines(ARGV[0]).map { |line| line.chomp! } + + # Removes duplicate site entries (i.e. multilpe GRAM endpoints) + sites = {} + ress_parse(ARGV[1]) do |name, value| + next if blacklist.index(name) and not blacklist.empty? + next if not whitelist.index(name) and not whitelist.empty? + sites[name] = value if sites[name] == nil + end + + condor_out = File.open("condor_osg.xml", "w") + gt2_out = File.open("gt2_osg.xml", "w") + coaster_out = File.open("coaster_osg.xml", "w") + + tc_out = File.open("tc.data", "w") + workflow_out = File.open("worker.swift", "w") + slave_out = File.open("slave.swift", "w") + + condor = ERB.new(condor_sites, 0, "%<>") + gt2 = ERB.new(gt2_sites, 0, "%<>") + coaster = ERB.new(coaster_sites, 0, "%<>") + + tc = ERB.new(swift_tc, 0, "%<>") + workflow = ERB.new(swift_workflow, 0, "%<>") + slave = ERB.new(slave_workflow, 0, "%<>") + + condor_out.puts condor.result(binding) + gt2_out.puts gt2.result(binding) + coaster_out.puts coaster.result(binding) + + tc_out.puts tc.result(binding) + workflow_out.puts workflow.result(binding) + slave_out.puts slave.result(binding) + + condor_out.close + gt2_out.close + coaster_out.close + + tc_out.close + workflow_out.close + slave_out.close +end Property changes on: SwiftApps/Cybershake/app/mk_catalog_coasters.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/offset.rb =================================================================== --- SwiftApps/Cybershake/app/offset.rb (rev 0) +++ SwiftApps/Cybershake/app/offset.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,9 @@ +#!/home/ketan/ruby-install/bin/ruby + +size = ARGV[0].to_i +group_size = ARGV[1].to_i # 60 +puts "off size" +for offset in 0..(size / group_size) + laki = [size - offset * group_size, group_size].min + puts "#{offset * group_size} #{laki}" +end Property changes on: SwiftApps/Cybershake/app/offset.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/variation_mapper.rb =================================================================== --- SwiftApps/Cybershake/app/variation_mapper.rb (rev 0) +++ SwiftApps/Cybershake/app/variation_mapper.rb 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,34 @@ +#!/home/ketan/ruby-install/bin/ruby + +$: << "/scratch/local/ketan/cybershake" +require 'cybershake' +require 'optparse' +require 'memcached' +require 'digest/md5' + +options = {} +OptionParser.new do |opts| + opts.on("-e", "-erf") { |v| options[:erf] = v.to_i} + opts.on("-v", "-var_scen") { |v| options[:variation_scenario] = v.to_i} + opts.on("-s", "-source") { |v| options[:source] = v.to_i} + opts.on("-r", "-rupture") { |v| options[:rupture] = v.to_i} + opts.on("-l", "-location") { |v| options[:location] = v } +end.parse! + +cache = Memcached.new +digest = Digest::MD5.hexdigest(options.to_s).to_s + +begin + variations = cache.get(digest) +rescue Memcached::NotFound + variations = Variation.find(:all, :conditions => { + :Rup_Var_Scenario_ID => options[:variation_scenario], + :ERF_ID => options[:erf], + :Source_ID => options[:source], :Rupture_ID => options[:rupture] }, + :order => "Rup_Var_ID") + cache.set(digest, variations) +end +location = options[:location] +variations.each do |var| + puts "#{location}/#{options[:source]}/#{options[:rupture]}/#{var.Rup_Var_LFN.sub(/e35_rv3_/,'')}" +end Property changes on: SwiftApps/Cybershake/app/variation_mapper.rb ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/etc/cf =================================================================== --- SwiftApps/Cybershake/etc/cf (rev 0) +++ SwiftApps/Cybershake/etc/cf 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,14 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=1 +lazy.errors=false +#status.mode=provider +status.mode=file +use.provider.staging=false +provider.staging.pin.swiftfiles=false +#clustering.enabled=false +#clustering.queue.delay=10 +#clustering.min.time=86400 +foreach.max.threads=100 +provenance.log=false + Added: SwiftApps/Cybershake/etc/cf.gridftp =================================================================== --- SwiftApps/Cybershake/etc/cf.gridftp (rev 0) +++ SwiftApps/Cybershake/etc/cf.gridftp 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,11 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=5 +lazy.errors=true +status.mode=file +use.provider.staging=false +provider.staging.pin.swiftfiles=false +foreach.max.threads=200 +replication.enabled=true +replication.min.queue.time=7200 +replication.limit=8 Added: SwiftApps/Cybershake/etc/cf.ps =================================================================== --- SwiftApps/Cybershake/etc/cf.ps (rev 0) +++ SwiftApps/Cybershake/etc/cf.ps 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,8 @@ +wrapperlog.always.transfer=false +sitedir.keep=true +execution.retries=0 +lazy.errors=true +status.mode=provider +use.provider.staging=true +provider.staging.pin.swiftfiles=false +foreach.max.threads=40 Added: SwiftApps/Cybershake/etc/fs.data =================================================================== --- SwiftApps/Cybershake/etc/fs.data (rev 0) +++ SwiftApps/Cybershake/etc/fs.data 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,7 @@ +rule .*TEST_f[x|y]_644.sgt DIRECT / +#rule TEST_fx_644.sgt DIRECT / +#rule TEST_fy_644.sgt DIRECT / +rule .*LGU_f[x|y]_664.sgt DIRECT / +#rule .*LGU.*subf[x|y].sgt DIRECT / +#rule .*[0-9]+/[0-9]+/.*.txt.variation.* DIRECT / +#rule .* DEFAULT Added: SwiftApps/Cybershake/etc/sites-ranger.xml =================================================================== --- SwiftApps/Cybershake/etc/sites-ranger.xml (rev 0) +++ SwiftApps/Cybershake/etc/sites-ranger.xml 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,21 @@ + + + + passive + 16 + 1.27 + 10000 + + + proxy + /tmp/ketan + + + + + + /var/tmp + 0.20 + + + Added: SwiftApps/Cybershake/etc/sites.grid-ps.xml =================================================================== --- SwiftApps/Cybershake/etc/sites.grid-ps.xml (rev 0) +++ SwiftApps/Cybershake/etc/sites.grid-ps.xml 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,36 @@ + + + + + + passive + 4 + 1.99 + 10000 + + proxy + DEBUG + /home/ketan/swift.workdir + + + + + passive + 1 + .08 + 10000 + + DEBUG + proxy + /scratch/local/ketan/swift.workdir + + Added: SwiftApps/Cybershake/etc/sites.xml =================================================================== --- SwiftApps/Cybershake/etc/sites.xml (rev 0) +++ SwiftApps/Cybershake/etc/sites.xml 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,8 @@ + + + + + /scratch/local/ketan/swift.workdir + 0.09 + + Added: SwiftApps/Cybershake/etc/tc-fix.data =================================================================== --- SwiftApps/Cybershake/etc/tc-fix.data (rev 0) +++ SwiftApps/Cybershake/etc/tc-fix.data 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,126 @@ +# Utility apps +localhost getsite /home/aespinosa/workflows/cybershake/getsite.rb INSTALLED INTEL32::LINUX null +localhost getrupture /home/aespinosa/workflows/cybershake/getrupture.rb INSTALLED INTEL32::LINUX null +localhost variation_mapper /home/aespinosa/workflows/cybershake/variation_mapper.rb INSTALLED INTEL32::LINUX null +localhost mkoffset /home/aespinosa/workflows/cybershake/offset.rb INSTALLED INTEL32::LINUX null +#localhost extract /home/ketan/osg-tg-effort/cybershake/apps/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX null +#localhost seispeak_local /home/ketan/osg-tg-effort/cybershake/seispeak.sh INSTALLED INTEL32::LINUX null + +RANGER extract /share/home/01035/tg802895/science/cybershake/pp/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:15:00" +RANGER seispeak_local /work/01739/ketan/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:30:00" +#RANGER mkoffset /work/01739/ketan/scec/offset.rb INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +#RANGER variation_mapper /work/01739/ketan/scec/variation_mapper.rb INSTALLED INTEL32::LINUX null +#RANGER getsite /work/01739/ketan/scec/getsite.rb INSTALLED INTEL32::LINUX null +#RANGER getrupture /work/01739/ketan/scec/getrupture.rb INSTALLED INTEL32::LINUX null + + +AGLT2__gate02.grid.umich.edu seismogram /atlas/data08/OSG/APP/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +AGLT2__gate02.grid.umich.edu surfeis_rspectra /atlas/data08/OSG/APP/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +AGLT2__gate02.grid.umich.edu seispeak /atlas/data08/OSG/APP/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +AGLT2__gate02.grid.umich.edu seispeak_agg /atlas/data08/OSG/APP/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Clemson-Palmetto__osg-gw.clemson.edu seismogram /common1/osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Clemson-Palmetto__osg-gw.clemson.edu surfeis_rspectra /common1/osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Clemson-Palmetto__osg-gw.clemson.edu seispeak /common1/osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Clemson-Palmetto__osg-gw.clemson.edu seispeak_agg /common1/osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +FNAL_FERMIGRID__fermigridosg1.fnal.gov seismogram /grid/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +FNAL_FERMIGRID__fermigridosg1.fnal.gov surfeis_rspectra /grid/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +FNAL_FERMIGRID__fermigridosg1.fnal.gov seispeak /grid/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +FNAL_FERMIGRID__fermigridosg1.fnal.gov seispeak_agg /grid/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Firefly__ff-grid.unl.edu seismogram /panfs/panasas/CMS/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Firefly__ff-grid.unl.edu surfeis_rspectra /panfs/panasas/CMS/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Firefly__ff-grid.unl.edu seispeak /panfs/panasas/CMS/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Firefly__ff-grid.unl.edu seispeak_agg /panfs/panasas/CMS/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Firefly__ff-grid3.unl.edu seismogram /panfs/panasas/CMS/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Firefly__ff-grid3.unl.edu surfeis_rspectra /panfs/panasas/CMS/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Firefly__ff-grid3.unl.edu seispeak /panfs/panasas/CMS/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Firefly__ff-grid3.unl.edu seispeak_agg /panfs/panasas/CMS/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +GridUNESP_CENTRAL__ce.grid.unesp.br seismogram /osg/app/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_CENTRAL__ce.grid.unesp.br surfeis_rspectra /osg/app/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_CENTRAL__ce.grid.unesp.br seispeak /osg/app/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +GridUNESP_CENTRAL__ce.grid.unesp.br seispeak_agg /osg/app/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +GridUNESP_SPO__ce.spo.grid.unesp.br seismogram /osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_SPO__ce.spo.grid.unesp.br surfeis_rspectra /osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_SPO__ce.spo.grid.unesp.br seispeak /osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +GridUNESP_SPO__ce.spo.grid.unesp.br seispeak_agg /osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu seismogram /opt/osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu surfeis_rspectra /opt/osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu seispeak /opt/osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu seispeak_agg /opt/osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +MIT_CMS__ce02.cmsaf.mit.edu seismogram /osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MIT_CMS__ce02.cmsaf.mit.edu surfeis_rspectra /osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MIT_CMS__ce02.cmsaf.mit.edu seispeak /osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +MIT_CMS__ce02.cmsaf.mit.edu seispeak_agg /osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +MWT2_UC__uct2-grid6.uchicago.edu seismogram /osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2_UC__uct2-grid6.uchicago.edu surfeis_rspectra /osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2_UC__uct2-grid6.uchicago.edu seispeak /osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +MWT2_UC__uct2-grid6.uchicago.edu seispeak_agg /osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +MWT2__osg-gk.mwt2.org seismogram /osg/mwt2/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2__osg-gk.mwt2.org surfeis_rspectra /osg/mwt2/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2__osg-gk.mwt2.org seispeak /osg/mwt2/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +MWT2__osg-gk.mwt2.org seispeak_agg /osg/mwt2/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +OU_OSCER_ATLAS__grid1.oscer.ou.edu seismogram /home/gridapp/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +OU_OSCER_ATLAS__grid1.oscer.ou.edu surfeis_rspectra /home/gridapp/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +OU_OSCER_ATLAS__grid1.oscer.ou.edu seispeak /home/gridapp/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +OU_OSCER_ATLAS__grid1.oscer.ou.edu seispeak_agg /home/gridapp/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Purdue-RCAC__osg.rcac.purdue.edu seismogram /apps/osg/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-RCAC__osg.rcac.purdue.edu surfeis_rspectra /apps/osg/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-RCAC__osg.rcac.purdue.edu seispeak /apps/osg/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Purdue-RCAC__osg.rcac.purdue.edu seispeak_agg /apps/osg/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu seismogram /apps/osg/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu surfeis_rspectra /apps/osg/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu seispeak /apps/osg/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu seispeak_agg /apps/osg/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Purdue-Steele__lepton.rcac.purdue.edu seismogram /apps/osg/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-Steele__lepton.rcac.purdue.edu surfeis_rspectra /apps/osg/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-Steele__lepton.rcac.purdue.edu seispeak /apps/osg/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Purdue-Steele__lepton.rcac.purdue.edu seispeak_agg /apps/osg/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +RENCI-Engagement__belhaven-1.renci.org seismogram /nfs/osg-app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +RENCI-Engagement__belhaven-1.renci.org surfeis_rspectra /nfs/osg-app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +RENCI-Engagement__belhaven-1.renci.org seispeak /nfs/osg-app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +RENCI-Engagement__belhaven-1.renci.org seispeak_agg /nfs/osg-app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +SPRACE__osg-ce.sprace.org.br seismogram /osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +SPRACE__osg-ce.sprace.org.br surfeis_rspectra /osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +SPRACE__osg-ce.sprace.org.br seispeak /osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +SPRACE__osg-ce.sprace.org.br seispeak_agg /osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +UCR-HEP__top.ucr.edu seismogram /data/bottom/osg_app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +UCR-HEP__top.ucr.edu surfeis_rspectra /data/bottom/osg_app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +UCR-HEP__top.ucr.edu seispeak /data/bottom/osg_app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +UCR-HEP__top.ucr.edu seispeak_agg /data/bottom/osg_app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +UMissHEP__umiss001.hep.olemiss.edu seismogram /osgremote/osg_app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +UMissHEP__umiss001.hep.olemiss.edu surfeis_rspectra /osgremote/osg_app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +UMissHEP__umiss001.hep.olemiss.edu seispeak /osgremote/osg_app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +UMissHEP__umiss001.hep.olemiss.edu seispeak_agg /osgremote/osg_app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +USCMS-FNAL-WC1__cmsosgce3.fnal.gov seismogram /uscms_grid/osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +USCMS-FNAL-WC1__cmsosgce3.fnal.gov surfeis_rspectra /uscms_grid/osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +USCMS-FNAL-WC1__cmsosgce3.fnal.gov seispeak /uscms_grid/osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +USCMS-FNAL-WC1__cmsosgce3.fnal.gov seispeak_agg /uscms_grid/osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Vanderbilt__ce1.accre.vanderbilt.edu seismogram /home/grid-app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Vanderbilt__ce1.accre.vanderbilt.edu surfeis_rspectra /home/grid-app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Vanderbilt__ce1.accre.vanderbilt.edu seispeak /home/grid-app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Vanderbilt__ce1.accre.vanderbilt.edu seispeak_agg /home/grid-app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +WQCG-Harvard-OSG__tuscany.med.harvard.edu seismogram /osg/storage/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +WQCG-Harvard-OSG__tuscany.med.harvard.edu surfeis_rspectra /osg/storage/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +WQCG-Harvard-OSG__tuscany.med.harvard.edu seispeak /osg/storage/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +WQCG-Harvard-OSG__tuscany.med.harvard.edu seispeak_agg /osg/storage/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + Added: SwiftApps/Cybershake/etc/tc-provider-staging =================================================================== --- SwiftApps/Cybershake/etc/tc-provider-staging (rev 0) +++ SwiftApps/Cybershake/etc/tc-provider-staging 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,29 @@ +# Utility apps +# +#localhost cat /bin/cat null null null +mcs cat /bin/cat null null null +localhost getsite /scratch/local/ketan/cybershake/getsite.rb null null null +localhost getrupture /scratch/local/ketan/cybershake/getrupture.rb null null null +localhost variation_mapper /scratch/local/ketan/cybershake/variation_mapper.rb null null null +localhost mkoffset /scratch/local/ketan/cybershake/offset.rb null null null +localhost extract /scratch/local/ketan/cybershake/apps/JBSim3d/bin/jbsim3d null null null +localhost seispeak_local /scratch/local/ketan/cybershake/seispeak.sh null null null + +#localhost getsite /home/aespinosa/workflows/cybershake/getsite.rb INSTALLED INTEL32::LINUX null +#localhost getrupture /home/aespinosa/workflows/cybershake/getrupture.rb INSTALLED INTEL32::LINUX null +#localhost variation_mapper /home/aespinosa/workflows/cybershake/variation_mapper.rb INSTALLED INTEL32::LINUX null +#localhost mkoffset /home/aespinosa/workflows/cybershake/offset.rb INSTALLED INTEL32::LINUX null +#localhost extract /home/ketan/osg-tg-effort/cybershake/apps/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX null +#localhost seispeak_local /home/ketan/osg-tg-effort/cybershake/seispeak.sh INSTALLED INTEL32::LINUX null + +grid seismogram JBSim3d/bin/jbsim3d null null null +grid surfeis_rspectra SpectralAcceleration/p2utils/surfseis_rspectra null null null +grid seispeak seispeak.sh null null null +grid seispeak_agg agg_seispeak.sh null null null + + +mcs seismogram /home/ketan/cybershake/post/JBSim3d/bin/jbsim3d null null null +mcs surfeis_rspectra /home/ketan/cybershake/post/SpectralAcceleration/p2utils/surfseis_rspectra null null null +mcs seispeak /home/ketan/cybershake/post/seispeak.sh null null null +mcs seispeak_agg /home/ketan/cybershake/post/agg_seispeak.sh null null null + Added: SwiftApps/Cybershake/etc/tc-ranger.data =================================================================== --- SwiftApps/Cybershake/etc/tc-ranger.data (rev 0) +++ SwiftApps/Cybershake/etc/tc-ranger.data 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,27 @@ + +# Utility apps +localhost getsite /home/aespinosa/workflows/cybershake/getsite.rb INSTALLED INTEL32::LINUX null +localhost getrupture /home/aespinosa/workflows/cybershake/getrupture.rb INSTALLED INTEL32::LINUX null +localhost variation_mapper /home/aespinosa/workflows/cybershake/variation_mapper.rb INSTALLED INTEL32::LINUX null +localhost mkoffset /home/aespinosa/workflows/cybershake/offset.rb INSTALLED INTEL32::LINUX null + +# PADS +#localhost extract /home/ketan/osg-tg-effort/cybershake/apps/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +#localhost seispeak_local /home/aespinosa/Documents/cybershake/post/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" + +#jbsim3d on ranger /share/home/01035/tg802895/science/cybershake/pp/JBSim3d/bin/jbsim3d +RANGER extract /share/home/01035/tg802895/science/cybershake/pp/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +RANGER seispeak_local /work/01739/ketan/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" + +RANGER seismogram /share/home/01035/tg802895/science/cybershake/pp/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +RANGER seispeak /work/01739/ketan/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +RANGER surfeis_rspectra /share/home/01035/tg802895/science/cybershake/pp/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +RANGER seispeak_agg /work/01739/ketan/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + + +#RANGER getsite /work/01739/ketan/scec/getsite.rb INSTALLED INTEL32::LINUX null +#RANGER getrupture /work/01739/ketan/scec/getrupture.rb INSTALLED INTEL32::LINUX null +#RANGER variation_mapper /work/01739/ketan/scec/variation_mapper.rb INSTALLED INTEL32::LINUX null +#RANGER mkoffset /work/01739/ketan/scec/offset.rb INSTALLED INTEL32::LINUX null + + Added: SwiftApps/Cybershake/etc/tc.data =================================================================== --- SwiftApps/Cybershake/etc/tc.data (rev 0) +++ SwiftApps/Cybershake/etc/tc.data 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,93 @@ +localhost getsite /scratch/local/ketan/cybershake/getsite.rb +localhost getrupture /scratch/local/ketan/cybershake/getrupture.rb +localhost variation_mapper /scratch/local/ketan/cybershake/variation_mapper.rb +localhost mkoffset /scratch/local/ketan/cybershake/offset.rb +localhost extract /scratch/local/ketan/cybershake/apps/JBSim3d/bin/jbsim3d +localhost seispeak_local /scratch/local/ketan/cybershake/seispeak.sh + + +AGLT2__gate02.grid.umich.edu seismogram /atlas/data08/OSG/APP/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +AGLT2__gate02.grid.umich.edu surfeis_rspectra /atlas/data08/OSG/APP/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +AGLT2__gate02.grid.umich.edu seispeak /atlas/data08/OSG/APP/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +AGLT2__gate02.grid.umich.edu seispeak_agg /atlas/data08/OSG/APP/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +CIT_CMS_T2__cit-gatekeeper.ultralight.org seismogram /raid1/osg-app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +CIT_CMS_T2__cit-gatekeeper.ultralight.org surfeis_rspectra /raid1/osg-app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +CIT_CMS_T2__cit-gatekeeper.ultralight.org seispeak /raid1/osg-app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +CIT_CMS_T2__cit-gatekeeper.ultralight.org seispeak_agg /raid1/osg-app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +CIT_CMS_T2__cit-gatekeeper2.ultralight.org seismogram /raid1/osg-app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +CIT_CMS_T2__cit-gatekeeper2.ultralight.org surfeis_rspectra /raid1/osg-app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +CIT_CMS_T2__cit-gatekeeper2.ultralight.org seispeak /raid1/osg-app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +CIT_CMS_T2__cit-gatekeeper2.ultralight.org seispeak_agg /raid1/osg-app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Clemson-Palmetto__osg-gw.clemson.edu seismogram /common1/osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Clemson-Palmetto__osg-gw.clemson.edu surfeis_rspectra /common1/osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Clemson-Palmetto__osg-gw.clemson.edu seispeak /common1/osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Clemson-Palmetto__osg-gw.clemson.edu seispeak_agg /common1/osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +FNAL_FERMIGRID__fermigridosg1.fnal.gov seismogram /grid/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +FNAL_FERMIGRID__fermigridosg1.fnal.gov surfeis_rspectra /grid/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +FNAL_FERMIGRID__fermigridosg1.fnal.gov seispeak /grid/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +FNAL_FERMIGRID__fermigridosg1.fnal.gov seispeak_agg /grid/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +FNAL_GPGRID_1__fnpcosg1.fnal.gov seismogram /grid/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +FNAL_GPGRID_1__fnpcosg1.fnal.gov surfeis_rspectra /grid/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +FNAL_GPGRID_1__fnpcosg1.fnal.gov seispeak /grid/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +FNAL_GPGRID_1__fnpcosg1.fnal.gov seispeak_agg /grid/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +GridUNESP_CENTRAL__ce.grid.unesp.br seismogram /osg/app/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_CENTRAL__ce.grid.unesp.br surfeis_rspectra /osg/app/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_CENTRAL__ce.grid.unesp.br seispeak /osg/app/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +GridUNESP_CENTRAL__ce.grid.unesp.br seispeak_agg /osg/app/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +GridUNESP_SPO__ce.spo.grid.unesp.br seismogram /osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_SPO__ce.spo.grid.unesp.br surfeis_rspectra /osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +GridUNESP_SPO__ce.spo.grid.unesp.br seispeak /osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +GridUNESP_SPO__ce.spo.grid.unesp.br seispeak_agg /osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu seismogram /opt/osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu surfeis_rspectra /opt/osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu seispeak /opt/osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +LIGO_UWM_NEMO__osg-nemo-ce.phys.uwm.edu seispeak_agg /opt/osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +MWT2_UC__uct2-grid6.uchicago.edu seismogram /osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2_UC__uct2-grid6.uchicago.edu surfeis_rspectra /osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2_UC__uct2-grid6.uchicago.edu seispeak /osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +MWT2_UC__uct2-grid6.uchicago.edu seispeak_agg /osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +MWT2__osg-gk.mwt2.org seismogram /osg/mwt2/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2__osg-gk.mwt2.org surfeis_rspectra /osg/mwt2/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +MWT2__osg-gk.mwt2.org seispeak /osg/mwt2/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +MWT2__osg-gk.mwt2.org seispeak_agg /osg/mwt2/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +OU_OSCER_ATLAS__grid1.oscer.ou.edu seismogram /home/gridapp/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +OU_OSCER_ATLAS__grid1.oscer.ou.edu surfeis_rspectra /home/gridapp/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +OU_OSCER_ATLAS__grid1.oscer.ou.edu seispeak /home/gridapp/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +OU_OSCER_ATLAS__grid1.oscer.ou.edu seispeak_agg /home/gridapp/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu seismogram /apps/osg/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu surfeis_rspectra /apps/osg/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu seispeak /apps/osg/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Purdue-Rossmann__rossmann-osg.rcac.purdue.edu seispeak_agg /apps/osg/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +RENCI-Engagement__belhaven-1.renci.org seismogram /nfs/osg-app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +RENCI-Engagement__belhaven-1.renci.org surfeis_rspectra /nfs/osg-app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +RENCI-Engagement__belhaven-1.renci.org seispeak /nfs/osg-app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +RENCI-Engagement__belhaven-1.renci.org seispeak_agg /nfs/osg-app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +SPRACE__osg-ce.sprace.org.br seismogram /osg/app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +SPRACE__osg-ce.sprace.org.br surfeis_rspectra /osg/app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +SPRACE__osg-ce.sprace.org.br seispeak /osg/app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +SPRACE__osg-ce.sprace.org.br seispeak_agg /osg/app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +UMissHEP__umiss001.hep.olemiss.edu seismogram /osgremote/osg_app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +UMissHEP__umiss001.hep.olemiss.edu surfeis_rspectra /osgremote/osg_app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +UMissHEP__umiss001.hep.olemiss.edu seispeak /osgremote/osg_app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +UMissHEP__umiss001.hep.olemiss.edu seispeak_agg /osgremote/osg_app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + +Vanderbilt__ce1.accre.vanderbilt.edu seismogram /home/grid-app/engage/scec/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Vanderbilt__ce1.accre.vanderbilt.edu surfeis_rspectra /home/grid-app/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +Vanderbilt__ce1.accre.vanderbilt.edu seispeak /home/grid-app/engage/scec/seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +Vanderbilt__ce1.accre.vanderbilt.edu seispeak_agg /home/grid-app/engage/scec/agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" + Added: SwiftApps/Cybershake/swiftscripts/postproc-gridftp.swift =================================================================== --- SwiftApps/Cybershake/swiftscripts/postproc-gridftp.swift (rev 0) +++ SwiftApps/Cybershake/swiftscripts/postproc-gridftp.swift 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,254 @@ +/* == Type Declarations == */ +type SgtDim; +type Variation; +type Seismogram; +type PeakValue; +type StationFile; +type RuptureFile; +type VariationFile; +type offset_file; + +type Station { + string name; + float lat; + float lon; + int erf; + int variation_scenario; +} + +type Sgt { + SgtDim x; + SgtDim y; +} + +type Rupture { + int source; + int index; + int size; +} + +type offset { + int off; + int size; +} + +/* == some constants used by the apps == */ +global int num_time_steps = 3000; +global string spectra_period1 = "all"; +global float filter_highhz = 5.0; +global float simulation_timeskip = 0.1; + + +/* == app declarations == */ +app (Sgt _ext) extract(Sgt _sgt, Station _stat, Variation _var) { + extract @strcat("stat=", _stat.name) "extract_sgt=1" + @strcat("slon=", _stat.lon) @strcat("slat=", _stat.lat) + + @strcat("rupmodfile=", @filename(_var)) + @strcat("sgt_xfile=", @filename(_sgt.x)) + @strcat("sgt_yfile=", @filename(_sgt.y)) + @strcat("extract_sgt_xfile=", @filename(_ext.x)) + @strcat("extract_sgt_yfile=", @filename(_ext.y)); +} + +app (Seismogram _seis, PeakValue _peak) + seispeak(Sgt _sgt, Variation _var, Station _stat) { + seispeak + /* Args of seismogram synthesis */ + @strcat("stat=", _stat.name) "extract_sgt=0" + @strcat("slon=", _stat.lon) @strcat("slat=", _stat.lat) + "outputBinary=1" "mergeOutput=1" @strcat("ntout=", num_time_steps) + + @strcat("rupmodfile=", @filename(_var)) + @strcat("sgt_xfile=", @filename(_sgt.x)) + @strcat("sgt_yfile=", @filename(_sgt.y)) + @strcat("seis_file=", @filename(_seis)) + + /* Args of peak ground acceleration */ + "simulation_out_pointsX=2" "simulation_out_pointsY=1" + "surfseis_rspectra_seismogram_units=cmpersec" + "surfseis_rspectra_output_units=cmpersec2" + "surfseis_rspectra_output_type=aa" + "surfseis_rspectra_apply_byteswap=no" + + @strcat("simulation_out_timesamples=", num_time_steps) + @strcat("simulation_out_timeskip=", simulation_timeskip) + @strcat("surfseis_rspectra_period=", spectra_period1) + @strcat(" surfseis_rspectra_apply_filter_highHZ=", filter_highhz) + @strcat("in=", @filename(_seis)) + @strcat("out=", @filename(_peak)); + } + +app (Seismogram _seis, PeakValue _peak) + seispeak_local(Sgt _sgt, Variation _var, Station _stat) { + seispeak_local + /* Args of seismogram synthesis */ + @strcat("stat=", _stat.name) "extract_sgt=0" + @strcat("slon=", _stat.lon) @strcat("slat=", _stat.lat) + "outputBinary=1" "mergeOutput=1" @strcat("ntout=", num_time_steps) + + @strcat("rupmodfile=", @filename(_var)) + @strcat("sgt_xfile=", @filename(_sgt.x)) + @strcat("sgt_yfile=", @filename(_sgt.y)) + @strcat("seis_file=", @filename(_seis)) + + /* Args of peak ground acceleration */ + "simulation_out_pointsX=2" "simulation_out_pointsY=1" + "surfseis_rspectra_seismogram_units=cmpersec" + "surfseis_rspectra_output_units=cmpersec2" + "surfseis_rspectra_output_type=aa" + "surfseis_rspectra_apply_byteswap=no" + + @strcat("simulation_out_timesamples=", num_time_steps) + @strcat("simulation_out_timeskip=", simulation_timeskip) + @strcat("surfseis_rspectra_period=", spectra_period1) + @strcat(" surfseis_rspectra_apply_filter_highHZ=", filter_highhz) + @strcat("in=", @filename(_seis)) + @strcat("out=", @filename(_peak)); + } + +app (Seismogram _seis[], PeakValue _peak[]) + seispeak_agg(Sgt _sgt, Variation _var[], Station _stat, int n) { + seispeak_agg + /* System args */ + _stat.name _stat.lon _stat.lat num_time_steps + num_time_steps simulation_timeskip spectra_period1 filter_highhz + + @filename(_sgt.x) @filename(_sgt.y) + + n @filenames(_var) @filenames(_seis) @filenames(_peak); + } + +/* == Auxillary functions for the mappers == */ + +app (StationFile _stat) getsite_file(int _run_id) { + getsite _run_id stdout=@filename(_stat); +} + +(Station _stat) get_site(int _run_id) { + StationFile file<"/var/tmp/site_tmp">; + file = getsite_file(_run_id); + _stat = readData(file); +} + +app (RuptureFile _rup) getrupture_file(int _run_id) { + getrupture _run_id stdout=@filename(_rup); +} + +(Rupture _rup[]) get_ruptures(int _run_id, Station _site) { + RuptureFile file; + file = getrupture_file(_run_id); + _rup = readData(file); +} + +app (VariationFile _var) getvariation_file(Station _site, Rupture _rup, + string _loc) { + variation_mapper "-e" _site.erf "-v" _site.variation_scenario + "-l" _loc "-s" _rup.source "-r" _rup.index stdout=@_var; +} + +(string _vars[]) get_variations(Station _site, Rupture _rup, string _loc){ + string fname = @strcat(_rup.source, "_", _rup.index); + VariationFile file; + file = getvariation_file(_site, _rup, _loc); + _vars = readData(file); +} + +(offset _off[]) mkoffset(int _size, int _group_size) { + //offset_file file ; + offset_file file ; + /*offset_file*/ file = mkoffset_file(_size, _group_size); + _off = readData(file); +} + +app (offset_file _off) mkoffset_file(int _size, int _group_size) { + mkoffset _size _group_size stdout=@filename(_off); +} + +/* TODO: data management zip jobs */ + +/* Main program */ +int run_id = 644; +int agg_size = 60; +int loc_size = 20; +string datadir = +"gsiftp://gridftp.ranger.tacc.teragrid.org//work/01739/ketan/scec/Results"; +//"gsiftp://gridftp.pads.ci.uchicago.edu//gpfs/pads/swift/ketan/science/cybershake/Results"; +//"/gpfs/pads/swift/ketan/science/cybershake/Results"; + +Station site = get_site(run_id); + +Sgt sgt_var ; + //l="/gpfs/pads/swift/aespinosa/science/cybershake/SgtFiles">; + l="gsiftp://gridftp.ranger.tacc.teragrid.org//work/01035/tg802895/science/cybershake/data/SgtFiles">; + + Rupture rups[] = get_ruptures(run_id, site); + + foreach rup in rups { + + string loc_sub = @strcat(datadir, "/", site.name, "/", rup.source, "/", rup.index); + + Sgt sub ; + + string var_str[] = get_variations( site, rup, + //"gsiftp://gridftp.pads.ci.uchicago.edu//gpfs/pads/swift/aespinosa/science/cybershake/RuptureVariations" ); + //"/gpfs/pads/swift/aespinosa/science/cybershake/RuptureVariations" ); + "gsiftp://gridftp.ranger.tacc.teragrid.org//scratch/projects/tg/tera3d/CyberShake2007/ruptures/RuptureVariations_35_V2_3"); + + Variation vars[] ; + + sub = extract(sgt_var, site, vars[rup.size-1]); + + string seis_str[]; + string peak_str[]; + seis_str[-1] = ""; + peak_str[-1] = ""; + + foreach var,i in vars { + seis_str[i] = @strcat(seis_str[i-1], loc_sub, "/Seismogram_", site.name, + "_", rup.source, "_", rup.index, "_", i, ".grm, "); + peak_str[i] = @strcat(peak_str[i-1], loc_sub, "/PeakVals_", site.name, "_", + rup.source, "_", rup.index, "_", i, ".bsa, "); + } + + Seismogram seis[] ; + PeakValue peak[] ; + + if(rup.size <= loc_size) { + foreach var,i in vars { + (seis[i], peak[i]) = seispeak_local(sub, var, site); + } + } else {if(rup.size <= agg_size) { + (seis, peak) = seispeak_agg(sub, vars, site, rup.size); + } else { + + offset offs[] = mkoffset(rup.size, agg_size); + + foreach i in offs { + Variation var_offset[]; + string seis_str_off[]; + string peak_str_off[]; + seis_str_off[-1] = ""; + peak_str_off[-1] = ""; + foreach j in [i.off:i.off+i.size-1] { + var_offset[j] = vars[j]; + seis_str_off[j-i.off] = @strcat(seis_str_off[j-i.off-1], + loc_sub, "/Seismogram_", site.name, "_", + rup.source, "_", rup.index, "_", j, + ".grm, "); + peak_str_off[j-i.off] = @strcat(peak_str_off[j-i.off-1], + loc_sub, "/PeakVals_", site.name, "_", + rup.source, "_", rup.index, "_", j, + ".bsa, "); + } + Seismogram seis_off[] ; + PeakValue peak_off[] ; + + (seis_off, peak_off) = seispeak_agg(sub,var_offset, site, i.size); + } + } + } + } + Added: SwiftApps/Cybershake/swiftscripts/postproc.invalidpath.swift =================================================================== --- SwiftApps/Cybershake/swiftscripts/postproc.invalidpath.swift (rev 0) +++ SwiftApps/Cybershake/swiftscripts/postproc.invalidpath.swift 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,78 @@ +/* == Type Declarations == */ +type Variation; +type StationFile; +type RuptureFile; +type VariationFile; + +type file; + +type Station { + string name; + float lat; + float lon; + int erf; + int variation_scenario; +} + +type Rupture { + int source; + int index; + int size; +} + +app (StationFile _stat) getsite_file(int _run_id) { + getsite _run_id stdout=@filename(_stat); +} + +(Station _stat) get_site(int _run_id) { + StationFile file<"/var/tmp/site_tmp">; + file = getsite_file(_run_id); + _stat = readData(file); +} + +app (RuptureFile _rup) getrupture_file(int _run_id) { + getrupture _run_id stdout=@filename(_rup); +} + +(Rupture _rup[]) get_ruptures(int _run_id, Station _site) { + RuptureFile file; + file = getrupture_file(_run_id); + _rup = readData(file); +} + +app (VariationFile _var) getvariation_file(Station _site, Rupture _rup, + string _loc) { + variation_mapper "-e" _site.erf "-v" _site.variation_scenario + "-l" _loc "-s" _rup.source "-r" _rup.index stdout=@_var; +} + +(string _vars[]) get_variations(Station _site, Rupture _rup, string _loc){ + string fname = @strcat(_rup.source, "_", _rup.index); + VariationFile file; + file = getvariation_file(_site, _rup, _loc); + _vars = readData(file); +} + +app (file o) cat (Variation _var) +{ + cat @filename(_var) stdout=@o; +} + +file outfile[]; + + +/* Main program */ +int run_id = 644; + +Station site = get_site(run_id); + +Rupture rups[] = get_ruptures(run_id, site); + +foreach rup, rup_idx in rups { + string var_str[] = get_variations( site, rup, "/gpfs/pads/swift/aespinosa/science/cybershake/RuptureVariations" ); + Variation vars[] ; + // trace(@filename(vars[rup.size-1])); + outfile[rup_idx] = cat(vars[rup.size-1]); +} + Added: SwiftApps/Cybershake/swiftscripts/postproc.swift =================================================================== --- SwiftApps/Cybershake/swiftscripts/postproc.swift (rev 0) +++ SwiftApps/Cybershake/swiftscripts/postproc.swift 2012-02-17 23:01:59 UTC (rev 5648) @@ -0,0 +1,247 @@ +/* == Type Declarations == */ +type SgtDim; +type Variation; +type Seismogram; +type PeakValue; +type StationFile; +type RuptureFile; +type VariationFile; +type offset_file; + +type Station { + string name; + float lat; + float lon; + int erf; + int variation_scenario; +} + +type Sgt { + SgtDim x; + SgtDim y; +} + +type Rupture { + int source; + int index; + int size; +} + +type offset { + int off; + int size; +} + +/* == some constants used by the apps == */ +global int num_time_steps = 3000; +global string spectra_period1 = "all"; +global float filter_highhz = 5.0; +global float simulation_timeskip = 0.1; + +/* == app declarations == */ +app (Sgt _ext) extract(Sgt _sgt, Station _stat, Variation _var) { + extract @strcat("stat=", _stat.name) "extract_sgt=1" + @strcat("slon=", _stat.lon) @strcat("slat=", _stat.lat) + + @strcat("rupmodfile=", @filename(_var)) + @strcat("sgt_xfile=", @filename(_sgt.x)) + @strcat("sgt_yfile=", @filename(_sgt.y)) + @strcat("extract_sgt_xfile=", @filename(_ext.x)) + @strcat("extract_sgt_yfile=", @filename(_ext.y)); +} + +app (Seismogram _seis, PeakValue _peak) + seispeak(Sgt _sgt, Variation _var, Station _stat) { + seispeak + /* Args of seismogram synthesis */ + @strcat("stat=", _stat.name) "extract_sgt=0" + @strcat("slon=", _stat.lon) @strcat("slat=", _stat.lat) + "outputBinary=1" "mergeOutput=1" @strcat("ntout=", num_time_steps) + + @strcat("rupmodfile=", @filename(_var)) + @strcat("sgt_xfile=", @filename(_sgt.x)) + @strcat("sgt_yfile=", @filename(_sgt.y)) + @strcat("seis_file=", @filename(_seis)) + + /* Args of peak ground acceleration */ + "simulation_out_pointsX=2" "simulation_out_pointsY=1" + "surfseis_rspectra_seismogram_units=cmpersec" + "surfseis_rspectra_output_units=cmpersec2" + "surfseis_rspectra_output_type=aa" + "surfseis_rspectra_apply_byteswap=no" + + @strcat("simulation_out_timesamples=", num_time_steps) + @strcat("simulation_out_timeskip=", simulation_timeskip) + @strcat("surfseis_rspectra_period=", spectra_period1) + @strcat(" surfseis_rspectra_apply_filter_highHZ=", filter_highhz) + @strcat("in=", @filename(_seis)) + @strcat("out=", @filename(_peak)); + } + +app (Seismogram _seis, PeakValue _peak) + seispeak_local(Sgt _sgt, Variation _var, Station _stat) { + seispeak_local + /* Args of seismogram synthesis */ + @strcat("stat=", _stat.name) "extract_sgt=0" + @strcat("slon=", _stat.lon) @strcat("slat=", _stat.lat) + "outputBinary=1" "mergeOutput=1" @strcat("ntout=", num_time_steps) + + @strcat("rupmodfile=", @filename(_var)) + @strcat("sgt_xfile=", @filename(_sgt.x)) + @strcat("sgt_yfile=", @filename(_sgt.y)) + @strcat("seis_file=", @filename(_seis)) + + /* Args of peak ground acceleration */ + "simulation_out_pointsX=2" "simulation_out_pointsY=1" + "surfseis_rspectra_seismogram_units=cmpersec" + "surfseis_rspectra_output_units=cmpersec2" + "surfseis_rspectra_output_type=aa" + "surfseis_rspectra_apply_byteswap=no" + + @strcat("simulation_out_timesamples=", num_time_steps) + @strcat("simulation_out_timeskip=", simulation_timeskip) + @strcat("surfseis_rspectra_period=", spectra_period1) + @strcat(" surfseis_rspectra_apply_filter_highHZ=", filter_highhz) + @strcat("in=", @filename(_seis)) + @strcat("out=", @filename(_peak)); + } + +app (Seismogram _seis[], PeakValue _peak[]) + seispeak_agg(Sgt _sgt, Variation _var[], Station _stat, int n) { + // seispeak_agg(string sgtx, string sgty, Variation _var[], Station _stat, int n) { + seispeak_agg + /* System args */ + _stat.name _stat.lon _stat.lat num_time_steps + num_time_steps simulation_timeskip spectra_period1 filter_highhz + @filename(_sgt.x) @filename(_sgt.y) + // sgtx sgty + n @filenames(_var) @filenames(_seis) @filenames(_peak); + } + + /* == Auxillary functions for the mappers == */ + + app (StationFile _stat) getsite_file(int _run_id) { + getsite _run_id stdout=@filename(_stat); + } + + (Station _stat) get_site(int _run_id) { + StationFile file<"/tmp/site_tmp">; + file = getsite_file(_run_id); + _stat = readData(file); + } + + app (RuptureFile _rup) getrupture_file(int _run_id) { + getrupture _run_id stdout=@filename(_rup); + } + + (Rupture _rup[]) get_ruptures(int _run_id, Station _site) { + RuptureFile file; + file = getrupture_file(_run_id); + _rup = readData(file); + } + + app (VariationFile _var) getvariation_file(Station _site, Rupture _rup, + string _loc) { + variation_mapper "-e" _site.erf "-v" _site.variation_scenario + "-l" _loc "-s" _rup.source "-r" _rup.index stdout=@_var; + } + + (string _vars[]) get_variations(Station _site, Rupture _rup, string _loc){ + string fname = @strcat(_rup.source, "_", _rup.index); + VariationFile file; + file = getvariation_file(_site, _rup, _loc); + _vars = readData(file); + } + + (offset _off[]) mkoffset(int _size, int _group_size) { + offset_file file ; + //offset_file file ; + /*offset_file*/ file = mkoffset_file(_size, _group_size); + _off = readData(file); + } + + app (offset_file _off) mkoffset_file(int _size, int _group_size) { + mkoffset _size _group_size stdout=@filename(_off); + } + + /* Main program */ + int run_id = 644; + //int run_id = 664; + int agg_size = 60; + int loc_size = 20; + //string datadir = "/gpfs/pads/swift/ketan/science/cybershake/Results"; + string datadir = "/scratch/local/ketan/cybershake/Results"; + + Station site = get_site(run_id); + + Sgt sgt_var ; + //Sgt sgt_var ; + + Rupture rups[] = get_ruptures(run_id, site); + + foreach rup, rup_idx in rups { + string loc_sub = @strcat(datadir, "/", site.name, "/", rup.source, "/", rup.index); + + Sgt sub ; + + string var_str[] = get_variations(site, rup, "/gpfs/pads/swift/aespinosa/science/cybershake/RuptureVariations"); + + Variation vars[] ; + + sub = extract(sgt_var, site, vars[rup.size-1]); + + string seis_str[]; + string peak_str[]; + seis_str[-1] = ""; + peak_str[-1] = ""; + + foreach var,i in vars { + seis_str[i] = @strcat(seis_str[i-1], loc_sub, "/Seismogram_", site.name, + "_", rup.source, "_", rup.index, "_", i, ".grm, "); + peak_str[i] = @strcat(peak_str[i-1], loc_sub, "/PeakVals_", site.name, "_", + rup.source, "_", rup.index, "_", i, ".bsa, "); + } + + Seismogram seis[] ; + PeakValue peak[] ; + + if(rup.size <= loc_size) { + foreach var,i in vars { + (seis[i], peak[i]) = seispeak_local(sub, var, site); + } + } else { + + if(rup.size <= agg_size) { + (seis, peak) = seispeak_agg(sub, vars, site, rup.size); + } + + else { + + offset offs[] = mkoffset(rup.size, agg_size); + + foreach i in offs { + Variation var_offset[]; + string seis_str_off[]; + string peak_str_off[]; + seis_str_off[-1] = ""; + peak_str_off[-1] = ""; + foreach j in [i.off:i.off+i.size-1] { + var_offset[j] = vars[j]; + seis_str_off[j-i.off] = @strcat(seis_str_off[j-i.off-1], + loc_sub, "/Seismogram_", site.name, "_", + rup.source, "_", rup.index, "_", j, ".grm, "); + + peak_str_off[j-i.off] = @strcat(peak_str_off[j-i.off-1], + loc_sub, "/PeakVals_", site.name, "_", + rup.source, "_", rup.index, "_", j, ".bsa, "); + } + Seismogram seis_off[] ; + PeakValue peak_off[] ; + + (seis_off, peak_off) = seispeak_agg(sub,var_offset, site, i.size); + } + } + } + } + From ketan at ci.uchicago.edu Fri Feb 17 17:29:51 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 17 Feb 2012 17:29:51 -0600 (CST) Subject: [Swift-commit] r5650 - in SwiftApps/Cybershake: app etc swiftscripts Message-ID: <20120217232951.3F91D9CCC5@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-17 17:29:51 -0600 (Fri, 17 Feb 2012) New Revision: 5650 Added: SwiftApps/Cybershake/app/README SwiftApps/Cybershake/etc/README SwiftApps/Cybershake/swiftscripts/README Log: adding readme Added: SwiftApps/Cybershake/app/README =================================================================== --- SwiftApps/Cybershake/app/README (rev 0) +++ SwiftApps/Cybershake/app/README 2012-02-17 23:29:51 UTC (rev 5650) @@ -0,0 +1,9 @@ +This Directory contains the apps for the postprocessing stage of the cybershake workflow. + +The ruby scripts requires following dependencies to be installed: + +mysql client +memcached +memcached rubygem +compositeprimarykey + Added: SwiftApps/Cybershake/etc/README =================================================================== --- SwiftApps/Cybershake/etc/README (rev 0) +++ SwiftApps/Cybershake/etc/README 2012-02-17 23:29:51 UTC (rev 5650) @@ -0,0 +1 @@ +This directory contains various configuration files for the postprocessing workflow. Added: SwiftApps/Cybershake/swiftscripts/README =================================================================== --- SwiftApps/Cybershake/swiftscripts/README (rev 0) +++ SwiftApps/Cybershake/swiftscripts/README 2012-02-17 23:29:51 UTC (rev 5650) @@ -0,0 +1,3 @@ +This directory contains various swiftscripts for the postprocessing scec workflow. + + From ketan at ci.uchicago.edu Sat Feb 18 09:06:17 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 18 Feb 2012 09:06:17 -0600 (CST) Subject: [Swift-commit] r5651 - SwiftApps/Cybershake/swiftscripts Message-ID: <20120218150617.62C2D9CCC5@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-18 09:06:16 -0600 (Sat, 18 Feb 2012) New Revision: 5651 Added: SwiftApps/Cybershake/swiftscripts/presgt.swift Log: added presgt.swift Added: SwiftApps/Cybershake/swiftscripts/presgt.swift =================================================================== --- SwiftApps/Cybershake/swiftscripts/presgt.swift (rev 0) +++ SwiftApps/Cybershake/swiftscripts/presgt.swift 2012-02-18 15:06:16 UTC (rev 5651) @@ -0,0 +1,128 @@ +type datafile; +type outfile; +type cvmfile; +type e3dfile; + +/* Following are the output files from the precvm process */ +datafile coord<"processed/coords_GC_TEST">; +datafile gridfiletest<"processed/gridfile_TEST">; +datafile gridout<"processed/gridout_TEST">; +datafile model<"processed/model">; +datafile modelparam<"processed/model_params_GC_TEST">; +datafile modelbox_file<"processed/TEST.modelbox">; + +/*Following file is the input to preSGT and vmeshgen, do not know the source of this file*/ +datafile model_coord<"data/model_coords_GC_TEST">; + + +datafile modelbound<"processed/model_bounds_GC_TEST">; + +/* Following are the outputs from preSGT*/ +datafile fdloc<"processed/TEST.fdloc">; +datafile faultlist<"processed/TEST.faultlist">; +datafile radiusfile<"processed/TEST.radiusfile">; +datafile cordfile<"processed/TEST.cordfile">; + +/* Following are the outputs from the vmeshmerge but are represented as strings in the commandline */ +datafile sgt_p<"processed/v4_sgt-TEST.p">; +datafile sgt_s<"processed/v4_sgt-TEST.s">; +datafile sgt_d<"processed/v4_sgt-TEST.d">; +datafile gridout2<"processed/gridout">; + +/* These files are created by genmod aka vmeshgen */ +datafile zdepths<"processed/zdepths.meter">; +cvmfile cvms[] ; + +/* These files are produced as a result of simsgt */ +e3dfile e3dsx[] ; +e3dfile e3dsy[] ; + +/* Final outputs */ +datafile merged_sgt_fx<"TEST_fx_816.sgt">; +datafile merged_sgt_fy<"TEST_fy_816.sgt">; + +/* Standard outputs */ +outfile outvmeshgen<"stdout/vmeshgen.std.out">; +outfile outprecvm<"stdout/precvm.std.out">; +outfile outpresgt<"stdout/presgt.std.out">; +outfile outvmeshmerge<"stdout/vmeshmerge.std.out">; +outfile outsimsgtx<"stdout/simsgtx.std.out">; +outfile outsimsgty<"stdout/simsgty.std.out">; +outfile outsgtmergex<"stdout/sgtmergex.std.out">; +outfile outsgtmergey<"stdout/sgtmergey.std.out">; + + +app (outfile o, datafile modelbox, datafile gridfile_TEST, datafile gridout_TEST, datafile model_coords_GC_TEST, datafile model_params_GC_TEST, datafile model_bounds_GC_TEST) precvm (string region, int count){ + precvm region count @modelbox + @gridfile_TEST @gridout_TEST + @model_coords_GC_TEST @model_params_GC_TEST + @model_bounds_GC_TEST stdout=@o; + +} + +app (outfile o) PreSgt (string region, string count, datafile modelbox, datafile gridout_data, datafile model_coord_data, datafile fdloc_data, datafile _faultlist, datafile _radiusfile, datafile _cordfile, string nx, string ny, string nz, string h, string xsrc, string ysrc, string ixmin, string ixmax, string iymin, string iymax, string izstart, string izmax, string modellon, string modellat, string modelrot){ + + presgt region count + @modelbox @gridout_data + @model_coord_data @fdloc_data + @_faultlist @_radiusfile + @_cordfile + "cqsub" + "-q prod-devel -n 1 -t 60" + "/scratch/projects/tg/tera3d/CyberShake2007/software-9.2.0/PreSgt/bin/gen_sgtgrid" + @strcat("nx=", nx) @strcat("ny=", ny) + @strcat("nz=", nz) @strcat("h=", h) + @strcat("xsrc=", xsrc) @strcat("ysrc=", ysrc) + @strcat("ixmin=", ixmin) @strcat("ixmax=", ixmax) + @strcat("iymin=", iymin) @strcat("iymax=", iymax) + @strcat("izstart=", izstart) + @strcat("izmax=", izmax) + @strcat("radiusfile=", @filename(_radiusfile)) + @strcat("outfile=", @filename(_cordfile)) + @strcat("modellon=", modellon) + @strcat("modellat=", modellat) + @strcat("modelrot=", modelrot) + @strcat("faultlist=", @filename(_faultlist)) + stdout=@o; +} + +app (outfile o) vmeshgen (string region, datafile gridout_data, datafile _model_coord){ + + genmod region @gridout_data @_model_coord stdout=@o; +} + +app (outfile o) vmeshmerge (string region, datafile gridfile_TEST, string _sgtp, string _sgts, string _sgtd, outfile _outvmeshgen){ + + mergecvm region @gridfile_TEST _sgtp _sgts _sgtd stdout=@o; +} + +app (outfile o) simsgt (string region, datafile gridout_test, datafile modelbox, datafile _fdloc, datafile _cordfile, string x_or_y, outfile _outvmeshmerge){ + +simsgt region @gridout_test @modelbox @_fdloc @_cordfile x_or_y stdout=@o; +} + +app (outfile o) mergesgt (string region, string x_or_y, string outsgt, outfile _outsimsgt_x_or_y, string test_fx_or_fy_816){ + +mergesgt region test_fx_or_fy_816 x_or_y outsgt stdout=@o; +} + +/* Execution starts here */ + +//(outprecvm, modelbox_file, gridfiletest, gridout, coord, modelparam, modelbound) = precvm ("TEST", 35); + + +/* This process implicitly also refers to rupture variations, this means the rupture variations location should also be unique!! */ +//outpresgt = PreSgt ("TEST", "35", modelbox_file, gridout, coord, fdloc, faultlist, radiusfile, cordfile, "800", "1550", "200", "0.200000", "510", "492", "20", "780", "20", "1530", "1", "180", "-117.921940", "33.566690", "-55.000000"); + +//outvmeshgen = vmeshgen ("TEST", gridout, model_coord); + +/* The strings "v4_sgt-TEST.p", "v4_sgt-TEST.s", "v4_sgt-TEST.d" are the output files names generated by the app */ +//outvmeshmerge = vmeshmerge ("TEST", gridfiletest, "v4_sgt-TEST.p", "v4_sgt-TEST.s", "v4_sgt-TEST.d", outvmeshgen); + +outsimsgtx = simsgt ("TEST", gridout, modelbox_file, fdloc, cordfile, "x", outvmeshmerge); +outsimsgty = simsgt ("TEST", gridout, modelbox_file, fdloc, cordfile, "y", outvmeshmerge); + +/* The inputs to these are TEST-f${COMPONENT}_sgt-.e3d */ +//(outsgtmergex) = mergesgt ("TEST", "x", "/work/01739/ketan/scec/swift/SGT", outsimsgtx, "TEST_fx_816.sgt"); +//(outsgtmergey) = mergesgt ("TEST", "y", "/work/01739/ketan/scec/swift/SGT", outsimsgty, "TEST_fy_816.sgt"); + From ketan at ci.uchicago.edu Sat Feb 18 19:25:31 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 18 Feb 2012 19:25:31 -0600 (CST) Subject: [Swift-commit] r5652 - SwiftApps/Cybershake/etc Message-ID: <20120219012531.4F3999CCC5@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-18 19:25:31 -0600 (Sat, 18 Feb 2012) New Revision: 5652 Added: SwiftApps/Cybershake/etc/sites.presgt.xml SwiftApps/Cybershake/etc/tc-presgt.ranger Log: Added: SwiftApps/Cybershake/etc/sites.presgt.xml =================================================================== --- SwiftApps/Cybershake/etc/sites.presgt.xml (rev 0) +++ SwiftApps/Cybershake/etc/sites.presgt.xml 2012-02-19 01:25:31 UTC (rev 5652) @@ -0,0 +1,105 @@ + + + + + /work/01739/ketan/swift.workdir + 0.20 + + + + + TG-ASC090068 + + KEEP + + 1 + 16 + 16 + 16 + 8way + development + 10000 + .00 + 2 + 600 + + + /work/01739/ketan/swift.workdir + + + + + TG-ASC090068 + 1 + 16 + 256 + 256 + 8way + normal + + 10000 + .01 + 08:00:00 + 28900 + + + /work/01739/ketan/swift.workdir + + + + + TG-ASC090068 + 1 + 16 + 256 + 256 + 8way + development + + 10000 + .01 + 00:10:00 + 700 + + + /work/01739/ketan/swift.workdir + + + + TG-ASC090068 + 1 + 16 + 256 + 256 + 8way + development + + 10000 + .01 + 00:20:00 + 1400 + + + /work/01739/ketan/swift.workdir + + + + TG-ASC090068 + 1 + 16 + 16 + 16 + 8way + development + + 10000 + .01 + 00:60:00 + 5200 + + + /work/01739/ketan/swift.workdir + + + + Added: SwiftApps/Cybershake/etc/tc-presgt.ranger =================================================================== --- SwiftApps/Cybershake/etc/tc-presgt.ranger (rev 0) +++ SwiftApps/Cybershake/etc/tc-presgt.ranger 2012-02-19 01:25:31 UTC (rev 5652) @@ -0,0 +1,8 @@ +RANGER cat /bin/cat null null null +localhost precvm /share/home/01035/tg802895/science/cybershake/sgt/PreCVM/pre_cvm.py null null null +SGEshort presgt /work/01739/ketan/scec/code/PreSgt/presgt.py null null null +SGEmedium genmod /work/01739/ketan/scec/code/V4-WrapC/genmod.sh null null null +SGEmedium mergecvm /work/01739/ketan/scec/code/V4-WrapC/merge.sh null null null +SGE simsgt /work/01739/ketan/scec/code/SimSgt/sim.sh null null null +SGE1hour mergesgt /work/01739/ketan/scec/code/RecpGF/merge_sgt.sh null null null + From ketan at ci.uchicago.edu Mon Feb 20 13:26:50 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 20 Feb 2012 13:26:50 -0600 (CST) Subject: [Swift-commit] r5653 - SwiftApps/Cybershake/etc Message-ID: <20120220192650.C10A89CCC1@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-20 13:26:50 -0600 (Mon, 20 Feb 2012) New Revision: 5653 Added: SwiftApps/Cybershake/etc/cdm_lib.sh Log: adding cdm patch and updating README Added: SwiftApps/Cybershake/etc/cdm_lib.sh =================================================================== --- SwiftApps/Cybershake/etc/cdm_lib.sh (rev 0) +++ SwiftApps/Cybershake/etc/cdm_lib.sh 2012-02-20 19:26:50 UTC (rev 5653) @@ -0,0 +1,232 @@ + +# Source this for CDM shell functions + +log "Reading cdm_lib.sh ..." + +# Do a CDM lookup +cdm_lookup() { + CDM_PL=$1 + CDM_FILE=$2 + FILE=$3 + + RESULT="DEFAULT" + if [ ! -z $CDM_FILE ] && [ -f $CDM_PL ] && [ -f $CDM_FILE ]; then + RESULT=$( perl $CDM_PL lookup $FILE < $CDM_FILE 2> $INFO ) + checkError 254 "cdm_lookup(): failed! (malformed CDM file?)" + fi + echo $RESULT +} + +cdm_action() { + log "CDM_ACTION: $@" + + local JOBDIR=$1 # Given jobdir + local MODE=$2 # INPUT or OUTPUT + local FILE=$3 # User file + local POLICY=$4 # DIRECT, BROADCAST, ... + shift 4 + local ARGS=$@ + + log "POLICY=$POLICY" + case $POLICY in + DIRECT) + DIRECT_DIR=${ARGS[0]} + log "CDM[DIRECT]: Linking to $DIRECT_DIR/$FILE via $JOBDIR/$FILE" + if [ $MODE == "INPUT" ]; then + [ -f "$DIRECT_DIR/$FILE" ] + checkError 254 "CDM[DIRECT]: $DIRECT_DIR/$FILE does not exist!" + mkdir -p $( dirname $JOBDIR/$FILE ) + checkError 254 "CDM[DIRECT]: mkdir -p $JOBDIR failed!" + ln -s $DIRECT_DIR/$FILE $JOBDIR/$FILE + checkError 254 "CDM[DIRECT]: Linking to $DIRECT_DIR/$FILE for linkname $JOBDIR/$FILE failed!" + elif [ $MODE == "OUTPUT" ]; then + mkdir -p $DIRECT_DIR + checkError 254 "CDM[DIRECT]: mkdir -p $DIRECT_DIR failed!" + mkdir -p $( dirname $DIRECT_DIR/$FILE ) + checkError 254 "CDM[DIRECT]: mkdir -p $( dirname $FILE ) failed!" + touch $DIRECT_DIR/$FILE + checkError 254 "CDM[DIRECT]: Touching $DIRECT_DIR/$FILE failed!" + ln -s $DIRECT_DIR/$FILE $JOBDIR/$FILE + checkError 254 "CDM[DIRECT]: Linking to $DIRECT_DIR/$FILE failed!" + else + fail 254 "Unknown MODE: $MODE" + fi + ;; + LOCAL) + # TODO: Can/should we use this as a cache? + TOOL=$1 + REMOTE_DIR=$2 + FLAGS=$3 + log "CDM[LOCAL]: TOOL=$TOOL FLAGS=$FLAGS REMOTE_DIR=$REMOTE_DIR ARGS=$ARGS" + log "CDM[LOCAL]: Copying $REMOTE_DIR/$FILE to $JOBDIR/$FILE" + if [ $MODE == "INPUT" ]; then + [ -f "$REMOTE_DIR/$FILE" ] + checkError 254 "CDM[LOCAL]: $REMOTE_DIR/$FILE does not exist!" + if [ $TOOL == "cp" ]; then + $TOOL $FLAGS $REMOTE_DIR/$FILE $JOBDIR/$FILE + checkError 254 "CDM[LOCAL]: cp failed!" + elif [ $TOOL == "dd" ]; then + $TOOL $FLAGS if=$REMOTE_DIR/$FILE of=$JOBDIR/$FILE + checkError 254 "CDM[LOCAL]: dd failed!" + else + fail 254 "CDM[LOCAL]: Unknown TOOL: $TOOL" + fi + elif [ $MODE == "OUTPUT" ]; then + log "CDM[LOCAL]..." # This should probably be an error + else + fail 254 "Unknown MODE: $MODE" + fi + ;; + BROADCAST) + BROADCAST_DIR=${ARGS[0]} + if [ $MODE == "INPUT" ]; then + log "CDM[BROADCAST]: Linking $JOBDIR/$FILE to $BROADCAST_DIR/$FILE" + [ -f "$BROADCAST_DIR/$FILE" ] + checkError 254 "CDM[BROADCAST]: $BROADCAST_DIR/$FILE does not exist!" + ln -s $BROADCAST_DIR/$FILE $JOBDIR/$FILE + checkError 254 "CDM[BROADCAST]: Linking to $BROADCAST_DIR/$FILE failed!" + else + echo "CDM[BROADCAST]: Skipping output file: ${FILE}" + fi + ;; + GATHER) + if [ $MODE == "INPUT" ]; then + fail 254 "Cannot GATHER an input file!" + fi + esac +} + +# Setup GATHER_DIR and some variables +cdm_gather_setup() { + GATHER_DIR=$1 + + logstate "GATHER_DIR $GATHER_DIR" + mkdir -p $GATHER_DIR + checkError 254 "Could not create: $GATHER_DIR" + + GATHER_LOCKFILE=$GATHER_DIR/.cdm.lock + GATHER_MY_FILE=$GATHER_DIR/.cdm-$ID.lock + GATHER_MY_OUTBOX=$GATHER_DIR/.cdm-outgoing-$ID +} + +# Acquire the GATHER_LOCKFILE +cdm_gather_lock_acquire() { + TRYING=1 + COUNT=0 + + touch $GATHER_MY_FILE + checkError 254 "Could not touch my file: $GATHER_MY_FILE" + logstate "LOCK_ACQUIRE $GATHER_MY_FILE" + while (( TRYING )); do + ln $GATHER_MY_FILE $GATHER_LOCKFILE + CODE=$? + TRYING=$CODE + if (( TRYING )); then + logstate "LOCK_DELAY $GATHER_MY_FILE : $CODE" + if (( COUNT++ > 10 )); then + fail 254 "Could not acquire lock!" + exit 1 + fi + sleep $(( RANDOM % 10 )) + fi + done +} + +# Move files from JOBDIR to GATHER_DIR +cdm_gather_import() { + pushd jobs/$JOBDIR/$ID + logstate "GATHER_IMPORT $GATHER_OUTPUT" + mv $GATHER_OUTPUT $GATHER_DIR + checkError 254 "Could not move output to $GATHER_DIR" + popd +} + +# Move files from GATHER_DIR to OUTBOX +# Note that this function modifies $IFS +cdm_gather_export() { + RESULT=1 + pushd ${GATHER_DIR} + IFS=" +" + FILES=( $( ls -A -I ".cdm*.lock" -I ".cdm-outgoing-*" ) ) + log "FILES: ${#FILES[@]}" + mkdir -p $GATHER_MY_OUTBOX + checkError 254 "Could not mkdir ${GATHER_MY_OUTBOX}" + if (( ${#FILES} > 0 )); then + mv ${FILES[@]} $GATHER_MY_OUTBOX + checkError 254 "Could not move ${FILES[@]} to $GATHER_MY_OUTBOX" + RESULT=0 + fi + popd + return $RESULT +} + +# Release the GATHER_LOCKFILE +cdm_gather_lock_release() { + logstate "LOCK_RELEASE $GATHER_LOCKFILE" + unlink $GATHER_LOCKFILE +} + +# Move files from (LFS) OUTBOX to (GFS) GATHER_TARGET +cdm_gather_flush() { + pushd ${GATHER_MY_OUTBOX} + logstate "GATHER_TARGET $GATHER_TARGET" + mkdir -p ${GATHER_TARGET} + logstate "GATHER_FLUSH_START ${GATHER_TARGET}/cdm-gather-$ID.tar" + TARBALL=${GATHER_TARGET}/cdm-gather-$ID.tar + tar cf ${TARBALL} * + checkError 254 "CDM[GATHER]: error writing: ${TARBALL}" + logstate "GATHER_FLUSH_DONE" + popd +} + +# Called by _swiftwrap at the end of each job +cdm_gather_action() { + GATHER_OUTPUT=${*} + + GATHER_DIR=$( perl shared/cdm.pl property GATHER_DIR < $CDM_FILE ) + GATHER_MAX=$( perl shared/cdm.pl property GATHER_LIMIT < $CDM_FILE ) + GATHER_TARGET=$( perl shared/cdm.pl property GATHER_TARGET < $CDM_FILE ) + + cdm_gather_setup $GATHER_DIR + cdm_gather_lock_acquire + + cdm_gather_import + + USAGE=$( du -s --exclude=".cdm*" -B 1 $GATHER_DIR ) + USAGE=${USAGE% *} # Chop off filename in output + + logstate "USAGE_CHECK $USAGE / $GATHER_MAX" + + FLUSH="no" + if (( USAGE > GATHER_MAX )); then + FLUSH="yes" + cdm_gather_export + fi + + cdm_gather_lock_release + if [ $FLUSH == "yes" ]; then + cdm_gather_flush + fi +} + +# Called by cdm_cleanup.sh at the end of the workflow +cdm_gather_cleanup() { + declare -p PWD DIR GATHER_DIR GATHER_TARGET ID + cdm_gather_setup $GATHER_DIR + cdm_gather_lock_acquire + cdm_gather_export + EXPORT_RESULT=$? + cdm_gather_lock_release + if (( EXPORT_RESULT == 0)); then + cdm_gather_flush + fi +} + + +# Local Variables: +# mode: sh +# sh-basic-offset: 4 +# tab-width: 4 +# indent-tabs-mode: 1 +# End: From ketan at ci.uchicago.edu Mon Feb 20 13:29:47 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 20 Feb 2012 13:29:47 -0600 (CST) Subject: [Swift-commit] r5654 - SwiftApps/Cybershake/etc Message-ID: <20120220192947.ED9919CCC1@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-20 13:29:47 -0600 (Mon, 20 Feb 2012) New Revision: 5654 Added: SwiftApps/Cybershake/etc/run.sh Log: adding run Added: SwiftApps/Cybershake/etc/run.sh =================================================================== --- SwiftApps/Cybershake/etc/run.sh (rev 0) +++ SwiftApps/Cybershake/etc/run.sh 2012-02-20 19:29:47 UTC (rev 5654) @@ -0,0 +1,3 @@ + +SWIFT_HEAP_MAX=6000M swift -config cf.ps -sites.file sites.grid-ps.xml -cdm.file fs.data -tc.file tc-provider-staging postproc.swift + From hategan at ci.uchicago.edu Mon Feb 20 13:54:14 2012 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Mon, 20 Feb 2012 13:54:14 -0600 (CST) Subject: [Swift-commit] r5655 - trunk/src/org/griphyn/vdl/karajan/lib Message-ID: <20120220195414.962EE9CCC1@svn.ci.uchicago.edu> Author: hategan Date: 2012-02-20 13:54:14 -0600 (Mon, 20 Feb 2012) New Revision: 5655 Modified: trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java Log: don't call super.getValue() twice Modified: trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java 2012-02-20 19:29:47 UTC (rev 5654) +++ trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java 2012-02-20 19:54:14 UTC (rev 5655) @@ -74,7 +74,7 @@ return v; } else { - return unwrap(stack, super.getValue(stack)); + return unwrap(stack, v); } } From ketan at ci.uchicago.edu Mon Feb 20 14:00:57 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 20 Feb 2012 14:00:57 -0600 (CST) Subject: [Swift-commit] r5656 - SwiftApps/Cybershake/etc Message-ID: <20120220200057.78F619CCC1@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-20 14:00:57 -0600 (Mon, 20 Feb 2012) New Revision: 5656 Modified: SwiftApps/Cybershake/etc/README SwiftApps/Cybershake/etc/run.sh Log: Modified: SwiftApps/Cybershake/etc/README =================================================================== --- SwiftApps/Cybershake/etc/README 2012-02-20 19:54:14 UTC (rev 5655) +++ SwiftApps/Cybershake/etc/README 2012-02-20 20:00:57 UTC (rev 5656) @@ -1 +1,7 @@ + This directory contains various configuration files for the postprocessing workflow. + +Please note that in order for CDM to work correctly, you will need the patched CDM called cdm_lib.sh available in this dir. + +Copy this cdm_lib.sh in your swift installation libexec dir. + Modified: SwiftApps/Cybershake/etc/run.sh =================================================================== --- SwiftApps/Cybershake/etc/run.sh 2012-02-20 19:54:14 UTC (rev 5655) +++ SwiftApps/Cybershake/etc/run.sh 2012-02-20 20:00:57 UTC (rev 5656) @@ -1,3 +1,6 @@ +#!/bin/bash +#An example run command + SWIFT_HEAP_MAX=6000M swift -config cf.ps -sites.file sites.grid-ps.xml -cdm.file fs.data -tc.file tc-provider-staging postproc.swift From ketan at ci.uchicago.edu Mon Feb 20 14:01:04 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 20 Feb 2012 14:01:04 -0600 (CST) Subject: [Swift-commit] r5657 - SwiftApps/Cybershake/app Message-ID: <20120220200104.A351A9CC9A@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-20 14:01:04 -0600 (Mon, 20 Feb 2012) New Revision: 5657 Modified: SwiftApps/Cybershake/app/README Log: Modified: SwiftApps/Cybershake/app/README =================================================================== --- SwiftApps/Cybershake/app/README 2012-02-20 20:00:57 UTC (rev 5656) +++ SwiftApps/Cybershake/app/README 2012-02-20 20:01:04 UTC (rev 5657) @@ -1,9 +1,41 @@ This Directory contains the apps for the postprocessing stage of the cybershake workflow. + The ruby scripts requires following dependencies to be installed: +ruby version 1.9.2 and earlier. + +Make sure YAML and libgdbm is already installed on your system. If not, you will need to install it and install ruby using these installations. + +I install these supporting libs in ~/opt and configure ruby as follows: + +./configure --prefix=/home/ketan/ruby-install --with-opt-dir=/home/ketan/opt + mysql client -memcached +memcached service (will require libevent libs) + + memcached rubygem -compositeprimarykey +activerecord rubygem +composite_primary_keys rubygem +Please note that the ruby scripts are sensitive to the version of Ruby and rubygems. + +The scripts are tested with the following gems and their respective versions: + +activemodel (3.0.10, 3.0.7) +activerecord (3.0.10 ruby, 3.0.7) +activesupport (3.0.10, 3.0.7) +arel (2.0.10) +builder (2.1.2) +composite_primary_keys (3.1.6) +i18n (0.5.0) +memcached (1.2.6) +minitest (1.6.0) +mysql (2.8.1 ruby) +open4 (1.1.0) +rake (0.8.7) +rdoc (2.5.8) +rubygems-update (1.8.8) +tzinfo (0.3.27) + From hategan at ci.uchicago.edu Mon Feb 20 14:04:48 2012 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Mon, 20 Feb 2012 14:04:48 -0600 (CST) Subject: [Swift-commit] r5658 - trunk/src/org/griphyn/vdl/karajan/lib/swiftscript Message-ID: <20120220200448.5268C9CC9A@svn.ci.uchicago.edu> Author: hategan Date: 2012-02-20 14:04:48 -0600 (Mon, 20 Feb 2012) New Revision: 5658 Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java Log: fixed length() Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2012-02-20 20:01:04 UTC (rev 5657) +++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2012-02-20 20:04:48 UTC (rev 5658) @@ -418,7 +418,7 @@ */ public DSHandle swiftscript_length(VariableStack stack) throws ExecutionException { - Map n = (Map) PA_ARRAY.getValue(stack); + Map n = PA_ARRAY.getRawValue(stack).getArrayValue(); return new RootDataNode(Types.INT, Integer.valueOf(n.size())); } From ketan at ci.uchicago.edu Mon Feb 20 16:07:28 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 20 Feb 2012 16:07:28 -0600 (CST) Subject: [Swift-commit] r5659 - in SwiftApps/Cybershake: etc swiftscripts Message-ID: <20120220220728.E212A9CC9A@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-20 16:07:28 -0600 (Mon, 20 Feb 2012) New Revision: 5659 Modified: SwiftApps/Cybershake/etc/cf.ps SwiftApps/Cybershake/etc/fs.data SwiftApps/Cybershake/etc/sites.grid-ps.xml SwiftApps/Cybershake/etc/tc-provider-staging SwiftApps/Cybershake/swiftscripts/postproc.swift Log: Modified: SwiftApps/Cybershake/etc/cf.ps =================================================================== --- SwiftApps/Cybershake/etc/cf.ps 2012-02-20 20:04:48 UTC (rev 5658) +++ SwiftApps/Cybershake/etc/cf.ps 2012-02-20 22:07:28 UTC (rev 5659) @@ -1,8 +1,8 @@ wrapperlog.always.transfer=false sitedir.keep=true -execution.retries=0 +execution.retries=3 lazy.errors=true status.mode=provider use.provider.staging=true provider.staging.pin.swiftfiles=false -foreach.max.threads=40 +foreach.max.threads=200 Modified: SwiftApps/Cybershake/etc/fs.data =================================================================== --- SwiftApps/Cybershake/etc/fs.data 2012-02-20 20:04:48 UTC (rev 5658) +++ SwiftApps/Cybershake/etc/fs.data 2012-02-20 22:07:28 UTC (rev 5659) @@ -1,6 +1,4 @@ rule .*TEST_f[x|y]_644.sgt DIRECT / -#rule TEST_fx_644.sgt DIRECT / -#rule TEST_fy_644.sgt DIRECT / rule .*LGU_f[x|y]_664.sgt DIRECT / #rule .*LGU.*subf[x|y].sgt DIRECT / #rule .*[0-9]+/[0-9]+/.*.txt.variation.* DIRECT / Modified: SwiftApps/Cybershake/etc/sites.grid-ps.xml =================================================================== --- SwiftApps/Cybershake/etc/sites.grid-ps.xml 2012-02-20 20:04:48 UTC (rev 5658) +++ SwiftApps/Cybershake/etc/sites.grid-ps.xml 2012-02-20 22:07:28 UTC (rev 5659) @@ -1,36 +1,25 @@ - - - - - passive - 4 - 1.99 - 10000 proxy DEBUG - /home/ketan/swift.workdir + /var/tmp/ketan passive 1 - .08 + 0.08 10000 DEBUG proxy - /scratch/local/ketan/swift.workdir + /gpfs/pads/swift/ketan/swift.workdir Modified: SwiftApps/Cybershake/etc/tc-provider-staging =================================================================== --- SwiftApps/Cybershake/etc/tc-provider-staging 2012-02-20 20:04:48 UTC (rev 5658) +++ SwiftApps/Cybershake/etc/tc-provider-staging 2012-02-20 22:07:28 UTC (rev 5659) @@ -1,13 +1,12 @@ # Utility apps # -#localhost cat /bin/cat null null null -mcs cat /bin/cat null null null -localhost getsite /scratch/local/ketan/cybershake/getsite.rb null null null -localhost getrupture /scratch/local/ketan/cybershake/getrupture.rb null null null -localhost variation_mapper /scratch/local/ketan/cybershake/variation_mapper.rb null null null -localhost mkoffset /scratch/local/ketan/cybershake/offset.rb null null null -localhost extract /scratch/local/ketan/cybershake/apps/JBSim3d/bin/jbsim3d null null null -localhost seispeak_local /scratch/local/ketan/cybershake/seispeak.sh null null null +localhost cat /bin/cat null null null +localhost getsite /home/ketan/osg-tg-effort/cybershake/getsite.rb +localhost getrupture /home/ketan/osg-tg-effort/cybershake/getrupture.rb +localhost variation_mapper /home/ketan/osg-tg-effort/cybershake/variation_mapper.rb +localhost mkoffset /home/ketan/osg-tg-effort/cybershake/offset.rb +localhost extract /home/ketan/osg-tg-effort/cybershake/apps/JBSim3d/bin/jbsim3d +localhost seispeak_local /home/ketan/osg-tg-effort/cybershake/seispeak.sh #localhost getsite /home/aespinosa/workflows/cybershake/getsite.rb INSTALLED INTEL32::LINUX null #localhost getrupture /home/aespinosa/workflows/cybershake/getrupture.rb INSTALLED INTEL32::LINUX null @@ -16,14 +15,8 @@ #localhost extract /home/ketan/osg-tg-effort/cybershake/apps/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX null #localhost seispeak_local /home/ketan/osg-tg-effort/cybershake/seispeak.sh INSTALLED INTEL32::LINUX null -grid seismogram JBSim3d/bin/jbsim3d null null null -grid surfeis_rspectra SpectralAcceleration/p2utils/surfseis_rspectra null null null -grid seispeak seispeak.sh null null null -grid seispeak_agg agg_seispeak.sh null null null +grid seismogram JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +grid surfeis_rspectra SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" +grid seispeak seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" +grid seispeak_agg agg_seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="04:00:00" - -mcs seismogram /home/ketan/cybershake/post/JBSim3d/bin/jbsim3d null null null -mcs surfeis_rspectra /home/ketan/cybershake/post/SpectralAcceleration/p2utils/surfseis_rspectra null null null -mcs seispeak /home/ketan/cybershake/post/seispeak.sh null null null -mcs seispeak_agg /home/ketan/cybershake/post/agg_seispeak.sh null null null - Modified: SwiftApps/Cybershake/swiftscripts/postproc.swift =================================================================== --- SwiftApps/Cybershake/swiftscripts/postproc.swift 2012-02-20 20:04:48 UTC (rev 5658) +++ SwiftApps/Cybershake/swiftscripts/postproc.swift 2012-02-20 22:07:28 UTC (rev 5659) @@ -168,15 +168,13 @@ /* Main program */ int run_id = 644; //int run_id = 664; - int agg_size = 60; + int agg_size = 30; int loc_size = 20; - //string datadir = "/gpfs/pads/swift/ketan/science/cybershake/Results"; - string datadir = "/scratch/local/ketan/cybershake/Results"; + string datadir = "/gpfs/pads/swift/ketan/science/cybershake/Results"; Station site = get_site(run_id); Sgt sgt_var ; - //Sgt sgt_var ; Rupture rups[] = get_ruptures(run_id, site); @@ -190,7 +188,8 @@ Variation vars[] ; sub = extract(sgt_var, site, vars[rup.size-1]); - + + /* string seis_str[]; string peak_str[]; seis_str[-1] = ""; @@ -215,7 +214,6 @@ if(rup.size <= agg_size) { (seis, peak) = seispeak_agg(sub, vars, site, rup.size); } - else { offset offs[] = mkoffset(rup.size, agg_size); @@ -242,6 +240,6 @@ (seis_off, peak_off) = seispeak_agg(sub,var_offset, site, i.size); } } + }*/ } - } From jonmon at ci.uchicago.edu Tue Feb 21 11:15:37 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 21 Feb 2012 11:15:37 -0600 (CST) Subject: [Swift-commit] r5661 - SwiftApps/SciColSim/bin Message-ID: <20120221171537.78D3B9CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-21 11:15:37 -0600 (Tue, 21 Feb 2012) New Revision: 5661 Modified: SwiftApps/SciColSim/bin/convertbest.sh Log: use dirname of $0 in convertbest.sh to find the directory for showbest.sh Modified: SwiftApps/SciColSim/bin/convertbest.sh =================================================================== --- SwiftApps/SciColSim/bin/convertbest.sh 2012-02-21 00:26:50 UTC (rev 5660) +++ SwiftApps/SciColSim/bin/convertbest.sh 2012-02-21 17:15:37 UTC (rev 5661) @@ -1,6 +1,7 @@ #! /bin/sh +dir=$(dirname $0) for f in best*.txt; do out=$(basename $f .txt).fmt - ../showbest.sh <$f >$out + $dir/showbest.sh <$f >$out done From jonmon at ci.uchicago.edu Tue Feb 21 13:23:11 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Tue, 21 Feb 2012 13:23:11 -0600 (CST) Subject: [Swift-commit] r5662 - SwiftApps/SciColSim Message-ID: <20120221192311.DF6679CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-21 13:23:11 -0600 (Tue, 21 Feb 2012) New Revision: 5662 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o swiftopt.sh prints the run commandline to the output file Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-21 17:15:37 UTC (rev 5661) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-21 19:23:11 UTC (rev 5662) @@ -1,7 +1,5 @@ #!/bin/bash -#TODO: Fix espcape code nonense, seems to be passing in -n -e to swift - # Usage: swiftopt.sh [-s sitename] [-p paramfile] [-n # for dryrun ] # # NOTE: this command expects symlink "swift" in the cur dir to point @@ -33,6 +31,7 @@ -rerunsperapp=$reruns_per_opt_invocation } + # Default settings execsite=local paramfile=Fast01 @@ -132,6 +131,7 @@ echo "Run dir=$rundir" >> ABOUT echo "Work dir=$WORK" >> ABOUT echo "Total jobs=$total_jobs" >> ABOUT +echo "Run Command: SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf ../annealing.swift -e33="$escapecode" -minrange=$min_target_innovation -maxrange=$max_target_innovation-rangeinc=$target_innovation_increment -nreps=$annealing_repeats -annealingcycles=$annealing_cycles -evoreruns=$evolve_reruns -alphai=$alpha_i -alpham=$alpha_m -beta=$beta -gamma=$gamma -delta=$delta -nworkers=$nworkers -rerunsperapp=$reruns_per_opt_invocation " >> ABOUT if [ _$dryrun != _ ]; then exit 0 From ketan at ci.uchicago.edu Wed Feb 22 09:33:40 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 22 Feb 2012 09:33:40 -0600 (CST) Subject: [Swift-commit] r5663 - SwiftApps/Cybershake/app Message-ID: <20120222153340.EE7529CCF9@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-22 09:33:40 -0600 (Wed, 22 Feb 2012) New Revision: 5663 Modified: SwiftApps/Cybershake/app/README Log: Modified: SwiftApps/Cybershake/app/README =================================================================== --- SwiftApps/Cybershake/app/README 2012-02-21 19:23:11 UTC (rev 5662) +++ SwiftApps/Cybershake/app/README 2012-02-22 15:33:40 UTC (rev 5663) @@ -39,3 +39,7 @@ rubygems-update (1.8.8) tzinfo (0.3.27) +Make sure the bin of installed ruby is in your path. Install gems as follows: + +gem install --version + From wozniak at ci.uchicago.edu Wed Feb 22 12:16:32 2012 From: wozniak at ci.uchicago.edu (wozniak at ci.uchicago.edu) Date: Wed, 22 Feb 2012 12:16:32 -0600 (CST) Subject: [Swift-commit] r5664 - trunk/docs/siteguide Message-ID: <20120222181632.65AF09CCB3@svn.ci.uchicago.edu> Author: wozniak Date: 2012-02-22 12:16:32 -0600 (Wed, 22 Feb 2012) New Revision: 5664 Added: trunk/docs/siteguide/overview Modified: trunk/docs/siteguide/beagle trunk/docs/siteguide/fusion trunk/docs/siteguide/futuregrid trunk/docs/siteguide/grid trunk/docs/siteguide/intrepid trunk/docs/siteguide/mcs trunk/docs/siteguide/pads trunk/docs/siteguide/siteguide.txt Log: Site Configuration Guide updates: System types in headers; extra BG/P notes Modified: trunk/docs/siteguide/beagle =================================================================== --- trunk/docs/siteguide/beagle 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/beagle 2012-02-22 18:16:32 UTC (rev 5664) @@ -1,15 +1,16 @@ -Beagle ------- -Beagle is a Cray XE6 supercomputer at UChicago. It employs a batch-oriented -computational model where-in a PBS schedular accepts user's jobs and queues -them in the queueing system for execution. The computational model requires -a user to prepare the submit files, track job submissions, chackpointing, -managing input/output data and handling exceptional conditions manually. -Running Swift under Beagle can accomplish the above tasks with least manual -user intervention and maximal oppurtunistic computation time on Beagle -queues. In the following sections, we discuss more about specifics of -running Swift on Beagle. A more detailed information about Swift and its -workings can be found on Swift documentation page here: +Cray XE6: Beagle +---------------- + +Beagle is a Cray XE6 supercomputer at UChicago. It employs a batch-oriented +computational model where-in a PBS schedular accepts user's jobs and queues +them in the queueing system for execution. The computational model requires +a user to prepare the submit files, track job submissions, chackpointing, +managing input/output data and handling exceptional conditions manually. +Running Swift under Beagle can accomplish the above tasks with least manual +user intervention and maximal oppurtunistic computation time on Beagle +queues. In the following sections, we discuss more about specifics of +running Swift on Beagle. A more detailed information about Swift and its +workings can be found on Swift documentation page here: http://www.ci.uchicago.edu/swift/wwwdev/docs/index.php More information on Beagle can be found on UChicago Beagle website here: http://beagle.ci.uchicago.edu @@ -18,7 +19,7 @@ ~~~~~~~~~~~~~~~~~ If you do not already have a Computation Institute account, you can request one at https://www.ci.uchicago.edu/accounts/. This page will give you a list -of resources you can request access to. +of resources you can request access to. You already have an existing CI account, but do not have access to Beagle, send an email to support at ci.uchicago.edu to request access. @@ -138,7 +139,7 @@ * *maxTime* : The expected walltime for completion of your run. This parameter is accepted in seconds. * *slots* : This parameter specifies the maximum number of pbs jobs/blocks that the coaster scheduler will have running at any given time. On Beagle, this number will determine how many qsubs swift will submit for your run. Typical values range between 40 and 60 for large runs. - * *nodeGranularity* : Determines the number of nodes per job. It restricts the number of nodes in a job to a multiple of this value. The total number of workers will then be a multiple of jobsPerNode * nodeGranularity. For Beagle, jobsPerNode value is 24 corresponding to its 24 cores per node. + * *nodeGranularity* : Determines the number of nodes per job. It restricts the number of nodes in a job to a multiple of this value. The total number of workers will then be a multiple of jobsPerNode * nodeGranularity. For Beagle, jobsPerNode value is 24 corresponding to its 24 cores per node. * *maxNodes* : Determines the maximum number of nodes a job must pack into its qsub. This parameter determines the largest single job that your run will submit. * *jobThrottle* : A factor that determines the number of tasks dispatched simultaneously. The intended number of simultaneous tasks must match the number of cores targeted. The number of tasks is calculated from the jobThrottle factor is as follows: @@ -155,7 +156,7 @@ CI-CCR000013 24:cray:pack - + @@ -196,7 +197,7 @@ ----- * Failed to transfer wrapperlog for job cat-nmobtbkk and/or Job failed with an exit code of 254. Check the element on the sites.xml file. - + ----- /home/ketan/swift.workdir ----- Modified: trunk/docs/siteguide/fusion =================================================================== --- trunk/docs/siteguide/fusion 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/fusion 2012-02-22 18:16:32 UTC (rev 5664) @@ -1,37 +1,38 @@ -Fusion ------- -Fusion is a 320-node computing cluster for the Argonne -National Laboratory community. The primary goal of the LCRC is to -facilitate mid-range computing in all of the scientific programs of +x86 Cluster: Fusion +------------------- + +Fusion is a 320-node computing cluster for the Argonne +National Laboratory community. The primary goal of the LCRC is to +facilitate mid-range computing in all of the scientific programs of Argonne and the University of Chicago. This section will walk you through running a simple Swift script -on Fusion. +on Fusion. Requesting Access ~~~~~~~~~~~~~~~~~ -If you do not already have a Fusion account, you can request one at +If you do not already have a Fusion account, you can request one at https://accounts.lcrc.anl.gov/request.php. Email support at lcrc.anl.gov for additional help. Projects ~~~~~~~~ -In order to run a job on a Fusion compute node, you must first be associated +In order to run a job on a Fusion compute node, you must first be associated with a project. Each project has one or more Primary Investigators, or PIs. These PIs are responsible for adding and removing users to a project. Contact the PI of your project to be added. -More information on this process can be found at +More information on this process can be found at http://www.lcrc.anl.gov/info/Projects. SSH Keys ~~~~~~~~ Before accessing Fusion, be sure to have your SSH keys configured correctly. -SSH keys are required to access fusion. You should see information about +SSH keys are required to access fusion. You should see information about this when you request your account. Email support at lcrc.anl.gov for -additional help. +additional help. Connecting to a login node ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -48,7 +49,7 @@ run. This section will provide a working configuration file which you can copy and paste to get running quickly. The sites.xml file tells Swift how to submit jobs, where working directories are -located, and various other configuration information. More +located, and various other configuration information. More information on sites.xml can be found in the Swift User's Guide. The first step is to paste the text below into a file named sites.xml. @@ -57,7 +58,7 @@ include::../../tests/providers/fusion/coasters/sites.template.xml[] ----- -This file will require one customization. Create a +This file will require one customization. Create a directory called swiftwork. Modify \_WORK_ in sites.xml to point to this new directory. For example ----- @@ -97,15 +98,15 @@ ----- You should see 10 new text files get created, named catsn*.out. If -you see these files, then you have succesfully run Swift on Fusion! +you see these files, then you have succesfully run Swift on Fusion! Queues ~~~~~~ -Fusion has two queues: shared and batch. The shared queue has a maximum 1 -hour walltime and limited to 4 nodes. The batch queue is for all other +Fusion has two queues: shared and batch. The shared queue has a maximum 1 +hour walltime and limited to 4 nodes. The batch queue is for all other jobs. -Edit your sites.xml file and edit the queue option to modify Swift's +Edit your sites.xml file and edit the queue option to modify Swift's behavior. For example: ----- Modified: trunk/docs/siteguide/futuregrid =================================================================== --- trunk/docs/siteguide/futuregrid 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/futuregrid 2012-02-22 18:16:32 UTC (rev 5664) @@ -1,7 +1,8 @@ -Futuregrid Quickstart Guide ---------------------------- -FutureGrid is a distributed, high-performance test-bed that allows -scientists to collaboratively develop and test innovative approaches +x86 Cloud: Futuregrid Quickstart Guide +-------------------------------------- + +FutureGrid is a distributed, high-performance test-bed that allows +scientists to collaboratively develop and test innovative approaches to parallel, grid, and cloud computing. More information on futuregrid can be found at https://portal.futuregrid.org/. @@ -16,7 +17,7 @@ Downloading Swift VM Tools ~~~~~~~~~~~~~~~~~~~~~~~~~~ A set of scripts based around cloudinitd are used to easily start virtual -machines. To download, change to your home directory and run the +machines. To download, change to your home directory and run the following command: ----- @@ -38,9 +39,9 @@ Configuring coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To run on futuregrid, you will need a file called coaster-service.conf. +To run on futuregrid, you will need a file called coaster-service.conf. This file contains many options to control how things run. Here is -an example of a working coaster-service.conf on futuregrid. +an example of a working coaster-service.conf on futuregrid. ----- # Where to copy worker.pl on the remote machine for sites.xml @@ -95,7 +96,7 @@ This command will start the VMs, start the required processes on the worker nodes, and generate Swift configuration files for you to use. The configuration files -will be generated in your current directory. These files are sites.xml, tc.data, +will be generated in your current directory. These files are sites.xml, tc.data, and cf. Running Swift @@ -108,10 +109,10 @@ If you would like to create a custom tc file for repeated use, rename it to something other than tc.data to prevent it from being overwritten. The sites.xml however will need to be -regenerated every time you start the coaster service. If you need to repeatedly modify some +regenerated every time you start the coaster service. If you need to repeatedly modify some sites.xml options, you may edit the template in Swift's etc/sites/persistent-coasters. You may also create your own custom tc files with the hostname of persistent-coasters. More -information about this can be found in the Swift userguide at +information about this can be found in the Swift userguide at http://www.ci.uchicago.edu/swift/guides/trunk/userguide/userguide.html. Stopping the Coaster Service Script @@ -127,6 +128,6 @@ More Help ~~~~~~~~~ The best place for additional help is the Swift user mailing list. You can subscribe to this list at -http://mail.ci.uchicago.edu/mailman/listinfo/swift-user. When submitting information, please send +http://mail.ci.uchicago.edu/mailman/listinfo/swift-user. When submitting information, please send your sites.xml file, your tc.data, and any error messages you run into. Modified: trunk/docs/siteguide/grid =================================================================== --- trunk/docs/siteguide/grid 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/grid 2012-02-22 18:16:32 UTC (rev 5664) @@ -1,5 +1,5 @@ -Grids, including OSG and TeraGrid ---------------------------------- +Grids: Open Science Grid and TeraGrid +------------------------------------- Overview of running on grid sites ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -54,7 +54,7 @@ *Step2.* When you receive your certificate via a link by mail, download and install it in your browser; we have tested it for firefox on linux and mac., -and for Chrome on mac. +and for Chrome on mac. On firefox, as you click the link that you received in the mail, you will be prompted to install it by firefox: passphrase it and click install. Next take a @@ -77,7 +77,7 @@ .pem file for key and cert. For this conversion use the above backed up .p12 file as follows: ---- -$ openssl pkcs12 -in your.p12 -out usercert.pem -nodes -clcerts -nokeys +$ openssl pkcs12 -in your.p12 -out usercert.pem -nodes -clcerts -nokeys $ openssl pkcs12 -in your.p12 -out userkey.pem -nodes -nocerts ---- @@ -143,7 +143,7 @@ source /opt/osg-/setup.csh ----- -NOTE: This above step is not required on engage-submit3 host. +NOTE: This above step is not required on engage-submit3 host. Create a VOMS Grid proxy ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -180,7 +180,7 @@ ----- $ ./foreachsite -help ./foreachsite [-resource fork|worker ] [-sites alt-sites-file] scriptname -$ +$ ----- To install your software, create a script similar to "myapp.sh", @@ -307,7 +307,7 @@ ----- start-ranger-service --nodes 1 --walltime 00:10:00 --project TG-DBS123456N \ --queue development --user tg12345 --startservice no \ - >& start-ranger-service.out + >& start-ranger-service.out ----- NOTE: Change the project and user names to match your TeraGrid Modified: trunk/docs/siteguide/intrepid =================================================================== --- trunk/docs/siteguide/intrepid 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/intrepid 2012-02-22 18:16:32 UTC (rev 5664) @@ -1,21 +1,23 @@ -Intrepid --------- -Intrepid is an IBM Blue Gene/P supercomputer located at the Argonne Leadership -Computing Facility. More information on Intrepid can be found at -http://www.alcf.anl.gov/. +Blue Gene/P: Intrepid +--------------------- +Intrepid is an IBM Blue Gene/P supercomputer located at the Argonne +Leadership Computing Facility. More information on Intrepid can be +found at http://www.alcf.anl.gov. Surveyor and Challenger are +similar, smaller machines. + Requesting Access ~~~~~~~~~~~~~~~~~ If you do not already have an account on Intrepid, you can request -one at https://accounts.alcf.anl.gov/accounts/request.php. More information about -this process and requesting allocations for your project can be found at -http://www.alcf.anl.gov/support/gettingstarted/index.php. +one at https://accounts.alcf.anl.gov/accounts/request.php. More information about +this process and requesting allocations for your project can be found at +http://www.alcf.anl.gov/support/gettingstarted/index.php. SSH Keys ~~~~~~~~ -Accessing the Intrepid via SSH can be done with any SSH software package. -Before logging in, you will need to generate an SSH public key and send it to -support at alcf.anl.gov for verification and installation. +Accessing the Intrepid via SSH can be done with any SSH software package. +Before logging in, you will need to generate an SSH public key and send it to +support at alcf.anl.gov for verification and installation. Cryptocard ~~~~~~~~~~ @@ -39,14 +41,14 @@ Downloading and building Swift ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The most recent versions of Swift can be found at +The most recent versions of Swift can be found at http://www.ci.uchicago.edu/swift/downloads/index.php. Follow the instructions provided on that site to download and build Swift. Adding Swift to your PATH ~~~~~~~~~~~~~~~~~~~~~~~~~ Once you have installed Swift, add the Swift binary to your PATH so you can -easily run it from any directory. +easily run it from any directory. In your home directory, edit the file ".bashrc". @@ -92,7 +94,7 @@ ----- If you are not a member of a project, you must first request access -to a project. More information on this process can be found at +to a project. More information on this process can be found at https://wiki.alcf.anl.gov/index.php/Discretionary_Allocations Determine your Queue @@ -117,22 +119,40 @@ Generating Configuration Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Now that you know what queue to use, your project, and your work directory, it is time to -set up Swift. Swift uses a configuration file called sites.xml to determine how it should run. -There are two methods you can use for creating this file. You can manually edit -the configuration file, or generate it with a utility called gensites. +Now that you know what queue to use, your project, and your work +directory, it is time to set up Swift. Swift uses a configuration file +called sites.xml to determine how it should run. There are two +methods you can use for creating this file. You can manually edit the +configuration file, or generate it with a utility called +gensites+. + Manually Editing sites.xml ^^^^^^^^^^^^^^^^^^^^^^^^^^ -Below is the template that is used by Swift's test suite for running on Intrepid. -TODO: Update the rest below here +Below is the template that is used by Swift's test suite for running +on Intrepid. + ----- include::../../tests/providers/intrepid/sites.template.xml[] ----- -The values to note here are the ones that are listed between underscores. In the example above, they are \_QUEUE_, and \_WORK_. Queue is the PADS queue to use and WORK is the swift work directory. These are placeholder values you will need to modify to fit your needs. Copy and paste this template, replace the values, and call it sites.xml. +Copy and paste this template, replace the values, and call it ++sites.xml+. +The values to note here are the ones that are listed between +underscores. In the example above, they are +\_HOST_+, +\_PROJECT_+, ++\_QUEUE_+, and +\_WORK_+. + ++HOST+:: The IP address on which Swift runs and to which workers must +connect. To obtain this, run +ifconfig+ and select the IP address +that starts with +172+. + ++PROJECT+:: The project to use. + ++QUEUE+:: The queue to use. + ++WORK+:: The Swift work directory. + Manually Editing tc.data ~~~~~~~~~~~~~~~~~~~~~~~~ Below is the tc.data file used by Swift's test suite for running on PADS. Modified: trunk/docs/siteguide/mcs =================================================================== --- trunk/docs/siteguide/mcs 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/mcs 2012-02-22 18:16:32 UTC (rev 5664) @@ -1,11 +1,12 @@ -MCS Workstations ----------------- -This sections describes how to use the general use compute servers for +x86 Workstations: MCS Compute Servers +------------------------------------- + +This sections describes how to use the general use compute servers for the MCS division of Argonne National Laboratory. Create a coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To begin, copy the text below and paste it into your Swift distribution's etc +To begin, copy the text below and paste it into your Swift distribution's etc directory. Name the file coaster-service.conf. ----- @@ -15,7 +16,7 @@ Starting the Coaster Service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Change directories to the location you would like to run a +Change directories to the location you would like to run a Swift script and start the coaster service with this command: @@ -27,7 +28,7 @@ called sites.xml. WARNING: Any existing sites.xml files in this directory -will be overwritten. Be sure to make a copy of any +will be overwritten. Be sure to make a copy of any custom configuration files you may have. Run Swift Added: trunk/docs/siteguide/overview =================================================================== --- trunk/docs/siteguide/overview (rev 0) +++ trunk/docs/siteguide/overview 2012-02-22 18:16:32 UTC (rev 5664) @@ -0,0 +1,8 @@ +Overview +-------- + +This guide explains details required to run Swift on various system +types, with details for specific installations on which Swift is +currently used. For a given system type, most instructions should +work on that system type anywhere. However, details such as queue +names or file system locations will have to be customized by the user. Modified: trunk/docs/siteguide/pads =================================================================== --- trunk/docs/siteguide/pads 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/pads 2012-02-22 18:16:32 UTC (rev 5664) @@ -1,7 +1,8 @@ -PADS ----- -PADS is a petabyte-scale, data intense computing resource located -at the joint Argonne National Laboratory/University of Chicago +x86 Cluster: PADS +----------------- + +PADS is a petabyte-scale, data intense computing resource located +at the joint Argonne National Laboratory/University of Chicago Computation Institute. More information about PADS can be found at http://pads.ci.uchicago.edu. @@ -33,7 +34,7 @@ Adding Software Packages ~~~~~~~~~~~~~~~~~~~~~~~~ Softenv is a system used for managing applications. In order to run Swift, -the softenv environment will have to be modified slightly. Softenv is +the softenv environment will have to be modified slightly. Softenv is configured by a file in your home directory called .soft. Edit this file to look like this: ----- @@ -82,7 +83,7 @@ run. This section will provide a working configuration file which you can copy and paste to get running quickly. The sites.xml file tells Swift how to submit jobs, where working directories are -located, and various other configuration information. More +located, and various other configuration information. More information on sites.xml can be found in the Swift User's Guide. The first step is to paste the text below into a file named sites.xml. @@ -91,7 +92,7 @@ include::../../tests/providers/pads/coasters/sites.template.xml[] ----- -This file will require just a few customizations. First, create a +This file will require just a few customizations. First, create a directory called swiftwork. Modify \_WORK_ in sites.xml to point to this new directory. For example ----- @@ -121,22 +122,27 @@ $ cp ~/swift-0.93/examples/misc/catsn.swift . $ cp ~/swift-0.93/examples/misc/data.txt . ----- -TIP: The location of your swift directory may vary depending on how you installed it. Change this to the examples/misc directory of your installation as needed. +TIP: The location of your swift directory may vary depending on how +you installed it. Change this to the examples/misc directory of your +installation as needed. + Run Swift ^^^^^^^^^ -Finally, run the script +Finally, run the script: + ----- -$ swift -sites.file sites.xml -tc.file tc.data catsn.swift + swift -sites.file sites.xml -tc.file tc.data catsn.swift ----- You should see several new files being created, called catsn.0001.out, catsn.0002.out, etc. Each of these files should contain the contents of what you placed into data.txt. If this happens, your job has run successfully on PADS! -TIP: Make sure your default project is defined. Read on for more information. +TIP: Make sure your default project is defined. Read on for more +information. Read on for more detailed information about running Swift on PADS. @@ -145,7 +151,7 @@ ^^^^^^ As you run more application in the future, you will likely need -to change queues. +to change queues. PADS has several different queues you can submit jobs to depending on the type of work you will be doing. The command "qstat -q" will print Modified: trunk/docs/siteguide/siteguide.txt =================================================================== --- trunk/docs/siteguide/siteguide.txt 2012-02-22 15:33:40 UTC (rev 5663) +++ trunk/docs/siteguide/siteguide.txt 2012-02-22 18:16:32 UTC (rev 5664) @@ -6,6 +6,8 @@ :website: http://www.ci.uchicago.edu/swift/guides/siteguide.php :numbered: +include::overview[] + include::prereqs[] include::pads[] From wozniak at ci.uchicago.edu Wed Feb 22 15:28:38 2012 From: wozniak at ci.uchicago.edu (wozniak at ci.uchicago.edu) Date: Wed, 22 Feb 2012 15:28:38 -0600 (CST) Subject: [Swift-commit] r5665 - trunk/bin Message-ID: <20120222212838.052A49CCB3@svn.ci.uchicago.edu> Author: wozniak Date: 2012-02-22 15:28:37 -0600 (Wed, 22 Feb 2012) New Revision: 5665 Modified: trunk/bin/start-coaster-service Log: start-coaster-service fixes for BG/P Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-22 18:16:32 UTC (rev 5664) +++ trunk/bin/start-coaster-service 2012-02-22 21:28:37 UTC (rev 5665) @@ -229,7 +229,7 @@ ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $MACHINE mkdir -p $WORKER_LOCATION > /dev/null 2>&1 ssh $WORKER_USERNAME@$WORKER_RELAY_HOST "scp /tmp/$WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION" > /dev/null 2>&1 echo Starting worker on $MACHINE - ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $WORKER_LOG_DIR" & + ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER http://localhost:$PORT $MACHINE $WORKER_LOG_DIR" & echo $! >> $PID_FILE # Connect directly else @@ -265,18 +265,20 @@ crash "start-workers-cobalt: Port number not specified, giving up" fi EXECUTION_URL=http://$IPADDR:$PORT - local TIMESTAMP=$(date "+%Y.%m%d.%H%M%S") - local -Z 5 R=${RANDOM} + TIMESTAMP=$(date "+%Y.%m%d.%H%M%S") + R=${RANDOM} ID="${TIMESTAMP}.${R}" - echo cqsub -q ${QUEUE} \ + # -t in minutes + set -x + cqsub -q ${QUEUE} \ -k zeptoos \ - -t ${MAXTIME} \ # minutes + -t ${MAXTIME} \ -n ${NODES} \ - --cwd ${LOGDIR} \ - -E ${LOGDIR}/cobalt.${$}.stderr \ - -o ${LOGDIR}/cobalt.${$}.stdout \ + -C ${PWD}/${LOG_DIR} \ + -E cobalt.${$}.stderr \ + -o cobalt.${$}.stdout \ -e "WORKER_LOGGING_LEVEL=DEBUG:ZOID_ENABLE_NAT=true" \ - $WORKER $EXECUTION_URL $ID $LOG_DIR + $SWIFT_BIN/$WORKER $EXECUTION_URL $ID $PWD/$LOG_DIR echo $! >> $PID_FILE return 0 From wozniak at ci.uchicago.edu Wed Feb 22 16:20:24 2012 From: wozniak at ci.uchicago.edu (wozniak at ci.uchicago.edu) Date: Wed, 22 Feb 2012 16:20:24 -0600 (CST) Subject: [Swift-commit] r5666 - trunk/etc Message-ID: <20120222222024.DDB629CCF9@svn.ci.uchicago.edu> Author: wozniak Date: 2012-02-22 16:20:24 -0600 (Wed, 22 Feb 2012) New Revision: 5666 Modified: trunk/etc/coaster-service.conf Log: Fix JOBS_PER_NODE, JOBS_THROTTLE, NODES; new WORKER_ENVIRONMENT Modified: trunk/etc/coaster-service.conf =================================================================== --- trunk/etc/coaster-service.conf 2012-02-22 21:28:37 UTC (rev 5665) +++ trunk/etc/coaster-service.conf 2012-02-22 22:20:24 UTC (rev 5666) @@ -35,8 +35,15 @@ # Location of the swift-vm-boot scripts export SWIFTVMBOOT_DIR=$HOME/swift-vm-boot +export JOBS_PER_NODE=4 +export JOB_THROTTLE=1000 + +# Setting for WORKER_INIT_CMD +export WORKER_ENVIRONMENT= + # Swift information for creating sites.xml +export PROJECT= export WORK=$HOME/swiftwork -export QUEUE=prod-devel -export MAXTIME=20 -export NODE=64 +export QUEUE=default +export MAXTIME=15 +export NODES=64 From ketan at ci.uchicago.edu Wed Feb 22 16:55:52 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 22 Feb 2012 16:55:52 -0600 (CST) Subject: [Swift-commit] r5667 - SwiftApps/Cybershake Message-ID: <20120222225552.079369CCF9@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-22 16:55:51 -0600 (Wed, 22 Feb 2012) New Revision: 5667 Added: SwiftApps/Cybershake/README Log: adding a toplevel README Added: SwiftApps/Cybershake/README =================================================================== --- SwiftApps/Cybershake/README (rev 0) +++ SwiftApps/Cybershake/README 2012-02-22 22:55:51 UTC (rev 5667) @@ -0,0 +1,15 @@ +This directory contains swiftscripts, application programs and configuration files for the Cybershake SCEC workflow. + +There are two different datasets on which the workflow is tested: + +1. TEST +2. LGU + +The profile of the workflow is as follows: + +getsite: 1 appcalls +getrupture: 1 appcalls +getvariations: 393 appcalls +extract: 393 appcalls +seispeak_local: +seispeak_agg: From ketan at ci.uchicago.edu Wed Feb 22 16:58:44 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 22 Feb 2012 16:58:44 -0600 (CST) Subject: [Swift-commit] r5668 - SwiftApps/Cybershake/etc Message-ID: <20120222225844.9739A9CCF9@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-22 16:58:44 -0600 (Wed, 22 Feb 2012) New Revision: 5668 Modified: SwiftApps/Cybershake/etc/cf.gridftp SwiftApps/Cybershake/etc/cf.ps SwiftApps/Cybershake/etc/tc-provider-staging Log: Modified: SwiftApps/Cybershake/etc/cf.gridftp =================================================================== --- SwiftApps/Cybershake/etc/cf.gridftp 2012-02-22 22:55:51 UTC (rev 5667) +++ SwiftApps/Cybershake/etc/cf.gridftp 2012-02-22 22:58:44 UTC (rev 5668) @@ -1,3 +1,5 @@ +#config for gridftp enabled run + wrapperlog.always.transfer=true sitedir.keep=true execution.retries=5 Modified: SwiftApps/Cybershake/etc/cf.ps =================================================================== --- SwiftApps/Cybershake/etc/cf.ps 2012-02-22 22:55:51 UTC (rev 5667) +++ SwiftApps/Cybershake/etc/cf.ps 2012-02-22 22:58:44 UTC (rev 5668) @@ -1,3 +1,5 @@ +#Config for provider staging + wrapperlog.always.transfer=false sitedir.keep=true execution.retries=3 Modified: SwiftApps/Cybershake/etc/tc-provider-staging =================================================================== --- SwiftApps/Cybershake/etc/tc-provider-staging 2012-02-22 22:55:51 UTC (rev 5667) +++ SwiftApps/Cybershake/etc/tc-provider-staging 2012-02-22 22:58:44 UTC (rev 5668) @@ -1,5 +1,5 @@ # Utility apps -# +# These are set to run locally localhost cat /bin/cat null null null localhost getsite /home/ketan/osg-tg-effort/cybershake/getsite.rb localhost getrupture /home/ketan/osg-tg-effort/cybershake/getrupture.rb @@ -15,6 +15,8 @@ #localhost extract /home/ketan/osg-tg-effort/cybershake/apps/JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX null #localhost seispeak_local /home/ketan/osg-tg-effort/cybershake/seispeak.sh INSTALLED INTEL32::LINUX null +# These are set to run on OSG. The point from where their path starts in the third column below must be in the env var PATH on OSG site + grid seismogram JBSim3d/bin/jbsim3d INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" grid surfeis_rspectra SpectralAcceleration/p2utils/surfseis_rspectra INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:05:00" grid seispeak seispeak.sh INSTALLED INTEL32::LINUX GLOBUS::maxwalltime="00:10:00" From davidk at ci.uchicago.edu Wed Feb 22 16:58:48 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Wed, 22 Feb 2012 16:58:48 -0600 (CST) Subject: [Swift-commit] r5669 - trunk/bin Message-ID: <20120222225848.8A19A9CCF9@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-22 16:58:48 -0600 (Wed, 22 Feb 2012) New Revision: 5669 Modified: trunk/bin/start-coaster-service Log: Better fix to work around bug #467 - one worker per node with coaster-service Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-22 22:58:44 UTC (rev 5668) +++ trunk/bin/start-coaster-service 2012-02-22 22:58:48 UTC (rev 5669) @@ -377,7 +377,7 @@ fi echo $! >> $PID_FILE -sleep 5 +sleep 15 # Determine SERVICE_PORT if [ -z "$SERVICE_PORT" ]; then @@ -400,6 +400,21 @@ echo Service port: $SERVICE_PORT echo Local port: $LOCAL_PORT +# Generate sites.xml +export EXECUTION_URL="http://$IPADDR:$SERVICE_PORT" +echo Generating sites.xml +if [ -f "gensites.template" ]; then + gensites `cat gensites.template` -p $CONFIG_FILE > $RUN_DIR/sites.xml +else + gensites persistent-coasters -p $CONFIG_FILE > $RUN_DIR/sites.xml +fi + +# For evil bug #467 +echo "app echo (string i) { echo i; }" > hi.swift +echo "echo(\"hi\");" >> hi.swift +swift -sites.file sites.xml -tc.file tc.data -config cf hi.swift > /dev/null 2>&1 & +DUMMYPID=$! + # Start workers case $WORKER_MODE in ssh) @@ -425,14 +440,8 @@ ;; esac -# Generate sites.xml -export EXECUTION_URL="http://$IPADDR:$SERVICE_PORT" -echo Generating sites.xml -if [ -f "gensites.template" ]; then - gensites `cat gensites.template` -p $CONFIG_FILE > $RUN_DIR/sites.xml -else - gensites persistent-coasters -p $CONFIG_FILE > $RUN_DIR/sites.xml -fi +# Wait for dummy script to finish +wait $DUMMYPID # Generate config file if [ "$SHARED_FILESYSTEM" == "no" ]; then From jonmon at ci.uchicago.edu Wed Feb 22 17:14:06 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 22 Feb 2012 17:14:06 -0600 (CST) Subject: [Swift-commit] r5670 - SwiftApps/SciColSim/conf Message-ID: <20120222231406.980579CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-22 17:14:06 -0600 (Wed, 22 Feb 2012) New Revision: 5670 Added: SwiftApps/SciColSim/conf/beagle03.cf SwiftApps/SciColSim/conf/beagle03.xml Modified: SwiftApps/SciColSim/conf/beagle.xml SwiftApps/SciColSim/conf/beagle01.xml SwiftApps/SciColSim/conf/beagle02.xml SwiftApps/SciColSim/conf/local.xml SwiftApps/SciColSim/conf/pads-ssh.xml SwiftApps/SciColSim/conf/pads.xml SwiftApps/SciColSim/conf/pads01.xml SwiftApps/SciColSim/conf/pads02.xml Log: o removed the project entry in the sites files. Now Swift should use the default project when submitting jobs o added beagle03 config files, these config files should use the scalability queue Modified: SwiftApps/SciColSim/conf/beagle.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/beagle.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -1,13 +1,10 @@ - CI-MCB000119 KEEP 1 - 24 - DEBUG 100 100 pbs.aprun;pbs.mpp;depth=24 @@ -20,8 +17,7 @@ 9.59 10000 - - _WORK_ + _WORK_/beagle Modified: SwiftApps/SciColSim/conf/beagle01.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle01.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/beagle01.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -11,12 +11,10 @@ - CI-MCB000119 KEEP 1 - 100 100 pbs.aprun;pbs.mpp;depth=24 @@ -25,7 +23,6 @@ 50 1 1 - 12.00 10000 Modified: SwiftApps/SciColSim/conf/beagle02.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle02.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/beagle02.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -11,12 +11,10 @@ - CI-MCB000119 KEEP 1 - 100 100 pbs.aprun;pbs.mpp;depth=24 Added: SwiftApps/SciColSim/conf/beagle03.cf =================================================================== --- SwiftApps/SciColSim/conf/beagle03.cf (rev 0) +++ SwiftApps/SciColSim/conf/beagle03.cf 2012-02-22 23:14:06 UTC (rev 5670) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=3 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app local sumloss=$PWD/../sumloss.sh +#app beagle03 evolve=$PWD/../evolve.sh Added: SwiftApps/SciColSim/conf/beagle03.xml =================================================================== --- SwiftApps/SciColSim/conf/beagle03.xml (rev 0) +++ SwiftApps/SciColSim/conf/beagle03.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -0,0 +1,38 @@ + + + + + 0.09 + 10000 + + _WORK_/local + + + + + + + KEEP + + 1 + DEBUG + _WORK_/workers + 100 + 100 + pbs.aprun;pbs.mpp;depth=24 + 1800 + 2 + 1 + 5 + scalability + + 12.00 + 10000 + + + _WORK_/beagle + + + + + Modified: SwiftApps/SciColSim/conf/local.xml =================================================================== --- SwiftApps/SciColSim/conf/local.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/local.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -4,6 +4,6 @@ _JOB_THROTTLE_ 10000 - _WORK_ + _WORK_/local Modified: SwiftApps/SciColSim/conf/pads-ssh.xml =================================================================== --- SwiftApps/SciColSim/conf/pads-ssh.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/pads-ssh.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -5,14 +5,14 @@ 0.09 10000 - _WORK_ + _WORK_/local - _WORK_ - CI-CCR000013 + _WORK_/pads + 8 1 100 Modified: SwiftApps/SciColSim/conf/pads.xml =================================================================== --- SwiftApps/SciColSim/conf/pads.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/pads.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -4,14 +4,13 @@ 0.09 10000 - _WORK_ + _WORK_/local - _WORK_ + _WORK_/pads - CI-CCR000013 8 1 100 Modified: SwiftApps/SciColSim/conf/pads01.xml =================================================================== --- SwiftApps/SciColSim/conf/pads01.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/pads01.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -13,7 +13,6 @@ _WORK_/pads - CI-CCR000013 8 1 100 @@ -23,7 +22,6 @@ 384 1 1 - _JOB_THROTTLE_ 10000 Modified: SwiftApps/SciColSim/conf/pads02.xml =================================================================== --- SwiftApps/SciColSim/conf/pads02.xml 2012-02-22 22:58:48 UTC (rev 5669) +++ SwiftApps/SciColSim/conf/pads02.xml 2012-02-22 23:14:06 UTC (rev 5670) @@ -13,7 +13,6 @@ _WORK_/pads - CI-CCR000013 8 1 100 @@ -23,7 +22,6 @@ 50 1 1 - 400 10000 From jonmon at ci.uchicago.edu Wed Feb 22 17:15:40 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 22 Feb 2012 17:15:40 -0600 (CST) Subject: [Swift-commit] r5671 - SwiftApps/SciColSim/conf Message-ID: <20120222231540.990DA9CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-22 17:15:40 -0600 (Wed, 22 Feb 2012) New Revision: 5671 Modified: SwiftApps/SciColSim/conf/beagle01.cf SwiftApps/SciColSim/conf/beagle02.cf SwiftApps/SciColSim/conf/beagle03.cf Log: o changed retries config entry to 5 instead of 3 for the beagle configuration. This should help with the Failed job count during execution. Modified: SwiftApps/SciColSim/conf/beagle01.cf =================================================================== --- SwiftApps/SciColSim/conf/beagle01.cf 2012-02-22 23:14:06 UTC (rev 5670) +++ SwiftApps/SciColSim/conf/beagle01.cf 2012-02-22 23:15:40 UTC (rev 5671) @@ -1,6 +1,6 @@ wrapperlog.always.transfer=true sitedir.keep=true -execution.retries=3 +execution.retries=5 lazy.errors=true status.mode=provider use.provider.staging=false Modified: SwiftApps/SciColSim/conf/beagle02.cf =================================================================== --- SwiftApps/SciColSim/conf/beagle02.cf 2012-02-22 23:14:06 UTC (rev 5670) +++ SwiftApps/SciColSim/conf/beagle02.cf 2012-02-22 23:15:40 UTC (rev 5671) @@ -1,6 +1,6 @@ wrapperlog.always.transfer=true sitedir.keep=true -execution.retries=3 +execution.retries=5 lazy.errors=true status.mode=provider use.provider.staging=false Modified: SwiftApps/SciColSim/conf/beagle03.cf =================================================================== --- SwiftApps/SciColSim/conf/beagle03.cf 2012-02-22 23:14:06 UTC (rev 5670) +++ SwiftApps/SciColSim/conf/beagle03.cf 2012-02-22 23:15:40 UTC (rev 5671) @@ -1,6 +1,6 @@ wrapperlog.always.transfer=true sitedir.keep=true -execution.retries=3 +execution.retries=5 lazy.errors=true status.mode=provider use.provider.staging=false From jonmon at ci.uchicago.edu Wed Feb 22 17:24:05 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 22 Feb 2012 17:24:05 -0600 (CST) Subject: [Swift-commit] r5672 - in SwiftApps/SciColSim: . params Message-ID: <20120222232405.6F4329CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-22 17:24:05 -0600 (Wed, 22 Feb 2012) New Revision: 5672 Added: SwiftApps/SciColSim/params/ARtest02 Modified: SwiftApps/SciColSim/swiftopt.sh Log: o added params/ARtest02 which runs 10K evolution reruns for target innovations 58 and 108 o modified swiftopt.sh to copy the .swift files to the run directory as well Added: SwiftApps/SciColSim/params/ARtest02 =================================================================== --- SwiftApps/SciColSim/params/ARtest02 (rev 0) +++ SwiftApps/SciColSim/params/ARtest02 2012-02-22 23:24:05 UTC (rev 5672) @@ -0,0 +1,18 @@ + +min_target_innovation 58 # starting target innovation value to try +max_target_innovation 109 # stops before this target innovation value +target_innovation_increment 50 # increment target innovation by this amount + +annealing_repeats 1 # times to repeate the entire optimization process for each target_innovation +annealing_cycles 100 # times to perform the simulated annealing loop for all non-fixed parameters + +evolve_reruns 10000 # times to perform evolve_to_target_and_save() (objective function - is batched) +nworkers 24 # number of parallel threads (cores) to use per invocation of C++ optimizer +reruns_per_opt_invocation 240 # reruns_per_opt_invocation mod nworkers must == 0 !!! <=== NOTE WELL !!! + +alpha_i 0.0 # 5 evolve() parameters: must be decimal values !!! +alpha_m 0.0 # alpha_i and alpha_m are fixed for now +beta 4.0 # rest are varied by the optimization process +gamma 50.0 +delta -1.0 + Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-22 23:15:40 UTC (rev 5671) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-22 23:24:05 UTC (rev 5672) @@ -11,7 +11,7 @@ # Function to run Swift runswift() { - SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf ../annealing.swift -e33="$escapecode" \ + SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf annealing.swift -e33="$escapecode" \ \ -minrange=$min_target_innovation \ -maxrange=$max_target_innovation \ @@ -98,6 +98,9 @@ fi cp movie_graph.txt $rundir +cp annealing.swift $rundir +cp colortext.swift $rundir +cp math.swift $rundir # Echo parameters echo Annealing parameters: @@ -131,7 +134,7 @@ echo "Run dir=$rundir" >> ABOUT echo "Work dir=$WORK" >> ABOUT echo "Total jobs=$total_jobs" >> ABOUT -echo "Run Command: SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf ../annealing.swift -e33="$escapecode" -minrange=$min_target_innovation -maxrange=$max_target_innovation-rangeinc=$target_innovation_increment -nreps=$annealing_repeats -annealingcycles=$annealing_cycles -evoreruns=$evolve_reruns -alphai=$alpha_i -alpham=$alpha_m -beta=$beta -gamma=$gamma -delta=$delta -nworkers=$nworkers -rerunsperapp=$reruns_per_opt_invocation " >> ABOUT +echo "Run Command: SWIFT_HEAP_MAX=$ram SWIFT_LIB=.. $swift >> swift.out 2>&1 -tc.file tc.data -sites.file $1 -config cf annealing.swift -e33="$escapecode" -minrange=$min_target_innovation -maxrange=$max_target_innovation-rangeinc=$target_innovation_increment -nreps=$annealing_repeats -annealingcycles=$annealing_cycles -evoreruns=$evolve_reruns -alphai=$alpha_i -alpham=$alpha_m -beta=$beta -gamma=$gamma -delta=$delta -nworkers=$nworkers -rerunsperapp=$reruns_per_opt_invocation " >> ABOUT if [ _$dryrun != _ ]; then exit 0 From jonmon at ci.uchicago.edu Wed Feb 22 17:41:03 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 22 Feb 2012 17:41:03 -0600 (CST) Subject: [Swift-commit] r5673 - SwiftApps/SciColSim Message-ID: <20120222234103.5FE7B9CCB3@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-22 17:41:03 -0600 (Wed, 22 Feb 2012) New Revision: 5673 Modified: SwiftApps/SciColSim/swiftopt.sh SwiftApps/SciColSim/testopt.py Log: o change the default paramset in testopt.py to VERYFASTTEST o swiftopt.sh now runs the convertbest.sh util on the output from annealing.swift Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-22 23:24:05 UTC (rev 5672) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-22 23:41:03 UTC (rev 5673) @@ -147,8 +147,10 @@ runswift "$execsite.xml" fi -exit $? +../bin/convertbest.sh *.txt +exit + # @arg("nworkers","4") # @arg("rerunsperapp", "100") # @arg("seed", "0" ) FIXME Modified: SwiftApps/SciColSim/testopt.py =================================================================== --- SwiftApps/SciColSim/testopt.py 2012-02-22 23:24:05 UTC (rev 5672) +++ SwiftApps/SciColSim/testopt.py 2012-02-22 23:41:03 UTC (rev 5673) @@ -12,7 +12,7 @@ #paramset="default" #paramset="mw2" #paramset="VERYFASTTEST" -paramset="beta" +paramset="VERYFASTTEST" print("Running with parameter set " + paramset + "\n\n"); From ketan at ci.uchicago.edu Wed Feb 22 17:42:23 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 22 Feb 2012 17:42:23 -0600 (CST) Subject: [Swift-commit] r5674 - SwiftApps/Cybershake Message-ID: <20120222234223.642A39CCB3@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-22 17:42:23 -0600 (Wed, 22 Feb 2012) New Revision: 5674 Modified: SwiftApps/Cybershake/README Log: Modified: SwiftApps/Cybershake/README =================================================================== --- SwiftApps/Cybershake/README 2012-02-22 23:41:03 UTC (rev 5673) +++ SwiftApps/Cybershake/README 2012-02-22 23:42:23 UTC (rev 5674) @@ -7,9 +7,19 @@ The profile of the workflow is as follows: +TEST DATASET, throttled to 8 jobs +getsite: 1 appcall 0.5 to 10 seconds +getrupture: 1 appcall 2 to 10 seconds +getvariations: 393 appcalls -- +extract: 393 appcalls 45 mins till here +seispeak_local: 2420 appcalls, takes 4 hours and 15 minutes +seispeak_agg: + +LGU DATASET getsite: 1 appcalls getrupture: 1 appcalls -getvariations: 393 appcalls -extract: 393 appcalls -seispeak_local: +getvariations: 5939 appcalls +extract: 5939 appcalls +seispeak_local: appcalls seispeak_agg: + From davidk at ci.uchicago.edu Thu Feb 23 00:39:53 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Thu, 23 Feb 2012 00:39:53 -0600 (CST) Subject: [Swift-commit] r5675 - trunk/bin Message-ID: <20120223063953.AC33E9D031@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-23 00:39:51 -0600 (Thu, 23 Feb 2012) New Revision: 5675 Modified: trunk/bin/start-coaster-service Log: Need a bigger delay between dummy script starting and workers starting Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-22 23:42:23 UTC (rev 5674) +++ trunk/bin/start-coaster-service 2012-02-23 06:39:51 UTC (rev 5675) @@ -414,6 +414,7 @@ echo "echo(\"hi\");" >> hi.swift swift -sites.file sites.xml -tc.file tc.data -config cf hi.swift > /dev/null 2>&1 & DUMMYPID=$! +sleep 15 # Start workers case $WORKER_MODE in From davidk at ci.uchicago.edu Fri Feb 24 14:09:31 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Fri, 24 Feb 2012 14:09:31 -0600 (CST) Subject: [Swift-commit] r5676 - trunk/bin Message-ID: <20120224200931.7D43A9CCE8@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-24 14:09:31 -0600 (Fri, 24 Feb 2012) New Revision: 5676 Modified: trunk/bin/start-coaster-service Log: Pass worker logging settings correctly Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-23 06:39:51 UTC (rev 5675) +++ trunk/bin/start-coaster-service 2012-02-24 20:09:31 UTC (rev 5676) @@ -229,14 +229,14 @@ ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $MACHINE mkdir -p $WORKER_LOCATION > /dev/null 2>&1 ssh $WORKER_USERNAME@$WORKER_RELAY_HOST "scp /tmp/$WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION" > /dev/null 2>&1 echo Starting worker on $MACHINE - ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER http://localhost:$PORT $MACHINE $WORKER_LOG_DIR" & + ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $WORKER_LOG_DIR" & echo $! >> $PID_FILE # Connect directly else ssh $WORKER_USERNAME@$MACHINE mkdir -p $WORKER_LOCATION > /dev/null 2>&1 scp $SWIFT_BIN/$WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION > /dev/null 2>&1 echo Starting worker on $MACHINE - ssh $WORKER_USERNAME@$MACHINE "$WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $LOG_DIR" & + ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $WORKER_LOG_DIR" & echo $! >> $PID_FILE fi done From davidk at ci.uchicago.edu Sat Feb 25 03:06:15 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Sat, 25 Feb 2012 03:06:15 -0600 (CST) Subject: [Swift-commit] r5677 - in trunk: bin src/org/griphyn/vdl/karajan/lib/swiftscript Message-ID: <20120225090615.457A29D0AE@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-25 03:06:14 -0600 (Sat, 25 Feb 2012) New Revision: 5677 Modified: trunk/bin/start-coaster-service trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java Log: @toint, @tostring, and @tofloat were giving deprecated warnings, but their alternatives, @toInt, @toString, and @toFloat weren't defined. They should all be working now start-coaster-service now forwards agents when starting workers through a relay-host Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-24 20:09:31 UTC (rev 5676) +++ trunk/bin/start-coaster-service 2012-02-25 09:06:14 UTC (rev 5677) @@ -213,7 +213,7 @@ fi if [ -n "$WORKER_RELAY_HOST" ]; then - scp $SWIFT_BIN/$WORKER $WORKER_USERNAME@$WORKER_RELAY_HOST:/tmp > /dev/null 2>&1 + scp -A $SWIFT_BIN/$WORKER $WORKER_USERNAME@$WORKER_RELAY_HOST:/tmp > /dev/null 2>&1 fi for MACHINE in $WORKER_HOSTS @@ -226,10 +226,10 @@ # Use a relay host if [ -n "$WORKER_RELAY_HOST" ]; then - ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $MACHINE mkdir -p $WORKER_LOCATION > /dev/null 2>&1 - ssh $WORKER_USERNAME@$WORKER_RELAY_HOST "scp /tmp/$WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION" > /dev/null 2>&1 + ssh -A $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $MACHINE mkdir -p $WORKER_LOCATION > /dev/null 2>&1 + ssh -A $WORKER_USERNAME@$WORKER_RELAY_HOST "scp /tmp/$WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION" > /dev/null 2>&1 echo Starting worker on $MACHINE - ssh $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $WORKER_LOG_DIR" & + ssh -A $WORKER_USERNAME@$WORKER_RELAY_HOST ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $WORKER_LOG_DIR" & echo $! >> $PID_FILE # Connect directly else Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2012-02-24 20:09:31 UTC (rev 5676) +++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2012-02-25 09:06:14 UTC (rev 5677) @@ -51,21 +51,25 @@ public static final SwiftArg PA_ARRAY = new SwiftArg.Positional("array"); static { + setArguments("swiftscript_dirname", new Arg[] { PA_FILE }); + setArguments("swiftscript_exists", new Arg[] { Arg.VARGS }); + setArguments("swiftscript_existsfile", new Arg[] { PA_FILE }); + setArguments("swiftscript_format", new Arg[] { PA_INPUT, PA_TRANSFORM }); + setArguments("swiftscript_length", new Arg[] { PA_ARRAY }); + setArguments("swiftscript_pad", new Arg[] { PA_INPUT, PA_TRANSFORM }); + setArguments("swiftscript_regexp", new Arg[] { PA_INPUT, PA_PATTERN, PA_TRANSFORM }); + setArguments("swiftscript_strcat", new Arg[] { Arg.VARGS }); + setArguments("swiftscript_strcut", new Arg[] { PA_INPUT, PA_PATTERN }); + setArguments("swiftscript_strsplit", new Arg[] { PA_INPUT, PA_PATTERN }); + setArguments("swiftscript_strstr", new Arg[] { PA_INPUT, PA_PATTERN }); setArguments("swiftscript_trace", new Arg[] { Arg.VARGS }); - setArguments("swiftscript_strcat", new Arg[] { Arg.VARGS }); - setArguments("swiftscript_exists", new Arg[] { Arg.VARGS }); - setArguments("swiftscript_strcut", new Arg[] { PA_INPUT, PA_PATTERN }); - setArguments("swiftscript_strstr", new Arg[] { PA_INPUT, PA_PATTERN }); - setArguments("swiftscript_strsplit", new Arg[] { PA_INPUT, PA_PATTERN }); - setArguments("swiftscript_regexp", new Arg[] { PA_INPUT, PA_PATTERN, PA_TRANSFORM }); + setArguments("swiftscript_to_int", new Arg[] { PA_INPUT }); setArguments("swiftscript_toint", new Arg[] { PA_INPUT }); + setArguments("swiftscript_to_float", new Arg[] { PA_INPUT }); setArguments("swiftscript_tofloat", new Arg[] { PA_INPUT }); - setArguments("swiftscript_format", new Arg[] { PA_INPUT, PA_TRANSFORM }); - setArguments("swiftscript_pad", new Arg[] { PA_INPUT, PA_TRANSFORM }); - setArguments("swiftscript_tostring", new Arg[] { PA_INPUT }); - setArguments("swiftscript_dirname", new Arg[] { PA_FILE }); - setArguments("swiftscript_length", new Arg[] { PA_ARRAY }); - setArguments("swiftscript_existsfile", new Arg[] { PA_FILE }); + setArguments("swiftscript_to_string", new Arg[] { PA_INPUT }); + setArguments("swiftscript_tostring", new Arg[] { PA_INPUT }); + } private static final Logger traceLogger = @@ -293,8 +297,13 @@ return handle; } - public DSHandle swiftscript_toint(VariableStack stack) + public DSHandle swiftscript_toint(VariableStack stack) throws ExecutionException { + return swiftscript_to_int(stack); + } + + public DSHandle swiftscript_to_int(VariableStack stack) + throws ExecutionException { String inputString = TypeUtil.toString(PA_INPUT.getValue(stack)); int i = inputString.indexOf("."); if( i >= 0 ) @@ -321,6 +330,11 @@ public DSHandle swiftscript_tofloat(VariableStack stack) throws ExecutionException { + return swiftscript_to_float(stack); + } + + public DSHandle swiftscript_to_float(VariableStack stack) + throws ExecutionException { String inputString = TypeUtil.toString(PA_INPUT.getValue(stack)); DSHandle handle = new RootDataNode(Types.FLOAT); @@ -386,6 +400,11 @@ public DSHandle swiftscript_tostring(VariableStack stack) throws ExecutionException { + return swiftscript_to_string(stack); + } + + public DSHandle swiftscript_to_string(VariableStack stack) + throws ExecutionException { Object input = PA_INPUT.getValue(stack); DSHandle handle = new RootDataNode(Types.STRING); if (input instanceof DSHandle) { From swift at ci.uchicago.edu Sat Feb 25 03:15:04 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 25 Feb 2012 03:15:04 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120225091505.0F6318D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Sat Feb 25 03:15:08 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 25 Feb 2012 03:15:08 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120225091508.48B138D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Sat Feb 25 03:20:14 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 25 Feb 2012 03:20:14 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120225092014.1CD098D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Sat Feb 25 03:20:17 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 25 Feb 2012 03:20:17 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120225092017.8DCD98D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Sat Feb 25 03:25:05 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 25 Feb 2012 03:25:05 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120225092505.3726F8D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Sat Feb 25 03:25:08 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 25 Feb 2012 03:25:08 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120225092508.F40CF8D00092@bridled.ci.uchicago.edu> From jonmon at ci.uchicago.edu Sat Feb 25 16:05:50 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Sat, 25 Feb 2012 16:05:50 -0600 (CST) Subject: [Swift-commit] r5678 - SwiftApps/SciColSim/conf Message-ID: <20120225220550.7FE339CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-25 16:05:50 -0600 (Sat, 25 Feb 2012) New Revision: 5678 Added: SwiftApps/SciColSim/conf/coasterslocal.cf SwiftApps/SciColSim/conf/coasterslocal.xml Log: o added configuration to run coasters on the localhost Added: SwiftApps/SciColSim/conf/coasterslocal.cf =================================================================== --- SwiftApps/SciColSim/conf/coasterslocal.cf (rev 0) +++ SwiftApps/SciColSim/conf/coasterslocal.cf 2012-02-25 22:05:50 UTC (rev 5678) @@ -0,0 +1,10 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=5 +lazy.errors=true +status.mode=provider +use.provider.staging=false +provider.staging.pin.swiftfiles=false + +#app local sumloss=$PWD/../sumloss.sh +#app coasterslocal evolve=$PWD/../evolve.sh Added: SwiftApps/SciColSim/conf/coasterslocal.xml =================================================================== --- SwiftApps/SciColSim/conf/coasterslocal.xml (rev 0) +++ SwiftApps/SciColSim/conf/coasterslocal.xml 2012-02-25 22:05:50 UTC (rev 5678) @@ -0,0 +1,21 @@ + + + + + _WORK_/local + + + + + + 2.55 + 10000 + 1 + 2 + 1000 + 1 + 1 + _WORK_/localcoasters + + + From davidk at ci.uchicago.edu Sat Feb 25 19:55:22 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Sat, 25 Feb 2012 19:55:22 -0600 (CST) Subject: [Swift-commit] r5679 - trunk/tests/sites/mcs Message-ID: <20120226015522.5F2C99CCE8@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-25 19:55:22 -0600 (Sat, 25 Feb 2012) New Revision: 5679 Modified: trunk/tests/sites/mcs/coaster-service.conf Log: Update the MCS coaster-service.conf file used for testing and documentation Modified: trunk/tests/sites/mcs/coaster-service.conf =================================================================== --- trunk/tests/sites/mcs/coaster-service.conf 2012-02-25 22:05:50 UTC (rev 5678) +++ trunk/tests/sites/mcs/coaster-service.conf 2012-02-26 01:55:22 UTC (rev 5679) @@ -1,36 +1,44 @@ -# Keep all interesting settings in one place -# User should modify this to fit environment - # Location of SWIFT. If empty, PATH is referenced export SWIFT= # Where to place/launch worker.pl on the remote machine for sites.xml -export WORKER_WORK=/home/${USER}/work +export WORKER_LOCATION=/home/${USER}/work # How to launch workers: local, ssh, or cobalt export WORKER_MODE=ssh # Worker logging setting passed to worker.pl for sites.xml -export WORKER_LOGGING=INFO +export WORKER_LOGGING_LEVEL=INFO +# User name to use for all systems +export WORKER_USERNAME=$USER + # Worker host names for ssh -export WORKER_HOSTS="crush.mcs.anl.gov thwomp.mcs.anl.gov stomp.mcs.anl.gov crank.mcs.anl.gov -steamroller.mcs.anl.gov grind.mcs.anl.gov churn.mcs.anl.gov trounce.mcs.anl.gov -thrash.mcs.anl.gov vanquish.mcs.anl.gov" +export WORKER_HOSTS="crush thwomp stomp crank grind churn trounce thrash vanquish" # Directory to keep log files, relative to working directory when launching start-coaster-service export LOG_DIR=logs +export WORKER_LOG_DIR=/home/${USER}/work # Manually define ports. If not specified, ports will be automatically generated export LOCAL_PORT= export SERVICE_PORT= +# Set shared filesystem to no since work will be done in local /sandbox directory +export SHARED_FILESYSTEM=yes + # start-coaster-service tries to automatically detect IP address. # Specify here if auto detection is not working correctly export IPADDR= # Below are various settings to give information about how to create sites.xml -export work=$HOME/work -export queue=prod-devel -export maxtime=20 -export nodes=64 +export WORK=/home/${USER}/work +export JOBS_PER_NODE=4 + +# Try to determine throttle automatically based on the number of nodes and jobs per node +export JOB_THROTTLE=$( echo "scale=5; ($JOBS_PER_NODE * $( echo $WORKER_HOSTS | wc -w ))/100 - 0.00001"|bc ) + +# Swift applications +#app cat=/bin/cat +#app bash=/bin/bash +#app echo=/bin/echo From ketan at ci.uchicago.edu Sat Feb 25 21:47:30 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 25 Feb 2012 21:47:30 -0600 (CST) Subject: [Swift-commit] r5680 - branches/release-0.93/tests/sites/mcs Message-ID: <20120226034730.999229D0AE@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-25 21:47:30 -0600 (Sat, 25 Feb 2012) New Revision: 5680 Modified: branches/release-0.93/tests/sites/mcs/coaster-service.conf Log: Modified: branches/release-0.93/tests/sites/mcs/coaster-service.conf =================================================================== --- branches/release-0.93/tests/sites/mcs/coaster-service.conf 2012-02-26 01:55:22 UTC (rev 5679) +++ branches/release-0.93/tests/sites/mcs/coaster-service.conf 2012-02-26 03:47:30 UTC (rev 5680) @@ -5,7 +5,7 @@ export SWIFT= # Where to place/launch worker.pl on the remote machine for sites.xml -export WORKER_WORK=/home/${USER}/work +export WORKER_LOCATION=/home/${USER}/work # How to launch workers: local, ssh, or cobalt export WORKER_MODE=ssh From ketan at ci.uchicago.edu Sat Feb 25 21:48:39 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 25 Feb 2012 21:48:39 -0600 (CST) Subject: [Swift-commit] r5681 - branches/release-0.93/tests/sites/mcs Message-ID: <20120226034839.7EE7D9D0AE@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-25 21:48:39 -0600 (Sat, 25 Feb 2012) New Revision: 5681 Modified: branches/release-0.93/tests/sites/mcs/coaster-service.conf Log: updates in coaster-service.conf Modified: branches/release-0.93/tests/sites/mcs/coaster-service.conf =================================================================== --- branches/release-0.93/tests/sites/mcs/coaster-service.conf 2012-02-26 03:47:30 UTC (rev 5680) +++ branches/release-0.93/tests/sites/mcs/coaster-service.conf 2012-02-26 03:48:39 UTC (rev 5681) @@ -5,7 +5,7 @@ export SWIFT= # Where to place/launch worker.pl on the remote machine for sites.xml -export WORKER_LOCATION=/home/${USER}/work +export WORKER_LOCATION=/sandbox/${USER} # How to launch workers: local, ssh, or cobalt export WORKER_MODE=ssh @@ -13,18 +13,36 @@ # Worker logging setting passed to worker.pl for sites.xml export WORKER_LOGGING=INFO +# User name to use for all systems +export WORKER_USERNAME=$USER + # Worker host names for ssh -export WORKER_HOSTS="crush.mcs.anl.gov thwomp.mcs.anl.gov stomp.mcs.anl.gov crank.mcs.anl.gov -steamroller.mcs.anl.gov grind.mcs.anl.gov churn.mcs.anl.gov trounce.mcs.anl.gov +export WORKER_HOSTS="crush.mcs.anl.gov thwomp.mcs.anl.gov stomp.mcs.anl.gov crank.mcs.anl.gov +steamroller.mcs.anl.gov grind.mcs.anl.gov churn.mcs.anl.gov trounce.mcs.anl.gov thrash.mcs.anl.gov vanquish.mcs.anl.gov" # Directory to keep log files, relative to working directory when launching start-coaster-service export LOG_DIR=logs +export WORKER_LOG_DIR=/home/ketan/worker.log # Manually define ports. If not specified, ports will be automatically generated export LOCAL_PORT= export SERVICE_PORT= +# Set shared filesystem to no since work will be done in local /sandbox directory +export SHARED_FILESYSTEM=no + # start-coaster-service tries to automatically detect IP address. # Specify here if auto detection is not working correctly export IPADDR= + +# Below are various settings to give information about how to create sites.xml + export WORK=/sandbox/${USER} + export JOBS_PER_NODE=8 + export JOB_THROTTLE=$( echo "scale=5; ($JOBS_PER_NODE * $( echo $WORKER_HOSTS | wc -w ))/100 - 0.00001"|bc ) + +# Swift applications +#app cat=/bin/cat +#app bash=/bin/bash +#app echo=/bin/echo + From davidk at ci.uchicago.edu Sat Feb 25 22:31:40 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Sat, 25 Feb 2012 22:31:40 -0600 (CST) Subject: [Swift-commit] r5682 - trunk/bin Message-ID: <20120226043140.9C6449CCE8@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-25 22:31:40 -0600 (Sat, 25 Feb 2012) New Revision: 5682 Modified: trunk/bin/gensites Log: More reliable way to find template directory.. assume that gensites is included in a swift distribution, and don't rely on PATH Modified: trunk/bin/gensites =================================================================== --- trunk/bin/gensites 2012-02-26 03:48:39 UTC (rev 5681) +++ trunk/bin/gensites 2012-02-26 04:31:40 UTC (rev 5682) @@ -76,10 +76,9 @@ # Determine SWIFT_HOME if [ -z "$SWIFT_HOME" ]; then - SWIFT_BIN_DIR=`which swift` - + SWIFT_BIN_DIR="$( cd "$( dirname "$0" )" && pwd )" if [ ! -d "$SWIFT_HOME" ]; then - SWIFT_HOME=`dirname $SWIFT_BIN_DIR`"/../etc/sites" + SWIFT_HOME="$( cd $SWIFT_BIN_DIR/../etc/sites && pwd )" fi # Can't find swift path, give up From wilde at ci.uchicago.edu Sun Feb 26 12:08:24 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 26 Feb 2012 12:08:24 -0600 (CST) Subject: [Swift-commit] r5683 - trunk/examples/tutorial Message-ID: <20120226180824.7C8589CC9F@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-26 12:08:23 -0600 (Sun, 26 Feb 2012) New Revision: 5683 Added: trunk/examples/tutorial/gensweep.sh trunk/examples/tutorial/simulate.sh trunk/examples/tutorial/sweep.sh trunk/examples/tutorial/sweep.swift Log: Initial version. Added: trunk/examples/tutorial/gensweep.sh =================================================================== --- trunk/examples/tutorial/gensweep.sh (rev 0) +++ trunk/examples/tutorial/gensweep.sh 2012-02-26 18:08:23 UTC (rev 5683) @@ -0,0 +1,36 @@ +#! /bin/sh + +# +# gensweep.sh - Generate per-member and common parameter files +# for a parameter sweep (an ensemble of simulations). +# Generates 2-column files of the form: "paramter value" + +# echo gensweep.sh: $0 $* >/dev/tty # For debugging on localhost + +# Determine the filename patterns from the supplied zero'th file names + +nMembers=$1 +mBase=$(basename $2 .0) +mDir=$(dirname $2) +mName=$mDir/$mBase + +nCommon=$3 +cBase=$(basename $4 .0) +cDir=$(dirname $4) +cName=$cDir/$cBase + +# Generate an input file for each simulation in the ensemble + +for (( m=0; m$mName.$m + echo rate $RANDOM >>$mName.$m + echo dx $RANDOM >>$mName.$m +done + +# Generate the input files common to all simulations in the ensemble + +for (( c=0; c$cName.$c + echo alpha $RANDOM >>$cName.$c + echo beta $RANDOM >>$cName.$c +done Property changes on: trunk/examples/tutorial/gensweep.sh ___________________________________________________________________ Added: svn:executable + Added: trunk/examples/tutorial/simulate.sh =================================================================== --- trunk/examples/tutorial/simulate.sh (rev 0) +++ trunk/examples/tutorial/simulate.sh 2012-02-26 18:08:23 UTC (rev 5683) @@ -0,0 +1,18 @@ +#! /bin/sh + +# +# simulate.sh - a tiny script to model a "simulation application" +# Reads N files of 2-column lines of the form "parameter value" +# Computes a random function of (some of) the inputs + +awk ' # Prints a single text line result with a random function of (some of) the input parameters + +{ param[$1] = $2 } # read in the parameter values (for this member plus common files) + +END { + srand(param["n"] * param["rate"]) / param["beta"]; # the "simulation" :) + printf ("Simulation number: %d alpha: %f beta: %f: result: %f\n", param["n"], + param["alpha"], param["beta"], rand()); +} + +' $* # member-file common-files... Property changes on: trunk/examples/tutorial/simulate.sh ___________________________________________________________________ Added: svn:executable + Added: trunk/examples/tutorial/sweep.sh =================================================================== --- trunk/examples/tutorial/sweep.sh (rev 0) +++ trunk/examples/tutorial/sweep.sh 2012-02-26 18:08:23 UTC (rev 5683) @@ -0,0 +1,42 @@ +#! /bin/sh + +# Create new runNNN directory + +rundir=$( echo run??? | sed -e 's/^.*run//' | awk '{ printf("run%03d\n", $1+1)}' ) +mkdir $rundir + +cat >$rundir/cf <$rundir/local.xml < + + + .23 + 10000 + + $PWD/swiftwork + + + +END + +cat >$rundir/tc <&1 | tee swift.out Property changes on: trunk/examples/tutorial/sweep.sh ___________________________________________________________________ Added: svn:executable + Added: trunk/examples/tutorial/sweep.swift =================================================================== --- trunk/examples/tutorial/sweep.swift (rev 0) +++ trunk/examples/tutorial/sweep.swift 2012-02-26 18:08:23 UTC (rev 5683) @@ -0,0 +1,62 @@ +type file; + +# Application to generate the parameter and data files + +app (file m[], file c[]) genSweep (int nm, int nc) +{ + gensweep nm @filename(m[0]) nc @filename(c[0]); +} + +# Application to perform a "simulation" + +app (file o) simulation (file f, file common[]) +{ + simulate stdout=@filename(o) @filename(f) @filenames(common); +} + +# Set the size of the parameter sweep + +int nMembers = @toInt(@arg("nMembers","5")); // number of members in the simulation +int nCommon = @toInt(@arg("nCommon","3")); // number of common files to each sim +tracef("Running parameter sweep ensemble of %i members with %i common files\n", nMembers, nCommon); + +# Generate the file names to use + +string mName[]; +string oName[]; +string cName[]; + +foreach i in [0:nMembers-1] { + mName[i] = @sprintf("member.%i",i); + oName[i] = @sprintf("result.%i",i); +} + +foreach i in [0:nCommon-1] { + cName[i] = @sprintf("common.%i",i); +} + +# Set the file names to use + +file mFile[] ; +file cFile[] ; +file oFile[] ; + +# Generate the files for the ensemble run + +(mFile, cFile) = genSweep(nMembers, nCommon); + +# Perform the ensemble of parallel simulations + +foreach f, i in mFile { + oFile[i] = simulation(f, cFile); +} + + + +/* For debugging: + +trace("mFiles", at filenames(mFile)); +trace("oFiles", at filenames(oFile)); +trace("cFiles", at filenames(cFile)); + +*/ \ No newline at end of file From wilde at ci.uchicago.edu Sun Feb 26 12:10:35 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 26 Feb 2012 12:10:35 -0600 (CST) Subject: [Swift-commit] r5684 - trunk/examples/tutorial Message-ID: <20120226181035.101C39CC9F@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-26 12:10:34 -0600 (Sun, 26 Feb 2012) New Revision: 5684 Added: trunk/examples/tutorial/ParameterSweep/ Log: Initial version. From wilde at ci.uchicago.edu Sun Feb 26 12:20:37 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 26 Feb 2012 12:20:37 -0600 (CST) Subject: [Swift-commit] r5685 - in trunk/examples/tutorial: . ParameterSweep Message-ID: <20120226182037.CEC579CC9F@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-26 12:20:37 -0600 (Sun, 26 Feb 2012) New Revision: 5685 Added: trunk/examples/tutorial/ParameterSweep/README trunk/examples/tutorial/ParameterSweep/gensweep.sh trunk/examples/tutorial/ParameterSweep/simulate.sh trunk/examples/tutorial/ParameterSweep/sweep.sh trunk/examples/tutorial/ParameterSweep/sweep.swift Removed: trunk/examples/tutorial/gensweep.sh trunk/examples/tutorial/simulate.sh trunk/examples/tutorial/sweep.sh trunk/examples/tutorial/sweep.swift Log: Move initial files for ParameterSweep tutorial example to right place; add README. Added: trunk/examples/tutorial/ParameterSweep/README =================================================================== --- trunk/examples/tutorial/ParameterSweep/README (rev 0) +++ trunk/examples/tutorial/ParameterSweep/README 2012-02-26 18:20:37 UTC (rev 5685) @@ -0,0 +1,18 @@ + +This directory contains an example of running a "parameter sweep" or +"ensemble" of N simulations or "members". + +To run: + + # make sure Swift 0.93 or trunk is in your $PATH + + svn co https://svn.ci.uchicago.edu/svn/vdl2/trunk/tutorial/ParameterSweep + cd ParameterSweep + + ./sweep.sh # Runs default sweep of 5 members with 3 common data/parameter files + + ./sweep.sh -nMembers=20 -nCommon=2 # 20 members with 2 common data/parameter files + + # Each run is executed in a new unique runNNN directory: run001, run002, ... + + # tc, sites file (local.xml), and Swift properties files (cf) are generated by sweep.sh Copied: trunk/examples/tutorial/ParameterSweep/gensweep.sh (from rev 5684, trunk/examples/tutorial/gensweep.sh) =================================================================== --- trunk/examples/tutorial/ParameterSweep/gensweep.sh (rev 0) +++ trunk/examples/tutorial/ParameterSweep/gensweep.sh 2012-02-26 18:20:37 UTC (rev 5685) @@ -0,0 +1,36 @@ +#! /bin/sh + +# +# gensweep.sh - Generate per-member and common parameter files +# for a parameter sweep (an ensemble of simulations). +# Generates 2-column files of the form: "paramter value" + +# echo gensweep.sh: $0 $* >/dev/tty # For debugging on localhost + +# Determine the filename patterns from the supplied zero'th file names + +nMembers=$1 +mBase=$(basename $2 .0) +mDir=$(dirname $2) +mName=$mDir/$mBase + +nCommon=$3 +cBase=$(basename $4 .0) +cDir=$(dirname $4) +cName=$cDir/$cBase + +# Generate an input file for each simulation in the ensemble + +for (( m=0; m$mName.$m + echo rate $RANDOM >>$mName.$m + echo dx $RANDOM >>$mName.$m +done + +# Generate the input files common to all simulations in the ensemble + +for (( c=0; c$cName.$c + echo alpha $RANDOM >>$cName.$c + echo beta $RANDOM >>$cName.$c +done Copied: trunk/examples/tutorial/ParameterSweep/simulate.sh (from rev 5684, trunk/examples/tutorial/simulate.sh) =================================================================== --- trunk/examples/tutorial/ParameterSweep/simulate.sh (rev 0) +++ trunk/examples/tutorial/ParameterSweep/simulate.sh 2012-02-26 18:20:37 UTC (rev 5685) @@ -0,0 +1,18 @@ +#! /bin/sh + +# +# simulate.sh - a tiny script to model a "simulation application" +# Reads N files of 2-column lines of the form "parameter value" +# Computes a random function of (some of) the inputs + +awk ' # Prints a single text line result with a random function of (some of) the input parameters + +{ param[$1] = $2 } # read in the parameter values (for this member plus common files) + +END { + srand(param["n"] * param["rate"]) / param["beta"]; # the "simulation" :) + printf ("Simulation number: %d alpha: %f beta: %f: result: %f\n", param["n"], + param["alpha"], param["beta"], rand()); +} + +' $* # member-file common-files... Copied: trunk/examples/tutorial/ParameterSweep/sweep.sh (from rev 5684, trunk/examples/tutorial/sweep.sh) =================================================================== --- trunk/examples/tutorial/ParameterSweep/sweep.sh (rev 0) +++ trunk/examples/tutorial/ParameterSweep/sweep.sh 2012-02-26 18:20:37 UTC (rev 5685) @@ -0,0 +1,42 @@ +#! /bin/sh + +# Create new runNNN directory + +rundir=$( echo run??? | sed -e 's/^.*run//' | awk '{ printf("run%03d\n", $1+1)}' ) +mkdir $rundir + +cat >$rundir/cf <$rundir/local.xml < + + + .23 + 10000 + + $PWD/swiftwork + + + +END + +cat >$rundir/tc <&1 | tee swift.out Copied: trunk/examples/tutorial/ParameterSweep/sweep.swift (from rev 5684, trunk/examples/tutorial/sweep.swift) =================================================================== --- trunk/examples/tutorial/ParameterSweep/sweep.swift (rev 0) +++ trunk/examples/tutorial/ParameterSweep/sweep.swift 2012-02-26 18:20:37 UTC (rev 5685) @@ -0,0 +1,62 @@ +type file; + +# Application to generate the parameter and data files + +app (file m[], file c[]) genSweep (int nm, int nc) +{ + gensweep nm @filename(m[0]) nc @filename(c[0]); +} + +# Application to perform a "simulation" + +app (file o) simulation (file f, file common[]) +{ + simulate stdout=@filename(o) @filename(f) @filenames(common); +} + +# Set the size of the parameter sweep + +int nMembers = @toInt(@arg("nMembers","5")); // number of members in the simulation +int nCommon = @toInt(@arg("nCommon","3")); // number of common files to each sim +tracef("Running parameter sweep ensemble of %i members with %i common files\n", nMembers, nCommon); + +# Generate the file names to use + +string mName[]; +string oName[]; +string cName[]; + +foreach i in [0:nMembers-1] { + mName[i] = @sprintf("member.%i",i); + oName[i] = @sprintf("result.%i",i); +} + +foreach i in [0:nCommon-1] { + cName[i] = @sprintf("common.%i",i); +} + +# Set the file names to use + +file mFile[] ; +file cFile[] ; +file oFile[] ; + +# Generate the files for the ensemble run + +(mFile, cFile) = genSweep(nMembers, nCommon); + +# Perform the ensemble of parallel simulations + +foreach f, i in mFile { + oFile[i] = simulation(f, cFile); +} + + + +/* For debugging: + +trace("mFiles", at filenames(mFile)); +trace("oFiles", at filenames(oFile)); +trace("cFiles", at filenames(cFile)); + +*/ \ No newline at end of file Deleted: trunk/examples/tutorial/gensweep.sh =================================================================== --- trunk/examples/tutorial/gensweep.sh 2012-02-26 18:10:34 UTC (rev 5684) +++ trunk/examples/tutorial/gensweep.sh 2012-02-26 18:20:37 UTC (rev 5685) @@ -1,36 +0,0 @@ -#! /bin/sh - -# -# gensweep.sh - Generate per-member and common parameter files -# for a parameter sweep (an ensemble of simulations). -# Generates 2-column files of the form: "paramter value" - -# echo gensweep.sh: $0 $* >/dev/tty # For debugging on localhost - -# Determine the filename patterns from the supplied zero'th file names - -nMembers=$1 -mBase=$(basename $2 .0) -mDir=$(dirname $2) -mName=$mDir/$mBase - -nCommon=$3 -cBase=$(basename $4 .0) -cDir=$(dirname $4) -cName=$cDir/$cBase - -# Generate an input file for each simulation in the ensemble - -for (( m=0; m$mName.$m - echo rate $RANDOM >>$mName.$m - echo dx $RANDOM >>$mName.$m -done - -# Generate the input files common to all simulations in the ensemble - -for (( c=0; c$cName.$c - echo alpha $RANDOM >>$cName.$c - echo beta $RANDOM >>$cName.$c -done Deleted: trunk/examples/tutorial/simulate.sh =================================================================== --- trunk/examples/tutorial/simulate.sh 2012-02-26 18:10:34 UTC (rev 5684) +++ trunk/examples/tutorial/simulate.sh 2012-02-26 18:20:37 UTC (rev 5685) @@ -1,18 +0,0 @@ -#! /bin/sh - -# -# simulate.sh - a tiny script to model a "simulation application" -# Reads N files of 2-column lines of the form "parameter value" -# Computes a random function of (some of) the inputs - -awk ' # Prints a single text line result with a random function of (some of) the input parameters - -{ param[$1] = $2 } # read in the parameter values (for this member plus common files) - -END { - srand(param["n"] * param["rate"]) / param["beta"]; # the "simulation" :) - printf ("Simulation number: %d alpha: %f beta: %f: result: %f\n", param["n"], - param["alpha"], param["beta"], rand()); -} - -' $* # member-file common-files... Deleted: trunk/examples/tutorial/sweep.sh =================================================================== --- trunk/examples/tutorial/sweep.sh 2012-02-26 18:10:34 UTC (rev 5684) +++ trunk/examples/tutorial/sweep.sh 2012-02-26 18:20:37 UTC (rev 5685) @@ -1,42 +0,0 @@ -#! /bin/sh - -# Create new runNNN directory - -rundir=$( echo run??? | sed -e 's/^.*run//' | awk '{ printf("run%03d\n", $1+1)}' ) -mkdir $rundir - -cat >$rundir/cf <$rundir/local.xml < - - - .23 - 10000 - - $PWD/swiftwork - - - -END - -cat >$rundir/tc <&1 | tee swift.out Deleted: trunk/examples/tutorial/sweep.swift =================================================================== --- trunk/examples/tutorial/sweep.swift 2012-02-26 18:10:34 UTC (rev 5684) +++ trunk/examples/tutorial/sweep.swift 2012-02-26 18:20:37 UTC (rev 5685) @@ -1,62 +0,0 @@ -type file; - -# Application to generate the parameter and data files - -app (file m[], file c[]) genSweep (int nm, int nc) -{ - gensweep nm @filename(m[0]) nc @filename(c[0]); -} - -# Application to perform a "simulation" - -app (file o) simulation (file f, file common[]) -{ - simulate stdout=@filename(o) @filename(f) @filenames(common); -} - -# Set the size of the parameter sweep - -int nMembers = @toInt(@arg("nMembers","5")); // number of members in the simulation -int nCommon = @toInt(@arg("nCommon","3")); // number of common files to each sim -tracef("Running parameter sweep ensemble of %i members with %i common files\n", nMembers, nCommon); - -# Generate the file names to use - -string mName[]; -string oName[]; -string cName[]; - -foreach i in [0:nMembers-1] { - mName[i] = @sprintf("member.%i",i); - oName[i] = @sprintf("result.%i",i); -} - -foreach i in [0:nCommon-1] { - cName[i] = @sprintf("common.%i",i); -} - -# Set the file names to use - -file mFile[] ; -file cFile[] ; -file oFile[] ; - -# Generate the files for the ensemble run - -(mFile, cFile) = genSweep(nMembers, nCommon); - -# Perform the ensemble of parallel simulations - -foreach f, i in mFile { - oFile[i] = simulation(f, cFile); -} - - - -/* For debugging: - -trace("mFiles", at filenames(mFile)); -trace("oFiles", at filenames(oFile)); -trace("cFiles", at filenames(cFile)); - -*/ \ No newline at end of file From wilde at ci.uchicago.edu Sun Feb 26 12:34:53 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 26 Feb 2012 12:34:53 -0600 (CST) Subject: [Swift-commit] r5686 - trunk/examples/tutorial/ParameterSweep Message-ID: <20120226183453.5F6369CC9F@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-26 12:34:53 -0600 (Sun, 26 Feb 2012) New Revision: 5686 Modified: trunk/examples/tutorial/ParameterSweep/README Log: Correct svn URL error in README. Modified: trunk/examples/tutorial/ParameterSweep/README =================================================================== --- trunk/examples/tutorial/ParameterSweep/README 2012-02-26 18:20:37 UTC (rev 5685) +++ trunk/examples/tutorial/ParameterSweep/README 2012-02-26 18:34:53 UTC (rev 5686) @@ -6,7 +6,7 @@ # make sure Swift 0.93 or trunk is in your $PATH - svn co https://svn.ci.uchicago.edu/svn/vdl2/trunk/tutorial/ParameterSweep + svn co https://svn.ci.uchicago.edu/svn/vdl2/trunk/examples/tutorial/ParameterSweep cd ParameterSweep ./sweep.sh # Runs default sweep of 5 members with 3 common data/parameter files From wilde at ci.uchicago.edu Sun Feb 26 13:02:23 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 26 Feb 2012 13:02:23 -0600 (CST) Subject: [Swift-commit] r5687 - trunk/examples/tutorial/ParameterSweep Message-ID: <20120226190223.9101E9CCE8@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-26 13:02:23 -0600 (Sun, 26 Feb 2012) New Revision: 5687 Added: trunk/examples/tutorial/ParameterSweep/TODO Log: Add TODO list. Added: trunk/examples/tutorial/ParameterSweep/TODO =================================================================== --- trunk/examples/tutorial/ParameterSweep/TODO (rev 0) +++ trunk/examples/tutorial/ParameterSweep/TODO 2012-02-26 19:02:23 UTC (rev 5687) @@ -0,0 +1,67 @@ + +Test on several systems + +Extend to run on clusters + +Use as an example of errors (tc, exec perm, etc) + +SHow how to find debug info, std outs, etc + +Show the teh various cf params can be adjusted for different needs (debg prdocution, etc) + +Add gnuplot examples + +Add data management examples (eg gsiftp:// and http:// URIs) + +Show all the places things get logged to + +Explain the run*.sh conventions + +Test on multiple sites + + +Add a summary jobs; multi level sweep, etc. + +Do a version for each of: Python, R, Octave, MATLAB + + + +--- + + +This is a simple example which you can run on any local host +(e.g. sandbox.beagle) after you do "module load swift". + +Over time we will add this to the Swift tutorial document, test it, +etc. + +This is meant to provide a base example +(non-MATLAB) from which you can create the MATLAB example(s). Ideally +we will grow this into a tutorial sequence that shows a few useful +variations of organizing a parameter sweep or ensemble of simulations, +including passing parameters only via files, or via a combination of +Swift variables and files. We welcome your help in developing this, +starting with the MATLAB version of it. The first thing for that +would be to develop the MATLAB replacements for gensweep.sh and +simulate.sh. These two "apps" are meant to be stand-ins for the +equivalent MATLAB programs. They use a simple two-column "name value" +file format to simulate a .mat file. + + +TODO: this doesn't yet use gensites. Can we add gensites without +adding any complexity to the sweep.sh script? Or do we want a version +with and without? Hopefully only with. + +We should extend to use PADS, Fusion, Beagle, MCS servers, FutureGrid, +TrySwift, and more. + +Can you start adding this to the tutorial asciidoc? + +TODO: I simplified the handling of run dir creation. Maybe we can refit +this into swiftopt.sh? + +We can do this as a collaborative exercise because the result will be +of great benefit to all new Swift users, MATLAB and non-MATLAB +alike. In fact we should do a version of it for Python, Octave, +MATLAB, and R. + From jonmon at ci.uchicago.edu Sun Feb 26 13:13:13 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Sun, 26 Feb 2012 13:13:13 -0600 (CST) Subject: [Swift-commit] r5688 - SwiftApps/SciColSim Message-ID: <20120226191313.0BCB29CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-26 13:13:12 -0600 (Sun, 26 Feb 2012) New Revision: 5688 Modified: SwiftApps/SciColSim/TODO SwiftApps/SciColSim/swiftopt.sh Log: o minor updates to the TODO o new logic to determine the next rundir added to swiftopt.sh Modified: SwiftApps/SciColSim/TODO =================================================================== --- SwiftApps/SciColSim/TODO 2012-02-26 19:02:23 UTC (rev 5687) +++ SwiftApps/SciColSim/TODO 2012-02-26 19:13:12 UTC (rev 5688) @@ -38,7 +38,7 @@ [ ] Insert kill-and-restart logic to kill and re-run long running outliers. -[ ] echo parameters at start like c++ logic +[x] echo parameters at start like c++ logic [ ] Determine correct test parameter sets - and if we are passing these through correctly. @@ -65,12 +65,12 @@ [-] Make annealing.swift stdout/err output match that of optimizer.cpp -[ ] Align Swift and .cpp code enough do a correctness test. +[x] Align Swift and .cpp code enough do a correctness test. -[ ] Double-check random number generation, and 100-# priming logic. +[x] Double-check random number generation, and 100-# priming logic. Check on rand() vs random() and commented out RAND_MAX expressions. -[ ] Enable precision control for %f formatting (to match c++ +[x] Enable precision control for %f formatting (to match c++ output). Why are we getting some long and some short? Is swift truncating the constant or the tracef output? @@ -88,7 +88,7 @@ [ ] XSEDE [ ] OSG+XSEDE [ ] BG/P -[ ] PADS +[-] PADS [ ] FutureGrid [ ] OSG Cloud [ ] ibiCluster Modified: SwiftApps/SciColSim/swiftopt.sh =================================================================== --- SwiftApps/SciColSim/swiftopt.sh 2012-02-26 19:02:23 UTC (rev 5687) +++ SwiftApps/SciColSim/swiftopt.sh 2012-02-26 19:13:12 UTC (rev 5688) @@ -52,14 +52,8 @@ done # Create next unique run id and run directory -if [ ! -f nextrun ]; then - echo 000 >newrun -else - cat nextrun | awk '{ printf("%03d\n", $1+1)}' >newrun -fi -runid=$(cat newrun 2> /dev/null) -mv newrun nextrun 2> /dev/null -rundir=run${runid} +rundir=$( echo run??? | sed -e 's/^.*run//' | awk '{ printf("run%03d\n", $1+1)}' ) + #Exit if rundir already exits. Something is funky if [ -d $rundir ]; then @@ -79,7 +73,7 @@ sed -e '/^[[:space:]]*\(#.*\)*$/d' -e 's/#.*//' -e 's/ */=/' -e 's/^/export /' $rundir/params.annealing source $rundir/params.annealing swift=../swift/bin/swift # relative to runNNN/ dirs -echo Optimization run $runid: site=$execsite paramfile=$paramfile +echo Optimization $rundir: site=$execsite paramfile=$paramfile # Report an error if configuration files are missing if [ ! -f "conf/$execsite.xml" ] && [ ! -f "conf/$execsite.conf" ]; then From wilde at ci.uchicago.edu Sun Feb 26 13:31:11 2012 From: wilde at ci.uchicago.edu (wilde at ci.uchicago.edu) Date: Sun, 26 Feb 2012 13:31:11 -0600 (CST) Subject: [Swift-commit] r5689 - trunk/examples/tutorial/ParameterSweep Message-ID: <20120226193111.DD2A29CCE8@svn.ci.uchicago.edu> Author: wilde Date: 2012-02-26 13:31:11 -0600 (Sun, 26 Feb 2012) New Revision: 5689 Modified: trunk/examples/tutorial/ParameterSweep/TODO Log: Add todo regarding mapping tutorial items. Modified: trunk/examples/tutorial/ParameterSweep/TODO =================================================================== --- trunk/examples/tutorial/ParameterSweep/TODO 2012-02-26 19:13:12 UTC (rev 5688) +++ trunk/examples/tutorial/ParameterSweep/TODO 2012-02-26 19:31:11 UTC (rev 5689) @@ -19,6 +19,8 @@ Test on multiple sites +Show issues with how to collect an unknown number of output files... +(and why we use array_mapper here) Add a summary jobs; multi level sweep, etc. From jonmon at ci.uchicago.edu Sun Feb 26 16:24:12 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Sun, 26 Feb 2012 16:24:12 -0600 (CST) Subject: [Swift-commit] r5690 - trunk/bin Message-ID: <20120226222412.63F4A9CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-26 16:24:12 -0600 (Sun, 26 Feb 2012) New Revision: 5690 Modified: trunk/bin/swift Log: o added check to see if we are running on a mac, if so use md5 and not md5sum Modified: trunk/bin/swift =================================================================== --- trunk/bin/swift 2012-02-26 19:31:11 UTC (rev 5689) +++ trunk/bin/swift 2012-02-26 22:24:12 UTC (rev 5690) @@ -13,7 +13,7 @@ HEAPMAX=256M if echo `uname` | grep -i "cygwin"; then - CYGWIN="yes" + CYGWIN="yes" CPDELIM=";" fi @@ -32,7 +32,7 @@ updateOptions() { if [ "X$1" != "X" ] ; then - OPTIONS="$OPTIONS -D$2=$1" + OPTIONS="$OPTIONS -D$2=$1" fi } @@ -123,10 +123,19 @@ MAC=`$IFCONFIG |grep HWaddr` fi -MD5SUM=`which md5sum 2>&1` -if [ ! -x "$MD5SUM" ]; then - echo "warning: unable to find md5sum" - SWIFT_USAGE_STATS=0 +# Check if we are running on a mac, if so look for md5 and not md5sum +if [ "`uname`" == "Darwin" ]; then + MD5SUM=`which md5 2>&1` + if [ ! -x "$MD5SUM" ]; then + echo "warning: unable to find md5" + SWIFT_USAGE_STATS=0 + fi +else + MD5SUM=`which md5sum 2>&1` + if [ ! -x "$MD5SUM" ]; then + echo "warning: unable to find md5sum" + SWIFT_USAGE_STATS=0 + fi fi BASH="/bin/bash" From jonmon at ci.uchicago.edu Sun Feb 26 16:32:43 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Sun, 26 Feb 2012 16:32:43 -0600 (CST) Subject: [Swift-commit] r5691 - SwiftApps/SciColSim Message-ID: <20120226223243.1AA539CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-26 16:32:42 -0600 (Sun, 26 Feb 2012) New Revision: 5691 Modified: SwiftApps/SciColSim/getswift.sh Log: o updates to getswift to retrieve the mac compatable swift command from trunk -r5960 also prints error messages if could not retrieve both mac compatable gensites and swift Modified: SwiftApps/SciColSim/getswift.sh =================================================================== --- SwiftApps/SciColSim/getswift.sh 2012-02-26 22:24:12 UTC (rev 5690) +++ SwiftApps/SciColSim/getswift.sh 2012-02-26 22:32:42 UTC (rev 5691) @@ -22,7 +22,18 @@ tar zxf $tarfile +echo "Retrieving updated gensites command for mac compatability" svn cat --revision 5636 https://svn.ci.uchicago.edu/svn/vdl2/trunk/bin/gensites > swift-0.93/bin/gensites +if [ "$?" != 0 ]; then + echo "Failed to retrieve mac compatable gensites command, please update with the command" + echo "svn cat --revision 5636 https://svn.ci.uchicago.edu/svn/vdl2/trunk/bin/gensites > swift-0.93/bin/gensites" +fi +echo "Retrieving updated swift command for mac compatability" +svn cat --revision 5690 https://svn.ci.uchicago.edu/svn/vdl2/trunk/bin/swift > swift-0.93/bin/swift +if [ "$?" != 0 ]; then + echo "Failed to retrieve mac compatable swift command, please update with the command" + echo "svn cat --revision 5636 https://svn.ci.uchicago.edu/svn/vdl2/trunk/bin/swift > swift-0.93/bin/swift" +fi echo echo Swift installed at $PWD/$release From davidk at ci.uchicago.edu Sun Feb 26 19:30:03 2012 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Sun, 26 Feb 2012 19:30:03 -0600 (CST) Subject: [Swift-commit] r5692 - trunk/bin/grid Message-ID: <20120227013003.6375B9CC9F@svn.ci.uchicago.edu> Author: davidk Date: 2012-02-26 19:30:03 -0600 (Sun, 26 Feb 2012) New Revision: 5692 Modified: trunk/bin/grid/run-gwms-workers Log: Define proxy location Modified: trunk/bin/grid/run-gwms-workers =================================================================== --- trunk/bin/grid/run-gwms-workers 2012-02-26 22:32:42 UTC (rev 5691) +++ trunk/bin/grid/run-gwms-workers 2012-02-27 01:30:03 UTC (rev 5692) @@ -8,6 +8,7 @@ workerExecutable=`which worker.pl` workerWrapper=`which run-worker.sh` workerContact=$1 +x509userproxy=$( voms-proxy-info 2>&1 | grep path | awk '{print $NF}' ) n=$2 [ "$#" -eq 2 ] || die "2 arguments required, $# provided" @@ -36,6 +37,7 @@ Output = condor/job.out log = condor.log +x509userproxy = $x509userproxy queue $n EOF From jonmon at ci.uchicago.edu Mon Feb 27 11:02:54 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 27 Feb 2012 11:02:54 -0600 (CST) Subject: [Swift-commit] r5693 - SwiftApps/SciColSim Message-ID: <20120227170254.514459CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-27 11:02:54 -0600 (Mon, 27 Feb 2012) New Revision: 5693 Modified: SwiftApps/SciColSim/TODO Log: o updated TODO file for SciColSim Modified: SwiftApps/SciColSim/TODO =================================================================== --- SwiftApps/SciColSim/TODO 2012-02-27 01:30:03 UTC (rev 5692) +++ SwiftApps/SciColSim/TODO 2012-02-27 17:02:54 UTC (rev 5693) @@ -6,47 +6,52 @@ --- Top Prios --- -Get code in shape for Andrey to do a comparison run between fast .py and .swift runs on his Mac. +[x] Get code in shape for Andrey to do a comparison run between fast .py and .swift runs on his Mac. -Get initial tests run on Beagle at scale +[-] Get initial tests run on Beagle at scale -Look for timing problems and ultr-long runs. +[x] Look for timing problems and ultr-long runs. -Clean up Swift code for Andrey to take over the code. +[-] Clean up Swift code for Andrey to take over the code. -Get Swift code closer and closer to C++ output format +[-] Get Swift code closer and closer to C++ output format -Get Andrey Beagle-enabled (ie running new runs on Beagle) +[ ] Get Andrey Beagle-enabled (ie running new runs on Beagle) -Deal with file management and temp files form runs +[ ] Deal with file management and temp files form runs -Speed up data management if thats slowing us down (eg, CDM) +[ ] Speed up data management if thats slowing us down (eg, CDM) ----------------- -[ ] convert all hard-coded annealing.swift params to @arg(s) +[-] convert all hard-coded annealing.swift params to @arg(s) + -- missing what parameters are fixed and which are not fixed -[ ] Get timings for optimizer calls to display. Perhaps via stdout or +[-] Get timings for optimizer calls to display. Perhaps via stdout or 2nd file or a tagged value in the main output file of 'm' mode? See FIXMEs inserted in the code for multi_loss for this. + -- finished, needs integration [ ] set optimizer to unbufferred IO + -- ?????? -[ ] Do optimizer timing studies and look for long running outliers +[-] Do optimizer timing studies and look for long running outliers + -- Beta value becoming negative is an outlier, need to integrate fix for stopping + computaion at large loss [ ] Insert kill-and-restart logic to kill and re-run long running outliers. [x] echo parameters at start like c++ logic -[ ] Determine correct test parameter sets - and if we are passing these +[x] Determine correct test parameter sets - and if we are passing these through correctly. [x] Check correctnes of rejection tracking logic and j of k logic for the 5 params -[ ] address fixme's +[-] address fixme's [ ] determine how to find max_reject @@ -82,16 +87,16 @@ [-] Platforms: -[-] Mac -[ ] Beagle -[ ] OSG -[ ] XSEDE -[ ] OSG+XSEDE -[ ] BG/P -[-] PADS -[ ] FutureGrid -[ ] OSG Cloud -[ ] ibiCluster +[x] Mac(Jon) +[-] Beagle(Jon) +[ ] OSG(David) +[ ] XSEDE(???) +[ ] OSG+XSEDE(ExTENCI)(Jon) +[ ] BG/P(Jon) +[x] PADS(Jon) +[ ] FutureGrid(David) +[ ] OSG Cloud(David) +[ ] ibiCluster(David) [ ] Develop ExTENCI verison of script with different logic on parallel vs serial clusters. (Ketan) @@ -106,12 +111,12 @@ same from Java Random? [x] Determine if one evolve() run in the optimizer.cpp code is -sufficient. (yes -it does 1 woth reruns = 1 +sufficient. (yes -it does 1 woth reruns = 1) [x] Determine annealing.swift output files needed. -[ ] Track negative number scenario +[x] Track negative number scenario [ ] create a lib directory of swift scripts to import in the swift release -[ ] Document each command line parameter for annealing.swift +[-] Document each command line parameter for annealing.swift From jonmon at ci.uchicago.edu Mon Feb 27 11:08:01 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 27 Feb 2012 11:08:01 -0600 (CST) Subject: [Swift-commit] r5694 - SwiftApps/SciColSim Message-ID: <20120227170801.F2A029CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-27 11:08:01 -0600 (Mon, 27 Feb 2012) New Revision: 5694 Modified: SwiftApps/SciColSim/TODO Log: o more updates to the TODO file in SciColSim Modified: SwiftApps/SciColSim/TODO =================================================================== --- SwiftApps/SciColSim/TODO 2012-02-27 17:02:54 UTC (rev 5693) +++ SwiftApps/SciColSim/TODO 2012-02-27 17:08:01 UTC (rev 5694) @@ -120,3 +120,19 @@ [ ] create a lib directory of swift scripts to import in the swift release [-] Document each command line parameter for annealing.swift + +[x] automate the setup of SciColSim + +[x] Create run script for SciColSim + +[-] copy run files to a different location + -- currently uses GlobusOnline to copy the entire run dir + Would be nice to copy the output files(*.txt and *.fmt) + to Andrey's Dropbox + +[ ] Try different compiler optimization options + +[ ] Verify that we are running openmp on Beagle + +[ ] Dynamically adjust rerunsperapp variable based on t.i. value + -- Seems to also rely on the parameters From swift at ci.uchicago.edu Mon Feb 27 12:05:01 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Mon, 27 Feb 2012 12:05:01 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120227180501.740DF8D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Mon Feb 27 12:05:01 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Mon, 27 Feb 2012 12:05:01 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120227180501.950838D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Mon Feb 27 12:10:01 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Mon, 27 Feb 2012 12:10:01 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120227181002.184CB8D00092@bridled.ci.uchicago.edu> From swift at ci.uchicago.edu Mon Feb 27 12:10:02 2012 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Mon, 27 Feb 2012 12:10:02 -0600 (CST) Subject: [Swift-commit] Cog update Message-ID: <20120227181004.1CBB38D00077@bridled.ci.uchicago.edu> From jonmon at ci.uchicago.edu Mon Feb 27 20:12:27 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Mon, 27 Feb 2012 20:12:27 -0600 (CST) Subject: [Swift-commit] r5695 - trunk/bin Message-ID: <20120228021227.6B6C39CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-27 20:12:27 -0600 (Mon, 27 Feb 2012) New Revision: 5695 Modified: trunk/bin/start-coaster-service Log: o Use a variable to set the kernel for the start-workers-cobalt function in start-coaster-service Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-27 17:08:01 UTC (rev 5694) +++ trunk/bin/start-coaster-service 2012-02-28 02:12:27 UTC (rev 5695) @@ -271,7 +271,7 @@ # -t in minutes set -x cqsub -q ${QUEUE} \ - -k zeptoos \ + -k ${KERNEL} \ -t ${MAXTIME} \ -n ${NODES} \ -C ${PWD}/${LOG_DIR} \ From jonmon at ci.uchicago.edu Wed Feb 29 11:29:27 2012 From: jonmon at ci.uchicago.edu (jonmon at ci.uchicago.edu) Date: Wed, 29 Feb 2012 11:29:27 -0600 (CST) Subject: [Swift-commit] r5696 - trunk/bin Message-ID: <20120229172927.31E309CCE8@svn.ci.uchicago.edu> Author: jonmon Date: 2012-02-29 11:29:26 -0600 (Wed, 29 Feb 2012) New Revision: 5696 Modified: trunk/bin/start-coaster-service Log: o allow the user to specify the coaster-service.conf file on the commandline of start-coaster-service. command line flag is "-conf " Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2012-02-28 02:12:27 UTC (rev 5695) +++ trunk/bin/start-coaster-service 2012-02-29 17:29:26 UTC (rev 5696) @@ -76,7 +76,7 @@ ssh $WORKER_USERNAME@$MACHINE "$WORKER_LOCATION/$WORKER $EXECUTION_URL $MACHINE $LOG_DIR" & echo $! >> $PID_FILE fi - + done } @@ -143,7 +143,7 @@ crash "SWIFTVMBOOT_DIR incorrectly defined in coaster-service.conf" fi - export EC2_HOME="$SWIFTVMBOOT_DIR/ec2" + export EC2_HOME="$SWIFTVMBOOT_DIR/ec2" export EC2_PRIVATE_KEY="$EC2_KEYFILE" export EC2_CERT="$EC2_CERTFILE" @@ -284,6 +284,13 @@ return 0 } +while [ $# -gt 0 ]; do + case $1 in + -conf) CMDLN_CONF=$2; shift 2;; + *) echo "Do not recognize command line option: $1" 1>&2; exit 1;; + esac +done + if [ ! -d "$HOME/.swift" ]; then mkdir -p "$HOME/.swift" || crash "Unable to create $HOME/.swift" fi @@ -292,7 +299,9 @@ RUN_DIR=`pwd` # Import settings -if [ -f "$RUN_DIR/coaster-service.conf" ]; then +if [ -f "$CMDLN_CONF" ]; then + CONFIG_FILE=$CMDLN_CONF +elif [ -f "$RUN_DIR/coaster-service.conf" ]; then CONFIG_FILE="$RUN_DIR/coaster-service.conf" elif [ -f "$HOME/.swift/coaster-service.conf" ]; then CONFIG_FILE="$HOME/.swift/coaster-service.conf" From ketan at ci.uchicago.edu Wed Feb 29 17:09:56 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 29 Feb 2012 17:09:56 -0600 (CST) Subject: [Swift-commit] r5697 - branches/release-0.93/docs/userguide Message-ID: <20120229230956.606FC9CCE8@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-29 17:09:56 -0600 (Wed, 29 Feb 2012) New Revision: 5697 Added: branches/release-0.93/docs/userguide/faq Log: adding faq Added: branches/release-0.93/docs/userguide/faq =================================================================== --- branches/release-0.93/docs/userguide/faq (rev 0) +++ branches/release-0.93/docs/userguide/faq 2012-02-29 23:09:56 UTC (rev 5697) @@ -0,0 +1,21 @@ +Frequently Asked Questions (FAQ) +================================ + +Q1. What is Swift? + +Q2. Does it have nested foreach? + +Q3. What is the learning curve like? + +Q4. What if my execution fails? + +Q5. What if the remote node on which I am running fails? + +Q6. How do I know if my service is running? + +Q7. What if I submit a Swift run from my laptop and shut down the laptop? + +Q8. How do I run parallell and serial jobs together? + +Q9. What kind of data movements are allowed? + From ketan at ci.uchicago.edu Wed Feb 29 19:25:50 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 29 Feb 2012 19:25:50 -0600 (CST) Subject: [Swift-commit] r5698 - branches/release-0.93/docs/userguide Message-ID: <20120301012550.BBA099CC82@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-29 19:25:50 -0600 (Wed, 29 Feb 2012) New Revision: 5698 Modified: branches/release-0.93/docs/userguide/faq Log: Modified: branches/release-0.93/docs/userguide/faq =================================================================== --- branches/release-0.93/docs/userguide/faq 2012-02-29 23:09:56 UTC (rev 5697) +++ branches/release-0.93/docs/userguide/faq 2012-03-01 01:25:50 UTC (rev 5698) @@ -19,3 +19,4 @@ Q9. What kind of data movements are allowed? +Q10. Can Swift run interactive programs? From ketan at ci.uchicago.edu Mon Feb 20 18:28:36 2012 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 21 Feb 2012 00:28:36 -0000 Subject: [Swift-commit] r5660 - in SwiftApps/Cybershake/app: . post post/CheckSgt post/Getpar post/Getpar/getpar post/Getpar/getpar/include post/Getpar/getpar/man post/Getpar/getpar/man/man3 post/Getpar/getpar/src post/JBSim3d post/JBSim3d/SlipModel post/JBSim3d/SlipModel/GenRand post/JBSim3d/SlipModel/Resamp post/JBSim3d/SlipModel/StandRupFormat post/JBSim3d/Vel0.5 post/JBSim3d/bin post/JBSim3d/src post/Notify post/RunManager post/RunManager/website post/RunManager/website/cgi-bin post/SpectralAcceleration post/SpectralAcceleration/p2utils post/SpectralAcceleration/setparm post/Zip post/testing post/testing/links Message-ID: <20120221002651.42D8D9CCC1@svn.ci.uchicago.edu> Author: ketan Date: 2012-02-20 18:26:50 -0600 (Mon, 20 Feb 2012) New Revision: 5660 Added: SwiftApps/Cybershake/app/post/ SwiftApps/Cybershake/app/post/CheckSgt/ SwiftApps/Cybershake/app/post/CheckSgt/CheckSgt.py SwiftApps/Cybershake/app/post/Compilers.mk SwiftApps/Cybershake/app/post/Getpar/ SwiftApps/Cybershake/app/post/Getpar/getpar/ SwiftApps/Cybershake/app/post/Getpar/getpar/include/ SwiftApps/Cybershake/app/post/Getpar/getpar/include/getpar.h SwiftApps/Cybershake/app/post/Getpar/getpar/include/libget.h SwiftApps/Cybershake/app/post/Getpar/getpar/lib/ SwiftApps/Cybershake/app/post/Getpar/getpar/man/ SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/ SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getarg.3 SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getpar.3 SwiftApps/Cybershake/app/post/Getpar/getpar/man/windex SwiftApps/Cybershake/app/post/Getpar/getpar/src/ SwiftApps/Cybershake/app/post/Getpar/getpar/src/Makefile SwiftApps/Cybershake/app/post/Getpar/getpar/src/defpar.c SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.3 SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.c SwiftApps/Cybershake/app/post/Getpar/getpar/src/getlocation.c SwiftApps/Cybershake/app/post/Getpar/getpar/src/getlocation.c.save SwiftApps/Cybershake/app/post/Getpar/getpar/src/getpar.3 SwiftApps/Cybershake/app/post/Getpar/getpar/src/getpar.c SwiftApps/Cybershake/app/post/Getpar/getpar/src/getpar.tar.gz SwiftApps/Cybershake/app/post/Getpar/getpar/src/libget.h SwiftApps/Cybershake/app/post/JBSim3d/ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/defs.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/fourg.f SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/function.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/generf.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip-mreal.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip-mreal_OLD-IO.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip-v2.0.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip-v2.1.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslipALL.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/include.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/iofunc.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/makefile SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/misc.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/mmm SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/ruptime.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/slip.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/spec-s0000 SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/spec-s_avg SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/srf_subs.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/structure.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/Resamp/ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/Resamp/fourg.f SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/Resamp/makefile SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/Resamp/resamp_slip-flip.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/Resamp/resamp_slip.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/Resamp/test_rand SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/Resamp/test_rand.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/bailey2srf.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/defs.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/function.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/gene2gsf.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srf.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srfGOOD.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/include.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2_5x4.stoch SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2xyz.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/iofunc.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/makefile SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/misc.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2moment.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2stoch.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2svf.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2xyz.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf_const-rv.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf_resamp.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf_rotate-rake.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf_subs.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/stoch2xyz.c SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/structure.h SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/testget.c SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/ SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.000 SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.090 SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.ver SwiftApps/Cybershake/app/post/JBSim3d/bin/ SwiftApps/Cybershake/app/post/JBSim3d/bin/jbsim3d SwiftApps/Cybershake/app/post/JBSim3d/jbrun.csh SwiftApps/Cybershake/app/post/JBSim3d/src/ SwiftApps/Cybershake/app/post/JBSim3d/src/bailey2srfOLD.c SwiftApps/Cybershake/app/post/JBSim3d/src/beroza_rupm.c SwiftApps/Cybershake/app/post/JBSim3d/src/defs.h SwiftApps/Cybershake/app/post/JBSim3d/src/fourg.f SwiftApps/Cybershake/app/post/JBSim3d/src/function.h SwiftApps/Cybershake/app/post/JBSim3d/src/gen_gflist.c SwiftApps/Cybershake/app/post/JBSim3d/src/gene_rupm.c SwiftApps/Cybershake/app/post/JBSim3d/src/geoproj_subs.c SwiftApps/Cybershake/app/post/JBSim3d/src/get_ruptime.c SwiftApps/Cybershake/app/post/JBSim3d/src/greenfunc.c SwiftApps/Cybershake/app/post/JBSim3d/src/include.h SwiftApps/Cybershake/app/post/JBSim3d/src/iofunc.c SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim.c SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim032906.c SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim3d SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim3d.c SwiftApps/Cybershake/app/post/JBSim3d/src/makefile SwiftApps/Cybershake/app/post/JBSim3d/src/misc_subs.c SwiftApps/Cybershake/app/post/JBSim3d/src/okumura_rupm.c SwiftApps/Cybershake/app/post/JBSim3d/src/ray_stimes.c SwiftApps/Cybershake/app/post/JBSim3d/src/rob_rupm.c SwiftApps/Cybershake/app/post/JBSim3d/src/ruptime.c SwiftApps/Cybershake/app/post/JBSim3d/src/sgt3d_subs.c SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupm.c SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupmOLD.c SwiftApps/Cybershake/app/post/JBSim3d/src/stf_subs.c SwiftApps/Cybershake/app/post/JBSim3d/src/structure.h SwiftApps/Cybershake/app/post/JBSim3d/src/structureOLD.h SwiftApps/Cybershake/app/post/JBSim3d/src/structureOLD2.h SwiftApps/Cybershake/app/post/Makefile SwiftApps/Cybershake/app/post/Notify/ SwiftApps/Cybershake/app/post/Notify/SendStatus.py SwiftApps/Cybershake/app/post/README SwiftApps/Cybershake/app/post/RunManager/ SwiftApps/Cybershake/app/post/RunManager/CompCurveFile.py SwiftApps/Cybershake/app/post/RunManager/Condor.py SwiftApps/Cybershake/app/post/RunManager/CondorJob.py SwiftApps/Cybershake/app/post/RunManager/Config.py SwiftApps/Cybershake/app/post/RunManager/Curve.py SwiftApps/Cybershake/app/post/RunManager/Database.py SwiftApps/Cybershake/app/post/RunManager/Mailer.py SwiftApps/Cybershake/app/post/RunManager/RLS.py SwiftApps/Cybershake/app/post/RunManager/Run.py SwiftApps/Cybershake/app/post/RunManager/RunManager.py SwiftApps/Cybershake/app/post/RunManager/RunStats.py SwiftApps/Cybershake/app/post/RunManager/SendStatus.py SwiftApps/Cybershake/app/post/RunManager/Site.py SwiftApps/Cybershake/app/post/RunManager/UpdateRunState.py SwiftApps/Cybershake/app/post/RunManager/website/ SwiftApps/Cybershake/app/post/RunManager/website/CyberShake-STD.png SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/HTMLLib.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/addrun.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/deleterun.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/details.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dispstats.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doadd.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dodelete.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doedit.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/loadpng.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/modifyrun.py SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/runmanager.py SwiftApps/Cybershake/app/post/RunManager/website/index.html SwiftApps/Cybershake/app/post/RunManager/website/notes.html SwiftApps/Cybershake/app/post/SpectralAcceleration/ SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/ SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/Makefile SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/sub_bandpass.c SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/surfseis_rspectra SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/surfseis_rspectra.f SwiftApps/Cybershake/app/post/SpectralAcceleration/setparm/ SwiftApps/Cybershake/app/post/SpectralAcceleration/setparm/setparm180.f SwiftApps/Cybershake/app/post/Zip/ SwiftApps/Cybershake/app/post/Zip/zip_peakSA.sh SwiftApps/Cybershake/app/post/Zip/zip_seismograms.sh SwiftApps/Cybershake/app/post/agg_seispeak.sh SwiftApps/Cybershake/app/post/agg_seispeak.sh.old SwiftApps/Cybershake/app/post/recompute.sh SwiftApps/Cybershake/app/post/seispeak.sh SwiftApps/Cybershake/app/post/testing/ SwiftApps/Cybershake/app/post/testing/PeakVals_TEST_218_256_127.bsa SwiftApps/Cybershake/app/post/testing/Seismogram_TEST_218_256_127.grm SwiftApps/Cybershake/app/post/testing/TEST_218_256_subfx.sgt SwiftApps/Cybershake/app/post/testing/TEST_218_256_subfy.sgt SwiftApps/Cybershake/app/post/testing/extract.sh SwiftApps/Cybershake/app/post/testing/links/ SwiftApps/Cybershake/app/post/testing/links/218_256.txt.variation-s0015-h0007 SwiftApps/Cybershake/app/post/testing/peak.sh SwiftApps/Cybershake/app/post/testing/seis.sh SwiftApps/Cybershake/app/post/trusted.caches Log: added source of scec Added: SwiftApps/Cybershake/app/post/CheckSgt/CheckSgt.py =================================================================== --- SwiftApps/Cybershake/app/post/CheckSgt/CheckSgt.py (rev 0) +++ SwiftApps/Cybershake/app/post/CheckSgt/CheckSgt.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,91 @@ +#!/usr/bin/env python + +import sys +import os +import md5 + + +# Global vars +sgtfile = "" +md5file = "" + + +def init(): + global sgtfile + global md5file + + # Get number of command-line arguments + argc = len(sys.argv) + + # Parse command line arguments + if (argc < 3): + print "Usage: " + sys.argv[0] + " " + print "Example: " + sys.argv[0] + " USC_fx.sgt USC_fx.sgt.md5" + return 1 + + sgtfile = sys.argv[1] + md5file = sys.argv[2] + + print "Configuration:" + print "SGT File:\t" + sgtfile + print "MD5 File:\t" + md5file + "\n" + + # Check that the files exist + if (not os.path.isfile(sgtfile)): + print "SGT file " + sgtfile + " not found" + return 1 + if (not os.path.isfile(md5file)): + print "MD5 file " + md5file + " not found" + return 1 + + return 0 + + +def main(): + # Load the sum from the saved md5 file + oldmd5val = "" + try: + oldmd5file = open(md5file, 'r') + line = oldmd5file.readline() + oldmd5val = line.split(" ")[0] + oldmd5file.close() + if (len(oldmd5val) != 32): + print "Invalid md5sum found: " + oldmd5val + return 1 + except: + print "Unable to read " + md5file + return 1 + + print "Old md5sum: " + oldmd5val + + # Read in the SGT file and compute new md5 + m = md5.new() + sgt = open(sgtfile, 'r') # open in binary mode + while True: + buf = sgt.read(1024) + if len(buf) == 0: + break # end of file + m.update(buf) + + newmd5val = m.hexdigest() + print "New md5sum: " + newmd5val + + # Compare the old and new md5 values + if (oldmd5val != newmd5val): + print "md5 checksums do not match!" + return 1 + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + if (main() != 0): + sys.exit(1) + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/CheckSgt/CheckSgt.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/Compilers.mk =================================================================== --- SwiftApps/Cybershake/app/post/Compilers.mk (rev 0) +++ SwiftApps/Cybershake/app/post/Compilers.mk 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,72 @@ +# This makefile fragment helps us to choose the appropriate +# compilers for the site where we are compiling. + +# Notes On Specific Modules: +# +# SpectralAcceleration/p2utils: +# - attempts to use ifort/icc is available but will +# fall back to the configured MY_FC declared here +# V4-WrapC/src: +# - ensure it uses a fortran-77 compliant compiler (MY_FC77) +# - will generate errors with gfortran 4.2 or lower +# - may work with gfortran 4.3 and above since that supports +# -finit-local-zero option. +# + +# Get the hostname we are running on +HOSTNAME = $(shell hostname -f) + +# PSC BigBen (Cray XT3) +# Note: For this to work you need to have your environment set +# up with the gcc compilers, not the PG compilers. On +# BigBen you need to use these commands: +# module switch PrgEnv-pgi PrgEnv-gnu +# module unload acml/3.0 +# module load gcc/4.0.2 +ifeq (bigben,$(findstring bigben, $(HOSTNAME))) + MY_CC = cc + MY_FC = ftn + MY_MPICC = mpicc + MY_FC77 = ftn + MY_MPIFC = ftn + MY_CFLAGS = + MY_FFLAGS = -ffixed-line-length-132 +endif + +# NICS kraken (Cray XT5) +# Note: For this to work you need to have your environment set +# up with the gcc compilers, not the PG compilers. On +# Kraken you need to use these commands: +# module purge +# module load Base-opts +# module load PrgEnv-gnu +ifeq (kraken,$(findstring kraken, $(HOSTNAME))) + MY_CC = cc + MY_FC = ftn + MY_FC77 = ftn + MY_MPICC = cc + MY_MPIFC = ftn + MY_CFLAGS = + MY_FFLAGS = -ffixed-line-length-132 + +# Default (gcc) +# Note: For this to work you need to make sure that your +# environment is set up to use the version of mpicc +# and mpif77 that was configured to use the GNU +# compilers gcc and g77. You can accomplish this on +# most of the teragrid sites using SoftEnv. Try typing +# 'softenv' at the command prompt to get a list of +# available modules. Look for one that says '+mpich-*-gcc' +# or something similar to that. Of course, it is going +# to work best if the mpi you choose uses the interconnect +# supported by the site (infiniband, myrinet, etc.). +else + MY_CC = icc + MY_FC = ifort + MY_FC77 = icc + MY_MPICC = mpicc -m32 + MY_MPIFC = mpif77 -m32 + MY_CFLAGS = + MY_FFLAGS = -ffixed-line-length-132 + #MY_FFLAGS = -finit-local-zero -ffixed-line-length-132 +endif Added: SwiftApps/Cybershake/app/post/Getpar/getpar/include/getpar.h =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/include/getpar.h (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/include/getpar.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,39 @@ + /* + * libpar.h include file. + * + * Provide function definitions/prototypes for the + * routines found in libpar.a. Note these routines may change if + * a new release of libpar is received. Unfortunately this file + * and the release are independent. + */ + +#ifndef _LIBPAR_H +#define _LIBPAR_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +extern int countarg(char *name, char *type); +extern void endarg (void); +extern void endpar (void); +extern int getarg (char *name, char *type, void *ptr_to_some_type); +extern int getpar (char *name, char *type, void *ptr_to_some_type); +extern int lenarg (char *name); +extern int mstpar (char *name, char *type, void *ptr_to_some_type); +extern void setarg (char *list, char *subname); +extern int setpar (int argc, char **argv); +extern char *getspar(char *name, char *defvalue); +extern char *mstspar(char *name); +extern char *getsarg(char *name, char *defvalue); +extern int getbpar(char *name, int defvalue); +extern int getdpar(char *name, int defvalue); +extern float getfpar(char *name, float defvalue); +extern double getffpar(char *name, double defvalue); +extern int getlocation(char *keyname, char *location, int fatal); + +#ifdef __cplusplus +} +#endif + +#endif /* _LIBPAR_H */ Added: SwiftApps/Cybershake/app/post/Getpar/getpar/include/libget.h =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/include/libget.h (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/include/libget.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,39 @@ + /* + * libpar.h include file. + * + * Provide function definitions/prototypes for the + * routines found in libpar.a. Note these routines may change if + * a new release of libpar is received. Unfortunately this file + * and the release are independent. + */ + +#ifndef _LIBPAR_H +#define _LIBPAR_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +extern int countarg(char *name, char *type); +extern void endarg (void); +extern void endpar (void); +extern int getarg (char *name, char *type, void *ptr_to_some_type); +extern int getpar (char *name, char *type, void *ptr_to_some_type); +extern int lenarg (char *name); +extern int mstpar (char *name, char *type, void *ptr_to_some_type); +extern void setarg (char *list, char *subname); +extern int setpar (int argc, char **argv); +extern char *getspar(char *name, char *defvalue); +extern char *mstspar(char *name); +extern char *getsarg(char *name, char *defvalue); +extern int getbpar(char *name, int defvalue); +extern int getdpar(char *name, int defvalue); +extern float getfpar(char *name, float defvalue); +extern double getffpar(char *name, double defvalue); +extern int getlocation(char *keyname, char *location, int fatal); + +#ifdef __cplusplus +} +#endif + +#endif /* _LIBPAR_H */ Added: SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getarg.3 =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getarg.3 (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getarg.3 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,459 @@ +.\" @(#)getarg.3 56.1 10/25/93 +.nr Np 0 1 +.TH GETARG 3 "May 1991" +.SH NAME +.B getarg +routines -\ get arguments from a string +.br +.SH SYNOPSIS +#include "libget.h" +.PP +.B void setarg(char *argstring, char *subname) +.PP +.B void setarg_(char *argstring, char *subname, +.B int dum1, int dum2) +.PP +.B int countarg(char *name, char *type) +.PP +.B int cntarg_(char *name, char *type, +.B int dum1, int dum2) +.PP +.B int lenarg(char *name) +.PP +.B int getarg(char *name, char *type, +.B void *pointer) +.PP +.B fgtarg_(char *name, char *type, +.B void *pointer, int dum1, int dum2, int lens) +.PP +.B void endarg(void) +.PP +.B void endarg_(void) +.PP +In the subroutines +.B getarg() +and +.B fgtarg_() +the declaration for the argument +.B pointer +depends on the argument type +.B type. +.br +.SH DESCRIPTION +.br +The +.B getarg +routines provide a simple procedure for passing optional arguments +to subroutines and for parsing strings into data values. The syntax +of the functions and the format of the parameter specification +is similar to +.B getpar(3). +.PP +The subroutine +.I setarg() +initializes the +.B getarg +package, and it must be called before any other references to +.B getarg. +The two arguments to +.I setarg() +are a character string containing optional arguments +and a subroutine name (for error reporting). +The pointer to either the character string or the subroutine name may be +.I NULL +but they cannot both be +.I NULL. +.PP +The subroutine +.I countarg() +takes two arguments: +.I name +and +.I type. +.I Name +is the external name of the variable initialized in +.I setarg(). +.I Type +specifies the variable type, one of +.I d, f, F, +or +.I s. +.I Countarg +counts the number of elements for the vector +.I name. +It is useful for ascertaining the vector limit +for data retrieval via +.I getarg(). +Upon successful completion, +.I countarg() +returns the number of elements for the parameter, or zero if there are no +elements. +.PP +The subroutine +.I lenarg() +takes one argument: +.I name. +.I Name +is the external name of the variable initialized in +.I setarg(). +.I Lenarg() +determines the length of the longest element in the +.I name +vector. +It is useful for ascertaining the memory space needed to +accommodate the largest string in a character string vector. +Upon successful completion, +.I lenarg() +returns a value guaranteed to be at least as large as the +length of the longest string argument. It returns zero +if there are no arguments. +.PP +The subroutine +.I getarg() +takes three arguments: +.I name, type, +and +.I pointer. +.I Name +is the external name of the variable initialized in +.I setarg(). +.I Type +specifies the variable type. +The currently valid types are: +.IP "" 5 +"d" integer +.br +"f" float +.br +"F" double +.br +"s" character string +.br +"b" boolean (integer) +.br +"vd" integer vector +.br +"vf" float vector +.br +"vF" double vector +.br +"vs" character string vector +.PP +The +.I type +parameter can be expanded to indicate the maximum number of elements +allowable in vectors. For example type="vf[4]" or type="vf(4)" +would cause +.I getarg() +to modify no more than 4 elements of the vector, regardless of how +many elements are in the argument list +initialized in +.I setarg(). +If no limit is specified, a limit of 10 is quietly enforced. If there +are fewer elements than the limit the vector will only be modified up +to the number of elements. +.PP +.I Pointer +is a pointer to the type of variable indicated by +.I type. +If no occurrences of the parameter +.I name +is found, the contents of +.I pointer +are not modified. +.PP` +.I Getarg() +returns 1 for a successful conversion, and 0 if unsuccessful. In the +case of vectors +.I getarg() +returns the number of elements found, or 0 if an unsuccessful conversion +occurs at any index in the vector. +.PP +The subroutine +.I endarg() +gracefully terminates the package. +.PP +The Fortran interface subroutines +.I setarg_() +, +.I cntarg_() +, +.I fgtarg_() +and +.I endarg_() +are equivalent with the exception that +.I fgtarg_() +does not process vectors of character strings. Also, there is no +Fortran equivalent for +.I lenarg(). +.PP +The following program example illustrates the use of +.B getarg +for the purpose of parsing optional subroutine arguments. +It is intended for use with subroutines that have a few essential +arguments and many optional ones. +.IP "" 5 +sub(x,lx,list) +.br +float *x; +.br +int lx; +.br +char *list; +.br + { +.br + int opt1, boo; +.br + float fopt2; +.br + char title[40]; +.br + +.br + /* set defaults */ +.br + opt1= 10; +.br + fopt2= 5.0; +.br + title[0]= '\0'; +.br + boo= 1; /* true */ +.br + +.br + setarg(list,"sub"); /* initialize getarg package */ +.br + getarg("opt1","d",&opt1); +.br + getarg("fopt2","f",&fopt2); +.br + getarg("title","s",title); +.br + getarg("boo","b",&boo); +.br + endarg(); /* deactivate getarg package */ +.br + +.br + /* rest of subroutine */ +.br + } +.PP +The minimal call to this subroutine would be +.IP "" 5 +sub(x,lx,0); +.br +.ti 0 +or +.br +sub(x,lx,""); +.PP +in which case the default values of all the options are used. +To change some of the options, the call would be +.IP "" 5 +sub(x,lx,"opt1=100 fopt2=2.0 title='new title' noboo"); +.br +.PP +.B NOTE: +If the variables are defaulted by giving them initializations in +static declarations, +then subsequent calls to subroutines that use +.B getarg +may have their default values modified by previous calls. +.PP +The next program example illustrates the use of +.B getarg +for the purpose of parsing a string argument into data values. +.IP "" 5 +get_msg(list) +.br +char *list; +.br + { +.br + double *time; +.br + char **sta_chans, dbtemp[BUFSIZ], format[BUFSIZ]; +.br + int orid, count_times, count_stas; +.br + int get_times, get_stas, len_stas; +.br + +.br + setarg(list, NULL); /* initialize getarg package */ +.br + +.br + count_times = countarg("channel-time", "F"); /* determine size of double vector */ +.br + time = (double *) malloc(count_times * sizeof(double)); /* create space */ +.br + sprintf(format, "vF[%d]", count_times); /* format the type parameter */ +.br + get_times = getarg("channel-time", format, time); /* retrieve the data */ +.br + if (count_times != get_times) +.br + /* error */ +.br + +.br + /* +.br + * For the string vector ascertain the number of elements and +.br + * the length of the longest element in the vector channel. +.br + * Malloc the appropriate amount of memory space before calling +.br + * getarg(). +.br + */ +.br + count_stas = countarg("channel", "s"); +.br + len_stas = lenarg("channel"); +.br + sta_chans = (char **) malloc(count_stas * sizeof(char*)); +.br + for (i = 0; i < count_stas; i++) +.br + sta_chans[i] = (char *) malloc((len_stas + 1) * sizeof(char)); +.br + sprintf(format, "vs[%d]", count_stas); +.br + get_stas = getarg("channel", format, sta_chans); +.br + if (count_stas != get_stas) +.br + /* error */ +.br + +.br + /* get the remaining arguments */ +.br + getarg("orid", "d", &orid); +.br + getarg("dbtemp", "s", dbtemp); +.br + +.br + endarg(); /* deactivate getarg package */ +.br + +.br + /* rest of subroutine */ +.br + } +.PP +An example call to this subroutine would be +.IP "" 5 +get_msg("dbtemp='demo/demo' orid=721 channel-time=240.0,480.0 channel='ARA/sz','ARA/bz') +.SH PARAMETER FORMAT +The parameters in the strings can occur in any order, and any number +of times. In the case of multiple specifications, the last one is +used. Any parameters that are not requested by +.I getarg() +are ignored. +.PP +Each specification is of the form +.I name=value. +No embedded blanks are allowed on either side of the equals ("=") +sign. Character strings with white space are delimited with single +(') or double (") quotes which are removed by +.I getarg(). +To get a single or double quote in a string, precede it with a back-slash (\\). +Vector arguments are separated by commas. Vectors of strings are +enclosed in single quotes separated by commas. To get a single +quote, comma, or back-slash in a string argument, precede each with a +back-slash. For example: +.IP "" 5 +get_msg("vs_arg='The Dommermuth\\'s','619\\\\234-3153','San Diego\\, CA'"); +.PP +The only exception to the +.I name=value +syntax is boolean variables which can simply be specified by +.I name +or +.I noname +to mean true or false respectively. +.PP +Repetition factors can be used to specify repeated values in vectors +using the symbols +.I x, X, and * +interchangeably. For example +.I get_msg("ints=1,2x2,3,3*4,2X5") +would yield a vector with nine elements: 1, 2, 2, 3, 4, 4, 4, 5, 5. +Repetition factors cannot be used with vectors of strings. +.SH AVAILABILITY +.B getarg +routines are in the library +.I /opt/util/lib/libget.a +which can be loaded with +.I -lget +provided the +.I -L/opt/util/lib +path is specified. The include file libget.h can be found in +/opt/util/include. +.SH "SEE ALSO" +getpar(3) +.SH DIAGNOSTICS +The routines produce error messages on +.I stderr +and return -1 for the following trapped errors. +.PP +1. +.I setarg() +is not (properly) called. +.br +2. The arglist to +.I setarg() +appears to be garbage. +.br +3. +.I countarg(), +.I lenarg(), +or +.I getarg() +are called before +.I setarg(). +.br +4. +.I countarg(), +.I lenarg(), +or +.I getarg() +are called after +.I endarg(). +.br +5. There is an unknown conversion type in +.I countarg() +or +.I getarg(). +.br +6. Attempt to process a vector of strings in +.I fgtarg_(). +.br +7. Invalid vector limit is specified in +.I getarg(). +.br +8. Invalid vector repetition factor is specified in +.I getarg(). +.br +9. A NULL +.I pointer +parameter is passed to +.I getarg(). +.PP +An attempt is made to report which subroutine was active when the error occurred. +.SH BUGS +Probably. +.SH AUTHOR +Robert W. Clayton, Seismological Laboratory, Caltech, Pasadena, CA +91125 +.br +Cynde K. Smith, Science Applications International Corp., San Diego, +CA 92121 Added: SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getpar.3 =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getpar.3 (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/man/man3/getpar.3 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,402 @@ +.\" @(#)getpar.3 56.1 10/25/93 +.TH GETPAR 3 +.SH NAME +setpar, getpar, mstpar, endpar \- retrieve command-line arguments +.SH SYNOPSIS +#include "libget.h" +.PP +.B void setpar(int argc, char **argv) +.PP +.B int getpar(char *name, char *type, +.B void *pointer) +.br +.B (char/int/float/double) *pointer +.PP +.B int mstpar(char *name, char *type, +.B void *pointer) +.br +.B (char/int/float/double) *pointer +.PP +.B void endpar(void) +.PP +.B char *getspar(char *name, char *defvalue) +.PP +.B char *mstspar(char *name) +.PP +.B int getbpar(char *name, int defvalue) +.PP +.B int getdpar(char *name, int defvalue) +.PP +.B float getfpar(char *name, float defvalue) +.PP +.B double getffpar(char *name, double defvalue) +.PP +The declaration for the argument +.B pointer +depends on +.B type. +.SH DESCRIPTION +The +.I getpar +routines provide a simple method to parse program arguments from +the command line, and from files. +Their use illustrated in the following example: +.IP "" 10 +main(int ac, char **av) +.br + { +.br + /* specify parameters, some with default values */ +.br + static int nx =10; +.br + static char title[40] = "No title given"; +.br + static float dx = 0.01; +.br + static char input[40]; +.br + static float x[8]; +.br + static int boo = 1; /* boolean, true */ + +.br + setpar(ac,av); /* initialize getpar */ +.br + getpar("nx","d",&nx); +.br + getpar("dx","f",&dx); +.br + getpar("title","s",title); +.br + mstpar("input","s",input); /* must have this parameter */ +.br + getpar("boo","b",&boo); +.br + getpar("x","vf[8]",x); +.br + endpar(); /* deactivate getpar */ +.br + +.br + /* rest of program */ +.br + } +.PP +The routine +.I setpar +initializes the package. +Its arguments are the same as those to main itself. +It is an error to not call +.I setpar +before any other getpar calls. +The +.I getpar +routines are deactivated with a call to +.I endpar. +This routine releases memory, and allows the +.B STOP +option mentioned below to happen. +.PP +The individual parameters are obtained with calls to +.I getpar +and +.I mstpar. +.I Mstpar +(must par) is identical to +.I getpar +except that it terminates the program with an error message +if the particular parameter is not specified. +The following description of +.I getpar +also applies to +.I mstpar. +.PP +.I Getpar +has three parameters. +The first is a character string which specifies the external name +of the parameter. +It can be (practically speaking) of any length. +The second parameter is a character string which specifies the type +of variable the parameter is. +Currently the following types are understood: +.IP "" 15 +"d" integer +.br +"f" float +.br +"F" double +.br +"s" character string +.br +"b" boolean (integer) +.br +"vd" integer vector +.br +"vf" float vector +.br +"vF" double vector +.PP +The \fItype\fR parameter can be used to indicate the maximum number +of elements allowable in vectors. +For example \fItype="vf[4]"\fR or \fItype="vf(4)"\fR would +cause \fIgetpar\fR to modify no more than 4 elements of the vector, +regardless of how many elements the user specifies. +If no limit is specified, a limit of 10 is quietly enforced. +.PP +The last parameter is a pointer to the type of variable indicated by +.I type. +.I Getpar +does not modify this variable if no occurrence of the parameter is found. +Hence, a default value can be assigned before the call to +.I getpar. +.I Getpar +returns 1 the parameter was found, and 0 if not. +For vectors, +.I getpar +returns the number of elements found. +.PP +.I Getspar +and +.I mstspar +work similarly to +.I getpar +and +.I mstpar +for string parameters, except that the returned value is a pointer to a string +that contains the parameter value. The input parameter value is +copied to a new string using strdup(3). +In +.I getspar +the input arguments include the +parameter name and a default value, which can be a NULL string. The +NULL pointer is returned if the default value is a NULL pointer and +no parameter was found. +.I Mstspar +requires that the parameter be found, hence no defaults are permitted. +.PP +.I Getbpar, getdpar, getfpar +and +.I getffpar +work similarly to +.I getpar +for +boolean, integer, float and double parameters, respectively except that +the returned value contains the default value and is of type boolean, +integer, float or double as requested. +The input arguments for these functions include the +parameter name and a default value. +.SH PARAMETER FORMAT +.PP +The parameters on the command line can occur in any order, +and any number of times. +In the case of multiple specifications, the last one is used. +Any parameters that are not requested by +.I getpar +or +.I mstpar +are ignored. +An example of specifying parameters for the above program is: +.IP "" 10 +a.out dx=0.123 nx=300 title="sample title" dy=0.456 noboo x=1.0,4x2.0,2x5.12 +.PP +Each specification is of the form +.I name=value. +No embedded blanks are allowed on either side of the equals ("=") sign. +Character strings with blanks or tabs are delimited with single (') or +double (") quotes. +The only exceptions to the +.I name=value +rule are boolean variables which are specified as +.I name +or +.I noname +to indicate true or false. +Boolean variables may also be specified as integers with the form +.I name=(int). +In the above example, true values for +.I boo +are specified as either +.I boo +or +.I boo=1, +and false values as either +.I noboo +or +.I boo=0. +If +.I boo=100 +is given then the returned value is +.I 100. +The value for vector is given as a list separated by commas (,). +No embedded blanks are allowed in the list. +Repetition factors (2x and 4x in the above example) can be used to +specify repeated values. +.PP +Several additional features are also available. +At any point on the command line, the parameter +.I par=filename +can be given. +This will cause +.I getpar +to look in the file +.I filename +for additional parameters. +Several +.I par +arguments can be given on the command line. +The search order is left to right. +Consequently, any parameters given after the +.I par=filename +will override their values given in +.I filename. +Also, the environment (if allowed, see NOENV option below) is searched first. +Thus parameters on the command line and in par files override parameters +set in the environment. +The format of the parameters in the par file follow the same rules as the +command line. +Several specifications separated by while space, can occur on a given +line, and their can be any number of lines. +A '#' symbol in the position where a name would normally occur, +indicates that the rest of the line is a comment, and is consequently +ignored. +The specification +.I par=filename +is also allow in the file, however recursions are limited in depth +(current limit is 4). +.PP +As a concession to the traditional switch passing method, a parameter +of the form +.IP "" 10 +a.out -abc +.PP +is available to the calling program as a character string with the call +.IP "" 10 +getpar("SWITCH","s",&sw); +.PP +where in the example above, the string +.I sw +would be +.I abc. +.PP +Parameters in the shell environment can be set (unset) with the +C-shell commands: +.IP "" 10 +setenv name value +.IP "" 10 +unsetenv name +.PP +The parameters in the environment can be printed with the command +.IP "" 10 +printenv +.PP +Five additional parameters allow for input checking, and program +interrogation. +.TP 10 +.B STOP +The call to +.I endpar +will terminate the program if this parameter is given. +.TP 10 +.B LIST +Each call to +.I getpar +or +.I mstpar +will cause the name, type, and value of the variable to be +listed on +.I stderr. +If +.I LIST=filename +is given, the listing is put in the file +.I filename. +This option is useful for interrogating a program as to what it wants +for input. +.TP 10 +.B INPUT +.I Setpar +will list all input parameters that are found. +This option is useful for debugging input data, and determining +where a particular parameter is coming from in multiple +.I par +specifications. +If +.I INPUT=filename +is given, the listing is put in the file +.I filename. +.TP 10 +.B NOENV +will disallow any parameters to be obtained from the environment. +It may occur on the command line, in a par file, or in the environment +itself. +.TP 10 +.B VERBOSE +will cause +.I getpar/mstpar +to print the name of the parameter before starting to search for it. +This provides a quick method of determining which subroutine call is +at fault, when a program dies in the getpar package. +.PP +Limited parameter substitution is supported. An example of the syntax is +.TP 10 +.I dir=/usr/local/lib +.TP 10 +.I file=filename +.TP 10 +.I path=$(dir)/$(path) +Parameter substitution occurs during parameter input. Whenever a +parameter to be substituted is encountered during input, the list of +previously defined parameters (including the environment) are searched +for the value and immediately substituted. Thus, for the purpose of +substitution, the ordering of parameter input is important. +Substitution may be suppressed by escaping the "$" with a backslash ( +\\ ). If a parameter value contains the name of an undefined parameter, +it is simply removed from the parameter value. +.SH AVAILABILITY +The +.I getpar +routines are in the library +.I /opt/util/lib/libget.a +and may be loaded with +.I -L/opt/util/lib -lget +.SH "SEE ALSO" +getarg(3) +.SH WARNINGS +Be careful that +.I type +is correctly specified, when dealing with floats and doubles. +If a double pointer is used with \fItype="f"\fR, +The lowest 32 bits of the mantissa will not be set correctly. +If a float pointer and \fItype="F"\fR +are used, the next element in memory will be clobbered. +If the last combination is used in vector mode, you will get garbage back. +.PP +If a program appears to be behaving differently for identical input +parameters, make sure that some defaulted parameters are not sneaking +in via the environment. +The NOENV option may be of some use in this case. +If you believe back door parameters are a bad practice, then set NOENV in +your login shell. +.SH DIAGNOSTICS +The routines produce error messages of the type: +.br +.br +****** ERROR program[getpar]: ****** +.br + error message +.br +.br +Hopefully the error message is diagnostic of the trouble. +If you are debugging a program try the VERBOSE option to see which +call generated the problem. +.SH BUGS +Errors in calls to +.I mstpar +are often reported as calls to +.I getpar. +.PP +Parameter substitution might be more useful (but the program would +be more complex) if the ordering requirements were relaxed. +.SH AUTHOR +Originally Robert W. Clayton, Seismological Laboratory, Caltech, +Pasadena, CA 91125. Now Blair Zajac has updated some of this stuff. Added: SwiftApps/Cybershake/app/post/Getpar/getpar/man/windex =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/man/windex (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/man/windex 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,2 @@ +getarg routines (3) -\ get arguments from a string .br +setpar, getpar, mstpar, endpar (3) - retrieve command-line arguments Added: SwiftApps/Cybershake/app/post/Getpar/getpar/src/Makefile =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/src/Makefile (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/src/Makefile 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,162 @@ +# Copyright 1990 Science Applications International Corporation +# +# Makefile for libget library. +# cloned from Makefile.lib +# SccsId: @(#)Makefile 56.1 10/25/93 Copyright 1990 Science Applications International Corporation +# + +CSRCS = defpar.c \ + getpar.c \ + getarg.c \ + getlocation.c + +COBJS = defpar.o \ + getpar.o \ + getarg.o \ + getlocation.o + +FSRCS = getpar.c \ + getarg.c + +FOBJS = fgetpar.o \ + fgetarg.o + +PUBLIC_HDRS = libget.h +PRIVATE_HDRS = + +CHDRS = $(PUBLIC_HDRS) $(PRIVATE_HDRS) +FHDRS = +HDRS = $(CHDRS) $(FHDRS) + +MAKEFILE = Makefile + +ALLSRCS = $(CSRCS) $(MAKEFILE) $(HDRS) $(CHANGES) $(DOC) + +LIBS = +STDLIBS = +LIBRARY = libget.a +#FLIBRARY = libfpar.a +MAN1 = +MAN3 = getpar.3 getarg.3 +CHANGES = Changes.libget +DOC = $(MAN1) $(MAN3) $(CHANGES) +SUBDIRS = +INCLUDES = +CFLAGS = $O $(INCLUDES) -DENVIRONMENT +FFLAGS = $O +LDFLAGS = $O +LFLAGS = -bchu $(INCLUDES) + +DESTDIR = ../../lib +INCLDIR = ../../include +MAN1DIR = ../../doc/man/man1 +MAN3DIR = ../../doc/man/man3 +CHANGESDIR = ../../doc/Changes + +include ../../../Compilers.mk +CC = $(MY_CC) +F77 = $(MY_FC) +O = -xO3 -xdepend -xlibmil -fsimple +O = -O3 +#O = -g +LD = $(CC) +LINT = lint +YACC = yacc +LEX = lex + +LMODE = 664 +PMODE = 775 +GROUP = scm + +GET = sccs get +GFLAGS = -s -r56.1 +SCCSGETFLAGS = -s -r56.1 +SCLEAN = sccs clean + +RM = rm +INSTALL = install +MAKE = make +PRINT = lpr -p +AR = ar +RANLIB = ranlib +MKDIR = mkdir -p + +FLAGS = $(MFLAGS) "CC=$(CC)" "F77=$(F77)" "O=$O" \ + "GET=$(GET)" "GFLAGS=$(GFLAGS)" "SCLEAN=$(SCLEAN)" \ + "LMODE=$(LMODE)" "PMODE=$(PMODE)" "GROUP=$(GROUP)" \ + "PRINT=$(PRINT)" "MAKE=$(MAKE)" "LDFLAGS=$(LDFLAGS)" \ + "PCC=$(PCC)" + +all: $(LIBRARY) $(MAN3) + rm -f ../lib/$(LIBRARY) + cp $(LIBRARY) ../lib + +$(COBJS) $(FOBJS): libget.h + +fgetpar.o: getpar.c + cp getpar.c fgetpar.c + $(CC) $(CFLAGS) -DFORTRAN -c fgetpar.c + $(RM) -f fgetpar.c + +fgetarg.o: getarg.c + cp getarg.c fgetarg.c + $(CC) $(CFLAGS) -DFORTRAN -c fgetarg.c + $(RM) -f fgetarg.c + +$(LIBRARY): $(CHDRS) $(COBJS) $(FOBJS) + -$(RM) -f $(LIBRARY) + $(AR) cq $(LIBRARY) $(COBJS) $(FOBJS) + if [ -x /usr/bin/ranlib -o -x /bin/ranlib ]; then \ + $(RANLIB) $(LIBRARY); \ + fi + +#$(FLIBRARY): $(FHDRS) $(FOBJS) +# -$(RM) -f $(FLIBRARY) +# $(AR) cq $(FLIBRARY) $(FOBJS) +# $(RANLIB) $(FLIBRARY) + +includes: $(HDRS) + $(MKDIR) $(INCLDIR) + for i in $(PUBLIC_HDRS); do \ + $(INSTALL) -m $(LMODE) -g $(GROUP) $$i $(INCLDIR);\ + done + +install: all $(DOC) + $(MKDIR) $(DESTDIR) + $(INSTALL) -m $(LMODE) -g $(GROUP) $(LIBRARY) \ + $(DESTDIR) + if [ -x /usr/bin/ranlib -o -x /bin/ranlib ]; then \ + $(RANLIB) $(DESTDIR)/$(LIBRARY); \ + fi +# $(RANLIB) $(DESTDIR)/$(FLIBRARY); \ +# Uncomment below as necessary. +# $(MKDIR) $(MAN1DIR) +# for i in $(MAN1); do \ +# $(INSTALL) -m $(LMODE) -g $(GROUP) $$i $(MAN1DIR);\ +# done + $(MKDIR) $(MAN3DIR) + for i in $(MAN3); do \ + $(INSTALL) -m $(LMODE) -g $(GROUP) $$i $(MAN3DIR);\ + done +# $(MKDIR) $(CHANGESDIR) +# for i in $(CHANGES); do \ +# $(INSTALL) -m $(LMODE) -g $(GROUP) $$i $(CHANGESDIR);\ +# done + +clean: + -$(RM) -f $(COBJS) $(FOBJS) libget.a core + +xclean: + -$(RM) -f $(COBJS) $(FOBJS) libget.a core + -$(RM) -f $(PROGRAM) $(LIBRARY) + -$(SCLEAN) + +lint: $(CSRCS) $(HDRS) $(FSRCS) + $(LINT) $(LFLAGS) $(CSRCS) $(FSRCS) + +print: $(CSRCS) $(HDRS) Makefile + $(PRINT) $(HDRS) Makefile + +sccs: + $(GET) $(GFLAGS) $(CSRCS) $(HDRS) $(DOC) Makefile + Added: SwiftApps/Cybershake/app/post/Getpar/getpar/src/defpar.c =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/src/defpar.c (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/src/defpar.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,67 @@ +/* + * Copyright 1992 Science Applications International Corporation. + * + * NAME + * getbpar() + * getdpar() + * getfpar() + * getffpar() + * + * FILE + * defpar.c + * + * SYNOPSIS + * par->duration = getffpar ("duration", 200.0); + * + * DESCRIPTION + * + * DIAGNOSTICS + * + * FILES + * + * NOTES + * + * SEE ALSO + * + * AUTHOR + * Rick Jenkins 10/08/92 + * + */ + +#include "libget.h" + +int getbpar(char *parname, int defvalue) +{ + int parvalue = defvalue; + + getpar (parname, "b", &parvalue); + + return (parvalue); +} + +int getdpar(char *parname, int defvalue) +{ + int parvalue = defvalue; + + getpar (parname, "d", &parvalue); + + return (parvalue); +} + +float getfpar(char *parname, float defvalue) +{ + float parvalue = defvalue; + + getpar (parname, "f", &parvalue); + + return (parvalue); +} + +double getffpar(char *parname, double defvalue) +{ + double parvalue = defvalue; + + getpar (parname, "F", &parvalue); + + return (parvalue); +} Added: SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.3 =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.3 (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.3 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,459 @@ +.\" @(#)getarg.3 56.1 10/25/93 +.nr Np 0 1 +.TH GETARG 3 "May 1991" +.SH NAME +.B getarg +routines -\ get arguments from a string +.br +.SH SYNOPSIS +#include "libget.h" +.PP +.B void setarg(char *argstring, char *subname) +.PP +.B void setarg_(char *argstring, char *subname, +.B int dum1, int dum2) +.PP +.B int countarg(char *name, char *type) +.PP +.B int cntarg_(char *name, char *type, +.B int dum1, int dum2) +.PP +.B int lenarg(char *name) +.PP +.B int getarg(char *name, char *type, +.B void *pointer) +.PP +.B fgtarg_(char *name, char *type, +.B void *pointer, int dum1, int dum2, int lens) +.PP +.B void endarg(void) +.PP +.B void endarg_(void) +.PP +In the subroutines +.B getarg() +and +.B fgtarg_() +the declaration for the argument +.B pointer +depends on the argument type +.B type. +.br +.SH DESCRIPTION +.br +The +.B getarg +routines provide a simple procedure for passing optional arguments +to subroutines and for parsing strings into data values. The syntax +of the functions and the format of the parameter specification +is similar to +.B getpar(3). +.PP +The subroutine +.I setarg() +initializes the +.B getarg +package, and it must be called before any other references to +.B getarg. +The two arguments to +.I setarg() +are a character string containing optional arguments +and a subroutine name (for error reporting). +The pointer to either the character string or the subroutine name may be +.I NULL +but they cannot both be +.I NULL. +.PP +The subroutine +.I countarg() +takes two arguments: +.I name +and +.I type. +.I Name +is the external name of the variable initialized in +.I setarg(). +.I Type +specifies the variable type, one of +.I d, f, F, +or +.I s. +.I Countarg +counts the number of elements for the vector +.I name. +It is useful for ascertaining the vector limit +for data retrieval via +.I getarg(). +Upon successful completion, +.I countarg() +returns the number of elements for the parameter, or zero if there are no +elements. +.PP +The subroutine +.I lenarg() +takes one argument: +.I name. +.I Name +is the external name of the variable initialized in +.I setarg(). +.I Lenarg() +determines the length of the longest element in the +.I name +vector. +It is useful for ascertaining the memory space needed to +accommodate the largest string in a character string vector. +Upon successful completion, +.I lenarg() +returns a value guaranteed to be at least as large as the +length of the longest string argument. It returns zero +if there are no arguments. +.PP +The subroutine +.I getarg() +takes three arguments: +.I name, type, +and +.I pointer. +.I Name +is the external name of the variable initialized in +.I setarg(). +.I Type +specifies the variable type. +The currently valid types are: +.IP "" 5 +"d" integer +.br +"f" float +.br +"F" double +.br +"s" character string +.br +"b" boolean (integer) +.br +"vd" integer vector +.br +"vf" float vector +.br +"vF" double vector +.br +"vs" character string vector +.PP +The +.I type +parameter can be expanded to indicate the maximum number of elements +allowable in vectors. For example type="vf[4]" or type="vf(4)" +would cause +.I getarg() +to modify no more than 4 elements of the vector, regardless of how +many elements are in the argument list +initialized in +.I setarg(). +If no limit is specified, a limit of 10 is quietly enforced. If there +are fewer elements than the limit the vector will only be modified up +to the number of elements. +.PP +.I Pointer +is a pointer to the type of variable indicated by +.I type. +If no occurrences of the parameter +.I name +is found, the contents of +.I pointer +are not modified. +.PP` +.I Getarg() +returns 1 for a successful conversion, and 0 if unsuccessful. In the +case of vectors +.I getarg() +returns the number of elements found, or 0 if an unsuccessful conversion +occurs at any index in the vector. +.PP +The subroutine +.I endarg() +gracefully terminates the package. +.PP +The Fortran interface subroutines +.I setarg_() +, +.I cntarg_() +, +.I fgtarg_() +and +.I endarg_() +are equivalent with the exception that +.I fgtarg_() +does not process vectors of character strings. Also, there is no +Fortran equivalent for +.I lenarg(). +.PP +The following program example illustrates the use of +.B getarg +for the purpose of parsing optional subroutine arguments. +It is intended for use with subroutines that have a few essential +arguments and many optional ones. +.IP "" 5 +sub(x,lx,list) +.br +float *x; +.br +int lx; +.br +char *list; +.br + { +.br + int opt1, boo; +.br + float fopt2; +.br + char title[40]; +.br + +.br + /* set defaults */ +.br + opt1= 10; +.br + fopt2= 5.0; +.br + title[0]= '\0'; +.br + boo= 1; /* true */ +.br + +.br + setarg(list,"sub"); /* initialize getarg package */ +.br + getarg("opt1","d",&opt1); +.br + getarg("fopt2","f",&fopt2); +.br + getarg("title","s",title); +.br + getarg("boo","b",&boo); +.br + endarg(); /* deactivate getarg package */ +.br + +.br + /* rest of subroutine */ +.br + } +.PP +The minimal call to this subroutine would be +.IP "" 5 +sub(x,lx,0); +.br +.ti 0 +or +.br +sub(x,lx,""); +.PP +in which case the default values of all the options are used. +To change some of the options, the call would be +.IP "" 5 +sub(x,lx,"opt1=100 fopt2=2.0 title='new title' noboo"); +.br +.PP +.B NOTE: +If the variables are defaulted by giving them initializations in +static declarations, +then subsequent calls to subroutines that use +.B getarg +may have their default values modified by previous calls. +.PP +The next program example illustrates the use of +.B getarg +for the purpose of parsing a string argument into data values. +.IP "" 5 +get_msg(list) +.br +char *list; +.br + { +.br + double *time; +.br + char **sta_chans, dbtemp[BUFSIZ], format[BUFSIZ]; +.br + int orid, count_times, count_stas; +.br + int get_times, get_stas, len_stas; +.br + +.br + setarg(list, NULL); /* initialize getarg package */ +.br + +.br + count_times = countarg("channel-time", "F"); /* determine size of double vector */ +.br + time = (double *) malloc(count_times * sizeof(double)); /* create space */ +.br + sprintf(format, "vF[%d]", count_times); /* format the type parameter */ +.br + get_times = getarg("channel-time", format, time); /* retrieve the data */ +.br + if (count_times != get_times) +.br + /* error */ +.br + +.br + /* +.br + * For the string vector ascertain the number of elements and +.br + * the length of the longest element in the vector channel. +.br + * Malloc the appropriate amount of memory space before calling +.br + * getarg(). +.br + */ +.br + count_stas = countarg("channel", "s"); +.br + len_stas = lenarg("channel"); +.br + sta_chans = (char **) malloc(count_stas * sizeof(char*)); +.br + for (i = 0; i < count_stas; i++) +.br + sta_chans[i] = (char *) malloc((len_stas + 1) * sizeof(char)); +.br + sprintf(format, "vs[%d]", count_stas); +.br + get_stas = getarg("channel", format, sta_chans); +.br + if (count_stas != get_stas) +.br + /* error */ +.br + +.br + /* get the remaining arguments */ +.br + getarg("orid", "d", &orid); +.br + getarg("dbtemp", "s", dbtemp); +.br + +.br + endarg(); /* deactivate getarg package */ +.br + +.br + /* rest of subroutine */ +.br + } +.PP +An example call to this subroutine would be +.IP "" 5 +get_msg("dbtemp='demo/demo' orid=721 channel-time=240.0,480.0 channel='ARA/sz','ARA/bz') +.SH PARAMETER FORMAT +The parameters in the strings can occur in any order, and any number +of times. In the case of multiple specifications, the last one is +used. Any parameters that are not requested by +.I getarg() +are ignored. +.PP +Each specification is of the form +.I name=value. +No embedded blanks are allowed on either side of the equals ("=") +sign. Character strings with white space are delimited with single +(') or double (") quotes which are removed by +.I getarg(). +To get a single or double quote in a string, precede it with a back-slash (\\). +Vector arguments are separated by commas. Vectors of strings are +enclosed in single quotes separated by commas. To get a single +quote, comma, or back-slash in a string argument, precede each with a +back-slash. For example: +.IP "" 5 +get_msg("vs_arg='The Dommermuth\\'s','619\\\\234-3153','San Diego\\, CA'"); +.PP +The only exception to the +.I name=value +syntax is boolean variables which can simply be specified by +.I name +or +.I noname +to mean true or false respectively. +.PP +Repetition factors can be used to specify repeated values in vectors +using the symbols +.I x, X, and * +interchangeably. For example +.I get_msg("ints=1,2x2,3,3*4,2X5") +would yield a vector with nine elements: 1, 2, 2, 3, 4, 4, 4, 5, 5. +Repetition factors cannot be used with vectors of strings. +.SH AVAILABILITY +.B getarg +routines are in the library +.I /opt/util/lib/libget.a +which can be loaded with +.I -lget +provided the +.I -L/opt/util/lib +path is specified. The include file libget.h can be found in +/opt/util/include. +.SH "SEE ALSO" +getpar(3) +.SH DIAGNOSTICS +The routines produce error messages on +.I stderr +and return -1 for the following trapped errors. +.PP +1. +.I setarg() +is not (properly) called. +.br +2. The arglist to +.I setarg() +appears to be garbage. +.br +3. +.I countarg(), +.I lenarg(), +or +.I getarg() +are called before +.I setarg(). +.br +4. +.I countarg(), +.I lenarg(), +or +.I getarg() +are called after +.I endarg(). +.br +5. There is an unknown conversion type in +.I countarg() +or +.I getarg(). +.br +6. Attempt to process a vector of strings in +.I fgtarg_(). +.br +7. Invalid vector limit is specified in +.I getarg(). +.br +8. Invalid vector repetition factor is specified in +.I getarg(). +.br +9. A NULL +.I pointer +parameter is passed to +.I getarg(). +.PP +An attempt is made to report which subroutine was active when the error occurred. +.SH BUGS +Probably. +.SH AUTHOR +Robert W. Clayton, Seismological Laboratory, Caltech, Pasadena, CA +91125 +.br +Cynde K. Smith, Science Applications International Corp., San Diego, +CA 92121 Added: SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.c =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.c (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/src/getarg.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,712 @@ +/* + * NAME + * getarg + * + * DESCRIPTION + * get subroutine arguments from a string. Acquired from Caltech. + * + * See getarg.3 for details. + * + * AUTHOR + * copyright (c) Robert W. Clayton + * Seismological Laboratory + * Caltech + * Pasadena, CA 91125 + * + * 24 Jul 1991 J Given Added function getsarg() for dynamic + * string allocation + * + * 25 Apr 1991 Cynde K. Smith Added vector of string capability for C + * version only. + * 26 Apr 1991 Cynde K. Smith Replaced calls to atof and atoi with + * strtod and strtol to allow error checking. + * 09 May 1991 Cynde K. Smith Added countarg() and cntarg_() subroutines. + * 14 May 1991 Cynde K. Smith Added lenarg() subroutine. + * + * Getarg routines: + * + * Externally visable routines: + * + * setarg(argc,argv) + * countarg(name,type) + * lenarg(name) + * getarg(name,type,valptr) + * endarg() + * + * To get C-version: + * cc -c getarg.c + * + * To get F77-version: + * cp getarg.c fgetarg.c + * cc -c -DFORTRAN fgetarg.c + * rm fgetarg.c + * + *SccsId: @(#)getarg.c 56.1 10/25/93 + */ +#include +#include +#include +/* +#ifndef hpux +#include +#endif +*/ +#include +#include "libget.h" + +#define MAXNAME 256 /* max length of name */ +#define MAXVALUE 5120 /* max length of value */ +#define MAXVECTOR 20 /* max # of elements for unspecified vectors */ +#define GETARG_ERROR -1 /* error status for getarg error */ + +#define INIT 1 /* bits for FLAGS (ext_arg.argflags) */ +#define END_PAR 2 + +#define LISTINC 32 /* increment size for arglist */ +#define BUFINC 1024 /* increment size for argbuf */ + +struct arglist /* structure of list set up by setarg */ + { + char *argname; + char *argval; + int hash; + }; +struct ext_arg /* global variables for getarg */ + { + char *progname; + int argflags; + struct arglist *arglist; + struct arglist *arghead; + char *argbuf; + int nlist; + int nbuf; + int listmax; + int bufmax; + } ext_arg; + +/* abbreviations: */ +#define AL struct arglist +#define PROGNAME ext_arg.progname +#define FLAGS ext_arg.argflags +#define ARGLIST ext_arg.arglist +#define ARGHEAD ext_arg.arghead +#define ARGBUF ext_arg.argbuf +#define NLIST ext_arg.nlist +#define NBUF ext_arg.nbuf +#define LISTMAX ext_arg.listmax +#define BUFMAX ext_arg.bufmax + +static int ga_add_entry(char *name, char *value); +static int ga_getarg_err(char *subname, char *format, ...); +static int ga_compute_hash(char *s); +static int ga_getvector(char *list, char *type, void *val); + +void +#ifdef FORTRAN +setarg_(char *list, char *subname, int dum1, int dum2) +#else +setarg(char *list, char *subname) +#endif + { + register char *pl, *pn, *pv; + register i; + int lenlist; + char t, name[MAXNAME], value[MAXVALUE]; + + + PROGNAME= subname; + FLAGS= INIT; + + ARGLIST = NULL; + ARGBUF = NULL; + NLIST= NBUF= LISTMAX= BUFMAX= 0; + +#ifdef FORTRAN + lenlist = dum1; +#else + lenlist = strlen(list); +#endif + if(lenlist == 0) return; + if(list == NULL) return; + + pl= list; + /* loop over entries on each line */ + + for(i=0; i= LISTMAX) + { + LISTMAX += LISTINC; + if(ARGLIST == NULL) + ARGLIST= (AL *)malloc(LISTMAX * sizeof(AL)); + else ARGLIST= (AL *)realloc(ARGLIST,LISTMAX * sizeof(AL)); + } + /* check argbuf memory */ + len= strlen(name) + strlen(value) + 2; /* +2 for terminating nulls */ + if(NBUF+len >= BUFMAX) + { + BUFMAX += BUFINC; + if(ARGBUF == NULL) + ARGBUF= (char *)malloc(BUFMAX); + else ARGBUF= (char *)realloc(ARGBUF,BUFMAX); + } + if(ARGBUF == NULL || ARGLIST == NULL) + return ga_getarg_err("setarg","cannot allocate memory"); + + /* add name */ + alptr= ARGLIST + NLIST; + alptr->hash= ga_compute_hash(name); + ptr= alptr->argname= ARGBUF + NBUF; + do *ptr++ = *name; while(*name++); + + /* add value */ + NBUF += len; + alptr->argval= ptr; + do *ptr++ = *value; while(*value++); + NLIST++; + return 0; + } + +void +#ifdef FORTRAN +endarg_() +#else +endarg(void) /* free arglist & argbuf memory, & process STOP command */ +#endif + { + if(ARGLIST != NULL) free(ARGLIST); + if(ARGBUF != NULL) free(ARGBUF); + ARGBUF= NULL; + ARGLIST= NULL; + FLAGS= END_PAR; /* this stops further getarg calls */ + } + + +/* count the number of arguments for a particular parameter name */ + +int +#ifdef FORTRAN +cntarg_(char *name, char *type, int dum1, int dum2) +#else +countarg(char *name, char *type) +#endif +{ + int found, h; + char *str, *ptr; + register struct arglist *alptr; + + if (FLAGS & END_PAR) + { + return ga_getarg_err("countarg","called after endarg"); + } + + if ((FLAGS & INIT) == 0) + { + return ga_getarg_err("countarg","not initialized with setarg"); + } + + + if (NLIST == 0 || ARGLIST == NULL) + { + return (0); + } + + + found=0; + + h = ga_compute_hash(name); + + /* + * if list is NULL then return NOW; the following "for" loop + * the pointer ARGLIST + (NLIST-1) gives ARGLIST -1 which + * does not test to < ARGHEAD for some reason + */ + + if (NLIST <= 0) + { + return (0); + } + + + /* search list backwards, stopping at first find */ + for (alptr = ARGLIST +(NLIST-1); alptr >= ARGLIST; alptr--) + { + if (alptr->hash != h) + continue; + if (strcmp(alptr->argname, name) != 0) + continue; + str = alptr->argval; + ptr = str; + + switch (*type) + { + case 'd': + case 'f': + case 'F': + /* + * Count the number of commas to detemine list + * size. If the str isn't NULL than there + * is at least one element and at least one + * more than there are commas. + */ + while ((ptr = strchr(ptr, ',')) != NULL) + { + found++; + ptr++; + } + if (str != NULL) + found++; + break; + case 's': + while ((ptr = strchr(ptr, ',')) != NULL) + { + if (ptr[-1] != '\\') + found++; + ptr++; + } + if (str != NULL) + found++; + break; + default: + return ga_getarg_err("countarg", + "unknown conversion type %s",type); + break; + } + break; + } + return (found); +} + +int lenarg(char *name) +{ + int h, len, new_len; + char *str, *ptr1, *ptr2; + register struct arglist *alptr; + + if (FLAGS & END_PAR) + { + return ga_getarg_err("lenarg","called after endarg"); + } + + if ((FLAGS & INIT) == 0) + { + return ga_getarg_err("lenarg","not initialized with setarg"); + } + + if (NLIST == 0 || ARGLIST == NULL) + { + return (0); + } + + + h = ga_compute_hash(name); + + /* + * if list is NULL then return NOW; in the following "for" + * loop the pointer ARGLIST + (NLIST-1) gives ARGLIST -1 + * which does not test to < ARGHEAD for some reason + */ + + if (NLIST <= 0) + { + return (0); + } + + + /* search list backwards, stopping at first find */ + for (alptr = ARGLIST +(NLIST-1); alptr >= ARGLIST; alptr--) + { + if (alptr->hash != h) + continue; + if (strcmp(alptr->argname, name) != 0) + continue; + str = alptr->argval; + ptr1 = str; + len = new_len = 0; + while ((ptr2 = strchr(ptr1, ',')) != NULL) + { + new_len += ptr2 - ptr1; + if (ptr2[-1] != '\\') + { + if (new_len > len) + len = new_len; + new_len = 0; + } + ptr2++; + ptr1 = ptr2; + } + + if (ptr1) + new_len = strlen(ptr1); + if (new_len > len) + len = new_len; + + break; + } + return (len); +} + + + +int +#ifdef FORTRAN +fgtarg_(char *name, char *type, void *val, int dum1, int dum2, int lens) +/* dum1 & dum2 are extra args that fortran puts in */ +#else +getarg(char *name, char *type, void *val) +#endif + { + register char *sptr; + register struct arglist *alptr; + double *dbl; + float *flt; + int *intr; + int h, hno, hyes, found; + char noname[MAXNAME+2], *str, *ptr; + + /*fprintf(stderr,"looking for %s, type=%s\n",name,type);*/ + if(FLAGS & END_PAR) + return ga_getarg_err("getarg","called after endarg"); + if( (FLAGS & INIT) == 0) + return ga_getarg_err("getarg","not initialized with setarg"); + if (val == NULL) + return ga_getarg_err("getarg", "NULL pointer value"); + + if(NLIST == 0 || ARGLIST == NULL) return(0); + + /* The following line corrects a common input error */ + if(type[1]=='v') { type[1]= type[0]; type[0]='v'; } + + found=0; + + if(*type == 'b') goto boolean; + + h= ga_compute_hash(name); + + /* + * if list is NULL then return NOW; the following "for" loop + * the pointer ARGLIST + (NLIST-1) gives ARGLIST -1 which + * does not test to < ARGHEAD for some reason + */ + + if(NLIST <= 0) return(found); + + + /* search list backwards, stopping at first find */ + for(alptr= ARGLIST +(NLIST-1); alptr >= ARGLIST; alptr--) + { + /*fprintf(stderr,"getarg: checking %s\n",alptr->argname);*/ + if(alptr->hash != h) continue; + if(strcmp(alptr->argname,name) != 0) continue; + str= alptr->argval; + switch(*type) + { + case 'd': + intr= (int *) val; + *intr= (int) strtol(str, &ptr, 0); + if (ptr == str) + found = 0; + else + found = 1; + break; + case 'f': + flt= (float *) val; + *flt= (float) strtod(str, &ptr); + if (ptr == str) + found = 0; + else + found = 1; + break; + case 'F': + dbl= (double *) val; + *dbl= strtod(str, &ptr); + if (ptr == str) + found = 0; + else + found = 1; + break; + case 's': + sptr= (char *) val; + while(*str) *sptr++ = *str++; +#ifdef FORTRAN + while(sptr < (((char *)val)+lens)) + *sptr++ = ' '; +#else + *sptr= '\0'; +#endif + found=1; + break; + case 'v': +/* + * For now, it's an error to get a Fortran vector of strings, + * If ga_getvector returns an error, stop processing and + * return GETARG_ERROR (-1) + */ + +#ifdef FORTRAN + if (type[1] == 's') + return ga_getarg_err("getarg", + "fortran string vector"); + else + if ((found = ga_getvector(str, type, val)) + == GETARG_ERROR) + return found; +#else + if ((found = ga_getvector(str,type,val)) == + GETARG_ERROR) + return found; +#endif + break; + default: + return ga_getarg_err("getarg", + "unknown conversion type %s",type); + break; + } + break; + } + return(found); +boolean: + + /* + * if list is NULL then return NOW; the following "for" loop + * the pointer ARGLIST + (NLIST-1) gives ARGLIST -1 which + * does not test to < ARGHEAD for some reason + */ + + if(NLIST <= 0) return(found); + + sprintf(noname,"no%s",name); + hno = ga_compute_hash(noname); + hyes= ga_compute_hash( name); + found=0; + /* search list backwards, stopping at first find */ + for(alptr= ARGLIST +(NLIST-1); alptr >= ARGLIST; alptr--) + { + if(alptr->hash != hno && alptr->hash != hyes) continue; + if(strcmp(alptr->argname, name)== 0) + { + if(alptr->argval[0] == '\0') + *( (int *) val)= 1; + else + *( (int *) val)= atol(alptr->argval); + found++; + break; + } + if(strcmp(alptr->argname,noname)== 0) + { *( (int *) val)= 0; found++; break; } + } + return(found); + } + +int ga_compute_hash(char *s) + { + register int h; + h= s[0]; + if(s[1]) h |= (s[1])<<8; else return(h); + if(s[2]) h |= (s[2])<<16; else return(h); + if(s[3]) h |= (s[3])<<24; + return(h); + } + +int ga_getvector(char *list, char *type, void *val) + { + register char *p; + register int index, cnt; + char *valptr, **strptr, *svalptr, sval[MAXVALUE], *ptr; + int limit; + int ival, *iptr; + float fval, *fptr; + double dval, *dptr; + + limit= MAXVECTOR; + if(type[2] == '(' || type[2] == '[') limit= atol(&type[3]); + if(limit <= 0) + return ga_getarg_err("getarg","bad limit=%d specified",limit); + /*fprintf(stderr,"limit=%d\n",limit);*/ + index= 0; + p= list; + while(*p != '\0' && index < limit) + { + cnt=1; + backup: /* return to here if we find a repetition factor */ + while(*p == ' ' || *p == '\t') p++; + if(*p == '\0') return(index); + valptr= p; + getvalue: /* return here if valid value in char*[] arg */ + while( *p != ',' && *p != '*' && *p != 'x' && *p != 'X' && + *p != '\0') p++; + if (type[1] == 's' && ((*p == ',' && p[-1] == '\\') + || *p == '*' || *p == 'x' || *p == 'X')) + { p++; goto getvalue; } + if((*p == '*' || *p == 'x' || *p == 'X') && + type[1] != 's') + { + cnt= atol(valptr); + if(cnt <= 0) + return ga_getarg_err("getarg", + "bad repetition factor=%d specified", + cnt); + if(index+cnt > limit) cnt= limit - index; + p++; + goto backup; + } + /*fprintf(stderr,"index=%d cnt=%d p=%s$\n",index,cnt,p);*/ + switch(type[1]) + { + case 'd': + iptr= (int *) val; + ival= (int) strtol(valptr, &ptr, 0); + if (ptr == valptr) + index = 0; + else + { + if (iptr+index == NULL) + return ga_getarg_err("getarg", + "NULL vector ptr at index %d.", index); + while(cnt--) + iptr[index++] = ival; + } + break; + case 'f': + fptr= (float *) val; + fval= (float) strtod(valptr, &ptr); + if (ptr == valptr) + index = 0; + else + { + if (fptr+index == NULL) + return ga_getarg_err("getarg", + "NULL vector ptr at index %d", index); + while(cnt--) + fptr[index++] = fval; + } + break; + case 'F': + dptr= (double *) val; + dval= strtod(valptr, &ptr); + if (ptr == valptr) + index = 0; + else + { + if (dptr+index == NULL) + return ga_getarg_err("getarg", + "NULL vector ptr at index %d", index); + while(cnt--) + dptr[index++] = dval; + } + break; + case 's': + svalptr = sval; + strptr = (char **) val; + *svalptr = '\0'; + while (*valptr != '\'' && *valptr != '\0') + { + if (*valptr == '\\') + valptr++; + *svalptr++ = *valptr++; + } + *svalptr= '\0'; + if (strptr+index == NULL) + return ga_getarg_err("getarg", + "NULL vector ptr at index %d", index); + strcpy(strptr[index++], sval); + if (*p != '\0') p++; + break; + default: + return ga_getarg_err("getarg", + "bad vector type=%c specified",type[1]); + break; + } + /* if conversion couldn't be made return 0 */ + if (index == 0) + break; + if (*p != '\0') + p++; + } + return(index); + } + +int +ga_getarg_err(char *subname, char *format, ...) + { + va_list ap; + va_start(ap, format); + (void) fprintf(stderr,"\n***** ERROR in %s[%s] *****\n\t", + (PROGNAME == NULL ? "(unknown)" : PROGNAME),subname); + (void) vfprintf(stderr, format, ap); + va_end(ap); + (void) fprintf(stderr,"\n"); + return GETARG_ERROR; + } +#ifndef FORTRAN +char *getsarg(char *parname, char *defvalue) +{ + char parvalue[1024]; + + parvalue[0] = '\0'; + + if(defvalue) + { + strcpy(parvalue, defvalue); + } + + getarg(parname, "s", parvalue); + + if(! defvalue && parvalue[0] == '\0') return( (char *) 0 ); + + else return(strdup(parvalue)); +} +#endif Added: SwiftApps/Cybershake/app/post/Getpar/getpar/src/getlocation.c =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/src/getlocation.c (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/src/getlocation.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,74 @@ +#include +#include +#include +#include +#include "libget.h" + +#define LOC_FILE "/LOCATIONS" + + +static int getline(FILE *fd, char *line) +{ + char c; + int n; + + n=0; + while( (c=getc(fd)) != EOF) + { + if(c == '\n') + { + *line= '\0'; + return(n); + } + n++; + *line++ = c; + } + return(EOF); +} + + +int getlocation(char *keyname, char *location, int fatal) +{ + FILE *fd; + int i, n; + char line[128], name[128], loc[128]; + + if( (fd= fopen(LOC_FILE,"r")) == NULL) + { + if(fatal) + { + fprintf(stderr,"cannot open LOCATION file -fatal\n"); + exit(-1); + } + else return(-1); + } + while( (n=getline(fd,line)) != EOF) + { + for(i=0; i +#define LOC_FILE "/LOCATIONS" + +getlocation(keyname,location,fatal) +char *keyname, *location; +int fatal; + { + FILE *fd, *fopen(); + int i, n; + char line[128], name[128], loc[128]; + + if( (fd= fopen(LOC_FILE,"r")) == NULL) + { + if(fatal) + { + fprintf(stderr,"cannot open LOCATION file -fatal\n"); + exit(-1); + } + else return(-1); + } + while( (n=getline(fd,line)) != EOF) + { + for(i=0; i +#include +#include +#include +#include "libget.h" + +#define MAXLINE 5120 /* max length of line in par file */ +#define MAXNAME 256 /* max length of name */ +#define MAXVALUE 5120 /* max length of value */ +#define MAXFILENAME 256 /* max length of par file name */ +#define MAXVECTOR 20 /* max # of elements for unspecified vectors */ +#define GETPAR_ERROR 100 /* exit status for getpar error */ +#define GETPAR_STOP 101 /* exit status for STOP or mstpar */ +#define MAXPARLEVEL 8 /* max recursion level for par files */ + +#ifdef FORTRAN +#define GETPAR getpar_ +#define MSTPAR mstpar_ +#define ENDPAR endpar_ +#else +#define GETPAR getpar +#define MSTPAR mstpar +#define ENDPAR endpar +#endif + +#define INIT 1 /* bits for FLAGS (ext_par.argflags) */ +#define STOP 2 +#define LIST 4 +#define END_PAR 8 +#define VERBOSE 16 + +#define LISTINC 32 /* increment size for arglist */ +#define BUFINC 1024 /* increment size for argbuf */ + +struct arglist /* structure of list set up by setpar */ + { + int argname_offset; + int argval_offset; + int hash; + }; +struct ext_par /* global variables for getpar */ + { + char *progname; + int argflags; + struct arglist *arglist; + struct arglist *arghead; + char *argbuf; + int nlist; + int nbuf; + int listmax; + int bufmax; + FILE *listout; + } ext_par; + + +/* abbreviations: */ +#define AL struct arglist +#define PROGNAME ext_par.progname +#define FLAGS ext_par.argflags +#define ARGLIST ext_par.arglist +#define ARGHEAD ext_par.arghead +#define ARGBUF ext_par.argbuf +#define NLIST ext_par.nlist +#define NBUF ext_par.nbuf +#define LISTMAX ext_par.listmax +#define BUFMAX ext_par.bufmax +#define LISTFILE ext_par.listout + +static int gp_getvector(char *list, char *type, void *val); +static int gp_compute_hash(char *s); +static char *gp_fgets(char *line, int maxline, FILE *file); +static FILE *gp_create_dump(char *fname, char *filetype); +static void gp_add_entry(char *name, char *value); +static void gp_close_dump(FILE *file); +static void gp_do_par_file(char *fname, int level); +static void gp_subpar(char **apl, char **apv); +static void gp_getpar_err(char *subname, char *format, ...); +static void gp_do_environment(int ac, char **av); + +int +#ifdef FORTRAN +setpar_() +#else +setpar(int ac, char **av) /* set up arglist & process INPUT command */ +#endif + { + register char *pl, *pn, *pv; + char t, name[MAXNAME], value[MAXVALUE]; + + FILE *file; + int i, addflags, nevlist, endsetpar = 0; + struct arglist *alptr; + + char *apl, *apv; + +#ifdef FORTRAN + int ac; char **av; + extern int xargc; extern char **xargv; + ac= xargc; av= xargv; +#endif + + if(av != (char **) NULL) + { + PROGNAME = *av; + } + else + { + PROGNAME = (char *) NULL; + ac = 0; + } + + FLAGS= INIT; + LISTFILE= stderr; + + ARGLIST= NULL; + ARGBUF = NULL; + NLIST= NBUF= LISTMAX= BUFMAX= 0; +#ifdef ENVIRONMENT + gp_do_environment(ac,av); +#endif + nevlist= NLIST; + while(--ac > 0 && endsetpar == 0) + { + av++; + pl= *av; + while(*pl == ' ' || *pl == '\t') pl++; + /* get name */ + pn= name; + while(*pl != '=' && *pl != '\0') *pn++ = *pl++; + *pn++ = '\0'; + /* get value */ + if(*pl == '=') pl++; + *value = '\0'; + pv=value; + + if(*pl == '"' || *pl == '\'') + { + t= *pl++; + while(*pl != '\0') + { + if(*pl == t) + { + if(pl[-1] != '\\') break; + pv[-1]= t; + pl++; + } + else + { + if(*pl == '$') + { + apl = pl; + apv = pv; + gp_subpar(&apl, &apv); + pl = apl; + pv = apv; + } + else *pv++ = *pl++; + } + } + } + else + { + while(*pl) + if(*pl == '$') + { + apl = pl; + apv = pv; + gp_subpar(&apl, &apv); + pl = apl; + pv = apv; + } + else *pv++ = *pl++; + } + *pv= '\0'; + if(name[0] == '-') gp_add_entry("SWITCH",&name[1]); + else gp_add_entry(name,value); + if(strcmp("par",name)==0) /* par file */ + gp_do_par_file(value,1); + + /* Added by Glenn Nelson (nelson at ollie.UCSC.EDU) to allow mixture + of getpar() and ordinary command line stuff. */ + if (strcmp("ENDPAR", name) == 0) endsetpar = 1; + } + + ARGHEAD= ARGLIST; + +#ifdef ENVIRONMENT + *value= '\0'; + if(GETPAR("NOENV","b",value)) ARGHEAD= ARGLIST+ nevlist; +#endif + addflags= 0; + *value= '\0'; + if(GETPAR("STOP","b",value)) addflags |= STOP; + *value= '\0'; + if(GETPAR("VERBOSE","b",value)) addflags |= VERBOSE; + *value= '\0'; +#ifdef FORTRAN + if(GETPAR("LIST","s",value, 0, 0, 0)) +#else + if(GETPAR("LIST","s",value)) +#endif + { + addflags |= LIST; + LISTFILE =gp_create_dump(value,"list"); + } + *value= '\0'; +#ifdef FORTRAN + if(GETPAR("INPUT","s",value, 0, 0, 0)) +#else + if(GETPAR("INPUT","s",value)) +#endif + { + file =gp_create_dump(value,"list input"); + fprintf(file,"%s: getpar input listing\n",PROGNAME); + for(i=0, alptr=ARGLIST; iargname_offset, + ARGBUF+alptr->argval_offset); + } + gp_close_dump(file); + } + FLAGS |= addflags; + + /* Added by Glenn Nelson (nelson at ollie.UCSC.EDU) to allow setpar() + to terminate before all command line args are exhausted. */ + return ac; + } + +/* add an entry to arglist, expanding memory if necessary */ +void gp_add_entry(char *name, char *value) + { + struct arglist *alptr; + int len; + register char *ptr; + + /* check arglist memory */ + if(NLIST >= LISTMAX) + { + LISTMAX += LISTINC; + if(ARGLIST == NULL) + ARGLIST= (AL *)malloc(LISTMAX * sizeof(AL)); + else ARGLIST= (AL *)realloc(ARGLIST,LISTMAX * sizeof(AL)); + } + /* check argbuf memory */ + len= strlen(name) + strlen(value) + 2; /* +2 for terminating nulls */ + while(NBUF+len >= BUFMAX) + { + BUFMAX += BUFINC; + if(ARGBUF == NULL) + ARGBUF= (char *)malloc(BUFMAX); + else ARGBUF= (char *)realloc(ARGBUF,BUFMAX); + } + if(ARGBUF == NULL || ARGLIST == NULL) + gp_getpar_err("setpar","cannot allocate memory"); + + /* add name */ + alptr= ARGLIST + NLIST; + alptr->hash= gp_compute_hash(name); + alptr->argname_offset = NBUF; + ptr= ARGBUF + NBUF; + do *ptr++ = *name; while(*name++); + + /* add value */ + NBUF += len; + alptr->argval_offset= ptr - ARGBUF; + do *ptr++ = *value; while(*value++); + NLIST++; + } + +#define BETTER_WAY /* The environment is always available (as + suggested by Glenn Nelson (nelson at ollie.UCSC.EDU) */ + +void gp_do_environment(int ac, char **av) + { + char **ae; + register char *pl, *pn, *pv; + char name[MAXNAME], value[MAXVALUE], t; +#ifdef BETTER_WAY + extern char **environ; +#endif + + /* The environ pointer ae, is assumed to have a specific relation + to the arg pointer av. This may not be portable. */ +#ifndef BETTER_WAY + ae= av +(ac+1); + if(ae == NULL) return; +#else + ae = environ; +#endif + + while(*ae != NULL) + { + pl= *ae++; + while(*pl == ' ' || *pl == '\t') pl++; + /* get name */ + pn= name; + while(*pl != '=' && *pl != '\0') *pn++ = *pl++; + *pn = '\0'; + if(strcmp("NOENV",pn) == 0) return; + + /* get value */ + if(*pl == '=') pl++; + pv= value; + if(*pl == '"' || *pl == '\'') + { + t= *pl++; + while(*pl != '\0') + { + if(*pl == t) + { + if(pl[-1] != '\\') break; + pv[-1]= t; + pl++; + } + else *pv++ = *pl++; + } + } + else while(*pl) *pv++ = *pl++; + *pv= '\0'; + gp_add_entry(name,value); + } + } + +void ENDPAR(void) /* free arglist & argbuf memory, & process STOP command */ + { + if(ARGLIST != NULL) free(ARGLIST); + if(ARGBUF != NULL) free(ARGBUF); + ARGBUF= NULL; + ARGLIST= NULL; + if(FLAGS & STOP) + { + fprintf(stderr,"%s[endpar]: stop due to STOP in input\n", + PROGNAME); + exit(GETPAR_STOP); + } + FLAGS= END_PAR; /* this stops further getpar calls */ + } + +int +#ifdef FORTRAN +mstpar_(char *name, char *type, int *val, int dum1, int dum2, int lens) +/* dum1 & dum2 are extra args that fortran puts in */ +#else +mstpar(char *name, char *type, void *val) +#endif + { + int cnt; + char *typemess; +#ifndef FORTRAN + if( (cnt= GETPAR(name,type,val)) > 0) return(cnt); +#else + if( (cnt= GETPAR(name,type,val,dum1,dum2,lens)) > 0) return(cnt); +#endif + /* The following line corrects a common input error */ + if(type[1]=='v') { type[1]= type[0]; type[0]='v'; } + + switch(*type) + { + case 'd': typemess= "an integer"; break; + case 'f': typemess= "a float"; break; + case 'F': typemess= "a double"; break; + case 's': typemess= "a string"; break; + case 'b': typemess= "a boolean"; break; + case 'v': switch(type[1]) + { + case 'd': typemess= "an integer vector"; break; + case 'f': typemess= "a float vector"; break; + case 'F': typemess= "a double vector"; break; + default : typemess= "unknown vector (error)"; + break; + } + break; + default : typemess= "unknown (error)"; break; + } + gp_getpar_err("mstpar","must specify value for '%s', expecting %s", + name,typemess); + return 0; + } + +int +#ifdef FORTRAN +getpar_(char *name, char *type, void* val, int dum1, int dum2, int lens) +/* dum1 & dum2 are extra args that fortran puts in */ +#else +getpar(char *name, char *type, void *val) +#endif + { + register char *sptr; + register struct arglist *alptr; + double *dbl; + float *flt; + int *intgr; + int h, hno, hyes, found; +#ifdef FORTRAN + int termval; +#endif + char line[MAXLINE], *str, *noname; + if(FLAGS & END_PAR) + gp_getpar_err("getpar","called after endpar"); + if( (FLAGS & INIT) == 0) + gp_getpar_err("getpar","not initialized with setpar"); + if(FLAGS & VERBOSE) + fprintf(stderr,"getpar: looking for %s\n",name); + + /* The following line corrects a common input error */ + if(type[1]=='v') { type[1]= type[0]; type[0]='v'; } + + found=0; + + if(NLIST <= 0) return(found); + + /* + * if list is NULL then return NOW; the following "for" loop + * the pointer ARGLIST + (NLIST-1) gives ARGLIST -1 which + * does not test to < ARGHEAD for some reason + */ + + if(*type == 'b') goto boolean; + + h= gp_compute_hash(name); + + /* search list backwards, stopping at first find */ + for(alptr= ARGLIST +(NLIST-1); alptr >= ARGHEAD; alptr--) + { + if(alptr->hash != h) continue; + if(strcmp(ARGBUF+alptr->argname_offset,name) != 0) continue; + str= ARGBUF + alptr->argval_offset; + switch(*type) + { + case 'd': + intgr = (int *) val; + *intgr= atoi(str); + found=1; + break; + case 'f': + flt= (float *) val; + *flt= atof(str); + found=1; + break; + case 'F': + dbl= (double *) val; + *dbl= atof(str); + found=1; + break; + case 's': + sptr= (char *) val; + while(*str) *sptr++ = *str++; + *sptr= '\0'; +#ifdef FORTRAN + +/* If we are in fortran, overwrite the null terminator and pad out + * with blanks ; if this is called internally from setpar_ lens + * will be 0 and the \0 will be left in place + */ + + while(sptr < (((char *)val)+lens)) + *sptr++ = ' '; +#endif + found=1; + break; + case 'v': + found= gp_getvector(str,type,val); + break; + default: + gp_getpar_err("getpar", + "unknown conversion type %s",type); + break; + } + break; + } + goto list; + +boolean: + + noname= line; + sprintf(noname,"no%s",name); + hno = gp_compute_hash(noname); + hyes= gp_compute_hash( name); + found=0; + /* search list backwards, stopping at first find */ + for(alptr= ARGLIST +(NLIST-1); alptr >= ARGHEAD; alptr--) + { + if(alptr->hash != hno && alptr->hash != hyes) continue; + if(strcmp(ARGBUF+alptr->argname_offset, name)== 0) + { + if(*(ARGBUF+alptr->argval_offset) == '\0') + *( (int *) val)= 1; + else + *( (int *) val)= (int)atol(ARGBUF+alptr->argval_offset); + found++; + break; + } + if(strcmp(ARGBUF+alptr->argname_offset,noname)== 0) + { *( (int *) val)= 0; found++; break; } + } + list: + if(FLAGS & LIST) + { + switch(*type) + { + case 'd': sprintf(line,"(int) = %d",*( (int *) val)); + break; + case 'f': flt= (float *)val; + sprintf(line,"(flt) = %14.6e",*flt); break; + case 'F': dbl= (double *)val; + sprintf(line,"(dbl) = %14.6e",*dbl); break; +#ifdef FORTRAN + case 's': + strcpy(line,"(str) = "); + termval = (lens > MAXLINE-1-8) ? MAXLINE-1-8 : lens; + strncpy(line + 8, (char *)val, termval); + line[termval+8] = '\0'; + + break; +#else + case 's': sprintf(line,"(str) = %s", (char *) val); + break; +#endif + case 'b': sprintf(line,"(boo) = %d",*( (int *) val)); + break; + case 'v': switch(type[1]) + { + /* should list these out */ + case 'd': sprintf(line,"(int vec)"); + break; + case 'f': sprintf(line,"(flt vec)"); + break; + case 'F': sprintf(line,"(dbl vec)"); + break; + default : sprintf(line," vec type error"); + break; + } + break; + default : sprintf(line," type error"); break; + } + fprintf(LISTFILE,"%16s (%s) %s \n",name, + (found ? "set":"def"),line); + } + return(found); + } + +FILE *gp_create_dump(char *fname, char *filetype) + { + FILE *temp; + + if(*fname == '\0') return(stderr); + if(strcmp(fname,"stderr") == 0) return(stderr); + if(strcmp(fname,"stdout") == 0) return(stdout); + if( (temp= fopen(fname,"w")) != NULL) return(temp); + fprintf(stderr,"%s[setpar]: cannot create %s file %s\n", + PROGNAME,filetype,fname); + return(stderr); + } + +void gp_close_dump(FILE *file) + { + if(file == stderr || file == stdout) return; + fclose(file); + } + +int gp_compute_hash(char *s) + { + register int h; + h= s[0]; + if(s[1]) h |= (s[1])<<8; else return(h); + if(s[2]) h |= (s[2])<<16; else return(h); + if(s[3]) h |= (s[3])<<24; + return(h); + } + +void gp_do_par_file(char *fname, int level) + { + register char *pl, *pn, *pv; + char t, line[MAXLINE], name[MAXNAME], value[MAXVALUE]; + FILE *file; + char *apl, *apv; + + if(level > MAXPARLEVEL) + gp_getpar_err("setpar","%d (too many) recursive par file",level); + + if(*fname == '\0') return; + + if( (file=fopen(fname,"r"))==NULL) + gp_getpar_err("setpar","cannot open par file %s",fname); + + while( gp_fgets(line,MAXLINE,file) != NULL ) + { + pl= line; + /* loop over entries on each line */ + loop: while(*pl==' ' || *pl=='\t') pl++; + if(*pl=='\0'|| *pl=='\n') continue; + if(*pl=='#') continue; /* comments on rest of line */ + + /* get name */ + pn= name; + while(*pl != '=' && *pl != '\0' && *pl != ' ' + && *pl != '\n' /* FIX by Glenn Nelson */ + && *pl != '\t') *pn++ = *pl++; + *pn = '\0'; + + if(*pl == '=') pl++; + + /* get value */ + + *value= '\0'; + pv= value; + + if(*pl == '"' || *pl == '\'') + { + t= *pl++; + while(*pl != '\0' && *pl != '\n') + { + if(*pl == t) + { + if(pl[-1] != '\\') + { + pl++; + break; + } + pv[-1]= t; + pl++; + } + else + { + if(*pl == '$') + { + apl = pl; + apv = pv; + gp_subpar(&apl, &apv); + pl = apl; + pv = apv; + } + else *pv++ = *pl++; + } + } + } + else + { + while(*pl != '\0' && *pl != '\n' + && *pl != '\t' && *pl != ' ') + if(*pl == '$') + { + apl = pl; + apv = pv; + gp_subpar(&apl, &apv); + pl = apl; + pv = apv; + } + else *pv++ = *pl++; + } + *pv= '\0'; + + gp_add_entry(name,value); + if(strcmp("par",name) == 0) + gp_do_par_file(value,level+1); + goto loop; + } + fclose(file); + } + +void gp_getpar_err(char *subname, char *format, ...) + { + va_list ap; + va_start(ap, format); + (void) fprintf(stderr,"\n***** ERROR in %s[%s] *****\n\t", + (PROGNAME == NULL ? "(unknown)" : PROGNAME),subname); + (void) vfprintf(stderr, format, ap); + va_end(ap); + (void) fprintf(stderr,"\n"); + exit(GETPAR_ERROR); + } +int gp_getvector(char *list, char *type, void *val) + { + register char *p; + register int index, cnt; + char *valptr; + int limit; + int ival, *iptr; + float fval, *fptr; + double dval, *dptr; + + limit= MAXVECTOR; + if(type[2] == '(' || type[2] == '[') limit= (int)atol(&type[3]); + if(limit <= 0) + gp_getpar_err("getpar","bad limit=%d specified",limit); + index= 0; + p= list; + while(*p != '\0' && index < limit) + { + cnt=1; + backup: /* return to here if we find a repetition factor */ + while(*p == ' ' || *p == '\t') p++; + if(*p == '\0') return(index); + valptr= p; + while( *p != ',' && *p != '*' && *p != 'x' && *p != 'X' && + *p != '\0') p++; + if(*p == '*' || *p == 'x' || *p == 'X') + { + cnt= (int)atol(valptr); + if(cnt <= 0) + gp_getpar_err("getpar", + "bad repetition factor=%d specified", + cnt); + if(index+cnt > limit) cnt= limit - index; + p++; + goto backup; + } + switch(type[1]) + { + case 'd': + iptr= (int *) val; + ival= (int)atol(valptr); + while(cnt--) iptr[index++] = ival; + break; + case 'f': + fptr= (float *) val; + fval= atof(valptr); + while(cnt--) fptr[index++] = fval; + break; + case 'F': + dptr= (double *) val; + dval= atof(valptr); + while(cnt--) dptr[index++] = dval; + break; + default: + gp_getpar_err("getpar", + "bad vector type=%c specified",type[1]); + break; + } + if(*p != '\0') p++; + } + return(index); + } + +/* This allows parameter substitution */ + +void gp_subpar(char **apl, char **apv) +{ + register char *pl, *pv; + char subname[MAXNAME]; + int valid = 0; + char *bpl, *bpv; + + if((*apl)[-1] == '\\') + { + (*apv)[-1] = (*apl)[0]; + (*apl)++; + return; + } + + pl = *apl; + pl++; + + if(*pl == '(' ) + { + pv=subname; + pl++; + while(*pl != ')' && *pl != '\0') + { + if(*pl == '$') + { + bpl = pl; + bpv = pv; + gp_subpar(&bpl, &bpv); + pl = bpl; + pv = bpv; + } + else *pv++ = *pl++; + } + *pv = '\0'; + if(*pl == ')' ) + { + pl++; + pv = *apv; + valid = 1; + ARGHEAD= ARGLIST; +#ifndef FORTRAN + if(GETPAR(subname, "s", pv)) +#else + if(GETPAR(subname, "s", pv, 0, 0, 0)) +#endif + { + pv += strlen(pv); + } + *apv=pv; + *apl=pl; + + } + } + if(valid) + { + return; + } + else + { + **apv = **apl; + (*apv)++; + (*apl)++; + } +} + +char *gp_fgets(char *line, int maxline, FILE *file) +{ + register char *p; + register int i; + int q; + + p = line; + *p = '\0'; + + if ( (q = getc(file)) == EOF) return((char *) NULL); + else if( (unsigned char) q == '\n') return(line); + + *p = (unsigned char) q; + p++; + + for (i=1; (q = getc(file)) != EOF && i < maxline;) + { + *p = (unsigned char) q; + if(*p == '\0') return(line); + if(*p == '\n') + { + if( *(p-1) == '\\') + { + p--; + i--; + } + else break; + } + else + { + p++; + i++; + } + } + *p = '\0'; + + return line; +} +#ifndef FORTRAN +char *mstspar(char *parname) +{ + char parvalue[MAXVALUE]; + + mstpar(parname, "s", parvalue); + + return(strdup(parvalue)); +} +char *getspar(char *parname, char *defvalue) +{ + char parvalue[MAXVALUE]; + + parvalue[0] = '\0'; + + if(defvalue) + { + strcpy(parvalue, defvalue); + } + + getpar(parname, "s", parvalue); + + if(! defvalue && parvalue[0] == '\0') return( (char *) 0 ); + + else return(strdup(parvalue)); + +} +#endif Added: SwiftApps/Cybershake/app/post/Getpar/getpar/src/getpar.tar.gz =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/Getpar/getpar/src/getpar.tar.gz ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/Getpar/getpar/src/libget.h =================================================================== --- SwiftApps/Cybershake/app/post/Getpar/getpar/src/libget.h (rev 0) +++ SwiftApps/Cybershake/app/post/Getpar/getpar/src/libget.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,39 @@ + /* + * libpar.h include file. + * + * Provide function definitions/prototypes for the + * routines found in libpar.a. Note these routines may change if + * a new release of libpar is received. Unfortunately this file + * and the release are independent. + */ + +#ifndef _LIBPAR_H +#define _LIBPAR_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +extern int countarg(char *name, char *type); +extern void endarg (void); +extern void endpar (void); +extern int getarg (char *name, char *type, void *ptr_to_some_type); +extern int getpar (char *name, char *type, void *ptr_to_some_type); +extern int lenarg (char *name); +extern int mstpar (char *name, char *type, void *ptr_to_some_type); +extern void setarg (char *list, char *subname); +extern int setpar (int argc, char **argv); +extern char *getspar(char *name, char *defvalue); +extern char *mstspar(char *name); +extern char *getsarg(char *name, char *defvalue); +extern int getbpar(char *name, int defvalue); +extern int getdpar(char *name, int defvalue); +extern float getfpar(char *name, float defvalue); +extern double getffpar(char *name, double defvalue); +extern int getlocation(char *keyname, char *location, int fatal); + +#ifdef __cplusplus +} +#endif + +#endif /* _LIBPAR_H */ Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/defs.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/defs.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/defs.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,34 @@ + +#define DEFAULT_DHYPO_FRAC 0.75 /* hypo at 0.75 down-dip width */ +#define DEFAULT_SHYPO_STEP 20.0 /* hypo spacing at 20 km along strike */ +#define DEFAULT_SHYPO_MIN_OFF 1.0 /* hypos start at 1.0 km along strike */ +#define DEFAULT_SLIPS_TO_HYPOS 2 /* #slip models = 2 times #hypos */ + +#define DEFAULT_VR_TO_VS_FRAC 0.8 /* vrup = 0.8 times local Vs */ +#define DEFAULT_SHAL_VRUP_FRAC 0.8 /* shallow_vrup = 0.8 times back_vrup */ +#define DEFAULT_TSFAC -0.5 /* tinit is shifted -0.5 at max_slip */ + +#define DEFAULT_SIDE_TAP 0.1 /* taper slip at 0.1*flen on sides */ +#define DEFAULT_BOT_TAP 0.1 /* taper slip at 0.1*fwid on top/bot */ + +#define DEFAULT_DT 0.1 +#define NTMAX 10000 +#define SOMERVILLE_FLAG 1 +#define MAI_FLAG 2 +#define MINSLIP 1.0e-02 + +#define RDONLY_FLAGS O_RDONLY +#define RDWR_FLAGS O_RDWR +#define CROPTR_FLAGS O_CREAT | O_TRUNC | O_RDWR + +#if _FILE_OFFSET_BITS == 64 + +#undef RDONLY_FLAGS +#undef RDWR_FLAGS +#undef CROPTR_FLAGS + +#define RDONLY_FLAGS O_RDONLY | O_LARGEFILE +#define RDWR_FLAGS O_RDWR | O_LARGEFILE +#define CROPTR_FLAGS O_CREAT | O_TRUNC | O_RDWR | O_LARGEFILE + +#endif Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/fourg.f =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/fourg.f (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/fourg.f 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,145 @@ + subroutine fourg (data,n,isign,work) +c cooley-tukey fast fourier transform in usasi basic fortran. +c one-dimensional transform of complex data, arbitrary number of +c points. n points can be transformed in time proportional to +c n*log(n) (for n non-prime), whereas other methods take n**2 time. +c furthermore, because fewer arithmetic operations are performed, +c less error is built up. the transform done is-- +c dimension data(n),transform(n),work(n) +c complex data,transform,work +c transform(k) = sum(data(j)*exp(isign*2*pi*i*(j-1)*(k-1)/n)), +c summed from j = 1 to n for all k from 1 to n. the transform +c values are returned to data, replacing the input. n may be any +c positive number, but it should be non-prime for speed. isign = +c +1 or -1. a -1 transform followed by a +1 one (or vice versa) +c returns n times the original data. work is a one-dimensional +c complex array of length n used for working storage. +c running time is proportional to n * (sum of the prime factors of +c n). for example, n = 1960, time is t0 * 1960 * (2+2+2+5+7+7). +c naive methods directly implementing the summation run in time +c proportional to n**2. an upper bound for the rms relative error +c is 3 * 2**(-b) * sum(f**1.5), where b is the number of bits in +c the floating point fraction and the sum is over the prime +c factors of n. written by norman brenner, mit lincoln laboratory, +c august 1968. see--ieee transactions on audio and e +c (june 1967), special issue on the fast fourier transform. + dimension data(1), work(1), ifact(32) + twopi=6.283185307*float(isign) +c factor n into its prime factors, nfact in number. for example, +c for n = 1960, nfact = 6 and ifact(if) = 2, 2, 2, 5, 7 and 7. + if=0 + npart=n + do 50 id=1,n,2 + idiv=id + if (id-1) 10,10,20 + 10 idiv=2 + 20 iquot=npart/idiv + if (npart-idiv*iquot) 40,30,40 + 30 if=if+1 + ifact(if)=idiv + npart=iquot + + go to 20 + 40 if (iquot-idiv) 60,60,50 + 50 continue + 60 if (npart-1) 80,80,70 + 70 if=if+1 + ifact(if)=npart + 80 nfact=if +c shuffle the data array by reversing the digits of the index. +c replace data(i) by data(irev) for all i from 1 to n. irev-1 is +c the integer whose digit representation in the multi-radix +c notation of factors ifact(if) is the reverse of the r +c of i-1. for example, if all ifact(if) = 2, then for i-1 = 11001, +c irev-1 = 10011. a work array of length n is needed. + ip0=2 + ip3=ip0*n + iwork=1 + i3rev=1 + do 110 i3=1,ip3,ip0 + work(iwork)=data(i3rev) + work(iwork+1)=data(i3rev+1) + ip2=ip3 + do 100 if=1,nfact + ip1=ip2/ifact(if) + i3rev=i3rev+ip1 + if (i3rev-ip2) 110,110,90 + 90 i3rev=i3rev-ip2 + 100 ip2=ip1 + 110 iwork=iwork+ip0 + iwork=1 + do 120 i3=1,ip3,ip0 + data(i3)=work(iwork) + data(i3+1)=work(iwork+1) + 120 iwork=iwork+ip0 +c phase-shifted fourier transform of length ifact(if). +c iprod=ip1/ip0 +c irem=n/(ifact(if)*iprod) +c dimension data(iprod,ifact(if),irem),work(ifact(if)) +c complex data,work +c data(i1,j2,i3) = sum(data(i1,i2,i3) * w**(i2-1)), summed over +c i2 = 1 to ifact(if) for all i1 from 1 to iprod, j2 from 1 to + +c ifact(if) and i3 from 1 to irem. +c w = exp(isign*2*pi*i*(i1-1+iprod*(j2-1))/(iprod*ifact(if))). + if=0 + ip1=ip0 + 130 if (ip1-ip3) 140,240,240 + 140 if=if+1 + ifcur=ifact(if) + ip2=ip1*ifcur + theta=twopi/float(ifcur) + sinth=sin(theta/2.) + rootr=-2.*sinth*sinth +c cos(theta)-1, for accuracy + rooti=sin(theta) + theta=twopi/float(ip2/ip0) + sinth=sin(theta/2.) + wstpr=-2.*sinth*sinth + wstpi=sin(theta) + wminr=1. + wmini=0. + do 230 i1=1,ip1,ip0 + if (ifcur-2) 150,150,170 + 150 do 160 i3=i1,ip3,ip2 + j0=i3 + j1=i3+ip1 + tempr=wminr*data(j1)-wmini*data(j1+1) + tempi=wminr*data(j1+1)+wmini*data(j1) + data(j1)=data(j0)-tempr + data(j1+1)=data(j0+1)-tempi + data(j0)=data(j0)+tempr + 160 data(j0+1)=data(j0+1)+tempi + go to 220 + 170 iwmax=ip0*ifcur + do 210 i3=i1,ip3,ip2 + i2max=i3+ip2-ip1 + wr=wminr + wi=wmini + do 200 iwork=1,iwmax,ip0 + i2=i2max + sumr=data(i2) + sumi=data(i2+1) + + 180 i2=i2-ip1 + tempr=sumr + sumr=wr*sumr-wi*sumi+data(i2) + sumi=wr*sumi+wi*tempr+data(i2+1) + if (i2-i3) 190,190,180 + 190 work(iwork)=sumr + work(iwork+1)=sumi + tempr=wr + wr=wr*rootr-wi*rooti+wr + 200 wi=tempr*rooti+wi*rootr+wi + iwork=1 + do 210 i2=i3,i2max,ip1 + data(i2)=work(iwork) + data(i2+1)=work(iwork+1) + 210 iwork=iwork+ip0 + 220 tempr=wminr + wminr=wminr*wstpr-wmini*wstpi+wminr + 230 wmini=tempr*wstpi+wmini*wstpr+wmini + ip1=ip2 + go to 130 + 240 return + end Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/function.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/function.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/function.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,45 @@ +void *check_malloc(size_t); +void *check_realloc(void *,size_t); +FILE *fopfile(char*, char*); +int opfile_ro(char *); +int opfile(char *); +int croptrfile(char *); +int reed(int, void *, int); +int rite(int, void *, int); + +void fft2d(struct complex *, int, int, int,float *,float *); +void kfilt(struct complex *,int,int,float *,float *,float *,float *,long *,int); +void init_slip(struct complex *,int,int,float *,float *); +void taper_slip(struct complex *,int,int,float *,float *); + +void scale_slip(struct pointsource *,struct complex *,int,int,int,float *,float *,float *,float *,float *,struct velmodel *,float *,float *); + +void write_field(char *,struct pointsource *,char *,int,int,float *,float *); +void write_spec(char *,float *,struct complex *,int,int,float *,float *,float *,float *,float *,float *,int); +void write_avgspec(char *,float *,int,int,int,float *,float *); + +void default_velmodel(struct velmodel *); +void read_velmodel(char *,struct velmodel *); +void conv2vrup(struct velmodel *,struct velmodel *,float *,float *,float *,float *,float *); + +double frand(void); +double sfrand(long *); + +int gen_brune_stf(float *,float *,float *,int,float *); +int gen_ucsb_stf(float *,float *,float *,int,float *); +int gen_2tri_stf(float *,float *,float *,int,float *,float *); + +void set_ll(float *,float *,float *,float *,float *,float *); +void swap_in_place(int,char *); + +struct pointsource *read_ruppars(char *,struct pointsource *,float *,int *,int *,float *,float *,float *,float *,float *,float *,float *); +struct pointsource *read_gsfpars(char *,struct pointsource *,struct generic_slip *,float *,float *,float *,float *); +struct pointsource *set_ruppars(struct pointsource *,float *,int *,int *,float *,float *,float *,float *,float *,float *,float *,float *); + +void init_plane_srf(struct standrupformat *,struct generic_slip *,float *,float *,int,int,float *,float *,float *,float *,float *,float *,float *,float *,float *); +void load_slip_srf(struct standrupformat *,struct stfpar *,struct pointsource *); +void load_rupt_srf(struct standrupformat *,struct pointsource *,float *,float *); +void write_srf(struct standrupformat *,char *,int); +void write2gsf(struct generic_slip *,struct pointsource *,char *,char *); + +void free_srf_stf(struct standrupformat *); Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/generf.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/generf.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/generf.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,166 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +main(int ac,char **av) +{ +FILE *fpr, *fpw; +float tlon0, tlat0, tlon1, tlat1; +float lon0, lat0, lon1, lat1; +float tclon, tclat, sn, se, nadj, eadj; +float local_stk, local_len; +float dsub, wid, dtop, avgdip, avgrak, mag; +float *slon, *slat, *sstk, *sdip, *srak, *sdep, *ddep, *dlon, *dlat; +int i, nstk, np, j, ndip; +char infile[256], str[512]; +char outfile[256]; + +float pi = 3.14159265; +double rperd = 0.017453293; +double dperr = 57.29577951; + +sprintf(infile,"stdin"); +sprintf(outfile,"stdout"); + +setpar(ac,av); + +getpar("infile","s",infile); +getpar("outfile","s",outfile); + +mstpar("wid","f",&wid); +mstpar("dsub","f",&dsub); +mstpar("dtop","f",&dtop); +mstpar("dip","f",&avgdip); +mstpar("rake","f",&avgrak); +mstpar("mag","f",&mag); + +endpar(); + +slon = NULL; +slat = NULL; +sstk = NULL; +sdip = NULL; +srak = NULL; +sdep = NULL; +ddep = NULL; +dlon = NULL; +dlat = NULL; + +if(strcmp(infile,"stdin") == 0) + fpr = stdin; +else + fpr = fopfile(infile,"r"); + +fgets(str,512,fpr); +sscanf(str,"%f %f",&tlon0,&tlat0); +np = 0; +while(fgets(str,512,fpr) != NULL) + { + sscanf(str,"%f %f",&tlon1,&tlat1); + + set_ne(&tlon0,&tlat0,&tlon1,&tlat1,&sn,&se); + + local_len = sqrt(sn*sn + se*se); + nstk = (int)(local_len/dsub + 0.5); + + if(sn != 0.0) + local_stk = dperr*atan(se/sn); + else + local_stk = 90.0; + + if(sn < 0.0) + local_stk = local_stk + 180.0; + + while(local_stk < 0.0) + local_stk = local_stk + 360.0; + + while(local_stk >= 360.0) + local_stk = local_stk - 360.0; + + nadj = 0.5*(local_len - nstk*dsub)*cos(local_stk*rperd); + eadj = 0.5*(local_len - nstk*dsub)*sin(local_stk*rperd); + + set_ll(&tlon0,&tlat0,&lon0,&lat0,&nadj,&eadj); + tlon0 = lon0; + tlat0 = lat0; + + slon = (float *)check_realloc(slon,(np+nstk)*sizeof(float)); + slat = (float *)check_realloc(slat,(np+nstk)*sizeof(float)); + sstk = (float *)check_realloc(sstk,(np+nstk)*sizeof(float)); + sdip = (float *)check_realloc(sdip,(np+nstk)*sizeof(float)); + srak = (float *)check_realloc(srak,(np+nstk)*sizeof(float)); + sdep = (float *)check_realloc(sdep,(np+nstk)*sizeof(float)); + ddep = (float *)check_realloc(ddep,(np+nstk)*sizeof(float)); + dlon = (float *)check_realloc(dlon,(np+nstk)*sizeof(float)); + dlat = (float *)check_realloc(dlat,(np+nstk)*sizeof(float)); + + nadj = dsub*cos(avgdip*rperd)*cos((local_stk+90.0)*rperd); + eadj = dsub*cos(avgdip*rperd)*sin((local_stk+90.0)*rperd); + + set_ll(&tlon0,&tlat0,&dlon[np],&dlat[np],&nadj,&eadj); + dlon[np] = dlon[np] - tlon0; + dlat[np] = dlat[np] - tlat0; + ddep[np] = dsub*sin(avgdip*rperd); + + for(i=0;i 2.0*yl) + xl = 2.0*yl; +if(yl > 2.0*xl) + yl = 2.0*xl; + +/* mai scaling */ +xl = exp(bigM*(0.5*mag_med - 2.50)); +yl = exp(bigM*(0.3333*mag_med - 1.50)); + +/* somerville scaling */ +xl = exp(bigM*(0.5*mag_med - 1.72)); +yl = exp(bigM*(0.5*mag_med - 1.93)); + +/* modified somerville scaling */ +xl = exp(bigM*(0.5*mag_med - 2.00)); +yl = exp(bigM*(0.5*mag_med - 2.00)); + +ny = ny_in; +if(flip_at_surface) + { + ny = 2*ny_in; + xl = sqrt(2.0)*xl; + yl = sqrt(2.0)*yl; + } + +dkx = 1.0/(nx*dx); +dky = 1.0/(ny*dy); + +/* rise time from somerville */ +stfparams.trise = 1.8e-09*exp(log(mom)/3.0); + +cslip = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + +if(specfile[0] != '\0') + { + aspec = (float *) check_malloc (nx*ny*sizeof(float)); + for(j=0;j should double check that spectra is + not changed too much +*/ + + for(j=0;j 2.0*yl) + xl = 2.0*yl; +if(yl > 2.0*xl) + yl = 2.0*xl; + +/* mai scaling */ +xl = exp(bigM*(0.5*mag - 2.50)); +yl = exp(bigM*(0.3333*mag - 1.50)); + +/* somerville scaling */ +xl = exp(bigM*(0.5*mag - 1.72)); +yl = exp(bigM*(0.5*mag - 1.93)); + +/* modified somerville scaling */ +xl = exp(bigM*(0.5*mag - 2.00)); +yl = exp(bigM*(0.5*mag - 2.00)); + +ny = ny_in; +if(flip_at_surface) + { + ny = 2*ny_in; + xl = sqrt(2.0)*xl; + yl = sqrt(2.0)*yl; + } + +dkx = 1.0/(nx*dx); +dky = 1.0/(ny*dy); + +/* rise time from somerville */ +stfparams.trise = 1.8e-09*exp(log(mom)/3.0); + +cslip = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + +if(specfile[0] != '\0') + { + aspec = (float *) check_malloc (nx*ny*sizeof(float)); + for(j=0;j should double check that spectra is + not changed too much +*/ + + for(j=0;j 2.0*yl) + xl = 2.0*yl; +if(yl > 2.0*xl) + yl = 2.0*xl; + +/* mai scaling */ +xl = exp(bigM*(0.5*mag_med - 2.50)); +yl = exp(bigM*(0.3333*mag_med - 1.50)); + +/* somerville scaling */ +xl = exp(bigM*(0.5*mag_med - 1.72)); +yl = exp(bigM*(0.5*mag_med - 1.93)); + +/* modified somerville scaling */ +xl = exp(bigM*(0.5*mag_med - 2.00)); +yl = exp(bigM*(0.5*mag_med - 2.00)); + +if(flip_at_surface < 0) + { + if(dtop <= 0.100001) + flip_at_surface = 1; + else + flip_at_surface = 0; + } + +ny = ny_in; +if(flip_at_surface == 1) + { + ny = 2*ny_in; + xl = sqrt(2.0)*xl; + yl = sqrt(2.0)*yl; + } + +dkx = 1.0/(nx*dx); +dky = 1.0/(ny*dy); + +/* rise time from somerville */ +stfparams.trise = 1.8e-09*exp(log(mom)/3.0); + +cslip = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + +if(specfile[0] != '\0') + { + aspec = (float *) check_malloc (nx*ny*sizeof(float)); + for(j=0;j should double check that spectra is + not changed too much +*/ + + for(j=0;j 2.0*yl) + xl = 2.0*yl; +if(yl > 2.0*xl) + yl = 2.0*xl; + +/* mai scaling */ +xl = exp(bigM*(0.5*mag_med - 2.50)); +yl = exp(bigM*(0.3333*mag_med - 1.50)); + +/* somerville scaling */ +xl = exp(bigM*(0.5*mag_med - 1.72)); +yl = exp(bigM*(0.5*mag_med - 1.93)); + +/* modified somerville scaling */ +xl = exp(bigM*(0.5*mag_med - 2.00)); +yl = exp(bigM*(0.5*mag_med - 2.00)); + +if(flip_at_surface < 0) + { + if(dtop <= 0.100001) + flip_at_surface = 1; + else + flip_at_surface = 0; + } + +ny = ny_in; +if(flip_at_surface == 1) + { + ny = 2*ny_in; + if(stretch_kcorner) + { + xl = sqrt(2.0)*xl; + yl = sqrt(2.0)*yl; + } + } + +dkx = 1.0/(nx*dx); +dky = 1.0/(ny*dy); + +/* rise time from somerville */ +if(stfparams.trise < 0.0) + stfparams.trise = 1.8e-09*exp(log(mom)/3.0); + +cslip = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + +if(specfile[0] != '\0') + { + aspec = (float *) check_malloc (nx*ny*sizeof(float)); + for(j=0;j should double check that spectra is + not changed too much +*/ + + for(j=0;j 0 && write_gsf) + write2gsf(&gslip,psrc,infile,str); + } + + free_srf_stf(&srf); + } + +if(specfile[0] != '\0') + { + sprintf(str,"%s-s_avg",specfile); + write_avgspec(str,aspec,ns,nx,ny,&dkx,&dky); + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/genslip.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,397 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +main(int ac,char **av) +{ +FILE *fpr, *fpw; +struct complex *cslip; +float *slip, *rupt; +float flen, fwid, dx, dy, amp0, amp, lamp; +float dkx, dky, kx, ky, xx, yy, zz; +float cosA, sinA, cosD, sinD, dd, sn, se; +int nx, ny; +int i, j, k, ip, nt6, it; +char infile[256], slipfile[256], specfile[256], ruptfile[256], str[512]; +char outfile[256]; + +float bigM; +float xl, yl; + +int flip_at_surface = 0; +int ny_in, ny_str, ny_end, nyout; + +float pi = 3.14159265; +double rperd = 0.017453293; + +float mag; +float side_taper = 0.1; +float bot_taper = 0.1; + +long seed = 0; + +int kmodel = 1; /* default is somerville */ + +float shypo, dhypo, strike, rake, rt; +struct velmodel rvmod; +double rayp, rupt_rad; + +float rvfrac = 0.8; +float shal_vrup = 1.0; +float htol = 0.1; + +float smax, savg, sf; +float tsfac = -0.0; + +float dtop, dip, mom; +struct velmodel vmod; +char velfile[128]; + +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +float trise, dt, area; +float *stf, *slon, *slat, *sdep, elon, elat; +int ig, ntot; +int nt = NTMAX; + +slipfile[0] = '\0'; +specfile[0] = '\0'; +ruptfile[0] = '\0'; + +sprintf(infile,"stdin"); +sprintf(outfile,"stdout"); + +sprintf(srf.version,"1.0"); + +setpar(ac,av); + +mstpar("mag","f",&mag); +mstpar("flen","f",&flen); +mstpar("fwid","f",&fwid); +mstpar("nx","d",&nx); +mstpar("ny","d",&ny_in); + +mstpar("dtop","f",&dtop); +mstpar("dip","f",&dip); +mstpar("shypo","f",­po); +mstpar("dhypo","f",&dhypo); +mstpar("elon","f",&elon); +mstpar("elat","f",&elat); +mstpar("strike","f",&strike); +mstpar("rake","f",&rake); +mstpar("dt","f",&dt); +getpar("nt","d",&nt); + +getpar("rvfrac","f",&rvfrac); +getpar("shal_vrup","f",&shal_vrup); +getpar("tsfac","f",&tsfac); + +getpar("slipfile","s",slipfile); +getpar("specfile","s",specfile); +getpar("ruptfile","s",ruptfile); + +getpar("infile","s",infile); +getpar("outfile","s",outfile); + +mstpar("velfile","s",velfile); + +getpar("kmodel","d",&kmodel); +getpar("flip_at_surface","d",&flip_at_surface); +getpar("seed","d",&seed); +getpar("side_taper","f",&side_taper); +getpar("bot_taper","f",&bot_taper); + +endpar(); + +dx = flen/nx; +dy = fwid/ny_in; + +/* + For now, set parameters here, later will read in from 'infile' +*/ + +slon = (float *)check_malloc(nx*ny_in*sizeof(float)); +slat = (float *)check_malloc(nx*ny_in*sizeof(float)); +sdep = (float *)check_malloc(nx*ny_in*sizeof(float)); + +cosA = cos(strike*rperd); +sinA = sin(strike*rperd); +cosD = cos(dip*rperd); +sinD = sin(dip*rperd); +for(j=0;j 2.0*yl) + xl = 2.0*yl; +if(yl > 2.0*xl) + yl = 2.0*xl; + +/* somerville scaling */ +xl = exp(bigM*(0.5*mag - 1.72)); +yl = exp(bigM*(0.5*mag - 1.93)); + +/* mai scaling */ +xl = exp(bigM*(0.5*mag - 2.50)); +yl = exp(bigM*(0.3333*mag - 1.50)); + +/* modified somerville scaling */ +xl = exp(bigM*(0.5*mag - 2.00)); +yl = exp(bigM*(0.5*mag - 2.00)); + +/* +fprintf(stderr,"xl= %13.5f yl= %13.5f\n",xl,yl); +*/ + +dkx = 1.0/(nx*dx); +dky = 1.0/(ny*dy); + +cslip = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); +init_slip(cslip,nx,ny,&side_taper,&bot_taper); + +fft2d(cslip,nx,ny,-1,&dx,&dy); +kfilt(cslip,nx,ny,&dkx,&dky,&xl,&yl,&seed,kmodel); +fft2d(cslip,nx,ny,1,&dkx,&dky); + +/* + truncate any negative slip values => should double check that spectra is + not changed too much +*/ + +for(j=0;jnseg = 1; +prseg_ptr = prect_ptr->prectseg; +prseg_ptr = (struct srf_prectsegments *)check_malloc(prect_ptr->nseg*sizeof(struct srf_prectsegments)); + +apnts_ptr = &srf.srf_apnts; +apnts_ptr->np = 0; +apval_ptr = apnts_ptr->apntvals; +apval_ptr = (struct srf_apointvalues *)check_malloc(sizeof(struct srf_apointvalues)); + +prseg_ptr[0].elon = elon; +prseg_ptr[0].elat = elat; +prseg_ptr[0].nstk = nx; +prseg_ptr[0].ndip = nyout; +prseg_ptr[0].flen = flen; +prseg_ptr[0].fwid = fwid; +prseg_ptr[0].dlen = dx; +prseg_ptr[0].dwid = dy; +prseg_ptr[0].stk = strike; +prseg_ptr[0].dip = dip; +prseg_ptr[0].dtop = dtop; +prseg_ptr[0].shyp = shypo; +prseg_ptr[0].dhyp = dhypo; + +ntot = (prseg_ptr[0].nstk)*(prseg_ptr[0].ndip); +area = prseg_ptr[0].dlen*prseg_ptr[0].dwid*1.0e+10; + +apval_ptr = (struct srf_apointvalues *)check_realloc(apval_ptr,(apnts_ptr->np+ntot)*sizeof(struct srf_apointvalues)); + +for(j=0;j MINSLIP) + apval_ptr[ip].nt1 = gen_stf(&trise,stf,nt,&dt,&sdep[ip]); + else + apval_ptr[ip].nt1 = 0; + + if(apval_ptr[ip].nt1) + apval_ptr[ip].stf1 = (float *)check_realloc(apval_ptr[ip].stf1,(apval_ptr[ip].nt1)*sizeof(float)); + else + free(apval_ptr[ip].stf1); + + apval_ptr[ip].lon = slon[ip]; + apval_ptr[ip].lat = slat[ip]; + apval_ptr[ip].dep = sdep[ip]; + apval_ptr[ip].stk = prseg_ptr[0].stk; + apval_ptr[ip].dip = prseg_ptr[0].dip; + apval_ptr[ip].area = area; + apval_ptr[ip].tinit = rupt[ip]; + apval_ptr[ip].rake = rake; + apval_ptr[ip].slip1 = slip[ip]; + + apval_ptr[ip].slip2 = 0.0; + apval_ptr[ip].nt2 = 0; + apval_ptr[ip].slip3 = 0.0; + apval_ptr[ip].nt3 = 0; + } + } +apnts_ptr->np = apnts_ptr->np + ntot; + +if(strcmp(outfile,"stdout") == 0) + fpw = stdout; +else + fpw = fopfile(outfile,"w"); + +fprintf(fpw,"%s\n",srf.version); + +fprintf(fpw,"%s %d\n",srf.type,prect_ptr->nseg); +for(ig=0;ignseg;ig++) + { + fprintf(fpw,"%10.4f %9.4f %5d %5d %8.2f %8.2f\n",prseg_ptr[ig].elon, + prseg_ptr[ig].elat, + prseg_ptr[ig].nstk, + prseg_ptr[ig].ndip, + prseg_ptr[ig].flen, + prseg_ptr[ig].fwid); + fprintf(fpw,"%4.0f %4.0f %8.2f %8.2f %8.2f\n",prseg_ptr[ig].stk, + prseg_ptr[ig].dip, + prseg_ptr[ig].dtop, + prseg_ptr[ig].shyp, + prseg_ptr[ig].dhyp); + } + +fprintf(fpw,"POINTS %d\n",apnts_ptr->np); +for(i=0;inp;i++) + { + fprintf(fpw,"%10.4f %9.4f %9.4f %4.0f %4.0f %12.5e %10.4f %12.5e\n", + apval_ptr[i].lon, + apval_ptr[i].lat, + apval_ptr[i].dep, + apval_ptr[i].stk, + apval_ptr[i].dip, + apval_ptr[i].area, + apval_ptr[i].tinit, + apval_ptr[i].dt); + fprintf(fpw,"%4.0f %8.2f %6d %8.2f %6d %8.2f %6d\n", + apval_ptr[i].rake, + apval_ptr[i].slip1, + apval_ptr[i].nt1, + apval_ptr[i].slip2, + apval_ptr[i].nt2, + apval_ptr[i].slip3, + apval_ptr[i].nt3); + + stf = apval_ptr[i].stf1; + nt6 = (apval_ptr[i].nt1)/6; + for(k=0;k 2.0*yl) + xl = 2.0*yl; +if(yl > 2.0*xl) + yl = 2.0*xl; + +/* somerville scaling */ +xl = exp(bigM*(0.5*mag - 1.72)); +yl = exp(bigM*(0.5*mag - 1.93)); + +/* modified somerville scaling */ +xl = exp(bigM*(0.5*mag - 2.00)); +yl = exp(bigM*(0.5*mag - 2.00)); + +/* +fprintf(stderr,"xl= %13.5f yl= %13.5f\n",xl,yl); +*/ + +dkx = 1.0/(nx*dx); +dky = 1.0/(ny*dy); + +cslip = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); +init_slip(cslip,nx,ny,&side_taper,&bot_taper); + +fft2d(cslip,nx,ny,-1,&dx,&dy); +kfilt(cslip,nx,ny,&dkx,&dky,&xl,&yl,&seed,kmodel); +fft2d(cslip,nx,ny,1,&dkx,&dky); + +/* + truncate any negative slip values => should double check that spectra is + not changed too much +*/ + +for(j=0;j 1.0e+14 || *yl > 1.0e+14) + amp0 = 0.0; + +xl2 = (*xl)*(*xl); +yl2 = (*yl)*(*yl); + +for(j=0;j 1 && j > 1) + { + s0[ip].re = fac*cos(phs); + s0[ip].im = fac*sin(phs); + } + } + } +} + +void fft2d(struct complex *xc,int n1,int n2,int isgn,float *d1,float *d2) +{ +int i, j, ip; +float *space; +struct complex *xtc; +float normf; + +normf = (*d1)*(*d2); + +space = (float *) check_malloc (2*(n1+n2)*sizeof(float)); + +for(j=0;j 1.0. + */ +double frand(void) +{ +frandx = (frandx * 1103515245 + 12345) & 0x7fffffff; +return((double)(frandx)/1073741824.0 - 1.0); +} + +/* sfrand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double sfrand(long *seed) +{ +*seed = ((*seed) * 1103515245 + 12345) & 0x7fffffff; +return((double)(*seed)/1073741824.0 - 1.0); +} + +void init_slip(struct complex *sc,int nx,int ny,float *st,float *bt) +{ +float xdamp, ydamp; +int ix, iy, xb, yb; + +for(ix=0;ix nx-xb) + xdamp = (float)(nx-ix)/(float)(xb); + + sc[ix+iy*nx].re = xdamp*ydamp*sc[ix+iy*nx].re; + sc[ix+(ny-1-iy)*nx].re = xdamp*ydamp*sc[ix+(ny-1-iy)*nx].re; + } + } + +for(iy=yb;iy 0.0) + lamp = log10(amp/fac); + + fprintf(fpw,"%13.5e %13.5e %12.5e %12.5e\n",kx,ky,lamp,amp); + } + } +fclose(fpw); + +fft2d(slip,nx,ny,1,dkx,dky); +} + +void conv2vrup(struct velmodel *vm,struct velmodel *rvm,float *dip,float *ztop,float *wid,float *rvf,float *shal_vr) +{ +int i, j, k; +float invsinA, dep, zbot; +char string[256]; + +float rperd = 0.017453293; +float dmin = 4.0; +float dmax = 6.0; +float rvfac; + +i = 0; +dep = vm->th[0]; +while(dep < (*ztop)) + { + i++; + dep = dep + vm->th[i]; + } + +zbot = *ztop + (*wid)*sin((*dip)*rperd); +invsinA = 1.0/sin((*dip)*rperd); + +if(dep >= dmax) + rvfac = (*rvf); +else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); +else + rvfac = (*rvf)*(*shal_vr); + +rvm->th[0] = invsinA*(dep - (*ztop)); +rvm->vs[0] = rvfac*vm->vs[i]; + +j = i; +k = 0; +while(dep < zbot) + { + j++; k++; + dep = dep + vm->th[j]; + + if(dep >= dmax) + rvfac = (*rvf); + else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); + else + rvfac = (*rvf)*(*shal_vr); + + rvm->th[k] = invsinA*vm->th[j]; + rvm->vs[k] = rvfac*vm->vs[j]; + } + +rvm->nlay = k + 1; + +for(i=0;inlay;i++) + rvm->invb2[i] = 1.0/(rvm->vs[i]*rvm->vs[i]); +} + +get_rupt(vm,h,srcd,recd,srcr,recr,p,rad,tt) +struct velmodel *vm; +float *h, *srcr, *recr, *recd, *tt, *srcd; +double *p, *rad; +{ +double sth, rth, rng; +float sdep, rdep; +float tol; +float tup, thead; +int k, slay, rlay, linc; + +float tenth = 0.1; +double eps = 1.0e-12; + +tol = tenth*(*h); + +rng = *srcr - *recr; +if(rng < 0.0) + rng = -rng; + +k = 0; +sdep = vm->th[0]; +while((*srcd) > sdep) + { + k++; + sdep = sdep + vm->th[k]; + } +slay = k; + +k = 0; +rdep = vm->th[0]; +while((*recd) > rdep) + { + k++; + rdep = rdep + vm->th[k]; + } +rlay = k; + +sth = sdep - *srcd; +rth = rdep - *recd; +get_headtime(vm,slay,&sth,rlay,&rth,&rng,&thead); + +if(slay != rlay) + { + if(sdep > rdep) + { + sth = vm->th[slay] - (sdep - *srcd); + rth = rdep - *recd; + linc = -1; + } + else + { + sth = sdep - *srcd; + rth = vm->th[rlay] - (rdep - *recd); + linc = 1; + } + +/* + bisection method +*/ + bisect_p(vm,slay,&sth,rlay,&rth,p,&eps,&tol,&rng,linc); + + /* get path length and travel time for correct ray parameter */ + + get_radtime(vm,slay,&sth,rlay,&rth,p,rad,&tup,linc); + } +else + { + *rad = sqrt(rng*rng + ((*srcd)-(*recd))*((*srcd)-(*recd))); + tup = (*rad)/vm->vs[slay]; + } + +*tt = thead; +if(tup < thead) + *tt = tup; +/* +else + fprintf(stderr,"*** thead selected\n"); + +fprintf(stderr,"*** thd= %f tup= %f\n",thead,tup); +*/ +} + +bisect_p(vm,slay,sth,rlay,rth,p,eps,tol,rng,linc) +struct velmodel *vm; +double *sth, *rth, *p, *rng, *eps; +float *tol; +int linc, slay, rlay; +{ +double tp0, pp, pm, p0, r0, delr; +int i, ic; + +int nc = 100; + +p0 = 1.0/vm->vs[slay]; +for(i=slay+linc;i!=rlay;i=i+linc) + { + tp0 = 1.0/vm->vs[i]; + if(tp0 < p0) + p0 = tp0; + } +tp0 = 1.0/vm->vs[rlay]; +if(tp0 < p0) + p0 = tp0; + +*p = *eps; + +get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + +if(r0 < *rng) /* if not, then p=0 (vertical ray) */ + { + /* bracket range with ray parameter extremes */ + + ic = 0; + while(r0 < *rng && ic < nc) + { + ic++; + *p = p0*(1.0 - (*eps)/(double)(ic*ic)); + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + } + + pp = *p; + pm = *eps; + + delr = r0 - *rng; + +/* + use bisection to converge to correct ray parameter +*/ + + ic = 0; + while(delr > *tol) + { + *p = 0.5*(pp + pm); + + if(*p == pp || *p == pm) /* beyond double precision accuracy */ + break; + + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + if(r0 >= *rng) + { + delr = r0 - *rng; + pp = *p; + } + else + { + delr = *rng - r0; + pm = *p; + } + + ic++; + if(ic > nc) + break; + } + } +else + *p = 0.0; +} + +get_range(vm,slay,sth,rlay,rth,p,r0,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +int linc, slay, rlay; +{ +int i; +double denom, arg; +double invp2; + +invp2 = 1.0/((*p)*(*p)); + +denom = sqrt(invp2*vm->invb2[slay] - 1.0); +*r0 = (*sth)/denom; + +for(i=slay+linc;i!=rlay;i=i+linc) + { + denom = sqrt(invp2*vm->invb2[i] - 1.0); + *r0 = *r0 + vm->th[i]/denom; + } + +denom = sqrt(invp2*vm->invb2[rlay] - 1.0); +*r0 = *r0 + (*rth)/denom; +} + +get_radtime(vm,slay,sth,rlay,rth,p,r0,tt,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +float *tt; +int linc, slay, rlay; +{ +int i; +double r1, rad, arg; +double denom, invp2; + +if(*p > 0.0) + { + arg = 1.0 - (*p)*(*p)*vm->vs[slay]*vm->vs[slay]; + denom = sqrt(arg); + + *r0 = (*sth)/denom; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + arg = 1.0 - (*p)*(*p)*vm->vs[i]*vm->vs[i]; + denom = sqrt(arg); + + rad = vm->th[i]/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[i]; + } + + arg = 1.0 - (*p)*(*p)*vm->vs[rlay]*vm->vs[rlay]; + denom = sqrt(arg); + + rad = (*rth)/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[rlay]; + } +else + { + *r0 = *sth; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + *r0 = *r0 + vm->th[i]; + *tt = *tt + vm->th[i]/vm->vs[i]; + } + + *r0 = *r0 + *rth; + *tt = *tt + (*rth)/vm->vs[rlay]; + } +} + +get_headtime(mod,slay,sth,rlay,rth,rad,tt) +struct velmodel *mod; +double *sth, *rth, *rad; +float *tt; +int slay, rlay; +{ +int vflag, j, jj, jst, jnd; +double inv2, rc, tinc, arg; + +jst = rlay; +if(slay > rlay) + jst = slay; + +*tt = 1.0e+5; +for(jnd=jst+1;jndnlay;jnd++) + { + jj = rlay; + if(slay < rlay) + jj = slay; + + vflag = 1; + for(j=jj;jvs[j] > mod->vs[jnd]) + vflag = -1; + } + + if(vflag == 1) + { + tinc = (*rad)/mod->vs[jnd]; + inv2 = 1.0/(mod->vs[jnd]*mod->vs[jnd]); + + arg = 1.0/(mod->vs[slay]*mod->vs[slay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*sth)*arg; + rc = (*sth)/(arg*mod->vs[jnd]); + + for(j=slay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + for(j=rlay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + arg = 1.0/(mod->vs[rlay]*mod->vs[rlay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*rth)*arg; + rc = rc + (*rth)/(arg*mod->vs[jnd]); + + if(tinc < *tt && rc < (*rad)) + *tt = tinc; + } + } +} + +void scale_slip(float *s,struct complex *cs,int nx,int ny,int nys,float *dx,float *dy,float *dtop,float *dip,float *mom,struct velmodel *vm,float *savg,float *smax) +{ +float sum, fac, sinD, area; +float zz; +int i, j, k; + +float rperd = 0.017453293; + +sinD = sin((*dip)*rperd); +area = (*dx)*(*dy)*1.0e+10; /* in CMS units */ + +sum = 0.0; +for(j=0;j vm->dep[k] && k < (vm->nlay)-1) + k++; + + fac = area*vm->mu[k]; + for(i=0;i *smax) + *smax = s[i + j*nx]; + } + } +*savg = (*savg)/(float)(nx*ny); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/include.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/include.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/include.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,15 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/iofunc.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/iofunc.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/iofunc.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,391 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +void write_field(char *file,struct pointsource *ps,char *type,int nx,int ny,float *dx,float *dy) +{ +FILE *fpw, *fopfile(); +float xx, yy; +int i, j; + +fpw = fopfile(file,"w"); +for(j=0;j 0.0) + lamp = log10(amp/fac); + + fprintf(fpw,"%13.5e %13.5e %12.5e %12.5e\n",kx,ky,lamp,180*atan(slip[ip].im/slip[ip].re)/3.14159); + + as[ip] = as[ip] + lamp; + } + } +fclose(fpw); + +fft2d(slip,nx,ny,1,dkx,dky); +} + +void write_avgspec(char *file,float *as,int ns,int nx,int ny,float *dkx,float *dky) +{ +FILE *fpw; +float kx, ky, fac; +int i, j, ip; + +fac = 1.0/(float)(ns); + +fpw = fopfile(file,"w"); + +for(j=0;j<=ny/2;j++) + { + ky = j*(*dky); + + for(i=0;i<=nx/2;i++) + { + kx = i*(*dkx); + ip = i + j*nx; + fprintf(fpw,"%13.5e %13.5e %12.5e\n",kx,ky,fac*as[ip]); + } + } +fclose(fpw); +} + +FILE *fopfile(char *name,char *mode) +{ +FILE *fp; + +if((fp = fopen(name,mode)) == NULL) + { + fprintf(stderr,"CAN'T FOPEN FILE = %s, MODE = %s\n", name, mode); + exit(-1); + } +return(fp); +} + +int opfile_ro(char *name) +{ +int fd; +if ((fd = open (name, RDONLY_FLAGS, 0444)) == -1) + fprintf (stderr, "CAN'T OPEN FILE %s\n", name); +return (fd); +} + +int opfile(char *name) +{ +int fd; +if ((fd = open (name, RDWR_FLAGS, 0664)) == -1) + fprintf (stderr, "CAN'T OPEN FILE %s\n", name); +return (fd); +} + +int croptrfile(char *name) +{ +int fd; +if ((fd = open (name, CROPTR_FLAGS, 0664)) == -1) + fprintf (stderr, "CAN'T OPEN FILE %s\n", name); +return (fd); +} + +int reed(int fd, void *pntr, int length) +{ +int temp; +if ((temp = read(fd, pntr, length)) < length) + { + fprintf (stderr, "READ ERROR\n"); + fprintf (stderr, "%d attempted %d read\n", length, temp); + exit(-1); + } +return(temp); +} + +int rite(int fd, void *pntr, int length) +{ +int temp; +if ((temp = write(fd, pntr, length)) < length) + { + fprintf (stderr, "WRITE ERROR\n"); + fprintf (stderr, "%d attempted %d written\n", length, temp); + exit(-1); + } +return(temp); +} + +struct pointsource *read_ruppars(char *file,struct pointsource *psrc,float *mag,int *nx,int *ny,float *dx,float *dy,float *dtop,float *stk,float *dip,float *elon,float *elat) +{ +FILE *fpr, *fopfile(); +float area; +int i, nn; +char str[1024]; + +double rperd = 0.017453293; + +*dtop = 1.0e+15; +*stk = 0.0; +*dip = 0.0; +*elon = 0.0; +*elat = 0.0; + +if(strcmp(file,"stdin") == 0) + fpr = stdin; +else + fpr = fopfile(file,"r"); + +fgets(str,1024,fpr); /* Probability = */ + +fgets(str,1024,fpr); /* Magnitude = */ +sscanf(str,"%*s %*s %f",mag); + +fgets(str,1024,fpr); /* GridSpacing = */ +sscanf(str,"%*s %*s %f",dx); + +if(*dx == (float)(0.0)) + { + fprintf(stderr,"***** input error\n"); + fprintf(stderr," GridSpacing = 0.0, exiting...\n"); + exit(-1); + } + +*dy = *dx; + +fgets(str,1024,fpr); /* NumRows = */ +sscanf(str,"%*s %*s %d",ny); + +fgets(str,1024,fpr); /* NumCols = */ +sscanf(str,"%*s %*s %d",nx); + +fgets(str,1024,fpr); /* header comment */ + +psrc = (struct pointsource *)check_realloc(psrc,(*nx)*(*ny)*sizeof(struct pointsource)); + +area = (*dx)*(*dy)*1.0e+10; /* km -> cm */ + +for(i=0;i<(*nx)*(*ny);i++) + { + fgets(str,1024,fpr); /* Lat , Lon , Depth , Rake , Dip , Strike */ + sscanf(str,"%f %f %f %f %f %f",&psrc[i].lat, + &psrc[i].lon, + &psrc[i].dep, + &psrc[i].rak, + &psrc[i].dip, + &psrc[i].stk); + + psrc[i].area = area; + + if(psrc[i].dep < *dtop) + *dtop = psrc[i].dep; + + *stk = *stk + psrc[i].stk; + *dip = *dip + psrc[i].dip; + } +fclose(fpr); + +*stk = *stk/((*nx)*(*ny)); +*dip = *dip/((*nx)*(*ny)); + +nn = 0; +for(i=0;i<(*nx)*(*ny);i++) + { + if(psrc[i].dep < (*dtop + 0.01)) + { + *elon = *elon + psrc[i].lon; + *elat = *elat + psrc[i].lat; + nn++; + } + } + +/* adjust for half subfault width */ +*dtop = (*dtop) - 0.5*(*dx)*sin((*dip)*rperd); + +if(nn == 0) + nn++; + +*elon = *elon/nn; +*elat = *elat/nn; + +return(psrc); +} + +struct pointsource *set_ruppars(struct pointsource *psrc,float *mag,int *nx,int *ny,float *dx,float *dy,float *dtop,float *stk,float *dip,float *rak,float *elon,float *elat) +{ +float area; +float cosA, sinA, cosD, sinD, fwid, flen; +float xx, yy, zz, dd, sn, se; +int i, j, ip; + +double rperd = 0.017453293; + +psrc = (struct pointsource *)check_realloc(psrc,(*nx)*(*ny)*sizeof(struct pointsource)); + +area = (*dx)*(*dy)*1.0e+10; /* km -> cm */ +flen = (*nx)*(*dx); +fwid = (*ny)*(*dy); + +cosA = cos((*stk)*rperd); +sinA = sin((*stk)*rperd); +cosD = cos((*dip)*rperd); +sinD = sin((*dip)*rperd); +for(j=0;j<(*ny);j++) + { + dd = (j + 0.5)*(*dy); + yy = dd*cosD; + zz = (*dtop) + dd*sinD; + + for(i=0;i<(*nx);i++) + { + ip = i + j*(*nx); + xx = (i+0.5)*(*dx) - 0.5*flen; + + se = xx*sinA + yy*cosA; + sn = xx*cosA - yy*sinA; + set_ll(elon,elat,&psrc[ip].lon,&psrc[ip].lat,&sn,&se); + + psrc[ip].dep = zz; + psrc[ip].stk = (*stk); + psrc[ip].dip = (*dip); + psrc[ip].rak = (*rak); + psrc[ip].area = area; + } + } + +return(psrc); +} + +struct pointsource *read_gsfpars(char *file,struct pointsource *psrc,struct generic_slip *gslip,float *dx,float *dy,float *dtop,float *dip) +{ +FILE *fpr, *fopfile(); +int i, nn; +char str[1024]; +struct slippars *spar; + +double rperd = 0.017453293; + +*dtop = 1.0e+15; +*dip = 0.0; + +if(strcmp(file,"stdin") == 0) + fpr = stdin; +else + fpr = fopfile(file,"r"); + +fgets(str,1024,fpr); +while(strncmp(str,"#",1) == 0) + fgets(str,1024,fpr); + +sscanf(str,"%d",&gslip->np); + +psrc = (struct pointsource *)check_realloc(psrc,gslip->np*sizeof(struct pointsource)); +gslip->spar = (struct slippars *)check_realloc(gslip->spar,gslip->np*sizeof(struct slippars)); +spar = gslip->spar; + +i = 0; +while(fgets(str,1024,fpr) != NULL) + { + sscanf(str,"%f %f %f %f %f %f %f %f %f %f %d",&spar[i].lon, + &spar[i].lat, + &spar[i].dep, + &spar[i].ds, + &spar[i].dw, + &spar[i].stk, + &spar[i].dip, + &spar[i].rake, + &spar[i].slip, + &spar[i].tinit, + &spar[i].segno); + + + psrc[i].lon = spar[i].lon; + psrc[i].lat = spar[i].lat; + psrc[i].dep = spar[i].dep; + psrc[i].stk = spar[i].stk; + psrc[i].dip = spar[i].dip; + psrc[i].rak = spar[i].rake; + psrc[i].area = spar[i].ds*spar[i].dw*1.0e+10; + + if(psrc[i].dep < *dtop) + *dtop = psrc[i].dep; + + *dip = *dip + psrc[i].dip; + *dx = *dx + spar[i].ds; + *dy = *dy + spar[i].dw; + + i++; + } +fclose(fpr); + +*dip = *dip/(gslip->np); +*dx = *dx/(gslip->np); +*dy = *dy/(gslip->np); + +/* adjust for half subfault width */ +*dtop = (*dtop) - 0.5*(*dy)*sin((*dip)*rperd); +if(*dtop < 0.0) + *dtop = 0.0; + +return(psrc); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/makefile =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/makefile (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/makefile 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,44 @@ +HEADS = include.h structure.h function.h defs.h +OBJS = fourg.o iofunc.o misc.o slip.o ruptime.o srf_subs.o + +GETPAR = ${HOME}/Getpar/getpar/lib + +LIBS = -lm ${GETPAR}/libget.a +LDLIBS = ${OBJS} ${LIBS} + +#LF_FLAGS = -D_FILE_OFFSET_BITS=32 +# +# use following for large file capability +LF_FLAGS = -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 + +UFLAGS = -O3 + +CC = gcc + +CFLAGS = ${UFLAGS} ${LF_FLAGS} +FFLAGS = ${UFLAGS} -ffixed-line-length-132 + +##### make options + +generf : generf.o ${OBJS} + g77 -o generf generf.o ${LDLIBS} + +genslip-v2.1 : genslip-v2.1.o ${OBJS} + g77 -o genslip-v2.1 genslip-v2.1.o ${LDLIBS} + +genslip-v2.0 : genslip-v2.0.o ${OBJS} + g77 -o genslip-v2.0 genslip-v2.0.o ${LDLIBS} + +genslip-mreal : genslip-mreal.o ${OBJS} + g77 -o genslip-mreal genslip-mreal.o ${LDLIBS} + +genslip-mreal_OLD-IO : genslip-mreal_OLD-IO.o ${OBJS} + g77 -o genslip-mreal_OLD-IO genslip-mreal_OLD-IO.o ${LDLIBS} + +genslip : genslip.o ${OBJS} + g77 -o genslip genslip.o ${LDLIBS} + +${OBJS} : ${HEADS} + +clean : + -rm -f ${OBJS} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/misc.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/misc.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/misc.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,135 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +void *check_malloc(size_t len) +{ +void *ptr; + +ptr = (void *) malloc (len); + +if(ptr == NULL) + { + fprintf(stderr,"***** memory allocation error\n"); + exit(-1); + } + +return(ptr); +} + +void *check_realloc(void *ptr,size_t len) +{ +ptr = (char *) realloc (ptr,len); + +if(ptr == NULL) + { + fprintf(stderr,"***** memory reallocation error\n"); + exit(-1); + } + +return(ptr); +} + +static long frandx = 1; + +/* frand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double frand(void) +{ +frandx = (frandx * 1103515245 + 12345) & 0x7fffffff; +return((double)(frandx)/1073741824.0 - 1.0); +} + +/* sfrand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double sfrand(long *seed) +{ +*seed = ((*seed) * 1103515245 + 12345) & 0x7fffffff; +return((double)(*seed)/1073741824.0 - 1.0); +} + +zapit(s,n) +float *s; +int n; +{ +while(n--) + { + s[0] = 0.0; + s++; + } +} + +void set_ne(float *elon,float *elat,float *slon,float *slat,float *sn,float *se) +{ +float kperd_n, kperd_e; +double e2, den, g2, lat0; +float cosA, sinA; + +double rperd = 0.017453293; +double radius = 6378.139; +double f = 298.256; + +f = 1.0/f; +e2 = 2.0*f - f*f; +g2 = e2/((1.0 - f)*(1.0 - f)); + +lat0 = atan((1.0 - f)*tan((*elat)*rperd)); + +cosA = cos(lat0); +sinA = sin(lat0); + +den = sqrt(1.0/(1.0 + g2*sinA*sinA)); +kperd_e = rperd*radius*cosA*den; +kperd_n = rperd*radius*(sqrt(1.0 + g2*sinA*sinA*(2.0 + g2)))*den*den*den; + +*sn = ((*slat) - (*elat))*kperd_n; +*se = ((*slon) - (*elon))*kperd_e; +} + +void set_ll(float *elon,float *elat,float *slon,float *slat,float *sn,float *se) +{ +float kperd_n, kperd_e; +double e2, den, g2, lat0; +float cosA, sinA; + +double rperd = 0.017453293; +double radius = 6378.139; +double f = 298.256; + +f = 1.0/f; +e2 = 2.0*f - f*f; +g2 = e2/((1.0 - f)*(1.0 - f)); + +lat0 = atan((1.0 - f)*tan((*elat)*rperd)); + +cosA = cos(lat0); +sinA = sin(lat0); + +den = sqrt(1.0/(1.0 + g2*sinA*sinA)); +kperd_e = rperd*radius*cosA*den; +kperd_n = rperd*radius*(sqrt(1.0 + g2*sinA*sinA*(2.0 + g2)))*den*den*den; + +*slat = (*sn)/kperd_n + *elat; +*slon = (*se)/kperd_e + *elon; +} + +void swap_in_place(int n,char *cbuf) +{ +char cv; + +while(n--) + { + cv = cbuf[0]; + cbuf[0] = cbuf[3]; + cbuf[3] = cv; + + cv = cbuf[1]; + cbuf[1] = cbuf[2]; + cbuf[2] = cv; + + cbuf = cbuf + 4; + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/mmm =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/mmm (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/mmm 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,200 @@ +1.0 +PLANE 1 + -118.0000 34.0000 8 8 32.00 32.00 + 0 90 1.00 0.00 24.00 +POINTS 64 + -118.0000 33.8741 3.0000 0 90 1.60000e+11 8.7956 1.00000e-01 + 0 4.87 9 0.00 0 0.00 0 + 0.00000e+00 8.11946e+00 1.62389e+01 8.11946e+00 6.49557e+00 4.87168e+00 + 3.24778e+00 1.62389e+00 0.00000e+00 + -118.0000 33.9101 3.0000 0 90 1.60000e+11 8.3031 1.00000e-01 + 0 3.84 9 0.00 0 0.00 0 + 0.00000e+00 6.39382e+00 1.27876e+01 6.39382e+00 5.11506e+00 3.83629e+00 + 2.55753e+00 1.27876e+00 0.00000e+00 + -118.0000 33.9460 3.0000 0 90 1.60000e+11 7.7315 1.00000e-01 + 0 4.43 9 0.00 0 0.00 0 + 0.00000e+00 7.38597e+00 1.47719e+01 7.38597e+00 5.90877e+00 4.43158e+00 + 2.95439e+00 1.47719e+00 0.00000e+00 + -118.0000 33.9820 3.0000 0 90 1.60000e+11 8.2204 1.00000e-01 + 0 0.00 0 0.00 0 0.00 0 + -118.0000 34.0180 3.0000 0 90 1.60000e+11 7.7666 1.00000e-01 + 0 2.73 9 0.00 0 0.00 0 + 0.00000e+00 4.54521e+00 9.09043e+00 4.54521e+00 3.63617e+00 2.72713e+00 + 1.81809e+00 9.09043e-01 0.00000e+00 + -118.0000 34.0540 3.0000 0 90 1.60000e+11 7.6088 1.00000e-01 + 0 5.17 9 0.00 0 0.00 0 + 0.00000e+00 8.61448e+00 1.72290e+01 8.61448e+00 6.89159e+00 5.16869e+00 + 3.44579e+00 1.72290e+00 0.00000e+00 + -118.0000 34.0899 3.0000 0 90 1.60000e+11 8.9413 1.00000e-01 + 0 0.00 0 0.00 0 0.00 0 + -118.0000 34.1259 3.0000 0 90 1.60000e+11 9.5167 1.00000e-01 + 0 0.54 9 0.00 0 0.00 0 + 0.00000e+00 8.95621e-01 1.79124e+00 8.95621e-01 7.16497e-01 5.37373e-01 + 3.58249e-01 1.79124e-01 0.00000e+00 + -118.0000 33.8741 7.0000 0 90 1.60000e+11 7.8310 1.00000e-01 + 0 3.06 6 0.00 0 0.00 0 + 0.00000e+00 7.99453e+00 1.59891e+01 4.39699e+00 2.19849e+00 0.00000e+00 + -118.0000 33.9101 7.0000 0 90 1.60000e+11 7.0953 1.00000e-01 + 0 2.93 6 0.00 0 0.00 0 + 0.00000e+00 7.65428e+00 1.53086e+01 4.20985e+00 2.10493e+00 0.00000e+00 + -118.0000 33.9460 7.0000 0 90 1.60000e+11 6.3970 1.00000e-01 + 0 3.80 6 0.00 0 0.00 0 + 0.00000e+00 9.92506e+00 1.98501e+01 5.45878e+00 2.72939e+00 0.00000e+00 + -118.0000 33.9820 7.0000 0 90 1.60000e+11 5.9025 1.00000e-01 + 0 4.99 6 0.00 0 0.00 0 + 0.00000e+00 1.30575e+01 2.61150e+01 7.18162e+00 3.59081e+00 0.00000e+00 + -118.0000 34.0180 7.0000 0 90 1.60000e+11 5.9199 1.00000e-01 + 0 4.89 6 0.00 0 0.00 0 + 0.00000e+00 1.27845e+01 2.55690e+01 7.03147e+00 3.51574e+00 0.00000e+00 + -118.0000 34.0540 7.0000 0 90 1.60000e+11 6.0437 1.00000e-01 + 0 5.92 6 0.00 0 0.00 0 + 0.00000e+00 1.54766e+01 3.09533e+01 8.51215e+00 4.25608e+00 0.00000e+00 + -118.0000 34.0899 7.0000 0 90 1.60000e+11 7.1986 1.00000e-01 + 0 2.31 6 0.00 0 0.00 0 + 0.00000e+00 6.03131e+00 1.20626e+01 3.31722e+00 1.65861e+00 0.00000e+00 + -118.0000 34.1259 7.0000 0 90 1.60000e+11 7.6745 1.00000e-01 + 0 4.00 6 0.00 0 0.00 0 + 0.00000e+00 1.04535e+01 2.09070e+01 5.74943e+00 2.87471e+00 0.00000e+00 + -118.0000 33.8741 11.0000 0 90 1.60000e+11 6.4957 1.00000e-01 + 0 4.40 5 0.00 0 0.00 0 + 0.00000e+00 1.29542e+01 2.59084e+01 5.18167e+00 0.00000e+00 + -118.0000 33.9101 11.0000 0 90 1.60000e+11 5.5281 1.00000e-01 + 0 4.94 5 0.00 0 0.00 0 + 0.00000e+00 1.45320e+01 2.90639e+01 5.81279e+00 0.00000e+00 + -118.0000 33.9460 11.0000 0 90 1.60000e+11 5.0511 1.00000e-01 + 0 3.80 5 0.00 0 0.00 0 + 0.00000e+00 1.11800e+01 2.23600e+01 4.47200e+00 0.00000e+00 + -118.0000 33.9820 11.0000 0 90 1.60000e+11 4.9144 1.00000e-01 + 0 2.41 5 0.00 0 0.00 0 + 0.00000e+00 7.07842e+00 1.41568e+01 2.83137e+00 0.00000e+00 + -118.0000 34.0180 11.0000 0 90 1.60000e+11 4.8326 1.00000e-01 + 0 2.90 5 0.00 0 0.00 0 + 0.00000e+00 8.52575e+00 1.70515e+01 3.41030e+00 0.00000e+00 + -118.0000 34.0540 11.0000 0 90 1.60000e+11 4.9799 1.00000e-01 + 0 4.23 5 0.00 0 0.00 0 + 0.00000e+00 1.24386e+01 2.48771e+01 4.97543e+00 0.00000e+00 + -118.0000 34.0899 11.0000 0 90 1.60000e+11 5.3873 1.00000e-01 + 0 5.79 5 0.00 0 0.00 0 + 0.00000e+00 1.70215e+01 3.40431e+01 6.80861e+00 0.00000e+00 + -118.0000 34.1259 11.0000 0 90 1.60000e+11 6.6977 1.00000e-01 + 0 3.19 5 0.00 0 0.00 0 + 0.00000e+00 9.38223e+00 1.87645e+01 3.75289e+00 0.00000e+00 + -118.0000 33.8741 15.0000 0 90 1.60000e+11 5.5996 1.00000e-01 + 0 4.14 5 0.00 0 0.00 0 + 0.00000e+00 1.21867e+01 2.43734e+01 4.87469e+00 0.00000e+00 + -118.0000 33.9101 15.0000 0 90 1.60000e+11 4.7877 1.00000e-01 + 0 2.86 5 0.00 0 0.00 0 + 0.00000e+00 8.41131e+00 1.68226e+01 3.36453e+00 0.00000e+00 + -118.0000 33.9460 15.0000 0 90 1.60000e+11 4.1724 1.00000e-01 + 0 1.57 5 0.00 0 0.00 0 + 0.00000e+00 4.60775e+00 9.21549e+00 1.84310e+00 0.00000e+00 + -118.0000 33.9820 15.0000 0 90 1.60000e+11 3.6770 1.00000e-01 + 0 1.60 5 0.00 0 0.00 0 + 0.00000e+00 4.71653e+00 9.43306e+00 1.88661e+00 0.00000e+00 + -118.0000 34.0180 15.0000 0 90 1.60000e+11 3.5737 1.00000e-01 + 0 2.22 5 0.00 0 0.00 0 + 0.00000e+00 6.54226e+00 1.30845e+01 2.61690e+00 0.00000e+00 + -118.0000 34.0540 15.0000 0 90 1.60000e+11 4.0973 1.00000e-01 + 0 2.02 5 0.00 0 0.00 0 + 0.00000e+00 5.93568e+00 1.18714e+01 2.37427e+00 0.00000e+00 + -118.0000 34.0899 15.0000 0 90 1.60000e+11 4.5270 1.00000e-01 + 0 4.43 5 0.00 0 0.00 0 + 0.00000e+00 1.30200e+01 2.60400e+01 5.20800e+00 0.00000e+00 + -118.0000 34.1259 15.0000 0 90 1.60000e+11 5.4564 1.00000e-01 + 0 5.00 5 0.00 0 0.00 0 + 0.00000e+00 1.47182e+01 2.94364e+01 5.88727e+00 0.00000e+00 + -118.0000 33.8741 19.0000 0 90 1.60000e+11 4.8906 1.00000e-01 + 0 4.15 5 0.00 0 0.00 0 + 0.00000e+00 1.22103e+01 2.44207e+01 4.88413e+00 0.00000e+00 + -118.0000 33.9101 19.0000 0 90 1.60000e+11 4.2561 1.00000e-01 + 0 0.85 5 0.00 0 0.00 0 + 0.00000e+00 2.51043e+00 5.02085e+00 1.00417e+00 0.00000e+00 + -118.0000 33.9460 19.0000 0 90 1.60000e+11 3.3405 1.00000e-01 + 0 0.00 0 0.00 0 0.00 0 + -118.0000 33.9820 19.0000 0 90 1.60000e+11 2.5431 1.00000e-01 + 0 0.50 5 0.00 0 0.00 0 + 0.00000e+00 1.46134e+00 2.92268e+00 5.84536e-01 0.00000e+00 + -118.0000 34.0180 19.0000 0 90 1.60000e+11 2.3833 1.00000e-01 + 0 1.46 5 0.00 0 0.00 0 + 0.00000e+00 4.28547e+00 8.57094e+00 1.71419e+00 0.00000e+00 + -118.0000 34.0540 19.0000 0 90 1.60000e+11 2.6069 1.00000e-01 + 0 4.41 5 0.00 0 0.00 0 + 0.00000e+00 1.29704e+01 2.59408e+01 5.18817e+00 0.00000e+00 + -118.0000 34.0899 19.0000 0 90 1.60000e+11 3.4700 1.00000e-01 + 0 5.58 5 0.00 0 0.00 0 + 0.00000e+00 1.64067e+01 3.28133e+01 6.56267e+00 0.00000e+00 + -118.0000 34.1259 19.0000 0 90 1.60000e+11 5.0825 1.00000e-01 + 0 3.00 5 0.00 0 0.00 0 + 0.00000e+00 8.81821e+00 1.76364e+01 3.52728e+00 0.00000e+00 + -118.0000 33.8741 23.0000 0 90 1.60000e+11 5.0359 1.00000e-01 + 0 0.85 5 0.00 0 0.00 0 + 0.00000e+00 2.50625e+00 5.01250e+00 1.00250e+00 0.00000e+00 + -118.0000 33.9101 23.0000 0 90 1.60000e+11 3.6133 1.00000e-01 + 0 1.60 5 0.00 0 0.00 0 + 0.00000e+00 4.71946e+00 9.43891e+00 1.88778e+00 0.00000e+00 + -118.0000 33.9460 23.0000 0 90 1.60000e+11 2.0358 1.00000e-01 + 0 3.43 5 0.00 0 0.00 0 + 0.00000e+00 1.00812e+01 2.01623e+01 4.03246e+00 0.00000e+00 + -118.0000 33.9820 23.0000 0 90 1.60000e+11 0.9295 1.00000e-01 + 0 3.16 5 0.00 0 0.00 0 + 0.00000e+00 9.30768e+00 1.86154e+01 3.72307e+00 0.00000e+00 + -118.0000 34.0180 23.0000 0 90 1.60000e+11 1.1312 1.00000e-01 + 0 1.95 5 0.00 0 0.00 0 + 0.00000e+00 5.74253e+00 1.14851e+01 2.29701e+00 0.00000e+00 + -118.0000 34.0540 23.0000 0 90 1.60000e+11 1.9678 1.00000e-01 + 0 3.84 5 0.00 0 0.00 0 + 0.00000e+00 1.12842e+01 2.25685e+01 4.51370e+00 0.00000e+00 + -118.0000 34.0899 23.0000 0 90 1.60000e+11 3.5021 1.00000e-01 + 0 2.27 5 0.00 0 0.00 0 + 0.00000e+00 6.68470e+00 1.33694e+01 2.67388e+00 0.00000e+00 + -118.0000 34.1259 23.0000 0 90 1.60000e+11 4.7749 1.00000e-01 + 0 2.42 5 0.00 0 0.00 0 + 0.00000e+00 7.12004e+00 1.42401e+01 2.84801e+00 0.00000e+00 + -118.0000 33.8741 27.0000 0 90 1.60000e+11 4.7195 1.00000e-01 + 0 2.75 5 0.00 0 0.00 0 + 0.00000e+00 8.09932e+00 1.61986e+01 3.23973e+00 0.00000e+00 + -118.0000 33.9101 27.0000 0 90 1.60000e+11 3.3954 1.00000e-01 + 0 2.91 5 0.00 0 0.00 0 + 0.00000e+00 8.57235e+00 1.71447e+01 3.42894e+00 0.00000e+00 + -118.0000 33.9460 27.0000 0 90 1.60000e+11 2.2033 1.00000e-01 + 0 2.42 5 0.00 0 0.00 0 + 0.00000e+00 7.11995e+00 1.42399e+01 2.84798e+00 0.00000e+00 + -118.0000 33.9820 27.0000 0 90 1.60000e+11 0.9704 1.00000e-01 + 0 2.92 5 0.00 0 0.00 0 + 0.00000e+00 8.58539e+00 1.71708e+01 3.43416e+00 0.00000e+00 + -118.0000 34.0180 27.0000 0 90 1.60000e+11 1.1767 1.00000e-01 + 0 1.68 5 0.00 0 0.00 0 + 0.00000e+00 4.93898e+00 9.87796e+00 1.97559e+00 0.00000e+00 + -118.0000 34.0540 27.0000 0 90 1.60000e+11 1.9503 1.00000e-01 + 0 3.94 5 0.00 0 0.00 0 + 0.00000e+00 1.15932e+01 2.31863e+01 4.63727e+00 0.00000e+00 + -118.0000 34.0899 27.0000 0 90 1.60000e+11 3.4187 1.00000e-01 + 0 2.77 5 0.00 0 0.00 0 + 0.00000e+00 8.16005e+00 1.63201e+01 3.26402e+00 0.00000e+00 + -118.0000 34.1259 27.0000 0 90 1.60000e+11 4.2808 1.00000e-01 + 0 5.39 5 0.00 0 0.00 0 + 0.00000e+00 1.58547e+01 3.17094e+01 6.34188e+00 0.00000e+00 + -118.0000 33.8741 31.0000 0 90 1.60000e+11 4.6922 1.00000e-01 + 0 5.07 5 0.00 0 0.00 0 + 0.00000e+00 1.49170e+01 2.98340e+01 5.96680e+00 0.00000e+00 + -118.0000 33.9101 31.0000 0 90 1.60000e+11 3.3362 1.00000e-01 + 0 6.16 5 0.00 0 0.00 0 + 0.00000e+00 1.81320e+01 3.62639e+01 7.25278e+00 0.00000e+00 + -118.0000 33.9460 31.0000 0 90 1.60000e+11 2.8535 1.00000e-01 + 0 2.79 5 0.00 0 0.00 0 + 0.00000e+00 8.19178e+00 1.63836e+01 3.27671e+00 0.00000e+00 + -118.0000 33.9820 31.0000 0 90 1.60000e+11 2.3974 1.00000e-01 + 0 1.25 5 0.00 0 0.00 0 + 0.00000e+00 3.68937e+00 7.37874e+00 1.47575e+00 0.00000e+00 + -118.0000 34.0180 31.0000 0 90 1.60000e+11 1.9772 1.00000e-01 + 0 3.78 5 0.00 0 0.00 0 + 0.00000e+00 1.11185e+01 2.22370e+01 4.44740e+00 0.00000e+00 + -118.0000 34.0540 31.0000 0 90 1.60000e+11 2.5541 1.00000e-01 + 0 4.58 5 0.00 0 0.00 0 + 0.00000e+00 1.34852e+01 2.69704e+01 5.39408e+00 0.00000e+00 + -118.0000 34.0899 31.0000 0 90 1.60000e+11 3.9935 1.00000e-01 + 0 2.21 5 0.00 0 0.00 0 + 0.00000e+00 6.51087e+00 1.30217e+01 2.60435e+00 0.00000e+00 + -118.0000 34.1259 31.0000 0 90 1.60000e+11 5.0187 1.00000e-01 + 0 3.11 5 0.00 0 0.00 0 + 0.00000e+00 9.14592e+00 1.82918e+01 3.65837e+00 0.00000e+00 Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/ruptime.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/ruptime.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/ruptime.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,440 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +void default_velmodel(struct velmodel *vm) +{ +int i; + +vm->nlay = 17; + +vm->vp = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->vs = (double *)check_malloc(vm->nlay*sizeof(double)); +vm->den = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->th = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->dep = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->mu = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->invb2 = (double *)check_malloc(vm->nlay*sizeof(double)); + +vm->th[ 0] = 0.002; vm->vp[ 0] = 1.70; vm->vs[ 0] = 0.35; vm->den[ 0] = 2.0; +vm->th[ 1] = 0.004; vm->vp[ 1] = 1.80; vm->vs[ 1] = 0.55; vm->den[ 1] = 2.1; +vm->th[ 2] = 0.006; vm->vp[ 2] = 1.80; vm->vs[ 2] = 0.80; vm->den[ 2] = 2.1; +vm->th[ 3] = 0.008; vm->vp[ 3] = 1.90; vm->vs[ 3] = 0.90; vm->den[ 3] = 2.1; +vm->th[ 4] = 0.010; vm->vp[ 4] = 2.00; vm->vs[ 4] = 1.00; vm->den[ 4] = 2.2; +vm->th[ 5] = 0.070; vm->vp[ 5] = 2.40; vm->vs[ 5] = 1.30; vm->den[ 5] = 2.2; +vm->th[ 6] = 0.200; vm->vp[ 6] = 3.30; vm->vs[ 6] = 1.80; vm->den[ 6] = 2.3; +vm->th[ 7] = 0.200; vm->vp[ 7] = 3.90; vm->vs[ 7] = 2.20; vm->den[ 7] = 2.3; +vm->th[ 8] = 0.200; vm->vp[ 8] = 4.15; vm->vs[ 8] = 2.40; vm->den[ 8] = 2.4; +vm->th[ 9] = 0.300; vm->vp[ 9] = 4.50; vm->vs[ 9] = 2.60; vm->den[ 9] = 2.4; +vm->th[10] = 2.000; vm->vp[10] = 5.00; vm->vs[10] = 2.90; vm->den[10] = 2.5; +vm->th[11] = 3.000; vm->vp[11] = 5.70; vm->vs[11] = 3.30; vm->den[11] = 2.5; +vm->th[12] = 5.000; vm->vp[12] = 6.10; vm->vs[12] = 3.50; vm->den[12] = 2.6; +vm->th[13] = 5.000; vm->vp[13] = 6.25; vm->vs[13] = 3.60; vm->den[13] = 2.7; +vm->th[14] = 5.000; vm->vp[14] = 6.45; vm->vs[14] = 3.70; vm->den[14] = 2.7; +vm->th[15] = 11.00; vm->vp[15] = 6.60; vm->vs[15] = 3.80; vm->den[15] = 2.8; +vm->th[16] = 999.0; vm->vp[16] = 7.80; vm->vs[16] = 4.50; vm->den[16] = 3.2; + +for(i=0;inlay;i++) + { + if(i==0) + vm->dep[i] = vm->th[i]; + else + vm->dep[i] = vm->dep[i-1] + vm->th[i]; + + vm->mu[i] = vm->vs[i]*vm->vs[i]*vm->den[i]*1.0e+10; /* in CMS units */ + } +} + +void read_velmodel(char *vfile,struct velmodel *vm) +{ +FILE *fpr, *fopfile(); +int i; +char str[512]; + +fpr = fopfile(vfile,"r"); + +fgets(str,512,fpr); +sscanf(str,"%d",&vm->nlay); + +vm->vp = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->vs = (double *)check_malloc(vm->nlay*sizeof(double)); +vm->den = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->th = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->dep = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->mu = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->invb2 = (double *)check_malloc(vm->nlay*sizeof(double)); + +for(i=0;inlay;i++) + { + fgets(str,512,fpr); + sscanf(str,"%f %f %lf %f",&vm->th[i],&vm->vp[i],&vm->vs[i],&vm->den[i]); + + if(i==0) + vm->dep[i] = vm->th[i]; + else + vm->dep[i] = vm->dep[i-1] + vm->th[i]; + + vm->mu[i] = vm->vs[i]*vm->vs[i]*vm->den[i]*1.0e+10; /* in CMS units */ + } +fclose(fpr); +} + +void conv2vrup(struct velmodel *vm,struct velmodel *rvm,float *dip,float *ztop,float *wid,float *rvf,float *shal_vr) +{ +int i, j, k; +float invsinA, dep, zbot; +char string[256]; + +float rperd = 0.017453293; +float dmin = 4.0; +float dmax = 6.0; +float rvfac; + +rvm->nlay = vm->nlay; +rvm->vs = (double *)check_malloc(rvm->nlay*sizeof(double)); +rvm->th = (float *)check_malloc(rvm->nlay*sizeof(float)); +rvm->invb2 = (double *)check_malloc(rvm->nlay*sizeof(double)); + +i = 0; +dep = vm->th[0]; +while(dep < (*ztop)) + { + i++; + dep = dep + vm->th[i]; + } + +zbot = *ztop + (*wid)*sin((*dip)*rperd); +invsinA = 1.0/sin((*dip)*rperd); + +if(dep >= dmax) + rvfac = (*rvf); +else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); +else + rvfac = (*rvf)*(*shal_vr); + +rvm->th[0] = invsinA*(dep - (*ztop)); +rvm->vs[0] = rvfac*vm->vs[i]; + +j = i; +k = 0; +while(dep < zbot) + { + j++; k++; + dep = dep + vm->th[j]; + + if(dep >= dmax) + rvfac = (*rvf); + else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); + else + rvfac = (*rvf)*(*shal_vr); + + rvm->th[k] = invsinA*vm->th[j]; + rvm->vs[k] = rvfac*vm->vs[j]; + } + +rvm->nlay = k + 1; + +for(i=0;inlay;i++) + rvm->invb2[i] = 1.0/(rvm->vs[i]*rvm->vs[i]); +} + +get_rupt(vm,h,srcd,recd,srcr,recr,p,rad,tt) +struct velmodel *vm; +float *h, *srcr, *recr, *recd, *tt, *srcd; +double *p, *rad; +{ +double sth, rth, rng; +float sdep, rdep; +float tol; +float tup, thead; +int k, slay, rlay, linc; + +float tenth = 0.1; +double eps = 1.0e-12; + +tol = tenth*(*h); + +rng = *srcr - *recr; +if(rng < 0.0) + rng = -rng; + +k = 0; +sdep = vm->th[0]; +while((*srcd) > sdep) + { + k++; + sdep = sdep + vm->th[k]; + } +slay = k; + +k = 0; +rdep = vm->th[0]; +while((*recd) > rdep) + { + k++; + rdep = rdep + vm->th[k]; + } +rlay = k; + +sth = sdep - *srcd; +rth = rdep - *recd; +get_headtime(vm,slay,&sth,rlay,&rth,&rng,&thead); + +if(slay != rlay) + { + if(sdep > rdep) + { + sth = vm->th[slay] - (sdep - *srcd); + rth = rdep - *recd; + linc = -1; + } + else + { + sth = sdep - *srcd; + rth = vm->th[rlay] - (rdep - *recd); + linc = 1; + } + +/* + bisection method +*/ + bisect_p(vm,slay,&sth,rlay,&rth,p,&eps,&tol,&rng,linc); + + /* get path length and travel time for correct ray parameter */ + + get_radtime(vm,slay,&sth,rlay,&rth,p,rad,&tup,linc); + } +else + { + *rad = sqrt(rng*rng + ((*srcd)-(*recd))*((*srcd)-(*recd))); + tup = (*rad)/vm->vs[slay]; + } + +*tt = thead; +if(tup < thead) + *tt = tup; +/* +else + fprintf(stderr,"*** thead selected\n"); + +fprintf(stderr,"*** thd= %f tup= %f\n",thead,tup); +*/ +} + +bisect_p(vm,slay,sth,rlay,rth,p,eps,tol,rng,linc) +struct velmodel *vm; +double *sth, *rth, *p, *rng, *eps; +float *tol; +int linc, slay, rlay; +{ +double tp0, pp, pm, p0, r0, delr; +int i, ic; + +int nc = 100; + +p0 = 1.0/vm->vs[slay]; +for(i=slay+linc;i!=rlay;i=i+linc) + { + tp0 = 1.0/vm->vs[i]; + if(tp0 < p0) + p0 = tp0; + } +tp0 = 1.0/vm->vs[rlay]; +if(tp0 < p0) + p0 = tp0; + +*p = *eps; + +get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + +if(r0 < *rng) /* if not, then p=0 (vertical ray) */ + { + /* bracket range with ray parameter extremes */ + + ic = 0; + while(r0 < *rng && ic < nc) + { + ic++; + *p = p0*(1.0 - (*eps)/(double)(ic*ic)); + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + } + + pp = *p; + pm = *eps; + + delr = r0 - *rng; + +/* + use bisection to converge to correct ray parameter +*/ + + ic = 0; + while(delr > *tol) + { + *p = 0.5*(pp + pm); + + if(*p == pp || *p == pm) /* beyond double precision accuracy */ + break; + + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + if(r0 >= *rng) + { + delr = r0 - *rng; + pp = *p; + } + else + { + delr = *rng - r0; + pm = *p; + } + + ic++; + if(ic > nc) + break; + } + } +else + *p = 0.0; +} + +get_range(vm,slay,sth,rlay,rth,p,r0,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +int linc, slay, rlay; +{ +int i; +double denom, arg; +double invp2; + +invp2 = 1.0/((*p)*(*p)); + +denom = sqrt(invp2*vm->invb2[slay] - 1.0); +*r0 = (*sth)/denom; + +for(i=slay+linc;i!=rlay;i=i+linc) + { + denom = sqrt(invp2*vm->invb2[i] - 1.0); + *r0 = *r0 + vm->th[i]/denom; + } + +denom = sqrt(invp2*vm->invb2[rlay] - 1.0); +*r0 = *r0 + (*rth)/denom; +} + +get_radtime(vm,slay,sth,rlay,rth,p,r0,tt,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +float *tt; +int linc, slay, rlay; +{ +int i; +double r1, rad, arg; +double denom, invp2; + +if(*p > 0.0) + { + arg = 1.0 - (*p)*(*p)*vm->vs[slay]*vm->vs[slay]; + denom = sqrt(arg); + + *r0 = (*sth)/denom; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + arg = 1.0 - (*p)*(*p)*vm->vs[i]*vm->vs[i]; + denom = sqrt(arg); + + rad = vm->th[i]/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[i]; + } + + arg = 1.0 - (*p)*(*p)*vm->vs[rlay]*vm->vs[rlay]; + denom = sqrt(arg); + + rad = (*rth)/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[rlay]; + } +else + { + *r0 = *sth; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + *r0 = *r0 + vm->th[i]; + *tt = *tt + vm->th[i]/vm->vs[i]; + } + + *r0 = *r0 + *rth; + *tt = *tt + (*rth)/vm->vs[rlay]; + } +} + +get_headtime(mod,slay,sth,rlay,rth,rad,tt) +struct velmodel *mod; +double *sth, *rth, *rad; +float *tt; +int slay, rlay; +{ +int vflag, j, jj, jst, jnd; +double inv2, rc, tinc, arg; + +jst = rlay; +if(slay > rlay) + jst = slay; + +*tt = 1.0e+5; +for(jnd=jst+1;jndnlay;jnd++) + { + jj = rlay; + if(slay < rlay) + jj = slay; + + vflag = 1; + for(j=jj;jvs[j] > mod->vs[jnd]) + vflag = -1; + } + + if(vflag == 1) + { + tinc = (*rad)/mod->vs[jnd]; + inv2 = 1.0/(mod->vs[jnd]*mod->vs[jnd]); + + arg = 1.0/(mod->vs[slay]*mod->vs[slay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*sth)*arg; + rc = (*sth)/(arg*mod->vs[jnd]); + + for(j=slay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + for(j=rlay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + arg = 1.0/(mod->vs[rlay]*mod->vs[rlay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*rth)*arg; + rc = rc + (*rth)/(arg*mod->vs[jnd]); + + if(tinc < *tt && rc < (*rad)) + *tt = tinc; + } + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/slip.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/slip.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/GenRand/slip.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,372 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +void init_slip(struct complex *sc,int nx,int ny,float *st,float *bt) +{ +float xdamp, ydamp; +int i; + +for(i=0;i nx-xb) + xdamp = (float)(nx-ix)/(float)(xb); + + sc[ix+iy*nx].re = xdamp*ydamp*sc[ix+iy*nx].re; + sc[ix+(ny-1-iy)*nx].re = xdamp*ydamp*sc[ix+(ny-1-iy)*nx].re; + } + } + +for(iy=yb;iy vm->dep[k] && k < (vm->nlay)-1) + k++; + + fac = area*vm->mu[k]; + for(i=0;i *smax) + *smax = ps[i + j*nx].slip; + } + } + *savg = (*savg)/(float)(nx*ny); + } +else + { + sinD = sin((*dip)*rperd); + area = (*dx)*(*dy)*1.0e+10; /* in CMS units */ + + sum = 0.0; + for(j=0;j *smax) + *smax = ps[i + j*nx].slip; + } + } + *savg = (*savg)/(float)(nx*ny); + } +} + +void kfilt(struct complex *s0,int nx0,int ny0,float *dkx,float *dky,float *xl,float *yl,long *seed,int kflag) +{ +int i, j, ip; +float kx, ky, fac, amp, amp0, phs, xl2, yl2; +float phs1, fac1, wtS, wtD; +float xp, k2, invkc2; +int ndkc; + +float pi = 3.14159265; +float hcoef = 1.8; /* H=0.8, hcoef = H + 1 */ + +amp0 = sqrt(s0[0].re*s0[0].re + s0[0].im*s0[0].im); + +xl2 = (*xl)*(*xl); +yl2 = (*yl)*(*yl); + +/* + + Transition between deterministic and stochastic parts of spectrum + are given by + + F = wtS*stoch + wtD*deter + + with + + wtD = {1 + k2/Kc2}^-(xp) (kind of a butterworth filter) + wtS = 1 - wtD + + and + + k2 = kx*kx + ky*ky (k-squared) + Kc2 = (N*dky)*(N*dkx) (corner wavenumber of transition) + + The parameter N specifies the number of dk's in the corner (somewhat + like a fraction of the total wavenumber space). The exponent (xp) + gives the sharpness of the transition. Based on very limited + testing, I came up with + + N = 4 + xp = 2.0 + +*/ + +xp = 2.0; +ndkc = 4; +invkc2 = ndkc*(*dky)*ndkc*(*dkx); +invkc2 = 1.0/(invkc2); + +for(j=0;j<=ny0/2;j++) /* only do positive half, then use symmetry */ + { + if(j <= ny0/2) + ky = j*(*dky); + else + ky = (j - ny0)*(*dky); + + for(i=0;i pi) + phs1 = phs1 - pi; + while(phs1 < -pi) + phs1 = phs1 + pi; + + k2 = (kx*kx + ky*ky)*invkc2; + wtD = exp(-xp*log(1.0 + k2)); + wtS = 1.0 - wtD; + + s0[ip].re = wtS*fac*cos(phs) + wtD*fac1*cos(phs1); + s0[ip].im = wtS*fac*sin(phs) + wtD*fac1*sin(phs1); + +/* + + OLD STUFF that I tried FOLLOWS from HERE + +*/ + +/* + Do not alter phase of lowest (k=0) and 2nd lowest (k=dk) wavenumbers + so average slip and edge taper are not significantly modified + if(i > 1 && j > 1) +*/ + +/* + Do not alter phase of lowest (k=0) wavenumbers and use average of + random and determinstic phase for 2nd lowest (k=dk) + so average slip and edge taper are not significantly modified +*/ + +/* + if(i > 1 && j > 1) + { + s0[ip].re = fac*cos(phs); + s0[ip].im = fac*sin(phs); + } + else if((i == 1 && j > 0) || (i > 0 && j == 1)) + { + if(i == 1) + wtS = sqrt(ky*ky*invkym2); + if(j == 1) + wtS = sqrt(kx*kx*invkxm2); + + if(wtS < 0.5) + wtS = 0.5; + + wtD = 1.0 - wtS; + + fac1 = sqrt(s0[ip].re*s0[ip].re + s0[ip].im*s0[ip].im); + + phs1 = 0.5*pi; + if(s0[ip].re != 0.0) + { + phs1 = atan(s0[ip].im/s0[ip].re); + if(s0[ip].re < 0.0) + phs1 = phs1 + pi; + } + else if(s0[ip].im < 0.0) + phs1 = -0.5*pi; + + while(phs1 > pi) + phs1 = phs1 - pi; + while(phs1 < -pi) + phs1 = phs1 + pi; + + s0[ip].re = wtS*fac*cos(phs) + wtD*fac1*cos(phs1); + s0[ip].im = wtS*fac*sin(phs) + wtD*fac1*sin(phs1); + } +*/ + } + } + +/* + Enforce Hermitian symmetry to make slip real valued +*/ + +for(j=1;j<=(ny0-1)/2;j++) + { + s0[(ny0-j)*nx0].re = s0[j*nx0].re; + s0[(ny0-j)*nx0].im = -s0[j*nx0].im; + } + +for(i=1;i<=(nx0-1)/2;i++) + { + s0[nx0-i].re = s0[i].re; + s0[nx0-i].im = -s0[i].im; + } + +for(j=1;j<=ny0/2;j++) + { + for(i=1;i<=nx0/2;i++) + { + s0[(nx0-i)+(ny0-j)*nx0].re = s0[i+j*nx0].re; + s0[(nx0-i)+(ny0-j)*nx0].im = -s0[i+j*nx0].im; + + s0[i+(ny0-j)*nx0].re = s0[(nx0-i)+j*nx0].re; + s0[i+(ny0-j)*nx0].im = -s0[(nx0-i)+j*nx0].im; + } + } +} + +void fft2d(struct complex *xc,int n1,int n2,int isgn,float *d1,float *d2) +{ +int i, j, ip; +float *space; +struct complex *xtc; +float normf; + +normf = (*d1)*(*d2); + +space = (float *) check_malloc (2*(n1+n2)*sizeof(float)); + +for(j=0;jnp > 0) + { + spar = gslip->spar; + spar2 = (struct slippars *)check_malloc(gslip->np*sizeof(struct slippars)); + + nseg = 0; + for(i=0;inp;i++) + { + if(spar[i].segno > nseg) + nseg = spar[i].segno; + } + nseg++; + + srf[0].srf_prect.nseg = nseg; + srf[0].srf_prect.prectseg = (struct srf_prectsegments *)check_malloc(srf[0].srf_prect.nseg*sizeof(struct srf_prectsegments)); + + prseg_ptr = srf[0].srf_prect.prectseg; + + nc = 0; + for(i=0;inp;ip++) + { + if(spar[ip].segno == i) + { + spar2[nc].lon = spar[ip].lon; + spar2[nc].lat = spar[ip].lat; + spar2[nc].dep = spar[ip].dep; + spar2[nc].ds = spar[ip].ds; + spar2[nc].dw = spar[ip].dw; + spar2[nc].stk = spar[ip].stk; + spar2[nc].dip = spar[ip].dip; + spar2[nc].rake = spar[ip].rake; + spar2[nc].slip = spar[ip].slip; + spar2[nc].tinit = spar[ip].tinit; + spar2[nc].segno = spar[ip].segno; + + if(iseg == 0) + dmin = spar[ip].dep; + + if(spar[ip].dep == dmin) + { + avglon = avglon + spar[ip].lon; + avglat = avglat + spar[ip].lat; + prseg_ptr[i].nstk++; + } + + if(spar[ip].dep != dold) + { + dold = spar[ip].dep; + prseg_ptr[i].ndip++; + } + + prseg_ptr[i].dlen = prseg_ptr[i].dlen + spar[ip].ds; + prseg_ptr[i].dwid = prseg_ptr[i].dwid + spar[ip].dw; + + nc++; + iseg++; + + if(iseg == 1) + { + prseg_ptr[i].stk = spar[ip].stk; + prseg_ptr[i].dip = spar[ip].dip; + } + else + { + if(spar[ip].stk > prseg_ptr[i].stk/(float)(iseg) + 90.0) + { + prseg_ptr[i].stk = prseg_ptr[i].stk + spar[ip].stk - 180.0; + prseg_ptr[i].dip = prseg_ptr[i].dip + 180.0 - spar[ip].dip; + } + else if(spar[ip].stk < prseg_ptr[i].stk/(float)(iseg) - 90.0) + { + prseg_ptr[i].stk = prseg_ptr[i].stk + spar[ip].stk + 180.0; + prseg_ptr[i].dip = prseg_ptr[i].dip + 180.0 - spar[ip].dip; + } + else + { + prseg_ptr[i].stk = prseg_ptr[i].stk + spar[ip].stk; + prseg_ptr[i].dip = prseg_ptr[i].dip + spar[ip].dip; + } + } + } + } + + prseg_ptr[i].stk = prseg_ptr[i].stk/(float)(iseg); + prseg_ptr[i].dip = prseg_ptr[i].dip/(float)(iseg); + + if(prseg_ptr[i].dip > 90.0) + { + prseg_ptr[i].dip = 180.0 - prseg_ptr[i].dip; + prseg_ptr[i].stk = prseg_ptr[i].stk - 180.0; + } + + while(prseg_ptr[i].stk < 0.0) + prseg_ptr[i].stk = prseg_ptr[i].stk + 360.0; + while(prseg_ptr[i].stk >= 360.0) + prseg_ptr[i].stk = prseg_ptr[i].stk - 360.0; + + prseg_ptr[i].dlen = prseg_ptr[i].dlen/(float)(iseg); + prseg_ptr[i].dwid = prseg_ptr[i].dwid/(float)(iseg); + + prseg_ptr[i].flen = prseg_ptr[i].nstk*prseg_ptr[i].dlen; + prseg_ptr[i].fwid = prseg_ptr[i].ndip*prseg_ptr[i].dwid; + + prseg_ptr[i].dtop = dmin - 0.5*prseg_ptr[i].dwid*sin(rperd*prseg_ptr[i].dip); + if(prseg_ptr[i].dtop < 0.0) + prseg_ptr[i].dtop = 0.0; + + avglon = avglon/(float)(prseg_ptr[i].nstk); + avglat = avglat/(float)(prseg_ptr[i].nstk); + se = -prseg_ptr[i].dwid*sin(rperd*prseg_ptr[i].dip)*cos(rperd*prseg_ptr[i].stk); + sn = prseg_ptr[i].dwid*sin(rperd*prseg_ptr[i].dip)*sin(rperd*prseg_ptr[i].stk); + + set_ll(&avglon,&avglat,&prseg_ptr[i].elon,&prseg_ptr[i].elat,&sn,&se); + + prseg_ptr[i].shyp = -999.9; + prseg_ptr[i].dhyp = -999.9; + + fprintf(stderr,"%3d: %11.5f %11.5f %2d %2d %10.4f %10.4f %.1f %.1f %10.4f\n",i,prseg_ptr[i].elon,prseg_ptr[i].elat,prseg_ptr[i].nstk,prseg_ptr[i].ndip,prseg_ptr[i].flen,prseg_ptr[i].fwid,prseg_ptr[i].stk,prseg_ptr[i].dip,prseg_ptr[i].dtop); + } + +/* + for(ip=0;ipnp;ip++) + { + spar[ip].lon = spar2[ip].lon; + spar[ip].lat = spar2[ip].lat; + spar[ip].dep = spar2[ip].dep; + spar[ip].ds = spar2[ip].ds; + spar[ip].dw = spar2[ip].dw; + spar[ip].stk = spar2[ip].stk; + spar[ip].dip = spar2[ip].dip; + spar[ip].rake = spar2[ip].rake; + spar[ip].slip = spar2[ip].slip; + spar[ip].tinit = spar2[ip].tinit; + spar[ip].segno = spar2[ip].segno; + } +*/ + + free(spar2); + } +else + { + srf[0].srf_prect.nseg = 1; + srf[0].srf_prect.prectseg = (struct srf_prectsegments *)check_malloc(srf[0].srf_prect.nseg*sizeof(struct srf_prectsegments)); + prseg_ptr = srf[0].srf_prect.prectseg; + + prseg_ptr[0].elon = *elon; + prseg_ptr[0].elat = *elat; + prseg_ptr[0].nstk = nx; + prseg_ptr[0].ndip = ny; + prseg_ptr[0].flen = *fl; + prseg_ptr[0].fwid = *fw; + prseg_ptr[0].dlen = *dx; + prseg_ptr[0].dwid = *dy; + prseg_ptr[0].stk = *stk; + prseg_ptr[0].dip = *dip; + prseg_ptr[0].dtop = *dtop; + prseg_ptr[0].shyp = *sh; + prseg_ptr[0].dhyp = *dh; + } + +srf[0].srf_apnts.np = 0; +for(ig=0;igdmax)*/ +float betashal = 0.5; /* 2nd triangle has amplitude = beta*A (z0srf_apnts); +apval_ptr = apnts_ptr->apntvals; + +nseg = srf[0].srf_prect.nseg; +prseg_ptr = srf[0].srf_prect.prectseg; + +ntot = 0; +for(iseg=0;isegnt*sizeof(float)); + stf = apval_ptr[ip].stf1; + + apval_ptr[ip].dt = spar->dt; + if(ps[ip0].slip > MINSLIP) + { + if(ps[ip0].dep >= dmax) + rtfac = 1.0; + else if(ps[ip0].dep < dmax && ps[ip0].dep > dmin) + rtfac = 1.0 + rtfac0*(dmax-(ps[ip0].dep))/(dmax-dmin); + else + rtfac = 1.0 + rtfac0; + + if(strcmp(spar->stype,"brune") == 0) + { + tzero = 0.1*exp(-1.0)*sqrt(ps[ip0].slip)/(1.2); /* assume slip in cm */ + tzero = tzero*rtfac; + + apval_ptr[ip].nt1 = gen_brune_stf(&(ps[ip0].slip),&tzero,stf,spar->nt,&spar->dt); + } + else if(strcmp(spar->stype,"urs") == 0) + { + tzero = rtfac*spar->trise; + + apval_ptr[ip].nt1 = gen_2tri_stf(&(ps[ip0].slip),&tzero,stf,spar->nt,&spar->dt,&ps[ip0].dep); + } + else if(strcmp(spar->stype,"ucsb") == 0) + { + tzero = rtfac*spar->trise; + + apval_ptr[ip].nt1 = gen_ucsb_stf(&(ps[ip0].slip),&tzero,stf,spar->nt,&spar->dt); + } + } + else + apval_ptr[ip].nt1 = 0; + + if(apval_ptr[ip].nt1) + apval_ptr[ip].stf1 = (float *)check_realloc(apval_ptr[ip].stf1,(apval_ptr[ip].nt1)*sizeof(float)); + else + { + free(apval_ptr[ip].stf1); + apval_ptr[ip].stf1 = NULL; + } + + apval_ptr[ip].lon = ps[ip0].lon; + apval_ptr[ip].lat = ps[ip0].lat; + apval_ptr[ip].dep = ps[ip0].dep; + apval_ptr[ip].stk = ps[ip0].stk; + apval_ptr[ip].dip = ps[ip0].dip; + apval_ptr[ip].area = ps[ip0].area; + apval_ptr[ip].rake = ps[ip0].rak; + apval_ptr[ip].slip1 = ps[ip0].slip; + + apval_ptr[ip].slip2 = 0.0; + apval_ptr[ip].nt2 = 0; + apval_ptr[ip].stf2 = NULL; + apval_ptr[ip].slip3 = 0.0; + apval_ptr[ip].nt3 = 0; + apval_ptr[ip].stf3 = NULL; + } + } + ioff = ioff + prseg_ptr[iseg].nstk; + noff = noff + prseg_ptr[iseg].nstk*prseg_ptr[iseg].ndip; + } +} + +void load_rupt_srf(struct standrupformat *srf,struct pointsource *ps,float *sh,float *dh) +{ +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; +struct srf_prectsegments *prseg_ptr; +int i, j, ip, ip0, iseg, nseg, ioff, noff, ntot; + +(srf->srf_prect).prectseg[0].shyp = *sh; +(srf->srf_prect).prectseg[0].dhyp = *dh; + +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals; + +nseg = srf[0].srf_prect.nseg; +prseg_ptr = srf[0].srf_prect.prectseg; + +ntot = 0; +for(iseg=0;isegnp); + +for(ip=0;ipnp;ip++) + { + fprintf(fpw,"%11.5f %11.5f %8.4f %8.4f %8.4f %6.1f %6.1f %6.1f %8.2f %8.3f %3d\n", + gslip->spar[ip].lon, + gslip->spar[ip].lat, + gslip->spar[ip].dep, + gslip->spar[ip].ds, + gslip->spar[ip].dw, + gslip->spar[ip].stk, + gslip->spar[ip].dip, + gslip->spar[ip].rake, + ps[ip].slip, + ps[ip].rupt, + gslip->spar[ip].segno); + } +fclose(fpw); +} + +void write_srf(struct standrupformat *srf,char *file,int bflag) +{ +FILE *fpw, *fopfile(); +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +float area; +float *stf; +int i, j, k, nt6, it, ip, ig, ntot; + +char pword[32]; +int fdw; + +prect_ptr = &(srf->srf_prect); +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals; + +if(bflag) + { + if(strcmp(file,"stdout") == 0) + fdw = STDOUT_FILENO; + else + fdw = croptrfile(file); + + rite(fdw,srf->version,sizeof(srf->version)); + + if(strcmp(srf->type,"PLANE") == 0) + { + rite(fdw,srf->type,sizeof(srf->type)); + rite(fdw,&(prect_ptr->nseg),sizeof(prect_ptr->nseg)); + rite(fdw,prseg_ptr,(prect_ptr->nseg)*sizeof(struct srf_prectsegments)); + } + + sprintf(pword,"POINTS"); + rite(fdw,pword,sizeof(pword)); + rite(fdw,&(apnts_ptr->np),sizeof(apnts_ptr->np)); + for(i=0;inp;i++) + { + rite(fdw,&(apval_ptr[i].lon),sizeof(float)); + rite(fdw,&(apval_ptr[i].lat),sizeof(float)); + rite(fdw,&(apval_ptr[i].dep),sizeof(float)); + rite(fdw,&(apval_ptr[i].stk),sizeof(float)); + rite(fdw,&(apval_ptr[i].dip),sizeof(float)); + rite(fdw,&(apval_ptr[i].area),sizeof(float)); + rite(fdw,&(apval_ptr[i].tinit),sizeof(float)); + rite(fdw,&(apval_ptr[i].dt),sizeof(float)); + rite(fdw,&(apval_ptr[i].rake),sizeof(float)); + rite(fdw,&(apval_ptr[i].slip1),sizeof(float)); + rite(fdw,&(apval_ptr[i].nt1),sizeof(int)); + rite(fdw,&(apval_ptr[i].slip2),sizeof(float)); + rite(fdw,&(apval_ptr[i].nt2),sizeof(int)); + rite(fdw,&(apval_ptr[i].slip3),sizeof(float)); + rite(fdw,&(apval_ptr[i].nt3),sizeof(int)); + + rite(fdw,apval_ptr[i].stf1,(apval_ptr[i].nt1)*sizeof(float)); + rite(fdw,apval_ptr[i].stf2,(apval_ptr[i].nt2)*sizeof(float)); + rite(fdw,apval_ptr[i].stf3,(apval_ptr[i].nt3)*sizeof(float)); + } + close(fdw); + } +else + { + if(strcmp(file,"stdout") == 0) + fpw = stdout; + else + fpw = fopfile(file,"w"); + + fprintf(fpw,"%s\n",srf->version); + + if(strcmp(srf->type,"PLANE") == 0) + { + fprintf(fpw,"%s %d\n",srf->type,prect_ptr->nseg); + for(ig=0;ignseg;ig++) + { + fprintf(fpw,"%10.4f %9.4f %5d %5d %8.2f %8.2f\n",prseg_ptr[ig].elon, + prseg_ptr[ig].elat, + prseg_ptr[ig].nstk, + prseg_ptr[ig].ndip, + prseg_ptr[ig].flen, + prseg_ptr[ig].fwid); + fprintf(fpw,"%4.0f %4.0f %8.2f %8.2f %8.2f\n",prseg_ptr[ig].stk, + prseg_ptr[ig].dip, + prseg_ptr[ig].dtop, + prseg_ptr[ig].shyp, + prseg_ptr[ig].dhyp); + } + } + + fprintf(fpw,"POINTS %d\n",apnts_ptr->np); + for(i=0;inp;i++) + { + fprintf(fpw,"%10.4f %9.4f %9.4f %4.0f %4.0f %12.5e %10.4f %12.5e\n", + apval_ptr[i].lon, + apval_ptr[i].lat, + apval_ptr[i].dep, + apval_ptr[i].stk, + apval_ptr[i].dip, + apval_ptr[i].area, + apval_ptr[i].tinit, + apval_ptr[i].dt); + fprintf(fpw,"%4.0f %8.2f %6d %8.2f %6d %8.2f %6d\n", + apval_ptr[i].rake, + apval_ptr[i].slip1, + apval_ptr[i].nt1, + apval_ptr[i].slip2, + apval_ptr[i].nt2, + apval_ptr[i].slip3, + apval_ptr[i].nt3); + + stf = apval_ptr[i].stf1; + nt6 = (apval_ptr[i].nt1)/6; + for(k=0;ksrf_apnts); +apval_ptr = apnts_ptr->apntvals; + +for(i=0;inp;i++) + { + free(apval_ptr[i].stf1); + free(apval_ptr[i].stf2); + free(apval_ptr[i].stf3); + } +} + +void read_srf(struct standrupformat *srf,char *file,int bflag) +{ +FILE *fpr, *fopfile(); +struct srf_prectsegments *prseg_ptr; +struct srf_apointvalues *apval_ptr; +char str[1024]; + +float *stf; +int i, j, k, nt6, it, ip, ig, ntot; + +char pword[32]; +int fdr; + +if(bflag) + { + if(strcmp(file,"stdin") == 0) + fdr = STDIN_FILENO; + else + fdr = opfile_ro(file); + + reed(fdr,srf->version,sizeof(srf->version)); + + reed(fdr,pword,sizeof(pword)); + if(strcmp(pword,"PLANE") == 0) + { + sprintf(srf->type,"PLANE"); + + reed(fdr,&(srf[0].srf_prect.nseg),sizeof(int)); + srf[0].srf_prect.prectseg = (struct srf_prectsegments *)check_malloc(srf[0].srf_prect.nseg*sizeof(struct srf_prectsegments)); + prseg_ptr = srf[0].srf_prect.prectseg; + + reed(fdr,prseg_ptr,(srf[0].srf_prect.nseg)*sizeof(struct srf_prectsegments)); + } + + reed(fdr,pword,sizeof(pword)); + if(strncmp(pword,"POINTS",6) == 0) + { + reed(fdr,&(srf[0].srf_apnts.np),sizeof(int)); + srf[0].srf_apnts.apntvals = (struct srf_apointvalues *)check_malloc((srf[0].srf_apnts.np)*sizeof(struct srf_apointvalues)); + + apval_ptr = srf[0].srf_apnts.apntvals; + + for(i=0;idmax)*/ +float betashal = 0.5; /* 2nd triangle has amplitude = beta*A (z0= dmax) + beta = betadeep; +else if((*z0) < dmax && (*z0) > dmin) + beta = betadeep - (dmax-(*z0))*dbdd; +else + beta = betashal; + +zapit(stf,nt); + +tr = (*trise); +alpha = alpha*tr; + +it0 = (int)((alpha)/(*dt) + 0.5); +if(it0 < 2) + it0 = 2; +it1 = (int)((tr)/(*dt) + 0.5); +if(it1 < 4) + it1 = 4; + +it2 = (2 - beta)*it0; + +a0 = 1.0; +amp = a0/(float)(it0); + +for(it=0;it nt) + nstf = nt; + +if(nstf == 0) + return(0); + +sfac = (*slip)/(*t0); +tfac = (*dt)/(*t0); +for(it=0;it nt) + nstf = nt; + +if(nstf == 0) + return(0); + +for(it=0;it +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../StandRupFormat/structure.h" + +#define MAXTOL 0.01 +#define RPERD 0.017453293 + +struct complex + { + float re; + float im; + }; + +#ifndef STRUCT_VELMODEL +#define STRUCT_VELMODEL + +struct velmodel + { + int nlay; + float *vp; + double *vs; /* need double for ray tracing to get ruptime */ + float *den; + float *th; + float *dep; + float *mu; /* in CMS units */ + double *invb2; /* need double for ray tracing to get ruptime */ + }; + +#endif + +void *check_malloc(int); +FILE *fopfile(char*, char*); + +void fft2d(struct complex *, int, int, int,float *,float *); + +void resamp(struct complex *,int,int,struct complex *,int,int,float *,float *,float *,float *,long *,float *,float *); + +void resampOLD2(struct complex *,int,int,struct complex *,int,int,float *,float *,float *,float *,long *,float *,float *); + +void resampOLD(struct complex *,int,int,struct complex *,int,int,float *,float *,float *,float *,long *,float *,float *); + +void resample_slip(float *,int,int,float,float,float *,int,int,float,float); +void smooth_slip(float *,int,int,float *); + +double frand(void); +double Xsfrand(long *); +double sfrand(long *); +double gaus_rand(float *,float *,long *); + +void set_ll(float *,float *,float *,float *,float *,float *); + +main(int ac,char **av) +{ +FILE *fpr, *fpw; +struct complex *slip0, *slip1; +struct complex *vrup0, *vrup1; +float *rslip, flen, fwid, dx, dy, dx2, dy2, amp0, amp, lamp; +float dkx, dky, kx, ky, xx, yy; +float x0, y0, dd, hh, ee, nn, xlon, xlat; +int nx, ny, nxfine, nyfine, nx2, ny2; +int i, j, k, l, ip0, ipf, ip, i0, j0; +char infile[256], slipfile[256], specfile[256], str[512]; +char lisafile[512], lhead0[512], lhead1[512], lhead2[512]; + +float savg, smax, sf, *rt, rtmin, xrtmin, rupt; +float tsfac = 0.0; +float avg_vrup = 3.0; +float avgvr; + +int gen_ruptime = 0; +float rvfrac = 0.8; +float shal_vrup = 0.8; +float htol = 0.1; +float shypo, dhypo, avgdip, dtop, dmin; +struct velmodel vmod, rvmod; +char velfile[128]; +double rayp, rupt_rad; + +double rperd = 0.017453293; + +int generic_slip = 0; +char generic_slipfile[512]; +struct generic_slip gslip; +struct slippars *spar; + +float xl = -1.0; +float yl = -1.0; + +float *s1, *s2; +int smooth = 0; +int lisaformat = 0; +int norm2one = 1; +int npad = 0; +int flip_at_surface = 0; +int ny_in, ny_out; + +float mech[2], rake[2], *rake0, ss, ds; +int nmech = 1; + +float scl, savg_in; +int scale_avgslip = 1; + +float pi = 3.14159265; + +long seed = 0; +long neg_seed = -99; + +float dxcorner = -1.0; +float dycorner = -1.0; + +float fone = 1.0; + +float default_rake = 0.0; +float set_rake = -999.0; +float rand_rake_degs = 0.0; + +rake[0] = 0.0; +rake[1] = 0.0; + +slipfile[0] = '\0'; +specfile[0] = '\0'; +lisafile[0] = '\0'; +generic_slipfile[0] = '\0'; + +rtmin = -1.0e+15; +xrtmin = 1.0e+15; + +setpar(ac,av); +mstpar("infile","s",infile); +getpar("slipfile","s",slipfile); +getpar("specfile","s",specfile); +mstpar("nxfine","d",&nxfine); +mstpar("nyfine","d",&nyfine); +getpar("xl","f",&xl); +getpar("yl","f",&yl); +getpar("dxcorner","f",&dxcorner); +getpar("dycorner","f",&dycorner); +getpar("seed","d",&seed); +getpar("npad","d",&npad); +getpar("smooth","d",&smooth); +getpar("norm2one","d",&norm2one); +getpar("flip_at_surface","d",&flip_at_surface); +getpar("tsfac","f",&tsfac); +getpar("rtmin","f",&rtmin); + +getpar("lisaformat","d",&lisaformat); +getpar("generic_slip","d",&generic_slip); +getpar("scale_avgslip","d",&scale_avgslip); + +if(generic_slip) + { + lisaformat = 0; + mstpar("flen","f",&flen); + mstpar("fwid","f",&fwid); + mstpar("nx","d",&nx); + mstpar("ny","d",&ny_in); + mstpar("generic_slipfile","s",generic_slipfile); + + getpar("gen_ruptime","d",&gen_ruptime); + if(gen_ruptime) + { + mstpar("velfile","s",velfile); + mstpar("shypo","f",­po); + mstpar("dhypo","f",&dhypo); + getpar("rvfrac","f",&rvfrac); + getpar("shal_vrup","f",&shal_vrup); + } + else if(nxfine > 1 || nyfine > 1) + { + mstpar("shypo","f",­po); + mstpar("dhypo","f",&dhypo); + getpar("avg_vrup","f",&avg_vrup); + } + + dx = flen/nx; + dy = fwid/ny_in; + } +if(lisaformat) + { + mstpar("flen","f",&flen); + mstpar("fwid","f",&fwid); + mstpar("nx","d",&nx); + mstpar("ny","d",&ny_in); + getpar("lisafile","s",lisafile); + mstpar("rake1","f",&rake[0]); + getpar("nmech","d",&nmech); + if(nmech == 2) + mstpar("rake2","f",&rake[1]); + getpar("default_rake","f",&default_rake); + getpar("set_rake","f",&set_rake); + getpar("rand_rake_degs","f",&rand_rake_degs); + } + +endpar(); + +fpr = fopfile(infile,"r"); + +if(lisaformat) + { + ny = ny_in; + if(flip_at_surface) + ny = 2*ny_in; + + slip0 = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + rake0 = (float *) check_malloc (nx*ny*sizeof(float)); + + fgets(str,512,fpr); + fgets(str,512,fpr); + fgets(lhead0,512,fpr); + fgets(lhead1,512,fpr); + fgets(lhead2,512,fpr); + + for(i=0;i= 0.0) + rake0[ip0] = 90.0; + else + rake0[ip0] = -90.0; + + if(ss == 0.0 && ds == 0.0) + rake0[ip0] = default_rake; + + if(set_rake > -900.0) + rake0[ip0] = set_rake + rand_rake_degs*sfrand(&seed); + + slip0[ip0].re = sqrt(ss*ss + ds*ds); + slip0[ip0].im = 0.0; + } + } + } +else if(generic_slip == 1) + { + fgets(str,1024,fpr); + while(strncmp(str,"#",1) == 0) + fgets(str,1024,fpr); + + sscanf(str,"%d",&gslip.np); + + gslip.spar = (struct slippars *)check_malloc(gslip.np*sizeof(struct slippars)); + spar = gslip.spar; + + i = 0; + savg_in = 0.0; + avgdip = 0.0; + dmin = 1.0e+15;; + while(fgets(str,1024,fpr) != NULL) + { + sscanf(str,"%f %f %f %f %f %f %f %f %f %f %d",&spar[i].lon, + &spar[i].lat, + &spar[i].dep, + &spar[i].ds, + &spar[i].dw, + &spar[i].stk, + &spar[i].dip, + &spar[i].rake, + &spar[i].slip, + &spar[i].tinit, + &spar[i].segno); + + if(spar[i].dep < dmin) + { + dmin = spar[i].dep; + dtop = dmin - 0.5*spar[i].dw*sin(rperd*spar[i].dip); + } + + savg_in = savg_in + spar[i].slip; + avgdip = avgdip + spar[i].dip; + i++; + } + savg_in = savg_in/(float)(i); + avgdip = avgdip/(float)(i); + + ny = ny_in; + if(flip_at_surface) + ny = 2*ny_in; + + slip0 = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + rake0 = (float *) check_malloc (nx*ny*sizeof(float)); + + for(i=0;i 1 || nyfine > 1) + { + vrup0 = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + + avg_vrup = 0.0; + i = 0; + for(j0=0;j0 0.0) + { + vrup0[ip0].re = sqrt(x0*x0 + y0*y0)/spar[ip0].tinit; + avg_vrup = avg_vrup + vrup0[ip0].re; + i++; + } + + vrup0[ip0].im = 0.0; + } + } + + avg_vrup = avg_vrup/(float)(i); + for(j0=0;j0 1 || nyfine > 1)) + { + for(j=0;j 1 || nyfine > 1)) + { + vrup1 = (struct complex *) check_malloc (nx2*ny2*sizeof(struct complex)); + fft2d(vrup0,nx,ny,-1,&dx,&dy); + resamp(vrup0,nx,ny,vrup1,nx2,ny2,&dkx,&dky,&xl,&yl,&neg_seed,&fone,&fone); + fft2d(vrup1,nx2,ny2,1,&dkx,&dky); + fft2d(vrup0,nx,ny,1,&dkx,&dky); + } + +/* truncate any negative slip values => should double check that spectra is + not changed too much */ + +if(xl < 1.0e+14 && yl < 1.0e+14) + { + fft2d(slip1,nx2,ny2,1,&dkx,&dky); + for(j=0;j 0.0) + lamp = log10(amp); + + fprintf(fpw,"%14.7e %14.7e %12.5e %12.5e\n",kx,ky,lamp,amp); + } + } + fclose(fpw); + } + +fft2d(slip1,nx2,ny2,1,&dkx,&dky); + +smax = -1; +savg = 0.0; +for(j=0;j smax) + smax = slip1[j].re; + } +savg = savg/(ny_out*nx2); + +if(scale_avgslip) + { + scl = savg_in/savg; + + smax = -1; + savg = 0.0; + for(j=0;j smax) + smax = slip1[j].re; + } + savg = savg/(ny_out*nx2); + } + +if(slipfile[0] != '\0') + { + fpw = fopfile(slipfile,"w"); + + for(j=0;j 1 || nyfine > 1) + { + if(spar[ip0].tinit == 0.0) + avgvr = avg_vrup; + else + { + x0 = (i0 + 0.5)*dx - 0.5*flen - shypo; + y0 = (j0 + 0.5)*dy - dhypo; + avgvr = sqrt(x0*x0 + y0*y0)/spar[ip0].tinit; + } + + x0 = xx - shypo; + y0 = yy - dhypo; + + rt[ip] = sqrt(x0*x0 + y0*y0)/avgvr + sf*tsfac*(slip1[ip].re - savg); + rt[ip] = sqrt(x0*x0 + y0*y0)/vrup1[ip].re + sf*tsfac*(slip1[ip].re - savg); + + } + else + rt[ip] = spar[ip0].tinit + sf*tsfac*(slip1[ip].re - savg); + + if(rt[ip] < xrtmin) + { + k = ip; + l = ip0; + xrtmin = rt[ip]; + } + } + } + + for(j=0;j 1.0e+14 || *yl > 1.0e+14) + amp0 = 0.0; + +xl2 = (*xl)*(*xl); +yl2 = (*yl)*(*yl); + +nxc2 = nx0/2; +nyc2 = ny0/2; + +nxc2 = (int)(0.5*nx0*(*dxc) + 0.5); +if(nxc2 > nx0/2) + nxc2 = nx0/2; +if(nxc2 < 2) + nxc2 = 2; + +nyc2 = (int)(0.5*ny0*(*dyc) + 0.5); +if(nyc2 > ny0/2) + nyc2 = ny0/2; +if(nyc2 < 2) + nyc2 = 2; + +invkc2 = nxc2*(*dkx)*nyc2*(*dky); +invkc2 = 1.0/(invkc2); + +fprintf(stderr,"%d %d\n",nxc2,nyc2); + +for(j1=0;j1<=ny1/2;j1++) /* only do positive half, then use symmetry */ + { + j0 = j1; + ky = j1*(*dky); + + for(i1=0;i1 nx0/2) + { + i0 = nx0 - (nx1 - i1); + if(i0 <= nx0/2) + i0 = -1; + } + + if(j1 <= ny0/2 && i0 >= 0) +*/ + i0 = i1; + if(i0 > nxc2 && i0 <= nx0/2) + i0 = -1; + else if(i0 > nx0/2) + { + i0 = nx0 - (nx1 - i1); + if(i0 <= (nx0-nxc2)) + i0 = -1; + } + + if(j1 <= nyc2 && i0 >= 0) + { + ip0 = i0 + j0*nx0; + + s1[ip1].re = s0[ip0].re; + s1[ip1].im = s0[ip0].im; + } + else if(*seed > -1) + { + amp = kx*kx*xl2 + ky*ky*yl2; + fac = amp0/sqrt(1.0 + amp*amp); + phs = pi*sfrand(seed); + + s1[ip1].re = fac*cos(phs); + s1[ip1].im = fac*sin(phs); + } + else + { + s1[ip1].re = 0.0; + s1[ip1].im = 0.0; + } + } + } + +/* + Enforce Hermitian symmetry to make slip real valued +*/ + +for(j=1;j<=(ny1-1)/2;j++) + { + s1[(ny1-j)*nx1].re = s1[j*nx1].re; + s1[(ny1-j)*nx1].im = -s1[j*nx1].im; + } + +for(i=1;i<=(nx1-1)/2;i++) + { + s1[nx1-i].re = s1[i].re; + s1[nx1-i].im = -s1[i].im; + } + +for(j=1;j<=ny1/2;j++) + { + for(i=1;i<=nx1/2;i++) + { + s1[(nx1-i)+(ny1-j)*nx1].re = s1[i+j*nx1].re; + s1[(nx1-i)+(ny1-j)*nx1].im = -s1[i+j*nx1].im; + + s1[i+(ny1-j)*nx1].re = s1[(nx1-i)+j*nx1].re; + s1[i+(ny1-j)*nx1].im = -s1[(nx1-i)+j*nx1].im; + } + } +} + +void resampOLD2(struct complex *s0,int nx0,int ny0,struct complex *s1,int nx1,int ny1,float *dkx,float *dky,float *xl,float *yl,long *seed,float *dxc,float *dyc) +{ +int i, j, i0, j0, ip0, ip1; +int i1, j1, nxc2, nyc2; +float kx, ky, fac, amp, amp0, phs, xl2, yl2; +float phs1, fac1, wtS, wtD; +float xp, k2, invkc2; + +float pi = 3.14159265; + +amp0 = sqrt(s0[0].re*s0[0].re + s0[0].im*s0[0].im); +if(*xl > 1.0e+14 || *yl > 1.0e+14) + amp0 = 0.0; + +xl2 = (*xl)*(*xl); +yl2 = (*yl)*(*yl); + +/* + + Transition between deterministic and stochastic parts of spectrum + are given by + + F = wtS*stoch + wtD*deter + + with + + wtD = {1 + k2/Kc2}^-(xp) (kind of a butterworth filter) + wtS = 1 - wtD + + and + + k2 = kx*kx + ky*ky (k-squared) + Kc2 = (N*dky)*(N*dkx) (corner wavenumber of transition) + + The parameter N specifies the number of dk's in the corner (somewhat + like a fraction of the total wavenumber space). The exponent (xp) + gives the sharpness of the transition. Based on very limited + testing, I came up with + + N = 4 + xp = 2.0 + +*/ + +xp = 2.0; + +nxc2 = nx0/2; +nyc2 = ny0/2; + +nxc2 = (int)(0.5*nx0*(*dxc) + 0.5); +if(nxc2 > nx0/2) + nxc2 = nx0/2; +if(nxc2 < 2) + nxc2 = 2; + +nyc2 = (int)(0.5*ny0*(*dyc) + 0.5); +if(nyc2 > ny0/2) + nyc2 = ny0/2; +if(nyc2 < 2) + nyc2 = 2; + +invkc2 = nxc2*(*dkx)*nyc2*(*dky); +invkc2 = 1.0/(invkc2); + +fprintf(stderr,"%d %d\n",nxc2,nyc2); + +for(j1=0;j1<=ny1/2;j1++) /* only do positive half, then use symmetry */ + { + j0 = j1; + ky = j1*(*dky); + + for(i1=0;i1= 0 && i0 < nx0 && j0 <= ny0/2) + { + ip0 = i0 + j0*nx0; + fac1 = sqrt(s0[ip0].re*s0[ip0].re + s0[ip0].im*s0[ip0].im); + + phs1 = 0.5*pi; + if(s0[ip0].re != 0.0) + { + phs1 = atan(s0[ip0].im/s0[ip0].re); + if(s0[ip0].re < 0.0) + phs1 = phs1 + pi; + } + else if(s0[ip0].im < 0.0) + phs1 = -0.5*pi; + } + + k2 = (kx*kx + ky*ky)*invkc2; + wtD = exp(-xp*log(1.0 + k2)); + wtS = 1.0 - wtD; + + s1[ip1].re = wtS*fac*cos(phs) + wtD*fac1*cos(phs1); + s1[ip1].im = wtS*fac*sin(phs) + wtD*fac1*sin(phs1); + } + } + +/* + Enforce Hermitian symmetry to make slip real valued +*/ + +for(j=1;j<=(ny1-1)/2;j++) + { + s1[(ny1-j)*nx1].re = s1[j*nx1].re; + s1[(ny1-j)*nx1].im = -s1[j*nx1].im; + } + +for(i=1;i<=(nx1-1)/2;i++) + { + s1[nx1-i].re = s1[i].re; + s1[nx1-i].im = -s1[i].im; + } + +for(j=1;j<=ny1/2;j++) + { + for(i=1;i<=nx1/2;i++) + { + s1[(nx1-i)+(ny1-j)*nx1].re = s1[i+j*nx1].re; + s1[(nx1-i)+(ny1-j)*nx1].im = -s1[i+j*nx1].im; + + s1[i+(ny1-j)*nx1].re = s1[(nx1-i)+j*nx1].re; + s1[i+(ny1-j)*nx1].im = -s1[(nx1-i)+j*nx1].im; + } + } +} + +void fft2d(struct complex *xc,int n1,int n2,int isgn,float *d1,float *d2) +{ +int i, j, ip; +float *space; +struct complex *xtc; +float normf; + +normf = (*d1)*(*d2); + +space = (float *) check_malloc (2*(n1+n2)*sizeof(float)); + +for(j=0;j yp2) + ya2 = yp2; + else + ya2 = y2; + + iy0 = (int)(y1/dy0); + if(iy0 >= 0 && iy0 < ny0) + { + x1 = ix1*dx0; + x2 = x1 + dx0; + + while(x1 < xp2) + { + if(x1 < xp1) + xa1 = xp1; + else + xa1 = x1; + + if(x2 > xp2) + xa2 = xp2; + else + xa2 = x2; + + ix0 = (int)(x1/dx0); + if(ix0 >= 0 && ix0 < nx0) + { + darea = (xa2-xa1)*(ya2-ya1)/area; + ip0 = ix0 + iy0*nx0; + sum = sum + slip[ip0]*darea; + } + + x1 = x2; + x2 = x1 + dx0; + } + } + + y1 = y2; + y2 = y1 + dy0; + } + + ip = ix + iy*nx; + rslip[ip] = sum; + } + } +} + +static long frandx = 1; + +/* frand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double frand(void) +{ +frandx = (frandx * 1103515245 + 12345) & 0x7fffffff; +return((double)(frandx)/1073741824.0 - 1.0); +} + +/* sfrand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double sfrand(long *seed) +{ +*seed = ((*seed) * 1103515245 + 12345) & 0x7fffffff; +return((double)(*seed)/1073741824.0 - 1.0); +} + +void smooth_slip(float *s1,int nx,int ny,float *stmp) +{ +int ip, ix, iy; +float c0, c1, sum; + +c0 = 1.0; +c1 = 0.2; + +stmp[0] = (c1*(s1[1] + s1[nx] + s1[nx+1]) + c0*s1[0])/(c0+3*c1); +for(ix=1;ix 1.0e+14 || *yl > 1.0e+14) + amp0 = 0.0; + +xl2 = (*xl)*(*xl); +yl2 = (*yl)*(*yl); + +nxc2 = nx0/2; +nyc2 = ny0/2; + +nxc2 = (int)(0.5*nx0*(*dxc) + 0.5); +if(nxc2 > nx0/2) + nxc2 = nx0/2; + +nyc2 = (int)(0.5*ny0*(*dyc) + 0.5); +if(nyc2 > ny0/2) + nyc2 = ny0/2; + +fprintf(stderr,"%d %d\n",nxc2,nyc2); + +for(j=0;j +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAXTOL 0.01 +#define RPERD 0.017453293 + +struct complex + { + float re; + float im; + }; + +void *check_malloc(int); +FILE *fopfile(char*, char*); + +void fft2d(struct complex *, int, int, int,float *,float *); +void resamp(struct complex *,int,int,struct complex *,int,int,float *,float *,float *,float *,long *,float *,float *); + +void resample_slip(float *,int,int,float,float,float *,int,int,float,float); +void smooth_slip(float *,int,int,float *); + +double frand(void); +double Xsfrand(long *); +double sfrand(long *); +double gaus_rand(float *,float *,long *); + +main(int ac,char **av) +{ +FILE *fpr, *fpw; +struct complex *slip0, *slip1; +float *rslip, flen, fwid, dx, dy, dx2, dy2, amp0, amp, lamp; +float dkx, dky, kx, ky, xx, yy; +int nx, ny, nxfine, nyfine, nx2, ny2; +int i, j, k, l, ip0, ipf, ip, i0, j0; +char infile[256], slipfile[256], specfile[256], str[512]; +char lisafile[512], lhead0[512], lhead1[512], lhead2[512]; + +float xl = -1.0; +float yl = -1.0; + +float *s1, *s2; +int smooth = 0; +int lisaformat = 0; +int norm2one = 1; +int npad = 0; + +float mech[2], rake[2], *rake0, ss, ds; +int nmech = 1; + +float pi = 3.14159265; + +long seed = 0; + +float dxcorner = -1.0; +float dycorner = -1.0; + +float default_rake = 0.0; + +rake[0] = 0.0; +rake[1] = 0.0; + +lisafile[0] = '\0'; + +setpar(ac,av); +mstpar("infile","s",infile); +mstpar("slipfile","s",slipfile); +mstpar("specfile","s",specfile); +mstpar("nxfine","d",&nxfine); +mstpar("nyfine","d",&nyfine); +getpar("xl","f",&xl); +getpar("yl","f",&yl); +getpar("dxcorner","f",&dxcorner); +getpar("dycorner","f",&dycorner); +getpar("seed","d",&seed); +getpar("npad","d",&npad); +getpar("smooth","d",&smooth); +getpar("norm2one","d",&norm2one); +getpar("lisaformat","d",&lisaformat); +if(lisaformat) + { + mstpar("flen","f",&flen); + mstpar("fwid","f",&fwid); + mstpar("nx","d",&nx); + mstpar("ny","d",&ny); + getpar("lisafile","s",lisafile); + mstpar("rake1","f",&rake[0]); + getpar("nmech","d",&nmech); + if(nmech == 2) + mstpar("rake2","f",&rake[1]); + getpar("default_rake","f",&default_rake); + } +endpar(); + +fpr = fopfile(infile,"r"); + +if(lisaformat) + { + slip0 = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + rake0 = (float *) check_malloc (nx*ny*sizeof(float)); + + fgets(str,512,fpr); + fgets(str,512,fpr); + fgets(lhead0,512,fpr); + fgets(lhead1,512,fpr); + fgets(lhead2,512,fpr); + + for(i=0;i= 0.0) + rake0[ip0] = 90.0; + else + rake0[ip0] = -90.0; + + if(ss == 0.0 && ds == 0.0) + rake0[ip0] = default_rake; + + slip0[ip0].re = sqrt(mech[0]*mech[0] + mech[1]*mech[1]); + slip0[ip0].re = sqrt(ss*ss + ds*ds); + slip0[ip0].im = 0.0; + } + } + } +else + { + fscanf(fpr,"%f %f",&flen,&fwid); + fscanf(fpr,"%d",&nx); + fscanf(fpr,"%d",&ny); + + slip0 = (struct complex *) check_malloc (nx*ny*sizeof(struct complex)); + + for(ip0=0;ip0 should double check that spectra is + not changed too much */ + +if(xl < 1.0e+14 && yl < 1.0e+14) + { + fft2d(slip1,nx2,ny2,1,&dkx,&dky); + for(j=0;j 0.0) + lamp = log10(amp); + + fprintf(fpw,"%14.7e %14.7e %12.5e %12.5e\n",kx,ky,lamp,amp); + } + } +fclose(fpw); + +/* +for(j=0;j 1.0e+14 || *yl > 1.0e+14) + amp0 = 0.0; + +xl2 = (*xl)*(*xl); +yl2 = (*yl)*(*yl); + +nxc2 = nx0/2; +nyc2 = ny0/2; + +nxc2 = (int)(0.5*nx0*(*dxc) + 0.5); +if(nxc2 > nx0/2) + nxc2 = nx0/2; + +nyc2 = (int)(0.5*ny0*(*dyc) + 0.5); +if(nyc2 > ny0/2) + nyc2 = ny0/2; + +fprintf(stderr,"%d %d\n",nxc2,nyc2); + +for(j=0;j yp2) + ya2 = yp2; + else + ya2 = y2; + + iy0 = (int)(y1/dy0); + if(iy0 >= 0 && iy0 < ny0) + { + x1 = ix1*dx0; + x2 = x1 + dx0; + + while(x1 < xp2) + { + if(x1 < xp1) + xa1 = xp1; + else + xa1 = x1; + + if(x2 > xp2) + xa2 = xp2; + else + xa2 = x2; + + ix0 = (int)(x1/dx0); + if(ix0 >= 0 && ix0 < nx0) + { + darea = (xa2-xa1)*(ya2-ya1)/area; + ip0 = ix0 + iy0*nx0; + sum = sum + slip[ip0]*darea; + } + + x1 = x2; + x2 = x1 + dx0; + } + } + + y1 = y2; + y2 = y1 + dy0; + } + + ip = ix + iy*nx; + rslip[ip] = sum; + } + } +} + +static long frandx = 1; + +/* frand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double frand(void) +{ +frandx = (frandx * 1103515245 + 12345) & 0x7fffffff; +return((double)(frandx)/1073741824.0 - 1.0); +} + +/* sfrand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double sfrand(long *seed) +{ +*seed = ((*seed) * 1103515245 + 12345) & 0x7fffffff; +return((double)(*seed)/1073741824.0 - 1.0); +} + +void smooth_slip(float *s1,int nx,int ny,float *stmp) +{ +int ip, ix, iy; +float c0, c1, sum; + +c0 = 1.0; +c1 = 0.2; + +stmp[0] = (c1*(s1[1] + s1[nx] + s1[nx+1]) + c0*s1[0])/(c0+3*c1); +for(ix=1;ix +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +double sfrand(long *); + +main(int ac,char **av) +{ +int n, seed; + +while(scanf("%d %d",&n,&seed)==2) + { + while(n--) + printf("%13.5e\n",sfrand((long *)&seed)); + } +} + +/* sfrand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double sfrand(long *seed) +{ +*seed = ((*seed) * 1103515245 + 12345) & 0x7fffffff; +return((double)(*seed)/1073741824.0 - 1.0); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/bailey2srf.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/bailey2srf.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/bailey2srf.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,234 @@ +#include "include.h" +#include "structure.h" +#include "../../JordanBailey/structure.h" +#include "function.h" +#include "../../JordanBailey/function.h" +#include "defs.h" + +main(int ac,char **av) +{ +FILE *fopfile(), *fpr, *fpw; +float *stf; +float x0, y0, z0, dd, vslip, rake; +float len2, ds0, dd0, dsf, ddf; +float area, sn, se, cosA, sinA, slon, slat; +int ig, i, j, k, l, ip, kp, ntot, ntall, nt6; +char filelist[256], *infile[20], outfile[256]; +char string[1024], filebuf[20*256]; +char stype[32]; + +struct rob rrm; +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +float rupvel = -1.0; +float shal_vrup = 1.0; +float xtsfac; +float tsfac = 0.0; +float rvfrac, dt, rt; +float htol = 0.1; +double rayp, rupt_rad; +int it, nt; +struct velmodel vmod, rvmod; +char modfile[128]; + +float cosD, sinD, arg; +double rperd = 0.017453293; + +int nfinestk = 1; +int nfinedip = 1; + +int outbin = 0; + +sprintf(srf.version,"1.0"); +sprintf(stype,"rob"); + +nt = NTMAX; + +setpar(ac,av); + +getpar("version","s",srf.version); + +mstpar("filelist","s",filelist); +mstpar("outfile","s",outfile); + +getpar("outbin","d",&outbin); + +mstpar("dt","f",&dt); +getpar("nt","d",&nt); + +getpar("nfinestk","d",&nfinestk); +getpar("nfinedip","d",&nfinedip); + +getpar("stype","s",stype); + +getpar("tsfac","f",&tsfac); +getpar("rupvel","f",&rupvel); +if(rupvel < 0.0) + { + mstpar("modfile","s",modfile); + mstpar("rvfrac","f",&rvfrac); + getpar("shal_vrup","f",&shal_vrup); + } + +endpar(); + +fpr = fopfile(filelist,"r"); + +i = 0; +infile[0] = filebuf; +while(fscanf(fpr,"%s",infile[i]) != EOF) + { + i++; + infile[i] = filebuf + i*256; + } + +fclose(fpr); + +sprintf(srf.type,"PLANE"); + +prect_ptr = &srf.srf_prect; +prect_ptr->nseg = i; +prect_ptr->prectseg = (struct srf_prectsegments *)check_malloc(prect_ptr->nseg*sizeof(struct srf_prectsegments)); +prseg_ptr = prect_ptr->prectseg; + +srf.srf_apnts.np = 0; +srf.srf_apnts.apntvals = NULL; +apnts_ptr = &srf.srf_apnts; + +for(ig=0;ignseg;ig++) + { + fprintf(stderr,"Reading file: %s\n",infile[ig]); + read_rob(&rrm,infile[ig],&tsfac); + + prseg_ptr[ig].elon = rrm.elon; + prseg_ptr[ig].elat = rrm.elat; + prseg_ptr[ig].nstk = rrm.nstk*nfinestk; + prseg_ptr[ig].ndip = rrm.ndip*nfinedip; + prseg_ptr[ig].flen = rrm.flen; + prseg_ptr[ig].fwid = rrm.fwid; + prseg_ptr[ig].dlen = rrm.flen/prseg_ptr[ig].nstk; + prseg_ptr[ig].dwid = rrm.fwid/prseg_ptr[ig].ndip; + prseg_ptr[ig].stk = rrm.stk; + prseg_ptr[ig].dip = rrm.dip; + prseg_ptr[ig].dtop = rrm.dtop; + prseg_ptr[ig].shyp = rrm.shyp; + prseg_ptr[ig].dhyp = rrm.dhyp; + + ntot = (prseg_ptr[ig].nstk)*(prseg_ptr[ig].ndip); + area = prseg_ptr[ig].dlen*prseg_ptr[ig].dwid*1.0e+10; + + srf.srf_apnts.apntvals = (struct srf_apointvalues *)check_realloc(srf.srf_apnts.apntvals,(apnts_ptr->np+ntot)*sizeof(struct srf_apointvalues)); + apval_ptr = srf.srf_apnts.apntvals + apnts_ptr->np; + + if(rupvel < 0.0) + { + read_velmodel(modfile,&vmod); + conv2vrup(&vmod,&rvmod,&rrm.dip,&rrm.dtop,&rrm.fwid,&rvfrac,&shal_vrup); + } + + ds0 = rrm.flen/rrm.nstk; + dd0 = rrm.fwid/rrm.ndip; + + dsf = ds0/nfinestk; + ddf = dd0/nfinedip; + + len2 = 0.5*rrm.flen; + + arg = rrm.dip*rperd; + cosD = cos(arg); + sinD = sin(arg); + + arg = rrm.stk*rperd; + cosA = cos(arg); + sinA = sin(arg); + + for(j=0;j MINSLIP) + { + if(strcmp(stype,"rob") == 0) + apval_ptr[ip].nt1 = gen_rob_stf(&rrm,i,j,stf,nt,&dt,&z0); + + if(strcmp(stype,"brune") == 0) + apval_ptr[ip].nt1 = gen_brune_stf(&rrm.slip[kp],&rrm.trise[kp],stf,nt,&dt,&z0); + } + else + apval_ptr[ip].nt1 = 0; + + if(apval_ptr[ip].nt1) + apval_ptr[ip].stf1 = (float *)check_realloc(apval_ptr[ip].stf1,(apval_ptr[ip].nt1)*sizeof(float)); + else + { + free(apval_ptr[ip].stf1); + apval_ptr[ip].stf1 = NULL; + } + + get_rrmpars(&rrm,i,j,&x0,&dd,&rt,&vslip,&rake,&xtsfac); + + if(rt < 0.0) + { + if(rupvel < 0.0) + get_rupt(&rvmod,&htol,&rrm.dhyp,&dd,&rrm.shyp,&x0,&rayp,&rupt_rad,&rt); + else + rt = sqrt((rrm.shyp-x0)*(rrm.shyp-x0)+(rrm.dhyp-dd)*(rrm.dhyp-dd))/rupvel; + rt = rt + xtsfac; + } + + if(rt < 0.0) + rt = 0.0; + + se = x0*sinA + y0*cosA; + sn = x0*cosA - y0*sinA; + set_ll(&rrm.elon,&rrm.elat,&slon,&slat,&sn,&se); + + apval_ptr[ip].lon = slon; + apval_ptr[ip].lat = slat; + apval_ptr[ip].dep = z0; + apval_ptr[ip].stk = prseg_ptr[ig].stk; + apval_ptr[ip].dip = prseg_ptr[ig].dip; + apval_ptr[ip].area = area; + apval_ptr[ip].tinit = rt; + apval_ptr[ip].rake = rrm.rake[kp]; + apval_ptr[ip].slip1 = rrm.slip[kp]; + + apval_ptr[ip].slip2 = 0.0; + apval_ptr[ip].nt2 = 0; + apval_ptr[ip].stf2 = NULL; + apval_ptr[ip].slip3 = 0.0; + apval_ptr[ip].nt3 = 0; + apval_ptr[ip].stf3 = NULL; + } + } + } + } + + apnts_ptr->np = apnts_ptr->np + ntot; + } + +write_srf(&srf,outfile,outbin); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/defs.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/defs.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/defs.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,29 @@ +#define NTMAX 10000 +#define SOMERVILLE_FLAG 1 +#define MAI_FLAG 2 +#define MINSLIP 1.0e-02 + +#define DHYPO_FRAC 0.75 /* hypo at 0.75 down-dip width */ +#define SHYPO_STEP 20.0 /* hypo spacing at 20 km along strike */ +#define SHYPO_MIN_OFF 1.0 /* hypos start at 1.0 km along strike */ +#define SLIPS_TO_HYPOS 2 /* no. slip models = 2 times no. of hypos */ + +#define DEFAULT_VR_TO_VS_FRAC 0.8 /* vrup = 0.8 times local Vs */ +#define DEFAULT_SHAL_VRUP_FRAC 0.8 /* shallow_vrup = 0.8 times back_vrup */ +#define DEFAULT_TSFAC -0.5 /* tinit is shifted -0.5 at max_slip */ + +#define RDONLY_FLAGS O_RDONLY +#define RDWR_FLAGS O_RDWR +#define CROPTR_FLAGS O_CREAT | O_TRUNC | O_RDWR + +#if _FILE_OFFSET_BITS == 64 + +#undef RDONLY_FLAGS +#undef RDWR_FLAGS +#undef CROPTR_FLAGS + +#define RDONLY_FLAGS O_RDONLY | O_LARGEFILE +#define RDWR_FLAGS O_RDWR | O_LARGEFILE +#define CROPTR_FLAGS O_CREAT | O_TRUNC | O_RDWR | O_LARGEFILE + +#endif Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/function.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/function.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/function.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,31 @@ +void *check_malloc(size_t); +void *check_realloc(void *,size_t); +FILE *fopfile(char*, char*); +int opfile_ro(char *); +int opfile(char *); +int croptrfile(char *); +int reed(int, void *, int); +int rite(int, void *, int); + +int gen_esg2006_stf(float *,float *,float *,int,float *,float *); +int gen_2tri_stf(float *,float *,float *,int,float *,float *); +int gen_brune_stf(float *,float *,float *,int,float *,float *); + +void set_ne(float *,float *,float *,float *,float *,float *); +void set_ll(float *,float *,float *,float *,float *,float *); +void swap_in_place(int,char *); + +void init_plane_srf(struct standrupformat *,float *,float *,int,int,float *,float *,float *,float *,float *,float *,float *,float *,float *); +void load_slip_srf(struct standrupformat *,struct stfpar *,struct pointsource *); +void load_rupt_srf(struct standrupformat *,struct pointsource *,float *,float *); + +void read_srf(struct standrupformat *,char *,int); +void write_srf(struct standrupformat *,char *,int); + +void free_srf_stf(struct standrupformat *); + +int write_xyz(char *,struct standrupformat *,char *,int,int,float *,float *,int,int,int,float *,float *); +void write_maxsvf(char *,struct standrupformat *,char *,int,float *); + +void get_moment(struct standrupformat *,struct velmodel *); +void read_velmodel(char *,struct velmodel *); Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/gene2gsf.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/gene2gsf.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/gene2gsf.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,182 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +#define MAXFILE 100 + +char infilebuf[MAXFILE*256]; + +main(int ac,char **av) +{ +FILE *fopfile(), *fpr, *fpw; +float dx, dy, *len, *wid, *strike, *dip; +float xlon, xlat, xdep, xrak, xslp, tdel; +int nfile, i, j, k, ip, nstk_tot, *nstk, *ndip, poff; +int nseg, ig; +char filelist[256], *infile[MAXFILE], outfile[256], segmentfile[256]; +char string[1024]; + +struct generic_slip gslip; +struct slippars *spar, *spar2; + +int reverse_strike = 0; + +setpar(ac,av); +mstpar("filelist","s",filelist); +mstpar("outfile","s",outfile); +mstpar("segmentfile","s",segmentfile); +mstpar("tdel","f",&tdel); +getpar("reverse_strike","d",&reverse_strike); +endpar(); + +fpr = fopfile(filelist,"r"); +nfile = 0; +while(fgets(string,1024,fpr) != NULL) + { + if(nfile == MAXFILE) + { + fprintf(stderr,"MAXFILE=%d exceeded, exiting...\n",MAXFILE); + exit(-1); + } + + infile[nfile] = infilebuf + nfile*256; + sscanf(string,"%s",infile[nfile]); + nfile++; + } +fclose(fpr); + +fpr = fopfile(segmentfile,"r"); + +fgets(string,1024,fpr); +sscanf(string,"%d",&nseg); + +len = (float *)check_malloc(nseg*sizeof(float)); +wid = (float *)check_malloc(nseg*sizeof(float)); +strike = (float *)check_malloc(nseg*sizeof(float)); +dip = (float *)check_malloc(nseg*sizeof(float)); +nstk = (int *)check_malloc(nseg*sizeof(int)); +ndip = (int *)check_malloc(nseg*sizeof(int)); + +nstk_tot = 0; +for(i=0;i 0.0) + { + if(spar[ip].slip < 0.0) + { + spar[ip].rake = xrak*xslp; + spar[ip].slip = xslp; + spar[ip].tinit = k*tdel; + } + else + { + spar[ip].rake = spar[ip].rake + xrak*xslp; + spar[ip].slip = spar[ip].slip + xslp; + } + } + } + } + + poff = poff + nstk[ig]; + } + + fclose(fpr); + } + +if(reverse_strike) + { + spar2 = (struct slippars *)check_malloc(gslip.np*sizeof(struct slippars)); + for(j=0;j 0.0) + spar[ip].rake = spar[ip].rake/spar[ip].slip; + + fprintf(fpw,"%11.5f %11.5f %8.4f %8.4f %8.4f %6.1f %6.1f %6.1f %8.2f %8.3f %3d\n", + spar[ip].lon, + spar[ip].lat, + spar[ip].dep, + spar[ip].ds, + spar[ip].dw, + spar[ip].stk, + spar[ip].dip, + spar[ip].rake, + spar[ip].slip, + spar[ip].tinit, + spar[ip].segno); + } + +fclose(fpw); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srf.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srf.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srf.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,347 @@ +#include "include.h" +#include "structure.h" +#include "../../JordanBailey/structure.h" +#include "function.h" +#include "../../JordanBailey/function.h" +#include "defs.h" + +main(int ac,char **av) +{ +FILE *fopfile(), *fpr, *fpw; +float *stf; +float tzero; +int i, ip; +char infile[256], outfile[256]; +char str[1024]; +char stype[32]; + +struct generic_slip gslip; +struct slippars *spar; +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +struct slippars *spar2; +float depmin, dold, avglon, avglat, se, sn; +int iseg, nseg, nc; + +float dmin, dmax, rtfac; + +float rperd = 0.017453293; + +float dt; +int it, nt; + +int outbin = 0; +int plane_header = 0; + +float risetimedep = 5.0; +float risetimefac = 2.0; +float risetime; + +sprintf(srf.version,"1.0"); +sprintf(stype,"brune"); + +nt = NTMAX; + +setpar(ac,av); + +getpar("version","s",srf.version); + +mstpar("infile","s",infile); +mstpar("outfile","s",outfile); +getpar("outbin","d",&outbin); + +mstpar("dt","f",&dt); +getpar("nt","d",&nt); +getpar("stype","s",stype); +if(strcmp(stype,"esg2006") == 0 || strcmp(stype,"urs") == 0 || strcmp(stype,"ucsb") == 0 || strncmp(stype,"cos",3) == 0) + { + mstpar("risetime","f",&risetime); + } + +getpar("risetimefac","f",&risetimefac); +getpar("risetimedep","f",&risetimedep); + +getpar("plane_header","d",&plane_header); + +endpar(); + +fpr = fopfile(infile,"r"); + +fgets(str,1024,fpr); +while(strncmp(str,"#",1) == 0) + fgets(str,1024,fpr); + +sscanf(str,"%d",&gslip.np); + +gslip.spar = (struct slippars *)check_malloc(gslip.np*sizeof(struct slippars)); +spar = gslip.spar; + +i = 0; +while(fgets(str,1024,fpr) != NULL) + { + sscanf(str,"%f %f %f %f %f %f %f %f %f %f %d",&spar[i].lon, + &spar[i].lat, + &spar[i].dep, + &spar[i].ds, + &spar[i].dw, + &spar[i].stk, + &spar[i].dip, + &spar[i].rake, + &spar[i].slip, + &spar[i].tinit, + &spar[i].segno); + i++; + } + +fclose(fpr); + +if(plane_header) + { + nseg = 0; + for(i=0;i nseg) + nseg = spar[i].segno; + } + nseg++; + + spar2 = (struct slippars *)check_malloc(gslip.np*sizeof(struct slippars)); + + sprintf(srf.type,"PLANE"); + + prect_ptr = &srf.srf_prect; + prect_ptr->nseg = nseg; + prect_ptr->prectseg = (struct srf_prectsegments *)check_malloc(prect_ptr->nseg*sizeof(struct srf_prectsegments)); + + prseg_ptr = prect_ptr->prectseg; + + nc = 0; + for(i=0;i= 0.99*depmin) + { + avglon = avglon + spar[ip].lon; + avglat = avglat + spar[ip].lat; + prseg_ptr[i].nstk++; + } + + if(spar[ip].dep != dold) + { + dold = spar[ip].dep; + prseg_ptr[i].ndip++; + } + + prseg_ptr[i].dlen = prseg_ptr[i].dlen + spar[ip].ds; + prseg_ptr[i].dwid = prseg_ptr[i].dwid + spar[ip].dw; + + nc++; + iseg++; + + if(iseg == 1) + { + prseg_ptr[i].stk = spar[ip].stk; + prseg_ptr[i].dip = spar[ip].dip; + } + else + { + if(spar[ip].stk > prseg_ptr[i].stk/(float)(iseg-1) + 90.0) + { + prseg_ptr[i].stk = prseg_ptr[i].stk + spar[ip].stk - 180.0; + prseg_ptr[i].dip = prseg_ptr[i].dip + 180.0 - spar[ip].dip; + } + else if(spar[ip].stk < prseg_ptr[i].stk/(float)(iseg-1) - 90.0) + { + prseg_ptr[i].stk = prseg_ptr[i].stk + spar[ip].stk + 180.0; + prseg_ptr[i].dip = prseg_ptr[i].dip + 180.0 - spar[ip].dip; + } + else + { + prseg_ptr[i].stk = prseg_ptr[i].stk + spar[ip].stk; + prseg_ptr[i].dip = prseg_ptr[i].dip + spar[ip].dip; + } + } + } + } + + prseg_ptr[i].stk = prseg_ptr[i].stk/(float)(iseg); + prseg_ptr[i].dip = prseg_ptr[i].dip/(float)(iseg); + + if(prseg_ptr[i].dip > 90.0) + { + prseg_ptr[i].dip = 180.0 - prseg_ptr[i].dip; + prseg_ptr[i].stk = prseg_ptr[i].stk - 180.0; + } + + while(prseg_ptr[i].stk < 0.0) + prseg_ptr[i].stk = prseg_ptr[i].stk + 360.0; + while(prseg_ptr[i].stk >= 360.0) + prseg_ptr[i].stk = prseg_ptr[i].stk - 360.0; + + prseg_ptr[i].dlen = prseg_ptr[i].dlen/(float)(iseg); + prseg_ptr[i].dwid = prseg_ptr[i].dwid/(float)(iseg); + + prseg_ptr[i].flen = prseg_ptr[i].nstk*prseg_ptr[i].dlen; + prseg_ptr[i].fwid = prseg_ptr[i].ndip*prseg_ptr[i].dwid; + + prseg_ptr[i].dtop = depmin - 0.5*prseg_ptr[i].dwid*sin(rperd*prseg_ptr[i].dip); + if(prseg_ptr[i].dtop < 0.0) + prseg_ptr[i].dtop = 0.0; + + avglon = avglon/(float)(prseg_ptr[i].nstk); + avglat = avglat/(float)(prseg_ptr[i].nstk); + se = -prseg_ptr[i].dwid*cos(rperd*prseg_ptr[i].dip)*cos(rperd*prseg_ptr[i].stk); + sn = prseg_ptr[i].dwid*cos(rperd*prseg_ptr[i].dip)*sin(rperd*prseg_ptr[i].stk); + + set_ll(&avglon,&avglat,&prseg_ptr[i].elon,&prseg_ptr[i].elat,&sn,&se); + + prseg_ptr[i].shyp = -999.9; + prseg_ptr[i].dhyp = -999.9; + + fprintf(stderr,"%3d: %11.5f %11.5f %2d %2d %10.4f %10.4f %.1f %.1f %10.4f\n",i,prseg_ptr[i].elon,prseg_ptr[i].elat,prseg_ptr[i].nstk,prseg_ptr[i].ndip,prseg_ptr[i].flen,prseg_ptr[i].fwid,prseg_ptr[i].stk,prseg_ptr[i].dip,prseg_ptr[i].dtop); + } + + for(ip=0;ip MINSLIP) + { + if(spar[ip].dep >= dmax) + rtfac = 1.0; + else if(spar[ip].dep < dmax && spar[ip].dep > dmin) + rtfac = 1.0 + (risetimefac - 1.0)*(dmax-(spar[ip].dep))/(dmax-dmin); + else + rtfac = risetimefac; + + if(strcmp(stype,"brune") == 0) + { + tzero = 0.1*exp(-1.0)*sqrt(spar[ip].slip)/(1.5); /* assume slip in cm */ + tzero = 0.1*exp(-1.0)*sqrt(spar[ip].slip)/(1.2); /* assume slip in cm */ + + tzero = tzero*rtfac; + + apval_ptr[ip].nt1 = gen_brune_stf(&spar[ip].slip,&tzero,stf,nt,&dt,&spar[ip].dep); + } + else if(strcmp(stype,"urs") == 0) + { + tzero = rtfac*risetime; + + apval_ptr[ip].nt1 = gen_2tri_stf(&spar[ip].slip,&tzero,stf,nt,&dt,&spar[ip].dep); + } + else if(strcmp(stype,"esg2006") == 0) + { + tzero = rtfac*risetime; + + apval_ptr[ip].nt1 = gen_esg2006_stf(&spar[ip].slip,&tzero,stf,nt,&dt,&spar[ip].dep); + } + else if(strncmp(stype,"cos",3) == 0) + { + tzero = rtfac*risetime; + + apval_ptr[ip].nt1 = gen_cos_stf(&spar[ip].slip,&tzero,stf,nt,&dt,&spar[ip].dep); + } + else if(strcmp(stype,"delta") == 0) + { + apval_ptr[ip].nt1 = 3; + stf[0] = 0.0; + stf[1] = spar[ip].slip/dt; + stf[2] = 0.0; + } + } + else + apval_ptr[ip].nt1 = 0; + + if(apval_ptr[ip].nt1) + apval_ptr[ip].stf1 = (float *)check_realloc(apval_ptr[ip].stf1,(apval_ptr[ip].nt1)*sizeof(float)); + else + { + free(apval_ptr[ip].stf1); + apval_ptr[ip].stf1 = NULL; + } + + apval_ptr[ip].lon = spar[ip].lon; + apval_ptr[ip].lat = spar[ip].lat; + apval_ptr[ip].dep = spar[ip].dep; + apval_ptr[ip].stk = spar[ip].stk; + apval_ptr[ip].dip = spar[ip].dip; + apval_ptr[ip].area = spar[ip].ds*spar[ip].dw*1.0e+10; + apval_ptr[ip].tinit = spar[ip].tinit; + apval_ptr[ip].rake = spar[ip].rake; + apval_ptr[ip].slip1 = spar[ip].slip; + + apval_ptr[ip].slip2 = 0.0; + apval_ptr[ip].nt2 = 0; + apval_ptr[ip].stf2 = NULL; + apval_ptr[ip].slip3 = 0.0; + apval_ptr[ip].nt3 = 0; + apval_ptr[ip].stf3 = NULL; + } + +write_srf(&srf,outfile,outbin); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srfGOOD.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srfGOOD.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/generic_slip2srfGOOD.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,171 @@ +#include "include.h" +#include "structure.h" +#include "../../JordanBailey/structure.h" +#include "function.h" +#include "../../JordanBailey/function.h" +#include "defs.h" + +main(int ac,char **av) +{ +FILE *fopfile(), *fpr, *fpw; +float *stf; +float area, tzero; +int i, ip; +char infile[256], outfile[256]; +char str[1024]; +char stype[32]; + +struct generic_slip gslip; +struct slippars *spar; +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +float dt; +int it, nt; + +int outbin = 0; +int plane_header = 0; + +float risetimedep = 0.0; +float risetimefac = 1.0; + +sprintf(srf.version,"1.0"); +sprintf(stype,"brune"); + +nt = NTMAX; + +prect_ptr = &srf.srf_prect; +prect_ptr->nseg = 1; +prect_ptr->prectseg = (struct srf_prectsegments *)check_malloc(prect_ptr->nseg*sizeof(struct srf_prectsegments)); + +prseg_ptr = prect_ptr->prectseg; + +setpar(ac,av); + +getpar("version","s",srf.version); + +mstpar("infile","s",infile); +mstpar("outfile","s",outfile); +getpar("outbin","d",&outbin); + +mstpar("dt","f",&dt); +getpar("nt","d",&nt); +getpar("stype","s",stype); + +getpar("risetimefac","f",&risetimefac); +getpar("risetimedep","f",&risetimedep); + +getpar("plane_header","d",&plane_header); +if(plane_header) + { + sprintf(srf.type,"PLANE"); + + mstpar("elon","f",&prseg_ptr[0].elon); + mstpar("elat","f",&prseg_ptr[0].elat); + mstpar("nstk","d",&prseg_ptr[0].nstk); + mstpar("ndip","d",&prseg_ptr[0].ndip); + mstpar("flen","f",&prseg_ptr[0].flen); + mstpar("fwid","f",&prseg_ptr[0].fwid); + + prseg_ptr[0].dlen = prseg_ptr[0].flen/prseg_ptr[0].nstk; + prseg_ptr[0].dwid = prseg_ptr[0].fwid/prseg_ptr[0].ndip; + + mstpar("stk","f",&prseg_ptr[0].stk); + mstpar("dip","f",&prseg_ptr[0].dip); + mstpar("dtop","f",&prseg_ptr[0].dtop); + mstpar("shyp","f",&prseg_ptr[0].shyp); + mstpar("dhyp","f",&prseg_ptr[0].dhyp); + + area = prseg_ptr[0].dlen*prseg_ptr[0].dwid*1.0e+10; + } +else + { + mstpar("subfault_area","f",&area); + area = area*1.0e+10; + } + +endpar(); + +fpr = fopfile(infile,"r"); + +fgets(str,1024,fpr); +while(strncmp(str,"#",1) == 0) + fgets(str,1024,fpr); + +sscanf(str,"%d",&gslip.np); + +gslip.spar = (struct slippars *)check_malloc(gslip.np*sizeof(struct slippars)); +spar = gslip.spar; + +i = 0; +while(fgets(str,1024,fpr) != NULL) + { + sscanf(str,"%f %f %f %f %f %f %f %f",&spar[i].lon, + &spar[i].lat, + &spar[i].dep, + &spar[i].stk, + &spar[i].dip, + &spar[i].rake, + &spar[i].slip, + &spar[i].tinit); + i++; + } + +fclose(fpr); + +srf.srf_apnts.np = gslip.np; +srf.srf_apnts.apntvals = (struct srf_apointvalues *)check_malloc((gslip.np)*sizeof(struct srf_apointvalues)); +apval_ptr = srf.srf_apnts.apntvals; + +for(ip=0;ip MINSLIP) + { + if(strcmp(stype,"brune") == 0) + { + tzero = 0.025*sqrt(spar[ip].slip); /* assumes slip in cm */ + if(risetimefac > 0.0 && spar[ip].dep < risetimedep) + tzero = tzero*risetimefac; + + apval_ptr[ip].nt1 = gen_brune_stf(&spar[ip].slip,&tzero,stf,nt,&dt,&spar[ip].dep); + } + } + else + apval_ptr[ip].nt1 = 0; + + if(apval_ptr[ip].nt1) + apval_ptr[ip].stf1 = (float *)check_realloc(apval_ptr[ip].stf1,(apval_ptr[ip].nt1)*sizeof(float)); + else + { + free(apval_ptr[ip].stf1); + apval_ptr[ip].stf1 = NULL; + } + + apval_ptr[ip].lon = spar[ip].lon; + apval_ptr[ip].lat = spar[ip].lat; + apval_ptr[ip].dep = spar[ip].dep; + apval_ptr[ip].stk = spar[ip].stk; + apval_ptr[ip].dip = spar[ip].dip; + apval_ptr[ip].area = area; + apval_ptr[ip].tinit = spar[ip].tinit; + apval_ptr[ip].rake = spar[ip].rake; + apval_ptr[ip].slip1 = spar[ip].slip; + + apval_ptr[ip].slip2 = 0.0; + apval_ptr[ip].nt2 = 0; + apval_ptr[ip].stf2 = NULL; + apval_ptr[ip].slip3 = 0.0; + apval_ptr[ip].nt3 = 0; + apval_ptr[ip].stf3 = NULL; + } + +write_srf(&srf,outfile,outbin); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/include.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/include.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/include.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,15 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2_5x4.stoch =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2_5x4.stoch (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2_5x4.stoch 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,15 @@ +1 + -120.4360 35.8843 8 4 5.00 4.00 + 141 89 188 0.00 10.00 7.60 + 12 18 41 48 20 15 8 11 + 14 18 27 32 30 54 8 10 + 4 6 7 7 7 4 2 1 + 4 7 11 14 16 11 5 7 + 1.95 2.55 2.55 2.55 2.55 2.55 2.29 2.29 + 1.95 2.55 2.55 2.55 2.55 2.55 2.04 2.04 + 1.95 2.55 2.55 2.55 2.55 2.55 2.55 2.55 + 1.95 2.55 2.55 2.55 2.55 2.55 2.55 2.55 + 8.55 7.05 5.55 4.15 2.90 2.10 2.45 3.05 + 8.50 6.90 5.30 3.90 2.20 0.90 1.10 3.10 + 8.50 6.90 5.40 3.90 2.55 1.95 2.65 3.35 + 8.60 7.30 5.80 4.40 3.30 2.90 2.95 4.25 Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2xyz.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2xyz.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/inv2xyz.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,71 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +main(int ac,char **av) +{ +FILE *fpr, *fpw, *fopfile(); +int nx, ny, nwin, ix, iy, i; +float flen, fwid, dx, dy, dt; +float xp, yp, *tp, slip, rake; +char infile[256], outfile[256], str[512]; + +sprintf(infile,"stdin"); +sprintf(outfile,"stdout"); + +setpar(ac,av); +getpar("infile","s",infile); +getpar("outfile","s",outfile); +mstpar("flen","f",&flen); +mstpar("fwid","f",&fwid); +mstpar("dx","f",&dx); +mstpar("dy","f",&dy); +endpar(); + +nx = (int)(flen/dx + 0.5); +ny = (int)(fwid/dy + 0.5); + +tp = (float *)check_malloc(nx*ny*sizeof(float)); + +if(strcmp(infile,"stdin") == 0) + fpr = stdin; +else + fpr = fopfile(infile,"r"); + +fgets(str,512,fpr); +sscanf(str,"%d %*d %*f %*f %f",&nwin,&dt); + +for(ix=0;ix 0.01 && tp[ix+iy*nx] < 0.0) + tp[ix+iy*nx] = (i-1)*dt; + } + fgets(str,512,fpr); /* get rouge newline */ + } + } +fclose(fpr); + +if(strcmp(outfile,"stdout") == 0) + fpw = stdout; +else + fpw = fopfile(outfile,"w"); + +for(iy=0;iy 1.0. + */ +double frand(void) +{ +frandx = (frandx * 1103515245 + 12345) & 0x7fffffff; +return((double)(frandx)/1073741824.0 - 1.0); +} + +/* sfrand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double sfrand(long *seed) +{ +*seed = ((*seed) * 1103515245 + 12345) & 0x7fffffff; +return((double)(*seed)/1073741824.0 - 1.0); +} + +zapit(s,n) +float *s; +int n; +{ +while(n--) + { + s[0] = 0.0; + s++; + } +} + +void set_ne(float *elon,float *elat,float *slon,float *slat,float *sn,float *se) +{ +float kperd_n, kperd_e; +double e2, den, g2, lat0; +float cosA, sinA; + +double rperd = 0.017453293; +double radius = 6378.139; +double f = 298.256; + +f = 1.0/f; +e2 = 2.0*f - f*f; +g2 = e2/((1.0 - f)*(1.0 - f)); + +lat0 = atan((1.0 - f)*tan((*elat)*rperd)); + +cosA = cos(lat0); +sinA = sin(lat0); + +den = sqrt(1.0/(1.0 + g2*sinA*sinA)); +kperd_e = rperd*radius*cosA*den; +kperd_n = rperd*radius*(sqrt(1.0 + g2*sinA*sinA*(2.0 + g2)))*den*den*den; + +*sn = ((*slat) - (*elat))*kperd_n; +*se = ((*slon) - (*elon))*kperd_e; +} + +void set_ll(float *elon,float *elat,float *slon,float *slat,float *sn,float *se) +{ +float kperd_n, kperd_e; +double e2, den, g2, lat0; +float cosA, sinA; + +double rperd = 0.017453293; +double radius = 6378.139; +double f = 298.256; + +f = 1.0/f; +e2 = 2.0*f - f*f; +g2 = e2/((1.0 - f)*(1.0 - f)); + +lat0 = atan((1.0 - f)*tan((*elat)*rperd)); + +cosA = cos(lat0); +sinA = sin(lat0); + +den = sqrt(1.0/(1.0 + g2*sinA*sinA)); +kperd_e = rperd*radius*cosA*den; +kperd_n = rperd*radius*(sqrt(1.0 + g2*sinA*sinA*(2.0 + g2)))*den*den*den; + +*slat = (*sn)/kperd_n + *elat; +*slon = (*se)/kperd_e + *elon; +} + +void swap_in_place(int n,char *cbuf) +{ +char cv; + +while(n--) + { + cv = cbuf[0]; + cbuf[0] = cbuf[3]; + cbuf[3] = cv; + + cv = cbuf[1]; + cbuf[1] = cbuf[2]; + cbuf[2] = cv; + + cbuf = cbuf + 4; + } +} + +int write_xyz(char *file,struct standrupformat *srf,char *type,int ig,int calc_xy,float *xoff,float *yoff,int tsstr,int tsend,int tsinc,float *svmin,float *slipmin) +{ +FILE *fpw, *fopfile(); +struct srf_prectsegments *prseg_ptr; +struct srf_apointvalues *apval_ptr; +float elon, elat; +float sn, se, arg; +float len, wid, dx, dy, stk, dip, dtop, shypo, dhypo; +float len2, slip, xx, yy, outval; +float sv, svmax, *stf1, *stf2, *stf3; +int it, maxnt, ts, itdel; +int nx, ny; +int nt1, nt2, nt3; +int i, j, k, npskip; +int igst, ignd, igp; +int nd, place; +char str[512], frmt[32]; + +float rperd = 0.017453293; + +if(strcmp(srf[0].type,"PLANE") != 0 || ig >= srf[0].srf_prect.nseg) + return(-99); + +if(ig < 0) + { + igst = 0; + ignd = srf[0].srf_prect.nseg; + } +else + { + igst = ig; + ignd = igst + 1; + } + +if(strncmp(type,"rupture",7) == 0) + { + if(tsstr < 0) + tsstr = 0; + if(tsend < 0) + { + apval_ptr = srf[0].srf_apnts.apntvals; + for(k=0;k (place-1)) + { + place = place*10; + nd++; + } + + sprintf(frmt,"%s%%.%dd",file,nd); + } +else + { + tsstr = 0; + tsend = 1; + } + +for(ts=tsstr;ts maxnt) + maxnt = apval_ptr[k].nt2; + if(apval_ptr[k].nt3 > maxnt) + maxnt = apval_ptr[k].nt3; + + svmax = 0.0; + for(it=0;it svmax) + svmax = sv; + } + + outval = svmax; + } + else if(strncmp(type,"rupture",7) == 0) + { + stf1 = apval_ptr[k].stf1; + stf2 = apval_ptr[k].stf2; + stf3 = apval_ptr[k].stf3; + + nt1 = apval_ptr[k].nt1; + while(stf1[nt1-1] < *svmin && nt1 > 0) + nt1--; + + nt2 = apval_ptr[k].nt2; + while(stf2[nt2-1] < *svmin && nt2 > 0) + nt2--; + + nt3 = apval_ptr[k].nt3; + while(stf3[nt3-1] < *svmin && nt3 > 0) + nt3--; + + itdel = ts - (int)(apval_ptr[k].tinit/apval_ptr[k].dt + 0.5); + + if(itdel < 1) + sv = 0.0; + else if(itdel < nt1 || itdel < nt2 || itdel < nt3) + { + sv = 0.0; + if(itdel < nt1) + sv = sv + stf1[itdel]*stf1[itdel]; + if(itdel < nt2) + sv = sv + stf2[itdel]*stf2[itdel]; + if(itdel < nt3) + sv = sv + stf3[itdel]*stf3[itdel]; + + sv = sqrt(sv); + } + else + { + sv = -1.0*sqrt(apval_ptr[k].slip1*apval_ptr[k].slip1 + + apval_ptr[k].slip2*apval_ptr[k].slip2 + + apval_ptr[k].slip3*apval_ptr[k].slip3); + + if(sv > -(*slipmin)) + sv = -(*slipmin); + } + + outval = sv; + } + + else if(strncmp(type,"rake",4) == 0) + outval = apval_ptr[k].rake; + + else if(strncmp(type,"tinit",5) == 0) + outval = apval_ptr[k].tinit; + + fprintf(fpw,"%12.5e %12.5e %12.5e\n",xx,yy,outval); + } + } + + *xoff = *xoff + len; + } + fclose(fpw); + } +} + +void write_maxsvf(char *file,struct standrupformat *srf,char *type,int ig,float *maxslip) +{ +FILE *fpw, *fopfile(); +struct srf_prectsegments *prseg_ptr; +struct srf_apointvalues *apval_ptr; +float elon, elat; +float sn, se, arg; +float len, wid, dx, dy, stk, dip, dtop, shypo, dhypo; +float len2, slip, xx, yy; +float *stf; +int it, kp, nx, ny; +int i, j, k, npskip, pflag; + +float rperd = 0.017453293; + +if(strcmp(srf[0].type,"PLANE") == 0 && ig < srf[0].srf_prect.nseg) + { + prseg_ptr = srf[0].srf_prect.prectseg; + + elon = prseg_ptr[ig].elon; + elat = prseg_ptr[ig].elat; + nx = prseg_ptr[ig].nstk; + ny = prseg_ptr[ig].ndip; + len = prseg_ptr[ig].flen; + wid = prseg_ptr[ig].fwid; + stk = prseg_ptr[ig].stk; + dip = prseg_ptr[ig].dip; + dtop = prseg_ptr[ig].dtop; + shypo = prseg_ptr[ig].shyp; + dhypo = prseg_ptr[ig].dhyp; + + len2 = 0.5*len; + dx = len/(float)(nx); + dy = wid/(float)(ny); + + npskip = 0; + for(i=0;i *maxslip) + { + *maxslip = slip; + kp = k; + } + } + } + } + + if(strcmp(file,"stdout") == 0) + fpw = stdout; + else + fpw = fopfile(file,"w"); + + fprintf(fpw,"svf svf\n"); + fprintf(fpw,"%d %13.5e\n",apval_ptr[kp].nt1,apval_ptr[kp].dt); + + stf = apval_ptr[kp].stf1; + for(it=0;itnlay); + +vm->vp = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->vs = (double *)check_malloc(vm->nlay*sizeof(double)); +vm->den = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->th = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->dep = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->mu = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->invb2 = (double *)check_malloc(vm->nlay*sizeof(double)); + +for(i=0;inlay;i++) + { + fgets(str,512,fpr); + sscanf(str,"%f %f %lf %f",&vm->th[i],&vm->vp[i],&vm->vs[i],&vm->den[i]); + + if(i==0) + vm->dep[i] = vm->th[i]; + else + vm->dep[i] = vm->dep[i-1] + vm->th[i]; + + vm->mu[i] = vm->vs[i]*vm->vs[i]*vm->den[i]*1.0e+10; /* in CMS units */ + } +fclose(fpr); +} + +void get_moment(struct standrupformat *srf,struct velmodel *vm) +{ +struct srf_prectsegments *prseg_ptr; +struct srf_apointvalues *apval_ptr; +float tmom, slip; +int np; +int j, k; + +tmom = 0.0; +np = srf[0].srf_apnts.np; +apval_ptr = srf[0].srf_apnts.apntvals; + +for(k=0;kdep[j] < apval_ptr[k].dep) + j++; + + tmom = tmom + slip*apval_ptr[k].area*vm->mu[j]; + } + +fprintf(stderr,"Total moment= %13.5e\n",tmom); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2moment.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2moment.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2moment.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,25 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +main(int ac,char **av) +{ +char infile[256], velfile[256]; + +struct standrupformat srf; +struct velmodel vmod; + +int inbin = 0; + +sprintf(infile,"stdin"); + +setpar(ac,av); +getpar("infile","s",infile); +mstpar("velfile","s",velfile); +endpar(); + +read_velmodel(velfile,&vmod); +read_srf(&srf,infile,inbin); +get_moment(&srf,&vmod); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2stoch.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2stoch.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/SlipModel/StandRupFormat/srf2stoch.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,280 @@ +#include "include.h" +#include "structure.h" +#include "function.h" +#include "defs.h" + +#define RPERD 0.017453293 +#define DPERR 57.29577951 + +main(int ac,char **av) +{ +FILE *fopfile(), *fpr, *fpw; +float dx, dy, len, wid, xp, yp; +float dtop, strike, dip; +float rr, ss, tt, tl, ravg, savg, *slip, *trise, *tinit, *sp, *tr, *ti; +float s1, s2, xx, yy, rake, cosA, sinA, sum; +int i, is, id, ip, nstk, ndip, nseg; +int ix, iy, j, k, m, kp, noff; +int nx, ny, nxdiv, nydiv, nxsum, nysum; +float shypo, dhypo, elon, elat, fac; +char infile[256], outfile[256]; +char string[1024]; + +struct standrupformat srf; +int inbin = 0; + +float avgstk = -1.0e+15; +int revstk; + +sprintf(infile,"stdin"); +sprintf(outfile,"stdout"); + +setpar(ac,av); +getpar("infile","s",infile); +getpar("outfile","s",outfile); +mstpar("dx","f",&dx); +mstpar("dy","f",&dy); +getpar("inbin","d",&inbin); +getpar("avgstk","f",&avgstk); +endpar(); + +if(avgstk > -1.0e+14) + { + while(avgstk >= 360.0) + avgstk = avgstk - 360.0; + while(avgstk < 0.0) + avgstk = avgstk + 360.0; + } + +read_srf(&srf,infile,inbin); + +if(strcmp(outfile,"stdout") == 0) + fpw = stdout; +else + fpw = fopfile(outfile,"w"); + +fprintf(fpw,"%d\n",srf.srf_prect.nseg); + +noff = 0; +for(i=0;i= 360.0) + strike = strike - 360.0; + while(strike < 0.0) + strike = strike + 360.0; + + nx = (len/dx + 0.5); + if(nx > nstk) + { + nx = nstk; + dx = len/nx; + } + + nxdiv = 1; + while((nstk*nxdiv)%nx) + nxdiv++; + + nxsum = (nstk*nxdiv)/nx; + + ny = (wid/dy + 0.5); + if(ny > ndip) + { + ny = ndip; + dy = wid/ny; + } + + nydiv = 1; + while((ndip*nydiv)%ny) + nydiv++; + + nysum = (ndip*nydiv)/ny; + + fprintf(stderr,"seg= %d\n",i); + fprintf(stderr,"nstk= %d nx= %d nxdiv= %d nxsum= %d\n",nstk,nx,nxdiv,nxsum); + fprintf(stderr,"ndip= %d ny= %d nydiv= %d nysum= %d\n",ndip,ny,nydiv,nysum); + + slip = (float *) check_malloc (nxdiv*nydiv*nstk*ndip*sizeof(float)); + trise = (float *) check_malloc (nxdiv*nydiv*nstk*ndip*sizeof(float)); + tinit = (float *) check_malloc (nxdiv*nydiv*nstk*ndip*sizeof(float)); + sp = (float *) check_malloc (nx*ny*sizeof(float)); + tr = (float *) check_malloc (nx*ny*sizeof(float)); + ti = (float *) check_malloc (nx*ny*sizeof(float)); + + savg = 0.0; + ravg = 0.0; + for(id=0;id 360.0) + rr = rr - 360.0; + + tl = (srf.srf_apnts.apntvals[kp].dt)*(srf.srf_apnts.apntvals[kp].nt1 - 1); + if(srf.srf_apnts.apntvals[kp].nt2 > srf.srf_apnts.apntvals[kp].nt1) + tl = (srf.srf_apnts.apntvals[kp].dt)*(srf.srf_apnts.apntvals[kp].nt2 - 1); + if(tl < 0.0) + tl = 0.0; + for(k=0;k 0.0) + tr[ip] = tr[ip]/sum; + else + tr[ip] = 1.0e-05; + } + } + + fprintf(fpw,"%10.4f %10.4f %5d %5d %8.2f %8.2f\n",elon,elat,nx,ny,dx,dy); + fprintf(fpw,"%4.0f %4.0f %4.0f %8.2f %8.2f %8.2f\n",strike,dip,ravg,dtop,shypo,dhypo); + + revstk = 0; + if(avgstk > -1.0e+14 && (strike > avgstk + 90.0 || strike < avgstk - 90.0)) + revstk = 1; + + for(iy=0;iy=0;ix--) + fprintf(fpw," %5.0f",sp[ix + iy*nx]); + } + else + { + for(ix=0;ix=0;ix--) + fprintf(fpw," %5.2f",tr[ix + iy*nx]); + } + else + { + for(ix=0;ix=0;ix--) + fprintf(fpw," %5.2f",ti[ix + iy*nx]); + } + else + { + for(ix=0;ix smax) + smax = svec; + } + } + + savg = savg/(float)(nstk*ndip); + if((smax-savg) != (float)(0.0)) + sf = 1.0/(smax-savg); + else + tsfac = sf = 0.0; + } + +for(j=0;j 0.0 && ctinit > 0.0) + vr = rad/ctinit; + + for(j=0;jsrf_apnts); +apval_ptr = apnts_ptr->apntvals; + +for(ip=0;ipnp;ip++) + { + apval_ptr[ip].stf1 = (float *)check_malloc(spar->nt*sizeof(float)); + stf = apval_ptr[ip].stf1; + + apval_ptr[ip].dt = spar->dt; + if(ps[ip].slip > MINSLIP) + { + if(ps[ip].dep >= dmax) + rtfac = 1.0; + else if(ps[ip].dep < dmax && ps[ip].dep > dmin) + rtfac = 1.0 + rtfac0*(dmax-(ps[ip].dep))/(dmax-dmin); + else + rtfac = 1.0 + rtfac0; + + tzero = rtfac*spar->trise; + apval_ptr[ip].nt1 = gen_2tri_stf(&(ps[ip].slip),&spar->trise,stf,spar->nt,&spar->dt,&ps[ip].dep); + } + else + apval_ptr[ip].nt1 = 0; + + if(apval_ptr[ip].nt1) + apval_ptr[ip].stf1 = (float *)check_realloc(apval_ptr[ip].stf1,(apval_ptr[ip].nt1)*sizeof(float)); + else + { + free(apval_ptr[ip].stf1); + apval_ptr[ip].stf1 = NULL; + } + + apval_ptr[ip].lon = ps[ip].lon; + apval_ptr[ip].lat = ps[ip].lat; + apval_ptr[ip].dep = ps[ip].dep; + apval_ptr[ip].stk = ps[ip].stk; + apval_ptr[ip].dip = ps[ip].dip; + apval_ptr[ip].area = ps[ip].area; + apval_ptr[ip].rake = ps[ip].rak; + apval_ptr[ip].slip1 = ps[ip].slip; + + apval_ptr[ip].slip2 = 0.0; + apval_ptr[ip].nt2 = 0; + apval_ptr[ip].stf2 = NULL; + apval_ptr[ip].slip3 = 0.0; + apval_ptr[ip].nt3 = 0; + apval_ptr[ip].stf3 = NULL; + } +} + +void load_rupt_srf(struct standrupformat *srf,struct pointsource *ps,float *sh,float *dh) +{ +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; +int ip; + +(srf->srf_prect).prectseg[0].shyp = *sh; +(srf->srf_prect).prectseg[0].dhyp = *dh; + +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals; + +for(ip=0;ipnp;ip++) + apval_ptr[ip].tinit = ps[ip].rupt; +} + +void write_srf(struct standrupformat *srf,char *file,int bflag) +{ +FILE *fpw, *fopfile(); +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +float area; +float *stf; +int i, j, k, nt6, it, ip, ig, ntot; + +char pword[32]; +int fdw; + +prect_ptr = &(srf->srf_prect); +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals; + +if(bflag) + { + if(strcmp(file,"stdout") == 0) + fdw = STDOUT_FILENO; + else + fdw = croptrfile(file); + + rite(fdw,srf->version,sizeof(srf->version)); + + if(strcmp(srf->type,"PLANE") == 0) + { + rite(fdw,srf->type,sizeof(srf->type)); + rite(fdw,&(prect_ptr->nseg),sizeof(prect_ptr->nseg)); + rite(fdw,prseg_ptr,(prect_ptr->nseg)*sizeof(struct srf_prectsegments)); + } + + sprintf(pword,"POINTS"); + rite(fdw,pword,sizeof(pword)); + rite(fdw,&(apnts_ptr->np),sizeof(apnts_ptr->np)); + for(i=0;inp;i++) + { + rite(fdw,&(apval_ptr[i].lon),sizeof(float)); + rite(fdw,&(apval_ptr[i].lat),sizeof(float)); + rite(fdw,&(apval_ptr[i].dep),sizeof(float)); + rite(fdw,&(apval_ptr[i].stk),sizeof(float)); + rite(fdw,&(apval_ptr[i].dip),sizeof(float)); + rite(fdw,&(apval_ptr[i].area),sizeof(float)); + rite(fdw,&(apval_ptr[i].tinit),sizeof(float)); + rite(fdw,&(apval_ptr[i].dt),sizeof(float)); + rite(fdw,&(apval_ptr[i].rake),sizeof(float)); + rite(fdw,&(apval_ptr[i].slip1),sizeof(float)); + rite(fdw,&(apval_ptr[i].nt1),sizeof(int)); + rite(fdw,&(apval_ptr[i].slip2),sizeof(float)); + rite(fdw,&(apval_ptr[i].nt2),sizeof(int)); + rite(fdw,&(apval_ptr[i].slip3),sizeof(float)); + rite(fdw,&(apval_ptr[i].nt3),sizeof(int)); + + rite(fdw,apval_ptr[i].stf1,(apval_ptr[i].nt1)*sizeof(float)); + rite(fdw,apval_ptr[i].stf2,(apval_ptr[i].nt2)*sizeof(float)); + rite(fdw,apval_ptr[i].stf3,(apval_ptr[i].nt3)*sizeof(float)); + } + close(fdw); + } +else + { + if(strcmp(file,"stdout") == 0) + fpw = stdout; + else + fpw = fopfile(file,"w"); + + fprintf(fpw,"%s\n",srf->version); + + if(strcmp(srf->type,"PLANE") == 0) + { + fprintf(fpw,"%s %d\n",srf->type,prect_ptr->nseg); + for(ig=0;ignseg;ig++) + { + fprintf(fpw,"%10.4f %9.4f %5d %5d %8.2f %8.2f\n",prseg_ptr[ig].elon, + prseg_ptr[ig].elat, + prseg_ptr[ig].nstk, + prseg_ptr[ig].ndip, + prseg_ptr[ig].flen, + prseg_ptr[ig].fwid); + fprintf(fpw,"%4.0f %4.0f %8.2f %8.2f %8.2f\n",prseg_ptr[ig].stk, + prseg_ptr[ig].dip, + prseg_ptr[ig].dtop, + prseg_ptr[ig].shyp, + prseg_ptr[ig].dhyp); + } + } + + fprintf(fpw,"POINTS %d\n",apnts_ptr->np); + for(i=0;inp;i++) + { + fprintf(fpw,"%10.4f %9.4f %9.4f %4.0f %4.0f %12.5e %10.4f %12.5e\n", + apval_ptr[i].lon, + apval_ptr[i].lat, + apval_ptr[i].dep, + apval_ptr[i].stk, + apval_ptr[i].dip, + apval_ptr[i].area, + apval_ptr[i].tinit, + apval_ptr[i].dt); + fprintf(fpw,"%4.0f %8.2f %6d %8.2f %6d %8.2f %6d\n", + apval_ptr[i].rake, + apval_ptr[i].slip1, + apval_ptr[i].nt1, + apval_ptr[i].slip2, + apval_ptr[i].nt2, + apval_ptr[i].slip3, + apval_ptr[i].nt3); + + stf = apval_ptr[i].stf1; + nt6 = (apval_ptr[i].nt1)/6; + for(k=0;ksrf_apnts); +apval_ptr = apnts_ptr->apntvals; + +for(i=0;inp;i++) + { + free(apval_ptr[i].stf1); + free(apval_ptr[i].stf2); + free(apval_ptr[i].stf3); + } +} + +void read_srf(struct standrupformat *srf,char *file,int bflag) +{ +FILE *fpr, *fopfile(); +struct srf_prectsegments *prseg_ptr; +struct srf_apointvalues *apval_ptr; +char str[1024]; + +float *stf; +int i, j, k, nt6, it, ip, ig, ntot; + +char pword[32]; +int fdr; + +if(bflag) + { + if(strcmp(file,"stdin") == 0) + fdr = STDIN_FILENO; + else + fdr = opfile_ro(file); + + reed(fdr,srf->version,sizeof(srf->version)); + + reed(fdr,pword,sizeof(pword)); + if(strcmp(pword,"PLANE") == 0) + { + sprintf(srf->type,"PLANE"); + + reed(fdr,&(srf[0].srf_prect.nseg),sizeof(int)); + srf[0].srf_prect.prectseg = (struct srf_prectsegments *)check_malloc(srf[0].srf_prect.nseg*sizeof(struct srf_prectsegments)); + prseg_ptr = srf[0].srf_prect.prectseg; + + reed(fdr,prseg_ptr,(srf[0].srf_prect.nseg)*sizeof(struct srf_prectsegments)); + + while(strncmp(pword,"POINTS",6) != 0) + reed(fdr,pword,sizeof(pword)); + } + + if(strncmp(pword,"POINTS",6) == 0) + { + reed(fdr,&(srf[0].srf_apnts.np),sizeof(int)); + srf[0].srf_apnts.apntvals = (struct srf_apointvalues *)check_malloc((srf[0].srf_apnts.np)*sizeof(struct srf_apointvalues)); + + apval_ptr = srf[0].srf_apnts.apntvals; + + for(i=0;idmax)*/ +float betashal = 0.5; /* 2nd triangle has amplitude = beta*A (z0= dmax) + beta = betadeep; +else if((*z0) < dmax && (*z0) > dmin) + beta = betadeep - (dmax-(*z0))*dbdd; +else + beta = betashal; + +zapit(stf,nt); + +if((*z0) >= dmax) + rtfac = 1.0; +else if((*z0) < dmax && (*z0) > dmin) + rtfac = 1.0 + rtfac0*(dmax-(*z0))/(dmax-dmin); +else + rtfac = 1.0 + rtfac0; + +tr = (*trise)*rtfac; + +alpha = alpha*tr; + +it0 = (int)((alpha)/(*dt) + 0.5); +if(it0 < 2) + it0 = 2; +it1 = (int)((tr)/(*dt) + 0.5); +if(it1 < 4) + it1 = 4; + +it2 = (2 - beta)*it0; + +a0 = 1.0; +amp = a0/(float)(it0); + +for(it=0;it nt) + nstf = nt; + +if(nstf == 0) + return(0); + +sfac = (*slip)/(*t0); +tfac = (*dt)/(*t0); +for(it=0;itdmax)*/ +float betashal = 0.5; /* 2nd triangle has amplitude = beta*A (z0= dmax) + beta = betadeep; +else if((*z0) < dmax && (*z0) > dmin) + beta = betadeep - (dmax-(*z0))*dbdd; +else + beta = betashal; + +zapit(stf,nt); + +tr = (*trise); +alpha = alpha*tr; + +it0 = (int)((alpha)/(*dt) + 0.5); +if(it0 < 2) + it0 = 2; +it1 = (int)((tr)/(*dt) + 0.5); +if(it1 < 4) + it1 = 4; + +it2 = (2 - beta)*it0; + +a0 = 1.0; +amp = a0/(float)(it0); + +for(it=0;it nt) + nstf = nt; + +if(nstf == 0) + return(0); + +for(it=0;it nt) + nstf = nt; + +if(nstf == 0) + return(0); + +tfac = 2.0*pi*(*dt)/(*t0); +for(it=0;it +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +void subr(float *); + +main(int ac,char **av) +{ +float xlon, lon; +int ffault = 0; + +setpar(ac,av); + +getpar("ffault","d",&ffault); + +if(ffault == 2) + subr(&xlon); + +fprintf(stderr,"xlon= %13.5f lon= %13.5f\n",xlon,lon); + +getpar("lon","f",&lon); + +endpar(); + +fprintf(stderr,"xlon= %13.5f lon= %13.5f\n",xlon,lon); +} + +void subr(float *x) +{ +float lon; + +mstpar("lon","f",&lon); + +fprintf(stderr,"*x= %13.5f\n",lon); + +*x = lon; +} Added: SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.000 =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.000 (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.000 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,685 @@ +usc 000 TITLE +4096 1.00000e-01 0 0 0.00000e+00 0.0 0.0 0.0 + 4.84674e-23 2.01238e-22 4.71633e-22 8.15854e-22 1.17269e-21 1.53317e-21 + 1.88367e-21 2.21684e-21 2.52142e-21 2.71756e-21 2.93551e-21 3.18350e-21 + 3.37053e-21 3.54793e-21 3.76973e-21 4.01645e-21 4.22907e-21 4.46273e-21 + 4.77734e-21 5.08882e-21 5.36847e-21 5.72663e-21 6.25306e-21 6.98597e-21 + 7.78373e-21 8.69311e-21 9.82976e-21 1.11060e-20 1.24228e-20 1.36660e-20 + 1.49202e-20 1.61846e-20 1.73180e-20 1.82803e-20 1.90896e-20 2.13481e-20 + 1.67011e-19 5.03967e-18 -1.92189e-16 -2.19402e-14 -7.12183e-13 -9.32372e-12 + 5.13348e-12 1.67599e-09 2.21523e-08 1.37941e-07 3.62623e-07 -9.05174e-07 + -1.27755e-05 -6.35108e-05 -2.11592e-04 -5.42773e-04 -1.14396e-03 -2.06013e-03 + -3.25497e-03 -4.59410e-03 -5.85220e-03 -6.73850e-03 -6.93755e-03 -6.15438e-03 + -4.14289e-03 -7.12073e-04 4.27072e-03 1.08508e-02 1.89347e-02 2.82572e-02 + 3.83891e-02 4.87645e-02 5.86976e-02 6.73915e-02 7.39778e-02 7.76284e-02 + 7.77448e-02 7.41476e-02 6.71632e-02 5.75307e-02 4.61810e-02 3.39970e-02 + 2.16708e-02 9.64274e-03 -1.92297e-03 -1.31360e-02 -2.43356e-02 -3.60223e-02 + -4.88061e-02 -6.33849e-02 -8.05027e-02 -1.00833e-01 -1.24806e-01 -1.52486e-01 + -1.83576e-01 -2.17480e-01 -2.53381e-01 -2.90299e-01 -3.27139e-01 -3.62785e-01 + -3.96179e-01 -4.26474e-01 -4.53185e-01 -4.76451e-01 -4.97290e-01 -5.17711e-01 + -5.40226e-01 -5.67017e-01 -5.98682e-01 -6.32973e-01 -6.63890e-01 -6.81833e-01 + -6.74652e-01 -6.29572e-01 -5.35278e-01 -3.83761e-01 -1.71382e-01 1.00610e-01 + 4.26169e-01 7.94723e-01 1.19149e+00 1.59761e+00 1.99104e+00 2.34764e+00 + 2.64321e+00 2.85541e+00 2.96637e+00 2.96419e+00 2.84449e+00 2.61084e+00 + 2.27408e+00 1.85111e+00 1.36302e+00 8.33067e-01 2.85001e-01 -2.58432e-01 + -7.76271e-01 -1.24967e+00 -1.66182e+00 -1.99827e+00 -2.24704e+00 -2.39892e+00 + -2.44775e+00 -2.39082e+00 -2.22931e+00 -1.96917e+00 -1.62129e+00 -1.20185e+00 + -7.32176e-01 -2.38499e-01 2.49143e-01 6.99168e-01 1.08168e+00 1.37170e+00 + 1.55212e+00 1.61531e+00 1.56355e+00 1.40837e+00 1.16909e+00 8.71093e-01 + 5.43527e-01 2.17020e-01 -7.92847e-02 -3.20210e-01 -4.86496e-01 -5.65984e-01 + -5.54469e-01 -4.56149e-01 -2.83425e-01 -5.51489e-02 2.05768e-01 4.75015e-01 + 7.29264e-01 9.47969e-01 1.11450e+00 1.21719e+00 1.25015e+00 1.21325e+00 + 1.11170e+00 9.54438e-01 7.52461e-01 5.17256e-01 2.60557e-01 -6.05901e-03 + -2.70843e-01 -5.21921e-01 -7.47510e-01 -9.36546e-01 -1.07950e+00 -1.16924e+00 + -1.20185e+00 -1.17685e+00 -1.09768e+00 -9.71094e-01 -8.06335e-01 -6.14180e-01 + -4.05997e-01 -1.93081e-01 1.39305e-02 2.05825e-01 3.74921e-01 5.14718e-01 + 6.19144e-01 6.82431e-01 7.00387e-01 6.72156e-01 6.00848e-01 4.92553e-01 + 3.54403e-01 1.92830e-01 1.33777e-02 -1.78151e-01 -3.74292e-01 -5.65315e-01 + -7.39850e-01 -8.86545e-01 -9.95844e-01 -1.06147e+00 -1.08104e+00 -1.05618e+00 + -9.92373e-01 -8.98235e-01 -7.84721e-01 -6.64081e-01 -5.48667e-01 -4.49306e-01 + -3.73836e-01 -3.25506e-01 -3.02088e-01 -2.95686e-01 -2.93822e-01 -2.81428e-01 + -2.43153e-01 -1.65304e-01 -3.73476e-02 1.46452e-01 3.85348e-01 6.70536e-01 + 9.84471e-01 1.30207e+00 1.59353e+00 1.82816e+00 1.97849e+00 2.02418e+00 + 1.95486e+00 1.77137e+00 1.48538e+00 1.11722e+00 6.93246e-01 2.42833e-01 + -2.04214e-01 -6.19941e-01 -9.80218e-01 -1.26661e+00 -1.46748e+00 -1.57839e+00 + -1.60197e+00 -1.54652e+00 -1.42495e+00 -1.25345e+00 -1.05066e+00 -8.36019e-01 + -6.27688e-01 -4.39443e-01 -2.77972e-01 -1.41819e-01 -2.29397e-02 8.98629e-02 + 2.06635e-01 3.32962e-01 4.68744e-01 6.08729e-01 7.44315e-01 8.65079e-01 + 9.59891e-01 1.01694e+00 1.02419e+00 9.70516e-01 8.48107e-01 6.55372e-01 + 3.99932e-01 9.90121e-02 -2.21601e-01 -5.30651e-01 -7.95266e-01 -9.84945e-01 + -1.07500e+00 -1.04927e+00 -9.02872e-01 -6.43230e-01 -2.91446e-01 1.19657e-01 + 5.48225e-01 9.48891e-01 1.27828e+00 1.50047e+00 1.59030e+00 1.53536e+00 + 1.33621e+00 1.00583e+00 5.67396e-01 5.15735e-02 -5.06811e-01 -1.07222e+00 + -1.61114e+00 -2.09420e+00 -2.49750e+00 -2.80349e+00 -3.00145e+00 -3.08725e+00 + -3.06280e+00 -2.93483e+00 -2.71325e+00 -2.40951e+00 -2.03521e+00 -1.60270e+00 + -1.12489e+00 -6.16806e-01 -9.54026e-02 4.19903e-01 9.08735e-01 1.35050e+00 + 1.72618e+00 2.01998e+00 2.22036e+00 2.32179e+00 2.32623e+00 2.24382e+00 + 2.09243e+00 1.89547e+00 1.67802e+00 1.46291e+00 1.26723e+00 1.10137e+00 + 9.68505e-01 8.65467e-01 7.83705e-01 7.09508e-01 6.25259e-01 5.11383e-01 + 3.49374e-01 1.25094e-01 -1.67696e-01 -5.24914e-01 -9.31213e-01 -1.36101e+00 + -1.78159e+00 -2.15679e+00 -2.45061e+00 -2.63101e+00 -2.67275e+00 -2.55985e+00 + -2.28800e+00 -1.86594e+00 -1.31521e+00 -6.69400e-01 2.92250e-02 7.33238e-01 + 1.39427e+00 1.96734e+00 2.41457e+00 2.70768e+00 2.82974e+00 2.77588e+00 + 2.55338e+00 2.18223e+00 1.69323e+00 1.12663e+00 5.28388e-01 -5.41005e-02 + -5.76307e-01 -1.00014e+00 -1.29640e+00 -1.44653e+00 -1.44337e+00 -1.29130e+00 + -1.00578e+00 -6.12542e-01 -1.46296e-01 3.51429e-01 8.35021e-01 1.25899e+00 + 1.58215e+00 1.77143e+00 1.80484e+00 1.67240e+00 1.37645e+00 9.31874e-01 + 3.65539e-01 -2.85762e-01 -9.77572e-01 -1.66210e+00 -2.29181e+00 -2.82305e+00 + -3.21937e+00 -3.45285e+00 -3.50752e+00 -3.37946e+00 -3.07711e+00 -2.62035e+00 + -2.03767e+00 -1.36356e+00 -6.35457e-01 1.09123e-01 8.34622e-01 1.50898e+00 + 2.10531e+00 2.60217e+00 2.98514e+00 3.24679e+00 3.38592e+00 3.40741e+00 + 3.32016e+00 3.13522e+00 2.86440e+00 2.51928e+00 2.11180e+00 1.65425e+00 + 1.16013e+00 6.44320e-01 1.23163e-01 -3.85848e-01 -8.64605e-01 -1.29547e+00 + -1.66287e+00 -1.95462e+00 -2.16358e+00 -2.28775e+00 -2.33100e+00 -2.30191e+00 + -2.21329e+00 -2.08031e+00 -1.91924e+00 -1.74604e+00 -1.57469e+00 -1.41577e+00 + -1.27556e+00 -1.15491e+00 -1.04942e+00 -9.49712e-01 -8.43029e-01 -7.15050e-01 + -5.52307e-01 -3.43797e-01 -8.30992e-02 2.30452e-01 5.91086e-01 9.86470e-01 + 1.39841e+00 1.80411e+00 2.17795e+00 2.49414e+00 2.72862e+00 2.86199e+00 + 2.88095e+00 2.77978e+00 2.56082e+00 2.23375e+00 1.81540e+00 1.32779e+00 + 7.97029e-01 2.51506e-01 -2.80018e-01 -7.70304e-01 -1.19584e+00 -1.53866e+00 + -1.78773e+00 -1.93927e+00 -1.99655e+00 -1.96852e+00 -1.86870e+00 -1.71331e+00 + -1.52008e+00 -1.30681e+00 -1.09021e+00 -8.84515e-01 -7.00380e-01 -5.44120e-01 + -4.17534e-01 -3.18448e-01 -2.41638e-01 -1.79973e-01 -1.25604e-01 -7.09939e-02 + -9.96455e-03 6.14419e-02 1.44434e-01 2.37352e-01 3.36095e-01 4.34828e-01 + 5.26965e-01 6.05936e-01 6.66046e-01 7.02825e-01 7.13461e-01 6.96906e-01 + 6.53862e-01 5.86990e-01 5.00532e-01 4.00104e-01 2.91886e-01 1.81927e-01 + 7.53931e-02 -2.36930e-02 -1.12495e-01 -1.89129e-01 -2.52275e-01 -3.01218e-01 + -3.35567e-01 -3.55461e-01 -3.61397e-01 -3.54248e-01 -3.35058e-01 -3.04959e-01 + -2.65304e-01 -2.17873e-01 -1.65300e-01 -1.11231e-01 -5.99641e-02 -1.58162e-02 + 1.78836e-02 3.95457e-02 4.96662e-02 5.07333e-02 4.65902e-02 4.20391e-02 + 4.21306e-02 5.18125e-02 7.53754e-02 1.15893e-01 1.74725e-01 2.51085e-01 + 3.41815e-01 4.41352e-01 5.42097e-01 6.35177e-01 7.11276e-01 7.61846e-01 + 7.80025e-01 7.61301e-01 7.03763e-01 6.08011e-01 4.76654e-01 3.14225e-01 + 1.26881e-01 -7.76010e-02 -2.89883e-01 -4.99342e-01 -6.94587e-01 -8.64162e-01 + -9.97160e-01 -1.08388e+00 -1.11622e+00 -1.08813e+00 -9.96210e-01 -8.40471e-01 + -6.24979e-01 -3.58753e-01 -5.54609e-02 2.66831e-01 5.86898e-01 8.81727e-01 + 1.12844e+00 1.30625e+00 1.39849e+00 1.39443e+00 1.29080e+00 1.09218e+00 + 8.11195e-01 4.67223e-01 8.47481e-02 -3.08616e-01 -6.84497e-01 -1.01626e+00 + -1.28112e+00 -1.46218e+00 -1.54945e+00 -1.54047e+00 -1.44002e+00 -1.25934e+00 + -1.01490e+00 -7.26691e-01 -4.16301e-01 -1.04969e-01 1.88160e-01 4.47458e-01 + 6.61557e-01 8.23656e-01 9.31263e-01 9.85658e-01 9.91052e-01 9.53805e-01 + 8.81492e-01 7.82224e-01 6.64051e-01 5.34580e-01 4.00451e-01 2.67133e-01 + 1.38748e-01 1.81674e-02 -9.28166e-02 -1.93072e-01 -2.81891e-01 -3.58758e-01 + -4.23410e-01 -4.75871e-01 -5.16557e-01 -5.46203e-01 -5.65824e-01 -5.76420e-01 + -5.78813e-01 -5.73304e-01 -5.59789e-01 -5.37589e-01 -5.05648e-01 -4.62599e-01 + -4.06961e-01 -3.37209e-01 -2.52257e-01 -1.51767e-01 -3.65405e-02 9.11936e-02 + 2.27622e-01 3.67362e-01 5.03588e-01 6.28475e-01 7.33553e-01 8.10607e-01 + 8.52250e-01 8.52999e-01 8.09986e-01 7.23615e-01 5.98030e-01 4.40950e-01 + 2.63310e-01 7.83232e-02 -9.96772e-02 -2.56569e-01 -3.79746e-01 -4.59295e-01 + -4.88857e-01 -4.66228e-01 -3.93460e-01 -2.76758e-01 -1.25997e-01 4.59378e-02 + 2.24030e-01 3.92239e-01 5.34731e-01 6.37261e-01 6.88500e-01 6.81063e-01 + 6.12392e-01 4.84865e-01 3.05748e-01 8.65769e-02 -1.57793e-01 -4.10320e-01 + -6.53165e-01 -8.69036e-01 -1.04252e+00 -1.16112e+00 -1.21618e+00 -1.20348e+00 + -1.12336e+00 -9.80964e-01 -7.85596e-01 -5.50131e-01 -2.90174e-01 -2.27595e-02 + 2.34782e-01 4.66148e-01 6.57237e-01 7.97082e-01 8.78611e-01 8.98853e-01 + 8.59034e-01 7.64207e-01 6.22755e-01 4.45616e-01 2.45592e-01 3.64645e-02 + -1.67905e-01 -3.54459e-01 -5.11729e-01 -6.30620e-01 -7.04720e-01 -7.30653e-01 + -7.08136e-01 -6.39714e-01 -5.30633e-01 -3.88315e-01 -2.21857e-01 -4.13812e-02 + 1.42664e-01 3.20120e-01 4.81720e-01 6.19549e-01 7.27276e-01 8.00389e-01 + 8.36263e-01 8.34246e-01 7.95586e-01 7.23335e-01 6.22205e-01 4.98141e-01 + 3.58054e-01 2.09332e-01 5.95394e-02 -8.40532e-02 -2.14796e-01 -3.27099e-01 + -4.16762e-01 -4.81204e-01 -5.19591e-01 -5.32749e-01 -5.23030e-01 -4.94049e-01 + -4.50286e-01 -3.96673e-01 -3.38099e-01 -2.78971e-01 -2.22831e-01 -1.72150e-01 + -1.28279e-01 -9.16167e-02 -6.18143e-02 -3.80973e-02 -1.95343e-02 -5.27308e-03 + 5.33203e-03 1.26637e-02 1.68969e-02 1.81472e-02 1.66165e-02 1.27944e-02 + 7.54987e-03 2.15198e-03 -1.83842e-03 -2.77504e-03 8.19012e-04 1.00050e-02 + 2.52457e-02 4.63807e-02 7.25950e-02 1.02560e-01 1.34554e-01 1.66581e-01 + 1.96479e-01 2.22084e-01 2.41370e-01 2.52595e-01 2.54463e-01 2.46200e-01 + 2.27578e-01 1.98863e-01 1.60772e-01 1.14362e-01 6.09704e-02 2.18811e-03 + -6.02040e-02 -1.24214e-01 -1.87599e-01 -2.47870e-01 -3.02348e-01 -3.48225e-01 + -3.82727e-01 -4.03469e-01 -4.08748e-01 -3.97698e-01 -3.70634e-01 -3.28877e-01 + -2.74741e-01 -2.11197e-01 -1.41522e-01 -6.90508e-02 3.17208e-03 7.27876e-02 + 1.38196e-01 1.98429e-01 2.52713e-01 3.00076e-01 3.39052e-01 3.67662e-01 + 3.83749e-01 3.85697e-01 3.72919e-01 3.46121e-01 3.07192e-01 2.58923e-01 + 2.04704e-01 1.48224e-01 9.32227e-02 4.32721e-02 1.53423e-03 -2.95247e-02 + -4.82590e-02 -5.41598e-02 -4.80257e-02 -3.19780e-02 -9.18984e-03 1.67291e-02 + 4.23775e-02 6.47577e-02 8.10481e-02 8.83618e-02 8.37330e-02 6.44499e-02 + 2.86038e-02 -2.42643e-02 -9.25228e-02 -1.72253e-01 -2.57742e-01 -3.42278e-01 + -4.18793e-01 -4.80583e-01 -5.21975e-01 -5.39016e-01 -5.30002e-01 -4.95535e-01 + -4.38347e-01 -3.62806e-01 -2.74410e-01 -1.79271e-01 -8.37746e-02 5.72026e-03 + 8.33426e-02 1.44511e-01 1.86598e-01 2.09185e-01 2.13774e-01 2.03119e-01 + 1.80477e-01 1.48997e-01 1.11454e-01 7.04289e-02 2.86711e-02 -1.08333e-02 + -4.49846e-02 -7.08479e-02 -8.63138e-02 -9.07130e-02 -8.50201e-02 -7.16966e-02 + -5.41468e-02 -3.58995e-02 -1.98933e-02 -8.07000e-03 -1.14409e-03 1.28379e-03 + 3.36378e-04 -2.58994e-03 -6.24091e-03 -9.72281e-03 -1.25004e-02 -1.43088e-02 + -1.50776e-02 -1.48643e-02 -1.38230e-02 -1.21875e-02 -1.02326e-02 -8.21207e-03 + -6.34407e-03 -4.79385e-03 -3.62708e-03 -2.80135e-03 -2.20976e-03 -1.75211e-03 + -1.36640e-03 -1.02322e-03 -7.19511e-04 -4.65090e-04 -2.72348e-04 -1.42962e-04 + -6.24295e-05 -1.21215e-05 2.03844e-05 3.88367e-05 4.62538e-05 4.63456e-05 + 4.24657e-05 3.73449e-05 3.17966e-05 2.60204e-05 2.01165e-05 1.42989e-05 + 9.17266e-06 5.19887e-06 2.51809e-06 8.68056e-07 1.18097e-07 9.16304e-09 + 1.01221e-09 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 Added: SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.090 =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.090 (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.090 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,685 @@ +usc 090 TITLE +4096 1.00000e-01 0 0 0.00000e+00 0.0 0.0 0.0 + 4.84674e-23 2.01238e-22 4.71633e-22 8.15854e-22 1.17269e-21 1.53317e-21 + 1.88367e-21 2.21684e-21 2.52142e-21 2.71756e-21 2.93551e-21 3.18350e-21 + 3.37053e-21 3.54793e-21 3.76973e-21 4.01645e-21 4.22907e-21 4.46273e-21 + 4.77734e-21 5.08882e-21 5.36847e-21 5.72663e-21 6.25306e-21 6.98597e-21 + 7.78373e-21 8.69311e-21 9.82976e-21 1.11060e-20 1.24228e-20 1.36660e-20 + 1.49202e-20 1.61846e-20 1.73180e-20 1.82803e-20 1.90802e-20 1.95445e-20 + -7.24107e-21 -1.20915e-18 2.10146e-17 4.10395e-15 1.49266e-13 2.05127e-12 + -2.44167e-12 -4.07983e-10 -5.01472e-09 -2.48208e-08 1.29700e-08 9.58049e-07 + 6.89673e-06 3.01947e-05 9.73606e-05 2.50997e-04 5.43630e-04 1.02418e-03 + 1.72314e-03 2.64222e-03 3.74917e-03 4.97667e-03 6.22629e-03 7.37601e-03 + 8.28419e-03 8.78346e-03 8.66899e-03 7.69661e-03 5.59369e-03 2.07695e-03 + -3.13223e-03 -1.02877e-02 -1.95888e-02 -3.11470e-02 -4.49760e-02 -6.10103e-02 + -7.91542e-02 -9.93248e-02 -1.21469e-01 -1.45538e-01 -1.71421e-01 -1.98903e-01 + -2.27638e-01 -2.57149e-01 -2.86827e-01 -3.15966e-01 -3.43815e-01 -3.69626e-01 + -3.92736e-01 -4.12554e-01 -4.28571e-01 -4.40383e-01 -4.47685e-01 -4.50327e-01 + -4.48282e-01 -4.41645e-01 -4.30661e-01 -4.15750e-01 -3.97537e-01 -3.76768e-01 + -3.54256e-01 -3.30830e-01 -3.07350e-01 -2.84761e-01 -2.64123e-01 -2.46582e-01 + -2.33286e-01 -2.25216e-01 -2.22825e-01 -2.25649e-01 -2.32020e-01 -2.38940e-01 + -2.42390e-01 -2.37782e-01 -2.20768e-01 -1.87948e-01 -1.37554e-01 -6.97709e-02 + 1.32550e-02 1.07572e-01 2.07779e-01 3.07373e-01 3.99085e-01 4.75313e-01 + 5.28665e-01 5.52742e-01 5.43219e-01 4.98766e-01 4.21586e-01 3.17577e-01 + 1.95781e-01 6.74752e-02 -5.51071e-02 -1.60294e-01 -2.38272e-01 -2.82016e-01 + -2.87657e-01 -2.54605e-01 -1.85349e-01 -8.51383e-02 3.86909e-02 1.77579e-01 + 3.22726e-01 4.66173e-01 6.01583e-01 7.24737e-01 8.33522e-01 9.27318e-01 + 1.00638e+00 1.07114e+00 1.12170e+00 1.15754e+00 1.17745e+00 1.17947e+00 + 1.16166e+00 1.12227e+00 1.06056e+00 9.77136e-01 8.74635e-01 7.57940e-01 + 6.34383e-01 5.13345e-01 4.05369e-01 3.20771e-01 2.67808e-01 2.51024e-01 + 2.70104e-01 3.19804e-01 3.90450e-01 4.69107e-01 5.41116e-01 5.91638e-01 + 6.07394e-01 5.78694e-01 5.00970e-01 3.75925e-01 2.11597e-01 2.14750e-02 + -1.77625e-01 -3.67605e-01 -5.31617e-01 -6.56299e-01 -7.33514e-01 -7.61050e-01 + -7.42248e-01 -6.84931e-01 -6.00031e-01 -5.00269e-01 -3.98740e-01 -3.07395e-01 + -2.35474e-01 -1.88335e-01 -1.66828e-01 -1.67486e-01 -1.83718e-01 -2.07413e-01 + -2.30579e-01 -2.46978e-01 -2.53193e-01 -2.49570e-01 -2.40012e-01 -2.31208e-01 + -2.30920e-01 -2.45982e-01 -2.80644e-01 -3.35891e-01 -4.09437e-01 -4.96321e-01 + -5.89079e-01 -6.78321e-01 -7.52990e-01 -8.01138e-01 -8.11071e-01 -7.73080e-01 + -6.80932e-01 -5.33284e-01 -3.34419e-01 -9.40496e-02 1.73364e-01 4.50126e-01 + 7.17096e-01 9.55509e-01 1.14815e+00 1.28025e+00 1.34026e+00 1.32042e+00 + 1.21777e+00 1.03476e+00 7.79572e-01 4.65452e-01 1.09874e-01 -2.66780e-01 + -6.42626e-01 -9.95738e-01 -1.30552e+00 -1.55428e+00 -1.72807e+00 -1.81800e+00 + -1.82042e+00 -1.73728e+00 -1.57562e+00 -1.34809e+00 -1.07241e+00 -7.71258e-01 + -4.70722e-01 -1.98058e-01 2.09931e-02 1.64438e-01 2.15525e-01 1.63354e-01 + 3.88514e-03 -2.59661e-01 -6.15815e-01 -1.04501e+00 -1.52025e+00 -2.00875e+00 + -2.47438e+00 -2.88128e+00 -3.19690e+00 -3.39445e+00 -3.45440e+00 -3.36498e+00 + -3.12252e+00 -2.73201e+00 -2.20705e+00 -1.57040e+00 -8.52336e-01 -8.84761e-02 + 6.83535e-01 1.42809e+00 2.11512e+00 2.72244e+00 3.23634e+00 3.65060e+00 + 3.96442e+00 4.18008e+00 4.30094e+00 4.33112e+00 4.27411e+00 4.13362e+00 + 3.91227e+00 3.61212e+00 3.23449e+00 2.78183e+00 2.25959e+00 1.67916e+00 + 1.05994e+00 4.29577e-01 -1.77168e-01 -7.21752e-01 -1.16592e+00 -1.47633e+00 + -1.62862e+00 -1.61091e+00 -1.42551e+00 -1.08925e+00 -6.31967e-01 -9.37751e-02 + 4.78847e-01 1.03768e+00 1.53773e+00 1.94171e+00 2.22364e+00 2.37108e+00 + 2.38578e+00 2.28289e+00 2.08833e+00 1.83552e+00 1.55966e+00 1.29324e+00 + 1.06086e+00 8.75878e-01 7.37864e-01 6.32859e-01 5.34795e-01 4.10425e-01 + 2.25134e-01 -5.00336e-02 -4.32610e-01 -9.24352e-01 -1.51062e+00 -2.16243e+00 + -2.84087e+00 -3.50294e+00 -4.10559e+00 -4.61075e+00 -4.98586e+00 -5.20704e+00 + -5.25942e+00 -5.13929e+00 -4.85449e+00 -4.42463e+00 -3.88019e+00 -3.25965e+00 + -2.60538e+00 -1.95892e+00 -1.35670e+00 -8.26506e-01 -3.84984e-01 -3.70865e-02 + 2.23832e-01 4.13980e-01 5.56264e-01 6.76586e-01 8.00116e-01 9.48321e-01 + 1.13704e+00 1.37594e+00 1.66861e+00 2.01354e+00 2.40468e+00 2.83191e+00 + 3.28076e+00 3.73188e+00 4.16100e+00 4.53935e+00 4.83510e+00 5.01614e+00 + 5.05284e+00 4.92197e+00 4.60936e+00 4.11248e+00 3.44188e+00 2.62101e+00 + 1.68532e+00 6.79807e-01 -3.43663e-01 -1.33006e+00 -2.22464e+00 -2.97630e+00 + -3.54144e+00 -3.88709e+00 -3.99429e+00 -3.86114e+00 -3.50356e+00 -2.95617e+00 + -2.26992e+00 -1.50864e+00 -7.43847e-01 -4.85626e-02 5.09515e-01 8.74188e-01 + 1.00641e+00 8.88374e-01 5.25572e-01 -5.35087e-02 -7.99455e-01 -1.64684e+00 + -2.51960e+00 -3.33814e+00 -4.02584e+00 -4.51556e+00 -4.75440e+00 -4.70785e+00 + -4.36266e+00 -3.72760e+00 -2.83309e+00 -1.72875e+00 -4.79507e-01 8.40051e-01 + 2.15131e+00 3.37788e+00 4.45132e+00 5.31634e+00 5.93349e+00 6.28190e+00 + 6.35785e+00 6.17473e+00 5.75684e+00 5.13859e+00 4.35920e+00 3.46025e+00 + 2.48278e+00 1.46649e+00 4.48717e-01 -5.36438e-01 -1.45838e+00 -2.29033e+00 + -3.00979e+00 -3.59883e+00 -4.04389e+00 -4.33580e+00 -4.46939e+00 -4.44437e+00 + -4.26409e+00 -3.93737e+00 -3.47776e+00 -2.90459e+00 -2.24327e+00 -1.52430e+00 + -7.81835e-01 -5.18440e-02 6.31097e-01 1.23608e+00 1.73791e+00 2.11880e+00 + 2.36873e+00 2.48585e+00 2.47656e+00 2.35469e+00 2.14100e+00 1.86070e+00 + 1.54224e+00 1.21435e+00 9.03894e-01 6.33748e-01 4.21167e-01 2.76263e-01 + 2.01621e-01 1.92162e-01 2.35805e-01 3.15145e-01 4.09231e-01 4.96242e-01 + 5.55783e-01 5.71376e-01 5.32155e-01 4.34065e-01 2.80231e-01 8.06455e-02 + -1.48959e-01 -3.88694e-01 -6.16835e-01 -8.12181e-01 -9.56900e-01 -1.03874e+00 + -1.05303e+00 -1.00354e+00 -9.02300e-01 -7.68320e-01 -6.25106e-01 -4.97556e-01 + -4.08580e-01 -3.76078e-01 -4.10434e-01 -5.13233e-01 -6.76753e-01 -8.84564e-01 + -1.11279e+00 -1.33226e+00 -1.51164e+00 -1.62102e+00 -1.63563e+00 -1.53964e+00 + -1.32787e+00 -1.00725e+00 -5.96215e-01 -1.22499e-01 3.79673e-01 8.73025e-01 + 1.32091e+00 1.69034e+00 1.95475e+00 2.09663e+00 2.10843e+00 1.99436e+00 + 1.76828e+00 1.45309e+00 1.07740e+00 6.72287e-01 2.68129e-01 -1.08224e-01 + -4.35559e-01 -6.99710e-01 -8.94090e-01 -1.01933e+00 -1.08222e+00 -1.09382e+00 + -1.06728e+00 -1.01553e+00 -9.49619e-01 -8.77073e-01 -8.01283e-01 -7.21343e-01 + -6.32686e-01 -5.27998e-01 -3.98850e-01 -2.37283e-01 -3.77843e-02 2.01162e-01 + 4.75917e-01 7.77327e-01 1.09105e+00 1.39876e+00 1.67961e+00 1.91232e+00 + 2.07705e+00 2.15718e+00 2.14141e+00 2.02476e+00 1.80949e+00 1.50497e+00 + 1.12684e+00 6.95538e-01 2.34530e-01 -2.31588e-01 -6.78845e-01 -1.08557e+00 + -1.43387e+00 -1.71057e+00 -1.90776e+00 -2.02294e+00 -2.05840e+00 -2.02042e+00 + -1.91830e+00 -1.76318e+00 -1.56680e+00 -1.34060e+00 -1.09472e+00 -8.37545e-01 + -5.75595e-01 -3.13554e-01 -5.48388e-02 1.97858e-01 4.41868e-01 6.74063e-01 + 8.90543e-01 1.08652e+00 1.25661e+00 1.39485e+00 1.49524e+00 1.55188e+00 + 1.55955e+00 1.51448e+00 1.41492e+00 1.26217e+00 1.06106e+00 8.19797e-01 + 5.49952e-01 2.65374e-01 -1.87777e-02 -2.87215e-01 -5.25777e-01 -7.22453e-01 + -8.68260e-01 -9.57869e-01 -9.89772e-01 -9.66339e-01 -8.93363e-01 -7.79698e-01 + -6.36105e-01 -4.74526e-01 -3.06722e-01 -1.43336e-01 6.82768e-03 1.37200e-01 + 2.43516e-01 3.23525e-01 3.76599e-01 4.03234e-01 4.04503e-01 3.81667e-01 + 3.35922e-01 2.68221e-01 1.79297e-01 6.99952e-02 -5.86838e-02 -2.05001e-01 + -3.66201e-01 -5.38107e-01 -7.14815e-01 -8.88703e-01 -1.05067e+00 -1.19087e+00 + -1.29957e+00 -1.36837e+00 -1.39077e+00 -1.36322e+00 -1.28508e+00 -1.15861e+00 + -9.88827e-01 -7.82845e-01 -5.49383e-01 -2.98131e-01 -3.91110e-02 2.18036e-01 + 4.64745e-01 6.93953e-01 9.00494e-01 1.08120e+00 1.23459e+00 1.36053e+00 + 1.45977e+00 1.53313e+00 1.58110e+00 1.60350e+00 1.59915e+00 1.56611e+00 + 1.50157e+00 1.40250e+00 1.26630e+00 1.09154e+00 8.78580e-01 6.30377e-01 + 3.52772e-01 5.45004e-02 -2.52922e-01 -5.55762e-01 -8.38967e-01 -1.08717e+00 + -1.28607e+00 -1.42356e+00 -1.49097e+00 -1.48395e+00 -1.40286e+00 -1.25293e+00 + -1.04401e+00 -7.89707e-01 -5.06362e-01 -2.11727e-01 7.64684e-02 3.41819e-01 + 5.70390e-01 7.51501e-01 8.78278e-01 9.47944e-01 9.61472e-01 9.23357e-01 + 8.40667e-01 7.22361e-01 5.78259e-01 4.18203e-01 2.51372e-01 8.57138e-02 + -7.23945e-02 -2.18353e-01 -3.49350e-01 -4.64259e-01 -5.63259e-01 -6.47484e-01 + -7.18638e-01 -7.78508e-01 -8.28590e-01 -8.69809e-01 -9.02291e-01 -9.25196e-01 + -9.36780e-01 -9.34546e-01 -9.15526e-01 -8.76594e-01 -8.14843e-01 -7.28045e-01 + -6.14962e-01 -4.75857e-01 -3.12802e-01 -1.29941e-01 6.65149e-02 2.68577e-01 + 4.67042e-01 6.52130e-01 8.14342e-01 9.45222e-01 1.03804e+00 1.08845e+00 + 1.09484e+00 1.05843e+00 9.83346e-01 8.76205e-01 7.45474e-01 6.00904e-01 + 4.52727e-01 3.10848e-01 1.84124e-01 7.96780e-02 2.35823e-03 -4.56407e-02 + -6.48221e-02 -5.84451e-02 -3.19118e-02 7.55590e-03 5.17376e-02 9.21227e-02 + 1.20691e-01 1.30616e-01 1.16892e-01 7.68236e-02 1.02384e-02 -8.04672e-02 + -1.90527e-01 -3.13149e-01 -4.39953e-01 -5.61614e-01 -6.68526e-01 -7.51577e-01 + -8.03031e-01 -8.17210e-01 -7.91143e-01 -7.24984e-01 -6.22004e-01 -4.88527e-01 + -3.33283e-01 -1.66739e-01 -1.24456e-04 1.55581e-01 2.90547e-01 3.96955e-01 + 4.69597e-01 5.06264e-01 5.07906e-01 4.78445e-01 4.24348e-01 3.53958e-01 + 2.76617e-01 2.01756e-01 1.37952e-01 9.21276e-02 6.88905e-02 7.01245e-02 + 9.48701e-02 1.39466e-01 1.97998e-01 2.62960e-01 3.26014e-01 3.78852e-01 + 4.13922e-01 4.25047e-01 4.07860e-01 3.60169e-01 2.81921e-01 1.75274e-01 + 4.43474e-02 -1.05140e-01 -2.66245e-01 -4.31285e-01 -5.92288e-01 -7.41394e-01 + -8.71234e-01 -9.75226e-01 -1.04790e+00 -1.08507e+00 -1.08398e+00 -1.04342e+00 + -9.63735e-01 -8.46715e-01 -6.95655e-01 -5.15192e-01 -3.11328e-01 -9.10357e-02 + 1.38500e-01 3.70618e-01 5.99394e-01 8.19435e-01 1.02535e+00 1.21132e+00 + 1.37067e+00 1.49601e+00 1.57998e+00 1.61648e+00 1.60141e+00 1.53304e+00 + 1.41197e+00 1.24113e+00 1.02589e+00 7.73600e-01 4.93630e-01 1.96922e-01 + -1.04393e-01 -3.97361e-01 -6.69063e-01 -9.07519e-01 -1.10266e+00 -1.24719e+00 + -1.33693e+00 -1.37088e+00 -1.35095e+00 -1.28163e+00 -1.16937e+00 -1.02189e+00 + -8.47938e-01 -6.56845e-01 -4.58265e-01 -2.61621e-01 -7.53808e-02 9.31368e-02 + 2.38000e-01 3.54968e-01 4.41743e-01 4.97919e-01 5.24697e-01 5.24302e-01 + 4.99841e-01 4.54900e-01 3.93513e-01 3.19993e-01 2.38892e-01 1.54864e-01 + 7.24285e-02 -4.42386e-03 -7.26049e-02 -1.29939e-01 -1.75196e-01 -2.08091e-01 + -2.29087e-01 -2.39130e-01 -2.39316e-01 -2.30806e-01 -2.14981e-01 -1.93705e-01 + -1.69297e-01 -1.44204e-01 -1.20682e-01 -1.00423e-01 -8.42547e-02 -7.20517e-02 + -6.30112e-02 -5.61909e-02 -5.08760e-02 -4.66535e-02 -4.33323e-02 -4.08736e-02 + -3.92395e-02 -3.82442e-02 -3.75656e-02 -3.68224e-02 -3.56864e-02 -3.39323e-02 + -3.14476e-02 -2.82607e-02 -2.45489e-02 -2.05704e-02 -1.65778e-02 -1.27756e-02 + -9.32069e-03 -6.32376e-03 -3.85124e-03 -1.93202e-03 -5.61486e-04 3.02425e-04 + 7.48040e-04 8.92959e-04 8.55480e-04 7.31853e-04 5.86480e-04 4.52131e-04 + 3.39577e-04 2.49430e-04 1.78874e-04 1.25558e-04 8.63468e-05 5.71912e-05 + 3.47242e-05 1.73426e-05 4.37458e-06 -4.05116e-06 -7.89673e-06 -8.02163e-06 + -5.93528e-06 -3.30285e-06 -1.28333e-06 -2.43953e-07 6.96726e-08 4.89314e-08 + 3.89839e-09 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 Added: SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.ver =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.ver (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/Vel0.5/usc.ver 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,685 @@ +usc ver TITLE +4096 1.00000e-01 0 0 0.00000e+00 0.0 0.0 0.0 + -4.84674e-23 -2.01238e-22 -4.71633e-22 -8.15854e-22 -1.17269e-21 -1.53317e-21 + -1.88367e-21 -2.21684e-21 -2.52142e-21 -2.71756e-21 -2.93551e-21 -3.18350e-21 + -3.37053e-21 -3.54793e-21 -3.76973e-21 -4.01645e-21 -4.22907e-21 -4.46273e-21 + -4.77734e-21 -5.08882e-21 -5.36847e-21 -5.72663e-21 -6.25306e-21 -6.98597e-21 + -7.78373e-21 -8.69311e-21 -9.82976e-21 -1.11060e-20 -1.24228e-20 -1.36660e-20 + -1.49202e-20 -1.61846e-20 -1.73180e-20 -1.82803e-20 -1.91060e-20 -2.63089e-20 + -8.75211e-19 -5.17994e-17 -6.46935e-16 7.67012e-14 3.83183e-12 6.58544e-11 + 1.88330e-10 -8.60769e-09 -1.26516e-07 -7.08473e-07 -5.14437e-07 1.74852e-05 + 1.28647e-04 5.23230e-04 1.50704e-03 3.38873e-03 6.29218e-03 1.00096e-02 + 1.39989e-02 1.74969e-02 1.96267e-02 1.95065e-02 1.64124e-02 9.87531e-03 + -3.82153e-04 -1.45461e-02 -3.26512e-02 -5.43213e-02 -7.86051e-02 -1.04165e-01 + -1.29589e-01 -1.53454e-01 -1.74201e-01 -1.90073e-01 -1.99346e-01 -2.00822e-01 + -1.94383e-01 -1.81190e-01 -1.63331e-01 -1.43137e-01 -1.22573e-01 -1.03065e-01 + -8.55462e-02 -7.04040e-02 -5.73578e-02 -4.56010e-02 -3.41769e-02 -2.21617e-02 + -8.58412e-03 7.63525e-03 2.75233e-02 5.15741e-02 7.92918e-02 1.09302e-01 + 1.39922e-01 1.69516e-01 1.96464e-01 2.19006e-01 2.35312e-01 2.43749e-01 + 2.42958e-01 2.31459e-01 2.07343e-01 1.68565e-01 1.13634e-01 4.22367e-02 + -4.45496e-02 -1.44238e-01 -2.53153e-01 -3.66888e-01 -4.80706e-01 -5.89449e-01 + -6.87357e-01 -7.68072e-01 -8.25162e-01 -8.52598e-01 -8.45452e-01 -8.00686e-01 + -7.17726e-01 -5.98620e-01 -4.47522e-01 -2.69983e-01 -7.27001e-02 1.36462e-01 + 3.48937e-01 5.56602e-01 7.52917e-01 9.33270e-01 1.09454e+00 1.23442e+00 + 1.35089e+00 1.44163e+00 1.50358e+00 1.53260e+00 1.52409e+00 1.47417e+00 + 1.37991e+00 1.23928e+00 1.05162e+00 8.18862e-01 5.46399e-01 2.42275e-01 + -8.38744e-02 -4.20686e-01 -7.54583e-01 -1.07029e+00 -1.35262e+00 -1.58826e+00 + -1.76621e+00 -1.87766e+00 -1.91648e+00 -1.87999e+00 -1.76913e+00 -1.58760e+00 + -1.34201e+00 -1.04188e+00 -6.99804e-01 -3.30450e-01 5.02247e-02 4.25900e-01 + 7.79554e-01 1.09362e+00 1.35085e+00 1.53536e+00 1.63332e+00 1.63428e+00 + 1.53366e+00 1.33499e+00 1.05025e+00 6.98605e-01 3.05024e-01 -1.01434e-01 + -4.89714e-01 -8.29867e-01 -1.09542e+00 -1.26563e+00 -1.32778e+00 -1.27911e+00 + -1.12622e+00 -8.83165e-01 -5.69853e-01 -2.11747e-01 1.61559e-01 5.19414e-01 + 8.32790e-01 1.07686e+00 1.23269e+00 1.28823e+00 1.23974e+00 1.09228e+00 + 8.57693e-01 5.54189e-01 2.04963e-01 -1.64462e-01 -5.29253e-01 -8.66915e-01 + -1.15872e+00 -1.38990e+00 -1.54986e+00 -1.63272e+00 -1.63742e+00 -1.56746e+00 + -1.42987e+00 -1.23538e+00 -9.98545e-01 -7.37903e-01 -4.74413e-01 -2.29059e-01 + -2.04453e-02 1.37494e-01 2.36865e-01 2.75495e-01 2.56124e-01 1.84875e-01 + 6.96608e-02 -8.04848e-02 -2.55601e-01 -4.45455e-01 -6.39177e-01 -8.24694e-01 + -9.89394e-01 -1.12176e+00 -1.21249e+00 -1.25513e+00 -1.24579e+00 -1.18257e+00 + -1.06502e+00 -8.93999e-01 -6.72217e-01 -4.04586e-01 -9.82365e-02 2.37526e-01 + 5.90699e-01 9.46796e-01 1.29006e+00 1.60520e+00 1.87847e+00 2.09795e+00 + 2.25409e+00 2.34049e+00 2.35467e+00 2.29778e+00 2.17381e+00 1.98907e+00 + 1.75113e+00 1.46926e+00 1.15293e+00 8.11238e-01 4.52905e-01 8.66021e-02 + -2.78167e-01 -6.30998e-01 -9.61101e-01 -1.25779e+00 -1.51062e+00 -1.70961e+00 + -1.84641e+00 -1.91464e+00 -1.91113e+00 -1.83759e+00 -1.70129e+00 -1.51432e+00 + -1.29229e+00 -1.05240e+00 -8.12054e-01 -5.87822e-01 -3.94658e-01 -2.44508e-01 + -1.44747e-01 -9.71922e-02 -9.79891e-02 -1.38695e-01 -2.07985e-01 -2.93478e-01 + -3.83196e-01 -4.66581e-01 -5.34983e-01 -5.81828e-01 -6.02766e-01 -5.95682e-01 + -5.60011e-01 -4.96364e-01 -4.06278e-01 -2.92462e-01 -1.58569e-01 -9.17496e-03 + 1.50080e-01 3.12585e-01 4.70757e-01 6.15735e-01 7.37228e-01 8.24065e-01 + 8.65233e-01 8.51406e-01 7.76396e-01 6.38869e-01 4.43222e-01 1.99933e-01 + -7.46282e-02 -3.59829e-01 -6.32719e-01 -8.70263e-01 -1.05170e+00 -1.16050e+00 + -1.18558e+00 -1.12196e+00 -9.70626e-01 -7.38362e-01 -4.36630e-01 -8.06908e-02 + 3.11484e-01 7.19859e-01 1.12351e+00 1.50175e+00 1.83539e+00 2.10740e+00 + 2.30377e+00 2.41405e+00 2.43169e+00 2.35421e+00 2.18346e+00 1.92553e+00 + 1.59093e+00 1.19405e+00 7.52230e-01 2.84519e-01 -1.89444e-01 -6.49906e-01 + -1.07770e+00 -1.45511e+00 -1.76721e+00 -2.00301e+00 -2.15660e+00 -2.22720e+00 + -2.21906e+00 -2.14046e+00 -2.00222e+00 -1.81659e+00 -1.59607e+00 -1.35307e+00 + -1.09997e+00 -8.49257e-01 -6.12902e-01 -4.01670e-01 -2.24418e-01 -8.66275e-02 + 9.49007e-03 6.59826e-02 8.85420e-02 8.63028e-02 7.11971e-02 5.66192e-02 + 5.66886e-02 8.48291e-02 1.52216e-01 2.65927e-01 4.27079e-01 6.29647e-01 + 8.60337e-01 1.09924e+00 1.32228e+00 1.50332e+00 1.61817e+00 1.64767e+00 + 1.58037e+00 1.41485e+00 1.15978e+00 8.33590e-01 4.62723e-01 7.85003e-02 + -2.86726e-01 -6.03758e-01 -8.50223e-01 -1.01288e+00 -1.08881e+00 -1.08489e+00 + -1.01623e+00 -9.03423e-01 -7.69543e-01 -6.36904e-01 -5.24442e-01 -4.45612e-01 + -4.07079e-01 -4.08204e-01 -4.41564e-01 -4.94187e-01 -5.49629e-01 -5.90582e-01 + -6.01525e-01 -5.70993e-01 -4.92757e-01 -3.66630e-01 -1.98176e-01 2.13010e-03 + 2.20025e-01 4.39517e-01 6.44687e-01 8.21404e-01 9.58622e-01 1.04918e+00 + 1.08990e+00 1.08171e+00 1.02861e+00 9.37199e-01 8.15650e-01 6.73113e-01 + 5.19076e-01 3.62482e-01 2.11038e-01 7.04064e-02 -5.61057e-02 -1.68028e-01 + -2.67208e-01 -3.57400e-01 -4.42979e-01 -5.27595e-01 -6.12957e-01 -6.97639e-01 + -7.76477e-01 -8.41373e-01 -8.81616e-01 -8.85953e-01 -8.44546e-01 -7.50781e-01 + -6.03177e-01 -4.06386e-01 -1.71784e-01 8.26628e-02 3.33780e-01 5.55281e-01 + 7.20962e-01 8.08307e-01 8.01726e-01 6.95552e-01 4.95512e-01 2.18620e-01 + -1.08274e-01 -4.51311e-01 -7.73356e-01 -1.03823e+00 -1.21453e+00 -1.27937e+00 + -1.22085e+00 -1.03960e+00 -7.48971e-01 -3.73582e-01 5.33410e-02 4.93655e-01 + 9.08523e-01 1.26276e+00 1.52833e+00 1.68702e+00 1.73151e+00 1.66510e+00 + 1.50013e+00 1.25555e+00 9.54272e-01 6.20138e-01 2.75902e-01 -5.88957e-02 + -3.68885e-01 -6.43271e-01 -8.75543e-01 -1.06262e+00 -1.20384e+00 -1.29995e+00 + -1.35174e+00 -1.35962e+00 -1.32301e+00 -1.24072e+00 -1.11129e+00 -9.34150e-01 + -7.10445e-01 -4.43919e-01 -1.41768e-01 1.85021e-01 5.21728e-01 8.50696e-01 + 1.15262e+00 1.40822e+00 1.60003e+00 1.71415e+00 1.74119e+00 1.67746e+00 + 1.52543e+00 1.29325e+00 9.93934e-01 6.43920e-01 2.61632e-01 -1.33828e-01 + -5.23739e-01 -8.90718e-01 -1.21902e+00 -1.49482e+00 -1.70629e+00 -1.84363e+00 + -1.89959e+00 -1.86965e+00 -1.75287e+00 -1.55196e+00 -1.27351e+00 -9.28175e-01 + -5.30546e-01 -9.90334e-02 3.44639e-01 7.76550e-01 1.17203e+00 1.50759e+00 + 1.76316e+00 1.92392e+00 1.98189e+00 1.93673e+00 1.79553e+00 1.57189e+00 + 1.28415e+00 9.53325e-01 6.00903e-01 2.46937e-01 -9.15692e-02 -4.01632e-01 + -6.74664e-01 -9.06090e-01 -1.09461e+00 -1.24092e+00 -1.34651e+00 -1.41240e+00 + -1.43849e+00 -1.42307e+00 -1.36318e+00 -1.25514e+00 -1.09585e+00 -8.84306e-01 + -6.22992e-01 -3.19319e-01 1.41379e-02 3.59690e-01 6.95747e-01 9.98556e-01 + 1.24460e+00 1.41286e+00 1.48715e+00 1.45780e+00 1.32309e+00 1.08961e+00 + 7.72188e-01 3.93054e-01 -2.00544e-02 -4.36053e-01 -8.22926e-01 -1.15037e+00 + -1.39221e+00 -1.52860e+00 -1.54763e+00 -1.44642e+00 -1.23132e+00 -9.17712e-01 + -5.28484e-01 -9.27051e-02 3.56756e-01 7.85824e-01 1.16191e+00 1.45666e+00 + 1.64828e+00 1.72343e+00 1.67834e+00 1.51904e+00 1.26067e+00 9.26001e-01 + 5.43062e-01 1.42760e-01 -2.43819e-01 -5.88137e-01 -8.66441e-01 -1.06166e+00 + -1.16437e+00 -1.17330e+00 -1.09480e+00 -9.41753e-01 -7.31999e-01 -4.86437e-01 + -2.26943e-01 2.55492e-02 2.52661e-01 4.39771e-01 5.76728e-01 6.58076e-01 + 6.82868e-01 6.54262e-01 5.78758e-01 4.65601e-01 3.25808e-01 1.71466e-01 + 1.48315e-02 -1.32540e-01 -2.60514e-01 -3.61026e-01 -4.28401e-01 -4.59695e-01 + -4.54730e-01 -4.16052e-01 -3.48717e-01 -2.60008e-01 -1.58950e-01 -5.56949e-02 + 3.92760e-02 1.16041e-01 1.66167e-01 1.83624e-01 1.65510e-01 1.12555e-01 + 2.92473e-02 -7.65098e-02 -1.94051e-01 -3.11026e-01 -4.14483e-01 -4.92061e-01 + -5.33005e-01 -5.29292e-01 -4.76367e-01 -3.73910e-01 -2.26034e-01 -4.13254e-02 + 1.67632e-01 3.85152e-01 5.93612e-01 7.74996e-01 9.12553e-01 9.92361e-01 + 1.00488e+00 9.46119e-01 8.18022e-01 6.28860e-01 3.92371e-01 1.26725e-01 + -1.47124e-01 -4.07313e-01 -6.32981e-01 -8.06262e-01 -9.13797e-01 -9.48036e-01 + -9.07757e-01 -7.97927e-01 -6.29232e-01 -4.16812e-01 -1.78700e-01 6.58585e-02 + 2.98149e-01 5.01552e-01 6.62730e-01 7.72489e-01 8.26063e-01 8.23110e-01 + 7.67448e-01 6.66311e-01 5.29558e-01 3.68557e-01 1.95232e-01 2.10471e-02 + -1.43759e-01 -2.90667e-01 -4.13198e-01 -5.06920e-01 -5.69349e-01 -5.99792e-01 + -5.99087e-01 -5.69450e-01 -5.14135e-01 -4.37391e-01 -3.44210e-01 -2.40196e-01 + -1.31339e-01 -2.37429e-02 7.67118e-02 1.64736e-01 2.35942e-01 2.87110e-01 + 3.16310e-01 3.22927e-01 3.07610e-01 2.72210e-01 2.19651e-01 1.53761e-01 + 7.90973e-02 7.43206e-04 -7.59111e-02 -1.45384e-01 -2.02358e-01 -2.41989e-01 + -2.60218e-01 -2.54144e-01 -2.22386e-01 -1.65368e-01 -8.55116e-02 1.27077e-02 + 1.22878e-01 2.36986e-01 3.45858e-01 4.39924e-01 5.09992e-01 5.48142e-01 + 5.48558e-01 5.08264e-01 4.27634e-01 3.10649e-01 1.64820e-01 7.06164e-04 + -1.68900e-01 -3.30125e-01 -4.69323e-01 -5.74496e-01 -6.36424e-01 -6.49742e-01 + -6.13417e-01 -5.30776e-01 -4.09344e-01 -2.60018e-01 -9.60026e-02 6.84794e-02 + 2.19601e-01 3.45260e-01 4.36283e-01 4.87170e-01 4.96588e-01 4.67198e-01 + 4.05122e-01 3.19025e-01 2.19005e-01 1.15351e-01 1.74316e-02 -6.72106e-02 + -1.33462e-01 -1.78971e-01 -2.04110e-01 -2.11616e-01 -2.06015e-01 -1.92862e-01 + -1.77926e-01 -1.66397e-01 -1.62131e-01 -1.67138e-01 -1.81222e-01 -2.02026e-01 + -2.25332e-01 -2.45717e-01 -2.57319e-01 -2.54713e-01 -2.33725e-01 -1.92043e-01 + -1.29657e-01 -4.89363e-02 4.54893e-02 1.47178e-01 2.48515e-01 3.41562e-01 + 4.18801e-01 4.73963e-01 5.02503e-01 5.01958e-01 4.72231e-01 4.15413e-01 + 3.35660e-01 2.38734e-01 1.31447e-01 2.10730e-02 -8.52995e-02 -1.81314e-01 + -2.61792e-01 -3.23058e-01 -3.63059e-01 -3.81327e-01 -3.78719e-01 -3.57232e-01 + -3.19568e-01 -2.68813e-01 -2.08205e-01 -1.40875e-01 -6.97637e-02 2.44456e-03 + 7.32243e-02 1.40035e-01 2.00148e-01 2.50571e-01 2.88239e-01 3.10223e-01 + 3.14297e-01 2.99274e-01 2.65313e-01 2.14051e-01 1.48435e-01 7.25616e-02 + -8.52138e-03 -8.91205e-02 -1.63221e-01 -2.24911e-01 -2.68887e-01 -2.90981e-01 + -2.88751e-01 -2.61738e-01 -2.11756e-01 -1.42681e-01 -6.01701e-02 2.88032e-02 + 1.16620e-01 1.95918e-01 2.60475e-01 3.05863e-01 3.29738e-01 3.31696e-01 + 3.12918e-01 2.75691e-01 2.23152e-01 1.59238e-01 8.86002e-02 1.63206e-02 + -5.25797e-02 -1.13650e-01 -1.63415e-01 -1.99436e-01 -2.20279e-01 -2.25462e-01 + -2.15434e-01 -1.91585e-01 -1.56373e-01 -1.13424e-01 -6.74120e-02 -2.34236e-02 + 1.38459e-02 4.08271e-02 5.55284e-02 5.77127e-02 4.87104e-02 3.08498e-02 + 6.79536e-03 -2.08208e-02 -4.94963e-02 -7.69204e-02 -1.01056e-01 -1.20269e-01 + -1.33450e-01 -1.40082e-01 -1.40266e-01 -1.34614e-01 -1.24075e-01 -1.09784e-01 + -9.29917e-02 -7.50340e-02 -5.72785e-02 -4.09901e-02 -2.71236e-02 -1.61535e-02 + -8.04236e-03 -2.40623e-03 1.28479e-03 3.57950e-03 4.93590e-03 5.66379e-03 + 5.93360e-03 5.82969e-03 5.39251e-03 4.66025e-03 3.69460e-03 2.58795e-03 + 1.45036e-03 3.86393e-04 -5.17259e-04 -1.19728e-03 -1.61877e-03 -1.78634e-03 + -1.74061e-03 -1.54268e-03 -1.26223e-03 -9.61285e-04 -6.85377e-04 -4.58818e-04 + -2.85732e-04 -1.60329e-04 -7.31494e-05 -1.58434e-05 1.89346e-05 3.73330e-05 + 4.45530e-05 4.46379e-05 4.01369e-05 3.31016e-05 2.51443e-05 1.75156e-05 + 1.10957e-05 6.24158e-06 2.98289e-06 1.08290e-06 2.52376e-07 4.14572e-08 + 2.72085e-09 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 Added: SwiftApps/Cybershake/app/post/JBSim3d/bin/jbsim3d =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/JBSim3d/bin/jbsim3d ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/JBSim3d/jbrun.csh =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/jbrun.csh (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/jbrun.csh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,48 @@ +#! /bin/csh + +set BINDIR = bin + +set STATS = ( USC ) +set STATFILE = ../StatInfo/cybersites.ll + +set OUTDIR = Vel0.5 + +set RUPDIR = ../../ruptures/Srf +set RUPMODFILE = hart_sgm-2m.10x10_rvf0.8.srf + +set SGT_MAIN_GFDIR = ../../data/SgtFiles +set SGT_LOCAL_GFDIR = ../../data/ExtractSgtFiles + +set SEIS_FILE = USC_hart_2.grm + +\mkdir -p $SGT_LOCAL_GFDIR $OUTDIR + +set s = 0 +foreach stat ( $STATS ) +@ s ++ + +#set slon = `gawk -v s=$stat 'BEGIN{x=-999.;}{if($3==s)x=$1;}END{print x;}' $STATFILE ` +#set slat = `gawk -v s=$stat 'BEGIN{x=-999.;}{if($3==s)x=$2;}END{print x;}' $STATFILE ` +set slon = -118.286 +set slat = 34.0192 + +$BINDIR/jbsim3d stat=$stat slon=$slon slat=$slat \ + rupmodfile=$RUPDIR/$RUPMODFILE \ + sgt_xfile=${SGT_MAIN_GFDIR}/${stat}_fx.sgt \ + sgt_yfile=${SGT_MAIN_GFDIR}/${stat}_fy.sgt \ + #sgt_zfile=${SGT_MAIN_GFDIR}/${stat}_fz.sgt \ + extract_sgt=1 \ + sgtdir=$SGT_LOCAL_GFDIR \ + extract_sgt_xfile=${stat}_fx-sub001.sgt \ + extract_sgt_yfile=${stat}_fy-sub001.sgt \ + #extract_sgt_zfile=${stat}_fz-sub001.sgt + +$BINDIR/jbsim3d stat=$stat slon=$slon slat=$slat \ + outdir=$OUTDIR \ + rupmodfile=$RUPDIR/$RUPMODFILE \ + sgt_xfile=${SGT_LOCAL_GFDIR}/${stat}_fx-sub001.sgt \ + sgt_yfile=${SGT_LOCAL_GFDIR}/${stat}_fy-sub001.sgt \ + #sgt_zfile=${SGT_LOCAL_GFDIR}/${stat}_fz-sub001.sgt \ + seis_file=${SEIS_FILE} + +end Added: SwiftApps/Cybershake/app/post/JBSim3d/src/bailey2srfOLD.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/bailey2srfOLD.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/bailey2srfOLD.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,250 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +#define NTMAX 10000 + +main(int ac,char **av) +{ +FILE *fopfile(), *fpr, *fpw; +float *stf; +float x0, y0, z0, dd, vslip, rake; +float len2, ds0, dd0, dsf, ddf; +float area, sn, se, cosA, sinA, slon, slat; +int ig, i, j, k, l, ip, kp, ntot, ntall; +char filelist[256], *infile[20], outfile[256]; +char string[1024], filebuf[20*256]; + +struct rob rrm; +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +float rupvel = -1.0; +float shal_vrup = 1.0; +float xtsfac; +float tsfac = 0.0; +float rvfrac, dt, rt; +float htol = 0.1; +double rayp, rupt_rad; +int it, nt; +struct velmodel vmod; +char modfile[128]; + +float cosD, sinD, arg; +double rperd = 0.017453293; + +int nfinestk = 1; +int nfinedip = 1; + +sprintf(srf.version,"1.0-alpha"); + +nt = NTMAX; + +setpar(ac,av); + +getpar("version","s",srf.version); + +mstpar("filelist","s",filelist); +mstpar("outfile","s",outfile); + +mstpar("dt","f",&dt); +getpar("nt","d",&nt); + +getpar("nfinestk","d",&nfinestk); +getpar("nfinedip","d",&nfinedip); + +getpar("tsfac","f",&tsfac); +getpar("rupvel","f",&rupvel); +if(rupvel < 0.0) + { + mstpar("modfile","s",modfile); + mstpar("rvfrac","f",&rvfrac); + getpar("shal_vrup","f",&shal_vrup); + } + +endpar(); + +fpr = fopfile(filelist,"r"); + +i = 0; +infile[0] = filebuf; +while(fscanf(fpr,"%s",infile[i]) != EOF) + { + i++; + infile[i] = filebuf + i*256; + } + +fclose(fpr); + +sprintf(srf.type,"PLANE"); + +prect_ptr = &srf.srf_prect; +prect_ptr->nseg = i; +prseg_ptr = prect_ptr->prectseg; +prseg_ptr = (struct srf_prectsegments *)check_malloc(prect_ptr->nseg*sizeof(struct srf_prectsegments)); + +apnts_ptr = &srf.srf_apnts; +apnts_ptr->np = 0; +apval_ptr = apnts_ptr->apntvals; +apval_ptr = (struct srf_apointvalues *)check_malloc(sizeof(struct srf_apointvalues)); + +for(ig=0;ignseg;ig++) + { + fprintf(stderr,"Reading file: %s\n",infile[ig]); + read_rob(&rrm,infile[ig],&tsfac); + + prseg_ptr[ig].elon = rrm.elon; + prseg_ptr[ig].elat = rrm.elat; + prseg_ptr[ig].nstk = rrm.nstk*nfinestk; + prseg_ptr[ig].ndip = rrm.ndip*nfinedip; + prseg_ptr[ig].flen = rrm.flen; + prseg_ptr[ig].fwid = rrm.fwid; + prseg_ptr[ig].dlen = rrm.flen/prseg_ptr[ig].nstk; + prseg_ptr[ig].dwid = rrm.fwid/prseg_ptr[ig].ndip; + prseg_ptr[ig].stk = rrm.stk; + prseg_ptr[ig].dip = rrm.dip; + prseg_ptr[ig].dtop = rrm.dtop; + prseg_ptr[ig].shyp = rrm.shyp; + prseg_ptr[ig].dhyp = rrm.dhyp; + + ntot = (prseg_ptr[ig].nstk)*(prseg_ptr[ig].ndip); + area = prseg_ptr[ig].dlen*prseg_ptr[ig].dwid*1.0e+10; + + apval_ptr = (struct srf_apointvalues *)check_realloc(apval_ptr,(apnts_ptr->np+ntot)*sizeof(struct srf_apointvalues)); + + if(rupvel < 0.0) + conv2vrup(modfile,&vmod,&rrm.dip,&rrm.dtop,&rrm.fwid,&rvfrac,&shal_vrup); + + ds0 = rrm.flen/rrm.nstk; + dd0 = rrm.fwid/rrm.ndip; + + dsf = ds0/nfinestk; + ddf = dd0/nfinedip; + + len2 = 0.5*rrm.flen; + + arg = rrm.dip*rperd; + cosD = cos(arg); + sinD = sin(arg); + + arg = rrm.stk*rperd; + cosA = cos(arg); + sinA = sin(arg); + + for(j=0;jnp; + + dd = j*dd0 + (l+0.5)*ddf; + + x0 = i*ds0 + (k+0.5)*dsf - len2; + y0 = dd*cosD; + z0 = rrm.dtop + dd*sinD; + + apval_ptr[ip].stf = (float *)check_malloc(nt*sizeof(float)); + stf = apval_ptr[ip].stf; + + apval_ptr[ip].dt = dt; + apval_ptr[ip].nt = gen_rob_stf(&rrm,i,j,stf,nt,&dt,&z0); + + if(apval_ptr[ip].nt) + apval_ptr[ip].stf = (float *)check_realloc(apval_ptr[ip].stf,(apval_ptr[ip].nt)*sizeof(float)); + else + free(apval_ptr[ip].stf); + + get_rrmpars(&rrm,i,j,&x0,&dd,&rt,&vslip,&rake,&xtsfac); + + if(rt < 0.0) + { + if(rupvel < 0.0) + get_rupt(&vmod,&htol,&rrm.dhyp,&dd,&rrm.shyp,&x0,&rayp,&rupt_rad,&rt); + else + rt = sqrt((rrm.shyp-x0)*(rrm.shyp-x0)+(rrm.dhyp-dd)*(rrm.dhyp-dd))/rupvel; + rt = rt + xtsfac; + } + + if(rt < 0.0) + rt = 0.0; + + se = x0*sinA + y0*cosA; + sn = x0*cosA - y0*sinA; + set_ll(&rrm.elon,&rrm.elat,&slon,&slat,&sn,&se); + + apval_ptr[ip].as = x0; + apval_ptr[ip].dd = dd; + apval_ptr[ip].lon = slon; + apval_ptr[ip].lat = slat; + apval_ptr[ip].dep = z0; + apval_ptr[ip].mu = -99; + apval_ptr[ip].stk = prseg_ptr[ig].stk; + apval_ptr[ip].dip = prseg_ptr[ig].dip; + apval_ptr[ip].rake = rrm.rake[kp]; + apval_ptr[ip].area = area; + apval_ptr[ip].slip = rrm.slip[kp]; + apval_ptr[ip].tinit = rt; + } + } + } + } + + apnts_ptr->np = apnts_ptr->np + ntot; + } + +fpw = fopfile(outfile,"w"); + +fprintf(fpw,"%s\n",srf.version); + +fprintf(fpw,"%s %d\n",srf.type,prect_ptr->nseg); +for(ig=0;ignseg;ig++) + { + fprintf(fpw,"%10.4f %10.4f %5d %5d %8.2f %8.2f\n",prseg_ptr[ig].elon, + prseg_ptr[ig].elat, + prseg_ptr[ig].nstk, + prseg_ptr[ig].ndip, + prseg_ptr[ig].flen, + prseg_ptr[ig].fwid); + fprintf(fpw,"%4.0f %4.0f %8.2f %8.2f %8.2f\n",prseg_ptr[ig].stk, + prseg_ptr[ig].dip, + prseg_ptr[ig].dtop, + prseg_ptr[ig].shyp, + prseg_ptr[ig].dhyp); + } + +fprintf(fpw,"POINTS %d\n",apnts_ptr->np); +for(i=0;inp;i++) + { + fprintf(fpw,"%10.4f %10.4f %10.4f %10.4f %10.4f %13.5e\n", + apval_ptr[i].as, + apval_ptr[i].dd, + apval_ptr[i].lon, + apval_ptr[i].lat, + apval_ptr[i].dep, + apval_ptr[i].mu); + fprintf(fpw,"%4.0f %4.0f %4.0f %13.5e %8.2f %10.4f %6d %13.5e\n", + apval_ptr[i].stk, + apval_ptr[i].dip, + apval_ptr[i].rake, + apval_ptr[i].area, + apval_ptr[i].slip, + apval_ptr[i].tinit, + apval_ptr[i].nt, + apval_ptr[i].dt); + + stf = apval_ptr[i].stf; + for(it=0;itnpstk); +ip1 = ip0 + 1; +ip2 = ip0 + (brm->npstk); +ip3 = ip2 + 1;; + +dx = (*xp - brm->as[ip0])/(brm->as[ip1] - brm->as[ip0]); +dz = (*zp - brm->dd[ip0])/(brm->dd[ip2] - brm->dd[ip0]); +dxdz = dx*dz; + +w0 = one - dx - dz + dxdz; +w1 = dx - dxdz; +w2 = dz - dxdz; +w3 = dxdz; + +*rt = w0*brm->rupt[ip0] + w1*brm->rupt[ip1] + w2*brm->rupt[ip2] + w3*brm->rupt[ip3]; +*vs = w0*brm->slip[ip0] + w1*brm->slip[ip1] + w2*brm->slip[ip2] + w3*brm->slip[ip3]; +} + +void beroza_stf(struct beroza *brm,int i,int j,float *s,float *u,float *stf,int nt,float *dt,float *z0) +{ +FILE *fpw; +int it, k, kend, nstf; +int ip0, ip1, ip2, ip3; +float tp, tr, t2, invtp, tp2, tt; +float sum, *sv, *sn, *se, c0, c1; +float *uv, *un, *ue; + +float quart = 0.25; +float half = 0.5; +float one = 1.0; +float two = 2.0; +float p95 = 0.95; +float p105 = 1.05; + +float sp, vs; +float amax = 0.0; + +float alpha = 0.1; /* 1st triangle has pulse width = 2*alpha*trise */ +float betadeep = 0.2; /* 2nd triangle has amplitude = beta*A (z0>dmax)*/ +float betashal = 0.5; /* 2nd triangle has amplitude = beta*A (z0npstk); +ip1 = ip0 + 1; +ip2 = ip0 + (brm->npstk); +ip3 = ip2 + 1; + +sp = quart*(brm->slip[ip0] + brm->slip[ip1] + brm->slip[ip2] + brm->slip[ip3]); +vs = quart*(brm->sv[ip0] + brm->sv[ip1] + brm->sv[ip2] + brm->sv[ip3] ); + +tp = quart*(brm->tdur[ip0] + brm->tdur[ip1] + brm->tdur[ip2] + brm->tdur[ip3]); +tr = quart*(brm->rist[ip0] + brm->rist[ip1] + brm->rist[ip2] + brm->rist[ip3]); +t2 = quart*(brm->t2[ip0] + brm->t2[ip1] + brm->t2[ip2] + brm->t2[ip3] ); + +if(brm->robstf == 1) + { + dbdd = (betadeep - betashal)/(dmax-dmin); + + if((*z0) >= dmax) + beta = betadeep; + else if((*z0) < dmax && (*z0) > dmin) + beta = betadeep - (dmax-(*z0))*dbdd; + else + beta = betashal; + + tp = two*alpha*tr; + t2 = (one - half*beta)*tp; + } + +if(tp <= (*dt) || tr <= (*dt) || t2 <= (*dt)) /* no STF needed */ + { + sum_nostf(s,u,&sp,nt); + return; + } + +if(t2 >= tp) + t2 = p95*tp; +if(tr <= tp) + tr = p105*tp; + +tp2 = half*tp; +invtp = one/tp; +c0 = (one - invtp*t2); +c1 = c0/(tr - t2); +nstf = (int)(tr/(*dt) + 1.0); + +sum = 0.0; +for(it=0;it amax) + amax = stf[it]; + } + +if(sum <= 0.0) + return; + +/* scale STF by slip and add factor of dt to prenormalize convolution */ +sum = (*dt)*sp/sum; +for(it=0;itnpstk) - 1)%(brm->inc_stk) != 0) + { + fprintf(stderr,"***input nodes along strike are not integer multiple of desired resampling-\n"); + fprintf(stderr," inc_stk =%d\n",(brm->inc_stk)); + fprintf(stderr," (npstk-1) =%d\n",(brm->npstk)-1); + fprintf(stderr," exiting...\n"); + exit(-1); + } + +if(((brm->npdip) - 1)%(brm->inc_dip) != 0) + { + fprintf(stderr,"***input nodes down dip are not integer multiple of desired resampling-\n"); + fprintf(stderr," inc_dip =%d\n",(brm->inc_dip)); + fprintf(stderr," (npdip-1) =%d\n",(brm->npdip)-1); + fprintf(stderr," exiting...\n"); + exit(-1); + } + +brm->npstk = (int)(((brm->npstk) - 1)/(brm->inc_stk)) + 1; +brm->npdip = (int)(((brm->npdip) - 1)/(brm->inc_dip)) + 1; + +brm->as = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); +brm->dd = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); +brm->slip = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); +brm->sv = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); +brm->rupt = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); +brm->rist = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); +brm->tdur = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); +brm->t2 = (float *) check_malloc ((brm->npstk)*(brm->npdip)*sizeof(float)); + +fpr = fopfile(rfile,"r"); +for(j=0;j<(brm->npdip);j++) + { + for(i=0;i<(brm->npstk);i++) + { + k = i + j*(brm->npstk); + + fgets(string,256,fpr); + sscanf(string,"%f %f %f %f %f %f %f %f",&brm->dd[k], + &brm->as[k], + &brm->slip[k], + &brm->sv[k], + &brm->rupt[k], + &brm->rist[k], + &brm->tdur[k], + &brm->t2[k]); + + if((brm->generic_risetime) > 0.0) + { + brm->rist[k] = (brm->generic_risetime); + brm->tdur[k] = (brm->generic_pulsedur); + brm->t2[k] = (brm->generic_t2); + } + + brm->as[k] = brm->as[k] - (*len2); + + if(i != (brm->npstk)-1) /* skip inc_stk-1 lines */ + { + for(kp=0;kp<(brm->inc_stk)-1;kp++) + fgets(string,256,fpr); + } + } + + if(j != (brm->npdip)-1) /* skip ((brm->inc_dip)-1)*(((brm->npstk)-1)*(brm->inc_stk) + 1) lines */ + { + for(kp=0;kp<((brm->inc_dip)-1)*(((brm->npstk)-1)*(brm->inc_stk) + 1);kp++) + fgets(string,256,fpr); + } + } +fclose(fpr); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/defs.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/defs.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/defs.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,33 @@ +#define NTMAX 10000 +#define SOMERVILLE_FLAG 1 +#define MAI_FLAG 2 +#define MINSLIP 1.0e-02 + +#define DHYPO_FRAC 0.75 /* hypo at 0.75 down-dip width */ +#define SHYPO_STEP 20.0 /* hypo spacing at 20 km along strike */ +#define SHYPO_MIN_OFF 1.0 /* hypos start at 1.0 km along strike */ +#define SLIPS_TO_HYPOS 2 /* no. slip models = 2 times no. of hypos */ + +#define U1FLAG 1 +#define U2FLAG 2 +#define U3FLAG 3 + +#define RDONLY_FLAGS O_RDONLY +#define RDWR_FLAGS O_RDWR +#define CROPTR_FLAGS O_CREAT | O_TRUNC | O_RDWR + +#if _FILE_OFFSET_BITS == 64 + +#undef RDONLY_FLAGS +#undef RDWR_FLAGS +#undef CROPTR_FLAGS + +#define RDONLY_FLAGS O_RDONLY | O_LARGEFILE +#define RDWR_FLAGS O_RDWR | O_LARGEFILE +#define CROPTR_FLAGS O_CREAT | O_TRUNC | O_RDWR | O_LARGEFILE + +#endif + +#define SWAP_FLAG -12345 +#define MAX_VAR_LIST 100 +#define TAP_PERC 0.05 Added: SwiftApps/Cybershake/app/post/JBSim3d/src/fourg.f =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/fourg.f (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/fourg.f 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,145 @@ + subroutine fourg (data,n,isign,work) +c cooley-tukey fast fourier transform in usasi basic fortran. +c one-dimensional transform of complex data, arbitrary number of +c points. n points can be transformed in time proportional to +c n*log(n) (for n non-prime), whereas other methods take n**2 time. +c furthermore, because fewer arithmetic operations are performed, +c less error is built up. the transform done is-- +c dimension data(n),transform(n),work(n) +c complex data,transform,work +c transform(k) = sum(data(j)*exp(isign*2*pi*i*(j-1)*(k-1)/n)), +c summed from j = 1 to n for all k from 1 to n. the transform +c values are returned to data, replacing the input. n may be any +c positive number, but it should be non-prime for speed. isign = +c +1 or -1. a -1 transform followed by a +1 one (or vice versa) +c returns n times the original data. work is a one-dimensional +c complex array of length n used for working storage. +c running time is proportional to n * (sum of the prime factors of +c n). for example, n = 1960, time is t0 * 1960 * (2+2+2+5+7+7). +c naive methods directly implementing the summation run in time +c proportional to n**2. an upper bound for the rms relative error +c is 3 * 2**(-b) * sum(f**1.5), where b is the number of bits in +c the floating point fraction and the sum is over the prime +c factors of n. written by norman brenner, mit lincoln laboratory, +c august 1968. see--ieee transactions on audio and e +c (june 1967), special issue on the fast fourier transform. + dimension data(1), work(1), ifact(32) + twopi=6.283185307*float(isign) +c factor n into its prime factors, nfact in number. for example, +c for n = 1960, nfact = 6 and ifact(if) = 2, 2, 2, 5, 7 and 7. + if=0 + npart=n + do 50 id=1,n,2 + idiv=id + if (id-1) 10,10,20 + 10 idiv=2 + 20 iquot=npart/idiv + if (npart-idiv*iquot) 40,30,40 + 30 if=if+1 + ifact(if)=idiv + npart=iquot + + go to 20 + 40 if (iquot-idiv) 60,60,50 + 50 continue + 60 if (npart-1) 80,80,70 + 70 if=if+1 + ifact(if)=npart + 80 nfact=if +c shuffle the data array by reversing the digits of the index. +c replace data(i) by data(irev) for all i from 1 to n. irev-1 is +c the integer whose digit representation in the multi-radix +c notation of factors ifact(if) is the reverse of the r +c of i-1. for example, if all ifact(if) = 2, then for i-1 = 11001, +c irev-1 = 10011. a work array of length n is needed. + ip0=2 + ip3=ip0*n + iwork=1 + i3rev=1 + do 110 i3=1,ip3,ip0 + work(iwork)=data(i3rev) + work(iwork+1)=data(i3rev+1) + ip2=ip3 + do 100 if=1,nfact + ip1=ip2/ifact(if) + i3rev=i3rev+ip1 + if (i3rev-ip2) 110,110,90 + 90 i3rev=i3rev-ip2 + 100 ip2=ip1 + 110 iwork=iwork+ip0 + iwork=1 + do 120 i3=1,ip3,ip0 + data(i3)=work(iwork) + data(i3+1)=work(iwork+1) + 120 iwork=iwork+ip0 +c phase-shifted fourier transform of length ifact(if). +c iprod=ip1/ip0 +c irem=n/(ifact(if)*iprod) +c dimension data(iprod,ifact(if),irem),work(ifact(if)) +c complex data,work +c data(i1,j2,i3) = sum(data(i1,i2,i3) * w**(i2-1)), summed over +c i2 = 1 to ifact(if) for all i1 from 1 to iprod, j2 from 1 to + +c ifact(if) and i3 from 1 to irem. +c w = exp(isign*2*pi*i*(i1-1+iprod*(j2-1))/(iprod*ifact(if))). + if=0 + ip1=ip0 + 130 if (ip1-ip3) 140,240,240 + 140 if=if+1 + ifcur=ifact(if) + ip2=ip1*ifcur + theta=twopi/float(ifcur) + sinth=sin(theta/2.) + rootr=-2.*sinth*sinth +c cos(theta)-1, for accuracy + rooti=sin(theta) + theta=twopi/float(ip2/ip0) + sinth=sin(theta/2.) + wstpr=-2.*sinth*sinth + wstpi=sin(theta) + wminr=1. + wmini=0. + do 230 i1=1,ip1,ip0 + if (ifcur-2) 150,150,170 + 150 do 160 i3=i1,ip3,ip2 + j0=i3 + j1=i3+ip1 + tempr=wminr*data(j1)-wmini*data(j1+1) + tempi=wminr*data(j1+1)+wmini*data(j1) + data(j1)=data(j0)-tempr + data(j1+1)=data(j0+1)-tempi + data(j0)=data(j0)+tempr + 160 data(j0+1)=data(j0+1)+tempi + go to 220 + 170 iwmax=ip0*ifcur + do 210 i3=i1,ip3,ip2 + i2max=i3+ip2-ip1 + wr=wminr + wi=wmini + do 200 iwork=1,iwmax,ip0 + i2=i2max + sumr=data(i2) + sumi=data(i2+1) + + 180 i2=i2-ip1 + tempr=sumr + sumr=wr*sumr-wi*sumi+data(i2) + sumi=wr*sumi+wi*tempr+data(i2+1) + if (i2-i3) 190,190,180 + 190 work(iwork)=sumr + work(iwork+1)=sumi + tempr=wr + wr=wr*rootr-wi*rooti+wr + 200 wi=tempr*rooti+wi*rootr+wi + iwork=1 + do 210 i2=i3,i2max,ip1 + data(i2)=work(iwork) + data(i2+1)=work(iwork+1) + 210 iwork=iwork+ip0 + 220 tempr=wminr + wminr=wminr*wstpr-wmini*wstpi+wminr + 230 wmini=tempr*wstpi+wmini*wstpr+wmini + ip1=ip2 + go to 130 + 240 return + end Added: SwiftApps/Cybershake/app/post/JBSim3d/src/function.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/function.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/function.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,61 @@ +void *check_malloc(size_t); +void *check_realloc(void *, size_t); +FILE *fopfile(char*, char*); +int opfile_ro(char *); +int opfile(char *); +int croptrfile(char *); +int reed(int, void *, int); +int rite(int, void *, int); + +void fortran_rite(int ,int , ...); +void conv2vrup(struct velmodel *,struct velmodel *,float *,float *,float *,float *,float *); +void get_ard_srf(struct standrupformat *,int,int,float *,float *,float *,float *,float *,float *,float *,struct geoprojection *); +void get_radazi(float *,float *,float *,float *,float *,float *,float *,float *,float *,float *); +void set_ne(float *,float *,float *,float *,float *,float *); +void set_ll(float *,float *,float *,float *,float *,float *); + +void get_gfpars(struct gfparam *); +void find_4gf(struct gfparam,struct gfheader *,float *,float *,float *,float *); +void read_4gf(char *,char *,float *,int,struct gfheader *,struct gfparam,float *,int *,float *,float *); +void read_gf(char *,char *,float *,int,struct gfheader *,struct gfparam); + +void rand_init(float *,float *,int *,int,int,int,int,int,int); +double gaus_rand(float *,float *,int *); +double sfrand(int *); + +void sum_4gf(float *,int,float *,struct gfheader *,int,int,float *,float *,float *,int,struct mechparam); +void timeshift_gf(float *,int,float *,struct gfheader *,int,float *,float *,int); +void mech_4gf(float *,float *,struct gfheader *,struct gfparam gfp,int,struct mechparam,float *,float *); + +void read_beroza(struct beroza *,char *rfile,float *); +void get_brmpars(struct beroza *,int,int,float *,float *,float *,float *); +void beroza_stf(struct beroza *,int,int,float *,float *,float *,int,float *,float *); + +void read_okumura(struct okumura *,char *rfile,float *); +void get_ormpars(struct okumura *,int,int,float *,float *,float *,float *); +void okumura_stf(struct okumura *,int,int,float *,float *,float *,int,float *); + +void read_gene(struct gene *,char *rfile,float *); +void get_grmpars(struct gene *,int,int,float *,float *,float *,float *,float *); +void gene_stf(struct gene *,int,int,float *,float *,float *,int,float *); + +void read_rob(struct rob *,char *rfile,float *); +void get_rrmpars(struct rob *,int,int,float *,float *,float *,float *,float *,float *); +void rob_stf(struct rob *,int,int,float *,float *,float *,int,float *,float *); +int gen_rob_stf(struct rob *,int,int,float *,int,float *,float *); + +void get_srfpars(struct standrupformat *,int,int,float *,float *,float *,float *,float *,struct mechparam *); +void get_srfparsOLD(struct standrupformat *,int,int,float *,float *,float *,int,int,struct mechparam *); +void srf_stf(struct standrupformat *,int,int,float *,float *,float *,int,float *,struct mechparam,float *); + +char *skipval(int,char *); +void do_cnvlv(float *,float *,int,float *,int); +void sum_nostf(float *,float *,float *,int); +void write_seis(char *,char *,char *,float *,float *,int,float *,int); + +void swap_in_place(int,char *); + +double nt_tol(float,int); + +void getname_gf(char *str,char *gfname,struct gfheader *gfh,struct gfparam gfpar); +int check_name(char *str,char *list,int n,int blen); Added: SwiftApps/Cybershake/app/post/JBSim3d/src/gen_gflist.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/gen_gflist.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/gen_gflist.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,253 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +#define MAXLINE 256 +#define MAXFILE 1000000 +#define INCFILE 1000 + +main(int ac,char **av) +{ +FILE *fopfile(), *fplist; +struct gfheader gfhead[4]; +float maxgft; +struct gfparam gfpar; +int kg, ig, kfalloc, nfile; + +float kperd_n, kperd_e; +float elon = -118.0; +float elat = 34.0; +float slat, slon, snorth, seast; +double e2, den, g2, lat0; + +float rt = 0.0; +float strike = 0.0; +float dip = 90.0; +float rake = 180.0; +float dtop = 0.1; + +float len, wid; +int i, j, k, l, ip, ip0; + +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +struct mechparam mechpar; +int maxmech; + +float vslip; + +int apv_off = 0; +int nseg = -1; +int inbin = 0; + +int kp; +float len2, ds0, dd0, dsf, ddf, s2; +int ntsum, maxnt, it, ntp2; +float mindt; +float x0, y0, z0, dd; +int nsubstk, nsubdip; +int nfinestk = 1; +int nfinedip = 1; + +float scale, arg, cosD, sinD; +float azi, rng, deast, dnorth; +int ncomp = 3; + +float *space; +float dtout = -1.0; + +int fdw; +char gfpath[128], gfname[64]; +char rupmodfile[128], filelist[256]; +char string[MAXLINE], *listbuf; + +double rperd = 0.017453293; +int latloncoords = 0; +int list_flag = 0; + +sprintf(gfpar.gftype,"3d"); + +setpar(ac, av); +getpar("latloncoords","d",&latloncoords); + +if(latloncoords == 1) + { + getpar("elat","f",&elat); + getpar("elon","f",&elon); + mstpar("slat","f",&slat); + mstpar("slon","f",&slon); + } +else + { + mstpar("snorth","f",&snorth); + mstpar("seast","f",&seast); + } + +mstpar("rupmodfile","s",rupmodfile); +getpar("nseg","d",&nseg); +getpar("inbin","d",&inbin); + +mstpar("filelist","s",filelist); + +mstpar("gftype","s",gfpar.gftype); + +if((strncmp(gfpar.gftype,"fk",2) == 0) || (strncmp(gfpar.gftype,"FK",2) == 0)) + { + gfpar.flag3d = 0; + gfpar.nc = 8; + mstpar("gflocs","s",gfpar.gflocs); + mstpar("gftimes","s",gfpar.gftimes); + } +else if((strncmp(gfpar.gftype,"3d",2) == 0) || (strncmp(gfpar.gftype,"3D",2) == 0)) + { + gfpar.flag3d = 1; + gfpar.nc = 18; + mstpar("gflocs","s",gfpar.gflocs); + mstpar("gfrange_tolerance","f",&gfpar.rtol); + } +else + { + fprintf(stderr,"gftype= %s invalid option, exiting...\n",gfpar.gftype); + exit(-1); + } + +mstpar("gfpath","s",gfpath); +mstpar("gfname","s",gfname); + +endpar(); + +kfalloc = INCFILE; +listbuf = (char *) check_malloc (kfalloc*MAXFILE*sizeof(char)); + +maxmech = 1; +mechpar.nmech = 1; +mechpar.flag[0] = U1FLAG; +mechpar.flag[1] = 0; +mechpar.flag[2] = 0; + +maxmech = 3; +nfinestk = 1; +nfinedip = 1; + +read_srf(&srf,rupmodfile,inbin); +prect_ptr = &srf.srf_prect; +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &srf.srf_apnts; +apval_ptr = apnts_ptr->apntvals; + +if(nseg < 0) /* do all POINTS */ + { + nsubstk = srf.srf_apnts.np; + nsubdip = 1; + + len = 10.0; + wid = 10.0; + + apv_off = 0; + } +else + { + elon = prseg_ptr[nseg].elon; + elat = prseg_ptr[nseg].elat; + strike = prseg_ptr[nseg].stk; + dip = prseg_ptr[nseg].dip; + dtop = prseg_ptr[nseg].dtop; + + nsubstk = prseg_ptr[nseg].nstk; + nsubdip = prseg_ptr[nseg].ndip; + + len = prseg_ptr[nseg].flen; + wid = prseg_ptr[nseg].fwid; + + /* reset POINTS pointer to appropriate segment */ + + apv_off = 0; + for(i=0;i kfalloc) + { + kfalloc = kfalloc + INCFILE; + listbuf = (char *) check_realloc (listbuf,kfalloc*MAXLINE*sizeof(char)); + } + + strcpy(listbuf+nfile*MAXLINE,string); + nfile++; + } + } + } + } + } + } + +fplist = fopfile(filelist,"w"); +for(ig=0;ignstk); + +xx = *xp - grm->shypo; +zz = *zp - grm->dhypo; + +*rt = sqrt(xx*xx + zz*zz)/grm->vrup[ip]; +*rk = grm->rake[ip]; +*vs = grm->slip[ip]; +} + +void gene_stf(struct gene *grm,int i,int j,float *s,float *u,float *stf,int nt,float *dt) +{ +FILE *fpw; +int it, k, ntri, nstf; +int ip, itdel; +float t2, tt, amp; +float sum; + +float half = 0.5; +float one = 1.0; + +zapit(stf,nt); + +ip = i + j*(grm->nstk); + +t2 = 0.5*grm->trise; +ntri = (int)(grm->trise/(*dt) + one); + +for(k=0;knt[ip];k++) + { + itdel = (int)((k*grm->tdel)/(*dt) + half); + amp = grm->swgt[k + grm->maxtw*ip]; + + for(it=0;ittrise) + stf[it+itdel] = stf[it+itdel] + amp*(grm->trise - tt); + } + } + +nstf = nt-1; +while(stf[nstf] == (float)(0.0) && nstf) + nstf--; + +if(nstf == 0) + { + sum_nostf(s,u,&(grm->slip[ip]),nt); + return; + } + +if(nstf < nt-1) + nstf = nstf + 2;; + +sum = 0.0; +for(it=0;itslip[ip])/sum; +for(it=0;itnt[ip];k++) + fprintf(fpw," %4.0f",grm->swgt[k + grm->maxtw*ip]); + fprintf(fpw,"\n"); + + fprintf(fpw,"%d %13.5e\n",nstf,(*dt)); + for(it=0;itnstk, + &grm->ndip, + &grm->flen, + &grm->fwid, + &grm->shypo, + &grm->dhypo, + &grm->trise, + &grm->tdel, + &grm->maxtw); + +grm->dlen = (grm->flen)/(grm->nstk); +grm->dwid = (grm->fwid)/(grm->ndip); + +*len2 = 0.5*(grm->flen); + +grm->as = (float *) check_malloc ((grm->nstk)*(grm->ndip)*sizeof(float)); +grm->dd = (float *) check_malloc ((grm->nstk)*(grm->ndip)*sizeof(float)); +grm->slip = (float *) check_malloc ((grm->nstk)*(grm->ndip)*sizeof(float)); +grm->rake = (float *) check_malloc ((grm->nstk)*(grm->ndip)*sizeof(float)); +grm->vrup = (float *) check_malloc ((grm->nstk)*(grm->ndip)*sizeof(float)); +grm->nt = (int *) check_malloc ((grm->nstk)*(grm->ndip)*sizeof(int)); +grm->swgt = (float *) check_malloc ((grm->maxtw)*(grm->nstk)*(grm->ndip)*sizeof(float)); + +for(j=0;j<(grm->maxtw)*(grm->nstk)*(grm->ndip);j++) + grm->swgt[j] = 0.0; + +for(j=0;j<(grm->ndip);j++) + { + for(i=0;i<(grm->nstk);i++) + { + k = i + j*(grm->nstk); + + fgets(string,256,fpr); + sscanf(string,"%f %f %f %f %f %d",&grm->as[k], + &grm->dd[k], + &grm->slip[k], + &grm->rake[k], + &grm->vrup[k], + &grm->nt[k]); + + sptr = string; + sptr = skipval(6,sptr); + + for(it=0;itnt[k];it++) + { + sscanf(sptr,"%f",&grm->swgt[it + (grm->maxtw)*k]); + sptr = skipval(1,sptr); + } + } + } +fclose(fpr); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/geoproj_subs.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/geoproj_subs.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/geoproj_subs.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,197 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +#define RPERD 0.017453292 +#define ERAD 6378.139 +#define FLAT_CONST 298.256 + +void gcproj(float *xf,float *yf,float *rlon,float *rlat,float *ref_rad,double *g0,double *b0,double *amat,double *ainv,int gflag) +{ +double xp, yp, zp; +double xg, yg, zg; +double arg; +double cosG, sinG; +double cosB, sinB; + +double rperd = RPERD; + +if(gflag == 0) + { + arg = (*xf)/(*ref_rad) - (*b0); + cosB = cos(arg); + sinB = sin(arg); + + arg = (*yf)/(*ref_rad) - (*g0); + cosG = cos(arg); + sinG = sin(arg); + + arg = sqrt(1.0 + sinB*sinB*sinG*sinG); + xp = sinG*cosB*arg; + yp = sinB*cosG*arg; + zp = sqrt(1.0 - xp*xp - yp*yp); + + xg = xp*amat[0] + yp*amat[1] + zp*amat[2]; + yg = xp*amat[3] + yp*amat[4] + zp*amat[5]; + zg = xp*amat[6] + yp*amat[7] + zp*amat[8]; + + arg = sqrt(xg*xg + yg*yg)/zg; + (*rlat) = 90.0 - atan(arg)/rperd; + + if(xg != (double)(0.0)) + { + arg = yg/xg; + (*rlon) = atan(arg)/rperd; + } + else + (*rlon) = 0.0; + + if(yg < (double)(0.0)) + (*rlon) = (*rlon) - 180.0; + } +else + { + arg = (*rlon)*rperd; + cosG = cos(arg); + sinG = sin(arg); + + arg = (90.0 - (*rlat))*rperd; + cosB = cos(arg); + sinB = sin(arg); + + xg = sinB*cosG; + yg = sinB*sinG; + zg = cosB; + + xp = xg*ainv[0] + yg*ainv[1] + zg*ainv[2]; + yp = xg*ainv[3] + yg*ainv[4] + zg*ainv[5]; + zp = xg*ainv[6] + yg*ainv[7] + zg*ainv[8]; + + sinG = xp/sqrt(1.0 - yp*yp); + sinB = yp/sqrt(1.0 - xp*xp); + + *xf = (double)(*ref_rad)*(asin(sinB)+(*b0)); + *yf = (double)(*ref_rad)*(asin(sinG)+(*g0)); + } +} + +void gen_matrices(double *amat,double *ainv,float *alpha,float *ref_lon,float *ref_lat) +{ +double arg; +double cosA, sinA; +double cosT, sinT; +double cosP, sinP; +double det; + +double rperd = RPERD; + +arg = (double)(*alpha)*rperd; +cosA = cos(arg); +sinA = sin(arg); + +arg = (double)(90.0-*ref_lat)*rperd; +cosT = cos(arg); +sinT = sin(arg); + +arg = (double)(*ref_lon)*rperd; +cosP = cos(arg); +sinP = sin(arg); + +amat[0] = cosA*cosT*cosP + sinA*sinP; +amat[1] = sinA*cosT*cosP - cosA*sinP; +amat[2] = sinT*cosP; +amat[3] = cosA*cosT*sinP - sinA*cosP; +amat[4] = sinA*cosT*sinP + cosA*cosP; +amat[5] = sinT*sinP; +amat[6] = -cosA*sinT; +amat[7] = -sinA*sinT; +amat[8] = cosT; + +det = amat[0]*(amat[4]*amat[8] - amat[7]*amat[5]) + - amat[1]*(amat[3]*amat[8] - amat[6]*amat[5]) + + amat[2]*(amat[3]*amat[7] - amat[6]*amat[4]); + +det = 1.0/det; +ainv[0] = det*amat[0]; +ainv[1] = det*amat[3]; +ainv[2] = det*amat[6]; +ainv[3] = det*amat[1]; +ainv[4] = det*amat[4]; +ainv[5] = det*amat[7]; +ainv[6] = det*amat[2]; +ainv[7] = det*amat[5]; +ainv[8] = det*amat[8]; +} + +void geocen(float *r,double x) +{ +*r = atan((1.0 - (1.0/FLAT_CONST))*tan(x)); +fprintf(stderr,"%20.10f %20.10f %20.10f\n",*r,x,atan((1.0 - (1.0/FLAT_CONST))*tan(x))); +} + +void set_g2(float *g2,float *fc) +{ +float f; + +f = (1.0)/(*fc); +*g2 = ((2.0)*f - f*f)/(((1.0) - f)*((1.0) - f)); +} + +void latlon2km(float *arg,float *latkm,float *lonkm,float *rc,float *g2) +{ +float cosA, sinA, g2s2, den; + +float fone = 1.0; +float ftwo = 2.0; + +cosA = cos((*arg)); +sinA = sin((*arg)); +g2s2 = (*g2)*sinA*sinA; + +den = sqrt((fone)/((fone) + g2s2)); +*lonkm = (*rc)*cosA*den; +*latkm = (*rc)*(sqrt((fone) + g2s2*((ftwo) + (*g2))))*den*den*den; +} + +void set_geoproj(struct sgtmaster *sgtmast,struct geoprojection *geop) +{ +float latavg, xlen, ylen; + +geop->geoproj = sgtmast->geoproj; +geop->modellon = sgtmast->modellon; +geop->modellat = sgtmast->modellat; +geop->modelrot = sgtmast->modelrot; +geop->xshift = sgtmast->xshift; +geop->yshift = sgtmast->yshift; + +geop->rperd = RPERD; +geop->erad = ERAD; + +xlen = -2.0*geop->xshift; +ylen = -2.0*geop->yshift; + +if(geop->geoproj == 0) + { + geop->center_origin = 0; /* assume for now */ + geop->cosR = cos((geop->modelrot)*(geop->rperd)); + geop->sinR = sin((geop->modelrot)*(geop->rperd)); + + geop->fc = FLAT_CONST; + geop->radc = (geop->erad)*(geop->rperd); + set_g2(&geop->g2,&geop->fc); + + latavg = geop->modellat; + if(geop->center_origin == 0) /* backward compatible */ + latavg = geop->modellat - 0.5*(xlen*geop->sinR + ylen*geop->cosR)/111.20; + + geocen(&latavg,(double)(latavg)*(geop->rperd)); + latlon2km(&latavg,&geop->kmlat,&geop->kmlon,&geop->radc,&geop->g2); + } +else if(geop->geoproj == 1) + { + gen_matrices(geop->amat,geop->ainv,&geop->modelrot,&geop->modellon,&geop->modellat); + + geop->g0 = (double)(0.5*ylen)/(double)(geop->erad); + geop->b0 = (double)(0.5*xlen)/(double)(geop->erad); + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/get_ruptime.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/get_ruptime.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/get_ruptime.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,375 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void conv2vrup(char *vfile,struct velmodel *vm,float *dip,float *ztop,float *wid,float *rvf,float *shal_vr) +{ +FILE *fopfile(), *fpr; +int i, j, k; +float invsinA, dep, zbot; +char string[256]; + +float rperd = 0.017453293; +float dmin = 4.0; +float dmax = 6.0; +float rvfac; + +fpr = fopfile(vfile,"r"); + +fgets(string,256,fpr); +sscanf(string,"%d",&vm->nlay); + +vm->vs = (double *) check_malloc ((vm->nlay)*sizeof(double)); +vm->invb2 = (double *) check_malloc ((vm->nlay)*sizeof(double)); +vm->th = (float *) check_malloc ((vm->nlay)*sizeof(float)); + +for(i=0;inlay;i++) + { + fgets(string,256,fpr); + sscanf(string,"%f %lf",&vm->th[i],&vm->vs[i]); + } + +fclose(fpr); + +i = 0; +dep = vm->th[0]; +while(dep < (*ztop)) + { + i++; + dep = dep + vm->th[i]; + } + +zbot = *ztop + (*wid)*sin((*dip)*rperd); +invsinA = 1.0/sin((*dip)*rperd); + +if(dep >= dmax) + rvfac = (*rvf); +else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); +else + rvfac = (*rvf)*(*shal_vr); + +vm->th[0] = invsinA*(dep - (*ztop)); +vm->vs[0] = rvfac*vm->vs[i]; + +j = i; +k = 0; +while(dep < zbot) + { + j++; k++; + dep = dep + vm->th[j]; + + if(dep >= dmax) + rvfac = (*rvf); + else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); + else + rvfac = (*rvf)*(*shal_vr); + + vm->th[k] = invsinA*vm->th[j]; + vm->vs[k] = rvfac*vm->vs[j]; + } + +vm->nlay = k + 1; + +for(i=0;inlay;i++) + vm->invb2[i] = 1.0/(vm->vs[i]*vm->vs[i]); +} + +get_rupt(vm,h,srcd,recd,srcr,recr,p,rad,tt) +struct velmodel *vm; +float *h, *srcr, *recr, *recd, *tt, *srcd; +double *p, *rad; +{ +double sth, rth, rng; +float sdep, rdep; +float tol; +float tup, thead; +int k, slay, rlay, linc; + +float tenth = 0.1; +double eps = 1.0e-12; + +tol = tenth*(*h); + +rng = *srcr - *recr; +if(rng < 0.0) + rng = -rng; + +k = 0; +sdep = vm->th[0]; +while((*srcd) > sdep) + { + k++; + sdep = sdep + vm->th[k]; + } +slay = k; + +k = 0; +rdep = vm->th[0]; +while((*recd) > rdep) + { + k++; + rdep = rdep + vm->th[k]; + } +rlay = k; + +sth = sdep - *srcd; +rth = rdep - *recd; +get_headtime(vm,slay,&sth,rlay,&rth,&rng,&thead); + +if(slay != rlay) + { + if(sdep > rdep) + { + sth = vm->th[slay] - (sdep - *srcd); + rth = rdep - *recd; + linc = -1; + } + else + { + sth = sdep - *srcd; + rth = vm->th[rlay] - (rdep - *recd); + linc = 1; + } + +/* + bisection method +*/ + bisect_p(vm,slay,&sth,rlay,&rth,p,&eps,&tol,&rng,linc); + + /* get path length and travel time for correct ray parameter */ + + get_radtime(vm,slay,&sth,rlay,&rth,p,rad,&tup,linc); + } +else + { + *rad = sqrt(rng*rng + ((*srcd)-(*recd))*((*srcd)-(*recd))); + tup = (*rad)/vm->vs[slay]; + } + +*tt = thead; +if(tup < thead) + *tt = tup; +else + fprintf(stderr,"*** thead selected\n"); + +/* +fprintf(stderr,"*** thd= %f tup= %f\n",thead,tup); +*/ +} + +bisect_p(vm,slay,sth,rlay,rth,p,eps,tol,rng,linc) +struct velmodel *vm; +double *sth, *rth, *p, *rng, *eps; +float *tol; +int linc, slay, rlay; +{ +double tp0, pp, pm, p0, r0, delr; +int i, ic; + +int nc = 100; + +p0 = 1.0/vm->vs[slay]; +for(i=slay+linc;i!=rlay;i=i+linc) + { + tp0 = 1.0/vm->vs[i]; + if(tp0 < p0) + p0 = tp0; + } +tp0 = 1.0/vm->vs[rlay]; +if(tp0 < p0) + p0 = tp0; + +*p = *eps; + +get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + +if(r0 < *rng) /* if not, then p=0 (vertical ray) */ + { + /* bracket range with ray parameter extremes */ + + ic = 0; + while(r0 < *rng && ic < nc) + { + ic++; + *p = p0*(1.0 - (*eps)/(double)(ic*ic)); + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + } + + pp = *p; + pm = *eps; + + delr = r0 - *rng; + +/* + use bisection to converge to correct ray parameter +*/ + + ic = 0; + while(delr > *tol) + { + *p = 0.5*(pp + pm); + + if(*p == pp || *p == pm) /* beyond double precision accuracy */ + break; + + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + if(r0 >= *rng) + { + delr = r0 - *rng; + pp = *p; + } + else + { + delr = *rng - r0; + pm = *p; + } + + ic++; + if(ic > nc) + break; + } + } +else + *p = 0.0; +} + +get_range(vm,slay,sth,rlay,rth,p,r0,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +int linc, slay, rlay; +{ +int i; +double denom, arg; +double invp2; + +invp2 = 1.0/((*p)*(*p)); + +denom = sqrt(invp2*vm->invb2[slay] - 1.0); +*r0 = (*sth)/denom; + +for(i=slay+linc;i!=rlay;i=i+linc) + { + denom = sqrt(invp2*vm->invb2[i] - 1.0); + *r0 = *r0 + vm->th[i]/denom; + } + +denom = sqrt(invp2*vm->invb2[rlay] - 1.0); +*r0 = *r0 + (*rth)/denom; +} + +get_radtime(vm,slay,sth,rlay,rth,p,r0,tt,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +float *tt; +int linc, slay, rlay; +{ +int i; +double r1, rad, arg; +double denom, invp2; + +if(*p > 0.0) + { + arg = 1.0 - (*p)*(*p)*vm->vs[slay]*vm->vs[slay]; + denom = sqrt(arg); + + *r0 = (*sth)/denom; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + arg = 1.0 - (*p)*(*p)*vm->vs[i]*vm->vs[i]; + denom = sqrt(arg); + + rad = vm->th[i]/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[i]; + } + + arg = 1.0 - (*p)*(*p)*vm->vs[rlay]*vm->vs[rlay]; + denom = sqrt(arg); + + rad = (*rth)/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[rlay]; + } +else + { + *r0 = *sth; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + *r0 = *r0 + vm->th[i]; + *tt = *tt + vm->th[i]/vm->vs[i]; + } + + *r0 = *r0 + *rth; + *tt = *tt + (*rth)/vm->vs[rlay]; + } +} + +get_headtime(mod,slay,sth,rlay,rth,rad,tt) +struct velmodel *mod; +double *sth, *rth, *rad; +float *tt; +int slay, rlay; +{ +int vflag, j, jj, jst, jnd; +double inv2, rc, tinc, arg; + +jst = rlay; +if(slay > rlay) + jst = slay; + +*tt = 1.0e+5; +for(jnd=jst+1;jndnlay;jnd++) + { + jj = rlay; + if(slay < rlay) + jj = slay; + + vflag = 1; + for(j=jj;jvs[j] > mod->vs[jnd]) + vflag = -1; + } + + if(vflag == 1) + { + tinc = (*rad)/mod->vs[jnd]; + inv2 = 1.0/(mod->vs[jnd]*mod->vs[jnd]); + + arg = 1.0/(mod->vs[slay]*mod->vs[slay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*sth)*arg; + rc = (*sth)/(arg*mod->vs[jnd]); + + for(j=slay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + for(j=rlay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + arg = 1.0/(mod->vs[rlay]*mod->vs[rlay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*rth)*arg; + rc = rc + (*rth)/(arg*mod->vs[jnd]); + + if(tinc < *tt && rc < (*rad)) + *tt = tinc; + } + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/greenfunc.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/greenfunc.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/greenfunc.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,970 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void get_gfpars(struct gfparam *gfp) +{ +FILE *fpr, *fopfile(); +float rng, z0; +int i, j, error; + +if(gfp->flag3d == 0) + { + fpr = fopfile(gfp->gflocs,"r"); + + error = fscanf(fpr,"%d",&gfp->ngfr); + if (error!=1) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + gfp->gfr = (float *) check_malloc (gfp->ngfr*sizeof(float)); + for(i=0;ingfr;i++) { + error = fscanf(fpr,"%f",&gfp->gfr[i]); + if (error!=1) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + } + + error = fscanf(fpr,"%d",&gfp->ngfd); + if (error!=1) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + gfp->gfd = (float *) check_malloc (gfp->ngfd*sizeof(float)); + for(i=0;ingfd;i++) { + error = fscanf(fpr,"%f",&gfp->gfd[i]); + if (error!=1) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + } + + fclose(fpr); + + fpr = fopfile(gfp->gftimes,"r"); + + gfp->gft = (float *) check_malloc (gfp->ngfd*gfp->ngfr*sizeof(float)); + for(j=0;jngfd;j++) { + for(i=0;ingfr;i++) { + fscanf(fpr,"%*f %*f %*f"); + error = fscanf(fpr,"%f %f %f",&z0,&rng,&gfp->gft[i+j*(gfp->ngfr)]); + if (error!=3) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gftimes); + exit(-3); + } + if(gfp->gfr[i] < rng*(1.0-0.01) || gfp->gfr[i] > rng*(1.0+0.01) || + gfp->gfd[j] < z0*(1.0-0.01) || gfp->gfd[j] > z0*(1.0+0.01)) { + fprintf(stderr,"*** mismatch between gflocs and gftimes, exiting...\n"); + fprintf(stderr,"*** i= %d j= %d\n",i,j); + exit(-1); + } + } + } + + fclose(fpr); + } +else + { + fpr = fopfile(gfp->gflocs,"r"); + + error = fscanf(fpr,"%d",&gfp->ngfr); + if (error!=1) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + gfp->gfn = (float *) check_malloc (gfp->ngfr*sizeof(float)); + gfp->gfe = (float *) check_malloc (gfp->ngfr*sizeof(float)); + gfp->gfr = (float *) check_malloc (gfp->ngfr*sizeof(float)); + for(i=0;ingfr;i++) { + error = fscanf(fpr,"%f %f %f",&gfp->gfn[i],&gfp->gfe[i],&gfp->gfr[i]); + if (error!=3) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + } + + error = fscanf(fpr,"%d",&gfp->ngfd); + if (error!=1) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + + gfp->gfd = (float *) check_malloc (gfp->ngfd*sizeof(float)); + for(i=0;ingfd;i++) { + error = fscanf(fpr,"%f",&gfp->gfd[i]); + if (error!=1) { + fprintf(stderr, "Error reading from file %s.\n", gfp->gflocs); + exit(-3); + } + } + fclose(fpr); + } +} + +void find_4gf(struct gfparam gfp,struct gfheader *gfh,float *rng,float *dep,float *se,float *sn) +{ +int i, ir, ir0, ir1, id0, id1; +float sum, rr0, rr1, dd0, dd1; +float dr, dr0, dr1, drng; + +if(gfp.flag3d == 0) + { + ir1 = 0; + while(gfp.gfr[ir1] < *rng && ir1 < (gfp.ngfr)-1) + ir1++; + + ir0 = ir1 - 1; + + if(ir1 == 0) + { + ir0 = ir1; + fprintf(stderr,"*** range= %f < gf range limits\n",*rng); + } + + if(ir1 == (gfp.ngfr)-1 && gfp.gfr[ir1] < *rng) + { + ir0 = ir1; + fprintf(stderr,"*** range= %f > gf range limits\n",*rng); + } + + rr0 = gfp.gfr[ir0] - *rng; + rr1 = gfp.gfr[ir1] - *rng; + rr0 = rr0*rr0; + rr1 = rr1*rr1; + } +else + { + ir0 = -1; + dr0 = 1.0e+10; + ir1 = -1; + dr1 = 1.0e+10; + for(ir=0;ir= 0.0 && drng <= gfp.rtol) + { + dr = (gfp.gfn[ir]-(*sn))*(gfp.gfn[ir]-(*sn)) + + (gfp.gfe[ir]-(*se))*(gfp.gfe[ir]-(*se)); + + if(dr < dr1) + { + dr1 = dr; + ir1 = ir; + } + } + } + + if(ir0 == -1) + ir0 = ir1; + if(ir1 == -1) + ir1 = ir0; + + rr0 = (gfp.gfn[ir0]-(*sn))*(gfp.gfn[ir0]-(*sn)) + + (gfp.gfe[ir0]-(*se))*(gfp.gfe[ir0]-(*se)); + rr1 = (gfp.gfn[ir1]-(*sn))*(gfp.gfn[ir1]-(*sn)) + + (gfp.gfe[ir1]-(*se))*(gfp.gfe[ir1]-(*se)); + } + +id1 = 0; +while(gfp.gfd[id1] < *dep && id1 < (gfp.ngfd)-1) + id1++; + +id0 = id1 - 1; + +if(id1 == 0) + id0 = id1; + +if(id1 == (gfp.ngfd)-1 && gfp.gfd[id1] < *dep) + id0 = id1; + +dd0 = gfp.gfd[id0] - *dep; +dd1 = gfp.gfd[id1] - *dep; +dd0 = dd0*dd0; +dd1 = dd1*dd1; + +gfh[0].read_flag = 0; +if(gfh[0].id == id0 && gfh[0].ir == ir0) /* already read-in */ + gfh[0].read_flag = 1; + +gfh[1].read_flag = 0; +if(gfh[1].id == id0 && gfh[1].ir == ir1) /* already read-in */ + gfh[1].read_flag = 1; + +gfh[2].read_flag = 0; +if(gfh[2].id == id1 && gfh[2].ir == ir0) /* already read-in */ + gfh[2].read_flag = 1; + +gfh[3].read_flag = 0; +if(gfh[3].id == id1 && gfh[3].ir == ir1) /* already read-in */ + gfh[3].read_flag = 1; + +/* even if read_flag=1 still set wt's since dists. may be slightly different */ + +gfh[0].id = id0; gfh[0].ir = ir0; gfh[0].wt = sqrt(dd0 + rr0); +gfh[1].id = id0; gfh[1].ir = ir1; gfh[1].wt = sqrt(dd0 + rr1); +gfh[2].id = id1; gfh[2].ir = ir0; gfh[2].wt = sqrt(dd1 + rr0); +gfh[3].id = id1; gfh[3].ir = ir1; gfh[3].wt = sqrt(dd1 + rr1); + +if(gfh[0].wt == 0.0) + { gfh[0].wt = 1.0; gfh[1].wt = 0.0; gfh[2].wt = 0.0; gfh[3].wt = 0.0; } +else if(gfh[1].wt == 0.0) + { gfh[0].wt = 0.0; gfh[1].wt = 1.0; gfh[2].wt = 0.0; gfh[3].wt = 0.0; } +else if(gfh[2].wt == 0.0) + { gfh[0].wt = 0.0; gfh[1].wt = 0.0; gfh[2].wt = 1.0; gfh[3].wt = 0.0; } +else if(gfh[3].wt == 0.0) + { gfh[0].wt = 0.0; gfh[1].wt = 0.0; gfh[2].wt = 0.0; gfh[3].wt = 1.0; } +else + { + sum = 1.0/gfh[0].wt + 1.0/gfh[1].wt + 1.0/gfh[2].wt + 1.0/gfh[3].wt; + sum = 1.0/sum; + for(i=0;i<4;i++) + gfh[i].wt = sum/gfh[i].wt; + } +} + +void read_4gf(char *gfpath,char *gfname,float *gf,int nts,struct gfheader *gfh,struct gfparam gfpar,float *maxgft,int *maxnt,float *dtout,float *space) +{ +float *gfptr, fnt, pbar; +int kg, ig, resamp, ntpad, ntrsmp; +int gnt; + +float tol = 1.0e-02; + +float pratio_tol, mratio_tol; +float ratio_tol = 0.00001; + +pratio_tol = 1.0 + ratio_tol; +mratio_tol = 1.0 - ratio_tol; + +*maxgft = -1.0e+15; +*maxnt = -1; + +for(kg=0;kg<4;kg++) + { + if(gfh[kg].read_flag == 1) + fprintf(stderr,"*** already read-in\n"); + + else /* new location, need to read-in GF */ + { + gfptr = gf + gfpar.nc*kg*nts; + zapit(gfptr,gfpar.nc*nts); + + read_gf(gfpath,gfname,gfptr,nts,&gfh[kg],gfpar); + } + + if(gfpar.flag3d == 0 && gfh[kg].gft > *maxgft) + *maxgft = gfh[kg].gft; + + /* resample if needed */ + if((*dtout)/gfh[kg].dt > pratio_tol || (*dtout)/gfh[kg].dt < mratio_tol) + { + fprintf(stderr,"*** RESAMPLED diff= %13.5e ratio= %13.5e\n",(*dtout)-gfh[kg].dt,(*dtout)/gfh[kg].dt); + + ntpad = 2*gfh[kg].nt; + fnt = ntpad*gfh[kg].dt/(*dtout); + gnt = (int)(fnt + 0.5); + + while(nt_tol(fnt,gnt) > tol) + { + ntpad++; + fnt = ntpad*gfh[kg].dt/(*dtout); + gnt = (int)(fnt + 0.5); + } + +/* + while(modff(fnt,&fnt) != (float)(0.0)) + { + ntpad++; + fnt = ntpad*gfh[kg].dt/(*dtout); + } +*/ + + ntrsmp = (int)(fnt); + if(ntrsmp > nts) + { + fprintf(stderr,"*** resampled nt > ntsum, exiting...\n"); + exit(-1); + } + + if((*dtout) < gfh[kg].dt) + resamp = 1; + else + resamp = -1; + + for(ig=0;ig *maxnt) + *maxnt = gfh[kg].nt; + } + +if(gfpar.flag3d == 1) /* adjust stime arrivals using average Vs near GF locations */ + { + pbar = 0.0; + for(kg=0;kg<4;kg++) + pbar = pbar + sqrt(gfh[kg].rho/gfh[kg].mu); /* slowness */ + pbar = 0.25*pbar; + + for(kg=0;kg<4;kg++) + { + gfh[kg].gft = pbar*sqrt(gfh[kg].rng*gfh[kg].rng + gfh[kg].dep*gfh[kg].dep); + if(gfh[kg].gft > *maxgft) + *maxgft = gfh[kg].gft; + } + } +} + +void read_gf(char *gfpath,char *gfname,float *gf,int nts,struct gfheader *gfh,struct gfparam gfpar) +{ +float *gfp; +int fdr, it, ig, swap_flag; +char ndx[16], edx[16], ddx[16], str[256]; + +if(gfpar.flag3d == 0) + { + sprintf(str,"%s/%s%.4d%.4d",gfpath,gfname,(1 + gfh->id),(1 + gfh->ir)); + + fdr = opfile_ro(str); + + reed(fdr,&gfh->nt,sizeof(int)); + reed(fdr,&gfh->dt,sizeof(float)); + reed(fdr,&gfh->dep,sizeof(float)); + reed(fdr,&gfh->rng,sizeof(float)); + reed(fdr,&gfh->tst,sizeof(float)); + reed(fdr,&gfh->mom,sizeof(float)); + reed(fdr,&gfh->mu,sizeof(float)); + + if(gfpar.swap_flag == 0) /* byte-order is OK, no swapping needed */ + swap_flag = 0; + else /* byte-order not OK, swapping needed */ + { + swap_in_place(1,(char *)(&gfh->nt)); + swap_in_place(1,(char *)(&gfh->dt)); + swap_in_place(1,(char *)(&gfh->dep)); + swap_in_place(1,(char *)(&gfh->rng)); + swap_in_place(1,(char *)(&gfh->tst)); + swap_in_place(1,(char *)(&gfh->mom)); + swap_in_place(1,(char *)(&gfh->mu)); + + swap_flag = 1; + } + + gfh->gft = gfpar.gft[gfh->ir + (gfh->id)*(gfpar.ngfr)]; + + for(ig=0;ignt*sizeof(float)); + + if(swap_flag == 1) + swap_in_place(gfh->nt,(char *)(gfp)); + } + } +else + { + if(gfpar.gfn[gfh->ir] < 0.0) + sprintf(ndx,"-%.6d",(int)(-1000.0*gfpar.gfn[gfh->ir] + 0.5)); + else + sprintf(ndx,"+%.6d",(int)(1000.0*gfpar.gfn[gfh->ir] + 0.5)); + + if(gfpar.gfe[gfh->ir] < 0.0) + sprintf(edx,"-%.6d",(int)(-1000.0*gfpar.gfe[gfh->ir] + 0.5)); + else + sprintf(edx,"+%.6d",(int)(1000.0*gfpar.gfe[gfh->ir] + 0.5)); + + sprintf(ddx,"%.5d",(int)(1000.0*gfpar.gfd[gfh->id] + 0.5)); + + if(gfpar.use_depdir == 1) + sprintf(str,"%s/D%s/%s_n%se%sd%s.sgt",gfpath,ddx,gfname,ndx,edx,ddx); + else + sprintf(str,"%s/%s_n%se%sd%s.sgt",gfpath,gfname,ndx,edx,ddx); + + fprintf(stderr,"GF= %s\n",str); + + fdr = opfile_ro(str); + + reed(fdr,&swap_flag,sizeof(int)); + reed(fdr,&gfh->olon,sizeof(float)); + reed(fdr,&gfh->olat,sizeof(float)); + reed(fdr,&gfh->slon,sizeof(float)); + reed(fdr,&gfh->slat,sizeof(float)); + reed(fdr,&gfh->north,sizeof(float)); + reed(fdr,&gfh->east,sizeof(float)); + reed(fdr,&gfh->dep,sizeof(float)); + reed(fdr,&gfh->xazim,sizeof(float)); + reed(fdr,&gfh->lam,sizeof(float)); + reed(fdr,&gfh->mu,sizeof(float)); + reed(fdr,&gfh->rho,sizeof(float)); + reed(fdr,&gfh->gft,sizeof(float)); + reed(fdr,&gfh->xmom,sizeof(float)); + reed(fdr,&gfh->ymom,sizeof(float)); + reed(fdr,&gfh->zmom,sizeof(float)); + reed(fdr,&gfh->tst,sizeof(float)); + reed(fdr,&gfh->nt,sizeof(int)); + reed(fdr,&gfh->dt,sizeof(float)); + + if(swap_flag == SWAP_FLAG) /* byte-order is OK, no swapping needed */ + swap_flag = 0; + else /* byte-order not OK, swapping needed */ + { + swap_in_place(1,(char *)(&swap_flag)); + swap_in_place(1,(char *)(&gfh->olon)); + swap_in_place(1,(char *)(&gfh->olat)); + swap_in_place(1,(char *)(&gfh->slon)); + swap_in_place(1,(char *)(&gfh->slat)); + swap_in_place(1,(char *)(&gfh->north)); + swap_in_place(1,(char *)(&gfh->east)); + swap_in_place(1,(char *)(&gfh->dep)); + swap_in_place(1,(char *)(&gfh->xazim)); + swap_in_place(1,(char *)(&gfh->lam)); + swap_in_place(1,(char *)(&gfh->mu)); + swap_in_place(1,(char *)(&gfh->rho)); + swap_in_place(1,(char *)(&gfh->gft)); + swap_in_place(1,(char *)(&gfh->xmom)); + swap_in_place(1,(char *)(&gfh->ymom)); + swap_in_place(1,(char *)(&gfh->zmom)); + swap_in_place(1,(char *)(&gfh->tst)); + swap_in_place(1,(char *)(&gfh->nt)); + swap_in_place(1,(char *)(&gfh->dt)); + + if(swap_flag != SWAP_FLAG) /* byte-order still not OK */ + { + fprintf(stderr,"Problem with swap_flag= %d, exiting...\n",swap_flag); + exit(-1); + } + else + swap_flag = 1; + } + + gfh->rng = sqrt((gfh->north)*(gfh->north) + (gfh->east)*(gfh->east)); + +fprintf(stderr,"xm= %13.5e ymom= %13.5e zmom= %13.5e\n",gfh->xmom,gfh->ymom,gfh->zmom); + if(gfh->xmom >= 0.0) + { + for(ig=0;ig<6;ig++) + { + gfp = gf + ig*nts; + reed(fdr,gfp,gfh->nt*sizeof(float)); + + if(swap_flag == 1) + swap_in_place(gfh->nt,(char *)(gfp)); + } + } + + if(gfh->ymom >= 0.0) + { + for(ig=6;ig<12;ig++) + { + gfp = gf + ig*nts; + reed(fdr,gfp,gfh->nt*sizeof(float)); + + if(swap_flag == 1) + swap_in_place(gfh->nt,(char *)(gfp)); + } + } + + if(gfh->zmom >= 0.0) + { + for(ig=12;ig<18;ig++) + { + gfp = gf + ig*nts; + reed(fdr,gfp,gfh->nt*sizeof(float)); + + if(swap_flag == 1) + swap_in_place(gfh->nt,(char *)(gfp)); + } + } + } + +close(fdr); +} + +void sum_4gf(float *seis,int ntout,float *gf,struct gfheader *gfh,int ntsum,int maxnt,float *rupt,float *maxgft,float *tstart,int tdflag,struct mechparam mp) +{ +int ig, it, im; +float backt0, t0[4]; +float *sptr, *gfptr; + +backt0 = 0.0; +for(ig=0;ig<4;ig++) + { + t0[ig] = *maxgft - gfh[ig].gft; + backt0 = backt0 - t0[ig]*gfh[ig].wt; + t0[ig] = t0[ig] + gfh[ig].tst; + } +backt0 = backt0 + *rupt - *tstart; + +for(im=0;im= 0.0) + itshift = (int)(tsh/gfh[ig].dt + 0.5); + else + itshift = (int)(tsh/gfh[ig].dt - 0.5); + + it0 = gfh[ig].nt + itshift; + + if(it0 > ntsum) + it0 = ntsum; + + if(it0 > ntout) + it0 = ntout; + + if(itshift < 0) + { + for(i=0;i=itshift;i--) + { + sv[i] = sv[i] + gf0[i-itshift]; + sn[i] = sn[i] + gf1[i-itshift]; + se[i] = se[i] + gf2[i-itshift]; + } + } + + if(it0 > maxnt) + maxnt = it0; + } + } +else + { + ntp2 = 2; + while(ntp2 < ntsum) + ntp2 = ntp2*2; + + nf2 = ntp2/2; + + for(ig=0;ig<4;ig++) + { + gf0 = gf + 3*ig*ntsum; + gf1 = gf + 3*ig*ntsum + ntsum; + gf2 = gf + 3*ig*ntsum + 2*ntsum; + + /* taper and pad */ + + tapst = gfh[ig].nt - taplen; + arg = pi/(float)(taplen); + for(it=tapst+1;itid),(1 + gfh->ir)); + } +else + { + if(gfpar.gfn[gfh->ir] < 0.0) + sprintf(ndx,"-%.6d",(int)(-1000.0*gfpar.gfn[gfh->ir] + 0.5)); + else + sprintf(ndx,"+%.6d",(int)(1000.0*gfpar.gfn[gfh->ir] + 0.5)); + + if(gfpar.gfe[gfh->ir] < 0.0) + sprintf(edx,"-%.6d",(int)(-1000.0*gfpar.gfe[gfh->ir] + 0.5)); + else + sprintf(edx,"+%.6d",(int)(1000.0*gfpar.gfe[gfh->ir] + 0.5)); + + sprintf(ddx,"%.5d",(int)(1000.0*gfpar.gfd[gfh->id] + 0.5)); + + sprintf(str,"D%s/%s_n%se%sd%s.sgt",ddx,gfname,ndx,edx,ddx); + } +} + +int check_name(char *str,char *list,int n,int blen) +{ +int i, lf; +char *lptr; + +lf = 0; +i = 0; +while(i < n) + { + lptr = list + i*blen; + if(strcmp(str,lptr) == 0) + { + lf = 1; + i = n; + } + else + i++; + } + +return(lf); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/include.h =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/include.h (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/include.h 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,20 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "../SlipModel/StandRupFormat/structure.h" +#include "../SlipModel/StandRupFormat/function.h" +#include "defs.h" Added: SwiftApps/Cybershake/app/post/JBSim3d/src/iofunc.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/iofunc.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/iofunc.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,264 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +FILE *fopfile(char *name,char *mode) +{ +FILE *fp; + +if((fp = fopen(name,mode)) == NULL) + { + fprintf(stderr,"CAN'T FOPEN FILE = %s, MODE = %s\n", name, mode); + exit(-1); + } +return(fp); +} + +int opfile_ro(char *name) +{ +int fd; +if ((fd = open (name, O_RDONLY, 0444)) == -1) + fprintf (stderr, "CAN'T OPEN FILE %s\n", name); +return (fd); +} + +int opfile(char *name) +{ +int fd; +if ((fd = open (name, O_RDWR, 0664)) == -1) + fprintf (stderr, "CAN'T OPEN FILE %s\n", name); +return (fd); +} + +int croptrfile(char *name) +{ +int fd; +if ((fd = open (name, O_CREAT | O_TRUNC | O_RDWR, 0664)) == -1) + fprintf (stderr, "CAN'T OPEN FILE %s\n", name); +return (fd); +} + +int reed(int fd, void *pntr, int length) +{ +int temp; +if ((temp = read(fd, pntr, length)) < length) + { + fprintf (stderr, "READ ERROR\n"); + fprintf (stderr, "%d attempted %d read\n", length, temp); + exit(-1); + } +return(temp); +} + +int rite(int fd, void *pntr, int length) +{ +int temp; +if ((temp = write(fd, pntr, length)) < length) + { + fprintf (stderr, "WRITE ERROR\n"); + fprintf (stderr, "%d attempted %d written\n", length, temp); + exit(-1); + } +return(temp); +} + +void *check_realloc(void *ptr,size_t len) +{ +ptr = (char *) realloc (ptr,len); + +if(ptr == NULL) + { + fprintf(stderr,"***** memory reallocation error\n"); + exit(-1); + } + +return(ptr); +} + +void *check_malloc(size_t len) +{ +char *ptr; + +ptr = (char *) malloc (len); + +if(ptr == NULL) + { + fprintf(stderr,"***** memory allocation error\n"); + exit(-1); + } + +return(ptr); +} + +void fortran_rite(int fd,int nargs, ...) +{ +va_list ap; +void *ptr[MAX_VAR_LIST]; +int len[MAX_VAR_LIST]; +int totlen = 0; +int i; + +va_start(ap,nargs); +for(i=0;i cm^2 */ + +float targetslip = 1.0; /* slip in cm on each subfault */ +float slip_conv = 1.0; /* input slip in cm on each subfault */ + +float half = 0.5; +float two = 2.0; + +int latloncoords = 0; + +float tstart = 0.0; + +rtimesfile[0] = '\0'; +slipfile[0] = '\0'; +trisefile[0] = '\0'; +sname[0] = '\0'; +sprintf(rupmodtype,"NULL"); + +sprintf(gfpar.gftype,"fk"); + +setpar(ac, av); +getpar("latloncoords","d",&latloncoords); + +if(latloncoords == 1) + { + getpar("elat","f",&elat); + getpar("elon","f",&elon); + mstpar("slat","f",&slat); + mstpar("slon","f",&slon); + } +else + { + mstpar("snorth","f",&snorth); + mstpar("seast","f",&seast); + } + +getpar("dtop","f",&dtop); +getpar("strike","f",&strike); +getpar("dip","f",&dip); +getpar("rake","f",&rake); + +getpar("rupmodtype","s",rupmodtype); + +if(strcmp(rupmodtype,"BEROZA") == 0) + { + brm.inc_stk = 1; + brm.inc_dip = 1; + brm.generic_risetime = -1.0; + brm.robstf = 0; + + mstpar("rupmodfile","s",rupmodfile); + mstpar("npstk","d",&brm.npstk); + mstpar("npdip","d",&brm.npdip); + mstpar("inc_stk","d",&brm.inc_stk); + mstpar("inc_dip","d",&brm.inc_dip); + + mstpar("len","f",&len); + mstpar("wid","f",&wid); + + getpar("robstf","d",&brm.robstf); + getpar("generic_risetime","f",&brm.generic_risetime); + if(brm.robstf == 0 && brm.generic_risetime > 0.0) + { + mstpar("generic_pulsedur","f",&brm.generic_pulsedur); + mstpar("generic_t2","f",&brm.generic_t2); + } + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else if(strcmp(rupmodtype,"OKUMURA") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else if(strcmp(rupmodtype,"GENE") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else if(strcmp(rupmodtype,"ROB") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + + mstpar("shypo","f",­po); + mstpar("dhypo","f",&dhypo); + + getpar("tsfac","f",&tsfac); + + getpar("rupvel","f",&rupvel); + if(rupvel < 0.0) + { + mstpar("modfile","s",modfile); + mstpar("rvfrac","f",&rvfrac); + getpar("shal_vrup","f",&shal_vrup); + } + } +else if(strcmp(rupmodtype,"SRF") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + getpar("nseg","d",&nseg); + getpar("inbin","d",&inbin); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else + { + mstpar("shypo","f",­po); + mstpar("dhypo","f",&dhypo); + + mstpar("nsubstk","d",&nsubstk); + mstpar("nsubdip","d",&nsubdip); + + mstpar("len","f",&len); + mstpar("wid","f",&wid); + + getpar("rupvel","f",&rupvel); + if(rupvel < 0.0) + { + mstpar("modfile","s",modfile); + mstpar("rvfrac","f",&rvfrac); + getpar("shal_vrup","f",&shal_vrup); + } + + getpar("targetslip","f",&targetslip); + + mstpar("outfile","s",outfile); + } + +getpar("nfinestk","d",&nfinestk); +getpar("nfinedip","d",&nfinedip); + +mstpar("gftype","s",gfpar.gftype); + +if((strncmp(gfpar.gftype,"fk",2) == 0) || (strncmp(gfpar.gftype,"FK",2) == 0)) + { + gfpar.flag3d = 0; + gfpar.nc = 8; + mstpar("gflocs","s",gfpar.gflocs); + mstpar("gftimes","s",gfpar.gftimes); + + gfpar.swap_flag = 0; + getpar("gf_swap_bytes","d",&gfpar.swap_flag); + } +else if((strncmp(gfpar.gftype,"3d",2) == 0) || (strncmp(gfpar.gftype,"3D",2) == 0)) + { + gfpar.flag3d = 1; + gfpar.nc = 18; + mstpar("gflocs","s",gfpar.gflocs); + mstpar("gfrange_tolerance","f",&gfpar.rtol); + + gfpar.use_depdir = 1; + getpar("use_gf3d_depdir","d",&gfpar.use_depdir); + } +else + { + fprintf(stderr,"gftype= %s invalid option, exiting...\n",gfpar.gftype); + exit(-1); + } + +mstpar("gfpath","s",gfpath); +mstpar("gfname","s",gfname); + +mstpar("maxnt","d",&maxnt); +mstpar("mindt","f",&mindt); +getpar("ntout","d",&ntout); +getpar("dtout","f",&dtout); + +getpar("tstart","f",&tstart); +getpar("rtimesfile","s",rtimesfile); +getpar("slipfile","s",slipfile); +getpar("trisefile","s",trisefile); + +getpar("seed","d",&seed); +getpar("randtime","d",&randtime); +if(randtime >= 1) + mstpar("perc_randtime","f",&perc_randtime); +if(randtime >= 2) + getpar("delt","f",&delt); +getpar("smooth_randt","d",&smooth_randt); +getpar("gaus_randt","d",&gaus_randt); + +getpar("randslip","f",&randslip); + +getpar("randmech","d",&randmech); +if(randmech) + { + mstpar("deg_randstk","f",°_randstk); + mstpar("deg_randdip","f",°_randdip); + mstpar("deg_randrak","f",°_randrak); + } + +getpar("tshift_timedomain","d",&tshift_timedomain); + +getpar("sname","s",sname); + +endpar(); + +fprintf(stderr,"type= %s\n",rupmodtype); + +maxmech = 1; +mechpar.nmech = 1; +mechpar.flag[0] = U1FLAG; +mechpar.flag[1] = 0; +mechpar.flag[2] = 0; + +if(strcmp(rupmodtype,"BEROZA") == 0) + { + len2 = 0.5*len; + + read_beroza(&brm,rupmodfile,&len2); + + nsubstk = (brm.npstk) - 1; + nsubdip = (brm.npdip) - 1; + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"OKUMURA") == 0) + { + read_okumura(&orm,rupmodfile,&len2); + + nsubstk = orm.nstk; + nsubdip = orm.ndip; + + len = orm.flen; + wid = orm.fwid; + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"GENE") == 0) + { + read_gene(&grm,rupmodfile,&len2); + + nsubstk = grm.nstk; + nsubdip = grm.ndip; + + len = grm.flen; + wid = grm.fwid; + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"ROB") == 0) + { + read_rob(&rrm,rupmodfile,&tsfac); + +/* 07/15/04 + For now, just use the getpar values, eventually we should modify + in order to use the values read in from the slipmodel +*/ + + rrm.elon = elon; + rrm.elat = elat; + rrm.stk = strike; + rrm.dip = dip; + rrm.dtop = dtop; + rrm.shyp = shypo; + rrm.dhyp = dhypo; + + nsubstk = rrm.nstk; + nsubdip = rrm.ndip; + + len = rrm.flen; + wid = rrm.fwid; + + len2 = 0.5*len; + + if(rupvel < 0.0) + { + read_velmodel(modfile,&vmod); + conv2vrup(&vmod,&rvmod,&dip,&dtop,&wid,&rvfrac,&shal_vrup); + } + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"SRF") == 0) + { + maxmech = 3; + nfinestk = 1; + nfinedip = 1; + + read_srf(&srf,rupmodfile,inbin); + prect_ptr = &srf.srf_prect; + prseg_ptr = prect_ptr->prectseg; + apnts_ptr = &srf.srf_apnts; + apval_ptr = apnts_ptr->apntvals; + +/* +03/03/06 + + Default is to use all POINTS specified in SRF file. This is + done with nseg=-1. Values for 'shypo', 'dhypo', 'len', 'wid' + are not important. + + -or- + + Only use one segment from standard rupture model format; + specified with 'nseg'. +*/ + + if(nseg < 0) /* do all POINTS */ + { + shypo = 0.0; + dhypo = 0.0; + + nsubstk = srf.srf_apnts.np; + nsubdip = 1; + + len = 10.0; + wid = 10.0; + + apv_off = 0; + } + else + { + elon = prseg_ptr[nseg].elon; + elat = prseg_ptr[nseg].elat; + strike = prseg_ptr[nseg].stk; + dip = prseg_ptr[nseg].dip; + dtop = prseg_ptr[nseg].dtop; + shypo = prseg_ptr[nseg].shyp; + dhypo = prseg_ptr[nseg].dhyp; + + nsubstk = prseg_ptr[nseg].nstk; + nsubdip = prseg_ptr[nseg].ndip; + + len = prseg_ptr[nseg].flen; + wid = prseg_ptr[nseg].fwid; + + /* reset POINTS pointer to appropriate segment */ + + apv_off = 0; + for(i=0;i 1 => + calculate avg. Vr based on subfault center, then re-estimate Tinit + when nfinestk = nfinedip = 1, x0c=x0, ddc=dd. +*/ + if(nfinestk != 1 || nfinedip != 1) + { + x0c = (i+0.5)*ds0 - len2; + ddc = (j+0.5)*dd0; + avgvrup = sqrt((shypo-x0c)*(shypo-x0c)+(dhypo-ddc)*(dhypo-ddc))/rt; + rt = sqrt((shypo-x0)*(shypo-x0)+(dhypo-dd)*(dhypo-dd))/avgvrup; + } + } + else + { + vslip = 1.0; + + if(rupvel < 0.0) + get_rupt(&rvmod,&htol,&dhypo,&dd,­po,&x0,&rayp,&rupt_rad,&rt); + else + rt = sqrt((shypo-x0)*(shypo-x0)+(dhypo-dd)*(dhypo-dd))/rupvel; + } + + if(randtime) + rt = rt*(1.0 + randt[ip]); + if(randtime == 2) + { + rt = rt + delt*sfrand(&seed); + if(rt < 0.0) + rt = 0.0; + } + + if(write_ruptimes == 1) + fprintf(fpwrt,"%13.5e %13.5e %13.5e\n",x0+len2,dd,rt); + + vslip = (1.0 + rwt[kp])*vslip; + + if(write_slipvals == 1) + fprintf(fpwsv,"%13.5e %13.5e %13.5e\n",x0+len2,dd,slip_conv*vslip); + + if(write_risetime == 1) + fprintf(fpwtr,"%13.5e %13.5e %13.5e\n",x0+len2,dd,trise); + + if(strcmp(rupmodtype,"SRF") == 0) + get_ard_srf(&srf,apv_off,ip0,&azi,&rng,&z0,&deast,&dnorth,&slon,&slat); + else + get_radazi(&azi,&rng,&deast,&dnorth,&x0,&y0,&cosS,&sinS,&seast,&snorth); + + find_4gf(gfpar,gfhead,&rng,&z0,&deast,&dnorth); + + fprintf(stderr,"i=%3d j=%3d k=%3d l=%3d ",i,j,k,l); + fprintf(stderr," s=%7.2f d=%7.2f",x0,dd); + fprintf(stderr," dn=%10.5f de=%10.5f",dnorth,deast); + fprintf(stderr," a=%7.2f r=%7.2f\n",azi,rng); + + read_4gf(gfpath,gfname,gf,ntsum,gfhead,gfpar,&maxgft,&maxnt,&dtout,space); + + if(randmech) + { + mechpar.stk = strike + deg_randstk*sfrand(&seed); + mechpar.dip = dip + deg_randdip*sfrand(&seed); + mechpar.rak = rake + deg_randrak*sfrand(&seed); + } + else + { + mechpar.stk = strike; + mechpar.dip = dip; + mechpar.rak = rake; + } + + if(strcmp(rupmodtype,"SRF") == 0) + scale = sfac*apval_ptr[ip0].area; + else + scale = sfac; + + mech_4gf(gfmech,gf,gfhead,gfpar,ntsum,mechpar,&azi,&scale); + +/* scale now contains the moment released by this point source */ + tmom = tmom + vslip*scale; + + sum_4gf(subseis,ntout,gfmech,gfhead,ntsum,maxnt,&rt,&maxgft,&tstart,tshift_timedomain,mechpar); + } + } + + z0 = dtop + (j+0.5)*dd0*sinD; + + if(strcmp(rupmodtype,"BEROZA") == 0) + beroza_stf(&brm,i,j,seis,subseis,stf,ntout,&dtout,&z0); + else if(strcmp(rupmodtype,"OKUMURA") == 0) + okumura_stf(&orm,i,j,seis,subseis,stf,ntout,&dtout); + else if(strcmp(rupmodtype,"GENE") == 0) + gene_stf(&grm,i,j,seis,subseis,stf,ntout,&dtout); + else if(strcmp(rupmodtype,"ROB") == 0) + rob_stf(&rrm,i,j,seis,subseis,stf,ntout,&dtout,&z0); + else if(strcmp(rupmodtype,"SRF") == 0) + srf_stf(&srf,apv_off,ip0,seis,subseis,stf,ntout,&dtout,mechpar,space); + else + { + sv = subseis; + sn = subseis + ntout; + se = subseis + 2*ntout; + + fortran_rite(fdw,1,&ncomp,sizeof(int)); + + fortran_rite(fdw,2,&rng,sizeof(float),&tstart,sizeof(float)); + fortran_rite(fdw,2,&ntout,sizeof(int),&dtout,sizeof(float)); + fortran_rite(fdw,1,sn,ntout*sizeof(float)); + + fortran_rite(fdw,2,&rng,sizeof(float),&tstart,sizeof(float)); + fortran_rite(fdw,2,&ntout,sizeof(int),&dtout,sizeof(float)); + fortran_rite(fdw,1,se,ntout*sizeof(float)); + + fortran_rite(fdw,2,&rng,sizeof(float),&tstart,sizeof(float)); + fortran_rite(fdw,2,&ntout,sizeof(int),&dtout,sizeof(float)); + fortran_rite(fdw,1,sv,ntout*sizeof(float)); + } + } + } + +if(strcmp(rupmodtype,"NULL") == 0) + close(fdw); +else + { + sv = seis; + sn = seis + ntout; + se = seis + 2*ntout; + + if(sname[0] == '\0') + { + strncpy(sname,stat,7); + sname[7] = '\0'; + } + + write_seis(outdir,stat,sname,"000",sn,&dtout,ntout,&tstart); + write_seis(outdir,stat,sname,"090",se,&dtout,ntout,&tstart); + write_seis(outdir,stat,sname,"ver",sv,&dtout,ntout,&tstart); + + fprintf(stderr,"Total moment= %13.5e\n",tmom); + } + +if(write_ruptimes == 1) + { + fflush(fpwrt); + fclose(fpwrt); + } + +if(write_slipvals == 1) + { + fflush(fpwsv); + fclose(fpwsv); + } + +if(write_risetime == 1) + { + fflush(fpwtr); + fclose(fpwtr); + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim032906.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim032906.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim032906.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,774 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +main(int ac,char **av) +{ +FILE *fopfile(), *fpr, *fpwsv, *fpwrt, *fpwtr; +struct gfheader gfhead[4]; +float maxgft; +struct gfparam gfpar; +float *gf, *gfmech; +int kg, ig; + +float kperd_n, kperd_e; +float elat, elon, slat, slon, snorth, seast; +double e2, den, g2, lat0; + +float len, wid, strike, dip, rake, dtop; +int i, j, k, l, ip, ip0; + +int tshift_timedomain = 0; + +struct beroza brm; +struct okumura orm; +struct gene grm; +struct rob rrm; +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +struct mechparam mechpar; +int maxmech; + +int nstf; +float vslip; + +int apv_off; +int nseg = 0; +int inbin = 0; + +float tsfac = 0.0; +float tmom = 0.0; + +float rupvel = -1.0; +float shal_vrup = 1.0; +float htol = 0.1; +double rayp, rupt_rad; +float rvfrac, rt, *randt; +struct velmodel vmod, rvmod; + +int seed = 1; +int randtime = 0; +float perc_randtime = 0.0; +float delt = 0.0; +int smooth_randt = 2; +int gaus_randt = 0; +int randmech = 0; +float deg_randstk = 0.0; +float deg_randdip = 0.0; +float deg_randrak = 0.0; +float zap = 0.0; +int nn; + +int kp; +float *rwt, sum; +float randslip = 0.0; + +float len2, ds0, dd0, dsf, ddf, s2; +int ntsum, maxnt, it, ntp2; +float mindt; +float x0, y0, z0, dd; +float x0c, ddc, avgvrup; +float shypo, dhypo; +int nsubstk, nsubdip; +int nfinestk = 1; +int nfinedip = 1; +int ntout = -99; + +float *stf, *seis, *subseis, *se, *sn, *sv; +float cosS, sinS, cosA, sinA; +float scale, arg, cosD, sinD; +float xstr, xdip, xrak; +float area, sfac; +float trise; + +float azi, rng, deast, dnorth; +int ncomp = 3; + +float *space; +float dtout = -1.0; + +int fdw; +char gfpath[128], gfname[64]; +char rtimesfile[128], modfile[128], outfile[128]; +char slipfile[128], rupmodfile[128], outdir[128], stat[64], sname[8]; +char rupmodtype[128], trisefile[128]; +char string[256]; + +int write_ruptimes = 0; +int write_slipvals = 0; +int write_risetime = 0; + +double rperd = 0.017453293; +float normf = 1.0e+10; /* km^2 -> cm^2 */ + +float targetslip = 1.0; /* slip in cm on each subfault */ +float slip_conv = 1.0; /* input slip in cm on each subfault */ + +float half = 0.5; +float two = 2.0; + +int latloncoords = 0; + +float tstart = 0.0; + +rtimesfile[0] = '\0'; +slipfile[0] = '\0'; +trisefile[0] = '\0'; +sname[0] = '\0'; +sprintf(rupmodtype,"NULL"); + +sprintf(gfpar.gftype,"fk"); + +setpar(ac, av); +getpar("latloncoords","d",&latloncoords); + +if(latloncoords == 1) + { + mstpar("elat","f",&elat); + mstpar("elon","f",&elon); + mstpar("slat","f",&slat); + mstpar("slon","f",&slon); + } +else + { + mstpar("snorth","f",&snorth); + mstpar("seast","f",&seast); + } + +mstpar("dtop","f",&dtop); +mstpar("strike","f",&strike); +mstpar("dip","f",&dip); +mstpar("rake","f",&rake); + +getpar("rupmodtype","s",rupmodtype); + +if(strcmp(rupmodtype,"BEROZA") == 0) + { + brm.inc_stk = 1; + brm.inc_dip = 1; + brm.generic_risetime = -1.0; + brm.robstf = 0; + + mstpar("rupmodfile","s",rupmodfile); + mstpar("npstk","d",&brm.npstk); + mstpar("npdip","d",&brm.npdip); + mstpar("inc_stk","d",&brm.inc_stk); + mstpar("inc_dip","d",&brm.inc_dip); + + mstpar("len","f",&len); + mstpar("wid","f",&wid); + + getpar("robstf","d",&brm.robstf); + getpar("generic_risetime","f",&brm.generic_risetime); + if(brm.robstf == 0 && brm.generic_risetime > 0.0) + { + mstpar("generic_pulsedur","f",&brm.generic_pulsedur); + mstpar("generic_t2","f",&brm.generic_t2); + } + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else if(strcmp(rupmodtype,"OKUMURA") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else if(strcmp(rupmodtype,"GENE") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else if(strcmp(rupmodtype,"ROB") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + + mstpar("shypo","f",­po); + mstpar("dhypo","f",&dhypo); + + getpar("tsfac","f",&tsfac); + + getpar("rupvel","f",&rupvel); + if(rupvel < 0.0) + { + mstpar("modfile","s",modfile); + mstpar("rvfrac","f",&rvfrac); + getpar("shal_vrup","f",&shal_vrup); + } + } +else if(strcmp(rupmodtype,"SRF") == 0) + { + mstpar("rupmodfile","s",rupmodfile); + + getpar("slip_conv","f",&slip_conv); + getpar("nseg","d",&nseg); + getpar("inbin","d",&inbin); + + mstpar("outdir","s",outdir); + mstpar("stat","s",stat); + } +else + { + mstpar("shypo","f",­po); + mstpar("dhypo","f",&dhypo); + + mstpar("nsubstk","d",&nsubstk); + mstpar("nsubdip","d",&nsubdip); + + mstpar("len","f",&len); + mstpar("wid","f",&wid); + + getpar("rupvel","f",&rupvel); + if(rupvel < 0.0) + { + mstpar("modfile","s",modfile); + mstpar("rvfrac","f",&rvfrac); + getpar("shal_vrup","f",&shal_vrup); + } + + getpar("targetslip","f",&targetslip); + + mstpar("outfile","s",outfile); + } + +getpar("nfinestk","d",&nfinestk); +getpar("nfinedip","d",&nfinedip); + +mstpar("gftype","s",gfpar.gftype); + +if((strncmp(gfpar.gftype,"fk",2) == 0) || (strncmp(gfpar.gftype,"FK",2) == 0)) + { + gfpar.flag3d = 0; + gfpar.nc = 8; + mstpar("gflocs","s",gfpar.gflocs); + mstpar("gftimes","s",gfpar.gftimes); + + gfpar.swap_flag = 0; + getpar("gf_swap_bytes","d",&gfpar.swap_flag); + } +else if((strncmp(gfpar.gftype,"3d",2) == 0) || (strncmp(gfpar.gftype,"3D",2) == 0)) + { + gfpar.flag3d = 1; + gfpar.nc = 18; + mstpar("gflocs","s",gfpar.gflocs); + mstpar("gfrange_tolerance","f",&gfpar.rtol); + } +else + { + fprintf(stderr,"gftype= %s invalid option, exiting...\n",gfpar.gftype); + exit(-1); + } + +mstpar("gfpath","s",gfpath); +mstpar("gfname","s",gfname); + +mstpar("maxnt","d",&maxnt); +mstpar("mindt","f",&mindt); +getpar("ntout","d",&ntout); +getpar("dtout","f",&dtout); + +getpar("tstart","f",&tstart); +getpar("rtimesfile","s",rtimesfile); +getpar("slipfile","s",slipfile); +getpar("trisefile","s",trisefile); + +getpar("seed","d",&seed); +getpar("randtime","d",&randtime); +if(randtime >= 1) + mstpar("perc_randtime","f",&perc_randtime); +if(randtime >= 2) + getpar("delt","f",&delt); +getpar("smooth_randt","d",&smooth_randt); +getpar("gaus_randt","d",&gaus_randt); + +getpar("randslip","f",&randslip); + +getpar("randmech","d",&randmech); +if(randmech) + { + mstpar("deg_randstk","f",°_randstk); + mstpar("deg_randdip","f",°_randdip); + mstpar("deg_randrak","f",°_randrak); + } + +getpar("tshift_timedomain","d",&tshift_timedomain); + +getpar("sname","s",sname); + +endpar(); + +fprintf(stderr,"type= %s\n",rupmodtype); + +maxmech = 1; +mechpar.nmech = 1; +mechpar.flag[0] = U1FLAG; +mechpar.flag[1] = 0; +mechpar.flag[2] = 0; + +if(strcmp(rupmodtype,"BEROZA") == 0) + { + len2 = 0.5*len; + + read_beroza(&brm,rupmodfile,&len2); + + nsubstk = (brm.npstk) - 1; + nsubdip = (brm.npdip) - 1; + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"OKUMURA") == 0) + { + read_okumura(&orm,rupmodfile,&len2); + + nsubstk = orm.nstk; + nsubdip = orm.ndip; + + len = orm.flen; + wid = orm.fwid; + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"GENE") == 0) + { + read_gene(&grm,rupmodfile,&len2); + + nsubstk = grm.nstk; + nsubdip = grm.ndip; + + len = grm.flen; + wid = grm.fwid; + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"ROB") == 0) + { + read_rob(&rrm,rupmodfile,&tsfac); + +/* 07/15/04 + For now, just use the getpar values, eventually we should modify + in order to use the values read in from the slipmodel +*/ + + rrm.elon = elon; + rrm.elat = elat; + rrm.stk = strike; + rrm.dip = dip; + rrm.dtop = dtop; + rrm.shyp = shypo; + rrm.dhyp = dhypo; + + nsubstk = rrm.nstk; + nsubdip = rrm.ndip; + + len = rrm.flen; + wid = rrm.fwid; + + len2 = 0.5*len; + + if(rupvel < 0.0) + { + read_velmodel(modfile,&vmod); + conv2vrup(&vmod,&rvmod,&dip,&dtop,&wid,&rvfrac,&shal_vrup); + } + + targetslip = slip_conv; + } +else if(strcmp(rupmodtype,"SRF") == 0) + { + maxmech = 3; + + read_srf(&srf,rupmodfile,inbin); + prect_ptr = &srf.srf_prect; + prseg_ptr = prect_ptr->prectseg; + apnts_ptr = &srf.srf_apnts; + apval_ptr = apnts_ptr->apntvals; + +/* 05/19/05 + For now, only use one segment from standard rupture model format; + specified with 'nseg'. +*/ + + elon = prseg_ptr[nseg].elon; + elat = prseg_ptr[nseg].elat; + strike = prseg_ptr[nseg].stk; + dip = prseg_ptr[nseg].dip; + dtop = prseg_ptr[nseg].dtop; + shypo = prseg_ptr[nseg].shyp; + dhypo = prseg_ptr[nseg].dhyp; + + nsubstk = prseg_ptr[nseg].nstk; + nsubdip = prseg_ptr[nseg].ndip; + + len = prseg_ptr[nseg].flen; + wid = prseg_ptr[nseg].fwid; + + /* reset POINTS pointer to appropriate segment */ + + apv_off = 0; + for(i=0;i 1 => + calculate avg. Vr based on subfault center, then re-estimate Tinit + when nfinestk = nfinedip = 1, x0c=x0, ddc=dd. +*/ + x0c = (i+0.5)*ds0 - len2; + ddc = (j+0.5)*dd0; + avgvrup = sqrt((shypo-x0c)*(shypo-x0c)+(dhypo-ddc)*(dhypo-ddc))/rt; + rt = sqrt((shypo-x0)*(shypo-x0)+(dhypo-dd)*(dhypo-dd))/avgvrup; + } + else + { + vslip = 1.0; + + if(rupvel < 0.0) + get_rupt(&rvmod,&htol,&dhypo,&dd,­po,&x0,&rayp,&rupt_rad,&rt); + else + rt = sqrt((shypo-x0)*(shypo-x0)+(dhypo-dd)*(dhypo-dd))/rupvel; + } + + if(randtime) + rt = rt*(1.0 + randt[ip]); + if(randtime == 2) + { + rt = rt + delt*sfrand(&seed); + if(rt < 0.0) + rt = 0.0; + } + + if(write_ruptimes == 1) + fprintf(fpwrt,"%13.5e %13.5e %13.5e\n",x0+len2,dd,rt); + + vslip = (1.0 + rwt[kp])*vslip; + + if(write_slipvals == 1) + fprintf(fpwsv,"%13.5e %13.5e %13.5e\n",x0+len2,dd,slip_conv*vslip); + + if(write_risetime == 1) + fprintf(fpwtr,"%13.5e %13.5e %13.5e\n",x0+len2,dd,trise); + + get_radazi(&azi,&rng,&deast,&dnorth,&x0,&y0,&cosS,&sinS,&seast,&snorth); + find_4gf(gfpar,gfhead,&rng,&z0,&deast,&dnorth); + + fprintf(stderr,"i=%3d j=%3d k=%3d l=%3d ",i,j,k,l); + fprintf(stderr," s=%7.2f d=%7.2f",x0,dd); + fprintf(stderr," dn=%10.5f de=%10.5f",dnorth,deast); + fprintf(stderr," a=%7.2f r=%7.2f\n",azi,rng); + + read_4gf(gfpath,gfname,gf,ntsum,gfhead,gfpar,&maxgft,&maxnt,&dtout,space); + + if(randmech) + { + mechpar.stk = strike + deg_randstk*sfrand(&seed); + mechpar.dip = dip + deg_randdip*sfrand(&seed); + mechpar.rak = rake + deg_randrak*sfrand(&seed); + } + else + { + mechpar.stk = strike; + mechpar.dip = dip; + mechpar.rak = rake; + } + + scale = sfac; + mech_4gf(gfmech,gf,gfhead,gfpar,ntsum,mechpar,&azi,&scale); + +/* scale now contains the moment released by this point source */ + tmom = tmom + vslip*scale; + + sum_4gf(subseis,ntout,gfmech,gfhead,ntsum,maxnt,&rt,&maxgft,&tstart,tshift_timedomain,mechpar); + } + } + + z0 = dtop + (j+0.5)*dd0*sinD; + + if(strcmp(rupmodtype,"BEROZA") == 0) + beroza_stf(&brm,i,j,seis,subseis,stf,ntout,&dtout,&z0); + else if(strcmp(rupmodtype,"OKUMURA") == 0) + okumura_stf(&orm,i,j,seis,subseis,stf,ntout,&dtout); + else if(strcmp(rupmodtype,"GENE") == 0) + gene_stf(&grm,i,j,seis,subseis,stf,ntout,&dtout); + else if(strcmp(rupmodtype,"ROB") == 0) + rob_stf(&rrm,i,j,seis,subseis,stf,ntout,&dtout,&z0); + else if(strcmp(rupmodtype,"SRF") == 0) + srf_stf(&srf,apv_off,ip0,seis,subseis,stf,ntout,&dtout,mechpar); + else + { + sv = subseis; + sn = subseis + ntout; + se = subseis + 2*ntout; + + fortran_rite(fdw,1,&ncomp,sizeof(int)); + + fortran_rite(fdw,2,&rng,sizeof(float),&tstart,sizeof(float)); + fortran_rite(fdw,2,&ntout,sizeof(int),&dtout,sizeof(float)); + fortran_rite(fdw,1,sn,ntout*sizeof(float)); + + fortran_rite(fdw,2,&rng,sizeof(float),&tstart,sizeof(float)); + fortran_rite(fdw,2,&ntout,sizeof(int),&dtout,sizeof(float)); + fortran_rite(fdw,1,se,ntout*sizeof(float)); + + fortran_rite(fdw,2,&rng,sizeof(float),&tstart,sizeof(float)); + fortran_rite(fdw,2,&ntout,sizeof(int),&dtout,sizeof(float)); + fortran_rite(fdw,1,sv,ntout*sizeof(float)); + } + } + } + +if(strcmp(rupmodtype,"NULL") == 0) + close(fdw); +else + { + sv = seis; + sn = seis + ntout; + se = seis + 2*ntout; + + if(sname[0] == '\0') + { + strncpy(sname,stat,7); + sname[7] = '\0'; + } + + write_seis(outdir,stat,sname,"000",sn,&dtout,ntout,&tstart); + write_seis(outdir,stat,sname,"090",se,&dtout,ntout,&tstart); + write_seis(outdir,stat,sname,"ver",sv,&dtout,ntout,&tstart); + + fprintf(stderr,"Total moment= %13.5e\n",tmom); + } + +if(write_ruptimes == 1) + { + fflush(fpwrt); + fclose(fpwrt); + } + +if(write_slipvals == 1) + { + fflush(fpwsv); + fclose(fpwsv); + } + +if(write_risetime == 1) + { + fflush(fpwtr); + fclose(fpwtr); + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim3d =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim3d ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim3d.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim3d.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/jbsim3d.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,327 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +struct sgtindex *get_sgtpars(struct sgtfileparams *sgtfpar, + struct sgtmaster *sgtmast, + struct sgtindex *sgtindx); + +int +main(int ac,char **av) +{ +FILE *fopfile(), *fpr; +struct sgtfileparams sgtfilepar, sgtextract; +struct sgtparams *sgtparms; +struct sgtmaster sgtmast; +struct sgtindex *sgtindx; +struct sgtindex eqindx, statindx; +struct geoprojection geop; +float *gfmech; +float *stf, *seis, *subseis, *se, *sn, *sv; +float rt, scale, slon, slat; +float elon, elat, edep; +float vslip, *space; +float z0, strike, dip, rake; +int fdw, ip, maxmech, nstf, ntsum, maxnt, ig; +float mindt, maxdelta, fweight; + +struct sgtheader *sgthead; +float *sgtbuf; + +char string[256], outfile[128]; +char rupmodfile[128], outdir[256], sgtdir[256], stat[64], sname[8]; + +struct standrupformat srf; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +struct mechparam mechpar; + +long long *indx_master; +int nm, non_exact; + +int extract_sgt = 0; + +float tmom = 0.0; +float dtout = -1.0; +float slip_conv = 1.0; /* input slip in cm on each subfault */ +float tstart = 0.0; + +float sdep = 0.0; + +int ntout = -99; +int apv_off = 0; +int inbin = 0; + +int intmem = 0; +int memlen; + +int ptol; +int print_tol = 25; + +int output_binary = 0; +int merge_output = 0; +char seis_file[256]; + +sname[0] = '\0'; + +sgtfilepar.xfile[0] = '\0'; +sgtfilepar.yfile[0] = '\0'; +sgtfilepar.zfile[0] = '\0'; + +sgtfilepar.xfdr = -1; +sgtfilepar.yfdr = -1; +sgtfilepar.zfdr = -1; + +sgtextract.xfile[0] = '\0'; +sgtextract.yfile[0] = '\0'; +sgtextract.zfile[0] = '\0'; + +sgtextract.xfdr = -1; +sgtextract.yfdr = -1; +sgtextract.zfdr = -1; + +sprintf(outdir,"."); +sprintf(sgtdir,"."); + +setpar(ac, av); + +mstpar("slat","f",&slat); +mstpar("slon","f",&slon); +getpar("outdir","s",outdir); +mstpar("stat","s",stat); + +mstpar("rupmodfile","s",rupmodfile); +getpar("slip_conv","f",&slip_conv); +getpar("inbin","d",&inbin); + +getpar("sgt_xfile","s",sgtfilepar.xfile); +getpar("sgt_yfile","s",sgtfilepar.yfile); +getpar("sgt_zfile","s",sgtfilepar.zfile); + +getpar("extract_sgt","d",&extract_sgt); + +getpar("outputBinary","d",&output_binary); + if (output_binary==1) { //if output as binary, merge the output files + merge_output = 1; +} +getpar("mergeOutput","d",&merge_output); +if (extract_sgt==0) { + mstpar("seis_file","s",seis_file); +} + +if(sgtfilepar.xfile[0] == '\0' && sgtfilepar.yfile[0] == '\0' && sgtfilepar.zfile[0] == '\0') + { + fprintf(stderr,"*** need to specify at least one of sgt_xfile, sgt_yfile, or sgt_zfile; exiting ...\n"); + exit(-1); + } + +if(extract_sgt==1) + { + getpar("sgtdir","s",sgtdir); + + if(sgtfilepar.xfile[0] != '\0') + mstpar("extract_sgt_xfile","s",sgtextract.xfile); + if(sgtfilepar.yfile[0] != '\0') + mstpar("extract_sgt_yfile","s",sgtextract.yfile); + if(sgtfilepar.zfile[0] != '\0') + mstpar("extract_sgt_zfile","s",sgtextract.zfile); + } + +getpar("ntout","d",&ntout); +getpar("dtout","f",&dtout); +getpar("tstart","f",&tstart); +getpar("sname","s",sname); + +endpar(); + +read_srf(&srf,rupmodfile,inbin); +prect_ptr = &srf.srf_prect; +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &srf.srf_apnts; +apval_ptr = apnts_ptr->apntvals; + +apv_off = 0; + +sgtindx = get_sgtpars(&sgtfilepar,&sgtmast,sgtindx); +set_geoproj(&sgtmast,&geop); + +eqindx.h = sgtindx[0].h; +statindx.h = sgtindx[0].h; + +get_indx(&slon,&slat,&sdep,&statindx,&geop); + +/* find sgt locations (indx) for all fault points */ + +fprintf(stdout,"Find SGTs for this rupture\n"); + +sgtparms = (struct sgtparams *) check_malloc ((srf.srf_apnts.np)*sizeof(struct sgtparams)); + +ptol = print_tol; +maxdelta = 0.0; +fweight = 1.0; +non_exact = 0; +for(ip=0;ip= ptol) + { + fprintf(stdout," %3d percent done (%d of %d)\n",ptol,ip,srf.srf_apnts.np); + ptol = ptol + print_tol; + } + } + +/* find unique and sorted master list of locations (indx) */ + +indx_master = (long long *) check_malloc (4*(srf.srf_apnts.np)*sizeof(long long)); +get_master_list(sgtparms,srf.srf_apnts.np,indx_master,&nm); +indx_master = (long long *) check_realloc (indx_master,nm*sizeof(long long)); + +fprintf(stdout,"nm= %d non_exact= %d\n",nm,non_exact); +fprintf(stdout,"max_mindelta= %f weight= %f\n",sgtindx[0].h*sqrt(maxdelta),fweight); + +if(extract_sgt==1) + { + fprintf(stdout,"Extracting SGTs for this rupture\n"); + + sgt_subset(&sgtfilepar,&sgtextract,&sgtmast,sgtindx,nm,indx_master,sgtdir); + exit(0); + } + +fprintf(stdout,"Constructing synthetic this rupture\n"); + +/* try to read all SGTs into memory */ + +memlen = sizeof(struct sgtmaster) + (sgtmast.globnp)*(sizeof(struct sgtindex) + sizeof(struct sgtheader) + 18*(sgtmast.nt)*sizeof(float)); + +fprintf(stdout,"Total memory for SGTs= %.2f Mb\n",memlen*1.0e-06); + +sgthead = (struct sgtheader *) check_malloc ((sgtmast.globnp)*sizeof(struct sgtheader)); +sgtbuf = (float *) check_malloc (18*(sgtmast.globnp)*(sgtmast.nt)*sizeof(float)); + +read_sgt(&sgtfilepar,&sgtmast,sgtindx,sgthead,sgtbuf); + +maxnt = sgthead[0].nt; +mindt = sgthead[0].dt; + +if(dtout < 0.0) + dtout = mindt; + +if(dtout < mindt) + maxnt = (maxnt*mindt/dtout); + +ntsum = 2; +while(ntsum < 4*maxnt) + ntsum = ntsum*2; + +if(ntout < 0) + ntout = ntsum; + +maxmech = 3; +mechpar.nmech = 1; +mechpar.flag[0] = U1FLAG; +mechpar.flag[1] = 0; +mechpar.flag[2] = 0; + +gfmech = (float *) check_malloc (maxmech*12*ntsum*sizeof(float)); +space = (float *) check_malloc (2*ntsum*sizeof(float)); + +seis = (float *) check_malloc (3*ntout*sizeof(float)); +subseis = (float *) check_malloc (maxmech*3*ntout*sizeof(float)); +stf = (float *) check_malloc (ntout*sizeof(float)); + +zapit(seis,3*ntout); + +ptol = print_tol; +tmom = 0.0; +for(ip=0;ip= ptol) + { + fprintf(stdout," %3d percent done (%d of %d)\n",ptol,ip,srf.srf_apnts.np); + ptol = ptol + print_tol; + } + } + +sv = seis; +sn = seis + ntout; +se = seis + 2*ntout; + +if(sname[0] == '\0') { + strncpy(sname,stat,7); + sname[7] = '\0'; +} + +char* last_slash = strrchr(seis_file, '/'); +if (last_slash!=NULL) { //means there was a slash in the filename, might need to create a path + char* path = malloc(sizeof(char)*strlen(seis_file)); + if (path==NULL) { + printf("Error on malloc, exiting.\n"); + exit(2); + } + strncpy(path, seis_file, last_slash-seis_file); + strcat(path, "\0"); + makedir(path); +} + +if (merge_output==0) { + if (sgtfilepar.xfile[0]!='\0') { + write_seis(seis_file,sname,"000",sn,&dtout,ntout,&tstart,output_binary); + } + if (sgtfilepar.yfile[0]!='\0') { + write_seis(seis_file,sname,"090",se,&dtout,ntout,&tstart,output_binary); + } + if (sgtfilepar.zfile[0]!='\0') { + write_seis(seis_file,sname,"ver",sv,&dtout,ntout,&tstart,output_binary); + } +} else { //merging output + if (sgtfilepar.xfile[0]!='\0') { + if (sgtfilepar.yfile[0]!='\0') { + if (sgtfilepar.zfile[0]!='\0') { //x,y,z + write_seis(seis_file,sname,"grm",sn,&dtout,3*ntout,&tstart,output_binary); + } else { //x,y + write_seis(seis_file,sname,"grm",sn,&dtout,2*ntout,&tstart,output_binary); + } + } + else if (sgtfilepar.zfile[0]!='\0') { //x,z + printf("Can't output merged X and Z components.\n"); + exit(2); + } else { //x + write_seis(seis_file,sname,"grm",sn,&dtout,ntout,&tstart,output_binary); + } + } else if (sgtfilepar.yfile[0]!='\0') { + if (sgtfilepar.zfile[0]!='\0') { //y,z + write_seis(seis_file,sname,"grm",se,&dtout,2*ntout,&tstart,output_binary); + } else { //y + write_seis(seis_file,sname,"grm",se,&dtout,ntout,&tstart,output_binary); + } + } else if (sgtfilepar.zfile[0]!='\0') { //z + write_seis(seis_file,sname,"grm",sv,&dtout,ntout,&tstart,output_binary); + } +} + +fprintf(stdout,"Total moment= %13.5e\n",tmom); +exit(0); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/makefile =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/makefile (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/makefile 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,55 @@ +TARGETS = jbsim3d +HEADS = include.h structure.h function.h +OBJS = iofunc.o ruptime.o misc_subs.o greenfunc.o \ + beroza_rupm.o okumura_rupm.o gene_rupm.o rob_rupm.o srf_rupm.o \ + fourg.o stf_subs.o sgt3d_subs.o geoproj_subs.o + +SRF_OBJS = ../SlipModel/StandRupFormat/srf_subs.o + +LF_FLAGS = -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 + +GETPAR = ../../Getpar/getpar/lib +LDLIBS = ${GETPAR}/libget.a -lm + +UFLAGS = -O +LDFLAGS = -p +LDFLAGS = + +include ../../Compilers.mk + +CFLAGS = -O ${LF_FLAGS} ${LDFLAGS} +FFLAGS = ${UFLAGS} + +CC = $(MY_CC) +FC = $(MY_FC) + +##### make options + +all: $(TARGETS) + for TARGET in $(TARGETS); do \ + rm -f ../bin/$$TARGET ; \ + cp $$TARGET ../bin ; \ + done + +jbsim032906 : jbsim032906.o ${OBJS} ${SRF_OBJS} + ${CC} ${LDFLAGS} -o jbsim032906 jbsim032906.o ${OBJS} ${LDLIBS} ${SRF_OBJS} + +ray_stimes : ray_stimes.o ${OBJS} + ${CC} ${LDFLAGS} -o ray_stimes ray_stimes.o ${OBJS} ${LDLIBS} + +jbsim3d : jbsim3d.o ${OBJS} ${SRF_OBJS} + ${CC} ${LDFLAGS} -o jbsim3d jbsim3d.o ${OBJS} ${SRF_OBJS} ${LDLIBS} + +jbsim : jbsim.o ${OBJS} ${SRF_OBJS} + ${CC} ${LDFLAGS} -o jbsim jbsim.o ${OBJS} ${LDLIBS} ${SRF_OBJS} + +gen_gflist : gen_gflist.o ${OBJS} ${SRF_OBJS} + ${CC} ${LDFLAGS} -o gen_gflist gen_gflist.o ${OBJS} ${LDLIBS} ${SRF_OBJS} + +bailey2srf : bailey2srf.o ${OBJS} + ${CC} ${LDFLAGS} -o bailey2srf bailey2srf.o ${OBJS} ${LDLIBS} + +${OBJS} : ${HEADS} + +clean : + -rm -f $(OBJS) $(TARGETS) *.o Added: SwiftApps/Cybershake/app/post/JBSim3d/src/misc_subs.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/misc_subs.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/misc_subs.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,734 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void get_radazi(float *az,float *rg,float *de,float *dn,float *x,float *y,float *cs,float *ss,float *e,float *n) +{ +float fe, fn; + +fe = (*y)*(*cs) + (*x)*(*ss); +fn = -(*y)*(*ss) + (*x)*(*cs); + +*de = *e - fe; +*dn = *n - fn; + +*az = atan2((*de),(*dn)); +*rg = sqrt((*de)*(*de) + (*dn)*(*dn)); +} + +void get_master_list(struct sgtparams *sgtp,int np,long long *mindx,int *nm) +{ +int ip, ig, im, ifnd, sflag, mcnt; +long long ll_int; + +mcnt = 0; + +for(ip=0;ip mindx[im+1]) + { + ll_int = mindx[im+1]; mindx[im+1] = mindx[im]; mindx[im] = ll_int; + sflag = 1; + } + } + } + +for(ip=0;iph); + +if(gp->geoproj == 0) + { + xs = ((*lon) - gp->modellon)*gp->kmlon; + ys = (gp->modellat - (*lat))*gp->kmlat; + + xr = xs*gp->cosR + ys*gp->sinR - gp->xshift; + yr = -xs*gp->sinR + ys*gp->cosR - gp->yshift; + } +else if(gp->geoproj == 1) + gcproj(&xr,&yr,lon,lat,&gp->erad,&gp->g0,&gp->b0,gp->amat,gp->ainv,1); + +indx->xsgt = (int)((double)(xr)*invh + 0.5); +indx->ysgt = (int)((double)(yr)*invh + 0.5); +indx->zsgt = (int)((double)((*dep))*invh + 1.5); +indx->indx = (long long)(indx->xsgt)*(long long)(100000000) + (long long)(indx->ysgt)*(long long)(10000) + (long long)(indx->zsgt); +} + +void get_ard_srf(struct standrupformat *srf,int off,int ip,float *az,float *rg,float *z0,float *de,float *dn,float *slon,float *slat,struct geoprojection *gp) +{ +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; +float elon, elat, xs, ys; + +prect_ptr = &(srf->srf_prect); +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals + off; + +elon = apval_ptr[ip].lon; +elat = apval_ptr[ip].lat; + +if(gp->geoproj == 0) + set_ne(&elon,&elat,slon,slat,dn,de); +else if(gp->geoproj == 1) + { + gcproj(&xs,&ys,&elon,&elat,&gp->erad,&gp->g0,&gp->b0,gp->amat,gp->ainv,1); + *dn = -(gp->xshift) - xs; + *de = -(gp->yshift) - ys; + } + +*az = atan2((*de),(*dn)); +*rg = sqrt((*de)*(*de) + (*dn)*(*dn)); +*z0 = apval_ptr[ip].dep; +} + +resample(s,nt,dt,isamp,ntpad,ntrsmp,newdt,p) +float *s, *p, *dt, *newdt; +int nt, isamp, ntpad, ntrsmp; +{ +float df, f, f0, fl, fl2, fac; +int i, j; + +int ord = 4; +float one = 1.0; + +int minus = -1; +int plus = 1; + +taper_norm(s,dt,nt); +zapit(s+nt,(ntpad)-(nt)); + +for(i=ntpad-1;i>=0;i--) + { + s[2*i] = s[i]; + s[2*i + 1] = 0.0; + } + +fourg_(s,&ntpad,&minus,p); + +if(isamp > 0) + zapit(s+ntpad,2*ntrsmp-ntpad); +else if(isamp < 0) + { + if(ord) /* lowpass at 80 % of new Nyquist */ + { + f0 = 0.8/(2.0*(*newdt)); + df = 1.0/(ntrsmp*(*newdt)); + for(i=1;ire + rx->re); + aim= half*(px->im - rx->im); + bre= half*(px->im + rx->im); + bim= half*(rx->re - px->re); + + real= bre*cn - bim*sn; + imag= bre*sn + bim*cn; + + px->re = are + real; + px->im = aim + imag; + rx->re = are - real; + rx->im = imag - aim; + + px++; + rx--; + } + if(abs(isign) > 1) + { + x[n/2].re= x[0].im; + x[0].im= x[n/2].im = 0.0; + } + } + +invfft(x,n,isign) +register struct complex *x; +int n, isign; + { + register struct complex *px, *rx; + float cn, sn, cd, sd; + float are, aim, bre, bim, real, imag; + float *psintab; + extern float sin_table[]; + int k; + + if(abs(isign) > 1) x[0].im= x[n/2].re; + + /* do DC and Nyquist */ + real= x[0].re; + imag= x[0].im; + x[0].re= real + imag; + x[0].im= real - imag; + + /* set up for sine recurrsion */ + psintab= sin_table; + for(k=4; kre + rx->re); + aim= (px->im - rx->im); + bre= (px->re - rx->re); + bim= (px->im + rx->im); + + real= bre*cn - bim*sn; + imag= bre*sn + bim*cn; + + px->re = are - imag; + px->im = aim + real; + rx->re = are + imag; + rx->im = real - aim; + + px++; + rx--; + } + cfft_r(x,n/2,isign); + } + +cfft_r(x,n,isign) +struct complex *x; +int n,isign; + { + register struct complex *px, *qx, *rx; + struct complex *limit, *qlimit, dtemp; + float cn, sn, cd, sd, temp, real, imag; + int m, j, istep; + float *psintab; + extern float sin_table[]; + + limit= x + n; + j= 0; + for(px=x; px>1; + while( m>=1 && j>=m ) + { j-= m; m>>= 1; } + j+= m; + } + rx= x+1; + for(px=x; pxre; + rx->re= px->re -temp; + px->re += temp; + temp= rx->im; + rx->im= px->im -temp; + px->im += temp; + } + j=2; + psintab= sin_table; + while( j < n ) + { + istep= j<<1; + sd= *psintab++; + temp= *psintab; + cd= 2.0 * temp * temp; + cn= 1.0; + sn= 0.0; + if( isign < 0 ) sd= -sd; + qlimit= x+j; + for(qx=x; qx< qlimit; qx++) + { + for(px=qx; pxre - sn * rx->im; + imag= sn * rx->re + cn * rx->im; + rx->re = px->re - real; + rx->im = px->im - imag; + px->re += real; + px->im += imag; + } + temp= cd * cn + sd * sn; + sn += (sd * cn - cd * sn); + cn -= temp; + } + j= istep; + } + return; + } + +double gaus_rand(float *sigma,float *mean,int *seed) +{ +double r = 0.0; +double six = 6.0; +double one = 1.0; +double half = 0.5; +int i; + +for(i=0;i<12;i++) + r = r + half*(one + sfrand(seed)); + +return((double)((r - six)*(*sigma) + *mean)); +} + +/* sfrand() returns a uniform distribution of random numbers + * in the range -1.0 -> 1.0. + */ +double sfrand(int *seed) +{ +*seed = ((*seed) * 1103515245 + 12345) & 0x7fffffff; +return((double)(*seed)/1073741824.0 - 1.0); +} + +void rand_init(float *rt,float *pct,int *seed,int ns,int nd,int nfs,int nfd,int nsmth,int gaus) +{ +float *xt, maxr, gmean; +int i, j, k, l, ip; +int ix0, ix1, ix2, ix3, ix4; + +xt = (float *) check_malloc (ns*nd*nfs*nfd*sizeof(float)); + +if(gaus) + { + gmean = 0.0; + maxr = 0.0; + for(i=0;i maxr) + maxr = rt[i]; + if(-rt[i] > maxr) + maxr = -rt[i]; + } + + maxr = *pct/maxr; + for(i=0;i maxr) + maxr = rt[ip]; + if(-rt[ip] > maxr) + maxr = -rt[ip]; + } + } + } + } +fprintf(stderr,"maxr=%13.5f\n",maxr); + +maxr = (*pct)/maxr; +for(i=0;instk); + +*rt = orm->rupt[ip0]; +*vs = orm->slip[ip0]; +} + +void okumura_stf(struct okumura *orm,int i,int j,float *s,float *u,float *stf,int nt,float *dt) +{ +FILE *fpw; +int it, nstf; +int ip0, it0, it1; +float td, tb, tr, ts, alpha, beta, gamma, ep, tt; +float sum, da, c0; + +float quart = 0.25; +float half = 0.5; +float fone = 1.0; +float ftwo = 2.0; +float twop5 = 2.5; +float fthree = 3.0; +float p95 = 0.95; +float p125 = 1.25; +float p150 = 1.5; + +float sp, vs; +float amax = 0.0; + +zapit(stf,nt); + +ip0 = i + j*(orm->nstk); + +sp = orm->slip[ip0]; +vs = orm->sv[ip0]; + +td = 0.1; +tb = p125*td; +tr = orm->rist[ip0]; +ts = p150*tr; + +if(tr <= (*dt)) /* no STF needed */ + { + sum_nostf(s,u,&sp,nt); + return; + } + +if(tb >= tr) + { + tb = p95*tr; + td = tb/p125; + } + +alpha = ftwo/td; +gamma = half/td; +ep = (twop5*tb - fthree*td)/(fone - td/tb); +beta = alpha*tb*(fone - gamma*tb)*sqrt(tb - ep); +c0 = beta/sqrt(tr - ep); +da = -c0/(ts - tr); + +it0 = (int)(tb/(*dt) + 1.0); +it1 = (int)(tr/(*dt) + 1.0); +nstf = (int)(ts/(*dt) + 1.0); + +/* +sum = 0.0; +for(it=0;it amax) + amax = stf[it]; + } + +for(it=it0;it amax) + amax = stf[it]; + } + +for(it=it1;it amax) + amax = stf[it]; + } +*/ + +sum = 0.0; +for(it=0;it amax) + amax = stf[it]; + } + +if(sum <= 0.0) + return; + +/* +*/ +fprintf(stdout,"D= %13.5e Dvs= %13.5e r= %13.5f\n",sp,100*vs*sum/amax,(sp-100*vs*sum/amax)/sp); + +/* +if(i==0 && j==0) + { + fpw = fopen("stf_file","w"); + fprintf(fpw,"okumura stf %d %d %13.5e %13.5e %13.5e %13.5e %13.5e\n",it0,it1,vs,td,tb,tr,ts); + fprintf(fpw,"%d %13.5e\n",nstf,(*dt)); + for(it=0;itnstk, + &orm->ndip, + &orm->dlen, + &orm->dwid, + &orm->shypo, + &orm->dhypo, + &orm->vrup); +if (error!=7) { + fprintf(stderr, "Error scanning string %s.\n", string); + exit(-5); +} + +orm->flen = (orm->nstk)*(orm->dlen); +orm->fwid = (orm->ndip)*(orm->dwid); + +*len2 = 0.5*(orm->flen); + +orm->shypo = orm->shypo - (*len2); + +orm->as = (float *) check_malloc ((orm->nstk)*(orm->ndip)*sizeof(float)); +orm->dd = (float *) check_malloc ((orm->nstk)*(orm->ndip)*sizeof(float)); +orm->slip = (float *) check_malloc ((orm->nstk)*(orm->ndip)*sizeof(float)); +orm->sv = (float *) check_malloc ((orm->nstk)*(orm->ndip)*sizeof(float)); +orm->rist = (float *) check_malloc ((orm->nstk)*(orm->ndip)*sizeof(float)); +orm->rupt = (float *) check_malloc ((orm->nstk)*(orm->ndip)*sizeof(float)); + +for(j=0;j<(orm->ndip);j++) + { + for(i=0;i<(orm->nstk);i++) + { + k = i + j*(orm->nstk); + + if (fgets(string,256,fpr)==NULL){ + fprintf(stderr, "Error reading from file %s.\n", rfile); + exit(-4); + } + + error = sscanf(string,"%f %f %f %f %f %f",&orm->as[k], + &orm->dd[k], + &orm->slip[k], + &orm->sv[k], + &orm->rist[k], + &orm->rupt[k]); + if (error!=6) { + fprintf(stderr, "Error scanning string %s.\n", string); + exit(-5); + } + + orm->as[k] = orm->as[k] - (*len2); /* move origin to top center */ + if(orm->dd[k] < 0.0) /* make positive down-dip */ + orm->dd[k] = -orm->dd[k]; + + } + } +fclose(fpr); +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/ray_stimes.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/ray_stimes.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/ray_stimes.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,100 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void copy_vpvs(struct velmodel *vsm,struct velmodel *vpm); + +main(int ac,char **av) +{ +struct velmodel vpmod, vsmod; +FILE *fpr, *fopfile(); +int nr, nd, i, j, ip, ishall; +float *rng, *dep, *ptime, *stime; +double rayp, rad; +char locfile[128], velfile[128]; + +double eps = 1.0e-12; +float recd = 0.0; +float shallowest_depth = 0.0; +float htol = 0.1; +float rloc = 0.0; + +sprintf(locfile,"locations.dat"); + +setpar(ac,av); +mstpar("velfile","s",velfile); +getpar("locfile","s",locfile); +getpar("shallowest_depth","f",&shallowest_depth); +endpar(); + +fpr = fopfile(locfile,"r"); + +fscanf(fpr,"%d",&nr); +rng = (float *) check_malloc (nr*sizeof(float)); +for(i=0;inlay = vsm->nlay; + +vpm->vp = (float *)check_malloc(vpm->nlay*sizeof(float)); +vpm->vs = (double *)check_malloc(vpm->nlay*sizeof(double)); +vpm->den = (float *)check_malloc(vpm->nlay*sizeof(float)); +vpm->th = (float *)check_malloc(vpm->nlay*sizeof(float)); +vpm->dep = (float *)check_malloc(vpm->nlay*sizeof(float)); +vpm->mu = (float *)check_malloc(vpm->nlay*sizeof(float)); +vpm->invb2 = (double *)check_malloc(vpm->nlay*sizeof(double)); + +for(i=0;inlay;i++) + { + vpm->th[i] = vsm->th[i]; + vpm->vp[i] = vsm->vp[i]; + vpm->den[i] = vsm->den[i]; + vpm->dep[i] = vsm->dep[i]; + vpm->mu[i] = vsm->mu[i]; + + vpm->vs[i] = vsm->vp[i]; + vpm->invb2[i] = 1.0/(vsm->vp[i]*vsm->vp[i]); + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/rob_rupm.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/rob_rupm.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/rob_rupm.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,300 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void get_rrmpars(struct rob *rrm,int i,int j,float *xp,float *zp,float *rt,float *vs,float *rk,float *tsf) +{ +float xx, zz; +int ip; + +ip = i + j*(rrm->nstk); + +xx = *xp - rrm->shyp; +zz = *zp - rrm->dhyp; + +*rt = -1.0; +if(rrm->vrup[ip] > 0.0) + *rt = sqrt(xx*xx + zz*zz)/rrm->vrup[ip] + rrm->tsfac[ip]; + +*rk = rrm->rake[ip]; +*vs = rrm->slip[ip]; +*tsf = rrm->tsfac[ip]; +} + +void rob_stf(struct rob *rrm,int i,int j,float *s,float *u,float *stf,int nt,float *dt,float *z0) +{ +FILE *fpw; +int it, nstf; +int ip, it0, it1, it2; +float tr, amp, a0; +float sum; + +float alpha = 0.1; /* 1st triangle has pulse width = 2*alpha*trise */ +float betadeep = 0.2; /* 2nd triangle has amplitude = beta*A (z0>dmax)*/ +float betashal = 0.5; /* 2nd triangle has amplitude = beta*A (z0= dmax) + beta = betadeep; +else if((*z0) < dmax && (*z0) > dmin) + beta = betadeep - (dmax-(*z0))*dbdd; +else + beta = betashal; + +zapit(stf,nt); + +ip = i + j*(rrm->nstk); + +tr = rrm->trise[ip]; + +alpha = alpha*tr; + +it0 = (int)((alpha)/(*dt) + 0.5); +if(it0 < 2) + it0 = 2; +it1 = (int)((tr)/(*dt) + 0.5); +if(it1 < 4) + it1 = 4; + +it2 = (2 - beta)*it0; + +a0 = 1.0; +amp = a0/(float)(it0); + +for(it=0;itslip[ip]),nt); + return; + } + +if(nstf < nt-1) + nstf = nstf + 2;; + +sum = 0.0; +for(it=0;itslip[ip])/sum; +for(it=0;itelon, + &rrm->elat, + &rrm->nstk, + &rrm->ndip, + &rrm->flen, + &rrm->fwid); + + if (error!=6) { + fprintf(stderr, "Error scanning string %s.\n", string); + exit(-7); + } + + + if (fgets(string,256,fpr)==NULL) { + fprintf(stderr, "Error reading from file %s.\n", rfile); + exit(-6); + } +error = sscanf(string,"%f %f %f %f %f",&rrm->stk, + &rrm->dip, + &rrm->dtop, + &rrm->shyp, + &rrm->dhyp); + + if (error!=5) { + fprintf(stderr, "Error scanning string %s.\n", string); + exit(-7); + } + +rrm->dlen = (rrm->flen)/(rrm->nstk); +rrm->dwid = (rrm->fwid)/(rrm->ndip); + +rrm->as = (float *) check_malloc ((rrm->nstk)*(rrm->ndip)*sizeof(float)); +rrm->dd = (float *) check_malloc ((rrm->nstk)*(rrm->ndip)*sizeof(float)); +rrm->slip = (float *) check_malloc ((rrm->nstk)*(rrm->ndip)*sizeof(float)); +rrm->rake = (float *) check_malloc ((rrm->nstk)*(rrm->ndip)*sizeof(float)); +rrm->trise = (float *) check_malloc ((rrm->nstk)*(rrm->ndip)*sizeof(float)); +rrm->vrup = (float *) check_malloc ((rrm->nstk)*(rrm->ndip)*sizeof(float)); +rrm->tsfac = (float *) check_malloc ((rrm->nstk)*(rrm->ndip)*sizeof(float)); + +xmax = 0.0; +xavg = 0.0; +for(j=0;j<(rrm->ndip);j++) + { + for(i=0;i<(rrm->nstk);i++) + { + k = i + j*(rrm->nstk); + + if (fgets(string,256,fpr)==NULL) { + fprintf(stderr, "Error reading from file %s.\n", rfile); + exit(-6); + } + error = sscanf(string,"%f %f %f %f %f %f",&rrm->as[k], + &rrm->dd[k], + &rrm->slip[k], + &rrm->rake[k], + &rrm->trise[k], + &rrm->vrup[k]); + if (error!=6) { + fprintf(stderr, "Error scanning string %s.\n", string); + exit(-7); + } + xavg = xavg + rrm->slip[k]; + if(rrm->slip[k] > xmax) + xmax = rrm->slip[k]; + } + } +fclose(fpr); + +xavg = xavg/(float)((rrm->nstk)*(rrm->ndip)); +if((xmax-xavg) != (float)(0.0)) + sf = 1.0/(xmax-xavg); +else + *tsf = sf = 0.0; + +for(j=0;j<(rrm->ndip);j++) + { + for(i=0;i<(rrm->nstk);i++) + { + k = i + j*(rrm->nstk); + + rrm->tsfac[k] = sf*(rrm->slip[k]-xavg)*(*tsf); + } + } +} + +int gen_rob_stf(struct rob *rrm,int i,int j,float *stf,int nt,float *dt,float *z0) +{ +int it, nstf; +int ip, it0, it1, it2; +float tr, amp, a0; +float sum; + +float alpha = 0.1; /* 1st triangle has pulse width = 2*alpha*trise */ +float betadeep = 0.2; /* 2nd triangle has amplitude = beta*A (z0>dmax)*/ +float betashal = 0.5; /* 2nd triangle has amplitude = beta*A (z0= dmax) + beta = betadeep; +else if((*z0) < dmax && (*z0) > dmin) + beta = betadeep - (dmax-(*z0))*dbdd; +else + beta = betashal; + +zapit(stf,nt); + +ip = i + j*(rrm->nstk); + +tr = rrm->trise[ip]; + +alpha = alpha*tr; + +it0 = (int)((alpha)/(*dt) + 0.5); +if(it0 < 2) + it0 = 2; +it1 = (int)((tr)/(*dt) + 0.5); +if(it1 < 4) + it1 = 4; + +it2 = (2 - beta)*it0; + +a0 = 1.0; +amp = a0/(float)(it0); + +for(it=0;itslip[ip])/sum; +for(it=0;itnlay); + if (error!=1) { + fprintf(stderr, "Error scanning string %s.\n", str); + exit(-9); + } + +vm->vp = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->vs = (double *)check_malloc(vm->nlay*sizeof(double)); +vm->den = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->th = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->dep = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->mu = (float *)check_malloc(vm->nlay*sizeof(float)); +vm->invb2 = (double *)check_malloc(vm->nlay*sizeof(double)); + +for(i=0;inlay;i++) + { + if (fgets(str,512,fpr)==NULL) { + fprintf(stderr, "Error reading from file %s.\n", vfile); + exit(-8); + } + error = sscanf(str,"%f %f %lf %f",&vm->th[i],&vm->vp[i],&vm->vs[i],&vm->den[i]); + if (error!=4) { + fprintf(stderr, "Error scanning string %s.\n", str); + exit(-9); + } + + if(i==0) + vm->dep[i] = vm->th[i]; + else + vm->dep[i] = vm->dep[i-1] + vm->th[i]; + + vm->mu[i] = vm->vs[i]*vm->vs[i]*vm->den[i]*1.0e+10; /* in CMS units */ + vm->invb2[i] = 1.0/(vm->vs[i]*vm->vs[i]); + } +fclose(fpr); +} + +void conv2vrup(struct velmodel *vm,struct velmodel *rvm,float *dip,float *ztop,float *wid,float *rvf,float *shal_vr) +{ +int i, j, k; +float invsinA, dep, zbot; +char string[256]; + +float rperd = 0.017453293; +float dmin = 4.0; +float dmax = 6.0; +float rvfac; + +rvm->nlay = vm->nlay; +rvm->vs = (double *)check_malloc(rvm->nlay*sizeof(double)); +rvm->th = (float *)check_malloc(rvm->nlay*sizeof(float)); +rvm->invb2 = (double *)check_malloc(rvm->nlay*sizeof(double)); + +i = 0; +dep = vm->th[0]; +while(dep < (*ztop)) + { + i++; + dep = dep + vm->th[i]; + } + +zbot = *ztop + (*wid)*sin((*dip)*rperd); +invsinA = 1.0/sin((*dip)*rperd); + +if(dep >= dmax) + rvfac = (*rvf); +else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); +else + rvfac = (*rvf)*(*shal_vr); + +rvm->th[0] = invsinA*(dep - (*ztop)); +rvm->vs[0] = rvfac*vm->vs[i]; + +j = i; +k = 0; +while(dep < zbot) + { + j++; k++; + dep = dep + vm->th[j]; + + if(dep >= dmax) + rvfac = (*rvf); + else if(dep < dmax && dep > dmin) + rvfac = (*rvf)*(1.0 - (1.0 - (*shal_vr))*(dmax-dep)/(dmax-dmin)); + else + rvfac = (*rvf)*(*shal_vr); + + rvm->th[k] = invsinA*vm->th[j]; + rvm->vs[k] = rvfac*vm->vs[j]; + } + +rvm->nlay = k + 1; + +for(i=0;inlay;i++) + rvm->invb2[i] = 1.0/(rvm->vs[i]*rvm->vs[i]); +} + +get_rupt(vm,h,srcd,recd,srcr,recr,p,rad,tt) +struct velmodel *vm; +float *h, *srcr, *recr, *recd, *tt, *srcd; +double *p, *rad; +{ +double sth, rth, rng; +float sdep, rdep; +float tol; +float tup, thead; +int k, slay, rlay, linc; + +float tenth = 0.1; +double eps = 1.0e-12; + +tol = tenth*(*h); + +rng = *srcr - *recr; +if(rng < 0.0) + rng = -rng; + +k = 0; +sdep = vm->th[0]; +while((*srcd) > sdep) + { + k++; + sdep = sdep + vm->th[k]; + } +slay = k; + +k = 0; +rdep = vm->th[0]; +while((*recd) > rdep) + { + k++; + rdep = rdep + vm->th[k]; + } +rlay = k; + +sth = sdep - *srcd; +rth = rdep - *recd; +get_headtime(vm,slay,&sth,rlay,&rth,&rng,&thead); + +if(slay != rlay) + { + if(sdep > rdep) + { + sth = vm->th[slay] - (sdep - *srcd); + rth = rdep - *recd; + linc = -1; + } + else + { + sth = sdep - *srcd; + rth = vm->th[rlay] - (rdep - *recd); + linc = 1; + } + +/* + bisection method +*/ + bisect_p(vm,slay,&sth,rlay,&rth,p,&eps,&tol,&rng,linc); + + /* get path length and travel time for correct ray parameter */ + + get_radtime(vm,slay,&sth,rlay,&rth,p,rad,&tup,linc); + } +else + { + *rad = sqrt(rng*rng + ((*srcd)-(*recd))*((*srcd)-(*recd))); + tup = (*rad)/vm->vs[slay]; + } + +*tt = thead; +if(tup < thead) + *tt = tup; +/* +else + fprintf(stderr,"*** thead selected\n"); + +fprintf(stderr,"*** thd= %f tup= %f\n",thead,tup); +*/ +} + +bisect_p(vm,slay,sth,rlay,rth,p,eps,tol,rng,linc) +struct velmodel *vm; +double *sth, *rth, *p, *rng, *eps; +float *tol; +int linc, slay, rlay; +{ +double tp0, pp, pm, p0, r0, delr; +int i, ic; + +int nc = 100; + +p0 = 1.0/vm->vs[slay]; +for(i=slay+linc;i!=rlay;i=i+linc) + { + tp0 = 1.0/vm->vs[i]; + if(tp0 < p0) + p0 = tp0; + } +tp0 = 1.0/vm->vs[rlay]; +if(tp0 < p0) + p0 = tp0; + +*p = *eps; + +get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + +if(r0 < *rng) /* if not, then p=0 (vertical ray) */ + { + /* bracket range with ray parameter extremes */ + + ic = 0; + while(r0 < *rng && ic < nc) + { + ic++; + *p = p0*(1.0 - (*eps)/(double)(ic*ic)); + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + } + + pp = *p; + pm = *eps; + + delr = r0 - *rng; + +/* + use bisection to converge to correct ray parameter +*/ + + ic = 0; + while(delr > *tol) + { + *p = 0.5*(pp + pm); + + if(*p == pp || *p == pm) /* beyond double precision accuracy */ + break; + + get_range(vm,slay,sth,rlay,rth,p,&r0,linc); + if(r0 >= *rng) + { + delr = r0 - *rng; + pp = *p; + } + else + { + delr = *rng - r0; + pm = *p; + } + + ic++; + if(ic > nc) + break; + } + } +else + *p = 0.0; +} + +get_range(vm,slay,sth,rlay,rth,p,r0,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +int linc, slay, rlay; +{ +int i; +double denom, arg; +double invp2; + +invp2 = 1.0/((*p)*(*p)); + +denom = sqrt(invp2*vm->invb2[slay] - 1.0); +*r0 = (*sth)/denom; + +for(i=slay+linc;i!=rlay;i=i+linc) + { + denom = sqrt(invp2*vm->invb2[i] - 1.0); + *r0 = *r0 + vm->th[i]/denom; + } + +denom = sqrt(invp2*vm->invb2[rlay] - 1.0); +*r0 = *r0 + (*rth)/denom; +} + +get_radtime(vm,slay,sth,rlay,rth,p,r0,tt,linc) +struct velmodel *vm; +double *sth, *rth, *p, *r0; +float *tt; +int linc, slay, rlay; +{ +int i; +double r1, rad, arg; +double denom, invp2; + +if(*p > 0.0) + { + arg = 1.0 - (*p)*(*p)*vm->vs[slay]*vm->vs[slay]; + denom = sqrt(arg); + + *r0 = (*sth)/denom; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + arg = 1.0 - (*p)*(*p)*vm->vs[i]*vm->vs[i]; + denom = sqrt(arg); + + rad = vm->th[i]/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[i]; + } + + arg = 1.0 - (*p)*(*p)*vm->vs[rlay]*vm->vs[rlay]; + denom = sqrt(arg); + + rad = (*rth)/denom; + *r0 = *r0 + rad; + *tt = *tt + rad/vm->vs[rlay]; + } +else + { + *r0 = *sth; + *tt = *r0/vm->vs[slay]; + + for(i=slay+linc;i!=rlay;i=i+linc) + { + *r0 = *r0 + vm->th[i]; + *tt = *tt + vm->th[i]/vm->vs[i]; + } + + *r0 = *r0 + *rth; + *tt = *tt + (*rth)/vm->vs[rlay]; + } +} + +get_headtime(mod,slay,sth,rlay,rth,rad,tt) +struct velmodel *mod; +double *sth, *rth, *rad; +float *tt; +int slay, rlay; +{ +int vflag, j, jj, jst, jnd; +double inv2, rc, tinc, arg; + +jst = rlay; +if(slay > rlay) + jst = slay; + +*tt = 1.0e+5; +for(jnd=jst+1;jndnlay;jnd++) + { + jj = rlay; + if(slay < rlay) + jj = slay; + + vflag = 1; + for(j=jj;jvs[j] > mod->vs[jnd]) + vflag = -1; + } + + if(vflag == 1) + { + tinc = (*rad)/mod->vs[jnd]; + inv2 = 1.0/(mod->vs[jnd]*mod->vs[jnd]); + + arg = 1.0/(mod->vs[slay]*mod->vs[slay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*sth)*arg; + rc = (*sth)/(arg*mod->vs[jnd]); + + for(j=slay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + for(j=rlay+1;jvs[j]*mod->vs[j]) - inv2; + arg = sqrt(arg); + tinc = tinc + mod->th[j]*arg; + rc = rc + mod->th[j]/(arg*mod->vs[jnd]); + } + + arg = 1.0/(mod->vs[rlay]*mod->vs[rlay]) - inv2; + arg = sqrt(arg); + tinc = tinc + (*rth)*arg; + rc = rc + (*rth)/(arg*mod->vs[jnd]); + + if(tinc < *tt && rc < (*rad)) + *tt = tinc; + } + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/sgt3d_subs.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/sgt3d_subs.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/sgt3d_subs.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,813 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void timeshift_sgt(float *seis,int ntout,float *gf,struct sgtheader *gfh,int ntsum,float *t0,float *bt0,int nsgt); + +void *sgt_subset(struct sgtfileparams *sgtfpar,struct sgtfileparams *sgtextract,struct sgtmaster *sgtmast,struct sgtindex *sgtindx,int nm,long long *mindx,char *dir) +{ +struct sgtmaster exmast; +struct sgtindex *exindx; +struct sgtheader sgthead; +float *sgt; +int im, ip, nreed; +off_t blen, off; +char ofile[512]; + +exmast.geoproj = sgtmast->geoproj; +exmast.modellon = sgtmast->modellon; +exmast.modellat = sgtmast->modellat; +exmast.modelrot = sgtmast->modelrot; +exmast.xshift = sgtmast->xshift; +exmast.yshift = sgtmast->yshift; +exmast.globnp = nm; +exmast.localnp = nm; +exmast.nt = sgtmast->nt; + +exindx = (struct sgtindex *) check_malloc ((exmast.globnp)*sizeof(struct sgtindex)); + +for(im=0;im sgtindx[ip].indx && ip < (sgtmast->globnp)-1) + ip++; + + exindx[im].indx = sgtindx[ip].indx; + exindx[im].xsgt = sgtindx[ip].xsgt; + exindx[im].ysgt = sgtindx[ip].ysgt; + exindx[im].zsgt = sgtindx[ip].zsgt; + exindx[im].h = sgtindx[ip].h; + + if(mindx[im] != exindx[im].indx) + { + fprintf(stderr,"houston, we have a problem...\n"); + exit(-1); + } + } + +sgt = (float *) check_malloc (6*(sgtmast->nt)*sizeof(float)); +blen = (off_t)(sizeof(struct sgtheader)) + (off_t)(6*(sgtmast->nt)*sizeof(float)); + +if(strcmp(dir,".") != 0) + makedir(dir); + +if(sgtfpar->xfile[0] != '\0') + { + if(sgtextract->xfile[0] == '/') + sprintf(ofile,"%s",sgtextract->xfile); + else + sprintf(ofile,"%s/%s",dir,sgtextract->xfile); + + sgtextract->xfdr = croptrfile(ofile); + + rite(sgtextract->xfdr,&exmast,sizeof(struct sgtmaster)); + rite(sgtextract->xfdr,exindx,(exmast.globnp)*sizeof(struct sgtindex)); + + for(im=0;im sgtindx[ip].indx && ip < (sgtmast->globnp)-1) + ip++; + + off = sgtfpar->head_off + (off_t)(ip)*blen - sgtfpar->xcur_off; + lseek(sgtfpar->xfdr,off,SEEK_CUR); + sgtfpar->xcur_off = sgtfpar->head_off + (off_t)(ip)*blen; + + nreed = reed(sgtfpar->xfdr,&sgthead,sizeof(struct sgtheader)); + sgtfpar->xcur_off = sgtfpar->xcur_off + (off_t)(nreed); + + nreed = reed(sgtfpar->xfdr,sgt,6*(sgtmast->nt)*sizeof(float)); + sgtfpar->xcur_off = sgtfpar->xcur_off + (off_t)(nreed); + + rite(sgtextract->xfdr,&sgthead,sizeof(struct sgtheader)); + rite(sgtextract->xfdr,sgt,6*(sgtmast->nt)*sizeof(float)); + } + + close(sgtfpar->xfdr); + close(sgtextract->xfdr); + } + +if(sgtfpar->yfile[0] != '\0') + { + if(sgtextract->yfile[0] == '/') + sprintf(ofile,"%s",sgtextract->yfile); + else + sprintf(ofile,"%s/%s",dir,sgtextract->yfile); + + sgtextract->yfdr = croptrfile(ofile); + + rite(sgtextract->yfdr,&exmast,sizeof(struct sgtmaster)); + rite(sgtextract->yfdr,exindx,(exmast.globnp)*sizeof(struct sgtindex)); + + for(im=0;im sgtindx[ip].indx && ip < (sgtmast->globnp)-1) + ip++; + + off = sgtfpar->head_off + (off_t)(ip)*blen - sgtfpar->ycur_off; + lseek(sgtfpar->yfdr,off,SEEK_CUR); + sgtfpar->ycur_off = sgtfpar->head_off + (off_t)(ip)*blen; + + nreed = reed(sgtfpar->yfdr,&sgthead,sizeof(struct sgtheader)); + sgtfpar->ycur_off = sgtfpar->ycur_off + (off_t)(nreed); + + nreed = reed(sgtfpar->yfdr,sgt,6*(sgtmast->nt)*sizeof(float)); + sgtfpar->ycur_off = sgtfpar->ycur_off + (off_t)(nreed); + + rite(sgtextract->yfdr,&sgthead,sizeof(struct sgtheader)); + rite(sgtextract->yfdr,sgt,6*(sgtmast->nt)*sizeof(float)); + } + + close(sgtfpar->yfdr); + close(sgtextract->yfdr); + } + +if(sgtfpar->zfile[0] != '\0') + { + if(sgtextract->zfile[0] == '/') + sprintf(ofile,"%s",sgtextract->zfile); + else + sprintf(ofile,"%s/%s",dir,sgtextract->zfile); + + sgtextract->zfdr = croptrfile(ofile); + + rite(sgtextract->zfdr,&exmast,sizeof(struct sgtmaster)); + rite(sgtextract->zfdr,exindx,(exmast.globnp)*sizeof(struct sgtindex)); + + for(im=0;im sgtindx[ip].indx && ip < (sgtmast->globnp)-1) + ip++; + + off = sgtfpar->head_off + (off_t)(ip)*blen - sgtfpar->zcur_off; + lseek(sgtfpar->zfdr,off,SEEK_CUR); + sgtfpar->zcur_off = sgtfpar->head_off + (off_t)(ip)*blen; + + nreed = reed(sgtfpar->zfdr,&sgthead,sizeof(struct sgtheader)); + sgtfpar->zcur_off = sgtfpar->zcur_off + (off_t)(nreed); + + nreed = reed(sgtfpar->zfdr,sgt,6*(sgtmast->nt)*sizeof(float)); + sgtfpar->zcur_off = sgtfpar->zcur_off + (off_t)(nreed); + + rite(sgtextract->zfdr,&sgthead,sizeof(struct sgtheader)); + rite(sgtextract->zfdr,sgt,6*(sgtmast->nt)*sizeof(float)); + } + + close(sgtfpar->zfdr); + close(sgtextract->zfdr); + } +} + +struct sgtindex *get_sgtpars(struct sgtfileparams *sgtfpar,struct sgtmaster *sgtmast,struct sgtindex *sgtindx) +{ +struct sgtmaster tmast; +struct sgtindex *tindx; +int ip; + +int eflag = 0; +int rflag = 0; + +if(sgtfpar->xfile[0] != '\0') + { + sgtfpar->xfdr = opfile_ro(sgtfpar->xfile); + + reed(sgtfpar->xfdr,sgtmast,sizeof(struct sgtmaster)); + sgtindx = (struct sgtindex *) check_malloc ((sgtmast->globnp)*sizeof(struct sgtindex)); + + reed(sgtfpar->xfdr,sgtindx,(sgtmast->globnp)*sizeof(struct sgtindex)); + + sgtfpar->head_off = (off_t)(sizeof(struct sgtmaster)) + (off_t)((sgtmast->globnp)*sizeof(struct sgtindex)); + sgtfpar->xcur_off = sgtfpar->head_off; + + rflag = 1; + } + +if(sgtfpar->yfile[0] != '\0') + { + sgtfpar->yfdr = opfile_ro(sgtfpar->yfile); + + if(rflag == 0) + { + reed(sgtfpar->yfdr,sgtmast,sizeof(struct sgtmaster)); + sgtindx = (struct sgtindex *) check_malloc ((sgtmast->globnp)*sizeof(struct sgtindex)); + reed(sgtfpar->yfdr,sgtindx,(sgtmast->globnp)*sizeof(struct sgtindex)); + + sgtfpar->head_off = (off_t)(sizeof(struct sgtmaster)) + (off_t)((sgtmast->globnp)*sizeof(struct sgtindex)); + } + else + { + reed(sgtfpar->yfdr,&tmast,sizeof(struct sgtmaster)); + + eflag = 0; + if(tmast.geoproj != sgtmast->geoproj) + eflag = -1; + if(tmast.modellon > sgtmast->modellon + 0.001 || tmast.modellon < sgtmast->modellon - 0.001) + eflag = -1; + if(tmast.modellat > sgtmast->modellat + 0.001 || tmast.modellat < sgtmast->modellat - 0.001) + eflag = -1; + if(tmast.modelrot > sgtmast->modelrot + 0.001 || tmast.modelrot < sgtmast->modelrot - 0.001) + eflag = -1; + if(tmast.xshift > sgtmast->xshift + 0.001 || tmast.xshift < sgtmast->xshift - 0.001) + eflag = -1; + if(tmast.yshift > sgtmast->yshift + 0.001 || tmast.yshift < sgtmast->yshift - 0.001) + eflag = -1; + if(tmast.globnp != sgtmast->globnp) + eflag = -1; + if(tmast.localnp != sgtmast->localnp) + eflag = -1; + if(tmast.nt != sgtmast->nt) + eflag = -1; + + if(eflag != 0) + { + fprintf(stderr,"sgtmaster inconsistency in yfile= %s, exiting ...\n",sgtfpar->yfile); + exit(-1); + } + + tindx = (struct sgtindex *) check_malloc ((tmast.globnp)*sizeof(struct sgtindex)); + reed(sgtfpar->yfdr,tindx,(tmast.globnp)*sizeof(struct sgtindex)); + + for(ip=0;ipglobnp;ip++) + { + if(tindx[ip].indx != sgtindx[ip].indx) + eflag = -1; + } + + if(eflag != 0) + { + fprintf(stderr,"sgtindex inconsistency in yfile= %s, exiting ...\n",sgtfpar->yfile); + exit(-1); + } + + free(tindx); + } + + sgtfpar->ycur_off = sgtfpar->head_off; + rflag = 1; + } + +if(sgtfpar->zfile[0] != '\0') + { + sgtfpar->zfdr = opfile_ro(sgtfpar->zfile); + + if(rflag == 0) + { + reed(sgtfpar->zfdr,sgtmast,sizeof(struct sgtmaster)); + sgtindx = (struct sgtindex *) check_malloc ((sgtmast->globnp)*sizeof(struct sgtindex)); + reed(sgtfpar->zfdr,sgtindx,(sgtmast->globnp)*sizeof(struct sgtindex)); + + sgtfpar->head_off = (off_t)(sizeof(struct sgtmaster)) + (off_t)((sgtmast->globnp)*sizeof(struct sgtindex)); + } + else + { + reed(sgtfpar->zfdr,&tmast,sizeof(struct sgtmaster)); + + eflag = 0; + if(tmast.geoproj != sgtmast->geoproj) + eflag = -1; + if(tmast.modellon > sgtmast->modellon + 0.001 || tmast.modellon < sgtmast->modellon - 0.001) + eflag = -1; + if(tmast.modellat > sgtmast->modellat + 0.001 || tmast.modellat < sgtmast->modellat - 0.001) + eflag = -1; + if(tmast.modelrot > sgtmast->modelrot + 0.001 || tmast.modelrot < sgtmast->modelrot - 0.001) + eflag = -1; + if(tmast.xshift > sgtmast->xshift + 0.001 || tmast.xshift < sgtmast->xshift - 0.001) + eflag = -1; + if(tmast.yshift > sgtmast->yshift + 0.001 || tmast.yshift < sgtmast->yshift - 0.001) + eflag = -1; + if(tmast.globnp != sgtmast->globnp) + eflag = -1; + if(tmast.localnp != sgtmast->localnp) + eflag = -1; + if(tmast.nt != sgtmast->nt) + eflag = -1; + + if(eflag != 0) + { + fprintf(stderr,"sgtmaster inconsistency in zfile= %s, exiting ...\n",sgtfpar->zfile); + exit(-1); + } + + tindx = (struct sgtindex *) check_malloc ((tmast.globnp)*sizeof(struct sgtindex)); + reed(sgtfpar->zfdr,tindx,(tmast.globnp)*sizeof(struct sgtindex)); + + for(ip=0;ipglobnp;ip++) + { + if(tindx[ip].indx != sgtindx[ip].indx) + eflag = -1; + } + + if(eflag != 0) + { + fprintf(stderr,"sgtindex inconsistency in zfile= %s, exiting ...\n",sgtfpar->zfile); + exit(-1); + } + + free(tindx); + } + + sgtfpar->zcur_off = sgtfpar->head_off; + rflag = 1; + } + +return(sgtindx); +} + +void find_sgt(struct sgtparams *sgtpar,struct sgtmaster *sgtmast,struct sgtindex *sgtindx,struct sgtindex *eqindx,struct sgtindex *statindx,float *maxd,float *fwt) +{ +float xx, yy, zz, rng, zdp, rexact, zexact, del, delta[4]; +float sum, mind, xwt; +int ip, i; +int p0, p1, p2, p3; +int zflag; + +/* first see if there is an exact match */ + +ip = 0; +while(eqindx->indx > sgtindx[ip].indx && ip < (sgtmast->globnp)-1) + ip++; + +if(eqindx->indx == sgtindx[ip].indx) /* great, exact match, this will be easy */ + { + sgtpar->nsgt = 1; + sgtpar->indx[0] = sgtindx[ip].indx; + sgtpar->wt[0] = 1.0; + + /* + fprintf(stderr,"SGT EXACT: eqindx= %Ld ip= %d\n",eqindx->indx,ip); + */ + } +else /* more difficult, find up to 4 SGT that bracket point in range and depth */ + { + sgtpar->nsgt = 0; + p0 = -1; p1 = -1; p2 = -1; p3 = -1; + + delta[0] = 1.0e+15; + delta[1] = 1.0e+15; + delta[2] = 1.0e+15; + delta[3] = 1.0e+15; + + xx = (eqindx->xsgt - statindx->xsgt); + yy = (eqindx->ysgt - statindx->ysgt); + rexact = xx*xx + yy*yy; + zexact = (eqindx->zsgt - statindx->zsgt); + + for(ip=0;ipglobnp;ip++) + { + xx = (sgtindx[ip].xsgt - statindx->xsgt); + yy = (sgtindx[ip].ysgt - statindx->ysgt); + rng = xx*xx + yy*yy; + zdp = (sgtindx[ip].zsgt - statindx->zsgt); + + xx = (sgtindx[ip].xsgt - eqindx->xsgt); + yy = (sgtindx[ip].ysgt - eqindx->ysgt); + zz = (sgtindx[ip].zsgt - eqindx->zsgt); + del = xx*xx + yy*yy + zz*zz; + + if(rng <= rexact && zdp <= zexact) + { + if(p0 < 0) /* first time here */ + { + p0 = sgtpar->nsgt; + sgtpar->nsgt = sgtpar->nsgt + 1; + } + + if(del < delta[p0]) + { + delta[p0] = del; + sgtpar->indx[p0] = sgtindx[ip].indx; + sgtpar->wt[p0] = sqrt(del); + } + } + else if(rng > rexact && zdp <= zexact) + { + if(p1 < 0) /* first time here */ + { + p1 = sgtpar->nsgt; + sgtpar->nsgt = sgtpar->nsgt + 1; + } + + if(del < delta[p1]) + { + delta[p1] = del; + sgtpar->indx[p1] = sgtindx[ip].indx; + sgtpar->wt[p1] = sqrt(del); + } + } + else if(rng <= rexact && zdp > zexact) + { + if(p2 < 0) /* first time here */ + { + p2 = sgtpar->nsgt; + sgtpar->nsgt = sgtpar->nsgt + 1; + } + + if(del < delta[p2]) + { + delta[p2] = del; + sgtpar->indx[p2] = sgtindx[ip].indx; + sgtpar->wt[p2] = sqrt(del); + } + } + else /* should be (rng > rexact && zdp > zexact) */ + { + if(p3 < 0) /* first time here */ + { + p3 = sgtpar->nsgt; + sgtpar->nsgt = sgtpar->nsgt + 1; + } + + if(del < delta[p3]) + { + delta[p3] = del; + sgtpar->indx[p3] = sgtindx[ip].indx; + sgtpar->wt[p3] = sqrt(del); + } + } + } + + zflag = -1; + for(i=0;insgt;i++) + { + if(sgtpar->wt[i] == 0.0) + zflag = i; + } + + if(zflag >= 0) + { + for(i=0;insgt;i++) + sgtpar->wt[i] = 0.0; + + sgtpar->wt[zflag] = 1.0; + } + else + { + sum = 0.0; + for(i=0;insgt;i++) + sum = sum + 1.0/sgtpar->wt[i]; + + sum = 1.0/sum; + for(i=0;insgt;i++) + sgtpar->wt[i] = sum/sgtpar->wt[i]; + } + + mind = 1.0e+15; + for(i=0;insgt;i++) + { + if(delta[i] < mind) + { + mind = delta[i]; + xwt = sgtpar->wt[i]; + } + } + if(mind > *maxd) + { + *maxd = mind; + *fwt = xwt; + } + + /* + for(i=0;insgt;i++) + { + if(delta[i] > *maxd) + *maxd = delta[i]; + } + */ + + if(sgtpar->nsgt < 4) + fprintf(stderr,"*** tried to find 4 SGT, but only found %d: eq.zsgt= %d\n",sgtpar->nsgt,eqindx->zsgt); + + /* + { +for(i=0;insgt;i++) + { + fprintf(stderr,"%d) sgti=%Ld eqi=%Ld delta=%13.5e maxd=%13.5e\n",i,sgtpar->indx[i],eqindx->indx,delta[i],*maxd); + } + exit(-1); + } +*/ + + } +} + +void read_sgt(struct sgtfileparams *sgtfpar,struct sgtmaster *sgtmast,struct sgtindex *sgtindx,struct sgtheader *sgthead,float *sgtbuf) +{ +int ip; +float *sgtptr; + +float xmom = 0.0; +float ymom = 0.0; + +for(ip=0;ip<18*(sgtmast->globnp)*(sgtmast->nt);ip++) + sgtbuf[ip] = 0.0; + +if(sgtfpar->xfile[0] != '\0') + { + lseek(sgtfpar->xfdr,(sgtfpar->head_off),SEEK_SET); + + for(ip=0;ip<(sgtmast->globnp);ip++) + { + sgtptr = sgtbuf + ip*18*(sgtmast->nt); + reed(sgtfpar->xfdr,&sgthead[ip],sizeof(struct sgtheader)); + reed(sgtfpar->xfdr,sgtptr,6*(sgtmast->nt)*sizeof(float)); + } + close(sgtfpar->xfdr); + + xmom = sgthead[0].xmom; + } + +if(sgtfpar->yfile[0] != '\0') + { + lseek(sgtfpar->yfdr,(sgtfpar->head_off),SEEK_SET); + + for(ip=0;ip<(sgtmast->globnp);ip++) + { + sgtptr = sgtbuf + (ip*18 + 6)*(sgtmast->nt); + reed(sgtfpar->yfdr,&sgthead[ip],sizeof(struct sgtheader)); + reed(sgtfpar->yfdr,sgtptr,6*(sgtmast->nt)*sizeof(float)); + + sgthead[ip].xmom = xmom; + } + close(sgtfpar->yfdr); + + ymom = sgthead[0].ymom; + } + +if(sgtfpar->zfile[0] != '\0') + { + lseek(sgtfpar->zfdr,(sgtfpar->head_off),SEEK_SET); + + for(ip=0;ip<(sgtmast->globnp);ip++) + { + sgtptr = sgtbuf + (ip*18 + 12)*(sgtmast->nt); + reed(sgtfpar->zfdr,&sgthead[ip],sizeof(struct sgtheader)); + reed(sgtfpar->zfdr,sgtptr,6*(sgtmast->nt)*sizeof(float)); + + sgthead[ip].xmom = xmom; + sgthead[ip].ymom = ymom; + } + close(sgtfpar->zfdr); + } +} + +void sum_sgt(float *seis,int ntout,float *gfmech,struct sgtparams *sgtpar,struct sgtheader *sgthead,int ntsum,float *rupt,float *tstart,struct mechparam mp) +{ +int ig, ip, it, im; +float pbar, maxgft, backt0, t0[4], gft[4]; +float *sptr, *gfptr; + +pbar = 0.0; +for(ig=0;ignsgt;ig++) + { + ip = sgtpar->master_ip[ig]; + pbar = pbar + sqrt(sgthead[ip].rho/sgthead[ip].mu); /* slowness */ + } +pbar = pbar/(float)(sgtpar->nsgt); + +maxgft = -1.0e+15; +for(ig=0;ignsgt;ig++) + { + ip = sgtpar->master_ip[ig]; + gft[ig] = pbar*sgthead[ip].cdist; + if(gft[ig] > maxgft) + maxgft = gft[ig]; + } + +backt0 = 0.0; +for(ig=0;ignsgt;ig++) + { + ip = sgtpar->master_ip[ig]; + t0[ig] = maxgft - gft[ig]; + backt0 = backt0 - t0[ig]*sgtpar->wt[ig]; + t0[ig] = t0[ig] + sgthead[ip].tst; + } +backt0 = backt0 + *rupt - *tstart; + +for(im=0;imnsgt); + } +} + +void timeshift_sgt(float *seis,int ntout,float *gf,struct sgtheader *gfh,int ntsum,float *t0,float *bt0,int nsgt) +{ +struct complex *gc0, *gc1, *gc2; +float *gf0, *gf1, *gf2, *sv, *sn, *se, *gfv, *gfn, *gfe; +float cosA, sinA, arg, fac, norm, tmpre, scale, tsh; +int i, ig, tapst, it, nts3, nts6, nts9; +int itshift, it0, nf2; + +int taplen = 10; +float zap = 0.0; +float half = 0.5; +float one = 1.0; +float two = 2.0; +float pi = 3.141592654; + +sv = seis; +sn = seis + ntout; +se = seis + 2*ntout; + +for(ig=0;ig= 0.0) + itshift = (int)(tsh/gfh[ig].dt + 0.5); + else + itshift = (int)(tsh/gfh[ig].dt - 0.5); + + it0 = gfh[ig].nt + itshift; + + if(it0 > ntsum) + it0 = ntsum; + + if(it0 > ntout) + it0 = ntout; + + if(itshift < 0) + { + for(i=0;i=itshift;i--) + { + sv[i] = sv[i] + gf0[i-itshift]; + sn[i] = sn[i] + gf1[i-itshift]; + se[i] = se[i] + gf2[i-itshift]; + } + } + } +} + +void mech_sgt(float *gfmech,float *sgtbuf,struct sgtheader *sgthead,struct sgtparams *sgtpar,int nts,struct mechparam mp,float *scl) +{ +struct sgtheader *sgtheadptr; +float *sgtbufptr; +float *zdd, *rdd, *zds, *rds, *tds, *zss, *rss, *tss; +float *axx, *ayy, *azz, *axy, *axz, *ayz; +float *bxx, *byy, *bzz, *bxy, *bxz, *byz; +float *cxx, *cyy, *czz, *cxy, *cxz, *cyz; +float *gfn, *gfe, *gfv, *gfmptr; +float f1, f2, f3, f4, f5; +float cxS, sxS, cxD, sxD, cx2D, sx2D, cxL, sxL; +float cxT, sxT, cx2T, sx2T; +float arg, cosA, sinA, rad, tan, scale; +float xamp, yamp, zamp, sx, sy, sz; +float mxx, myy, mzz, mxy, mxz, myz; +float sum, rake; +float u1, u2, u3, vx, vy, vz, l2m; +float us, ud, ux, uy, uz; +int it, ig, im; + +float half = 0.5; +float two = 2.0; +float rperd = 0.017453293; + +arg = (mp.dip)*rperd; +cxD = cos(arg); +sxD = sin(arg); + +cx2D = cxD*cxD - sxD*sxD; +sx2D = two*sxD*cxD; + +for(im=0;imnsgt);ig++) + { + sgtheadptr = sgthead + sgtpar->master_ip[ig]; + sgtbufptr = sgtbuf + 18*sgtheadptr->nt*sgtpar->master_ip[ig]; + + arg = (mp.stk - sgtheadptr->xazim)*rperd; + cxT = cos(arg); + sxT = sin(arg); + + vx = -sxD*sxT; + vy = sxD*cxT; + vz = -cxD; + + us = u1*cxL - u2*sxL; + ud = u1*sxL + u2*cxL; + + ux = -(u3*sxD - ud*cxD)*sxT + us*cxT; + uy = (u3*sxD - ud*cxD)*cxT + us*sxT; + uz = -(u3*cxD + ud*sxD); + + l2m = sgtheadptr->lam + two*sgtheadptr->mu; + + mxx = l2m*vx*ux + (sgtheadptr->lam)*vy*uy + (sgtheadptr->lam)*vz*uz; + myy = (sgtheadptr->lam)*vx*ux + l2m*vy*uy + (sgtheadptr->lam)*vz*uz; + mzz = (sgtheadptr->lam)*vx*ux + (sgtheadptr->lam)*vy*uy + l2m*vz*uz; + mxy = (sgtheadptr->mu)*(vx*uy + vy*ux); + mxz = (sgtheadptr->mu)*(vx*uz + vz*ux); + myz = (sgtheadptr->mu)*(vy*uz + vz*uy); + + arg = sgtheadptr->xazim*rperd; + cosA = cos(arg); + sinA = sin(arg); + + gfv = gfmptr + 3*ig*nts; + gfn = gfmptr + 3*ig*nts + nts; + gfe = gfmptr + 3*ig*nts + 2*nts; + + axx = sgtbufptr; + ayy = sgtbufptr + (sgtheadptr->nt); + azz = sgtbufptr + 2*(sgtheadptr->nt); + axy = sgtbufptr + 3*(sgtheadptr->nt); + axz = sgtbufptr + 4*(sgtheadptr->nt); + ayz = sgtbufptr + 5*(sgtheadptr->nt); + bxx = sgtbufptr + 6*(sgtheadptr->nt); + byy = sgtbufptr + 7*(sgtheadptr->nt); + bzz = sgtbufptr + 8*(sgtheadptr->nt); + bxy = sgtbufptr + 9*(sgtheadptr->nt); + bxz = sgtbufptr + 10*(sgtheadptr->nt); + byz = sgtbufptr + 11*(sgtheadptr->nt); + cxx = sgtbufptr + 12*(sgtheadptr->nt); + cyy = sgtbufptr + 13*(sgtheadptr->nt); + czz = sgtbufptr + 14*(sgtheadptr->nt); + cxy = sgtbufptr + 15*(sgtheadptr->nt); + cxz = sgtbufptr + 16*(sgtheadptr->nt); + cyz = sgtbufptr + 17*(sgtheadptr->nt); + + sum = sum + (*scl)*(sgtheadptr->mu)*(sgtpar->wt[ig]); + +/* +fprintf(stderr,"area= %13.5e mu= %13.5e\n",(*scl),(sgtheadptr->mu)); +*/ + + xamp = 0.0; + if(sgtheadptr->xmom > 0.0) + xamp = (*scl)*(sgtpar->wt[ig])/(sgtheadptr->xmom); + + yamp = 0.0; + if(sgtheadptr->ymom > 0.0) + yamp = (*scl)*(sgtpar->wt[ig])/(sgtheadptr->ymom); + + zamp = 0.0; + if(sgtheadptr->zmom > 0.0) + zamp = (*scl)*(sgtpar->wt[ig])/(sgtheadptr->zmom); + + for(it=0;itnt;it++) + { + sx = xamp*(axx[it]*mxx + ayy[it]*myy + azz[it]*mzz + + axy[it]*mxy + axz[it]*mxz + ayz[it]*myz); + + sy = yamp*(bxx[it]*mxx + byy[it]*myy + bzz[it]*mzz + + bxy[it]*mxy + bxz[it]*mxz + byz[it]*myz); + + sz = zamp*(cxx[it]*mxx + cyy[it]*myy + czz[it]*mzz + + cxy[it]*mxy + cxz[it]*mxz + cyz[it]*myz); + + gfe[it] = sx*sinA + sy*cosA; + gfn[it] = sx*cosA - sy*sinA; + gfv[it] = -sz; + } + } + } + +*scl = sum; /* scl now contains the moment released for this point source */ +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupm.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupm.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupm.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,145 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void get_srfpars(struct standrupformat *srf,int off, int ip,float *rt,float *vs,float *stk,float *dip,float *rak,struct mechparam *mpar) +{ +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +prect_ptr = &(srf->srf_prect); +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals + off; + +mpar->nmech = 0; +mpar->flag[0] = 0; +mpar->flag[1] = 0; +mpar->flag[2] = 0; + +if(apval_ptr[ip].nt1 > 0) + { + mpar->flag[mpar->nmech] = U1FLAG; + mpar->nmech = mpar->nmech + 1; + } +if(apval_ptr[ip].nt2 > 0) + { + mpar->flag[mpar->nmech] = U2FLAG; + mpar->nmech = mpar->nmech + 1; + } +if(apval_ptr[ip].nt3 > 0) + { + mpar->flag[mpar->nmech] = U3FLAG; + mpar->nmech = mpar->nmech + 1; + } + +*vs = sqrt(apval_ptr[ip].slip1*apval_ptr[ip].slip1 + + apval_ptr[ip].slip2*apval_ptr[ip].slip2 + + apval_ptr[ip].slip3*apval_ptr[ip].slip3); +*stk = apval_ptr[ip].stk; +*dip = apval_ptr[ip].dip; +*rak = apval_ptr[ip].rake; +*rt = apval_ptr[ip].tinit; +} + +void srf_stf(struct standrupformat *srf,int off,int ip,float *s,float *u,float *stf,int nt,float *dt,struct mechparam mp,float *space) +{ +FILE *fpw; +int it, nstf, im; +float sum, *sptr, *uptr; + +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +float fnt; +int resamp, ntpad, ntrsmp, gnt; + +float tol = 1.0e-02; + +float pratio_tol, mratio_tol; +float ratio_tol = 0.00001; + +pratio_tol = 1.0 + ratio_tol; +mratio_tol = 1.0 - ratio_tol; + +prect_ptr = &(srf->srf_prect); +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals + off; + +zapit(stf,nt); + +/* +if(apval_ptr[ip].nt1 == 0) + return; +*/ + +/* for now, simply copy STF + should add option to resample to dtout + */ + +for(im=0;im pratio_tol || (*dt)/apval_ptr[ip].dt < mratio_tol) + { + /* + fprintf(stderr,"*** RESAMPLED diff= %13.5e ratio= %13.5e\n",(*dt)-apval_ptr[ip].dt,(*dt)/apval_ptr[ip].dt); + */ + + ntpad = 2*nstf; + fnt = ntpad*apval_ptr[ip].dt/(*dt); + gnt = (int)(fnt + 0.5); + + while(nt_tol(fnt,gnt) > tol) + { + ntpad++; + fnt = ntpad*apval_ptr[ip].dt/(*dt); + gnt = (int)(fnt + 0.5); + } + + ntrsmp = (int)(fnt); + if(ntrsmp > nt) + { + fprintf(stderr,"*** resampled nt > ntsum, exiting...\n"); + exit(-1); + } + + if((*dt) < apval_ptr[ip].dt) + resamp = 1; + else + resamp = -1; + + resample(stf,nstf,&apval_ptr[ip].dt,resamp,ntpad,ntrsmp,dt,space); + + nstf = ntrsmp; + } + + uptr = u + 3*im*nt; + do_cnvlv(s,uptr,nt,stf,nstf); + } +} Added: SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupmOLD.c =================================================================== --- SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupmOLD.c (rev 0) +++ SwiftApps/Cybershake/app/post/JBSim3d/src/srf_rupmOLD.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,99 @@ +#include "include.h" +#include "structure.h" +#include "function.h" + +void get_srfpars(struct standrupformat *srf,int i,int j,float *rt,float *vs,float *rk,int nseg,int off,struct mechparam *mpar) +{ +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; +int ip; + +prect_ptr = &(srf->srf_prect); +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals + off; + +ip = i + j*(prseg_ptr[nseg].nstk); + +mpar->nmech = 0; +mpar->flag[0] = 0; +mpar->flag[1] = 0; +mpar->flag[2] = 0; + +if(apval_ptr[ip].nt1 > 0) + { + mpar->flag[mpar->nmech] = U1FLAG; + mpar->nmech = mpar->nmech + 1; + } +if(apval_ptr[ip].nt2 > 0) + { + mpar->flag[mpar->nmech] = U2FLAG; + mpar->nmech = mpar->nmech + 1; + } +if(apval_ptr[ip].nt3 > 0) + { + mpar->flag[mpar->nmech] = U3FLAG; + mpar->nmech = mpar->nmech + 1; + } + +*vs = sqrt(apval_ptr[ip].slip1*apval_ptr[ip].slip1 + + apval_ptr[ip].slip2*apval_ptr[ip].slip2 + + apval_ptr[ip].slip3*apval_ptr[ip].slip3); +*rk = apval_ptr[ip].rake; +*rt = apval_ptr[ip].tinit; +} + +void srf_stf(struct standrupformat *srf,int i,int j,float *s,float *u,float *stf,int nt,float *dt,int nseg,int off,struct mechparam mp) +{ +FILE *fpw; +int ip, it, nstf, im; +float sum, *sptr, *uptr; +struct srf_planerectangle *prect_ptr; +struct srf_prectsegments *prseg_ptr; +struct srf_allpoints *apnts_ptr; +struct srf_apointvalues *apval_ptr; + +prect_ptr = &(srf->srf_prect); +prseg_ptr = prect_ptr->prectseg; +apnts_ptr = &(srf->srf_apnts); +apval_ptr = apnts_ptr->apntvals + off; + +zapit(stf,nt); + +ip = i + j*(prseg_ptr[nseg].nstk); + +if(apval_ptr[ip].nt1 == 0) + return; + +/* for now, simply copy STF + should add option to resample to dtout + */ + +for(im=0;im nstf) + kend = nstf; + + for(k=0;k maxdax): + print "DAX number " + str(daxnum) + " is greater than max DAX " + str(maxdax) + return 1 + + msg = msg + stages[0] + ": Complete\r\n" + if (istage > 0): + msg = msg + stages[1] + ": Number " + str(daxnum) + " of approx " + str(maxdax) + " completed successfully\r\n" + else: + msg = msg + stages[1] + ": Scheduled\r\n" + + # Send the email + sendNotification(subject, msg, notify_to) + + return 0 + + +# Workflow definitions +# Mapping of workflow name -> tuple (number of arguments, handler) +WORKFLOWS = {"SGT":(1, doSGT), \ + "PP":(3, doPP)} + + +# Send email msg using SMTP +def sendNotification(subject, msg, notify_user): + to_str = "" + for n in notify_user: + if (to_str == ""): + to_str = n + else: + to_str = to_str + "," + n + msg = "From: " + notify_from + \ + "\r\nTo: " + to_str + \ + "\r\nSubject: " + subject + \ + "\r\n" + msg + \ + "\r\n---------------------------------------------------\r\nAutomated msg from Workflow Status\r\n" + + for h in smtphosts: + try: + print "Connecting to SMTP host " + h + server = smtplib.SMTP(h) + #server.set_debuglevel(1) + server.sendmail(notify_from, notify_user, msg) + server.quit() + return 0 + except: + print sys.exc_info() + print "Unable to send notification via host " + h + + return 1 + + +def init(): + global notify_from + global notify_to + global site + global workflow + global stage_info + global smtphosts + + # Get the current user id + userid = pwd.getpwuid(os.getuid())[0] + domain = socket.getfqdn() + notify_from = userid + "@" + domain + + # Create list of possible SMTP servers + smtphosts.append('localhost') + comps = domain.split('.', 1) + if (len(comps) > 1): + althost = 'smtp.' + comps[1] + smtphosts.append(althost) + althost = 'smtp.' + domain + smtphosts.append(althost) + + # Get number of command-line arguments + argc = len(sys.argv) + + # Parse command line arguments + if (argc < 5): + print "Usage: " + sys.argv[0] + " " + print "Example: " + sys.argv[0] + " USC SGT notify.file PreCVM" + print "Example: " + sys.argv[0] + " USC PP notify.file CheckSgt 12 80" + return 1 + + site = sys.argv[1] + workflow = sys.argv[2] + notify_file = sys.argv[3] + stage_info = sys.argv[4:] + + print "Configuration:" + print "Notify From:\t" + notify_from + print "Notify File:\t" + notify_file + print "Site:\t\t" + site + print "Workflow:\t" + workflow + print "Stage Info:\t" + str(stage_info) + + # Check that the workflow is valid and the correct number of arguments were supplied + try: + wfinfo = WORKFLOWS[workflow] + numargs = wfinfo[0] + if (len(stage_info) != numargs): + print "Workflow " + workflow + " requires " + str(numargs) + " argument(s)" + return 1 + except: + print "Unable to find " + workflow + return 1 + + # Load the notify list from the file + try: + file = open(notify_file) + lines = file.read() + lines = lines.splitlines() + for l in lines: + if (len(l) > 0): + notify_to.append(l) + except: + print "Unable to read file " + notify_file + return 1 + + print "Notification List:" + for n in notify_to: + print " " + n + + return 0 + + +def main(): + if (len(notify_to) == 0): + print "No users specified in notify file - notifications disabled" + else: + # Execute the workflow handler + retcode = WORKFLOWS[workflow][1](stage_info) + if (retcode != 0): + print "Error sending email notification" + return 1 + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + if (main() != 0): + sys.exit(1) + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/Notify/SendStatus.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/README =================================================================== --- SwiftApps/Cybershake/app/post/README (rev 0) +++ SwiftApps/Cybershake/app/post/README 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,4 @@ +Source to compile the scec application binaries. +To compile use: make +IMP: Requires intel compiler. + Added: SwiftApps/Cybershake/app/post/RunManager/CompCurveFile.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/CompCurveFile.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/CompCurveFile.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,52 @@ +#!/usr/bin/env python + +# Imports +import time +import cgi +from Config import * + + +# Stores info on a comparison curve file +class CompCurveFile: + srcname = "" + escaped = "" + site = "" + run_id = 0 + period = "" + date = 0 + + def __init__(self, srcname): + self.srcname = srcname + self.escaped = cgi.escape(self.srcname, True) + suffix = self.srcname.split(".", 1) + if (len(suffix) == 2): + tokens = suffix[0].split("_") + if (len(tokens) == 8): + self.site = tokens[0] + self.run_id = int(tokens[2][3:]) + self.period = tokens[3] + "_" + tokens[4] + self.date = int(time.mktime(time.strptime('%s-%s-%s' % \ + (tokens[7], \ + tokens[5], \ + tokens[6]), \ + '%Y-%m-%d'))) + + def getRunID(self): + return self.run_id + + def getDate(self): + return self.date + + def getSiteName(self): + return self.site + + def getEscaped(self): + return self.escaped + + def getFilename(self): + return self.srcname + + def getPeriod(self): + return self.period + + Property changes on: SwiftApps/Cybershake/app/post/RunManager/CompCurveFile.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/Condor.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/Condor.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/Condor.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,152 @@ +#!/usr/bin/env python + + +# Imports +import os +import sys +import time +import subprocess +from CondorJob import * + + +# Globals +CONDOR_Q = "condor_q" +CONDOR_RETRY = 3 +CONDOR_WAIT_SECS = 30 + + +class Condor: + job_cache = {} + + def __init__(self): + job_cache = {} + return + + def __runCommand(self, cmd): + try: + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + output = p.communicate()[0] + retcode = p.returncode + if retcode != 0: + #print output + #print "Non-zero exit code" + return None + except: + #print sys.exc_info() + #print "Failed to run cmd: " + str(cmd) + return None + + output = output.splitlines() + return output + + + def __runCondorCommand(self, cmd): + + # Under high scheduler load, will get failure to connect error. In this case + # retry the query + count = 0 + done = False + while ((count < CONDOR_RETRY) and (not done)): + output = self.__runCommand(cmd) + if (output == None): + print "Failed to execute condor command." + count = count + 1 + print "Waiting " + str(CONDOR_WAIT_SECS) + " secs, then retrying" + time.sleep(CONDOR_WAIT_SECS) + else: + done = True + + if (not done): + return None + else: + return output + + + def __parseClassAds(self, classads): + # Check to ensure there is a classad + if (len(classads) <= 4): + return None + + classad_dict = {} + for ad in classads: + tokens = ad.split(" = ", 1) + if (len(tokens) == 2): + classad_dict[tokens[0]] = tokens[1] + #else: + # print "Invalid classad (%s)" % (ad) + if (len(classad_dict.keys()) == 0): + return None + else: + return classad_dict + + + def getJobs(self): + return None + + + def getJob(self, job_id): + # Method returns tuple (job object, error code) in order to allow + # apps to distinguish between condor_q errors and + # non-existance of a job + + if ((job_id == None) or (str(job_id) == "")): + return (None, 0) + + # Query condor_q for this job's classad + condorcmd = [CONDOR_Q, '-long', str(job_id)] + output = self.__runCondorCommand(condorcmd) + if (output == None): + return (None, 1) + + classads = self.__parseClassAds(output) + if (classads == None): + return (None, 0) + + # Parse the classad + job = CondorJob() + job.setJobID(job_id) + for k,v in classads.items(): + if (k == 'DAGManJobId'): + job.setParent(v) + elif (k == "JobStatus"): + job.setStatus(int(v)) + elif (k == 'Cmd'): + job.setCommand(v) + + return (job, 0) + + + def cacheAllJobs(self): + + # Query condor_q for this job's classad + condorcmd = [CONDOR_Q,] + output = self.__runCondorCommand(condorcmd) + if (output == None): + return 1 + + if (len(output) < 6): + self.job_cache = {} + return 0 + + # Strip off beginning 4 lines, last 2 lines + output = output[4:-2] + + for line in output: + job_id = line.split()[0].split(".")[0] + # Add new entry in job cache + job = CondorJob() + job.setJobID(job_id) + self.job_cache[job_id] = job + + return 0 + + + def getJobFromCache(self, job_id): + if ((job_id == None) or (str(job_id) == "")): + return None + + if (str(job_id) in self.job_cache.keys()): + job = self.job_cache[str(job_id)] + return job + + return None Property changes on: SwiftApps/Cybershake/app/post/RunManager/Condor.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/CondorJob.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/CondorJob.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/CondorJob.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,108 @@ +#!/usr/bin/env python + + +# Imports +import sys +import time + + +# Globals +CONDOR_DAGMAN = "condor_dagman" + + +class CondorJob: + job_id = None + status = None + parent = None + cmd = None + status_time = None + num_starts = None + + + def __init__(self): + self.job_id = None + self.status = None + self.parent = None + self.cmd = None + self.status_time = None + self.num_starts = None + + + def getJobID(self): + return self.job_id + + + def setJobID(self, job_id): + if (job_id == None): + self.job_id = None + else: + self.job_id = str(job_id) + + + def getStatus(self): + return self.status + + + def setStatus(self, status): + if (status == None): + self.status = None + else: + self.status = int(status) + + + def isDAG(self): + if ((self.cmd != None) and (self.cmd.find(CONDOR_DAGMAN) != -1)): + return True + else: + return False + + + def isChild(self): + if (self.parent != None): + return True + else: + return False + + + def getCommand(self): + return self.command + + + def setCommand(self, cmd): + if (cmd == None): + self.cmd = None + else: + self.cmd = str(cmd) + + + def getParent(self): + return self.parent + + + def setParent(self, parent): + if (parent == None): + self.parent = None + else: + self.parent = int(parent) + + + def getStatusTime(self): + return self.status_time + + + def setStatusTime(self, status_time): + if (status_time == None): + self.status_time = None + else: + self.status_time = int(status_time) + + + def getNumStarts(self): + return self.num_starts + + + def setNumStarts(self, num_starts): + if (num_starts == None): + self.num_starts = None + else: + self.num_starts = int(num_starts) Property changes on: SwiftApps/Cybershake/app/post/RunManager/CondorJob.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/Config.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/Config.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/Config.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,89 @@ +#!/usr/bin/env python + + +# DB Constants +DB_HOST = "focal.usc.edu" +DB_PORT = 3306 +DB_USER_WR = "cybershk" +DB_PASS_WR = "re at lStil1" +DB_USER = "cybershk_ro" +DB_PASS = "CyberShake2007" +DB_NAME = "CyberShake" + +# Valid computing resources +HOST_LIST = ["unknown", "hpc", "mercury", "abe", "ranger", "kraken", \ + "sdsc"] + +# Valid users +USER_LIST = ["cybershk", "tera3d", "scottcal", "kmilner", "maechlin", \ + "patrices"] + +# Valid states +START_STATE = "Initial" +PLOT_STATE = "Plotting" +DONE_STATE = "Verified" +DELETED_STATE = "Deleted" +SGT_STATES = ["SGT Started", "SGT Generated", "SGT Error",] +PP_STATES = ["PP Started", "Curves Generated", "PP Error",] +ACTIVE_STATES = ["Initial", "SGT Started", "SGT Error", \ + "SGT Generated", "PP Started", "PP Error", \ + "Curves Generated", "Plotting", "Verify Error",] + +# Dictionary expressing the state-transition-diagram +STATUS_STD = {"Initial": ["Initial", "SGT Started", "SGT Error", "Deleted",], \ + "SGT Started":["SGT Started", "SGT Generated", "SGT Error", \ + "Deleted",], \ + "SGT Error":["Initial", "SGT Started", "SGT Error", "Deleted",], \ + "SGT Generated":["SGT Generated", "PP Started", "PP Error", \ + "Deleted",], \ + "PP Started":["PP Started", "Curves Generated", "PP Error", \ + "Deleted",], \ + "PP Error":["SGT Generated", "PP Started", "PP Error", \ + "Deleted",], \ + "Curves Generated":["Curves Generated", "Plotting", "Verified", \ + "Verify Error", "Deleted",], \ + "Plotting":["Plotting", "Verified", "Verify Error", \ + "Deleted", ], \ + "Verify Error":["Verify Error", "Plotting", "Verified", \ + "Deleted"], \ + "Verified":["Verified",], \ + "Deleted":["Deleted", ]} + + +# OpenSHA scripts and config +OPENSHA_LOGIN = 'cybershk at opensha.usc.edu' +OPENSHA_DIR = '/home/scec-00/cybershk/opensha' +OPENSHA_SCATTER_SCRIPT = '%s/make_scatter_map.sh' % (OPENSHA_DIR) +OPENSHA_INTERPOLATED_SCRIPT = '%s/make_interpolated_map.sh' % (OPENSHA_DIR) +OPENSHA_CURVE_SCRIPT = '%s/curve_plot_wrapper.sh' % (OPENSHA_DIR) +OPENSHA_XML_DIR = '/home/scec-00/cybershk/opensha/OpenSHA/org/opensha/sha/cybershake/conf' +OPENSHA_ERF_XML = '%s/%s' % (OPENSHA_XML_DIR, 'MeanUCERF.xml') +OPENSHA_AF_XML = '%s/%s,%s/%s,%s/%s,%s/%s' % \ + (OPENSHA_XML_DIR, 'cb2008.xml', \ + OPENSHA_XML_DIR, 'ba2008.xml', \ + OPENSHA_XML_DIR, 'cy2008.xml', \ + OPENSHA_XML_DIR, 'as2008.xml') +OPENSHA_DBPASS_FILE = '/home/scec-00/cybershk/config/db_pass.txt' + + +# Directory containing hazard curve images +CURVE_DIR = "/home/scec-00/cybershk/opensha/curves/" + + +# Path to the most recent scatter plot +SCATTER_IMG = "/home/scec-00/cybershk/opensha/scatter/map_cb.png" + + +# Path to the most recent interpolated maps +INTERPOLATED_ALL_IMG = "/home/scec-00/cybershk/opensha/interpolatedMap/map.png" +INTERPOLATED_GRID_IMG = "/home/scec-00/cybershk/opensha/interpolatedMap/allGrid.png" + + +# Website URL +WEB_URL = "http://intensity.usc.edu/cybershake/status/" + + +# Maximum column lengths +MAX_RUN_SUBMIT_DIR = 256 +MAX_RUN_COMMENT = 128 +MAX_RUN_NOTIFY_USER = 128 Property changes on: SwiftApps/Cybershake/app/post/RunManager/Config.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/Curve.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/Curve.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/Curve.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,87 @@ +#!/usr/bin/env python + +# Imports +import sys +import os +import pwd +import time +from Config import * + + +class Curve: + curve_id = None + im_id = None + im_measure = None + im_value = None + im_units = None + + def __init__(self): + self.curve_id = None + self.im_id = None + self.im_measure = None + self.im_value = None + self.im_units = None + + def copy(self, obj): + self.curve_id = obj.curve_id + self.im_id = obj.im_id + self.im_measure = obj.im_measure + self.im_value = obj.im_value + self.im_units = obj.im_units + + #@staticmethod + def formatHeader(self): + headers = ["Curve ID", "IM Measure", "IM Value", "IM Units",] + return headers + + def formatData(self): + data = [str(self.curve_id), \ + str(self.im_measure), \ + str(self.im_value), \ + str(self.im_units),] + return data + + def getCurveID(self): + return self.curve_id + + def setCurveID(self, curve_id): + if (curve_id == None): + self.curve_id = curve_id + else: + self.curve_id = int(curve_id) + + def getIMID(self): + return self.im_id + + def setIMID(self, im_id): + if (im_id == None): + self.im_id = im_id + else: + self.im_id = int(im_id) + + def getIMMeasure(self): + return self.im_measure + + def setIMMeasure(self, im_measure): + if (im_measure == None): + self.im_measure = im_measure + else: + self.im_measure = str(im_measure) + + def getIMValue(self): + return self.im_value + + def setIMValue(self, im_value): + if (im_value == None): + self.im_value = im_value + else: + self.im_value = float(im_value) + + def getIMUnits(self): + return self.im_units + + def setIMUnits(self, im_units): + if (im_units == None): + self.im_units = im_units + else: + self.im_units = str(im_units) Property changes on: SwiftApps/Cybershake/app/post/RunManager/Curve.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/Database.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/Database.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/Database.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,127 @@ +#!/usr/bin/env python + +import sys +import MySQLdb + + +class Database: + host = "" + port = 0 + user = "" + password = "" + db = "" + connection = None + cursor = None + html = True + + def __init__(self, host, port, user, password, db): + self.host = host + self.port = port + self.user = user + self.password = password + self.db = db + self.connection = None + self.cursor = None + self.html = True + + + def _printError(self, str): + if (self.html): + print "%s

" % (str) + else: + print "%s" % (str) + return + + + def useHTML(self, flag): + self.html = flag + return + + + def open(self): + try: + self.connection = MySQLdb.connect(host=self.host,\ + port=self.port,user=self.user,\ + passwd=self.password,db=self.db) + self.cursor = self.connection.cursor() + except MySQLdb.OperationalError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + return 1 + return 0 + + + def close(self): + try: + self.connection.close() + except MySQLdb.OperationalError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + return 1 + return 0 + + + def beginTransaction(self): + try: + self.cursor.execute("BEGIN") + #self.connection.begin() + except MySQLdb.OperationalError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + return 1 + return 0 + + + def commit(self): + try: + self.connection.commit() + except MySQLdb.OperationalError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + return 1 + return 0 + + + def rollback(self): + try: + self.connection.rollback() + except MySQLdb.OperationalError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + return 1 + return 0 + + + def execsql(self, sql): + try: + self.cursor.execute(sql) + except MySQLdb.DatabaseError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + return 1 + return 0 + + + def execsqlbulk(self, sql, data): + try: + self.cursor.executemany(sql, data) + except MySQLdb.DatabaseError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + return 1 + return 0 + + + def getResultsAll(self): + try: + results = self.cursor.fetchall() + return results + except MySQLdb.DatabaseError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + + return None + + + def getResultsNext(self): + try: + results = self.cursor.fetchone() + return results + except MySQLdb.DatabaseError,message: + self._printError("Error %d:\n%s" % (message[0], message[1])) + + return None + + Property changes on: SwiftApps/Cybershake/app/post/RunManager/Database.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/Mailer.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/Mailer.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/Mailer.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,68 @@ +#!/usr/bin/env python + +import sys +import socket +import os +import pwd +import smtplib +from Config import * + + +# Constants +FOOTER = "\r\n------------------------------------------------------------" + \ + "\r\nAutomated msg from CyberShake RunManager" + \ + "\r\n" + WEB_URL + "\r\n" + + +class Mailer: + smtphosts = [] + from_user = "" + + def __init__(self): + + # Get the current user id + userid = pwd.getpwuid(os.getuid())[0] + domain = socket.getfqdn() + self.from_user = userid + "@" + domain + + # Create list of possible SMTP servers + self.smtphosts.append('localhost') + comps = domain.split('.', 1) + if (len(comps) > 1): + althost = 'smtp.' + comps[1] + self.smtphosts.append(althost) + althost = 'smtp.' + domain + self.smtphosts.append(althost) + + return + + def send(self, to_user, subject, msg): + to_str = "" + if (type(to_user) == type([])): + for n in to_user: + if (to_str == ""): + to_str = n + else: + to_str = to_str + "," + n + else: + to_str = str(to_user) + + msg_str = "From: %s\r\nTo: %s\r\nSubject: %s\r\n%s%s" % \ + (self.from_user, to_str, subject, msg, FOOTER) + + for h in self.smtphosts: + try: + print "Connecting to SMTP host " + h + server = smtplib.SMTP(h) + #server.set_debuglevel(1) + server.sendmail(self.from_user, to_str, msg_str) + server.quit() + return 0 + except: + print sys.exc_info() + print "Unable to send notification via host " + h + + # Exhausted all possible smtp hosts + return 1 + + Property changes on: SwiftApps/Cybershake/app/post/RunManager/Mailer.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/RLS.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/RLS.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/RLS.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,121 @@ +#!/usr/bin/env python + + +# Imports +import os +import sys +import subprocess + + +# Constants +RLS_HOST = "shock.usc.edu" + + +# Globals + + +class RLS: + rls_host = None + + def __init__(self, rls_host = None): + if (rls_host != None): + self.rls_host = "rls://%s" % (rls_host) + else: + self.rls_host = "rls://%s" % (RLS_HOST) + return + + def __runCommand(self, cmd): + try: + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + output = p.communicate()[0] + retcode = p.returncode + if retcode != 0: + #print output + #print "Non-zero exit code" + return None + except: + #print sys.exc_info() + #print "Failed to run cmd: " + str(cmd) + return None + + output = output.splitlines() + return output + + + def getPFNs(self, lfn): + + cmd = ['globus-rls-cli', 'query', 'lrc', 'lfn', lfn, self.rls_host,] + output = self.__runCommand(cmd) + if (output == None): + return None + else: + pfn_list = [] + for l in output: + tokens = l.split(":", 1) + if (len(tokens) == 2): + pfn = tokens[1] + pfn = pfn.strip() + pfn_list.append(pfn) + return pfn_list + + + def renamePFN(self, old_pfn, new_pfn): + + cmd = ['globus-rls-cli', 'rename', 'pfn', old_pfn, new_pfn, self.rls_host,] + output = self.__runCommand(cmd) + if (output == None): + return 1 + + return 0 + + + def getPools(self, pfn): + + cmd = ['globus-rls-cli', 'attribute', 'query', pfn, 'pool', 'pfn', self.rls_host,] + output = self.__runCommand(cmd) + if (output == None): + return None + else: + pool_list = [] + for l in output: + tokens = l.split(":", 2) + if (len(tokens) == 3): + pool = tokens[2] + pool = pool.strip() + pool_list.append(pool) + return pool_list + + + def addPool(self, pfn, pool): + cmd = ['globus-rls-cli', 'attribute', 'add', pfn, 'pool', 'pfn', 'string', pool, self.rls_host,] + output = self.__runCommand(cmd) + if (output == None): + return 1 + + return 0 + + + def createLFN(self, lfn, pfn, pool=None): + + cmd = ['globus-rls-cli', 'create', lfn, pfn, self.rls_host,] + output = self.__runCommand(cmd) + if (output == None): + return 1 + + if (pool != None): + cmd = ['globus-rls-cli', 'attribute', 'add', pfn, 'pool', 'pfn', 'string', pool, self.rls_host,] + output = self.__runCommand(cmd) + if (output == None): + return 1 + + return 0 + + + def delete(self, lfn, pfn): + + cmd = ['globus-rls-cli', 'delete', lfn, pfn, self.rls_host,] + output = self.__runCommand(cmd) + if (output == None): + return 1 + + return 0 Property changes on: SwiftApps/Cybershake/app/post/RunManager/RLS.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/Run.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/Run.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/Run.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,294 @@ +#!/usr/bin/env python + +# Imports +import sys +import os +import pwd +import time +from Config import * +from Site import * + + +class Run: + run_id = None + site_obj = None + erf_id = None + sgt_var_id = None + rup_var_id = None + status = None + status_time = None + sgt_host = None + sgt_time = None + pp_host = None + pp_time = None + comment = None + last_user = None + job_id = None + submit_dir = None + notify_user = None + + + def __init__(self): + self.run_id = None + self.site_obj = Site() + self.erf_id = None + self.sgt_var_id = None + self.rup_var_id = None + self.status = None + self.status_time = None + self.sgt_host = None + self.sgt_time = None + self.pp_host = None + self.pp_time = None + self.comment = None + self.last_user = None + self.job_id = None + self.submit_dir = None + self.notify_user = None + + + def copy(self, obj): + self.run_id = obj.run_id + self.site_obj = obj.site_obj + self.erf_id = obj.erf_id + self.sgt_var_id = obj.sgt_var_id + self.rup_var_id = obj.rup_var_id + self.status = obj.status + self.status_time = obj.status_time + self.sgt_host = obj.sgt_host + self.sgt_time = obj.sgt_time + self.pp_host = obj.pp_host + self.pp_time = obj.pp_time + self.comment = obj.comment + self.last_user = obj.last_user + self.job_id = obj.job_id + self.submit_dir = obj.submit_dir + self.notify_user = obj.notify_user + + + #@staticmethod + def formatHeader(self): + headers = ["Run ID", "Site", "Status", "Status Time (GMT)", \ + "SGT Host", "PP Host", "Comment", "Job ID", ] + return headers + + def formatData(self): + if (self.site_obj != None): + site_name = self.site_obj.getShortName() + site_id = self.site_obj.getSiteID() + else: + site_name = None + site_id = None + data = [str(self.run_id), \ + "%s (%s)" % (str(site_name), str(site_id)), \ + str(self.status), \ + str(self.status_time), \ + str(self.sgt_host), \ + str(self.pp_host), \ + str(self.comment), \ + str(self.job_id),] + return data + + def getRunID(self): + return self.run_id + + def setRunID(self, run_id): + if (run_id == None): + self.run_id = run_id + else: + self.run_id = int(run_id) + + def getSite(self): + return self.site_obj + + def setSite(self, site_obj): + self.site_obj = site_obj + + def getERFID(self): + return self.erf_id + + def setERFID(self, erf_id): + if (erf_id == None): + self.erf_id = erf_id + else: + self.erf_id = int(erf_id) + + def getSGTVarID(self): + return self.sgt_var_id + + def setSGTVarID(self, sgt_var_id): + if (sgt_var_id == None): + self.sgt_var_id = sgt_var_id + else: + self.sgt_var_id = int(sgt_var_id) + + def getRupVarID(self): + return self.rup_var_id + + def setRupVarID(self, rup_var_id): + if (rup_var_id == None): + self.rup_var_id = rup_var_id + else: + self.rup_var_id = int(rup_var_id) + + def getStatus(self): + return self.status + + def setStatus(self, status): + if (status == None): + self.status = status + else: + self.status = str(status) + + def getStatusTime(self): + return self.status_time + + def setStatusTime(self, status_time): + if (status_time == None): + self.status_time = status_time + else: + self.status_time = str(status_time) + + def setStatusTimeCurrent(self): + self.status_time = time.strftime("%Y-%m-%d %H:%M:%S", \ + time.gmtime(time.time())) + + def getSGTHost(self): + return self.sgt_host + + def setSGTHost(self, sgt_host): + if (sgt_host == None): + self.sgt_host = sgt_host + else: + self.sgt_host = str(sgt_host) + + def getSGTTime(self): + return self.sgt_time + + def setSGTTime(self, sgt_time): + if (sgt_time == None): + self.sgt_time = sgt_time + else: + self.sgt_time = str(sgt_time) + + def setSGTTimeCurrent(self): + self.sgt_time = time.strftime("%Y-%m-%d %H:%M:%S", \ + time.gmtime(time.time())) + + def getPPHost(self): + return self.pp_host + + def setPPHost(self, pp_host): + if (pp_host == None): + self.pp_host = pp_host + else: + self.pp_host = str(pp_host) + + def getPPTime(self): + return self.pp_time + + def setPPTime(self, pp_time): + if (pp_time == None): + self.pp_time = pp_time + else: + self.pp_time = str(pp_time) + + def setPPTimeCurrent(self): + self.pp_time = time.strftime("%Y-%m-%d %H:%M:%S", \ + time.gmtime(time.time())) + + def getComment(self): + return self.comment + + def setComment(self, comment): + if (comment == None): + self.comment = comment + else: + self.comment = str(comment) + + def getLastUser(self): + return self.last_user + + def setLastUser(self, last_user): + if (last_user == None): + self.last_user = last_user + else: + self.last_user = str(last_user) + + def setLastUserCurrent(self): + self.last_user = pwd.getpwuid(os.getuid())[0] + + def getJobID(self): + #if (self.job_id == ""): + # return None + return self.job_id + + def setJobID(self, job_id): + if (job_id == None): + self.job_id = job_id + else: + self.job_id = str(job_id) + + def getSubmitDir(self): + #if (self.submit_dir == ""): + # return None + return self.submit_dir + + def setSubmitDir(self, submit_dir): + if (submit_dir == None): + self.submit_dir = submit_dir + else: + self.submit_dir = str(submit_dir) + + def getNotifyUser(self): + #if (self.notify_user == ""): + # return None + return self.notify_user + + def getNotifyUserAsList(self): + if ((self.notify_user == None) or (self.notify_user == "")): + return None + else: + return self.notify_user.split(",") + + def setNotifyUser(self, notify_user): + if (notify_user == None): + self.notify_user = notify_user + elif (type(notify_user) == type([])): + self.notify_user = "" + for n in notify_user: + if (self.notify_user == ""): + self.notify_user = n + else: + self.notify_user = self.notify_user + "," + n + else: + self.notify_user = str(notify_user) + + + def dumpToScreen(self): + if (self.site_obj != None): + site_name = self.site_obj.getShortName() + site_id = self.site_obj.getSiteID() + else: + site_name = None + site_id = None + + print "Run ID:\t\t %s" % (str(self.run_id)) + print "Site:\t\t %s (id=%s)" % (str(site_name), str(site_id)) + print "Params:\t\t erf=%s sgt_var=%s rup_var=%s" % \ + (str(self.erf_id), \ + str(self.sgt_var_id), \ + str(self.rup_var_id)) + print "State:\t\t state='%s' time='%s'" % \ + (str(self.status), str(self.status_time)) + print "SGT Info:\t host=%s time='%s'" % \ + (str(self.sgt_host), str(self.sgt_time)) + print "PP Info:\t host=%s time='%s'" % \ + (str(self.pp_host), str(self.pp_time)) + print "Comment:\t '%s'" % (str(self.comment)) + print "Tracking:\t user='%s' job_id='%s'" % \ + (str(self.last_user), str(self.job_id)) + print "Submit Dir:\t %s" % (str(self.submit_dir)) + print "Notify User:\t %s" % (str(self.notify_user)) + return 0 + Property changes on: SwiftApps/Cybershake/app/post/RunManager/Run.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/RunManager.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/RunManager.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/RunManager.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,817 @@ +#!/usr/bin/env python + +# Imports +import sys +from Database import * +from Config import * +from Run import * +from RunStats import * +from Site import * +from Curve import * + + +# Constants +RUN_TABLE_NAME = "CyberShake_Runs" + + +class RunManager: + database = None + html = True + valid = False + + def __init__(self, readonly=True): + if (readonly == False): + self.database = Database(DB_HOST, DB_PORT, DB_USER_WR, \ + DB_PASS_WR, DB_NAME) + else: + self.database = Database(DB_HOST, DB_PORT, DB_USER, DB_PASS, \ + DB_NAME) + retval = self.database.open() + if (retval == 0): + self.valid = True + else: + self.valid = False + self.database.useHTML(False) + self.html = False + + def __del__(self): + self.database.close() + + def _printError(self, str): + if (self.html): + print "%s

" % (str) + else: + print "%s" % (str) + return + + def isValid(self): + return self.valid + + def useHTML(self, flag): + self.html = flag + self.database.useHTML(flag) + return + + def beginTransaction(self): + self.database.beginTransaction() + return + + def commitTransaction(self): + self.database.commit() + return + + def rollbackTransaction(self): + self.database.rollback() + return + + def __getSiteID(self, site): + # Retrieve this site_id + sqlcmd = "select CS_Site_ID from CyberShake_Sites s where s.CS_Short_Name ='%s'" % (site) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to execute query for site %s." % (site)) + return 0 + site_id = self.database.getResultsNext() + if (site_id == None): + self._printError("Site %s not found in DB." % (site)) + return 0 + + return site_id[0] + + + def __getSiteName(self, site_id): + # Retrieve this site name + sqlcmd = "select CS_Short_Name from CyberShake_Sites s where s.CS_Site_ID = %d" % (site_id) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to retrieve site_id %d" % (site_id)) + return None + + site = self.database.getResultsNext() + if (site == None): + self._printError("Site_id %d not found in DB." % (site_id)) + return None + + return site[0] + + + def __getParamIDs(self, id_str): + # Get list of IDs for the specified param + if (id_str == "ERF"): + sqlcmd = "select ERF_ID from ERF_IDs order by ERF_ID desc" + elif (id_str == "SGT_VAR"): + sqlcmd = "select SGT_Variation_ID from SGT_Variation_IDs order by SGT_Variation_ID desc" + elif (id_str == "RUP_VAR"): + sqlcmd = "select Rup_Var_Scenario_ID from Rupture_Variation_Scenario_IDs order by Rup_Var_Scenario_ID desc" + else: + self._printError("Unrecognized option %s" % (id_str)) + return None + + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to query for IDs.") + return None + id_list = self.database.getResultsAll() + if (len(id_list) == 0): + self._printError("No IDs found in DB for %s." % (id_str)) + return None + return id_list + + + + def __getLatestID(self, id_str): + # Get the most recent ID for the specified param + id_list = self.__getParamIDs(id_str) + if (id_list == None): + return 0 + else: + return id_list[0][0] + + + def __isValidID(self, id_str, id): + if (id_str == "ERF"): + sqlcmd = "select count(*) from ERF_IDs where ERF_ID=%d" % (id) + elif (id_str == "SGT_VAR"): + sqlcmd = "select count(*) from SGT_Variation_IDs where SGT_Variation_ID=%d" % (id) + elif (id_str == "RUP_VAR"): + sqlcmd = "select count(*) from Rupture_Variation_Scenario_IDs where Rup_Var_Scenario_ID=%d" % (id) + else: + self._printError("Unrecognized option %s" % (id_str)) + return False + + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to query for IDs.") + return False + count = self.database.getResultsNext() + if (count == None): + self._printError("No IDs found in DB for %s-%d." % (id_str, id)) + return False + if (count[0] == 0): + self._printError("No IDs found in DB for %s-%d." % (id_str, id)) + return False + else: + return True + + + def __getFieldDict(self, run, key=False): + fields = {} + + site = run.getSite() + if (key): + if (run.getRunID() != None): + fields["Run_ID"] = run.getRunID() + if (site.getSiteID() != None): + fields["Site_ID"] = site.getSiteID() + if (run.getERFID() != None): + fields["ERF_ID"] = run.getERFID() + if (run.getSGTVarID() != None): + fields["SGT_Variation_ID"] = run.getSGTVarID() + if (run.getRupVarID() != None): + fields["Rup_Var_Scenario_ID"] = run.getRupVarID() + if (run.getStatus() != None): + fields["Status"] = run.getStatus() + if (run.getStatusTime() != None): + fields["Status_Time"] = run.getStatusTime() + if (run.getSGTHost() != None): + fields["SGT_Host"] = run.getSGTHost() + if (run.getSGTTime() != None): + fields["SGT_Time"] = run.getSGTTime() + if (run.getPPHost() != None): + fields["PP_Host"] = run.getPPHost() + if (run.getPPTime() != None): + fields["PP_Time"] = run.getPPTime() + if (run.getComment() != None): + fields["Comment"] = run.getComment() + if (run.getLastUser() != None): + fields["Last_User"] = run.getLastUser() + if (run.getJobID() != None): + fields["Job_ID"] = run.getJobID() + if (run.getSubmitDir() != None): + fields["Submit_Dir"] = run.getSubmitDir() + if (run.getNotifyUser() != None): + fields["Notify_User"] = run.getNotifyUser() + + return fields + + + def __getLastRunID(self): + # Retrieve the last run_id produced from the auto-increment var + sqlcmd = "select LAST_INSERT_ID()" + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to query for last insert id.") + return 0 + results = self.database.getResultsNext() + if ((results == None) or (results[0] == 0)): + self._printError("Unable to find last inserted run_id.") + return 0 + + return results[0] + + + def __insertRun(self, run): + # Construct column and data strings for SQL command + fields = self.__getFieldDict(run) + column_str = "" + data_str = "" + for f,v in fields.items(): + if (len(column_str) > 0): + column_str = column_str + ', ' + column_str = column_str + str(f) + if (len(data_str) > 0): + data_str = data_str + ', ' + if (v == None): + self._printError("Field pair %s=None, cannot insert record." % (f)) + return 0 + if (type(v) == str): + data_str = data_str + "'" + str(v) + "'" + else: + data_str = data_str + str(v) + + # Execute SQL + sqlcmd = "insert into %s (%s) values (%s)" % \ + (RUN_TABLE_NAME, column_str, data_str) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to add run for site %s." % \ + (run.getSite().getShortName())) + return 0 + + # Get the run_id auto-increment value + run_id = self.__getLastRunID() + return run_id + + + def __getRunsSQL(self, where_str, order_str, lock_str): + + # Retrieve these runs and lock the rows for update if needed + sqlcmd = "select Run_ID, CS_Site_ID, CS_Short_Name, CS_Site_Lat, CS_Site_Lon, CS_Site_Name, CS_Site_Type_Name, ERF_ID, SGT_Variation_ID, Rup_Var_Scenario_ID, Status, Status_Time, SGT_Host, SGT_Time, PP_Host, PP_Time, Comment, Last_User, Job_ID, Submit_Dir, Notify_User from %s r, CyberShake_Sites s, CyberShake_Site_Types t where s.CS_Site_ID = r.Site_ID and s.CS_Site_Type_ID = t.CS_Site_Type_ID %s %s %s" % (RUN_TABLE_NAME, where_str, order_str, lock_str) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to retrieve run.") + return None + else: + run_data = self.database.getResultsAll() + if ((run_data == None) or (len(run_data) == 0)): + #self._printError("Matching runs not found in DB.") + return None + else: + runs = [] + for r in run_data: + # Populate run object + newrun = Run() + newsite = Site() + newrun.setRunID(r[0]) + newsite.setSiteID(r[1]) + newsite.setShortName(r[2]) + newsite.setLatitude(r[3]) + newsite.setLongitude(r[4]) + newsite.setLongName(r[5]) + newsite.setSiteType(r[6]) + newrun.setSite(newsite) + newrun.setERFID(r[7]) + newrun.setSGTVarID(r[8]) + newrun.setRupVarID(r[9]) + newrun.setStatus(r[10]) + newrun.setStatusTime(r[11]) + newrun.setSGTHost(r[12]) + newrun.setSGTTime(r[13]) + newrun.setPPHost(r[14]) + newrun.setPPTime(r[15]) + newrun.setComment(r[16]) + newrun.setLastUser(r[17]) + newrun.setJobID(r[18]) + newrun.setSubmitDir(r[19]) + newrun.setNotifyUser(r[20]) + runs.append(newrun) + + return runs + + + def __getRuns(self, run, lock): + # Construct column and data strings for SQL command + fields = self.__getFieldDict(run, key=True) + where_str = ' and ' + for f,v in fields.items(): + if (where_str != ' and '): + where_str = where_str + ' and ' + if (type(v) == str): + where_str = where_str + "r.%s='%s'" % (f, str(v)) + else: + where_str = where_str + "r.%s=%s" % (f, str(v)) + + if (lock == True): + lock_str = "for update" + else: + lock_str = "" + + order_str = "order by r.Run_ID asc" + return self.__getRunsSQL(where_str, order_str, lock_str) + + + def __getRunsByState(self, state_list, lock): + # Construct column and data strings for SQL command + where_str = ' and (' + for state in state_list: + if (where_str != ' and ('): + where_str = where_str + ' or ' + where_str = where_str + "r.Status='%s'" % (state) + where_str = where_str + ")" + + if (lock == True): + lock_str = "for update" + else: + lock_str = "" + + order_str = "order by r.Status_Time desc" + return self.__getRunsSQL(where_str, order_str, lock_str) + + + def __getCurves(self, run): + # Get the curves associated with this run + sqlcmd = "select t.IM_Type_ID, t.IM_Type_Measure, t.IM_Type_Value, t.Units from Hazard_Curves c, IM_Types t where c.IM_Type_ID = t.IM_Type_ID and c.Run_ID=%d order by t.IM_Type_Value asc" % (run.getRunID()) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to retrieve hazard curves.") + return None + else: + curve_data = self.database.getResultsAll() + if ((curve_data == None) or (len(curve_data) == 0)): + #self._printError("Matching runs not found in DB.") + return None + else: + curves = [] + for c in curve_data: + # Populate curve object + newcurve = Curve() + newcurve.setIMID(c[0]) + newcurve.setIMMeasure(c[1]) + newcurve.setIMValue(c[2]) + newcurve.setIMUnits(c[3]) + curves.append(newcurve) + + return curves + + + def __getRunStats(self, run): + + # Count the number of peak amps + sqlcmd = "select count(*) from PeakAmplitudes p where p.Run_ID=%d" % \ + (run.getRunID()) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to count PSAs for run %s." % \ + (run.getRunID())) + return None + + psa_data = self.database.getResultsNext() + if (psa_data == None): + self._printError("Matching PSAs not found in DB.") + return None + + # Get the hazard curves + curves = self.__getCurves(run) + if ((curves == None) or (len(curves) == 0)): + return None + + # Populate runstats object + newrun = RunStats() + newrun.setSite(run.getSite()) + newrun.setRunID(run.getRunID()) + newrun.setERFID(run.getERFID()) + newrun.setSGTVarID(run.getSGTVarID()) + newrun.setRupVarID(run.getRupVarID()) + newrun.setNumPSAs(psa_data[0]) + newrun.setCurveList(curves) + return newrun + + + def __getNewSites(self): + # Get new sites + deleted_runs = "select Site_ID from %s r where r.Site_ID = s.CS_Site_ID and not r.Status='%s'" % (RUN_TABLE_NAME, DELETED_STATE) + complete_runs = "select Site_ID from %s r where r.Site_ID = s.CS_Site_ID and r.Status = '%s'" % (RUN_TABLE_NAME, DONE_STATE) + sqlcmd = "select CS_Site_ID, CS_Short_Name, CS_Site_Lat, CS_Site_Lon, CS_Site_Name from CyberShake_Sites s where not exists (%s) and not exists (%s) order by s.CS_Site_ID" % (deleted_runs, complete_runs) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to retrieve sites") + return None + else: + site_data = self.database.getResultsAll() + if ((len(site_data) == 0) or (site_data == None)): + #self._printError("Matching sites not found in DB.") + return None + else: + sites = [] + for s in site_data: + # Populate site object + newsite = Site() + newsite.setSiteID(s[0]) + newsite.setShortName(s[1]) + newsite.setLatitude(s[2]) + newsite.setLongitude(s[3]) + newsite.setLongName(s[4]) + sites.append(newsite) + + return sites + + + def __getSiteByID(self, site_id): + # Get site info + sqlcmd = "select CS_Site_ID, CS_Short_Name, CS_Site_Lat, CS_Site_Lon, CS_Site_Name, CS_Site_Type_Name from CyberShake_Sites s, CyberShake_Site_Types t where s.CS_Site_ID=%d and s.CS_Site_Type_ID=t.CS_Site_Type_ID" % (site_id) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to retrieve site info for %d" % (site_id)) + return None + else: + site_data = self.database.getResultsNext() + if (site_data == None): + #self._printError("Matching sites not found in DB.") + return None + else: + # Populate site object + newsite = Site() + newsite.setSiteID(site_data[0]) + newsite.setShortName(site_data[1]) + newsite.setLatitude(float(site_data[2])) + newsite.setLongitude(float(site_data[3])) + newsite.setLongName(site_data[4]) + newsite.setSiteType(site_data[5]) + + return newsite + + + def __updateRun(self, run): + # Construct column and data strings for SQL command + fields = self.__getFieldDict(run) + assign_str = "" + for f,v in fields.items(): + if (len(assign_str) > 0): + assign_str = assign_str + ', ' + if (type(v) == str): + assign_str = assign_str + str(f) + "=" + "'" + str(v) + "'" + else: + assign_str = assign_str + str(f) + "=" + str(v) + + # Execute update + sqlcmd = "update %s s set %s where s.Run_ID=%d" % \ + (RUN_TABLE_NAME, assign_str, run.getRunID()) + if (self.database.execsql(sqlcmd) != 0): + self._printError("Unable to update run for run_id %d." % \ + (run.getRunID())) + return 1 + + return 0 + + + def __performComparison(self, oldrun, newrun): + + # Verify new state is valid state transition from old state + if (not newrun.getStatus() in STATUS_STD[oldrun.getStatus()]): + self._printError("Invalid new state %s, expecting one of %s." % \ + (newrun.getStatus(), \ + str(STATUS_STD[oldrun.getStatus()]))) + return 1 + + return 0 + + + def __performValidation(self, newrun): + + # Verify new state valid + if (not newrun.getStatus() in STATUS_STD.keys()): + self._printError("Invalid new state %s, expecting one of %s." % \ + (newrun.getStatus(), str(STATUS_STD.keys()))) + return 1 + + # Verify appropriate host has been specified + if (newrun.getStatus() in SGT_STATES): + if ((newrun.getSGTHost() == HOST_LIST[0]) or \ + (newrun.getSGTHost() == None)): + self._printError("Run is in a SGT state yet no SGT host specified.") + return 1 + if (newrun.getSGTTime() == None): + self._printError("Run is in a SGT state yet no SGT time specified.") + return 1 + + if (newrun.getStatus() in PP_STATES): + if ((newrun.getPPHost() == HOST_LIST[0]) or \ + (newrun.getPPHost() == None)): + self._printError("Run is in a PP state yet no PP host specified.") + return 1 + if (newrun.getPPTime() == None): + self._printError("Run is in a PP state yet no PP time specified.") + return 1 + + return 0 + + + def __performCheckAndFill(self, run): + + site = run.getSite() + + # Get Site ID if needed + if (site.getSiteID() == None): + if (site.getShortName() != None): + site_id = self.__getSiteID(site.getShortName()) + if (site_id == 0): + self._printError("Unable to find id of site %s" % \ + (site.getShortName())) + return None + site.setSiteID(site_id) + run.setSite(site) + else: + self._printError("No site information provided in run!") + return None + + # Set erf_id to the default if not specified + if (run.getERFID() == None): + id = self.__getLatestID("ERF") + if (id == 0): + return None + else: + run.setERFID(id) + else: + if (not self.__isValidID("ERF", run.getERFID())): + return None + + # Set sgt_var_id to the default if not specified + if (run.getSGTVarID() == None): + id = self.__getLatestID("SGT_VAR") + if (id == 0): + return None + else: + run.setSGTVarID(id) + else: + if (not self.__isValidID("SGT_VAR", run.getSGTVarID())): + return None + + # Set rup_var_id to the default if not specified + if (run.getRupVarID() == None): + id = self.__getLatestID("RUP_VAR") + if (id == 0): + return None + else: + run.setRupVarID(id) + else: + if (not self.__isValidID("RUP_VAR", run.getRupVarID())): + return None + + if (run.getStatus() == None): + run.setStatus(START_STATE) + elif (not run.getStatus() in STATUS_STD.keys()): + self._printError("State %s specified, was expecting one of %s" % \ + (run.getStatus(), str(STATUS_STD.keys()))) + return None + run.setStatusTimeCurrent() + + if (run.getSGTHost() == None): + run.setSGTHost(HOST_LIST[0]) + elif (not run.getSGTHost() in HOST_LIST): + self._printError("SGT Host %s, was expecting one of %s" % \ + (run.getSGTHost(), HOST_LIST)) + return None + run.setSGTTimeCurrent() + + if (run.getPPHost() == None): + run.setPPHost(HOST_LIST[0]) + elif (not run.getPPHost() in HOST_LIST): + self._printError("PP Host %s, was expecting one of %s" % \ + (run.getPPHost(), HOST_LIST)) + return None + run.setPPTimeCurrent() + + if (run.getComment() == None): + run.setComment("") + + if (run.getLastUser() == None): + run.setLastUserCurrent() + elif (not run.getLastUser() in USER_LIST): + self._printError("User %s specified, was expecting one of %s" % \ + (run.getLastUser(), USER_LIST)) + return None + + if (run.getJobID() == None): + run.setJobID("") + + if (run.getSubmitDir() == None): + run.setSubmitDir("") + + if (run.getNotifyUser() == None): + run.setNotifyUser("") + + return run + + + def createRun(self, run): + + run.setRunID(None) + + run = self.__performCheckAndFill(run) + if (run == None): + return None + + # Insert run and save run_id + run_id = self.__insertRun(run) + # Result is the run_id, or 0 on error + if (run_id == 0): + return None + else: + pass + + run.setRunID(run_id) + return run + + + def createRunBySite(self, site_name): + + if (site_name == None): + return None + + run = Run() + site = Site() + site.setShortName(site_name) + run.setSite(site) + return (self.createRun(run)) + + + def createRunByParam(self, site_name, erf_id, sgt_var_id, rup_var_id): + if ((site_name == None) or (erf_id == None) or \ + (sgt_var_id == None) or (rup_var_id == None)): + return None + + run = Run() + site = Site() + site.setShortName(site_name) + run.setSite(site) + run.setERFID(erf_id) + run.setSGTVarID(sgt_var_id) + run.setRupVarID(rup_var_id) + return (self.createRun(run)) + + + def getRuns(self, run, lock=False): + + site = run.getSite() + # Get Site ID if needed + if (site.getSiteID() == None): + if (site.getShortName() != None): + site_id = self.__getSiteID(site.getShortName()) + if (site_id == 0): + self._printError("Unable to find id of site %s" % \ + (site.getShortName())) + return None + site.setSiteID(site_id) + run.setSite(site) + + # Query existing data for this run query + runs = self.__getRuns(run, lock) + if ((runs == None) or (len(runs) == 0)): + return None + + return runs + + + def getRunByID(self, run_id, lock=False): + + if (run_id == None): + self._printError("Requires a run_id to be specified.") + return None + + run = Run() + run.setRunID(run_id) + + # Query existing data for this run_id + runs = self.getRuns(run, lock) + if (runs == None): + return None + + return runs[0] + + + def getRunsByParam(self, site, erf_id, sgt_var_id, rup_var_id, lock=False): + if ((site == None) or (erf_id == None) or \ + (sgt_var_id == None) or (rup_var_id == None)): + self._printError("Requires site name, erf, sgt_var, and rup_var.") + return None + + run = Run() + site = Site() + site.setShortName(site) + run.setSite(site) + run.setERFID(erf_id) + run.setSGTVarID(sgt_var_id) + run.setRupVarID(rup_var_id) + + # Query existing data for this combination + runs = self.getRuns(run, lock) + if (runs == None): + return None + + return runs[0] + + + def getRunsByState(self, state_list, lock=False): + + if ((state_list == None) or (type(state_list) != type([]))): + self._printError("State list must be a list.") + return None + + # Verify that the search states are valid + for state in state_list: + if (not state in STATUS_STD.keys()): + self._printError("State '%s' is not a valid." % (state)) + return None + + # Query runs in these states + runs = self.__getRunsByState(state_list, lock) + + return runs + + + def getSiteNameByID(self, site_id): + if (site_id == None): + return 1 + + return (self.__getSiteName(site_id)) + + + def getSiteByID(self, site_id): + if (site_id == None): + return None + + return (self.__getSiteByID(site_id)) + + + def getNewSites(self): + return self.__getNewSites() + + + def getParamIDs(self, param): + return (self.__getParamIDs(param)) + + + def updateRun(self, run, orig_run = None): + if (run.getRunID() == None): + return 1 + + # User wants field comparison on this run vs original run + if (orig_run != None): + + # Run comparison checks + if (self.__performComparison(orig_run, run) != 0): + self._printError("Comparison of run and old_run failed.") + return 1 + + # Run validation checks + if (self.__performValidation(run) != 0): + self._printError("Validation of run failed.") + return 1 + + # Update timestamps + run.setStatusTimeCurrent() + if (run.getStatus() in SGT_STATES): + run.setSGTTimeCurrent() + elif (run.getStatus() in PP_STATES): + run.setPPTimeCurrent() + + # Update last user + # Disabled because web-access sets user to 'apache' + #run.setLastUserCurrent() + + # Execute update + retval = self.__updateRun(run) + if (retval != 0): + return 1 + else: + pass + + return 0 + + + def deleteRunByID(self, run_id, last_user=None): + if (run_id == None): + self._printError("No run_id specified.") + return 1 + run = Run() + run.setRunID(run_id) + run.setStatus(DELETED_STATE) + run.setStatusTimeCurrent() + if (last_user == None): + run.setLastUserCurrent() + else: + if (not last_user in USER_LIST): + self._printError("User_id %s, expecting one of %s." % \ + (last_user, str(USER_LIST))) + return 1 + run.setLastUser(last_user) + return self.updateRun(run) + + + def getRunStatsByID(self, run_id): + + if (run_id == None): + self._printError("Requires a run_id to be specified.") + return None + + run = Run() + run.setRunID(run_id) + + # Query existing data for this run_id + runs = self.getRuns(run, lock=False) + if (runs == None): + return None + + # Collect statistics + runstat = self.__getRunStats(runs[0]) + + return runstat Property changes on: SwiftApps/Cybershake/app/post/RunManager/RunManager.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/RunStats.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/RunStats.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/RunStats.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,151 @@ +#!/usr/bin/env python + +# Imports +import sys +import os +import pwd +import time +from Config import * +from Site import * +from Curve import * + + +class RunStats: + run_id = None + #site_id = None + #site = None + site_obj = None + erf_id = None + sgt_var_id = None + rup_var_id = None + num_psa = None + num_curves = None + curve_list = None + + + def __init__(self): + self.run_id = None + self.site_obj = Site() + self.erf_id = None + self.sgt_var_id = None + self.rup_var_id = None + self.num_psa = None + self.num_curves = None + self.curve_list = None + + def copy(self, obj): + self.run_id = obj.run_id + self.site_obj = obj.site_obj + self.erf_id = obj.erf_id + self.sgt_var_id = obj.sgt_var_id + self.rup_var_id = obj.rup_var_id + self.num_psa = obj.num_psa + self.num_curves = obj.num_curves + self.curve_list = obj.curve_list + + + #@staticmethod + def formatHeader(self): + headers = ["Run ID", "Site", "ERF ID", "SGT Var ID", "Rup Var ID", \ + "Num PSA", "Num Curves",] + return headers + + def formatData(self): + if (self.site_obj != None): + site_name = self.site_obj.getShortName() + site_id = self.site_obj.getSiteID() + else: + site_name = None + site_id = None + + data = [str(self.run_id), \ + "%s (%s)" % (str(site_name), str(site_id)), \ + str(self.erf_id), \ + str(self.sgt_var_id), \ + str(self.rup_var_id), \ + str(self.num_psa), \ + str(self.num_curves),] + return data + + def getRunID(self): + return self.run_id + + def setRunID(self, run_id): + if (run_id == None): + self.run_id = run_id + else: + self.run_id = int(run_id) + + def getSite(self): + return self.site_obj + + def setSite(self, site_obj): + self.site_obj = site_obj + + def getERFID(self): + return self.erf_id + + def setERFID(self, erf_id): + if (erf_id == None): + self.erf_id = erf_id + else: + self.erf_id = int(erf_id) + + def getSGTVarID(self): + return self.sgt_var_id + + def setSGTVarID(self, sgt_var_id): + if (sgt_var_id == None): + self.sgt_var_id = sgt_var_id + else: + self.sgt_var_id = int(sgt_var_id) + + def getRupVarID(self): + return self.rup_var_id + + def setRupVarID(self, rup_var_id): + if (rup_var_id == None): + self.rup_var_id = rup_var_id + else: + self.rup_var_id = int(rup_var_id) + + def getNumPSAs(self): + if (self.num_psa == None): + return 0 + else: + return self.num_psa + + def setNumPSAs(self, num_psa): + self.num_psa = int(num_psa) + + def getNumCurves(self): + if (self.curve_list == None): + return 0 + else: + return len(self.curve_list) + + #def setNumCurves(self, num_curves): + # self.num_curves = int(num_curves) + + def getCurveList(self): + return self.curve_list + + def setCurveList(self, curve_list): + self.curve_list = curve_list + + def dumpToScreen(self): + if (self.site_obj != None): + site_name = self.site_obj.getShortName() + site_id = self.site_obj.getSiteID() + else: + site_name = None + site_id = None + + print "Run ID:\t\t %s" % (str(self.run_id)) + print "Site:\t\t %s (id=%s)" % (str(site_name), str(site_id)) + print "Params:\t\t erf=%s sgt_var=%s rup_var=%s" % \ + (str(self.erf_id), str(self.sgt_var_id), str(self.rup_var_id)) + print "Stats:\t\t num_psa=%s num_curves=%s" % \ + (str(self.num_psa), str(self.getNumCurves())) + return 0 + Property changes on: SwiftApps/Cybershake/app/post/RunManager/RunStats.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/SendStatus.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/SendStatus.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/SendStatus.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,173 @@ +#!/usr/bin/env python + + +# Imports +from RunManager import * +from Mailer import * + + +# Global vars +class info: + pass + + +def doSGT(args): + global info + + stage = args[0] + stages = ["preCVM", "vMeshGen", "vMeshMerge", "sgtGenXY", "sgtMergeXY"] + subject = "Status - Run %d (%s) %s Workflow" % \ + (info.run_id, info.site, info.workflow) + msg = "Workflow is currently on this stage:\r\n\r\n" + + if (not stage in stages): + print "Stage " + stage + " not found" + return 1 + + numstage = len(stages) + istage = stages.index(stage) + for i in range(0, numstage): + if (i <= istage): + msg = msg + stages[i] + ": Complete\r\n" + else: + msg = msg + stages[i] + ": Scheduled\r\n" + + # Send the email + m = Mailer() + m.send(info.notify_to, subject, msg) + + return 0 + + +def doPP(args): + global info + + stage = args[0] + daxnum = int(args[1]) + maxdax = int(args[2]) + stages = ["CheckSgt", "DAX", "DBWrite"] + subject = "Status - Run %d (%s) %s Workflow" % \ + (info.run_id, info.site, info.workflow) + msg = "Workflow is currently on this stage:\r\n\r\n" + + if (not stage in stages): + print "Stage " + stage + " not found" + return 1 + + if (daxnum > maxdax): + print "DAX number %d is greater than max DAX %d" % (daxnum, maxdax) + return 1 + + numstage = len(stages) + istage = stages.index(stage) + for i in range(0, numstage): + if (i <= istage): + if (i == istage) and (i == 1): + msg = msg + stages[i] + ": Number " + str(daxnum) + \ + " of approx " + str(maxdax) + " completed successfully\r\n" + else: + msg = msg + stages[i] + ": Complete\r\n" + else: + msg = msg + stages[i] + ": Scheduled\r\n" + + # Send the email + m = Mailer() + m.send(info.notify_to, subject, msg) + + return 0 + + +# Workflow definitions +# Mapping of workflow name -> tuple (number of arguments, handler) +WORKFLOWS = {"SGT":(1, doSGT), \ + "PP":(3, doPP)} + + +def init(): + global info + + # Get number of command-line arguments + argc = len(sys.argv) + + # Parse command line arguments + if (argc < 4): + print "Usage: " + sys.argv[0] + " " + print "Example: " + sys.argv[0] + " 213 SGT preCVM" + print "Example: " + sys.argv[0] + " 376 PP CheckSgt 12 80" + return 1 + + info.run_id = int(sys.argv[1]) + info.workflow = sys.argv[2] + info.stage_info = sys.argv[3:] + + print "Configuration:" + print "Site:\t\t" + str(info.run_id) + print "Workflow:\t" + info.workflow + print "Stage Info:\t" + str(info.stage_info) + + # Check that the workflow is valid and the correct number of + # arguments were supplied + try: + wfinfo = WORKFLOWS[info.workflow] + numargs = wfinfo[0] + if (len(info.stage_info) != numargs): + print "Workflow " + info.workflow + \ + " requires " + str(numargs) + " argument(s)" + return 1 + except: + print "Unable to find " + info.workflow + return 1 + + # Load the notify list from the DB + rm = RunManager(readonly=True) + rm.useHTML(False) + + run = rm.getRunByID(info.run_id) + if (run == None): + print "Failed to retrieve run %d from DB." (info.run_id) + return 1 + + print "Notification List:" + info.notify_to = run.getNotifyUserAsList() + if ((info.notify_to == None) or (len(info.notify_to) == 0)): + print " No users specified - notifications disabled" + info.notify_to = [] + else: + for n in info.notify_to: + if ((n == None) or (n == "")): + print " Invalid user list specified - notifications disabled" + info.notify_to = [] + break + else: + print " " + n + + # Save site name + info.site = run.getSite().getShortName() + + return 0 + + +def main(): + global info + + if (len(info.notify_to) > 0): + # Execute the workflow handler + retcode = WORKFLOWS[info.workflow][1](info.stage_info) + if (retcode != 0): + print "Error sending email notification" + return 1 + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + if (main() != 0): + sys.exit(1) + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/SendStatus.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/Site.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/Site.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/Site.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,100 @@ +#!/usr/bin/env python + +# Imports +import sys +import os +import pwd +import time +from Config import * + + +class Site: + site_id = None + site_short = None + site_long = None + lat = None + lon = None + site_type = None + + def __init__(self): + self.site_id = None + self.site_short = None + self.site_long = None + self.lat = None + self.lon = None + self.site_type = None + + def copy(self, obj): + self.site_id = obj.site_id + self.site_short = obj.site_short + self.site_long = obj.site_long + self.lat = obj.lat + self.lon = obj.lon + self.site_type = obj.site_type + + #@staticmethod + def formatHeader(self): + headers = ["Site ID", "Site Name", "Lat", "Lon", "Desc"] + return headers + + def formatData(self): + data = [str(self.site_id), \ + str(self.site_short), \ + str(self.lat), \ + str(self.lon), \ + str(self.site_long),] + return data + + def getSiteID(self): + return self.site_id + + def setSiteID(self, site_id): + if (site_id == None): + self.site_id = site_id + else: + self.site_id = int(site_id) + + def getLongName(self): + return self.site_long + + def setLongName(self, site_long): + if (site_long == None): + self.site_long = site_long + else: + self.site_long = str(site_long) + + def getShortName(self): + return self.site_short + + def setShortName(self, site_short): + if (site_short == None): + self.site_short = site_short + else: + self.site_short = str(site_short) + + def getLatitude(self): + return self.lat + + def setLatitude(self, lat): + if (lat == None): + self.lat = lat + else: + self.lat = float(lat) + + def getLongitude(self): + return self.lon + + def setLongitude(self, lon): + if (lon == None): + self.lon = lon + else: + self.lon = float(lon) + + def getSiteType(self): + return self.site_type + + def setSiteType(self, site_type): + if (site_type == None): + self.site_type = site_type + else: + self.site_type = str(site_type) Property changes on: SwiftApps/Cybershake/app/post/RunManager/Site.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/UpdateRunState.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/UpdateRunState.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/UpdateRunState.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,140 @@ +#!/usr/bin/env python + + +# General imports +from Config import * +from RunManager import * + + +# Constants + +# Map of acceptable run states for each reported workflow state +RUN_STATES = {"SGT_INIT":["Initial"], \ + "SGT_START":["SGT Started"], \ + "SGT_END":[], \ + "PP_INIT":["SGT Generated"], \ + "PP_START":["PP Started"], \ + "PP_END":[]} + +# Map of workflow state to run state. Assumes no errors were encountered. +STATE_MAP = {"SGT_INIT":"Initial", \ + "SGT_START":"SGT Started", \ + "SGT_END":"SGT Generated", \ + "PP_INIT":"SGT Generated", \ + "PP_START":"PP Started", \ + "PP_END":"Curves Generated"} + +# Globals +class info: + pass + + +def init(): + global info + + # Get number of command-line arguments + argc = len(sys.argv) + + # Check command line arguments + if (argc < 4): + print "Usage: " + sys.argv[0] + " " + print "Example: " + sys.argv[0] + " 213 SGT_START SGT_END" + print "Valid Run States: " + str(RUN_STATES.keys()) + return 1 + + # Parse command line args and options + info.run_id = int(sys.argv[1]) + info.old_state = sys.argv[2] + info.new_state = sys.argv[3] + + print "Configuration:" + print "Run ID:\t\t" + str(info.run_id) + print "Old State:\t" + info.old_state + print "New State:\t" + info.new_state + "\n" + + if (info.old_state == info.new_state): + print "No state change specified." + return 1 + + if (not info.old_state in RUN_STATES.keys()): + print "Old state '%s', expecting one of '%s'" % \ + (info.old_state, str(RUN_STATES.keys())) + return 1 + + if (not info.new_state in RUN_STATES.keys()): + print "New state '%s', expecting one of '%s'" % \ + (info.old_state, str(RUN_STATES.keys())) + return 1 + + if (not STATE_MAP[info.new_state] in STATUS_STD[STATE_MAP[info.old_state]]): + print "Invalid state change requested, from '%s' to '%s'" % \ + (info.old_state, info.new_state) + return 1 + + return 0 + + + +def main(): + global info + + rm = RunManager(readonly=False) + rm.useHTML(False) + + old_run_states = RUN_STATES[info.old_state] + new_run_state = STATE_MAP[info.new_state] + + # Retrieve existing run info and save it + run = rm.getRunByID(info.run_id, lock=True) + if (run == None): + print "No record for run_id %d found in DB." % (info.run_id) + return 1 + + # Check that we're in the expected state + if (not run.getStatus() in old_run_states): + rm.rollbackTransaction() + print "Run has state '%s', was expecting to find one of %s" % \ + (run.getStatus(), str(old_run_states)) + return 1 + + saverun = Run() + saverun.copy(run) + + # Update the state + run.setStatus(new_run_state) + run.setStatusTimeCurrent() + + if ((info.new_state == "SGT_END") or (info.new_state == "PP_END")): + # Clear the Job_ID at end of workflow, update the comment + run.setJobID("") + run.setComment("Workflow completed successfully") + + print "Updated Record:" + run.dumpToScreen() + + # Perform update + if (rm.updateRun(run, orig_run=saverun) != 0): + rm.rollbackTransaction() + print "Run update failed for run_id %d (site %s)." % \ + (run.getRunID(), run.getSite().getShortName()) + return 1 + else: + rm.commitTransaction() + print "" + print "Run successfully updated for run_id %d (site %s)." % \ + (run.getRunID(), run.getSite().getShortName()) + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + retval = main() + cleanup() + sys.exit(retval) + Property changes on: SwiftApps/Cybershake/app/post/RunManager/UpdateRunState.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/CyberShake-STD.png =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/CyberShake-STD.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/HTMLLib.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/HTMLLib.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/HTMLLib.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,230 @@ +#!/usr/bin/env python + +import cgi + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + +# Constants + +# Main web page +MAIN_PAGE = "runmanager.py" +WIKI_PAGE = "http://scecdata.usc.edu/wiki/index.php?title=CyberShake_2009_Production_Runs" + + +class HTMLPage: + def header(self, contentType = 'text/html'): + print "Content-Type: %s\n" % (contentType) + print "" + print "" + # Set params here + print "CyberShake Run Manager" + print "" + print "" + return 0 + + + def addRedirect(self, redirect): + print "" % (redirect) + return 0 + + + def pageTitle(self): + print "

CyberShake Run Manager

" + #print "
" + return 0 + + + def menu(self, options): + print "

Options: " + for o in options: + print "%s " % (o[0], o[1]) + print "


" + return 0 + + + def sectionTitle(self, title): + print "

%s

" % (title) + return 0 + + + def footer(self, show_details = True): + if (show_details): + print "
" + print "© 2009 Southern California Earthquake Center, USC
" + print "Maintained by Patrick Small

" + print "" + print "" + return 0 + + +class HTMLAction: + label = None + url = None + arg_list = None + + def __init__(self, label, url, arg_list): + self.label = label + self.url = url + self.arg_list = arg_list + + def getLabel(self): + return self.label + + def getURL(self): + return self.url + + def getArgList(self): + return self.arg_list + + +class HTMLTable: + caption = None + action_list = None + selection = False + allow_wrap = True + width = None + + def __init__(self): + self.caption = None + self.action_list = None + self.selection = False + self.allow_wrap = True + self.width = 1400 + self.max_col_width = 60 + + + def __splitString(self, str): + string_list = [] + + has_space = str.find(" ") + has_slash = str.find("/") + + if (has_space != -1): + sep = " " + elif (has_slash != -1): + sep = "/" + else: + longstr = str + while (len(longstr) > self.max_col_width): + string_list.append(longstr[0:self.max_col_width]) + longstr = longstr[self.max_col_width:] + if (len(longstr) > 0): + string_list.append(longstr) + return string_list + + line = "" + tokens = str.split(sep) + i = 0 + for t in tokens: + # If line will be excessively long, write out current line + if (len(line) + len(t) > self.max_col_width + 5): + string_list.append(line) + line = "" + # Only write separator for tokens 2-N + if ((i == 0) and (len(t) == 0)): + pass + else: + line = line + sep + t + # If line exceeds max size, write out current line + if (len(line) > self.max_col_width): + string_list.append(line) + line = "" + i = i + 1 + + if (line != ""): + string_list.append(line) + return string_list + + + def addCaption(self, caption): + self.caption = caption + return 0 + + + def addActionList(self, action_list): + self.action_list = action_list + return 0 + + + def setSelection(self, flag): + self.selection = flag + + + def allowWrap(self, flag): + self.allow_wrap = flag + + + def setWidth(self, width): + self.width = width + + + def display(self, data_list): + if (self.width != None): + print "" + else: + print "
" + + if (self.caption != None): + print "
" % (self.caption) + + if (len(data_list) > 0): + + headers = [] + if (self.selection == True): + headers.append("Select") + headers = headers + data_list[0].formatHeader() + + # Display column headers + print "" + for h in headers: + print "" % (h) + if (self.action_list != None): + print "" % ("Actions") + print "" + + # Display data + rownum = 0 + for datum in data_list: + if (rownum % 2 == 0): + print "" + else: + print "" + + row = datum.formatData() + + if (self.selection == True): + print "" % (row[0]) + + for c in row: + if (c == ""): + print "" + elif ((self.allow_wrap == True) and (len(c) > self.max_col_width) and (c[0] != '<')): + print "" + else: + print "" % (c) + + if (self.action_list != None): + print "" + + print "" + rownum = rownum + 1 + + else: + print "" + + print "
%s
%s%s
None" + string_list = self.__splitString(c) + for substr in string_list: + print "%s
" % (substr) + print "
%s
" + for action in self.action_list: + if (action.getArgList() == None): + argstr = "" + else: + argstr = "&" + action.getArgList() + print "%s" % \ + (action.getURL(), row[0], argstr, action.getLabel()) + print "
No data
" + return 0 + Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/HTMLLib.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/addrun.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/addrun.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/addrun.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,133 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import cgi +from RunManager import * +from HTMLLib import * + + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +# Globals +rm = None + + +def init(): + global rm + + rm = RunManager(readonly=False) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + return 0 + + +def main(): + global rm + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([[MAIN_PAGE, "Main"],]) + page.sectionTitle("Add Run") + + + form = cgi.FieldStorage() # instantiate only once! + + # Populate run object with common values + run = Run() + if form.has_key("erf_id") and form["erf_id"].value != "": + run.setERFID(int(form["erf_id"].value)) + if form.has_key("sgt_var_id") and form["sgt_var_id"].value != "": + run.setSGTVarID(int(form["sgt_var_id"].value)) + if form.has_key("rup_var_id") and form["rup_var_id"].value != "": + run.setRupVarID(int(form["rup_var_id"].value)) + if form.has_key("status") and form["status"].value != "": + run.setStatus(form["status"].value) + if form.has_key("status_time") and form["status_time"].value != "": + run.setStatusTime(form["status_time"].value) + if form.has_key("sgt_host") and form["sgt_host"].value != "": + run.setSGTHost(form["sgt_host"].value) + if form.has_key("pp_host") and form["pp_host"].value != "": + run.setPPHost(form["pp_host"].value) + if form.has_key("comment") and form["comment"].value != "": + run.setComment(form["comment"].value) + if form.has_key("last_user") and form["last_user"].value != "": + run.setLastUser(form["last_user"].value) + if form.has_key("job_id") and form["job_id"].value != "": + run.setJobID(form["job_id"].value) + if form.has_key("submit_dir") and form["submit_dir"].value != "": + run.setSubmitDir(form["submit_dir"].value) + if form.has_key("notify_user") and form["notify_user"].value != "": + run.setNotifyUser(form["notify_user"].value) + + # Determine which sites to create run + site_id_list = [] + site_name_list = [] + if form.has_key("site_id"): + if (type(form["site_id"]) != type([])): + if (form["site_id"].value != ""): + site_id_list = [form["site_id"].value,] + else: + site_id_list = form.getlist("site_id") + if form.has_key("site"): + if (type(form["site"]) != type([])): + if (form["site"].value != ""): + site_name_list = [form["site"].value,] + else: + site_name_list = form.getlist("site") + + i = 0 + site_map = {} + for site in site_id_list: + site_map[site] = site_name_list[i] + i = i + 1 + + for id, name in site_map.items(): + site = Site() + site.setSiteID(int(id)) + site.setShortName(name) + run.setSite(site) + + # Create the run + run_id = rm.createRun(run) + if (run_id == None): + print "Run insert failed for site %s. Performing rollback.

" % (run.getSite().getShortName()) + rm.rollbackTransaction() + break + else: + print "Run successfully added for site %s.

" % (run.getSite().getShortName()) + + # Commit change + rm.commitTransaction() + + if (len(site_map.keys()) == 0): + print "No sites specified.

" + + print "If page does not redirect in a few seconds, please click the link above.

" + print "Please wait...

" + + page.addRedirect(MAIN_PAGE) + page.footer() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/addrun.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/deleterun.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/deleterun.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/deleterun.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,75 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import os +import cgi +from RunManager import * +from HTMLLib import * + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +# Globals +rm = None + + +def init(): + global rm + + rm = RunManager(readonly=False) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + return 0 + + +def main(): + global rm + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([[MAIN_PAGE, "Main"],]) + page.sectionTitle("Delete Run") + + # Get the user_id if available + last_user = os.environ.get("REMOTE_USER") + + form = cgi.FieldStorage() # instantiate only once! + if form.has_key("key") and form["key"].value != "": + run_id = int(form["key"].value) + if (rm.deleteRunByID(run_id, last_user) != 0): + print "Unable to delete run %s

" % (run_id) + else: + # Commit change + rm.commitTransaction() + print "Run successfully deleted from database.

" + else: + print "No status ID supplied.

" + + print "If page does not redirect in a few seconds, please click the link above.

" + print "Please wait...

" + + page.addRedirect(MAIN_PAGE) + page.footer() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/deleterun.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/details.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/details.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/details.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,206 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import os +import cgi +from RunManager import * +from HTMLLib import * + + +# Globals +rm = None + + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +def init(): + global rm + + rm = RunManager(readonly=False) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + return 0 + + +def dispDetails(run): + + print "

" % ("Beige") + print "" + + # Run + print "" + print "" + print "" % (run.getRunID()) + print "" + + # Site + print "" + print "" + print "" % (run.getSite().getShortName(), run.getSite().getSiteID()) + print "" + + # ERF_ID + print "" + print "" + print "" + print "" + + # SGT_Var_ID + print "" + print "" + print "" + print "" + + # Rup_Var_ID + print "" + print "" + print "" + print "" + + # Status + print "" + print "" + print "" + print "" + + # SGT_Host + print "" + print "" + print "" + print "" + + # PP_Host + print "" + print "" + print "" + print "" + + # Comment + print "" + print "" + print "" + print "" + + # Last_User + print "" + print "" + print "" + print "" + + # Job_ID + print "" + print "" + print "" + print "" + + # Submit_Dir + print "" + print "" + print "" + print "" + + # Notify_User + print "" + print "" + print "" + print "" + + print "
Run:%d
Site:%s (%d)
ERF ID:" + print "%d" % (run.getERFID()) + print "
SGT Variation ID:" + print "%d" % (run.getSGTVarID()) + print "
Rup Variation ID:" + print "%d" % (run.getRupVarID()) + print "
Status:" + print "%s (%s GMT)" % (run.getStatus(), run.getStatusTime()) + print "
SGT Host:" + print "%s (%s GMT)" % (run.getSGTHost(), run.getSGTTime()) + print "
PP Host:" + print "%s (%s GMT)" % (run.getPPHost(), run.getPPTime()) + print "
Comment:" + if (run.getComment() != ""): + print "" % \ + (str(run.getComment())) + else: + print "" + print "
Last User:" + print "%s" % (str(run.getLastUser())) + print "
Job ID:" + if (run.getJobID() != ""): + print "%s" % (str(run.getJobID())) + else: + print "None" + print "
Submit Dir:" + if (run.getSubmitDir() != ""): + print "" % \ + (str(run.getSubmitDir())) + else: + print "" + print "
Notify User:" + if (run.getNotifyUser() != ""): + print "%s" % (str(run.getNotifyUser())) + else: + print "None" + print "
" + print "
" + print "

" + + return 0 + + +def main(): + global rm + + form = cgi.FieldStorage() # instantiate only once! + filter = None + if form.has_key("filter") and form["filter"].value != "": + filter = form["filter"].value + + page = HTMLPage() + page.header() + page.pageTitle() + if (filter == None): + page.menu([["%s?filter=%s" % (MAIN_PAGE, "Active"), "Main"],]) + else: + page.menu([["%s?filter=%s" % (MAIN_PAGE, filter), "Main"],]) + page.sectionTitle("Details") + + if form.has_key("key") and form["key"].value != "": + run_id = form["key"].value + run = rm.getRunByID(run_id) + if (run != None): + + # Present form to allow user modification + dispDetails(run); + + page.footer() + return 0 + + else: + print "No run ID supplied.

" + + page.addRedirect(MAIN_PAGE) + page.footer() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/details.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dispstats.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dispstats.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dispstats.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,221 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import os +import cgi +from HTMLLib import * +from RunManager import * +from CompCurveFile import * + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + +# Constants +NO_IMG_TXT = "
[Image not found]
" +NO_FILE_TXT = "

Unknown
" + + +# Globals +rm = None + +class Data: + headers = [] + vals = [] + + def __init__(self, headers, vals): + self.headers = headers + self.vals = vals + + def formatHeader(self): + return self.headers + + def formatData(self): + return self.vals + + +def init(): + global rm + + rm = RunManager(readonly=True) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + return 0 + + +def displayDetails(stats): + print "

" % ("Beige") + + print "" + + site = stats.getSite() + + # Run + print "" + print "" + print "" % (stats.getRunID()) + print "" + + # Site + print "" + print "" + print "" % (site.getShortName(), site.getSiteID(), site.getLongName()) + print "" + + # Location + print "" + print "" + print "" % (site.getLatitude(), site.getLongitude()) + print "" + + # Site Type + print "" + print "" + print "" % (site.getSiteType()) + print "" + + # ERF_ID + print "" + print "" + print "" % (stats.getERFID()) + print "" + + # SGT_Var_ID + print "" + print "" + print "" % (stats.getSGTVarID()) + print "" + + # Rup_Var_ID + print "" + print "" + print "" % (stats.getRupVarID()) + print "" + + # Num_PSA + print "" + print "" + print "" % (stats.getNumPSAs()) + print "" + + # Num_Curves + print "" + print "" + print "" % (stats.getNumCurves()) + print "" + + print "
Run:%d
Site:%s (%d), %s
Location:lat=%f, lon=%f
Type:%s
ERF ID:%d
SGT Var ID:%d
Rup Var ID:%d
Number PSAs:%d
Number Curves:%d
" + print "
" + + return 0 + + +def displayCurves(stats): + + site = stats.getSite().getShortName() + + # Construct paths + src_dir = "%s%s/" % (CURVE_DIR, site) + + # Get list of curves from src dir + try: + files = os.listdir(src_dir) + except: + files = [] + + # Isolate the .png files + curves = [] + if (len(files) > 0): + # Display all .png files + i = 0 + for f in files: + if (f.find('.png') != -1): + i = i + 1 + srcname = "%s%s" % (src_dir, f) + curvepic = CompCurveFile(srcname) + curves.append(curvepic) + + # Construct data for table + header_list = [] + img_list = [] + file_list = [] + for c in stats.getCurveList(): + per_str = "SA_%dsec" % (int(round(c.getIMValue()))) + header_list.append(per_str) + found = False + match = None + for curvepic in curves: + if ((per_str == curvepic.getPeriod()) and (curvepic.getRunID() == stats.getRunID())): + if ((match == None) or (match.getDate() < curvepic.getDate())): + match = curvepic + + if (match != None): + html_str = "" % (match.getEscaped()) + file_str = "
%s
" % (match.getFilename()) + img_list.append(html_str) + file_list.append(file_str) + else: + img_list.append(NO_IMG_TXT) + file_list.append(NO_FILE_TXT) + + data_list = [] + data_list.append(Data(header_list, img_list)) + data_list.append(Data(header_list, file_list)) + + # Display the table + t = HTMLTable() + t.setWidth(None) + t.addCaption("Comparison Curves") + t.allowWrap(False) + t.display(data_list) + + print "

" + + return 0 + + +def main(): + global rm + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([["%s?filter=Completed" % MAIN_PAGE, "Main"],]) + page.sectionTitle("Run Stats/Curves") + + form = cgi.FieldStorage() # instantiate only once! + run_id = None + if form.has_key("key") and form["key"].value != "": + run_id = form["key"].value + + if (run_id != None): + # Pull run record and get site name + stats = rm.getRunStatsByID(run_id) + if (stats == None): + print "Run %s not found in DB.

" % (run_id) + else: + displayDetails(stats) + print "

" + displayCurves(stats) + + page.footer() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dispstats.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doadd.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doadd.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doadd.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,276 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import os +import cgi +from RunManager import * +from HTMLLib import * + + +# Globals +rm = None +erf_list = [] +sgt_var_list = [] +rup_var_list = [] + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +def init(): + global rm + + rm = RunManager(readonly=False) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + return 0 + + +def dispAddForm(site_map, run): + + print "

" + for id,name in site_map.items(): + print "" % (id) + print "" % (name) + + print "
" % ("Beige") + + print "" + + # Site + print "" + print "" + print "" + print "" + + # ERF_ID + print "" + print "" + print "" + print "" + + # SGT_Var_ID + print "" + print "" + print "" + print "" + + # Rup_Var_ID + print "" + print "" + print "" + print "" + + # Status + print "" + print "" + print "" + print "" + + # Status Time + print "" + print "" + print "" % \ + (run.getStatusTime(), run.getStatusTime()) + print "" + + # SGT_Host + print "" + print "" + print "" + print "" + + # PP_Host + print "" + print "" + print "" + print "" + + # Comment + print "" + print "" + print "" + print "" + + # Last_User + print "" + print "" + print "" + print "" + + # Job_ID + print "" + print "" + print "" + print "" + + # Submit_Dir + print "" + print "" + print "" + print "" + + # Notify_User + print "" + print "" + print "" + print "" + + print "
Site(s):" + disp_str = "" + for id,name in site_map.items(): + if (disp_str == ""): + disp_str = "%s (%s)" % (name, id) + else: + disp_str = disp_str + ", %s (%s)" % (name, id) + print disp_str + print "
ERF ID:" + print "" + print "
SGT Variation ID:" + print "" + print "
Rup Variation ID:" + print "" + print "
Status:" + print " %s
" % (run.getStatus(), run.getStatus()) + print "
Status Time:%s GMT
SGT Host:" + print "" + print "
PP Host:" + print "" + print "
Comment:" + print "" % (run.getComment()) + print "
Last User:" + last_user = os.environ.get("REMOTE_USER") + if (last_user == None): + print "" + else: + print "" % (last_user) + print "%s" % (last_user) + print "
Job ID:" + print "" + print "
Submit Dir:" + print "" % (run.getSubmitDir()) + print "
Notify User:" + print "" + print "
" + + print "
" + + # Place buttons + print "
" + print "
" + print "" + print "" + print "
" + print "
" + + return 0 + + +def main(): + global rm + global erf_list + global sgt_var_list + global rup_var_list + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([["%s?filter=New Sites" % (MAIN_PAGE), "Main"], ]) + page.sectionTitle("Add Run(s)") + + form = cgi.FieldStorage() # instantiate only once! + + site_id_list = [] + if form.has_key("key"): + if (type(form["key"]) != type([])): + if (form["key"].value != ""): + site_id_list = [form["key"].value,] + else: + site_id_list = form.getlist("key") + #site_id = form.getfirst("key") + + if (len(site_id_list) > 0): + + # Retrieve this site + site_map = {} + for site_id in site_id_list: + site = rm.getSiteNameByID(int(site_id)); + site_map[site_id] = site + + # Retrieve ERF_IDs + erf_list = rm.getParamIDs("ERF"); + + # Retrieve SGT_Variation_IDs + sgt_var_list = rm.getParamIDs("SGT_VAR"); + + # Retrieve Rup_Variation_IDs + rup_var_list = rm.getParamIDs("RUP_VAR"); + + if ((site == None) or (len(erf_list) == 0) or (len(sgt_var_list) == 0) or (len(rup_var_list) == 0)): + print "Unable to retrieve reference info from DB.

" + else: + # Populate default run object + run = Run() + site = Site() + site.setSiteID(int(site_id_list[0])) + site.setShortName(site_map[site_id_list[0]]) + run.setSite(site) + run.setERFID(erf_list[0][0]) + run.setSGTVarID(sgt_var_list[0][0]) + run.setRupVarID(rup_var_list[0][0]) + run.setStatus(START_STATE) + run.setStatusTimeCurrent() + + # Present form to allow user modification + dispAddForm(site_map, run); + + page.footer() + return 0 + + else: + print "No run ID supplied.

" + + print "If page does not redirect in a few seconds, please click the link above.

" + print "Please wait...

" + + page.addRedirect("%s?filter=New Stes" % (MAIN_PAGE)) + page.footer() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doadd.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dodelete.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dodelete.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dodelete.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,76 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import cgi +from HTMLLib import * + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +# Globals + + +def init(): + return 0 + + +def main(): + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([[MAIN_PAGE, "Main"],]) + page.sectionTitle("Delete Run") + + form = cgi.FieldStorage() # instantiate only once! + + if form.has_key("key") and form["key"].value != "": + run_id = int(form["key"].value) + + print "Please confirm, delete run %d?" % (run_id) + print "

" + + print "" + print "" + print "" + + print "" + + print "" + print "
" + print "
" % ("deleterun.py") + print "" % (str(run_id)) + print "" + print "
" + print "
" + print "
" % ("runmanager.py") + #print "" % (str(run_id)) + print "" + print "
" + print "
" + + else: + print "No status ID supplied.

" + print "If page does not redirect in a few seconds, please click the link above.

" + print "Please wait...

" + page.addRedirect(MAIN_PAGE) + + page.footer(True) + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/dodelete.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doedit.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doedit.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doedit.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,268 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import os +import cgi +from RunManager import * +from HTMLLib import * + + +# Globals +rm = None +erf_list = [] +sgt_var_list = [] +rup_var_list = [] + + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +def init(): + global rm + + rm = RunManager(readonly=False) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + return 0 + + +def dispModifyForm(run): + + print "

" + print "" % (run.getRunID()) + print "" % (run.getSite().getSiteID()) + print "" % (run.getSite().getShortName()) + + print "
" % ("Beige") + + print "" + + # Site + print "" + print "" + print "" % (run.getSite().getShortName(), run.getSite().getSiteID()) + print "" + + # ERF_ID + print "" + print "" + print "" + print "" + + # SGT_Var_ID + print "" + print "" + print "" + print "" + + # Rup_Var_ID + print "" + print "" + print "" + print "" + + # Status + print "" + print "" + print "" + print "" + + # Status Time + print "" + print "" + print "" % \ + (run.getStatusTime(), run.getStatusTime()) + print "" + + # SGT_Host + print "" + print "" + print "" + print "" + + # PP_Host + print "" + print "" + print "" + print "" + + # Comment + print "" + print "" + print "" + print "" + + # Last_User + print "" + print "" + print "" + print "" + + # Job_ID + print "" + print "" + print "" + print "" + + # Submit_Dir + print "" + print "" + print "" + print "" + + # Notify_User + print "" + print "" + print "" + print "" + + print "
Site:%s (%d)
ERF ID:" + print "" + print "
SGT Variation ID:" + print "" + print "
Rup Variation ID:" + print "" + print "
Status:" + for status in STATUS_STD[run.getStatus()]: + if (run.getStatus() == status): + print " %s
" % (status, status) + else: + print " %s
" % (status, status) + print "
Status Time:%s GMT
SGT Host:" + print "" + print "
PP Host:" + print "" + print "
Comment:" + if (run.getComment() == None): + print "" + else: + print "" % (run.getComment()) + print "
Last User:" + last_user = os.environ.get("REMOTE_USER") + if (last_user == None): + print "" + else: + print "" % (last_user) + print "%s" % (last_user) + print "
Job ID:" + if (run.getJobID() == None): + print "" + else: + print "" % (run.getJobID()) + print "
Submit Dir:" + if (run.getSubmitDir() == None): + print "" + else: + print "" % \ + (run.getSubmitDir()) + print "
Notify User:" + if (run.getNotifyUser() == None): + print "" + else: + print "" % (run.getNotifyUser()) + print "
" + + print "
" + + # Place buttons + print "
" + print "
" + print "" + print "" + print "
" + print "
" + + return 0 + + +def main(): + global rm + global erf_list + global sgt_var_list + global rup_var_list + + form = cgi.FieldStorage() # instantiate only once! + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([[MAIN_PAGE, "Main"],]) + page.sectionTitle("Edit Run") + + if form.has_key("key") and form["key"].value != "": + run_id = form["key"].value + run = rm.getRunByID(run_id) + if (run != None): + + # Retrieve ERF_IDs + erf_list = rm.getParamIDs("ERF"); + + # Retrieve SGT_Variation_IDs + sgt_var_list = rm.getParamIDs("SGT_VAR"); + + # Retrieve Rup_Variation_IDs + rup_var_list = rm.getParamIDs("RUP_VAR"); + + # Present form to allow user modification + dispModifyForm(run); + + page.footer() + return 0 + + else: + print "No status ID supplied.

" + + page.addRedirect(MAIN_PAGE) + page.footer() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/doedit.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/loadpng.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/loadpng.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/loadpng.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +import sys +import cgi + + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +def init(): + + return 0 + + +def main(): + + form = cgi.FieldStorage() # instantiate only once! + + img = None + if form.has_key("img") and form["img"].value != "": + img = form["img"].value + + if ((img != None) and (img.find(".png") != -1)): + # Dump the .png file to stdout + print "Content-type: image/png\n" + print file(r"%s" % (img), "r").read() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/loadpng.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/modifyrun.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/modifyrun.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/modifyrun.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,120 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import cgi +from RunManager import * +from HTMLLib import * + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + + +# Globals +rm = None + + +def init(): + global rm + + rm = RunManager(readonly=False) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + return 0 + + +def main(): + global rm + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([[MAIN_PAGE, "Main"],]) + page.sectionTitle("Edit Run") + + form = cgi.FieldStorage() # instantiate only once! + run = Run() + site = Site() + if form.has_key("run_id") and form["run_id"].value != "": + run.setRunID(int(form["run_id"].value)) + if form.has_key("site_id") and form["site_id"].value != "": + site.setSiteID(int(form["site_id"].value)) + if form.has_key("site") and form["site"].value != "": + site.setShortName(form["site"].value) + if form.has_key("erf_id") and form["erf_id"].value != "": + run.setERFID(int(form["erf_id"].value)) + if form.has_key("sgt_var_id") and form["sgt_var_id"].value != "": + run.setSGTVarID(int(form["sgt_var_id"].value)) + if form.has_key("rup_var_id") and form["rup_var_id"].value != "": + run.setRupVarID(int(form["rup_var_id"].value)) + if form.has_key("status") and form["status"].value != "": + run.setStatus(form["status"].value) + if form.has_key("status_time") and form["status_time"].value != "": + run.setStatusTime(form["status_time"].value) + if form.has_key("sgt_host") and form["sgt_host"].value != "": + run.setSGTHost(form["sgt_host"].value) + if form.has_key("pp_host") and form["pp_host"].value != "": + run.setPPHost(form["pp_host"].value) + if form.has_key("comment"): + run.setComment(form["comment"].value) + if form.has_key("last_user") and form["last_user"].value != "": + run.setLastUser(form["last_user"].value) + if form.has_key("job_id"): + run.setJobID(form["job_id"].value) + if form.has_key("submit_dir"): + run.setSubmitDir(form["submit_dir"].value) + if form.has_key("notify_user"): + run.setNotifyUser(form["notify_user"].value) + + run.setSite(site) + + # Update status time + run.setStatusTimeCurrent() + if (run.getStatus() in SGT_STATES): + run.setSGTTimeCurrent() + if (run.getStatus() in PP_STATES): + run.setPPTimeCurrent() + + # NOTE: Should perform these steps to ensure DB consistency + # 1) Parse orig_status_time from cgi params (this is status_time from original user query on this run) + # 2) Start transaction with begin() + # 3) Query DB for this run + # 4) Compare queried status_time with user status_time + # 5) If the same, perform update. commit. + # 6) Else, display error. rollback(). + + # Perform update + if (rm.updateRun(run) != 0): + print "Run update failed for site %s.

" % (run.getSite().getShortName()) + else: + # Commit changes + rm.commitTransaction() + print "Run successfully updated for site %s.

" % (run.getSite().getShortName()) + + print "If page does not redirect in a few seconds, please click the link above.

" + print "Please wait...

" + page.addRedirect(MAIN_PAGE) + page.footer() + + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + if (main() != 0): + pass + else: + pass + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/modifyrun.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/runmanager.py =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/runmanager.py (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/runmanager.py 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,251 @@ +#!/usr/bin/env python + +# Add RunManager modules to PYTHONPATH +import sys +sys.path.append('/home/scec-00/patrices/code/trunk/RunManager/') + +import cgi +from HTMLLib import * +from RunManager import * + +# Enable python stack trace output to HTML +import cgitb; cgitb.enable() + +# Constants +FILTERS = ["Active", "Completed", "Deleted", "New Sites", "Maps and Plots",] + + +# Globals +rm = None +write_access = False +remote_user = None + +def init(): + global rm + global remote_user + global write_access + + rm = RunManager(readonly=True) + if (not rm.isValid()): + print "Unable to open database connection.

" + return 1 + + rm.useHTML(True) + + # Get remote user id + remote_user = os.environ.get("REMOTE_USER") + if (remote_user in USER_LIST): + write_access = True + else: + write_access = False + return 0 + + +def dispNewSites(): + global rm + + site_list = rm.getNewSites() + if ((site_list == None) or (len(site_list) == 0)): + print "Unable to display new sites

" + return 1 + + t = HTMLTable() + t.addCaption("New Sites") + if (write_access == True): + action_list = [] + action_list.append(HTMLAction("Add", "doadd.py", None)) + t.addActionList(action_list) + t.setSelection(True) + + # Wrap a form around this table that allows multiple sites to be selected + print "

" + print "

" + print "Click the appropriate link to add a run for that site, or select a group then click " + print "" + print "

" + t.display(site_list) + print "

" + + else: + t.display(site_list) + + print "

" + + return 0 + + +def dispMaps(): + global rm + + img_files = [SCATTER_IMG, INTERPOLATED_ALL_IMG, INTERPOLATED_GRID_IMG,] + img_names = ["Scatter Map", "Interpolated, All Sites", \ + "Interpolated, Gridded",] + + img_links = [] + for img in img_files: + link_str = "loadpng.py?img=%s" % (cgi.escape(img, True)) + # Original img size: width=1275 height=1188 + src_str = "" % (cgi.escape(img, True)) + img_links.append("%s" % (link_str, src_str)) + + img_times = [] + for img in img_files: + img_times.append(time.strftime("%Y-%m-%d %H:%M:%S GMT", \ + time.gmtime(os.path.getmtime(img)))) + + print "

Static Maps

" + print "Combined CyberShake/Base Maps for various SA and percentile thresholds can be viewed at the Wiki Static Maps (login required)." + + print "

Dynamic Maps (Continuously Updated)

" + print "

" + print "Click the image for a larger view." + print "

" + print "" + + print "" + for i in range(0, len(img_files)): + print "" % (img_names[i]) + print "" + + print "" + for i in range(0, len(img_files)): + print "" % (img_links[i]) + print "" + + print "" + for i in range(0, len(img_files)): + print "" % (img_times[i]) + print "" + + print "
%s
%s
%s
" + print "

" + return 0 + + +def main(): + global rm + global write_access + + page = HTMLPage() + page.header() + page.pageTitle() + page.menu([[MAIN_PAGE, "Main"],[WIKI_PAGE, "Wiki"],["../notes.html","Notes"]]) + page.sectionTitle("Viewer") + + form = cgi.FieldStorage() # instantiate only once! + if form.has_key("filter") and form["filter"].value != "": + filter = form["filter"].value + else: + filter = FILTERS[0] + + # Display selection form + print "

" % \ + (MAIN_PAGE) + + print "
" % ("Beige") + print "" + print "" + print "" + print "" + print "" + + print "" + print "" + print "" % (DB_HOST, DB_PORT) + print "" + + print "" + print "" + if (write_access == True): + print "" % (remote_user) + else: + print "" % (remote_user) + print "" + + print "
View:" + print "" + print "" + print "
Database:%s : %d
Access Permissions:View/Add/Modify/Delete (%s)View Only (%s)
" + print "
" + + print "

" + + master_run_list = [] + + if (filter == FILTERS[0]): + target_states = ACTIVE_STATES + caption = "Active Runs" + elif (filter == FILTERS[1]): + target_states = [DONE_STATE,] + caption = "Completed Runs" + elif (filter == FILTERS[2]): + target_states = [DELETED_STATE,] + caption = "Deleted Runs" + elif (filter == FILTERS[3]): + dispNewSites() + page.footer(True) + return 0 + else: + dispMaps() + page.footer(True) + return 0 + + # Show the selected runs + run_list = rm.getRunsByState(target_states) + if ((run_list != None) and (len(run_list) > 0)): + master_run_list = run_list + + if (len(master_run_list) == 0): + print "

No runs found in this state.

" + page.footer(True) + return 0 + + t = HTMLTable() + t.addCaption(caption) + action_list = [] + if (filter == FILTERS[0]): + action_list.append(HTMLAction("Details", "details.py", "filter=%s" % (FILTERS[0]))) + if (write_access == True): + action_list.append(HTMLAction("Edit", "doedit.py", None)) + action_list.append(HTMLAction("Delete", "dodelete.py", None)) + t.addActionList(action_list) + t.display(master_run_list) + elif (filter == FILTERS[1]): + action_list.append(HTMLAction("Details", "details.py", "filter=%s" % (FILTERS[1]))) + action_list.append(HTMLAction("Stats", "dispstats.py", None)) + t.addActionList(action_list) + t.setSelection(True) + # Wrap a form around this table that allows multiple sites to be selected + print "
" + print "

" + print "Click the appropriate link to view the site's curves, or select a group then click " + print " to perform a comparison." + print "

" + t.display(master_run_list) + print "

" + elif (filter == FILTERS[2]): + action_list.append(HTMLAction("Details", "details.py", "filter=%s" % (FILTERS[2]))) + t.addActionList(action_list) + t.display(master_run_list) + + print "

" + + page.footer(True) + return 0 + + +def cleanup(): + return 0 + + +if __name__ == '__main__': + if (init() != 0): + sys.exit(1) + main() + cleanup() + sys.exit(0) Property changes on: SwiftApps/Cybershake/app/post/RunManager/website/cgi-bin/runmanager.py ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/RunManager/website/index.html =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/index.html (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/index.html 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,18 @@ + + +CyberShake Run Manager + + +

+

CyberShake Run Manager

+
+

+If you are not forwarded to the Run Manager, please click here. + + +


+

+© 2009 Southern California Earthquake Center, USC
+Maintained by
Patrick Small

+ + Added: SwiftApps/Cybershake/app/post/RunManager/website/notes.html =================================================================== --- SwiftApps/Cybershake/app/post/RunManager/website/notes.html (rev 0) +++ SwiftApps/Cybershake/app/post/RunManager/website/notes.html 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,20 @@ + + +CyberShake Run Manager + + +

+

CyberShake Run Manager

+
+

+

Notes

+

+State transition diagram:
+ +

+


+

+© 2009 Southern California Earthquake Center, USC
+Maintained by
Patrick Small

+ + Added: SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/Makefile =================================================================== --- SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/Makefile (rev 0) +++ SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/Makefile 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,50 @@ +TARGET = surfseis_rspectra +PARM = ../setparm/setparm180.f + +include ../../Compilers.mk +IFORT = $(shell which ifort 2> /dev/null) +ICC = $(shell which icc 2> /dev/null) +GNUFORT = $(shell which gfortran 2> /dev/null) +GNUCC = $(shell which gcc 2> /dev/null) + +#UFLAGS = -O3 +UFLAGS = + +# Determine compiler preferences: +# If ifort/icc exist, use those compilers +# else if gfortran/gcc exist, use those compilers +# else fall to defaults in Compilers.mk +ifneq (,$(IFORT)) + FC = ifort + FFLAGS = $(UFLAGS) -132 +else + ifneq (,$(GNUFORT)) + FC = gfortran + FFLAGS = -static -m32 $(UFLAGS) $(MY_FFLAGS) + else + FC = $(MY_FC) + FFLAGS = $(UFLAGS) $(MY_FFLAGS) + endif +endif + +ifneq (,$(ICC)) + CC = icc + CFLAGS = $(UFLAGS) -mia32 +else + ifneq (,$(GNUCC)) + CC = gcc + CFLAGS = -static -m32 $(UFLAGS) $(MY_CFLAGS) + else + CC = $(MY_CC) + CFLAGS = $(UFLAGS) $(MY_CFLAGS) + endif +endif + + +all: $(TARGET) + +surfseis_rspectra: sub_bandpass.o surfseis_rspectra.o + $(FC) $(FFLAGS) -o $@ $^ $(PARM) + +clean: + rm -f $(TARGET) *.o Property changes on: SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/Makefile ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/sub_bandpass.c =================================================================== --- SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/sub_bandpass.c (rev 0) +++ SwiftApps/Cybershake/app/post/SpectralAcceleration/p2utils/sub_bandpass.c 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,228 @@ +/* subroutine to perform Butterworth filter. +Original code is from Stanford SEP group (David Hale). + +For this subroutine, make sure the incoming and outgoing +arrays are allocated with two extra samples: + y[nt+2] and x[nt+2]. + +For most other applications the exra two samples will never be +used. Unfortunately this code needs them. + +stanford_bandpass_(y_in, x_out, nt,dt, flo, fhi, npolelo, npolehi, phase) +*/ + +/* bandpass Butterworth filter + +bandpass nt= [ dt=1. nx=all ny=1 in=stdin out=stdout flo=0. fhi=0.5/dt + nplo=6 nphi=6 phase=0 ] + +nt, dt, nx, ny trace length, sampling interval, number of traces +in, out input, output filenames +flo, fhi low and high cutoff frequencies; + flo=0 for lowpass filter; fhi=0.5/dt for highpass; + gain at flo and fhi is: -6db for zero-phase filter + -3db for minimum-phase filter +nplo, nphi number of poles for low and high cutoffs; + filter rolloff rate is proportional to number of poles +phase =0 for zero-phase; =1 for minimum-phase + +Dave Hale, 2/25/82 +modified to run in core, by Jan Morton, 1/17/84 +Technical reference: Oppenheim, A.V., and Schafer, R.W., 1975, +Digital signal processing, Prentice Hall, Inc. +*/ +#include +#include +#include +void stanford_bandpass_(y,x, nt_in,dt_in, flow,fhigh, npolelo,npolehi,phase_in) +float y[],x[],*dt_in,*flow,*fhigh; +int *nt_in,*npolelo,*npolehi,*phase_in; + { + int ok,nt2,j,n,nb,lopass,hipass,nd, nt,nplo,nphi,phase; + int m,i,nodd; + float b[50][5],d[50][5]; + float dt,flo,fhi,c,a,aa,aap4,dtheta,theta0,pi=3.141593; + float e,ee,b1,b2,b3,den,fno2; + double sin(),cos(); + + nt = *nt_in; dt = *dt_in; + nplo = *npolelo; nphi = *npolehi; + phase = *phase_in; + + + if (nplo < 1) nplo = 1; if (nplo > 98) nplo = 98; + if (nphi < 1) nphi = 1; if (nphi > 98) nphi = 98; + + flo = *flow * dt; + fhi = *fhigh * dt; + hipass = (flo > 0.0001); + lopass = (fhi < 0.4999); + + nt2 = nt+2; + + /* compute lowpass filter coefficients if required */ + if (lopass) + { + nodd = (nphi%2); + if (phase==0) + { + if (nodd) nphi = (nphi+1)/2; + else nphi = nphi/2; + nodd = (nphi%2); + } + nb = (nphi+1)/2; + + a = 2.*sin(pi*fhi)/cos(pi*fhi); /* radius of poles in s-plane */ + aa = a*a; + aap4 = aa+4; + dtheta = pi/nphi; /* angular separation of poles */ + theta0 = (nodd)?0:dtheta/2; /* pole closest to real s axis */ + if (nodd) + { + b[0][0] = a/(a+2); + b[0][1] = b[0][0]; + b[0][2] = 0.; + b[0][3] = (a-2)/(a+2); + b[0][4] = 0.; + } + else + { + c = 4.*a*cos(theta0); + b[0][0] = aa/(aap4+c); + b[0][1] = 2.*b[0][0]; + b[0][2] = b[0][0]; + b[0][3] = (2.*aa-8.)/(aap4+c); + b[0][4] = (aap4-c)/(aap4+c); + } + for (j = 1; j < nb; j++) + { + c = 4.*a*cos(theta0+j*dtheta); + b[j][0] = aa/(aap4+c); + b[j][1] = 2.*b[j][0]; + b[j][2] = b[j][0]; + b[j][3] = (2.*aa-8.)/(aap4+c); + b[j][4] = (aap4-c)/(aap4+c); + } + } + + /* compute highpass filter coefficients if required by + transforming a lowpass filter with cutoff at half Nyquist */ + if (hipass) + { + nodd = (nplo%2); + if (phase==0) + { + if (nodd) nplo = (nplo+1)/2; + else nplo = nplo/2; + nodd = (nplo%2); + } + nd = (nplo+1)/2; + fno2 = 0.25; + a = 2.*sin(pi*fno2)/cos(pi*fno2); aa = a*a; aap4 = aa+4; + e = -cos(pi*(flo+fno2))/cos(pi*(flo-fno2)); ee = e*e; + dtheta = pi/nplo; theta0 = (nodd)?0:dtheta/2; + if (nodd) + { + b1 = a/(a+2); + b2 = (a-2)/(a+2); + den = 1.-b2*e; + d[0][0] = b1*(1.-e)/den; + d[0][1] = -d[0][0]; + d[0][2] = 0.; + d[0][3] = (e-b2)/den; + d[0][4] = 0.; + } + else + { + c = 4.*a*cos(theta0); + b1 = aa/(aap4+c); + b2 = (2.*aa-8.)/(aap4+c); + b3 = (aap4-c)/(aap4+c); + den = 1.-b2*e+b3*ee; + d[0][0] = b1*(1.-e)*(1.-e)/den; + d[0][1] = -2.*d[0][0]; + d[0][2] = d[0][0]; + d[0][3] = (2.*e*(1.+b3)-b2*(1.+ee))/den; + d[0][4] = (ee-b2*e+b3)/den; + } + for (j = 1; j < nd; j++) + { + c = 4.*a*cos(theta0+j*dtheta); + b1 = aa/(aap4+c); + b2 = (2.*aa-8.)/(aap4+c); + b3 = (aap4-c)/(aap4+c); + den = 1.-b2*e+b3*ee; + d[j][0] = b1*(1.-e)*(1.-e)/den; + d[j][1] = -2.*d[j][0]; + d[j][2] = d[j][0]; + d[j][3] = (2.*e*(1.+b3)-b2*(1.+ee))/den; + d[j][4] = (ee-b2*e+b3)/den; + } + } + + +/* Now do seismogram: */ + + /* apply filters */ + for (m=2;m0; i--) + { + j=nb-i; + for (m=2; m0; i--) + { + j=nb-i; + for (m=2; m0; i--) + { + j=nd-i; + for (m=2; m0; i--) + { + j=nd-i; + for (m=2; macceleration, and filter are installed. +c Dreger code originally assumes acceleration in CGS units. So installed +c is a preprocess option to convert velocity seismograms from +c MKS to CGS in preparation for vel->acceleration conversion. +c Input communication is via command line attributes in place +c of the text parameter files. +c +c Blocks of original code not needed for this modification are +c commented out using the string CME. +c +c Original output values are: +C > 70 write(9,5) n,1/t(n),rd(n),rv(n),prv(n),aa(n),pra(n),b(n),t(n) +c real component of displacement spectrum: > rd(it)=z(1) +c real component of velocity spectrum: > rv(it)=z(2) +c real component of acceleration spectrum: > aa(it)=z(3)/981.0 +c imaginary component of velocity spectrum: > prv(it)=w*z(1) +c imaginary component of velocity spectrum: > pra(it)=w*prv(it)/981.0 +c relative real comp. acceleration: > b(it)=aa(it)/amax +c +c imaginary vel = i*w* real displacement where w = period = 2pi/T +c imaginary acc = i*w* real velocity +c +c and accel = xx / 981. converts cm/s^2 to units of g. +c +c-------------------- +c 17 may 05 D. Okaya initial modification of rspectra.f +c 28 may 05 D. Okaya replace C I/O with f90 I/O. +c 01 jun 05 D. Okaya Butterworth filter (Stanford code). +c 02 jun 05 D. Okaya options regarding input units. +c 02 sep 05 D. Okaya (1) Intel/Linux vs. other f90 portability: +c file I/O record length sizing. +c (2) options regarding output units. +c (3) output decimation option. +c 04 sep 05 D. Okaya Output options: text, all periods. +c 09 sep 05 D. Okaya add a byteswap option right after read. +c 31 aug 07 G. Juve Overwrite output; non-zero exit codes +c +c============================================================= +c============================================================= + +c program SPECTRAD +c Otput format modified to WESSA's format +c +c + implicit none + + integer maxperiod,maxdamp,maxnpt + parameter(maxperiod=305, maxdamp=10, maxnpt=60000) + real t(maxperiod),rd(maxperiod),rv(maxperiod),prv(maxperiod), + , aa(maxperiod), pra(maxperiod), damp(maxdamp), + , a(maxnpt),time(maxnpt),b(maxperiod),z(3), peat(112), scec(27) + real outarray(maxperiod) +c +CME character title*75,head*75,fdesc*20,ifile*40,ofile*40,rfile*40, +CME , word*75,fmt*40 + character title*75,head*75,fdesc*20,ifile*120,ofile*120,rfile*120, + , word*75,fmt*40 + + integer ntpea,nscec,kg + integer i,k,kug,id,it,nt,n, nt2 + real pga,amax,v1,d1,vm,dm,vt,td,tmv,tmd,tma,w,dur1 +c + logical stp,free + + character*120 cperiod,cout_choice,cin_units,cout_units + character*120 capply_demean,capply_filter,capply_vel2accel + character*120 capply_byteswap + integer nx,ny,npts,npts2,ndamp + integer ierr,ichk, krecin, krecout + integer ix,iy, jperiod_out,jperiod0,jperiod1 + integer jout_format,jout_numperiods + real dt,fac,filter_lowHZ,filter_highHZ + real work(maxnpt), period_out, scalar + + real, dimension (:,:), allocatable :: outvalue + + common /knodes/koutnx,koutx0,koutx1,koutdx, koutx, + + koutny,kouty0,kouty1,koutdy, kouty + integer koutnx,koutx0,koutx1,koutdx, koutx, + + koutny,kouty0,kouty1,koutdy, kouty + +c-------------------------------------------------------------- +c OS/FORTRAN PORTABILITY for binary file I/O (Linux/Intel words; others bytes) + integer INTELf90,OTHERf90 + parameter (INTELf90=1, OTHERf90=4) + + common /F90_REC_COUNTING/REC_COUNT + integer REC_COUNT + +c set here: + REC_COUNT = INTELf90 +c-------------------------------------------------------------- + +c +1 format(/, + , 10x,' *************************************************',/, + , 10x,' * Program SPECTRA version 1.0 *',/, + , 10x,' * Copyright GEOMATRIX Consultants, January 1986 *',/, + , 10x,' * written by Robert Youngs *',/, + , 10x,' *************************************************',/) + data ntpea/112/, peat/ + +.2000000E+02,.1499925E+02,.1399972E+02,.1300052E+02,.1200048E+02, + +.1099989E+02,.1000000E+02,.9500286E+01,.9000090E+01,.8499788E+01, + +.8000000E+01,.7500187E+01,.6999860E+01,.6499837E+01,.5999880E+01, + +.5499945E+01,.5000000E+01,.4800076E+01,.4600028E+01,.4400053E+01, + +.4199916E+01,.4000000E+01,.3799970E+01,.3599971E+01,.3399973E+01, + +.3200000E+01,.3000030E+01,.2800022E+01,.2599969E+01,.2399981E+01, + +.2199978E+01,.2000000E+01,.1899985E+01,.1800018E+01,.1699986E+01, + +.1600000E+01,.1499992E+01,.1399991E+01,.1300001E+01,.1200005E+01, + +.1100001E+01,.1000000E+01,.9500016E+00,.9000010E+00,.8500004E+00, + +.8000000E+00,.7500019E+00,.7000007E+00,.6666667E+00,.6500006E+00, + +.5999989E+00,.5500006E+00,.5000000E+00,.4800008E+00,.4600007E+00, + +.4399995E+00,.4200005E+00,.4000000E+00,.3799998E+00,.3600010E+00, + +.3399996E+00,.3200000E+00,.3000003E+00,.2898550E+00,.2799999E+00, + +.2600003E+00,.2399998E+00,.2200002E+00,.2000000E+00,.1899999E+00, + +.1799998E+00,.1700001E+00,.1600000E+00,.1499999E+00,.1399999E+00, + +.1333333E+00,.1300000E+00,.1200001E+00,.1100000E+00,.1000000E+00, + +.9500015E-01,.9000009E-01,.8500005E-01,.8000000E-01,.7500019E-01, + +.7000007E-01,.6666667E-01,.6500007E-01,.5999988E-01,.5500005E-01, + +.5000000E-01,.4800008E-01,.4600007E-01,.4399995E-01,.4200005E-01, + +.4000000E-01,.3571429E-01,.3225806E-01,.2941176E-01,.2500000E-01, + +.2222222E-01,.2000000E-01,.1818182E-01,.1666667E-01,.1538462E-01, + +.1428571E-01,.1333333E-01,.1250000E-01,.1176471E-01,.1111111E-01, + +.1052632E-01,.1000000E-01/ + data nscec/27/, scec/ + +.1000000E+02,.9500286E+01,.9000090E+01,.8499788E+01, + +.8000000E+01,.7500187E+01,.6999860E+01,.6499837E+01,.5999880E+01, + +.5499945E+01,.5000000E+01,.4800076E+01,.4600028E+01,.4400053E+01, + +.4199916E+01,.4000000E+01,.3799970E+01,.3599971E+01,.3399973E+01, + +.3200000E+01,.3000030E+01,.2800022E+01,.2599969E+01,.2399981E+01, + +.2199978E+01,.2000000E+01,.1000000E-01/ +c +CMEc print 1 +CME fdesc='input ' +CME close(7) +CME call flchk('i',fdesc,ifile,stp) +CME if(stp) STOP +CME open(7,file=ifile) +CME99 read (7,2,end=2999) title +CME read (7,*) nt,(t(i),i=1,nt) +CMEc +CMEc if nt = 0 load TI periods +CMEc nt =-1 load SCEC periods +CMEc +CME if(nt.eq.0) then +CME nt=ntpea +CME do 10 i=1,nt +CME10 t(i)=peat(i) +CME elseif(nt.eq.-1) then +CME nt=nscec +CME do 11 i=1,nt +CME11 t(i)=scec(i) +CME ENDif +CMEc +CMEc...read input data +CMEc +CME read(7,3) rfile +CME read(7,3) ofile +CME length=index(ofile,' ') +CME read(7,3) fmt +CME if(fmt.eq.'*'.or.fmt.eq.'standard'.or.fmt.eq.'STANDARD') then +CME free=.true. +CME else +CME free=.false. +CME ENDif +CME read(7,*) nhead,npts,fac,dt,ndamp,(damp(i),i=1,ndamp) +CMEc added close doug +CME close (7) +CME if(fmt.eq.'standard'.or.fmt.eq.'STANDARD') then +CME nhead = 2 +CME endif + +CME open(8,file=rfile) +CME if(nhead.eq.0) then +CME head=title +CME else +CME read(8,2) head +CME if(nhead.gt.1) then +CME do 20 i = 2,nhead +CME20 read(8,2) word +CME ENDif +CME if(fmt.eq.'standard'.or.fmt.eq.'STANDARD') then +CME read(8,*) npts, dt +CME endif +CME ENDif +CME ims=0 +CME if(free) then +CME if(dt.eq.0) then +CME read(8,*) (time(l),a(l),l=1,npts) +CME else +CME read(8,*) (a(l),l=1,npts) +CME ENDif +CME else +CME if(dt.eq.0) then +CME read(8,fmt) (time(l),a(l),l=1,npts) +CME else +CME read(8,fmt) (a(l),l=1,npts) +CME ENDif +CME ENDif +CME close (8) + + + call getparms(ifile,ofile,nx,ny,npts,dt, fac,ndamp,damp,maxdamp, + + cperiod, capply_demean,capply_filter,capply_vel2accel, + + filter_lowHZ,filter_highHZ,period_out,capply_byteswap, + + cout_choice,cin_units,cout_units,jout_format,jout_numperiods) + + call runtime_doc(nx,ny,npts,dt, fac,ndamp,damp,maxdamp, + + cperiod, capply_demean,capply_filter,capply_vel2accel, + + filter_lowHZ,filter_highHZ,period_out,capply_byteswap, + + cout_choice,cin_units,cout_units,jout_format,jout_numperiods) + + call check_units_vel2accel(cin_units,capply_vel2accel) + + +c if nt = 0 load TI periods +c nt =-1 load SCEC periods +c +CME if(nt.eq.0) then +CME nt=ntpea +CME do 10 i=1,nt +CME10 t(i)=peat(i) +CME elseif(nt.eq.-1) then +CME nt=nscec +CME do 11 i=1,nt +CME11 t(i)=scec(i) +CME ENDif + if(cperiod .EQ. 'TI')then + nt=ntpea + do 10 i=1,nt +10 t(i)=peat(i) + elseif(cperiod .EQ. 'SCEC') then + nt=nscec + do 11 i=1,nt +11 t(i)=scec(i) + ENDif + + call get_periodout(t,nt,jout_numperiods,period_out,jperiod_out, + + jperiod0,jperiod1) + +c define array of sample times + do i = 1,npts + time(i) = float(i-1) * dt + enddo + + ierr = 0 + call open_files(ifile,ofile,npts,koutnx,jout_format, + + jout_numperiods,nt,ierr) + if(ierr .EQ. 1) write(6,21) + if(ierr .EQ. 2) write(6,22) + if(ierr .GT. 0) call exit(1) +21 format('Surfseis_rspectra> ERROR OPENING INPUT DATA FILE') +22 format('Surfseis_rspectra> ERROR CREATING OUTPUT DATA FILE') + +c get work memory +c allocate (outvalue(nx,ny)) +c do 1999 iy = 1,ny +c do 1999 ix = 1,nx +c1999 outvalue(ix,iy) = 0. + allocate (outvalue(koutnx,koutny)) + do 1999 iy = 1,koutny + do 1999 ix = 1,koutnx + 1999 outvalue(ix,iy) = 0. + +c At beginning of a SurfSeis file - loop over NY x NX seismograms +c We are reading velocity seismograms, not acceleration. + koutx = 0 + kouty = 0 + krecin = 0 + krecout = 0 + +c do 3000 iy = 1,ny +c do 2000 ix = 1,nx + do 3000 iy = kouty0,kouty1,koutdy + kouty = kouty + 1 + koutx = 0 + do 2000 ix = koutx0,koutx1,koutdx +c krecin = krecin + 1 + krecin = (iy-1)*nx + ix + read (21,rec=krecin) (a(i),i=1,npts) + + if(capply_byteswap .EQ. 'yes')call seismogram_byteswap(a,npts) + + if(cin_units .EQ. 'meterpersec' .OR. cin_units .EQ. 'meterpersec2') + + call seismogram_mks2cgs(a,npts) + + if(capply_demean .EQ. 'yes')call seismogram_demean(a,npts,work) + if(capply_vel2accel .EQ. 'yes')call seismogram_vel2accel(a,npts,work,dt) + if(capply_filter .EQ. 'yes')then +c call seismogram_filter(a,npts,work,dt,filter_lowHZ,filter_highHZ) + npts2 = npts+2 + call seismogram_stanford(a,npts,npts2,work,dt, + + filter_lowHZ,filter_highHz) + endif + + pga = 0.0 + kg=npts + if(dt.ne.0) then + do 30 i=1,kg + pga = max(pga, abs(a(i))) +30 time(i)=real(i-1)*dt + ENDif + if(fac.ne.1.0) then + do 35 i=1,kg +35 a(i)=a(i)*fac + ENDif +c +c write (*,*) ofile +CME open(9,file=ofile) +CME write (9,*)' RESPONSE SPECTRA' +CME write (9,*) title +CME write (9,'(a17,a11,a25,i6,a9,i6,a7,f5.2)') +CME 1 'INPUT FILE NAME: ', rfile, +CME 1 ', WINDOW UTILIZED: POINT ', 1, ' TO POINT', npts, +CME 1 ' PGA = ',pga + + +CME NOTE: for below block of code, the write statement is commented +CME out by the author. The only parameter required beyond this +CME block is 'amax'. As a result we comment out this whole block +CME and just preserve the calculation of amax. +c +c...find max velocity, displacement, and acceleration +c +CME amax=0.0 +CME v1=0. +CME d1=0. +CME vm=0. +CME dm=0. +CME do 40 k=1,kg-1 +CME vt=v1+0.5*(time(k+1)-time(k))*(a(k)+a(k+1)) +CME td=d1+(time(k+1)-time(k))*(v1+(time(k+1)-time(k))*a(k)/3.+ +CME , (time(k+1)-time(k))*a(k+1)/6.) +CME if(abs(vt).gt.vm) then +CME vm=abs(vt) +CME tmv=time(k+1) +CME ENDif +CME if(abs(td).gt.dm) then +CME dm=abs(td) +CME tmd=time(k+1) +CME ENDif +CME if(abs(a(k)).gt.amax) then +CME amax=abs(a(k)) +CME tma=time(k+1) +CME ENDif +CME v1=vt +CME d1=td +CME40 CONTINUE +CME vm=981.*vm +CME dm=981.*dm +CMEc write (6,4) dm,tmd,vm,tmv,amax,tma + + amax = 0.0 + do 40 k = 1,kg-1 + if(abs(a(k)) .GT. amax)then + amax = abs(a(k)) + endif +40 continue + IF(AMAX .EQ. 0.)AMAX = 1. +c +c... convert acc's to cm/sec**2 +c + do 50 i=1,kg +50 a(i)=a(i)*981.0 + +c +c compute response +c + kug=kg-1 + do 100 id=1,ndamp +CME do 60 it=1,nt + do 60 it=jperiod0,jperiod1 + w=4.*asin(1.0)/t(it) +c +c...compute response +c + if(dt.eq.0.0 .or. t(it).lt.10.*dt) then + call ucmpmx(dur1,kug,a,time,t(it),w,damp(id),z) + else + call cmpmax(dur1,kug,a,t(it),w,damp(id),dt,z) + ENDif + rd(it)=z(1) + rv(it)=z(2) + aa(it)=z(3)/981.0 + prv(it)=w*z(1) + pra(it)=w*prv(it)/981.0 + b(it)=aa(it)/amax +60 CONTINUE +c +c output values +c +c write(9,*)' dampimg = ',damp(id) +CME write (9,'(i5,1x,f4.3,a63)') nt, damp(id), +CME 1 'DATA- MTIT,EQN,NO PTS,DAMP,NO,FRQ,RD,RV,PRV,AA,PAA,MAG RAT,PER' +CME +CME do 70 n=1,nt +CME70 write(9,5) n,1/t(n),rd(n),rv(n),prv(n),aa(n),pra(n),b(n),t(n) + +100 CONTINUE + +CME199 format(27e12.4) +CME if(nt.eq.nscec) then +CME write(*,199) (aa(i)*980,i=1,nt) +CME ENDIF +CME close(9) +CME go to 99 + + +c scalar for output units (at this point r,v in CGS; a in g) + scalar = 1. + if(cout_units .EQ. 'meters') scalar = .01 + if(cout_units .EQ. 'cm') scalar = 1. + if(cout_units .EQ. 'meterpersec') scalar = .01 + if(cout_units .EQ. 'cmpersec') scalar = 1. +c accel in g + if(cout_units .EQ. 'meterpersec2') scalar = 9.80 + if(cout_units .EQ. 'cmpersec2') scalar = 980. + if(cout_units .EQ. 'unitsofg') scalar = 1. + if(cout_units .EQ. 'percentg') scalar = 100. + if(scalar .EQ. 0.)scalar = 1. + +c select output choice and scale per user request. + if(cout_choice .EQ. 'rd')then + do 200 it=jperiod0,jperiod1 +200 outarray(it) = scalar * rd(it) + elseif(cout_choice .EQ. 'rv')then + do 210 it=jperiod0,jperiod1 +210 outarray(it) = scalar * rv(it) + elseif(cout_choice .EQ. 'prv')then + do 220 it=jperiod0,jperiod1 +220 outarray(it) = scalar * prv(it) + elseif(cout_choice .EQ. 'aa')then + do 230 it=jperiod0,jperiod1 +230 outarray(it) = scalar * aa(it) + elseif(cout_choice .EQ. 'paa')then + do 240 it=jperiod0,jperiod1 +240 outarray(it) = scalar * pra(it) + elseif(cout_choice .EQ. 'magrat')then + do 250 it=jperiod0,jperiod1 +250 outarray(it) = scalar * b(it) + endif + + +c SAVE this seismogram's value or OUTPUT + +c One period: save desired parameter/period for later output + if(jout_numperiods .EQ. 1)then + koutx = koutx + 1 + outvalue(koutx,kouty) = outarray(jperiod_out) + +c All periods: output outarray() now (jout_format=0 is binary, =1 is text). + elseif(jout_numperiods .EQ. 0)then + if(jout_format .EQ. 0)then + krecout = krecout + 1 + write(22,rec=krecout) (outarray(i),i=1,nt) + elseif(jout_format .EQ. 1)then + if(cperiod .EQ. 'TI')then + write(22,300) ix,iy,(outarray(i),i=1,nt) + elseif(cperiod .EQ. 'SCEC')then + write(22,310) ix,iy,(outarray(i),i=1,nt) + endif +300 format(2i7,112e12.5) +310 format(2i7,27e12.5) + endif + endif + +c end of individual seismogram work: continue loops over seismograms +2000 continue +3000 continue + + +c If ONE period, write results at this time + if(jout_numperiods .EQ. 1)then + if(jout_format .EQ. 0)then +c now save results - grid of NX x NY elements: + krecout=0 + do iy = 1,koutny + krecout = krecout + 1 + write(22,rec=krecout) (outvalue(i,iy),i=1,koutnx) + enddo + + elseif(jout_format .EQ. 1)then + do iy = 1,koutny + do ix = 1,koutnx + write(22,400)koutx0+koutdx*(ix-1),kouty0+koutdy*(iy-1), + + outvalue(ix,iy) +400 format(2i7,e12.5) + enddo + enddo + + endif + endif + +c shutdown + deallocate(outvalue) + close(21) + close(22) + +c +2 format(a75) +3 format(a40) +4 format(/,' max disp = ',f10.5,' cm at time = ', f10.5, ' secs',/ + , ' max vel = ',f10.5,' cm/sec at time = ', f10.5, ' secs',/ + , ' max accel = ',f10.5,' g at time = ', f10.5, ' secs') +5 format(i3,8e15.7) +6 format(i7,' points uneq dt parameters are t,sd,sv,psv,sa,mr', + , /,i5) +7 format(i7,' points',f6.3,' dt parameters are t,sd,sv,psv,sa,mr', + , /,i5) +2999 stop + END + + subroutine ucmpmx(dur1,kug,ug,time,pr,w,d,z) + real ug(*),time(*),z(*),t(3),c(3),x(2,3) +c + wd=sqrt(1.-d*d)*w + w2=w*w + w3=w2*w + do 10 i=1,3 + x(1,i)=0. + 10 z(i)=0. + f2=1./w2 + f3=d*w + f4=1./wd + f5=f3*f4 + f6=2.*f3 + do 100 k=1,kug + dt=time(k+1)-time(k) + ns=nint(10.*dt/pr)+1 + dt=dt/real(ns) + f1=2.*d/w3/dt + e=exp(-f3*dt) + g1=e*sin(wd*dt) + g2=e*cos(wd*dt) + h1=wd*g2-f3*g1 + h2=wd*g1+f3*g2 + dug=(ug(k+1)-ug(k))/real(ns) + g=ug(k) + z1=f2*dug + z3=f1*dug + z4=z1/dt + do 100 is=1,ns + z2=f2*g + b=x(1,1)+z2-z3 + a=f4*x(1,2)+f5*b+f4*z4 + x(2,1)=a*g1+b*g2+z3-z2-z1 + x(2,2)=a*h1-b*h2-z4 + x(2,3)=-f6*x(2,2)-w2*x(2,1) + do 80 l=1,3 + c(l)=abs(x(2,l)) + if(c(l).gt.z(l)) then + z(l)=c(l) + t(l)=time(k)+is*dt+dur1 + ENDif +80 x(1,l)=x(2,l) + g=g+dug +100 CONTINUE +c write(6,1) pr,(t(l),l=1,3) + return +1 format(' ucmpmx t=',f6.3,' td = ',f8.4,' tv = ',f8.4,' ta = ', + , f8.4) + end + + subroutine cmpmax(dur1,kug,ug,pr,w,d,dt,z) + real ug(*),x(2,3),t(3),z(*),c(3) +c + wd=sqrt(1.-d*d)*w + w2=w*w + w3=w2*w + do 10 i=1,3 + x(1,i)=0. +10 z(i)=0. + f1=2.*d/(w3*dt) + f2=1./w2 + f3=d*w + f4=1./wd + f5=f3*f4 + f6=2.*f3 + e=exp(-f3*dt) + g1=e*sin(wd*dt) + g2=e*cos(wd*dt) + h1=wd*g2-f3*g1 + h2=wd*g1+f3*g2 + do 100 k=1,kug + dug=ug(k+1)-ug(k) + z1=f2*dug + z2=f2*ug(k) + z3=f1*dug + z4=z1/dt + b=x(1,1)+z2-z3 + a=f4*x(1,2)+f5*b+f4*z4 + x(2,1)=a*g1+b*g2+z3-z2-z1 + x(2,2)=a*h1-b*h2-z4 + x(2,3)=-f6*x(2,2)-w2*x(2,1) + do 80 l=1,3 + c(l)=abs(x(2,l)) + if(c(l).gt.z(l)) then + z(l)=c(l) + t(l)=dt*real(k)+dur1 + ENDif +80 x(1,l)=x(2,l) +100 CONTINUE +c write(6,1) pr,(t(l),l=1,3) + return +1 format(' cmpmax t=',f6.3,' td = ',f8.4,' tv = ',f8.4,' ta = ', + , f8.4) + end + + subroutine flchk(ftype,fdesc,filen,stp) + character type,ftype,filen*(*),answer*40,fdesc*20 + logical fexst,stp +c + if(ftype.eq.'d') then + type='i' + go to 20 + elseif(ftype.eq.'w') then + type='o' + go to 20 + else + type=ftype + ENDif +c print'('' enter '',a20,''file name(q to quit): '')',fdesc +10 read(5,1) answer + if(answer.eq.'q'.or.answer.eq.'Q') then + stp=.true. + return + else + filen=answer + stp=.false. + ENDif +20 inquire(file=filen,exist=fexst) + if(type.eq.'i') then + if(.not.fexst) then + print'(1x,a20,''file '',a30,'' does not exist'',/, + , '' enter new name or q to quit: '')',fdesc,filen + go to 10 + END if + else if(type.eq.'o') then + if(fexst) then + print'(1x,a20,''file '',a30,'' exists'',/,'' enter y to '', + , ''overwrite, q to quit or new name: '')',fdesc,filen + read(5,1) answer + if (answer.eq.'y' .or. answer.eq.'Y') then + stp=.false. + else if(answer.eq.'q'.or.answer.eq.'Q') then + stp=.true. + else + filen=answer + go to 20 + END if + + END if + END if +c END if + return +1 format(a40) + END + + + + +c================================================================== + subroutine getparms(ifile,ofile,nx,ny,npts,dt, fac,ndamp,damp,maxdamp, + + cperiod, capply_demean,capply_filter,capply_vel2accel, + + filter_lowHZ,filter_highHZ,period_out,capply_byteswap, + + cout_choice,cin_units,cout_units,jout_format,jout_numperiods) + implicit none + + character*120 ifile,ofile,cperiod, cout_choice,cin_units,cout_units + character*120 capply_demean,capply_filter,capply_vel2accel + character*120 cout_format,cout_numperiods, capply_byteswap + integer nx,ny,npts,ndamp,maxdamp + integer jout_format,jout_numperiods + real dt,fac,damp(maxdamp),filter_lowHZ,filter_highHZ + real period_out + + common /knodes/koutnx,koutx0,koutx1,koutdx, koutx, + + koutny,kouty0,kouty1,koutdy, kouty + integer koutnx,koutx0,koutx1,koutdx, koutx, + + koutny,kouty0,kouty1,koutdy, kouty + + integer setparms,setparmi,setparmf + integer ichk,numfiles,ierr, i, kout_units + + fac = .0010204 + do i=1,maxdamp + damp(i) = 0. + enddo + ndamp = 1 + damp(ndamp) = .05 + + cperiod = 'SCEC' + cin_units = 'meterpersec' + cout_choice = 'aa' + cout_units = 'unitsofg' + + capply_byteswap = 'no' + capply_demean = 'yes' + capply_filter = 'yes' + capply_vel2accel = 'yes' + filter_lowHZ = 0. + filter_highHZ = 0. + period_out = 2. + + jout_format = 0 + jout_numperiods = 1 + + ichk = 0 + numfiles = 0 + kout_units = -1 + + call loadparm('trailing') + + numfiles = numfiles + setparms("in",ifile) + numfiles = numfiles + setparms("out",ofile) + +c get dimensions from input mesh size + ichk = setparmi("mesh_nx",nx) + ichk = setparmi("mesh_ny",ny) + ichk = setparmi("simulation_timesamples",npts) + ichk = setparmf("simulation_dt",dt) + +c override with output (possibly decimated) mesh + ichk = setparmi("simulation_out_pointsX",nx) + ichk = setparmi("simulation_out_pointsY",ny) + ichk = setparmi("simulation_out_timesamples",npts) + ichk = setparmf("simulation_out_timeskip",dt) + +c rspectra_specific parameters: + ichk = setparms("surfseis_rspectra_output_type",cout_choice) + ichk = setparmf("surfseis_rspectra_galstog",fac) + + ichk = setparmi("surfseis_rspectra_numdampcoeffs",ndamp) + ichk = setparmf("surfseis_rspectra_dampcoeff1",damp(1)) + ichk = setparmf("surfseis_rspectra_dampcoeff2",damp(2)) + ichk = setparmf("surfseis_rspectra_dampcoeff3",damp(3)) + ichk = setparmf("surfseis_rspectra_dampcoeff4",damp(4)) + ichk = setparmf("surfseis_rspectra_dampcoeff5",damp(5)) + ichk = setparmf("surfseis_rspectra_dampcoeff6",damp(6)) + ichk = setparmf("surfseis_rspectra_dampcoeff7",damp(7)) + ichk = setparmf("surfseis_rspectra_dampcoeff8",damp(8)) + ichk = setparmf("surfseis_rspectra_dampcoeff9",damp(9)) + ichk = setparmf("surfseis_rspectra_dampcoeff10",damp(10)) + + ichk = setparms("surfseis_rspectra_periodtype",cperiod) + ichk = setparms("surfseis_rspectra_period",cout_numperiods) + if(cout_numperiods .EQ. 'all' .OR. cout_numperiods .EQ. 'ALL')then + jout_numperiods = 0 + else + ichk = setparmf("surfseis_rspectra_period",period_out) + jout_numperiods = 1 + endif + + ichk = setparms("surfseis_rspectra_seismogram_units",cin_units) + kout_units = setparms("surfseis_rspectra_output_units",cout_units) + ichk = setparms("surfseis_rspectra_output_format",cout_format) + +c these are yes/no answers + ichk = setparms("surfseis_rspectra_apply_byteswap",capply_byteswap) + ichk = setparms("surfseis_rspectra_apply_demean",capply_demean) + ichk = setparms("surfseis_rspectra_apply_filter",capply_filter) + ichk = setparms("surfseis_rspectra_apply_vel2accel",capply_vel2accel) + + if(dt .GT. 0)filter_highHZ = 1/(2.*dt) + ichk = setparmf("surfseis_rspectra_apply_filter_lowHZ",filter_lowHZ) + ichk = setparmf("surfseis_rspectra_apply_filter_highHZ", + + filter_highHZ) + + koutnx = nx + koutx0 = 1 + koutx1 = nx + koutdx = 1 + koutny = ny + kouty0 = 1 + kouty1 = ny + koutdy = 1 + ichk = setparmi("surfseis_rspectra_out_pointsXstart",koutx0) + ichk = setparmi("surfseis_rspectra_out_pointsXend" ,koutx1) + ichk = setparmi("surfseis_rspectra_out_pointsXdel" ,koutdx) + ichk = setparmi("surfseis_rspectra_out_pointsYstart",kouty0) + ichk = setparmi("surfseis_rspectra_out_pointsYend" ,kouty1) + ichk = setparmi("surfseis_rspectra_out_pointsYdel" ,koutdy) + + call endparm() + + ierr = 0 + if(numfiles .NE. 2) ierr = 1 + if(nx*ny*npts .EQ. 0) ierr = 1 + if(dt .EQ. 0.) ierr = 1 + if(fac .EQ. 0.) ierr = 1 + if(ndamp .EQ. 0) ierr = 1 + + if(cperiod .EQ. 'SCEC' .OR. cperiod .EQ. 'scec')then + cperiod='SCEC' + else + cperiod='TI' + endif + + if(capply_byteswap .EQ. 'yes' .OR. capply_byteswap .EQ. 'YES')then + capply_byteswap = 'yes' + else + capply_byteswap = 'no' + endif + + if(capply_demean .EQ. 'yes' .OR. capply_demean .EQ. 'YES')then + capply_demean = 'yes' + else + capply_demean = 'no' + endif + if(capply_filter .EQ. 'yes' .OR. capply_filter .EQ. 'YES')then + capply_filter = 'yes' + else + capply_filter = 'no' + endif + if(capply_vel2accel .EQ. 'yes' .OR. capply_vel2accel .EQ. 'YES')then + capply_vel2accel = 'yes' + else + capply_vel2accel = 'no' + endif + + if(cin_units .EQ. 'meterpersec' .OR. cin_units .EQ. 'METERPERSEC')then + cin_units = 'meterpersec' + elseif(cin_units .EQ. 'cmpersec' .OR. cin_units .EQ. 'CMPERSEC')then + cin_units = 'cmpersec' + elseif(cin_units .EQ. 'meterpersec2' .OR. + + cin_units .EQ. 'METERPERSEC2')then + cin_units = 'meterpersec2' + elseif(cin_units .EQ. 'cmpersec2' .OR. cin_units .EQ. 'CMPERSEC2')then + cin_units = 'cmpersec2' + else + ierr = 1 + endif + + if(cout_choice .EQ. 'rd' .OR. cout_choice .EQ. 'RD')then + cout_choice = 'rd' + elseif(cout_choice .EQ. 'rv' .OR. cout_choice .EQ. 'RV')then + cout_choice = 'rv' + elseif(cout_choice .EQ. 'prv' .OR. cout_choice .EQ. 'PRV')then + cout_choice = 'prv' + elseif(cout_choice .EQ. 'aa' .OR. cout_choice .EQ. 'AA')then + cout_choice = 'aa' + elseif(cout_choice .EQ. 'paa' .OR. cout_choice .EQ. 'PAA')then + cout_choice = 'paa' + elseif(cout_choice .EQ. 'magrat' .OR. cout_choice .EQ. 'MAGRAT')then + cout_choice = 'magrat' + else + ierr = 1 + endif + + if(cout_units .EQ. 'meter' .OR. cout_units .EQ. 'METER')then + cout_units = 'meter' + elseif(cout_units .EQ. 'cm' .OR. cout_units .EQ. 'CM')then + cout_units = 'cm' + elseif(cout_units .EQ. 'meterpersec' .OR. + + cout_units .EQ. 'METERPERSEC')then + cout_units = 'meterpersec' + elseif(cout_units .EQ. 'cmpersec' .OR. cout_units .EQ. 'CMPERSEC')then + cout_units = 'cmpersec' + elseif(cout_units .EQ. 'meterpersec2' .OR. + + cout_units .EQ. 'METERPERSEC2')then + cout_units = 'meterpersec2' + elseif(cout_units .EQ. 'cmpersec2' .OR. cout_units .EQ. 'CMPERSEC2')then + cout_units = 'cmpersec2' + elseif(cout_units .EQ. 'unitsofg' .OR. cout_units .EQ. 'UNITSOFG')then + cout_units = 'unitsofg' + elseif(cout_units .EQ. 'percentg' .OR. cout_units .EQ. 'PERCENTG')then + cout_units = 'percentg' + else + ierr = 1 + endif + + + if(cout_format .EQ. 'text' .OR. cout_format .EQ. 'TEXT')then + jout_format = 1 + else + jout_format = 0 + endif + + + if(ierr .EQ. 1)then + write(6,10) + write(6,20) + write(6,11) + write(6,12) + write(6,13) + write(6,14) + call exit(1) + endif +10 format('#surfseis_rspectra in= out=',/, + + '# simulation_out_pointsX= simulation_out_pointsY=',/, + + '# simulation_out_timesamples= simulation_out_timeskip=',/, + + '# surfseis_rspectra_output_type= ',/, + + 'surfseis_rspectra_output_format=',/, + + '# surfseis_rspectra_galstog=',/, + + '# surfseis_rspectra_periodtype= ', + + 'surfseis_rspectra_period=',/, + + '# surfseis_rspectra_seismogram_units= ',/, + + '# surfseis_rspectra_output_units= ',/, + + '# surfseis_rspectra_apply_byteswap= ',/, + + '# surfseis_rspectra_apply_vel2accel= ',/, + + '# surfseis_rspectra_apply_demean=',/, + + '# surfseis_rspectra_apply_filter=',/, + + '# surfseis_rspectra_apply_filter_lowHZ= ',/, + + '# surfseis_rspectra_apply_filter_highHZ= ') +20 format( + + '# surfseis_rspectra_numdampcoeffs=',/, + + '# surfseis_rspectra_dampcoeffs1=',/, + + '# surfseis_rspectra_dampcoeffs2=',/, + + '# : : : :',/, + + '# surfseis_rspectra_dampcoeffs10= ',/, + + '# surfseis_rspectra_out_pointsXstart= ', + + 'surfseis_rspectra_out_pointsXend=',/, + + '# surfseis_rspectra_out_pointsYstart= ', + + 'surfseis_rspectra_out_pointsYend=',/, + + '# surfseis_rspectra_out_pointsXdel= ', + + 'surfseis_rspectra_out_pointsYdel=') + +11 format('#',/, + + '# in= ', + + 'input Surf-seis file [none]',/, + + '# out= ', + + 'output spectral file [none]',/, + + '# simulation_out_pointsX= ', + + '# grid points in X [none]',/, + + '# simulation_out_pointsY= ', + + '# grid points in Y [none]',/, + + '# simulation_out_timesamples= ', + + '# time points [none]',/, + + '# simulation_out_timeskip= ', + + 'sample rate (sec) [none]') +12 format( + + '# surfseis_rspectra_output_type= output:', + + ' rd,rv,prv,aa,paa,magrat [aa]',/, + + '# surfseis_rspectra_output_format= ', + + 'binary or text [binary]',/, + + '# surfseis_rspectra_galstog= ', + + 'gals to g (1/980) [.0010204]',/, + + '# surfseis_rspectra_periodtype= ', + + 'SCEC or TI [SCEC]',/, + + '# surfseis_rspectra_period= ', + + 'output period (sec)or "all" [2.]',/, + + '# surfseis_rspectra_seismogram_units= ', + + ' [meterpersec]',/, + + '# ', + + 'vel: "meterpersec" "cmpersec"',/, + + '# ', + + 'accel: "meterpersec2" "cmpersec2"',/, + + '# surfseis_rspectra_output_units= ', + + ' [unitsofg]',/, + + '#',43x, 'rd: "meter" "cm"',/, + + '#',43x, 'rv,prv:"meterpersec" "cmpersec"',/, + + '#',43x, 'aa,paa:"meterpersec2" "cmpersec2"',/, + + '#',43x, 'aa,paa:"unitsofg" "percentg"',/, + + '# surfseis_rspectra_apply_byteswap= ', + + 'apply: "yes" or "no" [no]',/, + + '# surfseis_rspectra_apply_vel2accel= ', + + 'apply: "yes" or "no" [yes]',/, + + '# surfseis_rspectra_apply_demean= ', + + 'apply: "yes" or "no" [yes]') +13 format( + + '# surfseis_rspectra_apply_filter= ', + + 'apply: "yes" or "no" [yes]',/, + + '# surfseis_rspectra_apply_filter_lowHZ= ', + + 'low HZ cutoff [0.]',/, + + '# surfseis_rspectra_apply_filter_highHZ= ', + + 'high HZ cutoff [Nyquist]',/, + + '# surfseis_rspectra_numdampcoeffs= ', + + '#damping coeffs [1]',/, + + '# surfseis_rspectra_dampcoeffs1= ', + + 'damping value #1 [0.05]',/, + + '# surfseis_rspectra_dampcoeffs2= ', + + 'damping value #2 [none]',/, + + '# ', + + ' :',/, + + '# surfseis_rspectra_dampcoeffs10= ', + + 'damping value #10 [none]') + +14 format('# More optional: output decimation in surface nodes:',/, + + '# surfseis_rspectra_out_pointsXstart= ', + + 'first seismogram in X [1]',/, + + '# surfseis_rspectra_out_pointsXend= ', + + 'last seismogram in X [all X]',/, + + '# surfseis_rspectra_out_pointsYstart= ', + + 'first seismogram in Y [1]',/, + + '# surfseis_rspectra_out_pointsYend= ', + + 'last seismogram in Y [all Y]',/, + + '# surfseis_rspectra_out_pointsXdel= ', + + 'increment in X [1]',/, + + '# surfseis_rspectra_out_pointsYdel= ', + + 'increment in Y [1]') + + + if(kout_units .LE. 0)then + if(cout_choice .EQ. 'rd')then + cout_units = 'meter' + elseif(cout_choice .EQ. 'rv')then + cout_units = 'meterpersec' + elseif(cout_choice .EQ. 'prv')then + cout_units = 'meterpersec' + elseif(cout_choice .EQ. 'aa')then + cout_units = 'unitsofg' + elseif(cout_choice .EQ. 'paa')then + cout_units = 'unitsofg' + elseif(cout_choice .EQ. 'magrat')then + cout_units = 'unitsofg' + else + cout_units = 'unitsofg' + endif + endif + + + +c determine output node totals + koutnx = 0 + do i = koutx0,koutx1,koutdx + koutnx = koutnx + 1 + enddo + + koutny = 0 + do i = kouty0,kouty1,koutdy + koutny = koutny + 1 + enddo + + + return + end + + +c================================================================== + subroutine runtime_doc(nx,ny,npts,dt, fac,ndamp,damp,maxdamp, + + cperiod, capply_demean,capply_filter,capply_vel2accel, + + filter_lowHZ,filter_highHZ,period_out,capply_byteswap, + + cout_choice,cin_units,cout_units,jout_format,jout_numperiods) + implicit none + character*120 cperiod, cout_choice,cin_units,cout_units + character*120 capply_demean,capply_filter,capply_vel2accel + character*120 capply_byteswap + integer nx,ny,npts,ndamp,maxdamp + integer jout_format,jout_numperiods + real dt,fac,damp(maxdamp),filter_lowHZ,filter_highHZ + real period_out + + integer i + character*20 cline + character*48 cout_option + + common /knodes/koutnx,koutx0,koutx1,koutdx, koutx, + + koutny,kouty0,kouty1,koutdy, kouty + integer koutnx,koutx0,koutx1,koutdx, koutx, + + koutny,kouty0,kouty1,koutdy, kouty + + cline = '#surfseis_rspectra> ' + + write(6,100)cline,ny + write(6,110)cline,nx + write(6,120)cline,npts + write(6,130)cline,dt + + write(6,150)cline,koutx0,koutx1,koutdx + write(6,160)cline,kouty0,kouty1,koutdy + write(6,170)cline,koutnx,koutny + + if(cout_choice .EQ. 'rd')then + cout_option = 'real component of displacement spectrum.' + elseif(cout_choice .EQ. 'rv')then + cout_option = 'real component of velocity spectrum.' + elseif(cout_choice .EQ. 'prv')then + cout_option = 'imaginary component of velocity spectrum.' + elseif(cout_choice .EQ. 'aa')then + cout_option = 'real component of acceleration spectrum.' + elseif(cout_choice .EQ. 'paa')then + cout_option = 'imaginary component of acceleration spectrum.' + elseif(cout_choice .EQ. 'magrat')then + cout_option = 'real comp. of accel. normalized to max accel.' + endif + write(6,200)cline,cout_option + write(6,210)cline,cout_units + if(jout_format .EQ. 0 .AND. jout_numperiods .EQ. 1)write(6,220)cline + if(jout_format .EQ. 0 .AND. jout_numperiods .EQ. 0)write(6,230)cline + if(jout_format .EQ. 1 .AND. jout_numperiods .EQ. 1)write(6,240)cline + if(jout_format .EQ. 1 .AND. jout_numperiods .EQ. 0)write(6,250)cline + + write(6,300)cline,cperiod + if(jout_numperiods .EQ. 1)write(6,310)cline,period_out + if(jout_numperiods .EQ. 0)write(6,320)cline + + write(6,390)cline,cin_units + if(capply_byteswap .EQ. 'yes')write(6,395)cline + if(capply_byteswap .NE. 'yes')write(6,396)cline + if(capply_demean .EQ. 'yes')write(6,400)cline + if(capply_demean .NE. 'yes')write(6,410)cline + if(capply_vel2accel .EQ. 'yes')write(6,420)cline + if(capply_vel2accel .NE. 'yes')write(6,430)cline + if(capply_filter .NE. 'yes')write(6,440)cline + if(capply_filter .EQ. 'yes')then + write(6,450)cline + write(6,460)cline,filter_lowHZ + write(6,470)cline,filter_highHZ + endif + + write(6,500)cline,fac + write(6,600)cline,ndamp + do i=1,ndamp + write(6,610)cline,i,damp(i) + enddo + + +100 format(a20,' outer dimension of #seismograms is',i7) +110 format(a20,' inner dimension of #seismograms is',i7) +120 format(a20,' #time samples per seismogram is',i7) +130 format(a20,' time sampling interval (sec) is',f7.4) + +150 format(a20,' Seismograms to be used in X: ',i6,' to',i6,'; del:',i6) +160 format(a20,' Seismograms to be used in Y: ',i6,' to',i6,'; del:',i6) +170 format(a20,' Output #Seismograms in X, Y: ',i6,', ',i6) + +200 format(a20,' Output will be ',a48) +210 format(a20,' Output units: ',a48) +220 format(a20,' Output format: ','binary file of one period') +230 format(a20,' Output format: ','binary file of all periods') +240 format(a20,' Output format: ','text file of one period') +250 format(a20,' Output format: ','text file of all periods') + +300 format(a20,' Period lookup table (TI or SCEC) is ',a8) +310 format(a20,' Requested period is ',f10.5,' sec.') +320 format(a20,' Requested period is table of all periods.') + +390 format(a20,' Incoming seismograms have units specified as ',a16) +395 format(a20,' Preprocessing 0) apply seismogram byteswap: YES') +396 format(a20,' Preprocessing 0) apply seismogram byteswap: NO') +400 format(a20,' Preprocessing 1) apply seismogram DEMEAN: YES') +410 format(a20,' Preprocessing 1) apply seismogram DEMEAN: NO') +420 format(a20,' Preprocessing 2) apply seismogram vel->accel: YES') +430 format(a20,' Preprocessing 2) apply seismogram vel->accel: NO') +440 format(a20,' Preprocessing 3) apply seismogram filter: NO') +450 format(a20,' Preprocessing 3) apply seismogram filter: YES') +460 format(a20,' Preprocessing 3) filter low frequency (Hz):',f8.4) +470 format(a20,' Preprocessing 3) filter high frequency (Hz):',f8.4) + +500 format(a20,' Factor to convert gals to g:',f10.7) +600 format(a20,' Number of user-requested damping coefficients:',i5) +610 format(a20,' Damping value #',i2,' is',f10.7) + + + return + end + +c================================================================== + subroutine check_units_vel2accel(cunits,cvel2accel) + implicit none + character*120 cunits,cvel2accel + integer ierr + + ierr = 0 + + if (cunits .EQ. 'meterpersec' .AND. cvel2accel .EQ. 'yes')then + ierr = 0 + elseif(cunits .EQ. 'cmpersec' .AND. cvel2accel .EQ. 'yes')then + ierr = 0 + elseif(cunits .EQ. 'meterpersec2' .AND. cvel2accel .EQ. 'no')then + ierr = 0 + elseif(cunits .EQ. 'cmpersec2' .AND. cvel2accel .EQ. 'no')then + ierr = 0 + + elseif(cunits .EQ. 'meterpersec' .AND. cvel2accel .EQ. 'no')then + ierr = 1 + elseif(cunits .EQ. 'cmpersec' .AND. cvel2accel .EQ. 'no')then + ierr = 1 + elseif(cunits .EQ. 'meterpersec2' .AND. cvel2accel .EQ. 'yes')then + ierr = 2 + elseif(cunits .EQ. 'cmpersec2' .AND. cvel2accel .EQ. 'yes')then + ierr = 2 + endif + + if(ierr .EQ. 1)then + write(6,100) + cvel2accel = 'yes' + elseif(ierr .EQ. 2)then + write(6,100) + cvel2accel = 'no' + endif + +100 format('#surfseis_rspectra> Specified units are VELOCITY but ', + + 'vel->accel NOT requested;',/, + + '#surfseis_rspectra> vel->accel WILL BE performed (override).') + +200 format('#surfseis_rspectra> Specified units are ACCELERATION but ', + + 'vel->accel REQUESTED;',/, + + '#surfseis_rspectra> vel->accel WILL NOT be performed (override).') + + return + end +c================================================================== + subroutine open_files(ifile,ofile,npts,koutnx,jout_format, + + jout_numperiods,nt,ierr) + implicit none + character*120 ifile,ofile + integer npts,koutnx,jout_format,jout_numperiods,ierr,nt + + common /F90_REC_COUNTING/REC_COUNT + integer REC_COUNT +c value of REC_COUNT defined at top of main. + +c input file + open(21,file=ifile,err=900,access='direct',form='unformatted', + + status='old', recl=REC_COUNT*npts) + + +c output file +c binary - one period (koutnx X koutny) + if(jout_format .EQ. 0 .AND. jout_numperiods .EQ. 1)then + open(22,file=ofile,err=910,access='direct',form='unformatted', + + status='replace', recl=REC_COUNT*koutnx) + +c binary all periods (nt X koutnx X koutny) + elseif(jout_format .EQ. 0 .AND. jout_numperiods .EQ. 0)then + open(22,file=ofile,err=910,access='direct',form='unformatted', + + status='replace', recl=REC_COUNT*nt) + + elseif(jout_format .EQ. 1)then + open(22,file=ofile,err=910) + + endif + + + return + +900 ierr=1 + return + +910 ierr=2 + return + end + +c================================================================== + subroutine get_periodout(t,nt,jout_numperiods,period_out,jperiod_out, + + jperiod0,jperiod1) + implicit none + integer nt,jout_numperiods,jperiod_out, jperiod0,jperiod1 + real t(nt),period_out, del_t,del_j,ratio + + integer i + + jperiod_out = 0 + + if(jout_numperiods .EQ. 0)then + jperiod0 = 1 + jperiod1 = nt + + elseif(jout_numperiods .EQ. 1)then +c first check if desired period is exactly on a defined value + do i=1,nt + if(period_out .EQ. t(i))then + jperiod_out = i + goto 100 + endif + enddo + +c if here, desired period is not exactly on a defined value. + if (period_out .GT. t(1))then + jperiod_out = 1 + goto 100 + elseif(period_out .LT. t(nt))then + jperiod_out = nt + goto 100 + else + do i=1,nt-1 + if(period_out .LT. t(i) .AND. period_out .GT. t(i+1))then + del_t = t(i) - t(i+1) + del_j = period_out - t(i+1) + ratio = del_j / del_t + if(ratio .GE. 0.50)then + jperiod_out = i + goto100 + elseif(ratio .LT. 0.50) then + jperiod_out = i+1 + goto100 + endif + endif + enddo + + endif + +100 continue + jperiod0 = jperiod_out + jperiod1 = jperiod_out + + write(6,200)jperiod_out,t(jperiod_out) +200 format( + + '#surfseis_rspectra> Actual output period is index ',i3, + + '; period (sec)',f10.5) + + endif + return + end + +c================================================================== + subroutine seismogram_byteswap(a,npts) + implicit none + + integer npts, i + real a(npts) + real xxin,xout + integer kkin,kout + equivalence (xxin,kkin),(xout,kout) + + do i=1,npts + xxin = a(i) + call byte_swap4(kkin,kout) + a(i) = xout + enddo + + return + end + + subroutine byte_swap4(cin4,cout4) + character*1 cin4(4),cout4(4) + + cout4(1) = cin4(4) + cout4(2) = cin4(3) + cout4(3) = cin4(2) + cout4(4) = cin4(1) + + return + end + +c================================================================== + subroutine seismogram_mks2cgs(a,npts) + implicit none + + integer npts, i + real a(npts) + + do i=1,npts + a(i) = a(i) * 100. + enddo + + return + end + +c================================================================== + subroutine seismogram_demean(a,npts,work) + implicit none + + integer npts, i + real a(npts),work(npts),xmean,xnpts + + do i=1,npts + work(i) = a(i) + enddo + do i=1,npts + a(i) = 0. + enddo + + xmean = 0. + xnpts = float(npts) + do i=1,npts + xmean = xmean + work(i) / xnpts + enddo + + do i=1,npts + a(i) = work(i) - xmean + enddo + + return + end + +c================================================================== + subroutine seismogram_vel2accel(a,npts,work,dt) + implicit none + + integer npts, i + real a(npts),work(npts),dt + + do i=1,npts + work(i) = a(i) + enddo + do i=1,npts + a(i) = 0. + enddo + + a(1) = 0. + do i=2,npts + a(i) = (work(i) - work(i-1)) / dt + enddo + + return + end + + +c================================================================== + subroutine seismogram_filter(a,npts,work,dt, + + filter_lowHZ,filter_highHZ) + implicit none + + integer npts, i + real a(npts),work(npts),dt,filter_lowHZ,filter_highHZ + real flow,fhigh + integer nplo,nphi,phase + + do i=1,npts + work(i) = 0. + enddo + + flow = filter_lowHZ + fhigh = filter_highHZ + nplo = 6 + nphi = 6 + +c =0 zero-phase, =1 minimum phase + phase = 1 + + call stanford_bandpass(a,work,npts,dt, flow, fhigh, nplo, nphi, phase) + + do i=1,npts + a(i) = work(i) + enddo + + return + end + + +c================================================================== +c note: stanford bandpass code requires incoming data and work +c arrays to have two extra samples (npts2 = npts+2) +c + subroutine seismogram_stanford(a,npts,npts2,work,dt, + + filter_lowHZ,filter_highHZ) + implicit none + + integer npts,npts2, i + real a(npts2),work(npts2),dt,filter_lowHZ,filter_highHZ + real flow,fhigh + integer nplo,nphi,phase + + + do i=1,npts2 + work(i) = 0. + enddo + + flow = filter_lowHZ + fhigh = filter_highHZ + nplo = 6 + nphi = 6 + +c =0 zero-phase, =1 minimum phase + phase = 1 + + call stanford_bandpass(a,work,npts,dt, flow, fhigh, nplo, nphi, phase) + +c transfer only npts, not npts2: + do i=1,npts + a(i) = work(i) + enddo + + return + end + + Added: SwiftApps/Cybershake/app/post/SpectralAcceleration/setparm/setparm180.f =================================================================== --- SwiftApps/Cybershake/app/post/SpectralAcceleration/setparm/setparm180.f (rev 0) +++ SwiftApps/Cybershake/app/post/SpectralAcceleration/setparm/setparm180.f 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,2376 @@ +c Fortran command line/parameter file parameter retrieval system using +c name=value pairs. +c +c Adapted from C-based "getpar()" routines by Caltech/Stanford. +c +c +c Nomenclature for command-line argument retrieval: +c "Token" is "name=value" string (must have '=' delimiter) [185 char] 245 +c "name" is string which will be searched by getpar() [ 64 char] 64 +c "value" is string containing value of 'name' [120 char] 180 +c +c Nomenclature for "getpar("name","type",variable): +c "name" is character string for searching [ 64 char] 64 +c "type" is defined by C-based getpar: d,f,s, dv, fv [ 2 char] 2 +c variable is recipient of value (number or string) +c---------------------- +c setparm_num = number of name=value tokens. +c = 0 set in setpar(); turns off all subsequent getpar() routines +c----------------------------------------------------------------------- +c ORIGINAL PURE-FORTRAN GETPAR() +c 27jul00 DAO Initial implementation. +c 30jul00 DAO Further implementation and restructuring. Concatenate +c getpar_copt.f routines. +c 31jul00 DAO Fix the termination of char string. +c +c 19aug03 DAO g77 version: remove dynamic memory allocation and pointers. +c Hardwire dimensions. +c 09oct03 DAO g77 version: fix string termination from NULL to space. +c Solaris allows text to be terminated with null +c within middle of declared char size (trailing chars +c either don't matter or are spaces). +c Linux seems to not deal with the null, but wants the +c full pad using spaces. +c In this version all returned strings are padded to +c full incoming length. +c 02nov03 DAO g77 version: replace char*1 definition of cname(64,500) and +c cvalue(120,500) with explicit character lengths of +c char*64 cname(500), char*120 cvalue(500). The +c string terminations using the char*1 approach does not +c work under Linux. This use of hardcoded string lengths +c trickles into other subroutines. +c However, this approach may remove the NULL/SPACE issue +c which arises (see 09Oct03). +c Hardcoded number of pairs allows for mem_address'ing +c of cname/cvalue arrays to be removed. +c Returned value(s) still need a memory pointer because we +c don't know its length ahead of time. +c---------------------- +c GETPARMS() +c 27nov03 DAO modify generalized getpar() to be explicit getparmX() +c where X indicates type of requested parameter. +c E.g., getparmi(), getparmf(), getparms(). +c Internal value passing is easier than for getpar(). +c---------------------- +c SETPARMS() +c 04dec03 DAO rename functions in order to separate from getpar(). +c loadparm(),endparm(), +c setparmi(), setparmf(), setparmd(), setparms(), +c setparmiv(), setparmfv(), setparmdv(). +c Make parameter file option functional. +c 16dec03 DAO Rename subsidiary subroutines in order to avoid any future +c naming conflicts by other programmers. +c Install front-to-back or back-to-front parameter searching +c (first mention or last mention). +c 13jan04 DAO Fix setparmd() retrieval whose integral and remainder +c components were getting truncated to 10 digits +c via overuse of setparm_ConstructNumber() (which +c was meant to retrieve 32-bit integers. This +c required a parallel setparm_ConstructNumber8() which +c internally uses R*8. +c +c------------------------------------------------------------------------------ +c 28feb04 DAO Make long_line version : 64+120 = 185 -> 64+180=245 +c Increase number args from 500 to 1000 +c============================================================================= + +c------------------------------------------------------------------------------ +c loadparm() retrieves all command line arguments, parses each into name and +c value strings, and stores for subsequent interpretation by setparm(). +c + subroutine loadparm(cdirection) + implicit none + character*8 cdirection + +c---------------------------- +c set GLOBALS down below right away. +c parameter (MAXCHAR_CTOKEN=245,MAXCHAR_CNAME=64,MAXCHAR_CVALUE=180) +c parameter (MAXARGS = 1000, M_CNAME=64, M_CVALUE=180) + +c global/common variables +c MAXCHAR_CTOKEN=245, MAXCHAR_CNAME=64, MAXCHAR_CVALUE=180 + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + + common /loadparm_dir/loadparm_direction + integer*4 loadparm_direction + +c internal working variables + + integer numargs,iargc,itoken + character*245 ctoken245 + +c------------------------------------------------------ +c set GLOBALS immediately +c parameter (MAXCHAR_CTOKEN=245,MAXCHAR_CNAME=64,MAXCHAR_CVALUE=180) +c parameter (MAXARGS = 1000, M_CNAME=64, M_CVALUE=180) + MAXCHAR_CTOKEN=245 + MAXCHAR_CNAME=64 + MAXCHAR_CVALUE=180 + MAXARGS = 1000 + M_CNAME=MAXCHAR_CNAME + M_CVALUE=MAXCHAR_CVALUE + +c------------------------------------------------------ +c get number of command line arguments (tokens) + numargs = iargc() + + if(numargs .EQ. 0)then + setparm_num = 0 + return + endif + +c------------------------------------------------------ +c cname, cvalue working space: initialize by filling with spaces = ascii 32 + call setparm_clear() + +c------------------------------------------------------ +c obtain setparm direction from loadparm passed argument + call loadparm_setdir(cdirection) + +c------------------------------------------------------ +c obtain arguments in ascending order + + setparm_num = 0 + do itoken = 1,numargs + call getarg(itoken,ctoken245) + call loadparm_parse(ctoken245) + call loadparm_parfile() + enddo + +c when here, now have parsed all valid tokens and stored in cname(),cvalue(). + + + RETURN + end + +c------------------------------------------------------------------------------ +c endparm() terminates getparm(). +c when dynamic memory allocation was used, endpar() released the memory. +c here, we do nothing since all dynamic mem alloc has been replaced with +c fixed-sized arrays. + subroutine endparm() + + implicit none + + return + end + +c--------------------------------------------------------------------- + subroutine setparm_clear() + implicit none + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + + character*64 a64 + character*180 b180 + character*1 a1(64),b1(180) + equivalence (a1,a64),(b1,b180) + integer j + + call setparm_clearstring(a1,M_CNAME) + call setparm_clearstring(b1,M_CVALUE) + + do j=1,MAXARGS + cname(j) = a64 + cvalue(j) = b180 + enddo + + return + end + +c----------------------- + subroutine setparm_clearstring(cstring,nlength) + implicit none + integer nlength + character*1 cstring(nlength) + + + character*1 cspace + integer i + + cspace = char(32) + + do i=1,nlength + cstring(i) = cspace + enddo + + return + end + + +c--------------------------------------------------------------------- +c Parse a command line token "name=value" by using the '=' as a delimiter +c If '=' found, increment setparm_num and store name, value strings + + subroutine loadparm_parse(ctoken245) + + implicit none + + character*245 ctoken245 + +c MAXCHAR_CTOKEN=245, MAXCHAR_CNAME=64, MAXCHAR_CVALUE=180 + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + + integer length_token,idelim,i,j + character*1 ctoken(245) + character*245 c245 + equivalence (c245,ctoken) + + character*64 a64 + character*180 b180 + character*1 a1(64),b1(180) + equivalence (a64,a1),(b180,b1) + +c transfer incoming token + call setparm_clearstring(ctoken,MAXCHAR_CTOKEN) + c245 = ctoken245 + +c get size of this token + call setparm_denull(ctoken,MAXCHAR_CTOKEN) + call setparm_strlen(ctoken,MAXCHAR_CTOKEN,length_token) + if(length_token .EQ. 0)return + +c search for delimiter + do idelim=1,length_token + if(ctoken(idelim) .EQ. '=')goto100 + enddo + +c if here, did not find '=' and so is not a valid getparm() token. +c don't store anything; just return + return + +c----------------- +c if here, found valid '=' delimiter +100 continue + +c first check if x=y structure exists. + if(idelim .EQ. 1 ) return + if(idelim .EQ. length_token) return + +c valid structure exists, now save + call setparm_clearstring(a1,MAXCHAR_CNAME) + call setparm_clearstring(b1,MAXCHAR_CVALUE) + setparm_num = setparm_num+1 + + j=idelim-1 + if(j .GT. MAXCHAR_CNAME)j=MAXCHAR_CNAME + do i=1,j + a1(i) = ctoken(i) + enddo + + j = length_token - idelim + if(j .GT. MAXCHAR_CVALUE)j=MAXCHAR_CVALUE + do i=1,j + b1(i) = ctoken(idelim + i) + enddo + + cname(setparm_num) = a64 + cvalue(setparm_num) = b180 + + RETURN + end + + + subroutine setparm_strlen(ctoken,MAXCHAR_CTOKEN,length_token) + + implicit none + + integer MAXCHAR_CTOKEN,length_token + character*1 ctoken(MAXCHAR_CTOKEN) + + character*1 ctrail + integer i + +c ctrail = char(0) + ctrail = char(32) + + do i=MAXCHAR_CTOKEN,1,-1 + if(ctoken(i) .NE. ctrail)then + length_token = i + return + endif + enddo + +c if here, a blank string + length_token = 0 + + return + end + + +c-------------------------------------------- +c identify first space or null, and clear remainder of array with NULLs. + subroutine setparm_despace(carray,nchars) + + implicit none + + integer i,j,nchars + character*1 carray(nchars),cspace,cnull + + cspace = char(32) + cnull = char(0) + + do i=1,nchars + if(carray(i) .EQ. cspace .OR. carray(i) .EQ. cnull)goto100 + enddo + return + +100 do j=i,nchars + carray(j) = cnull + enddo + return + + end + + subroutine setparm_denull(carray,nchars) + + implicit none + + integer i,j,nchars + character*1 carray(nchars),cspace,cnull + + cspace = char(32) + cnull = char(0) + + do i=1,nchars + if(carray(i) .EQ. cspace .OR. carray(i) .EQ. cnull)goto100 + enddo + return + +100 do j=i,nchars + carray(j) = cspace + enddo + return + + end + +c------------------------------------------------------------------------------ +c------------------------------------------------------------------------------ +c setparm() scans tokens for valid match, then interprets token value into +c integer, float, or char string. +c setparm() returns #items in value string (0, 1, >1). +c +c allow up to 200 values per name (overkill as value length is 120 chars). +c 28feb04 200 values per name (overkill as value length is 180 chars). +c------------------------------------------------------------------------------ +c******************************************** + integer function setparmi(c64,kreturn) + + implicit none + + character*(*) c64 + integer kreturn + +c global/common variables + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c for internal manipulation of incoming c64,ctype arguments + character*64 cstring64 + character*1 cstring(64) + equivalence (cstring64,cstring) + +c internal variables for extracting value to return. +c following has size of MAXCHAR_CVALUE + character*1 kvalue(180) + integer itoken,nvalues,jstatus + integer jvalue + +c------------------------- +c if no command line arguments to scan, immediately return + if(setparm_num .EQ. 0)then + setparmi=0 + return + endif + +c------------------------- +c search command line tokens for this setparm("cstring", value) cstring + cstring64 = c64 + call setparm_denull(cstring,MAXCHAR_CNAME) + + call setparm_whichComLineToken(cname,MAXCHAR_CNAME,setparm_num, + + cstring,itoken) + +c if no token found, return without modifying returned value. + if(itoken .EQ. -1)then + setparmi=0 + return + endif + +c transfer ComLine Token text from cvalue() to kvalue()to work with 1-D string + call setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,setparm_num, + + itoken,kvalue) + +c------------------------- +c setparm(integer) + call setparm_valueInteger(kvalue,MAXCHAR_CVALUE,jvalue,jstatus) + if(jstatus .EQ. 1)then + kreturn = jvalue + nvalues=1 + else + nvalues=0 + endif + +c return +1000 continue + setparmi=nvalues + + return + end + + +c******************************************** + integer function setparmf(c64,xreturn) + + implicit none + + character*(*) c64 + real xreturn + +c global/common variables + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c for internal manipulation of incoming c64,ctype arguments + character*64 cstring64 + character*1 cstring(64) + equivalence (cstring64,cstring) + +c internal variables for extracting value to return. +c following has size of MAXCHAR_CVALUE + character*1 kvalue(180) + integer itoken,nvalues,jstatus + real xvalue + +c------------------------- +c if no command line arguments to scan, immediately return + if(setparm_num .EQ. 0)then + setparmf=0 + return + endif + +c------------------------- +c search command line tokens for this setparm("cstring", value) cstring + cstring64 = c64 + call setparm_denull(cstring,MAXCHAR_CNAME) + + call setparm_whichComLineToken(cname,MAXCHAR_CNAME,setparm_num, + + cstring,itoken) + +c if no token found, return without modifying returned value. + if(itoken .EQ. -1)then + setparmf=0 + return + endif + +c transfer ComLine Token text from cvalue() to kvalue()to work with 1-D string + call setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,setparm_num, + + itoken,kvalue) + +c------------------------- +c setparm(floating point / real) + call setparm_valueFloat(kvalue,MAXCHAR_CVALUE,xvalue,jstatus) + if(jstatus .EQ. 1)then + xreturn = xvalue + nvalues=1 + else + nvalues=0 + endif + +c return +1000 continue + setparmf=nvalues + + return + end + + +c******************************************** + integer function setparmd(c64,dreturn) + + implicit none + + character*(*) c64 + real*8 dreturn + +c global/common variables + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c for internal manipulation of incoming c64,ctype arguments + character*64 cstring64 + character*1 cstring(64) + equivalence (cstring64,cstring) + +c internal variables for extracting value to return. +c following has size of MAXCHAR_CVALUE + character*1 kvalue(180) + integer itoken,nvalues,jstatus + real*8 dvalue + +c------------------------- +c if no command line arguments to scan, immediately return + if(setparm_num .EQ. 0)then + setparmd=0 + return + endif + +c------------------------- +c search command line tokens for this setparm("cstring", value) cstring + cstring64 = c64 + call setparm_denull(cstring,MAXCHAR_CNAME) + + call setparm_whichComLineToken(cname,MAXCHAR_CNAME,setparm_num, + + cstring,itoken) + +c if no token found, return without modifying returned value. + if(itoken .EQ. -1)then + setparmd=0 + return + endif + +c transfer ComLine Token text from cvalue() to kvalue()to work with 1-D string + call setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,setparm_num, + + itoken,kvalue) + +c------------------------- +c setparm(double float) + call setparm_valueDoubleFloat(kvalue,MAXCHAR_CVALUE,dvalue,jstatus) + if(jstatus .EQ. 1)then + dreturn = dvalue + nvalues=1 + else + nvalues=0 + endif + +c return +1000 continue + setparmd=nvalues + + return + end + + + +c******************************************** + integer function setparmiv(c64,kreturn,narray) + + implicit none + + integer narray, kreturn(narray) + character*(*) c64 + +c global/common variables + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c for internal manipulation of incoming c64,ctype arguments + character*64 cstring64 + character*1 cstring(64) + equivalence (cstring64,cstring) + +c internal variables for extracting value to return. +c following has size of MAXCHAR_CVALUE + character*1 kvalue(180) + integer itoken,nvalues,jstatus + integer MAX_ARRAY + PARAMETER (MAX_ARRAY = 200) + integer numDelimits,nBytesPerWord, i,ntransfer + integer*4 ivector4(200) + +c------------------------- +c if no command line arguments to scan, immediately return + if(setparm_num .EQ. 0)then + setparmiv=0 + return + endif + +c------------------------- +c search command line tokens for this setparm("cstring", value) cstring + cstring64 = c64 + call setparm_denull(cstring,MAXCHAR_CNAME) + + call setparm_whichComLineToken(cname,MAXCHAR_CNAME,setparm_num, + + cstring,itoken) + +c if no token found, return without modifying returned value. + if(itoken .EQ. -1)then + setparmiv=0 + return + endif + +c transfer ComLine Token text from cvalue() to kvalue()to work with 1-D string + call setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,setparm_num, + + itoken,kvalue) + +c------------------------- +c setparm(vector of integers) + call setparm_NumDelimits(kvalue,MAXCHAR_CVALUE,numDelimits) + if(numDelimits .EQ. 0)then + nvalues=0 + goto1000 + endif + nBytesPerWord = 4 + call setparm_valueVinteger(kvalue,MAXCHAR_CVALUE,ivector4,numDelimits, + + jstatus) + if(jstatus .EQ. 1)then + ntransfer=numDelimits + if(ntransfer .GT. narray)ntransfer=narray + do i=1,ntransfer + kreturn(i) = ivector4(i) + enddo + nvalues = ntransfer + else + nvalues=0 + endif + +c return +1000 continue + setparmiv=nvalues + + return + end + + + +c******************************************** + integer function setparmfv(c64,xreturn,narray) + + implicit none + + character*(*) c64 + integer narray + real xreturn(narray) + +c global/common variables + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c for internal manipulation of incoming c64,ctype arguments + character*64 cstring64 + character*1 cstring(64) + equivalence (cstring64,cstring) + +c internal variables for extracting value to return. +c following has size of MAXCHAR_CVALUE + character*1 kvalue(180) + integer itoken,nvalues,jstatus + integer MAX_ARRAY + PARAMETER (MAX_ARRAY = 200) + integer numDelimits,nBytesPerWord, i,ntransfer + real vector4(200) + +c------------------------- +c if no command line arguments to scan, immediately return + if(setparm_num .EQ. 0)then + setparmfv=0 + return + endif + +c------------------------- +c search command line tokens for this setparm("cstring", value) cstring + cstring64 = c64 + call setparm_denull(cstring,MAXCHAR_CNAME) + + call setparm_whichComLineToken(cname,MAXCHAR_CNAME,setparm_num, + + cstring,itoken) + +c if no token found, return without modifying returned value. + if(itoken .EQ. -1)then + setparmfv=0 + return + endif + +c transfer ComLine Token text from cvalue() to kvalue()to work with 1-D string + call setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,setparm_num, + + itoken,kvalue) + +c------------------------- +c setparm(vector of floating point/reals) + call setparm_NumDelimits(kvalue,MAXCHAR_CVALUE,numDelimits) + if(numDelimits .EQ. 0)then + nvalues=0 + goto1000 + endif + nBytesPerWord = 4 + call setparm_valueVfloat(kvalue,MAXCHAR_CVALUE,vector4,numDelimits, + + jstatus) + if(jstatus .EQ. 1)then + ntransfer=numDelimits + if(ntransfer .GT. narray)ntransfer=narray + do i=1,ntransfer + xreturn(i) = vector4(i) + enddo + nvalues = ntransfer + else + nvalues=0 + endif + +c return +1000 continue + setparmfv=nvalues + + return + end + + + +c******************************************** + integer function setparmdv(c64,xreturn,narray) + + implicit none + + character*(*) c64 + integer narray + real*8 xreturn(narray) + +c global/common variables + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c for internal manipulation of incoming c64,ctype arguments + character*64 cstring64 + character*1 cstring(64) + equivalence (cstring64,cstring) + +c internal variables for extracting value to return. +c following has size of MAXCHAR_CVALUE + character*1 kvalue(180) + integer itoken,nvalues,jstatus + integer MAX_ARRAY + PARAMETER (MAX_ARRAY = 200) + integer numDelimits,nBytesPerWord, i,ntransfer + real*8 vector8(200) + +c------------------------- +c if no command line arguments to scan, immediately return + if(setparm_num .EQ. 0)then + setparmdv=0 + return + endif + +c------------------------- +c search command line tokens for this setparm("cstring", value) cstring + cstring64 = c64 + call setparm_denull(cstring,MAXCHAR_CNAME) + + call setparm_whichComLineToken(cname,MAXCHAR_CNAME,setparm_num, + + cstring,itoken) + +c if no token found, return without modifying returned value. + if(itoken .EQ. -1)then + setparmdv=0 + return + endif + +c transfer ComLine Token text from cvalue() to kvalue()to work with 1-D string + call setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,setparm_num, + + itoken,kvalue) + +c------------------------- +c setparm(vector of double floats) + call setparm_NumDelimits(kvalue,MAXCHAR_CVALUE,numDelimits) + if(numDelimits .EQ. 0)then + nvalues=0 + goto1000 + endif + nBytesPerWord = 8 + call setparm_valueVdoublefloat(kvalue,MAXCHAR_CVALUE,vector8, + + numDelimits,jstatus) + if(jstatus .EQ. 1)then + ntransfer=numDelimits + if(ntransfer .GT. narray)ntransfer=narray + do i=1,ntransfer + xreturn(i) = vector8(i) + enddo + nvalues = ntransfer + else + nvalues=0 + endif + +c return +1000 continue + setparmdv=nvalues + + return + end + + + +c******************************************** + integer function setparms(c64,creturn_ptr) + + implicit none + +c character*64 c64 + character*(*) c64 + character*(*) creturn_ptr + +c global/common variables + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c for internal manipulation of incoming c64,ctype arguments + character*64 cstring64 + character*1 cstring(64) + equivalence (cstring64,cstring) + +c internal variables for extracting value to return. +c following has size of MAXCHAR_CVALUE + character*1 kvalue(180) + character*180 k180 + integer itoken,nvalues,jstatus, MAX_LEN + +c------------------------- +c if no command line arguments to scan, immediately return + if(setparm_num .EQ. 0)then + setparms=0 + return + endif + +c------------------------- +c search command line tokens for this setparm("cstring", value) cstring + cstring64 = c64 + call setparm_denull(cstring,MAXCHAR_CNAME) + + call setparm_whichComLineToken(cname,MAXCHAR_CNAME,setparm_num, + + cstring,itoken) + +c if no token found, return without modifying returned value. + if(itoken .EQ. -1)then + setparms=0 + return + endif + +c transfer ComLine Token text from cvalue() to kvalue()to work with 1-D string +c call setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,setparm_num, +c + itoken,kvalue) + k180 = cvalue(itoken) + +c------------------------- +c setparm(character string) + call setparm_valueString(kvalue,MAXCHAR_CVALUE,jstatus) + if(jstatus .EQ. 1)then +c call setreturn_string(kvalue,MAXCHAR_CVALUE,k180) + MAX_LEN = LEN(creturn_ptr) + if(MAX_LEN .LE. MAXCHAR_CVALUE)then + creturn_ptr=k180(1:MAX_LEN) + else + creturn_ptr=k180(1:MAXCHAR_CVALUE) + endif + nvalues=1 + else + nvalues=0 + endif + +c return +1000 continue + setparms=nvalues + + return + end + +c subroutine setreturn_string(kvalue,MAXCHAR_CVALUE,k180) +c implicit none +c integer MAXCHAR_CVALUE +c character*1 kvalue(MAXCHAR_CVALUE), c1(180) +c character*180 k180, c180 +c integer i +c equivalence (c180,c1) +c +c do i=1,180 +c c1(i) = kvalue(i) +c enddo +c +c k180 = c180 +c +c return +c end + + + +c------------------------------------------------------------------------------ +c identify which command line token belongs to this getpar(cstring) call. +c + subroutine setparm_whichComLineToken(cname,MAXCHAR_CNAME,numargs, + + cstring,itoken) + + implicit none + + integer MAXCHAR_CNAME,numargs,itoken + character*64 cname(numargs), c64 + character*1 cstring(64), c1(64) + equivalence (c64,c1) + + integer i,j + integer istart,iend,idir + + common /loadparm_dir/loadparm_direction + integer*4 loadparm_direction + + istart = 1 + iend = numargs + idir = 1 + if(loadparm_direction .EQ. -1)then + istart = numargs + iend = 1 + idir = -1 + endif + + itoken = -1 + + do j=istart,iend,idir + c64 = cname(j) + do i=1,MAXCHAR_CNAME + if(cstring(i) .NE. c1(i))goto100 + enddo +c if here, found a match + goto 200 + +c if here, keep looking +100 continue + enddo + +c if here, no match; return with itoken = -1 + return + +c if here, found match and return valid itoken +200 continue + itoken = j + + return + end + + +c transfer ComLine Token text from char*180 cvalue(setparm_num) to +c kvalue() in order to work within 1D character array. + subroutine setparm_getComLineToken(cvalue,MAXCHAR_CVALUE,numargs, + + itoken,kvalue) + + implicit none + + integer MAXCHAR_CVALUE,numargs,itoken + character*180 cvalue(numargs), k180 + character*1 kvalue(180), k1(180) + equivalence (k180,k1) + character*1 cspace,cnull + integer i + + cspace = char(32) + cnull = char(0) + +c clear returned string array + do i=1,MAXCHAR_CVALUE + kvalue(i) = cspace + enddo + +c transfer this token's =value string + k180 = cvalue(itoken) + do i=1,MAXCHAR_CVALUE + kvalue(i) = k1(i) + enddo + + return + end + +c---------------- +c Get number of delimited values that should exist within character +c string VALUE() based on number of delimiting characters ','. +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c Outgoing: +c numvalues number of values (#delimiters + 1) +c + subroutine setparm_NumDelimits(kvalue,MAXCHAR_CVALUE,numvalues) + + implicit none + + integer MAXCHAR_CVALUE,numvalues + character*1 kvalue(MAXCHAR_CVALUE) + + integer i + + numvalues = 0 + + do i=1,MAXCHAR_CVALUE + if(kvalue(i) .EQ. ',')numvalues = numvalues + 1 + enddo + + numvalues = numvalues + 1 + + return + end + +c---------------- +c Get location of delimiter for ivalueTH value within cvalue() string. +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c length_token end of text contents within kvalue() +c ivalue ivalueTH value to find trailign delimiter +c Outgoing: +c ldemiit location in kvalue() of desired delimiter. +c + subroutine setparm_FindDelimiter(kvalue,MAXCHAR_CVALUE,length_token, + + ivalue,ldelimit) + + implicit none + + integer MAXCHAR_CVALUE,length_token,ivalue,ldelimit + character*1 kvalue(MAXCHAR_CVALUE) + + integer i,item + + ldelimit = 0 + item = 0 + + do i=1,length_token + if(kvalue(i) .EQ. ',')then + item = item + 1 + if(item .EQ. ivalue)then + ldelimit = i + return + endif + endif + enddo + +c last valued item will not have a trailing ',' when i reaches length_token + if(ivalue .EQ. 1) ldelimit = length_token + 1 + if(ivalue .EQ. item+1)ldelimit = length_token + 1 + if(ivalue .NE. item+1)ldelimit = 0 + + return + end + +c------------------------------------------------------------------------------ +c construct integer value going left to right. Quit at first non-number. +c incoming: kvalue(istart:iend)= section of char text to extract from. +c outgoing: jvalue = extracted integer number +c jsign = sign of extracted integer number +c jstatus = 4 : successful over whole range. +c = 3 : encountered exponent character in string +c = 2 : encountered decimal point within string +c = 1 : encountered non-valid character in string +c = 0 : no usable value +c jterminate = when jstatus = 1, 2, or 3: location +c of encountered character in kvalue() +c + subroutine setparm_ConstructNumber(kvalue,nvalue,istart,iend, + + jsign,jvalue,jstatus,jterminate) + + implicit none + + integer nvalue,istart,iend,jsign,jvalue,jstatus,jterminate + character*1 kvalue(nvalue) + + integer i,ksign,kstart,kend + + jsign = 1 + jvalue = 0 + jstatus = 0 + jterminate = 0 + kstart = istart + kend = iend + +c check if negative number or positive sign given. + ksign = +1 + if(kvalue(kstart) .EQ. '-')then + if(kstart .EQ. kend)then + jsign = 0 + jstatus = 0 + jvalue = 0 + return + endif + ksign = -1 + kstart = kstart + 1 + elseif(kvalue(kstart) .EQ. '+')then + if(kstart .EQ. kend)then + jsign = 0 + jstatus = 0 + jvalue = 0 + return + endif + ksign = +1 + kstart = kstart + 1 + endif + +c extract integer number + do i=kstart,kend +c check for period '.' + if(kvalue(i) .EQ. '.')then + jsign = ksign + jvalue = jvalue + jstatus = 2 + jterminate = i + return +c check for exponent indicator 'e' 'E' and 'd' 'D' + elseif(kvalue(i) .EQ. 'e' .OR. kvalue(i) .EQ. 'E' .OR. + + kvalue(i) .EQ. 'd' .OR. kvalue(i) .EQ. 'D')then + jsign = ksign + jvalue = jvalue + jstatus = 3 + jterminate = i + return +c check for non-valid character + elseif(ichar(kvalue(i)).LT.48 .OR. ichar(kvalue(i)).GT.57)then + jsign = ksign + jvalue = jvalue + jstatus = 1 + jterminate = i + return + else +c accumulate this digit +c first check if potential to overflow: + if(jvalue .GT.200000000)then + jsign = 0 + jvalue = 0 + jstatus = 0 + return + endif + jvalue = jvalue*10 + (ichar(kvalue(i)) -48) + endif + enddo + +c if here, ran length of istart:iend range and have valid number + jsign = ksign + jvalue = jvalue + jstatus = 4 + jterminate=kend+1 + + return + end + +c.............................................................................. +c construct Double value going left to right. Quit at first non-number. +c incoming: kvalue(istart:iend)= section of char text to extract from. +c outgoing: xvalue8 = extracted double number +c xsign8 = sign of extracted double number +c jstatus = 4 : successful over whole range. +c = 3 : encountered exponent character in string +c = 2 : encountered decimal point within string +c = 1 : encountered non-valid character in string +c = 0 : no usable value +c jterminate = when jstatus = 1, 2, or 3: location +c of encountered character in kvalue() +c + subroutine setparm_ConstructNumber8(kvalue,nvalue,istart,iend, + + xsign8,xvalue8,jstatus,jterminate) + + implicit none + + integer nvalue,istart,iend, jstatus,jterminate + real*8 xsign8,xvalue8 + character*1 kvalue(nvalue) + + integer i,kstart,kend, kwork + real*8 ysign8,setparm_INT2DOUBLE + + + xsign8 = 1.0D0 + xvalue8 = 0.0D0 + jstatus = 0 + jterminate = 0 + kstart = istart + kend = iend + +c check if negative number or positive sign given. + ysign8 = +1.0D0 + if(kvalue(kstart) .EQ. '-')then + if(kstart .EQ. kend)then + xsign8 = 0.0D0 + xvalue8 = 0.0D0 + jstatus = 0 + return + endif + ysign8 = -1.0D0 + kstart = kstart + 1 + elseif(kvalue(kstart) .EQ. '+')then + if(kstart .EQ. kend)then + xsign8 = 0.0D0 + xvalue8 = 0.0D0 + jstatus = 0 + return + endif + ysign8 = +1.0D0 + kstart = kstart + 1 + endif + +c extract integer number + do i=kstart,kend +c check for period '.' + if(kvalue(i) .EQ. '.')then + xsign8 = ysign8 + xvalue8 = xvalue8 + jstatus = 2 + jterminate = i + return +c check for exponent indicator 'e' 'E' and 'd' 'D' + elseif(kvalue(i) .EQ. 'e' .OR. kvalue(i) .EQ. 'E' .OR. + + kvalue(i) .EQ. 'd' .OR. kvalue(i) .EQ. 'D')then + xsign8 = ysign8 + xvalue8 = xvalue8 + jstatus = 3 + jterminate = i + return +c check for non-valid character + elseif(ichar(kvalue(i)).LT.48 .OR. ichar(kvalue(i)).GT.57)then + xsign8 = ysign8 + xvalue8 = xvalue8 + jstatus = 1 + jterminate = i + return + else +c accumulate this digit + kwork = ichar(kvalue(i)) -48 + xvalue8 = xvalue8*10.D0 + setparm_INT2DOUBLE(kwork) + endif + enddo + +c if here, ran length of istart:iend range and have valid number + xsign8 = ysign8 + xvalue8 = xvalue8 + jstatus = 4 + jterminate=kend+1 + + return + end + + +c------------------------------------------------------------------------------ +c setparm_valueInteger: retrieve one valid integer and determine if keep or not. +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c Outgoing: +c jvalue (signed) integer value +c jstatus = 1 : valid number +c = 0 : invalid number - nothing will be returned +c + subroutine setparm_valueInteger(kvalue,MAXCHAR_CVALUE,jvalue,jstatus) + + implicit none + + integer MAXCHAR_CVALUE,jvalue,jstatus + character*1 kvalue(MAXCHAR_CVALUE) + + integer length_token,istart,iend,lvalue,lstatus + + jstatus=0 + jvalue =0 + +c get string length + call setparm_strlen(kvalue,MAXCHAR_CVALUE,length_token) + + if(length_token .EQ. 0)then + jstatus = 0 + jvalue = 0 + return + endif + + istart = 1 + iend = length_token + call setparm_get1integer(kvalue,MAXCHAR_CVALUE,istart,iend, + + lvalue,lstatus) + +c keep lvalue if lstatus >= 1 + if(lstatus .GE. 1)then + jvalue = lvalue + jstatus= 1 + endif + + return + end + +c-------------------- +c setparm_get1integer: get one valid integer from a specified text range +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c istart,iend retrieve from within this text range +c Outgoing: +c lvalue (signed) integer value +c lstatus = 0 don't use +c = 1 keep but terminate successive searches +c = 2 keep but found delimiter +c = 3 keep - used full text range +c + subroutine setparm_get1integer(kvalue,MAXCHAR_CVALUE,istart,iend, + + lvalue,lstatus) + + implicit none + + integer MAXCHAR_CVALUE,istart,iend,lvalue,lstatus + character*1 kvalue(MAXCHAR_CVALUE) + + integer kstart,kend,kstatus,kterminate,mvalue,msign + + lstatus=0 + lvalue =0 + + kstart = istart + kend = iend + call setparm_ConstructNumber(kvalue,MAXCHAR_CVALUE,kstart,kend, + + msign,mvalue,kstatus,kterminate) + +c keep mvalue if kstatus >= 1 + if(kstatus .GE. 1)then + lvalue = msign * mvalue + lstatus= 1 + endif + + return + end + +c------------------------------------------------------------------------------ +c setparm_valueVinteger: retrieve a series of valid integers +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c NumDelimits number of delimited integers to process +c Outgoing: +c jvalue (signed) integer values (MALLOC'ED in getpar(). +c jstatus = 1 : valid number +c = 0 : invalid number - nothing will be returned +c + subroutine setparm_valueVinteger(kvalue,MAXCHAR_CVALUE,jvalue, + + NumDelimits,jstatus) + + implicit none + + integer MAXCHAR_CVALUE,NumDelimits,jvalue(NumDelimits),jstatus + character*1 kvalue(MAXCHAR_CVALUE) + + integer length_token,istart,iend,lvalue,lstatus,ldelimit + integer ivalue,priorDelimit + + do ivalue=1,NumDelimits + jvalue(ivalue) =0 + enddo + jstatus=0 + +c get string length + call setparm_strlen(kvalue,MAXCHAR_CVALUE,length_token) + + if(length_token .EQ. 0)then + jstatus = 0 + return + endif + +c loop over known delimiting positions + priorDelimit=0 + do ivalue=1,NumDelimits + call setparm_FindDelimiter(kvalue,MAXCHAR_CVALUE,length_token, + + ivalue,ldelimit) + if(ldelimit .EQ. priorDelimit+1)then + lvalue=0 + lstatus=2 + else + istart = priorDelimit + 1 + iend = ldelimit - 1 + call setparm_get1integer(kvalue,MAXCHAR_CVALUE,istart, + + iend,lvalue,lstatus) + endif + +c keep lvalue in all cases. + if(lstatus .GE. 0)then + jvalue(ivalue) = lvalue + priorDelimit = ldelimit + endif + enddo + + jstatus = 1 + + return + end +c------------------------------------------------------------------------------ +c setparm_valueFloat: retrieve one valid real # and determine if to keep or not. +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c Outgoing; +c yvalue (signed) real value +c jstatus = 1 : valid number +c = 0 : invalid number - nothing is returned + + subroutine setparm_valueFloat(kvalue,MAXCHAR_CVALUE,yvalue,jstatus) + + implicit none + + integer MAXCHAR_CVALUE,jstatus + character*1 kvalue(MAXCHAR_CVALUE) + real yvalue + + integer length_token,istart,iend,lstatus + real*8 zvalue8 + + jstatus = 0 + yvalue = 0.0000000000 + +c get string length + call setparm_strlen(kvalue,MAXCHAR_CVALUE,length_token) + + if(length_token .EQ. 0)then + jstatus = 0 + yvalue = 0.0000000000 + return + endif + + istart = 1 + iend = length_token + call setparm_get1double(kvalue,MAXCHAR_CVALUE,istart,iend, + + zvalue8,lstatus) + +c keep zvalue if lstatus >1 1 + if(lstatus .GE. 1)then + jstatus = 1 + yvalue = SNGL(zvalue8) + endif + + return + end + + +c------------------------------------------------------------------------------ +c setparm_get1double: get one valid double number from a specified text range. +c The returned value is Double-Precision (R*8); the conversion back to +c single-precision (R*4) must happen withing the calling routine. +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c istart,iend retrieve from within this text range +c Outgoing; +c zvalue8 (signed) double precision (R*8) value +c lstatus = 0 : don't use +c = 1 : keep but termiante successive searchers +c = 2 : keep but found delimiter +c = 3 : keep - used full text range + + subroutine setparm_get1double(kvalue,MAXCHAR_CVALUE,istart,iend, + + zvalue8,lstatus) + + implicit none + + integer MAXCHAR_CVALUE,istart,iend,lstatus + character*1 kvalue(MAXCHAR_CVALUE) + real*8 zvalue8 + + real*8 xvalue,xinteger,xremainder,xsign,xexponent + real*8 ysign,yinteger + integer kstart,kend,kstatus,kterminate + + lstatus=0 + zvalue8 =0.0000000000D0 + +c---------- + xsign = 0.0D0 + xinteger = 0.0D0 + xremainder = 0.0D0 + xexponent = 0.0D0 + ysign = 0.0D0 + yinteger = 0.0D0 + +c Start with integral portion of decimal number + kstart = istart + kend = iend + call setparm_ConstructNumber8(kvalue,MAXCHAR_CVALUE,kstart,kend, + + xsign,xinteger,kstatus,kterminate) +c xsign = setparm_INT2DOUBLE(jsign) +c xinteger = setparm_INT2DOUBLE(jvalue) + +c interpret validity of number based on kstatus +c completely bad argument + if(kstatus .EQ. 0)then + lstatus = 0 + zvalue8 = 0.0D0 + return + +c partial number then bad argument + elseif(kstatus .EQ. 1)then + lstatus = 1 + zvalue8 = xsign * xinteger + return + +c integral portion composes entire string + elseif(kstatus .EQ. 4)then + lstatus = 1 + zvalue8 = xsign * xinteger + return + endif + +c--------- +c if here, either decimal point or exponent encountered. + goto(1000,2000,3000,1000)kstatus +1000 return + + +c kstatus .EQ. 2, found decimal point: +2000 continue + +c first check if no remainder exists + if(kterminate .EQ. iend)then + lstatus = 1 + zvalue8 = xsign * xinteger + return + endif + +c If here, some text exists denoting possible remainder + kstart = kterminate+1 + ysign=1.0D0 + yinteger=0.0D0 + call setparm_ConstructNumber8(kvalue,MAXCHAR_CVALUE,kstart,kend, + + ysign,yinteger,kstatus,kterminate) + + if(kstatus .EQ. 0)then + lstatus = 1 +c zvalue8 = xsign * xinteger + zvalue8 = 0.0D0 + return + elseif(ysign .LT. 0.0D0)then + lstatus = 1 + zvalue8 = xsign * xinteger + return + elseif(kstatus .EQ. 1 .OR. kstatus .EQ. 2 .OR. kstatus .EQ. 4)then + xremainder = yinteger + xremainder = xremainder/DBLE(10.**(kterminate-1 - kstart + 1)) + + xvalue = xsign * (xinteger + xremainder) + + lstatus = 1 + zvalue8 = xvalue + return + elseif(kstatus .EQ. 3)then + xremainder = yinteger + xremainder = xremainder/DBLE(10.**(kterminate-1 - kstart + 1)) + + goto 3000 + endif + + +c kstatus .EQ. 3: exponent encountered +3000 continue + +c first check if no exponent exists + if(kterminate .EQ. iend)then + xvalue = xsign * (xinteger + xremainder) + lstatus = 1 + zvalue8 = xvalue + return + endif + +c If here, some text exists denoting possible exponent + kstart = kterminate+1 + ysign = 1.0D0 + yinteger=0.0D0 + call setparm_ConstructNumber8(kvalue,MAXCHAR_CVALUE,kstart,kend, + + ysign,yinteger,kstatus,kterminate) + + if(kstatus .EQ. 0)then + xvalue = xsign * (xinteger + xremainder) + lstatus=1 + zvalue8 = xvalue + return + elseif(kstatus .GE. 1 .AND. kstatus .LE. 4)then + xexponent = ysign*yinteger + xexponent = (10.000D0)**xexponent + + xvalue = xsign * (xinteger + xremainder) * xexponent + + lstatus = 1 + zvalue8 = xvalue + return + endif + + return + end + + +c------------------------------------------------------------------------------ +c setparm_valueVfloat: retrieve a series of valid floating pt numbers +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c NumDelimits number of delimited integers to process +c Outgoing: +c zvalue4 (signed) real*4 values (MALLOC'ED in getpar(). +c jstatus = 1 : valid number +c = 0 : invalid number - nothing will be returned +c + subroutine setparm_valueVfloat(kvalue,MAXCHAR_CVALUE,zvalue4, + + NumDelimits,jstatus) + + implicit none + + integer MAXCHAR_CVALUE,NumDelimits,jstatus + character*1 kvalue(MAXCHAR_CVALUE) + real zvalue4(NumDelimits) + + integer length_token,istart,iend,lstatus,ldelimit + integer ivalue,priorDelimit + real*8 xvalue8 + + do ivalue=1,NumDelimits + zvalue4(ivalue) =0.00000000000000 + enddo + jstatus=0 + +c get string length + call setparm_strlen(kvalue,MAXCHAR_CVALUE,length_token) + + if(length_token .EQ. 0)then + jstatus = 0 + return + endif + +c loop over known delimiting positions + priorDelimit=0 + do ivalue=1,NumDelimits + call setparm_FindDelimiter(kvalue,MAXCHAR_CVALUE,length_token, + + ivalue,ldelimit) + if(ldelimit .EQ. priorDelimit+1)then + xvalue8=0.0D0 + lstatus=2 + else + istart = priorDelimit + 1 + iend = ldelimit - 1 + call setparm_get1double(kvalue,MAXCHAR_CVALUE,istart, + + iend,xvalue8,lstatus) + endif + +c keep xvalue8 in all cases. + if(lstatus .GE. 0)then + zvalue4(ivalue) = SNGL(xvalue8) + priorDelimit = ldelimit + endif + enddo + + jstatus = 1 + + return + end + + + +c==================================================================== +c------------------------------------------------------------------------------ +c setparm_valueDoubleFloat: retrieve one valid real # and determine if to keep or not. +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c Outgoing; +c yvalue (signed) real value +c jstatus = 1 : valid number +c = 0 : invalid number - nothing is returned + + subroutine setparm_valueDoubleFloat(kvalue,MAXCHAR_CVALUE,yvalue, + + jstatus) + + implicit none + + integer MAXCHAR_CVALUE,jstatus + character*1 kvalue(MAXCHAR_CVALUE) + real*8 yvalue + + integer length_token,istart,iend,lstatus + real*8 zvalue8 + + jstatus = 0 + yvalue = 0.000D0 + +c get string length + call setparm_strlen(kvalue,MAXCHAR_CVALUE,length_token) + + if(length_token .EQ. 0)then + jstatus = 0 + yvalue = 0.000D0 + return + endif + + istart = 1 + iend = length_token + call setparm_get1double(kvalue,MAXCHAR_CVALUE,istart,iend, + + zvalue8,lstatus) + +c keep zvalue if lstatus >1 1 + if(lstatus .GE. 1)then + jstatus = 1 + yvalue = zvalue8 + endif + + return + end + + + +c------------------------------------------------------------------------------ +c setparm_valueVdoublefloat: retrieve a series of valid floating pt numbers +c Incoming: +c kvalue(MAXCHAR_CVALUE) input text string +c NumDelimits number of delimited integers to process +c Outgoing: +c zvalue8 (signed) real*8 values (MALLOC'ED in getpar(). +c jstatus = 1 : valid number +c = 0 : invalid number - nothing will be returned +c + subroutine setparm_valueVdoublefloat(kvalue,MAXCHAR_CVALUE,zvalue8, + + NumDelimits,jstatus) + + implicit none + + integer MAXCHAR_CVALUE,NumDelimits,jstatus + character*1 kvalue(MAXCHAR_CVALUE) + real*8 zvalue8(NumDelimits) + + integer length_token,istart,iend,lstatus,ldelimit + integer ivalue,priorDelimit + real*8 xvalue8 + + do ivalue=1,NumDelimits + zvalue8(ivalue) =0.0D0 + enddo + jstatus=0 + +c get string length + call setparm_strlen(kvalue,MAXCHAR_CVALUE,length_token) + + if(length_token .EQ. 0)then + jstatus = 0 + return + endif + +c loop over known delimiting positions + priorDelimit=0 + do ivalue=1,NumDelimits + call setparm_FindDelimiter(kvalue,MAXCHAR_CVALUE,length_token, + + ivalue,ldelimit) + if(ldelimit .EQ. priorDelimit+1)then + xvalue8=0.0D0 + lstatus=2 + else + istart = priorDelimit + 1 + iend = ldelimit - 1 + call setparm_get1double(kvalue,MAXCHAR_CVALUE,istart, + + iend,xvalue8,lstatus) + endif + +c keep xvalue8 in all cases. + if(lstatus .GE. 0)then + zvalue8(ivalue) = xvalue8 + priorDelimit = ldelimit + endif + enddo + + jstatus = 1 + + return + end +c------------------------------------------------------------------------------ +c for this token interpret value string as a character string +c jstatus = 1 : valid string +c = 0 : invalid string - nothing will be returned +c +c NOTE: There is no way to determine if this incoming string will +c overflow the CHAR*xx declaration for the character variable +c as defined in the getpar("","s",char_variable) call. +c All we can do is pass back the resulting string as provided +c and hope that the recipient char_variable is long enough. +c + subroutine setparm_valueString(kvalue,MAXCHAR_CVALUE,jstatus) + + implicit none + + integer MAXCHAR_CVALUE,jstatus + character*1 kvalue(MAXCHAR_CVALUE) + + integer length_token + + jstatus=0 + +c get string length + call setparm_strlen(kvalue,MAXCHAR_CVALUE,length_token) + + if(length_token .EQ. 0)then + jstatus = 0 + return + endif + + jstatus = 1 + + return + end + +c process a par filename if par=name is provided +c par=name activates this routine. +c setparm_num, cname(),cvalue() is updated via common block. +c +c here, the acceptable par_file size is 1 MB characters. This is a +c hardware which can be increased, then recompiled. +c +c 04nov03 installation. +c 06nov03 modify fortran OPEN/READ of text lines. +c 28nov03 udpate for getparm() package. + + subroutine loadparm_parfile() + implicit none + + common /globals/setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + integer*4 setparm_num,MAXCHAR_CTOKEN,MAXCHAR_CNAME,MAXCHAR_CVALUE + + common /cnamevalue/ MAXARGS,M_CNAME,M_CVALUE,cname,cvalue + integer MAXARGS,M_CNAME,M_CVALUE + character*64 cname(1000) + character*180 cvalue(1000) + +c NOTE maximum par_file size defined here at 1 MB. + character*64 cpar + character*180 cfilename + character*1 cfile(1000000) + integer PARFILESIZE,nchar_file, jstatus + + + PARFILESIZE = 1000000 + cpar = "parmfile" + + if(cname(setparm_num) .NE. cpar) RETURN + +c if here, found a par=name name/value entry. + cfilename = cvalue(setparm_num) + nchar_file = 0 + jstatus = 0 + call loadparm_GetParfile(cfilename,cfile,PARFILESIZE,nchar_file,jstatus) + if(jstatus .LT. 0)return + + call loadparm_Preprocess(cfile,nchar_file,jstatus) + + call loadparm_Tokenize(cfile,nchar_file) + + return + end + + + + +c jstatus = 0 parfile is OK +c = -1 not able to open. +c = -2 contents is too small (too few characters). + subroutine loadparm_GetParfile(cparfile,cfile,PARFILESIZE, + + nchar_file,jstatus) + implicit none + character*180 cparfile, c180 + integer PARFILESIZE,nchar_file, jstatus, n180,nlength, i + character*1 cfile(PARFILESIZE),c1(180), creturnJ + equivalence (c180,c1) + + n180 = 180 + nchar_file = 0 + jstatus = 0 + + creturnJ = char(10) + + open(21,file=cparfile,err=900) +c open(21,file=cinx,access='direct',recl=4*ny,form='unformatted') + + +100 continue +c read(21,err=300)c1 + read(21,200,end=300,err=300)c180 +200 format(a180) + call setparm_strlen(c1,n180,nlength) + + do i=1,nlength + nchar_file = nchar_file + 1 + cfile(nchar_file) = c1(i) + if(nchar_file .EQ. PARFILESIZE)goto300 + enddo + +c terminate current line with a return. We'll remove this later, +c but we need it to know where comment lines terminate. + nchar_file = nchar_file + 1 + cfile(nchar_file) = creturnJ + if(nchar_file .EQ. PARFILESIZE)goto300 + + goto 100 + +c when here, read full contents of par file; now determine if OK. +c minimum size must be "x=y" which is 3 characters. +300 continue + close(21) + if(nchar_file .LT. 3)goto910 + + return + +c could not open file name +900 jstatus = -1 + return + +c par file is too small ( .LT. 3 characters) +910 jstatus = -2 + return + + end + + +c this routine converts all characters between tokens to be spaces. +c tab -> space +c return (^J or ^M) -> space +c back-slash & return combinations -> space-space +c return & # indicates comment line -> # through next return set to spaces. + + subroutine loadparm_Preprocess(cfile,nchar_file,jstatus) + implicit none + integer nchar_file, jstatus, i,j,k + character*1 cfile(nchar_file) + + character*1 cnull,ctab,cspace,cback,creturnJ,creturnM,ccomment + + cnull = char(0) + ctab = char(9) + cback = char(92) + creturnJ = char(10) + creturnM = char(13) + ccomment = char(35) + cspace = char(32) + + jstatus = 0 + +c (1) remove tabs + do i = 1,nchar_file + if(cfile(i) .EQ. ctab) cfile(i) = cspace + enddo + +c (2) remove nulls + do i = 1,nchar_file + if(cfile(i) .EQ. cnull) cfile(i) = cspace + enddo + +c (3) replace any ^M returns with ^J + do i = 1,nchar_file + if(cfile(i) .EQ. creturnM)cfile(i) = creturnJ + enddo + +c (4) remove comments: "# .... return" denotes comment. + +c Search for "#" symbol. When found, comment symbol through trailing +c return become spaces. +c Then outer loop will probably re-examine some characters which were +c part of the comment now converted to spaces. This is a benign +c search because they will be simply spaces. + + do i=1,nchar_file + if(cfile(i) .EQ. ccomment)then + do j=i+1,nchar_file + if(cfile(j) .EQ. creturnJ .OR. j .EQ. nchar_file)then + do k=i,j + cfile(k) = cspace + enddo + goto300 + endif + enddo + endif +300 continue + enddo + + +c (5) replace backslash-return with two spaces +c NOTE: to be correct, this should compress by 2 characters, not be +c replaced with two spaces. + do i=2,nchar_file + if(cfile(i-1) .EQ. cback .AND. cfile(i) .EQ. creturnJ)then + cfile(i-1) = cspace + cfile(i) = cspace + endif + enddo + +c (6) replace all returns with cspace + do i=1,nchar_file + if(cfile(i) .EQ. creturnJ)cfile(i) = cspace + enddo + +c at this point, the par file contents are either valid tokens or +c sets of delimiting spaces. No returns, tabs, or other delimiting characters. + + RETURN + end + + + + + + subroutine loadparm_Tokenize(cfile,nchar_file) + implicit none + integer nchar_file + character*1 cfile(nchar_file) + + character*1 ctoken(245), cspace + character*245 ctoken245 + equivalence (ctoken,ctoken245) + integer iptr, i + + cspace = char(32) + + iptr=0 +100 continue + iptr = iptr + 1 + if(iptr .GT. nchar_file)goto900 + if(cfile(iptr) .EQ. cspace) goto 100 + +c if here, found start of a token. clear ctoken array, then transfer. + do i=1,245 + ctoken(i) = cspace + enddo + i = 0 + +c first save non-space, then check next char for termination space +200 continue + if(cfile(iptr) .EQ. cspace)goto 300 + i = i+1 + ctoken(i) = cfile(iptr) + iptr = iptr + 1 + if(iptr .GT. nchar_file .AND. i .GT. 0)goto300 + if(iptr .GT. nchar_file .AND. i .EQ. 0)goto900 + + goto200 + +c when here, we have extracted a valid token. Now parse it and fill into +c cname() and cvalue(), incrementing setparm_num via common blocks. +300 continue + call loadparm_parse(ctoken245) + +c completed processing of this token, go look for next one + goto100 + +900 continue + return + end + +c---------------------------------------------------------------------------- + subroutine loadparm_setdir(cdirection) + implicit none + character*8 cdirection + + character*8 c8 + character*1 c1(8) + equivalence (c8,c1) + integer n8 + + common /loadparm_dir/loadparm_direction + integer*4 loadparm_direction + + c8 = cdirection + + n8 = 8 + call setparm_lowercase(c1,n8) + + loadparm_direction = 1 + + if (c8 .EQ. 'leading')then + loadparm_direction = 1 + elseif(c8 .EQ. 'trailing')then + loadparm_direction = -1 + else + loadparm_direction = 1 + endif + + return + end + + +c---------------------------------------------------------------------------- +c============================================================================= +c============================================================================= +c============================================================================= +c UTILITIES TO INTERPRET GETPAR CHARACTER RESPONSES +c These routines allow code to ask for options using +c YES/NO, TRUE/FALSE, or CHOICE_A/CHOICE_B instead +c of =0, =1 flags +c examples: +c main option={YES/NO} switch={ON/OFF} logic={TRUE/FALSE} choice={A/B} +c +c main option=yes switch=off logic=false choice=ASTRING +c main option=N switch=ON logic=T choice=bstring +c +c jflag_return values: +c 0 = no/off/false/A +c 1 = yes/on/true/B +c -1 = copt value not recognized as valid choice +c +c when jflag_return = -1, keep whatever default may have been set. +c +c subroutine functions: +c subroutine setparm_yesno4(copt,jflag_return) +c subroutine setparm_onoff4(copt,jflag_return) +c subroutine setparm_truefalse8(copt,jflag_return) +c subroutine setparm_choiceAorB(copt,choiceA,choiceB,nchar,jflag_return) +c subroutine setparm_lowercase(copt,nchar) +c subroutine setparm_fixstring(cstring, ndeclaration) +c +c--------------------- +c 08Nov98 DAO Initial implementation +c 30jul00 DAO getparm_lowercase: fix if() comparison of character to ASCII +c decimal value by using ichar(). +c--------------------- + + +c--------------------- +c Yes/No or True/False +c No = FALSE = OFF = 0 +c Yes = TRUE = ON = 1 +c default must be set outside prior to call; no default assumed here. + subroutine setparm_yesno4(copt,jflag_return) + character*4 copt,cwork + character*1 c1(4) + equivalence (cwork,c1) + + cwork = copt + call setparm_fixstring(cwork,4) + call setparm_lowercase(cwork,4) + + jset=0 + if(cwork .EQ. "yes " .OR. cwork .EQ. "y ")then + jflag_return=1 + jset=1 + endif +c if(c1(1) .EQ. "y")then +c jflag_return=1 +c jset=1 +c endif + + if(cwork .EQ. "no " .OR. cwork .EQ. "n ")then + jflag_return=0 + jset=1 + endif +c if(c1(1) .EQ. "n")then +c jflag_return=0 +c jset=1 +c endif + + if(jset .EQ. 0)then + jflag_return = -1 + endif + + RETURN + end + + +c--------------------- +c Yes/No or True/False +c No = FALSE = OFF = 0 +c Yes = TRUE = ON = 1 +c default must be set outside prior to call; no default assumed here. + subroutine setparm_onoff4(copt,jflag_return) + character*4 copt,cwork + character*1 c1(4) + equivalence (cwork,c1) + + cwork = copt + call setparm_fixstring(cwork,4) + call setparm_lowercase(cwork,4) + + jset=0 + if(cwork .EQ. "on ")then + jflag_return=1 + jset=1 + endif + + if(cwork .EQ. "off ")then + jflag_return=0 + jset=1 + endif + + if(jset .EQ. 0)then + jflag_return = -1 + endif + + RETURN + end + +c--------------------- +c Yes/No or True/False +c No = FALSE = 0 +c Yes = TRUE = 1 +c default must be set outside prior to call; no default assumed here. + subroutine setparm_truefalse8(copt,jflag_return) + character*8 copt,cwork + character*1 c1(8) + equivalence (cwork,c1) + + cwork = copt + call setparm_fixstring(cwork,8) + call setparm_lowercase(cwork,8) + + jset=0 + if(cwork .EQ. "true " .OR. cwork .EQ. "t ")then + jflag_return=1 + jset=1 + endif +c if(c1(1) .EQ. "t")then +c jflag_return=1 +c jset=1 +c endif + + if(cwork .EQ. "false " .OR. cwork .EQ. "f ")then + jflag_return=0 + jset=1 + endif +c if(c1(1) .EQ. "f" )then +c jflag_return=0 +c jset=1 +c endif + + if(jset .EQ. 0)then + jflag_return = -1 + endif + + RETURN + end + + +c--------------------- +c Character choices: +c 0 = Choice_A +c 1 = Choice_B +c default must be set outside prior to call; no default assumed here. + subroutine setparm_choiceAorB(copt,choiceA,choiceB,nchar,jflag_return) + + character*1 copt(nchar),choiceA(nchar),choiceB(nchar) + + call setparm_fixstring(copt,nchar) + call setparm_fixstring(choiceA,nchar) + call setparm_fixstring(choiceB,nchar) + + call setparm_lowercase(copt,nchar) + call setparm_lowercase(choiceA,nchar) + call setparm_lowercase(choiceB,nchar) + + jmatch= -1 + do i=1,nchar + if(copt(i) .NE. choiceA(i))goto100 + enddo + jmatch=0 + goto500 + +100 continue + do i=1,nchar + if(copt(i) .NE. choiceB(i))goto500 + enddo + jmatch=1 + goto500 + +500 jflag_return = jmatch + RETURN + end + + + +c--------------------- +c convert any upper case to lower case +c Upper case ASCII: A to Z is 65 to 90 +c Lower case ASCII: a to z is 97 to 122 +c shift is value of +32 + subroutine setparm_lowercase(copt,nchar) + integer nchar + character*1 copt(nchar) + + do i=1,nchar + if(ichar(copt(i)) .GE. 65 .AND. ichar(copt(i)) .LE. 90)then + copt(i) = char(ichar(copt(i)) +32) + endif + enddo + RETURN + end + +c--------------------- +c subroutine fixstring() +c +c for character strings brought in by getpar(), the strings are +c terminated by a NULL if shorter than the declaration length. +c Contents after the NULL are junk leftover from a prior use. +c +c In FORTRAN, when a character string is shorter than its declaration +c length, the string is padded to its full length with spaces (ASCII=32). +c +c In order to compare or equate the getpar() string with a FORTRAN +c character variable, the getpar() string must have its NULL and +c trailing junk reset to spaces (ASCII=32). + + + subroutine setparm_fixstring(cstring, ndeclaration) + integer ndeclaration + character*1 cstring(ndeclaration) + + integer i,j,NULL + + NULL = 0 + NSPACE=32 + + do i=1,ndeclaration + if(ichar(cstring(i)) .EQ. NULL)then + do j= i,ndeclaration + cstring(j) = char(NSPACE) + enddo + goto100 + endif + enddo + +100 continue + RETURN + end +c============================================================================= +c============================================================================= + + + + real*8 function setparm_INT2DOUBLE(intvalue) + integer intvalue + real xvalue + real*8 dvalue + + xvalue = FLOAT(intvalue) + dvalue = DBLE(xvalue) + + setparm_int2double = dvalue + + return + + end Added: SwiftApps/Cybershake/app/post/Zip/zip_peakSA.sh =================================================================== --- SwiftApps/Cybershake/app/post/Zip/zip_peakSA.sh (rev 0) +++ SwiftApps/Cybershake/app/post/Zip/zip_peakSA.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ $# -lt 2 ]; then + echo "Usage: $0 " + exit -1 +fi + +DIR=$1 +OUT=$2 + +find $DIR -name '*.bsa*' | zip -v $OUT -@ + Property changes on: SwiftApps/Cybershake/app/post/Zip/zip_peakSA.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/Zip/zip_seismograms.sh =================================================================== --- SwiftApps/Cybershake/app/post/Zip/zip_seismograms.sh (rev 0) +++ SwiftApps/Cybershake/app/post/Zip/zip_seismograms.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ $# -lt 2 ]; then + echo "Usage: $0 " + exit -1 +fi + +DIR=$1 +OUT=$2 + +find $DIR -name '*.grm' | zip -v $OUT -@ + Property changes on: SwiftApps/Cybershake/app/post/Zip/zip_seismograms.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/agg_seispeak.sh =================================================================== --- SwiftApps/Cybershake/app/post/agg_seispeak.sh (rev 0) +++ SwiftApps/Cybershake/app/post/agg_seispeak.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,72 @@ +#!/bin/bash + +#SEISMOGRAM=/gpfs/pads/swift/aespinosa/science/cybershake/apps/JBSim3d/bin/jbsim3d +SEISMOGRAM=/home/ketan/cybershake/post/JBSim3d/bin/jbsim3d +PEAKCALC=/home/ketan/cybershake/post/SpectralAcceleration/p2utils/surfseis_rspectra +#PEAKCALC=/gpfs/pads/swift/aespinosa/science/cybershake/apps/SpectralAcceleration/p2utils/surfseis_rspectra + +seismogram() { + $SEISMOGRAM \ + extract_sgt=0 outputBinary=1 mergeOutput=1 \ + stat=$1 slon=$2 slat=$3 ntout=$4 \ + \ + sgt_xfile=$5 \ + sgt_yfile=$6 \ + \ + rupmodfile=$7 \ + seis_file=$8 +} + +peakcalc() { + $PEAKCALC \ + simulation_out_pointsX=2 simulation_out_pointsY=1 \ + surfseis_rspectra_seismogram_units=cmpersec \ + surfseis_rspectra_output_units=cmpersec2 \ + surfseis_rspectra_output_type=aa \ + surfseis_rspectra_apply_byteswap=no \ + \ + simulation_out_timesamples=$1 \ + simulation_out_timeskip=$2 \ + surfseis_rspectra_period=$3 \ + surfseis_rspectra_apply_filter_highHZ=$4 \ + \ + in=$5 \ + out=$6 +} + +n=${11} +subx=$9 +suby=${10} +seisargs="$1 $2 $3 $4" +peakargs="$5 $6 $7 $8" + +exitcode=0 + +shift 11 +echo Number of jobs: $n +echo ---- +for i in `seq 1 $n`; do + # rupvar, seismogram, peakval triples + echo "Running seismogram..." + echo seismogram $seisargs $subx $suby $1 ${@:(1+n):1} > /dev/stderr + seismogram $seisargs $subx $suby $1 ${@:(1+n):1} + if [ ! $? -eq 0 ]; then + exitcode=$? + echo "seismogram failed... Code: $exitcode" > /dev/stderr + else + echo "seismogram succeed..." > /dev/stderr + fi + echo "Running peakcalc..." + echo peakcalc $peakargs ${@:(1+n):1} ${@:(1+n*2):1} > /dev/stderr + peakcalc $peakargs ${@:(1+n):1} ${@:(1+n*2):1} + if [ ! $? -eq 0 ]; then + exitcode=$? + echo "Failed peakcalc... Code: $exitcode" > /dev/stderr + #/bin/dd if=/dev/zero of=${@:(1+n*2):1} count=1 bs=24000 + #exit $? + else + echo "peakcalc succeed..." > /dev/stderr + fi + shift 1 +done + Property changes on: SwiftApps/Cybershake/app/post/agg_seispeak.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/agg_seispeak.sh.old =================================================================== --- SwiftApps/Cybershake/app/post/agg_seispeak.sh.old (rev 0) +++ SwiftApps/Cybershake/app/post/agg_seispeak.sh.old 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,53 @@ +#!/bin/bash + +#SEISMOGRAM=/gpfs/pads/swift/aespinosa/science/cybershake/apps/JBSim3d/bin/jbsim3d +SEISMOGRAM=/home/ketan/cybershake/post/JBSim3d/bin/jbsim3d +PEAKCALC=/home/ketan/cybershake/post/SpectralAcceleration/p2utils/surfseis_rspectra +#PEAKCALC=/gpfs/pads/swift/aespinosa/science/cybershake/apps/SpectralAcceleration/p2utils/surfseis_rspectra + +seismogram() { + echo $SEISMOGRAM \ + extract_sgt=0 outputBinary=1 mergeOutput=1 \ + stat=$1 slon=$2 slat=$3 ntout=$4 \ + \ + sgt_xfile=$5 \ + sgt_yfile=$6 \ + \ + rupmodfile=$7 \ + seis_file=$8 +} + +peakcalc() { + echo $PEAKCALC \ + simulation_out_pointsX=2 simulation_out_pointsY=1 \ + surfseis_rspectra_seismogram_units=cmpersec \ + surfseis_rspectra_output_units=cmpersec2 \ + surfseis_rspectra_output_type=aa \ + surfseis_rspectra_apply_byteswap=no \ + \ + simulation_out_timesamples=$1 \ + simulation_out_timeskip=$2 \ + surfseis_rspectra_period=$3 \ + surfseis_rspectra_apply_filter_highHZ=$4 \ + \ + in=$5 \ + out=$6 +} + +n=${11} +subx=$9 +suby=${10} +seisargs="$1 $2 $3 $4" +peakargs="$5 $6 $7 $8" + +shift 11 +echo $n +echo ---- +for i in `seq 1 $n`; do + # rupvar, seismogram, peakval triples + # seismogram $seisargs $subx $suby $1 ${@:(1+n):1} + $SEISMOGRAM $seisargs $subx $suby $1 ${@:(1+n):1} + # peakcalc $peakargs ${@:(1+n):1} ${@:(1+n*2):1} + $PEAKCALC $peakargs ${@:(1+n):1} ${@:(1+n*2):1} + shift 1 +done Property changes on: SwiftApps/Cybershake/app/post/agg_seispeak.sh.old ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/recompute.sh =================================================================== --- SwiftApps/Cybershake/app/post/recompute.sh (rev 0) +++ SwiftApps/Cybershake/app/post/recompute.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,15 @@ +#!/bin/bash + +export OSG_APP=/home/aespinosa/Documents/cybershake/osg_simulated + +EXTRACT=$OSG_APP/engage/scec/JBSim3d/bin/jbsim3d +SEISMOGRAM=$OSG_APP/engage/scec/JBSim3d/bin/jbsim3d +PEAKCALC=$OSG_APP/engage/scec/SpectralAcceleration/p2utils/surfseis_rspectra + +SGT_X=$OSG_DATA/engage/scec/LGU/LGU_fx_664.sgt +SGT_Y=$OSG_DATA/engage/scec/LGU/LGU_fy_664.sgt + +$EXTRACT ${@:1:9} +#$EXTRACT $1 $2 $3 $4 $5 sgt_xfile=$SGT_X sgt_yfile=$SGT_Y $8 $9 +$SEISMOGRAM ${@:10:11} +$PEAKCALC ${@:21:12} Property changes on: SwiftApps/Cybershake/app/post/recompute.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/seispeak.sh =================================================================== --- SwiftApps/Cybershake/app/post/seispeak.sh (rev 0) +++ SwiftApps/Cybershake/app/post/seispeak.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,12 @@ +#!/bin/bash + +#SEISMOGRAM=/gpfs/pads/swift/aespinosa/science/cybershake/apps/JBSim3d/bin/jbsim3d +#PEAKCALC=/gpfs/pads/swift/aespinosa/science/cybershake/apps/SpectralAcceleration/p2utils/surfseis_rspectra + +SEISMOGRAM=/home/ketan/cybershake/post/JBSim3d/bin/jbsim3d +PEAKCALC=/home/ketan/cybershake/post/SpectralAcceleration/p2utils/surfseis_rspectra + +echo $ARGS + +$SEISMOGRAM ${@:1:11} +$PEAKCALC ${@:12:12} Property changes on: SwiftApps/Cybershake/app/post/seispeak.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/testing/PeakVals_TEST_218_256_127.bsa =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/testing/PeakVals_TEST_218_256_127.bsa ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/testing/Seismogram_TEST_218_256_127.grm =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/testing/Seismogram_TEST_218_256_127.grm ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/testing/TEST_218_256_subfx.sgt =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/testing/TEST_218_256_subfx.sgt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/testing/TEST_218_256_subfy.sgt =================================================================== (Binary files differ) Property changes on: SwiftApps/Cybershake/app/post/testing/TEST_218_256_subfy.sgt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/Cybershake/app/post/testing/extract.sh =================================================================== --- SwiftApps/Cybershake/app/post/testing/extract.sh (rev 0) +++ SwiftApps/Cybershake/app/post/testing/extract.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,6 @@ +/home/aespinosa/Documents/cybershake/post/JBSim3d/bin/jbsim3d \ + stat=TEST extract_sgt=1 slon=-118.286 slat=34.0192 \ + rupmodfile=links/218_256.txt.variation-s0015-h0007 \ + sgt_xfile=links/TEST_fx_644.sgt sgt_yfile=links/TEST_fy_644.sgt \ + extract_sgt_xfile=TEST_218_256_subfx.sgt \ + extract_sgt_yfile=TEST_218_256_subfy.sgt Property changes on: SwiftApps/Cybershake/app/post/testing/extract.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/testing/links/218_256.txt.variation-s0015-h0007 =================================================================== --- SwiftApps/Cybershake/app/post/testing/links/218_256.txt.variation-s0015-h0007 (rev 0) +++ SwiftApps/Cybershake/app/post/testing/links/218_256.txt.variation-s0015-h0007 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,16322 @@ +1.0 +PLANE 1 + -117.8676 33.5468 147 16 147.00 16.00 + -41 89 -0.00 70.00 12.00 +POINTS 2352 + -117.3571 33.0604 0.4999 -33 89 1.00000e+10 51.5285 1.00000e-01 + 180 8.26 39 0.00 0 0.00 0 + 0.00000e+00 1.79670e+00 3.59339e+00 5.39009e+00 7.18679e+00 5.39009e+00 + 3.59339e+00 3.48110e+00 3.36881e+00 3.25651e+00 3.14422e+00 3.03193e+00 + 2.91963e+00 2.80734e+00 2.69505e+00 2.58275e+00 2.47046e+00 2.35817e+00 + 2.24587e+00 2.13358e+00 2.02128e+00 1.90899e+00 1.79670e+00 1.68440e+00 + 1.57211e+00 1.45982e+00 1.34752e+00 1.23523e+00 1.12294e+00 1.01064e+00 + 8.98349e-01 7.86055e-01 6.73761e-01 5.61468e-01 4.49174e-01 3.36881e-01 + 2.24587e-01 1.12294e-01 0.00000e+00 + -117.3630 33.0679 0.4999 -33 89 1.00000e+10 51.1629 1.00000e-01 + 180 23.60 39 0.00 0 0.00 0 + 0.00000e+00 5.13098e+00 1.02620e+01 1.53929e+01 2.05239e+01 1.53929e+01 + 1.02620e+01 9.94128e+00 9.62059e+00 9.29990e+00 8.97922e+00 8.65853e+00 + 8.33784e+00 8.01716e+00 7.69647e+00 7.37578e+00 7.05510e+00 6.73441e+00 + 6.41373e+00 6.09304e+00 5.77235e+00 5.45167e+00 5.13098e+00 4.81029e+00 + 4.48961e+00 4.16892e+00 3.84824e+00 3.52755e+00 3.20686e+00 2.88618e+00 + 2.56549e+00 2.24480e+00 1.92412e+00 1.60343e+00 1.28275e+00 9.62059e-01 + 6.41373e-01 3.20686e-01 0.00000e+00 + -117.3688 33.0755 0.4999 -33 89 1.00000e+10 50.8182 1.00000e-01 + 180 27.14 39 0.00 0 0.00 0 + 0.00000e+00 5.90061e+00 1.18012e+01 1.77018e+01 2.36024e+01 1.77018e+01 + 1.18012e+01 1.14324e+01 1.10636e+01 1.06949e+01 1.03261e+01 9.95727e+00 + 9.58849e+00 9.21970e+00 8.85091e+00 8.48212e+00 8.11333e+00 7.74455e+00 + 7.37576e+00 7.00697e+00 6.63818e+00 6.26940e+00 5.90061e+00 5.53182e+00 + 5.16303e+00 4.79424e+00 4.42546e+00 4.05667e+00 3.68788e+00 3.31909e+00 + 2.95030e+00 2.58152e+00 2.21273e+00 1.84394e+00 1.47515e+00 1.10636e+00 + 7.37576e-01 3.68788e-01 0.00000e+00 + -117.3749 33.0829 0.4999 -36 89 1.00000e+10 50.4538 1.00000e-01 + 180 38.27 39 0.00 0 0.00 0 + 0.00000e+00 8.31968e+00 1.66394e+01 2.49591e+01 3.32787e+01 2.49591e+01 + 1.66394e+01 1.61194e+01 1.55994e+01 1.50794e+01 1.45594e+01 1.40395e+01 + 1.35195e+01 1.29995e+01 1.24795e+01 1.19595e+01 1.14396e+01 1.09196e+01 + 1.03996e+01 9.87962e+00 9.35964e+00 8.83966e+00 8.31968e+00 7.79970e+00 + 7.27972e+00 6.75974e+00 6.23976e+00 5.71978e+00 5.19980e+00 4.67982e+00 + 4.15984e+00 3.63986e+00 3.11988e+00 2.59990e+00 2.07992e+00 1.55994e+00 + 1.03996e+00 5.19980e-01 0.00000e+00 + -117.3824 33.0891 0.4999 -55 89 1.00000e+10 50.0764 1.00000e-01 + 180 72.20 39 0.00 0 0.00 0 + 0.00000e+00 1.56956e+01 3.13913e+01 4.70869e+01 6.27825e+01 4.70869e+01 + 3.13913e+01 3.04103e+01 2.94293e+01 2.84483e+01 2.74674e+01 2.64864e+01 + 2.55054e+01 2.45244e+01 2.35435e+01 2.25625e+01 2.15815e+01 2.06005e+01 + 1.96195e+01 1.86386e+01 1.76576e+01 1.66766e+01 1.56956e+01 1.47147e+01 + 1.37337e+01 1.27527e+01 1.17717e+01 1.07907e+01 9.80977e+00 8.82879e+00 + 7.84782e+00 6.86684e+00 5.88586e+00 4.90489e+00 3.92391e+00 2.94293e+00 + 1.96195e+00 9.80977e-01 0.00000e+00 + -117.3911 33.0942 0.4999 -55 89 1.00000e+10 49.6946 1.00000e-01 + 180 106.31 39 0.00 0 0.00 0 + 0.00000e+00 2.31111e+01 4.62222e+01 6.93333e+01 9.24444e+01 6.93333e+01 + 4.62222e+01 4.47777e+01 4.33333e+01 4.18889e+01 4.04444e+01 3.90000e+01 + 3.75555e+01 3.61111e+01 3.46666e+01 3.32222e+01 3.17778e+01 3.03333e+01 + 2.88889e+01 2.74444e+01 2.60000e+01 2.45555e+01 2.31111e+01 2.16667e+01 + 2.02222e+01 1.87778e+01 1.73333e+01 1.58889e+01 1.44444e+01 1.30000e+01 + 1.15555e+01 1.01111e+01 8.66666e+00 7.22222e+00 5.77777e+00 4.33333e+00 + 2.88889e+00 1.44444e+00 0.00000e+00 + -117.3996 33.0998 0.4999 -48 89 1.00000e+10 49.2825 1.00000e-01 + 180 174.11 39 0.00 0 0.00 0 + 0.00000e+00 3.78496e+01 7.56992e+01 1.13549e+02 1.51398e+02 1.13549e+02 + 7.56992e+01 7.33336e+01 7.09680e+01 6.86024e+01 6.62368e+01 6.38712e+01 + 6.15056e+01 5.91400e+01 5.67744e+01 5.44088e+01 5.20432e+01 4.96776e+01 + 4.73120e+01 4.49464e+01 4.25808e+01 4.02152e+01 3.78496e+01 3.54840e+01 + 3.31184e+01 3.07528e+01 2.83872e+01 2.60216e+01 2.36560e+01 2.12904e+01 + 1.89248e+01 1.65592e+01 1.41936e+01 1.18280e+01 9.46240e+00 7.09680e+00 + 4.73120e+00 2.36560e+00 0.00000e+00 + -117.4075 33.1058 0.4999 -47 89 1.00000e+10 48.8642 1.00000e-01 + 180 244.81 39 0.00 0 0.00 0 + 0.00000e+00 5.32188e+01 1.06438e+02 1.59657e+02 2.12875e+02 1.59657e+02 + 1.06438e+02 1.03112e+02 9.97853e+01 9.64592e+01 9.31330e+01 8.98068e+01 + 8.64806e+01 8.31544e+01 7.98283e+01 7.65021e+01 7.31759e+01 6.98497e+01 + 6.65236e+01 6.31974e+01 5.98712e+01 5.65450e+01 5.32188e+01 4.98927e+01 + 4.65665e+01 4.32403e+01 3.99141e+01 3.65880e+01 3.32618e+01 2.99356e+01 + 2.66094e+01 2.32832e+01 1.99571e+01 1.66309e+01 1.33047e+01 9.97853e+00 + 6.65236e+00 3.32618e+00 0.00000e+00 + -117.4146 33.1125 0.4999 -36 89 1.00000e+10 48.4403 1.00000e-01 + 180 318.73 39 0.00 0 0.00 0 + 0.00000e+00 6.92902e+01 1.38580e+02 2.07871e+02 2.77161e+02 2.07871e+02 + 1.38580e+02 1.34250e+02 1.29919e+02 1.25588e+02 1.21258e+02 1.16927e+02 + 1.12597e+02 1.08266e+02 1.03935e+02 9.96046e+01 9.52740e+01 9.09434e+01 + 8.66127e+01 8.22821e+01 7.79515e+01 7.36208e+01 6.92902e+01 6.49595e+01 + 6.06289e+01 5.62983e+01 5.19676e+01 4.76370e+01 4.33064e+01 3.89757e+01 + 3.46451e+01 3.03145e+01 2.59838e+01 2.16532e+01 1.73225e+01 1.29919e+01 + 8.66127e+00 4.33064e+00 0.00000e+00 + -117.4206 33.1199 0.4999 -33 89 1.00000e+10 48.0496 1.00000e-01 + 180 362.96 39 0.00 0 0.00 0 + 0.00000e+00 7.89035e+01 1.57807e+02 2.36711e+02 3.15614e+02 2.36711e+02 + 1.57807e+02 1.52876e+02 1.47944e+02 1.43013e+02 1.38081e+02 1.33150e+02 + 1.28218e+02 1.23287e+02 1.18355e+02 1.13424e+02 1.08492e+02 1.03561e+02 + 9.86294e+01 9.36980e+01 8.87665e+01 8.38350e+01 7.89035e+01 7.39721e+01 + 6.90406e+01 6.41091e+01 5.91777e+01 5.42462e+01 4.93147e+01 4.43832e+01 + 3.94518e+01 3.45203e+01 2.95888e+01 2.46574e+01 1.97259e+01 1.47944e+01 + 9.86294e+00 4.93147e+00 0.00000e+00 + -117.4243 33.1281 0.4999 -8 89 1.00000e+10 47.7115 1.00000e-01 + 180 358.16 39 0.00 0 0.00 0 + 0.00000e+00 7.78617e+01 1.55723e+02 2.33585e+02 3.11447e+02 2.33585e+02 + 1.55723e+02 1.50857e+02 1.45991e+02 1.41124e+02 1.36258e+02 1.31392e+02 + 1.26525e+02 1.21659e+02 1.16793e+02 1.11926e+02 1.07060e+02 1.02194e+02 + 9.73272e+01 9.24608e+01 8.75945e+01 8.27281e+01 7.78617e+01 7.29954e+01 + 6.81290e+01 6.32627e+01 5.83963e+01 5.35299e+01 4.86636e+01 4.37972e+01 + 3.89309e+01 3.40645e+01 2.91982e+01 2.43318e+01 1.94654e+01 1.45991e+01 + 9.73272e+00 4.86636e+00 0.00000e+00 + -117.4258 33.1370 0.4999 -8 89 1.00000e+10 47.3435 1.00000e-01 + 180 376.31 39 0.00 0 0.00 0 + 0.00000e+00 8.18064e+01 1.63613e+02 2.45419e+02 3.27226e+02 2.45419e+02 + 1.63613e+02 1.58500e+02 1.53387e+02 1.48274e+02 1.43161e+02 1.38048e+02 + 1.32935e+02 1.27823e+02 1.22710e+02 1.17597e+02 1.12484e+02 1.07371e+02 + 1.02258e+02 9.71451e+01 9.20322e+01 8.69193e+01 8.18064e+01 7.66935e+01 + 7.15806e+01 6.64677e+01 6.13548e+01 5.62419e+01 5.11290e+01 4.60161e+01 + 4.09032e+01 3.57903e+01 3.06774e+01 2.55645e+01 2.04516e+01 1.53387e+01 + 1.02258e+01 5.11290e+00 0.00000e+00 + -117.4273 33.1459 0.4999 -8 89 1.00000e+10 47.0244 1.00000e-01 + 180 349.77 39 0.00 0 0.00 0 + 0.00000e+00 7.60372e+01 1.52074e+02 2.28111e+02 3.04149e+02 2.28111e+02 + 1.52074e+02 1.47322e+02 1.42570e+02 1.37817e+02 1.33065e+02 1.28313e+02 + 1.23560e+02 1.18808e+02 1.14056e+02 1.09303e+02 1.04551e+02 9.97988e+01 + 9.50464e+01 9.02941e+01 8.55418e+01 8.07895e+01 7.60372e+01 7.12848e+01 + 6.65325e+01 6.17802e+01 5.70279e+01 5.22755e+01 4.75232e+01 4.27709e+01 + 3.80186e+01 3.32663e+01 2.85139e+01 2.37616e+01 1.90093e+01 1.42570e+01 + 9.50464e+00 4.75232e+00 0.00000e+00 + -117.4298 33.1545 0.4999 -20 89 1.00000e+10 46.6134 1.00000e-01 + 180 410.02 39 0.00 0 0.00 0 + 0.00000e+00 8.91342e+01 1.78268e+02 2.67402e+02 3.56537e+02 2.67402e+02 + 1.78268e+02 1.72697e+02 1.67127e+02 1.61556e+02 1.55985e+02 1.50414e+02 + 1.44843e+02 1.39272e+02 1.33701e+02 1.28130e+02 1.22559e+02 1.16989e+02 + 1.11418e+02 1.05847e+02 1.00276e+02 9.47050e+01 8.91342e+01 8.35633e+01 + 7.79924e+01 7.24215e+01 6.68506e+01 6.12797e+01 5.57088e+01 5.01380e+01 + 4.45671e+01 3.89962e+01 3.34253e+01 2.78544e+01 2.22835e+01 1.67127e+01 + 1.11418e+01 5.57088e+00 0.00000e+00 + -117.4349 33.1621 0.4999 -39 89 1.00000e+10 46.1995 1.00000e-01 + 180 483.66 39 0.00 0 0.00 0 + 0.00000e+00 1.05143e+02 2.10285e+02 3.15428e+02 4.20570e+02 3.15428e+02 + 2.10285e+02 2.03714e+02 1.97142e+02 1.90571e+02 1.84000e+02 1.77428e+02 + 1.70857e+02 1.64285e+02 1.57714e+02 1.51142e+02 1.44571e+02 1.38000e+02 + 1.31428e+02 1.24857e+02 1.18285e+02 1.11714e+02 1.05143e+02 9.85712e+01 + 9.19998e+01 8.54284e+01 7.88569e+01 7.22855e+01 6.57141e+01 5.91427e+01 + 5.25713e+01 4.59999e+01 3.94285e+01 3.28571e+01 2.62857e+01 1.97142e+01 + 1.31428e+01 6.57141e+00 0.00000e+00 + -117.4417 33.1691 0.4999 -39 89 1.00000e+10 45.8951 1.00000e-01 + 180 436.75 39 0.00 0 0.00 0 + 0.00000e+00 9.49455e+01 1.89891e+02 2.84837e+02 3.79782e+02 2.84837e+02 + 1.89891e+02 1.83957e+02 1.78023e+02 1.72089e+02 1.66155e+02 1.60221e+02 + 1.54286e+02 1.48352e+02 1.42418e+02 1.36484e+02 1.30550e+02 1.24616e+02 + 1.18682e+02 1.12748e+02 1.06814e+02 1.00880e+02 9.49455e+01 8.90114e+01 + 8.30773e+01 7.71432e+01 7.12091e+01 6.52750e+01 5.93409e+01 5.34068e+01 + 4.74728e+01 4.15387e+01 3.56046e+01 2.96705e+01 2.37364e+01 1.78023e+01 + 1.18682e+01 5.93409e+00 0.00000e+00 + -117.4484 33.1761 0.4999 -39 89 1.00000e+10 45.6318 1.00000e-01 + 180 354.11 39 0.00 0 0.00 0 + 0.00000e+00 7.69799e+01 1.53960e+02 2.30940e+02 3.07920e+02 2.30940e+02 + 1.53960e+02 1.49149e+02 1.44337e+02 1.39526e+02 1.34715e+02 1.29904e+02 + 1.25092e+02 1.20281e+02 1.15470e+02 1.10659e+02 1.05847e+02 1.01036e+02 + 9.62249e+01 9.14137e+01 8.66024e+01 8.17912e+01 7.69799e+01 7.21687e+01 + 6.73575e+01 6.25462e+01 5.77350e+01 5.29237e+01 4.81125e+01 4.33012e+01 + 3.84900e+01 3.36787e+01 2.88675e+01 2.40562e+01 1.92450e+01 1.44337e+01 + 9.62249e+00 4.81125e+00 0.00000e+00 + -117.4551 33.1832 0.4999 -39 89 1.00000e+10 45.2362 1.00000e-01 + 180 401.15 39 0.00 0 0.00 0 + 0.00000e+00 8.72068e+01 1.74414e+02 2.61620e+02 3.48827e+02 2.61620e+02 + 1.74414e+02 1.68963e+02 1.63513e+02 1.58062e+02 1.52612e+02 1.47161e+02 + 1.41711e+02 1.36261e+02 1.30810e+02 1.25360e+02 1.19909e+02 1.14459e+02 + 1.09009e+02 1.03558e+02 9.81077e+01 9.26572e+01 8.72068e+01 8.17564e+01 + 7.63060e+01 7.08555e+01 6.54051e+01 5.99547e+01 5.45043e+01 4.90538e+01 + 4.36034e+01 3.81530e+01 3.27026e+01 2.72521e+01 2.18017e+01 1.63513e+01 + 1.09009e+01 5.45043e+00 0.00000e+00 + -117.4618 33.1902 0.4999 -39 89 1.00000e+10 44.9562 1.00000e-01 + 180 333.22 39 0.00 0 0.00 0 + 0.00000e+00 7.24394e+01 1.44879e+02 2.17318e+02 2.89758e+02 2.17318e+02 + 1.44879e+02 1.40351e+02 1.35824e+02 1.31296e+02 1.26769e+02 1.22242e+02 + 1.17714e+02 1.13187e+02 1.08659e+02 1.04132e+02 9.96042e+01 9.50768e+01 + 9.05493e+01 8.60218e+01 8.14944e+01 7.69669e+01 7.24394e+01 6.79120e+01 + 6.33845e+01 5.88571e+01 5.43296e+01 4.98021e+01 4.52747e+01 4.07472e+01 + 3.62197e+01 3.16923e+01 2.71648e+01 2.26373e+01 1.81099e+01 1.35824e+01 + 9.05493e+00 4.52747e+00 0.00000e+00 + -117.4686 33.1972 0.4999 -39 89 1.00000e+10 44.6096 1.00000e-01 + 180 330.01 39 0.00 0 0.00 0 + 0.00000e+00 7.17421e+01 1.43484e+02 2.15226e+02 2.86968e+02 2.15226e+02 + 1.43484e+02 1.39000e+02 1.34516e+02 1.30033e+02 1.25549e+02 1.21065e+02 + 1.16581e+02 1.12097e+02 1.07613e+02 1.03129e+02 9.86454e+01 9.41615e+01 + 8.96776e+01 8.51938e+01 8.07099e+01 7.62260e+01 7.17421e+01 6.72582e+01 + 6.27743e+01 5.82905e+01 5.38066e+01 4.93227e+01 4.48388e+01 4.03549e+01 + 3.58711e+01 3.13872e+01 2.69033e+01 2.24194e+01 1.79355e+01 1.34516e+01 + 8.96776e+00 4.48388e+00 0.00000e+00 + -117.4753 33.2042 0.4999 -39 89 1.00000e+10 44.1925 1.00000e-01 + 180 404.56 39 0.00 0 0.00 0 + 0.00000e+00 8.79484e+01 1.75897e+02 2.63845e+02 3.51794e+02 2.63845e+02 + 1.75897e+02 1.70400e+02 1.64903e+02 1.59406e+02 1.53910e+02 1.48413e+02 + 1.42916e+02 1.37419e+02 1.31923e+02 1.26426e+02 1.20929e+02 1.15432e+02 + 1.09935e+02 1.04439e+02 9.89419e+01 9.34452e+01 8.79484e+01 8.24516e+01 + 7.69548e+01 7.14581e+01 6.59613e+01 6.04645e+01 5.49677e+01 4.94710e+01 + 4.39742e+01 3.84774e+01 3.29806e+01 2.74839e+01 2.19871e+01 1.64903e+01 + 1.09935e+01 5.49677e+00 0.00000e+00 + -117.4820 33.2113 0.4999 -39 89 1.00000e+10 43.7218 1.00000e-01 + 180 527.44 39 0.00 0 0.00 0 + 0.00000e+00 1.14662e+02 2.29324e+02 3.43986e+02 4.58647e+02 3.43986e+02 + 2.29324e+02 2.22157e+02 2.14991e+02 2.07825e+02 2.00658e+02 1.93492e+02 + 1.86325e+02 1.79159e+02 1.71993e+02 1.64826e+02 1.57660e+02 1.50494e+02 + 1.43327e+02 1.36161e+02 1.28995e+02 1.21828e+02 1.14662e+02 1.07495e+02 + 1.00329e+02 9.31627e+01 8.59964e+01 7.88300e+01 7.16637e+01 6.44973e+01 + 5.73309e+01 5.01646e+01 4.29982e+01 3.58318e+01 2.86655e+01 2.14991e+01 + 1.43327e+01 7.16636e+00 0.00000e+00 + -117.4896 33.2175 0.4999 -51 89 1.00000e+10 43.2919 1.00000e-01 + 180 612.20 39 0.00 0 0.00 0 + 0.00000e+00 1.33088e+02 2.66175e+02 3.99263e+02 5.32351e+02 3.99263e+02 + 2.66175e+02 2.57857e+02 2.49539e+02 2.41221e+02 2.32903e+02 2.24585e+02 + 2.16267e+02 2.07949e+02 1.99632e+02 1.91314e+02 1.82996e+02 1.74678e+02 + 1.66360e+02 1.58042e+02 1.49724e+02 1.41406e+02 1.33088e+02 1.24770e+02 + 1.16452e+02 1.08134e+02 9.98158e+01 9.14978e+01 8.31798e+01 7.48618e+01 + 6.65438e+01 5.82259e+01 4.99079e+01 4.15899e+01 3.32719e+01 2.49539e+01 + 1.66360e+01 8.31798e+00 0.00000e+00 + -117.4982 33.2229 0.4999 -55 89 1.00000e+10 43.0474 1.00000e-01 + 180 505.42 39 0.00 0 0.00 0 + 0.00000e+00 1.09873e+02 2.19746e+02 3.29619e+02 4.39492e+02 3.29619e+02 + 2.19746e+02 2.12879e+02 2.06012e+02 1.99145e+02 1.92278e+02 1.85411e+02 + 1.78544e+02 1.71677e+02 1.64809e+02 1.57942e+02 1.51075e+02 1.44208e+02 + 1.37341e+02 1.30474e+02 1.23607e+02 1.16740e+02 1.09873e+02 1.03006e+02 + 9.61389e+01 8.92718e+01 8.24047e+01 7.55377e+01 6.86706e+01 6.18036e+01 + 5.49365e+01 4.80694e+01 4.12024e+01 3.43353e+01 2.74682e+01 2.06012e+01 + 1.37341e+01 6.86706e+00 0.00000e+00 + -117.5070 33.2281 0.4999 -55 89 1.00000e+10 42.7364 1.00000e-01 + 180 469.78 39 0.00 0 0.00 0 + 0.00000e+00 1.02126e+02 2.04251e+02 3.06377e+02 4.08502e+02 3.06377e+02 + 2.04251e+02 1.97868e+02 1.91485e+02 1.85103e+02 1.78720e+02 1.72337e+02 + 1.65954e+02 1.59571e+02 1.53188e+02 1.46805e+02 1.40423e+02 1.34040e+02 + 1.27657e+02 1.21274e+02 1.14891e+02 1.08508e+02 1.02126e+02 9.57427e+01 + 8.93599e+01 8.29770e+01 7.65942e+01 7.02113e+01 6.38285e+01 5.74456e+01 + 5.10628e+01 4.46799e+01 3.82971e+01 3.19142e+01 2.55314e+01 1.91485e+01 + 1.27657e+01 6.38285e+00 0.00000e+00 + -117.5158 33.2332 0.4999 -55 89 1.00000e+10 42.3903 1.00000e-01 + 180 473.61 39 0.00 0 0.00 0 + 0.00000e+00 1.02959e+02 2.05919e+02 3.08878e+02 4.11838e+02 3.08878e+02 + 2.05919e+02 1.99484e+02 1.93049e+02 1.86614e+02 1.80179e+02 1.73744e+02 + 1.67309e+02 1.60874e+02 1.54439e+02 1.48004e+02 1.41569e+02 1.35134e+02 + 1.28699e+02 1.22264e+02 1.15829e+02 1.09394e+02 1.02959e+02 9.65245e+01 + 9.00895e+01 8.36545e+01 7.72196e+01 7.07846e+01 6.43496e+01 5.79147e+01 + 5.14797e+01 4.50447e+01 3.86098e+01 3.21748e+01 2.57399e+01 1.93049e+01 + 1.28699e+01 6.43496e+00 0.00000e+00 + -117.5247 33.2383 0.4999 -55 89 1.00000e+10 42.1176 1.00000e-01 + 180 393.60 39 0.00 0 0.00 0 + 0.00000e+00 8.55646e+01 1.71129e+02 2.56694e+02 3.42258e+02 2.56694e+02 + 1.71129e+02 1.65781e+02 1.60434e+02 1.55086e+02 1.49738e+02 1.44390e+02 + 1.39042e+02 1.33695e+02 1.28347e+02 1.22999e+02 1.17651e+02 1.12303e+02 + 1.06956e+02 1.01608e+02 9.62601e+01 9.09123e+01 8.55646e+01 8.02168e+01 + 7.48690e+01 6.95212e+01 6.41734e+01 5.88256e+01 5.34778e+01 4.81301e+01 + 4.27823e+01 3.74345e+01 3.20867e+01 2.67389e+01 2.13911e+01 1.60434e+01 + 1.06956e+01 5.34778e+00 0.00000e+00 + -117.5335 33.2435 0.4999 -55 89 1.00000e+10 41.8229 1.00000e-01 + 180 340.97 39 0.00 0 0.00 0 + 0.00000e+00 7.41238e+01 1.48248e+02 2.22372e+02 2.96495e+02 2.22372e+02 + 1.48248e+02 1.43615e+02 1.38982e+02 1.34349e+02 1.29717e+02 1.25084e+02 + 1.20451e+02 1.15819e+02 1.11186e+02 1.06553e+02 1.01920e+02 9.72875e+01 + 9.26548e+01 8.80221e+01 8.33893e+01 7.87566e+01 7.41238e+01 6.94911e+01 + 6.48584e+01 6.02256e+01 5.55929e+01 5.09601e+01 4.63274e+01 4.16947e+01 + 3.70619e+01 3.24292e+01 2.77964e+01 2.31637e+01 1.85310e+01 1.38982e+01 + 9.26548e+00 4.63274e+00 0.00000e+00 + -117.5423 33.2486 0.4999 -55 89 1.00000e+10 41.5273 1.00000e-01 + 180 288.02 39 0.00 0 0.00 0 + 0.00000e+00 6.26120e+01 1.25224e+02 1.87836e+02 2.50448e+02 1.87836e+02 + 1.25224e+02 1.21311e+02 1.17397e+02 1.13484e+02 1.09571e+02 1.05658e+02 + 1.01744e+02 9.78312e+01 9.39180e+01 9.00047e+01 8.60915e+01 8.21782e+01 + 7.82650e+01 7.43517e+01 7.04385e+01 6.65252e+01 6.26120e+01 5.86987e+01 + 5.47855e+01 5.08722e+01 4.69590e+01 4.30457e+01 3.91325e+01 3.52192e+01 + 3.13060e+01 2.73927e+01 2.34795e+01 1.95662e+01 1.56530e+01 1.17397e+01 + 7.82650e+00 3.91325e+00 0.00000e+00 + -117.5501 33.2547 0.4999 -39 89 1.00000e+10 41.1466 1.00000e-01 + 180 326.45 39 0.00 0 0.00 0 + 0.00000e+00 7.09675e+01 1.41935e+02 2.12903e+02 2.83870e+02 2.12903e+02 + 1.41935e+02 1.37500e+02 1.33064e+02 1.28629e+02 1.24193e+02 1.19758e+02 + 1.15322e+02 1.10887e+02 1.06451e+02 1.02016e+02 9.75803e+01 9.31449e+01 + 8.87094e+01 8.42739e+01 7.98384e+01 7.54030e+01 7.09675e+01 6.65320e+01 + 6.20966e+01 5.76611e+01 5.32256e+01 4.87902e+01 4.43547e+01 3.99192e+01 + 3.54838e+01 3.10483e+01 2.66128e+01 2.21773e+01 1.77419e+01 1.33064e+01 + 8.87094e+00 4.43547e+00 0.00000e+00 + -117.5568 33.2617 0.4999 -38 89 1.00000e+10 40.7944 1.00000e-01 + 180 329.68 39 0.00 0 0.00 0 + 0.00000e+00 7.16693e+01 1.43339e+02 2.15008e+02 2.86677e+02 2.15008e+02 + 1.43339e+02 1.38859e+02 1.34380e+02 1.29901e+02 1.25421e+02 1.20942e+02 + 1.16463e+02 1.11983e+02 1.07504e+02 1.03025e+02 9.85453e+01 9.40659e+01 + 8.95866e+01 8.51073e+01 8.06279e+01 7.61486e+01 7.16693e+01 6.71900e+01 + 6.27106e+01 5.82313e+01 5.37520e+01 4.92726e+01 4.47933e+01 4.03140e+01 + 3.58346e+01 3.13553e+01 2.68760e+01 2.23967e+01 1.79173e+01 1.34380e+01 + 8.95866e+00 4.47933e+00 0.00000e+00 + -117.5634 33.2688 0.4999 -38 89 1.00000e+10 40.5081 1.00000e-01 + 180 266.94 39 0.00 0 0.00 0 + 0.00000e+00 5.80301e+01 1.16060e+02 1.74090e+02 2.32120e+02 1.74090e+02 + 1.16060e+02 1.12433e+02 1.08806e+02 1.05180e+02 1.01553e+02 9.79258e+01 + 9.42989e+01 9.06720e+01 8.70451e+01 8.34182e+01 7.97914e+01 7.61645e+01 + 7.25376e+01 6.89107e+01 6.52838e+01 6.16570e+01 5.80301e+01 5.44032e+01 + 5.07763e+01 4.71494e+01 4.35226e+01 3.98957e+01 3.62688e+01 3.26419e+01 + 2.90150e+01 2.53882e+01 2.17613e+01 1.81344e+01 1.45075e+01 1.08806e+01 + 7.25376e+00 3.62688e+00 0.00000e+00 + -117.5700 33.2759 0.4999 -38 89 1.00000e+10 40.2482 1.00000e-01 + 180 178.71 39 0.00 0 0.00 0 + 0.00000e+00 3.88508e+01 7.77017e+01 1.16553e+02 1.55403e+02 1.16553e+02 + 7.77017e+01 7.52735e+01 7.28453e+01 7.04171e+01 6.79890e+01 6.55608e+01 + 6.31326e+01 6.07044e+01 5.82763e+01 5.58481e+01 5.34199e+01 5.09917e+01 + 4.85635e+01 4.61354e+01 4.37072e+01 4.12790e+01 3.88508e+01 3.64227e+01 + 3.39945e+01 3.15663e+01 2.91381e+01 2.67099e+01 2.42818e+01 2.18536e+01 + 1.94254e+01 1.69972e+01 1.45691e+01 1.21409e+01 9.71271e+00 7.28453e+00 + 4.85635e+00 2.42818e+00 0.00000e+00 + -117.5766 33.2830 0.4999 -38 89 1.00000e+10 39.9116 1.00000e-01 + 180 169.36 39 0.00 0 0.00 0 + 0.00000e+00 3.68168e+01 7.36336e+01 1.10450e+02 1.47267e+02 1.10450e+02 + 7.36336e+01 7.13326e+01 6.90315e+01 6.67305e+01 6.44294e+01 6.21284e+01 + 5.98273e+01 5.75263e+01 5.52252e+01 5.29242e+01 5.06231e+01 4.83221e+01 + 4.60210e+01 4.37200e+01 4.14189e+01 3.91179e+01 3.68168e+01 3.45158e+01 + 3.22147e+01 2.99137e+01 2.76126e+01 2.53116e+01 2.30105e+01 2.07095e+01 + 1.84084e+01 1.61074e+01 1.38063e+01 1.15053e+01 9.20421e+00 6.90315e+00 + 4.60210e+00 2.30105e+00 0.00000e+00 + -117.5832 33.2901 0.4999 -38 89 1.00000e+10 39.5107 1.00000e-01 + 180 221.76 39 0.00 0 0.00 0 + 0.00000e+00 4.82095e+01 9.64189e+01 1.44628e+02 1.92838e+02 1.44628e+02 + 9.64189e+01 9.34058e+01 9.03928e+01 8.73797e+01 8.43666e+01 8.13535e+01 + 7.83404e+01 7.53273e+01 7.23142e+01 6.93011e+01 6.62880e+01 6.32749e+01 + 6.02618e+01 5.72487e+01 5.42356e+01 5.12226e+01 4.82095e+01 4.51964e+01 + 4.21833e+01 3.91702e+01 3.61571e+01 3.31440e+01 3.01309e+01 2.71178e+01 + 2.41047e+01 2.10916e+01 1.80786e+01 1.50655e+01 1.20524e+01 9.03928e+00 + 6.02618e+00 3.01309e+00 0.00000e+00 + -117.5899 33.2972 0.4999 -38 89 1.00000e+10 39.2056 1.00000e-01 + 180 180.17 39 0.00 0 0.00 0 + 0.00000e+00 3.91678e+01 7.83355e+01 1.17503e+02 1.56671e+02 1.17503e+02 + 7.83355e+01 7.58875e+01 7.34395e+01 7.09915e+01 6.85436e+01 6.60956e+01 + 6.36476e+01 6.11996e+01 5.87516e+01 5.63036e+01 5.38557e+01 5.14077e+01 + 4.89597e+01 4.65117e+01 4.40637e+01 4.16157e+01 3.91678e+01 3.67198e+01 + 3.42718e+01 3.18238e+01 2.93758e+01 2.69278e+01 2.44798e+01 2.20319e+01 + 1.95839e+01 1.71359e+01 1.46879e+01 1.22399e+01 9.79194e+00 7.34395e+00 + 4.89597e+00 2.44798e+00 0.00000e+00 + -117.5965 33.3043 0.4999 -38 89 1.00000e+10 38.8388 1.00000e-01 + 180 199.19 39 0.00 0 0.00 0 + 0.00000e+00 4.33023e+01 8.66046e+01 1.29907e+02 1.73209e+02 1.29907e+02 + 8.66046e+01 8.38982e+01 8.11918e+01 7.84854e+01 7.57790e+01 7.30726e+01 + 7.03662e+01 6.76598e+01 6.49534e+01 6.22470e+01 5.95406e+01 5.68343e+01 + 5.41279e+01 5.14215e+01 4.87151e+01 4.60087e+01 4.33023e+01 4.05959e+01 + 3.78895e+01 3.51831e+01 3.24767e+01 2.97703e+01 2.70639e+01 2.43575e+01 + 2.16511e+01 1.89448e+01 1.62384e+01 1.35320e+01 1.08256e+01 8.11918e+00 + 5.41279e+00 2.70639e+00 0.00000e+00 + -117.6031 33.3114 0.4999 -38 89 1.00000e+10 38.3675 1.00000e-01 + 180 322.71 39 0.00 0 0.00 0 + 0.00000e+00 7.01542e+01 1.40308e+02 2.10462e+02 2.80617e+02 2.10462e+02 + 1.40308e+02 1.35924e+02 1.31539e+02 1.27154e+02 1.22770e+02 1.18385e+02 + 1.14001e+02 1.09616e+02 1.05231e+02 1.00847e+02 9.64620e+01 9.20773e+01 + 8.76927e+01 8.33081e+01 7.89234e+01 7.45388e+01 7.01542e+01 6.57695e+01 + 6.13849e+01 5.70003e+01 5.26156e+01 4.82310e+01 4.38463e+01 3.94617e+01 + 3.50771e+01 3.06924e+01 2.63078e+01 2.19232e+01 1.75385e+01 1.31539e+01 + 8.76927e+00 4.38463e+00 0.00000e+00 + -117.6097 33.3185 0.4999 -38 89 1.00000e+10 37.9460 1.00000e-01 + 180 400.39 39 0.00 0 0.00 0 + 0.00000e+00 8.70419e+01 1.74084e+02 2.61126e+02 3.48168e+02 2.61126e+02 + 1.74084e+02 1.68644e+02 1.63204e+02 1.57763e+02 1.52323e+02 1.46883e+02 + 1.41443e+02 1.36003e+02 1.30563e+02 1.25123e+02 1.19683e+02 1.14243e+02 + 1.08802e+02 1.03362e+02 9.79222e+01 9.24820e+01 8.70419e+01 8.16018e+01 + 7.61617e+01 7.07216e+01 6.52814e+01 5.98413e+01 5.44012e+01 4.89611e+01 + 4.35210e+01 3.80808e+01 3.26407e+01 2.72006e+01 2.17605e+01 1.63204e+01 + 1.08802e+01 5.44012e+00 0.00000e+00 + -117.6163 33.3256 0.4999 -38 89 1.00000e+10 37.6182 1.00000e-01 + 180 379.41 39 0.00 0 0.00 0 + 0.00000e+00 8.24801e+01 1.64960e+02 2.47440e+02 3.29921e+02 2.47440e+02 + 1.64960e+02 1.59805e+02 1.54650e+02 1.49495e+02 1.44340e+02 1.39185e+02 + 1.34030e+02 1.28875e+02 1.23720e+02 1.18565e+02 1.13410e+02 1.08255e+02 + 1.03100e+02 9.79451e+01 9.27901e+01 8.76351e+01 8.24801e+01 7.73251e+01 + 7.21701e+01 6.70151e+01 6.18601e+01 5.67051e+01 5.15501e+01 4.63951e+01 + 4.12401e+01 3.60851e+01 3.09300e+01 2.57750e+01 2.06200e+01 1.54650e+01 + 1.03100e+01 5.15501e+00 0.00000e+00 + -117.6230 33.3327 0.4999 -38 89 1.00000e+10 37.3102 1.00000e-01 + 180 343.88 39 0.00 0 0.00 0 + 0.00000e+00 7.47564e+01 1.49513e+02 2.24269e+02 2.99025e+02 2.24269e+02 + 1.49513e+02 1.44840e+02 1.40168e+02 1.35496e+02 1.30824e+02 1.26151e+02 + 1.21479e+02 1.16807e+02 1.12135e+02 1.07462e+02 1.02790e+02 9.81177e+01 + 9.34455e+01 8.87732e+01 8.41009e+01 7.94286e+01 7.47564e+01 7.00841e+01 + 6.54118e+01 6.07396e+01 5.60673e+01 5.13950e+01 4.67227e+01 4.20505e+01 + 3.73782e+01 3.27059e+01 2.80336e+01 2.33614e+01 1.86891e+01 1.40168e+01 + 9.34455e+00 4.67227e+00 0.00000e+00 + -117.6296 33.3398 0.4999 -38 89 1.00000e+10 37.0019 1.00000e-01 + 180 302.19 39 0.00 0 0.00 0 + 0.00000e+00 6.56934e+01 1.31387e+02 1.97080e+02 2.62774e+02 1.97080e+02 + 1.31387e+02 1.27281e+02 1.23175e+02 1.19069e+02 1.14963e+02 1.10858e+02 + 1.06752e+02 1.02646e+02 9.85401e+01 9.44343e+01 9.03285e+01 8.62226e+01 + 8.21168e+01 7.80109e+01 7.39051e+01 6.97993e+01 6.56934e+01 6.15876e+01 + 5.74817e+01 5.33759e+01 4.92701e+01 4.51642e+01 4.10584e+01 3.69526e+01 + 3.28467e+01 2.87409e+01 2.46350e+01 2.05292e+01 1.64234e+01 1.23175e+01 + 8.21168e+00 4.10584e+00 0.00000e+00 + -117.6362 33.3469 0.4999 -38 89 1.00000e+10 36.6428 1.00000e-01 + 180 314.39 39 0.00 0 0.00 0 + 0.00000e+00 6.83453e+01 1.36691e+02 2.05036e+02 2.73381e+02 2.05036e+02 + 1.36691e+02 1.32419e+02 1.28148e+02 1.23876e+02 1.19604e+02 1.15333e+02 + 1.11061e+02 1.06790e+02 1.02518e+02 9.82464e+01 9.39748e+01 8.97033e+01 + 8.54317e+01 8.11601e+01 7.68885e+01 7.26169e+01 6.83453e+01 6.40738e+01 + 5.98022e+01 5.55306e+01 5.12590e+01 4.69874e+01 4.27158e+01 3.84443e+01 + 3.41727e+01 2.99011e+01 2.56295e+01 2.13579e+01 1.70863e+01 1.28148e+01 + 8.54317e+00 4.27158e+00 0.00000e+00 + -117.6429 33.3540 0.4999 -38 89 1.00000e+10 36.4043 1.00000e-01 + 180 207.99 39 0.00 0 0.00 0 + 0.00000e+00 4.52162e+01 9.04325e+01 1.35649e+02 1.80865e+02 1.35649e+02 + 9.04325e+01 8.76065e+01 8.47805e+01 8.19544e+01 7.91284e+01 7.63024e+01 + 7.34764e+01 7.06504e+01 6.78244e+01 6.49984e+01 6.21723e+01 5.93463e+01 + 5.65203e+01 5.36943e+01 5.08683e+01 4.80423e+01 4.52162e+01 4.23902e+01 + 3.95642e+01 3.67382e+01 3.39122e+01 3.10862e+01 2.82602e+01 2.54341e+01 + 2.26081e+01 1.97821e+01 1.69561e+01 1.41301e+01 1.13041e+01 8.47805e+00 + 5.65203e+00 2.82602e+00 0.00000e+00 + -117.6495 33.3611 0.4999 -38 89 1.00000e+10 36.0620 1.00000e-01 + 180 202.85 39 0.00 0 0.00 0 + 0.00000e+00 4.40974e+01 8.81948e+01 1.32292e+02 1.76390e+02 1.32292e+02 + 8.81948e+01 8.54388e+01 8.26827e+01 7.99266e+01 7.71705e+01 7.44144e+01 + 7.16583e+01 6.89022e+01 6.61461e+01 6.33900e+01 6.06339e+01 5.78779e+01 + 5.51218e+01 5.23657e+01 4.96096e+01 4.68535e+01 4.40974e+01 4.13413e+01 + 3.85852e+01 3.58292e+01 3.30731e+01 3.03170e+01 2.75609e+01 2.48048e+01 + 2.20487e+01 1.92926e+01 1.65365e+01 1.37804e+01 1.10244e+01 8.26827e+00 + 5.51218e+00 2.75609e+00 0.00000e+00 + -117.6561 33.3682 0.4999 -38 89 1.00000e+10 35.7177 1.00000e-01 + 180 194.20 39 0.00 0 0.00 0 + 0.00000e+00 4.22169e+01 8.44339e+01 1.26651e+02 1.68868e+02 1.26651e+02 + 8.44339e+01 8.17953e+01 7.91568e+01 7.65182e+01 7.38797e+01 7.12411e+01 + 6.86025e+01 6.59640e+01 6.33254e+01 6.06869e+01 5.80483e+01 5.54097e+01 + 5.27712e+01 5.01326e+01 4.74941e+01 4.48555e+01 4.22169e+01 3.95784e+01 + 3.69398e+01 3.43013e+01 3.16627e+01 2.90242e+01 2.63856e+01 2.37470e+01 + 2.11085e+01 1.84699e+01 1.58314e+01 1.31928e+01 1.05542e+01 7.91568e+00 + 5.27712e+00 2.63856e+00 0.00000e+00 + -117.6627 33.3753 0.4999 -38 89 1.00000e+10 35.3479 1.00000e-01 + 180 219.94 39 0.00 0 0.00 0 + 0.00000e+00 4.78122e+01 9.56244e+01 1.43437e+02 1.91249e+02 1.43437e+02 + 9.56244e+01 9.26361e+01 8.96479e+01 8.66596e+01 8.36713e+01 8.06831e+01 + 7.76948e+01 7.47066e+01 7.17183e+01 6.87300e+01 6.57418e+01 6.27535e+01 + 5.97652e+01 5.67770e+01 5.37887e+01 5.08005e+01 4.78122e+01 4.48239e+01 + 4.18357e+01 3.88474e+01 3.58591e+01 3.28709e+01 2.98826e+01 2.68944e+01 + 2.39061e+01 2.09178e+01 1.79296e+01 1.49413e+01 1.19530e+01 8.96479e+00 + 5.97652e+00 2.98826e+00 0.00000e+00 + -117.6694 33.3824 0.4999 -38 89 1.00000e+10 35.0583 1.00000e-01 + 180 161.03 39 0.00 0 0.00 0 + 0.00000e+00 3.50059e+01 7.00118e+01 1.05018e+02 1.40024e+02 1.05018e+02 + 7.00118e+01 6.78239e+01 6.56360e+01 6.34482e+01 6.12603e+01 5.90724e+01 + 5.68846e+01 5.46967e+01 5.25088e+01 5.03210e+01 4.81331e+01 4.59452e+01 + 4.37574e+01 4.15695e+01 3.93816e+01 3.71938e+01 3.50059e+01 3.28180e+01 + 3.06302e+01 2.84423e+01 2.62544e+01 2.40665e+01 2.18787e+01 1.96908e+01 + 1.75029e+01 1.53151e+01 1.31272e+01 1.09393e+01 8.75147e+00 6.56360e+00 + 4.37574e+00 2.18787e+00 0.00000e+00 + -117.6760 33.3895 0.4999 -38 89 1.00000e+10 34.7050 1.00000e-01 + 180 169.81 39 0.00 0 0.00 0 + 0.00000e+00 3.69162e+01 7.38324e+01 1.10749e+02 1.47665e+02 1.10749e+02 + 7.38324e+01 7.15251e+01 6.92179e+01 6.69106e+01 6.46033e+01 6.22961e+01 + 5.99888e+01 5.76816e+01 5.53743e+01 5.30670e+01 5.07598e+01 4.84525e+01 + 4.61452e+01 4.38380e+01 4.15307e+01 3.92235e+01 3.69162e+01 3.46089e+01 + 3.23017e+01 2.99944e+01 2.76871e+01 2.53799e+01 2.30726e+01 2.07654e+01 + 1.84581e+01 1.61508e+01 1.38436e+01 1.15363e+01 9.22905e+00 6.92179e+00 + 4.61452e+00 2.30726e+00 0.00000e+00 + -117.6826 33.3966 0.4999 -38 89 1.00000e+10 34.3861 1.00000e-01 + 180 142.20 39 0.00 0 0.00 0 + 0.00000e+00 3.09133e+01 6.18266e+01 9.27399e+01 1.23653e+02 9.27399e+01 + 6.18266e+01 5.98945e+01 5.79625e+01 5.60304e+01 5.40983e+01 5.21662e+01 + 5.02341e+01 4.83020e+01 4.63700e+01 4.44379e+01 4.25058e+01 4.05737e+01 + 3.86416e+01 3.67096e+01 3.47775e+01 3.28454e+01 3.09133e+01 2.89812e+01 + 2.70491e+01 2.51171e+01 2.31850e+01 2.12529e+01 1.93208e+01 1.73887e+01 + 1.54567e+01 1.35246e+01 1.15925e+01 9.66041e+00 7.72833e+00 5.79625e+00 + 3.86416e+00 1.93208e+00 0.00000e+00 + -117.6894 33.4036 0.4999 -40 89 1.00000e+10 34.0569 1.00000e-01 + 180 124.29 39 0.00 0 0.00 0 + 0.00000e+00 2.70203e+01 5.40407e+01 8.10610e+01 1.08081e+02 8.10610e+01 + 5.40407e+01 5.23519e+01 5.06631e+01 4.89743e+01 4.72856e+01 4.55968e+01 + 4.39080e+01 4.22193e+01 4.05305e+01 3.88417e+01 3.71530e+01 3.54642e+01 + 3.37754e+01 3.20866e+01 3.03979e+01 2.87091e+01 2.70203e+01 2.53316e+01 + 2.36428e+01 2.19540e+01 2.02652e+01 1.85765e+01 1.68877e+01 1.51989e+01 + 1.35102e+01 1.18214e+01 1.01326e+01 8.44385e+00 6.75508e+00 5.06631e+00 + 3.37754e+00 1.68877e+00 0.00000e+00 + -117.6964 33.4104 0.4999 -41 89 1.00000e+10 33.7756 1.00000e-01 + 180 53.56 39 0.00 0 0.00 0 + 0.00000e+00 1.16426e+01 2.32851e+01 3.49277e+01 4.65703e+01 3.49277e+01 + 2.32851e+01 2.25575e+01 2.18298e+01 2.11022e+01 2.03745e+01 1.96468e+01 + 1.89192e+01 1.81915e+01 1.74639e+01 1.67362e+01 1.60085e+01 1.52809e+01 + 1.45532e+01 1.38255e+01 1.30979e+01 1.23702e+01 1.16426e+01 1.09149e+01 + 1.01872e+01 9.45959e+00 8.73193e+00 8.00427e+00 7.27661e+00 6.54894e+00 + 5.82128e+00 5.09362e+00 4.36596e+00 3.63830e+00 2.91064e+00 2.18298e+00 + 1.45532e+00 7.27660e-01 0.00000e+00 + -117.7035 33.4172 0.4999 -41 89 1.00000e+10 33.4383 1.00000e-01 + 180 45.97 39 0.00 0 0.00 0 + 0.00000e+00 9.99291e+00 1.99858e+01 2.99787e+01 3.99717e+01 2.99787e+01 + 1.99858e+01 1.93613e+01 1.87367e+01 1.81122e+01 1.74876e+01 1.68630e+01 + 1.62385e+01 1.56139e+01 1.49894e+01 1.43648e+01 1.37403e+01 1.31157e+01 + 1.24911e+01 1.18666e+01 1.12420e+01 1.06175e+01 9.99291e+00 9.36836e+00 + 8.74380e+00 8.11924e+00 7.49469e+00 6.87013e+00 6.24557e+00 5.62101e+00 + 4.99646e+00 4.37190e+00 3.74734e+00 3.12279e+00 2.49823e+00 1.87367e+00 + 1.24911e+00 6.24557e-01 0.00000e+00 + -117.7106 33.4240 0.4999 -41 89 1.00000e+10 33.0156 1.00000e-01 + 180 122.11 39 0.00 0 0.00 0 + 0.00000e+00 2.65461e+01 5.30922e+01 7.96383e+01 1.06184e+02 7.96383e+01 + 5.30922e+01 5.14331e+01 4.97739e+01 4.81148e+01 4.64557e+01 4.47965e+01 + 4.31374e+01 4.14783e+01 3.98191e+01 3.81600e+01 3.65009e+01 3.48418e+01 + 3.31826e+01 3.15235e+01 2.98644e+01 2.82052e+01 2.65461e+01 2.48870e+01 + 2.32278e+01 2.15687e+01 1.99096e+01 1.82504e+01 1.65913e+01 1.49322e+01 + 1.32730e+01 1.16139e+01 9.95479e+00 8.29566e+00 6.63652e+00 4.97739e+00 + 3.31826e+00 1.65913e+00 0.00000e+00 + -117.7177 33.4307 0.4999 -41 89 1.00000e+10 32.6459 1.00000e-01 + 180 143.67 39 0.00 0 0.00 0 + 0.00000e+00 3.12323e+01 6.24646e+01 9.36969e+01 1.24929e+02 9.36969e+01 + 6.24646e+01 6.05126e+01 5.85606e+01 5.66086e+01 5.46566e+01 5.27045e+01 + 5.07525e+01 4.88005e+01 4.68485e+01 4.48965e+01 4.29444e+01 4.09924e+01 + 3.90404e+01 3.70884e+01 3.51364e+01 3.31843e+01 3.12323e+01 2.92803e+01 + 2.73283e+01 2.53763e+01 2.34242e+01 2.14722e+01 1.95202e+01 1.75682e+01 + 1.56162e+01 1.36641e+01 1.17121e+01 9.76010e+00 7.80808e+00 5.85606e+00 + 3.90404e+00 1.95202e+00 0.00000e+00 + -117.7248 33.4375 0.4999 -41 89 1.00000e+10 32.1987 1.00000e-01 + 180 243.62 39 0.00 0 0.00 0 + 0.00000e+00 5.29604e+01 1.05921e+02 1.58881e+02 2.11841e+02 1.58881e+02 + 1.05921e+02 1.02611e+02 9.93007e+01 9.59907e+01 9.26806e+01 8.93706e+01 + 8.60606e+01 8.27506e+01 7.94405e+01 7.61305e+01 7.28205e+01 6.95105e+01 + 6.62005e+01 6.28904e+01 5.95804e+01 5.62704e+01 5.29604e+01 4.96503e+01 + 4.63403e+01 4.30303e+01 3.97203e+01 3.64103e+01 3.31002e+01 2.97902e+01 + 2.64802e+01 2.31702e+01 1.98601e+01 1.65501e+01 1.32401e+01 9.93007e+00 + 6.62005e+00 3.31002e+00 0.00000e+00 + -117.7319 33.4443 0.4999 -41 89 1.00000e+10 31.7495 1.00000e-01 + 180 346.78 39 0.00 0 0.00 0 + 0.00000e+00 7.53867e+01 1.50773e+02 2.26160e+02 3.01547e+02 2.26160e+02 + 1.50773e+02 1.46062e+02 1.41350e+02 1.36638e+02 1.31927e+02 1.27215e+02 + 1.22503e+02 1.17792e+02 1.13080e+02 1.08368e+02 1.03657e+02 9.89451e+01 + 9.42334e+01 8.95218e+01 8.48101e+01 8.00984e+01 7.53867e+01 7.06751e+01 + 6.59634e+01 6.12517e+01 5.65401e+01 5.18284e+01 4.71167e+01 4.24050e+01 + 3.76934e+01 3.29817e+01 2.82700e+01 2.35584e+01 1.88467e+01 1.41350e+01 + 9.42334e+00 4.71167e+00 0.00000e+00 + -117.7390 33.4511 0.4999 -41 89 1.00000e+10 31.2857 1.00000e-01 + 180 466.97 39 0.00 0 0.00 0 + 0.00000e+00 1.01516e+02 2.03031e+02 3.04547e+02 4.06062e+02 3.04547e+02 + 2.03031e+02 1.96686e+02 1.90342e+02 1.83997e+02 1.77652e+02 1.71308e+02 + 1.64963e+02 1.58618e+02 1.52273e+02 1.45929e+02 1.39584e+02 1.33239e+02 + 1.26894e+02 1.20550e+02 1.14205e+02 1.07860e+02 1.01516e+02 9.51709e+01 + 8.88261e+01 8.24814e+01 7.61367e+01 6.97920e+01 6.34472e+01 5.71025e+01 + 5.07578e+01 4.44131e+01 3.80683e+01 3.17236e+01 2.53789e+01 1.90342e+01 + 1.26894e+01 6.34472e+00 0.00000e+00 + -117.7461 33.4578 0.4999 -41 89 1.00000e+10 30.9291 1.00000e-01 + 180 474.93 39 0.00 0 0.00 0 + 0.00000e+00 1.03247e+02 2.06493e+02 3.09740e+02 4.12986e+02 3.09740e+02 + 2.06493e+02 2.00040e+02 1.93587e+02 1.87134e+02 1.80681e+02 1.74229e+02 + 1.67776e+02 1.61323e+02 1.54870e+02 1.48417e+02 1.41964e+02 1.35511e+02 + 1.29058e+02 1.22605e+02 1.16152e+02 1.09699e+02 1.03247e+02 9.67936e+01 + 9.03407e+01 8.38878e+01 7.74349e+01 7.09820e+01 6.45291e+01 5.80762e+01 + 5.16233e+01 4.51704e+01 3.87175e+01 3.22645e+01 2.58116e+01 1.93587e+01 + 1.29058e+01 6.45291e+00 0.00000e+00 + -117.7532 33.4646 0.4999 -41 89 1.00000e+10 30.5548 1.00000e-01 + 180 505.16 39 0.00 0 0.00 0 + 0.00000e+00 1.09818e+02 2.19635e+02 3.29453e+02 4.39271e+02 3.29453e+02 + 2.19635e+02 2.12772e+02 2.05908e+02 1.99045e+02 1.92181e+02 1.85317e+02 + 1.78454e+02 1.71590e+02 1.64727e+02 1.57863e+02 1.50999e+02 1.44136e+02 + 1.37272e+02 1.30409e+02 1.23545e+02 1.16681e+02 1.09818e+02 1.02954e+02 + 9.60905e+01 8.92269e+01 8.23633e+01 7.54997e+01 6.86361e+01 6.17725e+01 + 5.49089e+01 4.80452e+01 4.11816e+01 3.43180e+01 2.74544e+01 2.05908e+01 + 1.37272e+01 6.86361e+00 0.00000e+00 + -117.7603 33.4714 0.4999 -41 89 1.00000e+10 30.2338 1.00000e-01 + 180 474.05 39 0.00 0 0.00 0 + 0.00000e+00 1.03053e+02 2.06107e+02 3.09160e+02 4.12214e+02 3.09160e+02 + 2.06107e+02 1.99666e+02 1.93225e+02 1.86784e+02 1.80344e+02 1.73903e+02 + 1.67462e+02 1.61021e+02 1.54580e+02 1.48139e+02 1.41699e+02 1.35258e+02 + 1.28817e+02 1.22376e+02 1.15935e+02 1.09494e+02 1.03053e+02 9.66126e+01 + 9.01718e+01 8.37310e+01 7.72901e+01 7.08493e+01 6.44084e+01 5.79676e+01 + 5.15267e+01 4.50859e+01 3.86451e+01 3.22042e+01 2.57634e+01 1.93225e+01 + 1.28817e+01 6.44084e+00 0.00000e+00 + -117.7674 33.4782 0.4999 -41 89 1.00000e+10 29.9549 1.00000e-01 + 180 407.31 39 0.00 0 0.00 0 + 0.00000e+00 8.85464e+01 1.77093e+02 2.65639e+02 3.54186e+02 2.65639e+02 + 1.77093e+02 1.71559e+02 1.66025e+02 1.60490e+02 1.54956e+02 1.49422e+02 + 1.43888e+02 1.38354e+02 1.32820e+02 1.27285e+02 1.21751e+02 1.16217e+02 + 1.10683e+02 1.05149e+02 9.96147e+01 9.40806e+01 8.85464e+01 8.30123e+01 + 7.74781e+01 7.19440e+01 6.64098e+01 6.08757e+01 5.53415e+01 4.98074e+01 + 4.42732e+01 3.87391e+01 3.32049e+01 2.76708e+01 2.21366e+01 1.66025e+01 + 1.10683e+01 5.53415e+00 0.00000e+00 + -117.7745 33.4849 0.4999 -41 89 1.00000e+10 29.6515 1.00000e-01 + 180 361.07 39 0.00 0 0.00 0 + 0.00000e+00 7.84928e+01 1.56986e+02 2.35478e+02 3.13971e+02 2.35478e+02 + 1.56986e+02 1.52080e+02 1.47174e+02 1.42268e+02 1.37362e+02 1.32457e+02 + 1.27551e+02 1.22645e+02 1.17739e+02 1.12833e+02 1.07928e+02 1.03022e+02 + 9.81159e+01 9.32101e+01 8.83044e+01 8.33986e+01 7.84928e+01 7.35870e+01 + 6.86812e+01 6.37754e+01 5.88696e+01 5.39638e+01 4.90580e+01 4.41522e+01 + 3.92464e+01 3.43406e+01 2.94348e+01 2.45290e+01 1.96232e+01 1.47174e+01 + 9.81159e+00 4.90580e+00 0.00000e+00 + -117.7816 33.4917 0.4999 -41 89 1.00000e+10 29.3558 1.00000e-01 + 180 310.27 39 0.00 0 0.00 0 + 0.00000e+00 6.74504e+01 1.34901e+02 2.02351e+02 2.69801e+02 2.02351e+02 + 1.34901e+02 1.30685e+02 1.26469e+02 1.22254e+02 1.18038e+02 1.13822e+02 + 1.09607e+02 1.05391e+02 1.01176e+02 9.69599e+01 9.27442e+01 8.85286e+01 + 8.43130e+01 8.00973e+01 7.58817e+01 7.16660e+01 6.74504e+01 6.32347e+01 + 5.90191e+01 5.48034e+01 5.05878e+01 4.63721e+01 4.21565e+01 3.79408e+01 + 3.37252e+01 2.95095e+01 2.52939e+01 2.10782e+01 1.68626e+01 1.26469e+01 + 8.43130e+00 4.21565e+00 0.00000e+00 + -117.7887 33.4985 0.4999 -41 89 1.00000e+10 29.1078 1.00000e-01 + 180 210.48 39 0.00 0 0.00 0 + 0.00000e+00 4.57566e+01 9.15132e+01 1.37270e+02 1.83026e+02 1.37270e+02 + 9.15132e+01 8.86534e+01 8.57936e+01 8.29338e+01 8.00740e+01 7.72142e+01 + 7.43544e+01 7.14947e+01 6.86349e+01 6.57751e+01 6.29153e+01 6.00555e+01 + 5.71957e+01 5.43359e+01 5.14761e+01 4.86164e+01 4.57566e+01 4.28968e+01 + 4.00370e+01 3.71772e+01 3.43174e+01 3.14576e+01 2.85979e+01 2.57381e+01 + 2.28783e+01 2.00185e+01 1.71587e+01 1.42989e+01 1.14391e+01 8.57936e+00 + 5.71957e+00 2.85979e+00 0.00000e+00 + -117.7959 33.5052 0.4999 -42 89 1.00000e+10 28.7760 1.00000e-01 + 180 196.05 39 0.00 0 0.00 0 + 0.00000e+00 4.26190e+01 8.52381e+01 1.27857e+02 1.70476e+02 1.27857e+02 + 8.52381e+01 8.25744e+01 7.99107e+01 7.72470e+01 7.45833e+01 7.19196e+01 + 6.92559e+01 6.65922e+01 6.39285e+01 6.12648e+01 5.86012e+01 5.59375e+01 + 5.32738e+01 5.06101e+01 4.79464e+01 4.52827e+01 4.26190e+01 3.99553e+01 + 3.72916e+01 3.46280e+01 3.19643e+01 2.93006e+01 2.66369e+01 2.39732e+01 + 2.13095e+01 1.86458e+01 1.59821e+01 1.33184e+01 1.06548e+01 7.99107e+00 + 5.32738e+00 2.66369e+00 0.00000e+00 + -117.8036 33.5115 0.4999 -49 89 1.00000e+10 28.3524 1.00000e-01 + 180 271.90 39 0.00 0 0.00 0 + 0.00000e+00 5.91093e+01 1.18219e+02 1.77328e+02 2.36437e+02 1.77328e+02 + 1.18219e+02 1.14524e+02 1.10830e+02 1.07136e+02 1.03441e+02 9.97470e+01 + 9.60527e+01 9.23584e+01 8.86640e+01 8.49697e+01 8.12753e+01 7.75810e+01 + 7.38867e+01 7.01923e+01 6.64980e+01 6.28037e+01 5.91093e+01 5.54150e+01 + 5.17207e+01 4.80263e+01 4.43320e+01 4.06377e+01 3.69433e+01 3.32490e+01 + 2.95547e+01 2.58603e+01 2.21660e+01 1.84717e+01 1.47773e+01 1.10830e+01 + 7.38867e+00 3.69433e+00 0.00000e+00 + -117.8118 33.5174 0.4999 -49 89 1.00000e+10 27.9267 1.00000e-01 + 180 353.95 39 0.00 0 0.00 0 + 0.00000e+00 7.69456e+01 1.53891e+02 2.30837e+02 3.07782e+02 2.30837e+02 + 1.53891e+02 1.49082e+02 1.44273e+02 1.39464e+02 1.34655e+02 1.29846e+02 + 1.25037e+02 1.20227e+02 1.15418e+02 1.10609e+02 1.05800e+02 1.00991e+02 + 9.61820e+01 9.13729e+01 8.65638e+01 8.17547e+01 7.69456e+01 7.21365e+01 + 6.73274e+01 6.25183e+01 5.77092e+01 5.29001e+01 4.80910e+01 4.32819e+01 + 3.84728e+01 3.36637e+01 2.88546e+01 2.40455e+01 1.92364e+01 1.44273e+01 + 9.61820e+00 4.80910e+00 0.00000e+00 + -117.8199 33.5233 0.4999 -49 89 1.00000e+10 27.5423 1.00000e-01 + 180 391.28 39 0.00 0 0.00 0 + 0.00000e+00 8.50616e+01 1.70123e+02 2.55185e+02 3.40246e+02 2.55185e+02 + 1.70123e+02 1.64807e+02 1.59490e+02 1.54174e+02 1.48858e+02 1.43541e+02 + 1.38225e+02 1.32909e+02 1.27592e+02 1.22276e+02 1.16960e+02 1.11643e+02 + 1.06327e+02 1.01011e+02 9.56943e+01 9.03779e+01 8.50616e+01 7.97452e+01 + 7.44289e+01 6.91125e+01 6.37962e+01 5.84798e+01 5.31635e+01 4.78471e+01 + 4.25308e+01 3.72144e+01 3.18981e+01 2.65817e+01 2.12654e+01 1.59490e+01 + 1.06327e+01 5.31635e+00 0.00000e+00 + -117.8281 33.5291 0.4999 -49 89 1.00000e+10 27.2470 1.00000e-01 + 180 338.07 39 0.00 0 0.00 0 + 0.00000e+00 7.34936e+01 1.46987e+02 2.20481e+02 2.93975e+02 2.20481e+02 + 1.46987e+02 1.42394e+02 1.37801e+02 1.33207e+02 1.28614e+02 1.24021e+02 + 1.19427e+02 1.14834e+02 1.10240e+02 1.05647e+02 1.01054e+02 9.64604e+01 + 9.18671e+01 8.72737e+01 8.26804e+01 7.80870e+01 7.34936e+01 6.89003e+01 + 6.43069e+01 5.97136e+01 5.51202e+01 5.05269e+01 4.59335e+01 4.13402e+01 + 3.67468e+01 3.21535e+01 2.75601e+01 2.29668e+01 1.83734e+01 1.37801e+01 + 9.18671e+00 4.59335e+00 0.00000e+00 + -117.8363 33.5350 0.4999 -49 89 1.00000e+10 26.8817 1.00000e-01 + 180 356.74 39 0.00 0 0.00 0 + 0.00000e+00 7.75524e+01 1.55105e+02 2.32657e+02 3.10210e+02 2.32657e+02 + 1.55105e+02 1.50258e+02 1.45411e+02 1.40564e+02 1.35717e+02 1.30870e+02 + 1.26023e+02 1.21176e+02 1.16329e+02 1.11482e+02 1.06635e+02 1.01788e+02 + 9.69405e+01 9.20935e+01 8.72465e+01 8.23994e+01 7.75524e+01 7.27054e+01 + 6.78584e+01 6.30113e+01 5.81643e+01 5.33173e+01 4.84703e+01 4.36232e+01 + 3.87762e+01 3.39292e+01 2.90822e+01 2.42351e+01 1.93881e+01 1.45411e+01 + 9.69405e+00 4.84703e+00 0.00000e+00 + -117.8445 33.5409 0.4999 -49 89 1.00000e+10 26.5712 1.00000e-01 + 180 316.66 39 0.00 0 0.00 0 + 0.00000e+00 6.88396e+01 1.37679e+02 2.06519e+02 2.75358e+02 2.06519e+02 + 1.37679e+02 1.33377e+02 1.29074e+02 1.24772e+02 1.20469e+02 1.16167e+02 + 1.11864e+02 1.07562e+02 1.03259e+02 9.89569e+01 9.46544e+01 9.03519e+01 + 8.60495e+01 8.17470e+01 7.74445e+01 7.31421e+01 6.88396e+01 6.45371e+01 + 6.02346e+01 5.59322e+01 5.16297e+01 4.73272e+01 4.30247e+01 3.87223e+01 + 3.44198e+01 3.01173e+01 2.58148e+01 2.15124e+01 1.72099e+01 1.29074e+01 + 8.60495e+00 4.30247e+00 0.00000e+00 + -117.8527 33.5468 0.4999 -49 89 1.00000e+10 26.2944 1.00000e-01 + 180 247.93 39 0.00 0 0.00 0 + 0.00000e+00 5.38969e+01 1.07794e+02 1.61691e+02 2.15588e+02 1.61691e+02 + 1.07794e+02 1.04425e+02 1.01057e+02 9.76882e+01 9.43196e+01 9.09511e+01 + 8.75825e+01 8.42140e+01 8.08454e+01 7.74769e+01 7.41083e+01 7.07397e+01 + 6.73712e+01 6.40026e+01 6.06341e+01 5.72655e+01 5.38969e+01 5.05284e+01 + 4.71598e+01 4.37913e+01 4.04227e+01 3.70541e+01 3.36856e+01 3.03170e+01 + 2.69485e+01 2.35799e+01 2.02114e+01 1.68428e+01 1.34742e+01 1.01057e+01 + 6.73712e+00 3.36856e+00 0.00000e+00 + -117.8608 33.5526 0.4999 -49 89 1.00000e+10 26.0903 1.00000e-01 + 180 100.83 39 0.00 0 0.00 0 + 0.00000e+00 2.19189e+01 4.38378e+01 6.57567e+01 8.76756e+01 6.57567e+01 + 4.38378e+01 4.24679e+01 4.10979e+01 3.97280e+01 3.83581e+01 3.69882e+01 + 3.56182e+01 3.42483e+01 3.28784e+01 3.15084e+01 3.01385e+01 2.87686e+01 + 2.73986e+01 2.60287e+01 2.46588e+01 2.32888e+01 2.19189e+01 2.05490e+01 + 1.91790e+01 1.78091e+01 1.64392e+01 1.50692e+01 1.36993e+01 1.23294e+01 + 1.09595e+01 9.58952e+00 8.21959e+00 6.84966e+00 5.47973e+00 4.10980e+00 + 2.73986e+00 1.36993e+00 0.00000e+00 + -117.8690 33.5585 0.4999 -49 89 1.00000e+10 25.7496 1.00000e-01 + 180 95.10 39 0.00 0 0.00 0 + 0.00000e+00 2.06742e+01 4.13484e+01 6.20226e+01 8.26968e+01 6.20226e+01 + 4.13484e+01 4.00563e+01 3.87641e+01 3.74720e+01 3.61798e+01 3.48877e+01 + 3.35956e+01 3.23034e+01 3.10113e+01 2.97192e+01 2.84270e+01 2.71349e+01 + 2.58427e+01 2.45506e+01 2.32585e+01 2.19663e+01 2.06742e+01 1.93821e+01 + 1.80899e+01 1.67978e+01 1.55056e+01 1.42135e+01 1.29214e+01 1.16292e+01 + 1.03371e+01 9.04496e+00 7.75282e+00 6.46069e+00 5.16855e+00 3.87641e+00 + 2.58427e+00 1.29214e+00 0.00000e+00 + -117.8772 33.5644 0.4999 -49 89 1.00000e+10 25.3699 1.00000e-01 + 180 129.07 39 0.00 0 0.00 0 + 0.00000e+00 2.80590e+01 5.61180e+01 8.41770e+01 1.12236e+02 8.41770e+01 + 5.61180e+01 5.43643e+01 5.26106e+01 5.08569e+01 4.91032e+01 4.73496e+01 + 4.55959e+01 4.38422e+01 4.20885e+01 4.03348e+01 3.85811e+01 3.68274e+01 + 3.50737e+01 3.33201e+01 3.15664e+01 2.98127e+01 2.80590e+01 2.63053e+01 + 2.45516e+01 2.27979e+01 2.10442e+01 1.92906e+01 1.75369e+01 1.57832e+01 + 1.40295e+01 1.22758e+01 1.05221e+01 8.76844e+00 7.01475e+00 5.26106e+00 + 3.50737e+00 1.75369e+00 0.00000e+00 + -117.8854 33.5702 0.4999 -49 89 1.00000e+10 25.0626 1.00000e-01 + 180 92.42 39 0.00 0 0.00 0 + 0.00000e+00 2.00904e+01 4.01807e+01 6.02711e+01 8.03614e+01 6.02711e+01 + 4.01807e+01 3.89251e+01 3.76694e+01 3.64138e+01 3.51581e+01 3.39025e+01 + 3.26468e+01 3.13912e+01 3.01355e+01 2.88799e+01 2.76242e+01 2.63686e+01 + 2.51130e+01 2.38573e+01 2.26017e+01 2.13460e+01 2.00904e+01 1.88347e+01 + 1.75791e+01 1.63234e+01 1.50678e+01 1.38121e+01 1.25565e+01 1.13008e+01 + 1.00452e+01 8.78953e+00 7.53389e+00 6.27824e+00 5.02259e+00 3.76694e+00 + 2.51130e+00 1.25565e+00 0.00000e+00 + -117.8936 33.5761 0.4999 -49 89 1.00000e+10 24.6602 1.00000e-01 + 180 148.03 39 0.00 0 0.00 0 + 0.00000e+00 3.21801e+01 6.43602e+01 9.65403e+01 1.28720e+02 9.65403e+01 + 6.43602e+01 6.23490e+01 6.03377e+01 5.83264e+01 5.63152e+01 5.43039e+01 + 5.22927e+01 5.02814e+01 4.82702e+01 4.62589e+01 4.42477e+01 4.22364e+01 + 4.02251e+01 3.82139e+01 3.62026e+01 3.41914e+01 3.21801e+01 3.01689e+01 + 2.81576e+01 2.61463e+01 2.41351e+01 2.21238e+01 2.01126e+01 1.81013e+01 + 1.60901e+01 1.40788e+01 1.20675e+01 1.00563e+01 8.04503e+00 6.03377e+00 + 4.02251e+00 2.01126e+00 0.00000e+00 + -117.9018 33.5820 0.4999 -49 89 1.00000e+10 24.3110 1.00000e-01 + 180 145.73 39 0.00 0 0.00 0 + 0.00000e+00 3.16814e+01 6.33628e+01 9.50442e+01 1.26726e+02 9.50442e+01 + 6.33628e+01 6.13827e+01 5.94026e+01 5.74225e+01 5.54424e+01 5.34623e+01 + 5.14823e+01 4.95022e+01 4.75221e+01 4.55420e+01 4.35619e+01 4.15818e+01 + 3.96017e+01 3.76217e+01 3.56416e+01 3.36615e+01 3.16814e+01 2.97013e+01 + 2.77212e+01 2.57411e+01 2.37610e+01 2.17810e+01 1.98009e+01 1.78208e+01 + 1.58407e+01 1.38606e+01 1.18805e+01 9.90043e+00 7.92035e+00 5.94026e+00 + 3.96017e+00 1.98009e+00 0.00000e+00 + -117.9100 33.5878 0.4999 -49 89 1.00000e+10 24.0190 1.00000e-01 + 180 92.34 39 0.00 0 0.00 0 + 0.00000e+00 2.00746e+01 4.01493e+01 6.02239e+01 8.02985e+01 6.02239e+01 + 4.01493e+01 3.88946e+01 3.76399e+01 3.63853e+01 3.51306e+01 3.38759e+01 + 3.26213e+01 3.13666e+01 3.01119e+01 2.88573e+01 2.76026e+01 2.63480e+01 + 2.50933e+01 2.38386e+01 2.25840e+01 2.13293e+01 2.00746e+01 1.88200e+01 + 1.75653e+01 1.63106e+01 1.50560e+01 1.38013e+01 1.25466e+01 1.12920e+01 + 1.00373e+01 8.78265e+00 7.52799e+00 6.27332e+00 5.01866e+00 3.76399e+00 + 2.50933e+00 1.25466e+00 0.00000e+00 + -117.9173 33.5944 0.4999 -37 89 1.00000e+10 23.6946 1.00000e-01 + 180 66.80 39 0.00 0 0.00 0 + 0.00000e+00 1.45219e+01 2.90439e+01 4.35658e+01 5.80878e+01 4.35658e+01 + 2.90439e+01 2.81363e+01 2.72287e+01 2.63210e+01 2.54134e+01 2.45058e+01 + 2.35982e+01 2.26905e+01 2.17829e+01 2.08753e+01 1.99677e+01 1.90601e+01 + 1.81524e+01 1.72448e+01 1.63372e+01 1.54296e+01 1.45219e+01 1.36143e+01 + 1.27067e+01 1.17991e+01 1.08915e+01 9.98384e+00 9.07622e+00 8.16860e+00 + 7.26097e+00 6.35335e+00 5.44573e+00 4.53811e+00 3.63049e+00 2.72287e+00 + 1.81524e+00 9.07622e-01 0.00000e+00 + -117.9239 33.6015 0.4999 -37 89 1.00000e+10 23.3768 1.00000e-01 + 180 39.83 39 0.00 0 0.00 0 + 0.00000e+00 8.65929e+00 1.73186e+01 2.59779e+01 3.46371e+01 2.59779e+01 + 1.73186e+01 1.67774e+01 1.62362e+01 1.56950e+01 1.51538e+01 1.46125e+01 + 1.40713e+01 1.35301e+01 1.29889e+01 1.24477e+01 1.19065e+01 1.13653e+01 + 1.08241e+01 1.02829e+01 9.74170e+00 9.20049e+00 8.65929e+00 8.11808e+00 + 7.57688e+00 7.03567e+00 6.49447e+00 5.95326e+00 5.41205e+00 4.87085e+00 + 4.32964e+00 3.78844e+00 3.24723e+00 2.70603e+00 2.16482e+00 1.62362e+00 + 1.08241e+00 5.41205e-01 0.00000e+00 + -117.9303 33.6087 0.4999 -37 89 1.00000e+10 23.0227 1.00000e-01 + 180 45.82 39 0.00 0 0.00 0 + 0.00000e+00 9.96070e+00 1.99214e+01 2.98821e+01 3.98428e+01 2.98821e+01 + 1.99214e+01 1.92989e+01 1.86763e+01 1.80538e+01 1.74312e+01 1.68087e+01 + 1.61861e+01 1.55636e+01 1.49411e+01 1.43185e+01 1.36960e+01 1.30734e+01 + 1.24509e+01 1.18283e+01 1.12058e+01 1.05832e+01 9.96070e+00 9.33816e+00 + 8.71562e+00 8.09307e+00 7.47053e+00 6.84798e+00 6.22544e+00 5.60290e+00 + 4.98035e+00 4.35781e+00 3.73526e+00 3.11272e+00 2.49018e+00 1.86763e+00 + 1.24509e+00 6.22544e-01 0.00000e+00 + -117.9369 33.6159 0.4999 -38 89 1.00000e+10 22.6681 1.00000e-01 + 180 53.06 39 0.00 0 0.00 0 + 0.00000e+00 1.15346e+01 2.30692e+01 3.46038e+01 4.61384e+01 3.46038e+01 + 2.30692e+01 2.23483e+01 2.16274e+01 2.09065e+01 2.01856e+01 1.94646e+01 + 1.87437e+01 1.80228e+01 1.73019e+01 1.65810e+01 1.58601e+01 1.51392e+01 + 1.44183e+01 1.36973e+01 1.29764e+01 1.22555e+01 1.15346e+01 1.08137e+01 + 1.00928e+01 9.37187e+00 8.65095e+00 7.93004e+00 7.20913e+00 6.48821e+00 + 5.76730e+00 5.04639e+00 4.32548e+00 3.60456e+00 2.88365e+00 2.16274e+00 + 1.44183e+00 7.20913e-01 0.00000e+00 + -117.9436 33.6229 0.4999 -39 89 1.00000e+10 22.2568 1.00000e-01 + 180 117.16 39 0.00 0 0.00 0 + 0.00000e+00 2.54695e+01 5.09390e+01 7.64085e+01 1.01878e+02 7.64085e+01 + 5.09390e+01 4.93472e+01 4.77553e+01 4.61635e+01 4.45716e+01 4.29798e+01 + 4.13879e+01 3.97961e+01 3.82043e+01 3.66124e+01 3.50206e+01 3.34287e+01 + 3.18369e+01 3.02450e+01 2.86532e+01 2.70613e+01 2.54695e+01 2.38777e+01 + 2.22858e+01 2.06940e+01 1.91021e+01 1.75103e+01 1.59184e+01 1.43266e+01 + 1.27348e+01 1.11429e+01 9.55106e+00 7.95922e+00 6.36738e+00 4.77553e+00 + 3.18369e+00 1.59184e+00 0.00000e+00 + -117.9504 33.6300 0.4999 -39 89 1.00000e+10 21.8603 1.00000e-01 + 180 165.69 39 0.00 0 0.00 0 + 0.00000e+00 3.60188e+01 7.20376e+01 1.08056e+02 1.44075e+02 1.08056e+02 + 7.20376e+01 6.97864e+01 6.75353e+01 6.52841e+01 6.30329e+01 6.07817e+01 + 5.85306e+01 5.62794e+01 5.40282e+01 5.17770e+01 4.95259e+01 4.72747e+01 + 4.50235e+01 4.27723e+01 4.05212e+01 3.82700e+01 3.60188e+01 3.37676e+01 + 3.15165e+01 2.92653e+01 2.70141e+01 2.47629e+01 2.25118e+01 2.02606e+01 + 1.80094e+01 1.57582e+01 1.35071e+01 1.12559e+01 9.00470e+00 6.75353e+00 + 4.50235e+00 2.25118e+00 0.00000e+00 + -117.9571 33.6370 0.4999 -39 89 1.00000e+10 21.5150 1.00000e-01 + 180 166.30 39 0.00 0 0.00 0 + 0.00000e+00 3.61515e+01 7.23030e+01 1.08455e+02 1.44606e+02 1.08455e+02 + 7.23030e+01 7.00435e+01 6.77841e+01 6.55246e+01 6.32651e+01 6.10057e+01 + 5.87462e+01 5.64867e+01 5.42273e+01 5.19678e+01 4.97083e+01 4.74489e+01 + 4.51894e+01 4.29299e+01 4.06704e+01 3.84110e+01 3.61515e+01 3.38920e+01 + 3.16326e+01 2.93731e+01 2.71136e+01 2.48542e+01 2.25947e+01 2.03352e+01 + 1.80758e+01 1.58163e+01 1.35568e+01 1.12973e+01 9.03788e+00 6.77841e+00 + 4.51894e+00 2.25947e+00 0.00000e+00 + -117.9638 33.6440 0.4999 -39 89 1.00000e+10 21.1261 1.00000e-01 + 180 211.08 39 0.00 0 0.00 0 + 0.00000e+00 4.58869e+01 9.17738e+01 1.37661e+02 1.83548e+02 1.37661e+02 + 9.17738e+01 8.89058e+01 8.60379e+01 8.31700e+01 8.03020e+01 7.74341e+01 + 7.45662e+01 7.16983e+01 6.88303e+01 6.59624e+01 6.30945e+01 6.02265e+01 + 5.73586e+01 5.44907e+01 5.16227e+01 4.87548e+01 4.58869e+01 4.30190e+01 + 4.01510e+01 3.72831e+01 3.44152e+01 3.15472e+01 2.86793e+01 2.58114e+01 + 2.29434e+01 2.00755e+01 1.72076e+01 1.43397e+01 1.14717e+01 8.60379e+00 + 5.73586e+00 2.86793e+00 0.00000e+00 + -117.9706 33.6511 0.4999 -39 89 1.00000e+10 20.6903 1.00000e-01 + 180 301.78 39 0.00 0 0.00 0 + 0.00000e+00 6.56050e+01 1.31210e+02 1.96815e+02 2.62420e+02 1.96815e+02 + 1.31210e+02 1.27110e+02 1.23009e+02 1.18909e+02 1.14809e+02 1.10709e+02 + 1.06608e+02 1.02508e+02 9.84076e+01 9.43073e+01 9.02069e+01 8.61066e+01 + 8.20063e+01 7.79060e+01 7.38057e+01 6.97054e+01 6.56050e+01 6.15047e+01 + 5.74044e+01 5.33041e+01 4.92038e+01 4.51035e+01 4.10032e+01 3.69028e+01 + 3.28025e+01 2.87022e+01 2.46019e+01 2.05016e+01 1.64013e+01 1.23009e+01 + 8.20063e+00 4.10032e+00 0.00000e+00 + -117.9773 33.6581 0.4999 -39 89 1.00000e+10 20.2493 1.00000e-01 + 180 396.24 39 0.00 0 0.00 0 + 0.00000e+00 8.61386e+01 1.72277e+02 2.58416e+02 3.44555e+02 2.58416e+02 + 1.72277e+02 1.66894e+02 1.61510e+02 1.56126e+02 1.50743e+02 1.45359e+02 + 1.39975e+02 1.34592e+02 1.29208e+02 1.23824e+02 1.18441e+02 1.13057e+02 + 1.07673e+02 1.02290e+02 9.69060e+01 9.15223e+01 8.61386e+01 8.07550e+01 + 7.53713e+01 6.99876e+01 6.46040e+01 5.92203e+01 5.38366e+01 4.84530e+01 + 4.30693e+01 3.76856e+01 3.23020e+01 2.69183e+01 2.15347e+01 1.61510e+01 + 1.07673e+01 5.38366e+00 0.00000e+00 + -117.9840 33.6652 0.4999 -39 89 1.00000e+10 19.9947 1.00000e-01 + 180 301.82 39 0.00 0 0.00 0 + 0.00000e+00 6.56141e+01 1.31228e+02 1.96842e+02 2.62456e+02 1.96842e+02 + 1.31228e+02 1.27127e+02 1.23026e+02 1.18926e+02 1.14825e+02 1.10724e+02 + 1.06623e+02 1.02522e+02 9.84212e+01 9.43203e+01 9.02194e+01 8.61185e+01 + 8.20176e+01 7.79167e+01 7.38159e+01 6.97150e+01 6.56141e+01 6.15132e+01 + 5.74123e+01 5.33115e+01 4.92106e+01 4.51097e+01 4.10088e+01 3.69079e+01 + 3.28071e+01 2.87062e+01 2.46053e+01 2.05044e+01 1.64035e+01 1.23026e+01 + 8.20176e+00 4.10088e+00 0.00000e+00 + -117.9909 33.6721 0.4999 -41 89 1.00000e+10 19.7526 1.00000e-01 + 180 191.42 39 0.00 0 0.00 0 + 0.00000e+00 4.16122e+01 8.32243e+01 1.24837e+02 1.66449e+02 1.24837e+02 + 8.32243e+01 8.06236e+01 7.80228e+01 7.54221e+01 7.28213e+01 7.02205e+01 + 6.76198e+01 6.50190e+01 6.24183e+01 5.98175e+01 5.72167e+01 5.46160e+01 + 5.20152e+01 4.94144e+01 4.68137e+01 4.42129e+01 4.16122e+01 3.90114e+01 + 3.64106e+01 3.38099e+01 3.12091e+01 2.86084e+01 2.60076e+01 2.34068e+01 + 2.08061e+01 1.82053e+01 1.56046e+01 1.30038e+01 1.04030e+01 7.80228e+00 + 5.20152e+00 2.60076e+00 0.00000e+00 + -117.9989 33.6780 0.4999 -54 89 1.00000e+10 19.4357 1.00000e-01 + 180 166.90 39 0.00 0 0.00 0 + 0.00000e+00 3.62829e+01 7.25657e+01 1.08849e+02 1.45131e+02 1.08849e+02 + 7.25657e+01 7.02980e+01 6.80304e+01 6.57627e+01 6.34950e+01 6.12273e+01 + 5.89597e+01 5.66920e+01 5.44243e+01 5.21566e+01 4.98889e+01 4.76213e+01 + 4.53536e+01 4.30859e+01 4.08182e+01 3.85505e+01 3.62829e+01 3.40152e+01 + 3.17475e+01 2.94798e+01 2.72121e+01 2.49445e+01 2.26768e+01 2.04091e+01 + 1.81414e+01 1.58738e+01 1.36061e+01 1.13384e+01 9.07072e+00 6.80304e+00 + 4.53536e+00 2.26768e+00 0.00000e+00 + -118.0077 33.6833 0.4999 -54 89 1.00000e+10 18.9395 1.00000e-01 + 180 317.20 39 0.00 0 0.00 0 + 0.00000e+00 6.89574e+01 1.37915e+02 2.06872e+02 2.75829e+02 2.06872e+02 + 1.37915e+02 1.33605e+02 1.29295e+02 1.24985e+02 1.20675e+02 1.16366e+02 + 1.12056e+02 1.07746e+02 1.03436e+02 9.91262e+01 9.48164e+01 9.05065e+01 + 8.61967e+01 8.18869e+01 7.75770e+01 7.32672e+01 6.89574e+01 6.46475e+01 + 6.03377e+01 5.60279e+01 5.17180e+01 4.74082e+01 4.30984e+01 3.87885e+01 + 3.44787e+01 3.01688e+01 2.58590e+01 2.15492e+01 1.72393e+01 1.29295e+01 + 8.61967e+00 4.30984e+00 0.00000e+00 + -118.0165 33.6885 0.4999 -54 89 1.00000e+10 18.6244 1.00000e-01 + 180 286.73 39 0.00 0 0.00 0 + 0.00000e+00 6.23316e+01 1.24663e+02 1.86995e+02 2.49326e+02 1.86995e+02 + 1.24663e+02 1.20767e+02 1.16872e+02 1.12976e+02 1.09080e+02 1.05185e+02 + 1.01289e+02 9.73931e+01 9.34973e+01 8.96016e+01 8.57059e+01 8.18102e+01 + 7.79145e+01 7.40187e+01 7.01230e+01 6.62273e+01 6.23316e+01 5.84358e+01 + 5.45401e+01 5.06444e+01 4.67487e+01 4.28529e+01 3.89572e+01 3.50615e+01 + 3.11658e+01 2.72701e+01 2.33743e+01 1.94786e+01 1.55829e+01 1.16872e+01 + 7.79145e+00 3.89572e+00 0.00000e+00 + -118.0253 33.6937 0.4999 -54 89 1.00000e+10 18.2676 1.00000e-01 + 180 296.44 39 0.00 0 0.00 0 + 0.00000e+00 6.44430e+01 1.28886e+02 1.93329e+02 2.57772e+02 1.93329e+02 + 1.28886e+02 1.24858e+02 1.20831e+02 1.16803e+02 1.12775e+02 1.08748e+02 + 1.04720e+02 1.00692e+02 9.66645e+01 9.26368e+01 8.86091e+01 8.45814e+01 + 8.05537e+01 7.65261e+01 7.24984e+01 6.84707e+01 6.44430e+01 6.04153e+01 + 5.63876e+01 5.23599e+01 4.83322e+01 4.43046e+01 4.02769e+01 3.62492e+01 + 3.22215e+01 2.81938e+01 2.41661e+01 2.01384e+01 1.61107e+01 1.20831e+01 + 8.05537e+00 4.02769e+00 0.00000e+00 + -118.0341 33.6990 0.4999 -54 89 1.00000e+10 17.9245 1.00000e-01 + 180 289.79 39 0.00 0 0.00 0 + 0.00000e+00 6.29983e+01 1.25997e+02 1.88995e+02 2.51993e+02 1.88995e+02 + 1.25997e+02 1.22059e+02 1.18122e+02 1.14184e+02 1.10247e+02 1.06310e+02 + 1.02372e+02 9.84349e+01 9.44975e+01 9.05601e+01 8.66227e+01 8.26853e+01 + 7.87479e+01 7.48105e+01 7.08731e+01 6.69357e+01 6.29983e+01 5.90609e+01 + 5.51235e+01 5.11861e+01 4.72487e+01 4.33113e+01 3.93739e+01 3.54366e+01 + 3.14992e+01 2.75618e+01 2.36244e+01 1.96870e+01 1.57496e+01 1.18122e+01 + 7.87479e+00 3.93739e+00 0.00000e+00 + -118.0428 33.7043 0.4999 -53 89 1.00000e+10 17.5322 1.00000e-01 + 180 334.83 39 0.00 0 0.00 0 + 0.00000e+00 7.27898e+01 1.45580e+02 2.18369e+02 2.91159e+02 2.18369e+02 + 1.45580e+02 1.41030e+02 1.36481e+02 1.31932e+02 1.27382e+02 1.22833e+02 + 1.18283e+02 1.13734e+02 1.09185e+02 1.04635e+02 1.00086e+02 9.55366e+01 + 9.09872e+01 8.64379e+01 8.18885e+01 7.73392e+01 7.27898e+01 6.82404e+01 + 6.36911e+01 5.91417e+01 5.45923e+01 5.00430e+01 4.54936e+01 4.09443e+01 + 3.63949e+01 3.18455e+01 2.72962e+01 2.27468e+01 1.81974e+01 1.36481e+01 + 9.09872e+00 4.54936e+00 0.00000e+00 + -118.0513 33.7099 0.4999 -50 89 1.00000e+10 17.3178 1.00000e-01 + 180 200.29 39 0.00 0 0.00 0 + 0.00000e+00 4.35419e+01 8.70837e+01 1.30626e+02 1.74167e+02 1.30626e+02 + 8.70837e+01 8.43623e+01 8.16410e+01 7.89196e+01 7.61982e+01 7.34769e+01 + 7.07555e+01 6.80341e+01 6.53128e+01 6.25914e+01 5.98701e+01 5.71487e+01 + 5.44273e+01 5.17060e+01 4.89846e+01 4.62632e+01 4.35419e+01 4.08205e+01 + 3.80991e+01 3.53778e+01 3.26564e+01 2.99350e+01 2.72137e+01 2.44923e+01 + 2.17709e+01 1.90496e+01 1.63282e+01 1.36068e+01 1.08855e+01 8.16410e+00 + 5.44273e+00 2.72137e+00 0.00000e+00 + -118.0594 33.7158 0.4999 -48 89 1.00000e+10 17.1508 1.00000e-01 + 180 23.32 39 0.00 0 0.00 0 + 0.00000e+00 5.06984e+00 1.01397e+01 1.52095e+01 2.02794e+01 1.52095e+01 + 1.01397e+01 9.82282e+00 9.50596e+00 9.18909e+00 8.87222e+00 8.55536e+00 + 8.23849e+00 7.92163e+00 7.60476e+00 7.28790e+00 6.97103e+00 6.65417e+00 + 6.33730e+00 6.02044e+00 5.70357e+00 5.38671e+00 5.06984e+00 4.75298e+00 + 4.43611e+00 4.11925e+00 3.80238e+00 3.48552e+00 3.16865e+00 2.85179e+00 + 2.53492e+00 2.21806e+00 1.90119e+00 1.58433e+00 1.26746e+00 9.50596e-01 + 6.33730e-01 3.16865e-01 0.00000e+00 + -118.0663 33.7226 0.4999 -31 89 1.00000e+10 16.8250 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.0718 33.7303 0.4999 -31 89 1.00000e+10 16.4187 1.00000e-01 + 180 62.58 39 0.00 0 0.00 0 + 0.00000e+00 1.36039e+01 2.72077e+01 4.08116e+01 5.44154e+01 4.08116e+01 + 2.72077e+01 2.63575e+01 2.55072e+01 2.46570e+01 2.38067e+01 2.29565e+01 + 2.21063e+01 2.12560e+01 2.04058e+01 1.95555e+01 1.87053e+01 1.78551e+01 + 1.70048e+01 1.61546e+01 1.53043e+01 1.44541e+01 1.36039e+01 1.27536e+01 + 1.19034e+01 1.10531e+01 1.02029e+01 9.35265e+00 8.50241e+00 7.65217e+00 + 6.80193e+00 5.95169e+00 5.10144e+00 4.25120e+00 3.40096e+00 2.55072e+00 + 1.70048e+00 8.50241e-01 0.00000e+00 + -118.0784 33.7374 0.4999 -44 89 1.00000e+10 15.9159 1.00000e-01 + 180 218.09 39 0.00 0 0.00 0 + 0.00000e+00 4.74118e+01 9.48235e+01 1.42235e+02 1.89647e+02 1.42235e+02 + 9.48235e+01 9.18603e+01 8.88971e+01 8.59338e+01 8.29706e+01 8.00074e+01 + 7.70441e+01 7.40809e+01 7.11177e+01 6.81544e+01 6.51912e+01 6.22279e+01 + 5.92647e+01 5.63015e+01 5.33382e+01 5.03750e+01 4.74118e+01 4.44485e+01 + 4.14853e+01 3.85221e+01 3.55588e+01 3.25956e+01 2.96324e+01 2.66691e+01 + 2.37059e+01 2.07426e+01 1.77794e+01 1.48162e+01 1.18529e+01 8.88971e+00 + 5.92647e+00 2.96324e+00 0.00000e+00 + -118.0861 33.7436 0.4999 -47 89 1.00000e+10 15.5697 1.00000e-01 + 180 219.17 39 0.00 0 0.00 0 + 0.00000e+00 4.76459e+01 9.52917e+01 1.42938e+02 1.90583e+02 1.42938e+02 + 9.52917e+01 9.23139e+01 8.93360e+01 8.63581e+01 8.33803e+01 8.04024e+01 + 7.74245e+01 7.44467e+01 7.14688e+01 6.84909e+01 6.55131e+01 6.25352e+01 + 5.95573e+01 5.65795e+01 5.36016e+01 5.06237e+01 4.76459e+01 4.46680e+01 + 4.16901e+01 3.87123e+01 3.57344e+01 3.27565e+01 2.97787e+01 2.68008e+01 + 2.38229e+01 2.08451e+01 1.78672e+01 1.48893e+01 1.19115e+01 8.93360e+00 + 5.95573e+00 2.97787e+00 0.00000e+00 + -118.0940 33.7497 0.4999 -47 89 1.00000e+10 15.2463 1.00000e-01 + 180 194.58 39 0.00 0 0.00 0 + 0.00000e+00 4.23000e+01 8.46000e+01 1.26900e+02 1.69200e+02 1.26900e+02 + 8.46000e+01 8.19562e+01 7.93125e+01 7.66687e+01 7.40250e+01 7.13812e+01 + 6.87375e+01 6.60937e+01 6.34500e+01 6.08062e+01 5.81625e+01 5.55187e+01 + 5.28750e+01 5.02312e+01 4.75875e+01 4.49437e+01 4.23000e+01 3.96562e+01 + 3.70125e+01 3.43687e+01 3.17250e+01 2.90812e+01 2.64375e+01 2.37937e+01 + 2.11500e+01 1.85062e+01 1.58625e+01 1.32187e+01 1.05750e+01 7.93125e+00 + 5.28750e+00 2.64375e+00 0.00000e+00 + -118.1020 33.7559 0.4999 -47 89 1.00000e+10 14.8762 1.00000e-01 + 180 224.19 39 0.00 0 0.00 0 + 0.00000e+00 4.87372e+01 9.74744e+01 1.46212e+02 1.94949e+02 1.46212e+02 + 9.74744e+01 9.44283e+01 9.13822e+01 8.83362e+01 8.52901e+01 8.22440e+01 + 7.91979e+01 7.61519e+01 7.31058e+01 7.00597e+01 6.70136e+01 6.39676e+01 + 6.09215e+01 5.78754e+01 5.48293e+01 5.17833e+01 4.87372e+01 4.56911e+01 + 4.26450e+01 3.95990e+01 3.65529e+01 3.35068e+01 3.04607e+01 2.74147e+01 + 2.43686e+01 2.13225e+01 1.82764e+01 1.52304e+01 1.21843e+01 9.13822e+00 + 6.09215e+00 3.04607e+00 0.00000e+00 + -118.1099 33.7620 0.4999 -47 89 1.00000e+10 14.4673 1.00000e-01 + 180 285.87 39 0.00 0 0.00 0 + 0.00000e+00 6.21463e+01 1.24293e+02 1.86439e+02 2.48585e+02 1.86439e+02 + 1.24293e+02 1.20408e+02 1.16524e+02 1.12640e+02 1.08756e+02 1.04872e+02 + 1.00988e+02 9.71035e+01 9.32194e+01 8.93352e+01 8.54511e+01 8.15670e+01 + 7.76828e+01 7.37987e+01 6.99145e+01 6.60304e+01 6.21463e+01 5.82621e+01 + 5.43780e+01 5.04938e+01 4.66097e+01 4.27255e+01 3.88414e+01 3.49573e+01 + 3.10731e+01 2.71890e+01 2.33048e+01 1.94207e+01 1.55366e+01 1.16524e+01 + 7.76828e+00 3.88414e+00 0.00000e+00 + -118.1182 33.7678 0.4999 -52 89 1.00000e+10 14.0755 1.00000e-01 + 180 333.98 39 0.00 0 0.00 0 + 0.00000e+00 7.26051e+01 1.45210e+02 2.17815e+02 2.90420e+02 2.17815e+02 + 1.45210e+02 1.40672e+02 1.36135e+02 1.31597e+02 1.27059e+02 1.22521e+02 + 1.17983e+02 1.13445e+02 1.08908e+02 1.04370e+02 9.98320e+01 9.52942e+01 + 9.07564e+01 8.62185e+01 8.16807e+01 7.71429e+01 7.26051e+01 6.80673e+01 + 6.35294e+01 5.89916e+01 5.44538e+01 4.99160e+01 4.53782e+01 4.08404e+01 + 3.63025e+01 3.17647e+01 2.72269e+01 2.26891e+01 1.81513e+01 1.36135e+01 + 9.07564e+00 4.53782e+00 0.00000e+00 + -118.1267 33.7733 0.4999 -52 89 1.00000e+10 13.7313 1.00000e-01 + 180 334.17 39 0.00 0 0.00 0 + 0.00000e+00 7.26446e+01 1.45289e+02 2.17934e+02 2.90578e+02 2.17934e+02 + 1.45289e+02 1.40749e+02 1.36209e+02 1.31668e+02 1.27128e+02 1.22588e+02 + 1.18047e+02 1.13507e+02 1.08967e+02 1.04427e+02 9.98863e+01 9.53460e+01 + 9.08057e+01 8.62654e+01 8.17251e+01 7.71849e+01 7.26446e+01 6.81043e+01 + 6.35640e+01 5.90237e+01 5.44834e+01 4.99431e+01 4.54029e+01 4.08626e+01 + 3.63223e+01 3.17820e+01 2.72417e+01 2.27014e+01 1.81611e+01 1.36209e+01 + 9.08057e+00 4.54029e+00 0.00000e+00 + -118.1352 33.7789 0.4999 -52 89 1.00000e+10 13.4296 1.00000e-01 + 180 290.25 39 0.00 0 0.00 0 + 0.00000e+00 6.30980e+01 1.26196e+02 1.89294e+02 2.52392e+02 1.89294e+02 + 1.26196e+02 1.22252e+02 1.18309e+02 1.14365e+02 1.10422e+02 1.06478e+02 + 1.02534e+02 9.85906e+01 9.46470e+01 9.07034e+01 8.67598e+01 8.28161e+01 + 7.88725e+01 7.49289e+01 7.09853e+01 6.70416e+01 6.30980e+01 5.91544e+01 + 5.52108e+01 5.12671e+01 4.73235e+01 4.33799e+01 3.94363e+01 3.54926e+01 + 3.15490e+01 2.76054e+01 2.36618e+01 1.97181e+01 1.57745e+01 1.18309e+01 + 7.88725e+00 3.94363e+00 0.00000e+00 + -118.1437 33.7844 0.4999 -52 89 1.00000e+10 13.0567 1.00000e-01 + 180 320.10 39 0.00 0 0.00 0 + 0.00000e+00 6.95860e+01 1.39172e+02 2.08758e+02 2.78344e+02 2.08758e+02 + 1.39172e+02 1.34823e+02 1.30474e+02 1.26125e+02 1.21775e+02 1.17426e+02 + 1.13077e+02 1.08728e+02 1.04379e+02 1.00030e+02 9.56807e+01 9.13316e+01 + 8.69825e+01 8.26333e+01 7.82842e+01 7.39351e+01 6.95860e+01 6.52368e+01 + 6.08877e+01 5.65386e+01 5.21895e+01 4.78403e+01 4.34912e+01 3.91421e+01 + 3.47930e+01 3.04439e+01 2.60947e+01 2.17456e+01 1.73965e+01 1.30474e+01 + 8.69825e+00 4.34912e+00 0.00000e+00 + -118.1522 33.7901 0.4999 -51 89 1.00000e+10 12.5979 1.00000e-01 + 180 437.45 39 0.00 0 0.00 0 + 0.00000e+00 9.50968e+01 1.90194e+02 2.85290e+02 3.80387e+02 2.85290e+02 + 1.90194e+02 1.84250e+02 1.78307e+02 1.72363e+02 1.66419e+02 1.60476e+02 + 1.54532e+02 1.48589e+02 1.42645e+02 1.36702e+02 1.30758e+02 1.24815e+02 + 1.18871e+02 1.12927e+02 1.06984e+02 1.01040e+02 9.50968e+01 8.91533e+01 + 8.32097e+01 7.72662e+01 7.13226e+01 6.53791e+01 5.94355e+01 5.34920e+01 + 4.75484e+01 4.16049e+01 3.56613e+01 2.97178e+01 2.37742e+01 1.78307e+01 + 1.18871e+01 5.94355e+00 0.00000e+00 + -118.1606 33.7958 0.4999 -50 89 1.00000e+10 12.2563 1.00000e-01 + 180 432.34 39 0.00 0 0.00 0 + 0.00000e+00 9.39868e+01 1.87974e+02 2.81960e+02 3.75947e+02 2.81960e+02 + 1.87974e+02 1.82099e+02 1.76225e+02 1.70351e+02 1.64477e+02 1.58603e+02 + 1.52729e+02 1.46854e+02 1.40980e+02 1.35106e+02 1.29232e+02 1.23358e+02 + 1.17484e+02 1.11609e+02 1.05735e+02 9.98610e+01 9.39868e+01 8.81126e+01 + 8.22385e+01 7.63643e+01 7.04901e+01 6.46159e+01 5.87418e+01 5.28676e+01 + 4.69934e+01 4.11192e+01 3.52451e+01 2.93709e+01 2.34967e+01 1.76225e+01 + 1.17484e+01 5.87418e+00 0.00000e+00 + -118.1689 33.8015 0.4999 -50 89 1.00000e+10 11.9334 1.00000e-01 + 180 414.79 39 0.00 0 0.00 0 + 0.00000e+00 9.01726e+01 1.80345e+02 2.70518e+02 3.60690e+02 2.70518e+02 + 1.80345e+02 1.74709e+02 1.69074e+02 1.63438e+02 1.57802e+02 1.52166e+02 + 1.46530e+02 1.40895e+02 1.35259e+02 1.29623e+02 1.23987e+02 1.18352e+02 + 1.12716e+02 1.07080e+02 1.01444e+02 9.58084e+01 9.01726e+01 8.45368e+01 + 7.89010e+01 7.32652e+01 6.76294e+01 6.19936e+01 5.63579e+01 5.07221e+01 + 4.50863e+01 3.94505e+01 3.38147e+01 2.81789e+01 2.25431e+01 1.69074e+01 + 1.12716e+01 5.63579e+00 0.00000e+00 + -118.1773 33.8072 0.4999 -50 89 1.00000e+10 11.5712 1.00000e-01 + 180 438.40 39 0.00 0 0.00 0 + 0.00000e+00 9.53054e+01 1.90611e+02 2.85916e+02 3.81221e+02 2.85916e+02 + 1.90611e+02 1.84654e+02 1.78698e+02 1.72741e+02 1.66784e+02 1.60828e+02 + 1.54871e+02 1.48915e+02 1.42958e+02 1.37001e+02 1.31045e+02 1.25088e+02 + 1.19132e+02 1.13175e+02 1.07219e+02 1.01262e+02 9.53054e+01 8.93488e+01 + 8.33922e+01 7.74356e+01 7.14790e+01 6.55224e+01 5.95658e+01 5.36093e+01 + 4.76527e+01 4.16961e+01 3.57395e+01 2.97829e+01 2.38263e+01 1.78698e+01 + 1.19132e+01 5.95658e+00 0.00000e+00 + -118.1856 33.8130 0.4999 -50 89 1.00000e+10 11.1370 1.00000e-01 + 180 527.30 39 0.00 0 0.00 0 + 0.00000e+00 1.14630e+02 2.29260e+02 3.43891e+02 4.58521e+02 3.43891e+02 + 2.29260e+02 2.22096e+02 2.14932e+02 2.07767e+02 2.00603e+02 1.93438e+02 + 1.86274e+02 1.79110e+02 1.71945e+02 1.64781e+02 1.57616e+02 1.50452e+02 + 1.43288e+02 1.36123e+02 1.28959e+02 1.21795e+02 1.14630e+02 1.07466e+02 + 1.00301e+02 9.31370e+01 8.59726e+01 7.88082e+01 7.16439e+01 6.44795e+01 + 5.73151e+01 5.01507e+01 4.29863e+01 3.58219e+01 2.86575e+01 2.14932e+01 + 1.43288e+01 7.16439e+00 0.00000e+00 + -118.1940 33.8187 0.4999 -50 89 1.00000e+10 10.8558 1.00000e-01 + 180 470.47 39 0.00 0 0.00 0 + 0.00000e+00 1.02276e+02 2.04552e+02 3.06828e+02 4.09104e+02 3.06828e+02 + 2.04552e+02 1.98160e+02 1.91767e+02 1.85375e+02 1.78983e+02 1.72591e+02 + 1.66198e+02 1.59806e+02 1.53414e+02 1.47022e+02 1.40629e+02 1.34237e+02 + 1.27845e+02 1.21453e+02 1.15060e+02 1.08668e+02 1.02276e+02 9.58837e+01 + 8.94915e+01 8.30992e+01 7.67070e+01 7.03147e+01 6.39225e+01 5.75302e+01 + 5.11380e+01 4.47457e+01 3.83535e+01 3.19612e+01 2.55690e+01 1.91767e+01 + 1.27845e+01 6.39225e+00 0.00000e+00 + -118.2023 33.8245 0.4999 -50 89 1.00000e+10 10.7327 1.00000e-01 + 180 254.79 39 0.00 0 0.00 0 + 0.00000e+00 5.53891e+01 1.10778e+02 1.66167e+02 2.21557e+02 1.66167e+02 + 1.10778e+02 1.07316e+02 1.03855e+02 1.00393e+02 9.69310e+01 9.34691e+01 + 9.00073e+01 8.65455e+01 8.30837e+01 7.96219e+01 7.61600e+01 7.26982e+01 + 6.92364e+01 6.57746e+01 6.23128e+01 5.88509e+01 5.53891e+01 5.19273e+01 + 4.84655e+01 4.50037e+01 4.15418e+01 3.80800e+01 3.46182e+01 3.11564e+01 + 2.76946e+01 2.42327e+01 2.07709e+01 1.73091e+01 1.38473e+01 1.03855e+01 + 6.92364e+00 3.46182e+00 0.00000e+00 + -118.2105 33.8303 0.4999 -49 89 1.00000e+10 10.4874 1.00000e-01 + 180 163.71 39 0.00 0 0.00 0 + 0.00000e+00 3.55899e+01 7.11798e+01 1.06770e+02 1.42360e+02 1.06770e+02 + 7.11798e+01 6.89554e+01 6.67311e+01 6.45067e+01 6.22823e+01 6.00580e+01 + 5.78336e+01 5.56092e+01 5.33849e+01 5.11605e+01 4.89361e+01 4.67118e+01 + 4.44874e+01 4.22630e+01 4.00386e+01 3.78143e+01 3.55899e+01 3.33655e+01 + 3.11412e+01 2.89168e+01 2.66924e+01 2.44681e+01 2.22437e+01 2.00193e+01 + 1.77950e+01 1.55706e+01 1.33462e+01 1.11218e+01 8.89748e+00 6.67311e+00 + 4.44874e+00 2.22437e+00 0.00000e+00 + -118.2190 33.8359 0.4999 -54 89 1.00000e+10 10.2290 1.00000e-01 + 180 88.21 39 0.00 0 0.00 0 + 0.00000e+00 1.91753e+01 3.83505e+01 5.75258e+01 7.67011e+01 5.75258e+01 + 3.83505e+01 3.71521e+01 3.59536e+01 3.47552e+01 3.35567e+01 3.23583e+01 + 3.11598e+01 2.99614e+01 2.87629e+01 2.75645e+01 2.63660e+01 2.51675e+01 + 2.39691e+01 2.27706e+01 2.15722e+01 2.03737e+01 1.91753e+01 1.79768e+01 + 1.67784e+01 1.55799e+01 1.43815e+01 1.31830e+01 1.19845e+01 1.07861e+01 + 9.58764e+00 8.38918e+00 7.19073e+00 5.99227e+00 4.79382e+00 3.59536e+00 + 2.39691e+00 1.19845e+00 0.00000e+00 + -118.2277 33.8412 0.4999 -54 89 1.00000e+10 9.9379 1.00000e-01 + 180 46.31 39 0.00 0 0.00 0 + 0.00000e+00 1.00678e+01 2.01356e+01 3.02034e+01 4.02711e+01 3.02034e+01 + 2.01356e+01 1.95063e+01 1.88771e+01 1.82479e+01 1.76186e+01 1.69894e+01 + 1.63601e+01 1.57309e+01 1.51017e+01 1.44724e+01 1.38432e+01 1.32140e+01 + 1.25847e+01 1.19555e+01 1.13263e+01 1.06970e+01 1.00678e+01 9.43855e+00 + 8.80931e+00 8.18007e+00 7.55084e+00 6.92160e+00 6.29236e+00 5.66313e+00 + 5.03389e+00 4.40466e+00 3.77542e+00 3.14618e+00 2.51695e+00 1.88771e+00 + 1.25847e+00 6.29236e-01 0.00000e+00 + -118.2351 33.8476 0.4999 -33 89 1.00000e+10 9.5958 1.00000e-01 + 180 56.30 39 0.00 0 0.00 0 + 0.00000e+00 1.22395e+01 2.44790e+01 3.67185e+01 4.89580e+01 3.67185e+01 + 2.44790e+01 2.37140e+01 2.29491e+01 2.21841e+01 2.14191e+01 2.06542e+01 + 1.98892e+01 1.91242e+01 1.83592e+01 1.75943e+01 1.68293e+01 1.60643e+01 + 1.52994e+01 1.45344e+01 1.37694e+01 1.30045e+01 1.22395e+01 1.14745e+01 + 1.07096e+01 9.94459e+00 9.17962e+00 8.41465e+00 7.64968e+00 6.88472e+00 + 6.11975e+00 5.35478e+00 4.58981e+00 3.82484e+00 3.05987e+00 2.29491e+00 + 1.52994e+00 7.64969e-01 0.00000e+00 + -118.2410 33.8552 0.4999 -33 89 1.00000e+10 9.3208 1.00000e-01 + 180 5.09 39 0.00 0 0.00 0 + 0.00000e+00 1.10549e+00 2.21098e+00 3.31647e+00 4.42196e+00 3.31647e+00 + 2.21098e+00 2.14189e+00 2.07280e+00 2.00370e+00 1.93461e+00 1.86552e+00 + 1.79642e+00 1.72733e+00 1.65824e+00 1.58914e+00 1.52005e+00 1.45096e+00 + 1.38186e+00 1.31277e+00 1.24368e+00 1.17458e+00 1.10549e+00 1.03640e+00 + 9.67305e-01 8.98211e-01 8.29118e-01 7.60025e-01 6.90932e-01 6.21839e-01 + 5.52746e-01 4.83652e-01 4.14559e-01 3.45466e-01 2.76373e-01 2.07280e-01 + 1.38186e-01 6.90932e-02 0.00000e+00 + -118.2469 33.8627 0.4999 -33 89 1.00000e+10 9.0019 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2528 33.8703 0.4999 -33 89 1.00000e+10 8.6784 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2587 33.8778 0.4999 -33 89 1.00000e+10 8.3591 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2648 33.8853 0.4999 -35 89 1.00000e+10 8.0444 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2711 33.8926 0.4999 -36 89 1.00000e+10 7.7357 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2775 33.8998 0.4999 -36 89 1.00000e+10 7.4348 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2840 33.9071 0.4999 -36 89 1.00000e+10 7.1336 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2903 33.9144 0.4999 -35 89 1.00000e+10 6.8498 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2964 33.9218 0.4999 -34 89 1.00000e+10 6.5665 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3032 33.9284 0.4999 -47 89 1.00000e+10 6.2973 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3123 33.9322 0.4999 -78 89 1.00000e+10 6.0398 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3205 33.9369 0.4999 -33 89 1.00000e+10 5.7942 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3263 33.9444 0.4999 -32 89 1.00000e+10 5.5621 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3336 33.9507 0.4999 -56 89 1.00000e+10 5.3528 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3426 33.9558 0.4999 -56 89 1.00000e+10 5.1594 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3505 33.9614 0.4999 -42 89 1.00000e+10 4.9920 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3550 33.9690 0.4999 -12 89 1.00000e+10 4.8500 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3573 33.9778 0.4999 -12 89 1.00000e+10 4.7378 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3599 33.9865 0.4999 -15 89 1.00000e+10 4.6539 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3634 33.9950 0.4999 -23 89 1.00000e+10 4.6032 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3677 34.0032 0.4999 -24 89 1.00000e+10 4.5863 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3721 34.0115 0.4999 -24 89 1.00000e+10 4.5966 1.00000e-01 + 180 6.67 39 0.00 0 0.00 0 + 0.00000e+00 1.45084e+00 2.90167e+00 4.35251e+00 5.80334e+00 4.35251e+00 + 2.90167e+00 2.81100e+00 2.72032e+00 2.62964e+00 2.53896e+00 2.44829e+00 + 2.35761e+00 2.26693e+00 2.17625e+00 2.08558e+00 1.99490e+00 1.90422e+00 + 1.81355e+00 1.72287e+00 1.63219e+00 1.54151e+00 1.45084e+00 1.36016e+00 + 1.26948e+00 1.17880e+00 1.08813e+00 9.97450e-01 9.06773e-01 8.16095e-01 + 7.25418e-01 6.34741e-01 5.44064e-01 4.53386e-01 3.62709e-01 2.72032e-01 + 1.81355e-01 9.06773e-02 0.00000e+00 + -118.3766 34.0197 0.4999 -24 89 1.00000e+10 4.6525 1.00000e-01 + 180 1.49 39 0.00 0 0.00 0 + 0.00000e+00 3.22860e-01 6.45721e-01 9.68581e-01 1.29144e+00 9.68581e-01 + 6.45721e-01 6.25542e-01 6.05363e-01 5.85184e-01 5.65006e-01 5.44827e-01 + 5.24648e-01 5.04469e-01 4.84291e-01 4.64112e-01 4.43933e-01 4.23754e-01 + 4.03576e-01 3.83397e-01 3.63218e-01 3.43039e-01 3.22860e-01 3.02682e-01 + 2.82503e-01 2.62324e-01 2.42145e-01 2.21967e-01 2.01788e-01 1.81609e-01 + 1.61430e-01 1.41251e-01 1.21073e-01 1.00894e-01 8.07151e-02 6.05363e-02 + 4.03575e-02 2.01788e-02 0.00000e+00 + -118.3810 34.0279 0.4999 -24 89 1.00000e+10 4.7296 1.00000e-01 + 180 8.23 39 0.00 0 0.00 0 + 0.00000e+00 1.78845e+00 3.57690e+00 5.36535e+00 7.15379e+00 5.36535e+00 + 3.57690e+00 3.46512e+00 3.35334e+00 3.24156e+00 3.12978e+00 3.01801e+00 + 2.90623e+00 2.79445e+00 2.68267e+00 2.57089e+00 2.45912e+00 2.34734e+00 + 2.23556e+00 2.12378e+00 2.01200e+00 1.90023e+00 1.78845e+00 1.67667e+00 + 1.56489e+00 1.45311e+00 1.34134e+00 1.22956e+00 1.11778e+00 1.00600e+00 + 8.94224e-01 7.82446e-01 6.70668e-01 5.58890e-01 4.47112e-01 3.35334e-01 + 2.23556e-01 1.11778e-01 0.00000e+00 + -117.3570 33.0604 1.4998 -33 89 1.00000e+10 51.0662 1.00000e-01 + 180 10.67 39 0.00 0 0.00 0 + 0.00000e+00 2.31859e+00 4.63717e+00 6.95576e+00 9.27435e+00 6.95576e+00 + 4.63717e+00 4.49226e+00 4.34735e+00 4.20244e+00 4.05753e+00 3.91261e+00 + 3.76770e+00 3.62279e+00 3.47788e+00 3.33297e+00 3.18806e+00 3.04314e+00 + 2.89823e+00 2.75332e+00 2.60841e+00 2.46350e+00 2.31859e+00 2.17367e+00 + 2.02876e+00 1.88385e+00 1.73894e+00 1.59403e+00 1.44912e+00 1.30420e+00 + 1.15929e+00 1.01438e+00 8.69470e-01 7.24558e-01 5.79647e-01 4.34735e-01 + 2.89823e-01 1.44912e-01 0.00000e+00 + -117.3628 33.0680 1.4998 -33 89 1.00000e+10 50.6978 1.00000e-01 + 180 29.15 39 0.00 0 0.00 0 + 0.00000e+00 6.33672e+00 1.26734e+01 1.90101e+01 2.53469e+01 1.90101e+01 + 1.26734e+01 1.22774e+01 1.18813e+01 1.14853e+01 1.10893e+01 1.06932e+01 + 1.02972e+01 9.90112e+00 9.50507e+00 9.10903e+00 8.71299e+00 8.31694e+00 + 7.92090e+00 7.52485e+00 7.12881e+00 6.73276e+00 6.33672e+00 5.94067e+00 + 5.54463e+00 5.14858e+00 4.75254e+00 4.35649e+00 3.96045e+00 3.56440e+00 + 3.16836e+00 2.77231e+00 2.37627e+00 1.98022e+00 1.58418e+00 1.18813e+00 + 7.92090e-01 3.96045e-01 0.00000e+00 + -117.3687 33.0755 1.4998 -33 89 1.00000e+10 50.3329 1.00000e-01 + 180 46.02 39 0.00 0 0.00 0 + 0.00000e+00 1.00042e+01 2.00084e+01 3.00127e+01 4.00169e+01 3.00127e+01 + 2.00084e+01 1.93832e+01 1.87579e+01 1.81326e+01 1.75074e+01 1.68821e+01 + 1.62569e+01 1.56316e+01 1.50063e+01 1.43811e+01 1.37558e+01 1.31305e+01 + 1.25053e+01 1.18800e+01 1.12547e+01 1.06295e+01 1.00042e+01 9.37896e+00 + 8.75369e+00 8.12843e+00 7.50316e+00 6.87790e+00 6.25264e+00 5.62737e+00 + 5.00211e+00 4.37685e+00 3.75158e+00 3.12632e+00 2.50105e+00 1.87579e+00 + 1.25053e+00 6.25264e-01 0.00000e+00 + -117.3747 33.0829 1.4998 -36 89 1.00000e+10 49.9732 1.00000e-01 + 180 59.63 39 0.00 0 0.00 0 + 0.00000e+00 1.29623e+01 2.59246e+01 3.88870e+01 5.18493e+01 3.88870e+01 + 2.59246e+01 2.51145e+01 2.43044e+01 2.34942e+01 2.26841e+01 2.18739e+01 + 2.10638e+01 2.02536e+01 1.94435e+01 1.86333e+01 1.78232e+01 1.70131e+01 + 1.62029e+01 1.53928e+01 1.45826e+01 1.37725e+01 1.29623e+01 1.21522e+01 + 1.13420e+01 1.05319e+01 9.72174e+00 8.91160e+00 8.10145e+00 7.29131e+00 + 6.48116e+00 5.67102e+00 4.86087e+00 4.05073e+00 3.24058e+00 2.43044e+00 + 1.62029e+00 8.10145e-01 0.00000e+00 + -117.3822 33.0891 1.4998 -55 89 1.00000e+10 49.5803 1.00000e-01 + 180 101.88 39 0.00 0 0.00 0 + 0.00000e+00 2.21485e+01 4.42971e+01 6.64456e+01 8.85941e+01 6.64456e+01 + 4.42971e+01 4.29128e+01 4.15285e+01 4.01442e+01 3.87599e+01 3.73757e+01 + 3.59914e+01 3.46071e+01 3.32228e+01 3.18385e+01 3.04542e+01 2.90700e+01 + 2.76857e+01 2.63014e+01 2.49171e+01 2.35328e+01 2.21485e+01 2.07643e+01 + 1.93800e+01 1.79957e+01 1.66114e+01 1.52271e+01 1.38428e+01 1.24586e+01 + 1.10743e+01 9.68999e+00 8.30570e+00 6.92142e+00 5.53713e+00 4.15285e+00 + 2.76857e+00 1.38428e+00 0.00000e+00 + -117.3910 33.0943 1.4998 -55 89 1.00000e+10 49.1948 1.00000e-01 + 180 146.21 39 0.00 0 0.00 0 + 0.00000e+00 3.17845e+01 6.35690e+01 9.53536e+01 1.27138e+02 9.53536e+01 + 6.35690e+01 6.15825e+01 5.95960e+01 5.76094e+01 5.56229e+01 5.36364e+01 + 5.16498e+01 4.96633e+01 4.76768e+01 4.56903e+01 4.37037e+01 4.17172e+01 + 3.97307e+01 3.77441e+01 3.57576e+01 3.37711e+01 3.17845e+01 2.97980e+01 + 2.78115e+01 2.58249e+01 2.38384e+01 2.18519e+01 1.98653e+01 1.78788e+01 + 1.58923e+01 1.39057e+01 1.19192e+01 9.93266e+00 7.94613e+00 5.95960e+00 + 3.97307e+00 1.98653e+00 0.00000e+00 + -117.3994 33.0999 1.4998 -48 89 1.00000e+10 48.8173 1.00000e-01 + 180 171.57 39 0.00 0 0.00 0 + 0.00000e+00 3.72972e+01 7.45945e+01 1.11892e+02 1.49189e+02 1.11892e+02 + 7.45945e+01 7.22634e+01 6.99323e+01 6.76012e+01 6.52701e+01 6.29391e+01 + 6.06080e+01 5.82769e+01 5.59458e+01 5.36148e+01 5.12837e+01 4.89526e+01 + 4.66215e+01 4.42905e+01 4.19594e+01 3.96283e+01 3.72972e+01 3.49661e+01 + 3.26351e+01 3.03040e+01 2.79729e+01 2.56418e+01 2.33108e+01 2.09797e+01 + 1.86486e+01 1.63175e+01 1.39865e+01 1.16554e+01 9.32431e+00 6.99323e+00 + 4.66215e+00 2.33108e+00 0.00000e+00 + -117.4074 33.1059 1.4998 -47 89 1.00000e+10 48.3969 1.00000e-01 + 180 250.03 39 0.00 0 0.00 0 + 0.00000e+00 5.43538e+01 1.08708e+02 1.63061e+02 2.17415e+02 1.63061e+02 + 1.08708e+02 1.05311e+02 1.01913e+02 9.85163e+01 9.51192e+01 9.17221e+01 + 8.83249e+01 8.49278e+01 8.15307e+01 7.81336e+01 7.47365e+01 7.13394e+01 + 6.79423e+01 6.45452e+01 6.11480e+01 5.77509e+01 5.43538e+01 5.09567e+01 + 4.75596e+01 4.41625e+01 4.07654e+01 3.73682e+01 3.39711e+01 3.05740e+01 + 2.71769e+01 2.37798e+01 2.03827e+01 1.69856e+01 1.35885e+01 1.01913e+01 + 6.79423e+00 3.39711e+00 0.00000e+00 + -117.4145 33.1126 1.4998 -36 89 1.00000e+10 47.9789 1.00000e-01 + 180 322.90 39 0.00 0 0.00 0 + 0.00000e+00 7.01949e+01 1.40390e+02 2.10585e+02 2.80780e+02 2.10585e+02 + 1.40390e+02 1.36003e+02 1.31615e+02 1.27228e+02 1.22841e+02 1.18454e+02 + 1.14067e+02 1.09680e+02 1.05292e+02 1.00905e+02 9.65180e+01 9.21308e+01 + 8.77436e+01 8.33565e+01 7.89693e+01 7.45821e+01 7.01949e+01 6.58077e+01 + 6.14205e+01 5.70334e+01 5.26462e+01 4.82590e+01 4.38718e+01 3.94846e+01 + 3.50975e+01 3.07103e+01 2.63231e+01 2.19359e+01 1.75487e+01 1.31615e+01 + 8.77436e+00 4.38718e+00 0.00000e+00 + -117.4205 33.1200 1.4998 -33 89 1.00000e+10 47.6007 1.00000e-01 + 180 352.85 39 0.00 0 0.00 0 + 0.00000e+00 7.67058e+01 1.53412e+02 2.30117e+02 3.06823e+02 2.30117e+02 + 1.53412e+02 1.48617e+02 1.43823e+02 1.39029e+02 1.34235e+02 1.29441e+02 + 1.24647e+02 1.19853e+02 1.15059e+02 1.10265e+02 1.05470e+02 1.00676e+02 + 9.58822e+01 9.10881e+01 8.62940e+01 8.14999e+01 7.67058e+01 7.19117e+01 + 6.71176e+01 6.23234e+01 5.75293e+01 5.27352e+01 4.79411e+01 4.31470e+01 + 3.83529e+01 3.35588e+01 2.87647e+01 2.39706e+01 1.91764e+01 1.43823e+01 + 9.58822e+00 4.79411e+00 0.00000e+00 + -117.4241 33.1282 1.4998 -8 89 1.00000e+10 47.2513 1.00000e-01 + 180 351.80 39 0.00 0 0.00 0 + 0.00000e+00 7.64788e+01 1.52958e+02 2.29437e+02 3.05915e+02 2.29437e+02 + 1.52958e+02 1.48178e+02 1.43398e+02 1.38618e+02 1.33838e+02 1.29058e+02 + 1.24278e+02 1.19498e+02 1.14718e+02 1.09938e+02 1.05158e+02 1.00378e+02 + 9.55985e+01 9.08186e+01 8.60387e+01 8.12588e+01 7.64788e+01 7.16989e+01 + 6.69190e+01 6.21391e+01 5.73591e+01 5.25792e+01 4.77993e+01 4.30193e+01 + 3.82394e+01 3.34595e+01 2.86796e+01 2.38996e+01 1.91197e+01 1.43398e+01 + 9.55985e+00 4.77993e+00 0.00000e+00 + -117.4257 33.1371 1.4998 -8 89 1.00000e+10 46.8732 1.00000e-01 + 180 383.95 39 0.00 0 0.00 0 + 0.00000e+00 8.34678e+01 1.66936e+02 2.50403e+02 3.33871e+02 2.50403e+02 + 1.66936e+02 1.61719e+02 1.56502e+02 1.51285e+02 1.46069e+02 1.40852e+02 + 1.35635e+02 1.30418e+02 1.25202e+02 1.19985e+02 1.14768e+02 1.09552e+02 + 1.04335e+02 9.91180e+01 9.39013e+01 8.86846e+01 8.34678e+01 7.82511e+01 + 7.30343e+01 6.78176e+01 6.26009e+01 5.73841e+01 5.21674e+01 4.69506e+01 + 4.17339e+01 3.65172e+01 3.13004e+01 2.60837e+01 2.08670e+01 1.56502e+01 + 1.04335e+01 5.21674e+00 0.00000e+00 + -117.4272 33.1460 1.4998 -8 89 1.00000e+10 46.5612 1.00000e-01 + 180 348.11 39 0.00 0 0.00 0 + 0.00000e+00 7.56766e+01 1.51353e+02 2.27030e+02 3.02706e+02 2.27030e+02 + 1.51353e+02 1.46623e+02 1.41894e+02 1.37164e+02 1.32434e+02 1.27704e+02 + 1.22974e+02 1.18245e+02 1.13515e+02 1.08785e+02 1.04055e+02 9.93256e+01 + 9.45958e+01 8.98660e+01 8.51362e+01 8.04064e+01 7.56766e+01 7.09468e+01 + 6.62170e+01 6.14872e+01 5.67575e+01 5.20277e+01 4.72979e+01 4.25681e+01 + 3.78383e+01 3.31085e+01 2.83787e+01 2.36489e+01 1.89192e+01 1.41894e+01 + 9.45958e+00 4.72979e+00 0.00000e+00 + -117.4297 33.1546 1.4998 -20 89 1.00000e+10 46.2069 1.00000e-01 + 180 354.01 39 0.00 0 0.00 0 + 0.00000e+00 7.69593e+01 1.53919e+02 2.30878e+02 3.07837e+02 2.30878e+02 + 1.53919e+02 1.49109e+02 1.44299e+02 1.39489e+02 1.34679e+02 1.29869e+02 + 1.25059e+02 1.20249e+02 1.15439e+02 1.10629e+02 1.05819e+02 1.01009e+02 + 9.61991e+01 9.13891e+01 8.65792e+01 8.17692e+01 7.69593e+01 7.21493e+01 + 6.73394e+01 6.25294e+01 5.77195e+01 5.29095e+01 4.80996e+01 4.32896e+01 + 3.84796e+01 3.36697e+01 2.88597e+01 2.40498e+01 1.92398e+01 1.44299e+01 + 9.61991e+00 4.80996e+00 0.00000e+00 + -117.4348 33.1622 1.4998 -39 89 1.00000e+10 45.7880 1.00000e-01 + 180 424.88 39 0.00 0 0.00 0 + 0.00000e+00 9.23657e+01 1.84731e+02 2.77097e+02 3.69463e+02 2.77097e+02 + 1.84731e+02 1.78959e+02 1.73186e+02 1.67413e+02 1.61640e+02 1.55867e+02 + 1.50094e+02 1.44321e+02 1.38549e+02 1.32776e+02 1.27003e+02 1.21230e+02 + 1.15457e+02 1.09684e+02 1.03911e+02 9.81386e+01 9.23657e+01 8.65929e+01 + 8.08200e+01 7.50471e+01 6.92743e+01 6.35014e+01 5.77286e+01 5.19557e+01 + 4.61829e+01 4.04100e+01 3.46371e+01 2.88643e+01 2.30914e+01 1.73186e+01 + 1.15457e+01 5.77286e+00 0.00000e+00 + -117.4415 33.1692 1.4998 -39 89 1.00000e+10 45.4481 1.00000e-01 + 180 421.15 39 0.00 0 0.00 0 + 0.00000e+00 9.15553e+01 1.83111e+02 2.74666e+02 3.66221e+02 2.74666e+02 + 1.83111e+02 1.77388e+02 1.71666e+02 1.65944e+02 1.60222e+02 1.54500e+02 + 1.48777e+02 1.43055e+02 1.37333e+02 1.31611e+02 1.25889e+02 1.20166e+02 + 1.14444e+02 1.08722e+02 1.03000e+02 9.72775e+01 9.15553e+01 8.58331e+01 + 8.01109e+01 7.43887e+01 6.86665e+01 6.29443e+01 5.72220e+01 5.14998e+01 + 4.57776e+01 4.00554e+01 3.43332e+01 2.86110e+01 2.28888e+01 1.71666e+01 + 1.14444e+01 5.72221e+00 0.00000e+00 + -117.4483 33.1762 1.4998 -39 89 1.00000e+10 45.1857 1.00000e-01 + 180 334.51 39 0.00 0 0.00 0 + 0.00000e+00 7.27202e+01 1.45440e+02 2.18160e+02 2.90881e+02 2.18160e+02 + 1.45440e+02 1.40895e+02 1.36350e+02 1.31805e+02 1.27260e+02 1.22715e+02 + 1.18170e+02 1.13625e+02 1.09080e+02 1.04535e+02 9.99902e+01 9.54452e+01 + 9.09002e+01 8.63552e+01 8.18102e+01 7.72652e+01 7.27202e+01 6.81751e+01 + 6.36301e+01 5.90851e+01 5.45401e+01 4.99951e+01 4.54501e+01 4.09051e+01 + 3.63601e+01 3.18151e+01 2.72701e+01 2.27250e+01 1.81800e+01 1.36350e+01 + 9.09002e+00 4.54501e+00 0.00000e+00 + -117.4550 33.1832 1.4998 -39 89 1.00000e+10 44.8104 1.00000e-01 + 180 362.60 39 0.00 0 0.00 0 + 0.00000e+00 7.88254e+01 1.57651e+02 2.36476e+02 3.15302e+02 2.36476e+02 + 1.57651e+02 1.52724e+02 1.47798e+02 1.42871e+02 1.37944e+02 1.33018e+02 + 1.28091e+02 1.23165e+02 1.18238e+02 1.13311e+02 1.08385e+02 1.03458e+02 + 9.85317e+01 9.36051e+01 8.86786e+01 8.37520e+01 7.88254e+01 7.38988e+01 + 6.89722e+01 6.40456e+01 5.91190e+01 5.41925e+01 4.92659e+01 4.43393e+01 + 3.94127e+01 3.44861e+01 2.95595e+01 2.46329e+01 1.97063e+01 1.47798e+01 + 9.85317e+00 4.92659e+00 0.00000e+00 + -117.4617 33.1903 1.4998 -39 89 1.00000e+10 44.4877 1.00000e-01 + 180 338.75 39 0.00 0 0.00 0 + 0.00000e+00 7.36403e+01 1.47281e+02 2.20921e+02 2.94561e+02 2.20921e+02 + 1.47281e+02 1.42678e+02 1.38075e+02 1.33473e+02 1.28870e+02 1.24268e+02 + 1.19665e+02 1.15063e+02 1.10460e+02 1.05858e+02 1.01255e+02 9.66528e+01 + 9.20503e+01 8.74478e+01 8.28453e+01 7.82428e+01 7.36403e+01 6.90377e+01 + 6.44352e+01 5.98327e+01 5.52302e+01 5.06277e+01 4.60252e+01 4.14226e+01 + 3.68201e+01 3.22176e+01 2.76151e+01 2.30126e+01 1.84101e+01 1.38075e+01 + 9.20503e+00 4.60252e+00 0.00000e+00 + -117.4684 33.1973 1.4998 -39 89 1.00000e+10 44.1180 1.00000e-01 + 180 359.40 39 0.00 0 0.00 0 + 0.00000e+00 7.81309e+01 1.56262e+02 2.34393e+02 3.12524e+02 2.34393e+02 + 1.56262e+02 1.51379e+02 1.46495e+02 1.41612e+02 1.36729e+02 1.31846e+02 + 1.26963e+02 1.22080e+02 1.17196e+02 1.12313e+02 1.07430e+02 1.02547e+02 + 9.76636e+01 9.27804e+01 8.78973e+01 8.30141e+01 7.81309e+01 7.32477e+01 + 6.83645e+01 6.34814e+01 5.85982e+01 5.37150e+01 4.88318e+01 4.39486e+01 + 3.90654e+01 3.41823e+01 2.92991e+01 2.44159e+01 1.95327e+01 1.46495e+01 + 9.76636e+00 4.88318e+00 0.00000e+00 + -117.4752 33.2043 1.4998 -39 89 1.00000e+10 43.7837 1.00000e-01 + 180 350.87 39 0.00 0 0.00 0 + 0.00000e+00 7.62759e+01 1.52552e+02 2.28828e+02 3.05104e+02 2.28828e+02 + 1.52552e+02 1.47785e+02 1.43017e+02 1.38250e+02 1.33483e+02 1.28716e+02 + 1.23948e+02 1.19181e+02 1.14414e+02 1.09647e+02 1.04879e+02 1.00112e+02 + 9.53449e+01 9.05776e+01 8.58104e+01 8.10431e+01 7.62759e+01 7.15087e+01 + 6.67414e+01 6.19742e+01 5.72069e+01 5.24397e+01 4.76724e+01 4.29052e+01 + 3.81379e+01 3.33707e+01 2.86035e+01 2.38362e+01 1.90690e+01 1.43017e+01 + 9.53449e+00 4.76724e+00 0.00000e+00 + -117.4819 33.2113 1.4998 -39 89 1.00000e+10 43.3881 1.00000e-01 + 180 397.68 39 0.00 0 0.00 0 + 0.00000e+00 8.64523e+01 1.72905e+02 2.59357e+02 3.45809e+02 2.59357e+02 + 1.72905e+02 1.67501e+02 1.62098e+02 1.56695e+02 1.51292e+02 1.45888e+02 + 1.40485e+02 1.35082e+02 1.29678e+02 1.24275e+02 1.18872e+02 1.13469e+02 + 1.08065e+02 1.02662e+02 9.72589e+01 9.18556e+01 8.64523e+01 8.10491e+01 + 7.56458e+01 7.02425e+01 6.48392e+01 5.94360e+01 5.40327e+01 4.86294e+01 + 4.32262e+01 3.78229e+01 3.24196e+01 2.70164e+01 2.16131e+01 1.62098e+01 + 1.08065e+01 5.40327e+00 0.00000e+00 + -117.4894 33.2176 1.4998 -51 89 1.00000e+10 42.9440 1.00000e-01 + 180 496.31 39 0.00 0 0.00 0 + 0.00000e+00 1.07894e+02 2.15788e+02 3.23682e+02 4.31576e+02 3.23682e+02 + 2.15788e+02 2.09045e+02 2.02301e+02 1.95558e+02 1.88815e+02 1.82071e+02 + 1.75328e+02 1.68584e+02 1.61841e+02 1.55098e+02 1.48354e+02 1.41611e+02 + 1.34868e+02 1.28124e+02 1.21381e+02 1.14637e+02 1.07894e+02 1.01151e+02 + 9.44073e+01 8.76639e+01 8.09205e+01 7.41772e+01 6.74338e+01 6.06904e+01 + 5.39470e+01 4.72036e+01 4.04603e+01 3.37169e+01 2.69735e+01 2.02301e+01 + 1.34868e+01 6.74338e+00 0.00000e+00 + -117.4980 33.2230 1.4998 -55 89 1.00000e+10 42.6613 1.00000e-01 + 180 427.33 39 0.00 0 0.00 0 + 0.00000e+00 9.28975e+01 1.85795e+02 2.78693e+02 3.71590e+02 2.78693e+02 + 1.85795e+02 1.79989e+02 1.74183e+02 1.68377e+02 1.62571e+02 1.56765e+02 + 1.50958e+02 1.45152e+02 1.39346e+02 1.33540e+02 1.27734e+02 1.21928e+02 + 1.16122e+02 1.10316e+02 1.04510e+02 9.87036e+01 9.28975e+01 8.70914e+01 + 8.12853e+01 7.54792e+01 6.96731e+01 6.38670e+01 5.80609e+01 5.22548e+01 + 4.64487e+01 4.06427e+01 3.48366e+01 2.90305e+01 2.32244e+01 1.74183e+01 + 1.16122e+01 5.80609e+00 0.00000e+00 + -117.5069 33.2281 1.4998 -55 89 1.00000e+10 42.3387 1.00000e-01 + 180 402.28 39 0.00 0 0.00 0 + 0.00000e+00 8.74515e+01 1.74903e+02 2.62354e+02 3.49806e+02 2.62354e+02 + 1.74903e+02 1.69437e+02 1.63972e+02 1.58506e+02 1.53040e+02 1.47574e+02 + 1.42109e+02 1.36643e+02 1.31177e+02 1.25712e+02 1.20246e+02 1.14780e+02 + 1.09314e+02 1.03849e+02 9.83829e+01 9.29172e+01 8.74515e+01 8.19858e+01 + 7.65201e+01 7.10543e+01 6.55886e+01 6.01229e+01 5.46572e+01 4.91915e+01 + 4.37257e+01 3.82600e+01 3.27943e+01 2.73286e+01 2.18629e+01 1.63972e+01 + 1.09314e+01 5.46572e+00 0.00000e+00 + -117.5157 33.2333 1.4998 -55 89 1.00000e+10 42.0407 1.00000e-01 + 180 356.24 39 0.00 0 0.00 0 + 0.00000e+00 7.74431e+01 1.54886e+02 2.32329e+02 3.09773e+02 2.32329e+02 + 1.54886e+02 1.50046e+02 1.45206e+02 1.40366e+02 1.35525e+02 1.30685e+02 + 1.25845e+02 1.21005e+02 1.16165e+02 1.11325e+02 1.06484e+02 1.01644e+02 + 9.68039e+01 9.19637e+01 8.71235e+01 8.22833e+01 7.74431e+01 7.26029e+01 + 6.77627e+01 6.29226e+01 5.80824e+01 5.32422e+01 4.84020e+01 4.35618e+01 + 3.87216e+01 3.38814e+01 2.90412e+01 2.42010e+01 1.93608e+01 1.45206e+01 + 9.68039e+00 4.84020e+00 0.00000e+00 + -117.5245 33.2384 1.4998 -55 89 1.00000e+10 41.8435 1.00000e-01 + 180 205.33 39 0.00 0 0.00 0 + 0.00000e+00 4.46363e+01 8.92727e+01 1.33909e+02 1.78545e+02 1.33909e+02 + 8.92727e+01 8.64829e+01 8.36931e+01 8.09034e+01 7.81136e+01 7.53238e+01 + 7.25340e+01 6.97443e+01 6.69545e+01 6.41647e+01 6.13750e+01 5.85852e+01 + 5.57954e+01 5.30057e+01 5.02159e+01 4.74261e+01 4.46363e+01 4.18466e+01 + 3.90568e+01 3.62670e+01 3.34773e+01 3.06875e+01 2.78977e+01 2.51079e+01 + 2.23182e+01 1.95284e+01 1.67386e+01 1.39489e+01 1.11591e+01 8.36931e+00 + 5.57954e+00 2.78977e+00 0.00000e+00 + -117.5333 33.2436 1.4998 -55 89 1.00000e+10 41.4213 1.00000e-01 + 180 279.04 39 0.00 0 0.00 0 + 0.00000e+00 6.06607e+01 1.21321e+02 1.81982e+02 2.42643e+02 1.81982e+02 + 1.21321e+02 1.17530e+02 1.13739e+02 1.09947e+02 1.06156e+02 1.02365e+02 + 9.85736e+01 9.47823e+01 9.09910e+01 8.71997e+01 8.34084e+01 7.96171e+01 + 7.58258e+01 7.20345e+01 6.82433e+01 6.44520e+01 6.06607e+01 5.68694e+01 + 5.30781e+01 4.92868e+01 4.54955e+01 4.17042e+01 3.79129e+01 3.41216e+01 + 3.03303e+01 2.65390e+01 2.27478e+01 1.89565e+01 1.51652e+01 1.13739e+01 + 7.58258e+00 3.79129e+00 0.00000e+00 + -117.5422 33.2487 1.4998 -55 89 1.00000e+10 41.0161 1.00000e-01 + 180 340.79 39 0.00 0 0.00 0 + 0.00000e+00 7.40849e+01 1.48170e+02 2.22255e+02 2.96339e+02 2.22255e+02 + 1.48170e+02 1.43539e+02 1.38909e+02 1.34279e+02 1.29649e+02 1.25018e+02 + 1.20388e+02 1.15758e+02 1.11127e+02 1.06497e+02 1.01867e+02 9.72364e+01 + 9.26061e+01 8.79758e+01 8.33455e+01 7.87152e+01 7.40849e+01 6.94546e+01 + 6.48243e+01 6.01940e+01 5.55637e+01 5.09333e+01 4.63030e+01 4.16727e+01 + 3.70424e+01 3.24121e+01 2.77818e+01 2.31515e+01 1.85212e+01 1.38909e+01 + 9.26061e+00 4.63030e+00 0.00000e+00 + -117.5500 33.2548 1.4998 -39 89 1.00000e+10 40.6075 1.00000e-01 + 180 398.09 39 0.00 0 0.00 0 + 0.00000e+00 8.65423e+01 1.73085e+02 2.59627e+02 3.46169e+02 2.59627e+02 + 1.73085e+02 1.67676e+02 1.62267e+02 1.56858e+02 1.51449e+02 1.46040e+02 + 1.40631e+02 1.35222e+02 1.29814e+02 1.24405e+02 1.18996e+02 1.13587e+02 + 1.08178e+02 1.02769e+02 9.73601e+01 9.19512e+01 8.65423e+01 8.11334e+01 + 7.57245e+01 7.03157e+01 6.49068e+01 5.94979e+01 5.40890e+01 4.86801e+01 + 4.32712e+01 3.78623e+01 3.24534e+01 2.70445e+01 2.16356e+01 1.62267e+01 + 1.08178e+01 5.40890e+00 0.00000e+00 + -117.5566 33.2618 1.4998 -38 89 1.00000e+10 40.2713 1.00000e-01 + 180 388.32 39 0.00 0 0.00 0 + 0.00000e+00 8.44168e+01 1.68834e+02 2.53250e+02 3.37667e+02 2.53250e+02 + 1.68834e+02 1.63558e+02 1.58281e+02 1.53005e+02 1.47729e+02 1.42453e+02 + 1.37177e+02 1.31901e+02 1.26625e+02 1.21349e+02 1.16073e+02 1.10797e+02 + 1.05521e+02 1.00245e+02 9.49689e+01 8.96928e+01 8.44168e+01 7.91407e+01 + 7.38647e+01 6.85886e+01 6.33126e+01 5.80365e+01 5.27605e+01 4.74844e+01 + 4.22084e+01 3.69323e+01 3.16563e+01 2.63802e+01 2.11042e+01 1.58281e+01 + 1.05521e+01 5.27605e+00 0.00000e+00 + -117.5633 33.2689 1.4998 -38 89 1.00000e+10 39.9387 1.00000e-01 + 180 374.80 39 0.00 0 0.00 0 + 0.00000e+00 8.14790e+01 1.62958e+02 2.44437e+02 3.25916e+02 2.44437e+02 + 1.62958e+02 1.57866e+02 1.52773e+02 1.47681e+02 1.42588e+02 1.37496e+02 + 1.32403e+02 1.27311e+02 1.22219e+02 1.17126e+02 1.12034e+02 1.06941e+02 + 1.01849e+02 9.67563e+01 9.16639e+01 8.65715e+01 8.14790e+01 7.63866e+01 + 7.12941e+01 6.62017e+01 6.11093e+01 5.60168e+01 5.09244e+01 4.58319e+01 + 4.07395e+01 3.56471e+01 3.05546e+01 2.54622e+01 2.03698e+01 1.52773e+01 + 1.01849e+01 5.09244e+00 0.00000e+00 + -117.5699 33.2760 1.4998 -38 89 1.00000e+10 39.7283 1.00000e-01 + 180 238.52 39 0.00 0 0.00 0 + 0.00000e+00 5.18523e+01 1.03705e+02 1.55557e+02 2.07409e+02 1.55557e+02 + 1.03705e+02 1.00464e+02 9.72230e+01 9.39823e+01 9.07415e+01 8.75007e+01 + 8.42600e+01 8.10192e+01 7.77784e+01 7.45377e+01 7.12969e+01 6.80561e+01 + 6.48154e+01 6.15746e+01 5.83338e+01 5.50931e+01 5.18523e+01 4.86115e+01 + 4.53708e+01 4.21300e+01 3.88892e+01 3.56484e+01 3.24077e+01 2.91669e+01 + 2.59261e+01 2.26854e+01 1.94446e+01 1.62038e+01 1.29631e+01 9.72230e+00 + 6.48154e+00 3.24077e+00 0.00000e+00 + -117.5765 33.2831 1.4998 -38 89 1.00000e+10 39.4666 1.00000e-01 + 180 149.37 39 0.00 0 0.00 0 + 0.00000e+00 3.24725e+01 6.49450e+01 9.74176e+01 1.29890e+02 9.74176e+01 + 6.49450e+01 6.29155e+01 6.08860e+01 5.88564e+01 5.68269e+01 5.47974e+01 + 5.27679e+01 5.07383e+01 4.87088e+01 4.66793e+01 4.46497e+01 4.26202e+01 + 4.05907e+01 3.85611e+01 3.65316e+01 3.45021e+01 3.24725e+01 3.04430e+01 + 2.84135e+01 2.63839e+01 2.43544e+01 2.23249e+01 2.02953e+01 1.82658e+01 + 1.62363e+01 1.42067e+01 1.21772e+01 1.01477e+01 8.11813e+00 6.08860e+00 + 4.05907e+00 2.02953e+00 0.00000e+00 + -117.5831 33.2902 1.4998 -38 89 1.00000e+10 39.1737 1.00000e-01 + 180 99.05 39 0.00 0 0.00 0 + 0.00000e+00 2.15317e+01 4.30633e+01 6.45950e+01 8.61266e+01 6.45950e+01 + 4.30633e+01 4.17176e+01 4.03718e+01 3.90261e+01 3.76804e+01 3.63347e+01 + 3.49889e+01 3.36432e+01 3.22975e+01 3.09518e+01 2.96060e+01 2.82603e+01 + 2.69146e+01 2.55688e+01 2.42231e+01 2.28774e+01 2.15317e+01 2.01859e+01 + 1.88402e+01 1.74945e+01 1.61487e+01 1.48030e+01 1.34573e+01 1.21116e+01 + 1.07658e+01 9.42010e+00 8.07437e+00 6.72864e+00 5.38291e+00 4.03719e+00 + 2.69146e+00 1.34573e+00 0.00000e+00 + -117.5897 33.2973 1.4998 -38 89 1.00000e+10 38.8262 1.00000e-01 + 180 95.35 39 0.00 0 0.00 0 + 0.00000e+00 2.07280e+01 4.14560e+01 6.21840e+01 8.29119e+01 6.21840e+01 + 4.14560e+01 4.01605e+01 3.88650e+01 3.75695e+01 3.62740e+01 3.49785e+01 + 3.36830e+01 3.23875e+01 3.10920e+01 2.97965e+01 2.85010e+01 2.72055e+01 + 2.59100e+01 2.46145e+01 2.33190e+01 2.20235e+01 2.07280e+01 1.94325e+01 + 1.81370e+01 1.68415e+01 1.55460e+01 1.42505e+01 1.29550e+01 1.16595e+01 + 1.03640e+01 9.06849e+00 7.77300e+00 6.47750e+00 5.18200e+00 3.88650e+00 + 2.59100e+00 1.29550e+00 0.00000e+00 + -117.5963 33.3044 1.4998 -38 89 1.00000e+10 38.4457 1.00000e-01 + 180 127.93 39 0.00 0 0.00 0 + 0.00000e+00 2.78117e+01 5.56233e+01 8.34350e+01 1.11247e+02 8.34350e+01 + 5.56233e+01 5.38851e+01 5.21469e+01 5.04086e+01 4.86704e+01 4.69322e+01 + 4.51940e+01 4.34557e+01 4.17175e+01 3.99793e+01 3.82410e+01 3.65028e+01 + 3.47646e+01 3.30264e+01 3.12881e+01 2.95499e+01 2.78117e+01 2.60734e+01 + 2.43352e+01 2.25970e+01 2.08587e+01 1.91205e+01 1.73823e+01 1.56441e+01 + 1.39058e+01 1.21676e+01 1.04294e+01 8.69114e+00 6.95292e+00 5.21469e+00 + 3.47646e+00 1.73823e+00 0.00000e+00 + -117.6030 33.3115 1.4998 -38 89 1.00000e+10 38.0211 1.00000e-01 + 180 208.47 39 0.00 0 0.00 0 + 0.00000e+00 4.53197e+01 9.06394e+01 1.35959e+02 1.81279e+02 1.35959e+02 + 9.06394e+01 8.78069e+01 8.49744e+01 8.21419e+01 7.93095e+01 7.64770e+01 + 7.36445e+01 7.08120e+01 6.79795e+01 6.51471e+01 6.23146e+01 5.94821e+01 + 5.66496e+01 5.38171e+01 5.09847e+01 4.81522e+01 4.53197e+01 4.24872e+01 + 3.96547e+01 3.68223e+01 3.39898e+01 3.11573e+01 2.83248e+01 2.54923e+01 + 2.26598e+01 1.98274e+01 1.69949e+01 1.41624e+01 1.13299e+01 8.49744e+00 + 5.66496e+00 2.83248e+00 0.00000e+00 + -117.6096 33.3186 1.4998 -38 89 1.00000e+10 37.6018 1.00000e-01 + 180 278.10 39 0.00 0 0.00 0 + 0.00000e+00 6.04570e+01 1.20914e+02 1.81371e+02 2.41828e+02 1.81371e+02 + 1.20914e+02 1.17135e+02 1.13357e+02 1.09578e+02 1.05800e+02 1.02021e+02 + 9.82427e+01 9.44641e+01 9.06855e+01 8.69070e+01 8.31284e+01 7.93498e+01 + 7.55713e+01 7.17927e+01 6.80141e+01 6.42356e+01 6.04570e+01 5.66785e+01 + 5.28999e+01 4.91213e+01 4.53428e+01 4.15642e+01 3.77856e+01 3.40071e+01 + 3.02285e+01 2.64499e+01 2.26714e+01 1.88928e+01 1.51143e+01 1.13357e+01 + 7.55713e+00 3.77856e+00 0.00000e+00 + -117.6162 33.3257 1.4998 -38 89 1.00000e+10 37.1968 1.00000e-01 + 180 337.86 39 0.00 0 0.00 0 + 0.00000e+00 7.34469e+01 1.46894e+02 2.20341e+02 2.93788e+02 2.20341e+02 + 1.46894e+02 1.42303e+02 1.37713e+02 1.33123e+02 1.28532e+02 1.23942e+02 + 1.19351e+02 1.14761e+02 1.10170e+02 1.05580e+02 1.00989e+02 9.63991e+01 + 9.18086e+01 8.72182e+01 8.26278e+01 7.80373e+01 7.34469e+01 6.88565e+01 + 6.42660e+01 5.96756e+01 5.50852e+01 5.04947e+01 4.59043e+01 4.13139e+01 + 3.67235e+01 3.21330e+01 2.75426e+01 2.29522e+01 1.83617e+01 1.37713e+01 + 9.18086e+00 4.59043e+00 0.00000e+00 + -117.6228 33.3328 1.4998 -38 89 1.00000e+10 36.8699 1.00000e-01 + 180 315.04 39 0.00 0 0.00 0 + 0.00000e+00 6.84862e+01 1.36972e+02 2.05459e+02 2.73945e+02 2.05459e+02 + 1.36972e+02 1.32692e+02 1.28412e+02 1.24131e+02 1.19851e+02 1.15570e+02 + 1.11290e+02 1.07010e+02 1.02729e+02 9.84489e+01 9.41685e+01 8.98881e+01 + 8.56077e+01 8.13273e+01 7.70469e+01 7.27666e+01 6.84862e+01 6.42058e+01 + 5.99254e+01 5.56450e+01 5.13646e+01 4.70842e+01 4.28039e+01 3.85235e+01 + 3.42431e+01 2.99627e+01 2.56823e+01 2.14019e+01 1.71215e+01 1.28412e+01 + 8.56077e+00 4.28039e+00 0.00000e+00 + -117.6295 33.3399 1.4998 -38 89 1.00000e+10 36.5872 1.00000e-01 + 180 253.22 39 0.00 0 0.00 0 + 0.00000e+00 5.50478e+01 1.10096e+02 1.65143e+02 2.20191e+02 1.65143e+02 + 1.10096e+02 1.06655e+02 1.03215e+02 9.97741e+01 9.63336e+01 9.28932e+01 + 8.94527e+01 8.60122e+01 8.25717e+01 7.91312e+01 7.56907e+01 7.22502e+01 + 6.88097e+01 6.53693e+01 6.19288e+01 5.84883e+01 5.50478e+01 5.16073e+01 + 4.81668e+01 4.47263e+01 4.12858e+01 3.78454e+01 3.44049e+01 3.09644e+01 + 2.75239e+01 2.40834e+01 2.06429e+01 1.72024e+01 1.37619e+01 1.03215e+01 + 6.88097e+00 3.44049e+00 0.00000e+00 + -117.6361 33.3470 1.4998 -38 89 1.00000e+10 36.3232 1.00000e-01 + 180 170.26 39 0.00 0 0.00 0 + 0.00000e+00 3.70133e+01 7.40266e+01 1.11040e+02 1.48053e+02 1.11040e+02 + 7.40266e+01 7.17133e+01 6.93999e+01 6.70866e+01 6.47733e+01 6.24599e+01 + 6.01466e+01 5.78333e+01 5.55199e+01 5.32066e+01 5.08933e+01 4.85799e+01 + 4.62666e+01 4.39533e+01 4.16400e+01 3.93266e+01 3.70133e+01 3.47000e+01 + 3.23866e+01 3.00733e+01 2.77600e+01 2.54466e+01 2.31333e+01 2.08200e+01 + 1.85066e+01 1.61933e+01 1.38800e+01 1.15667e+01 9.25332e+00 6.93999e+00 + 4.62666e+00 2.31333e+00 0.00000e+00 + -117.6427 33.3541 1.4998 -38 89 1.00000e+10 36.0361 1.00000e-01 + 180 105.68 39 0.00 0 0.00 0 + 0.00000e+00 2.29736e+01 4.59472e+01 6.89209e+01 9.18945e+01 6.89209e+01 + 4.59472e+01 4.45114e+01 4.30755e+01 4.16397e+01 4.02038e+01 3.87680e+01 + 3.73321e+01 3.58963e+01 3.44604e+01 3.30246e+01 3.15887e+01 3.01529e+01 + 2.87170e+01 2.72812e+01 2.58453e+01 2.44095e+01 2.29736e+01 2.15378e+01 + 2.01019e+01 1.86661e+01 1.72302e+01 1.57944e+01 1.43585e+01 1.29227e+01 + 1.14868e+01 1.00510e+01 8.61511e+00 7.17926e+00 5.74340e+00 4.30755e+00 + 2.87170e+00 1.43585e+00 0.00000e+00 + -117.6493 33.3612 1.4998 -38 89 1.00000e+10 35.7247 1.00000e-01 + 180 72.85 39 0.00 0 0.00 0 + 0.00000e+00 1.58375e+01 3.16749e+01 4.75124e+01 6.33498e+01 4.75124e+01 + 3.16749e+01 3.06851e+01 2.96952e+01 2.87054e+01 2.77156e+01 2.67257e+01 + 2.57359e+01 2.47460e+01 2.37562e+01 2.27663e+01 2.17765e+01 2.07867e+01 + 1.97968e+01 1.88070e+01 1.78171e+01 1.68273e+01 1.58375e+01 1.48476e+01 + 1.38578e+01 1.28679e+01 1.18781e+01 1.08883e+01 9.89841e+00 8.90857e+00 + 7.91873e+00 6.92889e+00 5.93905e+00 4.94921e+00 3.95936e+00 2.96952e+00 + 1.97968e+00 9.89841e-01 0.00000e+00 + -117.6560 33.3683 1.4998 -38 89 1.00000e+10 35.2634 1.00000e-01 + 180 184.50 39 0.00 0 0.00 0 + 0.00000e+00 4.01084e+01 8.02168e+01 1.20325e+02 1.60434e+02 1.20325e+02 + 8.02168e+01 7.77101e+01 7.52033e+01 7.26965e+01 7.01897e+01 6.76830e+01 + 6.51762e+01 6.26694e+01 6.01626e+01 5.76559e+01 5.51491e+01 5.26423e+01 + 5.01355e+01 4.76287e+01 4.51220e+01 4.26152e+01 4.01084e+01 3.76016e+01 + 3.50949e+01 3.25881e+01 3.00813e+01 2.75745e+01 2.50678e+01 2.25610e+01 + 2.00542e+01 1.75474e+01 1.50407e+01 1.25339e+01 1.00271e+01 7.52033e+00 + 5.01355e+00 2.50678e+00 0.00000e+00 + -117.6626 33.3754 1.4998 -38 89 1.00000e+10 34.8935 1.00000e-01 + 180 212.17 39 0.00 0 0.00 0 + 0.00000e+00 4.61237e+01 9.22475e+01 1.38371e+02 1.84495e+02 1.38371e+02 + 9.22475e+01 8.93647e+01 8.64820e+01 8.35993e+01 8.07165e+01 7.78338e+01 + 7.49511e+01 7.20683e+01 6.91856e+01 6.63029e+01 6.34201e+01 6.05374e+01 + 5.76547e+01 5.47719e+01 5.18892e+01 4.90065e+01 4.61237e+01 4.32410e+01 + 4.03583e+01 3.74755e+01 3.45928e+01 3.17101e+01 2.88273e+01 2.59446e+01 + 2.30619e+01 2.01791e+01 1.72964e+01 1.44137e+01 1.15309e+01 8.64820e+00 + 5.76547e+00 2.88273e+00 0.00000e+00 + -117.6692 33.3825 1.4998 -38 89 1.00000e+10 34.5333 1.00000e-01 + 180 225.29 39 0.00 0 0.00 0 + 0.00000e+00 4.89760e+01 9.79520e+01 1.46928e+02 1.95904e+02 1.46928e+02 + 9.79520e+01 9.48910e+01 9.18300e+01 8.87690e+01 8.57080e+01 8.26470e+01 + 7.95860e+01 7.65250e+01 7.34640e+01 7.04030e+01 6.73420e+01 6.42810e+01 + 6.12200e+01 5.81590e+01 5.50980e+01 5.20370e+01 4.89760e+01 4.59150e+01 + 4.28540e+01 3.97930e+01 3.67320e+01 3.36710e+01 3.06100e+01 2.75490e+01 + 2.44880e+01 2.14270e+01 1.83660e+01 1.53050e+01 1.22440e+01 9.18300e+00 + 6.12200e+00 3.06100e+00 0.00000e+00 + -117.6759 33.3896 1.4998 -38 89 1.00000e+10 34.2445 1.00000e-01 + 180 163.14 39 0.00 0 0.00 0 + 0.00000e+00 3.54652e+01 7.09303e+01 1.06396e+02 1.41861e+02 1.06396e+02 + 7.09303e+01 6.87138e+01 6.64972e+01 6.42806e+01 6.20641e+01 5.98475e+01 + 5.76309e+01 5.54143e+01 5.31978e+01 5.09812e+01 4.87646e+01 4.65480e+01 + 4.43315e+01 4.21149e+01 3.98983e+01 3.76817e+01 3.54652e+01 3.32486e+01 + 3.10320e+01 2.88155e+01 2.65989e+01 2.43823e+01 2.21657e+01 1.99492e+01 + 1.77326e+01 1.55160e+01 1.32994e+01 1.10829e+01 8.86629e+00 6.64972e+00 + 4.43315e+00 2.21657e+00 0.00000e+00 + -117.6825 33.3967 1.4998 -38 89 1.00000e+10 33.9251 1.00000e-01 + 180 135.65 39 0.00 0 0.00 0 + 0.00000e+00 2.94881e+01 5.89762e+01 8.84644e+01 1.17952e+02 8.84644e+01 + 5.89762e+01 5.71332e+01 5.52902e+01 5.34472e+01 5.16042e+01 4.97612e+01 + 4.79182e+01 4.60752e+01 4.42322e+01 4.23892e+01 4.05462e+01 3.87032e+01 + 3.68601e+01 3.50171e+01 3.31741e+01 3.13311e+01 2.94881e+01 2.76451e+01 + 2.58021e+01 2.39591e+01 2.21161e+01 2.02731e+01 1.84301e+01 1.65871e+01 + 1.47441e+01 1.29011e+01 1.10580e+01 9.21504e+00 7.37203e+00 5.52902e+00 + 3.68602e+00 1.84301e+00 0.00000e+00 + -117.6893 33.4037 1.4998 -40 89 1.00000e+10 33.5635 1.00000e-01 + 180 149.51 39 0.00 0 0.00 0 + 0.00000e+00 3.25013e+01 6.50027e+01 9.75040e+01 1.30005e+02 9.75040e+01 + 6.50027e+01 6.29713e+01 6.09400e+01 5.89087e+01 5.68773e+01 5.48460e+01 + 5.28147e+01 5.07833e+01 4.87520e+01 4.67207e+01 4.46893e+01 4.26580e+01 + 4.06267e+01 3.85953e+01 3.65640e+01 3.45327e+01 3.25013e+01 3.04700e+01 + 2.84387e+01 2.64073e+01 2.43760e+01 2.23447e+01 2.03133e+01 1.82820e+01 + 1.62507e+01 1.42193e+01 1.21880e+01 1.01567e+01 8.12533e+00 6.09400e+00 + 4.06267e+00 2.03133e+00 0.00000e+00 + -117.6963 33.4105 1.4998 -41 89 1.00000e+10 33.3066 1.00000e-01 + 180 62.78 39 0.00 0 0.00 0 + 0.00000e+00 1.36476e+01 2.72953e+01 4.09429e+01 5.45906e+01 4.09429e+01 + 2.72953e+01 2.64423e+01 2.55893e+01 2.47363e+01 2.38834e+01 2.30304e+01 + 2.21774e+01 2.13244e+01 2.04715e+01 1.96185e+01 1.87655e+01 1.79125e+01 + 1.70595e+01 1.62066e+01 1.53536e+01 1.45006e+01 1.36476e+01 1.27947e+01 + 1.19417e+01 1.10887e+01 1.02357e+01 9.38275e+00 8.52977e+00 7.67680e+00 + 6.82382e+00 5.97084e+00 5.11786e+00 4.26489e+00 3.41191e+00 2.55893e+00 + 1.70595e+00 8.52977e-01 0.00000e+00 + -117.7034 33.4173 1.4998 -41 89 1.00000e+10 33.0205 1.00000e-01 + 180 0.78 39 0.00 0 0.00 0 + 0.00000e+00 1.69404e-01 3.38807e-01 5.08211e-01 6.77615e-01 5.08211e-01 + 3.38807e-01 3.28220e-01 3.17632e-01 3.07044e-01 2.96457e-01 2.85869e-01 + 2.75281e-01 2.64693e-01 2.54106e-01 2.43518e-01 2.32930e-01 2.22342e-01 + 2.11755e-01 2.01167e-01 1.90579e-01 1.79991e-01 1.69404e-01 1.58816e-01 + 1.48228e-01 1.37641e-01 1.27053e-01 1.16465e-01 1.05877e-01 9.52896e-02 + 8.47019e-02 7.41141e-02 6.35264e-02 5.29387e-02 4.23509e-02 3.17632e-02 + 2.11755e-02 1.05877e-02 0.00000e+00 + -117.7105 33.4240 1.4998 -41 89 1.00000e+10 32.6039 1.00000e-01 + 180 67.46 39 0.00 0 0.00 0 + 0.00000e+00 1.46654e+01 2.93309e+01 4.39963e+01 5.86617e+01 4.39963e+01 + 2.93309e+01 2.84143e+01 2.74977e+01 2.65811e+01 2.56645e+01 2.47479e+01 + 2.38313e+01 2.29147e+01 2.19981e+01 2.10816e+01 2.01650e+01 1.92484e+01 + 1.83318e+01 1.74152e+01 1.64986e+01 1.55820e+01 1.46654e+01 1.37488e+01 + 1.28323e+01 1.19157e+01 1.09991e+01 1.00825e+01 9.16589e+00 8.24930e+00 + 7.33272e+00 6.41613e+00 5.49954e+00 4.58295e+00 3.66636e+00 2.74977e+00 + 1.83318e+00 9.16589e-01 0.00000e+00 + -117.7176 33.4308 1.4998 -41 89 1.00000e+10 32.2161 1.00000e-01 + 180 112.51 39 0.00 0 0.00 0 + 0.00000e+00 2.44585e+01 4.89169e+01 7.33754e+01 9.78338e+01 7.33754e+01 + 4.89169e+01 4.73883e+01 4.58596e+01 4.43309e+01 4.28023e+01 4.12736e+01 + 3.97450e+01 3.82163e+01 3.66877e+01 3.51590e+01 3.36304e+01 3.21017e+01 + 3.05731e+01 2.90444e+01 2.75158e+01 2.59871e+01 2.44585e+01 2.29298e+01 + 2.14011e+01 1.98725e+01 1.83438e+01 1.68152e+01 1.52865e+01 1.37579e+01 + 1.22292e+01 1.07006e+01 9.17192e+00 7.64327e+00 6.11461e+00 4.58596e+00 + 3.05731e+00 1.52865e+00 0.00000e+00 + -117.7247 33.4376 1.4998 -41 89 1.00000e+10 31.7082 1.00000e-01 + 180 268.80 39 0.00 0 0.00 0 + 0.00000e+00 5.84350e+01 1.16870e+02 1.75305e+02 2.33740e+02 1.75305e+02 + 1.16870e+02 1.13218e+02 1.09566e+02 1.05913e+02 1.02261e+02 9.86090e+01 + 9.49568e+01 9.13047e+01 8.76525e+01 8.40003e+01 8.03481e+01 7.66959e+01 + 7.30437e+01 6.93915e+01 6.57394e+01 6.20872e+01 5.84350e+01 5.47828e+01 + 5.11306e+01 4.74784e+01 4.38262e+01 4.01741e+01 3.65219e+01 3.28697e+01 + 2.92175e+01 2.55653e+01 2.19131e+01 1.82609e+01 1.46087e+01 1.09566e+01 + 7.30437e+00 3.65219e+00 0.00000e+00 + -117.7318 33.4444 1.4998 -41 89 1.00000e+10 31.2869 1.00000e-01 + 180 346.98 39 0.00 0 0.00 0 + 0.00000e+00 7.54298e+01 1.50860e+02 2.26289e+02 3.01719e+02 2.26289e+02 + 1.50860e+02 1.46145e+02 1.41431e+02 1.36717e+02 1.32002e+02 1.27288e+02 + 1.22573e+02 1.17859e+02 1.13145e+02 1.08430e+02 1.03716e+02 9.90016e+01 + 9.42873e+01 8.95729e+01 8.48585e+01 8.01442e+01 7.54298e+01 7.07155e+01 + 6.60011e+01 6.12867e+01 5.65724e+01 5.18580e+01 4.71436e+01 4.24293e+01 + 3.77149e+01 3.30005e+01 2.82862e+01 2.35718e+01 1.88575e+01 1.41431e+01 + 9.42873e+00 4.71436e+00 0.00000e+00 + -117.7389 33.4511 1.4998 -41 89 1.00000e+10 30.8669 1.00000e-01 + 180 416.99 39 0.00 0 0.00 0 + 0.00000e+00 9.06500e+01 1.81300e+02 2.71950e+02 3.62600e+02 2.71950e+02 + 1.81300e+02 1.75634e+02 1.69969e+02 1.64303e+02 1.58638e+02 1.52972e+02 + 1.47306e+02 1.41641e+02 1.35975e+02 1.30309e+02 1.24644e+02 1.18978e+02 + 1.13313e+02 1.07647e+02 1.01981e+02 9.63157e+01 9.06500e+01 8.49844e+01 + 7.93188e+01 7.36532e+01 6.79875e+01 6.23219e+01 5.66563e+01 5.09907e+01 + 4.53250e+01 3.96594e+01 3.39938e+01 2.83281e+01 2.26625e+01 1.69969e+01 + 1.13313e+01 5.66563e+00 0.00000e+00 + -117.7460 33.4579 1.4998 -41 89 1.00000e+10 30.5039 1.00000e-01 + 180 436.11 39 0.00 0 0.00 0 + 0.00000e+00 9.48057e+01 1.89611e+02 2.84417e+02 3.79223e+02 2.84417e+02 + 1.89611e+02 1.83686e+02 1.77761e+02 1.71835e+02 1.65910e+02 1.59985e+02 + 1.54059e+02 1.48134e+02 1.42208e+02 1.36283e+02 1.30358e+02 1.24432e+02 + 1.18507e+02 1.12582e+02 1.06656e+02 1.00731e+02 9.48057e+01 8.88803e+01 + 8.29550e+01 7.70296e+01 7.11042e+01 6.51789e+01 5.92535e+01 5.33282e+01 + 4.74028e+01 4.14775e+01 3.55521e+01 2.96268e+01 2.37014e+01 1.77761e+01 + 1.18507e+01 5.92535e+00 0.00000e+00 + -117.7531 33.4647 1.4998 -41 89 1.00000e+10 30.1058 1.00000e-01 + 180 486.92 39 0.00 0 0.00 0 + 0.00000e+00 1.05851e+02 2.11703e+02 3.17554e+02 4.23405e+02 3.17554e+02 + 2.11703e+02 2.05087e+02 1.98471e+02 1.91855e+02 1.85240e+02 1.78624e+02 + 1.72008e+02 1.65393e+02 1.58777e+02 1.52161e+02 1.45546e+02 1.38930e+02 + 1.32314e+02 1.25698e+02 1.19083e+02 1.12467e+02 1.05851e+02 9.92356e+01 + 9.26199e+01 8.60042e+01 7.93885e+01 7.27728e+01 6.61571e+01 5.95414e+01 + 5.29257e+01 4.63099e+01 3.96942e+01 3.30785e+01 2.64628e+01 1.98471e+01 + 1.32314e+01 6.61571e+00 0.00000e+00 + -117.7602 33.4715 1.4998 -41 89 1.00000e+10 29.8143 1.00000e-01 + 180 431.45 39 0.00 0 0.00 0 + 0.00000e+00 9.37938e+01 1.87588e+02 2.81381e+02 3.75175e+02 2.81381e+02 + 1.87588e+02 1.81726e+02 1.75863e+02 1.70001e+02 1.64139e+02 1.58277e+02 + 1.52415e+02 1.46553e+02 1.40691e+02 1.34829e+02 1.28967e+02 1.23104e+02 + 1.17242e+02 1.11380e+02 1.05518e+02 9.96559e+01 9.37938e+01 8.79317e+01 + 8.20696e+01 7.62075e+01 7.03454e+01 6.44833e+01 5.86211e+01 5.27590e+01 + 4.68969e+01 4.10348e+01 3.51727e+01 2.93106e+01 2.34485e+01 1.75863e+01 + 1.17242e+01 5.86211e+00 0.00000e+00 + -117.7673 33.4783 1.4998 -41 89 1.00000e+10 29.5199 1.00000e-01 + 180 378.17 39 0.00 0 0.00 0 + 0.00000e+00 8.22102e+01 1.64420e+02 2.46631e+02 3.28841e+02 2.46631e+02 + 1.64420e+02 1.59282e+02 1.54144e+02 1.49006e+02 1.43868e+02 1.38730e+02 + 1.33592e+02 1.28453e+02 1.23315e+02 1.18177e+02 1.13039e+02 1.07901e+02 + 1.02763e+02 9.76246e+01 9.24865e+01 8.73483e+01 8.22102e+01 7.70721e+01 + 7.19339e+01 6.67958e+01 6.16576e+01 5.65195e+01 5.13814e+01 4.62432e+01 + 4.11051e+01 3.59670e+01 3.08288e+01 2.56907e+01 2.05525e+01 1.54144e+01 + 1.02763e+01 5.13814e+00 0.00000e+00 + -117.7744 33.4850 1.4998 -41 89 1.00000e+10 29.2830 1.00000e-01 + 180 267.61 39 0.00 0 0.00 0 + 0.00000e+00 5.81760e+01 1.16352e+02 1.74528e+02 2.32704e+02 1.74528e+02 + 1.16352e+02 1.12716e+02 1.09080e+02 1.05444e+02 1.01808e+02 9.81720e+01 + 9.45360e+01 9.09000e+01 8.72640e+01 8.36280e+01 7.99920e+01 7.63560e+01 + 7.27200e+01 6.90840e+01 6.54480e+01 6.18120e+01 5.81760e+01 5.45400e+01 + 5.09040e+01 4.72680e+01 4.36320e+01 3.99960e+01 3.63600e+01 3.27240e+01 + 2.90880e+01 2.54520e+01 2.18160e+01 1.81800e+01 1.45440e+01 1.09080e+01 + 7.27200e+00 3.63600e+00 0.00000e+00 + -117.7815 33.4918 1.4998 -41 89 1.00000e+10 28.9887 1.00000e-01 + 180 211.23 39 0.00 0 0.00 0 + 0.00000e+00 4.59186e+01 9.18373e+01 1.37756e+02 1.83675e+02 1.37756e+02 + 9.18373e+01 8.89674e+01 8.60974e+01 8.32275e+01 8.03576e+01 7.74877e+01 + 7.46178e+01 7.17479e+01 6.88780e+01 6.60080e+01 6.31381e+01 6.02682e+01 + 5.73983e+01 5.45284e+01 5.16585e+01 4.87886e+01 4.59186e+01 4.30487e+01 + 4.01788e+01 3.73089e+01 3.44390e+01 3.15691e+01 2.86991e+01 2.58292e+01 + 2.29593e+01 2.00894e+01 1.72195e+01 1.43496e+01 1.14797e+01 8.60974e+00 + 5.73983e+00 2.86991e+00 0.00000e+00 + -117.7886 33.4986 1.4998 -41 89 1.00000e+10 28.7306 1.00000e-01 + 180 122.04 39 0.00 0 0.00 0 + 0.00000e+00 2.65308e+01 5.30617e+01 7.95925e+01 1.06123e+02 7.95925e+01 + 5.30617e+01 5.14035e+01 4.97453e+01 4.80871e+01 4.64289e+01 4.47708e+01 + 4.31126e+01 4.14544e+01 3.97962e+01 3.81381e+01 3.64799e+01 3.48217e+01 + 3.31635e+01 3.15054e+01 2.98472e+01 2.81890e+01 2.65308e+01 2.48727e+01 + 2.32145e+01 2.15563e+01 1.98981e+01 1.82399e+01 1.65818e+01 1.49236e+01 + 1.32654e+01 1.16072e+01 9.94906e+00 8.29088e+00 6.63271e+00 4.97453e+00 + 3.31635e+00 1.65818e+00 0.00000e+00 + -117.7957 33.5053 1.4998 -42 89 1.00000e+10 28.3905 1.00000e-01 + 180 115.10 39 0.00 0 0.00 0 + 0.00000e+00 2.50207e+01 5.00413e+01 7.50620e+01 1.00083e+02 7.50620e+01 + 5.00413e+01 4.84775e+01 4.69138e+01 4.53500e+01 4.37862e+01 4.22224e+01 + 4.06586e+01 3.90948e+01 3.75310e+01 3.59672e+01 3.44034e+01 3.28396e+01 + 3.12758e+01 2.97120e+01 2.81483e+01 2.65845e+01 2.50207e+01 2.34569e+01 + 2.18931e+01 2.03293e+01 1.87655e+01 1.72017e+01 1.56379e+01 1.40741e+01 + 1.25103e+01 1.09465e+01 9.38275e+00 7.81896e+00 6.25517e+00 4.69138e+00 + 3.12758e+00 1.56379e+00 0.00000e+00 + -117.8034 33.5116 1.4998 -49 89 1.00000e+10 27.9860 1.00000e-01 + 180 174.34 39 0.00 0 0.00 0 + 0.00000e+00 3.79009e+01 7.58017e+01 1.13703e+02 1.51603e+02 1.13703e+02 + 7.58017e+01 7.34329e+01 7.10641e+01 6.86953e+01 6.63265e+01 6.39577e+01 + 6.15889e+01 5.92201e+01 5.68513e+01 5.44825e+01 5.21137e+01 4.97449e+01 + 4.73761e+01 4.50073e+01 4.26385e+01 4.02697e+01 3.79009e+01 3.55321e+01 + 3.31633e+01 3.07945e+01 2.84257e+01 2.60568e+01 2.36880e+01 2.13192e+01 + 1.89504e+01 1.65816e+01 1.42128e+01 1.18440e+01 9.47522e+00 7.10641e+00 + 4.73761e+00 2.36880e+00 0.00000e+00 + -117.8116 33.5175 1.4998 -49 89 1.00000e+10 27.5670 1.00000e-01 + 180 246.33 39 0.00 0 0.00 0 + 0.00000e+00 5.35509e+01 1.07102e+02 1.60653e+02 2.14204e+02 1.60653e+02 + 1.07102e+02 1.03755e+02 1.00408e+02 9.70610e+01 9.37140e+01 9.03671e+01 + 8.70202e+01 8.36732e+01 8.03263e+01 7.69794e+01 7.36325e+01 7.02855e+01 + 6.69386e+01 6.35917e+01 6.02447e+01 5.68978e+01 5.35509e+01 5.02039e+01 + 4.68570e+01 4.35101e+01 4.01632e+01 3.68162e+01 3.34693e+01 3.01224e+01 + 2.67754e+01 2.34285e+01 2.00816e+01 1.67346e+01 1.33877e+01 1.00408e+01 + 6.69386e+00 3.34693e+00 0.00000e+00 + -117.8198 33.5233 1.4998 -49 89 1.00000e+10 27.1193 1.00000e-01 + 180 351.43 39 0.00 0 0.00 0 + 0.00000e+00 7.63969e+01 1.52794e+02 2.29191e+02 3.05588e+02 2.29191e+02 + 1.52794e+02 1.48019e+02 1.43244e+02 1.38469e+02 1.33695e+02 1.28920e+02 + 1.24145e+02 1.19370e+02 1.14595e+02 1.09821e+02 1.05046e+02 1.00271e+02 + 9.54962e+01 9.07214e+01 8.59465e+01 8.11717e+01 7.63969e+01 7.16221e+01 + 6.68473e+01 6.20725e+01 5.72977e+01 5.25229e+01 4.77481e+01 4.29733e+01 + 3.81985e+01 3.34237e+01 2.86488e+01 2.38740e+01 1.90992e+01 1.43244e+01 + 9.54962e+00 4.77481e+00 0.00000e+00 + -117.8280 33.5292 1.4998 -49 89 1.00000e+10 26.7147 1.00000e-01 + 180 406.59 39 0.00 0 0.00 0 + 0.00000e+00 8.83886e+01 1.76777e+02 2.65166e+02 3.53554e+02 2.65166e+02 + 1.76777e+02 1.71253e+02 1.65729e+02 1.60204e+02 1.54680e+02 1.49156e+02 + 1.43631e+02 1.38107e+02 1.32583e+02 1.27059e+02 1.21534e+02 1.16010e+02 + 1.10486e+02 1.04961e+02 9.94371e+01 9.39129e+01 8.83886e+01 8.28643e+01 + 7.73400e+01 7.18157e+01 6.62914e+01 6.07671e+01 5.52429e+01 4.97186e+01 + 4.41943e+01 3.86700e+01 3.31457e+01 2.76214e+01 2.20971e+01 1.65729e+01 + 1.10486e+01 5.52429e+00 0.00000e+00 + -117.8362 33.5351 1.4998 -49 89 1.00000e+10 26.4517 1.00000e-01 + 180 318.98 39 0.00 0 0.00 0 + 0.00000e+00 6.93437e+01 1.38687e+02 2.08031e+02 2.77375e+02 2.08031e+02 + 1.38687e+02 1.34353e+02 1.30019e+02 1.25685e+02 1.21351e+02 1.17017e+02 + 1.12683e+02 1.08349e+02 1.04015e+02 9.96815e+01 9.53475e+01 9.10135e+01 + 8.66796e+01 8.23456e+01 7.80116e+01 7.36776e+01 6.93437e+01 6.50097e+01 + 6.06757e+01 5.63417e+01 5.20077e+01 4.76738e+01 4.33398e+01 3.90058e+01 + 3.46718e+01 3.03378e+01 2.60039e+01 2.16699e+01 1.73359e+01 1.30019e+01 + 8.66796e+00 4.33398e+00 0.00000e+00 + -117.8443 33.5410 1.4998 -49 89 1.00000e+10 26.1753 1.00000e-01 + 180 247.00 39 0.00 0 0.00 0 + 0.00000e+00 5.36952e+01 1.07390e+02 1.61086e+02 2.14781e+02 1.61086e+02 + 1.07390e+02 1.04034e+02 1.00678e+02 9.73225e+01 9.39666e+01 9.06106e+01 + 8.72547e+01 8.38987e+01 8.05428e+01 7.71868e+01 7.38309e+01 7.04749e+01 + 6.71190e+01 6.37630e+01 6.04071e+01 5.70511e+01 5.36952e+01 5.03392e+01 + 4.69833e+01 4.36273e+01 4.02714e+01 3.69154e+01 3.35595e+01 3.02035e+01 + 2.68476e+01 2.34916e+01 2.01357e+01 1.67797e+01 1.34238e+01 1.00678e+01 + 6.71190e+00 3.35595e+00 0.00000e+00 + -117.8525 33.5468 1.4998 -49 89 1.00000e+10 25.8017 1.00000e-01 + 180 276.59 39 0.00 0 0.00 0 + 0.00000e+00 6.01291e+01 1.20258e+02 1.80387e+02 2.40516e+02 1.80387e+02 + 1.20258e+02 1.16500e+02 1.12742e+02 1.08984e+02 1.05226e+02 1.01468e+02 + 9.77098e+01 9.39517e+01 9.01937e+01 8.64356e+01 8.26775e+01 7.89195e+01 + 7.51614e+01 7.14033e+01 6.76453e+01 6.38872e+01 6.01291e+01 5.63710e+01 + 5.26130e+01 4.88549e+01 4.50968e+01 4.13388e+01 3.75807e+01 3.38226e+01 + 3.00646e+01 2.63065e+01 2.25484e+01 1.87903e+01 1.50323e+01 1.12742e+01 + 7.51614e+00 3.75807e+00 0.00000e+00 + -117.8607 33.5527 1.4998 -49 89 1.00000e+10 25.5497 1.00000e-01 + 180 182.48 39 0.00 0 0.00 0 + 0.00000e+00 3.96686e+01 7.93373e+01 1.19006e+02 1.58675e+02 1.19006e+02 + 7.93373e+01 7.68580e+01 7.43787e+01 7.18994e+01 6.94201e+01 6.69408e+01 + 6.44615e+01 6.19823e+01 5.95030e+01 5.70237e+01 5.45444e+01 5.20651e+01 + 4.95858e+01 4.71065e+01 4.46272e+01 4.21479e+01 3.96686e+01 3.71894e+01 + 3.47101e+01 3.22308e+01 2.97515e+01 2.72722e+01 2.47929e+01 2.23136e+01 + 1.98343e+01 1.73550e+01 1.48757e+01 1.23965e+01 9.91716e+00 7.43787e+00 + 4.95858e+00 2.47929e+00 0.00000e+00 + -117.8689 33.5586 1.4998 -49 89 1.00000e+10 25.1463 1.00000e-01 + 180 236.87 39 0.00 0 0.00 0 + 0.00000e+00 5.14926e+01 1.02985e+02 1.54478e+02 2.05971e+02 1.54478e+02 + 1.02985e+02 9.97670e+01 9.65487e+01 9.33304e+01 9.01121e+01 8.68938e+01 + 8.36755e+01 8.04572e+01 7.72390e+01 7.40207e+01 7.08024e+01 6.75841e+01 + 6.43658e+01 6.11475e+01 5.79292e+01 5.47109e+01 5.14926e+01 4.82743e+01 + 4.50561e+01 4.18378e+01 3.86195e+01 3.54012e+01 3.21829e+01 2.89646e+01 + 2.57463e+01 2.25280e+01 1.93097e+01 1.60914e+01 1.28732e+01 9.65487e+00 + 6.43658e+00 3.21829e+00 0.00000e+00 + -117.8771 33.5645 1.4998 -49 89 1.00000e+10 24.7480 1.00000e-01 + 180 290.00 39 0.00 0 0.00 0 + 0.00000e+00 6.30438e+01 1.26088e+02 1.89132e+02 2.52175e+02 1.89132e+02 + 1.26088e+02 1.22147e+02 1.18207e+02 1.14267e+02 1.10327e+02 1.06386e+02 + 1.02446e+02 9.85060e+01 9.45658e+01 9.06255e+01 8.66853e+01 8.27450e+01 + 7.88048e+01 7.48646e+01 7.09243e+01 6.69841e+01 6.30438e+01 5.91036e+01 + 5.51634e+01 5.12231e+01 4.72829e+01 4.33426e+01 3.94024e+01 3.54622e+01 + 3.15219e+01 2.75817e+01 2.36414e+01 1.97012e+01 1.57610e+01 1.18207e+01 + 7.88048e+00 3.94024e+00 0.00000e+00 + -117.8853 33.5703 1.4998 -49 89 1.00000e+10 24.5324 1.00000e-01 + 180 159.58 39 0.00 0 0.00 0 + 0.00000e+00 3.46916e+01 6.93832e+01 1.04075e+02 1.38766e+02 1.04075e+02 + 6.93832e+01 6.72150e+01 6.50467e+01 6.28785e+01 6.07103e+01 5.85421e+01 + 5.63738e+01 5.42056e+01 5.20374e+01 4.98692e+01 4.77009e+01 4.55327e+01 + 4.33645e+01 4.11963e+01 3.90280e+01 3.68598e+01 3.46916e+01 3.25234e+01 + 3.03551e+01 2.81869e+01 2.60187e+01 2.38505e+01 2.16822e+01 1.95140e+01 + 1.73458e+01 1.51776e+01 1.30093e+01 1.08411e+01 8.67290e+00 6.50467e+00 + 4.33645e+00 2.16822e+00 0.00000e+00 + -117.8935 33.5762 1.4998 -49 89 1.00000e+10 24.1877 1.00000e-01 + 180 153.60 39 0.00 0 0.00 0 + 0.00000e+00 3.33910e+01 6.67819e+01 1.00173e+02 1.33564e+02 1.00173e+02 + 6.67819e+01 6.46950e+01 6.26080e+01 6.05211e+01 5.84342e+01 5.63472e+01 + 5.42603e+01 5.21734e+01 5.00864e+01 4.79995e+01 4.59126e+01 4.38256e+01 + 4.17387e+01 3.96518e+01 3.75648e+01 3.54779e+01 3.33910e+01 3.13040e+01 + 2.92171e+01 2.71302e+01 2.50432e+01 2.29563e+01 2.08693e+01 1.87824e+01 + 1.66955e+01 1.46085e+01 1.25216e+01 1.04347e+01 8.34774e+00 6.26080e+00 + 4.17387e+00 2.08693e+00 0.00000e+00 + -117.9016 33.5821 1.4998 -49 89 1.00000e+10 23.8389 1.00000e-01 + 180 153.70 39 0.00 0 0.00 0 + 0.00000e+00 3.34128e+01 6.68256e+01 1.00238e+02 1.33651e+02 1.00238e+02 + 6.68256e+01 6.47373e+01 6.26490e+01 6.05607e+01 5.84724e+01 5.63841e+01 + 5.42958e+01 5.22075e+01 5.01192e+01 4.80309e+01 4.59426e+01 4.38543e+01 + 4.17660e+01 3.96777e+01 3.75894e+01 3.55011e+01 3.34128e+01 3.13245e+01 + 2.92362e+01 2.71479e+01 2.50596e+01 2.29713e+01 2.08830e+01 1.87947e+01 + 1.67064e+01 1.46181e+01 1.25298e+01 1.04415e+01 8.35320e+00 6.26490e+00 + 4.17660e+00 2.08830e+00 0.00000e+00 + -117.9098 33.5879 1.4998 -49 89 1.00000e+10 23.5190 1.00000e-01 + 180 129.02 39 0.00 0 0.00 0 + 0.00000e+00 2.80479e+01 5.60958e+01 8.41436e+01 1.12192e+02 8.41436e+01 + 5.60958e+01 5.43428e+01 5.25898e+01 5.08368e+01 4.90838e+01 4.73308e+01 + 4.55778e+01 4.38248e+01 4.20718e+01 4.03188e+01 3.85658e+01 3.68128e+01 + 3.50598e+01 3.33069e+01 3.15539e+01 2.98009e+01 2.80479e+01 2.62949e+01 + 2.45419e+01 2.27889e+01 2.10359e+01 1.92829e+01 1.75299e+01 1.57769e+01 + 1.40239e+01 1.22709e+01 1.05180e+01 8.76496e+00 7.01197e+00 5.25898e+00 + 3.50599e+00 1.75299e+00 0.00000e+00 + -117.9172 33.5944 1.4998 -37 89 1.00000e+10 23.2631 1.00000e-01 + 180 38.94 39 0.00 0 0.00 0 + 0.00000e+00 8.46553e+00 1.69311e+01 2.53966e+01 3.38621e+01 2.53966e+01 + 1.69311e+01 1.64020e+01 1.58729e+01 1.53438e+01 1.48147e+01 1.42856e+01 + 1.37565e+01 1.32274e+01 1.26983e+01 1.21692e+01 1.16401e+01 1.11110e+01 + 1.05819e+01 1.00528e+01 9.52372e+00 8.99463e+00 8.46553e+00 7.93644e+00 + 7.40734e+00 6.87824e+00 6.34915e+00 5.82005e+00 5.29096e+00 4.76186e+00 + 4.23277e+00 3.70367e+00 3.17457e+00 2.64548e+00 2.11638e+00 1.58729e+00 + 1.05819e+00 5.29096e-01 0.00000e+00 + -117.9237 33.6016 1.4998 -37 89 1.00000e+10 22.9526 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9302 33.6088 1.4998 -37 89 1.00000e+10 22.6035 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9368 33.6160 1.4998 -38 89 1.00000e+10 22.2577 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9435 33.6230 1.4998 -39 89 1.00000e+10 21.8629 1.00000e-01 + 180 45.76 39 0.00 0 0.00 0 + 0.00000e+00 9.94742e+00 1.98948e+01 2.98423e+01 3.97897e+01 2.98423e+01 + 1.98948e+01 1.92731e+01 1.86514e+01 1.80297e+01 1.74080e+01 1.67863e+01 + 1.61646e+01 1.55428e+01 1.49211e+01 1.42994e+01 1.36777e+01 1.30560e+01 + 1.24343e+01 1.18126e+01 1.11908e+01 1.05691e+01 9.94742e+00 9.32570e+00 + 8.70399e+00 8.08228e+00 7.46056e+00 6.83885e+00 6.21714e+00 5.59542e+00 + 4.97371e+00 4.35200e+00 3.73028e+00 3.10857e+00 2.48685e+00 1.86514e+00 + 1.24343e+00 6.21714e-01 0.00000e+00 + -117.9502 33.6300 1.4998 -39 89 1.00000e+10 21.5189 1.00000e-01 + 180 45.55 39 0.00 0 0.00 0 + 0.00000e+00 9.90197e+00 1.98039e+01 2.97059e+01 3.96079e+01 2.97059e+01 + 1.98039e+01 1.91851e+01 1.85662e+01 1.79473e+01 1.73285e+01 1.67096e+01 + 1.60907e+01 1.54718e+01 1.48530e+01 1.42341e+01 1.36152e+01 1.29963e+01 + 1.23775e+01 1.17586e+01 1.11397e+01 1.05208e+01 9.90197e+00 9.28310e+00 + 8.66423e+00 8.04535e+00 7.42648e+00 6.80761e+00 6.18873e+00 5.56986e+00 + 4.95099e+00 4.33211e+00 3.71324e+00 3.09437e+00 2.47549e+00 1.85662e+00 + 1.23775e+00 6.18873e-01 0.00000e+00 + -117.9570 33.6371 1.4998 -39 89 1.00000e+10 21.2197 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9637 33.6441 1.4998 -39 89 1.00000e+10 20.7571 1.00000e-01 + 180 112.39 39 0.00 0 0.00 0 + 0.00000e+00 2.44333e+01 4.88667e+01 7.33000e+01 9.77334e+01 7.33000e+01 + 4.88667e+01 4.73396e+01 4.58125e+01 4.42854e+01 4.27584e+01 4.12313e+01 + 3.97042e+01 3.81771e+01 3.66500e+01 3.51229e+01 3.35959e+01 3.20688e+01 + 3.05417e+01 2.90146e+01 2.74875e+01 2.59604e+01 2.44333e+01 2.29063e+01 + 2.13792e+01 1.98521e+01 1.83250e+01 1.67979e+01 1.52708e+01 1.37438e+01 + 1.22167e+01 1.06896e+01 9.16251e+00 7.63542e+00 6.10834e+00 4.58125e+00 + 3.05417e+00 1.52708e+00 0.00000e+00 + -117.9704 33.6512 1.4998 -39 89 1.00000e+10 20.3254 1.00000e-01 + 180 202.58 39 0.00 0 0.00 0 + 0.00000e+00 4.40395e+01 8.80791e+01 1.32119e+02 1.76158e+02 1.32119e+02 + 8.80791e+01 8.53266e+01 8.25741e+01 7.98217e+01 7.70692e+01 7.43167e+01 + 7.15642e+01 6.88118e+01 6.60593e+01 6.33068e+01 6.05544e+01 5.78019e+01 + 5.50494e+01 5.22970e+01 4.95445e+01 4.67920e+01 4.40395e+01 4.12871e+01 + 3.85346e+01 3.57821e+01 3.30297e+01 3.02772e+01 2.75247e+01 2.47722e+01 + 2.20198e+01 1.92673e+01 1.65148e+01 1.37624e+01 1.10099e+01 8.25741e+00 + 5.50494e+00 2.75247e+00 0.00000e+00 + -117.9772 33.6582 1.4998 -39 89 1.00000e+10 19.9615 1.00000e-01 + 180 217.99 39 0.00 0 0.00 0 + 0.00000e+00 4.73883e+01 9.47766e+01 1.42165e+02 1.89553e+02 1.42165e+02 + 9.47766e+01 9.18149e+01 8.88531e+01 8.58913e+01 8.29296e+01 7.99678e+01 + 7.70060e+01 7.40442e+01 7.10825e+01 6.81207e+01 6.51589e+01 6.21972e+01 + 5.92354e+01 5.62736e+01 5.33119e+01 5.03501e+01 4.73883e+01 4.44265e+01 + 4.14648e+01 3.85030e+01 3.55412e+01 3.25795e+01 2.96177e+01 2.66559e+01 + 2.36942e+01 2.07324e+01 1.77706e+01 1.48088e+01 1.18471e+01 8.88531e+00 + 5.92354e+00 2.96177e+00 0.00000e+00 + -117.9839 33.6653 1.4998 -39 89 1.00000e+10 19.5968 1.00000e-01 + 180 234.54 39 0.00 0 0.00 0 + 0.00000e+00 5.09880e+01 1.01976e+02 1.52964e+02 2.03952e+02 1.52964e+02 + 1.01976e+02 9.87892e+01 9.56024e+01 9.24157e+01 8.92290e+01 8.60422e+01 + 8.28555e+01 7.96687e+01 7.64820e+01 7.32952e+01 7.01085e+01 6.69217e+01 + 6.37350e+01 6.05482e+01 5.73615e+01 5.41747e+01 5.09880e+01 4.78012e+01 + 4.46145e+01 4.14277e+01 3.82410e+01 3.50542e+01 3.18675e+01 2.86807e+01 + 2.54940e+01 2.23072e+01 1.91205e+01 1.59337e+01 1.27470e+01 9.56024e+00 + 6.37350e+00 3.18675e+00 0.00000e+00 + -117.9908 33.6721 1.4998 -41 89 1.00000e+10 19.3106 1.00000e-01 + 180 172.64 39 0.00 0 0.00 0 + 0.00000e+00 3.75307e+01 7.50614e+01 1.12592e+02 1.50123e+02 1.12592e+02 + 7.50614e+01 7.27157e+01 7.03701e+01 6.80244e+01 6.56787e+01 6.33330e+01 + 6.09874e+01 5.86417e+01 5.62960e+01 5.39504e+01 5.16047e+01 4.92590e+01 + 4.69134e+01 4.45677e+01 4.22220e+01 3.98764e+01 3.75307e+01 3.51850e+01 + 3.28394e+01 3.04937e+01 2.81480e+01 2.58024e+01 2.34567e+01 2.11110e+01 + 1.87653e+01 1.64197e+01 1.40740e+01 1.17283e+01 9.38267e+00 7.03701e+00 + 4.69134e+00 2.34567e+00 0.00000e+00 + -117.9988 33.6781 1.4998 -54 89 1.00000e+10 19.0492 1.00000e-01 + 180 87.62 39 0.00 0 0.00 0 + 0.00000e+00 1.90486e+01 3.80972e+01 5.71458e+01 7.61943e+01 5.71458e+01 + 3.80972e+01 3.69066e+01 3.57161e+01 3.45256e+01 3.33350e+01 3.21445e+01 + 3.09539e+01 2.97634e+01 2.85729e+01 2.73823e+01 2.61918e+01 2.50013e+01 + 2.38107e+01 2.26202e+01 2.14297e+01 2.02391e+01 1.90486e+01 1.78580e+01 + 1.66675e+01 1.54770e+01 1.42864e+01 1.30959e+01 1.19054e+01 1.07148e+01 + 9.52429e+00 8.33376e+00 7.14322e+00 5.95268e+00 4.76215e+00 3.57161e+00 + 2.38107e+00 1.19054e+00 0.00000e+00 + -118.0076 33.6833 1.4998 -54 89 1.00000e+10 18.6280 1.00000e-01 + 180 163.69 39 0.00 0 0.00 0 + 0.00000e+00 3.55840e+01 7.11680e+01 1.06752e+02 1.42336e+02 1.06752e+02 + 7.11680e+01 6.89440e+01 6.67200e+01 6.44960e+01 6.22720e+01 6.00480e+01 + 5.78240e+01 5.56000e+01 5.33760e+01 5.11520e+01 4.89280e+01 4.67040e+01 + 4.44800e+01 4.22560e+01 4.00320e+01 3.78080e+01 3.55840e+01 3.33600e+01 + 3.11360e+01 2.89120e+01 2.66880e+01 2.44640e+01 2.22400e+01 2.00160e+01 + 1.77920e+01 1.55680e+01 1.33440e+01 1.11200e+01 8.89599e+00 6.67200e+00 + 4.44800e+00 2.22400e+00 0.00000e+00 + -118.0164 33.6886 1.4998 -54 89 1.00000e+10 18.2418 1.00000e-01 + 180 201.01 39 0.00 0 0.00 0 + 0.00000e+00 4.36987e+01 8.73974e+01 1.31096e+02 1.74795e+02 1.31096e+02 + 8.73974e+01 8.46662e+01 8.19350e+01 7.92039e+01 7.64727e+01 7.37415e+01 + 7.10104e+01 6.82792e+01 6.55480e+01 6.28169e+01 6.00857e+01 5.73545e+01 + 5.46234e+01 5.18922e+01 4.91610e+01 4.64299e+01 4.36987e+01 4.09675e+01 + 3.82364e+01 3.55052e+01 3.27740e+01 3.00428e+01 2.73117e+01 2.45805e+01 + 2.18493e+01 1.91182e+01 1.63870e+01 1.36558e+01 1.09247e+01 8.19350e+00 + 5.46234e+00 2.73117e+00 0.00000e+00 + -118.0252 33.6938 1.4998 -54 89 1.00000e+10 17.8186 1.00000e-01 + 180 279.70 39 0.00 0 0.00 0 + 0.00000e+00 6.08051e+01 1.21610e+02 1.82415e+02 2.43220e+02 1.82415e+02 + 1.21610e+02 1.17810e+02 1.14010e+02 1.10209e+02 1.06409e+02 1.02609e+02 + 9.88082e+01 9.50079e+01 9.12076e+01 8.74073e+01 8.36070e+01 7.98067e+01 + 7.60063e+01 7.22060e+01 6.84057e+01 6.46054e+01 6.08051e+01 5.70048e+01 + 5.32044e+01 4.94041e+01 4.56038e+01 4.18035e+01 3.80032e+01 3.42029e+01 + 3.04025e+01 2.66022e+01 2.28019e+01 1.90016e+01 1.52013e+01 1.14010e+01 + 7.60063e+00 3.80032e+00 0.00000e+00 + -118.0340 33.6990 1.4998 -54 89 1.00000e+10 17.4291 1.00000e-01 + 180 324.36 39 0.00 0 0.00 0 + 0.00000e+00 7.05125e+01 1.41025e+02 2.11538e+02 2.82050e+02 2.11538e+02 + 1.41025e+02 1.36618e+02 1.32211e+02 1.27804e+02 1.23397e+02 1.18990e+02 + 1.14583e+02 1.10176e+02 1.05769e+02 1.01362e+02 9.69547e+01 9.25477e+01 + 8.81406e+01 8.37336e+01 7.93266e+01 7.49195e+01 7.05125e+01 6.61055e+01 + 6.16984e+01 5.72914e+01 5.28844e+01 4.84773e+01 4.40703e+01 3.96633e+01 + 3.52563e+01 3.08492e+01 2.64422e+01 2.20352e+01 1.76281e+01 1.32211e+01 + 8.81406e+00 4.40703e+00 0.00000e+00 + -118.0427 33.7044 1.4998 -53 89 1.00000e+10 17.1206 1.00000e-01 + 180 282.15 39 0.00 0 0.00 0 + 0.00000e+00 6.13367e+01 1.22673e+02 1.84010e+02 2.45347e+02 1.84010e+02 + 1.22673e+02 1.18840e+02 1.15006e+02 1.11173e+02 1.07339e+02 1.03506e+02 + 9.96722e+01 9.58387e+01 9.20051e+01 8.81716e+01 8.43380e+01 8.05045e+01 + 7.66709e+01 7.28374e+01 6.90038e+01 6.51703e+01 6.13367e+01 5.75032e+01 + 5.36697e+01 4.98361e+01 4.60026e+01 4.21690e+01 3.83355e+01 3.45019e+01 + 3.06684e+01 2.68348e+01 2.30013e+01 1.91677e+01 1.53342e+01 1.15006e+01 + 7.66709e+00 3.83355e+00 0.00000e+00 + -118.0511 33.7100 1.4998 -50 89 1.00000e+10 16.8533 1.00000e-01 + 180 202.61 39 0.00 0 0.00 0 + 0.00000e+00 4.40453e+01 8.80906e+01 1.32136e+02 1.76181e+02 1.32136e+02 + 8.80906e+01 8.53378e+01 8.25850e+01 7.98321e+01 7.70793e+01 7.43265e+01 + 7.15736e+01 6.88208e+01 6.60680e+01 6.33152e+01 6.05623e+01 5.78095e+01 + 5.50567e+01 5.23038e+01 4.95510e+01 4.67982e+01 4.40453e+01 4.12925e+01 + 3.85397e+01 3.57868e+01 3.30340e+01 3.02812e+01 2.75283e+01 2.47755e+01 + 2.20227e+01 1.92698e+01 1.65170e+01 1.37642e+01 1.10113e+01 8.25850e+00 + 5.50567e+00 2.75283e+00 0.00000e+00 + -118.0593 33.7158 1.4998 -48 89 1.00000e+10 16.6467 1.00000e-01 + 180 60.40 39 0.00 0 0.00 0 + 0.00000e+00 1.31297e+01 2.62594e+01 3.93890e+01 5.25187e+01 3.93890e+01 + 2.62594e+01 2.54387e+01 2.46181e+01 2.37975e+01 2.29769e+01 2.21563e+01 + 2.13357e+01 2.05151e+01 1.96945e+01 1.88739e+01 1.80533e+01 1.72327e+01 + 1.64121e+01 1.55915e+01 1.47709e+01 1.39503e+01 1.31297e+01 1.23091e+01 + 1.14885e+01 1.06679e+01 9.84726e+00 9.02665e+00 8.20605e+00 7.38544e+00 + 6.56484e+00 5.74423e+00 4.92363e+00 4.10302e+00 3.28242e+00 2.46181e+00 + 1.64121e+00 8.20605e-01 0.00000e+00 + -118.0661 33.7227 1.4998 -31 89 1.00000e+10 16.3575 1.00000e-01 + 180 3.70 39 0.00 0 0.00 0 + 0.00000e+00 8.04624e-01 1.60925e+00 2.41387e+00 3.21849e+00 2.41387e+00 + 1.60925e+00 1.55896e+00 1.50867e+00 1.45838e+00 1.40809e+00 1.35780e+00 + 1.30751e+00 1.25722e+00 1.20694e+00 1.15665e+00 1.10636e+00 1.05607e+00 + 1.00578e+00 9.55491e-01 9.05202e-01 8.54913e-01 8.04624e-01 7.54335e-01 + 7.04046e-01 6.53757e-01 6.03468e-01 5.53179e-01 5.02890e-01 4.52601e-01 + 4.02312e-01 3.52023e-01 3.01734e-01 2.51445e-01 2.01156e-01 1.50867e-01 + 1.00578e-01 5.02890e-02 0.00000e+00 + -118.0717 33.7304 1.4998 -31 89 1.00000e+10 15.8731 1.00000e-01 + 180 145.00 39 0.00 0 0.00 0 + 0.00000e+00 3.15218e+01 6.30435e+01 9.45653e+01 1.26087e+02 9.45653e+01 + 6.30435e+01 6.10734e+01 5.91033e+01 5.71332e+01 5.51631e+01 5.31930e+01 + 5.12229e+01 4.92528e+01 4.72827e+01 4.53125e+01 4.33424e+01 4.13723e+01 + 3.94022e+01 3.74321e+01 3.54620e+01 3.34919e+01 3.15218e+01 2.95517e+01 + 2.75816e+01 2.56114e+01 2.36413e+01 2.16712e+01 1.97011e+01 1.77310e+01 + 1.57609e+01 1.37908e+01 1.18207e+01 9.85055e+00 7.88044e+00 5.91033e+00 + 3.94022e+00 1.97011e+00 0.00000e+00 + -118.0782 33.7374 1.4998 -44 89 1.00000e+10 15.3773 1.00000e-01 + 180 292.47 39 0.00 0 0.00 0 + 0.00000e+00 6.35802e+01 1.27160e+02 1.90741e+02 2.54321e+02 1.90741e+02 + 1.27160e+02 1.23187e+02 1.19213e+02 1.15239e+02 1.11265e+02 1.07292e+02 + 1.03318e+02 9.93441e+01 9.53703e+01 9.13966e+01 8.74228e+01 8.34490e+01 + 7.94753e+01 7.55015e+01 7.15277e+01 6.75540e+01 6.35802e+01 5.96065e+01 + 5.56327e+01 5.16589e+01 4.76852e+01 4.37114e+01 3.97376e+01 3.57639e+01 + 3.17901e+01 2.78163e+01 2.38426e+01 1.98688e+01 1.58951e+01 1.19213e+01 + 7.94753e+00 3.97376e+00 0.00000e+00 + -118.0860 33.7437 1.4998 -47 89 1.00000e+10 15.0052 1.00000e-01 + 180 317.86 39 0.00 0 0.00 0 + 0.00000e+00 6.90997e+01 1.38199e+02 2.07299e+02 2.76399e+02 2.07299e+02 + 1.38199e+02 1.33881e+02 1.29562e+02 1.25243e+02 1.20924e+02 1.16606e+02 + 1.12287e+02 1.07968e+02 1.03650e+02 9.93308e+01 9.50121e+01 9.06934e+01 + 8.63746e+01 8.20559e+01 7.77372e+01 7.34184e+01 6.90997e+01 6.47810e+01 + 6.04622e+01 5.61435e+01 5.18248e+01 4.75060e+01 4.31873e+01 3.88686e+01 + 3.45499e+01 3.02311e+01 2.59124e+01 2.15937e+01 1.72749e+01 1.29562e+01 + 8.63746e+00 4.31873e+00 0.00000e+00 + -118.0939 33.7498 1.4998 -47 89 1.00000e+10 14.6920 1.00000e-01 + 180 289.21 39 0.00 0 0.00 0 + 0.00000e+00 6.28716e+01 1.25743e+02 1.88615e+02 2.51486e+02 1.88615e+02 + 1.25743e+02 1.21814e+02 1.17884e+02 1.13955e+02 1.10025e+02 1.06096e+02 + 1.02166e+02 9.82369e+01 9.43074e+01 9.03780e+01 8.64485e+01 8.25190e+01 + 7.85895e+01 7.46600e+01 7.07306e+01 6.68011e+01 6.28716e+01 5.89421e+01 + 5.50127e+01 5.10832e+01 4.71537e+01 4.32242e+01 3.92948e+01 3.53653e+01 + 3.14358e+01 2.75063e+01 2.35769e+01 1.96474e+01 1.57179e+01 1.17884e+01 + 7.85895e+00 3.92948e+00 0.00000e+00 + -118.1018 33.7559 1.4998 -47 89 1.00000e+10 14.3948 1.00000e-01 + 180 238.82 39 0.00 0 0.00 0 + 0.00000e+00 5.19173e+01 1.03835e+02 1.55752e+02 2.07669e+02 1.55752e+02 + 1.03835e+02 1.00590e+02 9.73450e+01 9.41002e+01 9.08553e+01 8.76105e+01 + 8.43657e+01 8.11208e+01 7.78760e+01 7.46312e+01 7.13863e+01 6.81415e+01 + 6.48967e+01 6.16518e+01 5.84070e+01 5.51622e+01 5.19173e+01 4.86725e+01 + 4.54277e+01 4.21828e+01 3.89380e+01 3.56932e+01 3.24483e+01 2.92035e+01 + 2.59587e+01 2.27138e+01 1.94690e+01 1.62242e+01 1.29793e+01 9.73450e+00 + 6.48967e+00 3.24483e+00 0.00000e+00 + -118.1098 33.7620 1.4998 -47 89 1.00000e+10 13.9874 1.00000e-01 + 180 301.12 39 0.00 0 0.00 0 + 0.00000e+00 6.54605e+01 1.30921e+02 1.96381e+02 2.61842e+02 1.96381e+02 + 1.30921e+02 1.26830e+02 1.22738e+02 1.18647e+02 1.14556e+02 1.10465e+02 + 1.06373e+02 1.02282e+02 9.81907e+01 9.40994e+01 9.00082e+01 8.59169e+01 + 8.18256e+01 7.77343e+01 7.36430e+01 6.95518e+01 6.54605e+01 6.13692e+01 + 5.72779e+01 5.31866e+01 4.90954e+01 4.50041e+01 4.09128e+01 3.68215e+01 + 3.27302e+01 2.86390e+01 2.45477e+01 2.04564e+01 1.63651e+01 1.22738e+01 + 8.18256e+00 4.09128e+00 0.00000e+00 + -118.1180 33.7679 1.4998 -52 89 1.00000e+10 13.5838 1.00000e-01 + 180 359.62 39 0.00 0 0.00 0 + 0.00000e+00 7.81785e+01 1.56357e+02 2.34536e+02 3.12714e+02 2.34536e+02 + 1.56357e+02 1.51471e+02 1.46585e+02 1.41699e+02 1.36812e+02 1.31926e+02 + 1.27040e+02 1.22154e+02 1.17268e+02 1.12382e+02 1.07495e+02 1.02609e+02 + 9.77232e+01 9.28370e+01 8.79509e+01 8.30647e+01 7.81785e+01 7.32924e+01 + 6.84062e+01 6.35201e+01 5.86339e+01 5.37477e+01 4.88616e+01 4.39754e+01 + 3.90893e+01 3.42031e+01 2.93170e+01 2.44308e+01 1.95446e+01 1.46585e+01 + 9.77232e+00 4.88616e+00 0.00000e+00 + -118.1265 33.7734 1.4998 -52 89 1.00000e+10 13.1770 1.00000e-01 + 180 421.18 39 0.00 0 0.00 0 + 0.00000e+00 9.15598e+01 1.83120e+02 2.74680e+02 3.66239e+02 2.74680e+02 + 1.83120e+02 1.77397e+02 1.71675e+02 1.65952e+02 1.60230e+02 1.54507e+02 + 1.48785e+02 1.43062e+02 1.37340e+02 1.31617e+02 1.25895e+02 1.20172e+02 + 1.14450e+02 1.08727e+02 1.03005e+02 9.72823e+01 9.15598e+01 8.58373e+01 + 8.01149e+01 7.43924e+01 6.86699e+01 6.29474e+01 5.72249e+01 5.15024e+01 + 4.57799e+01 4.00574e+01 3.43349e+01 2.86124e+01 2.28900e+01 1.71675e+01 + 1.14450e+01 5.72249e+00 0.00000e+00 + -118.1351 33.7790 1.4998 -52 89 1.00000e+10 12.8268 1.00000e-01 + 180 428.20 39 0.00 0 0.00 0 + 0.00000e+00 9.30874e+01 1.86175e+02 2.79262e+02 3.72350e+02 2.79262e+02 + 1.86175e+02 1.80357e+02 1.74539e+02 1.68721e+02 1.62903e+02 1.57085e+02 + 1.51267e+02 1.45449e+02 1.39631e+02 1.33813e+02 1.27995e+02 1.22177e+02 + 1.16359e+02 1.10541e+02 1.04723e+02 9.89054e+01 9.30874e+01 8.72694e+01 + 8.14515e+01 7.56335e+01 6.98155e+01 6.39976e+01 5.81796e+01 5.23617e+01 + 4.65437e+01 4.07257e+01 3.49078e+01 2.90898e+01 2.32718e+01 1.74539e+01 + 1.16359e+01 5.81796e+00 0.00000e+00 + -118.1436 33.7845 1.4998 -52 89 1.00000e+10 12.4442 1.00000e-01 + 180 464.73 39 0.00 0 0.00 0 + 0.00000e+00 1.01028e+02 2.02055e+02 3.03083e+02 4.04111e+02 3.03083e+02 + 2.02055e+02 1.95741e+02 1.89427e+02 1.83113e+02 1.76799e+02 1.70484e+02 + 1.64170e+02 1.57856e+02 1.51542e+02 1.45227e+02 1.38913e+02 1.32599e+02 + 1.26285e+02 1.19970e+02 1.13656e+02 1.07342e+02 1.01028e+02 9.47135e+01 + 8.83993e+01 8.20850e+01 7.57708e+01 6.94566e+01 6.31423e+01 5.68281e+01 + 5.05139e+01 4.41996e+01 3.78854e+01 3.15712e+01 2.52569e+01 1.89427e+01 + 1.26285e+01 6.31423e+00 0.00000e+00 + -118.1521 33.7901 1.4998 -51 89 1.00000e+10 11.9978 1.00000e-01 + 180 569.45 39 0.00 0 0.00 0 + 0.00000e+00 1.23794e+02 2.47587e+02 3.71381e+02 4.95174e+02 3.71381e+02 + 2.47587e+02 2.39850e+02 2.32113e+02 2.24376e+02 2.16639e+02 2.08902e+02 + 2.01164e+02 1.93427e+02 1.85690e+02 1.77953e+02 1.70216e+02 1.62479e+02 + 1.54742e+02 1.47005e+02 1.39268e+02 1.31531e+02 1.23794e+02 1.16056e+02 + 1.08319e+02 1.00582e+02 9.28451e+01 8.51080e+01 7.73709e+01 6.96339e+01 + 6.18968e+01 5.41597e+01 4.64226e+01 3.86855e+01 3.09484e+01 2.32113e+01 + 1.54742e+01 7.73709e+00 0.00000e+00 + -118.1604 33.7958 1.4998 -50 89 1.00000e+10 11.7113 1.00000e-01 + 180 515.22 39 0.00 0 0.00 0 + 0.00000e+00 1.12005e+02 2.24011e+02 3.36016e+02 4.48022e+02 3.36016e+02 + 2.24011e+02 2.17011e+02 2.10010e+02 2.03010e+02 1.96010e+02 1.89009e+02 + 1.82009e+02 1.75008e+02 1.68008e+02 1.61008e+02 1.54007e+02 1.47007e+02 + 1.40007e+02 1.33006e+02 1.26006e+02 1.19006e+02 1.12005e+02 1.05005e+02 + 9.80048e+01 9.10044e+01 8.40041e+01 7.70037e+01 7.00034e+01 6.30031e+01 + 5.60027e+01 4.90024e+01 4.20020e+01 3.50017e+01 2.80014e+01 2.10010e+01 + 1.40007e+01 7.00034e+00 0.00000e+00 + -118.1688 33.8016 1.4998 -50 89 1.00000e+10 11.4288 1.00000e-01 + 180 449.23 39 0.00 0 0.00 0 + 0.00000e+00 9.76588e+01 1.95318e+02 2.92976e+02 3.90635e+02 2.92976e+02 + 1.95318e+02 1.89214e+02 1.83110e+02 1.77007e+02 1.70903e+02 1.64799e+02 + 1.58696e+02 1.52592e+02 1.46488e+02 1.40385e+02 1.34281e+02 1.28177e+02 + 1.22073e+02 1.15970e+02 1.09866e+02 1.03762e+02 9.76588e+01 9.15551e+01 + 8.54514e+01 7.93478e+01 7.32441e+01 6.71404e+01 6.10367e+01 5.49331e+01 + 4.88294e+01 4.27257e+01 3.66220e+01 3.05184e+01 2.44147e+01 1.83110e+01 + 1.22073e+01 6.10367e+00 0.00000e+00 + -118.1771 33.8073 1.4998 -50 89 1.00000e+10 11.0710 1.00000e-01 + 180 467.44 39 0.00 0 0.00 0 + 0.00000e+00 1.01616e+02 2.03233e+02 3.04849e+02 4.06465e+02 3.04849e+02 + 2.03233e+02 1.96882e+02 1.90531e+02 1.84180e+02 1.77829e+02 1.71478e+02 + 1.65127e+02 1.58776e+02 1.52425e+02 1.46074e+02 1.39723e+02 1.33371e+02 + 1.27020e+02 1.20669e+02 1.14318e+02 1.07967e+02 1.01616e+02 9.52653e+01 + 8.89143e+01 8.25633e+01 7.62123e+01 6.98613e+01 6.35102e+01 5.71592e+01 + 5.08082e+01 4.44572e+01 3.81061e+01 3.17551e+01 2.54041e+01 1.90531e+01 + 1.27020e+01 6.35102e+00 0.00000e+00 + -118.1855 33.8130 1.4998 -50 89 1.00000e+10 10.6646 1.00000e-01 + 180 534.02 39 0.00 0 0.00 0 + 0.00000e+00 1.16090e+02 2.32181e+02 3.48271e+02 4.64362e+02 3.48271e+02 + 2.32181e+02 2.24925e+02 2.17670e+02 2.10414e+02 2.03158e+02 1.95903e+02 + 1.88647e+02 1.81391e+02 1.74136e+02 1.66880e+02 1.59624e+02 1.52369e+02 + 1.45113e+02 1.37857e+02 1.30602e+02 1.23346e+02 1.16090e+02 1.08835e+02 + 1.01579e+02 9.43235e+01 8.70678e+01 7.98122e+01 7.25565e+01 6.53009e+01 + 5.80452e+01 5.07896e+01 4.35339e+01 3.62783e+01 2.90226e+01 2.17670e+01 + 1.45113e+01 7.25565e+00 0.00000e+00 + -118.1938 33.8188 1.4998 -50 89 1.00000e+10 10.3950 1.00000e-01 + 180 463.85 39 0.00 0 0.00 0 + 0.00000e+00 1.00836e+02 2.01672e+02 3.02509e+02 4.03345e+02 3.02509e+02 + 2.01672e+02 1.95370e+02 1.89068e+02 1.82766e+02 1.76463e+02 1.70161e+02 + 1.63859e+02 1.57557e+02 1.51254e+02 1.44952e+02 1.38650e+02 1.32347e+02 + 1.26045e+02 1.19743e+02 1.13441e+02 1.07138e+02 1.00836e+02 9.45339e+01 + 8.82317e+01 8.19294e+01 7.56271e+01 6.93249e+01 6.30226e+01 5.67203e+01 + 5.04181e+01 4.41158e+01 3.78136e+01 3.15113e+01 2.52090e+01 1.89068e+01 + 1.26045e+01 6.30226e+00 0.00000e+00 + -118.2022 33.8245 1.4998 -50 89 1.00000e+10 10.2411 1.00000e-01 + 180 274.64 39 0.00 0 0.00 0 + 0.00000e+00 5.97041e+01 1.19408e+02 1.79112e+02 2.38816e+02 1.79112e+02 + 1.19408e+02 1.15677e+02 1.11945e+02 1.08214e+02 1.04482e+02 1.00751e+02 + 9.70191e+01 9.32876e+01 8.95561e+01 8.58246e+01 8.20931e+01 7.83616e+01 + 7.46301e+01 7.08986e+01 6.71671e+01 6.34356e+01 5.97041e+01 5.59726e+01 + 5.22411e+01 4.85096e+01 4.47781e+01 4.10466e+01 3.73151e+01 3.35835e+01 + 2.98520e+01 2.61205e+01 2.23890e+01 1.86575e+01 1.49260e+01 1.11945e+01 + 7.46301e+00 3.73151e+00 0.00000e+00 + -118.2104 33.8304 1.4998 -49 89 1.00000e+10 9.9979 1.00000e-01 + 180 179.11 39 0.00 0 0.00 0 + 0.00000e+00 3.89362e+01 7.78724e+01 1.16809e+02 1.55745e+02 1.16809e+02 + 7.78724e+01 7.54389e+01 7.30054e+01 7.05719e+01 6.81383e+01 6.57048e+01 + 6.32713e+01 6.08378e+01 5.84043e+01 5.59708e+01 5.35373e+01 5.11038e+01 + 4.86702e+01 4.62367e+01 4.38032e+01 4.13697e+01 3.89362e+01 3.65027e+01 + 3.40692e+01 3.16357e+01 2.92021e+01 2.67686e+01 2.43351e+01 2.19016e+01 + 1.94681e+01 1.70346e+01 1.46011e+01 1.21676e+01 9.73405e+00 7.30054e+00 + 4.86702e+00 2.43351e+00 0.00000e+00 + -118.2188 33.8360 1.4998 -54 89 1.00000e+10 9.7503 1.00000e-01 + 180 95.67 39 0.00 0 0.00 0 + 0.00000e+00 2.07970e+01 4.15940e+01 6.23910e+01 8.31880e+01 6.23910e+01 + 4.15940e+01 4.02942e+01 3.89944e+01 3.76946e+01 3.63948e+01 3.50949e+01 + 3.37951e+01 3.24953e+01 3.11955e+01 2.98957e+01 2.85959e+01 2.72961e+01 + 2.59963e+01 2.46964e+01 2.33966e+01 2.20968e+01 2.07970e+01 1.94972e+01 + 1.81974e+01 1.68976e+01 1.55978e+01 1.42979e+01 1.29981e+01 1.16983e+01 + 1.03985e+01 9.09869e+00 7.79888e+00 6.49906e+00 5.19925e+00 3.89944e+00 + 2.59963e+00 1.29981e+00 0.00000e+00 + -118.2276 33.8413 1.4998 -54 89 1.00000e+10 9.4600 1.00000e-01 + 180 51.49 39 0.00 0 0.00 0 + 0.00000e+00 1.11928e+01 2.23855e+01 3.35783e+01 4.47710e+01 3.35783e+01 + 2.23855e+01 2.16860e+01 2.09864e+01 2.02869e+01 1.95873e+01 1.88878e+01 + 1.81882e+01 1.74887e+01 1.67891e+01 1.60896e+01 1.53900e+01 1.46905e+01 + 1.39909e+01 1.32914e+01 1.25918e+01 1.18923e+01 1.11928e+01 1.04932e+01 + 9.79366e+00 9.09411e+00 8.39457e+00 7.69502e+00 6.99547e+00 6.29592e+00 + 5.59638e+00 4.89683e+00 4.19728e+00 3.49774e+00 2.79819e+00 2.09864e+00 + 1.39909e+00 6.99547e-01 0.00000e+00 + -118.2349 33.8477 1.4998 -33 89 1.00000e+10 9.1162 1.00000e-01 + 180 58.11 39 0.00 0 0.00 0 + 0.00000e+00 1.26325e+01 2.52649e+01 3.78974e+01 5.05299e+01 3.78974e+01 + 2.52649e+01 2.44754e+01 2.36859e+01 2.28963e+01 2.21068e+01 2.13173e+01 + 2.05278e+01 1.97382e+01 1.89487e+01 1.81592e+01 1.73696e+01 1.65801e+01 + 1.57906e+01 1.50011e+01 1.42115e+01 1.34220e+01 1.26325e+01 1.18429e+01 + 1.10534e+01 1.02639e+01 9.47435e+00 8.68482e+00 7.89529e+00 7.10576e+00 + 6.31623e+00 5.52670e+00 4.73717e+00 3.94765e+00 3.15812e+00 2.36859e+00 + 1.57906e+00 7.89529e-01 0.00000e+00 + -118.2408 33.8552 1.4998 -33 89 1.00000e+10 8.8463 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2467 33.8628 1.4998 -33 89 1.00000e+10 8.5220 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2527 33.8703 1.4998 -33 89 1.00000e+10 8.1943 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2586 33.8779 1.4998 -33 89 1.00000e+10 7.8750 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2646 33.8853 1.4998 -35 89 1.00000e+10 7.5566 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2710 33.8926 1.4998 -36 89 1.00000e+10 7.2466 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2774 33.8999 1.4998 -36 89 1.00000e+10 6.9414 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2838 33.9071 1.4998 -36 89 1.00000e+10 6.6368 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2901 33.9145 1.4998 -35 89 1.00000e+10 6.3421 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2963 33.9219 1.4998 -34 89 1.00000e+10 6.0579 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3031 33.9285 1.4998 -47 89 1.00000e+10 5.7815 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3121 33.9323 1.4998 -78 89 1.00000e+10 5.5170 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3204 33.9370 1.4998 -33 89 1.00000e+10 5.2676 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3261 33.9445 1.4998 -32 89 1.00000e+10 5.0269 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3335 33.9508 1.4998 -56 89 1.00000e+10 4.7802 1.00000e-01 + 180 31.04 39 0.00 0 0.00 0 + 0.00000e+00 6.74726e+00 1.34945e+01 2.02418e+01 2.69890e+01 2.02418e+01 + 1.34945e+01 1.30728e+01 1.26511e+01 1.22294e+01 1.18077e+01 1.13860e+01 + 1.09643e+01 1.05426e+01 1.01209e+01 9.69918e+00 9.27748e+00 8.85577e+00 + 8.43407e+00 8.01237e+00 7.59066e+00 7.16896e+00 6.74726e+00 6.32555e+00 + 5.90385e+00 5.48215e+00 5.06044e+00 4.63874e+00 4.21704e+00 3.79533e+00 + 3.37363e+00 2.95192e+00 2.53022e+00 2.10852e+00 1.68681e+00 1.26511e+00 + 8.43407e-01 4.21704e-01 0.00000e+00 + -118.3424 33.9558 1.4998 -56 89 1.00000e+10 4.5881 1.00000e-01 + 180 24.38 39 0.00 0 0.00 0 + 0.00000e+00 5.30052e+00 1.06010e+01 1.59016e+01 2.12021e+01 1.59016e+01 + 1.06010e+01 1.02698e+01 9.93848e+00 9.60719e+00 9.27591e+00 8.94463e+00 + 8.61335e+00 8.28206e+00 7.95078e+00 7.61950e+00 7.28822e+00 6.95693e+00 + 6.62565e+00 6.29437e+00 5.96309e+00 5.63180e+00 5.30052e+00 4.96924e+00 + 4.63796e+00 4.30667e+00 3.97539e+00 3.64411e+00 3.31283e+00 2.98154e+00 + 2.65026e+00 2.31898e+00 1.98770e+00 1.65641e+00 1.32513e+00 9.93848e-01 + 6.62565e-01 3.31283e-01 0.00000e+00 + -118.3503 33.9615 1.4998 -42 89 1.00000e+10 4.4290 1.00000e-01 + 180 5.44 39 0.00 0 0.00 0 + 0.00000e+00 1.18238e+00 2.36476e+00 3.54715e+00 4.72953e+00 3.54715e+00 + 2.36476e+00 2.29087e+00 2.21697e+00 2.14307e+00 2.06917e+00 1.99527e+00 + 1.92137e+00 1.84747e+00 1.77357e+00 1.69967e+00 1.62578e+00 1.55188e+00 + 1.47798e+00 1.40408e+00 1.33018e+00 1.25628e+00 1.18238e+00 1.10848e+00 + 1.03458e+00 9.60685e-01 8.86786e-01 8.12888e-01 7.38989e-01 6.65090e-01 + 5.91191e-01 5.17292e-01 4.43393e-01 3.69494e-01 2.95595e-01 2.21697e-01 + 1.47798e-01 7.38989e-02 0.00000e+00 + -118.3549 33.9691 1.4998 -12 89 1.00000e+10 4.2758 1.00000e-01 + 180 9.73 39 0.00 0 0.00 0 + 0.00000e+00 2.11504e+00 4.23008e+00 6.34513e+00 8.46017e+00 6.34513e+00 + 4.23008e+00 4.09789e+00 3.96570e+00 3.83351e+00 3.70132e+00 3.56913e+00 + 3.43694e+00 3.30475e+00 3.17256e+00 3.04037e+00 2.90818e+00 2.77599e+00 + 2.64380e+00 2.51161e+00 2.37942e+00 2.24723e+00 2.11504e+00 1.98285e+00 + 1.85066e+00 1.71847e+00 1.58628e+00 1.45409e+00 1.32190e+00 1.18971e+00 + 1.05752e+00 9.25331e-01 7.93141e-01 6.60951e-01 5.28760e-01 3.96570e-01 + 2.64380e-01 1.32190e-01 0.00000e+00 + -118.3572 33.9779 1.4998 -12 89 1.00000e+10 4.1663 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3597 33.9866 1.4998 -15 89 1.00000e+10 4.0783 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3632 33.9951 1.4998 -23 89 1.00000e+10 4.0243 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3675 34.0033 1.4998 -24 89 1.00000e+10 3.9814 1.00000e-01 + 180 25.16 39 0.00 0 0.00 0 + 0.00000e+00 5.46882e+00 1.09376e+01 1.64065e+01 2.18753e+01 1.64065e+01 + 1.09376e+01 1.05958e+01 1.02540e+01 9.91224e+00 9.57044e+00 9.22864e+00 + 8.88684e+00 8.54503e+00 8.20323e+00 7.86143e+00 7.51963e+00 7.17783e+00 + 6.83603e+00 6.49423e+00 6.15242e+00 5.81062e+00 5.46882e+00 5.12702e+00 + 4.78522e+00 4.44342e+00 4.10162e+00 3.75981e+00 3.41801e+00 3.07621e+00 + 2.73441e+00 2.39261e+00 2.05081e+00 1.70901e+00 1.36721e+00 1.02540e+00 + 6.83603e-01 3.41801e-01 0.00000e+00 + -118.3720 34.0115 1.4998 -24 89 1.00000e+10 4.0086 1.00000e-01 + 180 15.84 39 0.00 0 0.00 0 + 0.00000e+00 3.44403e+00 6.88805e+00 1.03321e+01 1.37761e+01 1.03321e+01 + 6.88805e+00 6.67280e+00 6.45755e+00 6.24230e+00 6.02705e+00 5.81179e+00 + 5.59654e+00 5.38129e+00 5.16604e+00 4.95079e+00 4.73554e+00 4.52028e+00 + 4.30503e+00 4.08978e+00 3.87453e+00 3.65928e+00 3.44403e+00 3.22877e+00 + 3.01352e+00 2.79827e+00 2.58302e+00 2.36777e+00 2.15252e+00 1.93726e+00 + 1.72201e+00 1.50676e+00 1.29151e+00 1.07626e+00 8.61007e-01 6.45755e-01 + 4.30503e-01 2.15252e-01 0.00000e+00 + -118.3764 34.0197 1.4998 -24 89 1.00000e+10 4.0615 1.00000e-01 + 180 16.91 39 0.00 0 0.00 0 + 0.00000e+00 3.67537e+00 7.35074e+00 1.10261e+01 1.47015e+01 1.10261e+01 + 7.35074e+00 7.12103e+00 6.89132e+00 6.66161e+00 6.43190e+00 6.20219e+00 + 5.97248e+00 5.74277e+00 5.51305e+00 5.28334e+00 5.05363e+00 4.82392e+00 + 4.59421e+00 4.36450e+00 4.13479e+00 3.90508e+00 3.67537e+00 3.44566e+00 + 3.21595e+00 2.98624e+00 2.75653e+00 2.52682e+00 2.29711e+00 2.06740e+00 + 1.83768e+00 1.60797e+00 1.37826e+00 1.14855e+00 9.18842e-01 6.89132e-01 + 4.59421e-01 2.29711e-01 0.00000e+00 + -118.3809 34.0280 1.4998 -24 89 1.00000e+10 4.1565 1.00000e-01 + 180 9.85 39 0.00 0 0.00 0 + 0.00000e+00 2.14104e+00 4.28207e+00 6.42311e+00 8.56414e+00 6.42311e+00 + 4.28207e+00 4.14826e+00 4.01444e+00 3.88063e+00 3.74681e+00 3.61300e+00 + 3.47918e+00 3.34537e+00 3.21155e+00 3.07774e+00 2.94392e+00 2.81011e+00 + 2.67629e+00 2.54248e+00 2.40866e+00 2.27485e+00 2.14104e+00 2.00722e+00 + 1.87341e+00 1.73959e+00 1.60578e+00 1.47196e+00 1.33815e+00 1.20433e+00 + 1.07052e+00 9.36703e-01 8.02888e-01 6.69074e-01 5.35259e-01 4.01444e-01 + 2.67629e-01 1.33815e-01 0.00000e+00 + -117.3569 33.0605 2.4997 -33 89 1.00000e+10 50.6496 1.00000e-01 + 180 11.00 39 0.00 0 0.00 0 + 0.00000e+00 2.39027e+00 4.78054e+00 7.17081e+00 9.56108e+00 7.17081e+00 + 4.78054e+00 4.63115e+00 4.48176e+00 4.33236e+00 4.18297e+00 4.03358e+00 + 3.88419e+00 3.73480e+00 3.58540e+00 3.43601e+00 3.28662e+00 3.13723e+00 + 2.98784e+00 2.83845e+00 2.68905e+00 2.53966e+00 2.39027e+00 2.24088e+00 + 2.09149e+00 1.94209e+00 1.79270e+00 1.64331e+00 1.49392e+00 1.34453e+00 + 1.19513e+00 1.04574e+00 8.96351e-01 7.46959e-01 5.97567e-01 4.48176e-01 + 2.98784e-01 1.49392e-01 0.00000e+00 + -117.3627 33.0681 2.4997 -33 89 1.00000e+10 50.2850 1.00000e-01 + 180 29.73 39 0.00 0 0.00 0 + 0.00000e+00 6.46225e+00 1.29245e+01 1.93868e+01 2.58490e+01 1.93868e+01 + 1.29245e+01 1.25206e+01 1.21167e+01 1.17128e+01 1.13089e+01 1.09050e+01 + 1.05012e+01 1.00973e+01 9.69338e+00 9.28949e+00 8.88560e+00 8.48170e+00 + 8.07781e+00 7.67392e+00 7.27003e+00 6.86614e+00 6.46225e+00 6.05836e+00 + 5.65447e+00 5.25058e+00 4.84669e+00 4.44280e+00 4.03891e+00 3.63502e+00 + 3.23113e+00 2.82723e+00 2.42334e+00 2.01945e+00 1.61556e+00 1.21167e+00 + 8.07781e-01 4.03891e-01 0.00000e+00 + -117.3685 33.0756 2.4997 -33 89 1.00000e+10 49.9087 1.00000e-01 + 180 61.56 39 0.00 0 0.00 0 + 0.00000e+00 1.33828e+01 2.67656e+01 4.01484e+01 5.35312e+01 4.01484e+01 + 2.67656e+01 2.59292e+01 2.50927e+01 2.42563e+01 2.34199e+01 2.25835e+01 + 2.17470e+01 2.09106e+01 2.00742e+01 1.92378e+01 1.84014e+01 1.75649e+01 + 1.67285e+01 1.58921e+01 1.50556e+01 1.42192e+01 1.33828e+01 1.25464e+01 + 1.17099e+01 1.08735e+01 1.00371e+01 9.20068e+00 8.36425e+00 7.52782e+00 + 6.69140e+00 5.85497e+00 5.01855e+00 4.18212e+00 3.34570e+00 2.50927e+00 + 1.67285e+00 8.36425e-01 0.00000e+00 + -117.3746 33.0830 2.4997 -36 89 1.00000e+10 49.5510 1.00000e-01 + 180 72.54 39 0.00 0 0.00 0 + 0.00000e+00 1.57686e+01 3.15372e+01 4.73058e+01 6.30744e+01 4.73058e+01 + 3.15372e+01 3.05517e+01 2.95661e+01 2.85806e+01 2.75951e+01 2.66095e+01 + 2.56240e+01 2.46384e+01 2.36529e+01 2.26674e+01 2.16818e+01 2.06963e+01 + 1.97108e+01 1.87252e+01 1.77397e+01 1.67541e+01 1.57686e+01 1.47831e+01 + 1.37975e+01 1.28120e+01 1.18265e+01 1.08409e+01 9.85538e+00 8.86984e+00 + 7.88430e+00 6.89876e+00 5.91323e+00 4.92769e+00 3.94215e+00 2.95661e+00 + 1.97108e+00 9.85538e-01 0.00000e+00 + -117.3821 33.0892 2.4997 -55 89 1.00000e+10 49.1474 1.00000e-01 + 180 124.55 39 0.00 0 0.00 0 + 0.00000e+00 2.70760e+01 5.41520e+01 8.12279e+01 1.08304e+02 8.12279e+01 + 5.41520e+01 5.24597e+01 5.07675e+01 4.90752e+01 4.73830e+01 4.56907e+01 + 4.39985e+01 4.23062e+01 4.06140e+01 3.89217e+01 3.72295e+01 3.55372e+01 + 3.38450e+01 3.21527e+01 3.04605e+01 2.87682e+01 2.70760e+01 2.53837e+01 + 2.36915e+01 2.19992e+01 2.03070e+01 1.86147e+01 1.69225e+01 1.52302e+01 + 1.35380e+01 1.18457e+01 1.01535e+01 8.46124e+00 6.76900e+00 5.07675e+00 + 3.38450e+00 1.69225e+00 0.00000e+00 + -117.3909 33.0944 2.4997 -55 89 1.00000e+10 48.7631 1.00000e-01 + 180 166.65 39 0.00 0 0.00 0 + 0.00000e+00 3.62287e+01 7.24574e+01 1.08686e+02 1.44915e+02 1.08686e+02 + 7.24574e+01 7.01931e+01 6.79288e+01 6.56645e+01 6.34002e+01 6.11359e+01 + 5.88716e+01 5.66073e+01 5.43430e+01 5.20787e+01 4.98144e+01 4.75502e+01 + 4.52859e+01 4.30216e+01 4.07573e+01 3.84930e+01 3.62287e+01 3.39644e+01 + 3.17001e+01 2.94358e+01 2.71715e+01 2.49072e+01 2.26429e+01 2.03786e+01 + 1.81143e+01 1.58501e+01 1.35858e+01 1.13215e+01 9.05717e+00 6.79288e+00 + 4.52859e+00 2.26429e+00 0.00000e+00 + -117.3993 33.1000 2.4997 -48 89 1.00000e+10 48.4068 1.00000e-01 + 180 175.99 39 0.00 0 0.00 0 + 0.00000e+00 3.82582e+01 7.65164e+01 1.14775e+02 1.53033e+02 1.14775e+02 + 7.65164e+01 7.41253e+01 7.17342e+01 6.93430e+01 6.69519e+01 6.45607e+01 + 6.21696e+01 5.97785e+01 5.73873e+01 5.49962e+01 5.26050e+01 5.02139e+01 + 4.78228e+01 4.54316e+01 4.30405e+01 4.06494e+01 3.82582e+01 3.58671e+01 + 3.34759e+01 3.10848e+01 2.86937e+01 2.63025e+01 2.39114e+01 2.15202e+01 + 1.91291e+01 1.67380e+01 1.43468e+01 1.19557e+01 9.56455e+00 7.17342e+00 + 4.78228e+00 2.39114e+00 0.00000e+00 + -117.4072 33.1060 2.4997 -47 89 1.00000e+10 48.0140 1.00000e-01 + 180 218.37 39 0.00 0 0.00 0 + 0.00000e+00 4.74722e+01 9.49445e+01 1.42417e+02 1.89889e+02 1.42417e+02 + 9.49445e+01 9.19775e+01 8.90104e+01 8.60434e+01 8.30764e+01 8.01094e+01 + 7.71424e+01 7.41754e+01 7.12084e+01 6.82413e+01 6.52743e+01 6.23073e+01 + 5.93403e+01 5.63733e+01 5.34063e+01 5.04393e+01 4.74722e+01 4.45052e+01 + 4.15382e+01 3.85712e+01 3.56042e+01 3.26372e+01 2.96701e+01 2.67031e+01 + 2.37361e+01 2.07691e+01 1.78021e+01 1.48351e+01 1.18681e+01 8.90104e+00 + 5.93403e+00 2.96701e+00 0.00000e+00 + -117.4143 33.1127 2.4997 -36 89 1.00000e+10 47.6382 1.00000e-01 + 180 246.86 39 0.00 0 0.00 0 + 0.00000e+00 5.36642e+01 1.07328e+02 1.60992e+02 2.14657e+02 1.60992e+02 + 1.07328e+02 1.03974e+02 1.00620e+02 9.72663e+01 9.39123e+01 9.05583e+01 + 8.72042e+01 8.38502e+01 8.04962e+01 7.71422e+01 7.37882e+01 7.04342e+01 + 6.70802e+01 6.37262e+01 6.03722e+01 5.70182e+01 5.36642e+01 5.03101e+01 + 4.69561e+01 4.36021e+01 4.02481e+01 3.68941e+01 3.35401e+01 3.01861e+01 + 2.68321e+01 2.34781e+01 2.01241e+01 1.67700e+01 1.34160e+01 1.00620e+01 + 6.70802e+00 3.35401e+00 0.00000e+00 + -117.4203 33.1201 2.4997 -33 89 1.00000e+10 47.2960 1.00000e-01 + 180 244.81 39 0.00 0 0.00 0 + 0.00000e+00 5.32192e+01 1.06438e+02 1.59658e+02 2.12877e+02 1.59658e+02 + 1.06438e+02 1.03112e+02 9.97861e+01 9.64599e+01 9.31337e+01 8.98075e+01 + 8.64813e+01 8.31551e+01 7.98289e+01 7.65027e+01 7.31765e+01 6.98503e+01 + 6.65240e+01 6.31978e+01 5.98716e+01 5.65454e+01 5.32192e+01 4.98930e+01 + 4.65668e+01 4.32406e+01 3.99144e+01 3.65882e+01 3.32620e+01 2.99358e+01 + 2.66096e+01 2.32834e+01 1.99572e+01 1.66310e+01 1.33048e+01 9.97861e+00 + 6.65240e+00 3.32620e+00 0.00000e+00 + -117.4240 33.1283 2.4997 -8 89 1.00000e+10 46.9776 1.00000e-01 + 180 216.02 39 0.00 0 0.00 0 + 0.00000e+00 4.69605e+01 9.39211e+01 1.40882e+02 1.87842e+02 1.40882e+02 + 9.39211e+01 9.09861e+01 8.80510e+01 8.51160e+01 8.21810e+01 7.92459e+01 + 7.63109e+01 7.33759e+01 7.04408e+01 6.75058e+01 6.45707e+01 6.16357e+01 + 5.87007e+01 5.57656e+01 5.28306e+01 4.98956e+01 4.69605e+01 4.40255e+01 + 4.10905e+01 3.81554e+01 3.52204e+01 3.22854e+01 2.93503e+01 2.64153e+01 + 2.34803e+01 2.05452e+01 1.76102e+01 1.46752e+01 1.17401e+01 8.80510e+00 + 5.87007e+00 2.93503e+00 0.00000e+00 + -117.4255 33.1372 2.4997 -8 89 1.00000e+10 46.6160 1.00000e-01 + 180 228.79 39 0.00 0 0.00 0 + 0.00000e+00 4.97379e+01 9.94757e+01 1.49214e+02 1.98951e+02 1.49214e+02 + 9.94757e+01 9.63671e+01 9.32585e+01 9.01499e+01 8.70413e+01 8.39326e+01 + 8.08240e+01 7.77154e+01 7.46068e+01 7.14982e+01 6.83896e+01 6.52809e+01 + 6.21723e+01 5.90637e+01 5.59551e+01 5.28465e+01 4.97379e+01 4.66292e+01 + 4.35206e+01 4.04120e+01 3.73034e+01 3.41948e+01 3.10862e+01 2.79775e+01 + 2.48689e+01 2.17603e+01 1.86517e+01 1.55431e+01 1.24345e+01 9.32585e+00 + 6.21723e+00 3.10862e+00 0.00000e+00 + -117.4271 33.1461 2.4997 -8 89 1.00000e+10 46.2132 1.00000e-01 + 180 281.64 39 0.00 0 0.00 0 + 0.00000e+00 6.12266e+01 1.22453e+02 1.83680e+02 2.44906e+02 1.83680e+02 + 1.22453e+02 1.18626e+02 1.14800e+02 1.10973e+02 1.07146e+02 1.03320e+02 + 9.94931e+01 9.56665e+01 9.18398e+01 8.80132e+01 8.41865e+01 8.03598e+01 + 7.65332e+01 7.27065e+01 6.88799e+01 6.50532e+01 6.12266e+01 5.73999e+01 + 5.35732e+01 4.97466e+01 4.59199e+01 4.20933e+01 3.82666e+01 3.44399e+01 + 3.06133e+01 2.67866e+01 2.29600e+01 1.91333e+01 1.53066e+01 1.14800e+01 + 7.65332e+00 3.82666e+00 0.00000e+00 + -117.4296 33.1546 2.4997 -20 89 1.00000e+10 45.8186 1.00000e-01 + 180 330.80 39 0.00 0 0.00 0 + 0.00000e+00 7.19126e+01 1.43825e+02 2.15738e+02 2.87651e+02 2.15738e+02 + 1.43825e+02 1.39331e+02 1.34836e+02 1.30342e+02 1.25847e+02 1.21353e+02 + 1.16858e+02 1.12364e+02 1.07869e+02 1.03374e+02 9.88799e+01 9.43853e+01 + 8.98908e+01 8.53963e+01 8.09017e+01 7.64072e+01 7.19126e+01 6.74181e+01 + 6.29236e+01 5.84290e+01 5.39345e+01 4.94399e+01 4.49454e+01 4.04509e+01 + 3.59563e+01 3.14618e+01 2.69672e+01 2.24727e+01 1.79782e+01 1.34836e+01 + 8.98908e+00 4.49454e+00 0.00000e+00 + -117.4347 33.1623 2.4997 -39 89 1.00000e+10 45.4130 1.00000e-01 + 180 390.18 39 0.00 0 0.00 0 + 0.00000e+00 8.48219e+01 1.69644e+02 2.54466e+02 3.39288e+02 2.54466e+02 + 1.69644e+02 1.64342e+02 1.59041e+02 1.53740e+02 1.48438e+02 1.43137e+02 + 1.37836e+02 1.32534e+02 1.27233e+02 1.21932e+02 1.16630e+02 1.11329e+02 + 1.06027e+02 1.00726e+02 9.54247e+01 9.01233e+01 8.48219e+01 7.95206e+01 + 7.42192e+01 6.89178e+01 6.36165e+01 5.83151e+01 5.30137e+01 4.77123e+01 + 4.24110e+01 3.71096e+01 3.18082e+01 2.65069e+01 2.12055e+01 1.59041e+01 + 1.06027e+01 5.30137e+00 0.00000e+00 + -117.4414 33.1693 2.4997 -39 89 1.00000e+10 45.0410 1.00000e-01 + 180 415.26 39 0.00 0 0.00 0 + 0.00000e+00 9.02744e+01 1.80549e+02 2.70823e+02 3.61098e+02 2.70823e+02 + 1.80549e+02 1.74907e+02 1.69264e+02 1.63622e+02 1.57980e+02 1.52338e+02 + 1.46696e+02 1.41054e+02 1.35412e+02 1.29769e+02 1.24127e+02 1.18485e+02 + 1.12843e+02 1.07201e+02 1.01559e+02 9.59165e+01 9.02744e+01 8.46322e+01 + 7.89901e+01 7.33479e+01 6.77058e+01 6.20636e+01 5.64215e+01 5.07793e+01 + 4.51372e+01 3.94950e+01 3.38529e+01 2.82107e+01 2.25686e+01 1.69264e+01 + 1.12843e+01 5.64215e+00 0.00000e+00 + -117.4481 33.1763 2.4997 -39 89 1.00000e+10 44.6749 1.00000e-01 + 180 434.46 39 0.00 0 0.00 0 + 0.00000e+00 9.44472e+01 1.88894e+02 2.83342e+02 3.77789e+02 2.83342e+02 + 1.88894e+02 1.82991e+02 1.77088e+02 1.71186e+02 1.65283e+02 1.59380e+02 + 1.53477e+02 1.47574e+02 1.41671e+02 1.35768e+02 1.29865e+02 1.23962e+02 + 1.18059e+02 1.12156e+02 1.06253e+02 1.00350e+02 9.44472e+01 8.85442e+01 + 8.26413e+01 7.67383e+01 7.08354e+01 6.49324e+01 5.90295e+01 5.31265e+01 + 4.72236e+01 4.13206e+01 3.54177e+01 2.95147e+01 2.36118e+01 1.77088e+01 + 1.18059e+01 5.90295e+00 0.00000e+00 + -117.4548 33.1833 2.4997 -39 89 1.00000e+10 44.2997 1.00000e-01 + 180 463.25 39 0.00 0 0.00 0 + 0.00000e+00 1.00707e+02 2.01414e+02 3.02122e+02 4.02829e+02 3.02122e+02 + 2.01414e+02 1.95120e+02 1.88826e+02 1.82532e+02 1.76238e+02 1.69943e+02 + 1.63649e+02 1.57355e+02 1.51061e+02 1.44767e+02 1.38472e+02 1.32178e+02 + 1.25884e+02 1.19590e+02 1.13296e+02 1.07001e+02 1.00707e+02 9.44130e+01 + 8.81188e+01 8.18246e+01 7.55304e+01 6.92362e+01 6.29420e+01 5.66478e+01 + 5.03536e+01 4.40594e+01 3.77652e+01 3.14710e+01 2.51768e+01 1.88826e+01 + 1.25884e+01 6.29420e+00 0.00000e+00 + -117.4616 33.1903 2.4997 -39 89 1.00000e+10 44.0228 1.00000e-01 + 180 393.73 39 0.00 0 0.00 0 + 0.00000e+00 8.55928e+01 1.71186e+02 2.56778e+02 3.42371e+02 2.56778e+02 + 1.71186e+02 1.65836e+02 1.60486e+02 1.55137e+02 1.49787e+02 1.44438e+02 + 1.39088e+02 1.33739e+02 1.28389e+02 1.23040e+02 1.17690e+02 1.12341e+02 + 1.06991e+02 1.01641e+02 9.62919e+01 9.09423e+01 8.55928e+01 8.02432e+01 + 7.48937e+01 6.95441e+01 6.41946e+01 5.88450e+01 5.34955e+01 4.81459e+01 + 4.27964e+01 3.74468e+01 3.20973e+01 2.67477e+01 2.13982e+01 1.60486e+01 + 1.06991e+01 5.34955e+00 0.00000e+00 + -117.4683 33.1974 2.4997 -39 89 1.00000e+10 43.7064 1.00000e-01 + 180 360.52 39 0.00 0 0.00 0 + 0.00000e+00 7.83731e+01 1.56746e+02 2.35119e+02 3.13492e+02 2.35119e+02 + 1.56746e+02 1.51848e+02 1.46950e+02 1.42051e+02 1.37153e+02 1.32255e+02 + 1.27356e+02 1.22458e+02 1.17560e+02 1.12661e+02 1.07763e+02 1.02865e+02 + 9.79664e+01 9.30681e+01 8.81698e+01 8.32714e+01 7.83731e+01 7.34748e+01 + 6.85765e+01 6.36782e+01 5.87798e+01 5.38815e+01 4.89832e+01 4.40849e+01 + 3.91866e+01 3.42882e+01 2.93899e+01 2.44916e+01 1.95933e+01 1.46950e+01 + 9.79664e+00 4.89832e+00 0.00000e+00 + -117.4750 33.2044 2.4997 -39 89 1.00000e+10 43.3944 1.00000e-01 + 180 324.72 39 0.00 0 0.00 0 + 0.00000e+00 7.05916e+01 1.41183e+02 2.11775e+02 2.82367e+02 2.11775e+02 + 1.41183e+02 1.36771e+02 1.32359e+02 1.27947e+02 1.23535e+02 1.19123e+02 + 1.14711e+02 1.10299e+02 1.05887e+02 1.01475e+02 9.70635e+01 9.26515e+01 + 8.82395e+01 8.38276e+01 7.94156e+01 7.50036e+01 7.05916e+01 6.61796e+01 + 6.17677e+01 5.73557e+01 5.29437e+01 4.85317e+01 4.41198e+01 3.97078e+01 + 3.52958e+01 3.08838e+01 2.64719e+01 2.20599e+01 1.76479e+01 1.32359e+01 + 8.82395e+00 4.41198e+00 0.00000e+00 + -117.4818 33.2114 2.4997 -39 89 1.00000e+10 43.0771 1.00000e-01 + 180 296.23 39 0.00 0 0.00 0 + 0.00000e+00 6.43987e+01 1.28797e+02 1.93196e+02 2.57595e+02 1.93196e+02 + 1.28797e+02 1.24772e+02 1.20747e+02 1.16723e+02 1.12698e+02 1.08673e+02 + 1.04648e+02 1.00623e+02 9.65980e+01 9.25731e+01 8.85481e+01 8.45232e+01 + 8.04983e+01 7.64734e+01 7.24485e+01 6.84236e+01 6.43987e+01 6.03737e+01 + 5.63488e+01 5.23239e+01 4.82990e+01 4.42741e+01 4.02492e+01 3.62242e+01 + 3.21993e+01 2.81744e+01 2.41495e+01 2.01246e+01 1.60997e+01 1.20747e+01 + 8.04983e+00 4.02492e+00 0.00000e+00 + -117.4893 33.2177 2.4997 -51 89 1.00000e+10 42.6080 1.00000e-01 + 180 419.11 39 0.00 0 0.00 0 + 0.00000e+00 9.11099e+01 1.82220e+02 2.73330e+02 3.64439e+02 2.73330e+02 + 1.82220e+02 1.76525e+02 1.70831e+02 1.65137e+02 1.59442e+02 1.53748e+02 + 1.48054e+02 1.42359e+02 1.36665e+02 1.30970e+02 1.25276e+02 1.19582e+02 + 1.13887e+02 1.08193e+02 1.02499e+02 9.68042e+01 9.11099e+01 8.54155e+01 + 7.97211e+01 7.40268e+01 6.83324e+01 6.26380e+01 5.69437e+01 5.12493e+01 + 4.55549e+01 3.98606e+01 3.41662e+01 2.84718e+01 2.27775e+01 1.70831e+01 + 1.13887e+01 5.69437e+00 0.00000e+00 + -117.4979 33.2231 2.4997 -55 89 1.00000e+10 42.2801 1.00000e-01 + 180 398.12 39 0.00 0 0.00 0 + 0.00000e+00 8.65474e+01 1.73095e+02 2.59642e+02 3.46190e+02 2.59642e+02 + 1.73095e+02 1.67686e+02 1.62276e+02 1.56867e+02 1.51458e+02 1.46049e+02 + 1.40640e+02 1.35230e+02 1.29821e+02 1.24412e+02 1.19003e+02 1.13593e+02 + 1.08184e+02 1.02775e+02 9.73658e+01 9.19566e+01 8.65474e+01 8.11382e+01 + 7.57290e+01 7.03198e+01 6.49105e+01 5.95013e+01 5.40921e+01 4.86829e+01 + 4.32737e+01 3.78645e+01 3.24553e+01 2.70461e+01 2.16368e+01 1.62276e+01 + 1.08184e+01 5.40921e+00 0.00000e+00 + -117.5067 33.2282 2.4997 -55 89 1.00000e+10 41.9501 1.00000e-01 + 180 378.66 39 0.00 0 0.00 0 + 0.00000e+00 8.23184e+01 1.64637e+02 2.46955e+02 3.29274e+02 2.46955e+02 + 1.64637e+02 1.59492e+02 1.54347e+02 1.49202e+02 1.44057e+02 1.38912e+02 + 1.33767e+02 1.28622e+02 1.23478e+02 1.18333e+02 1.13188e+02 1.08043e+02 + 1.02898e+02 9.77531e+01 9.26082e+01 8.74633e+01 8.23184e+01 7.71735e+01 + 7.20286e+01 6.68837e+01 6.17388e+01 5.65939e+01 5.14490e+01 4.63041e+01 + 4.11592e+01 3.60143e+01 3.08694e+01 2.57245e+01 2.05796e+01 1.54347e+01 + 1.02898e+01 5.14490e+00 0.00000e+00 + -117.5155 33.2334 2.4997 -55 89 1.00000e+10 41.6569 1.00000e-01 + 180 325.75 39 0.00 0 0.00 0 + 0.00000e+00 7.08153e+01 1.41631e+02 2.12446e+02 2.83261e+02 2.12446e+02 + 1.41631e+02 1.37205e+02 1.32779e+02 1.28353e+02 1.23927e+02 1.19501e+02 + 1.15075e+02 1.10649e+02 1.06223e+02 1.01797e+02 9.73710e+01 9.29450e+01 + 8.85191e+01 8.40931e+01 7.96672e+01 7.52412e+01 7.08153e+01 6.63893e+01 + 6.19633e+01 5.75374e+01 5.31114e+01 4.86855e+01 4.42595e+01 3.98336e+01 + 3.54076e+01 3.09817e+01 2.65557e+01 2.21298e+01 1.77038e+01 1.32779e+01 + 8.85191e+00 4.42595e+00 0.00000e+00 + -117.5244 33.2385 2.4997 -55 89 1.00000e+10 41.4534 1.00000e-01 + 180 182.42 39 0.00 0 0.00 0 + 0.00000e+00 3.96568e+01 7.93136e+01 1.18970e+02 1.58627e+02 1.18970e+02 + 7.93136e+01 7.68350e+01 7.43565e+01 7.18779e+01 6.93994e+01 6.69208e+01 + 6.44423e+01 6.19637e+01 5.94852e+01 5.70066e+01 5.45281e+01 5.20495e+01 + 4.95710e+01 4.70924e+01 4.46139e+01 4.21353e+01 3.96568e+01 3.71782e+01 + 3.46997e+01 3.22211e+01 2.97426e+01 2.72640e+01 2.47855e+01 2.23069e+01 + 1.98284e+01 1.73498e+01 1.48713e+01 1.23927e+01 9.91420e+00 7.43565e+00 + 4.95710e+00 2.47855e+00 0.00000e+00 + -117.5332 33.2437 2.4997 -55 89 1.00000e+10 41.0555 1.00000e-01 + 180 232.34 39 0.00 0 0.00 0 + 0.00000e+00 5.05093e+01 1.01019e+02 1.51528e+02 2.02037e+02 1.51528e+02 + 1.01019e+02 9.78617e+01 9.47049e+01 9.15481e+01 8.83912e+01 8.52344e+01 + 8.20776e+01 7.89207e+01 7.57639e+01 7.26071e+01 6.94503e+01 6.62934e+01 + 6.31366e+01 5.99798e+01 5.68229e+01 5.36661e+01 5.05093e+01 4.73524e+01 + 4.41956e+01 4.10388e+01 3.78820e+01 3.47251e+01 3.15683e+01 2.84115e+01 + 2.52546e+01 2.20978e+01 1.89410e+01 1.57841e+01 1.26273e+01 9.47049e+00 + 6.31366e+00 3.15683e+00 0.00000e+00 + -117.5420 33.2488 2.4997 -55 89 1.00000e+10 40.5669 1.00000e-01 + 180 374.95 39 0.00 0 0.00 0 + 0.00000e+00 8.15111e+01 1.63022e+02 2.44533e+02 3.26044e+02 2.44533e+02 + 1.63022e+02 1.57928e+02 1.52833e+02 1.47739e+02 1.42644e+02 1.37550e+02 + 1.32456e+02 1.27361e+02 1.22267e+02 1.17172e+02 1.12078e+02 1.06983e+02 + 1.01889e+02 9.67944e+01 9.17000e+01 8.66056e+01 8.15111e+01 7.64167e+01 + 7.13222e+01 6.62278e+01 6.11333e+01 5.60389e+01 5.09444e+01 4.58500e+01 + 4.07556e+01 3.56611e+01 3.05667e+01 2.54722e+01 2.03778e+01 1.52833e+01 + 1.01889e+01 5.09444e+00 0.00000e+00 + -117.5498 33.2549 2.4997 -39 89 1.00000e+10 40.1474 1.00000e-01 + 180 446.33 39 0.00 0 0.00 0 + 0.00000e+00 9.70283e+01 1.94057e+02 2.91085e+02 3.88113e+02 2.91085e+02 + 1.94057e+02 1.87992e+02 1.81928e+02 1.75864e+02 1.69800e+02 1.63735e+02 + 1.57671e+02 1.51607e+02 1.45543e+02 1.39478e+02 1.33414e+02 1.27350e+02 + 1.21285e+02 1.15221e+02 1.09157e+02 1.03093e+02 9.70283e+01 9.09641e+01 + 8.48998e+01 7.88355e+01 7.27713e+01 6.67070e+01 6.06427e+01 5.45784e+01 + 4.85142e+01 4.24499e+01 3.63856e+01 3.03214e+01 2.42571e+01 1.81928e+01 + 1.21285e+01 6.06427e+00 0.00000e+00 + -117.5565 33.2619 2.4997 -38 89 1.00000e+10 39.7948 1.00000e-01 + 180 455.62 39 0.00 0 0.00 0 + 0.00000e+00 9.90475e+01 1.98095e+02 2.97142e+02 3.96190e+02 2.97142e+02 + 1.98095e+02 1.91904e+02 1.85714e+02 1.79524e+02 1.73333e+02 1.67143e+02 + 1.60952e+02 1.54762e+02 1.48571e+02 1.42381e+02 1.36190e+02 1.30000e+02 + 1.23809e+02 1.17619e+02 1.11428e+02 1.05238e+02 9.90475e+01 9.28570e+01 + 8.66665e+01 8.04761e+01 7.42856e+01 6.80951e+01 6.19047e+01 5.57142e+01 + 4.95237e+01 4.33333e+01 3.71428e+01 3.09523e+01 2.47619e+01 1.85714e+01 + 1.23809e+01 6.19047e+00 0.00000e+00 + -117.5631 33.2690 2.4997 -38 89 1.00000e+10 39.4729 1.00000e-01 + 180 427.00 39 0.00 0 0.00 0 + 0.00000e+00 9.28261e+01 1.85652e+02 2.78478e+02 3.71304e+02 2.78478e+02 + 1.85652e+02 1.79851e+02 1.74049e+02 1.68247e+02 1.62446e+02 1.56644e+02 + 1.50842e+02 1.45041e+02 1.39239e+02 1.33438e+02 1.27636e+02 1.21834e+02 + 1.16033e+02 1.10231e+02 1.04429e+02 9.86277e+01 9.28261e+01 8.70245e+01 + 8.12228e+01 7.54212e+01 6.96196e+01 6.38179e+01 5.80163e+01 5.22147e+01 + 4.64130e+01 4.06114e+01 3.48098e+01 2.90082e+01 2.32065e+01 1.74049e+01 + 1.16033e+01 5.80163e+00 0.00000e+00 + -117.5697 33.2761 2.4997 -38 89 1.00000e+10 39.2391 1.00000e-01 + 180 315.79 39 0.00 0 0.00 0 + 0.00000e+00 6.86493e+01 1.37299e+02 2.05948e+02 2.74597e+02 2.05948e+02 + 1.37299e+02 1.33008e+02 1.28717e+02 1.24427e+02 1.20136e+02 1.15846e+02 + 1.11555e+02 1.07265e+02 1.02974e+02 9.86834e+01 9.43928e+01 9.01022e+01 + 8.58116e+01 8.15211e+01 7.72305e+01 7.29399e+01 6.86493e+01 6.43587e+01 + 6.00682e+01 5.57776e+01 5.14870e+01 4.71964e+01 4.29058e+01 3.86152e+01 + 3.43247e+01 3.00341e+01 2.57435e+01 2.14529e+01 1.71623e+01 1.28717e+01 + 8.58116e+00 4.29058e+00 0.00000e+00 + -117.5763 33.2832 2.4997 -38 89 1.00000e+10 39.0382 1.00000e-01 + 180 166.10 39 0.00 0 0.00 0 + 0.00000e+00 3.61094e+01 7.22188e+01 1.08328e+02 1.44438e+02 1.08328e+02 + 7.22188e+01 6.99619e+01 6.77051e+01 6.54482e+01 6.31914e+01 6.09346e+01 + 5.86777e+01 5.64209e+01 5.41641e+01 5.19072e+01 4.96504e+01 4.73936e+01 + 4.51367e+01 4.28799e+01 4.06230e+01 3.83662e+01 3.61094e+01 3.38525e+01 + 3.15957e+01 2.93389e+01 2.70820e+01 2.48252e+01 2.25684e+01 2.03115e+01 + 1.80547e+01 1.57979e+01 1.35410e+01 1.12842e+01 9.02734e+00 6.77051e+00 + 4.51367e+00 2.25684e+00 0.00000e+00 + -117.5830 33.2903 2.4997 -38 89 1.00000e+10 38.8210 1.00000e-01 + 180 34.18 39 0.00 0 0.00 0 + 0.00000e+00 7.43141e+00 1.48628e+01 2.22942e+01 2.97256e+01 2.22942e+01 + 1.48628e+01 1.43984e+01 1.39339e+01 1.34694e+01 1.30050e+01 1.25405e+01 + 1.20760e+01 1.16116e+01 1.11471e+01 1.06826e+01 1.02182e+01 9.75372e+00 + 9.28926e+00 8.82480e+00 8.36033e+00 7.89587e+00 7.43141e+00 6.96694e+00 + 6.50248e+00 6.03802e+00 5.57356e+00 5.10909e+00 4.64463e+00 4.18017e+00 + 3.71570e+00 3.25124e+00 2.78678e+00 2.32231e+00 1.85785e+00 1.39339e+00 + 9.28926e-01 4.64463e-01 0.00000e+00 + -117.5896 33.2974 2.4997 -38 89 1.00000e+10 38.5087 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.5962 33.3045 2.4997 -38 89 1.00000e+10 38.1597 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.6028 33.3116 2.4997 -38 89 1.00000e+10 37.6873 1.00000e-01 + 180 127.55 39 0.00 0 0.00 0 + 0.00000e+00 2.77276e+01 5.54552e+01 8.31828e+01 1.10910e+02 8.31828e+01 + 5.54552e+01 5.37222e+01 5.19893e+01 5.02563e+01 4.85233e+01 4.67903e+01 + 4.50574e+01 4.33244e+01 4.15914e+01 3.98584e+01 3.81255e+01 3.63925e+01 + 3.46595e+01 3.29265e+01 3.11936e+01 2.94606e+01 2.77276e+01 2.59946e+01 + 2.42617e+01 2.25287e+01 2.07957e+01 1.90627e+01 1.73298e+01 1.55968e+01 + 1.38638e+01 1.21308e+01 1.03979e+01 8.66488e+00 6.93190e+00 5.19893e+00 + 3.46595e+00 1.73298e+00 0.00000e+00 + -117.6095 33.3187 2.4997 -38 89 1.00000e+10 37.2571 1.00000e-01 + 180 215.70 39 0.00 0 0.00 0 + 0.00000e+00 4.68912e+01 9.37825e+01 1.40674e+02 1.87565e+02 1.40674e+02 + 9.37825e+01 9.08518e+01 8.79211e+01 8.49904e+01 8.20597e+01 7.91290e+01 + 7.61983e+01 7.32676e+01 7.03369e+01 6.74062e+01 6.44755e+01 6.15448e+01 + 5.86141e+01 5.56833e+01 5.27526e+01 4.98219e+01 4.68912e+01 4.39605e+01 + 4.10298e+01 3.80991e+01 3.51684e+01 3.22377e+01 2.93070e+01 2.63763e+01 + 2.34456e+01 2.05149e+01 1.75842e+01 1.46535e+01 1.17228e+01 8.79211e+00 + 5.86141e+00 2.93070e+00 0.00000e+00 + -117.6161 33.3258 2.4997 -38 89 1.00000e+10 36.8895 1.00000e-01 + 180 230.59 39 0.00 0 0.00 0 + 0.00000e+00 5.01283e+01 1.00257e+02 1.50385e+02 2.00513e+02 1.50385e+02 + 1.00257e+02 9.71236e+01 9.39906e+01 9.08576e+01 8.77245e+01 8.45915e+01 + 8.14585e+01 7.83255e+01 7.51925e+01 7.20594e+01 6.89264e+01 6.57934e+01 + 6.26604e+01 5.95274e+01 5.63943e+01 5.32613e+01 5.01283e+01 4.69953e+01 + 4.38623e+01 4.07292e+01 3.75962e+01 3.44632e+01 3.13302e+01 2.81972e+01 + 2.50642e+01 2.19311e+01 1.87981e+01 1.56651e+01 1.25321e+01 9.39906e+00 + 6.26604e+00 3.13302e+00 0.00000e+00 + -117.6227 33.3329 2.4997 -38 89 1.00000e+10 36.5225 1.00000e-01 + 180 249.74 39 0.00 0 0.00 0 + 0.00000e+00 5.42922e+01 1.08584e+02 1.62877e+02 2.17169e+02 1.62877e+02 + 1.08584e+02 1.05191e+02 1.01798e+02 9.84046e+01 9.50113e+01 9.16181e+01 + 8.82248e+01 8.48315e+01 8.14383e+01 7.80450e+01 7.46518e+01 7.12585e+01 + 6.78652e+01 6.44720e+01 6.10787e+01 5.76854e+01 5.42922e+01 5.08989e+01 + 4.75057e+01 4.41124e+01 4.07191e+01 3.73259e+01 3.39326e+01 3.05394e+01 + 2.71461e+01 2.37528e+01 2.03596e+01 1.69663e+01 1.35730e+01 1.01798e+01 + 6.78652e+00 3.39326e+00 0.00000e+00 + -117.6293 33.3400 2.4997 -38 89 1.00000e+10 36.2222 1.00000e-01 + 180 206.56 39 0.00 0 0.00 0 + 0.00000e+00 4.49045e+01 8.98090e+01 1.34713e+02 1.79618e+02 1.34713e+02 + 8.98090e+01 8.70025e+01 8.41959e+01 8.13894e+01 7.85829e+01 7.57763e+01 + 7.29698e+01 7.01633e+01 6.73567e+01 6.45502e+01 6.17437e+01 5.89371e+01 + 5.61306e+01 5.33241e+01 5.05176e+01 4.77110e+01 4.49045e+01 4.20980e+01 + 3.92914e+01 3.64849e+01 3.36784e+01 3.08718e+01 2.80653e+01 2.52588e+01 + 2.24522e+01 1.96457e+01 1.68392e+01 1.40327e+01 1.12261e+01 8.41959e+00 + 5.61306e+00 2.80653e+00 0.00000e+00 + -117.6359 33.3471 2.4997 -38 89 1.00000e+10 35.9451 1.00000e-01 + 180 137.08 39 0.00 0 0.00 0 + 0.00000e+00 2.98001e+01 5.96002e+01 8.94003e+01 1.19200e+02 8.94003e+01 + 5.96002e+01 5.77377e+01 5.58752e+01 5.40127e+01 5.21502e+01 5.02877e+01 + 4.84252e+01 4.65627e+01 4.47002e+01 4.28376e+01 4.09751e+01 3.91126e+01 + 3.72501e+01 3.53876e+01 3.35251e+01 3.16626e+01 2.98001e+01 2.79376e+01 + 2.60751e+01 2.42126e+01 2.23501e+01 2.04876e+01 1.86251e+01 1.67626e+01 + 1.49001e+01 1.30375e+01 1.11750e+01 9.31253e+00 7.45003e+00 5.58752e+00 + 3.72501e+00 1.86251e+00 0.00000e+00 + -117.6426 33.3542 2.4997 -38 89 1.00000e+10 35.6833 1.00000e-01 + 180 50.17 39 0.00 0 0.00 0 + 0.00000e+00 1.09066e+01 2.18133e+01 3.27199e+01 4.36266e+01 3.27199e+01 + 2.18133e+01 2.11316e+01 2.04500e+01 1.97683e+01 1.90866e+01 1.84050e+01 + 1.77233e+01 1.70416e+01 1.63600e+01 1.56783e+01 1.49966e+01 1.43150e+01 + 1.36333e+01 1.29516e+01 1.22700e+01 1.15883e+01 1.09066e+01 1.02250e+01 + 9.54332e+00 8.86165e+00 8.17999e+00 7.49832e+00 6.81666e+00 6.13499e+00 + 5.45332e+00 4.77166e+00 4.08999e+00 3.40833e+00 2.72666e+00 2.04500e+00 + 1.36333e+00 6.81665e-01 0.00000e+00 + -117.6492 33.3613 2.4997 -38 89 1.00000e+10 35.3800 1.00000e-01 + 180 4.18 39 0.00 0 0.00 0 + 0.00000e+00 9.07899e-01 1.81580e+00 2.72370e+00 3.63160e+00 2.72370e+00 + 1.81580e+00 1.75905e+00 1.70231e+00 1.64557e+00 1.58882e+00 1.53208e+00 + 1.47534e+00 1.41859e+00 1.36185e+00 1.30511e+00 1.24836e+00 1.19162e+00 + 1.13487e+00 1.07813e+00 1.02139e+00 9.64643e-01 9.07899e-01 8.51155e-01 + 7.94412e-01 7.37668e-01 6.80924e-01 6.24181e-01 5.67437e-01 5.10693e-01 + 4.53950e-01 3.97206e-01 3.40462e-01 2.83718e-01 2.26975e-01 1.70231e-01 + 1.13487e-01 5.67437e-02 0.00000e+00 + -117.6558 33.3684 2.4997 -38 89 1.00000e+10 34.9243 1.00000e-01 + 180 111.86 39 0.00 0 0.00 0 + 0.00000e+00 2.43167e+01 4.86335e+01 7.29502e+01 9.72670e+01 7.29502e+01 + 4.86335e+01 4.71137e+01 4.55939e+01 4.40741e+01 4.25543e+01 4.10345e+01 + 3.95147e+01 3.79949e+01 3.64751e+01 3.49553e+01 3.34355e+01 3.19157e+01 + 3.03959e+01 2.88761e+01 2.73563e+01 2.58365e+01 2.43167e+01 2.27970e+01 + 2.12772e+01 1.97574e+01 1.82376e+01 1.67178e+01 1.51980e+01 1.36782e+01 + 1.21584e+01 1.06386e+01 9.11878e+00 7.59898e+00 6.07919e+00 4.55939e+00 + 3.03959e+00 1.51980e+00 0.00000e+00 + -117.6625 33.3755 2.4997 -38 89 1.00000e+10 34.4515 1.00000e-01 + 180 237.63 39 0.00 0 0.00 0 + 0.00000e+00 5.16582e+01 1.03316e+02 1.54974e+02 2.06633e+02 1.54974e+02 + 1.03316e+02 1.00088e+02 9.68590e+01 9.36304e+01 9.04018e+01 8.71731e+01 + 8.39445e+01 8.07159e+01 7.74872e+01 7.42586e+01 7.10300e+01 6.78013e+01 + 6.45727e+01 6.13441e+01 5.81154e+01 5.48868e+01 5.16582e+01 4.84295e+01 + 4.52009e+01 4.19722e+01 3.87436e+01 3.55150e+01 3.22863e+01 2.90577e+01 + 2.58291e+01 2.26004e+01 1.93718e+01 1.61432e+01 1.29145e+01 9.68590e+00 + 6.45727e+00 3.22863e+00 0.00000e+00 + -117.6691 33.3826 2.4997 -38 89 1.00000e+10 34.0559 1.00000e-01 + 180 286.91 39 0.00 0 0.00 0 + 0.00000e+00 6.23722e+01 1.24744e+02 1.87117e+02 2.49489e+02 1.87117e+02 + 1.24744e+02 1.20846e+02 1.16948e+02 1.13050e+02 1.09151e+02 1.05253e+02 + 1.01355e+02 9.74565e+01 9.35583e+01 8.96600e+01 8.57617e+01 8.18635e+01 + 7.79652e+01 7.40670e+01 7.01687e+01 6.62704e+01 6.23722e+01 5.84739e+01 + 5.45756e+01 5.06774e+01 4.67791e+01 4.28809e+01 3.89826e+01 3.50843e+01 + 3.11861e+01 2.72878e+01 2.33896e+01 1.94913e+01 1.55930e+01 1.16948e+01 + 7.79652e+00 3.89826e+00 0.00000e+00 + -117.6757 33.3897 2.4997 -38 89 1.00000e+10 33.8611 1.00000e-01 + 180 135.78 39 0.00 0 0.00 0 + 0.00000e+00 2.95168e+01 5.90337e+01 8.85505e+01 1.18067e+02 8.85505e+01 + 5.90337e+01 5.71889e+01 5.53441e+01 5.34993e+01 5.16545e+01 4.98097e+01 + 4.79649e+01 4.61201e+01 4.42753e+01 4.24305e+01 4.05857e+01 3.87409e+01 + 3.68961e+01 3.50513e+01 3.32064e+01 3.13616e+01 2.95168e+01 2.76720e+01 + 2.58272e+01 2.39824e+01 2.21376e+01 2.02928e+01 1.84480e+01 1.66032e+01 + 1.47584e+01 1.29136e+01 1.10688e+01 9.22401e+00 7.37921e+00 5.53441e+00 + 3.68961e+00 1.84480e+00 0.00000e+00 + -117.6824 33.3967 2.4997 -38 89 1.00000e+10 33.5200 1.00000e-01 + 180 128.89 39 0.00 0 0.00 0 + 0.00000e+00 2.80206e+01 5.60413e+01 8.40619e+01 1.12083e+02 8.40619e+01 + 5.60413e+01 5.42900e+01 5.25387e+01 5.07874e+01 4.90361e+01 4.72848e+01 + 4.55335e+01 4.37823e+01 4.20310e+01 4.02797e+01 3.85284e+01 3.67771e+01 + 3.50258e+01 3.32745e+01 3.15232e+01 2.97719e+01 2.80206e+01 2.62694e+01 + 2.45181e+01 2.27668e+01 2.10155e+01 1.92642e+01 1.75129e+01 1.57616e+01 + 1.40103e+01 1.22590e+01 1.05077e+01 8.75645e+00 7.00516e+00 5.25387e+00 + 3.50258e+00 1.75129e+00 0.00000e+00 + -117.6891 33.4037 2.4997 -40 89 1.00000e+10 33.2615 1.00000e-01 + 180 42.37 39 0.00 0 0.00 0 + 0.00000e+00 9.21026e+00 1.84205e+01 2.76308e+01 3.68410e+01 2.76308e+01 + 1.84205e+01 1.78449e+01 1.72692e+01 1.66936e+01 1.61180e+01 1.55423e+01 + 1.49667e+01 1.43910e+01 1.38154e+01 1.32398e+01 1.26641e+01 1.20885e+01 + 1.15128e+01 1.09372e+01 1.03615e+01 9.78590e+00 9.21026e+00 8.63462e+00 + 8.05898e+00 7.48334e+00 6.90770e+00 6.33205e+00 5.75641e+00 5.18077e+00 + 4.60513e+00 4.02949e+00 3.45385e+00 2.87821e+00 2.30257e+00 1.72692e+00 + 1.15128e+00 5.75641e-01 0.00000e+00 + -117.6962 33.4106 2.4997 -41 89 1.00000e+10 32.9525 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7033 33.4173 2.4997 -41 89 1.00000e+10 32.6069 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7104 33.4241 2.4997 -41 89 1.00000e+10 32.2571 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7174 33.4309 2.4997 -41 89 1.00000e+10 31.8263 1.00000e-01 + 180 83.83 39 0.00 0 0.00 0 + 0.00000e+00 1.82233e+01 3.64466e+01 5.46699e+01 7.28932e+01 5.46699e+01 + 3.64466e+01 3.53076e+01 3.41687e+01 3.30297e+01 3.18908e+01 3.07518e+01 + 2.96128e+01 2.84739e+01 2.73349e+01 2.61960e+01 2.50570e+01 2.39181e+01 + 2.27791e+01 2.16402e+01 2.05012e+01 1.93622e+01 1.82233e+01 1.70843e+01 + 1.59454e+01 1.48064e+01 1.36675e+01 1.25285e+01 1.13896e+01 1.02506e+01 + 9.11164e+00 7.97269e+00 6.83373e+00 5.69478e+00 4.55582e+00 3.41687e+00 + 2.27791e+00 1.13896e+00 0.00000e+00 + -117.7245 33.4377 2.4997 -41 89 1.00000e+10 31.3321 1.00000e-01 + 180 238.93 39 0.00 0 0.00 0 + 0.00000e+00 5.19405e+01 1.03881e+02 1.55821e+02 2.07762e+02 1.55821e+02 + 1.03881e+02 1.00635e+02 9.73884e+01 9.41421e+01 9.08958e+01 8.76496e+01 + 8.44033e+01 8.11570e+01 7.79107e+01 7.46644e+01 7.14182e+01 6.81719e+01 + 6.49256e+01 6.16793e+01 5.84330e+01 5.51868e+01 5.19405e+01 4.86942e+01 + 4.54479e+01 4.22016e+01 3.89554e+01 3.57091e+01 3.24628e+01 2.92165e+01 + 2.59702e+01 2.27240e+01 1.94777e+01 1.62314e+01 1.29851e+01 9.73884e+00 + 6.49256e+00 3.24628e+00 0.00000e+00 + -117.7316 33.4445 2.4997 -41 89 1.00000e+10 30.8705 1.00000e-01 + 180 351.30 39 0.00 0 0.00 0 + 0.00000e+00 7.63694e+01 1.52739e+02 2.29108e+02 3.05477e+02 2.29108e+02 + 1.52739e+02 1.47966e+02 1.43193e+02 1.38419e+02 1.33646e+02 1.28873e+02 + 1.24100e+02 1.19327e+02 1.14554e+02 1.09781e+02 1.05008e+02 1.00235e+02 + 9.54617e+01 9.06886e+01 8.59155e+01 8.11424e+01 7.63694e+01 7.15963e+01 + 6.68232e+01 6.20501e+01 5.72770e+01 5.25039e+01 4.77309e+01 4.29578e+01 + 3.81847e+01 3.34116e+01 2.86385e+01 2.38654e+01 1.90923e+01 1.43193e+01 + 9.54617e+00 4.77309e+00 0.00000e+00 + -117.7387 33.4512 2.4997 -41 89 1.00000e+10 30.4251 1.00000e-01 + 180 448.08 39 0.00 0 0.00 0 + 0.00000e+00 9.74095e+01 1.94819e+02 2.92228e+02 3.89638e+02 2.92228e+02 + 1.94819e+02 1.88731e+02 1.82643e+02 1.76555e+02 1.70467e+02 1.64378e+02 + 1.58290e+02 1.52202e+02 1.46114e+02 1.40026e+02 1.33938e+02 1.27850e+02 + 1.21762e+02 1.15674e+02 1.09586e+02 1.03498e+02 9.74095e+01 9.13214e+01 + 8.52333e+01 7.91452e+01 7.30571e+01 6.69690e+01 6.08809e+01 5.47928e+01 + 4.87047e+01 4.26166e+01 3.65285e+01 3.04405e+01 2.43524e+01 1.82643e+01 + 1.21762e+01 6.08809e+00 0.00000e+00 + -117.7458 33.4580 2.4997 -41 89 1.00000e+10 29.9933 1.00000e-01 + 180 533.01 39 0.00 0 0.00 0 + 0.00000e+00 1.15871e+02 2.31743e+02 3.47614e+02 4.63485e+02 3.47614e+02 + 2.31743e+02 2.24501e+02 2.17259e+02 2.10017e+02 2.02775e+02 1.95533e+02 + 1.88291e+02 1.81049e+02 1.73807e+02 1.66565e+02 1.59323e+02 1.52081e+02 + 1.44839e+02 1.37597e+02 1.30355e+02 1.23113e+02 1.15871e+02 1.08629e+02 + 1.01387e+02 9.41455e+01 8.69035e+01 7.96616e+01 7.24196e+01 6.51776e+01 + 5.79357e+01 5.06937e+01 4.34518e+01 3.62098e+01 2.89678e+01 2.17259e+01 + 1.44839e+01 7.24196e+00 0.00000e+00 + -117.7529 33.4648 2.4997 -41 89 1.00000e+10 29.6334 1.00000e-01 + 180 548.12 39 0.00 0 0.00 0 + 0.00000e+00 1.19156e+02 2.38312e+02 3.57468e+02 4.76623e+02 3.57468e+02 + 2.38312e+02 2.30864e+02 2.23417e+02 2.15970e+02 2.08523e+02 2.01075e+02 + 1.93628e+02 1.86181e+02 1.78734e+02 1.71287e+02 1.63839e+02 1.56392e+02 + 1.48945e+02 1.41498e+02 1.34050e+02 1.26603e+02 1.19156e+02 1.11709e+02 + 1.04261e+02 9.68141e+01 8.93669e+01 8.19196e+01 7.44724e+01 6.70252e+01 + 5.95779e+01 5.21307e+01 4.46834e+01 3.72362e+01 2.97890e+01 2.23417e+01 + 1.48945e+01 7.44724e+00 0.00000e+00 + -117.7600 33.4716 2.4997 -41 89 1.00000e+10 29.3954 1.00000e-01 + 180 436.67 39 0.00 0 0.00 0 + 0.00000e+00 9.49276e+01 1.89855e+02 2.84783e+02 3.79711e+02 2.84783e+02 + 1.89855e+02 1.83922e+02 1.77989e+02 1.72056e+02 1.66123e+02 1.60190e+02 + 1.54257e+02 1.48324e+02 1.42391e+02 1.36458e+02 1.30525e+02 1.24593e+02 + 1.18660e+02 1.12727e+02 1.06794e+02 1.00861e+02 9.49276e+01 8.89947e+01 + 8.30617e+01 7.71287e+01 7.11957e+01 6.52627e+01 5.93298e+01 5.33968e+01 + 4.74638e+01 4.15308e+01 3.55979e+01 2.96649e+01 2.37319e+01 1.77989e+01 + 1.18660e+01 5.93298e+00 0.00000e+00 + -117.7671 33.4783 2.4997 -41 89 1.00000e+10 29.1095 1.00000e-01 + 180 378.52 39 0.00 0 0.00 0 + 0.00000e+00 8.22869e+01 1.64574e+02 2.46861e+02 3.29148e+02 2.46861e+02 + 1.64574e+02 1.59431e+02 1.54288e+02 1.49145e+02 1.44002e+02 1.38859e+02 + 1.33716e+02 1.28573e+02 1.23430e+02 1.18287e+02 1.13144e+02 1.08002e+02 + 1.02859e+02 9.77157e+01 9.25727e+01 8.74298e+01 8.22869e+01 7.71440e+01 + 7.20010e+01 6.68581e+01 6.17152e+01 5.65722e+01 5.14293e+01 4.62864e+01 + 4.11434e+01 3.60005e+01 3.08576e+01 2.57147e+01 2.05717e+01 1.54288e+01 + 1.02859e+01 5.14293e+00 0.00000e+00 + -117.7742 33.4851 2.4997 -41 89 1.00000e+10 28.8363 1.00000e-01 + 180 300.54 39 0.00 0 0.00 0 + 0.00000e+00 6.53352e+01 1.30670e+02 1.96006e+02 2.61341e+02 1.96006e+02 + 1.30670e+02 1.26587e+02 1.22503e+02 1.18420e+02 1.14337e+02 1.10253e+02 + 1.06170e+02 1.02086e+02 9.80028e+01 9.39193e+01 8.98359e+01 8.57524e+01 + 8.16690e+01 7.75855e+01 7.35021e+01 6.94186e+01 6.53352e+01 6.12517e+01 + 5.71683e+01 5.30848e+01 4.90014e+01 4.49179e+01 4.08345e+01 3.67510e+01 + 3.26676e+01 2.85841e+01 2.45007e+01 2.04172e+01 1.63338e+01 1.22503e+01 + 8.16690e+00 4.08345e+00 0.00000e+00 + -117.7813 33.4919 2.4997 -41 89 1.00000e+10 28.6775 1.00000e-01 + 180 114.24 39 0.00 0 0.00 0 + 0.00000e+00 2.48340e+01 4.96679e+01 7.45019e+01 9.93359e+01 7.45019e+01 + 4.96679e+01 4.81158e+01 4.65637e+01 4.50116e+01 4.34594e+01 4.19073e+01 + 4.03552e+01 3.88031e+01 3.72509e+01 3.56988e+01 3.41467e+01 3.25946e+01 + 3.10425e+01 2.94903e+01 2.79382e+01 2.63861e+01 2.48340e+01 2.32818e+01 + 2.17297e+01 2.01776e+01 1.86255e+01 1.70734e+01 1.55212e+01 1.39691e+01 + 1.24170e+01 1.08649e+01 9.31274e+00 7.76061e+00 6.20849e+00 4.65637e+00 + 3.10425e+00 1.55212e+00 0.00000e+00 + -117.7885 33.4987 2.4997 -41 89 1.00000e+10 28.3902 1.00000e-01 + 180 48.27 39 0.00 0 0.00 0 + 0.00000e+00 1.04941e+01 2.09881e+01 3.14822e+01 4.19763e+01 3.14822e+01 + 2.09881e+01 2.03323e+01 1.96764e+01 1.90205e+01 1.83646e+01 1.77087e+01 + 1.70529e+01 1.63970e+01 1.57411e+01 1.50852e+01 1.44293e+01 1.37735e+01 + 1.31176e+01 1.24617e+01 1.18058e+01 1.11499e+01 1.04941e+01 9.83819e+00 + 9.18231e+00 8.52643e+00 7.87055e+00 7.21467e+00 6.55879e+00 5.90291e+00 + 5.24703e+00 4.59116e+00 3.93528e+00 3.27940e+00 2.62352e+00 1.96764e+00 + 1.31176e+00 6.55879e-01 0.00000e+00 + -117.7956 33.5054 2.4997 -42 89 1.00000e+10 28.0241 1.00000e-01 + 180 71.20 39 0.00 0 0.00 0 + 0.00000e+00 1.54779e+01 3.09558e+01 4.64336e+01 6.19115e+01 4.64336e+01 + 3.09558e+01 2.99884e+01 2.90210e+01 2.80537e+01 2.70863e+01 2.61189e+01 + 2.51516e+01 2.41842e+01 2.32168e+01 2.22495e+01 2.12821e+01 2.03147e+01 + 1.93474e+01 1.83800e+01 1.74126e+01 1.64452e+01 1.54779e+01 1.45105e+01 + 1.35431e+01 1.25758e+01 1.16084e+01 1.06410e+01 9.67368e+00 8.70631e+00 + 7.73894e+00 6.77157e+00 5.80421e+00 4.83684e+00 3.86947e+00 2.90210e+00 + 1.93474e+00 9.67368e-01 0.00000e+00 + -117.8033 33.5117 2.4997 -49 89 1.00000e+10 27.6185 1.00000e-01 + 180 128.45 39 0.00 0 0.00 0 + 0.00000e+00 2.79249e+01 5.58497e+01 8.37746e+01 1.11699e+02 8.37746e+01 + 5.58497e+01 5.41044e+01 5.23591e+01 5.06138e+01 4.88685e+01 4.71232e+01 + 4.53779e+01 4.36326e+01 4.18873e+01 4.01420e+01 3.83967e+01 3.66514e+01 + 3.49061e+01 3.31608e+01 3.14155e+01 2.96702e+01 2.79249e+01 2.61795e+01 + 2.44342e+01 2.26889e+01 2.09436e+01 1.91983e+01 1.74530e+01 1.57077e+01 + 1.39624e+01 1.22171e+01 1.04718e+01 8.72652e+00 6.98121e+00 5.23591e+00 + 3.49061e+00 1.74530e+00 0.00000e+00 + -117.8115 33.5176 2.4997 -49 89 1.00000e+10 27.1697 1.00000e-01 + 180 231.02 39 0.00 0 0.00 0 + 0.00000e+00 5.02210e+01 1.00442e+02 1.50663e+02 2.00884e+02 1.50663e+02 + 1.00442e+02 9.73032e+01 9.41644e+01 9.10256e+01 8.78868e+01 8.47480e+01 + 8.16091e+01 7.84703e+01 7.53315e+01 7.21927e+01 6.90539e+01 6.59151e+01 + 6.27763e+01 5.96374e+01 5.64986e+01 5.33598e+01 5.02210e+01 4.70822e+01 + 4.39434e+01 4.08046e+01 3.76658e+01 3.45269e+01 3.13881e+01 2.82493e+01 + 2.51105e+01 2.19717e+01 1.88329e+01 1.56941e+01 1.25553e+01 9.41644e+00 + 6.27763e+00 3.13881e+00 0.00000e+00 + -117.8197 33.5234 2.4997 -49 89 1.00000e+10 26.6953 1.00000e-01 + 180 357.84 39 0.00 0 0.00 0 + 0.00000e+00 7.77912e+01 1.55582e+02 2.33373e+02 3.11165e+02 2.33373e+02 + 1.55582e+02 1.50720e+02 1.45858e+02 1.40996e+02 1.36135e+02 1.31273e+02 + 1.26411e+02 1.21549e+02 1.16687e+02 1.11825e+02 1.06963e+02 1.02101e+02 + 9.72389e+01 9.23770e+01 8.75150e+01 8.26531e+01 7.77912e+01 7.29292e+01 + 6.80673e+01 6.32053e+01 5.83434e+01 5.34814e+01 4.86195e+01 4.37575e+01 + 3.88956e+01 3.40336e+01 2.91717e+01 2.43097e+01 1.94478e+01 1.45858e+01 + 9.72389e+00 4.86195e+00 0.00000e+00 + -117.8278 33.5293 2.4997 -49 89 1.00000e+10 26.3152 1.00000e-01 + 180 394.22 39 0.00 0 0.00 0 + 0.00000e+00 8.56997e+01 1.71399e+02 2.57099e+02 3.42799e+02 2.57099e+02 + 1.71399e+02 1.66043e+02 1.60687e+02 1.55331e+02 1.49975e+02 1.44618e+02 + 1.39262e+02 1.33906e+02 1.28550e+02 1.23193e+02 1.17837e+02 1.12481e+02 + 1.07125e+02 1.01768e+02 9.64122e+01 9.10560e+01 8.56997e+01 8.03435e+01 + 7.49873e+01 6.96310e+01 6.42748e+01 5.89186e+01 5.35623e+01 4.82061e+01 + 4.28499e+01 3.74936e+01 3.21374e+01 2.67812e+01 2.14249e+01 1.60687e+01 + 1.07125e+01 5.35623e+00 0.00000e+00 + -117.8360 33.5352 2.4997 -49 89 1.00000e+10 26.1351 1.00000e-01 + 180 226.45 39 0.00 0 0.00 0 + 0.00000e+00 4.92286e+01 9.84571e+01 1.47686e+02 1.96914e+02 1.47686e+02 + 9.84571e+01 9.53803e+01 9.23036e+01 8.92268e+01 8.61500e+01 8.30732e+01 + 7.99964e+01 7.69196e+01 7.38428e+01 7.07661e+01 6.76893e+01 6.46125e+01 + 6.15357e+01 5.84589e+01 5.53821e+01 5.23053e+01 4.92286e+01 4.61518e+01 + 4.30750e+01 3.99982e+01 3.69214e+01 3.38446e+01 3.07679e+01 2.76911e+01 + 2.46143e+01 2.15375e+01 1.84607e+01 1.53839e+01 1.23071e+01 9.23036e+00 + 6.15357e+00 3.07679e+00 0.00000e+00 + -117.8442 33.5410 2.4997 -49 89 1.00000e+10 25.8067 1.00000e-01 + 180 208.41 39 0.00 0 0.00 0 + 0.00000e+00 4.53058e+01 9.06116e+01 1.35917e+02 1.81223e+02 1.35917e+02 + 9.06116e+01 8.77800e+01 8.49484e+01 8.21168e+01 7.92851e+01 7.64535e+01 + 7.36219e+01 7.07903e+01 6.79587e+01 6.51271e+01 6.22955e+01 5.94639e+01 + 5.66322e+01 5.38006e+01 5.09690e+01 4.81374e+01 4.53058e+01 4.24742e+01 + 3.96426e+01 3.68110e+01 3.39793e+01 3.11477e+01 2.83161e+01 2.54845e+01 + 2.26529e+01 1.98213e+01 1.69897e+01 1.41581e+01 1.13264e+01 8.49484e+00 + 5.66322e+00 2.83161e+00 0.00000e+00 + -117.8524 33.5469 2.4997 -49 89 1.00000e+10 25.3477 1.00000e-01 + 180 317.17 39 0.00 0 0.00 0 + 0.00000e+00 6.89498e+01 1.37900e+02 2.06849e+02 2.75799e+02 2.06849e+02 + 1.37900e+02 1.33590e+02 1.29281e+02 1.24971e+02 1.20662e+02 1.16353e+02 + 1.12043e+02 1.07734e+02 1.03425e+02 9.91153e+01 9.48059e+01 9.04966e+01 + 8.61872e+01 8.18779e+01 7.75685e+01 7.32591e+01 6.89498e+01 6.46404e+01 + 6.03310e+01 5.60217e+01 5.17123e+01 4.74030e+01 4.30936e+01 3.87842e+01 + 3.44749e+01 3.01655e+01 2.58562e+01 2.15468e+01 1.72374e+01 1.29281e+01 + 8.61872e+00 4.30936e+00 0.00000e+00 + -117.8606 33.5528 2.4997 -49 89 1.00000e+10 25.0166 1.00000e-01 + 180 301.26 39 0.00 0 0.00 0 + 0.00000e+00 6.54909e+01 1.30982e+02 1.96473e+02 2.61964e+02 1.96473e+02 + 1.30982e+02 1.26889e+02 1.22795e+02 1.18702e+02 1.14609e+02 1.10516e+02 + 1.06423e+02 1.02329e+02 9.82363e+01 9.41431e+01 9.00500e+01 8.59568e+01 + 8.18636e+01 7.77704e+01 7.36772e+01 6.95841e+01 6.54909e+01 6.13977e+01 + 5.73045e+01 5.32113e+01 4.91182e+01 4.50250e+01 4.09318e+01 3.68386e+01 + 3.27454e+01 2.86523e+01 2.45591e+01 2.04659e+01 1.63727e+01 1.22795e+01 + 8.18636e+00 4.09318e+00 0.00000e+00 + -117.8688 33.5587 2.4997 -49 89 1.00000e+10 24.7157 1.00000e-01 + 180 254.46 39 0.00 0 0.00 0 + 0.00000e+00 5.53175e+01 1.10635e+02 1.65952e+02 2.21270e+02 1.65952e+02 + 1.10635e+02 1.07178e+02 1.03720e+02 1.00263e+02 9.68055e+01 9.33482e+01 + 8.98909e+01 8.64335e+01 8.29762e+01 7.95188e+01 7.60615e+01 7.26042e+01 + 6.91468e+01 6.56895e+01 6.22321e+01 5.87748e+01 5.53175e+01 5.18601e+01 + 4.84028e+01 4.49454e+01 4.14881e+01 3.80308e+01 3.45734e+01 3.11161e+01 + 2.76587e+01 2.42014e+01 2.07440e+01 1.72867e+01 1.38294e+01 1.03720e+01 + 6.91468e+00 3.45734e+00 0.00000e+00 + -117.8769 33.5645 2.4997 -49 89 1.00000e+10 24.3908 1.00000e-01 + 180 233.86 39 0.00 0 0.00 0 + 0.00000e+00 5.08381e+01 1.01676e+02 1.52514e+02 2.03352e+02 1.52514e+02 + 1.01676e+02 9.84988e+01 9.53214e+01 9.21441e+01 8.89667e+01 8.57893e+01 + 8.26119e+01 7.94345e+01 7.62571e+01 7.30798e+01 6.99024e+01 6.67250e+01 + 6.35476e+01 6.03702e+01 5.71929e+01 5.40155e+01 5.08381e+01 4.76607e+01 + 4.44833e+01 4.13060e+01 3.81286e+01 3.49512e+01 3.17738e+01 2.85964e+01 + 2.54191e+01 2.22417e+01 1.90643e+01 1.58869e+01 1.27095e+01 9.53214e+00 + 6.35476e+00 3.17738e+00 0.00000e+00 + -117.8851 33.5704 2.4997 -49 89 1.00000e+10 24.1074 1.00000e-01 + 180 169.94 39 0.00 0 0.00 0 + 0.00000e+00 3.69427e+01 7.38854e+01 1.10828e+02 1.47771e+02 1.10828e+02 + 7.38854e+01 7.15765e+01 6.92675e+01 6.69586e+01 6.46497e+01 6.23408e+01 + 6.00319e+01 5.77230e+01 5.54140e+01 5.31051e+01 5.07962e+01 4.84873e+01 + 4.61784e+01 4.38694e+01 4.15605e+01 3.92516e+01 3.69427e+01 3.46338e+01 + 3.23249e+01 3.00159e+01 2.77070e+01 2.53981e+01 2.30892e+01 2.07803e+01 + 1.84713e+01 1.61624e+01 1.38535e+01 1.15446e+01 9.23567e+00 6.92675e+00 + 4.61784e+00 2.30892e+00 0.00000e+00 + -117.8933 33.5763 2.4997 -49 89 1.00000e+10 23.7892 1.00000e-01 + 180 142.36 39 0.00 0 0.00 0 + 0.00000e+00 3.09489e+01 6.18978e+01 9.28466e+01 1.23796e+02 9.28466e+01 + 6.18978e+01 5.99635e+01 5.80292e+01 5.60948e+01 5.41605e+01 5.22262e+01 + 5.02919e+01 4.83576e+01 4.64233e+01 4.44890e+01 4.25547e+01 4.06204e+01 + 3.86861e+01 3.67518e+01 3.48175e+01 3.28832e+01 3.09489e+01 2.90146e+01 + 2.70803e+01 2.51460e+01 2.32117e+01 2.12774e+01 1.93431e+01 1.74087e+01 + 1.54744e+01 1.35401e+01 1.16058e+01 9.67153e+00 7.73722e+00 5.80292e+00 + 3.86861e+00 1.93431e+00 0.00000e+00 + -117.9015 33.5821 2.4997 -49 89 1.00000e+10 23.4599 1.00000e-01 + 180 125.09 39 0.00 0 0.00 0 + 0.00000e+00 2.71944e+01 5.43888e+01 8.15832e+01 1.08778e+02 8.15832e+01 + 5.43888e+01 5.26891e+01 5.09895e+01 4.92898e+01 4.75902e+01 4.58905e+01 + 4.41909e+01 4.24912e+01 4.07916e+01 3.90919e+01 3.73923e+01 3.56926e+01 + 3.39930e+01 3.22933e+01 3.05937e+01 2.88940e+01 2.71944e+01 2.54947e+01 + 2.37951e+01 2.20954e+01 2.03958e+01 1.86961e+01 1.69965e+01 1.52968e+01 + 1.35972e+01 1.18975e+01 1.01979e+01 8.49825e+00 6.79860e+00 5.09895e+00 + 3.39930e+00 1.69965e+00 0.00000e+00 + -117.9097 33.5880 2.4997 -49 89 1.00000e+10 23.1006 1.00000e-01 + 180 131.94 39 0.00 0 0.00 0 + 0.00000e+00 2.86825e+01 5.73651e+01 8.60476e+01 1.14730e+02 8.60476e+01 + 5.73651e+01 5.55724e+01 5.37798e+01 5.19871e+01 5.01944e+01 4.84018e+01 + 4.66091e+01 4.48165e+01 4.30238e+01 4.12311e+01 3.94385e+01 3.76458e+01 + 3.58532e+01 3.40605e+01 3.22679e+01 3.04752e+01 2.86825e+01 2.68899e+01 + 2.50972e+01 2.33046e+01 2.15119e+01 1.97192e+01 1.79266e+01 1.61339e+01 + 1.43413e+01 1.25486e+01 1.07560e+01 8.96329e+00 7.17063e+00 5.37798e+00 + 3.58532e+00 1.79266e+00 0.00000e+00 + -117.9171 33.5945 2.4997 -37 89 1.00000e+10 22.8787 1.00000e-01 + 180 5.37 39 0.00 0 0.00 0 + 0.00000e+00 1.16721e+00 2.33443e+00 3.50164e+00 4.66886e+00 3.50164e+00 + 2.33443e+00 2.26148e+00 2.18853e+00 2.11558e+00 2.04263e+00 1.96967e+00 + 1.89672e+00 1.82377e+00 1.75082e+00 1.67787e+00 1.60492e+00 1.53197e+00 + 1.45902e+00 1.38607e+00 1.31312e+00 1.24017e+00 1.16721e+00 1.09426e+00 + 1.02131e+00 9.48362e-01 8.75411e-01 8.02460e-01 7.29509e-01 6.56558e-01 + 5.83607e-01 5.10656e-01 4.37705e-01 3.64755e-01 2.91804e-01 2.18853e-01 + 1.45902e-01 7.29509e-02 0.00000e+00 + -117.9236 33.6017 2.4997 -37 89 1.00000e+10 22.5369 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9300 33.6089 2.4997 -37 89 1.00000e+10 22.1928 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9366 33.6160 2.4997 -38 89 1.00000e+10 21.8063 1.00000e-01 + 180 42.64 39 0.00 0 0.00 0 + 0.00000e+00 9.27051e+00 1.85410e+01 2.78115e+01 3.70821e+01 2.78115e+01 + 1.85410e+01 1.79616e+01 1.73822e+01 1.68028e+01 1.62234e+01 1.56440e+01 + 1.50646e+01 1.44852e+01 1.39058e+01 1.33264e+01 1.27470e+01 1.21675e+01 + 1.15881e+01 1.10087e+01 1.04293e+01 9.84992e+00 9.27051e+00 8.69111e+00 + 8.11170e+00 7.53229e+00 6.95288e+00 6.37348e+00 5.79407e+00 5.21466e+00 + 4.63526e+00 4.05585e+00 3.47644e+00 2.89704e+00 2.31763e+00 1.73822e+00 + 1.15881e+00 5.79407e-01 0.00000e+00 + -117.9434 33.6231 2.4997 -39 89 1.00000e+10 21.4906 1.00000e-01 + 180 6.46 39 0.00 0 0.00 0 + 0.00000e+00 1.40458e+00 2.80916e+00 4.21375e+00 5.61833e+00 4.21375e+00 + 2.80916e+00 2.72138e+00 2.63359e+00 2.54580e+00 2.45802e+00 2.37023e+00 + 2.28245e+00 2.19466e+00 2.10687e+00 2.01909e+00 1.93130e+00 1.84351e+00 + 1.75573e+00 1.66794e+00 1.58015e+00 1.49237e+00 1.40458e+00 1.31680e+00 + 1.22901e+00 1.14122e+00 1.05344e+00 9.65650e-01 8.77864e-01 7.90077e-01 + 7.02291e-01 6.14505e-01 5.26718e-01 4.38932e-01 3.51145e-01 2.63359e-01 + 1.75573e-01 8.77864e-02 0.00000e+00 + -117.9501 33.6301 2.4997 -39 89 1.00000e+10 21.1527 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9568 33.6372 2.4997 -39 89 1.00000e+10 20.8048 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9635 33.6442 2.4997 -39 89 1.00000e+10 20.3907 1.00000e-01 + 180 67.93 39 0.00 0 0.00 0 + 0.00000e+00 1.47673e+01 2.95345e+01 4.43018e+01 5.90690e+01 4.43018e+01 + 2.95345e+01 2.86116e+01 2.76886e+01 2.67656e+01 2.58427e+01 2.49197e+01 + 2.39968e+01 2.30738e+01 2.21509e+01 2.12279e+01 2.03050e+01 1.93820e+01 + 1.84591e+01 1.75361e+01 1.66132e+01 1.56902e+01 1.47673e+01 1.38443e+01 + 1.29213e+01 1.19984e+01 1.10754e+01 1.01525e+01 9.22953e+00 8.30658e+00 + 7.38363e+00 6.46067e+00 5.53772e+00 4.61477e+00 3.69181e+00 2.76886e+00 + 1.84591e+00 9.22953e-01 0.00000e+00 + -117.9703 33.6512 2.4997 -39 89 1.00000e+10 20.0439 1.00000e-01 + 180 65.89 39 0.00 0 0.00 0 + 0.00000e+00 1.43245e+01 2.86490e+01 4.29736e+01 5.72981e+01 4.29736e+01 + 2.86490e+01 2.77538e+01 2.68585e+01 2.59632e+01 2.50679e+01 2.41726e+01 + 2.32773e+01 2.23821e+01 2.14868e+01 2.05915e+01 1.96962e+01 1.88009e+01 + 1.79056e+01 1.70104e+01 1.61151e+01 1.52198e+01 1.43245e+01 1.34292e+01 + 1.25340e+01 1.16387e+01 1.07434e+01 9.84811e+00 8.95282e+00 8.05754e+00 + 7.16226e+00 6.26698e+00 5.37169e+00 4.47641e+00 3.58113e+00 2.68585e+00 + 1.79056e+00 8.95282e-01 0.00000e+00 + -117.9770 33.6583 2.4997 -39 89 1.00000e+10 19.6525 1.00000e-01 + 180 114.73 39 0.00 0 0.00 0 + 0.00000e+00 2.49418e+01 4.98836e+01 7.48255e+01 9.97673e+01 7.48255e+01 + 4.98836e+01 4.83248e+01 4.67659e+01 4.52070e+01 4.36482e+01 4.20893e+01 + 4.05305e+01 3.89716e+01 3.74127e+01 3.58539e+01 3.42950e+01 3.27361e+01 + 3.11773e+01 2.96184e+01 2.80595e+01 2.65007e+01 2.49418e+01 2.33830e+01 + 2.18241e+01 2.02652e+01 1.87064e+01 1.71475e+01 1.55886e+01 1.40298e+01 + 1.24709e+01 1.09120e+01 9.35318e+00 7.79432e+00 6.23545e+00 4.67659e+00 + 3.11773e+00 1.55886e+00 0.00000e+00 + -117.9837 33.6653 2.4997 -39 89 1.00000e+10 19.1826 1.00000e-01 + 180 237.45 39 0.00 0 0.00 0 + 0.00000e+00 5.16201e+01 1.03240e+02 1.54860e+02 2.06480e+02 1.54860e+02 + 1.03240e+02 1.00014e+02 9.67877e+01 9.35614e+01 9.03352e+01 8.71089e+01 + 8.38826e+01 8.06564e+01 7.74301e+01 7.42039e+01 7.09776e+01 6.77514e+01 + 6.45251e+01 6.12989e+01 5.80726e+01 5.48463e+01 5.16201e+01 4.83938e+01 + 4.51676e+01 4.19413e+01 3.87151e+01 3.54888e+01 3.22626e+01 2.90363e+01 + 2.58100e+01 2.25838e+01 1.93575e+01 1.61313e+01 1.29050e+01 9.67877e+00 + 6.45251e+00 3.22626e+00 0.00000e+00 + -117.9907 33.6722 2.4997 -41 89 1.00000e+10 18.8394 1.00000e-01 + 180 233.46 39 0.00 0 0.00 0 + 0.00000e+00 5.07514e+01 1.01503e+02 1.52254e+02 2.03006e+02 1.52254e+02 + 1.01503e+02 9.83308e+01 9.51589e+01 9.19869e+01 8.88149e+01 8.56430e+01 + 8.24710e+01 7.92990e+01 7.61271e+01 7.29551e+01 6.97832e+01 6.66112e+01 + 6.34392e+01 6.02673e+01 5.70953e+01 5.39234e+01 5.07514e+01 4.75794e+01 + 4.44075e+01 4.12355e+01 3.80635e+01 3.48916e+01 3.17196e+01 2.85477e+01 + 2.53757e+01 2.22037e+01 1.90318e+01 1.58598e+01 1.26878e+01 9.51589e+00 + 6.34392e+00 3.17196e+00 0.00000e+00 + -117.9986 33.6782 2.4997 -54 89 1.00000e+10 18.5604 1.00000e-01 + 180 161.61 39 0.00 0 0.00 0 + 0.00000e+00 3.51327e+01 7.02653e+01 1.05398e+02 1.40531e+02 1.05398e+02 + 7.02653e+01 6.80695e+01 6.58737e+01 6.36779e+01 6.14822e+01 5.92864e+01 + 5.70906e+01 5.48948e+01 5.26990e+01 5.05032e+01 4.83074e+01 4.61116e+01 + 4.39158e+01 4.17200e+01 3.95242e+01 3.73284e+01 3.51327e+01 3.29369e+01 + 3.07411e+01 2.85453e+01 2.63495e+01 2.41537e+01 2.19579e+01 1.97621e+01 + 1.75663e+01 1.53705e+01 1.31747e+01 1.09790e+01 8.78316e+00 6.58737e+00 + 4.39158e+00 2.19579e+00 0.00000e+00 + -118.0074 33.6834 2.4997 -54 89 1.00000e+10 18.2545 1.00000e-01 + 180 124.18 39 0.00 0 0.00 0 + 0.00000e+00 2.69948e+01 5.39896e+01 8.09844e+01 1.07979e+02 8.09844e+01 + 5.39896e+01 5.23024e+01 5.06153e+01 4.89281e+01 4.72409e+01 4.55537e+01 + 4.38666e+01 4.21794e+01 4.04922e+01 3.88050e+01 3.71179e+01 3.54307e+01 + 3.37435e+01 3.20563e+01 3.03692e+01 2.86820e+01 2.69948e+01 2.53076e+01 + 2.36205e+01 2.19333e+01 2.02461e+01 1.85589e+01 1.68718e+01 1.51846e+01 + 1.34974e+01 1.18102e+01 1.01231e+01 8.43588e+00 6.74870e+00 5.06153e+00 + 3.37435e+00 1.68718e+00 0.00000e+00 + -118.0162 33.6887 2.4997 -54 89 1.00000e+10 17.8175 1.00000e-01 + 180 215.79 39 0.00 0 0.00 0 + 0.00000e+00 4.69101e+01 9.38202e+01 1.40730e+02 1.87640e+02 1.40730e+02 + 9.38202e+01 9.08884e+01 8.79565e+01 8.50246e+01 8.20927e+01 7.91608e+01 + 7.62289e+01 7.32971e+01 7.03652e+01 6.74333e+01 6.45014e+01 6.15695e+01 + 5.86376e+01 5.57058e+01 5.27739e+01 4.98420e+01 4.69101e+01 4.39782e+01 + 4.10464e+01 3.81145e+01 3.51826e+01 3.22507e+01 2.93188e+01 2.63869e+01 + 2.34551e+01 2.05232e+01 1.75913e+01 1.46594e+01 1.17275e+01 8.79565e+00 + 5.86376e+00 2.93188e+00 0.00000e+00 + -118.0250 33.6939 2.4997 -54 89 1.00000e+10 17.4139 1.00000e-01 + 180 271.51 39 0.00 0 0.00 0 + 0.00000e+00 5.90240e+01 1.18048e+02 1.77072e+02 2.36096e+02 1.77072e+02 + 1.18048e+02 1.14359e+02 1.10670e+02 1.06981e+02 1.03292e+02 9.96029e+01 + 9.59139e+01 9.22249e+01 8.85359e+01 8.48469e+01 8.11579e+01 7.74689e+01 + 7.37800e+01 7.00910e+01 6.64020e+01 6.27130e+01 5.90240e+01 5.53350e+01 + 5.16460e+01 4.79570e+01 4.42680e+01 4.05790e+01 3.68900e+01 3.32010e+01 + 2.95120e+01 2.58230e+01 2.21340e+01 1.84450e+01 1.47560e+01 1.10670e+01 + 7.37800e+00 3.68900e+00 0.00000e+00 + -118.0338 33.6991 2.4997 -54 89 1.00000e+10 17.0254 1.00000e-01 + 180 311.72 39 0.00 0 0.00 0 + 0.00000e+00 6.77658e+01 1.35532e+02 2.03297e+02 2.71063e+02 2.03297e+02 + 1.35532e+02 1.31296e+02 1.27061e+02 1.22825e+02 1.18590e+02 1.14355e+02 + 1.10119e+02 1.05884e+02 1.01649e+02 9.74133e+01 9.31779e+01 8.89426e+01 + 8.47072e+01 8.04718e+01 7.62365e+01 7.20011e+01 6.77658e+01 6.35304e+01 + 5.92950e+01 5.50597e+01 5.08243e+01 4.65890e+01 4.23536e+01 3.81182e+01 + 3.38829e+01 2.96475e+01 2.54122e+01 2.11768e+01 1.69414e+01 1.27061e+01 + 8.47072e+00 4.23536e+00 0.00000e+00 + -118.0425 33.7045 2.4997 -53 89 1.00000e+10 16.7907 1.00000e-01 + 180 203.25 39 0.00 0 0.00 0 + 0.00000e+00 4.41839e+01 8.83679e+01 1.32552e+02 1.76736e+02 1.32552e+02 + 8.83679e+01 8.56064e+01 8.28449e+01 8.00834e+01 7.73219e+01 7.45604e+01 + 7.17989e+01 6.90374e+01 6.62759e+01 6.35144e+01 6.07529e+01 5.79914e+01 + 5.52299e+01 5.24684e+01 4.97069e+01 4.69454e+01 4.41839e+01 4.14224e+01 + 3.86609e+01 3.58994e+01 3.31380e+01 3.03765e+01 2.76150e+01 2.48535e+01 + 2.20920e+01 1.93305e+01 1.65690e+01 1.38075e+01 1.10460e+01 8.28449e+00 + 5.52299e+00 2.76150e+00 0.00000e+00 + -118.0510 33.7101 2.4997 -50 89 1.00000e+10 16.5076 1.00000e-01 + 180 135.14 39 0.00 0 0.00 0 + 0.00000e+00 2.93782e+01 5.87563e+01 8.81345e+01 1.17513e+02 8.81345e+01 + 5.87563e+01 5.69202e+01 5.50840e+01 5.32479e+01 5.14118e+01 4.95756e+01 + 4.77395e+01 4.59034e+01 4.40672e+01 4.22311e+01 4.03950e+01 3.85588e+01 + 3.67227e+01 3.48866e+01 3.30504e+01 3.12143e+01 2.93782e+01 2.75420e+01 + 2.57059e+01 2.38698e+01 2.20336e+01 2.01975e+01 1.83613e+01 1.65252e+01 + 1.46891e+01 1.28529e+01 1.10168e+01 9.18067e+00 7.34454e+00 5.50840e+00 + 3.67227e+00 1.83613e+00 0.00000e+00 + -118.0592 33.7159 2.4997 -48 89 1.00000e+10 16.2964 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.0660 33.7227 2.4997 -31 89 1.00000e+10 15.9509 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.0716 33.7305 2.4997 -31 89 1.00000e+10 15.5019 1.00000e-01 + 180 102.57 39 0.00 0 0.00 0 + 0.00000e+00 2.22969e+01 4.45938e+01 6.68906e+01 8.91875e+01 6.68906e+01 + 4.45938e+01 4.32002e+01 4.18066e+01 4.04131e+01 3.90195e+01 3.76260e+01 + 3.62324e+01 3.48389e+01 3.34453e+01 3.20518e+01 3.06582e+01 2.92646e+01 + 2.78711e+01 2.64775e+01 2.50840e+01 2.36904e+01 2.22969e+01 2.09033e+01 + 1.95098e+01 1.81162e+01 1.67227e+01 1.53291e+01 1.39355e+01 1.25420e+01 + 1.11484e+01 9.75488e+00 8.36133e+00 6.96777e+00 5.57422e+00 4.18066e+00 + 2.78711e+00 1.39355e+00 0.00000e+00 + -118.0781 33.7375 2.4997 -44 89 1.00000e+10 15.0233 1.00000e-01 + 180 233.79 39 0.00 0 0.00 0 + 0.00000e+00 5.08248e+01 1.01650e+02 1.52474e+02 2.03299e+02 1.52474e+02 + 1.01650e+02 9.84730e+01 9.52964e+01 9.21199e+01 8.89433e+01 8.57668e+01 + 8.25902e+01 7.94137e+01 7.62371e+01 7.30606e+01 6.98840e+01 6.67075e+01 + 6.35309e+01 6.03544e+01 5.71779e+01 5.40013e+01 5.08248e+01 4.76482e+01 + 4.44717e+01 4.12951e+01 3.81186e+01 3.49420e+01 3.17655e+01 2.85889e+01 + 2.54124e+01 2.22358e+01 1.90593e+01 1.58827e+01 1.27062e+01 9.52964e+00 + 6.35310e+00 3.17655e+00 0.00000e+00 + -118.0858 33.7438 2.4997 -47 89 1.00000e+10 14.5908 1.00000e-01 + 180 319.73 39 0.00 0 0.00 0 + 0.00000e+00 6.95058e+01 1.39012e+02 2.08517e+02 2.78023e+02 2.08517e+02 + 1.39012e+02 1.34667e+02 1.30323e+02 1.25979e+02 1.21635e+02 1.17291e+02 + 1.12947e+02 1.08603e+02 1.04259e+02 9.99146e+01 9.55704e+01 9.12263e+01 + 8.68822e+01 8.25381e+01 7.81940e+01 7.38499e+01 6.95058e+01 6.51617e+01 + 6.08176e+01 5.64734e+01 5.21293e+01 4.77852e+01 4.34411e+01 3.90970e+01 + 3.47529e+01 3.04088e+01 2.60647e+01 2.17206e+01 1.73764e+01 1.30323e+01 + 8.68822e+00 4.34411e+00 0.00000e+00 + -118.0938 33.7499 2.4997 -47 89 1.00000e+10 14.2518 1.00000e-01 + 180 314.93 39 0.00 0 0.00 0 + 0.00000e+00 6.84639e+01 1.36928e+02 2.05392e+02 2.73855e+02 2.05392e+02 + 1.36928e+02 1.32649e+02 1.28370e+02 1.24091e+02 1.19812e+02 1.15533e+02 + 1.11254e+02 1.06975e+02 1.02696e+02 9.84168e+01 9.41378e+01 8.98588e+01 + 8.55798e+01 8.13008e+01 7.70218e+01 7.27429e+01 6.84639e+01 6.41849e+01 + 5.99059e+01 5.56269e+01 5.13479e+01 4.70689e+01 4.27899e+01 3.85109e+01 + 3.42319e+01 2.99529e+01 2.56739e+01 2.13950e+01 1.71160e+01 1.28370e+01 + 8.55798e+00 4.27899e+00 0.00000e+00 + -118.1017 33.7560 2.4997 -47 89 1.00000e+10 13.9385 1.00000e-01 + 180 280.08 39 0.00 0 0.00 0 + 0.00000e+00 6.08873e+01 1.21775e+02 1.82662e+02 2.43549e+02 1.82662e+02 + 1.21775e+02 1.17969e+02 1.14164e+02 1.10358e+02 1.06553e+02 1.02747e+02 + 9.89418e+01 9.51364e+01 9.13309e+01 8.75255e+01 8.37200e+01 7.99146e+01 + 7.61091e+01 7.23036e+01 6.84982e+01 6.46927e+01 6.08873e+01 5.70818e+01 + 5.32764e+01 4.94709e+01 4.56655e+01 4.18600e+01 3.80546e+01 3.42491e+01 + 3.04436e+01 2.66382e+01 2.28327e+01 1.90273e+01 1.52218e+01 1.14164e+01 + 7.61091e+00 3.80545e+00 0.00000e+00 + -118.1096 33.7621 2.4997 -47 89 1.00000e+10 13.5479 1.00000e-01 + 180 329.66 39 0.00 0 0.00 0 + 0.00000e+00 7.16656e+01 1.43331e+02 2.14997e+02 2.86663e+02 2.14997e+02 + 1.43331e+02 1.38852e+02 1.34373e+02 1.29894e+02 1.25415e+02 1.20936e+02 + 1.16457e+02 1.11978e+02 1.07498e+02 1.03019e+02 9.85402e+01 9.40611e+01 + 8.95820e+01 8.51029e+01 8.06238e+01 7.61447e+01 7.16656e+01 6.71865e+01 + 6.27074e+01 5.82283e+01 5.37492e+01 4.92701e+01 4.47910e+01 4.03119e+01 + 3.58328e+01 3.13537e+01 2.68746e+01 2.23955e+01 1.79164e+01 1.34373e+01 + 8.95820e+00 4.47910e+00 0.00000e+00 + -118.1179 33.7680 2.4997 -52 89 1.00000e+10 13.1536 1.00000e-01 + 180 377.36 39 0.00 0 0.00 0 + 0.00000e+00 8.20346e+01 1.64069e+02 2.46104e+02 3.28138e+02 2.46104e+02 + 1.64069e+02 1.58942e+02 1.53815e+02 1.48688e+02 1.43561e+02 1.38433e+02 + 1.33306e+02 1.28179e+02 1.23052e+02 1.17925e+02 1.12798e+02 1.07670e+02 + 1.02543e+02 9.74161e+01 9.22889e+01 8.71618e+01 8.20346e+01 7.69074e+01 + 7.17803e+01 6.66531e+01 6.15260e+01 5.63988e+01 5.12716e+01 4.61445e+01 + 4.10173e+01 3.58901e+01 3.07630e+01 2.56358e+01 2.05087e+01 1.53815e+01 + 1.02543e+01 5.12716e+00 0.00000e+00 + -118.1264 33.7735 2.4997 -52 89 1.00000e+10 12.7630 1.00000e-01 + 180 420.32 39 0.00 0 0.00 0 + 0.00000e+00 9.13749e+01 1.82750e+02 2.74125e+02 3.65500e+02 2.74125e+02 + 1.82750e+02 1.77039e+02 1.71328e+02 1.65617e+02 1.59906e+02 1.54195e+02 + 1.48484e+02 1.42773e+02 1.37062e+02 1.31351e+02 1.25640e+02 1.19930e+02 + 1.14219e+02 1.08508e+02 1.02797e+02 9.70858e+01 9.13749e+01 8.56640e+01 + 7.99530e+01 7.42421e+01 6.85312e+01 6.28202e+01 5.71093e+01 5.13984e+01 + 4.56874e+01 3.99765e+01 3.42656e+01 2.85547e+01 2.28437e+01 1.71328e+01 + 1.14219e+01 5.71093e+00 0.00000e+00 + -118.1349 33.7791 2.4997 -52 89 1.00000e+10 12.4039 1.00000e-01 + 180 433.53 39 0.00 0 0.00 0 + 0.00000e+00 9.42463e+01 1.88493e+02 2.82739e+02 3.76985e+02 2.82739e+02 + 1.88493e+02 1.82602e+02 1.76712e+02 1.70821e+02 1.64931e+02 1.59041e+02 + 1.53150e+02 1.47260e+02 1.41370e+02 1.35479e+02 1.29589e+02 1.23698e+02 + 1.17808e+02 1.11918e+02 1.06027e+02 1.00137e+02 9.42463e+01 8.83559e+01 + 8.24655e+01 7.65751e+01 7.06848e+01 6.47944e+01 5.89040e+01 5.30136e+01 + 4.71232e+01 4.12328e+01 3.53424e+01 2.94520e+01 2.35616e+01 1.76712e+01 + 1.17808e+01 5.89040e+00 0.00000e+00 + -118.1435 33.7846 2.4997 -52 89 1.00000e+10 12.0170 1.00000e-01 + 180 478.81 39 0.00 0 0.00 0 + 0.00000e+00 1.04088e+02 2.08177e+02 3.12265e+02 4.16354e+02 3.12265e+02 + 2.08177e+02 2.01671e+02 1.95166e+02 1.88660e+02 1.82155e+02 1.75649e+02 + 1.69144e+02 1.62638e+02 1.56133e+02 1.49627e+02 1.43122e+02 1.36616e+02 + 1.30110e+02 1.23605e+02 1.17099e+02 1.10594e+02 1.04088e+02 9.75829e+01 + 9.10773e+01 8.45718e+01 7.80663e+01 7.15608e+01 6.50552e+01 5.85497e+01 + 5.20442e+01 4.55387e+01 3.90331e+01 3.25276e+01 2.60221e+01 1.95166e+01 + 1.30110e+01 6.50552e+00 0.00000e+00 + -118.1519 33.7902 2.4997 -51 89 1.00000e+10 11.5343 1.00000e-01 + 180 618.59 39 0.00 0 0.00 0 + 0.00000e+00 1.34476e+02 2.68952e+02 4.03428e+02 5.37904e+02 4.03428e+02 + 2.68952e+02 2.60547e+02 2.52143e+02 2.43738e+02 2.35333e+02 2.26928e+02 + 2.18524e+02 2.10119e+02 2.01714e+02 1.93309e+02 1.84905e+02 1.76500e+02 + 1.68095e+02 1.59690e+02 1.51286e+02 1.42881e+02 1.34476e+02 1.26071e+02 + 1.17667e+02 1.09262e+02 1.00857e+02 9.24523e+01 8.40475e+01 7.56428e+01 + 6.72380e+01 5.88333e+01 5.04285e+01 4.20238e+01 3.36190e+01 2.52143e+01 + 1.68095e+01 8.40475e+00 0.00000e+00 + -118.1603 33.7959 2.4997 -50 89 1.00000e+10 11.2097 1.00000e-01 + 180 597.28 39 0.00 0 0.00 0 + 0.00000e+00 1.29843e+02 2.59686e+02 3.89529e+02 5.19372e+02 3.89529e+02 + 2.59686e+02 2.51571e+02 2.43456e+02 2.35340e+02 2.27225e+02 2.19110e+02 + 2.10995e+02 2.02880e+02 1.94764e+02 1.86649e+02 1.78534e+02 1.70419e+02 + 1.62304e+02 1.54189e+02 1.46073e+02 1.37958e+02 1.29843e+02 1.21728e+02 + 1.13613e+02 1.05497e+02 9.73822e+01 8.92670e+01 8.11519e+01 7.30367e+01 + 6.49215e+01 5.68063e+01 4.86911e+01 4.05759e+01 3.24607e+01 2.43456e+01 + 1.62304e+01 8.11519e+00 0.00000e+00 + -118.1686 33.8017 2.4997 -50 89 1.00000e+10 11.0297 1.00000e-01 + 180 434.44 39 0.00 0 0.00 0 + 0.00000e+00 9.44430e+01 1.88886e+02 2.83329e+02 3.77772e+02 2.83329e+02 + 1.88886e+02 1.82983e+02 1.77081e+02 1.71178e+02 1.65275e+02 1.59373e+02 + 1.53470e+02 1.47567e+02 1.41665e+02 1.35762e+02 1.29859e+02 1.23956e+02 + 1.18054e+02 1.12151e+02 1.06248e+02 1.00346e+02 9.44430e+01 8.85404e+01 + 8.26377e+01 7.67350e+01 7.08323e+01 6.49296e+01 5.90269e+01 5.31242e+01 + 4.72215e+01 4.13188e+01 3.54161e+01 2.95135e+01 2.36108e+01 1.77081e+01 + 1.18054e+01 5.90269e+00 0.00000e+00 + -118.1770 33.8074 2.4997 -50 89 1.00000e+10 10.7371 1.00000e-01 + 180 383.79 39 0.00 0 0.00 0 + 0.00000e+00 8.34319e+01 1.66864e+02 2.50296e+02 3.33728e+02 2.50296e+02 + 1.66864e+02 1.61649e+02 1.56435e+02 1.51220e+02 1.46006e+02 1.40791e+02 + 1.35577e+02 1.30362e+02 1.25148e+02 1.19933e+02 1.14719e+02 1.09504e+02 + 1.04290e+02 9.90754e+01 9.38609e+01 8.86464e+01 8.34319e+01 7.82174e+01 + 7.30029e+01 6.77884e+01 6.25739e+01 5.73594e+01 5.21450e+01 4.69305e+01 + 4.17160e+01 3.65015e+01 3.12870e+01 2.60725e+01 2.08580e+01 1.56435e+01 + 1.04290e+01 5.21450e+00 0.00000e+00 + -118.1853 33.8131 2.4997 -50 89 1.00000e+10 10.3340 1.00000e-01 + 180 448.71 39 0.00 0 0.00 0 + 0.00000e+00 9.75461e+01 1.95092e+02 2.92638e+02 3.90184e+02 2.92638e+02 + 1.95092e+02 1.88996e+02 1.82899e+02 1.76802e+02 1.70706e+02 1.64609e+02 + 1.58512e+02 1.52416e+02 1.46319e+02 1.40223e+02 1.34126e+02 1.28029e+02 + 1.21933e+02 1.15836e+02 1.09739e+02 1.03643e+02 9.75461e+01 9.14495e+01 + 8.53528e+01 7.92562e+01 7.31596e+01 6.70630e+01 6.09663e+01 5.48697e+01 + 4.87731e+01 4.26764e+01 3.65798e+01 3.04832e+01 2.43865e+01 1.82899e+01 + 1.21933e+01 6.09663e+00 0.00000e+00 + -118.1937 33.8189 2.4997 -50 89 1.00000e+10 10.0137 1.00000e-01 + 180 427.11 39 0.00 0 0.00 0 + 0.00000e+00 9.28497e+01 1.85699e+02 2.78549e+02 3.71399e+02 2.78549e+02 + 1.85699e+02 1.79896e+02 1.74093e+02 1.68290e+02 1.62487e+02 1.56684e+02 + 1.50881e+02 1.45078e+02 1.39275e+02 1.33471e+02 1.27668e+02 1.21865e+02 + 1.16062e+02 1.10259e+02 1.04456e+02 9.86528e+01 9.28497e+01 8.70466e+01 + 8.12435e+01 7.54404e+01 6.96373e+01 6.38342e+01 5.80311e+01 5.22280e+01 + 4.64248e+01 4.06217e+01 3.48186e+01 2.90155e+01 2.32124e+01 1.74093e+01 + 1.16062e+01 5.80311e+00 0.00000e+00 + -118.2020 33.8246 2.4997 -50 89 1.00000e+10 9.7946 1.00000e-01 + 180 303.48 39 0.00 0 0.00 0 + 0.00000e+00 6.59747e+01 1.31949e+02 1.97924e+02 2.63899e+02 1.97924e+02 + 1.31949e+02 1.27826e+02 1.23703e+02 1.19579e+02 1.15456e+02 1.11332e+02 + 1.07209e+02 1.03085e+02 9.89620e+01 9.48386e+01 9.07152e+01 8.65918e+01 + 8.24684e+01 7.83449e+01 7.42215e+01 7.00981e+01 6.59747e+01 6.18513e+01 + 5.77278e+01 5.36044e+01 4.94810e+01 4.53576e+01 4.12342e+01 3.71108e+01 + 3.29873e+01 2.88639e+01 2.47405e+01 2.06171e+01 1.64937e+01 1.23703e+01 + 8.24684e+00 4.12342e+00 0.00000e+00 + -118.2102 33.8305 2.4997 -49 89 1.00000e+10 9.5027 1.00000e-01 + 180 258.38 39 0.00 0 0.00 0 + 0.00000e+00 5.61704e+01 1.12341e+02 1.68511e+02 2.24682e+02 1.68511e+02 + 1.12341e+02 1.08830e+02 1.05319e+02 1.01809e+02 9.82982e+01 9.47875e+01 + 9.12769e+01 8.77662e+01 8.42556e+01 8.07449e+01 7.72343e+01 7.37236e+01 + 7.02130e+01 6.67023e+01 6.31917e+01 5.96810e+01 5.61704e+01 5.26597e+01 + 4.91491e+01 4.56384e+01 4.21278e+01 3.86171e+01 3.51065e+01 3.15958e+01 + 2.80852e+01 2.45745e+01 2.10639e+01 1.75532e+01 1.40426e+01 1.05319e+01 + 7.02130e+00 3.51065e+00 0.00000e+00 + -118.2187 33.8361 2.4997 -54 89 1.00000e+10 9.2102 1.00000e-01 + 180 213.37 39 0.00 0 0.00 0 + 0.00000e+00 4.63840e+01 9.27680e+01 1.39152e+02 1.85536e+02 1.39152e+02 + 9.27680e+01 8.98690e+01 8.69700e+01 8.40710e+01 8.11720e+01 7.82730e+01 + 7.53740e+01 7.24750e+01 6.95760e+01 6.66770e+01 6.37780e+01 6.08790e+01 + 5.79800e+01 5.50810e+01 5.21820e+01 4.92830e+01 4.63840e+01 4.34850e+01 + 4.05860e+01 3.76870e+01 3.47880e+01 3.18890e+01 2.89900e+01 2.60910e+01 + 2.31920e+01 2.02930e+01 1.73940e+01 1.44950e+01 1.15960e+01 8.69700e+00 + 5.79800e+00 2.89900e+00 0.00000e+00 + -118.2275 33.8414 2.4997 -54 89 1.00000e+10 8.9687 1.00000e-01 + 180 118.04 39 0.00 0 0.00 0 + 0.00000e+00 2.56614e+01 5.13228e+01 7.69843e+01 1.02646e+02 7.69843e+01 + 5.13228e+01 4.97190e+01 4.81152e+01 4.65113e+01 4.49075e+01 4.33036e+01 + 4.16998e+01 4.00960e+01 3.84921e+01 3.68883e+01 3.52845e+01 3.36806e+01 + 3.20768e+01 3.04729e+01 2.88691e+01 2.72653e+01 2.56614e+01 2.40576e+01 + 2.24537e+01 2.08499e+01 1.92461e+01 1.76422e+01 1.60384e+01 1.44345e+01 + 1.28307e+01 1.12269e+01 9.62303e+00 8.01919e+00 6.41536e+00 4.81152e+00 + 3.20768e+00 1.60384e+00 0.00000e+00 + -118.2348 33.8478 2.4997 -33 89 1.00000e+10 8.6865 1.00000e-01 + 180 63.39 39 0.00 0 0.00 0 + 0.00000e+00 1.37807e+01 2.75613e+01 4.13420e+01 5.51226e+01 4.13420e+01 + 2.75613e+01 2.67000e+01 2.58387e+01 2.49774e+01 2.41161e+01 2.32548e+01 + 2.23936e+01 2.15323e+01 2.06710e+01 1.98097e+01 1.89484e+01 1.80871e+01 + 1.72258e+01 1.63645e+01 1.55032e+01 1.46419e+01 1.37807e+01 1.29194e+01 + 1.20581e+01 1.11968e+01 1.03355e+01 9.47420e+00 8.61291e+00 7.75162e+00 + 6.89033e+00 6.02903e+00 5.16774e+00 4.30645e+00 3.44516e+00 2.58387e+00 + 1.72258e+00 8.61291e-01 0.00000e+00 + -118.2407 33.8553 2.4997 -33 89 1.00000e+10 8.4189 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2466 33.8629 2.4997 -33 89 1.00000e+10 8.0883 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2525 33.8704 2.4997 -33 89 1.00000e+10 7.7644 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2584 33.8780 2.4997 -33 89 1.00000e+10 7.4441 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2645 33.8854 2.4997 -35 89 1.00000e+10 7.1202 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2708 33.8927 2.4997 -36 89 1.00000e+10 6.8078 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2773 33.9000 2.4997 -36 89 1.00000e+10 6.4967 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2837 33.9072 2.4997 -36 89 1.00000e+10 6.1912 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2900 33.9145 2.4997 -35 89 1.00000e+10 5.8920 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2962 33.9219 2.4997 -34 89 1.00000e+10 5.6012 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3030 33.9285 2.4997 -47 89 1.00000e+10 5.3190 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3120 33.9324 2.4997 -78 89 1.00000e+10 5.0476 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3202 33.9370 2.4997 -33 89 1.00000e+10 4.7253 1.00000e-01 + 180 60.47 39 0.00 0 0.00 0 + 0.00000e+00 1.31464e+01 2.62927e+01 3.94391e+01 5.25855e+01 3.94391e+01 + 2.62927e+01 2.54711e+01 2.46494e+01 2.38278e+01 2.30062e+01 2.21845e+01 + 2.13629e+01 2.05412e+01 1.97196e+01 1.88979e+01 1.80763e+01 1.72546e+01 + 1.64330e+01 1.56113e+01 1.47897e+01 1.39680e+01 1.31464e+01 1.23247e+01 + 1.15031e+01 1.06814e+01 9.85978e+00 9.03813e+00 8.21648e+00 7.39483e+00 + 6.57319e+00 5.75154e+00 4.92989e+00 4.10824e+00 3.28659e+00 2.46494e+00 + 1.64330e+00 8.21648e-01 0.00000e+00 + -118.3260 33.9446 2.4997 -32 89 1.00000e+10 4.4722 1.00000e-01 + 180 71.71 39 0.00 0 0.00 0 + 0.00000e+00 1.55882e+01 3.11764e+01 4.67645e+01 6.23527e+01 4.67645e+01 + 3.11764e+01 3.02021e+01 2.92278e+01 2.82536e+01 2.72793e+01 2.63051e+01 + 2.53308e+01 2.43565e+01 2.33823e+01 2.24080e+01 2.14338e+01 2.04595e+01 + 1.94852e+01 1.85110e+01 1.75367e+01 1.65624e+01 1.55882e+01 1.46139e+01 + 1.36397e+01 1.26654e+01 1.16911e+01 1.07169e+01 9.74261e+00 8.76835e+00 + 7.79409e+00 6.81983e+00 5.84557e+00 4.87131e+00 3.89705e+00 2.92278e+00 + 1.94852e+00 9.74261e-01 0.00000e+00 + -118.3333 33.9509 2.4997 -56 89 1.00000e+10 4.2272 1.00000e-01 + 180 87.48 39 0.00 0 0.00 0 + 0.00000e+00 1.90184e+01 3.80368e+01 5.70552e+01 7.60736e+01 5.70552e+01 + 3.80368e+01 3.68482e+01 3.56595e+01 3.44709e+01 3.32822e+01 3.20936e+01 + 3.09049e+01 2.97163e+01 2.85276e+01 2.73390e+01 2.61503e+01 2.49617e+01 + 2.37730e+01 2.25844e+01 2.13957e+01 2.02071e+01 1.90184e+01 1.78298e+01 + 1.66411e+01 1.54525e+01 1.42638e+01 1.30752e+01 1.18865e+01 1.06979e+01 + 9.50920e+00 8.32055e+00 7.13190e+00 5.94325e+00 4.75460e+00 3.56595e+00 + 2.37730e+00 1.18865e+00 0.00000e+00 + -118.3423 33.9559 2.4997 -56 89 1.00000e+10 4.0148 1.00000e-01 + 180 94.54 39 0.00 0 0.00 0 + 0.00000e+00 2.05517e+01 4.11034e+01 6.16551e+01 8.22068e+01 6.16551e+01 + 4.11034e+01 3.98189e+01 3.85344e+01 3.72500e+01 3.59655e+01 3.46810e+01 + 3.33965e+01 3.21120e+01 3.08275e+01 2.95431e+01 2.82586e+01 2.69741e+01 + 2.56896e+01 2.44051e+01 2.31207e+01 2.18362e+01 2.05517e+01 1.92672e+01 + 1.79827e+01 1.66983e+01 1.54138e+01 1.41293e+01 1.28448e+01 1.15603e+01 + 1.02758e+01 8.99137e+00 7.70689e+00 6.42241e+00 5.13792e+00 3.85344e+00 + 2.56896e+00 1.28448e+00 0.00000e+00 + -118.3502 33.9616 2.4997 -42 89 1.00000e+10 3.8584 1.00000e-01 + 180 65.30 39 0.00 0 0.00 0 + 0.00000e+00 1.41956e+01 2.83912e+01 4.25868e+01 5.67824e+01 4.25868e+01 + 2.83912e+01 2.75040e+01 2.66167e+01 2.57295e+01 2.48423e+01 2.39551e+01 + 2.30678e+01 2.21806e+01 2.12934e+01 2.04062e+01 1.95189e+01 1.86317e+01 + 1.77445e+01 1.68573e+01 1.59700e+01 1.50828e+01 1.41956e+01 1.33084e+01 + 1.24211e+01 1.15339e+01 1.06467e+01 9.75947e+00 8.87225e+00 7.98502e+00 + 7.09780e+00 6.21057e+00 5.32335e+00 4.43612e+00 3.54890e+00 2.66167e+00 + 1.77445e+00 8.87225e-01 0.00000e+00 + -118.3547 33.9691 2.4997 -12 89 1.00000e+10 3.7290 1.00000e-01 + 180 37.03 39 0.00 0 0.00 0 + 0.00000e+00 8.04967e+00 1.60993e+01 2.41490e+01 3.21987e+01 2.41490e+01 + 1.60993e+01 1.55962e+01 1.50931e+01 1.45900e+01 1.40869e+01 1.35838e+01 + 1.30807e+01 1.25776e+01 1.20745e+01 1.15714e+01 1.10683e+01 1.05652e+01 + 1.00621e+01 9.55898e+00 9.05588e+00 8.55277e+00 8.04967e+00 7.54656e+00 + 7.04346e+00 6.54036e+00 6.03725e+00 5.53415e+00 5.03104e+00 4.52794e+00 + 4.02483e+00 3.52173e+00 3.01863e+00 2.51552e+00 2.01242e+00 1.50931e+00 + 1.00621e+00 5.03104e-01 0.00000e+00 + -118.3570 33.9779 2.4997 -12 89 1.00000e+10 3.6386 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3596 33.9867 2.4997 -15 89 1.00000e+10 3.5376 1.00000e-01 + 180 6.73 39 0.00 0 0.00 0 + 0.00000e+00 1.46224e+00 2.92449e+00 4.38673e+00 5.84898e+00 4.38673e+00 + 2.92449e+00 2.83310e+00 2.74171e+00 2.65032e+00 2.55893e+00 2.46754e+00 + 2.37615e+00 2.28476e+00 2.19337e+00 2.10198e+00 2.01059e+00 1.91920e+00 + 1.82780e+00 1.73641e+00 1.64502e+00 1.55363e+00 1.46224e+00 1.37085e+00 + 1.27946e+00 1.18807e+00 1.09668e+00 1.00529e+00 9.13902e-01 8.22512e-01 + 7.31122e-01 6.39732e-01 5.48341e-01 4.56951e-01 3.65561e-01 2.74171e-01 + 1.82780e-01 9.13902e-02 0.00000e+00 + -118.3631 33.9951 2.4997 -23 89 1.00000e+10 3.4584 1.00000e-01 + 180 28.83 39 0.00 0 0.00 0 + 0.00000e+00 6.26688e+00 1.25338e+01 1.88006e+01 2.50675e+01 1.88006e+01 + 1.25338e+01 1.21421e+01 1.17504e+01 1.13587e+01 1.09670e+01 1.05754e+01 + 1.01837e+01 9.79200e+00 9.40032e+00 9.00864e+00 8.61696e+00 8.22528e+00 + 7.83360e+00 7.44192e+00 7.05024e+00 6.65856e+00 6.26688e+00 5.87520e+00 + 5.48352e+00 5.09184e+00 4.70016e+00 4.30848e+00 3.91680e+00 3.52512e+00 + 3.13344e+00 2.74176e+00 2.35008e+00 1.95840e+00 1.56672e+00 1.17504e+00 + 7.83360e-01 3.91680e-01 0.00000e+00 + -118.3674 34.0034 2.4997 -24 89 1.00000e+10 3.4281 1.00000e-01 + 180 39.86 39 0.00 0 0.00 0 + 0.00000e+00 8.66437e+00 1.73287e+01 2.59931e+01 3.46575e+01 2.59931e+01 + 1.73287e+01 1.67872e+01 1.62457e+01 1.57042e+01 1.51627e+01 1.46211e+01 + 1.40796e+01 1.35381e+01 1.29966e+01 1.24550e+01 1.19135e+01 1.13720e+01 + 1.08305e+01 1.02889e+01 9.74742e+00 9.20589e+00 8.66437e+00 8.12285e+00 + 7.58133e+00 7.03980e+00 6.49828e+00 5.95676e+00 5.41523e+00 4.87371e+00 + 4.33219e+00 3.79066e+00 3.24914e+00 2.70762e+00 2.16609e+00 1.62457e+00 + 1.08305e+00 5.41523e-01 0.00000e+00 + -118.3718 34.0116 2.4997 -24 89 1.00000e+10 3.4667 1.00000e-01 + 180 20.45 39 0.00 0 0.00 0 + 0.00000e+00 4.44513e+00 8.89026e+00 1.33354e+01 1.77805e+01 1.33354e+01 + 8.89026e+00 8.61244e+00 8.33462e+00 8.05680e+00 7.77898e+00 7.50116e+00 + 7.22334e+00 6.94552e+00 6.66770e+00 6.38987e+00 6.11205e+00 5.83423e+00 + 5.55641e+00 5.27859e+00 5.00077e+00 4.72295e+00 4.44513e+00 4.16731e+00 + 3.88949e+00 3.61167e+00 3.33385e+00 3.05603e+00 2.77821e+00 2.50039e+00 + 2.22257e+00 1.94474e+00 1.66692e+00 1.38910e+00 1.11128e+00 8.33462e-01 + 5.55641e-01 2.77821e-01 0.00000e+00 + -118.3763 34.0198 2.4997 -24 89 1.00000e+10 3.5290 1.00000e-01 + 180 15.36 39 0.00 0 0.00 0 + 0.00000e+00 3.33866e+00 6.67731e+00 1.00160e+01 1.33546e+01 1.00160e+01 + 6.67731e+00 6.46865e+00 6.25998e+00 6.05132e+00 5.84265e+00 5.63398e+00 + 5.42532e+00 5.21665e+00 5.00799e+00 4.79932e+00 4.59065e+00 4.38199e+00 + 4.17332e+00 3.96466e+00 3.75599e+00 3.54732e+00 3.33866e+00 3.12999e+00 + 2.92132e+00 2.71266e+00 2.50399e+00 2.29533e+00 2.08666e+00 1.87799e+00 + 1.66933e+00 1.46066e+00 1.25200e+00 1.04333e+00 8.34664e-01 6.25998e-01 + 4.17332e-01 2.08666e-01 0.00000e+00 + -118.3808 34.0280 2.4997 -24 89 1.00000e+10 3.6268 1.00000e-01 + 180 11.98 39 0.00 0 0.00 0 + 0.00000e+00 2.60506e+00 5.21012e+00 7.81518e+00 1.04202e+01 7.81518e+00 + 5.21012e+00 5.04730e+00 4.88449e+00 4.72167e+00 4.55886e+00 4.39604e+00 + 4.23322e+00 4.07041e+00 3.90759e+00 3.74477e+00 3.58196e+00 3.41914e+00 + 3.25633e+00 3.09351e+00 2.93069e+00 2.76788e+00 2.60506e+00 2.44224e+00 + 2.27943e+00 2.11661e+00 1.95380e+00 1.79098e+00 1.62816e+00 1.46535e+00 + 1.30253e+00 1.13971e+00 9.76898e-01 8.14081e-01 6.51265e-01 4.88449e-01 + 3.25633e-01 1.62816e-01 0.00000e+00 + -117.3567 33.0606 3.4996 -33 89 1.00000e+10 50.3693 1.00000e-01 + 180 12.16 39 0.00 0 0.00 0 + 0.00000e+00 2.64316e+00 5.28632e+00 7.92948e+00 1.05726e+01 7.92948e+00 + 5.28632e+00 5.12112e+00 4.95592e+00 4.79073e+00 4.62553e+00 4.46033e+00 + 4.29513e+00 4.12994e+00 3.96474e+00 3.79954e+00 3.63434e+00 3.46915e+00 + 3.30395e+00 3.13875e+00 2.97355e+00 2.80836e+00 2.64316e+00 2.47796e+00 + 2.31276e+00 2.14757e+00 1.98237e+00 1.81717e+00 1.65197e+00 1.48678e+00 + 1.32158e+00 1.15638e+00 9.91185e-01 8.25987e-01 6.60790e-01 4.95592e-01 + 3.30395e-01 1.65197e-01 0.00000e+00 + -117.3626 33.0681 3.4996 -33 89 1.00000e+10 49.9954 1.00000e-01 + 180 37.90 39 0.00 0 0.00 0 + 0.00000e+00 8.23814e+00 1.64763e+01 2.47144e+01 3.29525e+01 2.47144e+01 + 1.64763e+01 1.59614e+01 1.54465e+01 1.49316e+01 1.44167e+01 1.39019e+01 + 1.33870e+01 1.28721e+01 1.23572e+01 1.18423e+01 1.13274e+01 1.08126e+01 + 1.02977e+01 9.78279e+00 9.26790e+00 8.75302e+00 8.23814e+00 7.72325e+00 + 7.20837e+00 6.69349e+00 6.17860e+00 5.66372e+00 5.14883e+00 4.63395e+00 + 4.11907e+00 3.60418e+00 3.08930e+00 2.57442e+00 2.05953e+00 1.54465e+00 + 1.02977e+00 5.14883e-01 0.00000e+00 + -117.3684 33.0757 3.4996 -33 89 1.00000e+10 49.6084 1.00000e-01 + 180 77.91 39 0.00 0 0.00 0 + 0.00000e+00 1.69370e+01 3.38739e+01 5.08109e+01 6.77478e+01 5.08109e+01 + 3.38739e+01 3.28154e+01 3.17568e+01 3.06982e+01 2.96397e+01 2.85811e+01 + 2.75226e+01 2.64640e+01 2.54054e+01 2.43469e+01 2.32883e+01 2.22298e+01 + 2.11712e+01 2.01126e+01 1.90541e+01 1.79955e+01 1.69370e+01 1.58784e+01 + 1.48198e+01 1.37613e+01 1.27027e+01 1.16442e+01 1.05856e+01 9.52704e+00 + 8.46848e+00 7.40992e+00 6.35136e+00 5.29280e+00 4.23424e+00 3.17568e+00 + 2.11712e+00 1.05856e+00 0.00000e+00 + -117.3744 33.0831 3.4996 -36 89 1.00000e+10 49.2278 1.00000e-01 + 180 112.71 39 0.00 0 0.00 0 + 0.00000e+00 2.45016e+01 4.90032e+01 7.35048e+01 9.80065e+01 7.35048e+01 + 4.90032e+01 4.74719e+01 4.59405e+01 4.44092e+01 4.28778e+01 4.13465e+01 + 3.98151e+01 3.82838e+01 3.67524e+01 3.52211e+01 3.36897e+01 3.21584e+01 + 3.06270e+01 2.90957e+01 2.75643e+01 2.60330e+01 2.45016e+01 2.29703e+01 + 2.14389e+01 1.99076e+01 1.83762e+01 1.68449e+01 1.53135e+01 1.37822e+01 + 1.22508e+01 1.07195e+01 9.18811e+00 7.65675e+00 6.12540e+00 4.59405e+00 + 3.06270e+00 1.53135e+00 0.00000e+00 + -117.3819 33.0893 3.4996 -55 89 1.00000e+10 48.8403 1.00000e-01 + 180 148.60 39 0.00 0 0.00 0 + 0.00000e+00 3.23036e+01 6.46072e+01 9.69108e+01 1.29214e+02 9.69108e+01 + 6.46072e+01 6.25882e+01 6.05692e+01 5.85503e+01 5.65313e+01 5.45123e+01 + 5.24933e+01 5.04744e+01 4.84554e+01 4.64364e+01 4.44174e+01 4.23985e+01 + 4.03795e+01 3.83605e+01 3.63415e+01 3.43226e+01 3.23036e+01 3.02846e+01 + 2.82656e+01 2.62467e+01 2.42277e+01 2.22087e+01 2.01897e+01 1.81708e+01 + 1.61518e+01 1.41328e+01 1.21138e+01 1.00949e+01 8.07590e+00 6.05692e+00 + 4.03795e+00 2.01897e+00 0.00000e+00 + -117.3907 33.0945 3.4996 -55 89 1.00000e+10 48.4924 1.00000e-01 + 180 153.75 39 0.00 0 0.00 0 + 0.00000e+00 3.34230e+01 6.68460e+01 1.00269e+02 1.33692e+02 1.00269e+02 + 6.68460e+01 6.47570e+01 6.26681e+01 6.05792e+01 5.84902e+01 5.64013e+01 + 5.43124e+01 5.22234e+01 5.01345e+01 4.80456e+01 4.59566e+01 4.38677e+01 + 4.17787e+01 3.96898e+01 3.76009e+01 3.55119e+01 3.34230e+01 3.13341e+01 + 2.92451e+01 2.71562e+01 2.50672e+01 2.29783e+01 2.08894e+01 1.88004e+01 + 1.67115e+01 1.46226e+01 1.25336e+01 1.04447e+01 8.35575e+00 6.26681e+00 + 4.17787e+00 2.08894e+00 0.00000e+00 + -117.3991 33.1000 3.4996 -48 89 1.00000e+10 48.1408 1.00000e-01 + 180 157.54 39 0.00 0 0.00 0 + 0.00000e+00 3.42470e+01 6.84940e+01 1.02741e+02 1.36988e+02 1.02741e+02 + 6.84940e+01 6.63536e+01 6.42131e+01 6.20727e+01 5.99323e+01 5.77918e+01 + 5.56514e+01 5.35109e+01 5.13705e+01 4.92301e+01 4.70896e+01 4.49492e+01 + 4.28088e+01 4.06683e+01 3.85279e+01 3.63874e+01 3.42470e+01 3.21066e+01 + 2.99661e+01 2.78257e+01 2.56853e+01 2.35448e+01 2.14044e+01 1.92639e+01 + 1.71235e+01 1.49831e+01 1.28426e+01 1.07022e+01 8.56175e+00 6.42131e+00 + 4.28088e+00 2.14044e+00 0.00000e+00 + -117.4071 33.1061 3.4996 -47 89 1.00000e+10 47.7979 1.00000e-01 + 180 154.90 39 0.00 0 0.00 0 + 0.00000e+00 3.36734e+01 6.73469e+01 1.01020e+02 1.34694e+02 1.01020e+02 + 6.73469e+01 6.52423e+01 6.31377e+01 6.10331e+01 5.89285e+01 5.68239e+01 + 5.47194e+01 5.26148e+01 5.05102e+01 4.84056e+01 4.63010e+01 4.41964e+01 + 4.20918e+01 3.99872e+01 3.78826e+01 3.57780e+01 3.36734e+01 3.15689e+01 + 2.94643e+01 2.73597e+01 2.52551e+01 2.31505e+01 2.10459e+01 1.89413e+01 + 1.68367e+01 1.47321e+01 1.26275e+01 1.05230e+01 8.41836e+00 6.31377e+00 + 4.20918e+00 2.10459e+00 0.00000e+00 + -117.4142 33.1128 3.4996 -36 89 1.00000e+10 47.4435 1.00000e-01 + 180 159.76 39 0.00 0 0.00 0 + 0.00000e+00 3.47314e+01 6.94629e+01 1.04194e+02 1.38926e+02 1.04194e+02 + 6.94629e+01 6.72922e+01 6.51215e+01 6.29507e+01 6.07800e+01 5.86093e+01 + 5.64386e+01 5.42679e+01 5.20972e+01 4.99265e+01 4.77557e+01 4.55850e+01 + 4.34143e+01 4.12436e+01 3.90729e+01 3.69022e+01 3.47314e+01 3.25607e+01 + 3.03900e+01 2.82193e+01 2.60486e+01 2.38779e+01 2.17072e+01 1.95364e+01 + 1.73657e+01 1.51950e+01 1.30243e+01 1.08536e+01 8.68286e+00 6.51215e+00 + 4.34143e+00 2.17072e+00 0.00000e+00 + -117.4202 33.1202 3.4996 -33 89 1.00000e+10 47.1291 1.00000e-01 + 180 127.28 39 0.00 0 0.00 0 + 0.00000e+00 2.76696e+01 5.53393e+01 8.30089e+01 1.10679e+02 8.30089e+01 + 5.53393e+01 5.36099e+01 5.18806e+01 5.01512e+01 4.84219e+01 4.66925e+01 + 4.49631e+01 4.32338e+01 4.15044e+01 3.97751e+01 3.80457e+01 3.63164e+01 + 3.45870e+01 3.28577e+01 3.11283e+01 2.93990e+01 2.76696e+01 2.59403e+01 + 2.42109e+01 2.24816e+01 2.07522e+01 1.90229e+01 1.72935e+01 1.55642e+01 + 1.38348e+01 1.21055e+01 1.03761e+01 8.64676e+00 6.91741e+00 5.18806e+00 + 3.45870e+00 1.72935e+00 0.00000e+00 + -117.4238 33.1284 3.4996 -8 89 1.00000e+10 46.8224 1.00000e-01 + 180 83.78 39 0.00 0 0.00 0 + 0.00000e+00 1.82126e+01 3.64253e+01 5.46379e+01 7.28506e+01 5.46379e+01 + 3.64253e+01 3.52870e+01 3.41487e+01 3.30104e+01 3.18721e+01 3.07338e+01 + 2.95955e+01 2.84573e+01 2.73190e+01 2.61807e+01 2.50424e+01 2.39041e+01 + 2.27658e+01 2.16275e+01 2.04892e+01 1.93509e+01 1.82126e+01 1.70744e+01 + 1.59361e+01 1.47978e+01 1.36595e+01 1.25212e+01 1.13829e+01 1.02446e+01 + 9.10632e+00 7.96803e+00 6.82974e+00 5.69145e+00 4.55316e+00 3.41487e+00 + 2.27658e+00 1.13829e+00 0.00000e+00 + -117.4254 33.1373 3.4996 -8 89 1.00000e+10 46.4797 1.00000e-01 + 180 80.24 39 0.00 0 0.00 0 + 0.00000e+00 1.74436e+01 3.48872e+01 5.23308e+01 6.97744e+01 5.23308e+01 + 3.48872e+01 3.37970e+01 3.27067e+01 3.16165e+01 3.05263e+01 2.94361e+01 + 2.83458e+01 2.72556e+01 2.61654e+01 2.50752e+01 2.39849e+01 2.28947e+01 + 2.18045e+01 2.07143e+01 1.96240e+01 1.85338e+01 1.74436e+01 1.63534e+01 + 1.52631e+01 1.41729e+01 1.30827e+01 1.19925e+01 1.09022e+01 9.81202e+00 + 8.72179e+00 7.63157e+00 6.54135e+00 5.45112e+00 4.36090e+00 3.27067e+00 + 2.18045e+00 1.09022e+00 0.00000e+00 + -117.4269 33.1462 3.4996 -8 89 1.00000e+10 46.0455 1.00000e-01 + 180 166.73 39 0.00 0 0.00 0 + 0.00000e+00 3.62461e+01 7.24922e+01 1.08738e+02 1.44984e+02 1.08738e+02 + 7.24922e+01 7.02268e+01 6.79614e+01 6.56960e+01 6.34306e+01 6.11653e+01 + 5.88999e+01 5.66345e+01 5.43691e+01 5.21037e+01 4.98384e+01 4.75730e+01 + 4.53076e+01 4.30422e+01 4.07768e+01 3.85115e+01 3.62461e+01 3.39807e+01 + 3.17153e+01 2.94499e+01 2.71846e+01 2.49192e+01 2.26538e+01 2.03884e+01 + 1.81230e+01 1.58577e+01 1.35923e+01 1.13269e+01 9.06152e+00 6.79614e+00 + 4.53076e+00 2.26538e+00 0.00000e+00 + -117.4294 33.1547 3.4996 -20 89 1.00000e+10 45.6282 1.00000e-01 + 180 240.10 39 0.00 0 0.00 0 + 0.00000e+00 5.21960e+01 1.04392e+02 1.56588e+02 2.08784e+02 1.56588e+02 + 1.04392e+02 1.01130e+02 9.78676e+01 9.46053e+01 9.13431e+01 8.80808e+01 + 8.48186e+01 8.15563e+01 7.82941e+01 7.50318e+01 7.17696e+01 6.85073e+01 + 6.52450e+01 6.19828e+01 5.87205e+01 5.54583e+01 5.21960e+01 4.89338e+01 + 4.56715e+01 4.24093e+01 3.91470e+01 3.58848e+01 3.26225e+01 2.93603e+01 + 2.60980e+01 2.28358e+01 1.95735e+01 1.63113e+01 1.30490e+01 9.78676e+00 + 6.52450e+00 3.26225e+00 0.00000e+00 + -117.4345 33.1623 3.4996 -39 89 1.00000e+10 45.1658 1.00000e-01 + 180 357.44 39 0.00 0 0.00 0 + 0.00000e+00 7.77045e+01 1.55409e+02 2.33114e+02 3.10818e+02 2.33114e+02 + 1.55409e+02 1.50553e+02 1.45696e+02 1.40839e+02 1.35983e+02 1.31126e+02 + 1.26270e+02 1.21413e+02 1.16557e+02 1.11700e+02 1.06844e+02 1.01987e+02 + 9.71307e+01 9.22741e+01 8.74176e+01 8.25611e+01 7.77045e+01 7.28480e+01 + 6.79915e+01 6.31349e+01 5.82784e+01 5.34219e+01 4.85653e+01 4.37088e+01 + 3.88523e+01 3.39957e+01 2.91392e+01 2.42827e+01 1.94261e+01 1.45696e+01 + 9.71307e+00 4.85653e+00 0.00000e+00 + -117.4413 33.1694 3.4996 -39 89 1.00000e+10 44.7914 1.00000e-01 + 180 384.99 39 0.00 0 0.00 0 + 0.00000e+00 8.36945e+01 1.67389e+02 2.51084e+02 3.34778e+02 2.51084e+02 + 1.67389e+02 1.62158e+02 1.56927e+02 1.51696e+02 1.46465e+02 1.41235e+02 + 1.36004e+02 1.30773e+02 1.25542e+02 1.20311e+02 1.15080e+02 1.09849e+02 + 1.04618e+02 9.93873e+01 9.41564e+01 8.89255e+01 8.36945e+01 7.84636e+01 + 7.32327e+01 6.80018e+01 6.27709e+01 5.75400e+01 5.23091e+01 4.70782e+01 + 4.18473e+01 3.66164e+01 3.13855e+01 2.61545e+01 2.09236e+01 1.56927e+01 + 1.04618e+01 5.23091e+00 0.00000e+00 + -117.4480 33.1764 3.4996 -39 89 1.00000e+10 44.3500 1.00000e-01 + 180 479.41 39 0.00 0 0.00 0 + 0.00000e+00 1.04221e+02 2.08441e+02 3.12662e+02 4.16882e+02 3.12662e+02 + 2.08441e+02 2.01927e+02 1.95414e+02 1.88900e+02 1.82386e+02 1.75872e+02 + 1.69358e+02 1.62845e+02 1.56331e+02 1.49817e+02 1.43303e+02 1.36789e+02 + 1.30276e+02 1.23762e+02 1.17248e+02 1.10734e+02 1.04221e+02 9.77068e+01 + 9.11930e+01 8.46792e+01 7.81654e+01 7.16516e+01 6.51379e+01 5.86241e+01 + 5.21103e+01 4.55965e+01 3.90827e+01 3.25689e+01 2.60551e+01 1.95414e+01 + 1.30276e+01 6.51379e+00 0.00000e+00 + -117.4547 33.1834 3.4996 -39 89 1.00000e+10 44.0457 1.00000e-01 + 180 435.49 39 0.00 0 0.00 0 + 0.00000e+00 9.46715e+01 1.89343e+02 2.84014e+02 3.78686e+02 2.84014e+02 + 1.89343e+02 1.83426e+02 1.77509e+02 1.71592e+02 1.65675e+02 1.59758e+02 + 1.53841e+02 1.47924e+02 1.42007e+02 1.36090e+02 1.30173e+02 1.24256e+02 + 1.18339e+02 1.12422e+02 1.06505e+02 1.00588e+02 9.46715e+01 8.87545e+01 + 8.28376e+01 7.69206e+01 7.10036e+01 6.50866e+01 5.91697e+01 5.32527e+01 + 4.73357e+01 4.14188e+01 3.55018e+01 2.95848e+01 2.36679e+01 1.77509e+01 + 1.18339e+01 5.91697e+00 0.00000e+00 + -117.4614 33.1904 3.4996 -39 89 1.00000e+10 43.7588 1.00000e-01 + 180 374.14 39 0.00 0 0.00 0 + 0.00000e+00 8.13352e+01 1.62670e+02 2.44005e+02 3.25341e+02 2.44005e+02 + 1.62670e+02 1.57587e+02 1.52503e+02 1.47420e+02 1.42337e+02 1.37253e+02 + 1.32170e+02 1.27086e+02 1.22003e+02 1.16919e+02 1.11836e+02 1.06752e+02 + 1.01669e+02 9.65855e+01 9.15021e+01 8.64186e+01 8.13352e+01 7.62517e+01 + 7.11683e+01 6.60848e+01 6.10014e+01 5.59179e+01 5.08345e+01 4.57510e+01 + 4.06676e+01 3.55841e+01 3.05007e+01 2.54172e+01 2.03338e+01 1.52503e+01 + 1.01669e+01 5.08345e+00 0.00000e+00 + -117.4682 33.1974 3.4996 -39 89 1.00000e+10 43.3897 1.00000e-01 + 180 396.44 39 0.00 0 0.00 0 + 0.00000e+00 8.61832e+01 1.72366e+02 2.58550e+02 3.44733e+02 2.58550e+02 + 1.72366e+02 1.66980e+02 1.61593e+02 1.56207e+02 1.50821e+02 1.45434e+02 + 1.40048e+02 1.34661e+02 1.29275e+02 1.23888e+02 1.18502e+02 1.13115e+02 + 1.07729e+02 1.02343e+02 9.69561e+01 9.15696e+01 8.61832e+01 8.07967e+01 + 7.54103e+01 7.00238e+01 6.46374e+01 5.92509e+01 5.38645e+01 4.84780e+01 + 4.30916e+01 3.77051e+01 3.23187e+01 2.69322e+01 2.15458e+01 1.61593e+01 + 1.07729e+01 5.38645e+00 0.00000e+00 + -117.4749 33.2045 3.4996 -39 89 1.00000e+10 43.0699 1.00000e-01 + 180 370.02 39 0.00 0 0.00 0 + 0.00000e+00 8.04396e+01 1.60879e+02 2.41319e+02 3.21758e+02 2.41319e+02 + 1.60879e+02 1.55852e+02 1.50824e+02 1.45797e+02 1.40769e+02 1.35742e+02 + 1.30714e+02 1.25687e+02 1.20659e+02 1.15632e+02 1.10604e+02 1.05577e+02 + 1.00549e+02 9.55220e+01 9.04945e+01 8.54670e+01 8.04396e+01 7.54121e+01 + 7.03846e+01 6.53571e+01 6.03297e+01 5.53022e+01 5.02747e+01 4.52472e+01 + 4.02198e+01 3.51923e+01 3.01648e+01 2.51374e+01 2.01099e+01 1.50824e+01 + 1.00549e+01 5.02747e+00 0.00000e+00 + -117.4816 33.2115 3.4996 -39 89 1.00000e+10 42.7684 1.00000e-01 + 180 321.92 39 0.00 0 0.00 0 + 0.00000e+00 6.99821e+01 1.39964e+02 2.09946e+02 2.79928e+02 2.09946e+02 + 1.39964e+02 1.35590e+02 1.31216e+02 1.26843e+02 1.22469e+02 1.18095e+02 + 1.13721e+02 1.09347e+02 1.04973e+02 1.00599e+02 9.62254e+01 9.18515e+01 + 8.74776e+01 8.31037e+01 7.87298e+01 7.43560e+01 6.99821e+01 6.56082e+01 + 6.12343e+01 5.68604e+01 5.24866e+01 4.81127e+01 4.37388e+01 3.93649e+01 + 3.49910e+01 3.06172e+01 2.62433e+01 2.18694e+01 1.74955e+01 1.31216e+01 + 8.74776e+00 4.37388e+00 0.00000e+00 + -117.4892 33.2178 3.4996 -51 89 1.00000e+10 42.3500 1.00000e-01 + 180 393.74 39 0.00 0 0.00 0 + 0.00000e+00 8.55953e+01 1.71191e+02 2.56786e+02 3.42381e+02 2.56786e+02 + 1.71191e+02 1.65841e+02 1.60491e+02 1.55141e+02 1.49792e+02 1.44442e+02 + 1.39092e+02 1.33743e+02 1.28393e+02 1.23043e+02 1.17694e+02 1.12344e+02 + 1.06994e+02 1.01644e+02 9.62947e+01 9.09450e+01 8.55953e+01 8.02456e+01 + 7.48959e+01 6.95462e+01 6.41965e+01 5.88468e+01 5.34971e+01 4.81474e+01 + 4.27976e+01 3.74479e+01 3.20982e+01 2.67485e+01 2.13988e+01 1.60491e+01 + 1.06994e+01 5.34971e+00 0.00000e+00 + -117.4978 33.2231 3.4996 -55 89 1.00000e+10 41.9772 1.00000e-01 + 180 421.61 39 0.00 0 0.00 0 + 0.00000e+00 9.16540e+01 1.83308e+02 2.74962e+02 3.66616e+02 2.74962e+02 + 1.83308e+02 1.77580e+02 1.71851e+02 1.66123e+02 1.60395e+02 1.54666e+02 + 1.48938e+02 1.43209e+02 1.37481e+02 1.31753e+02 1.26024e+02 1.20296e+02 + 1.14568e+02 1.08839e+02 1.03111e+02 9.73824e+01 9.16540e+01 8.59256e+01 + 8.01973e+01 7.44689e+01 6.87405e+01 6.30121e+01 5.72838e+01 5.15554e+01 + 4.58270e+01 4.00986e+01 3.43703e+01 2.86419e+01 2.29135e+01 1.71851e+01 + 1.14568e+01 5.72838e+00 0.00000e+00 + -117.5066 33.2283 3.4996 -55 89 1.00000e+10 41.6143 1.00000e-01 + 180 433.73 39 0.00 0 0.00 0 + 0.00000e+00 9.42901e+01 1.88580e+02 2.82870e+02 3.77160e+02 2.82870e+02 + 1.88580e+02 1.82687e+02 1.76794e+02 1.70901e+02 1.65008e+02 1.59115e+02 + 1.53221e+02 1.47328e+02 1.41435e+02 1.35542e+02 1.29649e+02 1.23756e+02 + 1.17863e+02 1.11969e+02 1.06076e+02 1.00183e+02 9.42901e+01 8.83969e+01 + 8.25038e+01 7.66107e+01 7.07176e+01 6.48244e+01 5.89313e+01 5.30382e+01 + 4.71450e+01 4.12519e+01 3.53588e+01 2.94656e+01 2.35725e+01 1.76794e+01 + 1.17863e+01 5.89313e+00 0.00000e+00 + -117.5154 33.2334 3.4996 -55 89 1.00000e+10 41.3448 1.00000e-01 + 180 354.84 39 0.00 0 0.00 0 + 0.00000e+00 7.71400e+01 1.54280e+02 2.31420e+02 3.08560e+02 2.31420e+02 + 1.54280e+02 1.49459e+02 1.44638e+02 1.39816e+02 1.34995e+02 1.30174e+02 + 1.25353e+02 1.20531e+02 1.15710e+02 1.10889e+02 1.06068e+02 1.01246e+02 + 9.64251e+01 9.16038e+01 8.67825e+01 8.19613e+01 7.71400e+01 7.23188e+01 + 6.74975e+01 6.26763e+01 5.78550e+01 5.30338e+01 4.82125e+01 4.33913e+01 + 3.85700e+01 3.37488e+01 2.89275e+01 2.41063e+01 1.92850e+01 1.44638e+01 + 9.64251e+00 4.82125e+00 0.00000e+00 + -117.5242 33.2386 3.4996 -55 89 1.00000e+10 41.0673 1.00000e-01 + 180 287.35 39 0.00 0 0.00 0 + 0.00000e+00 6.24683e+01 1.24937e+02 1.87405e+02 2.49873e+02 1.87405e+02 + 1.24937e+02 1.21032e+02 1.17128e+02 1.13224e+02 1.09319e+02 1.05415e+02 + 1.01511e+02 9.76066e+01 9.37024e+01 8.97981e+01 8.58939e+01 8.19896e+01 + 7.80853e+01 7.41811e+01 7.02768e+01 6.63725e+01 6.24683e+01 5.85640e+01 + 5.46597e+01 5.07555e+01 4.68512e+01 4.29469e+01 3.90427e+01 3.51384e+01 + 3.12341e+01 2.73299e+01 2.34256e+01 1.95213e+01 1.56171e+01 1.17128e+01 + 7.80853e+00 3.90427e+00 0.00000e+00 + -117.5331 33.2437 3.4996 -55 89 1.00000e+10 40.7417 1.00000e-01 + 180 264.40 39 0.00 0 0.00 0 + 0.00000e+00 5.74789e+01 1.14958e+02 1.72437e+02 2.29916e+02 1.72437e+02 + 1.14958e+02 1.11365e+02 1.07773e+02 1.04181e+02 1.00588e+02 9.69957e+01 + 9.34032e+01 8.98108e+01 8.62184e+01 8.26259e+01 7.90335e+01 7.54411e+01 + 7.18486e+01 6.82562e+01 6.46638e+01 6.10713e+01 5.74789e+01 5.38865e+01 + 5.02940e+01 4.67016e+01 4.31092e+01 3.95168e+01 3.59243e+01 3.23319e+01 + 2.87395e+01 2.51470e+01 2.15546e+01 1.79622e+01 1.43697e+01 1.07773e+01 + 7.18486e+00 3.59243e+00 0.00000e+00 + -117.5419 33.2489 3.4996 -55 89 1.00000e+10 40.3169 1.00000e-01 + 180 345.68 39 0.00 0 0.00 0 + 0.00000e+00 7.51473e+01 1.50295e+02 2.25442e+02 3.00589e+02 2.25442e+02 + 1.50295e+02 1.45598e+02 1.40901e+02 1.36204e+02 1.31508e+02 1.26811e+02 + 1.22114e+02 1.17418e+02 1.12721e+02 1.08024e+02 1.03327e+02 9.86308e+01 + 9.39341e+01 8.92374e+01 8.45407e+01 7.98440e+01 7.51473e+01 7.04506e+01 + 6.57539e+01 6.10572e+01 5.63605e+01 5.16637e+01 4.69670e+01 4.22703e+01 + 3.75736e+01 3.28769e+01 2.81802e+01 2.34835e+01 1.87868e+01 1.40901e+01 + 9.39341e+00 4.69670e+00 0.00000e+00 + -117.5497 33.2549 3.4996 -39 89 1.00000e+10 39.8612 1.00000e-01 + 180 455.43 39 0.00 0 0.00 0 + 0.00000e+00 9.90065e+01 1.98013e+02 2.97020e+02 3.96026e+02 2.97020e+02 + 1.98013e+02 1.91825e+02 1.85637e+02 1.79449e+02 1.73261e+02 1.67074e+02 + 1.60886e+02 1.54698e+02 1.48510e+02 1.42322e+02 1.36134e+02 1.29946e+02 + 1.23758e+02 1.17570e+02 1.11382e+02 1.05194e+02 9.90065e+01 9.28186e+01 + 8.66307e+01 8.04428e+01 7.42549e+01 6.80670e+01 6.18791e+01 5.56912e+01 + 4.95033e+01 4.33154e+01 3.71275e+01 3.09395e+01 2.47516e+01 1.85637e+01 + 1.23758e+01 6.18791e+00 0.00000e+00 + -117.5564 33.2620 3.4996 -38 89 1.00000e+10 39.4928 1.00000e-01 + 180 474.99 39 0.00 0 0.00 0 + 0.00000e+00 1.03260e+02 2.06520e+02 3.09779e+02 4.13039e+02 3.09779e+02 + 2.06520e+02 2.00066e+02 1.93612e+02 1.87158e+02 1.80705e+02 1.74251e+02 + 1.67797e+02 1.61343e+02 1.54890e+02 1.48436e+02 1.41982e+02 1.35528e+02 + 1.29075e+02 1.22621e+02 1.16167e+02 1.09713e+02 1.03260e+02 9.68060e+01 + 9.03523e+01 8.38986e+01 7.74448e+01 7.09911e+01 6.45374e+01 5.80836e+01 + 5.16299e+01 4.51761e+01 3.87224e+01 3.22687e+01 2.58149e+01 1.93612e+01 + 1.29075e+01 6.45373e+00 0.00000e+00 + -117.5630 33.2691 3.4996 -38 89 1.00000e+10 39.2462 1.00000e-01 + 180 370.44 39 0.00 0 0.00 0 + 0.00000e+00 8.05308e+01 1.61062e+02 2.41592e+02 3.22123e+02 2.41592e+02 + 1.61062e+02 1.56028e+02 1.50995e+02 1.45962e+02 1.40929e+02 1.35896e+02 + 1.30863e+02 1.25829e+02 1.20796e+02 1.15763e+02 1.10730e+02 1.05697e+02 + 1.00663e+02 9.56303e+01 9.05971e+01 8.55640e+01 8.05308e+01 7.54976e+01 + 7.04644e+01 6.54313e+01 6.03981e+01 5.53649e+01 5.03317e+01 4.52986e+01 + 4.02654e+01 3.52322e+01 3.01990e+01 2.51659e+01 2.01327e+01 1.50995e+01 + 1.00663e+01 5.03317e+00 0.00000e+00 + -117.5696 33.2762 3.4996 -38 89 1.00000e+10 39.0037 1.00000e-01 + 180 267.51 39 0.00 0 0.00 0 + 0.00000e+00 5.81548e+01 1.16310e+02 1.74464e+02 2.32619e+02 1.74464e+02 + 1.16310e+02 1.12675e+02 1.09040e+02 1.05406e+02 1.01771e+02 9.81362e+01 + 9.45015e+01 9.08668e+01 8.72322e+01 8.35975e+01 7.99628e+01 7.63281e+01 + 7.26935e+01 6.90588e+01 6.54241e+01 6.17895e+01 5.81548e+01 5.45201e+01 + 5.08854e+01 4.72508e+01 4.36161e+01 3.99814e+01 3.63467e+01 3.27121e+01 + 2.90774e+01 2.54427e+01 2.18080e+01 1.81734e+01 1.45387e+01 1.09040e+01 + 7.26935e+00 3.63467e+00 0.00000e+00 + -117.5762 33.2833 3.4996 -38 89 1.00000e+10 38.8225 1.00000e-01 + 180 102.22 39 0.00 0 0.00 0 + 0.00000e+00 2.22209e+01 4.44418e+01 6.66627e+01 8.88836e+01 6.66627e+01 + 4.44418e+01 4.30530e+01 4.16642e+01 4.02754e+01 3.88866e+01 3.74978e+01 + 3.61090e+01 3.47202e+01 3.33314e+01 3.19426e+01 3.05537e+01 2.91649e+01 + 2.77761e+01 2.63873e+01 2.49985e+01 2.36097e+01 2.22209e+01 2.08321e+01 + 1.94433e+01 1.80545e+01 1.66657e+01 1.52769e+01 1.38881e+01 1.24993e+01 + 1.11105e+01 9.72165e+00 8.33284e+00 6.94403e+00 5.55523e+00 4.16642e+00 + 2.77761e+00 1.38881e+00 0.00000e+00 + -117.5828 33.2904 3.4996 -38 89 1.00000e+10 38.5732 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.5894 33.2975 3.4996 -38 89 1.00000e+10 38.2294 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.5961 33.3046 3.4996 -38 89 1.00000e+10 37.8813 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.6027 33.3117 3.4996 -38 89 1.00000e+10 37.4986 1.00000e-01 + 180 31.80 39 0.00 0 0.00 0 + 0.00000e+00 6.91239e+00 1.38248e+01 2.07372e+01 2.76496e+01 2.07372e+01 + 1.38248e+01 1.33928e+01 1.29607e+01 1.25287e+01 1.20967e+01 1.16647e+01 + 1.12326e+01 1.08006e+01 1.03686e+01 9.93656e+00 9.50454e+00 9.07251e+00 + 8.64049e+00 8.20846e+00 7.77644e+00 7.34442e+00 6.91239e+00 6.48037e+00 + 6.04834e+00 5.61632e+00 5.18429e+00 4.75227e+00 4.32024e+00 3.88822e+00 + 3.45620e+00 3.02417e+00 2.59215e+00 2.16012e+00 1.72810e+00 1.29607e+00 + 8.64049e-01 4.32024e-01 0.00000e+00 + -117.6093 33.3188 3.4996 -38 89 1.00000e+10 37.0783 1.00000e-01 + 180 109.46 39 0.00 0 0.00 0 + 0.00000e+00 2.37962e+01 4.75925e+01 7.13887e+01 9.51850e+01 7.13887e+01 + 4.75925e+01 4.61052e+01 4.46180e+01 4.31307e+01 4.16434e+01 4.01562e+01 + 3.86689e+01 3.71816e+01 3.56944e+01 3.42071e+01 3.27198e+01 3.12326e+01 + 2.97453e+01 2.82580e+01 2.67708e+01 2.52835e+01 2.37962e+01 2.23090e+01 + 2.08217e+01 1.93345e+01 1.78472e+01 1.63599e+01 1.48727e+01 1.33854e+01 + 1.18981e+01 1.04109e+01 8.92359e+00 7.43633e+00 5.94906e+00 4.46180e+00 + 2.97453e+00 1.48727e+00 0.00000e+00 + -117.6159 33.3259 3.4996 -38 89 1.00000e+10 36.7068 1.00000e-01 + 180 130.87 39 0.00 0 0.00 0 + 0.00000e+00 2.84490e+01 5.68981e+01 8.53471e+01 1.13796e+02 8.53471e+01 + 5.68981e+01 5.51200e+01 5.33419e+01 5.15639e+01 4.97858e+01 4.80078e+01 + 4.62297e+01 4.44516e+01 4.26736e+01 4.08955e+01 3.91174e+01 3.73394e+01 + 3.55613e+01 3.37832e+01 3.20052e+01 3.02271e+01 2.84490e+01 2.66710e+01 + 2.48929e+01 2.31148e+01 2.13368e+01 1.95587e+01 1.77806e+01 1.60026e+01 + 1.42245e+01 1.24465e+01 1.06684e+01 8.89032e+00 7.11226e+00 5.33420e+00 + 3.55613e+00 1.77806e+00 0.00000e+00 + -117.6226 33.3330 3.4996 -38 89 1.00000e+10 36.3345 1.00000e-01 + 180 161.69 39 0.00 0 0.00 0 + 0.00000e+00 3.51510e+01 7.03021e+01 1.05453e+02 1.40604e+02 1.05453e+02 + 7.03021e+01 6.81052e+01 6.59082e+01 6.37113e+01 6.15143e+01 5.93174e+01 + 5.71205e+01 5.49235e+01 5.27266e+01 5.05296e+01 4.83327e+01 4.61357e+01 + 4.39388e+01 4.17419e+01 3.95449e+01 3.73480e+01 3.51510e+01 3.29541e+01 + 3.07572e+01 2.85602e+01 2.63633e+01 2.41663e+01 2.19694e+01 1.97725e+01 + 1.75755e+01 1.53786e+01 1.31816e+01 1.09847e+01 8.78776e+00 6.59082e+00 + 4.39388e+00 2.19694e+00 0.00000e+00 + -117.6292 33.3401 3.4996 -38 89 1.00000e+10 35.9289 1.00000e-01 + 180 220.72 39 0.00 0 0.00 0 + 0.00000e+00 4.79823e+01 9.59645e+01 1.43947e+02 1.91929e+02 1.43947e+02 + 9.59645e+01 9.29656e+01 8.99668e+01 8.69679e+01 8.39690e+01 8.09701e+01 + 7.79712e+01 7.49723e+01 7.19734e+01 6.89745e+01 6.59756e+01 6.29767e+01 + 5.99778e+01 5.69789e+01 5.39800e+01 5.09812e+01 4.79823e+01 4.49834e+01 + 4.19845e+01 3.89856e+01 3.59867e+01 3.29878e+01 2.99889e+01 2.69900e+01 + 2.39911e+01 2.09922e+01 1.79933e+01 1.49945e+01 1.19956e+01 8.99667e+00 + 5.99778e+00 2.99889e+00 0.00000e+00 + -117.6358 33.3472 3.4996 -38 89 1.00000e+10 35.6009 1.00000e-01 + 180 197.51 39 0.00 0 0.00 0 + 0.00000e+00 4.29379e+01 8.58759e+01 1.28814e+02 1.71752e+02 1.28814e+02 + 8.58759e+01 8.31923e+01 8.05086e+01 7.78250e+01 7.51414e+01 7.24578e+01 + 6.97742e+01 6.70905e+01 6.44069e+01 6.17233e+01 5.90397e+01 5.63560e+01 + 5.36724e+01 5.09888e+01 4.83052e+01 4.56216e+01 4.29379e+01 4.02543e+01 + 3.75707e+01 3.48871e+01 3.22035e+01 2.95198e+01 2.68362e+01 2.41526e+01 + 2.14690e+01 1.87854e+01 1.61017e+01 1.34181e+01 1.07345e+01 8.05086e+00 + 5.36724e+00 2.68362e+00 0.00000e+00 + -117.6424 33.3543 3.4996 -38 89 1.00000e+10 35.3264 1.00000e-01 + 180 125.79 39 0.00 0 0.00 0 + 0.00000e+00 2.73455e+01 5.46909e+01 8.20364e+01 1.09382e+02 8.20364e+01 + 5.46909e+01 5.29818e+01 5.12727e+01 4.95636e+01 4.78545e+01 4.61455e+01 + 4.44364e+01 4.27273e+01 4.10182e+01 3.93091e+01 3.76000e+01 3.58909e+01 + 3.41818e+01 3.24727e+01 3.07636e+01 2.90545e+01 2.73455e+01 2.56364e+01 + 2.39273e+01 2.22182e+01 2.05091e+01 1.88000e+01 1.70909e+01 1.53818e+01 + 1.36727e+01 1.19636e+01 1.02545e+01 8.54545e+00 6.83636e+00 5.12727e+00 + 3.41818e+00 1.70909e+00 0.00000e+00 + -117.6491 33.3614 3.4996 -38 89 1.00000e+10 35.0183 1.00000e-01 + 180 85.49 39 0.00 0 0.00 0 + 0.00000e+00 1.85853e+01 3.71706e+01 5.57559e+01 7.43412e+01 5.57559e+01 + 3.71706e+01 3.60090e+01 3.48474e+01 3.36859e+01 3.25243e+01 3.13627e+01 + 3.02011e+01 2.90395e+01 2.78779e+01 2.67164e+01 2.55548e+01 2.43932e+01 + 2.32316e+01 2.20700e+01 2.09085e+01 1.97469e+01 1.85853e+01 1.74237e+01 + 1.62621e+01 1.51006e+01 1.39390e+01 1.27774e+01 1.16158e+01 1.04542e+01 + 9.29265e+00 8.13107e+00 6.96949e+00 5.80791e+00 4.64632e+00 3.48474e+00 + 2.32316e+00 1.16158e+00 0.00000e+00 + -117.6557 33.3684 3.4996 -38 89 1.00000e+10 34.6461 1.00000e-01 + 180 108.58 39 0.00 0 0.00 0 + 0.00000e+00 2.36038e+01 4.72076e+01 7.08113e+01 9.44151e+01 7.08113e+01 + 4.72076e+01 4.57323e+01 4.42571e+01 4.27818e+01 4.13066e+01 3.98314e+01 + 3.83561e+01 3.68809e+01 3.54057e+01 3.39304e+01 3.24552e+01 3.09800e+01 + 2.95047e+01 2.80295e+01 2.65543e+01 2.50790e+01 2.36038e+01 2.21285e+01 + 2.06533e+01 1.91781e+01 1.77028e+01 1.62276e+01 1.47524e+01 1.32771e+01 + 1.18019e+01 1.03267e+01 8.85142e+00 7.37618e+00 5.90094e+00 4.42571e+00 + 2.95047e+00 1.47524e+00 0.00000e+00 + -117.6623 33.3755 3.4996 -38 89 1.00000e+10 34.2451 1.00000e-01 + 180 167.46 39 0.00 0 0.00 0 + 0.00000e+00 3.64048e+01 7.28097e+01 1.09215e+02 1.45619e+02 1.09215e+02 + 7.28097e+01 7.05344e+01 6.82591e+01 6.59838e+01 6.37085e+01 6.14332e+01 + 5.91579e+01 5.68826e+01 5.46073e+01 5.23320e+01 5.00567e+01 4.77814e+01 + 4.55061e+01 4.32308e+01 4.09554e+01 3.86801e+01 3.64048e+01 3.41295e+01 + 3.18542e+01 2.95789e+01 2.73036e+01 2.50283e+01 2.27530e+01 2.04777e+01 + 1.82024e+01 1.59271e+01 1.36518e+01 1.13765e+01 9.10121e+00 6.82591e+00 + 4.55061e+00 2.27530e+00 0.00000e+00 + -117.6690 33.3826 3.4996 -38 89 1.00000e+10 33.8288 1.00000e-01 + 180 234.54 39 0.00 0 0.00 0 + 0.00000e+00 5.09865e+01 1.01973e+02 1.52959e+02 2.03946e+02 1.52959e+02 + 1.01973e+02 9.87863e+01 9.55997e+01 9.24130e+01 8.92264e+01 8.60397e+01 + 8.28531e+01 7.96664e+01 7.64797e+01 7.32931e+01 7.01064e+01 6.69198e+01 + 6.37331e+01 6.05465e+01 5.73598e+01 5.41732e+01 5.09865e+01 4.77998e+01 + 4.46132e+01 4.14265e+01 3.82399e+01 3.50532e+01 3.18666e+01 2.86799e+01 + 2.54932e+01 2.23066e+01 1.91199e+01 1.59333e+01 1.27466e+01 9.55997e+00 + 6.37331e+00 3.18666e+00 0.00000e+00 + -117.6756 33.3897 3.4996 -38 89 1.00000e+10 33.5809 1.00000e-01 + 180 132.94 39 0.00 0 0.00 0 + 0.00000e+00 2.88996e+01 5.77992e+01 8.66988e+01 1.15598e+02 8.66988e+01 + 5.77992e+01 5.59929e+01 5.41867e+01 5.23805e+01 5.05743e+01 4.87681e+01 + 4.69618e+01 4.51556e+01 4.33494e+01 4.15432e+01 3.97369e+01 3.79307e+01 + 3.61245e+01 3.43183e+01 3.25120e+01 3.07058e+01 2.88996e+01 2.70934e+01 + 2.52871e+01 2.34809e+01 2.16747e+01 1.98685e+01 1.80622e+01 1.62560e+01 + 1.44498e+01 1.26436e+01 1.08373e+01 9.03112e+00 7.22490e+00 5.41867e+00 + 3.61245e+00 1.80622e+00 0.00000e+00 + -117.6822 33.3968 3.4996 -38 89 1.00000e+10 33.2933 1.00000e-01 + 180 73.13 39 0.00 0 0.00 0 + 0.00000e+00 1.58972e+01 3.17943e+01 4.76915e+01 6.35886e+01 4.76915e+01 + 3.17943e+01 3.08007e+01 2.98072e+01 2.88136e+01 2.78200e+01 2.68265e+01 + 2.58329e+01 2.48393e+01 2.38457e+01 2.28522e+01 2.18586e+01 2.08650e+01 + 1.98714e+01 1.88779e+01 1.78843e+01 1.68907e+01 1.58972e+01 1.49036e+01 + 1.39100e+01 1.29164e+01 1.19229e+01 1.09293e+01 9.93572e+00 8.94215e+00 + 7.94858e+00 6.95501e+00 5.96143e+00 4.96786e+00 3.97429e+00 2.98072e+00 + 1.98714e+00 9.93572e-01 0.00000e+00 + -117.6890 33.4038 3.4996 -40 89 1.00000e+10 33.0214 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.6960 33.4106 3.4996 -41 89 1.00000e+10 32.6741 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7031 33.4174 3.4996 -41 89 1.00000e+10 32.3252 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7102 33.4242 3.4996 -41 89 1.00000e+10 31.9758 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7173 33.4310 3.4996 -41 89 1.00000e+10 31.5163 1.00000e-01 + 180 116.78 39 0.00 0 0.00 0 + 0.00000e+00 2.53871e+01 5.07743e+01 7.61614e+01 1.01549e+02 7.61614e+01 + 5.07743e+01 4.91876e+01 4.76009e+01 4.60142e+01 4.44275e+01 4.28408e+01 + 4.12541e+01 3.96674e+01 3.80807e+01 3.64940e+01 3.49073e+01 3.33206e+01 + 3.17339e+01 3.01472e+01 2.85605e+01 2.69738e+01 2.53871e+01 2.38004e+01 + 2.22138e+01 2.06271e+01 1.90404e+01 1.74537e+01 1.58670e+01 1.42803e+01 + 1.26936e+01 1.11069e+01 9.52018e+00 7.93348e+00 6.34679e+00 4.76009e+00 + 3.17339e+00 1.58670e+00 0.00000e+00 + -117.7244 33.4378 3.4996 -41 89 1.00000e+10 31.0751 1.00000e-01 + 180 211.19 39 0.00 0 0.00 0 + 0.00000e+00 4.59109e+01 9.18218e+01 1.37733e+02 1.83644e+02 1.37733e+02 + 9.18218e+01 8.89524e+01 8.60829e+01 8.32135e+01 8.03441e+01 7.74747e+01 + 7.46052e+01 7.17358e+01 6.88664e+01 6.59969e+01 6.31275e+01 6.02581e+01 + 5.73886e+01 5.45192e+01 5.16498e+01 4.87803e+01 4.59109e+01 4.30415e+01 + 4.01720e+01 3.73026e+01 3.44332e+01 3.15637e+01 2.86943e+01 2.58249e+01 + 2.29555e+01 2.00860e+01 1.72166e+01 1.43472e+01 1.14777e+01 8.60829e+00 + 5.73886e+00 2.86943e+00 0.00000e+00 + -117.7315 33.4445 3.4996 -41 89 1.00000e+10 30.6547 1.00000e-01 + 180 282.23 39 0.00 0 0.00 0 + 0.00000e+00 6.13544e+01 1.22709e+02 1.84063e+02 2.45417e+02 1.84063e+02 + 1.22709e+02 1.18874e+02 1.15039e+02 1.11205e+02 1.07370e+02 1.03535e+02 + 9.97008e+01 9.58662e+01 9.20315e+01 8.81969e+01 8.43623e+01 8.05276e+01 + 7.66930e+01 7.28583e+01 6.90237e+01 6.51890e+01 6.13544e+01 5.75197e+01 + 5.36851e+01 4.98504e+01 4.60158e+01 4.21811e+01 3.83465e+01 3.45118e+01 + 3.06772e+01 2.68425e+01 2.30079e+01 1.91732e+01 1.53386e+01 1.15039e+01 + 7.66930e+00 3.83465e+00 0.00000e+00 + -117.7386 33.4513 3.4996 -41 89 1.00000e+10 30.1920 1.00000e-01 + 180 403.74 39 0.00 0 0.00 0 + 0.00000e+00 8.77702e+01 1.75540e+02 2.63311e+02 3.51081e+02 2.63311e+02 + 1.75540e+02 1.70055e+02 1.64569e+02 1.59084e+02 1.53598e+02 1.48112e+02 + 1.42627e+02 1.37141e+02 1.31655e+02 1.26170e+02 1.20684e+02 1.15198e+02 + 1.09713e+02 1.04227e+02 9.87415e+01 9.32559e+01 8.77702e+01 8.22846e+01 + 7.67989e+01 7.13133e+01 6.58277e+01 6.03420e+01 5.48564e+01 4.93707e+01 + 4.38851e+01 3.83995e+01 3.29138e+01 2.74282e+01 2.19426e+01 1.64569e+01 + 1.09713e+01 5.48564e+00 0.00000e+00 + -117.7457 33.4581 3.4996 -41 89 1.00000e+10 29.6857 1.00000e-01 + 180 560.27 39 0.00 0 0.00 0 + 0.00000e+00 1.21799e+02 2.43597e+02 3.65396e+02 4.87194e+02 3.65396e+02 + 2.43597e+02 2.35985e+02 2.28372e+02 2.20760e+02 2.13147e+02 2.05535e+02 + 1.97923e+02 1.90310e+02 1.82698e+02 1.75085e+02 1.67473e+02 1.59861e+02 + 1.52248e+02 1.44636e+02 1.37023e+02 1.29411e+02 1.21799e+02 1.14186e+02 + 1.06574e+02 9.89613e+01 9.13489e+01 8.37365e+01 7.61241e+01 6.85117e+01 + 6.08993e+01 5.32869e+01 4.56745e+01 3.80620e+01 3.04496e+01 2.28372e+01 + 1.52248e+01 7.61241e+00 0.00000e+00 + -117.7528 33.4649 3.4996 -41 89 1.00000e+10 29.2892 1.00000e-01 + 180 611.42 39 0.00 0 0.00 0 + 0.00000e+00 1.32917e+02 2.65835e+02 3.98752e+02 5.31670e+02 3.98752e+02 + 2.65835e+02 2.57528e+02 2.49220e+02 2.40913e+02 2.32606e+02 2.24298e+02 + 2.15991e+02 2.07684e+02 1.99376e+02 1.91069e+02 1.82762e+02 1.74454e+02 + 1.66147e+02 1.57840e+02 1.49532e+02 1.41225e+02 1.32917e+02 1.24610e+02 + 1.16303e+02 1.07995e+02 9.96881e+01 9.13808e+01 8.30734e+01 7.47661e+01 + 6.64587e+01 5.81514e+01 4.98441e+01 4.15367e+01 3.32294e+01 2.49220e+01 + 1.66147e+01 8.30734e+00 0.00000e+00 + -117.7599 33.4716 3.4996 -41 89 1.00000e+10 28.9899 1.00000e-01 + 180 566.32 39 0.00 0 0.00 0 + 0.00000e+00 1.23114e+02 2.46227e+02 3.69341e+02 4.92455e+02 3.69341e+02 + 2.46227e+02 2.38533e+02 2.30838e+02 2.23144e+02 2.15449e+02 2.07754e+02 + 2.00060e+02 1.92365e+02 1.84671e+02 1.76976e+02 1.69281e+02 1.61587e+02 + 1.53892e+02 1.46198e+02 1.38503e+02 1.30808e+02 1.23114e+02 1.15419e+02 + 1.07725e+02 1.00030e+02 9.23353e+01 8.46407e+01 7.69461e+01 6.92515e+01 + 6.15569e+01 5.38623e+01 4.61676e+01 3.84730e+01 3.07784e+01 2.30838e+01 + 1.53892e+01 7.69461e+00 0.00000e+00 + -117.7670 33.4784 3.4996 -41 89 1.00000e+10 28.7151 1.00000e-01 + 180 488.59 39 0.00 0 0.00 0 + 0.00000e+00 1.06215e+02 2.12429e+02 3.18644e+02 4.24859e+02 3.18644e+02 + 2.12429e+02 2.05791e+02 1.99152e+02 1.92514e+02 1.85876e+02 1.79237e+02 + 1.72599e+02 1.65960e+02 1.59322e+02 1.52684e+02 1.46045e+02 1.39407e+02 + 1.32768e+02 1.26130e+02 1.19491e+02 1.12853e+02 1.06215e+02 9.95762e+01 + 9.29378e+01 8.62994e+01 7.96610e+01 7.30226e+01 6.63842e+01 5.97457e+01 + 5.31073e+01 4.64689e+01 3.98305e+01 3.31921e+01 2.65537e+01 1.99152e+01 + 1.32768e+01 6.63842e+00 0.00000e+00 + -117.7741 33.4852 3.4996 -41 89 1.00000e+10 28.5226 1.00000e-01 + 180 332.46 39 0.00 0 0.00 0 + 0.00000e+00 7.22734e+01 1.44547e+02 2.16820e+02 2.89094e+02 2.16820e+02 + 1.44547e+02 1.40030e+02 1.35513e+02 1.30996e+02 1.26478e+02 1.21961e+02 + 1.17444e+02 1.12927e+02 1.08410e+02 1.03893e+02 9.93759e+01 9.48588e+01 + 9.03418e+01 8.58247e+01 8.13076e+01 7.67905e+01 7.22734e+01 6.77563e+01 + 6.32392e+01 5.87221e+01 5.42051e+01 4.96880e+01 4.51709e+01 4.06538e+01 + 3.61367e+01 3.16196e+01 2.71025e+01 2.25854e+01 1.80684e+01 1.35513e+01 + 9.03418e+00 4.51709e+00 0.00000e+00 + -117.7812 33.4920 3.4996 -41 89 1.00000e+10 28.4561 1.00000e-01 + 180 47.96 39 0.00 0 0.00 0 + 0.00000e+00 1.04265e+01 2.08530e+01 3.12795e+01 4.17060e+01 3.12795e+01 + 2.08530e+01 2.02014e+01 1.95497e+01 1.88980e+01 1.82464e+01 1.75947e+01 + 1.69431e+01 1.62914e+01 1.56398e+01 1.49881e+01 1.43364e+01 1.36848e+01 + 1.30331e+01 1.23815e+01 1.17298e+01 1.10782e+01 1.04265e+01 9.77485e+00 + 9.12319e+00 8.47154e+00 7.81988e+00 7.16822e+00 6.51657e+00 5.86491e+00 + 5.21325e+00 4.56160e+00 3.90994e+00 3.25828e+00 2.60663e+00 1.95497e+00 + 1.30331e+00 6.51657e-01 0.00000e+00 + -117.7883 33.4987 3.4996 -41 89 1.00000e+10 28.1615 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7955 33.5055 3.4996 -42 89 1.00000e+10 27.7420 1.00000e-01 + 180 73.36 39 0.00 0 0.00 0 + 0.00000e+00 1.59478e+01 3.18956e+01 4.78434e+01 6.37912e+01 4.78434e+01 + 3.18956e+01 3.08989e+01 2.99021e+01 2.89054e+01 2.79086e+01 2.69119e+01 + 2.59152e+01 2.49184e+01 2.39217e+01 2.29250e+01 2.19282e+01 2.09315e+01 + 1.99347e+01 1.89380e+01 1.79413e+01 1.69445e+01 1.59478e+01 1.49511e+01 + 1.39543e+01 1.29576e+01 1.19608e+01 1.09641e+01 9.96737e+00 8.97064e+00 + 7.97390e+00 6.97716e+00 5.98042e+00 4.98369e+00 3.98695e+00 2.99021e+00 + 1.99347e+00 9.96737e-01 0.00000e+00 + -117.8032 33.5118 3.4996 -49 89 1.00000e+10 27.3180 1.00000e-01 + 180 148.41 39 0.00 0 0.00 0 + 0.00000e+00 3.22634e+01 6.45268e+01 9.67902e+01 1.29054e+02 9.67902e+01 + 6.45268e+01 6.25103e+01 6.04939e+01 5.84774e+01 5.64609e+01 5.44445e+01 + 5.24280e+01 5.04116e+01 4.83951e+01 4.63786e+01 4.43622e+01 4.23457e+01 + 4.03292e+01 3.83128e+01 3.62963e+01 3.42799e+01 3.22634e+01 3.02469e+01 + 2.82305e+01 2.62140e+01 2.41975e+01 2.21811e+01 2.01646e+01 1.81482e+01 + 1.61317e+01 1.41152e+01 1.20988e+01 1.00823e+01 8.06585e+00 6.04939e+00 + 4.03292e+00 2.01646e+00 0.00000e+00 + -117.8113 33.5176 3.4996 -49 89 1.00000e+10 26.8779 1.00000e-01 + 180 239.07 39 0.00 0 0.00 0 + 0.00000e+00 5.19713e+01 1.03943e+02 1.55914e+02 2.07885e+02 1.55914e+02 + 1.03943e+02 1.00694e+02 9.74462e+01 9.41980e+01 9.09498e+01 8.77016e+01 + 8.44534e+01 8.12052e+01 7.79570e+01 7.47088e+01 7.14605e+01 6.82123e+01 + 6.49641e+01 6.17159e+01 5.84677e+01 5.52195e+01 5.19713e+01 4.87231e+01 + 4.54749e+01 4.22267e+01 3.89785e+01 3.57303e+01 3.24821e+01 2.92339e+01 + 2.59857e+01 2.27374e+01 1.94892e+01 1.62410e+01 1.29928e+01 9.74462e+00 + 6.49641e+00 3.24821e+00 0.00000e+00 + -117.8195 33.5235 3.4996 -49 89 1.00000e+10 26.4633 1.00000e-01 + 180 309.76 39 0.00 0 0.00 0 + 0.00000e+00 6.73384e+01 1.34677e+02 2.02015e+02 2.69353e+02 2.02015e+02 + 1.34677e+02 1.30468e+02 1.26259e+02 1.22051e+02 1.17842e+02 1.13633e+02 + 1.09425e+02 1.05216e+02 1.01008e+02 9.67989e+01 9.25902e+01 8.83816e+01 + 8.41729e+01 7.99643e+01 7.57557e+01 7.15470e+01 6.73384e+01 6.31297e+01 + 5.89211e+01 5.47124e+01 5.05038e+01 4.62951e+01 4.20865e+01 3.78778e+01 + 3.36692e+01 2.94605e+01 2.52519e+01 2.10432e+01 1.68346e+01 1.26259e+01 + 8.41729e+00 4.20865e+00 0.00000e+00 + -117.8277 33.5294 3.4996 -49 89 1.00000e+10 26.0958 1.00000e-01 + 180 330.02 39 0.00 0 0.00 0 + 0.00000e+00 7.17442e+01 1.43488e+02 2.15233e+02 2.86977e+02 2.15233e+02 + 1.43488e+02 1.39004e+02 1.34520e+02 1.30036e+02 1.25552e+02 1.21068e+02 + 1.16584e+02 1.12100e+02 1.07616e+02 1.03132e+02 9.86482e+01 9.41642e+01 + 8.96802e+01 8.51962e+01 8.07122e+01 7.62282e+01 7.17442e+01 6.72602e+01 + 6.27761e+01 5.82921e+01 5.38081e+01 4.93241e+01 4.48401e+01 4.03561e+01 + 3.58721e+01 3.13881e+01 2.69041e+01 2.24201e+01 1.79360e+01 1.34520e+01 + 8.96802e+00 4.48401e+00 0.00000e+00 + -117.8359 33.5353 3.4996 -49 89 1.00000e+10 25.7953 1.00000e-01 + 180 286.38 39 0.00 0 0.00 0 + 0.00000e+00 6.22570e+01 1.24514e+02 1.86771e+02 2.49028e+02 1.86771e+02 + 1.24514e+02 1.20623e+02 1.16732e+02 1.12841e+02 1.08950e+02 1.05059e+02 + 1.01168e+02 9.72766e+01 9.33855e+01 8.94945e+01 8.56034e+01 8.17123e+01 + 7.78213e+01 7.39302e+01 7.00391e+01 6.61481e+01 6.22570e+01 5.83660e+01 + 5.44749e+01 5.05838e+01 4.66928e+01 4.28017e+01 3.89106e+01 3.50196e+01 + 3.11285e+01 2.72374e+01 2.33464e+01 1.94553e+01 1.55643e+01 1.16732e+01 + 7.78213e+00 3.89106e+00 0.00000e+00 + -117.8441 33.5411 3.4996 -49 89 1.00000e+10 25.5245 1.00000e-01 + 180 205.42 39 0.00 0 0.00 0 + 0.00000e+00 4.46558e+01 8.93117e+01 1.33967e+02 1.78623e+02 1.33967e+02 + 8.93117e+01 8.65207e+01 8.37297e+01 8.09387e+01 7.81477e+01 7.53567e+01 + 7.25657e+01 6.97747e+01 6.69837e+01 6.41927e+01 6.14018e+01 5.86108e+01 + 5.58198e+01 5.30288e+01 5.02378e+01 4.74468e+01 4.46558e+01 4.18648e+01 + 3.90738e+01 3.62829e+01 3.34919e+01 3.07009e+01 2.79099e+01 2.51189e+01 + 2.23279e+01 1.95369e+01 1.67459e+01 1.39549e+01 1.11640e+01 8.37297e+00 + 5.58198e+00 2.79099e+00 0.00000e+00 + -117.8522 33.5470 3.4996 -49 89 1.00000e+10 25.1269 1.00000e-01 + 180 259.33 39 0.00 0 0.00 0 + 0.00000e+00 5.63754e+01 1.12751e+02 1.69126e+02 2.25501e+02 1.69126e+02 + 1.12751e+02 1.09227e+02 1.05704e+02 1.02180e+02 9.86569e+01 9.51334e+01 + 9.16099e+01 8.80865e+01 8.45630e+01 8.10396e+01 7.75161e+01 7.39927e+01 + 7.04692e+01 6.69457e+01 6.34223e+01 5.98988e+01 5.63754e+01 5.28519e+01 + 4.93284e+01 4.58050e+01 4.22815e+01 3.87581e+01 3.52346e+01 3.17111e+01 + 2.81877e+01 2.46642e+01 2.11408e+01 1.76173e+01 1.40938e+01 1.05704e+01 + 7.04692e+00 3.52346e+00 0.00000e+00 + -117.8604 33.5529 3.4996 -49 89 1.00000e+10 24.7151 1.00000e-01 + 180 321.18 39 0.00 0 0.00 0 + 0.00000e+00 6.98209e+01 1.39642e+02 2.09463e+02 2.79284e+02 2.09463e+02 + 1.39642e+02 1.35278e+02 1.30914e+02 1.26550e+02 1.22187e+02 1.17823e+02 + 1.13459e+02 1.09095e+02 1.04731e+02 1.00368e+02 9.60038e+01 9.16400e+01 + 8.72762e+01 8.29123e+01 7.85485e+01 7.41847e+01 6.98209e+01 6.54571e+01 + 6.10933e+01 5.67295e+01 5.23657e+01 4.80019e+01 4.36381e+01 3.92743e+01 + 3.49105e+01 3.05467e+01 2.61828e+01 2.18190e+01 1.74552e+01 1.30914e+01 + 8.72762e+00 4.36381e+00 0.00000e+00 + -117.8686 33.5587 3.4996 -49 89 1.00000e+10 24.4462 1.00000e-01 + 180 241.90 39 0.00 0 0.00 0 + 0.00000e+00 5.25873e+01 1.05175e+02 1.57762e+02 2.10349e+02 1.57762e+02 + 1.05175e+02 1.01888e+02 9.86012e+01 9.53145e+01 9.20278e+01 8.87411e+01 + 8.54544e+01 8.21677e+01 7.88810e+01 7.55943e+01 7.23076e+01 6.90209e+01 + 6.57341e+01 6.24474e+01 5.91607e+01 5.58740e+01 5.25873e+01 4.93006e+01 + 4.60139e+01 4.27272e+01 3.94405e+01 3.61538e+01 3.28671e+01 2.95804e+01 + 2.62937e+01 2.30070e+01 1.97202e+01 1.64335e+01 1.31468e+01 9.86012e+00 + 6.57341e+00 3.28671e+00 0.00000e+00 + -117.8768 33.5646 3.4996 -49 89 1.00000e+10 24.1692 1.00000e-01 + 180 175.52 39 0.00 0 0.00 0 + 0.00000e+00 3.81568e+01 7.63137e+01 1.14471e+02 1.52627e+02 1.14471e+02 + 7.63137e+01 7.39289e+01 7.15441e+01 6.91593e+01 6.67745e+01 6.43897e+01 + 6.20049e+01 5.96201e+01 5.72353e+01 5.48505e+01 5.24657e+01 5.00809e+01 + 4.76961e+01 4.53113e+01 4.29264e+01 4.05416e+01 3.81568e+01 3.57720e+01 + 3.33872e+01 3.10024e+01 2.86176e+01 2.62328e+01 2.38480e+01 2.14632e+01 + 1.90784e+01 1.66936e+01 1.43088e+01 1.19240e+01 9.53921e+00 7.15441e+00 + 4.76961e+00 2.38480e+00 0.00000e+00 + -117.8850 33.5705 3.4996 -49 89 1.00000e+10 23.7913 1.00000e-01 + 180 205.27 39 0.00 0 0.00 0 + 0.00000e+00 4.46233e+01 8.92466e+01 1.33870e+02 1.78493e+02 1.33870e+02 + 8.92466e+01 8.64577e+01 8.36687e+01 8.08798e+01 7.80908e+01 7.53018e+01 + 7.25129e+01 6.97239e+01 6.69350e+01 6.41460e+01 6.13571e+01 5.85681e+01 + 5.57791e+01 5.29902e+01 5.02012e+01 4.74123e+01 4.46233e+01 4.18344e+01 + 3.90454e+01 3.62564e+01 3.34675e+01 3.06785e+01 2.78896e+01 2.51006e+01 + 2.23117e+01 1.95227e+01 1.67337e+01 1.39448e+01 1.11558e+01 8.36687e+00 + 5.57791e+00 2.78896e+00 0.00000e+00 + -117.8932 33.5764 3.4996 -49 89 1.00000e+10 23.4711 1.00000e-01 + 180 174.47 39 0.00 0 0.00 0 + 0.00000e+00 3.79290e+01 7.58580e+01 1.13787e+02 1.51716e+02 1.13787e+02 + 7.58580e+01 7.34874e+01 7.11169e+01 6.87463e+01 6.63757e+01 6.40052e+01 + 6.16346e+01 5.92640e+01 5.68935e+01 5.45229e+01 5.21524e+01 4.97818e+01 + 4.74112e+01 4.50407e+01 4.26701e+01 4.02995e+01 3.79290e+01 3.55584e+01 + 3.31879e+01 3.08173e+01 2.84467e+01 2.60762e+01 2.37056e+01 2.13351e+01 + 1.89645e+01 1.65939e+01 1.42234e+01 1.18528e+01 9.48225e+00 7.11169e+00 + 4.74112e+00 2.37056e+00 0.00000e+00 + -117.9014 33.5822 3.4996 -49 89 1.00000e+10 23.1447 1.00000e-01 + 180 155.33 39 0.00 0 0.00 0 + 0.00000e+00 3.37682e+01 6.75363e+01 1.01305e+02 1.35073e+02 1.01305e+02 + 6.75363e+01 6.54258e+01 6.33153e+01 6.12048e+01 5.90943e+01 5.69838e+01 + 5.48733e+01 5.27628e+01 5.06523e+01 4.85417e+01 4.64312e+01 4.43207e+01 + 4.22102e+01 4.00997e+01 3.79892e+01 3.58787e+01 3.37682e+01 3.16577e+01 + 2.95471e+01 2.74366e+01 2.53261e+01 2.32156e+01 2.11051e+01 1.89946e+01 + 1.68841e+01 1.47736e+01 1.26631e+01 1.05526e+01 8.44204e+00 6.33153e+00 + 4.22102e+00 2.11051e+00 0.00000e+00 + -117.9096 33.5881 3.4996 -49 89 1.00000e+10 22.8211 1.00000e-01 + 180 130.92 39 0.00 0 0.00 0 + 0.00000e+00 2.84613e+01 5.69225e+01 8.53838e+01 1.13845e+02 8.53838e+01 + 5.69225e+01 5.51437e+01 5.33649e+01 5.15860e+01 4.98072e+01 4.80284e+01 + 4.62496e+01 4.44707e+01 4.26919e+01 4.09131e+01 3.91342e+01 3.73554e+01 + 3.55766e+01 3.37977e+01 3.20189e+01 3.02401e+01 2.84613e+01 2.66824e+01 + 2.49036e+01 2.31248e+01 2.13459e+01 1.95671e+01 1.77883e+01 1.60095e+01 + 1.42306e+01 1.24518e+01 1.06730e+01 8.89415e+00 7.11532e+00 5.33649e+00 + 3.55766e+00 1.77883e+00 0.00000e+00 + -117.9169 33.5946 3.4996 -37 89 1.00000e+10 22.5989 1.00000e-01 + 180 8.91 39 0.00 0 0.00 0 + 0.00000e+00 1.93648e+00 3.87296e+00 5.80943e+00 7.74591e+00 5.80943e+00 + 3.87296e+00 3.75193e+00 3.63090e+00 3.50987e+00 3.38884e+00 3.26781e+00 + 3.14678e+00 3.02575e+00 2.90472e+00 2.78369e+00 2.66266e+00 2.54163e+00 + 2.42060e+00 2.29957e+00 2.17854e+00 2.05751e+00 1.93648e+00 1.81545e+00 + 1.69442e+00 1.57339e+00 1.45236e+00 1.33133e+00 1.21030e+00 1.08927e+00 + 9.68239e-01 8.47209e-01 7.26179e-01 6.05149e-01 4.84119e-01 3.63090e-01 + 2.42060e-01 1.21030e-01 0.00000e+00 + -117.9234 33.6018 3.4996 -37 89 1.00000e+10 22.2594 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9299 33.6090 3.4996 -37 89 1.00000e+10 21.9097 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9365 33.6161 3.4996 -38 89 1.00000e+10 21.5580 1.00000e-01 + 180 3.84 39 0.00 0 0.00 0 + 0.00000e+00 8.34002e-01 1.66800e+00 2.50201e+00 3.33601e+00 2.50201e+00 + 1.66800e+00 1.61588e+00 1.56375e+00 1.51163e+00 1.45950e+00 1.40738e+00 + 1.35525e+00 1.30313e+00 1.25100e+00 1.19888e+00 1.14675e+00 1.09463e+00 + 1.04250e+00 9.90377e-01 9.38252e-01 8.86127e-01 8.34002e-01 7.81877e-01 + 7.29752e-01 6.77626e-01 6.25501e-01 5.73376e-01 5.21251e-01 4.69126e-01 + 4.17001e-01 3.64876e-01 3.12751e-01 2.60626e-01 2.08500e-01 1.56375e-01 + 1.04250e-01 5.21251e-02 0.00000e+00 + -117.9432 33.6232 3.4996 -39 89 1.00000e+10 21.2183 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9499 33.6302 3.4996 -39 89 1.00000e+10 20.8706 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9567 33.6372 3.4996 -39 89 1.00000e+10 20.5228 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9634 33.6443 3.4996 -39 89 1.00000e+10 20.1570 1.00000e-01 + 180 21.86 39 0.00 0 0.00 0 + 0.00000e+00 4.75155e+00 9.50309e+00 1.42546e+01 1.90062e+01 1.42546e+01 + 9.50309e+00 9.20612e+00 8.90915e+00 8.61218e+00 8.31520e+00 8.01823e+00 + 7.72126e+00 7.42429e+00 7.12732e+00 6.83035e+00 6.53337e+00 6.23640e+00 + 5.93943e+00 5.64246e+00 5.34549e+00 5.04852e+00 4.75155e+00 4.45457e+00 + 4.15760e+00 3.86063e+00 3.56366e+00 3.26669e+00 2.96972e+00 2.67274e+00 + 2.37577e+00 2.07880e+00 1.78183e+00 1.48486e+00 1.18789e+00 8.90915e-01 + 5.93943e-01 2.96972e-01 0.00000e+00 + -117.9701 33.6513 3.4996 -39 89 1.00000e+10 19.7534 1.00000e-01 + 180 75.81 39 0.00 0 0.00 0 + 0.00000e+00 1.64807e+01 3.29614e+01 4.94421e+01 6.59228e+01 4.94421e+01 + 3.29614e+01 3.19314e+01 3.09013e+01 2.98713e+01 2.88412e+01 2.78112e+01 + 2.67812e+01 2.57511e+01 2.47211e+01 2.36910e+01 2.26610e+01 2.16309e+01 + 2.06009e+01 1.95708e+01 1.85408e+01 1.75108e+01 1.64807e+01 1.54507e+01 + 1.44206e+01 1.33906e+01 1.23605e+01 1.13305e+01 1.03004e+01 9.27040e+00 + 8.24035e+00 7.21031e+00 6.18027e+00 5.15022e+00 4.12018e+00 3.09013e+00 + 2.06009e+00 1.03004e+00 0.00000e+00 + -117.9769 33.6584 3.4996 -39 89 1.00000e+10 19.2835 1.00000e-01 + 180 199.99 39 0.00 0 0.00 0 + 0.00000e+00 4.34760e+01 8.69520e+01 1.30428e+02 1.73904e+02 1.30428e+02 + 8.69520e+01 8.42347e+01 8.15175e+01 7.88002e+01 7.60830e+01 7.33657e+01 + 7.06485e+01 6.79312e+01 6.52140e+01 6.24967e+01 5.97795e+01 5.70622e+01 + 5.43450e+01 5.16277e+01 4.89105e+01 4.61932e+01 4.34760e+01 4.07587e+01 + 3.80415e+01 3.53242e+01 3.26070e+01 2.98897e+01 2.71725e+01 2.44552e+01 + 2.17380e+01 1.90207e+01 1.63035e+01 1.35862e+01 1.08690e+01 8.15174e+00 + 5.43450e+00 2.71725e+00 0.00000e+00 + -117.9836 33.6654 3.4996 -39 89 1.00000e+10 18.9275 1.00000e-01 + 180 212.47 39 0.00 0 0.00 0 + 0.00000e+00 4.61895e+01 9.23789e+01 1.38568e+02 1.84758e+02 1.38568e+02 + 9.23789e+01 8.94921e+01 8.66052e+01 8.37184e+01 8.08316e+01 7.79447e+01 + 7.50579e+01 7.21710e+01 6.92842e+01 6.63974e+01 6.35105e+01 6.06237e+01 + 5.77368e+01 5.48500e+01 5.19632e+01 4.90763e+01 4.61895e+01 4.33026e+01 + 4.04158e+01 3.75289e+01 3.46421e+01 3.17553e+01 2.88684e+01 2.59816e+01 + 2.30947e+01 2.02079e+01 1.73210e+01 1.44342e+01 1.15474e+01 8.66052e+00 + 5.77368e+00 2.88684e+00 0.00000e+00 + -117.9905 33.6723 3.4996 -41 89 1.00000e+10 18.5654 1.00000e-01 + 180 223.02 39 0.00 0 0.00 0 + 0.00000e+00 4.84827e+01 9.69653e+01 1.45448e+02 1.93931e+02 1.45448e+02 + 9.69653e+01 9.39351e+01 9.09050e+01 8.78748e+01 8.48447e+01 8.18145e+01 + 7.87843e+01 7.57542e+01 7.27240e+01 6.96938e+01 6.66637e+01 6.36335e+01 + 6.06033e+01 5.75732e+01 5.45430e+01 5.15128e+01 4.84827e+01 4.54525e+01 + 4.24223e+01 3.93922e+01 3.63620e+01 3.33318e+01 3.03017e+01 2.72715e+01 + 2.42413e+01 2.12112e+01 1.81810e+01 1.51508e+01 1.21207e+01 9.09050e+00 + 6.06033e+00 3.03017e+00 0.00000e+00 + -117.9985 33.6783 3.4996 -54 89 1.00000e+10 18.2217 1.00000e-01 + 180 219.04 39 0.00 0 0.00 0 + 0.00000e+00 4.76176e+01 9.52352e+01 1.42853e+02 1.90470e+02 1.42853e+02 + 9.52352e+01 9.22591e+01 8.92830e+01 8.63069e+01 8.33308e+01 8.03547e+01 + 7.73786e+01 7.44025e+01 7.14264e+01 6.84503e+01 6.54742e+01 6.24981e+01 + 5.95220e+01 5.65459e+01 5.35698e+01 5.05937e+01 4.76176e+01 4.46415e+01 + 4.16654e+01 3.86893e+01 3.57132e+01 3.27371e+01 2.97610e+01 2.67849e+01 + 2.38088e+01 2.08327e+01 1.78566e+01 1.48805e+01 1.19044e+01 8.92830e+00 + 5.95220e+00 2.97610e+00 0.00000e+00 + -118.0073 33.6835 3.4996 -54 89 1.00000e+10 17.9469 1.00000e-01 + 180 148.83 39 0.00 0 0.00 0 + 0.00000e+00 3.23540e+01 6.47081e+01 9.70621e+01 1.29416e+02 9.70621e+01 + 6.47081e+01 6.26859e+01 6.06638e+01 5.86417e+01 5.66195e+01 5.45974e+01 + 5.25753e+01 5.05532e+01 4.85310e+01 4.65089e+01 4.44868e+01 4.24647e+01 + 4.04425e+01 3.84204e+01 3.63983e+01 3.43762e+01 3.23540e+01 3.03319e+01 + 2.83098e+01 2.62876e+01 2.42655e+01 2.22434e+01 2.02213e+01 1.81991e+01 + 1.61770e+01 1.41549e+01 1.21328e+01 1.01106e+01 8.08851e+00 6.06638e+00 + 4.04425e+00 2.02213e+00 0.00000e+00 + -118.0161 33.6887 3.4996 -54 89 1.00000e+10 17.5741 1.00000e-01 + 180 172.35 39 0.00 0 0.00 0 + 0.00000e+00 3.74671e+01 7.49342e+01 1.12401e+02 1.49868e+02 1.12401e+02 + 7.49342e+01 7.25925e+01 7.02508e+01 6.79091e+01 6.55674e+01 6.32257e+01 + 6.08840e+01 5.85424e+01 5.62007e+01 5.38590e+01 5.15173e+01 4.91756e+01 + 4.68339e+01 4.44922e+01 4.21505e+01 3.98088e+01 3.74671e+01 3.51254e+01 + 3.27837e+01 3.04420e+01 2.81003e+01 2.57586e+01 2.34169e+01 2.10752e+01 + 1.87336e+01 1.63919e+01 1.40502e+01 1.17085e+01 9.36678e+00 7.02508e+00 + 4.68339e+00 2.34169e+00 0.00000e+00 + -118.0249 33.6940 3.4996 -54 89 1.00000e+10 17.1726 1.00000e-01 + 180 226.81 39 0.00 0 0.00 0 + 0.00000e+00 4.93057e+01 9.86115e+01 1.47917e+02 1.97223e+02 1.47917e+02 + 9.86115e+01 9.55299e+01 9.24482e+01 8.93666e+01 8.62850e+01 8.32034e+01 + 8.01218e+01 7.70402e+01 7.39586e+01 7.08770e+01 6.77954e+01 6.47138e+01 + 6.16322e+01 5.85506e+01 5.54690e+01 5.23873e+01 4.93057e+01 4.62241e+01 + 4.31425e+01 4.00609e+01 3.69793e+01 3.38977e+01 3.08161e+01 2.77345e+01 + 2.46529e+01 2.15713e+01 1.84897e+01 1.54080e+01 1.23264e+01 9.24483e+00 + 6.16322e+00 3.08161e+00 0.00000e+00 + -118.0337 33.6992 3.4996 -54 89 1.00000e+10 16.7798 1.00000e-01 + 180 273.24 39 0.00 0 0.00 0 + 0.00000e+00 5.93991e+01 1.18798e+02 1.78197e+02 2.37596e+02 1.78197e+02 + 1.18798e+02 1.15086e+02 1.11373e+02 1.07661e+02 1.03948e+02 1.00236e+02 + 9.65236e+01 9.28111e+01 8.90987e+01 8.53862e+01 8.16738e+01 7.79613e+01 + 7.42489e+01 7.05364e+01 6.68240e+01 6.31116e+01 5.93991e+01 5.56867e+01 + 5.19742e+01 4.82618e+01 4.45493e+01 4.08369e+01 3.71244e+01 3.34120e+01 + 2.96996e+01 2.59871e+01 2.22747e+01 1.85622e+01 1.48498e+01 1.11373e+01 + 7.42489e+00 3.71244e+00 0.00000e+00 + -118.0424 33.7045 3.4996 -53 89 1.00000e+10 16.5331 1.00000e-01 + 180 173.36 39 0.00 0 0.00 0 + 0.00000e+00 3.76871e+01 7.53742e+01 1.13061e+02 1.50748e+02 1.13061e+02 + 7.53742e+01 7.30188e+01 7.06633e+01 6.83079e+01 6.59524e+01 6.35970e+01 + 6.12415e+01 5.88861e+01 5.65306e+01 5.41752e+01 5.18198e+01 4.94643e+01 + 4.71089e+01 4.47534e+01 4.23980e+01 4.00425e+01 3.76871e+01 3.53317e+01 + 3.29762e+01 3.06208e+01 2.82653e+01 2.59099e+01 2.35544e+01 2.11990e+01 + 1.88435e+01 1.64881e+01 1.41327e+01 1.17772e+01 9.42177e+00 7.06633e+00 + 4.71089e+00 2.35544e+00 0.00000e+00 + -118.0508 33.7101 3.4996 -50 89 1.00000e+10 16.2932 1.00000e-01 + 180 63.99 39 0.00 0 0.00 0 + 0.00000e+00 1.39099e+01 2.78197e+01 4.17296e+01 5.56394e+01 4.17296e+01 + 2.78197e+01 2.69504e+01 2.60810e+01 2.52116e+01 2.43423e+01 2.34729e+01 + 2.26035e+01 2.17342e+01 2.08648e+01 1.99954e+01 1.91261e+01 1.82567e+01 + 1.73873e+01 1.65180e+01 1.56486e+01 1.47792e+01 1.39099e+01 1.30405e+01 + 1.21711e+01 1.13018e+01 1.04324e+01 9.56303e+00 8.69366e+00 7.82430e+00 + 6.95493e+00 6.08556e+00 5.21620e+00 4.34683e+00 3.47746e+00 2.60810e+00 + 1.73873e+00 8.69366e-01 0.00000e+00 + -118.0590 33.7160 3.4996 -48 89 1.00000e+10 16.0134 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.0658 33.7228 3.4996 -31 89 1.00000e+10 15.6661 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.0714 33.7305 3.4996 -31 89 1.00000e+10 15.2621 1.00000e-01 + 180 59.07 39 0.00 0 0.00 0 + 0.00000e+00 1.28412e+01 2.56824e+01 3.85236e+01 5.13648e+01 3.85236e+01 + 2.56824e+01 2.48798e+01 2.40772e+01 2.32747e+01 2.24721e+01 2.16695e+01 + 2.08669e+01 2.00644e+01 1.92618e+01 1.84592e+01 1.76566e+01 1.68541e+01 + 1.60515e+01 1.52489e+01 1.44463e+01 1.36438e+01 1.28412e+01 1.20386e+01 + 1.12360e+01 1.04335e+01 9.63090e+00 8.82832e+00 8.02575e+00 7.22317e+00 + 6.42060e+00 5.61802e+00 4.81545e+00 4.01287e+00 3.21030e+00 2.40772e+00 + 1.60515e+00 8.02575e-01 0.00000e+00 + -118.0780 33.7376 3.4996 -44 89 1.00000e+10 14.7650 1.00000e-01 + 180 213.12 39 0.00 0 0.00 0 + 0.00000e+00 4.63302e+01 9.26603e+01 1.38990e+02 1.85321e+02 1.38990e+02 + 9.26603e+01 8.97647e+01 8.68690e+01 8.39734e+01 8.10778e+01 7.81821e+01 + 7.52865e+01 7.23909e+01 6.94952e+01 6.65996e+01 6.37040e+01 6.08083e+01 + 5.79127e+01 5.50171e+01 5.21214e+01 4.92258e+01 4.63302e+01 4.34345e+01 + 4.05389e+01 3.76433e+01 3.47476e+01 3.18520e+01 2.89564e+01 2.60607e+01 + 2.31651e+01 2.02694e+01 1.73738e+01 1.44782e+01 1.15825e+01 8.68690e+00 + 5.79127e+00 2.89564e+00 0.00000e+00 + -118.0857 33.7439 3.4996 -47 89 1.00000e+10 14.3523 1.00000e-01 + 180 274.89 39 0.00 0 0.00 0 + 0.00000e+00 5.97591e+01 1.19518e+02 1.79277e+02 2.39036e+02 1.79277e+02 + 1.19518e+02 1.15783e+02 1.12048e+02 1.08313e+02 1.04578e+02 1.00843e+02 + 9.71085e+01 9.33736e+01 8.96386e+01 8.59037e+01 8.21688e+01 7.84338e+01 + 7.46989e+01 7.09639e+01 6.72290e+01 6.34940e+01 5.97591e+01 5.60242e+01 + 5.22892e+01 4.85543e+01 4.48193e+01 4.10844e+01 3.73494e+01 3.36145e+01 + 2.98795e+01 2.61446e+01 2.24097e+01 1.86747e+01 1.49398e+01 1.12048e+01 + 7.46989e+00 3.73494e+00 0.00000e+00 + -118.0936 33.7500 3.4996 -47 89 1.00000e+10 13.9488 1.00000e-01 + 180 331.98 39 0.00 0 0.00 0 + 0.00000e+00 7.21706e+01 1.44341e+02 2.16512e+02 2.88682e+02 2.16512e+02 + 1.44341e+02 1.39831e+02 1.35320e+02 1.30809e+02 1.26299e+02 1.21788e+02 + 1.17277e+02 1.12767e+02 1.08256e+02 1.03745e+02 9.92346e+01 9.47239e+01 + 9.02132e+01 8.57026e+01 8.11919e+01 7.66813e+01 7.21706e+01 6.76599e+01 + 6.31493e+01 5.86386e+01 5.41280e+01 4.96173e+01 4.51066e+01 4.05960e+01 + 3.60853e+01 3.15746e+01 2.70640e+01 2.25533e+01 1.80427e+01 1.35320e+01 + 9.02133e+00 4.51066e+00 0.00000e+00 + -118.1016 33.7561 3.4996 -47 89 1.00000e+10 13.6310 1.00000e-01 + 180 307.84 39 0.00 0 0.00 0 + 0.00000e+00 6.69209e+01 1.33842e+02 2.00763e+02 2.67684e+02 2.00763e+02 + 1.33842e+02 1.29659e+02 1.25477e+02 1.21294e+02 1.17112e+02 1.12929e+02 + 1.08746e+02 1.04564e+02 1.00381e+02 9.61988e+01 9.20163e+01 8.78337e+01 + 8.36511e+01 7.94686e+01 7.52860e+01 7.11035e+01 6.69209e+01 6.27383e+01 + 5.85558e+01 5.43732e+01 5.01907e+01 4.60081e+01 4.18256e+01 3.76430e+01 + 3.34605e+01 2.92779e+01 2.50953e+01 2.09128e+01 1.67302e+01 1.25477e+01 + 8.36511e+00 4.18256e+00 0.00000e+00 + -118.1095 33.7622 3.4996 -47 89 1.00000e+10 13.2826 1.00000e-01 + 180 309.98 39 0.00 0 0.00 0 + 0.00000e+00 6.73876e+01 1.34775e+02 2.02163e+02 2.69550e+02 2.02163e+02 + 1.34775e+02 1.30563e+02 1.26352e+02 1.22140e+02 1.17928e+02 1.13717e+02 + 1.09505e+02 1.05293e+02 1.01081e+02 9.68697e+01 9.26579e+01 8.84462e+01 + 8.42345e+01 8.00228e+01 7.58110e+01 7.15993e+01 6.73876e+01 6.31759e+01 + 5.89641e+01 5.47524e+01 5.05407e+01 4.63290e+01 4.21172e+01 3.79055e+01 + 3.36938e+01 2.94821e+01 2.52703e+01 2.10586e+01 1.68469e+01 1.26352e+01 + 8.42345e+00 4.21172e+00 0.00000e+00 + -118.1178 33.7680 3.4996 -52 89 1.00000e+10 12.8057 1.00000e-01 + 180 438.90 39 0.00 0 0.00 0 + 0.00000e+00 9.54136e+01 1.90827e+02 2.86241e+02 3.81655e+02 2.86241e+02 + 1.90827e+02 1.84864e+02 1.78901e+02 1.72937e+02 1.66974e+02 1.61010e+02 + 1.55047e+02 1.49084e+02 1.43120e+02 1.37157e+02 1.31194e+02 1.25230e+02 + 1.19267e+02 1.13304e+02 1.07340e+02 1.01377e+02 9.54136e+01 8.94503e+01 + 8.34869e+01 7.75236e+01 7.15602e+01 6.55969e+01 5.96335e+01 5.36702e+01 + 4.77068e+01 4.17435e+01 3.57801e+01 2.98168e+01 2.38534e+01 1.78901e+01 + 1.19267e+01 5.96335e+00 0.00000e+00 + -118.1263 33.7736 3.4996 -52 89 1.00000e+10 12.4147 1.00000e-01 + 180 484.52 39 0.00 0 0.00 0 + 0.00000e+00 1.05330e+02 2.10661e+02 3.15991e+02 4.21321e+02 3.15991e+02 + 2.10661e+02 2.04078e+02 1.97494e+02 1.90911e+02 1.84328e+02 1.77745e+02 + 1.71162e+02 1.64579e+02 1.57996e+02 1.51412e+02 1.44829e+02 1.38246e+02 + 1.31663e+02 1.25080e+02 1.18497e+02 1.11913e+02 1.05330e+02 9.87472e+01 + 9.21641e+01 8.55809e+01 7.89978e+01 7.24146e+01 6.58315e+01 5.92483e+01 + 5.26652e+01 4.60820e+01 3.94989e+01 3.29157e+01 2.63326e+01 1.97494e+01 + 1.31663e+01 6.58315e+00 0.00000e+00 + -118.1348 33.7791 3.4996 -52 89 1.00000e+10 12.0458 1.00000e-01 + 180 508.88 39 0.00 0 0.00 0 + 0.00000e+00 1.10625e+02 2.21250e+02 3.31875e+02 4.42500e+02 3.31875e+02 + 2.21250e+02 2.14336e+02 2.07422e+02 2.00508e+02 1.93594e+02 1.86680e+02 + 1.79766e+02 1.72852e+02 1.65938e+02 1.59024e+02 1.52109e+02 1.45195e+02 + 1.38281e+02 1.31367e+02 1.24453e+02 1.17539e+02 1.10625e+02 1.03711e+02 + 9.67970e+01 8.98829e+01 8.29688e+01 7.60547e+01 6.91407e+01 6.22266e+01 + 5.53125e+01 4.83985e+01 4.14844e+01 3.45703e+01 2.76563e+01 2.07422e+01 + 1.38281e+01 6.91407e+00 0.00000e+00 + -118.1433 33.7847 3.4996 -52 89 1.00000e+10 11.6898 1.00000e-01 + 180 523.21 39 0.00 0 0.00 0 + 0.00000e+00 1.13741e+02 2.27483e+02 3.41224e+02 4.54965e+02 3.41224e+02 + 2.27483e+02 2.20374e+02 2.13265e+02 2.06156e+02 1.99047e+02 1.91939e+02 + 1.84830e+02 1.77721e+02 1.70612e+02 1.63503e+02 1.56394e+02 1.49286e+02 + 1.42177e+02 1.35068e+02 1.27959e+02 1.20850e+02 1.13741e+02 1.06633e+02 + 9.95237e+01 9.24149e+01 8.53060e+01 7.81972e+01 7.10883e+01 6.39795e+01 + 5.68707e+01 4.97618e+01 4.26530e+01 3.55442e+01 2.84353e+01 2.13265e+01 + 1.42177e+01 7.10884e+00 0.00000e+00 + -118.1518 33.7903 3.4996 -51 89 1.00000e+10 11.2724 1.00000e-01 + 180 590.61 39 0.00 0 0.00 0 + 0.00000e+00 1.28393e+02 2.56786e+02 3.85180e+02 5.13573e+02 3.85180e+02 + 2.56786e+02 2.48762e+02 2.40737e+02 2.32713e+02 2.24688e+02 2.16664e+02 + 2.08639e+02 2.00614e+02 1.92590e+02 1.84565e+02 1.76541e+02 1.68516e+02 + 1.60492e+02 1.52467e+02 1.44442e+02 1.36418e+02 1.28393e+02 1.20369e+02 + 1.12344e+02 1.04319e+02 9.62949e+01 8.82703e+01 8.02458e+01 7.22212e+01 + 6.41966e+01 5.61720e+01 4.81475e+01 4.01229e+01 3.20983e+01 2.40737e+01 + 1.60492e+01 8.02458e+00 0.00000e+00 + -118.1602 33.7960 3.4996 -50 89 1.00000e+10 10.9423 1.00000e-01 + 180 579.42 39 0.00 0 0.00 0 + 0.00000e+00 1.25960e+02 2.51920e+02 3.77880e+02 5.03839e+02 3.77880e+02 + 2.51920e+02 2.44047e+02 2.36175e+02 2.28302e+02 2.20430e+02 2.12557e+02 + 2.04685e+02 1.96812e+02 1.88940e+02 1.81067e+02 1.73195e+02 1.65322e+02 + 1.57450e+02 1.49577e+02 1.41705e+02 1.33832e+02 1.25960e+02 1.18087e+02 + 1.10215e+02 1.02342e+02 9.44699e+01 8.65974e+01 7.87249e+01 7.08524e+01 + 6.29799e+01 5.51074e+01 4.72349e+01 3.93625e+01 3.14900e+01 2.36175e+01 + 1.57450e+01 7.87249e+00 0.00000e+00 + -118.1685 33.8017 3.4996 -50 89 1.00000e+10 10.7790 1.00000e-01 + 180 395.46 39 0.00 0 0.00 0 + 0.00000e+00 8.59699e+01 1.71940e+02 2.57910e+02 3.43880e+02 2.57910e+02 + 1.71940e+02 1.66567e+02 1.61194e+02 1.55821e+02 1.50447e+02 1.45074e+02 + 1.39701e+02 1.34328e+02 1.28955e+02 1.23582e+02 1.18209e+02 1.12836e+02 + 1.07462e+02 1.02089e+02 9.67162e+01 9.13431e+01 8.59699e+01 8.05968e+01 + 7.52237e+01 6.98506e+01 6.44775e+01 5.91043e+01 5.37312e+01 4.83581e+01 + 4.29850e+01 3.76119e+01 3.22387e+01 2.68656e+01 2.14925e+01 1.61194e+01 + 1.07462e+01 5.37312e+00 0.00000e+00 + -118.1768 33.8075 3.4996 -50 89 1.00000e+10 10.4775 1.00000e-01 + 180 351.42 39 0.00 0 0.00 0 + 0.00000e+00 7.63955e+01 1.52791e+02 2.29186e+02 3.05582e+02 2.29186e+02 + 1.52791e+02 1.48016e+02 1.43241e+02 1.38467e+02 1.33692e+02 1.28917e+02 + 1.24143e+02 1.19368e+02 1.14593e+02 1.09818e+02 1.05044e+02 1.00269e+02 + 9.54943e+01 9.07196e+01 8.59449e+01 8.11702e+01 7.63955e+01 7.16207e+01 + 6.68460e+01 6.20713e+01 5.72966e+01 5.25219e+01 4.77472e+01 4.29724e+01 + 3.81977e+01 3.34230e+01 2.86483e+01 2.38736e+01 1.90989e+01 1.43241e+01 + 9.54943e+00 4.77472e+00 0.00000e+00 + -118.1852 33.8132 3.4996 -50 89 1.00000e+10 10.1479 1.00000e-01 + 180 343.97 39 0.00 0 0.00 0 + 0.00000e+00 7.47764e+01 1.49553e+02 2.24329e+02 2.99106e+02 2.24329e+02 + 1.49553e+02 1.44879e+02 1.40206e+02 1.35532e+02 1.30859e+02 1.26185e+02 + 1.21512e+02 1.16838e+02 1.12165e+02 1.07491e+02 1.02818e+02 9.81441e+01 + 9.34706e+01 8.87970e+01 8.41235e+01 7.94500e+01 7.47764e+01 7.01029e+01 + 6.54294e+01 6.07559e+01 5.60823e+01 5.14088e+01 4.67353e+01 4.20617e+01 + 3.73882e+01 3.27147e+01 2.80412e+01 2.33676e+01 1.86941e+01 1.40206e+01 + 9.34705e+00 4.67353e+00 0.00000e+00 + -118.1936 33.8189 3.4996 -50 89 1.00000e+10 9.7902 1.00000e-01 + 180 358.64 39 0.00 0 0.00 0 + 0.00000e+00 7.79661e+01 1.55932e+02 2.33898e+02 3.11864e+02 2.33898e+02 + 1.55932e+02 1.51059e+02 1.46186e+02 1.41314e+02 1.36441e+02 1.31568e+02 + 1.26695e+02 1.21822e+02 1.16949e+02 1.12076e+02 1.07203e+02 1.02330e+02 + 9.74576e+01 9.25847e+01 8.77119e+01 8.28390e+01 7.79661e+01 7.30932e+01 + 6.82203e+01 6.33474e+01 5.84746e+01 5.36017e+01 4.87288e+01 4.38559e+01 + 3.89830e+01 3.41102e+01 2.92373e+01 2.43644e+01 1.94915e+01 1.46186e+01 + 9.74576e+00 4.87288e+00 0.00000e+00 + -118.2019 33.8247 3.4996 -50 89 1.00000e+10 9.5127 1.00000e-01 + 180 293.49 39 0.00 0 0.00 0 + 0.00000e+00 6.38026e+01 1.27605e+02 1.91408e+02 2.55210e+02 1.91408e+02 + 1.27605e+02 1.23618e+02 1.19630e+02 1.15642e+02 1.11655e+02 1.07667e+02 + 1.03679e+02 9.96915e+01 9.57039e+01 9.17162e+01 8.77286e+01 8.37409e+01 + 7.97532e+01 7.57656e+01 7.17779e+01 6.77903e+01 6.38026e+01 5.98149e+01 + 5.58273e+01 5.18396e+01 4.78519e+01 4.38643e+01 3.98766e+01 3.58890e+01 + 3.19013e+01 2.79136e+01 2.39260e+01 1.99383e+01 1.59506e+01 1.19630e+01 + 7.97532e+00 3.98766e+00 0.00000e+00 + -118.2101 33.8305 3.4996 -49 89 1.00000e+10 9.2070 1.00000e-01 + 180 256.66 39 0.00 0 0.00 0 + 0.00000e+00 5.57946e+01 1.11589e+02 1.67384e+02 2.23179e+02 1.67384e+02 + 1.11589e+02 1.08102e+02 1.04615e+02 1.01128e+02 9.76406e+01 9.41535e+01 + 9.06663e+01 8.71791e+01 8.36920e+01 8.02048e+01 7.67176e+01 7.32305e+01 + 6.97433e+01 6.62561e+01 6.27690e+01 5.92818e+01 5.57946e+01 5.23075e+01 + 4.88203e+01 4.53331e+01 4.18460e+01 3.83588e+01 3.48717e+01 3.13845e+01 + 2.78973e+01 2.44102e+01 2.09230e+01 1.74358e+01 1.39487e+01 1.04615e+01 + 6.97433e+00 3.48717e+00 0.00000e+00 + -118.2186 33.8362 3.4996 -54 89 1.00000e+10 8.8436 1.00000e-01 + 180 283.50 39 0.00 0 0.00 0 + 0.00000e+00 6.16307e+01 1.23261e+02 1.84892e+02 2.46523e+02 1.84892e+02 + 1.23261e+02 1.19410e+02 1.15558e+02 1.11706e+02 1.07854e+02 1.04002e+02 + 1.00150e+02 9.62980e+01 9.24461e+01 8.85942e+01 8.47423e+01 8.08903e+01 + 7.70384e+01 7.31865e+01 6.93346e+01 6.54827e+01 6.16307e+01 5.77788e+01 + 5.39269e+01 5.00750e+01 4.62231e+01 4.23711e+01 3.85192e+01 3.46673e+01 + 3.08154e+01 2.69634e+01 2.31115e+01 1.92596e+01 1.54077e+01 1.15558e+01 + 7.70384e+00 3.85192e+00 0.00000e+00 + -118.2273 33.8414 3.4996 -54 89 1.00000e+10 8.5938 1.00000e-01 + 180 195.44 39 0.00 0 0.00 0 + 0.00000e+00 4.24861e+01 8.49722e+01 1.27458e+02 1.69944e+02 1.27458e+02 + 8.49722e+01 8.23168e+01 7.96614e+01 7.70060e+01 7.43506e+01 7.16953e+01 + 6.90399e+01 6.63845e+01 6.37291e+01 6.10737e+01 5.84184e+01 5.57630e+01 + 5.31076e+01 5.04522e+01 4.77968e+01 4.51415e+01 4.24861e+01 3.98307e+01 + 3.71753e+01 3.45199e+01 3.18646e+01 2.92092e+01 2.65538e+01 2.38984e+01 + 2.12430e+01 1.85877e+01 1.59323e+01 1.32769e+01 1.06215e+01 7.96614e+00 + 5.31076e+00 2.65538e+00 0.00000e+00 + -118.2347 33.8479 3.4996 -33 89 1.00000e+10 8.4148 1.00000e-01 + 180 33.39 39 0.00 0 0.00 0 + 0.00000e+00 7.25925e+00 1.45185e+01 2.17777e+01 2.90370e+01 2.17777e+01 + 1.45185e+01 1.40648e+01 1.36111e+01 1.31574e+01 1.27037e+01 1.22500e+01 + 1.17963e+01 1.13426e+01 1.08889e+01 1.04352e+01 9.98146e+00 9.52776e+00 + 9.07406e+00 8.62035e+00 8.16665e+00 7.71295e+00 7.25925e+00 6.80554e+00 + 6.35184e+00 5.89814e+00 5.44443e+00 4.99073e+00 4.53703e+00 4.08333e+00 + 3.62962e+00 3.17592e+00 2.72222e+00 2.26851e+00 1.81481e+00 1.36111e+00 + 9.07406e-01 4.53703e-01 0.00000e+00 + -118.2406 33.8554 3.4996 -33 89 1.00000e+10 8.1199 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2465 33.8630 3.4996 -33 89 1.00000e+10 7.7847 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2524 33.8705 3.4996 -33 89 1.00000e+10 7.4517 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2583 33.8780 3.4996 -33 89 1.00000e+10 7.1277 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2644 33.8855 3.4996 -35 89 1.00000e+10 6.8018 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2707 33.8928 3.4996 -36 89 1.00000e+10 6.4830 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2771 33.9000 3.4996 -36 89 1.00000e+10 6.1664 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2836 33.9073 3.4996 -36 89 1.00000e+10 5.8561 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2899 33.9146 3.4996 -35 89 1.00000e+10 5.5518 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2960 33.9220 3.4996 -34 89 1.00000e+10 5.2524 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3028 33.9286 3.4996 -47 89 1.00000e+10 4.9623 1.00000e-01 + 180 0.00 39 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3119 33.9325 3.4996 -78 89 1.00000e+10 4.5646 1.00000e-01 + 180 117.81 39 0.00 0 0.00 0 + 0.00000e+00 2.56102e+01 5.12204e+01 7.68306e+01 1.02441e+02 7.68306e+01 + 5.12204e+01 4.96198e+01 4.80191e+01 4.64185e+01 4.48179e+01 4.32172e+01 + 4.16166e+01 4.00159e+01 3.84153e+01 3.68147e+01 3.52140e+01 3.36134e+01 + 3.20128e+01 3.04121e+01 2.88115e+01 2.72108e+01 2.56102e+01 2.40096e+01 + 2.24089e+01 2.08083e+01 1.92077e+01 1.76070e+01 1.60064e+01 1.44057e+01 + 1.28051e+01 1.12045e+01 9.60383e+00 8.00319e+00 6.40255e+00 4.80191e+00 + 3.20128e+00 1.60064e+00 0.00000e+00 + -118.3201 33.9371 3.4996 -33 89 1.00000e+10 4.2387 1.00000e-01 + 180 174.67 39 0.00 0 0.00 0 + 0.00000e+00 3.79727e+01 7.59454e+01 1.13918e+02 1.51891e+02 1.13918e+02 + 7.59454e+01 7.35721e+01 7.11988e+01 6.88255e+01 6.64522e+01 6.40789e+01 + 6.17057e+01 5.93324e+01 5.69591e+01 5.45858e+01 5.22125e+01 4.98392e+01 + 4.74659e+01 4.50926e+01 4.27193e+01 4.03460e+01 3.79727e+01 3.55994e+01 + 3.32261e+01 3.08528e+01 2.84795e+01 2.61062e+01 2.37329e+01 2.13596e+01 + 1.89864e+01 1.66131e+01 1.42398e+01 1.18665e+01 9.49318e+00 7.11988e+00 + 4.74659e+00 2.37329e+00 0.00000e+00 + -118.3258 33.9446 3.4996 -32 89 1.00000e+10 3.9680 1.00000e-01 + 180 191.05 39 0.00 0 0.00 0 + 0.00000e+00 4.15319e+01 8.30639e+01 1.24596e+02 1.66128e+02 1.24596e+02 + 8.30639e+01 8.04681e+01 7.78724e+01 7.52766e+01 7.26809e+01 7.00851e+01 + 6.74894e+01 6.48936e+01 6.22979e+01 5.97021e+01 5.71064e+01 5.45107e+01 + 5.19149e+01 4.93192e+01 4.67234e+01 4.41277e+01 4.15319e+01 3.89362e+01 + 3.63404e+01 3.37447e+01 3.11489e+01 2.85532e+01 2.59575e+01 2.33617e+01 + 2.07660e+01 1.81702e+01 1.55745e+01 1.29787e+01 1.03830e+01 7.78724e+00 + 5.19149e+00 2.59575e+00 0.00000e+00 + -118.3332 33.9510 3.4996 -56 89 1.00000e+10 3.7939 1.00000e-01 + 180 124.28 39 0.00 0 0.00 0 + 0.00000e+00 2.70183e+01 5.40365e+01 8.10548e+01 1.08073e+02 8.10548e+01 + 5.40365e+01 5.23479e+01 5.06592e+01 4.89706e+01 4.72819e+01 4.55933e+01 + 4.39047e+01 4.22160e+01 4.05274e+01 3.88387e+01 3.71501e+01 3.54615e+01 + 3.37728e+01 3.20842e+01 3.03955e+01 2.87069e+01 2.70183e+01 2.53296e+01 + 2.36410e+01 2.19523e+01 2.02637e+01 1.85751e+01 1.68864e+01 1.51978e+01 + 1.35091e+01 1.18205e+01 1.01318e+01 8.44320e+00 6.75456e+00 5.06592e+00 + 3.37728e+00 1.68864e+00 0.00000e+00 + -118.3422 33.9560 3.4996 -56 89 1.00000e+10 3.5791 1.00000e-01 + 180 119.05 39 0.00 0 0.00 0 + 0.00000e+00 2.58802e+01 5.17603e+01 7.76405e+01 1.03521e+02 7.76405e+01 + 5.17603e+01 5.01428e+01 4.85253e+01 4.69078e+01 4.52903e+01 4.36728e+01 + 4.20553e+01 4.04378e+01 3.88203e+01 3.72027e+01 3.55852e+01 3.39677e+01 + 3.23502e+01 3.07327e+01 2.91152e+01 2.74977e+01 2.58802e+01 2.42627e+01 + 2.26451e+01 2.10276e+01 1.94101e+01 1.77926e+01 1.61751e+01 1.45576e+01 + 1.29401e+01 1.13226e+01 9.70506e+00 8.08755e+00 6.47004e+00 4.85253e+00 + 3.23502e+00 1.61751e+00 0.00000e+00 + -118.3500 33.9617 3.4996 -42 89 1.00000e+10 3.3847 1.00000e-01 + 180 117.70 39 0.00 0 0.00 0 + 0.00000e+00 2.55861e+01 5.11722e+01 7.67583e+01 1.02344e+02 7.67583e+01 + 5.11722e+01 4.95731e+01 4.79739e+01 4.63748e+01 4.47757e+01 4.31766e+01 + 4.15774e+01 3.99783e+01 3.83792e+01 3.67800e+01 3.51809e+01 3.35818e+01 + 3.19826e+01 3.03835e+01 2.87844e+01 2.71852e+01 2.55861e+01 2.39870e+01 + 2.23878e+01 2.07887e+01 1.91896e+01 1.75904e+01 1.59913e+01 1.43922e+01 + 1.27931e+01 1.11939e+01 9.59479e+00 7.99566e+00 6.39653e+00 4.79739e+00 + 3.19826e+00 1.59913e+00 0.00000e+00 + -118.3546 33.9692 3.4996 -12 89 1.00000e+10 3.2786 1.00000e-01 + 180 53.53 39 0.00 0 0.00 0 + 0.00000e+00 1.16379e+01 2.32758e+01 3.49136e+01 4.65515e+01 3.49136e+01 + 2.32758e+01 2.25484e+01 2.18210e+01 2.10937e+01 2.03663e+01 1.96389e+01 + 1.89116e+01 1.81842e+01 1.74568e+01 1.67294e+01 1.60021e+01 1.52747e+01 + 1.45473e+01 1.38200e+01 1.30926e+01 1.23652e+01 1.16379e+01 1.09105e+01 + 1.01831e+01 9.45578e+00 8.72841e+00 8.00104e+00 7.27367e+00 6.54631e+00 + 5.81894e+00 5.09157e+00 4.36420e+00 3.63684e+00 2.90947e+00 2.18210e+00 + 1.45473e+00 7.27367e-01 0.00000e+00 + -118.3569 33.9780 3.4996 -12 89 1.00000e+10 3.1499 1.00000e-01 + 180 46.07 39 0.00 0 0.00 0 + 0.00000e+00 1.00143e+01 2.00286e+01 3.00429e+01 4.00571e+01 3.00429e+01 + 2.00286e+01 1.94027e+01 1.87768e+01 1.81509e+01 1.75250e+01 1.68991e+01 + 1.62732e+01 1.56473e+01 1.50214e+01 1.43955e+01 1.37696e+01 1.31437e+01 + 1.25179e+01 1.18920e+01 1.12661e+01 1.06402e+01 1.00143e+01 9.38839e+00 + 8.76250e+00 8.13661e+00 7.51071e+00 6.88482e+00 6.25893e+00 5.63303e+00 + 5.00714e+00 4.38125e+00 3.75536e+00 3.12946e+00 2.50357e+00 1.87768e+00 + 1.25179e+00 6.25893e-01 0.00000e+00 + -118.3595 33.9867 3.4996 -15 89 1.00000e+10 3.0321 1.00000e-01 + 180 60.79 39 0.00 0 0.00 0 + 0.00000e+00 1.32155e+01 2.64311e+01 3.96466e+01 5.28622e+01 3.96466e+01 + 2.64311e+01 2.56051e+01 2.47791e+01 2.39532e+01 2.31272e+01 2.23012e+01 + 2.14753e+01 2.06493e+01 1.98233e+01 1.89973e+01 1.81714e+01 1.73454e+01 + 1.65194e+01 1.56935e+01 1.48675e+01 1.40415e+01 1.32155e+01 1.23896e+01 + 1.15636e+01 1.07376e+01 9.91166e+00 9.08569e+00 8.25972e+00 7.43374e+00 + 6.60777e+00 5.78180e+00 4.95583e+00 4.12986e+00 3.30389e+00 2.47791e+00 + 1.65194e+00 8.25971e-01 0.00000e+00 + -118.3630 33.9952 3.4996 -23 89 1.00000e+10 2.9773 1.00000e-01 + 180 52.81 39 0.00 0 0.00 0 + 0.00000e+00 1.14801e+01 2.29603e+01 3.44404e+01 4.59205e+01 3.44404e+01 + 2.29603e+01 2.22428e+01 2.15252e+01 2.08077e+01 2.00902e+01 1.93727e+01 + 1.86552e+01 1.79377e+01 1.72202e+01 1.65027e+01 1.57852e+01 1.50677e+01 + 1.43502e+01 1.36327e+01 1.29151e+01 1.21976e+01 1.14801e+01 1.07626e+01 + 1.00451e+01 9.32760e+00 8.61010e+00 7.89259e+00 7.17508e+00 6.45757e+00 + 5.74006e+00 5.02256e+00 4.30505e+00 3.58754e+00 2.87003e+00 2.15252e+00 + 1.43502e+00 7.17508e-01 0.00000e+00 + -118.3673 34.0035 3.4996 -24 89 1.00000e+10 2.9744 1.00000e-01 + 180 34.63 39 0.00 0 0.00 0 + 0.00000e+00 7.52866e+00 1.50573e+01 2.25860e+01 3.01146e+01 2.25860e+01 + 1.50573e+01 1.45868e+01 1.41162e+01 1.36457e+01 1.31752e+01 1.27046e+01 + 1.22341e+01 1.17635e+01 1.12930e+01 1.08225e+01 1.03519e+01 9.88137e+00 + 9.41083e+00 8.94029e+00 8.46974e+00 7.99920e+00 7.52866e+00 7.05812e+00 + 6.58758e+00 6.11704e+00 5.64650e+00 5.17595e+00 4.70541e+00 4.23487e+00 + 3.76433e+00 3.29379e+00 2.82325e+00 2.35271e+00 1.88217e+00 1.41162e+00 + 9.41083e-01 4.70541e-01 0.00000e+00 + -118.3717 34.0117 3.4996 -24 89 1.00000e+10 3.0274 1.00000e-01 + 180 2.35 39 0.00 0 0.00 0 + 0.00000e+00 5.10187e-01 1.02037e+00 1.53056e+00 2.04075e+00 1.53056e+00 + 1.02037e+00 9.88487e-01 9.56600e-01 9.24713e-01 8.92827e-01 8.60940e-01 + 8.29053e-01 7.97167e-01 7.65280e-01 7.33393e-01 7.01507e-01 6.69620e-01 + 6.37733e-01 6.05847e-01 5.73960e-01 5.42073e-01 5.10187e-01 4.78300e-01 + 4.46413e-01 4.14527e-01 3.82640e-01 3.50753e-01 3.18867e-01 2.86980e-01 + 2.55093e-01 2.23207e-01 1.91320e-01 1.59433e-01 1.27547e-01 9.56600e-02 + 6.37733e-02 3.18867e-02 0.00000e+00 + -118.3762 34.0199 3.4996 -24 89 1.00000e+10 3.0840 1.00000e-01 + 180 8.50 39 0.00 0 0.00 0 + 0.00000e+00 1.84721e+00 3.69442e+00 5.54163e+00 7.38883e+00 5.54163e+00 + 3.69442e+00 3.57897e+00 3.46352e+00 3.34807e+00 3.23261e+00 3.11716e+00 + 3.00171e+00 2.88626e+00 2.77081e+00 2.65536e+00 2.53991e+00 2.42446e+00 + 2.30901e+00 2.19356e+00 2.07811e+00 1.96266e+00 1.84721e+00 1.73176e+00 + 1.61631e+00 1.50086e+00 1.38541e+00 1.26996e+00 1.15451e+00 1.03905e+00 + 9.23604e-01 8.08154e-01 6.92703e-01 5.77253e-01 4.61802e-01 3.46352e-01 + 2.30901e-01 1.15451e-01 0.00000e+00 + -118.3806 34.0281 3.4996 -24 89 1.00000e+10 3.1858 1.00000e-01 + 180 9.85 39 0.00 0 0.00 0 + 0.00000e+00 2.14124e+00 4.28247e+00 6.42371e+00 8.56494e+00 6.42371e+00 + 4.28247e+00 4.14864e+00 4.01482e+00 3.88099e+00 3.74716e+00 3.61333e+00 + 3.47951e+00 3.34568e+00 3.21185e+00 3.07803e+00 2.94420e+00 2.81037e+00 + 2.67654e+00 2.54272e+00 2.40889e+00 2.27506e+00 2.14124e+00 2.00741e+00 + 1.87358e+00 1.73975e+00 1.60593e+00 1.47210e+00 1.33827e+00 1.20444e+00 + 1.07062e+00 9.36790e-01 8.02963e-01 6.69136e-01 5.35309e-01 4.01482e-01 + 2.67654e-01 1.33827e-01 0.00000e+00 + -117.3566 33.0607 4.4995 -33 89 1.00000e+10 50.2195 1.00000e-01 + 180 8.77 34 0.00 0 0.00 0 + 0.00000e+00 3.49181e+00 6.98363e+00 1.04754e+01 4.45292e+00 4.29937e+00 + 4.14582e+00 3.99227e+00 3.83873e+00 3.68518e+00 3.53163e+00 3.37808e+00 + 3.22453e+00 3.07098e+00 2.91743e+00 2.76388e+00 2.61033e+00 2.45678e+00 + 2.30324e+00 2.14969e+00 1.99614e+00 1.84259e+00 1.68904e+00 1.53549e+00 + 1.38194e+00 1.22839e+00 1.07484e+00 9.21294e-01 7.67745e-01 6.14196e-01 + 4.60647e-01 3.07098e-01 1.53549e-01 0.00000e+00 + -117.3624 33.0682 4.4995 -33 89 1.00000e+10 49.8465 1.00000e-01 + 180 38.34 34 0.00 0 0.00 0 + 0.00000e+00 1.52558e+01 3.05115e+01 4.57673e+01 1.94549e+01 1.87840e+01 + 1.81131e+01 1.74423e+01 1.67714e+01 1.61006e+01 1.54297e+01 1.47589e+01 + 1.40880e+01 1.34171e+01 1.27463e+01 1.20754e+01 1.14046e+01 1.07337e+01 + 1.00629e+01 9.39200e+00 8.72114e+00 8.05029e+00 7.37943e+00 6.70857e+00 + 6.03771e+00 5.36686e+00 4.69600e+00 4.02514e+00 3.35429e+00 2.68343e+00 + 2.01257e+00 1.34171e+00 6.70857e-01 0.00000e+00 + -117.3683 33.0758 4.4995 -33 89 1.00000e+10 49.4543 1.00000e-01 + 180 79.10 34 0.00 0 0.00 0 + 0.00000e+00 3.14781e+01 6.29561e+01 9.44342e+01 4.01423e+01 3.87581e+01 + 3.73738e+01 3.59896e+01 3.46054e+01 3.32212e+01 3.18370e+01 3.04528e+01 + 2.90685e+01 2.76843e+01 2.63001e+01 2.49159e+01 2.35317e+01 2.21475e+01 + 2.07632e+01 1.93790e+01 1.79948e+01 1.66106e+01 1.52264e+01 1.38422e+01 + 1.24579e+01 1.10737e+01 9.68951e+00 8.30530e+00 6.92108e+00 5.53686e+00 + 4.15265e+00 2.76843e+00 1.38422e+00 0.00000e+00 + -117.3743 33.0832 4.4995 -36 89 1.00000e+10 49.0834 1.00000e-01 + 180 107.30 34 0.00 0 0.00 0 + 0.00000e+00 4.26983e+01 8.53965e+01 1.28095e+02 5.44508e+01 5.25732e+01 + 5.06956e+01 4.88180e+01 4.69403e+01 4.50627e+01 4.31851e+01 4.13075e+01 + 3.94299e+01 3.75523e+01 3.56747e+01 3.37970e+01 3.19194e+01 3.00418e+01 + 2.81642e+01 2.62866e+01 2.44090e+01 2.25314e+01 2.06537e+01 1.87761e+01 + 1.68985e+01 1.50209e+01 1.31433e+01 1.12657e+01 9.38807e+00 7.51045e+00 + 5.63284e+00 3.75523e+00 1.87761e+00 0.00000e+00 + -117.3818 33.0894 4.4995 -55 89 1.00000e+10 48.7004 1.00000e-01 + 180 140.61 34 0.00 0 0.00 0 + 0.00000e+00 5.59565e+01 1.11913e+02 1.67870e+02 7.13583e+01 6.88977e+01 + 6.64370e+01 6.39764e+01 6.15158e+01 5.90552e+01 5.65945e+01 5.41339e+01 + 5.16733e+01 4.92126e+01 4.67520e+01 4.42914e+01 4.18307e+01 3.93701e+01 + 3.69095e+01 3.44488e+01 3.19882e+01 2.95276e+01 2.70669e+01 2.46063e+01 + 2.21457e+01 1.96851e+01 1.72244e+01 1.47638e+01 1.23032e+01 9.84253e+00 + 7.38190e+00 4.92126e+00 2.46063e+00 0.00000e+00 + -117.3906 33.0946 4.4995 -55 89 1.00000e+10 48.3694 1.00000e-01 + 180 122.68 34 0.00 0 0.00 0 + 0.00000e+00 4.88222e+01 9.76445e+01 1.46467e+02 6.22603e+01 6.01134e+01 + 5.79665e+01 5.58196e+01 5.36727e+01 5.15258e+01 4.93789e+01 4.72320e+01 + 4.50851e+01 4.29382e+01 4.07913e+01 3.86444e+01 3.64974e+01 3.43505e+01 + 3.22036e+01 3.00567e+01 2.79098e+01 2.57629e+01 2.36160e+01 2.14691e+01 + 1.93222e+01 1.71753e+01 1.50284e+01 1.28815e+01 1.07345e+01 8.58763e+00 + 6.44073e+00 4.29382e+00 2.14691e+00 0.00000e+00 + -117.3990 33.1001 4.4995 -48 89 1.00000e+10 48.0577 1.00000e-01 + 180 86.87 34 0.00 0 0.00 0 + 0.00000e+00 3.45716e+01 6.91432e+01 1.03715e+02 4.40873e+01 4.25671e+01 + 4.10468e+01 3.95266e+01 3.80063e+01 3.64860e+01 3.49658e+01 3.34455e+01 + 3.19253e+01 3.04050e+01 2.88848e+01 2.73645e+01 2.58443e+01 2.43240e+01 + 2.28038e+01 2.12835e+01 1.97633e+01 1.82430e+01 1.67228e+01 1.52025e+01 + 1.36823e+01 1.21620e+01 1.06418e+01 9.12151e+00 7.60126e+00 6.08101e+00 + 4.56076e+00 3.04050e+00 1.52025e+00 0.00000e+00 + -117.4070 33.1062 4.4995 -47 89 1.00000e+10 47.7146 1.00000e-01 + 180 84.49 34 0.00 0 0.00 0 + 0.00000e+00 3.36218e+01 6.72436e+01 1.00865e+02 4.28761e+01 4.13976e+01 + 3.99191e+01 3.84406e+01 3.69621e+01 3.54837e+01 3.40052e+01 3.25267e+01 + 3.10482e+01 2.95697e+01 2.80912e+01 2.66127e+01 2.51343e+01 2.36558e+01 + 2.21773e+01 2.06988e+01 1.92203e+01 1.77418e+01 1.62633e+01 1.47849e+01 + 1.33064e+01 1.18279e+01 1.03494e+01 8.87091e+00 7.39243e+00 5.91394e+00 + 4.43546e+00 2.95697e+00 1.47849e+00 0.00000e+00 + -117.4141 33.1129 4.4995 -36 89 1.00000e+10 47.3539 1.00000e-01 + 180 94.75 34 0.00 0 0.00 0 + 0.00000e+00 3.77058e+01 7.54117e+01 1.13118e+02 4.80842e+01 4.64261e+01 + 4.47681e+01 4.31100e+01 4.14519e+01 3.97938e+01 3.81358e+01 3.64777e+01 + 3.48196e+01 3.31615e+01 3.15035e+01 2.98454e+01 2.81873e+01 2.65292e+01 + 2.48711e+01 2.32131e+01 2.15550e+01 1.98969e+01 1.82388e+01 1.65808e+01 + 1.49227e+01 1.32646e+01 1.16065e+01 9.94846e+00 8.29038e+00 6.63231e+00 + 4.97423e+00 3.31615e+00 1.65808e+00 0.00000e+00 + -117.4201 33.1202 4.4995 -33 89 1.00000e+10 47.0735 1.00000e-01 + 180 33.29 34 0.00 0 0.00 0 + 0.00000e+00 1.32492e+01 2.64984e+01 3.97477e+01 1.68960e+01 1.63134e+01 + 1.57308e+01 1.51481e+01 1.45655e+01 1.39829e+01 1.34003e+01 1.28177e+01 + 1.22350e+01 1.16524e+01 1.10698e+01 1.04872e+01 9.90456e+00 9.32194e+00 + 8.73932e+00 8.15670e+00 7.57407e+00 6.99145e+00 6.40883e+00 5.82621e+00 + 5.24359e+00 4.66097e+00 4.07835e+00 3.49573e+00 2.91311e+00 2.33048e+00 + 1.74786e+00 1.16524e+00 5.82621e-01 0.00000e+00 + -117.4237 33.1284 4.4995 -8 89 1.00000e+10 46.7441 1.00000e-01 + 180 10.04 34 0.00 0 0.00 0 + 0.00000e+00 3.99603e+00 7.99207e+00 1.19881e+01 5.09592e+00 4.92020e+00 + 4.74448e+00 4.56876e+00 4.39304e+00 4.21732e+00 4.04160e+00 3.86587e+00 + 3.69015e+00 3.51443e+00 3.33871e+00 3.16299e+00 2.98727e+00 2.81154e+00 + 2.63582e+00 2.46010e+00 2.28438e+00 2.10866e+00 1.93294e+00 1.75722e+00 + 1.58149e+00 1.40577e+00 1.23005e+00 1.05433e+00 8.78608e-01 7.02886e-01 + 5.27165e-01 3.51443e-01 1.75722e-01 0.00000e+00 + -117.4252 33.1373 4.4995 -8 89 1.00000e+10 46.3936 1.00000e-01 + 180 17.78 34 0.00 0 0.00 0 + 0.00000e+00 7.07594e+00 1.41519e+01 2.12278e+01 9.02356e+00 8.71241e+00 + 8.40125e+00 8.09009e+00 7.77893e+00 7.46778e+00 7.15662e+00 6.84546e+00 + 6.53430e+00 6.22315e+00 5.91199e+00 5.60083e+00 5.28968e+00 4.97852e+00 + 4.66736e+00 4.35620e+00 4.04505e+00 3.73389e+00 3.42273e+00 3.11157e+00 + 2.80042e+00 2.48926e+00 2.17810e+00 1.86694e+00 1.55579e+00 1.24463e+00 + 9.33472e-01 6.22315e-01 3.11157e-01 0.00000e+00 + -117.4268 33.1463 4.4995 -8 89 1.00000e+10 45.9874 1.00000e-01 + 180 71.84 34 0.00 0 0.00 0 + 0.00000e+00 2.85895e+01 5.71790e+01 8.57685e+01 3.64586e+01 3.52014e+01 + 3.39442e+01 3.26870e+01 3.14299e+01 3.01727e+01 2.89155e+01 2.76583e+01 + 2.64011e+01 2.51439e+01 2.38867e+01 2.26295e+01 2.13723e+01 2.01151e+01 + 1.88579e+01 1.76007e+01 1.63435e+01 1.50863e+01 1.38291e+01 1.25719e+01 + 1.13147e+01 1.00576e+01 8.80036e+00 7.54317e+00 6.28597e+00 5.02878e+00 + 3.77158e+00 2.51439e+00 1.25719e+00 0.00000e+00 + -117.4293 33.1548 4.4995 -20 89 1.00000e+10 45.6007 1.00000e-01 + 180 116.05 34 0.00 0 0.00 0 + 0.00000e+00 4.61835e+01 9.23670e+01 1.38550e+02 5.88953e+01 5.68644e+01 + 5.48336e+01 5.28027e+01 5.07718e+01 4.87409e+01 4.67101e+01 4.46792e+01 + 4.26483e+01 4.06175e+01 3.85866e+01 3.65557e+01 3.45248e+01 3.24940e+01 + 3.04631e+01 2.84322e+01 2.64013e+01 2.43705e+01 2.23396e+01 2.03087e+01 + 1.82779e+01 1.62470e+01 1.42161e+01 1.21852e+01 1.01544e+01 8.12349e+00 + 6.09262e+00 4.06175e+00 2.03087e+00 0.00000e+00 + -117.4344 33.1624 4.4995 -39 89 1.00000e+10 45.1412 1.00000e-01 + 180 231.11 34 0.00 0 0.00 0 + 0.00000e+00 9.19712e+01 1.83942e+02 2.75914e+02 1.17286e+02 1.13242e+02 + 1.09197e+02 1.05153e+02 1.01109e+02 9.70642e+01 9.30199e+01 8.89755e+01 + 8.49312e+01 8.08869e+01 7.68425e+01 7.27982e+01 6.87538e+01 6.47095e+01 + 6.06651e+01 5.66208e+01 5.25765e+01 4.85321e+01 4.44878e+01 4.04434e+01 + 3.63991e+01 3.23547e+01 2.83104e+01 2.42661e+01 2.02217e+01 1.61774e+01 + 1.21330e+01 8.08869e+00 4.04434e+00 0.00000e+00 + -117.4411 33.1694 4.4995 -39 89 1.00000e+10 44.6968 1.00000e-01 + 180 323.00 34 0.00 0 0.00 0 + 0.00000e+00 1.28537e+02 2.57074e+02 3.85611e+02 1.63916e+02 1.58264e+02 + 1.52612e+02 1.46959e+02 1.41307e+02 1.35655e+02 1.30002e+02 1.24350e+02 + 1.18698e+02 1.13046e+02 1.07393e+02 1.01741e+02 9.60888e+01 9.04365e+01 + 8.47842e+01 7.91319e+01 7.34797e+01 6.78274e+01 6.21751e+01 5.65228e+01 + 5.08705e+01 4.52182e+01 3.95660e+01 3.39137e+01 2.82614e+01 2.26091e+01 + 1.69568e+01 1.13046e+01 5.65228e+00 0.00000e+00 + -117.4478 33.1765 4.4995 -39 89 1.00000e+10 44.3241 1.00000e-01 + 180 352.69 34 0.00 0 0.00 0 + 0.00000e+00 1.40354e+02 2.80708e+02 4.21063e+02 1.78986e+02 1.72814e+02 + 1.66642e+02 1.60470e+02 1.54298e+02 1.48126e+02 1.41954e+02 1.35783e+02 + 1.29611e+02 1.23439e+02 1.17267e+02 1.11095e+02 1.04923e+02 9.87510e+01 + 9.25790e+01 8.64071e+01 8.02352e+01 7.40632e+01 6.78913e+01 6.17193e+01 + 5.55474e+01 4.93755e+01 4.32035e+01 3.70316e+01 3.08597e+01 2.46877e+01 + 1.85158e+01 1.23439e+01 6.17193e+00 0.00000e+00 + -117.4546 33.1835 4.4995 -39 89 1.00000e+10 43.9690 1.00000e-01 + 180 363.25 34 0.00 0 0.00 0 + 0.00000e+00 1.44557e+02 2.89114e+02 4.33671e+02 1.84346e+02 1.77989e+02 + 1.71632e+02 1.65275e+02 1.58919e+02 1.52562e+02 1.46205e+02 1.39848e+02 + 1.33492e+02 1.27135e+02 1.20778e+02 1.14422e+02 1.08065e+02 1.01708e+02 + 9.53512e+01 8.89945e+01 8.26377e+01 7.62810e+01 6.99242e+01 6.35675e+01 + 5.72108e+01 5.08540e+01 4.44972e+01 3.81405e+01 3.17838e+01 2.54270e+01 + 1.90702e+01 1.27135e+01 6.35675e+00 0.00000e+00 + -117.4613 33.1905 4.4995 -39 89 1.00000e+10 43.5608 1.00000e-01 + 180 421.14 34 0.00 0 0.00 0 + 0.00000e+00 1.67595e+02 3.35190e+02 5.02785e+02 2.13725e+02 2.06355e+02 + 1.98985e+02 1.91615e+02 1.84246e+02 1.76876e+02 1.69506e+02 1.62136e+02 + 1.54766e+02 1.47396e+02 1.40027e+02 1.32657e+02 1.25287e+02 1.17917e+02 + 1.10547e+02 1.03178e+02 9.58077e+01 8.84379e+01 8.10680e+01 7.36982e+01 + 6.63284e+01 5.89586e+01 5.15888e+01 4.42189e+01 3.68491e+01 2.94793e+01 + 2.21095e+01 1.47396e+01 7.36982e+00 0.00000e+00 + -117.4680 33.1975 4.4995 -39 89 1.00000e+10 43.1995 1.00000e-01 + 180 436.85 34 0.00 0 0.00 0 + 0.00000e+00 1.73845e+02 3.47689e+02 5.21534e+02 2.21695e+02 2.14050e+02 + 2.06405e+02 1.98761e+02 1.91116e+02 1.83471e+02 1.75827e+02 1.68182e+02 + 1.60538e+02 1.52893e+02 1.45248e+02 1.37604e+02 1.29959e+02 1.22314e+02 + 1.14670e+02 1.07025e+02 9.93804e+01 9.17357e+01 8.40911e+01 7.64465e+01 + 6.88018e+01 6.11572e+01 5.35125e+01 4.58679e+01 3.82232e+01 3.05786e+01 + 2.29339e+01 1.52893e+01 7.64465e+00 0.00000e+00 + -117.4748 33.2045 4.4995 -39 89 1.00000e+10 42.8462 1.00000e-01 + 180 439.46 34 0.00 0 0.00 0 + 0.00000e+00 1.74883e+02 3.49766e+02 5.24649e+02 2.23019e+02 2.15329e+02 + 2.07638e+02 1.99948e+02 1.92258e+02 1.84567e+02 1.76877e+02 1.69187e+02 + 1.61496e+02 1.53806e+02 1.46116e+02 1.38425e+02 1.30735e+02 1.23045e+02 + 1.15355e+02 1.07664e+02 9.99740e+01 9.22837e+01 8.45934e+01 7.69031e+01 + 6.92127e+01 6.15224e+01 5.38321e+01 4.61418e+01 3.84515e+01 3.07612e+01 + 2.30709e+01 1.53806e+01 7.69031e+00 0.00000e+00 + -117.4815 33.2116 4.4995 -39 89 1.00000e+10 42.5655 1.00000e-01 + 180 374.44 34 0.00 0 0.00 0 + 0.00000e+00 1.49010e+02 2.98020e+02 4.47031e+02 1.90025e+02 1.83472e+02 + 1.76919e+02 1.70367e+02 1.63814e+02 1.57262e+02 1.50709e+02 1.44157e+02 + 1.37604e+02 1.31051e+02 1.24499e+02 1.17946e+02 1.11394e+02 1.04841e+02 + 9.82886e+01 9.17360e+01 8.51835e+01 7.86309e+01 7.20783e+01 6.55257e+01 + 5.89732e+01 5.24206e+01 4.58680e+01 3.93154e+01 3.27629e+01 2.62103e+01 + 1.96577e+01 1.31051e+01 6.55257e+00 0.00000e+00 + -117.4890 33.2179 4.4995 -51 89 1.00000e+10 42.2622 1.00000e-01 + 180 333.00 34 0.00 0 0.00 0 + 0.00000e+00 1.32517e+02 2.65033e+02 3.97550e+02 1.68991e+02 1.63164e+02 + 1.57337e+02 1.51510e+02 1.45682e+02 1.39855e+02 1.34028e+02 1.28200e+02 + 1.22373e+02 1.16546e+02 1.10719e+02 1.04891e+02 9.90639e+01 9.32366e+01 + 8.74094e+01 8.15821e+01 7.57548e+01 6.99275e+01 6.41002e+01 5.82729e+01 + 5.24456e+01 4.66183e+01 4.07910e+01 3.49637e+01 2.91365e+01 2.33092e+01 + 1.74819e+01 1.16546e+01 5.82729e+00 0.00000e+00 + -117.4976 33.2232 4.4995 -55 89 1.00000e+10 41.8696 1.00000e-01 + 180 373.65 34 0.00 0 0.00 0 + 0.00000e+00 1.48693e+02 2.97386e+02 4.46079e+02 1.89620e+02 1.83081e+02 + 1.76543e+02 1.70004e+02 1.63466e+02 1.56927e+02 1.50388e+02 1.43850e+02 + 1.37311e+02 1.30772e+02 1.24234e+02 1.17695e+02 1.11157e+02 1.04618e+02 + 9.80793e+01 9.15407e+01 8.50021e+01 7.84635e+01 7.19249e+01 6.53862e+01 + 5.88476e+01 5.23090e+01 4.57704e+01 3.92317e+01 3.26931e+01 2.61545e+01 + 1.96159e+01 1.30772e+01 6.53862e+00 0.00000e+00 + -117.5064 33.2284 4.4995 -55 89 1.00000e+10 41.4417 1.00000e-01 + 180 460.72 34 0.00 0 0.00 0 + 0.00000e+00 1.83345e+02 3.66690e+02 5.50035e+02 2.33810e+02 2.25748e+02 + 2.17685e+02 2.09623e+02 2.01560e+02 1.93498e+02 1.85436e+02 1.77373e+02 + 1.69311e+02 1.61248e+02 1.53186e+02 1.45124e+02 1.37061e+02 1.28999e+02 + 1.20936e+02 1.12874e+02 1.04811e+02 9.67490e+01 8.86866e+01 8.06242e+01 + 7.25618e+01 6.44993e+01 5.64369e+01 4.83745e+01 4.03121e+01 3.22497e+01 + 2.41873e+01 1.61248e+01 8.06242e+00 0.00000e+00 + -117.5153 33.2335 4.4995 -55 89 1.00000e+10 41.1488 1.00000e-01 + 180 404.74 34 0.00 0 0.00 0 + 0.00000e+00 1.61069e+02 3.22138e+02 4.83206e+02 2.05402e+02 1.98319e+02 + 1.91237e+02 1.84154e+02 1.77071e+02 1.69988e+02 1.62905e+02 1.55822e+02 + 1.48740e+02 1.41657e+02 1.34574e+02 1.27491e+02 1.20408e+02 1.13325e+02 + 1.06243e+02 9.91597e+01 9.20769e+01 8.49941e+01 7.79112e+01 7.08284e+01 + 6.37456e+01 5.66627e+01 4.95799e+01 4.24970e+01 3.54142e+01 2.83314e+01 + 2.12485e+01 1.41657e+01 7.08284e+00 0.00000e+00 + -117.5241 33.2387 4.4995 -55 89 1.00000e+10 40.8899 1.00000e-01 + 180 317.02 34 0.00 0 0.00 0 + 0.00000e+00 1.26160e+02 2.52320e+02 3.78481e+02 1.60885e+02 1.55337e+02 + 1.49790e+02 1.44242e+02 1.38694e+02 1.33146e+02 1.27599e+02 1.22051e+02 + 1.16503e+02 1.10955e+02 1.05408e+02 9.98598e+01 9.43120e+01 8.87643e+01 + 8.32165e+01 7.76687e+01 7.21210e+01 6.65732e+01 6.10254e+01 5.54777e+01 + 4.99299e+01 4.43821e+01 3.88344e+01 3.32866e+01 2.77388e+01 2.21911e+01 + 1.66433e+01 1.10955e+01 5.54777e+00 0.00000e+00 + -117.5329 33.2438 4.4995 -55 89 1.00000e+10 40.5590 1.00000e-01 + 180 296.55 34 0.00 0 0.00 0 + 0.00000e+00 1.18013e+02 2.36027e+02 3.54040e+02 1.50496e+02 1.45307e+02 + 1.40117e+02 1.34928e+02 1.29738e+02 1.24549e+02 1.19359e+02 1.14169e+02 + 1.08980e+02 1.03790e+02 9.86009e+01 9.34114e+01 8.82219e+01 8.30324e+01 + 7.78428e+01 7.26533e+01 6.74638e+01 6.22743e+01 5.70847e+01 5.18952e+01 + 4.67057e+01 4.15162e+01 3.63267e+01 3.11371e+01 2.59476e+01 2.07581e+01 + 1.55686e+01 1.03790e+01 5.18952e+00 0.00000e+00 + -117.5418 33.2490 4.4995 -55 89 1.00000e+10 40.1570 1.00000e-01 + 180 351.35 34 0.00 0 0.00 0 + 0.00000e+00 1.39822e+02 2.79644e+02 4.19466e+02 1.78307e+02 1.72159e+02 + 1.66010e+02 1.59862e+02 1.53713e+02 1.47565e+02 1.41416e+02 1.35268e+02 + 1.29119e+02 1.22971e+02 1.16822e+02 1.10674e+02 1.04525e+02 9.83764e+01 + 9.22279e+01 8.60794e+01 7.99309e+01 7.37823e+01 6.76338e+01 6.14853e+01 + 5.53368e+01 4.91882e+01 4.30397e+01 3.68912e+01 3.07426e+01 2.45941e+01 + 1.84456e+01 1.22971e+01 6.14853e+00 0.00000e+00 + -117.5495 33.2550 4.4995 -39 89 1.00000e+10 39.7596 1.00000e-01 + 180 405.06 34 0.00 0 0.00 0 + 0.00000e+00 1.61194e+02 3.22388e+02 4.83582e+02 2.05562e+02 1.98474e+02 + 1.91385e+02 1.84297e+02 1.77209e+02 1.70120e+02 1.63032e+02 1.55944e+02 + 1.48855e+02 1.41767e+02 1.34679e+02 1.27590e+02 1.20502e+02 1.13414e+02 + 1.06325e+02 9.92369e+01 9.21486e+01 8.50602e+01 7.79718e+01 7.08835e+01 + 6.37952e+01 5.67068e+01 4.96185e+01 4.25301e+01 3.54418e+01 2.83534e+01 + 2.12651e+01 1.41767e+01 7.08835e+00 0.00000e+00 + -117.5562 33.2621 4.4995 -38 89 1.00000e+10 39.4629 1.00000e-01 + 180 353.58 34 0.00 0 0.00 0 + 0.00000e+00 1.40708e+02 2.81416e+02 4.22124e+02 1.79437e+02 1.73250e+02 + 1.67062e+02 1.60875e+02 1.54687e+02 1.48500e+02 1.42312e+02 1.36125e+02 + 1.29937e+02 1.23750e+02 1.17562e+02 1.11375e+02 1.05187e+02 9.90000e+01 + 9.28125e+01 8.66250e+01 8.04375e+01 7.42500e+01 6.80625e+01 6.18750e+01 + 5.56875e+01 4.95000e+01 4.33125e+01 3.71250e+01 3.09375e+01 2.47500e+01 + 1.85625e+01 1.23750e+01 6.18750e+00 0.00000e+00 + -117.5628 33.2692 4.4995 -38 89 1.00000e+10 39.2171 1.00000e-01 + 180 248.14 34 0.00 0 0.00 0 + 0.00000e+00 9.87466e+01 1.97493e+02 2.96240e+02 1.25926e+02 1.21584e+02 + 1.17242e+02 1.12899e+02 1.08557e+02 1.04215e+02 9.98725e+01 9.55303e+01 + 9.11880e+01 8.68457e+01 8.25034e+01 7.81611e+01 7.38188e+01 6.94765e+01 + 6.51343e+01 6.07920e+01 5.64497e+01 5.21074e+01 4.77651e+01 4.34228e+01 + 3.90806e+01 3.47383e+01 3.03960e+01 2.60537e+01 2.17114e+01 1.73691e+01 + 1.30269e+01 8.68457e+00 4.34228e+00 0.00000e+00 + -117.5695 33.2763 4.4995 -38 89 1.00000e+10 38.9585 1.00000e-01 + 180 160.42 34 0.00 0 0.00 0 + 0.00000e+00 6.38388e+01 1.27678e+02 1.91516e+02 8.14101e+01 7.86029e+01 + 7.57956e+01 7.29884e+01 7.01811e+01 6.73739e+01 6.45666e+01 6.17594e+01 + 5.89521e+01 5.61449e+01 5.33377e+01 5.05304e+01 4.77232e+01 4.49159e+01 + 4.21087e+01 3.93014e+01 3.64942e+01 3.36869e+01 3.08797e+01 2.80725e+01 + 2.52652e+01 2.24580e+01 1.96507e+01 1.68435e+01 1.40362e+01 1.12290e+01 + 8.42173e+00 5.61449e+00 2.80725e+00 0.00000e+00 + -117.5761 33.2834 4.4995 -38 89 1.00000e+10 38.6654 1.00000e-01 + 180 105.85 34 0.00 0 0.00 0 + 0.00000e+00 4.21220e+01 8.42440e+01 1.26366e+02 5.37159e+01 5.18636e+01 + 5.00114e+01 4.81591e+01 4.63068e+01 4.44545e+01 4.26023e+01 4.07500e+01 + 3.88977e+01 3.70454e+01 3.51932e+01 3.33409e+01 3.14886e+01 2.96364e+01 + 2.77841e+01 2.59318e+01 2.40795e+01 2.22273e+01 2.03750e+01 1.85227e+01 + 1.66705e+01 1.48182e+01 1.29659e+01 1.11136e+01 9.26136e+00 7.40909e+00 + 5.55682e+00 3.70454e+00 1.85227e+00 0.00000e+00 + -117.5827 33.2905 4.4995 -38 89 1.00000e+10 38.4199 1.00000e-01 + 180 2.31 34 0.00 0 0.00 0 + 0.00000e+00 9.20097e-01 1.84019e+00 2.76029e+00 1.17335e+00 1.13289e+00 + 1.09243e+00 1.05197e+00 1.01151e+00 9.71048e-01 9.30588e-01 8.90127e-01 + 8.49667e-01 8.09207e-01 7.68746e-01 7.28286e-01 6.87826e-01 6.47365e-01 + 6.06905e-01 5.66445e-01 5.25984e-01 4.85524e-01 4.45064e-01 4.04603e-01 + 3.64143e-01 3.23683e-01 2.83222e-01 2.42762e-01 2.02302e-01 1.61841e-01 + 1.21381e-01 8.09207e-02 4.04603e-02 0.00000e+00 + -117.5893 33.2976 4.4995 -38 89 1.00000e+10 38.0737 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.5959 33.3047 4.4995 -38 89 1.00000e+10 37.7255 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.6026 33.3118 4.4995 -38 89 1.00000e+10 37.3838 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.6092 33.3189 4.4995 -38 89 1.00000e+10 37.0321 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.6158 33.3260 4.4995 -38 89 1.00000e+10 36.6495 1.00000e-01 + 180 38.61 34 0.00 0 0.00 0 + 0.00000e+00 1.53637e+01 3.07274e+01 4.60911e+01 1.95925e+01 1.89169e+01 + 1.82413e+01 1.75657e+01 1.68901e+01 1.62145e+01 1.55389e+01 1.48633e+01 + 1.41877e+01 1.35121e+01 1.28365e+01 1.21609e+01 1.14853e+01 1.08097e+01 + 1.01340e+01 9.45844e+00 8.78284e+00 8.10724e+00 7.43164e+00 6.75603e+00 + 6.08043e+00 5.40483e+00 4.72922e+00 4.05362e+00 3.37802e+00 2.70241e+00 + 2.02681e+00 1.35121e+00 6.75603e-01 0.00000e+00 + -117.6224 33.3330 4.4995 -38 89 1.00000e+10 36.2660 1.00000e-01 + 180 75.21 34 0.00 0 0.00 0 + 0.00000e+00 2.99287e+01 5.98573e+01 8.97860e+01 3.81664e+01 3.68503e+01 + 3.55342e+01 3.42182e+01 3.29021e+01 3.15860e+01 3.02699e+01 2.89538e+01 + 2.76377e+01 2.63217e+01 2.50056e+01 2.36895e+01 2.23734e+01 2.10573e+01 + 1.97412e+01 1.84252e+01 1.71091e+01 1.57930e+01 1.44769e+01 1.31608e+01 + 1.18447e+01 1.05287e+01 9.21258e+00 7.89650e+00 6.58042e+00 5.26433e+00 + 3.94825e+00 2.63217e+00 1.31608e+00 0.00000e+00 + -117.6290 33.3401 4.4995 -38 89 1.00000e+10 35.8325 1.00000e-01 + 180 165.21 34 0.00 0 0.00 0 + 0.00000e+00 6.57471e+01 1.31494e+02 1.97241e+02 8.38437e+01 8.09525e+01 + 7.80614e+01 7.51702e+01 7.22791e+01 6.93879e+01 6.64967e+01 6.36056e+01 + 6.07144e+01 5.78232e+01 5.49321e+01 5.20409e+01 4.91498e+01 4.62586e+01 + 4.33674e+01 4.04763e+01 3.75851e+01 3.46940e+01 3.18028e+01 2.89116e+01 + 2.60205e+01 2.31293e+01 2.02381e+01 1.73470e+01 1.44558e+01 1.15646e+01 + 8.67349e+00 5.78232e+00 2.89116e+00 0.00000e+00 + -117.6357 33.3472 4.4995 -38 89 1.00000e+10 35.4991 1.00000e-01 + 180 147.92 34 0.00 0 0.00 0 + 0.00000e+00 5.88644e+01 1.17729e+02 1.76593e+02 7.50666e+01 7.24781e+01 + 6.98896e+01 6.73011e+01 6.47126e+01 6.21241e+01 5.95356e+01 5.69471e+01 + 5.43586e+01 5.17701e+01 4.91816e+01 4.65931e+01 4.40046e+01 4.14161e+01 + 3.88276e+01 3.62391e+01 3.36506e+01 3.10621e+01 2.84736e+01 2.58850e+01 + 2.32965e+01 2.07080e+01 1.81195e+01 1.55310e+01 1.29425e+01 1.03540e+01 + 7.76551e+00 5.17701e+00 2.58850e+00 0.00000e+00 + -117.6423 33.3543 4.4995 -38 89 1.00000e+10 35.1901 1.00000e-01 + 180 110.28 34 0.00 0 0.00 0 + 0.00000e+00 4.38874e+01 8.77749e+01 1.31662e+02 5.59673e+01 5.40374e+01 + 5.21075e+01 5.01776e+01 4.82477e+01 4.63178e+01 4.43878e+01 4.24579e+01 + 4.05280e+01 3.85981e+01 3.66682e+01 3.47383e+01 3.28084e+01 3.08785e+01 + 2.89486e+01 2.70187e+01 2.50888e+01 2.31589e+01 2.12290e+01 1.92991e+01 + 1.73692e+01 1.54393e+01 1.35093e+01 1.15794e+01 9.64953e+00 7.71963e+00 + 5.78972e+00 3.85981e+00 1.92991e+00 0.00000e+00 + -117.6489 33.3614 4.4995 -38 89 1.00000e+10 34.8471 1.00000e-01 + 180 107.00 34 0.00 0 0.00 0 + 0.00000e+00 4.25821e+01 8.51641e+01 1.27746e+02 5.43026e+01 5.24301e+01 + 5.05576e+01 4.86851e+01 4.68126e+01 4.49401e+01 4.30676e+01 4.11951e+01 + 3.93226e+01 3.74501e+01 3.55776e+01 3.37051e+01 3.18326e+01 2.99601e+01 + 2.80876e+01 2.62150e+01 2.43425e+01 2.24700e+01 2.05975e+01 1.87250e+01 + 1.68525e+01 1.49800e+01 1.31075e+01 1.12350e+01 9.36252e+00 7.49001e+00 + 5.61751e+00 3.74501e+00 1.87250e+00 0.00000e+00 + -117.6556 33.3685 4.4995 -38 89 1.00000e+10 34.5109 1.00000e-01 + 180 93.39 34 0.00 0 0.00 0 + 0.00000e+00 3.71643e+01 7.43285e+01 1.11493e+02 4.73936e+01 4.57593e+01 + 4.41251e+01 4.24908e+01 4.08565e+01 3.92223e+01 3.75880e+01 3.59537e+01 + 3.43195e+01 3.26852e+01 3.10510e+01 2.94167e+01 2.77824e+01 2.61482e+01 + 2.45139e+01 2.28797e+01 2.12454e+01 1.96111e+01 1.79769e+01 1.63426e+01 + 1.47084e+01 1.30741e+01 1.14398e+01 9.80557e+00 8.17131e+00 6.53704e+00 + 4.90278e+00 3.26852e+00 1.63426e+00 0.00000e+00 + -117.6622 33.3756 4.4995 -38 89 1.00000e+10 34.1084 1.00000e-01 + 180 152.37 34 0.00 0 0.00 0 + 0.00000e+00 6.06359e+01 1.21272e+02 1.81908e+02 7.73257e+01 7.46593e+01 + 7.19929e+01 6.93265e+01 6.66601e+01 6.39937e+01 6.13273e+01 5.86609e+01 + 5.59945e+01 5.33281e+01 5.06617e+01 4.79953e+01 4.53289e+01 4.26625e+01 + 3.99961e+01 3.73297e+01 3.46633e+01 3.19968e+01 2.93304e+01 2.66640e+01 + 2.39976e+01 2.13312e+01 1.86648e+01 1.59984e+01 1.33320e+01 1.06656e+01 + 7.99921e+00 5.33281e+00 2.66640e+00 0.00000e+00 + -117.6688 33.3827 4.4995 -38 89 1.00000e+10 33.6938 1.00000e-01 + 180 217.78 34 0.00 0 0.00 0 + 0.00000e+00 8.66664e+01 1.73333e+02 2.59999e+02 1.10521e+02 1.06710e+02 + 1.02899e+02 9.90878e+01 9.52767e+01 9.14657e+01 8.76546e+01 8.38435e+01 + 8.00324e+01 7.62214e+01 7.24103e+01 6.85992e+01 6.47882e+01 6.09771e+01 + 5.71660e+01 5.33550e+01 4.95439e+01 4.57328e+01 4.19218e+01 3.81107e+01 + 3.42996e+01 3.04886e+01 2.66775e+01 2.28664e+01 1.90553e+01 1.52443e+01 + 1.14332e+01 7.62214e+00 3.81107e+00 0.00000e+00 + -117.6755 33.3898 4.4995 -38 89 1.00000e+10 33.3584 1.00000e-01 + 180 202.61 34 0.00 0 0.00 0 + 0.00000e+00 8.06294e+01 1.61259e+02 2.41888e+02 1.02822e+02 9.92767e+01 + 9.57311e+01 9.21855e+01 8.86399e+01 8.50943e+01 8.15487e+01 7.80031e+01 + 7.44575e+01 7.09119e+01 6.73663e+01 6.38207e+01 6.02751e+01 5.67295e+01 + 5.31839e+01 4.96383e+01 4.60927e+01 4.25471e+01 3.90016e+01 3.54560e+01 + 3.19104e+01 2.83648e+01 2.48192e+01 2.12736e+01 1.77280e+01 1.41824e+01 + 1.06368e+01 7.09119e+00 3.54560e+00 0.00000e+00 + -117.6821 33.3969 4.4995 -38 89 1.00000e+10 33.0128 1.00000e-01 + 180 201.42 34 0.00 0 0.00 0 + 0.00000e+00 8.01548e+01 1.60310e+02 2.40464e+02 1.02217e+02 9.86923e+01 + 9.51676e+01 9.16429e+01 8.81181e+01 8.45934e+01 8.10687e+01 7.75439e+01 + 7.40192e+01 7.04945e+01 6.69698e+01 6.34450e+01 5.99203e+01 5.63956e+01 + 5.28709e+01 4.93461e+01 4.58214e+01 4.22967e+01 3.87720e+01 3.52473e+01 + 3.17225e+01 2.81978e+01 2.46731e+01 2.11483e+01 1.76236e+01 1.40989e+01 + 1.05742e+01 7.04945e+00 3.52472e+00 0.00000e+00 + -117.6889 33.4039 4.4995 -40 89 1.00000e+10 32.7968 1.00000e-01 + 180 70.14 34 0.00 0 0.00 0 + 0.00000e+00 2.79124e+01 5.58248e+01 8.37371e+01 3.55951e+01 3.43677e+01 + 3.31403e+01 3.19129e+01 3.06855e+01 2.94581e+01 2.82306e+01 2.70032e+01 + 2.57758e+01 2.45484e+01 2.33210e+01 2.20935e+01 2.08661e+01 1.96387e+01 + 1.84113e+01 1.71839e+01 1.59564e+01 1.47290e+01 1.35016e+01 1.22742e+01 + 1.10468e+01 9.81935e+00 8.59193e+00 7.36451e+00 6.13709e+00 4.90968e+00 + 3.68226e+00 2.45484e+00 1.22742e+00 0.00000e+00 + -117.6959 33.4107 4.4995 -41 89 1.00000e+10 32.5216 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.7030 33.4175 4.4995 -41 89 1.00000e+10 32.1147 1.00000e-01 + 180 58.63 34 0.00 0 0.00 0 + 0.00000e+00 2.33306e+01 4.66612e+01 6.99918e+01 2.97523e+01 2.87263e+01 + 2.77004e+01 2.66744e+01 2.56485e+01 2.46226e+01 2.35966e+01 2.25707e+01 + 2.15447e+01 2.05188e+01 1.94929e+01 1.84669e+01 1.74410e+01 1.64150e+01 + 1.53891e+01 1.43632e+01 1.33372e+01 1.23113e+01 1.12853e+01 1.02594e+01 + 9.23346e+00 8.20752e+00 7.18158e+00 6.15564e+00 5.12970e+00 4.10376e+00 + 3.07782e+00 2.05188e+00 1.02594e+00 0.00000e+00 + -117.7101 33.4243 4.4995 -41 89 1.00000e+10 31.7570 1.00000e-01 + 180 70.69 34 0.00 0 0.00 0 + 0.00000e+00 2.81315e+01 5.62629e+01 8.43943e+01 3.58745e+01 3.46375e+01 + 3.34004e+01 3.21634e+01 3.09263e+01 2.96893e+01 2.84522e+01 2.72151e+01 + 2.59781e+01 2.47410e+01 2.35040e+01 2.22669e+01 2.10299e+01 1.97928e+01 + 1.85558e+01 1.73187e+01 1.60817e+01 1.48446e+01 1.36076e+01 1.23705e+01 + 1.11335e+01 9.89642e+00 8.65937e+00 7.42231e+00 6.18526e+00 4.94821e+00 + 3.71116e+00 2.47410e+00 1.23705e+00 0.00000e+00 + -117.7172 33.4311 4.4995 -41 89 1.00000e+10 31.3571 1.00000e-01 + 180 123.34 34 0.00 0 0.00 0 + 0.00000e+00 4.90829e+01 9.81658e+01 1.47249e+02 6.25927e+01 6.04344e+01 + 5.82760e+01 5.61176e+01 5.39593e+01 5.18009e+01 4.96425e+01 4.74841e+01 + 4.53258e+01 4.31674e+01 4.10090e+01 3.88507e+01 3.66923e+01 3.45339e+01 + 3.23756e+01 3.02172e+01 2.80588e+01 2.59004e+01 2.37421e+01 2.15837e+01 + 1.94253e+01 1.72670e+01 1.51086e+01 1.29502e+01 1.07919e+01 8.63348e+00 + 6.47511e+00 4.31674e+00 2.15837e+00 0.00000e+00 + -117.7243 33.4378 4.4995 -41 89 1.00000e+10 30.9195 1.00000e-01 + 180 213.06 34 0.00 0 0.00 0 + 0.00000e+00 8.47884e+01 1.69577e+02 2.54365e+02 1.08126e+02 1.04398e+02 + 1.00669e+02 9.69406e+01 9.32121e+01 8.94836e+01 8.57551e+01 8.20266e+01 + 7.82981e+01 7.45697e+01 7.08412e+01 6.71127e+01 6.33842e+01 5.96557e+01 + 5.59272e+01 5.21988e+01 4.84703e+01 4.47418e+01 4.10133e+01 3.72848e+01 + 3.35563e+01 2.98279e+01 2.60994e+01 2.23709e+01 1.86424e+01 1.49139e+01 + 1.11854e+01 7.45697e+00 3.72848e+00 0.00000e+00 + -117.7314 33.4446 4.4995 -41 89 1.00000e+10 30.5179 1.00000e-01 + 180 271.91 34 0.00 0 0.00 0 + 0.00000e+00 1.08207e+02 2.16415e+02 3.24622e+02 1.37991e+02 1.33233e+02 + 1.28474e+02 1.23716e+02 1.18958e+02 1.14199e+02 1.09441e+02 1.04683e+02 + 9.99244e+01 9.51661e+01 9.04078e+01 8.56495e+01 8.08912e+01 7.61329e+01 + 7.13746e+01 6.66163e+01 6.18580e+01 5.70997e+01 5.23414e+01 4.75831e+01 + 4.28247e+01 3.80664e+01 3.33081e+01 2.85498e+01 2.37915e+01 1.90332e+01 + 1.42749e+01 9.51661e+00 4.75831e+00 0.00000e+00 + -117.7385 33.4514 4.4995 -41 89 1.00000e+10 30.0774 1.00000e-01 + 180 360.71 34 0.00 0 0.00 0 + 0.00000e+00 1.43544e+02 2.87089e+02 4.30633e+02 1.83054e+02 1.76742e+02 + 1.70430e+02 1.64118e+02 1.57805e+02 1.51493e+02 1.45181e+02 1.38869e+02 + 1.32557e+02 1.26244e+02 1.19932e+02 1.13620e+02 1.07308e+02 1.00995e+02 + 9.46833e+01 8.83710e+01 8.20588e+01 7.57466e+01 6.94344e+01 6.31222e+01 + 5.68100e+01 5.04977e+01 4.41855e+01 3.78733e+01 3.15611e+01 2.52489e+01 + 1.89367e+01 1.26244e+01 6.31222e+00 0.00000e+00 + -117.7456 33.4582 4.4995 -41 89 1.00000e+10 29.5830 1.00000e-01 + 180 511.06 34 0.00 0 0.00 0 + 0.00000e+00 2.03376e+02 4.06751e+02 6.10127e+02 2.59354e+02 2.50411e+02 + 2.41468e+02 2.32524e+02 2.23581e+02 2.14638e+02 2.05695e+02 1.96751e+02 + 1.87808e+02 1.78865e+02 1.69922e+02 1.60978e+02 1.52035e+02 1.43092e+02 + 1.34149e+02 1.25205e+02 1.16262e+02 1.07319e+02 9.83757e+01 8.94324e+01 + 8.04892e+01 7.15459e+01 6.26027e+01 5.36595e+01 4.47162e+01 3.57730e+01 + 2.68297e+01 1.78865e+01 8.94324e+00 0.00000e+00 + -117.7527 33.4649 4.4995 -41 89 1.00000e+10 29.0996 1.00000e-01 + 180 648.62 34 0.00 0 0.00 0 + 0.00000e+00 2.58118e+02 5.16237e+02 7.74355e+02 3.29164e+02 3.17814e+02 + 3.06463e+02 2.95113e+02 2.83762e+02 2.72412e+02 2.61061e+02 2.49711e+02 + 2.38360e+02 2.27010e+02 2.15659e+02 2.04309e+02 1.92958e+02 1.81608e+02 + 1.70257e+02 1.58907e+02 1.47556e+02 1.36206e+02 1.24855e+02 1.13505e+02 + 1.02154e+02 9.08039e+01 7.94535e+01 6.81030e+01 5.67525e+01 4.54020e+01 + 3.40515e+01 2.27010e+01 1.13505e+01 0.00000e+00 + -117.7598 33.4717 4.4995 -41 89 1.00000e+10 28.7362 1.00000e-01 + 180 664.58 34 0.00 0 0.00 0 + 0.00000e+00 2.64470e+02 5.28941e+02 7.93411e+02 3.37265e+02 3.25635e+02 + 3.14005e+02 3.02375e+02 2.90746e+02 2.79116e+02 2.67486e+02 2.55856e+02 + 2.44226e+02 2.32596e+02 2.20967e+02 2.09337e+02 1.97707e+02 1.86077e+02 + 1.74447e+02 1.62818e+02 1.51188e+02 1.39558e+02 1.27928e+02 1.16298e+02 + 1.04668e+02 9.30386e+01 8.14088e+01 6.97789e+01 5.81491e+01 4.65193e+01 + 3.48895e+01 2.32596e+01 1.16298e+01 0.00000e+00 + -117.7669 33.4785 4.4995 -41 89 1.00000e+10 28.5037 1.00000e-01 + 180 549.15 34 0.00 0 0.00 0 + 0.00000e+00 2.18535e+02 4.37071e+02 6.55606e+02 2.78686e+02 2.69076e+02 + 2.59467e+02 2.49857e+02 2.40247e+02 2.30637e+02 2.21027e+02 2.11417e+02 + 2.01807e+02 1.92197e+02 1.82588e+02 1.72978e+02 1.63368e+02 1.53758e+02 + 1.44148e+02 1.34538e+02 1.24928e+02 1.15318e+02 1.05709e+02 9.60987e+01 + 8.64889e+01 7.68790e+01 6.72691e+01 5.76592e+01 4.80494e+01 3.84395e+01 + 2.88296e+01 1.92197e+01 9.60987e+00 0.00000e+00 + -117.7740 33.4853 4.4995 -41 89 1.00000e+10 28.3557 1.00000e-01 + 180 350.24 34 0.00 0 0.00 0 + 0.00000e+00 1.39379e+02 2.78758e+02 4.18137e+02 1.77743e+02 1.71614e+02 + 1.65485e+02 1.59356e+02 1.53226e+02 1.47097e+02 1.40968e+02 1.34839e+02 + 1.28710e+02 1.22581e+02 1.16452e+02 1.10323e+02 1.04194e+02 9.80649e+01 + 9.19359e+01 8.58068e+01 7.96778e+01 7.35487e+01 6.74196e+01 6.12906e+01 + 5.51615e+01 4.90325e+01 4.29034e+01 3.67743e+01 3.06453e+01 2.45162e+01 + 1.83872e+01 1.22581e+01 6.12906e+00 0.00000e+00 + -117.7811 33.4920 4.4995 -41 89 1.00000e+10 28.2516 1.00000e-01 + 180 102.28 34 0.00 0 0.00 0 + 0.00000e+00 4.07016e+01 8.14032e+01 1.22105e+02 5.19045e+01 5.01147e+01 + 4.83249e+01 4.65351e+01 4.47453e+01 4.29555e+01 4.11657e+01 3.93759e+01 + 3.75860e+01 3.57962e+01 3.40064e+01 3.22166e+01 3.04268e+01 2.86370e+01 + 2.68472e+01 2.50574e+01 2.32676e+01 2.14777e+01 1.96879e+01 1.78981e+01 + 1.61083e+01 1.43185e+01 1.25287e+01 1.07389e+01 8.94906e+00 7.15925e+00 + 5.36943e+00 3.57962e+00 1.78981e+00 0.00000e+00 + -117.7882 33.4988 4.4995 -41 89 1.00000e+10 27.9815 1.00000e-01 + 180 26.08 34 0.00 0 0.00 0 + 0.00000e+00 1.03770e+01 2.07540e+01 3.11310e+01 1.32332e+01 1.27769e+01 + 1.23206e+01 1.18643e+01 1.14080e+01 1.09516e+01 1.04953e+01 1.00390e+01 + 9.58268e+00 9.12636e+00 8.67004e+00 8.21372e+00 7.75741e+00 7.30109e+00 + 6.84477e+00 6.38845e+00 5.93213e+00 5.47582e+00 5.01950e+00 4.56318e+00 + 4.10686e+00 3.65054e+00 3.19423e+00 2.73791e+00 2.28159e+00 1.82527e+00 + 1.36895e+00 9.12636e-01 4.56318e-01 0.00000e+00 + -117.7953 33.5056 4.4995 -42 89 1.00000e+10 27.5798 1.00000e-01 + 180 80.82 34 0.00 0 0.00 0 + 0.00000e+00 3.21623e+01 6.43246e+01 9.64870e+01 4.10149e+01 3.96006e+01 + 3.81863e+01 3.67719e+01 3.53576e+01 3.39433e+01 3.25290e+01 3.11147e+01 + 2.97004e+01 2.82861e+01 2.68718e+01 2.54575e+01 2.40432e+01 2.26289e+01 + 2.12146e+01 1.98003e+01 1.83860e+01 1.69717e+01 1.55574e+01 1.41431e+01 + 1.27288e+01 1.13144e+01 9.90014e+00 8.48584e+00 7.07153e+00 5.65722e+00 + 4.24292e+00 2.82861e+00 1.41431e+00 0.00000e+00 + -117.8030 33.5118 4.4995 -49 89 1.00000e+10 27.1416 1.00000e-01 + 180 172.11 34 0.00 0 0.00 0 + 0.00000e+00 6.84931e+01 1.36986e+02 2.05479e+02 8.73456e+01 8.43337e+01 + 8.13218e+01 7.83098e+01 7.52979e+01 7.22860e+01 6.92741e+01 6.62622e+01 + 6.32503e+01 6.02383e+01 5.72264e+01 5.42145e+01 5.12026e+01 4.81907e+01 + 4.51788e+01 4.21668e+01 3.91549e+01 3.61430e+01 3.31311e+01 3.01192e+01 + 2.71073e+01 2.40953e+01 2.10834e+01 1.80715e+01 1.50596e+01 1.20477e+01 + 9.03575e+00 6.02383e+00 3.01192e+00 0.00000e+00 + -117.8112 33.5177 4.4995 -49 89 1.00000e+10 26.7266 1.00000e-01 + 180 241.28 34 0.00 0 0.00 0 + 0.00000e+00 9.60175e+01 1.92035e+02 2.88053e+02 1.22446e+02 1.18224e+02 + 1.14001e+02 1.09779e+02 1.05557e+02 1.01335e+02 9.71123e+01 9.28900e+01 + 8.86678e+01 8.44455e+01 8.02232e+01 7.60009e+01 7.17787e+01 6.75564e+01 + 6.33341e+01 5.91118e+01 5.48896e+01 5.06673e+01 4.64450e+01 4.22227e+01 + 3.80005e+01 3.37782e+01 2.95559e+01 2.53336e+01 2.11114e+01 1.68891e+01 + 1.26668e+01 8.44455e+00 4.22227e+00 0.00000e+00 + -117.8194 33.5236 4.4995 -49 89 1.00000e+10 26.3944 1.00000e-01 + 180 229.16 34 0.00 0 0.00 0 + 0.00000e+00 9.11936e+01 1.82387e+02 2.73581e+02 1.16294e+02 1.12284e+02 + 1.08274e+02 1.04264e+02 1.00254e+02 9.62435e+01 9.22334e+01 8.82232e+01 + 8.42131e+01 8.02029e+01 7.61928e+01 7.21826e+01 6.81725e+01 6.41623e+01 + 6.01522e+01 5.61420e+01 5.21319e+01 4.81218e+01 4.41116e+01 4.01015e+01 + 3.60913e+01 3.20812e+01 2.80710e+01 2.40609e+01 2.00507e+01 1.60406e+01 + 1.20304e+01 8.02029e+00 4.01015e+00 0.00000e+00 + -117.8276 33.5295 4.4995 -49 89 1.00000e+10 26.0128 1.00000e-01 + 180 259.93 34 0.00 0 0.00 0 + 0.00000e+00 1.03439e+02 2.06879e+02 3.10318e+02 1.31911e+02 1.27362e+02 + 1.22813e+02 1.18265e+02 1.13716e+02 1.09167e+02 1.04619e+02 1.00070e+02 + 9.55215e+01 9.09728e+01 8.64242e+01 8.18756e+01 7.73269e+01 7.27783e+01 + 6.82296e+01 6.36810e+01 5.91324e+01 5.45837e+01 5.00351e+01 4.54864e+01 + 4.09378e+01 3.63891e+01 3.18405e+01 2.72919e+01 2.27432e+01 1.81946e+01 + 1.36459e+01 9.09728e+00 4.54864e+00 0.00000e+00 + -117.8357 33.5353 4.4995 -49 89 1.00000e+10 25.6675 1.00000e-01 + 180 259.47 34 0.00 0 0.00 0 + 0.00000e+00 1.03258e+02 2.06516e+02 3.09774e+02 1.31679e+02 1.27139e+02 + 1.22598e+02 1.18057e+02 1.13517e+02 1.08976e+02 1.04435e+02 9.98947e+01 + 9.53541e+01 9.08134e+01 8.62727e+01 8.17321e+01 7.71914e+01 7.26507e+01 + 6.81101e+01 6.35694e+01 5.90287e+01 5.44880e+01 4.99474e+01 4.54067e+01 + 4.08660e+01 3.63254e+01 3.17847e+01 2.72440e+01 2.27034e+01 1.81627e+01 + 1.36220e+01 9.08134e+00 4.54067e+00 0.00000e+00 + -117.8439 33.5412 4.4995 -49 89 1.00000e+10 25.3541 1.00000e-01 + 180 228.41 34 0.00 0 0.00 0 + 0.00000e+00 9.08972e+01 1.81794e+02 2.72692e+02 1.15916e+02 1.11919e+02 + 1.07922e+02 1.03925e+02 9.99278e+01 9.59307e+01 9.19336e+01 8.79365e+01 + 8.39394e+01 7.99422e+01 7.59451e+01 7.19480e+01 6.79509e+01 6.39538e+01 + 5.99567e+01 5.59596e+01 5.19625e+01 4.79653e+01 4.39682e+01 3.99711e+01 + 3.59740e+01 3.19769e+01 2.79798e+01 2.39827e+01 1.99856e+01 1.59884e+01 + 1.19913e+01 7.99422e+00 3.99711e+00 0.00000e+00 + -117.8521 33.5471 4.4995 -49 89 1.00000e+10 25.0120 1.00000e-01 + 180 220.30 34 0.00 0 0.00 0 + 0.00000e+00 8.76676e+01 1.75335e+02 2.63003e+02 1.11798e+02 1.07943e+02 + 1.04088e+02 1.00232e+02 9.63773e+01 9.25222e+01 8.86672e+01 8.48121e+01 + 8.09570e+01 7.71019e+01 7.32468e+01 6.93917e+01 6.55366e+01 6.16815e+01 + 5.78264e+01 5.39713e+01 5.01162e+01 4.62611e+01 4.24060e+01 3.85509e+01 + 3.46958e+01 3.08407e+01 2.69857e+01 2.31306e+01 1.92755e+01 1.54204e+01 + 1.15653e+01 7.71019e+00 3.85509e+00 0.00000e+00 + -117.8603 33.5529 4.4995 -49 89 1.00000e+10 24.6174 1.00000e-01 + 180 270.18 34 0.00 0 0.00 0 + 0.00000e+00 1.07520e+02 2.15039e+02 3.22559e+02 1.37114e+02 1.32386e+02 + 1.27658e+02 1.22930e+02 1.18202e+02 1.13473e+02 1.08745e+02 1.04017e+02 + 9.92893e+01 9.45612e+01 8.98332e+01 8.51051e+01 8.03771e+01 7.56490e+01 + 7.09209e+01 6.61929e+01 6.14648e+01 5.67367e+01 5.20087e+01 4.72806e+01 + 4.25526e+01 3.78245e+01 3.30964e+01 2.83684e+01 2.36403e+01 1.89122e+01 + 1.41842e+01 9.45612e+00 4.72806e+00 0.00000e+00 + -117.8685 33.5588 4.4995 -49 89 1.00000e+10 24.3024 1.00000e-01 + 180 234.16 34 0.00 0 0.00 0 + 0.00000e+00 9.31840e+01 1.86368e+02 2.79552e+02 1.18832e+02 1.14735e+02 + 1.10637e+02 1.06539e+02 1.02442e+02 9.83441e+01 9.42464e+01 9.01488e+01 + 8.60511e+01 8.19534e+01 7.78558e+01 7.37581e+01 6.96604e+01 6.55627e+01 + 6.14651e+01 5.73674e+01 5.32697e+01 4.91721e+01 4.50744e+01 4.09767e+01 + 3.68790e+01 3.27814e+01 2.86837e+01 2.45860e+01 2.04884e+01 1.63907e+01 + 1.22930e+01 8.19534e+00 4.09767e+00 0.00000e+00 + -117.8767 33.5647 4.4995 -49 89 1.00000e+10 23.9781 1.00000e-01 + 180 215.52 34 0.00 0 0.00 0 + 0.00000e+00 8.57685e+01 1.71537e+02 2.57305e+02 1.09376e+02 1.05604e+02 + 1.01833e+02 9.80611e+01 9.42896e+01 9.05180e+01 8.67464e+01 8.29748e+01 + 7.92032e+01 7.54317e+01 7.16601e+01 6.78885e+01 6.41169e+01 6.03453e+01 + 5.65737e+01 5.28022e+01 4.90306e+01 4.52590e+01 4.14874e+01 3.77158e+01 + 3.39442e+01 3.01727e+01 2.64011e+01 2.26295e+01 1.88579e+01 1.50863e+01 + 1.13147e+01 7.54317e+00 3.77158e+00 0.00000e+00 + -117.8848 33.5706 4.4995 -49 89 1.00000e+10 23.6312 1.00000e-01 + 180 214.63 34 0.00 0 0.00 0 + 0.00000e+00 8.54124e+01 1.70825e+02 2.56237e+02 1.08922e+02 1.05166e+02 + 1.01410e+02 9.76540e+01 9.38981e+01 9.01422e+01 8.63863e+01 8.26303e+01 + 7.88744e+01 7.51185e+01 7.13626e+01 6.76066e+01 6.38507e+01 6.00948e+01 + 5.63389e+01 5.25829e+01 4.88270e+01 4.50711e+01 4.13152e+01 3.75592e+01 + 3.38033e+01 3.00474e+01 2.62915e+01 2.25355e+01 1.87796e+01 1.50237e+01 + 1.12678e+01 7.51185e+00 3.75592e+00 0.00000e+00 + -117.8930 33.5764 4.4995 -49 89 1.00000e+10 23.3838 1.00000e-01 + 180 111.22 34 0.00 0 0.00 0 + 0.00000e+00 4.42607e+01 8.85214e+01 1.32782e+02 5.64433e+01 5.44970e+01 + 5.25507e+01 5.06043e+01 4.86580e+01 4.67117e+01 4.47654e+01 4.28190e+01 + 4.08727e+01 3.89264e+01 3.69801e+01 3.50338e+01 3.30874e+01 3.11411e+01 + 2.91948e+01 2.72485e+01 2.53022e+01 2.33558e+01 2.14095e+01 1.94632e+01 + 1.75169e+01 1.55706e+01 1.36242e+01 1.16779e+01 9.73160e+00 7.78528e+00 + 5.83896e+00 3.89264e+00 1.94632e+00 0.00000e+00 + -117.9012 33.5823 4.4995 -49 89 1.00000e+10 23.0118 1.00000e-01 + 180 133.97 34 0.00 0 0.00 0 + 0.00000e+00 5.33141e+01 1.06628e+02 1.59942e+02 6.79885e+01 6.56441e+01 + 6.32997e+01 6.09552e+01 5.86108e+01 5.62664e+01 5.39219e+01 5.15775e+01 + 4.92331e+01 4.68886e+01 4.45442e+01 4.21998e+01 3.98553e+01 3.75109e+01 + 3.51665e+01 3.28221e+01 3.04776e+01 2.81332e+01 2.57888e+01 2.34443e+01 + 2.10999e+01 1.87555e+01 1.64110e+01 1.40666e+01 1.17222e+01 9.37773e+00 + 7.03330e+00 4.68886e+00 2.34443e+00 0.00000e+00 + -117.9094 33.5882 4.4995 -49 89 1.00000e+10 22.6944 1.00000e-01 + 180 109.52 34 0.00 0 0.00 0 + 0.00000e+00 4.35850e+01 8.71701e+01 1.30755e+02 5.55816e+01 5.36650e+01 + 5.17484e+01 4.98318e+01 4.79152e+01 4.59986e+01 4.40820e+01 4.21654e+01 + 4.02488e+01 3.83322e+01 3.64156e+01 3.44989e+01 3.25823e+01 3.06657e+01 + 2.87491e+01 2.68325e+01 2.49159e+01 2.29993e+01 2.10827e+01 1.91661e+01 + 1.72495e+01 1.53329e+01 1.34163e+01 1.14997e+01 9.58304e+00 7.66643e+00 + 5.74983e+00 3.83322e+00 1.91661e+00 0.00000e+00 + -117.9168 33.5947 4.4995 -37 89 1.00000e+10 22.4548 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9233 33.6019 4.4995 -37 89 1.00000e+10 22.1040 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9298 33.6091 4.4995 -37 89 1.00000e+10 21.7618 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9364 33.6162 4.4995 -38 89 1.00000e+10 21.4135 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9431 33.6232 4.4995 -39 89 1.00000e+10 21.0629 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9498 33.6303 4.4995 -39 89 1.00000e+10 20.7200 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9565 33.6373 4.4995 -39 89 1.00000e+10 20.3679 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -117.9633 33.6444 4.4995 -39 89 1.00000e+10 19.9902 1.00000e-01 + 180 33.07 34 0.00 0 0.00 0 + 0.00000e+00 1.31585e+01 2.63170e+01 3.94755e+01 1.67803e+01 1.62017e+01 + 1.56231e+01 1.50444e+01 1.44658e+01 1.38872e+01 1.33085e+01 1.27299e+01 + 1.21513e+01 1.15726e+01 1.09940e+01 1.04154e+01 9.83675e+00 9.25812e+00 + 8.67949e+00 8.10085e+00 7.52222e+00 6.94359e+00 6.36496e+00 5.78632e+00 + 5.20769e+00 4.62906e+00 4.05043e+00 3.47179e+00 2.89316e+00 2.31453e+00 + 1.73590e+00 1.15726e+00 5.78632e-01 0.00000e+00 + -117.9700 33.6514 4.4995 -39 89 1.00000e+10 19.5926 1.00000e-01 + 180 84.74 34 0.00 0 0.00 0 + 0.00000e+00 3.37211e+01 6.74422e+01 1.01163e+02 4.30027e+01 4.15198e+01 + 4.00370e+01 3.85541e+01 3.70713e+01 3.55884e+01 3.41056e+01 3.26227e+01 + 3.11399e+01 2.96570e+01 2.81742e+01 2.66913e+01 2.52085e+01 2.37256e+01 + 2.22428e+01 2.07599e+01 1.92771e+01 1.77942e+01 1.63114e+01 1.48285e+01 + 1.33457e+01 1.18628e+01 1.03800e+01 8.89710e+00 7.41425e+00 5.93140e+00 + 4.44855e+00 2.96570e+00 1.48285e+00 0.00000e+00 + -117.9767 33.6585 4.4995 -39 89 1.00000e+10 19.1025 1.00000e-01 + 180 232.06 34 0.00 0 0.00 0 + 0.00000e+00 9.23498e+01 1.84700e+02 2.77049e+02 1.17769e+02 1.13708e+02 + 1.09647e+02 1.05586e+02 1.01525e+02 9.74637e+01 9.34028e+01 8.93418e+01 + 8.52808e+01 8.12198e+01 7.71588e+01 7.30978e+01 6.90368e+01 6.49758e+01 + 6.09148e+01 5.68538e+01 5.27929e+01 4.87319e+01 4.46709e+01 4.06099e+01 + 3.65489e+01 3.24879e+01 2.84269e+01 2.43659e+01 2.03049e+01 1.62440e+01 + 1.21830e+01 8.12198e+00 4.06099e+00 0.00000e+00 + -117.9835 33.6655 4.4995 -39 89 1.00000e+10 18.7212 1.00000e-01 + 180 266.62 34 0.00 0 0.00 0 + 0.00000e+00 1.06100e+02 2.12200e+02 3.18300e+02 1.35304e+02 1.30638e+02 + 1.25972e+02 1.21307e+02 1.16641e+02 1.11975e+02 1.07310e+02 1.02644e+02 + 9.79784e+01 9.33128e+01 8.86471e+01 8.39815e+01 7.93159e+01 7.46502e+01 + 6.99846e+01 6.53189e+01 6.06533e+01 5.59877e+01 5.13220e+01 4.66564e+01 + 4.19908e+01 3.73251e+01 3.26595e+01 2.79938e+01 2.33282e+01 1.86626e+01 + 1.39969e+01 9.33128e+00 4.66564e+00 0.00000e+00 + -117.9904 33.6724 4.4995 -41 89 1.00000e+10 18.4317 1.00000e-01 + 180 202.67 34 0.00 0 0.00 0 + 0.00000e+00 8.06535e+01 1.61307e+02 2.41960e+02 1.02853e+02 9.93064e+01 + 9.57597e+01 9.22131e+01 8.86664e+01 8.51197e+01 8.15731e+01 7.80264e+01 + 7.44798e+01 7.09331e+01 6.73865e+01 6.38398e+01 6.02932e+01 5.67465e+01 + 5.31998e+01 4.96532e+01 4.61065e+01 4.25599e+01 3.90132e+01 3.54666e+01 + 3.19199e+01 2.83732e+01 2.48266e+01 2.12799e+01 1.77333e+01 1.41866e+01 + 1.06400e+01 7.09331e+00 3.54666e+00 0.00000e+00 + -117.9983 33.6784 4.4995 -54 89 1.00000e+10 18.0873 1.00000e-01 + 180 200.79 34 0.00 0 0.00 0 + 0.00000e+00 7.99045e+01 1.59809e+02 2.39713e+02 1.01898e+02 9.83841e+01 + 9.48704e+01 9.13567e+01 8.78430e+01 8.43293e+01 8.08155e+01 7.73018e+01 + 7.37881e+01 7.02744e+01 6.67607e+01 6.32469e+01 5.97332e+01 5.62195e+01 + 5.27058e+01 4.91921e+01 4.56783e+01 4.21646e+01 3.86509e+01 3.51372e+01 + 3.16235e+01 2.81098e+01 2.45960e+01 2.10823e+01 1.75686e+01 1.40549e+01 + 1.05412e+01 7.02744e+00 3.51372e+00 0.00000e+00 + -118.0071 33.6836 4.4995 -54 89 1.00000e+10 17.7198 1.00000e-01 + 180 225.35 34 0.00 0 0.00 0 + 0.00000e+00 8.96786e+01 1.79357e+02 2.69036e+02 1.14362e+02 1.10419e+02 + 1.06475e+02 1.02532e+02 9.85881e+01 9.46446e+01 9.07011e+01 8.67576e+01 + 8.28140e+01 7.88705e+01 7.49270e+01 7.09835e+01 6.70399e+01 6.30964e+01 + 5.91529e+01 5.52094e+01 5.12658e+01 4.73223e+01 4.33788e+01 3.94353e+01 + 3.54917e+01 3.15482e+01 2.76047e+01 2.36612e+01 1.97176e+01 1.57741e+01 + 1.18306e+01 7.88705e+00 3.94353e+00 0.00000e+00 + -118.0159 33.6888 4.4995 -54 89 1.00000e+10 17.4368 1.00000e-01 + 180 160.33 34 0.00 0 0.00 0 + 0.00000e+00 6.38055e+01 1.27611e+02 1.91417e+02 8.13678e+01 7.85620e+01 + 7.57562e+01 7.29504e+01 7.01446e+01 6.73388e+01 6.45331e+01 6.17273e+01 + 5.89215e+01 5.61157e+01 5.33099e+01 5.05041e+01 4.76983e+01 4.48926e+01 + 4.20868e+01 3.92810e+01 3.64752e+01 3.36694e+01 3.08636e+01 2.80578e+01 + 2.52521e+01 2.24463e+01 1.96405e+01 1.68347e+01 1.40289e+01 1.12231e+01 + 8.41735e+00 5.61157e+00 2.80578e+00 0.00000e+00 + -118.0247 33.6940 4.4995 -54 89 1.00000e+10 17.1382 1.00000e-01 + 180 108.05 34 0.00 0 0.00 0 + 0.00000e+00 4.29982e+01 8.59964e+01 1.28995e+02 5.48333e+01 5.29425e+01 + 5.10517e+01 4.91609e+01 4.72701e+01 4.53793e+01 4.34885e+01 4.15977e+01 + 3.97068e+01 3.78160e+01 3.59252e+01 3.40344e+01 3.21436e+01 3.02528e+01 + 2.83620e+01 2.64712e+01 2.45804e+01 2.26896e+01 2.07988e+01 1.89080e+01 + 1.70172e+01 1.51264e+01 1.32356e+01 1.13448e+01 9.45401e+00 7.56321e+00 + 5.67241e+00 3.78160e+00 1.89080e+00 0.00000e+00 + -118.0335 33.6993 4.4995 -54 89 1.00000e+10 16.8220 1.00000e-01 + 180 80.83 34 0.00 0 0.00 0 + 0.00000e+00 3.21682e+01 6.43364e+01 9.65046e+01 4.10224e+01 3.96078e+01 + 3.81932e+01 3.67787e+01 3.53641e+01 3.39495e+01 3.25350e+01 3.11204e+01 + 2.97058e+01 2.82913e+01 2.68767e+01 2.54622e+01 2.40476e+01 2.26330e+01 + 2.12185e+01 1.98039e+01 1.83893e+01 1.69748e+01 1.55602e+01 1.41456e+01 + 1.27311e+01 1.13165e+01 9.90195e+00 8.48739e+00 7.07282e+00 5.65826e+00 + 4.24369e+00 2.82913e+00 1.41456e+00 0.00000e+00 + -118.0423 33.7046 4.4995 -53 89 1.00000e+10 16.5433 1.00000e-01 + 180 11.18 34 0.00 0 0.00 0 + 0.00000e+00 4.44712e+00 8.89425e+00 1.33414e+01 5.67118e+00 5.47562e+00 + 5.28006e+00 5.08450e+00 4.88894e+00 4.69339e+00 4.49783e+00 4.30227e+00 + 4.10671e+00 3.91116e+00 3.71560e+00 3.52004e+00 3.32448e+00 3.12892e+00 + 2.93337e+00 2.73781e+00 2.54225e+00 2.34669e+00 2.15114e+00 1.95558e+00 + 1.76002e+00 1.56446e+00 1.36890e+00 1.17335e+00 9.77789e-01 7.82231e-01 + 5.86673e-01 3.91116e-01 1.95558e-01 0.00000e+00 + -118.0507 33.7102 4.4995 -50 89 1.00000e+10 16.2010 1.00000e-01 + 180 4.75 34 0.00 0 0.00 0 + 0.00000e+00 1.89202e+00 3.78404e+00 5.67606e+00 2.41279e+00 2.32959e+00 + 2.24639e+00 2.16319e+00 2.07999e+00 1.99679e+00 1.91359e+00 1.83039e+00 + 1.74719e+00 1.66400e+00 1.58080e+00 1.49760e+00 1.41440e+00 1.33120e+00 + 1.24800e+00 1.16480e+00 1.08160e+00 9.98397e-01 9.15197e-01 8.31998e-01 + 7.48798e-01 6.65598e-01 5.82398e-01 4.99198e-01 4.15999e-01 3.32799e-01 + 2.49599e-01 1.66399e-01 8.31997e-02 0.00000e+00 + -118.0589 33.7161 4.4995 -48 89 1.00000e+10 15.8412 1.00000e-01 + 180 18.67 34 0.00 0 0.00 0 + 0.00000e+00 7.43105e+00 1.48621e+01 2.22932e+01 9.47642e+00 9.14965e+00 + 8.82287e+00 8.49610e+00 8.16933e+00 7.84256e+00 7.51578e+00 7.18901e+00 + 6.86224e+00 6.53546e+00 6.20869e+00 5.88192e+00 5.55514e+00 5.22837e+00 + 4.90160e+00 4.57482e+00 4.24805e+00 3.92128e+00 3.59450e+00 3.26773e+00 + 2.94096e+00 2.61418e+00 2.28741e+00 1.96064e+00 1.63387e+00 1.30709e+00 + 9.80319e-01 6.53546e-01 3.26773e-01 0.00000e+00 + -118.0657 33.7229 4.4995 -31 89 1.00000e+10 15.4840 1.00000e-01 + 180 30.64 34 0.00 0 0.00 0 + 0.00000e+00 1.21925e+01 2.43849e+01 3.65774e+01 1.55484e+01 1.50122e+01 + 1.44761e+01 1.39399e+01 1.34038e+01 1.28676e+01 1.23315e+01 1.17953e+01 + 1.12592e+01 1.07230e+01 1.01869e+01 9.65072e+00 9.11457e+00 8.57842e+00 + 8.04227e+00 7.50611e+00 6.96996e+00 6.43381e+00 5.89766e+00 5.36151e+00 + 4.82536e+00 4.28921e+00 3.75306e+00 3.21691e+00 2.68076e+00 2.14460e+00 + 1.60845e+00 1.07230e+00 5.36151e-01 0.00000e+00 + -118.0713 33.7306 4.4995 -31 89 1.00000e+10 15.0737 1.00000e-01 + 180 94.49 34 0.00 0 0.00 0 + 0.00000e+00 3.76032e+01 7.52065e+01 1.12810e+02 4.79534e+01 4.62998e+01 + 4.46462e+01 4.29927e+01 4.13391e+01 3.96855e+01 3.80320e+01 3.63784e+01 + 3.47248e+01 3.30713e+01 3.14177e+01 2.97642e+01 2.81106e+01 2.64570e+01 + 2.48035e+01 2.31499e+01 2.14963e+01 1.98428e+01 1.81892e+01 1.65356e+01 + 1.48821e+01 1.32285e+01 1.15749e+01 9.92138e+00 8.26782e+00 6.61426e+00 + 4.96069e+00 3.30713e+00 1.65356e+00 0.00000e+00 + -118.0778 33.7377 4.4995 -44 89 1.00000e+10 14.6300 1.00000e-01 + 180 190.52 34 0.00 0 0.00 0 + 0.00000e+00 7.58173e+01 1.51635e+02 2.27452e+02 9.66857e+01 9.33517e+01 + 9.00177e+01 8.66837e+01 8.33497e+01 8.00157e+01 7.66818e+01 7.33478e+01 + 7.00138e+01 6.66798e+01 6.33458e+01 6.00118e+01 5.66778e+01 5.33438e+01 + 5.00098e+01 4.66758e+01 4.33419e+01 4.00079e+01 3.66739e+01 3.33399e+01 + 3.00059e+01 2.66719e+01 2.33379e+01 2.00039e+01 1.66699e+01 1.33360e+01 + 1.00020e+01 6.66798e+00 3.33399e+00 0.00000e+00 + -118.0855 33.7439 4.4995 -47 89 1.00000e+10 14.2322 1.00000e-01 + 180 240.55 34 0.00 0 0.00 0 + 0.00000e+00 9.57267e+01 1.91453e+02 2.87180e+02 1.22075e+02 1.17866e+02 + 1.13656e+02 1.09447e+02 1.05237e+02 1.01028e+02 9.68181e+01 9.26086e+01 + 8.83992e+01 8.41897e+01 7.99802e+01 7.57707e+01 7.15612e+01 6.73517e+01 + 6.31423e+01 5.89328e+01 5.47233e+01 5.05138e+01 4.63043e+01 4.20948e+01 + 3.78854e+01 3.36759e+01 2.94664e+01 2.52569e+01 2.10474e+01 1.68379e+01 + 1.26285e+01 8.41897e+00 4.20948e+00 0.00000e+00 + -118.0935 33.7501 4.4995 -47 89 1.00000e+10 13.8208 1.00000e-01 + 180 307.07 34 0.00 0 0.00 0 + 0.00000e+00 1.22198e+02 2.44396e+02 3.66593e+02 1.55832e+02 1.50459e+02 + 1.45085e+02 1.39712e+02 1.34338e+02 1.28965e+02 1.23591e+02 1.18218e+02 + 1.12844e+02 1.07470e+02 1.02097e+02 9.67234e+01 9.13499e+01 8.59764e+01 + 8.06029e+01 7.52293e+01 6.98558e+01 6.44823e+01 5.91088e+01 5.37352e+01 + 4.83617e+01 4.29882e+01 3.76147e+01 3.22411e+01 2.68676e+01 2.14941e+01 + 1.61206e+01 1.07470e+01 5.37352e+00 0.00000e+00 + -118.1014 33.7562 4.4995 -47 89 1.00000e+10 13.4566 1.00000e-01 + 180 326.45 34 0.00 0 0.00 0 + 0.00000e+00 1.29913e+02 2.59826e+02 3.89738e+02 1.65671e+02 1.59958e+02 + 1.54245e+02 1.48532e+02 1.42820e+02 1.37107e+02 1.31394e+02 1.25681e+02 + 1.19968e+02 1.14256e+02 1.08543e+02 1.02830e+02 9.71174e+01 9.14046e+01 + 8.56918e+01 7.99790e+01 7.42662e+01 6.85534e+01 6.28406e+01 5.71279e+01 + 5.14151e+01 4.57023e+01 3.99895e+01 3.42767e+01 2.85639e+01 2.28511e+01 + 1.71384e+01 1.14256e+01 5.71279e+00 0.00000e+00 + -118.1094 33.7623 4.4995 -47 89 1.00000e+10 13.0856 1.00000e-01 + 180 353.64 34 0.00 0 0.00 0 + 0.00000e+00 1.40733e+02 2.81466e+02 4.22199e+02 1.79469e+02 1.73281e+02 + 1.67092e+02 1.60903e+02 1.54715e+02 1.48526e+02 1.42338e+02 1.36149e+02 + 1.29960e+02 1.23772e+02 1.17583e+02 1.11395e+02 1.05206e+02 9.90175e+01 + 9.28289e+01 8.66403e+01 8.04517e+01 7.42631e+01 6.80745e+01 6.18859e+01 + 5.56973e+01 4.95087e+01 4.33201e+01 3.71315e+01 3.09430e+01 2.47544e+01 + 1.85658e+01 1.23772e+01 6.18859e+00 0.00000e+00 + -118.1176 33.7681 4.4995 -52 89 1.00000e+10 12.7325 1.00000e-01 + 180 358.76 34 0.00 0 0.00 0 + 0.00000e+00 1.42768e+02 2.85536e+02 4.28304e+02 1.82064e+02 1.75786e+02 + 1.69508e+02 1.63230e+02 1.56952e+02 1.50674e+02 1.44396e+02 1.38118e+02 + 1.31840e+02 1.25562e+02 1.19284e+02 1.13005e+02 1.06727e+02 1.00449e+02 + 9.41712e+01 8.78931e+01 8.16151e+01 7.53370e+01 6.90589e+01 6.27808e+01 + 5.65027e+01 5.02246e+01 4.39466e+01 3.76685e+01 3.13904e+01 2.51123e+01 + 1.88342e+01 1.25562e+01 6.27808e+00 0.00000e+00 + -118.1261 33.7737 4.4995 -52 89 1.00000e+10 12.3120 1.00000e-01 + 180 432.96 34 0.00 0 0.00 0 + 0.00000e+00 1.72296e+02 3.44591e+02 5.16887e+02 2.19719e+02 2.12143e+02 + 2.04566e+02 1.96990e+02 1.89413e+02 1.81837e+02 1.74260e+02 1.66684e+02 + 1.59107e+02 1.51531e+02 1.43954e+02 1.36378e+02 1.28801e+02 1.21225e+02 + 1.13648e+02 1.06071e+02 9.84949e+01 9.09184e+01 8.33419e+01 7.57653e+01 + 6.81888e+01 6.06123e+01 5.30357e+01 4.54592e+01 3.78827e+01 3.03061e+01 + 2.27296e+01 1.51531e+01 7.57653e+00 0.00000e+00 + -118.1347 33.7792 4.4995 -52 89 1.00000e+10 11.8642 1.00000e-01 + 180 535.22 34 0.00 0 0.00 0 + 0.00000e+00 2.12990e+02 4.25980e+02 6.38971e+02 2.71615e+02 2.62249e+02 + 2.52883e+02 2.43517e+02 2.34151e+02 2.24785e+02 2.15419e+02 2.06053e+02 + 1.96687e+02 1.87321e+02 1.77955e+02 1.68589e+02 1.59222e+02 1.49856e+02 + 1.40490e+02 1.31124e+02 1.21758e+02 1.12392e+02 1.03026e+02 9.36603e+01 + 8.42943e+01 7.49282e+01 6.55622e+01 5.61962e+01 4.68301e+01 3.74641e+01 + 2.80981e+01 1.87321e+01 9.36603e+00 0.00000e+00 + -118.1432 33.7848 4.4995 -52 89 1.00000e+10 11.4717 1.00000e-01 + 180 583.38 34 0.00 0 0.00 0 + 0.00000e+00 2.32156e+02 4.64311e+02 6.96467e+02 2.96056e+02 2.85847e+02 + 2.75638e+02 2.65429e+02 2.55220e+02 2.45012e+02 2.34803e+02 2.24594e+02 + 2.14385e+02 2.04176e+02 1.93967e+02 1.83759e+02 1.73550e+02 1.63341e+02 + 1.53132e+02 1.42923e+02 1.32715e+02 1.22506e+02 1.12297e+02 1.02088e+02 + 9.18793e+01 8.16705e+01 7.14617e+01 6.12529e+01 5.10441e+01 4.08353e+01 + 3.06264e+01 2.04176e+01 1.02088e+01 0.00000e+00 + -118.1516 33.7904 4.4995 -51 89 1.00000e+10 11.1580 1.00000e-01 + 180 551.88 34 0.00 0 0.00 0 + 0.00000e+00 2.19622e+02 4.39245e+02 6.58867e+02 2.80072e+02 2.70415e+02 + 2.60757e+02 2.51099e+02 2.41442e+02 2.31784e+02 2.22126e+02 2.12469e+02 + 2.02811e+02 1.93153e+02 1.83496e+02 1.73838e+02 1.64180e+02 1.54523e+02 + 1.44865e+02 1.35207e+02 1.25550e+02 1.15892e+02 1.06234e+02 9.65767e+01 + 8.69190e+01 7.72613e+01 6.76037e+01 5.79460e+01 4.82883e+01 3.86307e+01 + 2.89730e+01 1.93153e+01 9.65767e+00 0.00000e+00 + -118.1600 33.7961 4.4995 -50 89 1.00000e+10 10.8369 1.00000e-01 + 180 528.09 34 0.00 0 0.00 0 + 0.00000e+00 2.10155e+02 4.20310e+02 6.30464e+02 2.67999e+02 2.58758e+02 + 2.49516e+02 2.40275e+02 2.31034e+02 2.21792e+02 2.12551e+02 2.03310e+02 + 1.94068e+02 1.84827e+02 1.75586e+02 1.66344e+02 1.57103e+02 1.47862e+02 + 1.38620e+02 1.29379e+02 1.20138e+02 1.10896e+02 1.01655e+02 9.24135e+01 + 8.31721e+01 7.39308e+01 6.46894e+01 5.54481e+01 4.62067e+01 3.69654e+01 + 2.77240e+01 1.84827e+01 9.24135e+00 0.00000e+00 + -118.1684 33.8018 4.4995 -50 89 1.00000e+10 10.5554 1.00000e-01 + 180 465.57 34 0.00 0 0.00 0 + 0.00000e+00 1.85275e+02 3.70550e+02 5.55825e+02 2.36271e+02 2.28124e+02 + 2.19977e+02 2.11829e+02 2.03682e+02 1.95535e+02 1.87387e+02 1.79240e+02 + 1.71093e+02 1.62946e+02 1.54798e+02 1.46651e+02 1.38504e+02 1.30356e+02 + 1.22209e+02 1.14062e+02 1.05915e+02 9.77673e+01 8.96201e+01 8.14728e+01 + 7.33255e+01 6.51782e+01 5.70309e+01 4.88837e+01 4.07364e+01 3.25891e+01 + 2.44418e+01 1.62946e+01 8.14728e+00 0.00000e+00 + -118.1767 33.8076 4.4995 -50 89 1.00000e+10 10.2501 1.00000e-01 + 180 423.57 34 0.00 0 0.00 0 + 0.00000e+00 1.68562e+02 3.37124e+02 5.05686e+02 2.14958e+02 2.07546e+02 + 2.00133e+02 1.92721e+02 1.85309e+02 1.77896e+02 1.70484e+02 1.63072e+02 + 1.55659e+02 1.48247e+02 1.40835e+02 1.33422e+02 1.26010e+02 1.18598e+02 + 1.11185e+02 1.03773e+02 9.63605e+01 8.89482e+01 8.15358e+01 7.41235e+01 + 6.67111e+01 5.92988e+01 5.18864e+01 4.44741e+01 3.70617e+01 2.96494e+01 + 2.22370e+01 1.48247e+01 7.41235e+00 0.00000e+00 + -118.1851 33.8133 4.4995 -50 89 1.00000e+10 9.9938 1.00000e-01 + 180 337.18 34 0.00 0 0.00 0 + 0.00000e+00 1.34180e+02 2.68361e+02 4.02541e+02 1.71113e+02 1.65212e+02 + 1.59312e+02 1.53412e+02 1.47511e+02 1.41611e+02 1.35710e+02 1.29810e+02 + 1.23909e+02 1.18009e+02 1.12108e+02 1.06208e+02 1.00308e+02 9.44071e+01 + 8.85067e+01 8.26062e+01 7.67058e+01 7.08053e+01 6.49049e+01 5.90044e+01 + 5.31040e+01 4.72035e+01 4.13031e+01 3.54027e+01 2.95022e+01 2.36018e+01 + 1.77013e+01 1.18009e+01 5.90044e+00 0.00000e+00 + -118.1934 33.8190 4.4995 -50 89 1.00000e+10 9.6470 1.00000e-01 + 180 337.57 34 0.00 0 0.00 0 + 0.00000e+00 1.34336e+02 2.68671e+02 4.03007e+02 1.71311e+02 1.65404e+02 + 1.59496e+02 1.53589e+02 1.47682e+02 1.41775e+02 1.35867e+02 1.29960e+02 + 1.24053e+02 1.18146e+02 1.12238e+02 1.06331e+02 1.00424e+02 9.45164e+01 + 8.86091e+01 8.27019e+01 7.67946e+01 7.08873e+01 6.49800e+01 5.90728e+01 + 5.31655e+01 4.72582e+01 4.13509e+01 3.54437e+01 2.95364e+01 2.36291e+01 + 1.77218e+01 1.18146e+01 5.90728e+00 0.00000e+00 + -118.2017 33.8248 4.4995 -50 89 1.00000e+10 9.4496 1.00000e-01 + 180 193.17 34 0.00 0 0.00 0 + 0.00000e+00 7.68709e+01 1.53742e+02 2.30613e+02 9.80294e+01 9.46490e+01 + 9.12687e+01 8.78884e+01 8.45081e+01 8.11277e+01 7.77474e+01 7.43671e+01 + 7.09868e+01 6.76065e+01 6.42261e+01 6.08458e+01 5.74655e+01 5.40852e+01 + 5.07048e+01 4.73245e+01 4.39442e+01 4.05639e+01 3.71835e+01 3.38032e+01 + 3.04229e+01 2.70426e+01 2.36623e+01 2.02819e+01 1.69016e+01 1.35213e+01 + 1.01410e+01 6.76065e+00 3.38032e+00 0.00000e+00 + -118.2100 33.8306 4.4995 -49 89 1.00000e+10 9.1987 1.00000e-01 + 180 100.02 34 0.00 0 0.00 0 + 0.00000e+00 3.98047e+01 7.96095e+01 1.19414e+02 5.07608e+01 4.90105e+01 + 4.72601e+01 4.55097e+01 4.37593e+01 4.20090e+01 4.02586e+01 3.85082e+01 + 3.67578e+01 3.50075e+01 3.32571e+01 3.15067e+01 2.97564e+01 2.80060e+01 + 2.62556e+01 2.45052e+01 2.27549e+01 2.10045e+01 1.92541e+01 1.75037e+01 + 1.57534e+01 1.40030e+01 1.22526e+01 1.05022e+01 8.75187e+00 7.00149e+00 + 5.25112e+00 3.50075e+00 1.75037e+00 0.00000e+00 + -118.2184 33.8362 4.4995 -54 89 1.00000e+10 8.7905 1.00000e-01 + 180 169.88 34 0.00 0 0.00 0 + 0.00000e+00 6.76046e+01 1.35209e+02 2.02814e+02 8.62125e+01 8.32396e+01 + 8.02668e+01 7.72939e+01 7.43211e+01 7.13483e+01 6.83754e+01 6.54026e+01 + 6.24297e+01 5.94569e+01 5.64840e+01 5.35112e+01 5.05383e+01 4.75655e+01 + 4.45927e+01 4.16198e+01 3.86470e+01 3.56741e+01 3.27013e+01 2.97284e+01 + 2.67556e+01 2.37828e+01 2.08099e+01 1.78371e+01 1.48642e+01 1.18914e+01 + 8.91853e+00 5.94569e+00 2.97284e+00 0.00000e+00 + -118.2272 33.8415 4.4995 -54 89 1.00000e+10 8.5269 1.00000e-01 + 180 93.45 34 0.00 0 0.00 0 + 0.00000e+00 3.71898e+01 7.43796e+01 1.11569e+02 4.74261e+01 4.57908e+01 + 4.41554e+01 4.25200e+01 4.08846e+01 3.92492e+01 3.76138e+01 3.59785e+01 + 3.43431e+01 3.27077e+01 3.10723e+01 2.94369e+01 2.78015e+01 2.61662e+01 + 2.45308e+01 2.28954e+01 2.12600e+01 1.96246e+01 1.79892e+01 1.63538e+01 + 1.47185e+01 1.30831e+01 1.14477e+01 9.81231e+00 8.17692e+00 6.54154e+00 + 4.90615e+00 3.27077e+00 1.63538e+00 0.00000e+00 + -118.2345 33.8479 4.4995 -33 89 1.00000e+10 8.2782 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2404 33.8555 4.4995 -33 89 1.00000e+10 7.9379 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2463 33.8630 4.4995 -33 89 1.00000e+10 7.6051 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2523 33.8706 4.4995 -33 89 1.00000e+10 7.2711 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2582 33.8781 4.4995 -33 89 1.00000e+10 6.9385 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2642 33.8856 4.4995 -35 89 1.00000e+10 6.6103 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2705 33.8929 4.4995 -36 89 1.00000e+10 6.2816 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2770 33.9001 4.4995 -36 89 1.00000e+10 5.9590 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2834 33.9074 4.4995 -36 89 1.00000e+10 5.6417 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2897 33.9147 4.4995 -35 89 1.00000e+10 5.3292 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.2959 33.9221 4.4995 -34 89 1.00000e+10 5.0236 1.00000e-01 + 180 0.00 34 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -118.3027 33.9287 4.4995 -47 89 1.00000e+10 4.6538 1.00000e-01 + 180 66.00 34 0.00 0 0.00 0 + 0.00000e+00 2.62650e+01 5.25301e+01 7.87951e+01 3.34944e+01 3.23394e+01 + 3.11844e+01 3.00295e+01 2.88745e+01 2.77195e+01 2.65645e+01 2.54095e+01 + 2.42546e+01 2.30996e+01 2.19446e+01 2.07896e+01 1.96346e+01 1.84797e+01 + 1.73247e+01 1.61697e+01 1.50147e+01 1.38597e+01 1.27048e+01 1.15498e+01 + 1.03948e+01 9.23983e+00 8.08485e+00 6.92987e+00 5.77490e+00 4.61992e+00 + 3.46494e+00 2.30996e+00 1.15498e+00 0.00000e+00 + -118.3117 33.9325 4.4995 -78 89 1.00000e+10 4.2893 1.00000e-01 + 180 138.98 34 0.00 0 0.00 0 + 0.00000e+00 5.53078e+01 1.10616e+02 1.65923e+02 7.05310e+01 6.80989e+01 + 6.56668e+01 6.32347e+01 6.08026e+01 5.83705e+01 5.59384e+01 5.35063e+01 + 5.10742e+01 4.86421e+01 4.62100e+01 4.37779e+01 4.13458e+01 3.89137e+01 + 3.64816e+01 3.40494e+01 3.16173e+01 2.91852e+01 2.67531e+01 2.43210e+01 + 2.18889e+01 1.94568e+01 1.70247e+01 1.45926e+01 1.21605e+01 9.72841e+00 + 7.29631e+00 4.86421e+00 2.43210e+00 0.00000e+00 + -118.3199 33.9372 4.4995 -33 89 1.00000e+10 3.9599 1.00000e-01 + 180 186.35 34 0.00 0 0.00 0 + 0.00000e+00 7.41599e+01 1.48320e+02 2.22480e+02 9.45720e+01 9.13109e+01 + 8.80498e+01 8.47887e+01 8.15276e+01 7.82665e+01 7.50054e+01 7.17443e+01 + 6.84832e+01 6.52221e+01 6.19610e+01 5.86999e+01 5.54388e+01 5.21777e+01 + 4.89166e+01 4.56555e+01 4.23944e+01 3.91333e+01 3.58722e+01 3.26110e+01 + 2.93499e+01 2.60888e+01 2.28277e+01 1.95666e+01 1.63055e+01 1.30444e+01 + 9.78331e+00 6.52221e+00 3.26110e+00 0.00000e+00 + -118.3257 33.9447 4.4995 -32 89 1.00000e+10 3.6853 1.00000e-01 + 180 190.65 34 0.00 0 0.00 0 + 0.00000e+00 7.58695e+01 1.51739e+02 2.27608e+02 9.67522e+01 9.34159e+01 + 9.00797e+01 8.67434e+01 8.34071e+01 8.00708e+01 7.67345e+01 7.33982e+01 + 7.00620e+01 6.67257e+01 6.33894e+01 6.00531e+01 5.67168e+01 5.33805e+01 + 5.00443e+01 4.67080e+01 4.33717e+01 4.00354e+01 3.66991e+01 3.33628e+01 + 3.00266e+01 2.66903e+01 2.33540e+01 2.00177e+01 1.66814e+01 1.33451e+01 + 1.00089e+01 6.67257e+00 3.33628e+00 0.00000e+00 + -118.3330 33.9510 4.4995 -56 89 1.00000e+10 3.4838 1.00000e-01 + 180 141.98 34 0.00 0 0.00 0 + 0.00000e+00 5.65018e+01 1.13004e+02 1.69505e+02 7.20537e+01 6.95691e+01 + 6.70845e+01 6.45999e+01 6.21153e+01 5.96306e+01 5.71460e+01 5.46614e+01 + 5.21768e+01 4.96922e+01 4.72076e+01 4.47230e+01 4.22384e+01 3.97538e+01 + 3.72692e+01 3.47845e+01 3.22999e+01 2.98153e+01 2.73307e+01 2.48461e+01 + 2.23615e+01 1.98769e+01 1.73923e+01 1.49077e+01 1.24231e+01 9.93844e+00 + 7.45383e+00 4.96922e+00 2.48461e+00 0.00000e+00 + -118.3420 33.9561 4.4995 -56 89 1.00000e+10 3.2895 1.00000e-01 + 180 96.58 34 0.00 0 0.00 0 + 0.00000e+00 3.84344e+01 7.68687e+01 1.15303e+02 4.90133e+01 4.73232e+01 + 4.56330e+01 4.39429e+01 4.22528e+01 4.05627e+01 3.88726e+01 3.71825e+01 + 3.54924e+01 3.38022e+01 3.21121e+01 3.04220e+01 2.87319e+01 2.70418e+01 + 2.53517e+01 2.36616e+01 2.19715e+01 2.02814e+01 1.85912e+01 1.69011e+01 + 1.52110e+01 1.35209e+01 1.18308e+01 1.01407e+01 8.45056e+00 6.76045e+00 + 5.07034e+00 3.38022e+00 1.69011e+00 0.00000e+00 + -118.3499 33.9618 4.4995 -42 89 1.00000e+10 3.0719 1.00000e-01 + 180 102.54 34 0.00 0 0.00 0 + 0.00000e+00 4.08068e+01 8.16135e+01 1.22420e+02 5.20387e+01 5.02442e+01 + 4.84498e+01 4.66554e+01 4.48609e+01 4.30665e+01 4.12720e+01 3.94776e+01 + 3.76832e+01 3.58887e+01 3.40943e+01 3.22999e+01 3.05054e+01 2.87110e+01 + 2.69165e+01 2.51221e+01 2.33277e+01 2.15332e+01 1.97388e+01 1.79444e+01 + 1.61499e+01 1.43555e+01 1.25611e+01 1.07666e+01 8.97218e+00 7.17775e+00 + 5.38331e+00 3.58887e+00 1.79444e+00 0.00000e+00 + -118.3544 33.9693 4.4995 -12 89 1.00000e+10 2.9297 1.00000e-01 + 180 61.84 34 0.00 0 0.00 0 + 0.00000e+00 2.46111e+01 4.92221e+01 7.38332e+01 3.13851e+01 3.03029e+01 + 2.92207e+01 2.81384e+01 2.70562e+01 2.59739e+01 2.48917e+01 2.38094e+01 + 2.27272e+01 2.16449e+01 2.05627e+01 1.94804e+01 1.83982e+01 1.73159e+01 + 1.62337e+01 1.51515e+01 1.40692e+01 1.29870e+01 1.19047e+01 1.08225e+01 + 9.74022e+00 8.65797e+00 7.57573e+00 6.49348e+00 5.41123e+00 4.32899e+00 + 3.24674e+00 2.16449e+00 1.08225e+00 0.00000e+00 + -118.3568 33.9781 4.4995 -12 89 1.00000e+10 2.7832 1.00000e-01 + 180 54.95 34 0.00 0 0.00 0 + 0.00000e+00 2.18687e+01 4.37373e+01 6.56060e+01 2.78879e+01 2.69263e+01 + 2.59646e+01 2.50030e+01 2.40413e+01 2.30797e+01 2.21180e+01 2.11564e+01 + 2.01947e+01 1.92330e+01 1.82714e+01 1.73097e+01 1.63481e+01 1.53864e+01 + 1.44248e+01 1.34631e+01 1.25015e+01 1.15398e+01 1.05782e+01 9.61652e+00 + 8.65487e+00 7.69322e+00 6.73157e+00 5.76991e+00 4.80826e+00 3.84661e+00 + 2.88496e+00 1.92330e+00 9.61652e-01 0.00000e+00 + -118.3593 33.9868 4.4995 -15 89 1.00000e+10 2.6418 1.00000e-01 + 180 83.58 34 0.00 0 0.00 0 + 0.00000e+00 3.32601e+01 6.65202e+01 9.97802e+01 4.24148e+01 4.09522e+01 + 3.94896e+01 3.80270e+01 3.65645e+01 3.51019e+01 3.36393e+01 3.21767e+01 + 3.07141e+01 2.92516e+01 2.77890e+01 2.63264e+01 2.48638e+01 2.34013e+01 + 2.19387e+01 2.04761e+01 1.90135e+01 1.75509e+01 1.60884e+01 1.46258e+01 + 1.31632e+01 1.17006e+01 1.02380e+01 8.77547e+00 7.31289e+00 5.85031e+00 + 4.38774e+00 2.92516e+00 1.46258e+00 0.00000e+00 + -118.3628 33.9953 4.4995 -23 89 1.00000e+10 2.5819 1.00000e-01 + 180 72.49 34 0.00 0 0.00 0 + 0.00000e+00 2.88470e+01 5.76940e+01 8.65410e+01 3.67870e+01 3.55185e+01 + 3.42500e+01 3.29815e+01 3.17130e+01 3.04444e+01 2.91759e+01 2.79074e+01 + 2.66389e+01 2.53704e+01 2.41018e+01 2.28333e+01 2.15648e+01 2.02963e+01 + 1.90278e+01 1.77593e+01 1.64907e+01 1.52222e+01 1.39537e+01 1.26852e+01 + 1.14167e+01 1.01481e+01 8.87963e+00 7.61111e+00 6.34259e+00 5.07407e+00 + 3.80556e+00 2.53704e+00 1.26852e+00 0.00000e+00 + -118.3671 34.0036 4.4995 -24 89 1.00000e+10 2.5943 1.00000e-01 + 180 35.96 34 0.00 0 0.00 0 + 0.00000e+00 1.43111e+01 2.86223e+01 4.29334e+01 1.82502e+01 1.76209e+01 + 1.69916e+01 1.63623e+01 1.57329e+01 1.51036e+01 1.44743e+01 1.38450e+01 + 1.32157e+01 1.25864e+01 1.19570e+01 1.13277e+01 1.06984e+01 1.00691e+01 + 9.43977e+00 8.81045e+00 8.18113e+00 7.55182e+00 6.92250e+00 6.29318e+00 + 5.66386e+00 5.03454e+00 4.40523e+00 3.77591e+00 3.14659e+00 2.51727e+00 + 1.88795e+00 1.25864e+00 6.29318e-01 0.00000e+00 + -118.3715 34.0118 4.4995 -24 89 1.00000e+10 2.6447 1.00000e-01 + 180 9.13 34 0.00 0 0.00 0 + 0.00000e+00 3.63480e+00 7.26960e+00 1.09044e+01 4.63527e+00 4.47543e+00 + 4.31559e+00 4.15576e+00 3.99592e+00 3.83608e+00 3.67625e+00 3.51641e+00 + 3.35657e+00 3.19674e+00 3.03690e+00 2.87706e+00 2.71722e+00 2.55739e+00 + 2.39755e+00 2.23771e+00 2.07788e+00 1.91804e+00 1.75820e+00 1.59837e+00 + 1.43853e+00 1.27869e+00 1.11886e+00 9.59020e-01 7.99184e-01 6.39347e-01 + 4.79510e-01 3.19673e-01 1.59837e-01 0.00000e+00 + -118.3760 34.0200 4.4995 -24 89 1.00000e+10 2.7172 1.00000e-01 + 180 7.56 34 0.00 0 0.00 0 + 0.00000e+00 3.00967e+00 6.01933e+00 9.02900e+00 3.83807e+00 3.70572e+00 + 3.57337e+00 3.44102e+00 3.30868e+00 3.17633e+00 3.04398e+00 2.91164e+00 + 2.77929e+00 2.64694e+00 2.51459e+00 2.38225e+00 2.24990e+00 2.11755e+00 + 1.98521e+00 1.85286e+00 1.72051e+00 1.58816e+00 1.45582e+00 1.32347e+00 + 1.19112e+00 1.05878e+00 9.26430e-01 7.94082e-01 6.61735e-01 5.29388e-01 + 3.97041e-01 2.64694e-01 1.32347e-01 0.00000e+00 + -118.3805 34.0282 4.4995 -24 89 1.00000e+10 2.8312 1.00000e-01 + 180 6.58 34 0.00 0 0.00 0 + 0.00000e+00 2.61718e+00 5.23435e+00 7.85153e+00 3.33754e+00 3.22246e+00 + 3.10737e+00 2.99228e+00 2.87719e+00 2.76211e+00 2.64702e+00 2.53193e+00 + 2.41684e+00 2.30176e+00 2.18667e+00 2.07158e+00 1.95649e+00 1.84140e+00 + 1.72632e+00 1.61123e+00 1.49614e+00 1.38105e+00 1.26597e+00 1.15088e+00 + 1.03579e+00 9.20702e-01 8.05614e-01 6.90527e-01 5.75439e-01 4.60351e-01 + 3.45263e-01 2.30175e-01 1.15088e-01 0.00000e+00 + -117.3564 33.0607 5.4993 -33 89 1.00000e+10 50.0710 1.00000e-01 + 180 6.49 25 0.00 0 0.00 0 + 0.00000e+00 7.17071e+00 1.43414e+01 3.94533e+00 3.75745e+00 3.56958e+00 + 3.38171e+00 3.19383e+00 3.00596e+00 2.81809e+00 2.63022e+00 2.44234e+00 + 2.25447e+00 2.06660e+00 1.87873e+00 1.69085e+00 1.50298e+00 1.31511e+00 + 1.12724e+00 9.39363e-01 7.51490e-01 5.63618e-01 3.75745e-01 1.87873e-01 + 0.00000e+00 + -117.3623 33.0683 5.4993 -33 89 1.00000e+10 49.7012 1.00000e-01 + 180 30.70 25 0.00 0 0.00 0 + 0.00000e+00 3.39162e+01 6.78324e+01 1.86607e+01 1.77721e+01 1.68835e+01 + 1.59949e+01 1.51063e+01 1.42177e+01 1.33291e+01 1.24405e+01 1.15519e+01 + 1.06633e+01 9.77465e+00 8.88605e+00 7.99744e+00 7.10884e+00 6.22023e+00 + 5.33163e+00 4.44303e+00 3.55442e+00 2.66581e+00 1.77721e+00 8.88605e-01 + 0.00000e+00 + -117.3681 33.0758 5.4993 -33 89 1.00000e+10 49.3145 1.00000e-01 + 180 71.44 25 0.00 0 0.00 0 + 0.00000e+00 7.89145e+01 1.57829e+02 4.34188e+01 4.13512e+01 3.92837e+01 + 3.72161e+01 3.51486e+01 3.30810e+01 3.10134e+01 2.89459e+01 2.68783e+01 + 2.48107e+01 2.27432e+01 2.06756e+01 1.86081e+01 1.65405e+01 1.44729e+01 + 1.24054e+01 1.03378e+01 8.27025e+00 6.20269e+00 4.13512e+00 2.06756e+00 + 0.00000e+00 + -117.3742 33.0832 5.4993 -36 89 1.00000e+10 48.9447 1.00000e-01 + 180 90.84 25 0.00 0 0.00 0 + 0.00000e+00 1.00349e+02 2.00697e+02 5.52118e+01 5.25827e+01 4.99536e+01 + 4.73244e+01 4.46953e+01 4.20662e+01 3.94370e+01 3.68079e+01 3.41787e+01 + 3.15496e+01 2.89205e+01 2.62913e+01 2.36622e+01 2.10331e+01 1.84039e+01 + 1.57748e+01 1.31457e+01 1.05165e+01 7.88740e+00 5.25827e+00 2.62913e+00 + 0.00000e+00 + -117.3817 33.0895 5.4993 -55 89 1.00000e+10 48.5530 1.00000e-01 + 180 132.78 25 0.00 0 0.00 0 + 0.00000e+00 1.46677e+02 2.93354e+02 8.07018e+01 7.68588e+01 7.30159e+01 + 6.91730e+01 6.53300e+01 6.14871e+01 5.76441e+01 5.38012e+01 4.99582e+01 + 4.61153e+01 4.22724e+01 3.84294e+01 3.45865e+01 3.07435e+01 2.69006e+01 + 2.30576e+01 1.92147e+01 1.53718e+01 1.15288e+01 7.68588e+00 3.84294e+00 + 0.00000e+00 + -117.3905 33.0946 5.4993 -55 89 1.00000e+10 48.2115 1.00000e-01 + 180 128.90 25 0.00 0 0.00 0 + 0.00000e+00 1.42396e+02 2.84793e+02 7.83466e+01 7.46158e+01 7.08850e+01 + 6.71542e+01 6.34234e+01 5.96926e+01 5.59618e+01 5.22311e+01 4.85003e+01 + 4.47695e+01 4.10387e+01 3.73079e+01 3.35771e+01 2.98463e+01 2.61155e+01 + 2.23847e+01 1.86540e+01 1.49232e+01 1.11924e+01 7.46158e+00 3.73079e+00 + 0.00000e+00 + -117.3989 33.1002 5.4993 -48 89 1.00000e+10 47.9068 1.00000e-01 + 180 88.55 25 0.00 0 0.00 0 + 0.00000e+00 9.78253e+01 1.95651e+02 5.38235e+01 5.12605e+01 4.86975e+01 + 4.61345e+01 4.35714e+01 4.10084e+01 3.84454e+01 3.58824e+01 3.33193e+01 + 3.07563e+01 2.81933e+01 2.56303e+01 2.30672e+01 2.05042e+01 1.79412e+01 + 1.53781e+01 1.28151e+01 1.02521e+01 7.68907e+00 5.12605e+00 2.56302e+00 + 0.00000e+00 + -117.4068 33.1062 5.4993 -47 89 1.00000e+10 47.5298 1.00000e-01 + 180 114.45 25 0.00 0 0.00 0 + 0.00000e+00 1.26428e+02 2.52856e+02 6.95606e+01 6.62482e+01 6.29358e+01 + 5.96234e+01 5.63110e+01 5.29986e+01 4.96862e+01 4.63738e+01 4.30613e+01 + 3.97489e+01 3.64365e+01 3.31241e+01 2.98117e+01 2.64993e+01 2.31869e+01 + 1.98745e+01 1.65621e+01 1.32496e+01 9.93723e+00 6.62482e+00 3.31241e+00 + 0.00000e+00 + -117.4139 33.1129 5.4993 -36 89 1.00000e+10 47.2287 1.00000e-01 + 180 72.87 25 0.00 0 0.00 0 + 0.00000e+00 8.04995e+01 1.60999e+02 4.42909e+01 4.21818e+01 4.00727e+01 + 3.79636e+01 3.58545e+01 3.37454e+01 3.16363e+01 2.95272e+01 2.74182e+01 + 2.53091e+01 2.32000e+01 2.10909e+01 1.89818e+01 1.68727e+01 1.47636e+01 + 1.26545e+01 1.05454e+01 8.43636e+00 6.32727e+00 4.21818e+00 2.10909e+00 + 0.00000e+00 + -117.4199 33.1203 5.4993 -33 89 1.00000e+10 46.9527 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.4236 33.1285 5.4993 -8 89 1.00000e+10 46.6065 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.4251 33.1374 5.4993 -8 89 1.00000e+10 46.2555 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.4267 33.1463 5.4993 -8 89 1.00000e+10 45.8961 1.00000e-01 + 180 11.18 25 0.00 0 0.00 0 + 0.00000e+00 1.23557e+01 2.47115e+01 6.79813e+00 6.47441e+00 6.15069e+00 + 5.82697e+00 5.50325e+00 5.17953e+00 4.85581e+00 4.53209e+00 4.20837e+00 + 3.88465e+00 3.56093e+00 3.23721e+00 2.91349e+00 2.58977e+00 2.26604e+00 + 1.94232e+00 1.61860e+00 1.29488e+00 9.71162e-01 6.47441e-01 3.23721e-01 + 0.00000e+00 + -117.4292 33.1549 5.4993 -20 89 1.00000e+10 45.5251 1.00000e-01 + 180 36.84 25 0.00 0 0.00 0 + 0.00000e+00 4.06972e+01 8.13945e+01 2.23916e+01 2.13254e+01 2.02591e+01 + 1.91928e+01 1.81266e+01 1.70603e+01 1.59940e+01 1.49278e+01 1.38615e+01 + 1.27952e+01 1.17290e+01 1.06627e+01 9.59642e+00 8.53015e+00 7.46388e+00 + 6.39761e+00 5.33134e+00 4.26507e+00 3.19880e+00 2.13254e+00 1.06627e+00 + 0.00000e+00 + -117.4342 33.1625 5.4993 -39 89 1.00000e+10 45.0647 1.00000e-01 + 180 149.21 25 0.00 0 0.00 0 + 0.00000e+00 1.64834e+02 3.29668e+02 9.06917e+01 8.63731e+01 8.20544e+01 + 7.77358e+01 7.34171e+01 6.90985e+01 6.47798e+01 6.04612e+01 5.61425e+01 + 5.18238e+01 4.75052e+01 4.31865e+01 3.88679e+01 3.45492e+01 3.02306e+01 + 2.59119e+01 2.15933e+01 1.72746e+01 1.29560e+01 8.63731e+00 4.31865e+00 + 0.00000e+00 + -117.4410 33.1695 5.4993 -39 89 1.00000e+10 44.6769 1.00000e-01 + 180 191.75 25 0.00 0 0.00 0 + 0.00000e+00 2.11829e+02 4.23659e+02 1.16549e+02 1.10999e+02 1.05449e+02 + 9.98988e+01 9.43488e+01 8.87989e+01 8.32490e+01 7.76990e+01 7.21491e+01 + 6.65992e+01 6.10492e+01 5.54993e+01 4.99494e+01 4.43995e+01 3.88495e+01 + 3.32996e+01 2.77497e+01 2.21997e+01 1.66498e+01 1.10999e+01 5.54993e+00 + 0.00000e+00 + -117.4477 33.1765 5.4993 -39 89 1.00000e+10 44.2805 1.00000e-01 + 180 240.29 25 0.00 0 0.00 0 + 0.00000e+00 2.65447e+02 5.30894e+02 1.46049e+02 1.39094e+02 1.32140e+02 + 1.25185e+02 1.18230e+02 1.11276e+02 1.04321e+02 9.73661e+01 9.04114e+01 + 8.34567e+01 7.65019e+01 6.95472e+01 6.25925e+01 5.56378e+01 4.86831e+01 + 4.17283e+01 3.47736e+01 2.78189e+01 2.08642e+01 1.39094e+01 6.95472e+00 + 0.00000e+00 + -117.4544 33.1836 5.4993 -39 89 1.00000e+10 43.8079 1.00000e-01 + 180 369.63 25 0.00 0 0.00 0 + 0.00000e+00 4.08330e+02 8.16660e+02 2.24663e+02 2.13965e+02 2.03267e+02 + 1.92569e+02 1.81870e+02 1.71172e+02 1.60474e+02 1.49776e+02 1.39077e+02 + 1.28379e+02 1.17681e+02 1.06983e+02 9.62843e+01 8.55861e+01 7.48878e+01 + 6.41895e+01 5.34913e+01 4.27930e+01 3.20948e+01 2.13965e+01 1.06983e+01 + 0.00000e+00 + -117.4612 33.1906 5.4993 -39 89 1.00000e+10 43.4123 1.00000e-01 + 180 419.47 25 0.00 0 0.00 0 + 0.00000e+00 4.63391e+02 9.26782e+02 2.54958e+02 2.42817e+02 2.30676e+02 + 2.18535e+02 2.06394e+02 1.94254e+02 1.82113e+02 1.69972e+02 1.57831e+02 + 1.45690e+02 1.33549e+02 1.21408e+02 1.09268e+02 9.71268e+01 8.49859e+01 + 7.28451e+01 6.07042e+01 4.85634e+01 3.64225e+01 2.42817e+01 1.21408e+01 + 0.00000e+00 + -117.4679 33.1976 5.4993 -39 89 1.00000e+10 43.0572 1.00000e-01 + 180 427.02 25 0.00 0 0.00 0 + 0.00000e+00 4.71730e+02 9.43461e+02 2.59546e+02 2.47187e+02 2.34828e+02 + 2.22468e+02 2.10109e+02 1.97750e+02 1.85390e+02 1.73031e+02 1.60672e+02 + 1.48312e+02 1.35953e+02 1.23593e+02 1.11234e+02 9.88748e+01 8.65154e+01 + 7.41561e+01 6.17967e+01 4.94374e+01 3.70780e+01 2.47187e+01 1.23593e+01 + 0.00000e+00 + -117.4746 33.2046 5.4993 -39 89 1.00000e+10 42.7294 1.00000e-01 + 180 406.35 25 0.00 0 0.00 0 + 0.00000e+00 4.48895e+02 8.97790e+02 2.46982e+02 2.35221e+02 2.23460e+02 + 2.11699e+02 1.99938e+02 1.88177e+02 1.76416e+02 1.64655e+02 1.52894e+02 + 1.41133e+02 1.29372e+02 1.17611e+02 1.05850e+02 9.40885e+01 8.23274e+01 + 7.05664e+01 5.88053e+01 4.70442e+01 3.52832e+01 2.35221e+01 1.17611e+01 + 0.00000e+00 + -117.4813 33.2116 5.4993 -39 89 1.00000e+10 42.3820 1.00000e-01 + 180 405.03 25 0.00 0 0.00 0 + 0.00000e+00 4.47437e+02 8.94874e+02 2.46180e+02 2.34457e+02 2.22734e+02 + 2.11011e+02 1.99288e+02 1.87566e+02 1.75843e+02 1.64120e+02 1.52397e+02 + 1.40674e+02 1.28951e+02 1.17229e+02 1.05506e+02 9.37828e+01 8.20600e+01 + 7.03371e+01 5.86143e+01 4.68914e+01 3.51686e+01 2.34457e+01 1.17229e+01 + 0.00000e+00 + -117.4889 33.2179 5.4993 -51 89 1.00000e+10 42.0906 1.00000e-01 + 180 347.25 25 0.00 0 0.00 0 + 0.00000e+00 3.83609e+02 7.67219e+02 2.11062e+02 2.01011e+02 1.90961e+02 + 1.80910e+02 1.70860e+02 1.60809e+02 1.50759e+02 1.40708e+02 1.30657e+02 + 1.20607e+02 1.10556e+02 1.00506e+02 9.04552e+01 8.04046e+01 7.03540e+01 + 6.03034e+01 5.02529e+01 4.02023e+01 3.01517e+01 2.01011e+01 1.00506e+01 + 0.00000e+00 + -117.4975 33.2233 5.4993 -55 89 1.00000e+10 41.7122 1.00000e-01 + 180 382.75 25 0.00 0 0.00 0 + 0.00000e+00 4.22823e+02 8.45646e+02 2.32637e+02 2.21559e+02 2.10481e+02 + 1.99403e+02 1.88325e+02 1.77247e+02 1.66169e+02 1.55092e+02 1.44014e+02 + 1.32936e+02 1.21858e+02 1.10780e+02 9.97017e+01 8.86237e+01 7.75458e+01 + 6.64678e+01 5.53898e+01 4.43119e+01 3.32339e+01 2.21559e+01 1.10780e+01 + 0.00000e+00 + -117.5063 33.2285 5.4993 -55 89 1.00000e+10 41.3223 1.00000e-01 + 180 425.62 25 0.00 0 0.00 0 + 0.00000e+00 4.70180e+02 9.40360e+02 2.58693e+02 2.46374e+02 2.34056e+02 + 2.21737e+02 2.09418e+02 1.97100e+02 1.84781e+02 1.72462e+02 1.60143e+02 + 1.47825e+02 1.35506e+02 1.23187e+02 1.10869e+02 9.85498e+01 8.62311e+01 + 7.39123e+01 6.15936e+01 4.92749e+01 3.69562e+01 2.46374e+01 1.23187e+01 + 0.00000e+00 + -117.5151 33.2336 5.4993 -55 89 1.00000e+10 40.9429 1.00000e-01 + 180 454.40 25 0.00 0 0.00 0 + 0.00000e+00 5.01975e+02 1.00395e+03 2.76187e+02 2.63035e+02 2.49883e+02 + 2.36732e+02 2.23580e+02 2.10428e+02 1.97276e+02 1.84125e+02 1.70973e+02 + 1.57821e+02 1.44669e+02 1.31518e+02 1.18366e+02 1.05214e+02 9.20623e+01 + 7.89105e+01 6.57588e+01 5.26070e+01 3.94553e+01 2.63035e+01 1.31518e+01 + 0.00000e+00 + -117.5240 33.2387 5.4993 -55 89 1.00000e+10 40.6618 1.00000e-01 + 180 390.30 25 0.00 0 0.00 0 + 0.00000e+00 4.31169e+02 8.62338e+02 2.37229e+02 2.25933e+02 2.14636e+02 + 2.03339e+02 1.92043e+02 1.80746e+02 1.69450e+02 1.58153e+02 1.46856e+02 + 1.35560e+02 1.24263e+02 1.12966e+02 1.01670e+02 9.03731e+01 7.90764e+01 + 6.77798e+01 5.64832e+01 4.51865e+01 3.38899e+01 2.25933e+01 1.12966e+01 + 0.00000e+00 + -117.5328 33.2439 5.4993 -55 89 1.00000e+10 40.3726 1.00000e-01 + 180 331.82 25 0.00 0 0.00 0 + 0.00000e+00 3.66566e+02 7.33133e+02 2.01685e+02 1.92081e+02 1.82477e+02 + 1.72873e+02 1.63269e+02 1.53665e+02 1.44061e+02 1.34457e+02 1.24853e+02 + 1.15249e+02 1.05644e+02 9.60405e+01 8.64364e+01 7.68324e+01 6.72283e+01 + 5.76243e+01 4.80202e+01 3.84162e+01 2.88121e+01 1.92081e+01 9.60405e+00 + 0.00000e+00 + -117.5416 33.2490 5.4993 -55 89 1.00000e+10 39.9512 1.00000e-01 + 180 409.09 25 0.00 0 0.00 0 + 0.00000e+00 4.51923e+02 9.03846e+02 2.48648e+02 2.36808e+02 2.24968e+02 + 2.13127e+02 2.01287e+02 1.89446e+02 1.77606e+02 1.65766e+02 1.53925e+02 + 1.42085e+02 1.30244e+02 1.18404e+02 1.06564e+02 9.47232e+01 8.28828e+01 + 7.10424e+01 5.92020e+01 4.73616e+01 3.55212e+01 2.36808e+01 1.18404e+01 + 0.00000e+00 + -117.5494 33.2551 5.4993 -39 89 1.00000e+10 39.5590 1.00000e-01 + 180 455.47 25 0.00 0 0.00 0 + 0.00000e+00 5.03160e+02 1.00632e+03 2.76839e+02 2.63656e+02 2.50473e+02 + 2.37290e+02 2.24107e+02 2.10925e+02 1.97742e+02 1.84559e+02 1.71376e+02 + 1.58193e+02 1.45011e+02 1.31828e+02 1.18645e+02 1.05462e+02 9.22795e+01 + 7.90967e+01 6.59139e+01 5.27312e+01 3.95484e+01 2.63656e+01 1.31828e+01 + 0.00000e+00 + -117.5561 33.2621 5.4993 -38 89 1.00000e+10 39.2687 1.00000e-01 + 180 394.09 25 0.00 0 0.00 0 + 0.00000e+00 4.35358e+02 8.70716e+02 2.39534e+02 2.28128e+02 2.16721e+02 + 2.05315e+02 1.93909e+02 1.82502e+02 1.71096e+02 1.59689e+02 1.48283e+02 + 1.36877e+02 1.25470e+02 1.14064e+02 1.02657e+02 9.12511e+01 7.98447e+01 + 6.84383e+01 5.70319e+01 4.56255e+01 3.42192e+01 2.28128e+01 1.14064e+01 + 0.00000e+00 + -117.5627 33.2692 5.4993 -38 89 1.00000e+10 39.0166 1.00000e-01 + 180 297.84 25 0.00 0 0.00 0 + 0.00000e+00 3.29030e+02 6.58060e+02 1.81032e+02 1.72412e+02 1.63791e+02 + 1.55171e+02 1.46550e+02 1.37929e+02 1.29309e+02 1.20688e+02 1.12068e+02 + 1.03447e+02 9.48265e+01 8.62059e+01 7.75853e+01 6.89647e+01 6.03442e+01 + 5.17236e+01 4.31030e+01 3.44824e+01 2.58618e+01 1.72412e+01 8.62059e+00 + 0.00000e+00 + -117.5693 33.2763 5.4993 -38 89 1.00000e+10 38.7616 1.00000e-01 + 180 208.50 25 0.00 0 0.00 0 + 0.00000e+00 2.30335e+02 4.60670e+02 1.26730e+02 1.20696e+02 1.14661e+02 + 1.08626e+02 1.02591e+02 9.65564e+01 9.05217e+01 8.44869e+01 7.84521e+01 + 7.24173e+01 6.63826e+01 6.03478e+01 5.43130e+01 4.82782e+01 4.22435e+01 + 3.62087e+01 3.01739e+01 2.41391e+01 1.81043e+01 1.20696e+01 6.03478e+00 + 0.00000e+00 + -117.5759 33.2834 5.4993 -38 89 1.00000e+10 38.4317 1.00000e-01 + 180 191.52 25 0.00 0 0.00 0 + 0.00000e+00 2.11568e+02 4.23137e+02 1.16405e+02 1.10862e+02 1.05319e+02 + 9.97758e+01 9.42327e+01 8.86896e+01 8.31465e+01 7.76034e+01 7.20603e+01 + 6.65172e+01 6.09741e+01 5.54310e+01 4.98879e+01 4.43448e+01 3.88017e+01 + 3.32586e+01 2.77155e+01 2.21724e+01 1.66293e+01 1.10862e+01 5.54310e+00 + 0.00000e+00 + -117.5826 33.2905 5.4993 -38 89 1.00000e+10 38.1737 1.00000e-01 + 180 99.67 25 0.00 0 0.00 0 + 0.00000e+00 1.10101e+02 2.20203e+02 6.05778e+01 5.76931e+01 5.48085e+01 + 5.19238e+01 4.90391e+01 4.61545e+01 4.32698e+01 4.03852e+01 3.75005e+01 + 3.46159e+01 3.17312e+01 2.88466e+01 2.59619e+01 2.30772e+01 2.01926e+01 + 1.73079e+01 1.44233e+01 1.15386e+01 8.65397e+00 5.76931e+00 2.88466e+00 + 0.00000e+00 + -117.5892 33.2976 5.4993 -38 89 1.00000e+10 37.8870 1.00000e-01 + 180 35.08 25 0.00 0 0.00 0 + 0.00000e+00 3.87530e+01 7.75060e+01 2.13219e+01 2.03066e+01 1.92913e+01 + 1.82759e+01 1.72606e+01 1.62453e+01 1.52299e+01 1.42146e+01 1.31993e+01 + 1.21840e+01 1.11686e+01 1.01533e+01 9.13796e+00 8.12263e+00 7.10731e+00 + 6.09198e+00 5.07665e+00 4.06132e+00 3.04599e+00 2.03066e+00 1.01533e+00 + 0.00000e+00 + -117.5958 33.3047 5.4993 -38 89 1.00000e+10 37.5766 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.6024 33.3118 5.4993 -38 89 1.00000e+10 37.2307 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.6090 33.3189 5.4993 -38 89 1.00000e+10 36.8848 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.6157 33.3260 5.4993 -38 89 1.00000e+10 36.5336 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.6223 33.3331 5.4993 -38 89 1.00000e+10 36.1893 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.6289 33.3402 5.4993 -38 89 1.00000e+10 35.8013 1.00000e-01 + 180 40.27 25 0.00 0 0.00 0 + 0.00000e+00 4.44882e+01 8.89765e+01 2.44774e+01 2.33119e+01 2.21463e+01 + 2.09807e+01 1.98151e+01 1.86495e+01 1.74839e+01 1.63183e+01 1.51527e+01 + 1.39871e+01 1.28215e+01 1.16559e+01 1.04903e+01 9.32474e+00 8.15915e+00 + 6.99355e+00 5.82796e+00 4.66237e+00 3.49678e+00 2.33118e+00 1.16559e+00 + 0.00000e+00 + -117.6355 33.3473 5.4993 -38 89 1.00000e+10 35.4354 1.00000e-01 + 180 60.57 25 0.00 0 0.00 0 + 0.00000e+00 6.69091e+01 1.33818e+02 3.68134e+01 3.50604e+01 3.33074e+01 + 3.15544e+01 2.98013e+01 2.80483e+01 2.62953e+01 2.45423e+01 2.27893e+01 + 2.10362e+01 1.92832e+01 1.75302e+01 1.57772e+01 1.40242e+01 1.22711e+01 + 1.05181e+01 8.76510e+00 7.01208e+00 5.25906e+00 3.50604e+00 1.75302e+00 + 0.00000e+00 + -117.6422 33.3544 5.4993 -38 89 1.00000e+10 35.0753 1.00000e-01 + 180 72.65 25 0.00 0 0.00 0 + 0.00000e+00 8.02598e+01 1.60520e+02 4.41590e+01 4.20562e+01 3.99533e+01 + 3.78505e+01 3.57477e+01 3.36449e+01 3.15421e+01 2.94393e+01 2.73365e+01 + 2.52337e+01 2.31309e+01 2.10281e+01 1.89253e+01 1.68225e+01 1.47197e+01 + 1.26168e+01 1.05140e+01 8.41123e+00 6.30842e+00 4.20562e+00 2.10281e+00 + 0.00000e+00 + -117.6488 33.3615 5.4993 -38 89 1.00000e+10 34.6586 1.00000e-01 + 180 140.45 25 0.00 0 0.00 0 + 0.00000e+00 1.55157e+02 3.10314e+02 8.53673e+01 8.13022e+01 7.72371e+01 + 7.31720e+01 6.91069e+01 6.50418e+01 6.09767e+01 5.69116e+01 5.28464e+01 + 4.87813e+01 4.47162e+01 4.06511e+01 3.65860e+01 3.25209e+01 2.84558e+01 + 2.43907e+01 2.03256e+01 1.62604e+01 1.21953e+01 8.13022e+00 4.06511e+00 + 0.00000e+00 + -117.6554 33.3686 5.4993 -38 89 1.00000e+10 34.3202 1.00000e-01 + 180 133.19 25 0.00 0 0.00 0 + 0.00000e+00 1.47134e+02 2.94268e+02 8.09531e+01 7.70982e+01 7.32433e+01 + 6.93884e+01 6.55335e+01 6.16786e+01 5.78237e+01 5.39688e+01 5.01138e+01 + 4.62589e+01 4.24040e+01 3.85491e+01 3.46942e+01 3.08393e+01 2.69844e+01 + 2.31295e+01 1.92746e+01 1.54196e+01 1.15647e+01 7.70982e+00 3.85491e+00 + 0.00000e+00 + -117.6620 33.3757 5.4993 -38 89 1.00000e+10 33.9641 1.00000e-01 + 180 139.20 25 0.00 0 0.00 0 + 0.00000e+00 1.53780e+02 3.07560e+02 8.46099e+01 8.05809e+01 7.65518e+01 + 7.25228e+01 6.84938e+01 6.44647e+01 6.04357e+01 5.64066e+01 5.23776e+01 + 4.83485e+01 4.43195e+01 4.02904e+01 3.62614e+01 3.22324e+01 2.82033e+01 + 2.41743e+01 2.01452e+01 1.61162e+01 1.20871e+01 8.05809e+00 4.02904e+00 + 0.00000e+00 + -117.6687 33.3828 5.4993 -38 89 1.00000e+10 33.5248 1.00000e-01 + 180 234.34 25 0.00 0 0.00 0 + 0.00000e+00 2.58872e+02 5.17744e+02 1.42431e+02 1.35649e+02 1.28866e+02 + 1.22084e+02 1.15302e+02 1.08519e+02 1.01737e+02 9.49542e+01 8.81718e+01 + 8.13893e+01 7.46069e+01 6.78245e+01 6.10420e+01 5.42596e+01 4.74771e+01 + 4.06947e+01 3.39122e+01 2.71298e+01 2.03473e+01 1.35649e+01 6.78244e+00 + 0.00000e+00 + -117.6753 33.3899 5.4993 -38 89 1.00000e+10 33.1438 1.00000e-01 + 180 267.55 25 0.00 0 0.00 0 + 0.00000e+00 2.95560e+02 5.91120e+02 1.62617e+02 1.54874e+02 1.47130e+02 + 1.39386e+02 1.31643e+02 1.23899e+02 1.16155e+02 1.08412e+02 1.00668e+02 + 9.29242e+01 8.51805e+01 7.74368e+01 6.96931e+01 6.19495e+01 5.42058e+01 + 4.64621e+01 3.87184e+01 3.09747e+01 2.32310e+01 1.54874e+01 7.74368e+00 + 0.00000e+00 + -117.6819 33.3970 5.4993 -38 89 1.00000e+10 32.7542 1.00000e-01 + 180 315.54 25 0.00 0 0.00 0 + 0.00000e+00 3.48573e+02 6.97146e+02 1.91785e+02 1.82652e+02 1.73520e+02 + 1.64387e+02 1.55254e+02 1.46122e+02 1.36989e+02 1.27857e+02 1.18724e+02 + 1.09591e+02 1.00459e+02 9.13262e+01 8.21936e+01 7.30609e+01 6.39283e+01 + 5.47957e+01 4.56631e+01 3.65305e+01 2.73978e+01 1.82652e+01 9.13262e+00 + 0.00000e+00 + -117.6887 33.4040 5.4993 -40 89 1.00000e+10 32.5011 1.00000e-01 + 180 216.64 25 0.00 0 0.00 0 + 0.00000e+00 2.39318e+02 4.78636e+02 1.31673e+02 1.25403e+02 1.19133e+02 + 1.12862e+02 1.06592e+02 1.00322e+02 9.40520e+01 8.77819e+01 8.15118e+01 + 7.52416e+01 6.89715e+01 6.27014e+01 5.64312e+01 5.01611e+01 4.38910e+01 + 3.76208e+01 3.13507e+01 2.50805e+01 1.88104e+01 1.25403e+01 6.27014e+00 + 0.00000e+00 + -117.6958 33.4108 5.4993 -41 89 1.00000e+10 32.2614 1.00000e-01 + 180 111.55 25 0.00 0 0.00 0 + 0.00000e+00 1.23225e+02 2.46451e+02 6.77987e+01 6.45702e+01 6.13417e+01 + 5.81132e+01 5.48846e+01 5.16561e+01 4.84276e+01 4.51991e+01 4.19706e+01 + 3.87421e+01 3.55136e+01 3.22851e+01 2.90566e+01 2.58281e+01 2.25996e+01 + 1.93710e+01 1.61425e+01 1.29140e+01 9.68552e+00 6.45702e+00 3.22851e+00 + 0.00000e+00 + -117.7028 33.4176 5.4993 -41 89 1.00000e+10 31.8755 1.00000e-01 + 180 147.13 25 0.00 0 0.00 0 + 0.00000e+00 1.62533e+02 3.25066e+02 8.94257e+01 8.51674e+01 8.09090e+01 + 7.66506e+01 7.23923e+01 6.81339e+01 6.38755e+01 5.96172e+01 5.53588e+01 + 5.11004e+01 4.68420e+01 4.25837e+01 3.83253e+01 3.40669e+01 2.98086e+01 + 2.55502e+01 2.12918e+01 1.70335e+01 1.27751e+01 8.51674e+00 4.25837e+00 + 0.00000e+00 + -117.7099 33.4244 5.4993 -41 89 1.00000e+10 31.5040 1.00000e-01 + 180 169.76 25 0.00 0 0.00 0 + 0.00000e+00 1.87531e+02 3.75062e+02 1.03180e+02 9.82664e+01 9.33530e+01 + 8.84397e+01 8.35264e+01 7.86131e+01 7.36998e+01 6.87865e+01 6.38731e+01 + 5.89598e+01 5.40465e+01 4.91332e+01 4.42199e+01 3.93065e+01 3.43932e+01 + 2.94799e+01 2.45666e+01 1.96533e+01 1.47400e+01 9.82664e+00 4.91332e+00 + 0.00000e+00 + -117.7170 33.4311 5.4993 -41 89 1.00000e+10 31.0932 1.00000e-01 + 180 234.33 25 0.00 0 0.00 0 + 0.00000e+00 2.58865e+02 5.17730e+02 1.42428e+02 1.35645e+02 1.28863e+02 + 1.22081e+02 1.15299e+02 1.08516e+02 1.01734e+02 9.49518e+01 8.81695e+01 + 8.13873e+01 7.46050e+01 6.78227e+01 6.10404e+01 5.42582e+01 4.74759e+01 + 4.06936e+01 3.39114e+01 2.71291e+01 2.03468e+01 1.35645e+01 6.78227e+00 + 0.00000e+00 + -117.7241 33.4379 5.4993 -41 89 1.00000e+10 30.7413 1.00000e-01 + 180 242.24 25 0.00 0 0.00 0 + 0.00000e+00 2.67602e+02 5.35204e+02 1.47235e+02 1.40223e+02 1.33212e+02 + 1.26201e+02 1.19190e+02 1.12179e+02 1.05168e+02 9.81564e+01 9.11452e+01 + 8.41341e+01 7.71229e+01 7.01117e+01 6.31006e+01 5.60894e+01 4.90782e+01 + 4.20670e+01 3.50559e+01 2.80447e+01 2.10335e+01 1.40223e+01 7.01117e+00 + 0.00000e+00 + -117.7312 33.4447 5.4993 -41 89 1.00000e+10 30.4342 1.00000e-01 + 180 202.39 25 0.00 0 0.00 0 + 0.00000e+00 2.23581e+02 4.47161e+02 1.23014e+02 1.17156e+02 1.11298e+02 + 1.05441e+02 9.95828e+01 9.37250e+01 8.78672e+01 8.20094e+01 7.61516e+01 + 7.02938e+01 6.44359e+01 5.85781e+01 5.27203e+01 4.68625e+01 4.10047e+01 + 3.51469e+01 2.92891e+01 2.34313e+01 1.75734e+01 1.17156e+01 5.85781e+00 + 0.00000e+00 + -117.7383 33.4515 5.4993 -41 89 1.00000e+10 30.0191 1.00000e-01 + 180 270.19 25 0.00 0 0.00 0 + 0.00000e+00 2.98483e+02 5.96966e+02 1.64226e+02 1.56405e+02 1.48585e+02 + 1.40765e+02 1.32944e+02 1.25124e+02 1.17304e+02 1.09484e+02 1.01663e+02 + 9.38432e+01 8.60229e+01 7.82026e+01 7.03824e+01 6.25621e+01 5.47418e+01 + 4.69216e+01 3.91013e+01 3.12811e+01 2.34608e+01 1.56405e+01 7.82026e+00 + 0.00000e+00 + -117.7454 33.4582 5.4993 -41 89 1.00000e+10 29.4782 1.00000e-01 + 180 464.82 25 0.00 0 0.00 0 + 0.00000e+00 5.13486e+02 1.02697e+03 2.82520e+02 2.69067e+02 2.55613e+02 + 2.42160e+02 2.28707e+02 2.15253e+02 2.01800e+02 1.88347e+02 1.74893e+02 + 1.61440e+02 1.47987e+02 1.34533e+02 1.21080e+02 1.07627e+02 9.41734e+01 + 8.07200e+01 6.72667e+01 5.38133e+01 4.03600e+01 2.69067e+01 1.34533e+01 + 0.00000e+00 + -117.7525 33.4650 5.4993 -41 89 1.00000e+10 29.0099 1.00000e-01 + 180 587.03 25 0.00 0 0.00 0 + 0.00000e+00 6.48489e+02 1.29698e+03 3.56799e+02 3.39809e+02 3.22818e+02 + 3.05828e+02 2.88837e+02 2.71847e+02 2.54856e+02 2.37866e+02 2.20876e+02 + 2.03885e+02 1.86895e+02 1.69904e+02 1.52914e+02 1.35923e+02 1.18933e+02 + 1.01943e+02 8.49522e+01 6.79617e+01 5.09713e+01 3.39809e+01 1.69904e+01 + 0.00000e+00 + -117.7596 33.4718 5.4993 -41 89 1.00000e+10 28.6563 1.00000e-01 + 180 595.19 25 0.00 0 0.00 0 + 0.00000e+00 6.57504e+02 1.31501e+03 3.61759e+02 3.44532e+02 3.27306e+02 + 3.10079e+02 2.92852e+02 2.75626e+02 2.58399e+02 2.41173e+02 2.23946e+02 + 2.06719e+02 1.89493e+02 1.72266e+02 1.55040e+02 1.37813e+02 1.20586e+02 + 1.03360e+02 8.61331e+01 6.89064e+01 5.16798e+01 3.44532e+01 1.72266e+01 + 0.00000e+00 + -117.7667 33.4786 5.4993 -41 89 1.00000e+10 28.3823 1.00000e-01 + 180 520.87 25 0.00 0 0.00 0 + 0.00000e+00 5.75409e+02 1.15082e+03 3.16590e+02 3.01515e+02 2.86439e+02 + 2.71363e+02 2.56287e+02 2.41212e+02 2.26136e+02 2.11060e+02 1.95985e+02 + 1.80909e+02 1.65833e+02 1.50757e+02 1.35682e+02 1.20606e+02 1.05530e+02 + 9.04544e+01 7.53787e+01 6.03029e+01 4.52272e+01 3.01515e+01 1.50757e+01 + 0.00000e+00 + -117.7738 33.4853 5.4993 -41 89 1.00000e+10 28.2061 1.00000e-01 + 180 347.23 25 0.00 0 0.00 0 + 0.00000e+00 3.83589e+02 7.67178e+02 2.11051e+02 2.01001e+02 1.90951e+02 + 1.80901e+02 1.70851e+02 1.60801e+02 1.50751e+02 1.40701e+02 1.30651e+02 + 1.20600e+02 1.10550e+02 1.00500e+02 9.04504e+01 8.04003e+01 7.03503e+01 + 6.03002e+01 5.02502e+01 4.02002e+01 3.01501e+01 2.01001e+01 1.00500e+01 + 0.00000e+00 + -117.7809 33.4921 5.4993 -41 89 1.00000e+10 27.9825 1.00000e-01 + 180 225.92 25 0.00 0 0.00 0 + 0.00000e+00 2.49578e+02 4.99156e+02 1.37318e+02 1.30779e+02 1.24240e+02 + 1.17701e+02 1.11162e+02 1.04623e+02 9.80843e+01 9.15453e+01 8.50064e+01 + 7.84674e+01 7.19285e+01 6.53895e+01 5.88506e+01 5.23116e+01 4.57727e+01 + 3.92337e+01 3.26948e+01 2.61558e+01 1.96169e+01 1.30779e+01 6.53895e+00 + 0.00000e+00 + -117.7880 33.4989 5.4993 -41 89 1.00000e+10 27.6943 1.00000e-01 + 180 163.09 25 0.00 0 0.00 0 + 0.00000e+00 1.80167e+02 3.60333e+02 9.91277e+01 9.44074e+01 8.96870e+01 + 8.49666e+01 8.02463e+01 7.55259e+01 7.08055e+01 6.60852e+01 6.13648e+01 + 5.66444e+01 5.19240e+01 4.72037e+01 4.24833e+01 3.77629e+01 3.30426e+01 + 2.83222e+01 2.36018e+01 1.88815e+01 1.41611e+01 9.44073e+00 4.72037e+00 + 0.00000e+00 + -117.7952 33.5056 5.4993 -42 89 1.00000e+10 27.4268 1.00000e-01 + 180 82.12 25 0.00 0 0.00 0 + 0.00000e+00 9.07151e+01 1.81430e+02 4.99115e+01 4.75347e+01 4.51580e+01 + 4.27813e+01 4.04045e+01 3.80278e+01 3.56511e+01 3.32743e+01 3.08976e+01 + 2.85208e+01 2.61441e+01 2.37674e+01 2.13906e+01 1.90139e+01 1.66372e+01 + 1.42604e+01 1.18837e+01 9.50695e+00 7.13021e+00 4.75347e+00 2.37674e+00 + 0.00000e+00 + -117.8029 33.5119 5.4993 -49 89 1.00000e+10 26.9736 1.00000e-01 + 180 192.31 25 0.00 0 0.00 0 + 0.00000e+00 2.12446e+02 4.24892e+02 1.16888e+02 1.11322e+02 1.05756e+02 + 1.00190e+02 9.46234e+01 8.90573e+01 8.34913e+01 7.79252e+01 7.23591e+01 + 6.67930e+01 6.12269e+01 5.56608e+01 5.00948e+01 4.45287e+01 3.89626e+01 + 3.33965e+01 2.78304e+01 2.22643e+01 1.66983e+01 1.11322e+01 5.56608e+00 + 0.00000e+00 + -117.8111 33.5178 5.4993 -49 89 1.00000e+10 26.4949 1.00000e-01 + 180 325.81 25 0.00 0 0.00 0 + 0.00000e+00 3.59922e+02 7.19844e+02 1.98029e+02 1.88599e+02 1.79169e+02 + 1.69739e+02 1.60309e+02 1.50879e+02 1.41449e+02 1.32020e+02 1.22590e+02 + 1.13160e+02 1.03730e+02 9.42997e+01 8.48697e+01 7.54397e+01 6.60098e+01 + 5.65798e+01 4.71498e+01 3.77199e+01 2.82899e+01 1.88599e+01 9.42997e+00 + 0.00000e+00 + -117.8192 33.5237 5.4993 -49 89 1.00000e+10 26.1782 1.00000e-01 + 180 295.11 25 0.00 0 0.00 0 + 0.00000e+00 3.26010e+02 6.52021e+02 1.79371e+02 1.70830e+02 1.62288e+02 + 1.53747e+02 1.45205e+02 1.36664e+02 1.28122e+02 1.19581e+02 1.11039e+02 + 1.02498e+02 9.39562e+01 8.54148e+01 7.68733e+01 6.83318e+01 5.97903e+01 + 5.12489e+01 4.27074e+01 3.41659e+01 2.56244e+01 1.70830e+01 8.54148e+00 + 0.00000e+00 + -117.8274 33.5295 5.4993 -49 89 1.00000e+10 25.8803 1.00000e-01 + 180 240.26 25 0.00 0 0.00 0 + 0.00000e+00 2.65416e+02 5.30832e+02 1.46032e+02 1.39078e+02 1.32124e+02 + 1.25170e+02 1.18216e+02 1.11262e+02 1.04309e+02 9.73546e+01 9.04007e+01 + 8.34468e+01 7.64929e+01 6.95390e+01 6.25851e+01 5.56312e+01 4.86773e+01 + 4.17234e+01 3.47695e+01 2.78156e+01 2.08617e+01 1.39078e+01 6.95390e+00 + 0.00000e+00 + -117.8356 33.5354 5.4993 -49 89 1.00000e+10 25.5533 1.00000e-01 + 180 222.94 25 0.00 0 0.00 0 + 0.00000e+00 2.46282e+02 4.92563e+02 1.35504e+02 1.29052e+02 1.22599e+02 + 1.16147e+02 1.09694e+02 1.03241e+02 9.67888e+01 9.03362e+01 8.38836e+01 + 7.74310e+01 7.09784e+01 6.45259e+01 5.80733e+01 5.16207e+01 4.51681e+01 + 3.87155e+01 3.22629e+01 2.58103e+01 1.93578e+01 1.29052e+01 6.45259e+00 + 0.00000e+00 + -117.8438 33.5413 5.4993 -49 89 1.00000e+10 25.1932 1.00000e-01 + 180 236.72 25 0.00 0 0.00 0 + 0.00000e+00 2.61506e+02 5.23013e+02 1.43881e+02 1.37029e+02 1.30178e+02 + 1.23326e+02 1.16475e+02 1.09624e+02 1.02772e+02 9.59206e+01 8.90691e+01 + 8.22176e+01 7.53662e+01 6.85147e+01 6.16632e+01 5.48118e+01 4.79603e+01 + 4.11088e+01 3.42574e+01 2.74059e+01 2.05544e+01 1.37029e+01 6.85147e+00 + 0.00000e+00 + -117.8520 33.5472 5.4993 -49 89 1.00000e+10 24.8912 1.00000e-01 + 180 191.46 25 0.00 0 0.00 0 + 0.00000e+00 2.11505e+02 4.23010e+02 1.16370e+02 1.10829e+02 1.05287e+02 + 9.97458e+01 9.42043e+01 8.86629e+01 8.31215e+01 7.75800e+01 7.20386e+01 + 6.64972e+01 6.09557e+01 5.54143e+01 4.98729e+01 4.43314e+01 3.87900e+01 + 3.32486e+01 2.77072e+01 2.21657e+01 1.66243e+01 1.10829e+01 5.54143e+00 + 0.00000e+00 + -117.8602 33.5530 5.4993 -49 89 1.00000e+10 24.5468 1.00000e-01 + 180 185.50 25 0.00 0 0.00 0 + 0.00000e+00 2.04922e+02 4.09844e+02 1.12748e+02 1.07379e+02 1.02010e+02 + 9.66413e+01 9.12724e+01 8.59034e+01 8.05345e+01 7.51655e+01 6.97965e+01 + 6.44276e+01 5.90586e+01 5.36896e+01 4.83207e+01 4.29517e+01 3.75827e+01 + 3.22138e+01 2.68448e+01 2.14759e+01 1.61069e+01 1.07379e+01 5.36896e+00 + 0.00000e+00 + -117.8683 33.5589 5.4993 -49 89 1.00000e+10 24.1606 1.00000e-01 + 180 224.71 25 0.00 0 0.00 0 + 0.00000e+00 2.48235e+02 4.96469e+02 1.36579e+02 1.30075e+02 1.23571e+02 + 1.17068e+02 1.10564e+02 1.04060e+02 9.75563e+01 9.10525e+01 8.45488e+01 + 7.80450e+01 7.15413e+01 6.50375e+01 5.85338e+01 5.20300e+01 4.55263e+01 + 3.90225e+01 3.25188e+01 2.60150e+01 1.95113e+01 1.30075e+01 6.50375e+00 + 0.00000e+00 + -117.8765 33.5648 5.4993 -49 89 1.00000e+10 23.7383 1.00000e-01 + 180 300.54 25 0.00 0 0.00 0 + 0.00000e+00 3.32011e+02 6.64023e+02 1.82673e+02 1.73974e+02 1.65275e+02 + 1.56577e+02 1.47878e+02 1.39179e+02 1.30481e+02 1.21782e+02 1.13083e+02 + 1.04384e+02 9.56857e+01 8.69870e+01 7.82883e+01 6.95896e+01 6.08909e+01 + 5.21922e+01 4.34935e+01 3.47948e+01 2.60961e+01 1.73974e+01 8.69870e+00 + 0.00000e+00 + -117.8847 33.5706 5.4993 -49 89 1.00000e+10 23.4951 1.00000e-01 + 180 193.47 25 0.00 0 0.00 0 + 0.00000e+00 2.13724e+02 4.27447e+02 1.17591e+02 1.11991e+02 1.06392e+02 + 1.00792e+02 9.51926e+01 8.95930e+01 8.39934e+01 7.83939e+01 7.27943e+01 + 6.71947e+01 6.15952e+01 5.59956e+01 5.03961e+01 4.47965e+01 3.91969e+01 + 3.35974e+01 2.79978e+01 2.23983e+01 1.67987e+01 1.11991e+01 5.59956e+00 + 0.00000e+00 + -117.8929 33.5765 5.4993 -49 89 1.00000e+10 23.1749 1.00000e-01 + 180 171.58 25 0.00 0 0.00 0 + 0.00000e+00 1.89548e+02 3.79097e+02 1.04290e+02 9.93234e+01 9.43572e+01 + 8.93911e+01 8.44249e+01 7.94587e+01 7.44925e+01 6.95264e+01 6.45602e+01 + 5.95940e+01 5.46279e+01 4.96617e+01 4.46955e+01 3.97294e+01 3.47632e+01 + 2.97970e+01 2.48309e+01 1.98647e+01 1.48985e+01 9.93234e+00 4.96617e+00 + 0.00000e+00 + -117.9011 33.5824 5.4993 -49 89 1.00000e+10 22.9142 1.00000e-01 + 180 83.80 25 0.00 0 0.00 0 + 0.00000e+00 9.25742e+01 1.85148e+02 5.09343e+01 4.85089e+01 4.60835e+01 + 4.36580e+01 4.12326e+01 3.88071e+01 3.63817e+01 3.39562e+01 3.15308e+01 + 2.91053e+01 2.66799e+01 2.42545e+01 2.18290e+01 1.94036e+01 1.69781e+01 + 1.45527e+01 1.21272e+01 9.70178e+00 7.27634e+00 4.85089e+00 2.42545e+00 + 0.00000e+00 + -117.9093 33.5882 5.4993 -49 89 1.00000e+10 22.5894 1.00000e-01 + 180 57.96 25 0.00 0 0.00 0 + 0.00000e+00 6.40234e+01 1.28047e+02 3.52257e+01 3.35483e+01 3.18709e+01 + 3.01935e+01 2.85161e+01 2.68386e+01 2.51612e+01 2.34838e+01 2.18064e+01 + 2.01290e+01 1.84516e+01 1.67742e+01 1.50967e+01 1.34193e+01 1.17419e+01 + 1.00645e+01 8.38708e+00 6.70966e+00 5.03225e+00 3.35483e+00 1.67742e+00 + 0.00000e+00 + -117.9166 33.5948 5.4993 -37 89 1.00000e+10 22.3022 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.9232 33.6019 5.4993 -37 89 1.00000e+10 21.9533 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.9296 33.6091 5.4993 -37 89 1.00000e+10 21.6083 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.9362 33.6163 5.4993 -38 89 1.00000e+10 21.2594 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.9429 33.6233 5.4993 -39 89 1.00000e+10 20.9140 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.9497 33.6304 5.4993 -39 89 1.00000e+10 20.5659 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -117.9564 33.6374 5.4993 -39 89 1.00000e+10 20.2018 1.00000e-01 + 180 16.77 25 0.00 0 0.00 0 + 0.00000e+00 1.85309e+01 3.70617e+01 1.01957e+01 9.71018e+00 9.22467e+00 + 8.73916e+00 8.25365e+00 7.76814e+00 7.28263e+00 6.79713e+00 6.31162e+00 + 5.82611e+00 5.34060e+00 4.85509e+00 4.36958e+00 3.88407e+00 3.39856e+00 + 2.91305e+00 2.42754e+00 1.94204e+00 1.45653e+00 9.71018e-01 4.85509e-01 + 0.00000e+00 + -117.9631 33.6444 5.4993 -39 89 1.00000e+10 19.8548 1.00000e-01 + 180 19.54 25 0.00 0 0.00 0 + 0.00000e+00 2.15854e+01 4.31708e+01 1.18763e+01 1.13108e+01 1.07452e+01 + 1.01797e+01 9.61414e+00 9.04860e+00 8.48306e+00 7.91753e+00 7.35199e+00 + 6.78645e+00 6.22091e+00 5.65538e+00 5.08984e+00 4.52430e+00 3.95876e+00 + 3.39323e+00 2.82769e+00 2.26215e+00 1.69661e+00 1.13108e+00 5.65538e-01 + 0.00000e+00 + -117.9699 33.6515 5.4993 -39 89 1.00000e+10 19.4526 1.00000e-01 + 180 74.08 25 0.00 0 0.00 0 + 0.00000e+00 8.18363e+01 1.63673e+02 4.50264e+01 4.28823e+01 4.07382e+01 + 3.85940e+01 3.64499e+01 3.43058e+01 3.21617e+01 3.00176e+01 2.78735e+01 + 2.57294e+01 2.35853e+01 2.14411e+01 1.92970e+01 1.71529e+01 1.50088e+01 + 1.28647e+01 1.07206e+01 8.57646e+00 6.43234e+00 4.28823e+00 2.14411e+00 + 0.00000e+00 + -117.9766 33.6585 5.4993 -39 89 1.00000e+10 19.0516 1.00000e-01 + 180 127.32 25 0.00 0 0.00 0 + 0.00000e+00 1.40649e+02 2.81298e+02 7.73850e+01 7.37000e+01 7.00150e+01 + 6.63300e+01 6.26450e+01 5.89600e+01 5.52750e+01 5.15900e+01 4.79050e+01 + 4.42200e+01 4.05350e+01 3.68500e+01 3.31650e+01 2.94800e+01 2.57950e+01 + 2.21100e+01 1.84250e+01 1.47400e+01 1.10550e+01 7.37000e+00 3.68500e+00 + 0.00000e+00 + -117.9833 33.6656 5.4993 -39 89 1.00000e+10 18.6444 1.00000e-01 + 180 190.21 25 0.00 0 0.00 0 + 0.00000e+00 2.10127e+02 4.20254e+02 1.15612e+02 1.10107e+02 1.04601e+02 + 9.90959e+01 9.35906e+01 8.80852e+01 8.25799e+01 7.70746e+01 7.15692e+01 + 6.60639e+01 6.05586e+01 5.50533e+01 4.95479e+01 4.40426e+01 3.85373e+01 + 3.30320e+01 2.75266e+01 2.20213e+01 1.65160e+01 1.10107e+01 5.50533e+00 + 0.00000e+00 + -117.9902 33.6725 5.4993 -41 89 1.00000e+10 18.2796 1.00000e-01 + 180 206.68 25 0.00 0 0.00 0 + 0.00000e+00 2.28323e+02 4.56645e+02 1.25623e+02 1.19641e+02 1.13659e+02 + 1.07677e+02 1.01695e+02 9.57129e+01 8.97308e+01 8.37488e+01 7.77667e+01 + 7.17847e+01 6.58026e+01 5.98206e+01 5.38385e+01 4.78564e+01 4.18744e+01 + 3.58923e+01 2.99103e+01 2.39282e+01 1.79462e+01 1.19641e+01 5.98206e+00 + 0.00000e+00 + -117.9982 33.6784 5.4993 -54 89 1.00000e+10 17.9719 1.00000e-01 + 180 166.44 25 0.00 0 0.00 0 + 0.00000e+00 1.83871e+02 3.67741e+02 1.01166e+02 9.63482e+01 9.15308e+01 + 8.67134e+01 8.18960e+01 7.70786e+01 7.22612e+01 6.74438e+01 6.26263e+01 + 5.78089e+01 5.29915e+01 4.81741e+01 4.33567e+01 3.85393e+01 3.37219e+01 + 2.89045e+01 2.40871e+01 1.92696e+01 1.44522e+01 9.63482e+00 4.81741e+00 + 0.00000e+00 + -118.0070 33.6837 5.4993 -54 89 1.00000e+10 17.5570 1.00000e-01 + 180 235.04 25 0.00 0 0.00 0 + 0.00000e+00 2.59646e+02 5.19292e+02 1.42857e+02 1.36055e+02 1.29252e+02 + 1.22449e+02 1.15646e+02 1.08844e+02 1.02041e+02 9.52382e+01 8.84354e+01 + 8.16327e+01 7.48300e+01 6.80273e+01 6.12245e+01 5.44218e+01 4.76191e+01 + 4.08164e+01 3.40136e+01 2.72109e+01 2.04082e+01 1.36055e+01 6.80273e+00 + 0.00000e+00 + -118.0158 33.6889 5.4993 -54 89 1.00000e+10 17.3012 1.00000e-01 + 180 144.10 25 0.00 0 0.00 0 + 0.00000e+00 1.59187e+02 3.18373e+02 8.75845e+01 8.34138e+01 7.92431e+01 + 7.50724e+01 7.09017e+01 6.67310e+01 6.25604e+01 5.83897e+01 5.42190e+01 + 5.00483e+01 4.58776e+01 4.17069e+01 3.75362e+01 3.33655e+01 2.91948e+01 + 2.50241e+01 2.08535e+01 1.66828e+01 1.25121e+01 8.34138e+00 4.17069e+00 + 0.00000e+00 + -118.0246 33.6941 5.4993 -54 89 1.00000e+10 17.0628 1.00000e-01 + 180 34.26 25 0.00 0 0.00 0 + 0.00000e+00 3.78468e+01 7.56936e+01 2.08233e+01 1.98317e+01 1.88402e+01 + 1.78486e+01 1.68570e+01 1.58654e+01 1.48738e+01 1.38822e+01 1.28906e+01 + 1.18990e+01 1.09075e+01 9.91587e+00 8.92428e+00 7.93270e+00 6.94111e+00 + 5.94952e+00 4.95794e+00 3.96635e+00 2.97476e+00 1.98317e+00 9.91587e-01 + 0.00000e+00 + -118.0334 33.6994 5.4993 -54 89 1.00000e+10 16.7502 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.0421 33.7047 5.4993 -53 89 1.00000e+10 16.3990 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.0506 33.7103 5.4993 -50 89 1.00000e+10 16.0540 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.0587 33.7162 5.4993 -48 89 1.00000e+10 15.7070 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.0656 33.7230 5.4993 -31 89 1.00000e+10 15.2901 1.00000e-01 + 180 74.79 25 0.00 0 0.00 0 + 0.00000e+00 8.26229e+01 1.65246e+02 4.54592e+01 4.32944e+01 4.11297e+01 + 3.89650e+01 3.68003e+01 3.46356e+01 3.24708e+01 3.03061e+01 2.81414e+01 + 2.59767e+01 2.38119e+01 2.16472e+01 1.94825e+01 1.73178e+01 1.51531e+01 + 1.29883e+01 1.08236e+01 8.65889e+00 6.49417e+00 4.32944e+00 2.16472e+00 + 0.00000e+00 + -118.0711 33.7307 5.4993 -31 89 1.00000e+10 14.8810 1.00000e-01 + 180 132.17 25 0.00 0 0.00 0 + 0.00000e+00 1.46003e+02 2.92007e+02 8.03312e+01 7.65059e+01 7.26806e+01 + 6.88553e+01 6.50300e+01 6.12047e+01 5.73794e+01 5.35541e+01 4.97288e+01 + 4.59035e+01 4.20782e+01 3.82529e+01 3.44276e+01 3.06024e+01 2.67771e+01 + 2.29518e+01 1.91265e+01 1.53012e+01 1.14759e+01 7.65059e+00 3.82529e+00 + 0.00000e+00 + -118.0777 33.7378 5.4993 -44 89 1.00000e+10 14.4369 1.00000e-01 + 180 230.53 25 0.00 0 0.00 0 + 0.00000e+00 2.54664e+02 5.09329e+02 1.40116e+02 1.33444e+02 1.26772e+02 + 1.20100e+02 1.13428e+02 1.06755e+02 1.00083e+02 9.34110e+01 8.67388e+01 + 8.00665e+01 7.33943e+01 6.67221e+01 6.00499e+01 5.33777e+01 4.67055e+01 + 4.00333e+01 3.33611e+01 2.66888e+01 2.00166e+01 1.33444e+01 6.67221e+00 + 0.00000e+00 + -118.0854 33.7440 5.4993 -47 89 1.00000e+10 14.0680 1.00000e-01 + 180 254.44 25 0.00 0 0.00 0 + 0.00000e+00 2.81086e+02 5.62171e+02 1.54653e+02 1.47289e+02 1.39924e+02 + 1.32560e+02 1.25196e+02 1.17831e+02 1.10467e+02 1.03102e+02 9.57378e+01 + 8.83733e+01 8.10089e+01 7.36445e+01 6.62800e+01 5.89156e+01 5.15511e+01 + 4.41867e+01 3.68222e+01 2.94578e+01 2.20933e+01 1.47289e+01 7.36445e+00 + 0.00000e+00 + -118.0933 33.7501 5.4993 -47 89 1.00000e+10 13.6644 1.00000e-01 + 180 309.35 25 0.00 0 0.00 0 + 0.00000e+00 3.41741e+02 6.83482e+02 1.88026e+02 1.79073e+02 1.70119e+02 + 1.61165e+02 1.52212e+02 1.43258e+02 1.34304e+02 1.25351e+02 1.16397e+02 + 1.07444e+02 9.84899e+01 8.95363e+01 8.05826e+01 7.16290e+01 6.26754e+01 + 5.37218e+01 4.47681e+01 3.58145e+01 2.68609e+01 1.79073e+01 8.95363e+00 + 0.00000e+00 + -118.1013 33.7563 5.4993 -47 89 1.00000e+10 13.3092 1.00000e-01 + 180 324.22 25 0.00 0 0.00 0 + 0.00000e+00 3.58170e+02 7.16340e+02 1.97065e+02 1.87681e+02 1.78297e+02 + 1.68913e+02 1.59529e+02 1.50145e+02 1.40761e+02 1.31377e+02 1.21993e+02 + 1.12609e+02 1.03225e+02 9.38406e+01 8.44566e+01 7.50725e+01 6.56884e+01 + 5.63044e+01 4.69203e+01 3.75363e+01 2.81522e+01 1.87681e+01 9.38406e+00 + 0.00000e+00 + -118.1092 33.7624 5.4993 -47 89 1.00000e+10 12.9679 1.00000e-01 + 180 317.73 25 0.00 0 0.00 0 + 0.00000e+00 3.50993e+02 7.01985e+02 1.93116e+02 1.83920e+02 1.74724e+02 + 1.65528e+02 1.56332e+02 1.47136e+02 1.37940e+02 1.28744e+02 1.19548e+02 + 1.10352e+02 1.01156e+02 9.19602e+01 8.27641e+01 7.35681e+01 6.43721e+01 + 5.51761e+01 4.59801e+01 3.67841e+01 2.75880e+01 1.83920e+01 9.19602e+00 + 0.00000e+00 + -118.1175 33.7682 5.4993 -52 89 1.00000e+10 12.6531 1.00000e-01 + 180 283.59 25 0.00 0 0.00 0 + 0.00000e+00 3.13279e+02 6.26557e+02 1.72366e+02 1.64158e+02 1.55950e+02 + 1.47742e+02 1.39534e+02 1.31326e+02 1.23119e+02 1.14911e+02 1.06703e+02 + 9.84948e+01 9.02869e+01 8.20790e+01 7.38711e+01 6.56632e+01 5.74553e+01 + 4.92474e+01 4.10395e+01 3.28316e+01 2.46237e+01 1.64158e+01 8.20790e+00 + 0.00000e+00 + -118.1260 33.7737 5.4993 -52 89 1.00000e+10 12.2630 1.00000e-01 + 180 329.66 25 0.00 0 0.00 0 + 0.00000e+00 3.64180e+02 7.28361e+02 2.00372e+02 1.90831e+02 1.81289e+02 + 1.71748e+02 1.62206e+02 1.52665e+02 1.43123e+02 1.33582e+02 1.24040e+02 + 1.14498e+02 1.04957e+02 9.54154e+01 8.58738e+01 7.63323e+01 6.67908e+01 + 5.72492e+01 4.77077e+01 3.81661e+01 2.86246e+01 1.90831e+01 9.54154e+00 + 0.00000e+00 + -118.1345 33.7793 5.4993 -52 89 1.00000e+10 11.8590 1.00000e-01 + 180 387.19 25 0.00 0 0.00 0 + 0.00000e+00 4.27734e+02 8.55467e+02 2.35339e+02 2.24133e+02 2.12926e+02 + 2.01719e+02 1.90513e+02 1.79306e+02 1.68099e+02 1.56893e+02 1.45686e+02 + 1.34480e+02 1.23273e+02 1.12066e+02 1.00860e+02 8.96530e+01 7.84464e+01 + 6.72398e+01 5.60332e+01 4.48265e+01 3.36199e+01 2.24133e+01 1.12066e+01 + 0.00000e+00 + -118.1430 33.7848 5.4993 -52 89 1.00000e+10 11.3700 1.00000e-01 + 180 529.56 25 0.00 0 0.00 0 + 0.00000e+00 5.85006e+02 1.17001e+03 3.21871e+02 3.06544e+02 2.91216e+02 + 2.75889e+02 2.60562e+02 2.45235e+02 2.29908e+02 2.14581e+02 1.99253e+02 + 1.83926e+02 1.68599e+02 1.53272e+02 1.37945e+02 1.22617e+02 1.07290e+02 + 9.19631e+01 7.66359e+01 6.13087e+01 4.59815e+01 3.06544e+01 1.53272e+01 + 0.00000e+00 + -118.1515 33.7905 5.4993 -51 89 1.00000e+10 10.9503 1.00000e-01 + 180 606.16 25 0.00 0 0.00 0 + 0.00000e+00 6.69625e+02 1.33925e+03 3.68428e+02 3.50884e+02 3.33340e+02 + 3.15795e+02 2.98251e+02 2.80707e+02 2.63163e+02 2.45619e+02 2.28074e+02 + 2.10530e+02 1.92986e+02 1.75442e+02 1.57898e+02 1.40354e+02 1.22809e+02 + 1.05265e+02 8.77210e+01 7.01768e+01 5.26326e+01 3.50884e+01 1.75442e+01 + 0.00000e+00 + -118.1599 33.7962 5.4993 -50 89 1.00000e+10 10.6528 1.00000e-01 + 180 559.04 25 0.00 0 0.00 0 + 0.00000e+00 6.17574e+02 1.23515e+03 3.39789e+02 3.23609e+02 3.07429e+02 + 2.91248e+02 2.75068e+02 2.58887e+02 2.42707e+02 2.26526e+02 2.10346e+02 + 1.94165e+02 1.77985e+02 1.61805e+02 1.45624e+02 1.29444e+02 1.13263e+02 + 9.70827e+01 8.09023e+01 6.47218e+01 4.85414e+01 3.23609e+01 1.61805e+01 + 0.00000e+00 + -118.1682 33.8019 5.4993 -50 89 1.00000e+10 10.3238 1.00000e-01 + 180 542.42 25 0.00 0 0.00 0 + 0.00000e+00 5.99212e+02 1.19842e+03 3.29687e+02 3.13987e+02 2.98288e+02 + 2.82588e+02 2.66889e+02 2.51190e+02 2.35490e+02 2.19791e+02 2.04092e+02 + 1.88392e+02 1.72693e+02 1.56994e+02 1.41294e+02 1.25595e+02 1.09896e+02 + 9.41962e+01 7.84968e+01 6.27974e+01 4.70981e+01 3.13987e+01 1.56994e+01 + 0.00000e+00 + -118.1766 33.8076 5.4993 -50 89 1.00000e+10 10.0106 1.00000e-01 + 180 506.90 25 0.00 0 0.00 0 + 0.00000e+00 5.59974e+02 1.11995e+03 3.08098e+02 2.93426e+02 2.78755e+02 + 2.64084e+02 2.49412e+02 2.34741e+02 2.20070e+02 2.05398e+02 1.90727e+02 + 1.76056e+02 1.61385e+02 1.46713e+02 1.32042e+02 1.17371e+02 1.02699e+02 + 8.80279e+01 7.33566e+01 5.86853e+01 4.40140e+01 2.93426e+01 1.46713e+01 + 0.00000e+00 + -118.1849 33.8134 5.4993 -50 89 1.00000e+10 9.7593 1.00000e-01 + 180 411.41 25 0.00 0 0.00 0 + 0.00000e+00 4.54482e+02 9.08965e+02 2.50056e+02 2.38149e+02 2.26242e+02 + 2.14334e+02 2.02427e+02 1.90519e+02 1.78612e+02 1.66704e+02 1.54797e+02 + 1.42889e+02 1.30982e+02 1.19074e+02 1.07167e+02 9.52596e+01 8.33521e+01 + 7.14447e+01 5.95372e+01 4.76298e+01 3.57223e+01 2.38149e+01 1.19074e+01 + 0.00000e+00 + -118.1933 33.8191 5.4993 -50 89 1.00000e+10 9.4614 1.00000e-01 + 180 368.69 25 0.00 0 0.00 0 + 0.00000e+00 4.07290e+02 8.14579e+02 2.24091e+02 2.13420e+02 2.02749e+02 + 1.92078e+02 1.81407e+02 1.70736e+02 1.60065e+02 1.49394e+02 1.38723e+02 + 1.28052e+02 1.17381e+02 1.06710e+02 9.60390e+01 8.53680e+01 7.46970e+01 + 6.40260e+01 5.33550e+01 4.26840e+01 3.20130e+01 2.13420e+01 1.06710e+01 + 0.00000e+00 + -118.2016 33.8249 5.4993 -50 89 1.00000e+10 9.2694 1.00000e-01 + 180 210.13 25 0.00 0 0.00 0 + 0.00000e+00 2.32137e+02 4.64273e+02 1.27722e+02 1.21640e+02 1.15558e+02 + 1.09476e+02 1.03394e+02 9.73118e+01 9.12298e+01 8.51478e+01 7.90658e+01 + 7.29838e+01 6.69019e+01 6.08199e+01 5.47379e+01 4.86559e+01 4.25739e+01 + 3.64919e+01 3.04099e+01 2.43279e+01 1.82460e+01 1.21640e+01 6.08199e+00 + 0.00000e+00 + -118.2098 33.8307 5.4993 -49 89 1.00000e+10 9.0788 1.00000e-01 + 180 57.86 25 0.00 0 0.00 0 + 0.00000e+00 6.39178e+01 1.27836e+02 3.51676e+01 3.34930e+01 3.18183e+01 + 3.01437e+01 2.84690e+01 2.67944e+01 2.51197e+01 2.34451e+01 2.17704e+01 + 2.00958e+01 1.84211e+01 1.67465e+01 1.50718e+01 1.33972e+01 1.17225e+01 + 1.00479e+01 8.37324e+00 6.69859e+00 5.02394e+00 3.34930e+00 1.67465e+00 + 0.00000e+00 + -118.2183 33.8363 5.4993 -54 89 1.00000e+10 8.7747 1.00000e-01 + 180 17.36 25 0.00 0 0.00 0 + 0.00000e+00 1.91738e+01 3.83475e+01 1.05494e+01 1.00471e+01 9.54470e+00 + 9.04235e+00 8.54000e+00 8.03764e+00 7.53529e+00 7.03294e+00 6.53059e+00 + 6.02823e+00 5.52588e+00 5.02353e+00 4.52117e+00 4.01882e+00 3.51647e+00 + 3.01412e+00 2.51176e+00 2.00941e+00 1.50706e+00 1.00471e+00 5.02353e-01 + 0.00000e+00 + -118.2270 33.8416 5.4993 -54 89 1.00000e+10 8.4488 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2344 33.8480 5.4993 -33 89 1.00000e+10 8.1063 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2403 33.8556 5.4993 -33 89 1.00000e+10 7.7711 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2462 33.8631 5.4993 -33 89 1.00000e+10 7.4274 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2521 33.8707 5.4993 -33 89 1.00000e+10 7.0947 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2580 33.8782 5.4993 -33 89 1.00000e+10 6.7586 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2641 33.8857 5.4993 -35 89 1.00000e+10 6.4231 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2704 33.8930 5.4993 -36 89 1.00000e+10 6.0921 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2768 33.9002 5.4993 -36 89 1.00000e+10 5.7653 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2833 33.9075 5.4993 -36 89 1.00000e+10 5.4411 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2896 33.9148 5.4993 -35 89 1.00000e+10 5.1186 1.00000e-01 + 180 0.00 25 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 + -118.2957 33.9222 5.4993 -34 89 1.00000e+10 4.7575 1.00000e-01 + 180 43.61 25 0.00 0 0.00 0 + 0.00000e+00 4.81723e+01 9.63446e+01 2.65044e+01 2.52423e+01 2.39802e+01 + 2.27181e+01 2.14560e+01 2.01938e+01 1.89317e+01 1.76696e+01 1.64075e+01 + 1.51454e+01 1.38833e+01 1.26211e+01 1.13590e+01 1.00969e+01 8.83480e+00 + 7.57269e+00 6.31057e+00 5.04846e+00 3.78634e+00 2.52423e+00 1.26211e+00 + 0.00000e+00 + -118.3025 33.9288 5.4993 -47 89 1.00000e+10 4.3357 1.00000e-01 + 180 157.51 25 0.00 0 0.00 0 + 0.00000e+00 1.73997e+02 3.47995e+02 9.57334e+01 9.11747e+01 8.66159e+01 + 8.20572e+01 7.74985e+01 7.29397e+01 6.83810e+01 6.38223e+01 5.92635e+01 + 5.47048e+01 5.01461e+01 4.55873e+01 4.10286e+01 3.64699e+01 3.19111e+01 + 2.73524e+01 2.27937e+01 1.82349e+01 1.36762e+01 9.11747e+00 4.55873e+00 + 0.00000e+00 + -118.3116 33.9326 5.4993 -78 89 1.00000e+10 4.0035 1.00000e-01 + 180 185.92 25 0.00 0 0.00 0 + 0.00000e+00 2.05390e+02 4.10779e+02 1.13005e+02 1.07624e+02 1.02243e+02 + 9.68618e+01 9.14806e+01 8.60994e+01 8.07182e+01 7.53370e+01 6.99558e+01 + 6.45746e+01 5.91933e+01 5.38121e+01 4.84309e+01 4.30497e+01 3.76685e+01 + 3.22873e+01 2.69061e+01 2.15249e+01 1.61436e+01 1.07624e+01 5.38121e+00 + 0.00000e+00 + -118.3198 33.9373 5.4993 -33 89 1.00000e+10 3.7002 1.00000e-01 + 180 195.34 25 0.00 0 0.00 0 + 0.00000e+00 2.15789e+02 4.31579e+02 1.18727e+02 1.13074e+02 1.07420e+02 + 1.01766e+02 9.61127e+01 9.04590e+01 8.48053e+01 7.91516e+01 7.34979e+01 + 6.78442e+01 6.21905e+01 5.65369e+01 5.08832e+01 4.52295e+01 3.95758e+01 + 3.39221e+01 2.82684e+01 2.26147e+01 1.69611e+01 1.13074e+01 5.65369e+00 + 0.00000e+00 + -118.3256 33.9448 5.4993 -32 89 1.00000e+10 3.4353 1.00000e-01 + 180 178.16 25 0.00 0 0.00 0 + 0.00000e+00 1.96817e+02 3.93635e+02 1.08289e+02 1.03132e+02 9.79757e+01 + 9.28191e+01 8.76625e+01 8.25059e+01 7.73493e+01 7.21926e+01 6.70360e+01 + 6.18794e+01 5.67228e+01 5.15662e+01 4.64096e+01 4.12529e+01 3.60963e+01 + 3.09397e+01 2.57831e+01 2.06265e+01 1.54699e+01 1.03132e+01 5.15662e+00 + 0.00000e+00 + -118.3329 33.9511 5.4993 -56 89 1.00000e+10 3.1994 1.00000e-01 + 180 141.03 25 0.00 0 0.00 0 + 0.00000e+00 1.55792e+02 3.11584e+02 8.57168e+01 8.16351e+01 7.75533e+01 + 7.34716e+01 6.93898e+01 6.53080e+01 6.12263e+01 5.71445e+01 5.30628e+01 + 4.89810e+01 4.48993e+01 4.08175e+01 3.67358e+01 3.26540e+01 2.85723e+01 + 2.44905e+01 2.04088e+01 1.63270e+01 1.22453e+01 8.16351e+00 4.08175e+00 + 0.00000e+00 + -118.3419 33.9562 5.4993 -56 89 1.00000e+10 3.0003 1.00000e-01 + 180 88.99 25 0.00 0 0.00 0 + 0.00000e+00 9.83028e+01 1.96606e+02 5.40863e+01 5.15107e+01 4.89352e+01 + 4.63597e+01 4.37841e+01 4.12086e+01 3.86330e+01 3.60575e+01 3.34820e+01 + 3.09064e+01 2.83309e+01 2.57554e+01 2.31798e+01 2.06043e+01 1.80288e+01 + 1.54532e+01 1.28777e+01 1.03021e+01 7.72661e+00 5.15107e+00 2.57554e+00 + 0.00000e+00 + -118.3498 33.9618 5.4993 -42 89 1.00000e+10 2.7874 1.00000e-01 + 180 71.68 25 0.00 0 0.00 0 + 0.00000e+00 7.91847e+01 1.58369e+02 4.35674e+01 4.14928e+01 3.94182e+01 + 3.73435e+01 3.52689e+01 3.31942e+01 3.11196e+01 2.90450e+01 2.69703e+01 + 2.48957e+01 2.28210e+01 2.07464e+01 1.86718e+01 1.65971e+01 1.45225e+01 + 1.24478e+01 1.03732e+01 8.29856e+00 6.22392e+00 4.14928e+00 2.07464e+00 + 0.00000e+00 + -118.3543 33.9694 5.4993 -12 89 1.00000e+10 2.6143 1.00000e-01 + 180 41.74 25 0.00 0 0.00 0 + 0.00000e+00 4.61140e+01 9.22281e+01 2.53720e+01 2.41638e+01 2.29556e+01 + 2.17474e+01 2.05392e+01 1.93310e+01 1.81228e+01 1.69146e+01 1.57065e+01 + 1.44983e+01 1.32901e+01 1.20819e+01 1.08737e+01 9.66551e+00 8.45732e+00 + 7.24913e+00 6.04094e+00 4.83275e+00 3.62457e+00 2.41638e+00 1.20819e+00 + 0.00000e+00 + -118.3566 33.9782 5.4993 -12 89 1.00000e+10 2.4570 1.00000e-01 + 180 30.51 25 0.00 0 0.00 0 + 0.00000e+00 3.37076e+01 6.74151e+01 1.85459e+01 1.76628e+01 1.67796e+01 + 1.58965e+01 1.50134e+01 1.41302e+01 1.32471e+01 1.23639e+01 1.14808e+01 + 1.05977e+01 9.71453e+00 8.83139e+00 7.94825e+00 7.06511e+00 6.18197e+00 + 5.29883e+00 4.41569e+00 3.53256e+00 2.64942e+00 1.76628e+00 8.83139e-01 + 0.00000e+00 + -118.3592 33.9869 5.4993 -15 89 1.00000e+10 2.2915 1.00000e-01 + 180 67.85 25 0.00 0 0.00 0 + 0.00000e+00 7.49502e+01 1.49900e+02 4.12376e+01 3.92739e+01 3.73102e+01 + 3.53465e+01 3.33829e+01 3.14192e+01 2.94555e+01 2.74918e+01 2.55281e+01 + 2.35644e+01 2.16007e+01 1.96370e+01 1.76733e+01 1.57096e+01 1.37459e+01 + 1.17822e+01 9.81849e+00 7.85479e+00 5.89109e+00 3.92739e+00 1.96370e+00 + 0.00000e+00 + -118.3627 33.9954 5.4993 -23 89 1.00000e+10 2.2249 1.00000e-01 + 180 54.00 25 0.00 0 0.00 0 + 0.00000e+00 5.96561e+01 1.19312e+02 3.28228e+01 3.12598e+01 2.96968e+01 + 2.81338e+01 2.65708e+01 2.50079e+01 2.34449e+01 2.18819e+01 2.03189e+01 + 1.87559e+01 1.71929e+01 1.56299e+01 1.40669e+01 1.25039e+01 1.09409e+01 + 9.37794e+00 7.81495e+00 6.25196e+00 4.68897e+00 3.12598e+00 1.56299e+00 + 0.00000e+00 + -118.3670 34.0036 5.4993 -24 89 1.00000e+10 2.2243 1.00000e-01 + 180 27.07 25 0.00 0 0.00 0 + 0.00000e+00 2.99043e+01 5.98085e+01 1.64533e+01 1.56698e+01 1.48864e+01 + 1.41029e+01 1.33194e+01 1.25359e+01 1.17524e+01 1.09689e+01 1.01854e+01 + 9.40191e+00 8.61841e+00 7.83492e+00 7.05143e+00 6.26794e+00 5.48445e+00 + 4.70095e+00 3.91746e+00 3.13397e+00 2.35048e+00 1.56698e+00 7.83492e-01 + 0.00000e+00 + -118.3714 34.0119 5.4993 -24 89 1.00000e+10 2.2555 1.00000e-01 + 180 23.07 25 0.00 0 0.00 0 + 0.00000e+00 2.54822e+01 5.09644e+01 1.40203e+01 1.33527e+01 1.26851e+01 + 1.20174e+01 1.13498e+01 1.06821e+01 1.00145e+01 9.34688e+00 8.67925e+00 + 8.01161e+00 7.34398e+00 6.67634e+00 6.00871e+00 5.34107e+00 4.67344e+00 + 4.00581e+00 3.33817e+00 2.67054e+00 2.00290e+00 1.33527e+00 6.67634e-01 + 0.00000e+00 + -118.3759 34.0201 5.4993 -24 89 1.00000e+10 2.3482 1.00000e-01 + 180 10.67 25 0.00 0 0.00 0 + 0.00000e+00 1.17858e+01 2.35715e+01 6.48453e+00 6.17574e+00 5.86695e+00 + 5.55817e+00 5.24938e+00 4.94059e+00 4.63181e+00 4.32302e+00 4.01423e+00 + 3.70544e+00 3.39666e+00 3.08787e+00 2.77908e+00 2.47030e+00 2.16151e+00 + 1.85272e+00 1.54394e+00 1.23515e+00 9.26361e-01 6.17574e-01 3.08787e-01 + 0.00000e+00 + -118.3803 34.0283 5.4993 -24 89 1.00000e+10 2.4836 1.00000e-01 + 180 3.71 25 0.00 0 0.00 0 + 0.00000e+00 4.09725e+00 8.19449e+00 2.25431e+00 2.14696e+00 2.03961e+00 + 1.93226e+00 1.82492e+00 1.71757e+00 1.61022e+00 1.50287e+00 1.39552e+00 + 1.28818e+00 1.18083e+00 1.07348e+00 9.66132e-01 8.58784e-01 7.51436e-01 + 6.44088e-01 5.36740e-01 4.29392e-01 3.22044e-01 2.14696e-01 1.07348e-01 + 0.00000e+00 + -117.3563 33.0608 6.4992 -33 89 1.00000e+10 49.9544 1.00000e-01 + 180 3.62 20 0.00 0 0.00 0 + 0.00000e+00 5.66359e+00 1.13272e+01 2.26544e+00 2.12385e+00 1.98226e+00 + 1.84067e+00 1.69908e+00 1.55749e+00 1.41590e+00 1.27431e+00 1.13272e+00 + 9.91129e-01 8.49539e-01 7.07949e-01 5.66359e-01 4.24770e-01 2.83180e-01 + 1.41590e-01 0.00000e+00 + -117.3622 33.0684 6.4992 -33 89 1.00000e+10 49.5856 1.00000e-01 + 180 27.94 20 0.00 0 0.00 0 + 0.00000e+00 4.36530e+01 8.73060e+01 1.74612e+01 1.63699e+01 1.52786e+01 + 1.41872e+01 1.30959e+01 1.20046e+01 1.09133e+01 9.82193e+00 8.73060e+00 + 7.63928e+00 6.54795e+00 5.45663e+00 4.36530e+00 3.27398e+00 2.18265e+00 + 1.09133e+00 0.00000e+00 + -117.3680 33.0759 6.4992 -33 89 1.00000e+10 49.1875 1.00000e-01 + 180 75.61 20 0.00 0 0.00 0 + 0.00000e+00 1.18144e+02 2.36288e+02 4.72576e+01 4.43040e+01 4.13504e+01 + 3.83968e+01 3.54432e+01 3.24896e+01 2.95360e+01 2.65824e+01 2.36288e+01 + 2.06752e+01 1.77216e+01 1.47680e+01 1.18144e+01 8.86081e+00 5.90720e+00 + 2.95360e+00 0.00000e+00 + -117.3740 33.0833 6.4992 -36 89 1.00000e+10 48.7962 1.00000e-01 + 180 120.29 20 0.00 0 0.00 0 + 0.00000e+00 1.87959e+02 3.75917e+02 7.51834e+01 7.04845e+01 6.57855e+01 + 6.10866e+01 5.63876e+01 5.16886e+01 4.69897e+01 4.22907e+01 3.75917e+01 + 3.28928e+01 2.81938e+01 2.34948e+01 1.87959e+01 1.40969e+01 9.39793e+00 + 4.69897e+00 0.00000e+00 + -117.3815 33.0895 6.4992 -55 89 1.00000e+10 48.4415 1.00000e-01 + 180 127.41 20 0.00 0 0.00 0 + 0.00000e+00 1.99072e+02 3.98145e+02 7.96290e+01 7.46522e+01 6.96754e+01 + 6.46985e+01 5.97217e+01 5.47449e+01 4.97681e+01 4.47913e+01 3.98145e+01 + 3.48377e+01 2.98609e+01 2.48841e+01 1.99072e+01 1.49304e+01 9.95362e+00 + 4.97681e+00 0.00000e+00 + -117.3903 33.0947 6.4992 -55 89 1.00000e+10 48.0874 1.00000e-01 + 180 133.58 20 0.00 0 0.00 0 + 0.00000e+00 2.08712e+02 4.17424e+02 8.34848e+01 7.82670e+01 7.30492e+01 + 6.78314e+01 6.26136e+01 5.73958e+01 5.21780e+01 4.69602e+01 4.17424e+01 + 3.65246e+01 3.13068e+01 2.60890e+01 2.08712e+01 1.56534e+01 1.04356e+01 + 5.21780e+00 0.00000e+00 + -117.3987 33.1003 6.4992 -48 89 1.00000e+10 47.7368 1.00000e-01 + 180 140.48 20 0.00 0 0.00 0 + 0.00000e+00 2.19502e+02 4.39004e+02 8.78007e+01 8.23132e+01 7.68256e+01 + 7.13381e+01 6.58506e+01 6.03630e+01 5.48755e+01 4.93879e+01 4.39004e+01 + 3.84128e+01 3.29253e+01 2.74377e+01 2.19502e+01 1.64626e+01 1.09751e+01 + 5.48755e+00 0.00000e+00 + -117.4067 33.1063 6.4992 -47 89 1.00000e+10 47.3690 1.00000e-01 + 180 160.54 20 0.00 0 0.00 0 + 0.00000e+00 2.50851e+02 5.01702e+02 1.00340e+02 9.40692e+01 8.77979e+01 + 8.15266e+01 7.52554e+01 6.89841e+01 6.27128e+01 5.64415e+01 5.01702e+01 + 4.38990e+01 3.76277e+01 3.13564e+01 2.50851e+01 1.88138e+01 1.25426e+01 + 6.27128e+00 0.00000e+00 + -117.4138 33.1130 6.4992 -36 89 1.00000e+10 47.0989 1.00000e-01 + 180 86.67 20 0.00 0 0.00 0 + 0.00000e+00 1.35420e+02 2.70840e+02 5.41680e+01 5.07825e+01 4.73970e+01 + 4.40115e+01 4.06260e+01 3.72405e+01 3.38550e+01 3.04695e+01 2.70840e+01 + 2.36985e+01 2.03130e+01 1.69275e+01 1.35420e+01 1.01565e+01 6.77100e+00 + 3.38550e+00 0.00000e+00 + -117.4198 33.1204 6.4992 -33 89 1.00000e+10 46.8235 1.00000e-01 + 180 10.73 20 0.00 0 0.00 0 + 0.00000e+00 1.67721e+01 3.35441e+01 6.70882e+00 6.28952e+00 5.87022e+00 + 5.45092e+00 5.03162e+00 4.61231e+00 4.19301e+00 3.77371e+00 3.35441e+00 + 2.93511e+00 2.51581e+00 2.09651e+00 1.67721e+00 1.25790e+00 8.38603e-01 + 4.19301e-01 0.00000e+00 + -117.4234 33.1286 6.4992 -8 89 1.00000e+10 46.4847 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4250 33.1375 6.4992 -8 89 1.00000e+10 46.1404 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4265 33.1464 6.4992 -8 89 1.00000e+10 45.7902 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4290 33.1550 6.4992 -20 89 1.00000e+10 45.4421 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4341 33.1626 6.4992 -39 89 1.00000e+10 45.0898 1.00000e-01 + 180 6.36 20 0.00 0 0.00 0 + 0.00000e+00 9.93662e+00 1.98732e+01 3.97465e+00 3.72623e+00 3.47782e+00 + 3.22940e+00 2.98099e+00 2.73257e+00 2.48415e+00 2.23574e+00 1.98732e+00 + 1.73891e+00 1.49049e+00 1.24208e+00 9.93662e-01 7.45246e-01 4.96831e-01 + 2.48415e-01 0.00000e+00 + -117.4408 33.1696 6.4992 -39 89 1.00000e+10 44.7494 1.00000e-01 + 180 3.16 20 0.00 0 0.00 0 + 0.00000e+00 4.93135e+00 9.86271e+00 1.97254e+00 1.84926e+00 1.72597e+00 + 1.60269e+00 1.47941e+00 1.35612e+00 1.23284e+00 1.10955e+00 9.86271e-01 + 8.62987e-01 7.39703e-01 6.16419e-01 4.93135e-01 3.69852e-01 2.46568e-01 + 1.23284e-01 0.00000e+00 + -117.4476 33.1766 6.4992 -39 89 1.00000e+10 44.2989 1.00000e-01 + 180 106.84 20 0.00 0 0.00 0 + 0.00000e+00 1.66943e+02 3.33887e+02 6.67773e+01 6.26037e+01 5.84302e+01 + 5.42566e+01 5.00830e+01 4.59094e+01 4.17358e+01 3.75622e+01 3.33887e+01 + 2.92151e+01 2.50415e+01 2.08679e+01 1.66943e+01 1.25207e+01 8.34717e+00 + 4.17358e+00 0.00000e+00 + -117.4543 33.1836 6.4992 -39 89 1.00000e+10 43.8084 1.00000e-01 + 180 247.37 20 0.00 0 0.00 0 + 0.00000e+00 3.86521e+02 7.73043e+02 1.54609e+02 1.44946e+02 1.35283e+02 + 1.25619e+02 1.15956e+02 1.06293e+02 9.66304e+01 8.69673e+01 7.73043e+01 + 6.76413e+01 5.79782e+01 4.83152e+01 3.86521e+01 2.89891e+01 1.93261e+01 + 9.66304e+00 0.00000e+00 + -117.4610 33.1907 6.4992 -39 89 1.00000e+10 43.4098 1.00000e-01 + 180 304.93 20 0.00 0 0.00 0 + 0.00000e+00 4.76460e+02 9.52920e+02 1.90584e+02 1.78673e+02 1.66761e+02 + 1.54850e+02 1.42938e+02 1.31027e+02 1.19115e+02 1.07204e+02 9.52920e+01 + 8.33805e+01 7.14690e+01 5.95575e+01 4.76460e+01 3.57345e+01 2.38230e+01 + 1.19115e+01 0.00000e+00 + -117.4678 33.1977 6.4992 -39 89 1.00000e+10 43.0714 1.00000e-01 + 180 292.69 20 0.00 0 0.00 0 + 0.00000e+00 4.57322e+02 9.14645e+02 1.82929e+02 1.71496e+02 1.60063e+02 + 1.48630e+02 1.37197e+02 1.25764e+02 1.14331e+02 1.02898e+02 9.14645e+01 + 8.00314e+01 6.85984e+01 5.71653e+01 4.57322e+01 3.42992e+01 2.28661e+01 + 1.14331e+01 0.00000e+00 + -117.4745 33.2047 6.4992 -39 89 1.00000e+10 42.6682 1.00000e-01 + 180 349.85 20 0.00 0 0.00 0 + 0.00000e+00 5.46635e+02 1.09327e+03 2.18654e+02 2.04988e+02 1.91322e+02 + 1.77656e+02 1.63991e+02 1.50325e+02 1.36659e+02 1.22993e+02 1.09327e+02 + 9.56611e+01 8.19953e+01 6.83294e+01 5.46635e+01 4.09976e+01 2.73318e+01 + 1.36659e+01 0.00000e+00 + -117.4812 33.2117 6.4992 -39 89 1.00000e+10 42.2275 1.00000e-01 + 180 442.97 20 0.00 0 0.00 0 + 0.00000e+00 6.92138e+02 1.38428e+03 2.76855e+02 2.59552e+02 2.42248e+02 + 2.24945e+02 2.07641e+02 1.90338e+02 1.73034e+02 1.55731e+02 1.38428e+02 + 1.21124e+02 1.03821e+02 8.65172e+01 6.92138e+01 5.19103e+01 3.46069e+01 + 1.73034e+01 0.00000e+00 + -117.4888 33.2180 6.4992 -51 89 1.00000e+10 41.9635 1.00000e-01 + 180 362.09 20 0.00 0 0.00 0 + 0.00000e+00 5.65773e+02 1.13155e+03 2.26309e+02 2.12165e+02 1.98020e+02 + 1.83876e+02 1.69732e+02 1.55587e+02 1.41443e+02 1.27299e+02 1.13155e+02 + 9.90102e+01 8.48659e+01 7.07216e+01 5.65773e+01 4.24329e+01 2.82886e+01 + 1.41443e+01 0.00000e+00 + -117.4973 33.2234 6.4992 -55 89 1.00000e+10 41.6093 1.00000e-01 + 180 365.73 20 0.00 0 0.00 0 + 0.00000e+00 5.71460e+02 1.14292e+03 2.28584e+02 2.14297e+02 2.00011e+02 + 1.85724e+02 1.71438e+02 1.57151e+02 1.42865e+02 1.28578e+02 1.14292e+02 + 1.00005e+02 8.57190e+01 7.14325e+01 5.71460e+01 4.28595e+01 2.85730e+01 + 1.42865e+01 0.00000e+00 + -117.5062 33.2285 6.4992 -55 89 1.00000e+10 41.2224 1.00000e-01 + 180 407.30 20 0.00 0 0.00 0 + 0.00000e+00 6.36409e+02 1.27282e+03 2.54564e+02 2.38653e+02 2.22743e+02 + 2.06833e+02 1.90923e+02 1.75012e+02 1.59102e+02 1.43192e+02 1.27282e+02 + 1.11372e+02 9.54613e+01 7.95511e+01 6.36409e+01 4.77307e+01 3.18204e+01 + 1.59102e+01 0.00000e+00 + -117.5150 33.2337 6.4992 -55 89 1.00000e+10 40.9399 1.00000e-01 + 180 343.41 20 0.00 0 0.00 0 + 0.00000e+00 5.36583e+02 1.07317e+03 2.14633e+02 2.01219e+02 1.87804e+02 + 1.74390e+02 1.60975e+02 1.47560e+02 1.34146e+02 1.20731e+02 1.07317e+02 + 9.39021e+01 8.04875e+01 6.70729e+01 5.36583e+01 4.02437e+01 2.68292e+01 + 1.34146e+01 0.00000e+00 + -117.5238 33.2388 6.4992 -55 89 1.00000e+10 40.6823 1.00000e-01 + 180 249.57 20 0.00 0 0.00 0 + 0.00000e+00 3.89952e+02 7.79905e+02 1.55981e+02 1.46232e+02 1.36483e+02 + 1.26735e+02 1.16986e+02 1.07237e+02 9.74881e+01 8.77393e+01 7.79905e+01 + 6.82417e+01 5.84929e+01 4.87440e+01 3.89952e+01 2.92464e+01 1.94976e+01 + 9.74881e+00 0.00000e+00 + -117.5326 33.2440 6.4992 -55 89 1.00000e+10 40.3184 1.00000e-01 + 180 268.82 20 0.00 0 0.00 0 + 0.00000e+00 4.20039e+02 8.40077e+02 1.68015e+02 1.57514e+02 1.47013e+02 + 1.36513e+02 1.26012e+02 1.15511e+02 1.05010e+02 9.45087e+01 8.40077e+01 + 7.35067e+01 6.30058e+01 5.25048e+01 4.20038e+01 3.15029e+01 2.10019e+01 + 1.05010e+01 0.00000e+00 + -117.5415 33.2491 6.4992 -55 89 1.00000e+10 39.9004 1.00000e-01 + 180 343.51 20 0.00 0 0.00 0 + 0.00000e+00 5.36733e+02 1.07347e+03 2.14693e+02 2.01275e+02 1.87857e+02 + 1.74438e+02 1.61020e+02 1.47602e+02 1.34183e+02 1.20765e+02 1.07347e+02 + 9.39283e+01 8.05099e+01 6.70916e+01 5.36733e+01 4.02550e+01 2.68366e+01 + 1.34183e+01 0.00000e+00 + -117.5493 33.2552 6.4992 -39 89 1.00000e+10 39.5098 1.00000e-01 + 180 382.89 20 0.00 0 0.00 0 + 0.00000e+00 5.98265e+02 1.19653e+03 2.39306e+02 2.24349e+02 2.09393e+02 + 1.94436e+02 1.79480e+02 1.64523e+02 1.49566e+02 1.34610e+02 1.19653e+02 + 1.04696e+02 8.97398e+01 7.47831e+01 5.98265e+01 4.48699e+01 2.99133e+01 + 1.49566e+01 0.00000e+00 + -117.5560 33.2622 6.4992 -38 89 1.00000e+10 39.2002 1.00000e-01 + 180 342.55 20 0.00 0 0.00 0 + 0.00000e+00 5.35231e+02 1.07046e+03 2.14092e+02 2.00712e+02 1.87331e+02 + 1.73950e+02 1.60569e+02 1.47188e+02 1.33808e+02 1.20427e+02 1.07046e+02 + 9.36654e+01 8.02846e+01 6.69038e+01 5.35231e+01 4.01423e+01 2.67615e+01 + 1.33808e+01 0.00000e+00 + -117.5626 33.2693 6.4992 -38 89 1.00000e+10 39.0010 1.00000e-01 + 180 197.62 20 0.00 0 0.00 0 + 0.00000e+00 3.08775e+02 6.17550e+02 1.23510e+02 1.15791e+02 1.08071e+02 + 1.00352e+02 9.26326e+01 8.49132e+01 7.71938e+01 6.94744e+01 6.17551e+01 + 5.40357e+01 4.63163e+01 3.85969e+01 3.08775e+01 2.31581e+01 1.54388e+01 + 7.71938e+00 0.00000e+00 + -117.5692 33.2764 6.4992 -38 89 1.00000e+10 38.6864 1.00000e-01 + 180 163.20 20 0.00 0 0.00 0 + 0.00000e+00 2.55002e+02 5.10003e+02 1.02001e+02 9.56256e+01 8.92506e+01 + 8.28756e+01 7.65005e+01 7.01255e+01 6.37504e+01 5.73754e+01 5.10003e+01 + 4.46253e+01 3.82503e+01 3.18752e+01 2.55002e+01 1.91251e+01 1.27501e+01 + 6.37504e+00 0.00000e+00 + -117.5758 33.2835 6.4992 -38 89 1.00000e+10 38.3187 1.00000e-01 + 180 185.53 20 0.00 0 0.00 0 + 0.00000e+00 2.89885e+02 5.79771e+02 1.15954e+02 1.08707e+02 1.01460e+02 + 9.42127e+01 8.69656e+01 7.97185e+01 7.24713e+01 6.52242e+01 5.79771e+01 + 5.07299e+01 4.34828e+01 3.62357e+01 2.89885e+01 2.17414e+01 1.44943e+01 + 7.24713e+00 0.00000e+00 + -117.5824 33.2906 6.4992 -38 89 1.00000e+10 38.0118 1.00000e-01 + 180 142.03 20 0.00 0 0.00 0 + 0.00000e+00 2.21927e+02 4.43853e+02 8.87706e+01 8.32224e+01 7.76743e+01 + 7.21261e+01 6.65780e+01 6.10298e+01 5.54816e+01 4.99335e+01 4.43853e+01 + 3.88371e+01 3.32890e+01 2.77408e+01 2.21927e+01 1.66445e+01 1.10963e+01 + 5.54816e+00 0.00000e+00 + -117.5890 33.2977 6.4992 -38 89 1.00000e+10 37.7431 1.00000e-01 + 180 64.05 20 0.00 0 0.00 0 + 0.00000e+00 1.00081e+02 2.00161e+02 4.00322e+01 3.75302e+01 3.50282e+01 + 3.25262e+01 3.00242e+01 2.75221e+01 2.50201e+01 2.25181e+01 2.00161e+01 + 1.75141e+01 1.50121e+01 1.25101e+01 1.00081e+01 7.50604e+00 5.00403e+00 + 2.50201e+00 0.00000e+00 + -117.5957 33.3048 6.4992 -38 89 1.00000e+10 37.4574 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6023 33.3119 6.4992 -38 89 1.00000e+10 37.1128 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6089 33.3190 6.4992 -38 89 1.00000e+10 36.7662 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6155 33.3261 6.4992 -38 89 1.00000e+10 36.4184 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6221 33.3332 6.4992 -38 89 1.00000e+10 36.0698 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6288 33.3403 6.4992 -38 89 1.00000e+10 35.7213 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6354 33.3474 6.4992 -38 89 1.00000e+10 35.3611 1.00000e-01 + 180 18.20 20 0.00 0 0.00 0 + 0.00000e+00 2.84346e+01 5.68691e+01 1.13738e+01 1.06630e+01 9.95210e+00 + 9.24123e+00 8.53037e+00 7.81951e+00 7.10864e+00 6.39778e+00 5.68691e+00 + 4.97605e+00 4.26518e+00 3.55432e+00 2.84346e+00 2.13259e+00 1.42173e+00 + 7.10864e-01 0.00000e+00 + -117.6420 33.3545 6.4992 -38 89 1.00000e+10 34.9955 1.00000e-01 + 180 31.21 20 0.00 0 0.00 0 + 0.00000e+00 4.87647e+01 9.75295e+01 1.95059e+01 1.82868e+01 1.70677e+01 + 1.58485e+01 1.46294e+01 1.34103e+01 1.21912e+01 1.09721e+01 9.75295e+00 + 8.53383e+00 7.31471e+00 6.09559e+00 4.87647e+00 3.65736e+00 2.43824e+00 + 1.21912e+00 0.00000e+00 + -117.6487 33.3616 6.4992 -38 89 1.00000e+10 34.5944 1.00000e-01 + 180 87.42 20 0.00 0 0.00 0 + 0.00000e+00 1.36589e+02 2.73179e+02 5.46358e+01 5.12211e+01 4.78063e+01 + 4.43916e+01 4.09768e+01 3.75621e+01 3.41474e+01 3.07326e+01 2.73179e+01 + 2.39032e+01 2.04884e+01 1.70737e+01 1.36589e+01 1.02442e+01 6.82947e+00 + 3.41474e+00 0.00000e+00 + -117.6553 33.3687 6.4992 -38 89 1.00000e+10 34.2385 1.00000e-01 + 180 100.13 20 0.00 0 0.00 0 + 0.00000e+00 1.56458e+02 3.12916e+02 6.25833e+01 5.86718e+01 5.47604e+01 + 5.08489e+01 4.69375e+01 4.30260e+01 3.91145e+01 3.52031e+01 3.12916e+01 + 2.73802e+01 2.34687e+01 1.95573e+01 1.56458e+01 1.17344e+01 7.82291e+00 + 3.91145e+00 0.00000e+00 + -117.6619 33.3758 6.4992 -38 89 1.00000e+10 33.8221 1.00000e-01 + 180 166.05 20 0.00 0 0.00 0 + 0.00000e+00 2.59458e+02 5.18916e+02 1.03783e+02 9.72967e+01 9.08102e+01 + 8.43238e+01 7.78373e+01 7.13509e+01 6.48645e+01 5.83780e+01 5.18916e+01 + 4.54051e+01 3.89187e+01 3.24322e+01 2.59458e+01 1.94593e+01 1.29729e+01 + 6.48645e+00 0.00000e+00 + -117.6685 33.3829 6.4992 -38 89 1.00000e+10 33.3967 1.00000e-01 + 180 244.62 20 0.00 0 0.00 0 + 0.00000e+00 3.82217e+02 7.64434e+02 1.52887e+02 1.43331e+02 1.33776e+02 + 1.24221e+02 1.14665e+02 1.05110e+02 9.55542e+01 8.59988e+01 7.64434e+01 + 6.68880e+01 5.73326e+01 4.77771e+01 3.82217e+01 2.86663e+01 1.91108e+01 + 9.55542e+00 0.00000e+00 + -117.6752 33.3900 6.4992 -38 89 1.00000e+10 32.9592 1.00000e-01 + 180 334.50 20 0.00 0 0.00 0 + 0.00000e+00 5.22656e+02 1.04531e+03 2.09063e+02 1.95996e+02 1.82930e+02 + 1.69863e+02 1.56797e+02 1.43731e+02 1.30664e+02 1.17598e+02 1.04531e+02 + 9.14649e+01 7.83985e+01 6.53321e+01 5.22656e+01 3.91992e+01 2.61328e+01 + 1.30664e+01 0.00000e+00 + -117.6818 33.3971 6.4992 -38 89 1.00000e+10 32.6130 1.00000e-01 + 180 336.58 20 0.00 0 0.00 0 + 0.00000e+00 5.25903e+02 1.05181e+03 2.10361e+02 1.97213e+02 1.84066e+02 + 1.70918e+02 1.57771e+02 1.44623e+02 1.31476e+02 1.18328e+02 1.05181e+02 + 9.20329e+01 7.88854e+01 6.57378e+01 5.25903e+01 3.94427e+01 2.62951e+01 + 1.31476e+01 0.00000e+00 + -117.6886 33.4041 6.4992 -40 89 1.00000e+10 32.3392 1.00000e-01 + 180 261.60 20 0.00 0 0.00 0 + 0.00000e+00 4.08752e+02 8.17504e+02 1.63501e+02 1.53282e+02 1.43063e+02 + 1.32844e+02 1.22626e+02 1.12407e+02 1.02188e+02 9.19693e+01 8.17505e+01 + 7.15316e+01 6.13128e+01 5.10940e+01 4.08752e+01 3.06564e+01 2.04376e+01 + 1.02188e+01 0.00000e+00 + -117.6956 33.4109 6.4992 -41 89 1.00000e+10 32.0586 1.00000e-01 + 180 194.61 20 0.00 0 0.00 0 + 0.00000e+00 3.04079e+02 6.08158e+02 1.21632e+02 1.14030e+02 1.06428e+02 + 9.88257e+01 9.12238e+01 8.36218e+01 7.60198e+01 6.84178e+01 6.08158e+01 + 5.32139e+01 4.56119e+01 3.80099e+01 3.04079e+01 2.28059e+01 1.52040e+01 + 7.60198e+00 0.00000e+00 + -117.7027 33.4177 6.4992 -41 89 1.00000e+10 31.7587 1.00000e-01 + 180 145.07 20 0.00 0 0.00 0 + 0.00000e+00 2.26670e+02 4.53340e+02 9.06679e+01 8.50012e+01 7.93344e+01 + 7.36677e+01 6.80010e+01 6.23342e+01 5.66675e+01 5.10007e+01 4.53340e+01 + 3.96672e+01 3.40005e+01 2.83337e+01 2.26670e+01 1.70002e+01 1.13335e+01 + 5.66675e+00 0.00000e+00 + -117.7098 33.4244 6.4992 -41 89 1.00000e+10 31.3402 1.00000e-01 + 180 217.77 20 0.00 0 0.00 0 + 0.00000e+00 3.40264e+02 6.80528e+02 1.36106e+02 1.27599e+02 1.19092e+02 + 1.10586e+02 1.02079e+02 9.35726e+01 8.50660e+01 7.65594e+01 6.80528e+01 + 5.95462e+01 5.10396e+01 4.25330e+01 3.40264e+01 2.55198e+01 1.70132e+01 + 8.50660e+00 0.00000e+00 + -117.7169 33.4312 6.4992 -41 89 1.00000e+10 30.9580 1.00000e-01 + 180 253.34 20 0.00 0 0.00 0 + 0.00000e+00 3.95840e+02 7.91680e+02 1.58336e+02 1.48440e+02 1.38544e+02 + 1.28648e+02 1.18752e+02 1.08856e+02 9.89600e+01 8.90640e+01 7.91680e+01 + 6.92720e+01 5.93760e+01 4.94800e+01 3.95840e+01 2.96880e+01 1.97920e+01 + 9.89600e+00 0.00000e+00 + -117.7240 33.4380 6.4992 -41 89 1.00000e+10 30.5806 1.00000e-01 + 180 284.31 20 0.00 0 0.00 0 + 0.00000e+00 4.44232e+02 8.88464e+02 1.77693e+02 1.66587e+02 1.55481e+02 + 1.44375e+02 1.33270e+02 1.22164e+02 1.11058e+02 9.99522e+01 8.88464e+01 + 7.77406e+01 6.66348e+01 5.55290e+01 4.44232e+01 3.33174e+01 2.22116e+01 + 1.11058e+01 0.00000e+00 + -117.7311 33.4448 6.4992 -41 89 1.00000e+10 30.2343 1.00000e-01 + 180 284.96 20 0.00 0 0.00 0 + 0.00000e+00 4.45251e+02 8.90503e+02 1.78101e+02 1.66969e+02 1.55838e+02 + 1.44707e+02 1.33575e+02 1.22444e+02 1.11313e+02 1.00182e+02 8.90503e+01 + 7.79190e+01 6.67877e+01 5.56564e+01 4.45251e+01 3.33939e+01 2.22626e+01 + 1.11313e+01 0.00000e+00 + -117.7382 33.4515 6.4992 -41 89 1.00000e+10 29.8684 1.00000e-01 + 180 300.74 20 0.00 0 0.00 0 + 0.00000e+00 4.69911e+02 9.39822e+02 1.87964e+02 1.76217e+02 1.64469e+02 + 1.52721e+02 1.40973e+02 1.29226e+02 1.17478e+02 1.05730e+02 9.39822e+01 + 8.22345e+01 7.04867e+01 5.87389e+01 4.69911e+01 3.52433e+01 2.34956e+01 + 1.17478e+01 0.00000e+00 + -117.7453 33.4583 6.4992 -41 89 1.00000e+10 29.3899 1.00000e-01 + 180 433.10 20 0.00 0 0.00 0 + 0.00000e+00 6.76720e+02 1.35344e+03 2.70688e+02 2.53770e+02 2.36852e+02 + 2.19934e+02 2.03016e+02 1.86098e+02 1.69180e+02 1.52262e+02 1.35344e+02 + 1.18426e+02 1.01508e+02 8.45899e+01 6.76720e+01 5.07540e+01 3.38360e+01 + 1.69180e+01 0.00000e+00 + -117.7524 33.4651 6.4992 -41 89 1.00000e+10 28.9325 1.00000e-01 + 180 547.58 20 0.00 0 0.00 0 + 0.00000e+00 8.55598e+02 1.71120e+03 3.42239e+02 3.20849e+02 2.99459e+02 + 2.78069e+02 2.56679e+02 2.35289e+02 2.13899e+02 1.92510e+02 1.71120e+02 + 1.49730e+02 1.28340e+02 1.06950e+02 8.55598e+01 6.41698e+01 4.27799e+01 + 2.13899e+01 0.00000e+00 + -117.7595 33.4719 6.4992 -41 89 1.00000e+10 28.5953 1.00000e-01 + 180 539.08 20 0.00 0 0.00 0 + 0.00000e+00 8.42308e+02 1.68462e+03 3.36923e+02 3.15866e+02 2.94808e+02 + 2.73750e+02 2.52693e+02 2.31635e+02 2.10577e+02 1.89519e+02 1.68462e+02 + 1.47404e+02 1.26346e+02 1.05289e+02 8.42308e+01 6.31731e+01 4.21154e+01 + 2.10577e+01 0.00000e+00 + -117.7666 33.4787 6.4992 -41 89 1.00000e+10 28.3150 1.00000e-01 + 180 472.50 20 0.00 0 0.00 0 + 0.00000e+00 7.38274e+02 1.47655e+03 2.95310e+02 2.76853e+02 2.58396e+02 + 2.39939e+02 2.21482e+02 2.03025e+02 1.84568e+02 1.66112e+02 1.47655e+02 + 1.29198e+02 1.10741e+02 9.22842e+01 7.38274e+01 5.53705e+01 3.69137e+01 + 1.84568e+01 0.00000e+00 + -117.7737 33.4854 6.4992 -41 89 1.00000e+10 28.1221 1.00000e-01 + 180 313.14 20 0.00 0 0.00 0 + 0.00000e+00 4.89289e+02 9.78577e+02 1.95715e+02 1.83483e+02 1.71251e+02 + 1.59019e+02 1.46787e+02 1.34554e+02 1.22322e+02 1.10090e+02 9.78577e+01 + 8.56255e+01 7.33933e+01 6.11611e+01 4.89289e+01 3.66966e+01 2.44644e+01 + 1.22322e+01 0.00000e+00 + -117.7808 33.4922 6.4992 -41 89 1.00000e+10 27.8867 1.00000e-01 + 180 203.37 20 0.00 0 0.00 0 + 0.00000e+00 3.17759e+02 6.35518e+02 1.27104e+02 1.19160e+02 1.11216e+02 + 1.03272e+02 9.53277e+01 8.73837e+01 7.94398e+01 7.14958e+01 6.35518e+01 + 5.56078e+01 4.76639e+01 3.97199e+01 3.17759e+01 2.38319e+01 1.58880e+01 + 7.94398e+00 0.00000e+00 + -117.7879 33.4990 6.4992 -41 89 1.00000e+10 27.5473 1.00000e-01 + 180 196.02 20 0.00 0 0.00 0 + 0.00000e+00 3.06284e+02 6.12568e+02 1.22514e+02 1.14857e+02 1.07199e+02 + 9.95424e+01 9.18853e+01 8.42282e+01 7.65711e+01 6.89139e+01 6.12568e+01 + 5.35997e+01 4.59426e+01 3.82855e+01 3.06284e+01 2.29713e+01 1.53142e+01 + 7.65711e+00 0.00000e+00 + -117.7951 33.5057 6.4992 -42 89 1.00000e+10 27.2365 1.00000e-01 + 180 158.74 20 0.00 0 0.00 0 + 0.00000e+00 2.48024e+02 4.96048e+02 9.92097e+01 9.30091e+01 8.68085e+01 + 8.06079e+01 7.44073e+01 6.82067e+01 6.20061e+01 5.58055e+01 4.96049e+01 + 4.34042e+01 3.72036e+01 3.10030e+01 2.48024e+01 1.86018e+01 1.24012e+01 + 6.20061e+00 0.00000e+00 + -117.8027 33.5120 6.4992 -49 89 1.00000e+10 26.7776 1.00000e-01 + 180 271.04 20 0.00 0 0.00 0 + 0.00000e+00 4.23499e+02 8.46997e+02 1.69399e+02 1.58812e+02 1.48224e+02 + 1.37637e+02 1.27050e+02 1.16462e+02 1.05875e+02 9.52872e+01 8.46997e+01 + 7.41122e+01 6.35248e+01 5.29373e+01 4.23499e+01 3.17624e+01 2.11749e+01 + 1.05875e+01 0.00000e+00 + -117.8109 33.5179 6.4992 -49 89 1.00000e+10 26.3641 1.00000e-01 + 180 338.78 20 0.00 0 0.00 0 + 0.00000e+00 5.29341e+02 1.05868e+03 2.11736e+02 1.98503e+02 1.85269e+02 + 1.72036e+02 1.58802e+02 1.45569e+02 1.32335e+02 1.19102e+02 1.05868e+02 + 9.26347e+01 7.94012e+01 6.61676e+01 5.29341e+01 3.97006e+01 2.64671e+01 + 1.32335e+01 0.00000e+00 + -117.8191 33.5237 6.4992 -49 89 1.00000e+10 25.9648 1.00000e-01 + 180 387.00 20 0.00 0 0.00 0 + 0.00000e+00 6.04687e+02 1.20937e+03 2.41875e+02 2.26758e+02 2.11641e+02 + 1.96523e+02 1.81406e+02 1.66289e+02 1.51172e+02 1.36055e+02 1.20937e+02 + 1.05820e+02 9.07031e+01 7.55859e+01 6.04687e+01 4.53515e+01 3.02344e+01 + 1.51172e+01 0.00000e+00 + -117.8273 33.5296 6.4992 -49 89 1.00000e+10 25.7078 1.00000e-01 + 180 295.33 20 0.00 0 0.00 0 + 0.00000e+00 4.61450e+02 9.22900e+02 1.84580e+02 1.73044e+02 1.61508e+02 + 1.49971e+02 1.38435e+02 1.26899e+02 1.15363e+02 1.03826e+02 9.22900e+01 + 8.07538e+01 6.92175e+01 5.76813e+01 4.61450e+01 3.46088e+01 2.30725e+01 + 1.15363e+01 0.00000e+00 + -117.8355 33.5355 6.4992 -49 89 1.00000e+10 25.4604 1.00000e-01 + 180 198.55 20 0.00 0 0.00 0 + 0.00000e+00 3.10237e+02 6.20473e+02 1.24095e+02 1.16339e+02 1.08583e+02 + 1.00827e+02 9.30710e+01 8.53151e+01 7.75592e+01 6.98033e+01 6.20473e+01 + 5.42914e+01 4.65355e+01 3.87796e+01 3.10237e+01 2.32678e+01 1.55118e+01 + 7.75592e+00 0.00000e+00 + -117.8436 33.5414 6.4992 -49 89 1.00000e+10 25.0697 1.00000e-01 + 180 238.61 20 0.00 0 0.00 0 + 0.00000e+00 3.72835e+02 7.45669e+02 1.49134e+02 1.39813e+02 1.30492e+02 + 1.21171e+02 1.11850e+02 1.02530e+02 9.32087e+01 8.38878e+01 7.45669e+01 + 6.52461e+01 5.59252e+01 4.66043e+01 3.72835e+01 2.79626e+01 1.86417e+01 + 9.32087e+00 0.00000e+00 + -117.8518 33.5472 6.4992 -49 89 1.00000e+10 24.7375 1.00000e-01 + 180 226.57 20 0.00 0 0.00 0 + 0.00000e+00 3.54018e+02 7.08035e+02 1.41607e+02 1.32757e+02 1.23906e+02 + 1.15056e+02 1.06205e+02 9.73549e+01 8.85044e+01 7.96540e+01 7.08035e+01 + 6.19531e+01 5.31026e+01 4.42522e+01 3.54018e+01 2.65513e+01 1.77009e+01 + 8.85044e+00 0.00000e+00 + -117.8600 33.5531 6.4992 -49 89 1.00000e+10 24.3951 1.00000e-01 + 180 220.55 20 0.00 0 0.00 0 + 0.00000e+00 3.44608e+02 6.89217e+02 1.37843e+02 1.29228e+02 1.20613e+02 + 1.11998e+02 1.03383e+02 9.47673e+01 8.61521e+01 7.75369e+01 6.89217e+01 + 6.03065e+01 5.16913e+01 4.30760e+01 3.44608e+01 2.58456e+01 1.72304e+01 + 8.61521e+00 0.00000e+00 + -117.8682 33.5590 6.4992 -49 89 1.00000e+10 24.0160 1.00000e-01 + 180 254.78 20 0.00 0 0.00 0 + 0.00000e+00 3.98095e+02 7.96191e+02 1.59238e+02 1.49286e+02 1.39333e+02 + 1.29381e+02 1.19429e+02 1.09476e+02 9.95239e+01 8.95715e+01 7.96191e+01 + 6.96667e+01 5.97143e+01 4.97619e+01 3.98095e+01 2.98572e+01 1.99048e+01 + 9.95239e+00 0.00000e+00 + -117.8764 33.5648 6.4992 -49 89 1.00000e+10 23.6218 1.00000e-01 + 180 298.34 20 0.00 0 0.00 0 + 0.00000e+00 4.66155e+02 9.32311e+02 1.86462e+02 1.74808e+02 1.63154e+02 + 1.51500e+02 1.39847e+02 1.28193e+02 1.16539e+02 1.04885e+02 9.32311e+01 + 8.15772e+01 6.99233e+01 5.82694e+01 4.66155e+01 3.49617e+01 2.33078e+01 + 1.16539e+01 0.00000e+00 + -117.8846 33.5707 6.4992 -49 89 1.00000e+10 23.3968 1.00000e-01 + 180 177.25 20 0.00 0 0.00 0 + 0.00000e+00 2.76957e+02 5.53914e+02 1.10783e+02 1.03859e+02 9.69349e+01 + 9.00110e+01 8.30871e+01 7.61631e+01 6.92392e+01 6.23153e+01 5.53914e+01 + 4.84675e+01 4.15435e+01 3.46196e+01 2.76957e+01 2.07718e+01 1.38478e+01 + 6.92392e+00 0.00000e+00 + -117.8928 33.5766 6.4992 -49 89 1.00000e+10 23.1350 1.00000e-01 + 180 91.04 20 0.00 0 0.00 0 + 0.00000e+00 1.42255e+02 2.84510e+02 5.69019e+01 5.33456e+01 4.97892e+01 + 4.62328e+01 4.26765e+01 3.91201e+01 3.55637e+01 3.20073e+01 2.84510e+01 + 2.48946e+01 2.13382e+01 1.77819e+01 1.42255e+01 1.06691e+01 7.11274e+00 + 3.55637e+00 0.00000e+00 + -117.9009 33.5825 6.4992 -49 89 1.00000e+10 22.8473 1.00000e-01 + 180 30.66 20 0.00 0 0.00 0 + 0.00000e+00 4.78991e+01 9.57982e+01 1.91596e+01 1.79622e+01 1.67647e+01 + 1.55672e+01 1.43697e+01 1.31723e+01 1.19748e+01 1.07773e+01 9.57982e+00 + 8.38235e+00 7.18487e+00 5.98739e+00 4.78991e+00 3.59243e+00 2.39496e+00 + 1.19748e+00 0.00000e+00 + -117.9091 33.5883 6.4992 -49 89 1.00000e+10 22.5134 1.00000e-01 + 180 18.38 20 0.00 0 0.00 0 + 0.00000e+00 2.87166e+01 5.74332e+01 1.14866e+01 1.07687e+01 1.00508e+01 + 9.33289e+00 8.61498e+00 7.89706e+00 7.17915e+00 6.46123e+00 5.74332e+00 + 5.02540e+00 4.30749e+00 3.58957e+00 2.87166e+00 2.15374e+00 1.43583e+00 + 7.17915e-01 0.00000e+00 + -117.9165 33.5948 6.4992 -37 89 1.00000e+10 22.1849 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9230 33.6020 6.4992 -37 89 1.00000e+10 21.7958 1.00000e-01 + 180 44.01 20 0.00 0 0.00 0 + 0.00000e+00 6.87582e+01 1.37516e+02 2.75033e+01 2.57843e+01 2.40654e+01 + 2.23464e+01 2.06275e+01 1.89085e+01 1.71895e+01 1.54706e+01 1.37516e+01 + 1.20327e+01 1.03137e+01 8.59477e+00 6.87582e+00 5.15686e+00 3.43791e+00 + 1.71895e+00 0.00000e+00 + -117.9295 33.6092 6.4992 -37 89 1.00000e+10 21.3598 1.00000e-01 + 180 131.90 20 0.00 0 0.00 0 + 0.00000e+00 2.06096e+02 4.12191e+02 8.24382e+01 7.72858e+01 7.21334e+01 + 6.69810e+01 6.18287e+01 5.66763e+01 5.15239e+01 4.63715e+01 4.12191e+01 + 3.60667e+01 3.09143e+01 2.57619e+01 2.06096e+01 1.54572e+01 1.03048e+01 + 5.15239e+00 0.00000e+00 + -117.9361 33.6164 6.4992 -38 89 1.00000e+10 21.1125 1.00000e-01 + 180 28.61 20 0.00 0 0.00 0 + 0.00000e+00 4.46961e+01 8.93922e+01 1.78784e+01 1.67610e+01 1.56436e+01 + 1.45262e+01 1.34088e+01 1.22914e+01 1.11740e+01 1.00566e+01 8.93922e+00 + 7.82182e+00 6.70441e+00 5.58701e+00 4.46961e+00 3.35221e+00 2.23480e+00 + 1.11740e+00 0.00000e+00 + -117.9428 33.6234 6.4992 -39 89 1.00000e+10 20.7982 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9495 33.6304 6.4992 -39 89 1.00000e+10 20.4480 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9563 33.6375 6.4992 -39 89 1.00000e+10 20.1035 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9630 33.6445 6.4992 -39 89 1.00000e+10 19.7571 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9697 33.6516 6.4992 -39 89 1.00000e+10 19.4076 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9765 33.6586 6.4992 -39 89 1.00000e+10 18.9549 1.00000e-01 + 180 108.23 20 0.00 0 0.00 0 + 0.00000e+00 1.69104e+02 3.38208e+02 6.76416e+01 6.34140e+01 5.91864e+01 + 5.49588e+01 5.07312e+01 4.65036e+01 4.22760e+01 3.80484e+01 3.38208e+01 + 2.95932e+01 2.53656e+01 2.11380e+01 1.69104e+01 1.26828e+01 8.45520e+00 + 4.22760e+00 0.00000e+00 + -117.9832 33.6656 6.4992 -39 89 1.00000e+10 18.5306 1.00000e-01 + 180 183.24 20 0.00 0 0.00 0 + 0.00000e+00 2.86312e+02 5.72623e+02 1.14525e+02 1.07367e+02 1.00209e+02 + 9.30513e+01 8.58935e+01 7.87357e+01 7.15779e+01 6.44201e+01 5.72623e+01 + 5.01045e+01 4.29467e+01 3.57890e+01 2.86312e+01 2.14734e+01 1.43156e+01 + 7.15779e+00 0.00000e+00 + -117.9901 33.6725 6.4992 -41 89 1.00000e+10 18.1711 1.00000e-01 + 180 195.56 20 0.00 0 0.00 0 + 0.00000e+00 3.05556e+02 6.11112e+02 1.22222e+02 1.14583e+02 1.06945e+02 + 9.93057e+01 9.16668e+01 8.40279e+01 7.63890e+01 6.87501e+01 6.11112e+01 + 5.34723e+01 4.58334e+01 3.81945e+01 3.05556e+01 2.29167e+01 1.52778e+01 + 7.63890e+00 0.00000e+00 + -117.9981 33.6785 6.4992 -54 89 1.00000e+10 17.8528 1.00000e-01 + 180 165.69 20 0.00 0 0.00 0 + 0.00000e+00 2.58886e+02 5.17772e+02 1.03554e+02 9.70822e+01 9.06101e+01 + 8.41379e+01 7.76658e+01 7.11936e+01 6.47215e+01 5.82493e+01 5.17772e+01 + 4.53050e+01 3.88329e+01 3.23607e+01 2.58886e+01 1.94164e+01 1.29443e+01 + 6.47215e+00 0.00000e+00 + -118.0069 33.6837 6.4992 -54 89 1.00000e+10 17.5458 1.00000e-01 + 180 127.15 20 0.00 0 0.00 0 + 0.00000e+00 1.98668e+02 3.97335e+02 7.94670e+01 7.45003e+01 6.95336e+01 + 6.45669e+01 5.96003e+01 5.46336e+01 4.96669e+01 4.47002e+01 3.97335e+01 + 3.47668e+01 2.98001e+01 2.48334e+01 1.98668e+01 1.49001e+01 9.93338e+00 + 4.96669e+00 0.00000e+00 + -118.0157 33.6890 6.4992 -54 89 1.00000e+10 17.2419 1.00000e-01 + 180 86.03 20 0.00 0 0.00 0 + 0.00000e+00 1.34421e+02 2.68842e+02 5.37683e+01 5.04078e+01 4.70473e+01 + 4.36868e+01 4.03262e+01 3.69657e+01 3.36052e+01 3.02447e+01 2.68842e+01 + 2.35236e+01 2.01631e+01 1.68026e+01 1.34421e+01 1.00816e+01 6.72104e+00 + 3.36052e+00 0.00000e+00 + -118.0245 33.6942 6.4992 -54 89 1.00000e+10 16.9660 1.00000e-01 + 180 11.95 20 0.00 0 0.00 0 + 0.00000e+00 1.86690e+01 3.73380e+01 7.46761e+00 7.00088e+00 6.53416e+00 + 6.06743e+00 5.60071e+00 5.13398e+00 4.66725e+00 4.20053e+00 3.73380e+00 + 3.26708e+00 2.80035e+00 2.33363e+00 1.86690e+00 1.40018e+00 9.33451e-01 + 4.66725e-01 0.00000e+00 + -118.0333 33.6994 6.4992 -54 89 1.00000e+10 16.6289 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.0420 33.7048 6.4992 -53 89 1.00000e+10 16.2806 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.0504 33.7104 6.4992 -50 89 1.00000e+10 15.9340 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.0586 33.7162 6.4992 -48 89 1.00000e+10 15.5873 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.0654 33.7231 6.4992 -31 89 1.00000e+10 15.1878 1.00000e-01 + 180 58.09 20 0.00 0 0.00 0 + 0.00000e+00 9.07677e+01 1.81535e+02 3.63071e+01 3.40379e+01 3.17687e+01 + 2.94995e+01 2.72303e+01 2.49611e+01 2.26919e+01 2.04227e+01 1.81535e+01 + 1.58843e+01 1.36151e+01 1.13460e+01 9.07677e+00 6.80757e+00 4.53838e+00 + 2.26919e+00 0.00000e+00 + -118.0710 33.7308 6.4992 -31 89 1.00000e+10 14.7519 1.00000e-01 + 180 142.90 20 0.00 0 0.00 0 + 0.00000e+00 2.23285e+02 4.46571e+02 8.93141e+01 8.37320e+01 7.81498e+01 + 7.25677e+01 6.69856e+01 6.14035e+01 5.58213e+01 5.02392e+01 4.46571e+01 + 3.90749e+01 3.34928e+01 2.79107e+01 2.23285e+01 1.67464e+01 1.11643e+01 + 5.58213e+00 0.00000e+00 + -118.0775 33.7378 6.4992 -44 89 1.00000e+10 14.3243 1.00000e-01 + 180 226.07 20 0.00 0 0.00 0 + 0.00000e+00 3.53233e+02 7.06465e+02 1.41293e+02 1.32462e+02 1.23631e+02 + 1.14801e+02 1.05970e+02 9.71390e+01 8.83082e+01 7.94774e+01 7.06465e+01 + 6.18157e+01 5.29849e+01 4.41541e+01 3.53233e+01 2.64925e+01 1.76616e+01 + 8.83082e+00 0.00000e+00 + -118.0853 33.7441 6.4992 -47 89 1.00000e+10 13.8542 1.00000e-01 + 180 348.27 20 0.00 0 0.00 0 + 0.00000e+00 5.44178e+02 1.08836e+03 2.17671e+02 2.04067e+02 1.90462e+02 + 1.76858e+02 1.63254e+02 1.49649e+02 1.36045e+02 1.22440e+02 1.08836e+02 + 9.52312e+01 8.16268e+01 6.80223e+01 5.44178e+01 4.08134e+01 2.72089e+01 + 1.36045e+01 0.00000e+00 + -118.0932 33.7502 6.4992 -47 89 1.00000e+10 13.4975 1.00000e-01 + 180 359.66 20 0.00 0 0.00 0 + 0.00000e+00 5.61966e+02 1.12393e+03 2.24787e+02 2.10737e+02 1.96688e+02 + 1.82639e+02 1.68590e+02 1.54541e+02 1.40492e+02 1.26442e+02 1.12393e+02 + 9.83441e+01 8.42950e+01 7.02458e+01 5.61967e+01 4.21475e+01 2.80983e+01 + 1.40492e+01 0.00000e+00 + -118.1012 33.7563 6.4992 -47 89 1.00000e+10 13.2683 1.00000e-01 + 180 240.39 20 0.00 0 0.00 0 + 0.00000e+00 3.75609e+02 7.51217e+02 1.50243e+02 1.40853e+02 1.31463e+02 + 1.22073e+02 1.12683e+02 1.03292e+02 9.39022e+01 8.45120e+01 7.51217e+01 + 6.57315e+01 5.63413e+01 4.69511e+01 3.75609e+01 2.81707e+01 1.87804e+01 + 9.39022e+00 0.00000e+00 + -118.1091 33.7624 6.4992 -47 89 1.00000e+10 12.8810 1.00000e-01 + 180 286.27 20 0.00 0 0.00 0 + 0.00000e+00 4.47290e+02 8.94580e+02 1.78916e+02 1.67734e+02 1.56551e+02 + 1.45369e+02 1.34187e+02 1.23005e+02 1.11822e+02 1.00640e+02 8.94580e+01 + 7.82757e+01 6.70935e+01 5.59112e+01 4.47290e+01 3.35467e+01 2.23645e+01 + 1.11822e+01 0.00000e+00 + -118.1173 33.7683 6.4992 -52 89 1.00000e+10 12.5575 1.00000e-01 + 180 258.42 20 0.00 0 0.00 0 + 0.00000e+00 4.03776e+02 8.07553e+02 1.61511e+02 1.51416e+02 1.41322e+02 + 1.31227e+02 1.21133e+02 1.11039e+02 1.00944e+02 9.08497e+01 8.07553e+01 + 7.06609e+01 6.05665e+01 5.04721e+01 4.03777e+01 3.02832e+01 2.01888e+01 + 1.00944e+01 0.00000e+00 + -118.1259 33.7738 6.4992 -52 89 1.00000e+10 12.1806 1.00000e-01 + 180 289.88 20 0.00 0 0.00 0 + 0.00000e+00 4.52936e+02 9.05872e+02 1.81174e+02 1.69851e+02 1.58528e+02 + 1.47204e+02 1.35881e+02 1.24557e+02 1.13234e+02 1.01911e+02 9.05872e+01 + 7.92638e+01 6.79404e+01 5.66170e+01 4.52936e+01 3.39702e+01 2.26468e+01 + 1.13234e+01 0.00000e+00 + -118.1344 33.7794 6.4992 -52 89 1.00000e+10 11.7152 1.00000e-01 + 180 410.52 20 0.00 0 0.00 0 + 0.00000e+00 6.41440e+02 1.28288e+03 2.56576e+02 2.40540e+02 2.24504e+02 + 2.08468e+02 1.92432e+02 1.76396e+02 1.60360e+02 1.44324e+02 1.28288e+02 + 1.12252e+02 9.62160e+01 8.01800e+01 6.41440e+01 4.81080e+01 3.20720e+01 + 1.60360e+01 0.00000e+00 + -118.1429 33.7849 6.4992 -52 89 1.00000e+10 11.2337 1.00000e-01 + 180 546.05 20 0.00 0 0.00 0 + 0.00000e+00 8.53197e+02 1.70639e+03 3.41279e+02 3.19949e+02 2.98619e+02 + 2.77289e+02 2.55959e+02 2.34629e+02 2.13299e+02 1.91969e+02 1.70639e+02 + 1.49309e+02 1.27980e+02 1.06650e+02 8.53197e+01 6.39898e+01 4.26599e+01 + 2.13299e+01 0.00000e+00 + -118.1514 33.7905 6.4992 -51 89 1.00000e+10 10.8567 1.00000e-01 + 180 580.25 20 0.00 0 0.00 0 + 0.00000e+00 9.06633e+02 1.81327e+03 3.62653e+02 3.39987e+02 3.17322e+02 + 2.94656e+02 2.71990e+02 2.49324e+02 2.26658e+02 2.03992e+02 1.81327e+02 + 1.58661e+02 1.35995e+02 1.13329e+02 9.06633e+01 6.79975e+01 4.53317e+01 + 2.26658e+01 0.00000e+00 + -118.1597 33.7962 6.4992 -50 89 1.00000e+10 10.4757 1.00000e-01 + 180 612.78 20 0.00 0 0.00 0 + 0.00000e+00 9.57465e+02 1.91493e+03 3.82986e+02 3.59050e+02 3.35113e+02 + 3.11176e+02 2.87240e+02 2.63303e+02 2.39366e+02 2.15430e+02 1.91493e+02 + 1.67556e+02 1.43620e+02 1.19683e+02 9.57465e+01 7.18099e+01 4.78733e+01 + 2.39366e+01 0.00000e+00 + -118.1681 33.8020 6.4992 -50 89 1.00000e+10 10.1735 1.00000e-01 + 180 566.66 20 0.00 0 0.00 0 + 0.00000e+00 8.85399e+02 1.77080e+03 3.54159e+02 3.32025e+02 3.09890e+02 + 2.87755e+02 2.65620e+02 2.43485e+02 2.21350e+02 1.99215e+02 1.77080e+02 + 1.54945e+02 1.32810e+02 1.10675e+02 8.85399e+01 6.64049e+01 4.42699e+01 + 2.21350e+01 0.00000e+00 + -118.1764 33.8077 6.4992 -50 89 1.00000e+10 9.9104 1.00000e-01 + 180 482.27 20 0.00 0 0.00 0 + 0.00000e+00 7.53544e+02 1.50709e+03 3.01418e+02 2.82579e+02 2.63740e+02 + 2.44902e+02 2.26063e+02 2.07225e+02 1.88386e+02 1.69547e+02 1.50709e+02 + 1.31870e+02 1.13032e+02 9.41930e+01 7.53544e+01 5.65158e+01 3.76772e+01 + 1.88386e+01 0.00000e+00 + -118.1848 33.8134 6.4992 -50 89 1.00000e+10 9.6533 1.00000e-01 + 180 394.88 20 0.00 0 0.00 0 + 0.00000e+00 6.17000e+02 1.23400e+03 2.46800e+02 2.31375e+02 2.15950e+02 + 2.00525e+02 1.85100e+02 1.69675e+02 1.54250e+02 1.38825e+02 1.23400e+02 + 1.07975e+02 9.25501e+01 7.71250e+01 6.17000e+01 4.62750e+01 3.08500e+01 + 1.54250e+01 0.00000e+00 + -118.1931 33.8192 6.4992 -50 89 1.00000e+10 9.3400 1.00000e-01 + 180 359.64 20 0.00 0 0.00 0 + 0.00000e+00 5.61930e+02 1.12386e+03 2.24772e+02 2.10724e+02 1.96676e+02 + 1.82627e+02 1.68579e+02 1.54531e+02 1.40483e+02 1.26434e+02 1.12386e+02 + 9.83378e+01 8.42895e+01 7.02413e+01 5.61930e+01 4.21448e+01 2.80965e+01 + 1.40483e+01 0.00000e+00 + -118.2015 33.8249 6.4992 -50 89 1.00000e+10 9.1180 1.00000e-01 + 180 237.59 20 0.00 0 0.00 0 + 0.00000e+00 3.71240e+02 7.42480e+02 1.48496e+02 1.39215e+02 1.29934e+02 + 1.20653e+02 1.11372e+02 1.02091e+02 9.28100e+01 8.35290e+01 7.42480e+01 + 6.49670e+01 5.56860e+01 4.64050e+01 3.71240e+01 2.78430e+01 1.85620e+01 + 9.28100e+00 0.00000e+00 + -118.2097 33.8308 6.4992 -49 89 1.00000e+10 8.8622 1.00000e-01 + 180 146.59 20 0.00 0 0.00 0 + 0.00000e+00 2.29047e+02 4.58094e+02 9.16188e+01 8.58926e+01 8.01664e+01 + 7.44402e+01 6.87141e+01 6.29879e+01 5.72617e+01 5.15356e+01 4.58094e+01 + 4.00832e+01 3.43570e+01 2.86309e+01 2.29047e+01 1.71785e+01 1.14523e+01 + 5.72617e+00 0.00000e+00 + -118.2181 33.8364 6.4992 -54 89 1.00000e+10 8.6444 1.00000e-01 + 180 17.78 20 0.00 0 0.00 0 + 0.00000e+00 2.77814e+01 5.55629e+01 1.11126e+01 1.04180e+01 9.72350e+00 + 9.02897e+00 8.33443e+00 7.63990e+00 6.94536e+00 6.25082e+00 5.55629e+00 + 4.86175e+00 4.16722e+00 3.47268e+00 2.77814e+00 2.08361e+00 1.38907e+00 + 6.94536e-01 0.00000e+00 + -118.2269 33.8417 6.4992 -54 89 1.00000e+10 8.3231 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2342 33.8481 6.4992 -33 89 1.00000e+10 7.9759 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2402 33.8556 6.4992 -33 89 1.00000e+10 7.6326 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2461 33.8632 6.4992 -33 89 1.00000e+10 7.2894 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2520 33.8707 6.4992 -33 89 1.00000e+10 6.9517 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2579 33.8783 6.4992 -33 89 1.00000e+10 6.6110 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2639 33.8857 6.4992 -35 89 1.00000e+10 6.2735 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2703 33.8930 6.4992 -36 89 1.00000e+10 5.9339 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2767 33.9003 6.4992 -36 89 1.00000e+10 5.6039 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2831 33.9075 6.4992 -36 89 1.00000e+10 5.2718 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2894 33.9149 6.4992 -35 89 1.00000e+10 4.9315 1.00000e-01 + 180 8.44 20 0.00 0 0.00 0 + 0.00000e+00 1.31888e+01 2.63776e+01 5.27553e+00 4.94581e+00 4.61609e+00 + 4.28637e+00 3.95665e+00 3.62693e+00 3.29721e+00 2.96749e+00 2.63776e+00 + 2.30804e+00 1.97832e+00 1.64860e+00 1.31888e+00 9.89162e-01 6.59441e-01 + 3.29721e-01 0.00000e+00 + -118.2956 33.9223 6.4992 -34 89 1.00000e+10 4.4058 1.00000e-01 + 180 212.04 20 0.00 0 0.00 0 + 0.00000e+00 3.31320e+02 6.62640e+02 1.32528e+02 1.24245e+02 1.15962e+02 + 1.07679e+02 9.93960e+01 9.11130e+01 8.28300e+01 7.45470e+01 6.62640e+01 + 5.79810e+01 4.96980e+01 4.14150e+01 3.31320e+01 2.48490e+01 1.65660e+01 + 8.28300e+00 0.00000e+00 + -118.3024 33.9289 6.4992 -47 89 1.00000e+10 4.0179 1.00000e-01 + 180 283.67 20 0.00 0 0.00 0 + 0.00000e+00 4.43237e+02 8.86474e+02 1.77295e+02 1.66214e+02 1.55133e+02 + 1.44052e+02 1.32971e+02 1.21890e+02 1.10809e+02 9.97283e+01 8.86474e+01 + 7.75665e+01 6.64855e+01 5.54046e+01 4.43237e+01 3.32428e+01 2.21618e+01 + 1.10809e+01 0.00000e+00 + -118.3114 33.9327 6.4992 -78 89 1.00000e+10 3.7278 1.00000e-01 + 180 257.77 20 0.00 0 0.00 0 + 0.00000e+00 4.02759e+02 8.05519e+02 1.61104e+02 1.51035e+02 1.40966e+02 + 1.30897e+02 1.20828e+02 1.10759e+02 1.00690e+02 9.06209e+01 8.05519e+01 + 7.04829e+01 6.04139e+01 5.03449e+01 4.02759e+01 3.02070e+01 2.01380e+01 + 1.00690e+01 0.00000e+00 + -118.3197 33.9374 6.4992 -33 89 1.00000e+10 3.4132 1.00000e-01 + 180 263.97 20 0.00 0 0.00 0 + 0.00000e+00 4.12460e+02 8.24920e+02 1.64984e+02 1.54672e+02 1.44361e+02 + 1.34049e+02 1.23738e+02 1.13426e+02 1.03115e+02 9.28035e+01 8.24920e+01 + 7.21805e+01 6.18690e+01 5.15575e+01 4.12460e+01 3.09345e+01 2.06230e+01 + 1.03115e+01 0.00000e+00 + -118.3254 33.9449 6.4992 -32 89 1.00000e+10 3.1537 1.00000e-01 + 180 225.56 20 0.00 0 0.00 0 + 0.00000e+00 3.52440e+02 7.04880e+02 1.40976e+02 1.32165e+02 1.23354e+02 + 1.14543e+02 1.05732e+02 9.69210e+01 8.81100e+01 7.92990e+01 7.04880e+01 + 6.16770e+01 5.28660e+01 4.40550e+01 3.52440e+01 2.64330e+01 1.76220e+01 + 8.81100e+00 0.00000e+00 + -118.3328 33.9512 6.4992 -56 89 1.00000e+10 2.9934 1.00000e-01 + 180 101.35 20 0.00 0 0.00 0 + 0.00000e+00 1.58366e+02 3.16733e+02 6.33466e+01 5.93874e+01 5.54283e+01 + 5.14691e+01 4.75099e+01 4.35508e+01 3.95916e+01 3.56325e+01 3.16733e+01 + 2.77141e+01 2.37550e+01 1.97958e+01 1.58366e+01 1.18775e+01 7.91832e+00 + 3.95916e+00 0.00000e+00 + -118.3418 33.9562 6.4992 -56 89 1.00000e+10 2.7334 1.00000e-01 + 180 87.19 20 0.00 0 0.00 0 + 0.00000e+00 1.36229e+02 2.72458e+02 5.44916e+01 5.10859e+01 4.76801e+01 + 4.42744e+01 4.08687e+01 3.74630e+01 3.40572e+01 3.06515e+01 2.72458e+01 + 2.38401e+01 2.04343e+01 1.70286e+01 1.36229e+01 1.02172e+01 6.81145e+00 + 3.40572e+00 0.00000e+00 + -118.3496 33.9619 6.4992 -42 89 1.00000e+10 2.5195 1.00000e-01 + 180 48.58 20 0.00 0 0.00 0 + 0.00000e+00 7.59135e+01 1.51827e+02 3.03654e+01 2.84676e+01 2.65697e+01 + 2.46719e+01 2.27741e+01 2.08762e+01 1.89784e+01 1.70805e+01 1.51827e+01 + 1.32849e+01 1.13870e+01 9.48919e+00 7.59135e+00 5.69352e+00 3.79568e+00 + 1.89784e+00 0.00000e+00 + -118.3542 33.9695 6.4992 -12 89 1.00000e+10 2.3287 1.00000e-01 + 180 16.20 20 0.00 0 0.00 0 + 0.00000e+00 2.53188e+01 5.06376e+01 1.01275e+01 9.49456e+00 8.86159e+00 + 8.22862e+00 7.59565e+00 6.96268e+00 6.32971e+00 5.69674e+00 5.06377e+00 + 4.43079e+00 3.79782e+00 3.16485e+00 2.53188e+00 1.89891e+00 1.26594e+00 + 6.32971e-01 0.00000e+00 + -118.3565 33.9783 6.4992 -12 89 1.00000e+10 2.1480 1.00000e-01 + 180 7.41 20 0.00 0 0.00 0 + 0.00000e+00 1.15816e+01 2.31631e+01 4.63262e+00 4.34308e+00 4.05354e+00 + 3.76401e+00 3.47447e+00 3.18493e+00 2.89539e+00 2.60585e+00 2.31631e+00 + 2.02677e+00 1.73723e+00 1.44769e+00 1.15816e+00 8.68617e-01 5.79078e-01 + 2.89539e-01 0.00000e+00 + -118.3590 33.9870 6.4992 -15 89 1.00000e+10 1.9529 1.00000e-01 + 180 55.87 20 0.00 0 0.00 0 + 0.00000e+00 8.72924e+01 1.74585e+02 3.49169e+01 3.27346e+01 3.05523e+01 + 2.83700e+01 2.61877e+01 2.40054e+01 2.18231e+01 1.96408e+01 1.74585e+01 + 1.52762e+01 1.30939e+01 1.09115e+01 8.72924e+00 6.54693e+00 4.36462e+00 + 2.18231e+00 0.00000e+00 + -118.3625 33.9955 6.4992 -23 89 1.00000e+10 1.8393 1.00000e-01 + 180 76.83 20 0.00 0 0.00 0 + 0.00000e+00 1.20043e+02 2.40086e+02 4.80171e+01 4.50161e+01 4.20150e+01 + 3.90139e+01 3.60128e+01 3.30118e+01 3.00107e+01 2.70096e+01 2.40086e+01 + 2.10075e+01 1.80064e+01 1.50054e+01 1.20043e+01 9.00321e+00 6.00214e+00 + 3.00107e+00 0.00000e+00 + -118.3668 34.0037 6.4992 -24 89 1.00000e+10 1.8341 1.00000e-01 + 180 49.50 20 0.00 0 0.00 0 + 0.00000e+00 7.73480e+01 1.54696e+02 3.09392e+01 2.90055e+01 2.70718e+01 + 2.51381e+01 2.32044e+01 2.12707e+01 1.93370e+01 1.74033e+01 1.54696e+01 + 1.35359e+01 1.16022e+01 9.66850e+00 7.73480e+00 5.80110e+00 3.86740e+00 + 1.93370e+00 0.00000e+00 + -118.3713 34.0119 6.4992 -24 89 1.00000e+10 1.8834 1.00000e-01 + 180 32.28 20 0.00 0 0.00 0 + 0.00000e+00 5.04314e+01 1.00863e+02 2.01726e+01 1.89118e+01 1.76510e+01 + 1.63902e+01 1.51294e+01 1.38686e+01 1.26079e+01 1.13471e+01 1.00863e+01 + 8.82550e+00 7.56471e+00 6.30393e+00 5.04314e+00 3.78236e+00 2.52157e+00 + 1.26079e+00 0.00000e+00 + -118.3757 34.0201 6.4992 -24 89 1.00000e+10 1.9907 1.00000e-01 + 180 17.73 20 0.00 0 0.00 0 + 0.00000e+00 2.77017e+01 5.54034e+01 1.10807e+01 1.03881e+01 9.69560e+00 + 9.00305e+00 8.31051e+00 7.61797e+00 6.92543e+00 6.23288e+00 5.54034e+00 + 4.84780e+00 4.15526e+00 3.46271e+00 2.77017e+00 2.07763e+00 1.38509e+00 + 6.92543e-01 0.00000e+00 + -118.3802 34.0284 6.4992 -24 89 1.00000e+10 2.1484 1.00000e-01 + 180 6.93 20 0.00 0 0.00 0 + 0.00000e+00 1.08298e+01 2.16596e+01 4.33192e+00 4.06118e+00 3.79043e+00 + 3.51969e+00 3.24894e+00 2.97820e+00 2.70745e+00 2.43671e+00 2.16596e+00 + 1.89522e+00 1.62447e+00 1.35373e+00 1.08298e+00 8.12236e-01 5.41490e-01 + 2.70745e-01 0.00000e+00 + -117.3562 33.0609 7.4991 -33 89 1.00000e+10 49.8629 1.00000e-01 + 180 9.62 20 0.00 0 0.00 0 + 0.00000e+00 1.50375e+01 3.00750e+01 6.01500e+00 5.63906e+00 5.26312e+00 + 4.88719e+00 4.51125e+00 4.13531e+00 3.75937e+00 3.38344e+00 3.00750e+00 + 2.63156e+00 2.25562e+00 1.87969e+00 1.50375e+00 1.12781e+00 7.51875e-01 + 3.75937e-01 0.00000e+00 + -117.3620 33.0685 7.4991 -33 89 1.00000e+10 49.4998 1.00000e-01 + 180 30.46 20 0.00 0 0.00 0 + 0.00000e+00 4.75873e+01 9.51747e+01 1.90349e+01 1.78453e+01 1.66556e+01 + 1.54659e+01 1.42762e+01 1.30865e+01 1.18968e+01 1.07072e+01 9.51747e+00 + 8.32779e+00 7.13810e+00 5.94842e+00 4.75874e+00 3.56905e+00 2.37937e+00 + 1.18968e+00 0.00000e+00 + -117.3679 33.0760 7.4991 -33 89 1.00000e+10 49.1132 1.00000e-01 + 180 66.94 20 0.00 0 0.00 0 + 0.00000e+00 1.04600e+02 2.09200e+02 4.18399e+01 3.92249e+01 3.66099e+01 + 3.39949e+01 3.13799e+01 2.87650e+01 2.61500e+01 2.35350e+01 2.09200e+01 + 1.83050e+01 1.56900e+01 1.30750e+01 1.04600e+01 7.84499e+00 5.22999e+00 + 2.61500e+00 0.00000e+00 + -117.3739 33.0834 7.4991 -36 89 1.00000e+10 48.7300 1.00000e-01 + 180 103.12 20 0.00 0 0.00 0 + 0.00000e+00 1.61126e+02 3.22252e+02 6.44503e+01 6.04222e+01 5.63940e+01 + 5.23659e+01 4.83377e+01 4.43096e+01 4.02814e+01 3.62533e+01 3.22252e+01 + 2.81970e+01 2.41689e+01 2.01407e+01 1.61126e+01 1.20844e+01 8.05629e+00 + 4.02814e+00 0.00000e+00 + -117.3814 33.0896 7.4991 -55 89 1.00000e+10 48.3456 1.00000e-01 + 180 143.57 20 0.00 0 0.00 0 + 0.00000e+00 2.24326e+02 4.48653e+02 8.97306e+01 8.41224e+01 7.85143e+01 + 7.29061e+01 6.72980e+01 6.16898e+01 5.60816e+01 5.04735e+01 4.48653e+01 + 3.92571e+01 3.36490e+01 2.80408e+01 2.24326e+01 1.68245e+01 1.12163e+01 + 5.60816e+00 0.00000e+00 + -117.3902 33.0948 7.4991 -55 89 1.00000e+10 47.9799 1.00000e-01 + 180 163.44 20 0.00 0 0.00 0 + 0.00000e+00 2.55372e+02 5.10744e+02 1.02149e+02 9.57645e+01 8.93802e+01 + 8.29959e+01 7.66116e+01 7.02273e+01 6.38430e+01 5.74587e+01 5.10744e+01 + 4.46901e+01 3.83058e+01 3.19215e+01 2.55372e+01 1.91529e+01 1.27686e+01 + 6.38430e+00 0.00000e+00 + -117.3986 33.1004 7.4991 -48 89 1.00000e+10 47.6155 1.00000e-01 + 180 180.62 20 0.00 0 0.00 0 + 0.00000e+00 2.82226e+02 5.64451e+02 1.12890e+02 1.05835e+02 9.87790e+01 + 9.17234e+01 8.46677e+01 7.76121e+01 7.05564e+01 6.35008e+01 5.64451e+01 + 4.93895e+01 4.23339e+01 3.52782e+01 2.82226e+01 2.11669e+01 1.41113e+01 + 7.05564e+00 0.00000e+00 + -117.4065 33.1064 7.4991 -47 89 1.00000e+10 47.2741 1.00000e-01 + 180 173.62 20 0.00 0 0.00 0 + 0.00000e+00 2.71274e+02 5.42549e+02 1.08510e+02 1.01728e+02 9.49461e+01 + 8.81642e+01 8.13823e+01 7.46005e+01 6.78186e+01 6.10368e+01 5.42549e+01 + 4.74730e+01 4.06912e+01 3.39093e+01 2.71274e+01 2.03456e+01 1.35637e+01 + 6.78186e+00 0.00000e+00 + -117.4136 33.1131 7.4991 -36 89 1.00000e+10 46.9791 1.00000e-01 + 180 119.18 20 0.00 0 0.00 0 + 0.00000e+00 1.86225e+02 3.72449e+02 7.44898e+01 6.98342e+01 6.51786e+01 + 6.05230e+01 5.58674e+01 5.12118e+01 4.65561e+01 4.19005e+01 3.72449e+01 + 3.25893e+01 2.79337e+01 2.32781e+01 1.86225e+01 1.39668e+01 9.31123e+00 + 4.65561e+00 0.00000e+00 + -117.4197 33.1205 7.4991 -33 89 1.00000e+10 46.7130 1.00000e-01 + 180 35.13 20 0.00 0 0.00 0 + 0.00000e+00 5.48974e+01 1.09795e+02 2.19590e+01 2.05865e+01 1.92141e+01 + 1.78416e+01 1.64692e+01 1.50968e+01 1.37243e+01 1.23519e+01 1.09795e+01 + 9.60704e+00 8.23461e+00 6.86217e+00 5.48974e+00 4.11730e+00 2.74487e+00 + 1.37243e+00 0.00000e+00 + -117.4233 33.1287 7.4991 -8 89 1.00000e+10 46.4028 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4248 33.1376 7.4991 -8 89 1.00000e+10 46.0578 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4264 33.1465 7.4991 -8 89 1.00000e+10 45.7090 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4289 33.1550 7.4991 -20 89 1.00000e+10 45.3611 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4340 33.1627 7.4991 -39 89 1.00000e+10 45.0142 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4407 33.1697 7.4991 -39 89 1.00000e+10 44.6685 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4474 33.1767 7.4991 -39 89 1.00000e+10 44.2208 1.00000e-01 + 180 97.02 20 0.00 0 0.00 0 + 0.00000e+00 1.51593e+02 3.03187e+02 6.06373e+01 5.68475e+01 5.30577e+01 + 4.92678e+01 4.54780e+01 4.16882e+01 3.78983e+01 3.41085e+01 3.03187e+01 + 2.65288e+01 2.27390e+01 1.89492e+01 1.51593e+01 1.13695e+01 7.57967e+00 + 3.78983e+00 0.00000e+00 + -117.4542 33.1837 7.4991 -39 89 1.00000e+10 43.8403 1.00000e-01 + 180 135.59 20 0.00 0 0.00 0 + 0.00000e+00 2.11860e+02 4.23720e+02 8.47440e+01 7.94475e+01 7.41510e+01 + 6.88545e+01 6.35580e+01 5.82615e+01 5.29650e+01 4.76685e+01 4.23720e+01 + 3.70755e+01 3.17790e+01 2.64825e+01 2.11860e+01 1.58895e+01 1.05930e+01 + 5.29650e+00 0.00000e+00 + -117.4609 33.1907 7.4991 -39 89 1.00000e+10 43.4668 1.00000e-01 + 180 161.86 20 0.00 0 0.00 0 + 0.00000e+00 2.52909e+02 5.05819e+02 1.01164e+02 9.48410e+01 8.85183e+01 + 8.21955e+01 7.58728e+01 6.95501e+01 6.32273e+01 5.69046e+01 5.05819e+01 + 4.42591e+01 3.79364e+01 3.16137e+01 2.52909e+01 1.89682e+01 1.26455e+01 + 6.32273e+00 0.00000e+00 + -117.4676 33.1978 7.4991 -39 89 1.00000e+10 43.0533 1.00000e-01 + 180 223.95 20 0.00 0 0.00 0 + 0.00000e+00 3.49923e+02 6.99846e+02 1.39969e+02 1.31221e+02 1.22473e+02 + 1.13725e+02 1.04977e+02 9.62288e+01 8.74808e+01 7.87327e+01 6.99846e+01 + 6.12365e+01 5.24885e+01 4.37404e+01 3.49923e+01 2.62442e+01 1.74962e+01 + 8.74808e+00 0.00000e+00 + -117.4743 33.2048 7.4991 -39 89 1.00000e+10 42.5992 1.00000e-01 + 180 336.67 20 0.00 0 0.00 0 + 0.00000e+00 5.26051e+02 1.05210e+03 2.10420e+02 1.97269e+02 1.84118e+02 + 1.70966e+02 1.57815e+02 1.44664e+02 1.31513e+02 1.18361e+02 1.05210e+02 + 9.20589e+01 7.89076e+01 6.57563e+01 5.26051e+01 3.94538e+01 2.63025e+01 + 1.31513e+01 0.00000e+00 + -117.4811 33.2118 7.4991 -39 89 1.00000e+10 42.1512 1.00000e-01 + 180 439.40 20 0.00 0 0.00 0 + 0.00000e+00 6.86564e+02 1.37313e+03 2.74626e+02 2.57461e+02 2.40297e+02 + 2.23133e+02 2.05969e+02 1.88805e+02 1.71641e+02 1.54477e+02 1.37313e+02 + 1.20149e+02 1.02985e+02 8.58205e+01 6.86564e+01 5.14923e+01 3.43282e+01 + 1.71641e+01 0.00000e+00 + -117.4886 33.2181 7.4991 -51 89 1.00000e+10 41.8968 1.00000e-01 + 180 343.65 20 0.00 0 0.00 0 + 0.00000e+00 5.36949e+02 1.07390e+03 2.14779e+02 2.01356e+02 1.87932e+02 + 1.74508e+02 1.61085e+02 1.47661e+02 1.34237e+02 1.20813e+02 1.07390e+02 + 9.39660e+01 8.05423e+01 6.71186e+01 5.36949e+01 4.02712e+01 2.68474e+01 + 1.34237e+01 0.00000e+00 + -117.4972 33.2235 7.4991 -55 89 1.00000e+10 41.5568 1.00000e-01 + 180 337.70 20 0.00 0 0.00 0 + 0.00000e+00 5.27660e+02 1.05532e+03 2.11064e+02 1.97872e+02 1.84681e+02 + 1.71489e+02 1.58298e+02 1.45106e+02 1.31915e+02 1.18723e+02 1.05532e+02 + 9.23404e+01 7.91489e+01 6.59574e+01 5.27660e+01 3.95745e+01 2.63830e+01 + 1.31915e+01 0.00000e+00 + -117.5060 33.2286 7.4991 -55 89 1.00000e+10 41.2157 1.00000e-01 + 180 330.63 20 0.00 0 0.00 0 + 0.00000e+00 5.16608e+02 1.03322e+03 2.06643e+02 1.93728e+02 1.80813e+02 + 1.67898e+02 1.54982e+02 1.42067e+02 1.29152e+02 1.16237e+02 1.03322e+02 + 9.04065e+01 7.74912e+01 6.45760e+01 5.16608e+01 3.87456e+01 2.58304e+01 + 1.29152e+01 0.00000e+00 + -117.5149 33.2338 7.4991 -55 89 1.00000e+10 40.9189 1.00000e-01 + 180 277.06 20 0.00 0 0.00 0 + 0.00000e+00 4.32912e+02 8.65823e+02 1.73165e+02 1.62342e+02 1.51519e+02 + 1.40696e+02 1.29874e+02 1.19051e+02 1.08228e+02 9.74051e+01 8.65823e+01 + 7.57595e+01 6.49368e+01 5.41140e+01 4.32912e+01 3.24684e+01 2.16456e+01 + 1.08228e+01 0.00000e+00 + -117.5237 33.2389 7.4991 -55 89 1.00000e+10 40.5772 1.00000e-01 + 180 273.20 20 0.00 0 0.00 0 + 0.00000e+00 4.26872e+02 8.53744e+02 1.70749e+02 1.60077e+02 1.49405e+02 + 1.38733e+02 1.28062e+02 1.17390e+02 1.06718e+02 9.60462e+01 8.53744e+01 + 7.47026e+01 6.40308e+01 5.33590e+01 4.26872e+01 3.20154e+01 2.13436e+01 + 1.06718e+01 0.00000e+00 + -117.5325 33.2441 7.4991 -55 89 1.00000e+10 40.2016 1.00000e-01 + 180 302.43 20 0.00 0 0.00 0 + 0.00000e+00 4.72551e+02 9.45103e+02 1.89021e+02 1.77207e+02 1.65393e+02 + 1.53579e+02 1.41765e+02 1.29952e+02 1.18138e+02 1.06324e+02 9.45103e+01 + 8.26965e+01 7.08827e+01 5.90689e+01 4.72551e+01 3.54414e+01 2.36276e+01 + 1.18138e+01 0.00000e+00 + -117.5413 33.2492 7.4991 -55 89 1.00000e+10 39.8297 1.00000e-01 + 180 327.25 20 0.00 0 0.00 0 + 0.00000e+00 5.11325e+02 1.02265e+03 2.04530e+02 1.91747e+02 1.78964e+02 + 1.66181e+02 1.53398e+02 1.40614e+02 1.27831e+02 1.15048e+02 1.02265e+02 + 8.94819e+01 7.66988e+01 6.39156e+01 5.11325e+01 3.83494e+01 2.55663e+01 + 1.27831e+01 0.00000e+00 + -117.5491 33.2553 7.4991 -39 89 1.00000e+10 39.4739 1.00000e-01 + 180 335.77 20 0.00 0 0.00 0 + 0.00000e+00 5.24641e+02 1.04928e+03 2.09856e+02 1.96740e+02 1.83624e+02 + 1.70508e+02 1.57392e+02 1.44276e+02 1.31160e+02 1.18044e+02 1.04928e+02 + 9.18122e+01 7.86962e+01 6.55801e+01 5.24641e+01 3.93481e+01 2.62321e+01 + 1.31160e+01 0.00000e+00 + -117.5558 33.2623 7.4991 -38 89 1.00000e+10 39.1428 1.00000e-01 + 180 319.62 20 0.00 0 0.00 0 + 0.00000e+00 4.99400e+02 9.98801e+02 1.99760e+02 1.87275e+02 1.74790e+02 + 1.62305e+02 1.49820e+02 1.37335e+02 1.24850e+02 1.12365e+02 9.98801e+01 + 8.73951e+01 7.49101e+01 6.24250e+01 4.99400e+01 3.74550e+01 2.49700e+01 + 1.24850e+01 0.00000e+00 + -117.5624 33.2694 7.4991 -38 89 1.00000e+10 38.8957 1.00000e-01 + 180 219.35 20 0.00 0 0.00 0 + 0.00000e+00 3.42732e+02 6.85464e+02 1.37093e+02 1.28525e+02 1.19956e+02 + 1.11388e+02 1.02820e+02 9.42513e+01 8.56830e+01 7.71147e+01 6.85464e+01 + 5.99781e+01 5.14098e+01 4.28415e+01 3.42732e+01 2.57049e+01 1.71366e+01 + 8.56830e+00 0.00000e+00 + -117.5690 33.2765 7.4991 -38 89 1.00000e+10 38.6389 1.00000e-01 + 180 125.16 20 0.00 0 0.00 0 + 0.00000e+00 1.95560e+02 3.91120e+02 7.82240e+01 7.33350e+01 6.84460e+01 + 6.35570e+01 5.86680e+01 5.37790e+01 4.88900e+01 4.40010e+01 3.91120e+01 + 3.42230e+01 2.93340e+01 2.44450e+01 1.95560e+01 1.46670e+01 9.77800e+00 + 4.88900e+00 0.00000e+00 + -117.5757 33.2836 7.4991 -38 89 1.00000e+10 38.2912 1.00000e-01 + 180 124.23 20 0.00 0 0.00 0 + 0.00000e+00 1.94113e+02 3.88226e+02 7.76452e+01 7.27924e+01 6.79396e+01 + 6.30867e+01 5.82339e+01 5.33811e+01 4.85283e+01 4.36754e+01 3.88226e+01 + 3.39698e+01 2.91170e+01 2.42641e+01 1.94113e+01 1.45585e+01 9.70565e+00 + 4.85283e+00 0.00000e+00 + -117.5823 33.2907 7.4991 -38 89 1.00000e+10 37.9053 1.00000e-01 + 180 163.82 20 0.00 0 0.00 0 + 0.00000e+00 2.55965e+02 5.11931e+02 1.02386e+02 9.59870e+01 8.95879e+01 + 8.31888e+01 7.67896e+01 7.03905e+01 6.39913e+01 5.75922e+01 5.11931e+01 + 4.47939e+01 3.83948e+01 3.19957e+01 2.55965e+01 1.91974e+01 1.27983e+01 + 6.39913e+00 0.00000e+00 + -117.5889 33.2978 7.4991 -38 89 1.00000e+10 37.5813 1.00000e-01 + 180 143.21 20 0.00 0 0.00 0 + 0.00000e+00 2.23759e+02 4.47518e+02 8.95036e+01 8.39096e+01 7.83157e+01 + 7.27217e+01 6.71277e+01 6.15337e+01 5.59398e+01 5.03458e+01 4.47518e+01 + 3.91578e+01 3.35639e+01 2.79699e+01 2.23759e+01 1.67819e+01 1.11880e+01 + 5.59398e+00 0.00000e+00 + -117.5955 33.3049 7.4991 -38 89 1.00000e+10 37.3127 1.00000e-01 + 180 60.79 20 0.00 0 0.00 0 + 0.00000e+00 9.49843e+01 1.89969e+02 3.79937e+01 3.56191e+01 3.32445e+01 + 3.08699e+01 2.84953e+01 2.61207e+01 2.37461e+01 2.13715e+01 1.89969e+01 + 1.66222e+01 1.42476e+01 1.18730e+01 9.49843e+00 7.12382e+00 4.74921e+00 + 2.37461e+00 0.00000e+00 + -117.6021 33.3120 7.4991 -38 89 1.00000e+10 37.0258 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6088 33.3191 7.4991 -38 89 1.00000e+10 36.6820 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6154 33.3262 7.4991 -38 89 1.00000e+10 36.3342 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6220 33.3333 7.4991 -38 89 1.00000e+10 35.9390 1.00000e-01 + 180 52.06 20 0.00 0 0.00 0 + 0.00000e+00 8.13502e+01 1.62700e+02 3.25401e+01 3.05063e+01 2.84726e+01 + 2.64388e+01 2.44051e+01 2.23713e+01 2.03376e+01 1.83038e+01 1.62700e+01 + 1.42363e+01 1.22025e+01 1.01688e+01 8.13502e+00 6.10127e+00 4.06751e+00 + 2.03376e+00 0.00000e+00 + -117.6286 33.3404 7.4991 -38 89 1.00000e+10 35.6372 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6353 33.3475 7.4991 -38 89 1.00000e+10 35.2957 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6419 33.3546 7.4991 -38 89 1.00000e+10 34.9225 1.00000e-01 + 180 23.73 20 0.00 0 0.00 0 + 0.00000e+00 3.70807e+01 7.41615e+01 1.48323e+01 1.39053e+01 1.29783e+01 + 1.20512e+01 1.11242e+01 1.01972e+01 9.27018e+00 8.34316e+00 7.41615e+00 + 6.48913e+00 5.56211e+00 4.63509e+00 3.70807e+00 2.78105e+00 1.85404e+00 + 9.27018e-01 0.00000e+00 + -117.6485 33.3617 7.4991 -38 89 1.00000e+10 34.5580 1.00000e-01 + 180 38.07 20 0.00 0 0.00 0 + 0.00000e+00 5.94781e+01 1.18956e+02 2.37913e+01 2.23043e+01 2.08174e+01 + 1.93304e+01 1.78434e+01 1.63565e+01 1.48695e+01 1.33826e+01 1.18956e+01 + 1.04087e+01 8.92172e+00 7.43477e+00 5.94781e+00 4.46086e+00 2.97391e+00 + 1.48695e+00 0.00000e+00 + -117.6551 33.3688 7.4991 -38 89 1.00000e+10 34.1417 1.00000e-01 + 180 110.80 20 0.00 0 0.00 0 + 0.00000e+00 1.73128e+02 3.46256e+02 6.92512e+01 6.49230e+01 6.05948e+01 + 5.62666e+01 5.19384e+01 4.76102e+01 4.32820e+01 3.89538e+01 3.46256e+01 + 3.02974e+01 2.59692e+01 2.16410e+01 1.73128e+01 1.29846e+01 8.65640e+00 + 4.32820e+00 0.00000e+00 + -117.6618 33.3759 7.4991 -38 89 1.00000e+10 33.7591 1.00000e-01 + 180 143.90 20 0.00 0 0.00 0 + 0.00000e+00 2.24840e+02 4.49680e+02 8.99360e+01 8.43150e+01 7.86940e+01 + 7.30730e+01 6.74520e+01 6.18310e+01 5.62100e+01 5.05890e+01 4.49680e+01 + 3.93470e+01 3.37260e+01 2.81050e+01 2.24840e+01 1.68630e+01 1.12420e+01 + 5.62100e+00 0.00000e+00 + -117.6684 33.3830 7.4991 -38 89 1.00000e+10 33.3081 1.00000e-01 + 180 252.71 20 0.00 0 0.00 0 + 0.00000e+00 3.94853e+02 7.89707e+02 1.57941e+02 1.48070e+02 1.38199e+02 + 1.28327e+02 1.18456e+02 1.08585e+02 9.87133e+01 8.88420e+01 7.89707e+01 + 6.90993e+01 5.92280e+01 4.93567e+01 3.94853e+01 2.96140e+01 1.97427e+01 + 9.87133e+00 0.00000e+00 + -117.6750 33.3901 7.4991 -38 89 1.00000e+10 32.8575 1.00000e-01 + 180 356.93 20 0.00 0 0.00 0 + 0.00000e+00 5.57695e+02 1.11539e+03 2.23078e+02 2.09136e+02 1.95193e+02 + 1.81251e+02 1.67309e+02 1.53366e+02 1.39424e+02 1.25481e+02 1.11539e+02 + 9.75967e+01 8.36543e+01 6.97119e+01 5.57695e+01 4.18272e+01 2.78848e+01 + 1.39424e+01 0.00000e+00 + -117.6817 33.3971 7.4991 -38 89 1.00000e+10 32.5163 1.00000e-01 + 180 352.78 20 0.00 0 0.00 0 + 0.00000e+00 5.51225e+02 1.10245e+03 2.20490e+02 2.06709e+02 1.92929e+02 + 1.79148e+02 1.65368e+02 1.51587e+02 1.37806e+02 1.24026e+02 1.10245e+02 + 9.64644e+01 8.26838e+01 6.89031e+01 5.51225e+01 4.13419e+01 2.75613e+01 + 1.37806e+01 0.00000e+00 + -117.6885 33.4041 7.4991 -40 89 1.00000e+10 32.2298 1.00000e-01 + 180 290.80 20 0.00 0 0.00 0 + 0.00000e+00 4.54369e+02 9.08739e+02 1.81748e+02 1.70389e+02 1.59029e+02 + 1.47670e+02 1.36311e+02 1.24952e+02 1.13592e+02 1.02233e+02 9.08739e+01 + 7.95146e+01 6.81554e+01 5.67962e+01 4.54369e+01 3.40777e+01 2.27185e+01 + 1.13592e+01 0.00000e+00 + -117.6955 33.4110 7.4991 -41 89 1.00000e+10 31.9530 1.00000e-01 + 180 217.41 20 0.00 0 0.00 0 + 0.00000e+00 3.39700e+02 6.79400e+02 1.35880e+02 1.27388e+02 1.18895e+02 + 1.10403e+02 1.01910e+02 9.34175e+01 8.49250e+01 7.64325e+01 6.79400e+01 + 5.94475e+01 5.09550e+01 4.24625e+01 3.39700e+01 2.54775e+01 1.69850e+01 + 8.49250e+00 0.00000e+00 + -117.7026 33.4177 7.4991 -41 89 1.00000e+10 31.6995 1.00000e-01 + 180 124.25 20 0.00 0 0.00 0 + 0.00000e+00 1.94140e+02 3.88281e+02 7.76562e+01 7.28027e+01 6.79491e+01 + 6.30956e+01 5.82421e+01 5.33886e+01 4.85351e+01 4.36816e+01 3.88281e+01 + 3.39746e+01 2.91211e+01 2.42675e+01 1.94140e+01 1.45605e+01 9.70702e+00 + 4.85351e+00 0.00000e+00 + -117.7097 33.4245 7.4991 -41 89 1.00000e+10 31.3043 1.00000e-01 + 180 173.77 20 0.00 0 0.00 0 + 0.00000e+00 2.71509e+02 5.43018e+02 1.08604e+02 1.01816e+02 9.50282e+01 + 8.82405e+01 8.14527e+01 7.46650e+01 6.78773e+01 6.10895e+01 5.43018e+01 + 4.75141e+01 4.07264e+01 3.39386e+01 2.71509e+01 2.03632e+01 1.35755e+01 + 6.78773e+00 0.00000e+00 + -117.7168 33.4313 7.4991 -41 89 1.00000e+10 30.9294 1.00000e-01 + 180 198.66 20 0.00 0 0.00 0 + 0.00000e+00 3.10399e+02 6.20798e+02 1.24160e+02 1.16400e+02 1.08640e+02 + 1.00880e+02 9.31197e+01 8.53597e+01 7.75997e+01 6.98398e+01 6.20798e+01 + 5.43198e+01 4.65598e+01 3.87999e+01 3.10399e+01 2.32799e+01 1.55199e+01 + 7.75997e+00 0.00000e+00 + -117.7239 33.4381 7.4991 -41 89 1.00000e+10 30.5259 1.00000e-01 + 180 257.94 20 0.00 0 0.00 0 + 0.00000e+00 4.03031e+02 8.06062e+02 1.61212e+02 1.51137e+02 1.41061e+02 + 1.30985e+02 1.20909e+02 1.10834e+02 1.00758e+02 9.06820e+01 8.06062e+01 + 7.05304e+01 6.04547e+01 5.03789e+01 4.03031e+01 3.02273e+01 2.01516e+01 + 1.00758e+01 0.00000e+00 + -117.7309 33.4449 7.4991 -41 89 1.00000e+10 30.1321 1.00000e-01 + 180 304.87 20 0.00 0 0.00 0 + 0.00000e+00 4.76352e+02 9.52705e+02 1.90541e+02 1.78632e+02 1.66723e+02 + 1.54815e+02 1.42906e+02 1.30997e+02 1.19088e+02 1.07179e+02 9.52705e+01 + 8.33617e+01 7.14529e+01 5.95441e+01 4.76352e+01 3.57264e+01 2.38176e+01 + 1.19088e+01 0.00000e+00 + -117.7380 33.4516 7.4991 -41 89 1.00000e+10 29.7597 1.00000e-01 + 180 328.93 20 0.00 0 0.00 0 + 0.00000e+00 5.13955e+02 1.02791e+03 2.05582e+02 1.92733e+02 1.79884e+02 + 1.67035e+02 1.54186e+02 1.41338e+02 1.28489e+02 1.15640e+02 1.02791e+02 + 8.99421e+01 7.70932e+01 6.42444e+01 5.13955e+01 3.85466e+01 2.56977e+01 + 1.28489e+01 0.00000e+00 + -117.7451 33.4584 7.4991 -41 89 1.00000e+10 29.3875 1.00000e-01 + 180 352.25 20 0.00 0 0.00 0 + 0.00000e+00 5.50395e+02 1.10079e+03 2.20158e+02 2.06398e+02 1.92638e+02 + 1.78879e+02 1.65119e+02 1.51359e+02 1.37599e+02 1.23839e+02 1.10079e+02 + 9.63192e+01 8.25593e+01 6.87994e+01 5.50395e+01 4.12797e+01 2.75198e+01 + 1.37599e+01 0.00000e+00 + -117.7523 33.4652 7.4991 -41 89 1.00000e+10 28.8622 1.00000e-01 + 180 530.38 20 0.00 0 0.00 0 + 0.00000e+00 8.28714e+02 1.65743e+03 3.31486e+02 3.10768e+02 2.90050e+02 + 2.69332e+02 2.48614e+02 2.27896e+02 2.07179e+02 1.86461e+02 1.65743e+02 + 1.45025e+02 1.24307e+02 1.03589e+02 8.28714e+01 6.21536e+01 4.14357e+01 + 2.07179e+01 0.00000e+00 + -117.7593 33.4720 7.4991 -41 89 1.00000e+10 28.4929 1.00000e-01 + 180 552.24 20 0.00 0 0.00 0 + 0.00000e+00 8.62876e+02 1.72575e+03 3.45150e+02 3.23579e+02 3.02007e+02 + 2.80435e+02 2.58863e+02 2.37291e+02 2.15719e+02 1.94147e+02 1.72575e+02 + 1.51003e+02 1.29431e+02 1.07860e+02 8.62876e+01 6.47157e+01 4.31438e+01 + 2.15719e+01 0.00000e+00 + -117.7664 33.4787 7.4991 -41 89 1.00000e+10 28.2231 1.00000e-01 + 180 475.55 20 0.00 0 0.00 0 + 0.00000e+00 7.43048e+02 1.48610e+03 2.97219e+02 2.78643e+02 2.60067e+02 + 2.41491e+02 2.22915e+02 2.04338e+02 1.85762e+02 1.67186e+02 1.48610e+02 + 1.30033e+02 1.11457e+02 9.28811e+01 7.43048e+01 5.57286e+01 3.71524e+01 + 1.85762e+01 0.00000e+00 + -117.7736 33.4855 7.4991 -41 89 1.00000e+10 27.9699 1.00000e-01 + 180 384.54 20 0.00 0 0.00 0 + 0.00000e+00 6.00848e+02 1.20170e+03 2.40339e+02 2.25318e+02 2.10297e+02 + 1.95276e+02 1.80254e+02 1.65233e+02 1.50212e+02 1.35191e+02 1.20170e+02 + 1.05148e+02 9.01272e+01 7.51060e+01 6.00848e+01 4.50636e+01 3.00424e+01 + 1.50212e+01 0.00000e+00 + -117.7807 33.4923 7.4991 -41 89 1.00000e+10 27.7453 1.00000e-01 + 180 261.83 20 0.00 0 0.00 0 + 0.00000e+00 4.09105e+02 8.18211e+02 1.63642e+02 1.53414e+02 1.43187e+02 + 1.32959e+02 1.22732e+02 1.12504e+02 1.02276e+02 9.20487e+01 8.18211e+01 + 7.15934e+01 6.13658e+01 5.11382e+01 4.09105e+01 3.06829e+01 2.04553e+01 + 1.02276e+01 0.00000e+00 + -117.7878 33.4991 7.4991 -41 89 1.00000e+10 27.4371 1.00000e-01 + 180 216.07 20 0.00 0 0.00 0 + 0.00000e+00 3.37616e+02 6.75232e+02 1.35046e+02 1.26606e+02 1.18166e+02 + 1.09725e+02 1.01285e+02 9.28444e+01 8.44040e+01 7.59636e+01 6.75232e+01 + 5.90828e+01 5.06424e+01 4.22020e+01 3.37616e+01 2.53212e+01 1.68808e+01 + 8.44040e+00 0.00000e+00 + -117.7949 33.5058 7.4991 -42 89 1.00000e+10 27.1238 1.00000e-01 + 180 186.32 20 0.00 0 0.00 0 + 0.00000e+00 2.91125e+02 5.82250e+02 1.16450e+02 1.09172e+02 1.01894e+02 + 9.46156e+01 8.73375e+01 8.00594e+01 7.27812e+01 6.55031e+01 5.82250e+01 + 5.09469e+01 4.36687e+01 3.63906e+01 2.91125e+01 2.18344e+01 1.45562e+01 + 7.27812e+00 0.00000e+00 + -117.8026 33.5121 7.4991 -49 89 1.00000e+10 26.7213 1.00000e-01 + 180 241.33 20 0.00 0 0.00 0 + 0.00000e+00 3.77074e+02 7.54148e+02 1.50830e+02 1.41403e+02 1.31976e+02 + 1.22549e+02 1.13122e+02 1.03695e+02 9.42685e+01 8.48416e+01 7.54148e+01 + 6.59879e+01 5.65611e+01 4.71342e+01 3.77074e+01 2.82805e+01 1.88537e+01 + 9.42685e+00 0.00000e+00 + -117.8108 33.5180 7.4991 -49 89 1.00000e+10 26.3038 1.00000e-01 + 180 313.04 20 0.00 0 0.00 0 + 0.00000e+00 4.89127e+02 9.78254e+02 1.95651e+02 1.83423e+02 1.71194e+02 + 1.58966e+02 1.46738e+02 1.34510e+02 1.22282e+02 1.10054e+02 9.78254e+01 + 8.55972e+01 7.33691e+01 6.11409e+01 4.89127e+01 3.66845e+01 2.44564e+01 + 1.22282e+01 0.00000e+00 + -117.8190 33.5238 7.4991 -49 89 1.00000e+10 25.8869 1.00000e-01 + 180 381.65 20 0.00 0 0.00 0 + 0.00000e+00 5.96324e+02 1.19265e+03 2.38530e+02 2.23622e+02 2.08713e+02 + 1.93805e+02 1.78897e+02 1.63989e+02 1.49081e+02 1.34173e+02 1.19265e+02 + 1.04357e+02 8.94486e+01 7.45405e+01 5.96324e+01 4.47243e+01 2.98162e+01 + 1.49081e+01 0.00000e+00 + -117.8271 33.5297 7.4991 -49 89 1.00000e+10 25.5578 1.00000e-01 + 180 365.09 20 0.00 0 0.00 0 + 0.00000e+00 5.70455e+02 1.14091e+03 2.28182e+02 2.13921e+02 1.99659e+02 + 1.85398e+02 1.71136e+02 1.56875e+02 1.42614e+02 1.28352e+02 1.14091e+02 + 9.98296e+01 8.55682e+01 7.13069e+01 5.70455e+01 4.27841e+01 2.85227e+01 + 1.42614e+01 0.00000e+00 + -117.8353 33.5356 7.4991 -49 89 1.00000e+10 25.3195 1.00000e-01 + 180 256.81 20 0.00 0 0.00 0 + 0.00000e+00 4.01270e+02 8.02540e+02 1.60508e+02 1.50476e+02 1.40444e+02 + 1.30413e+02 1.20381e+02 1.10349e+02 1.00317e+02 9.02857e+01 8.02540e+01 + 7.02222e+01 6.01905e+01 5.01587e+01 4.01270e+01 3.00952e+01 2.00635e+01 + 1.00317e+01 0.00000e+00 + -117.8435 33.5414 7.4991 -49 89 1.00000e+10 24.9384 1.00000e-01 + 180 289.49 20 0.00 0 0.00 0 + 0.00000e+00 4.52329e+02 9.04657e+02 1.80931e+02 1.69623e+02 1.58315e+02 + 1.47007e+02 1.35699e+02 1.24390e+02 1.13082e+02 1.01774e+02 9.04657e+01 + 7.91575e+01 6.78493e+01 5.65411e+01 4.52329e+01 3.39247e+01 2.26164e+01 + 1.13082e+01 0.00000e+00 + -117.8517 33.5473 7.4991 -49 89 1.00000e+10 24.6316 1.00000e-01 + 180 249.50 20 0.00 0 0.00 0 + 0.00000e+00 3.89850e+02 7.79700e+02 1.55940e+02 1.46194e+02 1.36448e+02 + 1.26701e+02 1.16955e+02 1.07209e+02 9.74625e+01 8.77163e+01 7.79700e+01 + 6.82238e+01 5.84775e+01 4.87313e+01 3.89850e+01 2.92388e+01 1.94925e+01 + 9.74625e+00 0.00000e+00 + -117.8599 33.5532 7.4991 -49 89 1.00000e+10 24.3162 1.00000e-01 + 180 214.20 20 0.00 0 0.00 0 + 0.00000e+00 3.34686e+02 6.69372e+02 1.33874e+02 1.25507e+02 1.17140e+02 + 1.08773e+02 1.00406e+02 9.20387e+01 8.36715e+01 7.53044e+01 6.69372e+01 + 5.85701e+01 5.02029e+01 4.18358e+01 3.34686e+01 2.51015e+01 1.67343e+01 + 8.36715e+00 0.00000e+00 + -117.8681 33.5591 7.4991 -49 89 1.00000e+10 23.9712 1.00000e-01 + 180 213.37 20 0.00 0 0.00 0 + 0.00000e+00 3.33386e+02 6.66773e+02 1.33355e+02 1.25020e+02 1.16685e+02 + 1.08351e+02 1.00016e+02 9.16812e+01 8.33466e+01 7.50119e+01 6.66773e+01 + 5.83426e+01 5.00079e+01 4.16733e+01 3.33386e+01 2.50040e+01 1.66693e+01 + 8.33466e+00 0.00000e+00 + -117.8762 33.5649 7.4991 -49 89 1.00000e+10 23.6096 1.00000e-01 + 180 228.06 20 0.00 0 0.00 0 + 0.00000e+00 3.56340e+02 7.12679e+02 1.42536e+02 1.33627e+02 1.24719e+02 + 1.15810e+02 1.06902e+02 9.79934e+01 8.90849e+01 8.01764e+01 7.12679e+01 + 6.23594e+01 5.34509e+01 4.45424e+01 3.56340e+01 2.67255e+01 1.78170e+01 + 8.90849e+00 0.00000e+00 + -117.8844 33.5708 7.4991 -49 89 1.00000e+10 23.3265 1.00000e-01 + 180 163.88 20 0.00 0 0.00 0 + 0.00000e+00 2.56062e+02 5.12125e+02 1.02425e+02 9.60234e+01 8.96218e+01 + 8.32203e+01 7.68187e+01 7.04171e+01 6.40156e+01 5.76140e+01 5.12125e+01 + 4.48109e+01 3.84094e+01 3.20078e+01 2.56062e+01 1.92047e+01 1.28031e+01 + 6.40156e+00 0.00000e+00 + -117.8926 33.5767 7.4991 -49 89 1.00000e+10 23.1294 1.00000e-01 + 180 14.44 20 0.00 0 0.00 0 + 0.00000e+00 2.25694e+01 4.51389e+01 9.02777e+00 8.46353e+00 7.89930e+00 + 7.33506e+00 6.77083e+00 6.20659e+00 5.64236e+00 5.07812e+00 4.51389e+00 + 3.94965e+00 3.38541e+00 2.82118e+00 2.25694e+00 1.69271e+00 1.12847e+00 + 5.64236e-01 0.00000e+00 + -117.9008 33.5825 7.4991 -49 89 1.00000e+10 22.7959 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9090 33.5884 7.4991 -49 89 1.00000e+10 22.4472 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9164 33.5949 7.4991 -37 89 1.00000e+10 22.0995 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9229 33.6021 7.4991 -37 89 1.00000e+10 21.6001 1.00000e-01 + 180 155.34 20 0.00 0 0.00 0 + 0.00000e+00 2.42722e+02 4.85445e+02 9.70889e+01 9.10209e+01 8.49528e+01 + 7.88848e+01 7.28167e+01 6.67486e+01 6.06806e+01 5.46125e+01 4.85445e+01 + 4.24764e+01 3.64084e+01 3.03403e+01 2.42722e+01 1.82042e+01 1.21361e+01 + 6.06806e+00 0.00000e+00 + -117.9294 33.6093 7.4991 -37 89 1.00000e+10 21.1830 1.00000e-01 + 180 227.00 20 0.00 0 0.00 0 + 0.00000e+00 3.54684e+02 7.09368e+02 1.41874e+02 1.33006e+02 1.24139e+02 + 1.15272e+02 1.06405e+02 9.75381e+01 8.86710e+01 7.98039e+01 7.09368e+01 + 6.20697e+01 5.32026e+01 4.43355e+01 3.54684e+01 2.66013e+01 1.77342e+01 + 8.86710e+00 0.00000e+00 + -117.9359 33.6164 7.4991 -38 89 1.00000e+10 20.9239 1.00000e-01 + 180 136.30 20 0.00 0 0.00 0 + 0.00000e+00 2.12964e+02 4.25927e+02 8.51854e+01 7.98613e+01 7.45372e+01 + 6.92132e+01 6.38891e+01 5.85650e+01 5.32409e+01 4.79168e+01 4.25927e+01 + 3.72686e+01 3.19445e+01 2.66204e+01 2.12964e+01 1.59723e+01 1.06482e+01 + 5.32409e+00 0.00000e+00 + -117.9427 33.6235 7.4991 -39 89 1.00000e+10 20.6923 1.00000e-01 + 180 17.43 20 0.00 0 0.00 0 + 0.00000e+00 2.72371e+01 5.44742e+01 1.08948e+01 1.02139e+01 9.53299e+00 + 8.85206e+00 8.17113e+00 7.49020e+00 6.80928e+00 6.12835e+00 5.44742e+00 + 4.76649e+00 4.08557e+00 3.40464e+00 2.72371e+00 2.04278e+00 1.36186e+00 + 6.80928e-01 0.00000e+00 + -117.9494 33.6305 7.4991 -39 89 1.00000e+10 20.3615 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9561 33.6376 7.4991 -39 89 1.00000e+10 20.0166 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9629 33.6446 7.4991 -39 89 1.00000e+10 19.6702 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9696 33.6516 7.4991 -39 89 1.00000e+10 19.3246 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9763 33.6587 7.4991 -39 89 1.00000e+10 18.9270 1.00000e-01 + 180 50.13 20 0.00 0 0.00 0 + 0.00000e+00 7.83297e+01 1.56659e+02 3.13319e+01 2.93736e+01 2.74154e+01 + 2.54572e+01 2.34989e+01 2.15407e+01 1.95824e+01 1.76242e+01 1.56659e+01 + 1.37077e+01 1.17495e+01 9.79122e+00 7.83297e+00 5.87473e+00 3.91649e+00 + 1.95824e+00 0.00000e+00 + -117.9831 33.6657 7.4991 -39 89 1.00000e+10 18.5020 1.00000e-01 + 180 128.39 20 0.00 0 0.00 0 + 0.00000e+00 2.00609e+02 4.01218e+02 8.02436e+01 7.52284e+01 7.02131e+01 + 6.51979e+01 6.01827e+01 5.51675e+01 5.01522e+01 4.51370e+01 4.01218e+01 + 3.51066e+01 3.00913e+01 2.50761e+01 2.00609e+01 1.50457e+01 1.00304e+01 + 5.01522e+00 0.00000e+00 + -117.9900 33.6726 7.4991 -41 89 1.00000e+10 18.1482 1.00000e-01 + 180 137.47 20 0.00 0 0.00 0 + 0.00000e+00 2.14790e+02 4.29580e+02 8.59161e+01 8.05463e+01 7.51766e+01 + 6.98068e+01 6.44371e+01 5.90673e+01 5.36976e+01 4.83278e+01 4.29580e+01 + 3.75883e+01 3.22185e+01 2.68488e+01 2.14790e+01 1.61093e+01 1.07395e+01 + 5.36976e+00 0.00000e+00 + -117.9979 33.6786 7.4991 -54 89 1.00000e+10 17.8133 1.00000e-01 + 180 124.02 20 0.00 0 0.00 0 + 0.00000e+00 1.93775e+02 3.87550e+02 7.75100e+01 7.26656e+01 6.78212e+01 + 6.29769e+01 5.81325e+01 5.32881e+01 4.84437e+01 4.35994e+01 3.87550e+01 + 3.39106e+01 2.90662e+01 2.42219e+01 1.93775e+01 1.45331e+01 9.68875e+00 + 4.84437e+00 0.00000e+00 + -118.0067 33.6838 7.4991 -54 89 1.00000e+10 17.4819 1.00000e-01 + 180 106.82 20 0.00 0 0.00 0 + 0.00000e+00 1.66905e+02 3.33810e+02 6.67620e+01 6.25894e+01 5.84168e+01 + 5.42442e+01 5.00715e+01 4.58989e+01 4.17263e+01 3.75536e+01 3.33810e+01 + 2.92084e+01 2.50358e+01 2.08631e+01 1.66905e+01 1.25179e+01 8.34525e+00 + 4.17263e+00 0.00000e+00 + -118.0155 33.6891 7.4991 -54 89 1.00000e+10 17.1604 1.00000e-01 + 180 78.78 20 0.00 0 0.00 0 + 0.00000e+00 1.23093e+02 2.46186e+02 4.92372e+01 4.61599e+01 4.30825e+01 + 4.00052e+01 3.69279e+01 3.38506e+01 3.07732e+01 2.76959e+01 2.46186e+01 + 2.15413e+01 1.84639e+01 1.53866e+01 1.23093e+01 9.23197e+00 6.15465e+00 + 3.07732e+00 0.00000e+00 + -118.0243 33.6943 7.4991 -54 89 1.00000e+10 16.8810 1.00000e-01 + 180 13.91 20 0.00 0 0.00 0 + 0.00000e+00 2.17401e+01 4.34802e+01 8.69605e+00 8.15255e+00 7.60904e+00 + 7.06554e+00 6.52204e+00 5.97853e+00 5.43503e+00 4.89153e+00 4.34802e+00 + 3.80452e+00 3.26102e+00 2.71752e+00 2.17401e+00 1.63051e+00 1.08701e+00 + 5.43503e-01 0.00000e+00 + -118.0331 33.6995 7.4991 -54 89 1.00000e+10 16.5495 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.0418 33.7049 7.4991 -53 89 1.00000e+10 16.1958 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.0503 33.7105 7.4991 -50 89 1.00000e+10 15.8512 1.00000e-01 + 180 2.24 20 0.00 0 0.00 0 + 0.00000e+00 3.50301e+00 7.00603e+00 1.40121e+00 1.31363e+00 1.22605e+00 + 1.13848e+00 1.05090e+00 9.63328e-01 8.75753e-01 7.88178e-01 7.00603e-01 + 6.13027e-01 5.25452e-01 4.37877e-01 3.50301e-01 2.62726e-01 1.75151e-01 + 8.75753e-02 0.00000e+00 + -118.0585 33.7163 7.4991 -48 89 1.00000e+10 15.4786 1.00000e-01 + 180 27.47 20 0.00 0 0.00 0 + 0.00000e+00 4.29158e+01 8.58317e+01 1.71663e+01 1.60934e+01 1.50205e+01 + 1.39477e+01 1.28748e+01 1.18019e+01 1.07290e+01 9.65607e+00 8.58317e+00 + 7.51027e+00 6.43738e+00 5.36448e+00 4.29158e+00 3.21869e+00 2.14579e+00 + 1.07290e+00 0.00000e+00 + -118.0653 33.7231 7.4991 -31 89 1.00000e+10 15.0630 1.00000e-01 + 180 95.92 20 0.00 0 0.00 0 + 0.00000e+00 1.49879e+02 2.99758e+02 5.99516e+01 5.62046e+01 5.24576e+01 + 4.87107e+01 4.49637e+01 4.12167e+01 3.74697e+01 3.37228e+01 2.99758e+01 + 2.62288e+01 2.24818e+01 1.87349e+01 1.49879e+01 1.12409e+01 7.49395e+00 + 3.74697e+00 0.00000e+00 + -118.0709 33.7309 7.4991 -31 89 1.00000e+10 14.6531 1.00000e-01 + 180 162.46 20 0.00 0 0.00 0 + 0.00000e+00 2.53843e+02 5.07686e+02 1.01537e+02 9.51911e+01 8.88451e+01 + 8.24990e+01 7.61529e+01 6.98068e+01 6.34608e+01 5.71147e+01 5.07686e+01 + 4.44225e+01 3.80765e+01 3.17304e+01 2.53843e+01 1.90382e+01 1.26922e+01 + 6.34608e+00 0.00000e+00 + -118.0774 33.7379 7.4991 -44 89 1.00000e+10 14.2779 1.00000e-01 + 180 188.19 20 0.00 0 0.00 0 + 0.00000e+00 2.94048e+02 5.88097e+02 1.17619e+02 1.10268e+02 1.02917e+02 + 9.55657e+01 8.82145e+01 8.08633e+01 7.35121e+01 6.61609e+01 5.88097e+01 + 5.14585e+01 4.41073e+01 3.67560e+01 2.94048e+01 2.20536e+01 1.47024e+01 + 7.35121e+00 0.00000e+00 + -118.0851 33.7442 7.4991 -47 89 1.00000e+10 13.8491 1.00000e-01 + 180 268.45 20 0.00 0 0.00 0 + 0.00000e+00 4.19456e+02 8.38912e+02 1.67782e+02 1.57296e+02 1.46810e+02 + 1.36323e+02 1.25837e+02 1.15350e+02 1.04864e+02 9.43776e+01 8.38912e+01 + 7.34048e+01 6.29184e+01 5.24320e+01 4.19456e+01 3.14592e+01 2.09728e+01 + 1.04864e+01 0.00000e+00 + -118.0931 33.7503 7.4991 -47 89 1.00000e+10 13.4662 1.00000e-01 + 180 307.60 20 0.00 0 0.00 0 + 0.00000e+00 4.80627e+02 9.61253e+02 1.92251e+02 1.80235e+02 1.68219e+02 + 1.56204e+02 1.44188e+02 1.32172e+02 1.20157e+02 1.08141e+02 9.61253e+01 + 8.41096e+01 7.20940e+01 6.00783e+01 4.80627e+01 3.60470e+01 2.40313e+01 + 1.20157e+01 0.00000e+00 + -118.1010 33.7564 7.4991 -47 89 1.00000e+10 13.1928 1.00000e-01 + 180 235.86 20 0.00 0 0.00 0 + 0.00000e+00 3.68533e+02 7.37065e+02 1.47413e+02 1.38200e+02 1.28986e+02 + 1.19773e+02 1.10560e+02 1.01346e+02 9.21331e+01 8.29198e+01 7.37065e+01 + 6.44932e+01 5.52799e+01 4.60666e+01 3.68533e+01 2.76399e+01 1.84266e+01 + 9.21331e+00 0.00000e+00 + -118.1090 33.7625 7.4991 -47 89 1.00000e+10 12.8415 1.00000e-01 + 180 239.73 20 0.00 0 0.00 0 + 0.00000e+00 3.74583e+02 7.49165e+02 1.49833e+02 1.40469e+02 1.31104e+02 + 1.21739e+02 1.12375e+02 1.03010e+02 9.36457e+01 8.42811e+01 7.49165e+01 + 6.55520e+01 5.61874e+01 4.68228e+01 3.74583e+01 2.80937e+01 1.87291e+01 + 9.36457e+00 0.00000e+00 + -118.1172 33.7684 7.4991 -52 89 1.00000e+10 12.5485 1.00000e-01 + 180 181.70 20 0.00 0 0.00 0 + 0.00000e+00 2.83899e+02 5.67798e+02 1.13560e+02 1.06462e+02 9.93646e+01 + 9.22672e+01 8.51697e+01 7.80722e+01 7.09747e+01 6.38773e+01 5.67798e+01 + 4.96823e+01 4.25848e+01 3.54874e+01 2.83899e+01 2.12924e+01 1.41949e+01 + 7.09747e+00 0.00000e+00 + -118.1257 33.7739 7.4991 -52 89 1.00000e+10 12.1211 1.00000e-01 + 180 263.33 20 0.00 0 0.00 0 + 0.00000e+00 4.11454e+02 8.22907e+02 1.64581e+02 1.54295e+02 1.44009e+02 + 1.33722e+02 1.23436e+02 1.13150e+02 1.02863e+02 9.25771e+01 8.22907e+01 + 7.20044e+01 6.17181e+01 5.14317e+01 4.11454e+01 3.08590e+01 2.05727e+01 + 1.02863e+01 0.00000e+00 + -118.1342 33.7794 7.4991 -52 89 1.00000e+10 11.6612 1.00000e-01 + 180 376.60 20 0.00 0 0.00 0 + 0.00000e+00 5.88443e+02 1.17689e+03 2.35377e+02 2.20666e+02 2.05955e+02 + 1.91244e+02 1.76533e+02 1.61822e+02 1.47111e+02 1.32400e+02 1.17689e+02 + 1.02978e+02 8.82665e+01 7.35554e+01 5.88443e+01 4.41333e+01 2.94222e+01 + 1.47111e+01 0.00000e+00 + -118.1428 33.7850 7.4991 -52 89 1.00000e+10 11.2199 1.00000e-01 + 180 472.82 20 0.00 0 0.00 0 + 0.00000e+00 7.38774e+02 1.47755e+03 2.95510e+02 2.77040e+02 2.58571e+02 + 2.40102e+02 2.21632e+02 2.03163e+02 1.84693e+02 1.66224e+02 1.47755e+02 + 1.29285e+02 1.10816e+02 9.23467e+01 7.38774e+01 5.54080e+01 3.69387e+01 + 1.84693e+01 0.00000e+00 + -118.1512 33.7906 7.4991 -51 89 1.00000e+10 10.7621 1.00000e-01 + 180 586.28 20 0.00 0 0.00 0 + 0.00000e+00 9.16065e+02 1.83213e+03 3.66426e+02 3.43524e+02 3.20623e+02 + 2.97721e+02 2.74819e+02 2.51918e+02 2.29016e+02 2.06115e+02 1.83213e+02 + 1.60311e+02 1.37410e+02 1.14508e+02 9.16065e+01 6.87048e+01 4.58032e+01 + 2.29016e+01 0.00000e+00 + -118.1596 33.7963 7.4991 -50 89 1.00000e+10 10.3805 1.00000e-01 + 180 617.75 20 0.00 0 0.00 0 + 0.00000e+00 9.65232e+02 1.93046e+03 3.86093e+02 3.61962e+02 3.37831e+02 + 3.13700e+02 2.89570e+02 2.65439e+02 2.41308e+02 2.17177e+02 1.93046e+02 + 1.68916e+02 1.44785e+02 1.20654e+02 9.65232e+01 7.23924e+01 4.82616e+01 + 2.41308e+01 0.00000e+00 + -118.1679 33.8021 7.4991 -50 89 1.00000e+10 10.0847 1.00000e-01 + 180 571.34 20 0.00 0 0.00 0 + 0.00000e+00 8.92711e+02 1.78542e+03 3.57084e+02 3.34767e+02 3.12449e+02 + 2.90131e+02 2.67813e+02 2.45496e+02 2.23178e+02 2.00860e+02 1.78542e+02 + 1.56224e+02 1.33907e+02 1.11589e+02 8.92711e+01 6.69533e+01 4.46356e+01 + 2.23178e+01 0.00000e+00 + -118.1763 33.8078 7.4991 -50 89 1.00000e+10 9.7936 1.00000e-01 + 180 514.87 20 0.00 0 0.00 0 + 0.00000e+00 8.04487e+02 1.60897e+03 3.21795e+02 3.01683e+02 2.81571e+02 + 2.61458e+02 2.41346e+02 2.21234e+02 2.01122e+02 1.81010e+02 1.60898e+02 + 1.40785e+02 1.20673e+02 1.00561e+02 8.04488e+01 6.03366e+01 4.02244e+01 + 2.01122e+01 0.00000e+00 + -118.1846 33.8135 7.4991 -50 89 1.00000e+10 9.4872 1.00000e-01 + 180 476.48 20 0.00 0 0.00 0 + 0.00000e+00 7.44500e+02 1.48900e+03 2.97800e+02 2.79187e+02 2.60575e+02 + 2.41962e+02 2.23350e+02 2.04737e+02 1.86125e+02 1.67512e+02 1.48900e+02 + 1.30287e+02 1.11675e+02 9.30625e+01 7.44500e+01 5.58375e+01 3.72250e+01 + 1.86125e+01 0.00000e+00 + -118.1930 33.8193 7.4991 -50 89 1.00000e+10 9.2102 1.00000e-01 + 180 400.04 20 0.00 0 0.00 0 + 0.00000e+00 6.25060e+02 1.25012e+03 2.50024e+02 2.34398e+02 2.18771e+02 + 2.03145e+02 1.87518e+02 1.71892e+02 1.56265e+02 1.40639e+02 1.25012e+02 + 1.09386e+02 9.37591e+01 7.81326e+01 6.25061e+01 4.68795e+01 3.12530e+01 + 1.56265e+01 0.00000e+00 + -118.2013 33.8250 7.4991 -50 89 1.00000e+10 8.9404 1.00000e-01 + 180 328.69 20 0.00 0 0.00 0 + 0.00000e+00 5.13581e+02 1.02716e+03 2.05432e+02 1.92593e+02 1.79753e+02 + 1.66914e+02 1.54074e+02 1.41235e+02 1.28395e+02 1.15556e+02 1.02716e+02 + 8.98767e+01 7.70371e+01 6.41976e+01 5.13581e+01 3.85186e+01 2.56790e+01 + 1.28395e+01 0.00000e+00 + -118.2095 33.8309 7.4991 -49 89 1.00000e+10 8.6824 1.00000e-01 + 180 235.89 20 0.00 0 0.00 0 + 0.00000e+00 3.68584e+02 7.37169e+02 1.47434e+02 1.38219e+02 1.29005e+02 + 1.19790e+02 1.10575e+02 1.01361e+02 9.21461e+01 8.29315e+01 7.37169e+01 + 6.45023e+01 5.52876e+01 4.60730e+01 3.68584e+01 2.76438e+01 1.84292e+01 + 9.21461e+00 0.00000e+00 + -118.2180 33.8365 7.4991 -54 89 1.00000e+10 8.5002 1.00000e-01 + 180 73.87 20 0.00 0 0.00 0 + 0.00000e+00 1.15421e+02 2.30842e+02 4.61683e+01 4.32828e+01 4.03973e+01 + 3.75118e+01 3.46262e+01 3.17407e+01 2.88552e+01 2.59697e+01 2.30842e+01 + 2.01986e+01 1.73131e+01 1.44276e+01 1.15421e+01 8.65656e+00 5.77104e+00 + 2.88552e+00 0.00000e+00 + -118.2268 33.8418 7.4991 -54 89 1.00000e+10 8.2095 1.00000e-01 + 180 19.13 20 0.00 0 0.00 0 + 0.00000e+00 2.98943e+01 5.97885e+01 1.19577e+01 1.12103e+01 1.04630e+01 + 9.71563e+00 8.96828e+00 8.22092e+00 7.47356e+00 6.72621e+00 5.97885e+00 + 5.23150e+00 4.48414e+00 3.73678e+00 2.98943e+00 2.24207e+00 1.49471e+00 + 7.47356e-01 0.00000e+00 + -118.2341 33.8482 7.4991 -33 89 1.00000e+10 7.8801 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2400 33.8557 7.4991 -33 89 1.00000e+10 7.5349 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2459 33.8633 7.4991 -33 89 1.00000e+10 7.1694 1.00000e-01 + 180 25.04 20 0.00 0 0.00 0 + 0.00000e+00 3.91319e+01 7.82639e+01 1.56528e+01 1.46745e+01 1.36962e+01 + 1.27179e+01 1.17396e+01 1.07613e+01 9.78298e+00 8.80469e+00 7.82639e+00 + 6.84809e+00 5.86979e+00 4.89149e+00 3.91319e+00 2.93490e+00 1.95660e+00 + 9.78298e-01 0.00000e+00 + -118.2518 33.8708 7.4991 -33 89 1.00000e+10 6.7898 1.00000e-01 + 180 58.08 20 0.00 0 0.00 0 + 0.00000e+00 9.07451e+01 1.81490e+02 3.62980e+01 3.40294e+01 3.17608e+01 + 2.94922e+01 2.72235e+01 2.49549e+01 2.26863e+01 2.04177e+01 1.81490e+01 + 1.58804e+01 1.36118e+01 1.13431e+01 9.07451e+00 6.80588e+00 4.53726e+00 + 2.26863e+00 0.00000e+00 + -118.2577 33.8784 7.4991 -33 89 1.00000e+10 6.4162 1.00000e-01 + 180 89.79 20 0.00 0 0.00 0 + 0.00000e+00 1.40295e+02 2.80590e+02 5.61180e+01 5.26106e+01 4.91032e+01 + 4.55959e+01 4.20885e+01 3.85811e+01 3.50737e+01 3.15664e+01 2.80590e+01 + 2.45516e+01 2.10442e+01 1.75369e+01 1.40295e+01 1.05221e+01 7.01475e+00 + 3.50737e+00 0.00000e+00 + -118.2638 33.8858 7.4991 -35 89 1.00000e+10 6.0097 1.00000e-01 + 180 155.59 20 0.00 0 0.00 0 + 0.00000e+00 2.43116e+02 4.86232e+02 9.72464e+01 9.11684e+01 8.50906e+01 + 7.90127e+01 7.29348e+01 6.68569e+01 6.07790e+01 5.47011e+01 4.86232e+01 + 4.25453e+01 3.64674e+01 3.03895e+01 2.43116e+01 1.82337e+01 1.21558e+01 + 6.07790e+00 0.00000e+00 + -118.2701 33.8931 7.4991 -36 89 1.00000e+10 5.7128 1.00000e-01 + 180 106.95 20 0.00 0 0.00 0 + 0.00000e+00 1.67105e+02 3.34210e+02 6.68420e+01 6.26644e+01 5.84868e+01 + 5.43092e+01 5.01315e+01 4.59539e+01 4.17763e+01 3.75986e+01 3.34210e+01 + 2.92434e+01 2.50658e+01 2.08881e+01 1.67105e+01 1.25329e+01 8.35525e+00 + 4.17763e+00 0.00000e+00 + -118.2766 33.9004 7.4991 -36 89 1.00000e+10 5.4799 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2830 33.9076 7.4991 -36 89 1.00000e+10 5.1465 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2893 33.9149 7.4991 -35 89 1.00000e+10 4.7960 1.00000e-01 + 180 11.38 20 0.00 0 0.00 0 + 0.00000e+00 1.77759e+01 3.55518e+01 7.11035e+00 6.66596e+00 6.22156e+00 + 5.77716e+00 5.33277e+00 4.88837e+00 4.44397e+00 3.99957e+00 3.55518e+00 + 3.11078e+00 2.66638e+00 2.22199e+00 1.77759e+00 1.33319e+00 8.88794e-01 + 4.44397e-01 0.00000e+00 + -118.2954 33.9223 7.4991 -34 89 1.00000e+10 4.3254 1.00000e-01 + 180 151.96 20 0.00 0 0.00 0 + 0.00000e+00 2.37438e+02 4.74876e+02 9.49751e+01 8.90392e+01 8.31032e+01 + 7.71673e+01 7.12314e+01 6.52954e+01 5.93595e+01 5.34235e+01 4.74876e+01 + 4.15516e+01 3.56157e+01 2.96797e+01 2.37438e+01 1.78078e+01 1.18719e+01 + 5.93595e+00 0.00000e+00 + -118.3023 33.9289 7.4991 -47 89 1.00000e+10 3.9166 1.00000e-01 + 180 229.94 20 0.00 0 0.00 0 + 0.00000e+00 3.59283e+02 7.18565e+02 1.43713e+02 1.34731e+02 1.25749e+02 + 1.16767e+02 1.07785e+02 9.88028e+01 8.98207e+01 8.08386e+01 7.18566e+01 + 6.28745e+01 5.38924e+01 4.49103e+01 3.59283e+01 2.69462e+01 1.79641e+01 + 8.98207e+00 0.00000e+00 + -118.3113 33.9328 7.4991 -78 89 1.00000e+10 3.5672 1.00000e-01 + 180 253.35 20 0.00 0 0.00 0 + 0.00000e+00 3.95855e+02 7.91711e+02 1.58342e+02 1.48446e+02 1.38549e+02 + 1.28653e+02 1.18757e+02 1.08860e+02 9.89639e+01 8.90675e+01 7.91711e+01 + 6.92747e+01 5.93783e+01 4.94819e+01 3.95855e+01 2.96892e+01 1.97928e+01 + 9.89639e+00 0.00000e+00 + -118.3195 33.9374 7.4991 -33 89 1.00000e+10 3.2492 1.00000e-01 + 180 252.29 20 0.00 0 0.00 0 + 0.00000e+00 3.94200e+02 7.88399e+02 1.57680e+02 1.47825e+02 1.37970e+02 + 1.28115e+02 1.18260e+02 1.08405e+02 9.85499e+01 8.86949e+01 7.88400e+01 + 6.89850e+01 5.91300e+01 4.92750e+01 3.94200e+01 2.95650e+01 1.97100e+01 + 9.85499e+00 0.00000e+00 + -118.3253 33.9450 7.4991 -32 89 1.00000e+10 2.9800 1.00000e-01 + 180 207.26 20 0.00 0 0.00 0 + 0.00000e+00 3.23840e+02 6.47681e+02 1.29536e+02 1.21440e+02 1.13344e+02 + 1.05248e+02 9.71521e+01 8.90561e+01 8.09601e+01 7.28641e+01 6.47681e+01 + 5.66721e+01 4.85761e+01 4.04801e+01 3.23840e+01 2.42880e+01 1.61920e+01 + 8.09601e+00 0.00000e+00 + -118.3326 33.9513 7.4991 -56 89 1.00000e+10 2.7478 1.00000e-01 + 180 136.07 20 0.00 0 0.00 0 + 0.00000e+00 2.12608e+02 4.25216e+02 8.50432e+01 7.97280e+01 7.44128e+01 + 6.90976e+01 6.37824e+01 5.84672e+01 5.31520e+01 4.78368e+01 4.25216e+01 + 3.72064e+01 3.18912e+01 2.65760e+01 2.12608e+01 1.59456e+01 1.06304e+01 + 5.31520e+00 0.00000e+00 + -118.3416 33.9563 7.4991 -56 89 1.00000e+10 2.5217 1.00000e-01 + 180 69.63 20 0.00 0 0.00 0 + 0.00000e+00 1.08801e+02 2.17601e+02 4.35202e+01 4.08002e+01 3.80802e+01 + 3.53602e+01 3.26402e+01 2.99202e+01 2.72001e+01 2.44801e+01 2.17601e+01 + 1.90401e+01 1.63201e+01 1.36001e+01 1.08801e+01 8.16005e+00 5.44003e+00 + 2.72002e+00 0.00000e+00 + -118.3495 33.9620 7.4991 -42 89 1.00000e+10 2.2877 1.00000e-01 + 180 29.78 20 0.00 0 0.00 0 + 0.00000e+00 4.65307e+01 9.30614e+01 1.86123e+01 1.74490e+01 1.62858e+01 + 1.51225e+01 1.39592e+01 1.27959e+01 1.16327e+01 1.04694e+01 9.30614e+00 + 8.14288e+00 6.97961e+00 5.81634e+00 4.65307e+00 3.48980e+00 2.32654e+00 + 1.16327e+00 0.00000e+00 + -118.3540 33.9695 7.4991 -12 89 1.00000e+10 2.0045 1.00000e-01 + 180 63.70 20 0.00 0 0.00 0 + 0.00000e+00 9.95287e+01 1.99057e+02 3.98115e+01 3.73232e+01 3.48350e+01 + 3.23468e+01 2.98586e+01 2.73704e+01 2.48822e+01 2.23940e+01 1.99057e+01 + 1.74175e+01 1.49293e+01 1.24411e+01 9.95287e+00 7.46465e+00 4.97643e+00 + 2.48822e+00 0.00000e+00 + -118.3563 33.9783 7.4991 -12 89 1.00000e+10 1.7653 1.00000e-01 + 180 83.06 20 0.00 0 0.00 0 + 0.00000e+00 1.29789e+02 2.59577e+02 5.19155e+01 4.86707e+01 4.54260e+01 + 4.21813e+01 3.89366e+01 3.56919e+01 3.24472e+01 2.92024e+01 2.59577e+01 + 2.27130e+01 1.94683e+01 1.62236e+01 1.29789e+01 9.73415e+00 6.48943e+00 + 3.24472e+00 0.00000e+00 + -118.3589 33.9871 7.4991 -15 89 1.00000e+10 1.6239 1.00000e-01 + 180 52.38 20 0.00 0 0.00 0 + 0.00000e+00 8.18452e+01 1.63690e+02 3.27381e+01 3.06919e+01 2.86458e+01 + 2.65997e+01 2.45536e+01 2.25074e+01 2.04613e+01 1.84152e+01 1.63690e+01 + 1.43229e+01 1.22768e+01 1.02306e+01 8.18452e+00 6.13839e+00 4.09226e+00 + 2.04613e+00 0.00000e+00 + -118.3624 33.9955 7.4991 -23 89 1.00000e+10 1.5152 1.00000e-01 + 180 50.61 20 0.00 0 0.00 0 + 0.00000e+00 7.90765e+01 1.58153e+02 3.16306e+01 2.96537e+01 2.76768e+01 + 2.56999e+01 2.37230e+01 2.17460e+01 1.97691e+01 1.77922e+01 1.58153e+01 + 1.38384e+01 1.18615e+01 9.88456e+00 7.90765e+00 5.93074e+00 3.95383e+00 + 1.97691e+00 0.00000e+00 + -118.3667 34.0038 7.4991 -24 89 1.00000e+10 1.4676 1.00000e-01 + 180 58.91 20 0.00 0 0.00 0 + 0.00000e+00 9.20525e+01 1.84105e+02 3.68210e+01 3.45197e+01 3.22184e+01 + 2.99171e+01 2.76158e+01 2.53144e+01 2.30131e+01 2.07118e+01 1.84105e+01 + 1.61092e+01 1.38079e+01 1.15066e+01 9.20525e+00 6.90394e+00 4.60263e+00 + 2.30131e+00 0.00000e+00 + -118.3711 34.0120 7.4991 -24 89 1.00000e+10 1.5154 1.00000e-01 + 180 50.34 20 0.00 0 0.00 0 + 0.00000e+00 7.86527e+01 1.57305e+02 3.14611e+01 2.94947e+01 2.75284e+01 + 2.55621e+01 2.35958e+01 2.16295e+01 1.96632e+01 1.76968e+01 1.57305e+01 + 1.37642e+01 1.17979e+01 9.83158e+00 7.86527e+00 5.89895e+00 3.93263e+00 + 1.96632e+00 0.00000e+00 + -118.3756 34.0202 7.4991 -24 89 1.00000e+10 1.6527 1.00000e-01 + 180 23.30 20 0.00 0 0.00 0 + 0.00000e+00 3.63994e+01 7.27989e+01 1.45598e+01 1.36498e+01 1.27398e+01 + 1.18298e+01 1.09198e+01 1.00098e+01 9.09986e+00 8.18988e+00 7.27989e+00 + 6.36990e+00 5.45992e+00 4.54993e+00 3.63994e+00 2.72996e+00 1.81997e+00 + 9.09986e-01 0.00000e+00 + -118.3801 34.0284 7.4991 -24 89 1.00000e+10 1.8385 1.00000e-01 + 180 9.17 20 0.00 0 0.00 0 + 0.00000e+00 1.43278e+01 2.86557e+01 5.73113e+00 5.37294e+00 5.01474e+00 + 4.65654e+00 4.29835e+00 3.94015e+00 3.58196e+00 3.22376e+00 2.86557e+00 + 2.50737e+00 2.14917e+00 1.79098e+00 1.43278e+00 1.07459e+00 7.16391e-01 + 3.58196e-01 0.00000e+00 + -117.3560 33.0610 8.4990 -33 89 1.00000e+10 49.7683 1.00000e-01 + 180 20.94 20 0.00 0 0.00 0 + 0.00000e+00 3.27227e+01 6.54455e+01 1.30891e+01 1.22710e+01 1.14530e+01 + 1.06349e+01 9.81682e+00 8.99876e+00 8.18069e+00 7.36262e+00 6.54455e+00 + 5.72648e+00 4.90841e+00 4.09034e+00 3.27227e+00 2.45421e+00 1.63614e+00 + 8.18069e-01 0.00000e+00 + -117.3619 33.0685 8.4990 -33 89 1.00000e+10 49.4066 1.00000e-01 + 180 35.96 20 0.00 0 0.00 0 + 0.00000e+00 5.61819e+01 1.12364e+02 2.24727e+01 2.10682e+01 1.96637e+01 + 1.82591e+01 1.68546e+01 1.54500e+01 1.40455e+01 1.26409e+01 1.12364e+01 + 9.83183e+00 8.42728e+00 7.02273e+00 5.61819e+00 4.21364e+00 2.80909e+00 + 1.40455e+00 0.00000e+00 + -117.3677 33.0761 8.4990 -33 89 1.00000e+10 49.0452 1.00000e-01 + 180 52.52 20 0.00 0 0.00 0 + 0.00000e+00 8.20650e+01 1.64130e+02 3.28260e+01 3.07744e+01 2.87228e+01 + 2.66711e+01 2.46195e+01 2.25679e+01 2.05163e+01 1.84646e+01 1.64130e+01 + 1.43614e+01 1.23098e+01 1.02581e+01 8.20650e+00 6.15488e+00 4.10325e+00 + 2.05163e+00 0.00000e+00 + -117.3738 33.0835 8.4990 -36 89 1.00000e+10 48.6755 1.00000e-01 + 180 73.77 20 0.00 0 0.00 0 + 0.00000e+00 1.15267e+02 2.30533e+02 4.61066e+01 4.32249e+01 4.03433e+01 + 3.74616e+01 3.45800e+01 3.16983e+01 2.88166e+01 2.59350e+01 2.30533e+01 + 2.01716e+01 1.72900e+01 1.44083e+01 1.15267e+01 8.64499e+00 5.76333e+00 + 2.88166e+00 0.00000e+00 + -117.3813 33.0897 8.4990 -55 89 1.00000e+10 48.2699 1.00000e-01 + 180 133.78 20 0.00 0 0.00 0 + 0.00000e+00 2.09038e+02 4.18075e+02 8.36150e+01 7.83891e+01 7.31632e+01 + 6.79372e+01 6.27113e+01 5.74853e+01 5.22594e+01 4.70335e+01 4.18075e+01 + 3.65816e+01 3.13556e+01 2.61297e+01 2.09038e+01 1.56778e+01 1.04519e+01 + 5.22594e+00 0.00000e+00 + -117.3900 33.0949 8.4990 -55 89 1.00000e+10 47.8983 1.00000e-01 + 180 156.44 20 0.00 0 0.00 0 + 0.00000e+00 2.44432e+02 4.88864e+02 9.77728e+01 9.16620e+01 8.55512e+01 + 7.94404e+01 7.33296e+01 6.72188e+01 6.11080e+01 5.49972e+01 4.88864e+01 + 4.27756e+01 3.66648e+01 3.05540e+01 2.44432e+01 1.83324e+01 1.22216e+01 + 6.11080e+00 0.00000e+00 + -117.3985 33.1004 8.4990 -48 89 1.00000e+10 47.5389 1.00000e-01 + 180 169.67 20 0.00 0 0.00 0 + 0.00000e+00 2.65117e+02 5.30233e+02 1.06047e+02 9.94188e+01 9.27909e+01 + 8.61629e+01 7.95350e+01 7.29071e+01 6.62792e+01 5.96513e+01 5.30233e+01 + 4.63954e+01 3.97675e+01 3.31396e+01 2.65117e+01 1.98838e+01 1.32558e+01 + 6.62792e+00 0.00000e+00 + -117.4064 33.1065 8.4990 -47 89 1.00000e+10 47.1849 1.00000e-01 + 180 175.10 20 0.00 0 0.00 0 + 0.00000e+00 2.73599e+02 5.47198e+02 1.09440e+02 1.02600e+02 9.57596e+01 + 8.89196e+01 8.20797e+01 7.52397e+01 6.83997e+01 6.15597e+01 5.47198e+01 + 4.78798e+01 4.10398e+01 3.41999e+01 2.73599e+01 2.05199e+01 1.36799e+01 + 6.83997e+00 0.00000e+00 + -117.4135 33.1132 8.4990 -36 89 1.00000e+10 46.9078 1.00000e-01 + 180 106.20 20 0.00 0 0.00 0 + 0.00000e+00 1.65930e+02 3.31860e+02 6.63721e+01 6.22238e+01 5.80756e+01 + 5.39273e+01 4.97791e+01 4.56308e+01 4.14826e+01 3.73343e+01 3.31861e+01 + 2.90378e+01 2.48895e+01 2.07413e+01 1.65930e+01 1.24448e+01 8.29651e+00 + 4.14826e+00 0.00000e+00 + -117.4195 33.1206 8.4990 -33 89 1.00000e+10 46.6658 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4232 33.1288 8.4990 -8 89 1.00000e+10 46.3173 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4247 33.1377 8.4990 -8 89 1.00000e+10 45.9725 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4262 33.1466 8.4990 -8 89 1.00000e+10 45.6267 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4287 33.1551 8.4990 -20 89 1.00000e+10 45.2761 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4338 33.1627 8.4990 -39 89 1.00000e+10 44.9341 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4406 33.1698 8.4990 -39 89 1.00000e+10 44.5834 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4473 33.1768 8.4990 -39 89 1.00000e+10 44.2334 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4540 33.1838 8.4990 -39 89 1.00000e+10 43.8677 1.00000e-01 + 180 24.71 20 0.00 0 0.00 0 + 0.00000e+00 3.86165e+01 7.72330e+01 1.54466e+01 1.44812e+01 1.35158e+01 + 1.25504e+01 1.15850e+01 1.06195e+01 9.65413e+00 8.68872e+00 7.72330e+00 + 6.75789e+00 5.79248e+00 4.82706e+00 3.86165e+00 2.89624e+00 1.93083e+00 + 9.65413e-01 0.00000e+00 + -117.4607 33.1908 8.4990 -39 89 1.00000e+10 43.4982 1.00000e-01 + 180 46.09 20 0.00 0 0.00 0 + 0.00000e+00 7.20092e+01 1.44018e+02 2.88037e+01 2.70035e+01 2.52032e+01 + 2.34030e+01 2.16028e+01 1.98025e+01 1.80023e+01 1.62021e+01 1.44018e+01 + 1.26016e+01 1.08014e+01 9.00115e+00 7.20092e+00 5.40069e+00 3.60046e+00 + 1.80023e+00 0.00000e+00 + -117.4675 33.1978 8.4990 -39 89 1.00000e+10 43.0461 1.00000e-01 + 180 152.11 20 0.00 0 0.00 0 + 0.00000e+00 2.37669e+02 4.75338e+02 9.50676e+01 8.91259e+01 8.31841e+01 + 7.72424e+01 7.13007e+01 6.53590e+01 5.94172e+01 5.34755e+01 4.75338e+01 + 4.15921e+01 3.56503e+01 2.97086e+01 2.37669e+01 1.78252e+01 1.18834e+01 + 5.94172e+00 0.00000e+00 + -117.4742 33.2049 8.4990 -39 89 1.00000e+10 42.5021 1.00000e-01 + 180 348.62 20 0.00 0 0.00 0 + 0.00000e+00 5.44719e+02 1.08944e+03 2.17887e+02 2.04269e+02 1.90651e+02 + 1.77034e+02 1.63416e+02 1.49798e+02 1.36180e+02 1.22562e+02 1.08944e+02 + 9.53257e+01 8.17078e+01 6.80898e+01 5.44719e+01 4.08539e+01 2.72359e+01 + 1.36180e+01 0.00000e+00 + -117.4809 33.2119 8.4990 -39 89 1.00000e+10 42.1099 1.00000e-01 + 180 393.89 20 0.00 0 0.00 0 + 0.00000e+00 6.15453e+02 1.23091e+03 2.46181e+02 2.30795e+02 2.15409e+02 + 2.00022e+02 1.84636e+02 1.69250e+02 1.53863e+02 1.38477e+02 1.23091e+02 + 1.07704e+02 9.23180e+01 7.69316e+01 6.15453e+01 4.61590e+01 3.07727e+01 + 1.53863e+01 0.00000e+00 + -117.4885 33.2182 8.4990 -51 89 1.00000e+10 41.7982 1.00000e-01 + 180 356.49 20 0.00 0 0.00 0 + 0.00000e+00 5.57009e+02 1.11402e+03 2.22803e+02 2.08878e+02 1.94953e+02 + 1.81028e+02 1.67103e+02 1.53177e+02 1.39252e+02 1.25327e+02 1.11402e+02 + 9.74765e+01 8.35513e+01 6.96261e+01 5.57009e+01 4.17757e+01 2.78504e+01 + 1.39252e+01 0.00000e+00 + -117.4971 33.2235 8.4990 -55 89 1.00000e+10 41.4468 1.00000e-01 + 180 361.51 20 0.00 0 0.00 0 + 0.00000e+00 5.64859e+02 1.12972e+03 2.25944e+02 2.11822e+02 1.97701e+02 + 1.83579e+02 1.69458e+02 1.55336e+02 1.41215e+02 1.27093e+02 1.12972e+02 + 9.88503e+01 8.47289e+01 7.06074e+01 5.64859e+01 4.23644e+01 2.82430e+01 + 1.41215e+01 0.00000e+00 + -117.5059 33.2287 8.4990 -55 89 1.00000e+10 41.1759 1.00000e-01 + 180 287.89 20 0.00 0 0.00 0 + 0.00000e+00 4.49834e+02 8.99668e+02 1.79934e+02 1.68688e+02 1.57442e+02 + 1.46196e+02 1.34950e+02 1.23704e+02 1.12459e+02 1.01213e+02 8.99668e+01 + 7.87209e+01 6.74751e+01 5.62293e+01 4.49834e+01 3.37376e+01 2.24917e+01 + 1.12459e+01 0.00000e+00 + -117.5147 33.2338 8.4990 -55 89 1.00000e+10 40.8611 1.00000e-01 + 180 254.79 20 0.00 0 0.00 0 + 0.00000e+00 3.98112e+02 7.96224e+02 1.59245e+02 1.49292e+02 1.39339e+02 + 1.29386e+02 1.19434e+02 1.09481e+02 9.95280e+01 8.95752e+01 7.96224e+01 + 6.96696e+01 5.97168e+01 4.97640e+01 3.98112e+01 2.98584e+01 1.99056e+01 + 9.95280e+00 0.00000e+00 + -117.5235 33.2390 8.4990 -55 89 1.00000e+10 40.4927 1.00000e-01 + 180 272.61 20 0.00 0 0.00 0 + 0.00000e+00 4.25960e+02 8.51920e+02 1.70384e+02 1.59735e+02 1.49086e+02 + 1.38437e+02 1.27788e+02 1.17139e+02 1.06490e+02 9.58411e+01 8.51920e+01 + 7.45430e+01 6.38940e+01 5.32450e+01 4.25960e+01 3.19470e+01 2.12980e+01 + 1.06490e+01 0.00000e+00 + -117.5324 33.2441 8.4990 -55 89 1.00000e+10 40.1206 1.00000e-01 + 180 297.65 20 0.00 0 0.00 0 + 0.00000e+00 4.65081e+02 9.30162e+02 1.86032e+02 1.74405e+02 1.62778e+02 + 1.51151e+02 1.39524e+02 1.27897e+02 1.16270e+02 1.04643e+02 9.30162e+01 + 8.13892e+01 6.97622e+01 5.81351e+01 4.65081e+01 3.48811e+01 2.32541e+01 + 1.16270e+01 0.00000e+00 + -117.5412 33.2493 8.4990 -55 89 1.00000e+10 39.7827 1.00000e-01 + 180 291.98 20 0.00 0 0.00 0 + 0.00000e+00 4.56214e+02 9.12427e+02 1.82485e+02 1.71080e+02 1.59675e+02 + 1.48269e+02 1.36864e+02 1.25459e+02 1.14053e+02 1.02648e+02 9.12427e+01 + 7.98374e+01 6.84320e+01 5.70267e+01 4.56214e+01 3.42160e+01 2.28107e+01 + 1.14053e+01 0.00000e+00 + -117.5490 33.2553 8.4990 -39 89 1.00000e+10 39.3704 1.00000e-01 + 180 353.47 20 0.00 0 0.00 0 + 0.00000e+00 5.52293e+02 1.10459e+03 2.20917e+02 2.07110e+02 1.93303e+02 + 1.79495e+02 1.65688e+02 1.51881e+02 1.38073e+02 1.24266e+02 1.10459e+02 + 9.66513e+01 8.28440e+01 6.90367e+01 5.52293e+01 4.14220e+01 2.76147e+01 + 1.38073e+01 0.00000e+00 + -117.5557 33.2624 8.4990 -38 89 1.00000e+10 39.0140 1.00000e-01 + 180 362.93 20 0.00 0 0.00 0 + 0.00000e+00 5.67082e+02 1.13416e+03 2.26833e+02 2.12656e+02 1.98479e+02 + 1.84302e+02 1.70125e+02 1.55948e+02 1.41770e+02 1.27593e+02 1.13416e+02 + 9.92393e+01 8.50623e+01 7.08852e+01 5.67082e+01 4.25311e+01 2.83541e+01 + 1.41770e+01 0.00000e+00 + -117.5623 33.2695 8.4990 -38 89 1.00000e+10 38.7591 1.00000e-01 + 180 274.37 20 0.00 0 0.00 0 + 0.00000e+00 4.28699e+02 8.57398e+02 1.71480e+02 1.60762e+02 1.50045e+02 + 1.39327e+02 1.28610e+02 1.17892e+02 1.07175e+02 9.64573e+01 8.57398e+01 + 7.50223e+01 6.43048e+01 5.35874e+01 4.28699e+01 3.21524e+01 2.14349e+01 + 1.07175e+01 0.00000e+00 + -117.5689 33.2766 8.4990 -38 89 1.00000e+10 38.5397 1.00000e-01 + 180 143.84 20 0.00 0 0.00 0 + 0.00000e+00 2.24743e+02 4.49487e+02 8.98974e+01 8.42788e+01 7.86602e+01 + 7.30416e+01 6.74231e+01 6.18045e+01 5.61859e+01 5.05673e+01 4.49487e+01 + 3.93301e+01 3.37115e+01 2.80929e+01 2.24743e+01 1.68558e+01 1.12372e+01 + 5.61859e+00 0.00000e+00 + -117.5755 33.2837 8.4990 -38 89 1.00000e+10 38.2405 1.00000e-01 + 180 93.64 20 0.00 0 0.00 0 + 0.00000e+00 1.46314e+02 2.92628e+02 5.85256e+01 5.48677e+01 5.12099e+01 + 4.75520e+01 4.38942e+01 4.02363e+01 3.65785e+01 3.29206e+01 2.92628e+01 + 2.56049e+01 2.19471e+01 1.82892e+01 1.46314e+01 1.09735e+01 7.31570e+00 + 3.65785e+00 0.00000e+00 + -117.5821 33.2908 8.4990 -38 89 1.00000e+10 37.8784 1.00000e-01 + 180 112.31 20 0.00 0 0.00 0 + 0.00000e+00 1.75481e+02 3.50962e+02 7.01923e+01 6.58053e+01 6.14183e+01 + 5.70313e+01 5.26443e+01 4.82572e+01 4.38702e+01 3.94832e+01 3.50962e+01 + 3.07091e+01 2.63221e+01 2.19351e+01 1.75481e+01 1.31611e+01 8.77404e+00 + 4.38702e+00 0.00000e+00 + -117.5888 33.2979 8.4990 -38 89 1.00000e+10 37.4962 1.00000e-01 + 180 141.76 20 0.00 0 0.00 0 + 0.00000e+00 2.21503e+02 4.43006e+02 8.86011e+01 8.30636e+01 7.75260e+01 + 7.19884e+01 6.64509e+01 6.09133e+01 5.53757e+01 4.98381e+01 4.43006e+01 + 3.87630e+01 3.32254e+01 2.76879e+01 2.21503e+01 1.66127e+01 1.10751e+01 + 5.53757e+00 0.00000e+00 + -117.5954 33.3050 8.4990 -38 89 1.00000e+10 37.2635 1.00000e-01 + 180 31.24 20 0.00 0 0.00 0 + 0.00000e+00 4.88048e+01 9.76097e+01 1.95219e+01 1.83018e+01 1.70817e+01 + 1.58616e+01 1.46415e+01 1.34213e+01 1.22012e+01 1.09811e+01 9.76097e+00 + 8.54085e+00 7.32073e+00 6.10060e+00 4.88048e+00 3.66036e+00 2.44024e+00 + 1.22012e+00 0.00000e+00 + -117.6020 33.3121 8.4990 -38 89 1.00000e+10 36.9442 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6086 33.3192 8.4990 -38 89 1.00000e+10 36.5959 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6152 33.3263 8.4990 -38 89 1.00000e+10 36.2498 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6219 33.3334 8.4990 -38 89 1.00000e+10 35.9062 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6285 33.3405 8.4990 -38 89 1.00000e+10 35.5573 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6351 33.3476 8.4990 -38 89 1.00000e+10 35.2117 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6417 33.3547 8.4990 -38 89 1.00000e+10 34.8622 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6484 33.3618 8.4990 -38 89 1.00000e+10 34.4922 1.00000e-01 + 180 24.81 20 0.00 0 0.00 0 + 0.00000e+00 3.87651e+01 7.75302e+01 1.55060e+01 1.45369e+01 1.35678e+01 + 1.25987e+01 1.16295e+01 1.06604e+01 9.69127e+00 8.72214e+00 7.75302e+00 + 6.78389e+00 5.81476e+00 4.84563e+00 3.87651e+00 2.90738e+00 1.93825e+00 + 9.69127e-01 0.00000e+00 + -117.6550 33.3688 8.4990 -38 89 1.00000e+10 34.0134 1.00000e-01 + 180 156.79 20 0.00 0 0.00 0 + 0.00000e+00 2.44991e+02 4.89982e+02 9.79964e+01 9.18716e+01 8.57468e+01 + 7.96221e+01 7.34973e+01 6.73725e+01 6.12477e+01 5.51230e+01 4.89982e+01 + 4.28734e+01 3.67486e+01 3.06239e+01 2.44991e+01 1.83743e+01 1.22495e+01 + 6.12477e+00 0.00000e+00 + -117.6616 33.3759 8.4990 -38 89 1.00000e+10 33.6128 1.00000e-01 + 180 207.78 20 0.00 0 0.00 0 + 0.00000e+00 3.24656e+02 6.49311e+02 1.29862e+02 1.21746e+02 1.13630e+02 + 1.05513e+02 9.73967e+01 8.92803e+01 8.11639e+01 7.30475e+01 6.49311e+01 + 5.68148e+01 4.86984e+01 4.05820e+01 3.24656e+01 2.43492e+01 1.62328e+01 + 8.11639e+00 0.00000e+00 + -117.6683 33.3830 8.4990 -38 89 1.00000e+10 33.2410 1.00000e-01 + 180 235.03 20 0.00 0 0.00 0 + 0.00000e+00 3.67242e+02 7.34484e+02 1.46897e+02 1.37716e+02 1.28535e+02 + 1.19354e+02 1.10173e+02 1.00992e+02 9.18105e+01 8.26294e+01 7.34484e+01 + 6.42673e+01 5.50863e+01 4.59052e+01 3.67242e+01 2.75431e+01 1.83621e+01 + 9.18105e+00 0.00000e+00 + -117.6749 33.3901 8.4990 -38 89 1.00000e+10 32.8094 1.00000e-01 + 180 321.68 20 0.00 0 0.00 0 + 0.00000e+00 5.02617e+02 1.00523e+03 2.01047e+02 1.88481e+02 1.75916e+02 + 1.63351e+02 1.50785e+02 1.38220e+02 1.25654e+02 1.13089e+02 1.00523e+02 + 8.79580e+01 7.53926e+01 6.28272e+01 5.02617e+01 3.76963e+01 2.51309e+01 + 1.25654e+01 0.00000e+00 + -117.6815 33.3972 8.4990 -38 89 1.00000e+10 32.4617 1.00000e-01 + 180 323.28 20 0.00 0 0.00 0 + 0.00000e+00 5.05128e+02 1.01026e+03 2.02051e+02 1.89423e+02 1.76795e+02 + 1.64167e+02 1.51538e+02 1.38910e+02 1.26282e+02 1.13654e+02 1.01026e+02 + 8.83975e+01 7.57692e+01 6.31410e+01 5.05128e+01 3.78846e+01 2.52564e+01 + 1.26282e+01 0.00000e+00 + -117.6883 33.4042 8.4990 -40 89 1.00000e+10 32.1924 1.00000e-01 + 180 240.01 20 0.00 0 0.00 0 + 0.00000e+00 3.75009e+02 7.50017e+02 1.50003e+02 1.40628e+02 1.31253e+02 + 1.21878e+02 1.12503e+02 1.03127e+02 9.37522e+01 8.43770e+01 7.50017e+01 + 6.56265e+01 5.62513e+01 4.68761e+01 3.75009e+01 2.81257e+01 1.87504e+01 + 9.37522e+00 0.00000e+00 + -117.6953 33.4110 8.4990 -41 89 1.00000e+10 31.8589 1.00000e-01 + 180 228.50 20 0.00 0 0.00 0 + 0.00000e+00 3.57035e+02 7.14069e+02 1.42814e+02 1.33888e+02 1.24962e+02 + 1.16036e+02 1.07110e+02 9.81845e+01 8.92587e+01 8.03328e+01 7.14069e+01 + 6.24811e+01 5.35552e+01 4.46293e+01 3.57035e+01 2.67776e+01 1.78517e+01 + 8.92587e+00 0.00000e+00 + -117.7024 33.4178 8.4990 -41 89 1.00000e+10 31.5268 1.00000e-01 + 180 211.26 20 0.00 0 0.00 0 + 0.00000e+00 3.30093e+02 6.60186e+02 1.32037e+02 1.23785e+02 1.15533e+02 + 1.07280e+02 9.90279e+01 9.07756e+01 8.25232e+01 7.42709e+01 6.60186e+01 + 5.77663e+01 4.95139e+01 4.12616e+01 3.30093e+01 2.47570e+01 1.65046e+01 + 8.25232e+00 0.00000e+00 + -117.7095 33.4246 8.4990 -41 89 1.00000e+10 31.2050 1.00000e-01 + 180 185.82 20 0.00 0 0.00 0 + 0.00000e+00 2.90347e+02 5.80693e+02 1.16139e+02 1.08880e+02 1.01621e+02 + 9.43627e+01 8.71040e+01 7.98453e+01 7.25867e+01 6.53280e+01 5.80693e+01 + 5.08107e+01 4.35520e+01 3.62933e+01 2.90347e+01 2.17760e+01 1.45173e+01 + 7.25867e+00 0.00000e+00 + -117.7166 33.4314 8.4990 -41 89 1.00000e+10 30.8903 1.00000e-01 + 180 155.70 20 0.00 0 0.00 0 + 0.00000e+00 2.43286e+02 4.86571e+02 9.73143e+01 9.12321e+01 8.51500e+01 + 7.90678e+01 7.29857e+01 6.69035e+01 6.08214e+01 5.47393e+01 4.86571e+01 + 4.25750e+01 3.64928e+01 3.04107e+01 2.43286e+01 1.82464e+01 1.21643e+01 + 6.08214e+00 0.00000e+00 + -117.7237 33.4382 8.4990 -41 89 1.00000e+10 30.4349 1.00000e-01 + 180 265.47 20 0.00 0 0.00 0 + 0.00000e+00 4.14800e+02 8.29601e+02 1.65920e+02 1.55550e+02 1.45180e+02 + 1.34810e+02 1.24440e+02 1.14070e+02 1.03700e+02 9.33301e+01 8.29601e+01 + 7.25901e+01 6.22201e+01 5.18500e+01 4.14800e+01 3.11100e+01 2.07400e+01 + 1.03700e+01 0.00000e+00 + -117.7308 33.4449 8.4990 -41 89 1.00000e+10 30.0144 1.00000e-01 + 180 334.17 20 0.00 0 0.00 0 + 0.00000e+00 5.22148e+02 1.04430e+03 2.08859e+02 1.95805e+02 1.82752e+02 + 1.69698e+02 1.56644e+02 1.43591e+02 1.30537e+02 1.17483e+02 1.04430e+02 + 9.13758e+01 7.83222e+01 6.52685e+01 5.22148e+01 3.91611e+01 2.61074e+01 + 1.30537e+01 0.00000e+00 + -117.7379 33.4517 8.4990 -41 89 1.00000e+10 29.6782 1.00000e-01 + 180 326.89 20 0.00 0 0.00 0 + 0.00000e+00 5.10770e+02 1.02154e+03 2.04308e+02 1.91539e+02 1.78770e+02 + 1.66000e+02 1.53231e+02 1.40462e+02 1.27693e+02 1.14923e+02 1.02154e+02 + 8.93848e+01 7.66155e+01 6.38463e+01 5.10770e+01 3.83078e+01 2.55385e+01 + 1.27693e+01 0.00000e+00 + -117.7450 33.4585 8.4990 -41 89 1.00000e+10 29.3357 1.00000e-01 + 180 321.61 20 0.00 0 0.00 0 + 0.00000e+00 5.02522e+02 1.00504e+03 2.01009e+02 1.88446e+02 1.75883e+02 + 1.63320e+02 1.50757e+02 1.38194e+02 1.25631e+02 1.13067e+02 1.00504e+02 + 8.79414e+01 7.53783e+01 6.28153e+01 5.02522e+01 3.76892e+01 2.51261e+01 + 1.25631e+01 0.00000e+00 + -117.7521 33.4653 8.4990 -41 89 1.00000e+10 28.8825 1.00000e-01 + 180 428.98 20 0.00 0 0.00 0 + 0.00000e+00 6.70283e+02 1.34057e+03 2.68113e+02 2.51356e+02 2.34599e+02 + 2.17842e+02 2.01085e+02 1.84328e+02 1.67571e+02 1.50814e+02 1.34057e+02 + 1.17299e+02 1.00542e+02 8.37853e+01 6.70283e+01 5.02712e+01 3.35141e+01 + 1.67571e+01 0.00000e+00 + -117.7592 33.4720 8.4990 -41 89 1.00000e+10 28.4467 1.00000e-01 + 180 516.46 20 0.00 0 0.00 0 + 0.00000e+00 8.06968e+02 1.61394e+03 3.22787e+02 3.02613e+02 2.82439e+02 + 2.62264e+02 2.42090e+02 2.21916e+02 2.01742e+02 1.81568e+02 1.61394e+02 + 1.41219e+02 1.21045e+02 1.00871e+02 8.06968e+01 6.05226e+01 4.03484e+01 + 2.01742e+01 0.00000e+00 + -117.7663 33.4788 8.4990 -41 89 1.00000e+10 28.1576 1.00000e-01 + 180 462.17 20 0.00 0 0.00 0 + 0.00000e+00 7.22146e+02 1.44429e+03 2.88858e+02 2.70805e+02 2.52751e+02 + 2.34697e+02 2.16644e+02 1.98590e+02 1.80536e+02 1.62483e+02 1.44429e+02 + 1.26376e+02 1.08322e+02 9.02682e+01 7.22146e+01 5.41609e+01 3.61073e+01 + 1.80536e+01 0.00000e+00 + -117.7734 33.4856 8.4990 -41 89 1.00000e+10 27.9050 1.00000e-01 + 180 362.67 20 0.00 0 0.00 0 + 0.00000e+00 5.66667e+02 1.13333e+03 2.26667e+02 2.12500e+02 1.98333e+02 + 1.84167e+02 1.70000e+02 1.55833e+02 1.41667e+02 1.27500e+02 1.13333e+02 + 9.91666e+01 8.50000e+01 7.08333e+01 5.66667e+01 4.25000e+01 2.83333e+01 + 1.41667e+01 0.00000e+00 + -117.7805 33.4924 8.4990 -41 89 1.00000e+10 27.6635 1.00000e-01 + 180 259.43 20 0.00 0 0.00 0 + 0.00000e+00 4.05363e+02 8.10726e+02 1.62145e+02 1.52011e+02 1.41877e+02 + 1.31743e+02 1.21609e+02 1.11475e+02 1.01341e+02 9.12066e+01 8.10726e+01 + 7.09385e+01 6.08044e+01 5.06704e+01 4.05363e+01 3.04022e+01 2.02681e+01 + 1.01341e+01 0.00000e+00 + -117.7876 33.4991 8.4990 -41 89 1.00000e+10 27.3227 1.00000e-01 + 180 250.21 20 0.00 0 0.00 0 + 0.00000e+00 3.90945e+02 7.81891e+02 1.56378e+02 1.46604e+02 1.36831e+02 + 1.27057e+02 1.17284e+02 1.07510e+02 9.77363e+01 8.79627e+01 7.81891e+01 + 6.84154e+01 5.86418e+01 4.88682e+01 3.90945e+01 2.93209e+01 1.95473e+01 + 9.77363e+00 0.00000e+00 + -117.7948 33.5059 8.4990 -42 89 1.00000e+10 27.0228 1.00000e-01 + 180 201.68 20 0.00 0 0.00 0 + 0.00000e+00 3.15121e+02 6.30242e+02 1.26048e+02 1.18170e+02 1.10292e+02 + 1.02414e+02 9.45364e+01 8.66583e+01 7.87803e+01 7.09023e+01 6.30242e+01 + 5.51462e+01 4.72682e+01 3.93902e+01 3.15121e+01 2.36341e+01 1.57561e+01 + 7.87803e+00 0.00000e+00 + -117.8025 33.5122 8.4990 -49 89 1.00000e+10 26.6660 1.00000e-01 + 180 213.01 20 0.00 0 0.00 0 + 0.00000e+00 3.32829e+02 6.65658e+02 1.33132e+02 1.24811e+02 1.16490e+02 + 1.08169e+02 9.98487e+01 9.15279e+01 8.32072e+01 7.48865e+01 6.65658e+01 + 5.82450e+01 4.99243e+01 4.16036e+01 3.32829e+01 2.49622e+01 1.66414e+01 + 8.32072e+00 0.00000e+00 + -117.8106 33.5180 8.4990 -49 89 1.00000e+10 26.2193 1.00000e-01 + 180 312.31 20 0.00 0 0.00 0 + 0.00000e+00 4.87979e+02 9.75957e+02 1.95191e+02 1.82992e+02 1.70793e+02 + 1.58593e+02 1.46394e+02 1.34194e+02 1.21995e+02 1.09795e+02 9.75957e+01 + 8.53963e+01 7.31968e+01 6.09973e+01 4.87979e+01 3.65984e+01 2.43989e+01 + 1.21995e+01 0.00000e+00 + -117.8188 33.5239 8.4990 -49 89 1.00000e+10 25.8326 1.00000e-01 + 180 355.03 20 0.00 0 0.00 0 + 0.00000e+00 5.54727e+02 1.10945e+03 2.21891e+02 2.08023e+02 1.94154e+02 + 1.80286e+02 1.66418e+02 1.52550e+02 1.38682e+02 1.24814e+02 1.10945e+02 + 9.70772e+01 8.32090e+01 6.93409e+01 5.54727e+01 4.16045e+01 2.77363e+01 + 1.38682e+01 0.00000e+00 + -117.8270 33.5298 8.4990 -49 89 1.00000e+10 25.4742 1.00000e-01 + 180 362.79 20 0.00 0 0.00 0 + 0.00000e+00 5.66854e+02 1.13371e+03 2.26742e+02 2.12570e+02 1.98399e+02 + 1.84228e+02 1.70056e+02 1.55885e+02 1.41714e+02 1.27542e+02 1.13371e+02 + 9.91995e+01 8.50281e+01 7.08568e+01 5.66854e+01 4.25141e+01 2.83427e+01 + 1.41714e+01 0.00000e+00 + -117.8352 33.5357 8.4990 -49 89 1.00000e+10 25.2240 1.00000e-01 + 180 267.21 20 0.00 0 0.00 0 + 0.00000e+00 4.17519e+02 8.35037e+02 1.67007e+02 1.56569e+02 1.46132e+02 + 1.35694e+02 1.25256e+02 1.14818e+02 1.04380e+02 9.39417e+01 8.35037e+01 + 7.30658e+01 6.26278e+01 5.21898e+01 4.17519e+01 3.13139e+01 2.08759e+01 + 1.04380e+01 0.00000e+00 + -117.8434 33.5415 8.4990 -49 89 1.00000e+10 24.9018 1.00000e-01 + 180 240.43 20 0.00 0 0.00 0 + 0.00000e+00 3.75667e+02 7.51334e+02 1.50267e+02 1.40875e+02 1.31483e+02 + 1.22092e+02 1.12700e+02 1.03308e+02 9.39167e+01 8.45250e+01 7.51334e+01 + 6.57417e+01 5.63500e+01 4.69584e+01 3.75667e+01 2.81750e+01 1.87833e+01 + 9.39167e+00 0.00000e+00 + -117.8515 33.5474 8.4990 -49 89 1.00000e+10 24.5936 1.00000e-01 + 180 201.87 20 0.00 0 0.00 0 + 0.00000e+00 3.15421e+02 6.30843e+02 1.26169e+02 1.18283e+02 1.10397e+02 + 1.02512e+02 9.46264e+01 8.67409e+01 7.88553e+01 7.09698e+01 6.30843e+01 + 5.51987e+01 4.73132e+01 3.94277e+01 3.15421e+01 2.36566e+01 1.57711e+01 + 7.88553e+00 0.00000e+00 + -117.8597 33.5533 8.4990 -49 89 1.00000e+10 24.2977 1.00000e-01 + 180 149.47 20 0.00 0 0.00 0 + 0.00000e+00 2.33553e+02 4.67107e+02 9.34214e+01 8.75825e+01 8.17437e+01 + 7.59049e+01 7.00660e+01 6.42272e+01 5.83884e+01 5.25495e+01 4.67107e+01 + 4.08718e+01 3.50330e+01 2.91942e+01 2.33553e+01 1.75165e+01 1.16777e+01 + 5.83884e+00 0.00000e+00 + -117.8679 33.5591 8.4990 -49 89 1.00000e+10 23.9936 1.00000e-01 + 180 109.44 20 0.00 0 0.00 0 + 0.00000e+00 1.70996e+02 3.41991e+02 6.83983e+01 6.41234e+01 5.98485e+01 + 5.55736e+01 5.12987e+01 4.70238e+01 4.27489e+01 3.84740e+01 3.41991e+01 + 2.99242e+01 2.56494e+01 2.13745e+01 1.70996e+01 1.28247e+01 8.54978e+00 + 4.27489e+00 0.00000e+00 + -117.8761 33.5650 8.4990 -49 89 1.00000e+10 23.5911 1.00000e-01 + 180 161.28 20 0.00 0 0.00 0 + 0.00000e+00 2.52000e+02 5.04000e+02 1.00800e+02 9.45000e+01 8.82000e+01 + 8.19000e+01 7.56000e+01 6.93000e+01 6.30000e+01 5.67000e+01 5.04000e+01 + 4.41000e+01 3.78000e+01 3.15000e+01 2.52000e+01 1.89000e+01 1.26000e+01 + 6.30000e+00 0.00000e+00 + -117.8843 33.5709 8.4990 -49 89 1.00000e+10 23.2726 1.00000e-01 + 180 130.77 20 0.00 0 0.00 0 + 0.00000e+00 2.04323e+02 4.08646e+02 8.17293e+01 7.66212e+01 7.15131e+01 + 6.64050e+01 6.12969e+01 5.61889e+01 5.10808e+01 4.59727e+01 4.08646e+01 + 3.57565e+01 3.06485e+01 2.55404e+01 2.04323e+01 1.53242e+01 1.02162e+01 + 5.10808e+00 0.00000e+00 + -117.8925 33.5768 8.4990 -49 89 1.00000e+10 23.0167 1.00000e-01 + 180 40.44 20 0.00 0 0.00 0 + 0.00000e+00 6.31879e+01 1.26376e+02 2.52751e+01 2.36955e+01 2.21158e+01 + 2.05361e+01 1.89564e+01 1.73767e+01 1.57970e+01 1.42173e+01 1.26376e+01 + 1.10579e+01 9.47818e+00 7.89848e+00 6.31879e+00 4.73909e+00 3.15939e+00 + 1.57970e+00 0.00000e+00 + -117.9007 33.5826 8.4990 -49 89 1.00000e+10 22.6504 1.00000e-01 + 180 58.56 20 0.00 0 0.00 0 + 0.00000e+00 9.14995e+01 1.82999e+02 3.65998e+01 3.43123e+01 3.20248e+01 + 2.97373e+01 2.74498e+01 2.51624e+01 2.28749e+01 2.05874e+01 1.82999e+01 + 1.60124e+01 1.37249e+01 1.14374e+01 9.14995e+00 6.86246e+00 4.57497e+00 + 2.28749e+00 0.00000e+00 + -117.9089 33.5885 8.4990 -49 89 1.00000e+10 22.3184 1.00000e-01 + 180 47.51 20 0.00 0 0.00 0 + 0.00000e+00 7.42332e+01 1.48466e+02 2.96933e+01 2.78375e+01 2.59816e+01 + 2.41258e+01 2.22700e+01 2.04141e+01 1.85583e+01 1.67025e+01 1.48466e+01 + 1.29908e+01 1.11350e+01 9.27915e+00 7.42332e+00 5.56749e+00 3.71166e+00 + 1.85583e+00 0.00000e+00 + -117.9162 33.5950 8.4990 -37 89 1.00000e+10 21.9281 1.00000e-01 + 180 88.80 20 0.00 0 0.00 0 + 0.00000e+00 1.38747e+02 2.77494e+02 5.54988e+01 5.20301e+01 4.85615e+01 + 4.50928e+01 4.16241e+01 3.81554e+01 3.46868e+01 3.12181e+01 2.77494e+01 + 2.42807e+01 2.08121e+01 1.73434e+01 1.38747e+01 1.04060e+01 6.93735e+00 + 3.46868e+00 0.00000e+00 + -117.9227 33.6022 8.4990 -37 89 1.00000e+10 21.4546 1.00000e-01 + 180 215.73 20 0.00 0 0.00 0 + 0.00000e+00 3.37071e+02 6.74142e+02 1.34828e+02 1.26402e+02 1.17975e+02 + 1.09548e+02 1.01121e+02 9.26946e+01 8.42678e+01 7.58410e+01 6.74142e+01 + 5.89874e+01 5.05607e+01 4.21339e+01 3.37071e+01 2.52803e+01 1.68536e+01 + 8.42678e+00 0.00000e+00 + -117.9292 33.6094 8.4990 -37 89 1.00000e+10 21.1083 1.00000e-01 + 180 217.21 20 0.00 0 0.00 0 + 0.00000e+00 3.39387e+02 6.78774e+02 1.35755e+02 1.27270e+02 1.18785e+02 + 1.10301e+02 1.01816e+02 9.33315e+01 8.48468e+01 7.63621e+01 6.78774e+01 + 5.93927e+01 5.09081e+01 4.24234e+01 3.39387e+01 2.54540e+01 1.69694e+01 + 8.48468e+00 0.00000e+00 + -117.9358 33.6165 8.4990 -38 89 1.00000e+10 20.7900 1.00000e-01 + 180 189.12 20 0.00 0 0.00 0 + 0.00000e+00 2.95500e+02 5.90999e+02 1.18200e+02 1.10812e+02 1.03425e+02 + 9.60374e+01 8.86499e+01 8.12624e+01 7.38749e+01 6.64874e+01 5.90999e+01 + 5.17124e+01 4.43249e+01 3.69374e+01 2.95500e+01 2.21625e+01 1.47750e+01 + 7.38749e+00 0.00000e+00 + -117.9425 33.6236 8.4990 -39 89 1.00000e+10 20.5097 1.00000e-01 + 180 118.22 20 0.00 0 0.00 0 + 0.00000e+00 1.84722e+02 3.69443e+02 7.38886e+01 6.92706e+01 6.46526e+01 + 6.00345e+01 5.54165e+01 5.07984e+01 4.61804e+01 4.15624e+01 3.69443e+01 + 3.23263e+01 2.77082e+01 2.30902e+01 1.84722e+01 1.38541e+01 9.23608e+00 + 4.61804e+00 0.00000e+00 + -117.9493 33.6306 8.4990 -39 89 1.00000e+10 20.2638 1.00000e-01 + 180 15.15 20 0.00 0 0.00 0 + 0.00000e+00 2.36696e+01 4.73392e+01 9.46785e+00 8.87611e+00 8.28437e+00 + 7.69263e+00 7.10089e+00 6.50915e+00 5.91740e+00 5.32566e+00 4.73392e+00 + 4.14218e+00 3.55044e+00 2.95870e+00 2.36696e+00 1.77522e+00 1.18348e+00 + 5.91740e-01 0.00000e+00 + -117.9560 33.6376 8.4990 -39 89 1.00000e+10 19.8869 1.00000e-01 + 180 43.69 20 0.00 0 0.00 0 + 0.00000e+00 6.82607e+01 1.36521e+02 2.73043e+01 2.55978e+01 2.38913e+01 + 2.21847e+01 2.04782e+01 1.87717e+01 1.70652e+01 1.53587e+01 1.36521e+01 + 1.19456e+01 1.02391e+01 8.53259e+00 6.82607e+00 5.11956e+00 3.41304e+00 + 1.70652e+00 0.00000e+00 + -117.9627 33.6447 8.4990 -39 89 1.00000e+10 19.5828 1.00000e-01 + 180 3.96 20 0.00 0 0.00 0 + 0.00000e+00 6.19225e+00 1.23845e+01 2.47690e+00 2.32210e+00 2.16729e+00 + 2.01248e+00 1.85768e+00 1.70287e+00 1.54806e+00 1.39326e+00 1.23845e+00 + 1.08364e+00 9.28838e-01 7.74032e-01 6.19225e-01 4.64419e-01 3.09613e-01 + 1.54806e-01 0.00000e+00 + -117.9695 33.6517 8.4990 -39 89 1.00000e+10 19.2419 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9762 33.6588 8.4990 -39 89 1.00000e+10 18.8825 1.00000e-01 + 180 8.37 20 0.00 0 0.00 0 + 0.00000e+00 1.30725e+01 2.61451e+01 5.22902e+00 4.90220e+00 4.57539e+00 + 4.24858e+00 3.92176e+00 3.59495e+00 3.26814e+00 2.94132e+00 2.61451e+00 + 2.28769e+00 1.96088e+00 1.63407e+00 1.30725e+00 9.80441e-01 6.53627e-01 + 3.26814e-01 0.00000e+00 + -117.9829 33.6658 8.4990 -39 89 1.00000e+10 18.4517 1.00000e-01 + 180 92.04 20 0.00 0 0.00 0 + 0.00000e+00 1.43809e+02 2.87618e+02 5.75237e+01 5.39285e+01 5.03332e+01 + 4.67380e+01 4.31428e+01 3.95475e+01 3.59523e+01 3.23571e+01 2.87618e+01 + 2.51666e+01 2.15714e+01 1.79762e+01 1.43809e+01 1.07857e+01 7.19046e+00 + 3.59523e+00 0.00000e+00 + -117.9898 33.6727 8.4990 -41 89 1.00000e+10 18.1574 1.00000e-01 + 180 42.81 20 0.00 0 0.00 0 + 0.00000e+00 6.68925e+01 1.33785e+02 2.67570e+01 2.50847e+01 2.34124e+01 + 2.17401e+01 2.00677e+01 1.83954e+01 1.67231e+01 1.50508e+01 1.33785e+01 + 1.17062e+01 1.00339e+01 8.36156e+00 6.68925e+00 5.01693e+00 3.34462e+00 + 1.67231e+00 0.00000e+00 + -117.9978 33.6787 8.4990 -54 89 1.00000e+10 17.8182 1.00000e-01 + 180 33.38 20 0.00 0 0.00 0 + 0.00000e+00 5.21613e+01 1.04323e+02 2.08645e+01 1.95605e+01 1.82564e+01 + 1.69524e+01 1.56484e+01 1.43443e+01 1.30403e+01 1.17363e+01 1.04323e+01 + 9.12822e+00 7.82419e+00 6.52016e+00 5.21613e+00 3.91209e+00 2.60806e+00 + 1.30403e+00 0.00000e+00 + -118.0066 33.6839 8.4990 -54 89 1.00000e+10 17.4541 1.00000e-01 + 180 52.09 20 0.00 0 0.00 0 + 0.00000e+00 8.13844e+01 1.62769e+02 3.25538e+01 3.05191e+01 2.84845e+01 + 2.64499e+01 2.44153e+01 2.23807e+01 2.03461e+01 1.83115e+01 1.62769e+01 + 1.42423e+01 1.22077e+01 1.01730e+01 8.13844e+00 6.10383e+00 4.06922e+00 + 2.03461e+00 0.00000e+00 + -118.0154 33.6891 8.4990 -54 89 1.00000e+10 17.0726 1.00000e-01 + 180 83.38 20 0.00 0 0.00 0 + 0.00000e+00 1.30276e+02 2.60552e+02 5.21103e+01 4.88534e+01 4.55965e+01 + 4.23396e+01 3.90827e+01 3.58258e+01 3.25689e+01 2.93121e+01 2.60552e+01 + 2.27983e+01 1.95414e+01 1.62845e+01 1.30276e+01 9.77068e+00 6.51379e+00 + 3.25689e+00 0.00000e+00 + -118.0242 33.6944 8.4990 -54 89 1.00000e+10 16.7539 1.00000e-01 + 180 58.83 20 0.00 0 0.00 0 + 0.00000e+00 9.19284e+01 1.83857e+02 3.67713e+01 3.44731e+01 3.21749e+01 + 2.98767e+01 2.75785e+01 2.52803e+01 2.29821e+01 2.06839e+01 1.83857e+01 + 1.60875e+01 1.37893e+01 1.14910e+01 9.19284e+00 6.89463e+00 4.59642e+00 + 2.29821e+00 0.00000e+00 + -118.0330 33.6996 8.4990 -54 89 1.00000e+10 16.4344 1.00000e-01 + 180 26.84 20 0.00 0 0.00 0 + 0.00000e+00 4.19302e+01 8.38603e+01 1.67721e+01 1.57238e+01 1.46756e+01 + 1.36273e+01 1.25790e+01 1.15308e+01 1.04825e+01 9.43429e+00 8.38603e+00 + 7.33778e+00 6.28952e+00 5.24127e+00 4.19302e+00 3.14476e+00 2.09651e+00 + 1.04825e+00 0.00000e+00 + -118.0417 33.7049 8.4990 -53 89 1.00000e+10 16.0343 1.00000e-01 + 180 80.01 20 0.00 0 0.00 0 + 0.00000e+00 1.25012e+02 2.50023e+02 5.00046e+01 4.68793e+01 4.37541e+01 + 4.06288e+01 3.75035e+01 3.43782e+01 3.12529e+01 2.81276e+01 2.50023e+01 + 2.18770e+01 1.87517e+01 1.56264e+01 1.25012e+01 9.37587e+00 6.25058e+00 + 3.12529e+00 0.00000e+00 + -118.0502 33.7105 8.4990 -50 89 1.00000e+10 15.5939 1.00000e-01 + 180 172.74 20 0.00 0 0.00 0 + 0.00000e+00 2.69907e+02 5.39815e+02 1.07963e+02 1.01215e+02 9.44675e+01 + 8.77199e+01 8.09722e+01 7.42245e+01 6.74768e+01 6.07291e+01 5.39815e+01 + 4.72338e+01 4.04861e+01 3.37384e+01 2.69907e+01 2.02430e+01 1.34954e+01 + 6.74768e+00 0.00000e+00 + -118.0583 33.7164 8.4990 -48 89 1.00000e+10 15.2331 1.00000e-01 + 180 187.05 20 0.00 0 0.00 0 + 0.00000e+00 2.92263e+02 5.84526e+02 1.16905e+02 1.09599e+02 1.02292e+02 + 9.49854e+01 8.76789e+01 8.03723e+01 7.30657e+01 6.57591e+01 5.84526e+01 + 5.11460e+01 4.38394e+01 3.65329e+01 2.92263e+01 2.19197e+01 1.46131e+01 + 7.30657e+00 0.00000e+00 + -118.0651 33.7232 8.4990 -31 89 1.00000e+10 14.8904 1.00000e-01 + 180 181.90 20 0.00 0 0.00 0 + 0.00000e+00 2.84220e+02 5.68440e+02 1.13688e+02 1.06583e+02 9.94770e+01 + 9.23715e+01 8.52660e+01 7.81605e+01 7.10550e+01 6.39495e+01 5.68440e+01 + 4.97385e+01 4.26330e+01 3.55275e+01 2.84220e+01 2.13165e+01 1.42110e+01 + 7.10550e+00 0.00000e+00 + -118.0707 33.7309 8.4990 -31 89 1.00000e+10 14.5402 1.00000e-01 + 180 186.69 20 0.00 0 0.00 0 + 0.00000e+00 2.91699e+02 5.83398e+02 1.16680e+02 1.09387e+02 1.02095e+02 + 9.48021e+01 8.75096e+01 8.02172e+01 7.29247e+01 6.56322e+01 5.83398e+01 + 5.10473e+01 4.37548e+01 3.64623e+01 2.91699e+01 2.18774e+01 1.45849e+01 + 7.29247e+00 0.00000e+00 + -118.0773 33.7380 8.4990 -44 89 1.00000e+10 14.1816 1.00000e-01 + 180 200.17 20 0.00 0 0.00 0 + 0.00000e+00 3.12768e+02 6.25535e+02 1.25107e+02 1.17288e+02 1.09469e+02 + 1.01649e+02 9.38303e+01 8.60111e+01 7.81919e+01 7.03727e+01 6.25535e+01 + 5.47343e+01 4.69152e+01 3.90960e+01 3.12768e+01 2.34576e+01 1.56384e+01 + 7.81919e+00 0.00000e+00 + -118.0850 33.7443 8.4990 -47 89 1.00000e+10 13.7817 1.00000e-01 + 180 250.14 20 0.00 0 0.00 0 + 0.00000e+00 3.90839e+02 7.81678e+02 1.56336e+02 1.46565e+02 1.36794e+02 + 1.27023e+02 1.17252e+02 1.07481e+02 9.77097e+01 8.79387e+01 7.81678e+01 + 6.83968e+01 5.86258e+01 4.88549e+01 3.90839e+01 2.93129e+01 1.95419e+01 + 9.77097e+00 0.00000e+00 + -118.0929 33.7504 8.4990 -47 89 1.00000e+10 13.4190 1.00000e-01 + 180 270.88 20 0.00 0 0.00 0 + 0.00000e+00 4.23243e+02 8.46486e+02 1.69297e+02 1.58716e+02 1.48135e+02 + 1.37554e+02 1.26973e+02 1.16392e+02 1.05811e+02 9.52296e+01 8.46486e+01 + 7.40675e+01 6.34864e+01 5.29053e+01 4.23243e+01 3.17432e+01 2.11621e+01 + 1.05811e+01 0.00000e+00 + -118.1009 33.7565 8.4990 -47 89 1.00000e+10 13.1259 1.00000e-01 + 180 216.78 20 0.00 0 0.00 0 + 0.00000e+00 3.38711e+02 6.77422e+02 1.35484e+02 1.27017e+02 1.18549e+02 + 1.10081e+02 1.01613e+02 9.31456e+01 8.46778e+01 7.62100e+01 6.77422e+01 + 5.92745e+01 5.08067e+01 4.23389e+01 3.38711e+01 2.54033e+01 1.69356e+01 + 8.46778e+00 0.00000e+00 + -118.1088 33.7626 8.4990 -47 89 1.00000e+10 12.7833 1.00000e-01 + 180 213.62 20 0.00 0 0.00 0 + 0.00000e+00 3.33786e+02 6.67571e+02 1.33514e+02 1.25170e+02 1.16825e+02 + 1.08480e+02 1.00136e+02 9.17911e+01 8.34464e+01 7.51018e+01 6.67571e+01 + 5.84125e+01 5.00678e+01 4.17232e+01 3.33786e+01 2.50339e+01 1.66893e+01 + 8.34464e+00 0.00000e+00 + -118.1171 33.7684 8.4990 -52 89 1.00000e+10 12.4039 1.00000e-01 + 180 241.28 20 0.00 0 0.00 0 + 0.00000e+00 3.77004e+02 7.54008e+02 1.50802e+02 1.41377e+02 1.31951e+02 + 1.22526e+02 1.13101e+02 1.03676e+02 9.42510e+01 8.48259e+01 7.54008e+01 + 6.59757e+01 5.65506e+01 4.71255e+01 3.77004e+01 2.82753e+01 1.88502e+01 + 9.42510e+00 0.00000e+00 + -118.1256 33.7740 8.4990 -52 89 1.00000e+10 12.0290 1.00000e-01 + 180 270.14 20 0.00 0 0.00 0 + 0.00000e+00 4.22088e+02 8.44175e+02 1.68835e+02 1.58283e+02 1.47731e+02 + 1.37179e+02 1.26626e+02 1.16074e+02 1.05522e+02 9.49697e+01 8.44175e+01 + 7.38653e+01 6.33132e+01 5.27610e+01 4.22088e+01 3.16566e+01 2.11044e+01 + 1.05522e+01 0.00000e+00 + -118.1341 33.7795 8.4990 -52 89 1.00000e+10 11.6320 1.00000e-01 + 180 321.44 20 0.00 0 0.00 0 + 0.00000e+00 5.02257e+02 1.00451e+03 2.00903e+02 1.88347e+02 1.75790e+02 + 1.63234e+02 1.50677e+02 1.38121e+02 1.25564e+02 1.13008e+02 1.00451e+02 + 8.78950e+01 7.53386e+01 6.27822e+01 5.02257e+01 3.76693e+01 2.51129e+01 + 1.25564e+01 0.00000e+00 + -118.1426 33.7851 8.4990 -52 89 1.00000e+10 11.2044 1.00000e-01 + 180 401.06 20 0.00 0 0.00 0 + 0.00000e+00 6.26659e+02 1.25332e+03 2.50664e+02 2.34997e+02 2.19331e+02 + 2.03664e+02 1.87998e+02 1.72331e+02 1.56665e+02 1.40998e+02 1.25332e+02 + 1.09665e+02 9.39988e+01 7.83324e+01 6.26659e+01 4.69994e+01 3.13329e+01 + 1.56665e+01 0.00000e+00 + -118.1511 33.7907 8.4990 -51 89 1.00000e+10 10.7706 1.00000e-01 + 180 491.39 20 0.00 0 0.00 0 + 0.00000e+00 7.67800e+02 1.53560e+03 3.07120e+02 2.87925e+02 2.68730e+02 + 2.49535e+02 2.30340e+02 2.11145e+02 1.91950e+02 1.72755e+02 1.53560e+02 + 1.34365e+02 1.15170e+02 9.59750e+01 7.67800e+01 5.75850e+01 3.83900e+01 + 1.91950e+01 0.00000e+00 + -118.1595 33.7964 8.4990 -50 89 1.00000e+10 10.2759 1.00000e-01 + 180 639.99 20 0.00 0 0.00 0 + 0.00000e+00 9.99991e+02 1.99998e+03 3.99997e+02 3.74997e+02 3.49997e+02 + 3.24997e+02 2.99997e+02 2.74998e+02 2.49998e+02 2.24998e+02 1.99998e+02 + 1.74998e+02 1.49999e+02 1.24999e+02 9.99991e+01 7.49994e+01 4.99996e+01 + 2.49998e+01 0.00000e+00 + -118.1678 33.8021 8.4990 -50 89 1.00000e+10 9.9809 1.00000e-01 + 180 586.48 20 0.00 0 0.00 0 + 0.00000e+00 9.16368e+02 1.83274e+03 3.66547e+02 3.43638e+02 3.20729e+02 + 2.97820e+02 2.74910e+02 2.52001e+02 2.29092e+02 2.06183e+02 1.83274e+02 + 1.60364e+02 1.37455e+02 1.14546e+02 9.16368e+01 6.87276e+01 4.58184e+01 + 2.29092e+01 0.00000e+00 + -118.1762 33.8079 8.4990 -50 89 1.00000e+10 9.6460 1.00000e-01 + 180 575.78 20 0.00 0 0.00 0 + 0.00000e+00 8.99649e+02 1.79930e+03 3.59860e+02 3.37369e+02 3.14877e+02 + 2.92386e+02 2.69895e+02 2.47404e+02 2.24912e+02 2.02421e+02 1.79930e+02 + 1.57439e+02 1.34947e+02 1.12456e+02 8.99649e+01 6.74737e+01 4.49825e+01 + 2.24912e+01 0.00000e+00 + -118.1845 33.8136 8.4990 -50 89 1.00000e+10 9.3063 1.00000e-01 + 180 571.25 20 0.00 0 0.00 0 + 0.00000e+00 8.92571e+02 1.78514e+03 3.57028e+02 3.34714e+02 3.12400e+02 + 2.90086e+02 2.67771e+02 2.45457e+02 2.23143e+02 2.00829e+02 1.78514e+02 + 1.56200e+02 1.33886e+02 1.11571e+02 8.92571e+01 6.69428e+01 4.46286e+01 + 2.23143e+01 0.00000e+00 + -118.1929 33.8193 8.4990 -50 89 1.00000e+10 9.0696 1.00000e-01 + 180 458.63 20 0.00 0 0.00 0 + 0.00000e+00 7.16613e+02 1.43323e+03 2.86645e+02 2.68730e+02 2.50815e+02 + 2.32899e+02 2.14984e+02 1.97069e+02 1.79153e+02 1.61238e+02 1.43323e+02 + 1.25407e+02 1.07492e+02 8.95767e+01 7.16613e+01 5.37460e+01 3.58307e+01 + 1.79153e+01 0.00000e+00 + -118.2012 33.8251 8.4990 -50 89 1.00000e+10 8.8037 1.00000e-01 + 180 373.68 20 0.00 0 0.00 0 + 0.00000e+00 5.83869e+02 1.16774e+03 2.33548e+02 2.18951e+02 2.04354e+02 + 1.89757e+02 1.75161e+02 1.60564e+02 1.45967e+02 1.31371e+02 1.16774e+02 + 1.02177e+02 8.75804e+01 7.29836e+01 5.83869e+01 4.37902e+01 2.91935e+01 + 1.45967e+01 0.00000e+00 + -118.2094 33.8309 8.4990 -49 89 1.00000e+10 8.5772 1.00000e-01 + 180 258.01 20 0.00 0 0.00 0 + 0.00000e+00 4.03148e+02 8.06295e+02 1.61259e+02 1.51180e+02 1.41102e+02 + 1.31023e+02 1.20944e+02 1.10866e+02 1.00787e+02 9.07082e+01 8.06295e+01 + 7.05508e+01 6.04721e+01 5.03935e+01 4.03148e+01 3.02361e+01 2.01574e+01 + 1.00787e+01 0.00000e+00 + -118.2179 33.8366 8.4990 -54 89 1.00000e+10 8.3211 1.00000e-01 + 180 163.91 20 0.00 0 0.00 0 + 0.00000e+00 2.56111e+02 5.12222e+02 1.02444e+02 9.60416e+01 8.96388e+01 + 8.32360e+01 7.68333e+01 7.04305e+01 6.40277e+01 5.76250e+01 5.12222e+01 + 4.48194e+01 3.84166e+01 3.20139e+01 2.56111e+01 1.92083e+01 1.28055e+01 + 6.40277e+00 0.00000e+00 + -118.2266 33.8418 8.4990 -54 89 1.00000e+10 8.0683 1.00000e-01 + 180 70.37 20 0.00 0 0.00 0 + 0.00000e+00 1.09959e+02 2.19919e+02 4.39837e+01 4.12347e+01 3.84857e+01 + 3.57368e+01 3.29878e+01 3.02388e+01 2.74898e+01 2.47408e+01 2.19919e+01 + 1.92429e+01 1.64939e+01 1.37449e+01 1.09959e+01 8.24695e+00 5.49796e+00 + 2.74898e+00 0.00000e+00 + -118.2340 33.8483 8.4990 -33 89 1.00000e+10 7.7808 1.00000e-01 + 180 7.55 20 0.00 0 0.00 0 + 0.00000e+00 1.17963e+01 2.35926e+01 4.71851e+00 4.42360e+00 4.12870e+00 + 3.83379e+00 3.53888e+00 3.24398e+00 2.94907e+00 2.65416e+00 2.35926e+00 + 2.06435e+00 1.76944e+00 1.47454e+00 1.17963e+00 8.84721e-01 5.89814e-01 + 2.94907e-01 0.00000e+00 + -118.2399 33.8558 8.4990 -33 89 1.00000e+10 7.4386 1.00000e-01 + 180 8.97 20 0.00 0 0.00 0 + 0.00000e+00 1.40156e+01 2.80312e+01 5.60623e+00 5.25584e+00 4.90545e+00 + 4.55506e+00 4.20467e+00 3.85428e+00 3.50389e+00 3.15350e+00 2.80312e+00 + 2.45273e+00 2.10234e+00 1.75195e+00 1.40156e+00 1.05117e+00 7.00779e-01 + 3.50389e-01 0.00000e+00 + -118.2458 33.8633 8.4990 -33 89 1.00000e+10 7.0533 1.00000e-01 + 180 44.60 20 0.00 0 0.00 0 + 0.00000e+00 6.96901e+01 1.39380e+02 2.78760e+01 2.61338e+01 2.43915e+01 + 2.26493e+01 2.09070e+01 1.91648e+01 1.74225e+01 1.56803e+01 1.39380e+01 + 1.21958e+01 1.04535e+01 8.71126e+00 6.96901e+00 5.22675e+00 3.48450e+00 + 1.74225e+00 0.00000e+00 + -118.2517 33.8709 8.4990 -33 89 1.00000e+10 6.6364 1.00000e-01 + 180 117.23 20 0.00 0 0.00 0 + 0.00000e+00 1.83169e+02 3.66337e+02 7.32674e+01 6.86882e+01 6.41090e+01 + 5.95298e+01 5.49506e+01 5.03714e+01 4.57921e+01 4.12129e+01 3.66337e+01 + 3.20545e+01 2.74753e+01 2.28961e+01 1.83169e+01 1.37376e+01 9.15843e+00 + 4.57921e+00 0.00000e+00 + -118.2576 33.8784 8.4990 -33 89 1.00000e+10 6.2355 1.00000e-01 + 180 174.33 20 0.00 0 0.00 0 + 0.00000e+00 2.72393e+02 5.44786e+02 1.08957e+02 1.02147e+02 9.53376e+01 + 8.85278e+01 8.17180e+01 7.49081e+01 6.80983e+01 6.12885e+01 5.44786e+01 + 4.76688e+01 4.08590e+01 3.40492e+01 2.72393e+01 2.04295e+01 1.36197e+01 + 6.80983e+00 0.00000e+00 + -118.2637 33.8859 8.4990 -35 89 1.00000e+10 5.8700 1.00000e-01 + 180 195.17 20 0.00 0 0.00 0 + 0.00000e+00 3.04956e+02 6.09912e+02 1.21982e+02 1.14359e+02 1.06735e+02 + 9.91107e+01 9.14868e+01 8.38629e+01 7.62390e+01 6.86151e+01 6.09912e+01 + 5.33673e+01 4.57434e+01 3.81195e+01 3.04956e+01 2.28717e+01 1.52478e+01 + 7.62390e+00 0.00000e+00 + -118.2700 33.8932 8.4990 -36 89 1.00000e+10 5.5429 1.00000e-01 + 180 177.59 20 0.00 0 0.00 0 + 0.00000e+00 2.77477e+02 5.54955e+02 1.10991e+02 1.04054e+02 9.71171e+01 + 9.01801e+01 8.32432e+01 7.63063e+01 6.93693e+01 6.24324e+01 5.54955e+01 + 4.85585e+01 4.16216e+01 3.46847e+01 2.77477e+01 2.08108e+01 1.38739e+01 + 6.93693e+00 0.00000e+00 + -118.2764 33.9004 8.4990 -36 89 1.00000e+10 5.2897 1.00000e-01 + 180 86.15 20 0.00 0 0.00 0 + 0.00000e+00 1.34613e+02 2.69226e+02 5.38452e+01 5.04799e+01 4.71146e+01 + 4.37493e+01 4.03839e+01 3.70186e+01 3.36533e+01 3.02879e+01 2.69226e+01 + 2.35573e+01 2.01920e+01 1.68266e+01 1.34613e+01 1.00960e+01 6.73065e+00 + 3.36533e+00 0.00000e+00 + -118.2829 33.9077 8.4990 -36 89 1.00000e+10 4.9923 1.00000e-01 + 180 40.88 20 0.00 0 0.00 0 + 0.00000e+00 6.38803e+01 1.27761e+02 2.55521e+01 2.39551e+01 2.23581e+01 + 2.07611e+01 1.91641e+01 1.75671e+01 1.59701e+01 1.43731e+01 1.27761e+01 + 1.11791e+01 9.58205e+00 7.98504e+00 6.38803e+00 4.79102e+00 3.19402e+00 + 1.59701e+00 0.00000e+00 + -118.2892 33.9150 8.4990 -35 89 1.00000e+10 4.5724 1.00000e-01 + 180 122.81 20 0.00 0 0.00 0 + 0.00000e+00 1.91897e+02 3.83793e+02 7.67586e+01 7.19612e+01 6.71638e+01 + 6.23664e+01 5.75690e+01 5.27715e+01 4.79741e+01 4.31767e+01 3.83793e+01 + 3.35819e+01 2.87845e+01 2.39871e+01 1.91897e+01 1.43922e+01 9.59483e+00 + 4.79741e+00 0.00000e+00 + -118.2953 33.9224 8.4990 -34 89 1.00000e+10 4.2186 1.00000e-01 + 180 138.58 20 0.00 0 0.00 0 + 0.00000e+00 2.16534e+02 4.33069e+02 8.66137e+01 8.12004e+01 7.57870e+01 + 7.03736e+01 6.49603e+01 5.95469e+01 5.41336e+01 4.87202e+01 4.33069e+01 + 3.78935e+01 3.24801e+01 2.70668e+01 2.16534e+01 1.62401e+01 1.08267e+01 + 5.41336e+00 0.00000e+00 + -118.3021 33.9290 8.4990 -47 89 1.00000e+10 3.8139 1.00000e-01 + 180 205.33 20 0.00 0 0.00 0 + 0.00000e+00 3.20834e+02 6.41668e+02 1.28334e+02 1.20313e+02 1.12292e+02 + 1.04271e+02 9.62502e+01 8.82293e+01 8.02085e+01 7.21876e+01 6.41668e+01 + 5.61459e+01 4.81251e+01 4.01042e+01 3.20834e+01 2.40625e+01 1.60417e+01 + 8.02085e+00 0.00000e+00 + -118.3112 33.9329 8.4990 -78 89 1.00000e+10 3.5122 1.00000e-01 + 180 167.70 20 0.00 0 0.00 0 + 0.00000e+00 2.62035e+02 5.24069e+02 1.04814e+02 9.82629e+01 9.17121e+01 + 8.51612e+01 7.86104e+01 7.20595e+01 6.55086e+01 5.89578e+01 5.24069e+01 + 4.58560e+01 3.93052e+01 3.27543e+01 2.62035e+01 1.96526e+01 1.31017e+01 + 6.55086e+00 0.00000e+00 + -118.3194 33.9375 8.4990 -33 89 1.00000e+10 3.1372 1.00000e-01 + 180 215.07 20 0.00 0 0.00 0 + 0.00000e+00 3.36043e+02 6.72085e+02 1.34417e+02 1.26016e+02 1.17615e+02 + 1.09214e+02 1.00813e+02 9.24117e+01 8.40106e+01 7.56096e+01 6.72085e+01 + 5.88075e+01 5.04064e+01 4.20053e+01 3.36043e+01 2.52032e+01 1.68021e+01 + 8.40106e+00 0.00000e+00 + -118.3251 33.9450 8.4990 -32 89 1.00000e+10 2.8277 1.00000e-01 + 180 194.71 20 0.00 0 0.00 0 + 0.00000e+00 3.04240e+02 6.08479e+02 1.21696e+02 1.14090e+02 1.06484e+02 + 9.88779e+01 9.12719e+01 8.36659e+01 7.60599e+01 6.84539e+01 6.08479e+01 + 5.32419e+01 4.56359e+01 3.80299e+01 3.04240e+01 2.28180e+01 1.52120e+01 + 7.60599e+00 0.00000e+00 + -118.3325 33.9514 8.4990 -56 89 1.00000e+10 2.5963 1.00000e-01 + 180 106.00 20 0.00 0 0.00 0 + 0.00000e+00 1.65627e+02 3.31253e+02 6.62507e+01 6.21100e+01 5.79694e+01 + 5.38287e+01 4.96880e+01 4.55474e+01 4.14067e+01 3.72660e+01 3.31253e+01 + 2.89847e+01 2.48440e+01 2.07033e+01 1.65627e+01 1.24220e+01 8.28134e+00 + 4.14067e+00 0.00000e+00 + -118.3415 33.9564 8.4990 -56 89 1.00000e+10 2.3537 1.00000e-01 + 180 38.12 20 0.00 0 0.00 0 + 0.00000e+00 5.95682e+01 1.19136e+02 2.38273e+01 2.23381e+01 2.08489e+01 + 1.93597e+01 1.78705e+01 1.63813e+01 1.48921e+01 1.34029e+01 1.19136e+01 + 1.04244e+01 8.93524e+00 7.44603e+00 5.95682e+00 4.46762e+00 2.97841e+00 + 1.48921e+00 0.00000e+00 + -118.3493 33.9621 8.4990 -42 89 1.00000e+10 1.9969 1.00000e-01 + 180 92.57 20 0.00 0 0.00 0 + 0.00000e+00 1.44639e+02 2.89278e+02 5.78556e+01 5.42397e+01 5.06237e+01 + 4.70077e+01 4.33917e+01 3.97757e+01 3.61598e+01 3.25438e+01 2.89278e+01 + 2.53118e+01 2.16959e+01 1.80799e+01 1.44639e+01 1.08479e+01 7.23195e+00 + 3.61598e+00 0.00000e+00 + -118.3539 33.9696 8.4990 -12 89 1.00000e+10 1.6892 1.00000e-01 + 180 123.74 20 0.00 0 0.00 0 + 0.00000e+00 1.93347e+02 3.86693e+02 7.73386e+01 7.25049e+01 6.76713e+01 + 6.28376e+01 5.80040e+01 5.31703e+01 4.83366e+01 4.35030e+01 3.86693e+01 + 3.38356e+01 2.90020e+01 2.41683e+01 1.93347e+01 1.45010e+01 9.66733e+00 + 4.83366e+00 0.00000e+00 + -118.3562 33.9784 8.4990 -12 89 1.00000e+10 1.4381 1.00000e-01 + 180 125.39 20 0.00 0 0.00 0 + 0.00000e+00 1.95925e+02 3.91851e+02 7.83701e+01 7.34720e+01 6.85738e+01 + 6.36757e+01 5.87776e+01 5.38795e+01 4.89813e+01 4.40832e+01 3.91851e+01 + 3.42869e+01 2.93888e+01 2.44907e+01 1.95925e+01 1.46944e+01 9.79626e+00 + 4.89813e+00 0.00000e+00 + -118.3588 33.9871 8.4990 -15 89 1.00000e+10 1.2942 1.00000e-01 + 180 64.93 20 0.00 0 0.00 0 + 0.00000e+00 1.01455e+02 2.02911e+02 4.05821e+01 3.80457e+01 3.55093e+01 + 3.29730e+01 3.04366e+01 2.79002e+01 2.53638e+01 2.28274e+01 2.02911e+01 + 1.77547e+01 1.52183e+01 1.26819e+01 1.01455e+01 7.60914e+00 5.07276e+00 + 2.53638e+00 0.00000e+00 + -118.3623 33.9956 8.4990 -23 89 1.00000e+10 1.1751 1.00000e-01 + 180 44.19 20 0.00 0 0.00 0 + 0.00000e+00 6.90488e+01 1.38098e+02 2.76195e+01 2.58933e+01 2.41671e+01 + 2.24409e+01 2.07146e+01 1.89884e+01 1.72622e+01 1.55360e+01 1.38098e+01 + 1.20835e+01 1.03573e+01 8.63110e+00 6.90488e+00 5.17866e+00 3.45244e+00 + 1.72622e+00 0.00000e+00 + -118.3666 34.0039 8.4990 -24 89 1.00000e+10 1.1089 1.00000e-01 + 180 60.52 20 0.00 0 0.00 0 + 0.00000e+00 9.45587e+01 1.89117e+02 3.78235e+01 3.54595e+01 3.30955e+01 + 3.07316e+01 2.83676e+01 2.60036e+01 2.36397e+01 2.12757e+01 1.89117e+01 + 1.65478e+01 1.41838e+01 1.18198e+01 9.45587e+00 7.09190e+00 4.72794e+00 + 2.36397e+00 0.00000e+00 + -118.3710 34.0121 8.4990 -24 89 1.00000e+10 1.1574 1.00000e-01 + 180 62.00 20 0.00 0 0.00 0 + 0.00000e+00 9.68728e+01 1.93746e+02 3.87491e+01 3.63273e+01 3.39055e+01 + 3.14837e+01 2.90618e+01 2.66400e+01 2.42182e+01 2.17964e+01 1.93746e+01 + 1.69527e+01 1.45309e+01 1.21091e+01 9.68728e+00 7.26546e+00 4.84364e+00 + 2.42182e+00 0.00000e+00 + -118.3755 34.0203 8.4990 -24 89 1.00000e+10 1.3158 1.00000e-01 + 180 43.13 20 0.00 0 0.00 0 + 0.00000e+00 6.73846e+01 1.34769e+02 2.69538e+01 2.52692e+01 2.35846e+01 + 2.19000e+01 2.02154e+01 1.85308e+01 1.68461e+01 1.51615e+01 1.34769e+01 + 1.17923e+01 1.01077e+01 8.42307e+00 6.73846e+00 5.05384e+00 3.36923e+00 + 1.68461e+00 0.00000e+00 + -118.3799 34.0285 8.4990 -24 89 1.00000e+10 1.5413 1.00000e-01 + 180 21.28 20 0.00 0 0.00 0 + 0.00000e+00 3.32569e+01 6.65138e+01 1.33028e+01 1.24713e+01 1.16399e+01 + 1.08085e+01 9.97708e+00 9.14565e+00 8.31423e+00 7.48281e+00 6.65138e+00 + 5.81996e+00 4.98854e+00 4.15712e+00 3.32569e+00 2.49427e+00 1.66285e+00 + 8.31423e-01 0.00000e+00 + -117.3559 33.0611 9.4988 -33 89 1.00000e+10 49.6815 1.00000e-01 + 180 27.21 20 0.00 0 0.00 0 + 0.00000e+00 4.25154e+01 8.50309e+01 1.70062e+01 1.59433e+01 1.48804e+01 + 1.38175e+01 1.27546e+01 1.16917e+01 1.06289e+01 9.56597e+00 8.50309e+00 + 7.44020e+00 6.37731e+00 5.31443e+00 4.25154e+00 3.18866e+00 2.12577e+00 + 1.06289e+00 0.00000e+00 + -117.3617 33.0686 9.4988 -33 89 1.00000e+10 49.3286 1.00000e-01 + 180 32.29 20 0.00 0 0.00 0 + 0.00000e+00 5.04531e+01 1.00906e+02 2.01813e+01 1.89199e+01 1.76586e+01 + 1.63973e+01 1.51359e+01 1.38746e+01 1.26133e+01 1.13520e+01 1.00906e+01 + 8.82930e+00 7.56797e+00 6.30664e+00 5.04531e+00 3.78398e+00 2.52266e+00 + 1.26133e+00 0.00000e+00 + -117.3676 33.0762 9.4988 -33 89 1.00000e+10 48.9762 1.00000e-01 + 180 37.97 20 0.00 0 0.00 0 + 0.00000e+00 5.93246e+01 1.18649e+02 2.37298e+01 2.22467e+01 2.07636e+01 + 1.92805e+01 1.77974e+01 1.63143e+01 1.48311e+01 1.33480e+01 1.18649e+01 + 1.03818e+01 8.89868e+00 7.41557e+00 5.93246e+00 4.44934e+00 2.96623e+00 + 1.48311e+00 0.00000e+00 + -117.3736 33.0836 9.4988 -36 89 1.00000e+10 48.5959 1.00000e-01 + 180 73.25 20 0.00 0 0.00 0 + 0.00000e+00 1.14454e+02 2.28907e+02 4.57814e+01 4.29201e+01 4.00587e+01 + 3.71974e+01 3.43361e+01 3.14747e+01 2.86134e+01 2.57520e+01 2.28907e+01 + 2.00294e+01 1.71680e+01 1.43067e+01 1.14454e+01 8.58401e+00 5.72268e+00 + 2.86134e+00 0.00000e+00 + -117.3811 33.0898 9.4988 -55 89 1.00000e+10 48.2094 1.00000e-01 + 180 110.10 20 0.00 0 0.00 0 + 0.00000e+00 1.72031e+02 3.44062e+02 6.88123e+01 6.45115e+01 6.02108e+01 + 5.59100e+01 5.16092e+01 4.73085e+01 4.30077e+01 3.87069e+01 3.44062e+01 + 3.01054e+01 2.58046e+01 2.15038e+01 1.72031e+01 1.29023e+01 8.60154e+00 + 4.30077e+00 0.00000e+00 + -117.3899 33.0950 9.4988 -55 89 1.00000e+10 47.8563 1.00000e-01 + 180 115.12 20 0.00 0 0.00 0 + 0.00000e+00 1.79876e+02 3.59752e+02 7.19504e+01 6.74535e+01 6.29566e+01 + 5.84597e+01 5.39628e+01 4.94659e+01 4.49690e+01 4.04721e+01 3.59752e+01 + 3.14783e+01 2.69814e+01 2.24845e+01 1.79876e+01 1.34907e+01 8.99380e+00 + 4.49690e+00 0.00000e+00 + -117.3983 33.1005 9.4988 -48 89 1.00000e+10 47.5049 1.00000e-01 + 180 120.45 20 0.00 0 0.00 0 + 0.00000e+00 1.88204e+02 3.76409e+02 7.52817e+01 7.05766e+01 6.58715e+01 + 6.11664e+01 5.64613e+01 5.17562e+01 4.70511e+01 4.23460e+01 3.76409e+01 + 3.29358e+01 2.82306e+01 2.35255e+01 1.88204e+01 1.41153e+01 9.41022e+00 + 4.70511e+00 0.00000e+00 + -117.4063 33.1066 9.4988 -47 89 1.00000e+10 47.1926 1.00000e-01 + 180 88.30 20 0.00 0 0.00 0 + 0.00000e+00 1.37966e+02 2.75932e+02 5.51863e+01 5.17372e+01 4.82880e+01 + 4.48389e+01 4.13898e+01 3.79406e+01 3.44915e+01 3.10423e+01 2.75932e+01 + 2.41440e+01 2.06949e+01 1.72457e+01 1.37966e+01 1.03474e+01 6.89829e+00 + 3.44915e+00 0.00000e+00 + -117.4134 33.1133 9.4988 -36 89 1.00000e+10 46.8908 1.00000e-01 + 180 42.28 20 0.00 0 0.00 0 + 0.00000e+00 6.60656e+01 1.32131e+02 2.64262e+01 2.47746e+01 2.31230e+01 + 2.14713e+01 1.98197e+01 1.81680e+01 1.65164e+01 1.48648e+01 1.32131e+01 + 1.15615e+01 9.90984e+00 8.25820e+00 6.60656e+00 4.95492e+00 3.30328e+00 + 1.65164e+00 0.00000e+00 + -117.4194 33.1206 9.4988 -33 89 1.00000e+10 46.5823 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4230 33.1288 9.4988 -8 89 1.00000e+10 46.2348 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4246 33.1377 9.4988 -8 89 1.00000e+10 45.8901 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4261 33.1467 9.4988 -8 89 1.00000e+10 45.5433 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4286 33.1552 9.4988 -20 89 1.00000e+10 45.1948 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4337 33.1628 9.4988 -39 89 1.00000e+10 44.8498 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4404 33.1698 9.4988 -39 89 1.00000e+10 44.4988 1.00000e-01 + 180 0.09 20 0.00 0 0.00 0 + 0.00000e+00 1.37520e-01 2.75039e-01 5.50079e-02 5.15699e-02 4.81319e-02 + 4.46939e-02 4.12559e-02 3.78179e-02 3.43799e-02 3.09419e-02 2.75039e-02 + 2.40659e-02 2.06279e-02 1.71900e-02 1.37520e-02 1.03140e-02 6.87598e-03 + 3.43799e-03 0.00000e+00 + -117.4472 33.1769 9.4988 -39 89 1.00000e+10 44.1520 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4539 33.1839 9.4988 -39 89 1.00000e+10 43.7643 1.00000e-01 + 180 40.56 20 0.00 0 0.00 0 + 0.00000e+00 6.33728e+01 1.26746e+02 2.53491e+01 2.37648e+01 2.21805e+01 + 2.05962e+01 1.90118e+01 1.74275e+01 1.58432e+01 1.42589e+01 1.26746e+01 + 1.10902e+01 9.50592e+00 7.92160e+00 6.33728e+00 4.75296e+00 3.16864e+00 + 1.58432e+00 0.00000e+00 + -117.4606 33.1909 9.4988 -39 89 1.00000e+10 43.3771 1.00000e-01 + 180 84.84 20 0.00 0 0.00 0 + 0.00000e+00 1.32560e+02 2.65119e+02 5.30239e+01 4.97099e+01 4.63959e+01 + 4.30819e+01 3.97679e+01 3.64539e+01 3.31399e+01 2.98259e+01 2.65119e+01 + 2.31979e+01 1.98840e+01 1.65700e+01 1.32560e+01 9.94198e+00 6.62798e+00 + 3.31399e+00 0.00000e+00 + -117.4673 33.1979 9.4988 -39 89 1.00000e+10 42.9438 1.00000e-01 + 180 167.01 20 0.00 0 0.00 0 + 0.00000e+00 2.60958e+02 5.21916e+02 1.04383e+02 9.78592e+01 9.13353e+01 + 8.48113e+01 7.82874e+01 7.17634e+01 6.52395e+01 5.87155e+01 5.21916e+01 + 4.56676e+01 3.91437e+01 3.26197e+01 2.60958e+01 1.95718e+01 1.30479e+01 + 6.52395e+00 0.00000e+00 + -117.4741 33.2049 9.4988 -39 89 1.00000e+10 42.4934 1.00000e-01 + 180 275.27 20 0.00 0 0.00 0 + 0.00000e+00 4.30115e+02 8.60230e+02 1.72046e+02 1.61293e+02 1.50540e+02 + 1.39787e+02 1.29035e+02 1.18282e+02 1.07529e+02 9.67759e+01 8.60230e+01 + 7.52701e+01 6.45173e+01 5.37644e+01 4.30115e+01 3.22586e+01 2.15057e+01 + 1.07529e+01 0.00000e+00 + -117.4808 33.2120 9.4988 -39 89 1.00000e+10 42.0419 1.00000e-01 + 180 377.06 20 0.00 0 0.00 0 + 0.00000e+00 5.89156e+02 1.17831e+03 2.35662e+02 2.20933e+02 2.06204e+02 + 1.91476e+02 1.76747e+02 1.62018e+02 1.47289e+02 1.32560e+02 1.17831e+02 + 1.03102e+02 8.83733e+01 7.36445e+01 5.89156e+01 4.41867e+01 2.94578e+01 + 1.47289e+01 0.00000e+00 + -117.4883 33.2183 9.4988 -51 89 1.00000e+10 41.7530 1.00000e-01 + 180 319.78 20 0.00 0 0.00 0 + 0.00000e+00 4.99657e+02 9.99314e+02 1.99863e+02 1.87371e+02 1.74880e+02 + 1.62389e+02 1.49897e+02 1.37406e+02 1.24914e+02 1.12423e+02 9.99314e+01 + 8.74400e+01 7.49486e+01 6.24572e+01 4.99657e+01 3.74743e+01 2.49829e+01 + 1.24914e+01 0.00000e+00 + -117.4969 33.2236 9.4988 -55 89 1.00000e+10 41.4418 1.00000e-01 + 180 286.18 20 0.00 0 0.00 0 + 0.00000e+00 4.47162e+02 8.94324e+02 1.78865e+02 1.67686e+02 1.56507e+02 + 1.45328e+02 1.34149e+02 1.22970e+02 1.11791e+02 1.00611e+02 8.94324e+01 + 7.82534e+01 6.70743e+01 5.58953e+01 4.47162e+01 3.35372e+01 2.23581e+01 + 1.11791e+01 0.00000e+00 + -117.5058 33.2288 9.4988 -55 89 1.00000e+10 41.1259 1.00000e-01 + 180 254.80 20 0.00 0 0.00 0 + 0.00000e+00 3.98131e+02 7.96263e+02 1.59253e+02 1.49299e+02 1.39346e+02 + 1.29393e+02 1.19439e+02 1.09486e+02 9.95328e+01 8.95795e+01 7.96263e+01 + 6.96730e+01 5.97197e+01 4.97664e+01 3.98131e+01 2.98598e+01 1.99066e+01 + 9.95328e+00 0.00000e+00 + -117.5146 33.2339 9.4988 -55 89 1.00000e+10 40.7483 1.00000e-01 + 180 280.22 20 0.00 0 0.00 0 + 0.00000e+00 4.37838e+02 8.75676e+02 1.75135e+02 1.64189e+02 1.53243e+02 + 1.42297e+02 1.31351e+02 1.20405e+02 1.09460e+02 9.85136e+01 8.75676e+01 + 7.66217e+01 6.56757e+01 5.47298e+01 4.37838e+01 3.28379e+01 2.18919e+01 + 1.09460e+01 0.00000e+00 + -117.5234 33.2391 9.4988 -55 89 1.00000e+10 40.3819 1.00000e-01 + 180 303.79 20 0.00 0 0.00 0 + 0.00000e+00 4.74676e+02 9.49352e+02 1.89870e+02 1.78003e+02 1.66137e+02 + 1.54270e+02 1.42403e+02 1.30536e+02 1.18669e+02 1.06802e+02 9.49352e+01 + 8.30683e+01 7.12014e+01 5.93345e+01 4.74676e+01 3.56007e+01 2.37338e+01 + 1.18669e+01 0.00000e+00 + -117.5322 33.2442 9.4988 -55 89 1.00000e+10 40.0782 1.00000e-01 + 180 259.19 20 0.00 0 0.00 0 + 0.00000e+00 4.04985e+02 8.09970e+02 1.61994e+02 1.51869e+02 1.41745e+02 + 1.31620e+02 1.21495e+02 1.11371e+02 1.01246e+02 9.11216e+01 8.09970e+01 + 7.08724e+01 6.07477e+01 5.06231e+01 4.04985e+01 3.03739e+01 2.02492e+01 + 1.01246e+01 0.00000e+00 + -117.5411 33.2494 9.4988 -55 89 1.00000e+10 39.7023 1.00000e-01 + 180 290.06 20 0.00 0 0.00 0 + 0.00000e+00 4.53226e+02 9.06453e+02 1.81291e+02 1.69960e+02 1.58629e+02 + 1.47299e+02 1.35968e+02 1.24637e+02 1.13307e+02 1.01976e+02 9.06453e+01 + 7.93146e+01 6.79840e+01 5.66533e+01 4.53226e+01 3.39920e+01 2.26613e+01 + 1.13307e+01 0.00000e+00 + -117.5489 33.2554 9.4988 -39 89 1.00000e+10 39.2628 1.00000e-01 + 180 381.32 20 0.00 0 0.00 0 + 0.00000e+00 5.95808e+02 1.19162e+03 2.38323e+02 2.23428e+02 2.08533e+02 + 1.93638e+02 1.78742e+02 1.63847e+02 1.48952e+02 1.34057e+02 1.19162e+02 + 1.04266e+02 8.93712e+01 7.44760e+01 5.95808e+01 4.46856e+01 2.97904e+01 + 1.48952e+01 0.00000e+00 + -117.5555 33.2625 9.4988 -38 89 1.00000e+10 38.9095 1.00000e-01 + 180 388.80 20 0.00 0 0.00 0 + 0.00000e+00 6.07498e+02 1.21500e+03 2.42999e+02 2.27812e+02 2.12624e+02 + 1.97437e+02 1.82249e+02 1.67062e+02 1.51874e+02 1.36687e+02 1.21500e+02 + 1.06312e+02 9.11246e+01 7.59372e+01 6.07498e+01 4.55623e+01 3.03749e+01 + 1.51874e+01 0.00000e+00 + -117.5622 33.2696 9.4988 -38 89 1.00000e+10 38.6392 1.00000e-01 + 180 309.60 20 0.00 0 0.00 0 + 0.00000e+00 4.83758e+02 9.67515e+02 1.93503e+02 1.81409e+02 1.69315e+02 + 1.57221e+02 1.45127e+02 1.33033e+02 1.20939e+02 1.08845e+02 9.67515e+01 + 8.46576e+01 7.25636e+01 6.04697e+01 4.83758e+01 3.62818e+01 2.41879e+01 + 1.20939e+01 0.00000e+00 + -117.5688 33.2767 9.4988 -38 89 1.00000e+10 38.4151 1.00000e-01 + 180 187.63 20 0.00 0 0.00 0 + 0.00000e+00 2.93178e+02 5.86357e+02 1.17271e+02 1.09942e+02 1.02612e+02 + 9.52830e+01 8.79535e+01 8.06240e+01 7.32946e+01 6.59651e+01 5.86357e+01 + 5.13062e+01 4.39767e+01 3.66473e+01 2.93178e+01 2.19884e+01 1.46589e+01 + 7.32946e+00 0.00000e+00 + -117.5754 33.2838 9.4988 -38 89 1.00000e+10 38.0887 1.00000e-01 + 180 160.84 20 0.00 0 0.00 0 + 0.00000e+00 2.51319e+02 5.02638e+02 1.00528e+02 9.42445e+01 8.79616e+01 + 8.16786e+01 7.53956e+01 6.91127e+01 6.28297e+01 5.65467e+01 5.02638e+01 + 4.39808e+01 3.76978e+01 3.14148e+01 2.51319e+01 1.88489e+01 1.25659e+01 + 6.28297e+00 0.00000e+00 + -117.5820 33.2909 9.4988 -38 89 1.00000e+10 37.7723 1.00000e-01 + 180 134.16 20 0.00 0 0.00 0 + 0.00000e+00 2.09631e+02 4.19262e+02 8.38524e+01 7.86117e+01 7.33709e+01 + 6.81301e+01 6.28893e+01 5.76485e+01 5.24078e+01 4.71670e+01 4.19262e+01 + 3.66854e+01 3.14447e+01 2.62039e+01 2.09631e+01 1.57223e+01 1.04816e+01 + 5.24078e+00 0.00000e+00 + -117.5886 33.2980 9.4988 -38 89 1.00000e+10 37.4743 1.00000e-01 + 180 82.02 20 0.00 0 0.00 0 + 0.00000e+00 1.28150e+02 2.56301e+02 5.12601e+01 4.80564e+01 4.48526e+01 + 4.16489e+01 3.84451e+01 3.52413e+01 3.20376e+01 2.88338e+01 2.56301e+01 + 2.24263e+01 1.92225e+01 1.60188e+01 1.28150e+01 9.61127e+00 6.40752e+00 + 3.20376e+00 0.00000e+00 + -117.5952 33.3051 9.4988 -38 89 1.00000e+10 37.2054 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6019 33.3122 9.4988 -38 89 1.00000e+10 36.8602 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6085 33.3193 9.4988 -38 89 1.00000e+10 36.5150 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6151 33.3263 9.4988 -38 89 1.00000e+10 36.1703 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6217 33.3334 9.4988 -38 89 1.00000e+10 35.8169 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6284 33.3405 9.4988 -38 89 1.00000e+10 35.4744 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6350 33.3476 9.4988 -38 89 1.00000e+10 35.1244 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6416 33.3547 9.4988 -38 89 1.00000e+10 34.7530 1.00000e-01 + 180 23.86 20 0.00 0 0.00 0 + 0.00000e+00 3.72763e+01 7.45527e+01 1.49105e+01 1.39786e+01 1.30467e+01 + 1.21148e+01 1.11829e+01 1.02510e+01 9.31908e+00 8.38717e+00 7.45527e+00 + 6.52336e+00 5.59145e+00 4.65954e+00 3.72763e+00 2.79572e+00 1.86382e+00 + 9.31908e-01 0.00000e+00 + -117.6482 33.3618 9.4988 -38 89 1.00000e+10 34.3600 1.00000e-01 + 180 72.10 20 0.00 0 0.00 0 + 0.00000e+00 1.12658e+02 2.25315e+02 4.50630e+01 4.22466e+01 3.94301e+01 + 3.66137e+01 3.37973e+01 3.09808e+01 2.81644e+01 2.53479e+01 2.25315e+01 + 1.97151e+01 1.68986e+01 1.40822e+01 1.12658e+01 8.44932e+00 5.63288e+00 + 2.81644e+00 0.00000e+00 + -117.6549 33.3689 9.4988 -38 89 1.00000e+10 33.9093 1.00000e-01 + 180 173.21 20 0.00 0 0.00 0 + 0.00000e+00 2.70638e+02 5.41276e+02 1.08255e+02 1.01489e+02 9.47232e+01 + 8.79573e+01 8.11913e+01 7.44254e+01 6.76595e+01 6.08935e+01 5.41276e+01 + 4.73616e+01 4.05957e+01 3.38297e+01 2.70638e+01 2.02978e+01 1.35319e+01 + 6.76595e+00 0.00000e+00 + -117.6615 33.3760 9.4988 -38 89 1.00000e+10 33.5348 1.00000e-01 + 180 200.84 20 0.00 0 0.00 0 + 0.00000e+00 3.13807e+02 6.27614e+02 1.25523e+02 1.17678e+02 1.09832e+02 + 1.01987e+02 9.41420e+01 8.62969e+01 7.84517e+01 7.06065e+01 6.27614e+01 + 5.49162e+01 4.70710e+01 3.92258e+01 3.13807e+01 2.35355e+01 1.56903e+01 + 7.84517e+00 0.00000e+00 + -117.6681 33.3831 9.4988 -38 89 1.00000e+10 33.1612 1.00000e-01 + 180 231.24 20 0.00 0 0.00 0 + 0.00000e+00 3.61318e+02 7.22636e+02 1.44527e+02 1.35494e+02 1.26461e+02 + 1.17428e+02 1.08395e+02 9.93624e+01 9.03294e+01 8.12965e+01 7.22636e+01 + 6.32306e+01 5.41977e+01 4.51647e+01 3.61318e+01 2.70988e+01 1.80659e+01 + 9.03294e+00 0.00000e+00 + -117.6748 33.3902 9.4988 -38 89 1.00000e+10 32.8110 1.00000e-01 + 180 234.38 20 0.00 0 0.00 0 + 0.00000e+00 3.66222e+02 7.32443e+02 1.46489e+02 1.37333e+02 1.28178e+02 + 1.19022e+02 1.09867e+02 1.00711e+02 9.15554e+01 8.23999e+01 7.32443e+01 + 6.40888e+01 5.49333e+01 4.57777e+01 3.66222e+01 2.74666e+01 1.83111e+01 + 9.15554e+00 0.00000e+00 + -117.6814 33.3973 9.4988 -38 89 1.00000e+10 32.4664 1.00000e-01 + 180 229.27 20 0.00 0 0.00 0 + 0.00000e+00 3.58231e+02 7.16463e+02 1.43293e+02 1.34337e+02 1.25381e+02 + 1.16425e+02 1.07469e+02 9.85136e+01 8.95578e+01 8.06021e+01 7.16463e+01 + 6.26905e+01 5.37347e+01 4.47789e+01 3.58231e+01 2.68674e+01 1.79116e+01 + 8.95578e+00 0.00000e+00 + -117.6882 33.4043 9.4988 -40 89 1.00000e+10 32.1432 1.00000e-01 + 180 207.31 20 0.00 0 0.00 0 + 0.00000e+00 3.23919e+02 6.47839e+02 1.29568e+02 1.21470e+02 1.13372e+02 + 1.05274e+02 9.71758e+01 8.90778e+01 8.09798e+01 7.28818e+01 6.47839e+01 + 5.66859e+01 4.85879e+01 4.04899e+01 3.23919e+01 2.42939e+01 1.61960e+01 + 8.09798e+00 0.00000e+00 + -117.6952 33.4111 9.4988 -41 89 1.00000e+10 31.8192 1.00000e-01 + 180 184.61 20 0.00 0 0.00 0 + 0.00000e+00 2.88457e+02 5.76915e+02 1.15383e+02 1.08171e+02 1.00960e+02 + 9.37486e+01 8.65372e+01 7.93258e+01 7.21143e+01 6.49029e+01 5.76915e+01 + 5.04800e+01 4.32686e+01 3.60572e+01 2.88457e+01 2.16343e+01 1.44229e+01 + 7.21143e+00 0.00000e+00 + -117.7023 33.4179 9.4988 -41 89 1.00000e+10 31.4469 1.00000e-01 + 180 209.61 20 0.00 0 0.00 0 + 0.00000e+00 3.27515e+02 6.55030e+02 1.31006e+02 1.22818e+02 1.14630e+02 + 1.06442e+02 9.82545e+01 9.00666e+01 8.18787e+01 7.36908e+01 6.55030e+01 + 5.73151e+01 4.91272e+01 4.09394e+01 3.27515e+01 2.45636e+01 1.63757e+01 + 8.18787e+00 0.00000e+00 + -117.7094 33.4247 9.4988 -41 89 1.00000e+10 31.1264 1.00000e-01 + 180 181.98 20 0.00 0 0.00 0 + 0.00000e+00 2.84340e+02 5.68680e+02 1.13736e+02 1.06628e+02 9.95190e+01 + 9.24105e+01 8.53020e+01 7.81935e+01 7.10850e+01 6.39765e+01 5.68680e+01 + 4.97595e+01 4.26510e+01 3.55425e+01 2.84340e+01 2.13255e+01 1.42170e+01 + 7.10850e+00 0.00000e+00 + -117.7165 33.4315 9.4988 -41 89 1.00000e+10 30.7791 1.00000e-01 + 180 181.65 20 0.00 0 0.00 0 + 0.00000e+00 2.83836e+02 5.67672e+02 1.13534e+02 1.06438e+02 9.93425e+01 + 9.22467e+01 8.51508e+01 7.80549e+01 7.09590e+01 6.38631e+01 5.67672e+01 + 4.96713e+01 4.25754e+01 3.54795e+01 2.83836e+01 2.12877e+01 1.41918e+01 + 7.09590e+00 0.00000e+00 + -117.7236 33.4382 9.4988 -41 89 1.00000e+10 30.2738 1.00000e-01 + 180 341.60 20 0.00 0 0.00 0 + 0.00000e+00 5.33757e+02 1.06751e+03 2.13503e+02 2.00159e+02 1.86815e+02 + 1.73471e+02 1.60127e+02 1.46783e+02 1.33439e+02 1.20095e+02 1.06751e+02 + 9.34075e+01 8.00636e+01 6.67197e+01 5.33757e+01 4.00318e+01 2.66879e+01 + 1.33439e+01 0.00000e+00 + -117.7307 33.4450 9.4988 -41 89 1.00000e+10 29.8642 1.00000e-01 + 180 406.30 20 0.00 0 0.00 0 + 0.00000e+00 6.34848e+02 1.26970e+03 2.53939e+02 2.38068e+02 2.22197e+02 + 2.06326e+02 1.90454e+02 1.74583e+02 1.58712e+02 1.42841e+02 1.26970e+02 + 1.11098e+02 9.52272e+01 7.93560e+01 6.34848e+01 4.76136e+01 3.17424e+01 + 1.58712e+01 0.00000e+00 + -117.7378 33.4518 9.4988 -41 89 1.00000e+10 29.4769 1.00000e-01 + 180 445.02 20 0.00 0 0.00 0 + 0.00000e+00 6.95348e+02 1.39070e+03 2.78139e+02 2.60755e+02 2.43372e+02 + 2.25988e+02 2.08604e+02 1.91221e+02 1.73837e+02 1.56453e+02 1.39070e+02 + 1.21686e+02 1.04302e+02 8.69185e+01 6.95348e+01 5.21511e+01 3.47674e+01 + 1.73837e+01 0.00000e+00 + -117.7449 33.4586 9.4988 -41 89 1.00000e+10 29.1387 1.00000e-01 + 180 436.68 20 0.00 0 0.00 0 + 0.00000e+00 6.82309e+02 1.36462e+03 2.72923e+02 2.55866e+02 2.38808e+02 + 2.21750e+02 2.04693e+02 1.87635e+02 1.70577e+02 1.53519e+02 1.36462e+02 + 1.19404e+02 1.02346e+02 8.52886e+01 6.82309e+01 5.11731e+01 3.41154e+01 + 1.70577e+01 0.00000e+00 + -117.7520 33.4653 9.4988 -41 89 1.00000e+10 28.7625 1.00000e-01 + 180 464.67 20 0.00 0 0.00 0 + 0.00000e+00 7.26052e+02 1.45210e+03 2.90421e+02 2.72270e+02 2.54118e+02 + 2.35967e+02 2.17816e+02 1.99664e+02 1.81513e+02 1.63362e+02 1.45210e+02 + 1.27059e+02 1.08908e+02 9.07566e+01 7.26052e+01 5.44539e+01 3.63026e+01 + 1.81513e+01 0.00000e+00 + -117.7591 33.4721 9.4988 -41 89 1.00000e+10 28.4311 1.00000e-01 + 180 451.08 20 0.00 0 0.00 0 + 0.00000e+00 7.04808e+02 1.40962e+03 2.81923e+02 2.64303e+02 2.46683e+02 + 2.29063e+02 2.11442e+02 1.93822e+02 1.76202e+02 1.58582e+02 1.40962e+02 + 1.23341e+02 1.05721e+02 8.81010e+01 7.04808e+01 5.28606e+01 3.52404e+01 + 1.76202e+01 0.00000e+00 + -117.7662 33.4789 9.4988 -41 89 1.00000e+10 28.1038 1.00000e-01 + 180 428.15 20 0.00 0 0.00 0 + 0.00000e+00 6.68987e+02 1.33797e+03 2.67595e+02 2.50870e+02 2.34145e+02 + 2.17421e+02 2.00696e+02 1.83971e+02 1.67247e+02 1.50522e+02 1.33797e+02 + 1.17073e+02 1.00348e+02 8.36234e+01 6.68987e+01 5.01740e+01 3.34494e+01 + 1.67247e+01 0.00000e+00 + -117.7733 33.4857 9.4988 -41 89 1.00000e+10 27.7360 1.00000e-01 + 180 450.87 20 0.00 0 0.00 0 + 0.00000e+00 7.04485e+02 1.40897e+03 2.81794e+02 2.64182e+02 2.46570e+02 + 2.28958e+02 2.11345e+02 1.93733e+02 1.76121e+02 1.58509e+02 1.40897e+02 + 1.23285e+02 1.05673e+02 8.80606e+01 7.04485e+01 5.28364e+01 3.52242e+01 + 1.76121e+01 0.00000e+00 + -117.7804 33.4924 9.4988 -41 89 1.00000e+10 27.4521 1.00000e-01 + 180 385.40 20 0.00 0 0.00 0 + 0.00000e+00 6.02194e+02 1.20439e+03 2.40878e+02 2.25823e+02 2.10768e+02 + 1.95713e+02 1.80658e+02 1.65603e+02 1.50549e+02 1.35494e+02 1.20439e+02 + 1.05384e+02 9.03291e+01 7.52743e+01 6.02194e+01 4.51646e+01 3.01097e+01 + 1.50549e+01 0.00000e+00 + -117.7875 33.4992 9.4988 -41 89 1.00000e+10 27.1288 1.00000e-01 + 180 361.38 20 0.00 0 0.00 0 + 0.00000e+00 5.64661e+02 1.12932e+03 2.25864e+02 2.11748e+02 1.97631e+02 + 1.83515e+02 1.69398e+02 1.55282e+02 1.41165e+02 1.27049e+02 1.12932e+02 + 9.88157e+01 8.46991e+01 7.05826e+01 5.64661e+01 4.23496e+01 2.82330e+01 + 1.41165e+01 0.00000e+00 + -117.7946 33.5060 9.4988 -42 89 1.00000e+10 26.8508 1.00000e-01 + 180 290.01 20 0.00 0 0.00 0 + 0.00000e+00 4.53142e+02 9.06283e+02 1.81257e+02 1.69928e+02 1.58600e+02 + 1.47271e+02 1.35943e+02 1.24614e+02 1.13285e+02 1.01957e+02 9.06283e+01 + 7.92998e+01 6.79713e+01 5.66427e+01 4.53142e+01 3.39856e+01 2.26571e+01 + 1.13285e+01 0.00000e+00 + -117.8023 33.5122 9.4988 -49 89 1.00000e+10 26.5618 1.00000e-01 + 180 232.82 20 0.00 0 0.00 0 + 0.00000e+00 3.63787e+02 7.27574e+02 1.45515e+02 1.36420e+02 1.27325e+02 + 1.18231e+02 1.09136e+02 1.00041e+02 9.09467e+01 8.18520e+01 7.27574e+01 + 6.36627e+01 5.45680e+01 4.54733e+01 3.63787e+01 2.72840e+01 1.81893e+01 + 9.09467e+00 0.00000e+00 + -117.8105 33.5181 9.4988 -49 89 1.00000e+10 26.1165 1.00000e-01 + 180 333.14 20 0.00 0 0.00 0 + 0.00000e+00 5.20527e+02 1.04105e+03 2.08211e+02 1.95198e+02 1.82185e+02 + 1.69171e+02 1.56158e+02 1.43145e+02 1.30132e+02 1.17119e+02 1.04105e+02 + 9.10923e+01 7.80791e+01 6.50659e+01 5.20527e+01 3.90396e+01 2.60264e+01 + 1.30132e+01 0.00000e+00 + -117.8187 33.5240 9.4988 -49 89 1.00000e+10 25.7372 1.00000e-01 + 180 367.58 20 0.00 0 0.00 0 + 0.00000e+00 5.74343e+02 1.14869e+03 2.29737e+02 2.15378e+02 2.01020e+02 + 1.86661e+02 1.72303e+02 1.57944e+02 1.43586e+02 1.29227e+02 1.14869e+02 + 1.00510e+02 8.61514e+01 7.17928e+01 5.74343e+01 4.30757e+01 2.87171e+01 + 1.43586e+01 0.00000e+00 + -117.8269 33.5299 9.4988 -49 89 1.00000e+10 25.4574 1.00000e-01 + 180 296.45 20 0.00 0 0.00 0 + 0.00000e+00 4.63203e+02 9.26407e+02 1.85281e+02 1.73701e+02 1.62121e+02 + 1.50541e+02 1.38961e+02 1.27381e+02 1.15801e+02 1.04221e+02 9.26407e+01 + 8.10606e+01 6.94805e+01 5.79004e+01 4.63203e+01 3.47403e+01 2.31602e+01 + 1.15801e+01 0.00000e+00 + -117.8350 33.5357 9.4988 -49 89 1.00000e+10 25.1660 1.00000e-01 + 180 239.68 20 0.00 0 0.00 0 + 0.00000e+00 3.74503e+02 7.49006e+02 1.49801e+02 1.40439e+02 1.31076e+02 + 1.21713e+02 1.12351e+02 1.02988e+02 9.36257e+01 8.42632e+01 7.49006e+01 + 6.55380e+01 5.61754e+01 4.68129e+01 3.74503e+01 2.80877e+01 1.87251e+01 + 9.36257e+00 0.00000e+00 + -117.8432 33.5416 9.4988 -49 89 1.00000e+10 24.8946 1.00000e-01 + 180 165.83 20 0.00 0 0.00 0 + 0.00000e+00 2.59112e+02 5.18225e+02 1.03645e+02 9.71671e+01 9.06893e+01 + 8.42115e+01 7.77337e+01 7.12559e+01 6.47781e+01 5.83003e+01 5.18225e+01 + 4.53447e+01 3.88669e+01 3.23890e+01 2.59112e+01 1.94334e+01 1.29556e+01 + 6.47781e+00 0.00000e+00 + -117.8514 33.5475 9.4988 -49 89 1.00000e+10 24.6182 1.00000e-01 + 180 89.32 20 0.00 0 0.00 0 + 0.00000e+00 1.39561e+02 2.79121e+02 5.58243e+01 5.23352e+01 4.88462e+01 + 4.53572e+01 4.18682e+01 3.83792e+01 3.48902e+01 3.14011e+01 2.79121e+01 + 2.44231e+01 2.09341e+01 1.74451e+01 1.39561e+01 1.04670e+01 6.97803e+00 + 3.48902e+00 0.00000e+00 + -117.8596 33.5533 9.4988 -49 89 1.00000e+10 24.2678 1.00000e-01 + 180 97.98 20 0.00 0 0.00 0 + 0.00000e+00 1.53093e+02 3.06187e+02 6.12374e+01 5.74100e+01 5.35827e+01 + 4.97554e+01 4.59280e+01 4.21007e+01 3.82734e+01 3.44460e+01 3.06187e+01 + 2.67913e+01 2.29640e+01 1.91367e+01 1.53093e+01 1.14820e+01 7.65467e+00 + 3.82734e+00 0.00000e+00 + -117.8678 33.5592 9.4988 -49 89 1.00000e+10 23.9430 1.00000e-01 + 180 75.17 20 0.00 0 0.00 0 + 0.00000e+00 1.17446e+02 2.34891e+02 4.69783e+01 4.40421e+01 4.11060e+01 + 3.81699e+01 3.52337e+01 3.22976e+01 2.93614e+01 2.64253e+01 2.34891e+01 + 2.05530e+01 1.76169e+01 1.46807e+01 1.17446e+01 8.80843e+00 5.87229e+00 + 2.93614e+00 0.00000e+00 + -117.8760 33.5651 9.4988 -49 89 1.00000e+10 23.6025 1.00000e-01 + 180 64.52 20 0.00 0 0.00 0 + 0.00000e+00 1.00819e+02 2.01638e+02 4.03277e+01 3.78072e+01 3.52867e+01 + 3.27662e+01 3.02458e+01 2.77253e+01 2.52048e+01 2.26843e+01 2.01638e+01 + 1.76434e+01 1.51229e+01 1.26024e+01 1.00819e+01 7.56144e+00 5.04096e+00 + 2.52048e+00 0.00000e+00 + -117.8842 33.5710 9.4988 -49 89 1.00000e+10 23.2450 1.00000e-01 + 180 78.10 20 0.00 0 0.00 0 + 0.00000e+00 1.22030e+02 2.44060e+02 4.88121e+01 4.57613e+01 4.27106e+01 + 3.96598e+01 3.66091e+01 3.35583e+01 3.05075e+01 2.74568e+01 2.44060e+01 + 2.13553e+01 1.83045e+01 1.52538e+01 1.22030e+01 9.15226e+00 6.10151e+00 + 3.05076e+00 0.00000e+00 + -117.8923 33.5768 9.4988 -49 89 1.00000e+10 22.9125 1.00000e-01 + 180 64.76 20 0.00 0 0.00 0 + 0.00000e+00 1.01193e+02 2.02387e+02 4.04774e+01 3.79476e+01 3.54177e+01 + 3.28879e+01 3.03580e+01 2.78282e+01 2.52984e+01 2.27685e+01 2.02387e+01 + 1.77089e+01 1.51790e+01 1.26492e+01 1.01193e+01 7.58951e+00 5.05967e+00 + 2.52984e+00 0.00000e+00 + -117.9005 33.5827 9.4988 -49 89 1.00000e+10 22.5432 1.00000e-01 + 180 83.81 20 0.00 0 0.00 0 + 0.00000e+00 1.30959e+02 2.61918e+02 5.23835e+01 4.91095e+01 4.58356e+01 + 4.25616e+01 3.92876e+01 3.60137e+01 3.27397e+01 2.94657e+01 2.61918e+01 + 2.29178e+01 1.96438e+01 1.63698e+01 1.30959e+01 9.82191e+00 6.54794e+00 + 3.27397e+00 0.00000e+00 + -117.9087 33.5886 9.4988 -49 89 1.00000e+10 22.1565 1.00000e-01 + 180 121.49 20 0.00 0 0.00 0 + 0.00000e+00 1.89825e+02 3.79651e+02 7.59301e+01 7.11845e+01 6.64389e+01 + 6.16932e+01 5.69476e+01 5.22020e+01 4.74563e+01 4.27107e+01 3.79651e+01 + 3.32194e+01 2.84738e+01 2.37282e+01 1.89825e+01 1.42369e+01 9.49126e+00 + 4.74563e+00 0.00000e+00 + -117.9161 33.5951 9.4988 -37 89 1.00000e+10 21.7766 1.00000e-01 + 180 158.26 20 0.00 0 0.00 0 + 0.00000e+00 2.47277e+02 4.94554e+02 9.89108e+01 9.27288e+01 8.65469e+01 + 8.03650e+01 7.41831e+01 6.80011e+01 6.18192e+01 5.56373e+01 4.94554e+01 + 4.32735e+01 3.70915e+01 3.09096e+01 2.47277e+01 1.85458e+01 1.23638e+01 + 6.18192e+00 0.00000e+00 + -117.9226 33.6022 9.4988 -37 89 1.00000e+10 21.3222 1.00000e-01 + 180 265.57 20 0.00 0 0.00 0 + 0.00000e+00 4.14946e+02 8.29891e+02 1.65978e+02 1.55605e+02 1.45231e+02 + 1.34857e+02 1.24484e+02 1.14110e+02 1.03736e+02 9.33628e+01 8.29891e+01 + 7.26155e+01 6.22418e+01 5.18682e+01 4.14946e+01 3.11209e+01 2.07473e+01 + 1.03736e+01 0.00000e+00 + -117.9291 33.6095 9.4988 -37 89 1.00000e+10 20.9435 1.00000e-01 + 180 293.76 20 0.00 0 0.00 0 + 0.00000e+00 4.58992e+02 9.17985e+02 1.83597e+02 1.72122e+02 1.60647e+02 + 1.49173e+02 1.37698e+02 1.26223e+02 1.14748e+02 1.03273e+02 9.17985e+01 + 8.03237e+01 6.88489e+01 5.73741e+01 4.58992e+01 3.44244e+01 2.29496e+01 + 1.14748e+01 0.00000e+00 + -117.9357 33.6166 9.4988 -38 89 1.00000e+10 20.6019 1.00000e-01 + 180 289.93 20 0.00 0 0.00 0 + 0.00000e+00 4.53018e+02 9.06036e+02 1.81207e+02 1.69882e+02 1.58556e+02 + 1.47231e+02 1.35905e+02 1.24580e+02 1.13254e+02 1.01929e+02 9.06036e+01 + 7.92781e+01 6.79527e+01 5.66272e+01 4.53018e+01 3.39763e+01 2.26509e+01 + 1.13254e+01 0.00000e+00 + -117.9424 33.6236 9.4988 -39 89 1.00000e+10 20.3414 1.00000e-01 + 180 204.00 20 0.00 0 0.00 0 + 0.00000e+00 3.18753e+02 6.37506e+02 1.27501e+02 1.19532e+02 1.11564e+02 + 1.03595e+02 9.56260e+01 8.76571e+01 7.96883e+01 7.17195e+01 6.37506e+01 + 5.57818e+01 4.78130e+01 3.98442e+01 3.18753e+01 2.39065e+01 1.59377e+01 + 7.96883e+00 0.00000e+00 + -117.9491 33.6307 9.4988 -39 89 1.00000e+10 20.0172 1.00000e-01 + 180 177.77 20 0.00 0 0.00 0 + 0.00000e+00 2.77771e+02 5.55543e+02 1.11109e+02 1.04164e+02 9.72200e+01 + 9.02757e+01 8.33314e+01 7.63872e+01 6.94429e+01 6.24986e+01 5.55543e+01 + 4.86100e+01 4.16657e+01 3.47214e+01 2.77771e+01 2.08329e+01 1.38886e+01 + 6.94429e+00 0.00000e+00 + -117.9558 33.6377 9.4988 -39 89 1.00000e+10 19.6941 1.00000e-01 + 180 153.41 20 0.00 0 0.00 0 + 0.00000e+00 2.39697e+02 4.79394e+02 9.58788e+01 8.98864e+01 8.38940e+01 + 7.79016e+01 7.19091e+01 6.59167e+01 5.99243e+01 5.39318e+01 4.79394e+01 + 4.19470e+01 3.59546e+01 2.99621e+01 2.39697e+01 1.79773e+01 1.19849e+01 + 5.99243e+00 0.00000e+00 + -117.9626 33.6448 9.4988 -39 89 1.00000e+10 19.4399 1.00000e-01 + 180 63.50 20 0.00 0 0.00 0 + 0.00000e+00 9.92204e+01 1.98441e+02 3.96882e+01 3.72076e+01 3.47271e+01 + 3.22466e+01 2.97661e+01 2.72856e+01 2.48051e+01 2.23246e+01 1.98441e+01 + 1.73636e+01 1.48831e+01 1.24025e+01 9.92204e+00 7.44153e+00 4.96102e+00 + 2.48051e+00 0.00000e+00 + -117.9693 33.6518 9.4988 -39 89 1.00000e+10 19.1546 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9760 33.6588 9.4988 -39 89 1.00000e+10 18.8084 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9828 33.6659 9.4988 -39 89 1.00000e+10 18.4457 1.00000e-01 + 180 15.56 20 0.00 0 0.00 0 + 0.00000e+00 2.43121e+01 4.86242e+01 9.72485e+00 9.11705e+00 8.50924e+00 + 7.90144e+00 7.29364e+00 6.68583e+00 6.07803e+00 5.47023e+00 4.86242e+00 + 4.25462e+00 3.64682e+00 3.03902e+00 2.43121e+00 1.82341e+00 1.21561e+00 + 6.07803e-01 0.00000e+00 + -117.9897 33.6728 9.4988 -41 89 1.00000e+10 18.0824 1.00000e-01 + 180 32.76 20 0.00 0 0.00 0 + 0.00000e+00 5.11800e+01 1.02360e+02 2.04720e+01 1.91925e+01 1.79130e+01 + 1.66335e+01 1.53540e+01 1.40745e+01 1.27950e+01 1.15155e+01 1.02360e+01 + 8.95649e+00 7.67700e+00 6.39750e+00 5.11800e+00 3.83850e+00 2.55900e+00 + 1.27950e+00 0.00000e+00 + -117.9976 33.6788 9.4988 -54 89 1.00000e+10 17.7201 1.00000e-01 + 180 47.52 20 0.00 0 0.00 0 + 0.00000e+00 7.42449e+01 1.48490e+02 2.96980e+01 2.78418e+01 2.59857e+01 + 2.41296e+01 2.22735e+01 2.04173e+01 1.85612e+01 1.67051e+01 1.48490e+01 + 1.29929e+01 1.11367e+01 9.28061e+00 7.42449e+00 5.56837e+00 3.71224e+00 + 1.85612e+00 0.00000e+00 + -118.0064 33.6840 9.4988 -54 89 1.00000e+10 17.3102 1.00000e-01 + 180 111.26 20 0.00 0 0.00 0 + 0.00000e+00 1.73839e+02 3.47678e+02 6.95355e+01 6.51896e+01 6.08436e+01 + 5.64976e+01 5.21516e+01 4.78057e+01 4.34597e+01 3.91137e+01 3.47678e+01 + 3.04218e+01 2.60758e+01 2.17299e+01 1.73839e+01 1.30379e+01 8.69194e+00 + 4.34597e+00 0.00000e+00 + -118.0153 33.6892 9.4988 -54 89 1.00000e+10 16.9264 1.00000e-01 + 180 144.51 20 0.00 0 0.00 0 + 0.00000e+00 2.25796e+02 4.51592e+02 9.03184e+01 8.46735e+01 7.90286e+01 + 7.33837e+01 6.77388e+01 6.20939e+01 5.64490e+01 5.08041e+01 4.51592e+01 + 3.95143e+01 3.38694e+01 2.82245e+01 2.25796e+01 1.69347e+01 1.12898e+01 + 5.64490e+00 0.00000e+00 + -118.0240 33.6944 9.4988 -54 89 1.00000e+10 16.5808 1.00000e-01 + 180 144.27 20 0.00 0 0.00 0 + 0.00000e+00 2.25426e+02 4.50851e+02 9.01702e+01 8.45346e+01 7.88989e+01 + 7.32633e+01 6.76277e+01 6.19920e+01 5.63564e+01 5.07207e+01 4.50851e+01 + 3.94495e+01 3.38138e+01 2.81782e+01 2.25426e+01 1.69069e+01 1.12713e+01 + 5.63564e+00 0.00000e+00 + -118.0329 33.6997 9.4988 -54 89 1.00000e+10 16.2440 1.00000e-01 + 180 135.46 20 0.00 0 0.00 0 + 0.00000e+00 2.11658e+02 4.23315e+02 8.46630e+01 7.93716e+01 7.40801e+01 + 6.87887e+01 6.34972e+01 5.82058e+01 5.29144e+01 4.76229e+01 4.23315e+01 + 3.70401e+01 3.17486e+01 2.64572e+01 2.11658e+01 1.58743e+01 1.05829e+01 + 5.29144e+00 0.00000e+00 + -118.0416 33.7050 9.4988 -53 89 1.00000e+10 15.8374 1.00000e-01 + 180 194.24 20 0.00 0 0.00 0 + 0.00000e+00 3.03507e+02 6.07014e+02 1.21403e+02 1.13815e+02 1.06227e+02 + 9.86398e+01 9.10521e+01 8.34644e+01 7.58767e+01 6.82891e+01 6.07014e+01 + 5.31137e+01 4.55260e+01 3.79384e+01 3.03507e+01 2.27630e+01 1.51753e+01 + 7.58767e+00 0.00000e+00 + -118.0500 33.7106 9.4988 -50 89 1.00000e+10 15.4606 1.00000e-01 + 180 227.88 20 0.00 0 0.00 0 + 0.00000e+00 3.56062e+02 7.12123e+02 1.42425e+02 1.33523e+02 1.24622e+02 + 1.15720e+02 1.06818e+02 9.79169e+01 8.90154e+01 8.01138e+01 7.12123e+01 + 6.23108e+01 5.34092e+01 4.45077e+01 3.56062e+01 2.67046e+01 1.78031e+01 + 8.90154e+00 0.00000e+00 + -118.0582 33.7165 9.4988 -48 89 1.00000e+10 15.1030 1.00000e-01 + 180 234.86 20 0.00 0 0.00 0 + 0.00000e+00 3.66973e+02 7.33946e+02 1.46789e+02 1.37615e+02 1.28441e+02 + 1.19266e+02 1.10092e+02 1.00918e+02 9.17433e+01 8.25689e+01 7.33946e+01 + 6.42203e+01 5.50460e+01 4.58716e+01 3.66973e+01 2.75230e+01 1.83487e+01 + 9.17433e+00 0.00000e+00 + -118.0650 33.7233 9.4988 -31 89 1.00000e+10 14.7590 1.00000e-01 + 180 233.26 20 0.00 0 0.00 0 + 0.00000e+00 3.64476e+02 7.28953e+02 1.45791e+02 1.36679e+02 1.27567e+02 + 1.18455e+02 1.09343e+02 1.00231e+02 9.11191e+01 8.20072e+01 7.28953e+01 + 6.37834e+01 5.46715e+01 4.55595e+01 3.64476e+01 2.73357e+01 1.82238e+01 + 9.11191e+00 0.00000e+00 + -118.0706 33.7310 9.4988 -31 89 1.00000e+10 14.4297 1.00000e-01 + 180 215.85 20 0.00 0 0.00 0 + 0.00000e+00 3.37262e+02 6.74524e+02 1.34905e+02 1.26473e+02 1.18042e+02 + 1.09610e+02 1.01179e+02 9.27471e+01 8.43155e+01 7.58840e+01 6.74524e+01 + 5.90209e+01 5.05893e+01 4.21578e+01 3.37262e+01 2.52947e+01 1.68631e+01 + 8.43155e+00 0.00000e+00 + -118.0771 33.7381 9.4988 -44 89 1.00000e+10 14.1120 1.00000e-01 + 180 185.01 20 0.00 0 0.00 0 + 0.00000e+00 2.89083e+02 5.78166e+02 1.15633e+02 1.08406e+02 1.01179e+02 + 9.39520e+01 8.67250e+01 7.94979e+01 7.22708e+01 6.50437e+01 5.78166e+01 + 5.05896e+01 4.33625e+01 3.61354e+01 2.89083e+01 2.16812e+01 1.44542e+01 + 7.22708e+00 0.00000e+00 + -118.0849 33.7443 9.4988 -47 89 1.00000e+10 13.6939 1.00000e-01 + 180 257.31 20 0.00 0 0.00 0 + 0.00000e+00 4.02047e+02 8.04095e+02 1.60819e+02 1.50768e+02 1.40717e+02 + 1.30665e+02 1.20614e+02 1.10563e+02 1.00512e+02 9.04607e+01 8.04095e+01 + 7.03583e+01 6.03071e+01 5.02559e+01 4.02047e+01 3.01536e+01 2.01024e+01 + 1.00512e+01 0.00000e+00 + -118.0928 33.7505 9.4988 -47 89 1.00000e+10 13.4144 1.00000e-01 + 180 191.20 20 0.00 0 0.00 0 + 0.00000e+00 2.98757e+02 5.97514e+02 1.19503e+02 1.12034e+02 1.04565e+02 + 9.70960e+01 8.96271e+01 8.21582e+01 7.46893e+01 6.72203e+01 5.97514e+01 + 5.22825e+01 4.48136e+01 3.73446e+01 2.98757e+01 2.24068e+01 1.49379e+01 + 7.46893e+00 0.00000e+00 + -118.1007 33.7566 9.4988 -47 89 1.00000e+10 13.0930 1.00000e-01 + 180 163.40 20 0.00 0 0.00 0 + 0.00000e+00 2.55317e+02 5.10635e+02 1.02127e+02 9.57440e+01 8.93611e+01 + 8.29781e+01 7.65952e+01 7.02123e+01 6.38293e+01 5.74464e+01 5.10635e+01 + 4.46805e+01 3.82976e+01 3.19147e+01 2.55317e+01 1.91488e+01 1.27659e+01 + 6.38293e+00 0.00000e+00 + -118.1087 33.7627 9.4988 -47 89 1.00000e+10 12.7055 1.00000e-01 + 180 202.99 20 0.00 0 0.00 0 + 0.00000e+00 3.17169e+02 6.34339e+02 1.26868e+02 1.18939e+02 1.11009e+02 + 1.03080e+02 9.51508e+01 8.72216e+01 7.92924e+01 7.13631e+01 6.34339e+01 + 5.55047e+01 4.75754e+01 3.96462e+01 3.17169e+01 2.37877e+01 1.58585e+01 + 7.92924e+00 0.00000e+00 + -118.1169 33.7685 9.4988 -52 89 1.00000e+10 12.3398 1.00000e-01 + 180 224.67 20 0.00 0 0.00 0 + 0.00000e+00 3.51049e+02 7.02098e+02 1.40420e+02 1.31643e+02 1.22867e+02 + 1.14091e+02 1.05315e+02 9.65385e+01 8.77623e+01 7.89861e+01 7.02098e+01 + 6.14336e+01 5.26574e+01 4.38812e+01 3.51049e+01 2.63287e+01 1.75525e+01 + 8.77623e+00 0.00000e+00 + -118.1254 33.7741 9.4988 -52 89 1.00000e+10 11.9550 1.00000e-01 + 180 260.36 20 0.00 0 0.00 0 + 0.00000e+00 4.06815e+02 8.13631e+02 1.62726e+02 1.52556e+02 1.42385e+02 + 1.32215e+02 1.22045e+02 1.11874e+02 1.01704e+02 9.15334e+01 8.13631e+01 + 7.11927e+01 6.10223e+01 5.08519e+01 4.06815e+01 3.05111e+01 2.03408e+01 + 1.01704e+01 0.00000e+00 + -118.1340 33.7796 9.4988 -52 89 1.00000e+10 11.5949 1.00000e-01 + 180 274.98 20 0.00 0 0.00 0 + 0.00000e+00 4.29650e+02 8.59300e+02 1.71860e+02 1.61119e+02 1.50378e+02 + 1.39636e+02 1.28895e+02 1.18154e+02 1.07413e+02 9.66713e+01 8.59300e+01 + 7.51888e+01 6.44475e+01 5.37063e+01 4.29650e+01 3.22238e+01 2.14825e+01 + 1.07413e+01 0.00000e+00 + -118.1425 33.7852 9.4988 -52 89 1.00000e+10 11.1453 1.00000e-01 + 180 377.40 20 0.00 0 0.00 0 + 0.00000e+00 5.89689e+02 1.17938e+03 2.35876e+02 2.21133e+02 2.06391e+02 + 1.91649e+02 1.76907e+02 1.62165e+02 1.47422e+02 1.32680e+02 1.17938e+02 + 1.03196e+02 8.84534e+01 7.37112e+01 5.89689e+01 4.42267e+01 2.94845e+01 + 1.47422e+01 0.00000e+00 + -118.1510 33.7908 9.4988 -51 89 1.00000e+10 10.7874 1.00000e-01 + 180 387.04 20 0.00 0 0.00 0 + 0.00000e+00 6.04750e+02 1.20950e+03 2.41900e+02 2.26781e+02 2.11663e+02 + 1.96544e+02 1.81425e+02 1.66306e+02 1.51188e+02 1.36069e+02 1.20950e+02 + 1.05831e+02 9.07126e+01 7.55938e+01 6.04750e+01 4.53563e+01 3.02375e+01 + 1.51188e+01 0.00000e+00 + -118.1593 33.7965 9.4988 -50 89 1.00000e+10 10.2882 1.00000e-01 + 180 539.07 20 0.00 0 0.00 0 + 0.00000e+00 8.42300e+02 1.68460e+03 3.36920e+02 3.15862e+02 2.94805e+02 + 2.73747e+02 2.52690e+02 2.31632e+02 2.10575e+02 1.89517e+02 1.68460e+02 + 1.47402e+02 1.26345e+02 1.05287e+02 8.42300e+01 6.31725e+01 4.21150e+01 + 2.10575e+01 0.00000e+00 + -118.1677 33.8022 9.4988 -50 89 1.00000e+10 9.8424 1.00000e-01 + 180 642.39 20 0.00 0 0.00 0 + 0.00000e+00 1.00373e+03 2.00746e+03 4.01492e+02 3.76399e+02 3.51306e+02 + 3.26212e+02 3.01119e+02 2.76026e+02 2.50933e+02 2.25839e+02 2.00746e+02 + 1.75653e+02 1.50560e+02 1.25466e+02 1.00373e+02 7.52798e+01 5.01865e+01 + 2.50933e+01 0.00000e+00 + -118.1760 33.8080 9.4988 -50 89 1.00000e+10 9.4514 1.00000e-01 + 180 687.32 20 0.00 0 0.00 0 + 0.00000e+00 1.07394e+03 2.14787e+03 4.29575e+02 4.02726e+02 3.75878e+02 + 3.49029e+02 3.22181e+02 2.95333e+02 2.68484e+02 2.41636e+02 2.14787e+02 + 1.87939e+02 1.61090e+02 1.34242e+02 1.07394e+02 8.05452e+01 5.36968e+01 + 2.68484e+01 0.00000e+00 + -118.1844 33.8137 9.4988 -50 89 1.00000e+10 9.2341 1.00000e-01 + 180 557.52 20 0.00 0 0.00 0 + 0.00000e+00 8.71132e+02 1.74226e+03 3.48453e+02 3.26675e+02 3.04896e+02 + 2.83118e+02 2.61340e+02 2.39561e+02 2.17783e+02 1.96005e+02 1.74226e+02 + 1.52448e+02 1.30670e+02 1.08892e+02 8.71132e+01 6.53349e+01 4.35566e+01 + 2.17783e+01 0.00000e+00 + -118.1927 33.8194 9.4988 -50 89 1.00000e+10 9.0253 1.00000e-01 + 180 416.55 20 0.00 0 0.00 0 + 0.00000e+00 6.50865e+02 1.30173e+03 2.60346e+02 2.44074e+02 2.27803e+02 + 2.11531e+02 1.95259e+02 1.78988e+02 1.62716e+02 1.46445e+02 1.30173e+02 + 1.13901e+02 9.76297e+01 8.13581e+01 6.50865e+01 4.88149e+01 3.25432e+01 + 1.62716e+01 0.00000e+00 + -118.2010 33.8252 9.4988 -50 89 1.00000e+10 8.7201 1.00000e-01 + 180 372.89 20 0.00 0 0.00 0 + 0.00000e+00 5.82643e+02 1.16529e+03 2.33057e+02 2.18491e+02 2.03925e+02 + 1.89359e+02 1.74793e+02 1.60227e+02 1.45661e+02 1.31095e+02 1.16529e+02 + 1.01963e+02 8.73965e+01 7.28304e+01 5.82643e+01 4.36982e+01 2.91322e+01 + 1.45661e+01 0.00000e+00 + -118.2093 33.8310 9.4988 -49 89 1.00000e+10 8.4406 1.00000e-01 + 180 306.55 20 0.00 0 0.00 0 + 0.00000e+00 4.78990e+02 9.57981e+02 1.91596e+02 1.79621e+02 1.67647e+02 + 1.55672e+02 1.43697e+02 1.31722e+02 1.19748e+02 1.07773e+02 9.57981e+01 + 8.38233e+01 7.18486e+01 5.98738e+01 4.78990e+01 3.59243e+01 2.39495e+01 + 1.19748e+01 0.00000e+00 + -118.2177 33.8366 9.4988 -54 89 1.00000e+10 8.1611 1.00000e-01 + 180 238.58 20 0.00 0 0.00 0 + 0.00000e+00 3.72774e+02 7.45548e+02 1.49110e+02 1.39790e+02 1.30471e+02 + 1.21152e+02 1.11832e+02 1.02513e+02 9.31935e+01 8.38741e+01 7.45548e+01 + 6.52354e+01 5.59161e+01 4.65967e+01 3.72774e+01 2.79580e+01 1.86387e+01 + 9.31935e+00 0.00000e+00 + -118.2265 33.8419 9.4988 -54 89 1.00000e+10 7.8902 1.00000e-01 + 180 159.84 20 0.00 0 0.00 0 + 0.00000e+00 2.49753e+02 4.99506e+02 9.99012e+01 9.36574e+01 8.74136e+01 + 8.11698e+01 7.49259e+01 6.86821e+01 6.24383e+01 5.61945e+01 4.99506e+01 + 4.37068e+01 3.74630e+01 3.12191e+01 2.49753e+01 1.87315e+01 1.24877e+01 + 6.24383e+00 0.00000e+00 + -118.2338 33.8483 9.4988 -33 89 1.00000e+10 7.6039 1.00000e-01 + 180 99.64 20 0.00 0 0.00 0 + 0.00000e+00 1.55682e+02 3.11365e+02 6.22729e+01 5.83809e+01 5.44888e+01 + 5.05968e+01 4.67047e+01 4.28126e+01 3.89206e+01 3.50285e+01 3.11365e+01 + 2.72444e+01 2.33524e+01 1.94603e+01 1.55682e+01 1.16762e+01 7.78412e+00 + 3.89206e+00 0.00000e+00 + -118.2397 33.8559 9.4988 -33 89 1.00000e+10 7.2648 1.00000e-01 + 180 93.32 20 0.00 0 0.00 0 + 0.00000e+00 1.45812e+02 2.91623e+02 5.83246e+01 5.46794e+01 5.10341e+01 + 4.73888e+01 4.37435e+01 4.00982e+01 3.64529e+01 3.28076e+01 2.91623e+01 + 2.55170e+01 2.18717e+01 1.82265e+01 1.45812e+01 1.09359e+01 7.29058e+00 + 3.64529e+00 0.00000e+00 + -118.2456 33.8634 9.4988 -33 89 1.00000e+10 6.8999 1.00000e-01 + 180 109.37 20 0.00 0 0.00 0 + 0.00000e+00 1.70895e+02 3.41790e+02 6.83579e+01 6.40855e+01 5.98132e+01 + 5.55408e+01 5.12684e+01 4.69961e+01 4.27237e+01 3.84513e+01 3.41790e+01 + 2.99066e+01 2.56342e+01 2.13618e+01 1.70895e+01 1.28171e+01 8.54474e+00 + 4.27237e+00 0.00000e+00 + -118.2515 33.8710 9.4988 -33 89 1.00000e+10 6.4977 1.00000e-01 + 180 167.84 20 0.00 0 0.00 0 + 0.00000e+00 2.62253e+02 5.24506e+02 1.04901e+02 9.83448e+01 9.17885e+01 + 8.52322e+01 7.86758e+01 7.21195e+01 6.55632e+01 5.90069e+01 5.24506e+01 + 4.58942e+01 3.93379e+01 3.27816e+01 2.62253e+01 1.96690e+01 1.31126e+01 + 6.55632e+00 0.00000e+00 + -118.2575 33.8785 9.4988 -33 89 1.00000e+10 6.0908 1.00000e-01 + 180 229.30 20 0.00 0 0.00 0 + 0.00000e+00 3.58283e+02 7.16565e+02 1.43313e+02 1.34356e+02 1.25399e+02 + 1.16442e+02 1.07485e+02 9.85277e+01 8.95706e+01 8.06136e+01 7.16565e+01 + 6.26994e+01 5.37424e+01 4.47853e+01 3.58283e+01 2.68712e+01 1.79141e+01 + 8.95706e+00 0.00000e+00 + -118.2635 33.8860 9.4988 -35 89 1.00000e+10 5.8018 1.00000e-01 + 180 173.99 20 0.00 0 0.00 0 + 0.00000e+00 2.71854e+02 5.43707e+02 1.08741e+02 1.01945e+02 9.51488e+01 + 8.83524e+01 8.15561e+01 7.47598e+01 6.79634e+01 6.11671e+01 5.43707e+01 + 4.75744e+01 4.07781e+01 3.39817e+01 2.71854e+01 2.03890e+01 1.35927e+01 + 6.79634e+00 0.00000e+00 + -118.2699 33.8933 9.4988 -36 89 1.00000e+10 5.5221 1.00000e-01 + 180 107.62 20 0.00 0 0.00 0 + 0.00000e+00 1.68151e+02 3.36302e+02 6.72605e+01 6.30567e+01 5.88529e+01 + 5.46491e+01 5.04454e+01 4.62416e+01 4.20378e+01 3.78340e+01 3.36302e+01 + 2.94265e+01 2.52227e+01 2.10189e+01 1.68151e+01 1.26113e+01 8.40756e+00 + 4.20378e+00 0.00000e+00 + -118.2763 33.9005 9.4988 -36 89 1.00000e+10 5.2081 1.00000e-01 + 180 75.83 20 0.00 0 0.00 0 + 0.00000e+00 1.18483e+02 2.36965e+02 4.73930e+01 4.44310e+01 4.14689e+01 + 3.85068e+01 3.55448e+01 3.25827e+01 2.96206e+01 2.66586e+01 2.36965e+01 + 2.07344e+01 1.77724e+01 1.48103e+01 1.18483e+01 8.88619e+00 5.92413e+00 + 2.96206e+00 0.00000e+00 + -118.2827 33.9078 9.4988 -36 89 1.00000e+10 4.8334 1.00000e-01 + 180 106.11 20 0.00 0 0.00 0 + 0.00000e+00 1.65799e+02 3.31598e+02 6.63195e+01 6.21746e+01 5.80296e+01 + 5.38846e+01 4.97396e+01 4.55947e+01 4.14497e+01 3.73047e+01 3.31598e+01 + 2.90148e+01 2.48698e+01 2.07248e+01 1.65799e+01 1.24349e+01 8.28994e+00 + 4.14497e+00 0.00000e+00 + -118.2890 33.9151 9.4988 -35 89 1.00000e+10 4.4208 1.00000e-01 + 180 170.85 20 0.00 0 0.00 0 + 0.00000e+00 2.66960e+02 5.33921e+02 1.06784e+02 1.00110e+02 9.34362e+01 + 8.67622e+01 8.00881e+01 7.34141e+01 6.67401e+01 6.00661e+01 5.33921e+01 + 4.67181e+01 4.00441e+01 3.33701e+01 2.66960e+01 2.00220e+01 1.33480e+01 + 6.67401e+00 0.00000e+00 + -118.2952 33.9225 9.4988 -34 89 1.00000e+10 4.0664 1.00000e-01 + 180 186.16 20 0.00 0 0.00 0 + 0.00000e+00 2.90878e+02 5.81757e+02 1.16351e+02 1.09079e+02 1.01807e+02 + 9.45355e+01 8.72635e+01 7.99916e+01 7.27196e+01 6.54477e+01 5.81757e+01 + 5.09037e+01 4.36318e+01 3.63598e+01 2.90878e+01 2.18159e+01 1.45439e+01 + 7.27196e+00 0.00000e+00 + -118.3020 33.9291 9.4988 -47 89 1.00000e+10 3.7974 1.00000e-01 + 180 109.09 20 0.00 0 0.00 0 + 0.00000e+00 1.70456e+02 3.40912e+02 6.81823e+01 6.39209e+01 5.96595e+01 + 5.53981e+01 5.11367e+01 4.68753e+01 4.26139e+01 3.83526e+01 3.40912e+01 + 2.98298e+01 2.55684e+01 2.13070e+01 1.70456e+01 1.27842e+01 8.52279e+00 + 4.26139e+00 0.00000e+00 + -118.3110 33.9329 9.4988 -78 89 1.00000e+10 3.4364 1.00000e-01 + 180 127.10 20 0.00 0 0.00 0 + 0.00000e+00 1.98600e+02 3.97200e+02 7.94399e+01 7.44749e+01 6.95099e+01 + 6.45450e+01 5.95800e+01 5.46150e+01 4.96500e+01 4.46850e+01 3.97200e+01 + 3.47550e+01 2.97900e+01 2.48250e+01 1.98600e+01 1.48950e+01 9.92999e+00 + 4.96500e+00 0.00000e+00 + -118.3192 33.9376 9.4988 -33 89 1.00000e+10 3.0544 1.00000e-01 + 180 170.71 20 0.00 0 0.00 0 + 0.00000e+00 2.66730e+02 5.33461e+02 1.06692e+02 1.00024e+02 9.33556e+01 + 8.66874e+01 8.00191e+01 7.33508e+01 6.66826e+01 6.00143e+01 5.33461e+01 + 4.66778e+01 4.00096e+01 3.33413e+01 2.66730e+01 2.00048e+01 1.33365e+01 + 6.66826e+00 0.00000e+00 + -118.3250 33.9451 9.4988 -32 89 1.00000e+10 2.7126 1.00000e-01 + 180 177.78 20 0.00 0 0.00 0 + 0.00000e+00 2.77783e+02 5.55566e+02 1.11113e+02 1.04169e+02 9.72241e+01 + 9.02795e+01 8.33350e+01 7.63904e+01 6.94458e+01 6.25012e+01 5.55566e+01 + 4.86121e+01 4.16675e+01 3.47229e+01 2.77783e+01 2.08337e+01 1.38892e+01 + 6.94458e+00 0.00000e+00 + -118.3324 33.9514 9.4988 -56 89 1.00000e+10 2.4537 1.00000e-01 + 180 101.38 20 0.00 0 0.00 0 + 0.00000e+00 1.58410e+02 3.16821e+02 6.33642e+01 5.94039e+01 5.54436e+01 + 5.14834e+01 4.75231e+01 4.35629e+01 3.96026e+01 3.56423e+01 3.16821e+01 + 2.77218e+01 2.37616e+01 1.98013e+01 1.58410e+01 1.18808e+01 7.92052e+00 + 3.96026e+00 0.00000e+00 + -118.3413 33.9565 9.4988 -56 89 1.00000e+10 2.1553 1.00000e-01 + 180 66.84 20 0.00 0 0.00 0 + 0.00000e+00 1.04441e+02 2.08882e+02 4.17763e+01 3.91653e+01 3.65543e+01 + 3.39433e+01 3.13322e+01 2.87212e+01 2.61102e+01 2.34992e+01 2.08882e+01 + 1.82771e+01 1.56661e+01 1.30551e+01 1.04441e+01 7.83306e+00 5.22204e+00 + 2.61102e+00 0.00000e+00 + -118.3492 33.9622 9.4988 -42 89 1.00000e+10 1.7521 1.00000e-01 + 180 148.76 20 0.00 0 0.00 0 + 0.00000e+00 2.32434e+02 4.64868e+02 9.29736e+01 8.71627e+01 8.13519e+01 + 7.55410e+01 6.97302e+01 6.39193e+01 5.81085e+01 5.22976e+01 4.64868e+01 + 4.06759e+01 3.48651e+01 2.90542e+01 2.32434e+01 1.74325e+01 1.16217e+01 + 5.81085e+00 0.00000e+00 + -118.3537 33.9697 9.4988 -12 89 1.00000e+10 1.4780 1.00000e-01 + 180 115.31 20 0.00 0 0.00 0 + 0.00000e+00 1.80167e+02 3.60333e+02 7.20666e+01 6.75625e+01 6.30583e+01 + 5.85541e+01 5.40500e+01 4.95458e+01 4.50416e+01 4.05375e+01 3.60333e+01 + 3.15292e+01 2.70250e+01 2.25208e+01 1.80167e+01 1.35125e+01 9.00833e+00 + 4.50417e+00 0.00000e+00 + -118.3561 33.9785 9.4988 -12 89 1.00000e+10 1.2082 1.00000e-01 + 180 101.37 20 0.00 0 0.00 0 + 0.00000e+00 1.58397e+02 3.16794e+02 6.33587e+01 5.93988e+01 5.54389e+01 + 5.14790e+01 4.75190e+01 4.35591e+01 3.95992e+01 3.56393e+01 3.16794e+01 + 2.77194e+01 2.37595e+01 1.97996e+01 1.58397e+01 1.18798e+01 7.91984e+00 + 3.95992e+00 0.00000e+00 + -118.3586 33.9872 9.4988 -15 89 1.00000e+10 0.9923 1.00000e-01 + 180 69.49 20 0.00 0 0.00 0 + 0.00000e+00 1.08580e+02 2.17159e+02 4.34319e+01 4.07174e+01 3.80029e+01 + 3.52884e+01 3.25739e+01 2.98594e+01 2.71449e+01 2.44304e+01 2.17159e+01 + 1.90014e+01 1.62869e+01 1.35725e+01 1.08580e+01 8.14347e+00 5.42898e+00 + 2.71449e+00 0.00000e+00 + -118.3621 33.9957 9.4988 -23 89 1.00000e+10 0.8060 1.00000e-01 + 180 73.27 20 0.00 0 0.00 0 + 0.00000e+00 1.14482e+02 2.28964e+02 4.57929e+01 4.29308e+01 4.00688e+01 + 3.72067e+01 3.43447e+01 3.14826e+01 2.86206e+01 2.57585e+01 2.28964e+01 + 2.00344e+01 1.71723e+01 1.43103e+01 1.14482e+01 8.58617e+00 5.72411e+00 + 2.86206e+00 0.00000e+00 + -118.3664 34.0040 9.4988 -24 89 1.00000e+10 0.7442 1.00000e-01 + 180 68.15 20 0.00 0 0.00 0 + 0.00000e+00 1.06480e+02 2.12961e+02 4.25921e+01 3.99301e+01 3.72681e+01 + 3.46061e+01 3.19441e+01 2.92821e+01 2.66201e+01 2.39581e+01 2.12961e+01 + 1.86341e+01 1.59720e+01 1.33100e+01 1.06480e+01 7.98602e+00 5.32402e+00 + 2.66201e+00 0.00000e+00 + -118.3708 34.0122 9.4988 -24 89 1.00000e+10 0.8255 1.00000e-01 + 180 53.61 20 0.00 0 0.00 0 + 0.00000e+00 8.37655e+01 1.67531e+02 3.35062e+01 3.14121e+01 2.93179e+01 + 2.72238e+01 2.51297e+01 2.30355e+01 2.09414e+01 1.88472e+01 1.67531e+01 + 1.46590e+01 1.25648e+01 1.04707e+01 8.37656e+00 6.28242e+00 4.18828e+00 + 2.09414e+00 0.00000e+00 + -118.3753 34.0204 9.4988 -24 89 1.00000e+10 1.0075 1.00000e-01 + 180 54.15 20 0.00 0 0.00 0 + 0.00000e+00 8.46063e+01 1.69213e+02 3.38425e+01 3.17274e+01 2.96122e+01 + 2.74970e+01 2.53819e+01 2.32667e+01 2.11516e+01 1.90364e+01 1.69213e+01 + 1.48061e+01 1.26909e+01 1.05758e+01 8.46063e+00 6.34547e+00 4.23032e+00 + 2.11516e+00 0.00000e+00 + -118.3798 34.0286 9.4988 -24 89 1.00000e+10 1.2773 1.00000e-01 + 180 31.62 20 0.00 0 0.00 0 + 0.00000e+00 4.94067e+01 9.88135e+01 1.97627e+01 1.85275e+01 1.72924e+01 + 1.60572e+01 1.48220e+01 1.35869e+01 1.23517e+01 1.11165e+01 9.88135e+00 + 8.64618e+00 7.41101e+00 6.17584e+00 4.94067e+00 3.70551e+00 2.47034e+00 + 1.23517e+00 0.00000e+00 + -117.3558 33.0611 10.4987 -33 89 1.00000e+10 49.6029 1.00000e-01 + 180 24.24 20 0.00 0 0.00 0 + 0.00000e+00 3.78686e+01 7.57373e+01 1.51475e+01 1.42007e+01 1.32540e+01 + 1.23073e+01 1.13606e+01 1.04139e+01 9.46716e+00 8.52044e+00 7.57373e+00 + 6.62701e+00 5.68029e+00 4.73358e+00 3.78686e+00 2.84015e+00 1.89343e+00 + 9.46716e-01 0.00000e+00 + -117.3616 33.0687 10.4987 -33 89 1.00000e+10 49.2389 1.00000e-01 + 180 36.40 20 0.00 0 0.00 0 + 0.00000e+00 5.68692e+01 1.13738e+02 2.27477e+01 2.13260e+01 1.99042e+01 + 1.84825e+01 1.70608e+01 1.56390e+01 1.42173e+01 1.27956e+01 1.13738e+01 + 9.95211e+00 8.53038e+00 7.10865e+00 5.68692e+00 4.26519e+00 2.84346e+00 + 1.42173e+00 0.00000e+00 + -117.3674 33.0762 10.4987 -33 89 1.00000e+10 48.9046 1.00000e-01 + 180 26.17 20 0.00 0 0.00 0 + 0.00000e+00 4.08973e+01 8.17946e+01 1.63589e+01 1.53365e+01 1.43141e+01 + 1.32916e+01 1.22692e+01 1.12468e+01 1.02243e+01 9.20189e+00 8.17946e+00 + 7.15703e+00 6.13460e+00 5.11216e+00 4.08973e+00 3.06730e+00 2.04487e+00 + 1.02243e+00 0.00000e+00 + -117.3735 33.0836 10.4987 -36 89 1.00000e+10 48.5138 1.00000e-01 + 180 66.55 20 0.00 0 0.00 0 + 0.00000e+00 1.03983e+02 2.07967e+02 4.15933e+01 3.89937e+01 3.63942e+01 + 3.37946e+01 3.11950e+01 2.85954e+01 2.59958e+01 2.33962e+01 2.07967e+01 + 1.81971e+01 1.55975e+01 1.29979e+01 1.03983e+01 7.79875e+00 5.19916e+00 + 2.59958e+00 0.00000e+00 + -117.3810 33.0899 10.4987 -55 89 1.00000e+10 48.1329 1.00000e-01 + 180 104.53 20 0.00 0 0.00 0 + 0.00000e+00 1.63336e+02 3.26672e+02 6.53344e+01 6.12510e+01 5.71676e+01 + 5.30842e+01 4.90008e+01 4.49174e+01 4.08340e+01 3.67506e+01 3.26672e+01 + 2.85838e+01 2.45004e+01 2.04170e+01 1.63336e+01 1.22502e+01 8.16680e+00 + 4.08340e+00 0.00000e+00 + -117.3898 33.0950 10.4987 -55 89 1.00000e+10 47.8176 1.00000e-01 + 180 70.51 20 0.00 0 0.00 0 + 0.00000e+00 1.10173e+02 2.20346e+02 4.40693e+01 4.13149e+01 3.85606e+01 + 3.58063e+01 3.30520e+01 3.02976e+01 2.75433e+01 2.47890e+01 2.20346e+01 + 1.92803e+01 1.65260e+01 1.37717e+01 1.10173e+01 8.26299e+00 5.50866e+00 + 2.75433e+00 0.00000e+00 + -117.3982 33.1006 10.4987 -48 89 1.00000e+10 47.4998 1.00000e-01 + 180 40.19 20 0.00 0 0.00 0 + 0.00000e+00 6.27918e+01 1.25584e+02 2.51167e+01 2.35469e+01 2.19771e+01 + 2.04074e+01 1.88376e+01 1.72678e+01 1.56980e+01 1.41282e+01 1.25584e+01 + 1.09886e+01 9.41878e+00 7.84898e+00 6.27918e+00 4.70939e+00 3.13959e+00 + 1.56980e+00 0.00000e+00 + -117.4061 33.1066 10.4987 -47 89 1.00000e+10 47.1513 1.00000e-01 + 180 42.24 20 0.00 0 0.00 0 + 0.00000e+00 6.59994e+01 1.31999e+02 2.63998e+01 2.47498e+01 2.30998e+01 + 2.14498e+01 1.97998e+01 1.81498e+01 1.64998e+01 1.48499e+01 1.31999e+01 + 1.15499e+01 9.89991e+00 8.24992e+00 6.59994e+00 4.94995e+00 3.29997e+00 + 1.64998e+00 0.00000e+00 + -117.4132 33.1133 10.4987 -36 89 1.00000e+10 46.8481 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4193 33.1207 10.4987 -33 89 1.00000e+10 46.4988 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4229 33.1289 10.4987 -8 89 1.00000e+10 46.1514 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4244 33.1378 10.4987 -8 89 1.00000e+10 45.8062 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4260 33.1467 10.4987 -8 89 1.00000e+10 45.4576 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4285 33.1553 10.4987 -20 89 1.00000e+10 45.1115 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4336 33.1629 10.4987 -39 89 1.00000e+10 44.7627 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4403 33.1699 10.4987 -39 89 1.00000e+10 44.3953 1.00000e-01 + 180 21.65 20 0.00 0 0.00 0 + 0.00000e+00 3.38242e+01 6.76484e+01 1.35297e+01 1.26841e+01 1.18385e+01 + 1.09929e+01 1.01473e+01 9.30166e+00 8.45605e+00 7.61045e+00 6.76484e+00 + 5.91924e+00 5.07363e+00 4.22803e+00 3.38242e+00 2.53682e+00 1.69121e+00 + 8.45605e-01 0.00000e+00 + -117.4470 33.1769 10.4987 -39 89 1.00000e+10 43.9708 1.00000e-01 + 180 98.82 20 0.00 0 0.00 0 + 0.00000e+00 1.54411e+02 3.08822e+02 6.17645e+01 5.79042e+01 5.40439e+01 + 5.01836e+01 4.63234e+01 4.24631e+01 3.86028e+01 3.47425e+01 3.08822e+01 + 2.70220e+01 2.31617e+01 1.93014e+01 1.54411e+01 1.15808e+01 7.72056e+00 + 3.86028e+00 0.00000e+00 + -117.4537 33.1840 10.4987 -39 89 1.00000e+10 43.5672 1.00000e-01 + 180 158.25 20 0.00 0 0.00 0 + 0.00000e+00 2.47259e+02 4.94518e+02 9.89036e+01 9.27221e+01 8.65406e+01 + 8.03592e+01 7.41777e+01 6.79962e+01 6.18147e+01 5.56333e+01 4.94518e+01 + 4.32703e+01 3.70888e+01 3.09074e+01 2.47259e+01 1.85444e+01 1.23629e+01 + 6.18147e+00 0.00000e+00 + -117.4605 33.1910 10.4987 -39 89 1.00000e+10 43.1780 1.00000e-01 + 180 196.66 20 0.00 0 0.00 0 + 0.00000e+00 3.07280e+02 6.14560e+02 1.22912e+02 1.15230e+02 1.07548e+02 + 9.98661e+01 9.21841e+01 8.45020e+01 7.68200e+01 6.91380e+01 6.14560e+01 + 5.37740e+01 4.60920e+01 3.84100e+01 3.07280e+01 2.30460e+01 1.53640e+01 + 7.68200e+00 0.00000e+00 + -117.4672 33.1980 10.4987 -39 89 1.00000e+10 42.8176 1.00000e-01 + 180 214.52 20 0.00 0 0.00 0 + 0.00000e+00 3.35191e+02 6.70382e+02 1.34076e+02 1.25697e+02 1.17317e+02 + 1.08937e+02 1.00557e+02 9.21775e+01 8.37977e+01 7.54180e+01 6.70382e+01 + 5.86584e+01 5.02786e+01 4.18989e+01 3.35191e+01 2.51393e+01 1.67595e+01 + 8.37977e+00 0.00000e+00 + -117.4739 33.2050 10.4987 -39 89 1.00000e+10 42.3869 1.00000e-01 + 180 293.06 20 0.00 0 0.00 0 + 0.00000e+00 4.57904e+02 9.15807e+02 1.83161e+02 1.71714e+02 1.60266e+02 + 1.48819e+02 1.37371e+02 1.25923e+02 1.14476e+02 1.03028e+02 9.15807e+01 + 8.01331e+01 6.86855e+01 5.72379e+01 4.57904e+01 3.43428e+01 2.28952e+01 + 1.14476e+01 0.00000e+00 + -117.4807 33.2120 10.4987 -39 89 1.00000e+10 42.0025 1.00000e-01 + 180 333.66 20 0.00 0 0.00 0 + 0.00000e+00 5.21341e+02 1.04268e+03 2.08537e+02 1.95503e+02 1.82470e+02 + 1.69436e+02 1.56402e+02 1.43369e+02 1.30335e+02 1.17302e+02 1.04268e+02 + 9.12348e+01 7.82012e+01 6.51677e+01 5.21341e+01 3.91006e+01 2.60671e+01 + 1.30335e+01 0.00000e+00 + -117.4882 33.2183 10.4987 -51 89 1.00000e+10 41.6900 1.00000e-01 + 180 301.24 20 0.00 0 0.00 0 + 0.00000e+00 4.70695e+02 9.41390e+02 1.88278e+02 1.76511e+02 1.64743e+02 + 1.52976e+02 1.41209e+02 1.29441e+02 1.17674e+02 1.05906e+02 9.41390e+01 + 8.23717e+01 7.06043e+01 5.88369e+01 4.70695e+01 3.53021e+01 2.35348e+01 + 1.17674e+01 0.00000e+00 + -117.4968 33.2237 10.4987 -55 89 1.00000e+10 41.3333 1.00000e-01 + 180 309.06 20 0.00 0 0.00 0 + 0.00000e+00 4.82899e+02 9.65797e+02 1.93159e+02 1.81087e+02 1.69015e+02 + 1.56942e+02 1.44870e+02 1.32797e+02 1.20725e+02 1.08652e+02 9.65797e+01 + 8.45073e+01 7.24348e+01 6.03623e+01 4.82899e+01 3.62174e+01 2.41449e+01 + 1.20725e+01 0.00000e+00 + -117.5056 33.2288 10.4987 -55 89 1.00000e+10 40.9137 1.00000e-01 + 180 380.68 20 0.00 0 0.00 0 + 0.00000e+00 5.94817e+02 1.18963e+03 2.37927e+02 2.23056e+02 2.08186e+02 + 1.93315e+02 1.78445e+02 1.63575e+02 1.48704e+02 1.33834e+02 1.18963e+02 + 1.04093e+02 8.92225e+01 7.43521e+01 5.94817e+01 4.46113e+01 2.97408e+01 + 1.48704e+01 0.00000e+00 + -117.5144 33.2340 10.4987 -55 89 1.00000e+10 40.5500 1.00000e-01 + 180 400.76 20 0.00 0 0.00 0 + 0.00000e+00 6.26184e+02 1.25237e+03 2.50474e+02 2.34819e+02 2.19164e+02 + 2.03510e+02 1.87855e+02 1.72201e+02 1.56546e+02 1.40891e+02 1.25237e+02 + 1.09582e+02 9.39276e+01 7.82730e+01 6.26184e+01 4.69638e+01 3.13092e+01 + 1.56546e+01 0.00000e+00 + -117.5233 33.2391 10.4987 -55 89 1.00000e+10 40.2187 1.00000e-01 + 180 380.82 20 0.00 0 0.00 0 + 0.00000e+00 5.95030e+02 1.19006e+03 2.38012e+02 2.23136e+02 2.08261e+02 + 1.93385e+02 1.78509e+02 1.63633e+02 1.48758e+02 1.33882e+02 1.19006e+02 + 1.04130e+02 8.92546e+01 7.43788e+01 5.95030e+01 4.46273e+01 2.97515e+01 + 1.48758e+01 0.00000e+00 + -117.5321 33.2443 10.4987 -55 89 1.00000e+10 39.9301 1.00000e-01 + 180 323.09 20 0.00 0 0.00 0 + 0.00000e+00 5.04825e+02 1.00965e+03 2.01930e+02 1.89309e+02 1.76689e+02 + 1.64068e+02 1.51447e+02 1.38827e+02 1.26206e+02 1.13586e+02 1.00965e+02 + 8.83444e+01 7.57237e+01 6.31031e+01 5.04825e+01 3.78619e+01 2.52412e+01 + 1.26206e+01 0.00000e+00 + -117.5409 33.2494 10.4987 -55 89 1.00000e+10 39.5703 1.00000e-01 + 180 338.56 20 0.00 0 0.00 0 + 0.00000e+00 5.29006e+02 1.05801e+03 2.11602e+02 1.98377e+02 1.85152e+02 + 1.71927e+02 1.58702e+02 1.45477e+02 1.32251e+02 1.19026e+02 1.05801e+02 + 9.25760e+01 7.93509e+01 6.61257e+01 5.29006e+01 3.96754e+01 2.64503e+01 + 1.32251e+01 0.00000e+00 + -117.5487 33.2555 10.4987 -39 89 1.00000e+10 39.1266 1.00000e-01 + 180 432.91 20 0.00 0 0.00 0 + 0.00000e+00 6.76427e+02 1.35285e+03 2.70571e+02 2.53660e+02 2.36749e+02 + 2.19839e+02 2.02928e+02 1.86017e+02 1.69107e+02 1.52196e+02 1.35285e+02 + 1.18375e+02 1.01464e+02 8.45534e+01 6.76427e+01 5.07320e+01 3.38214e+01 + 1.69107e+01 0.00000e+00 + -117.5554 33.2625 10.4987 -38 89 1.00000e+10 38.7014 1.00000e-01 + 180 510.85 20 0.00 0 0.00 0 + 0.00000e+00 7.98196e+02 1.59639e+03 3.19278e+02 2.99323e+02 2.79368e+02 + 2.59414e+02 2.39459e+02 2.19504e+02 1.99549e+02 1.79594e+02 1.59639e+02 + 1.39684e+02 1.19729e+02 9.97744e+01 7.98196e+01 5.98647e+01 3.99098e+01 + 1.99549e+01 0.00000e+00 + -117.5620 33.2696 10.4987 -38 89 1.00000e+10 38.3964 1.00000e-01 + 180 466.17 20 0.00 0 0.00 0 + 0.00000e+00 7.28390e+02 1.45678e+03 2.91356e+02 2.73146e+02 2.54936e+02 + 2.36727e+02 2.18517e+02 2.00307e+02 1.82097e+02 1.63888e+02 1.45678e+02 + 1.27468e+02 1.09258e+02 9.10487e+01 7.28390e+01 5.46292e+01 3.64195e+01 + 1.82097e+01 0.00000e+00 + -117.5686 33.2767 10.4987 -38 89 1.00000e+10 38.0783 1.00000e-01 + 180 437.50 20 0.00 0 0.00 0 + 0.00000e+00 6.83596e+02 1.36719e+03 2.73438e+02 2.56349e+02 2.39259e+02 + 2.22169e+02 2.05079e+02 1.87989e+02 1.70899e+02 1.53809e+02 1.36719e+02 + 1.19629e+02 1.02539e+02 8.54495e+01 6.83596e+01 5.12697e+01 3.41798e+01 + 1.70899e+01 0.00000e+00 + -117.5752 33.2838 10.4987 -38 89 1.00000e+10 37.7444 1.00000e-01 + 180 427.49 20 0.00 0 0.00 0 + 0.00000e+00 6.67950e+02 1.33590e+03 2.67180e+02 2.50481e+02 2.33782e+02 + 2.17084e+02 2.00385e+02 1.83686e+02 1.66987e+02 1.50289e+02 1.33590e+02 + 1.16891e+02 1.00192e+02 8.34937e+01 6.67950e+01 5.00962e+01 3.33975e+01 + 1.66987e+01 0.00000e+00 + -117.5819 33.2909 10.4987 -38 89 1.00000e+10 37.5763 1.00000e-01 + 180 246.69 20 0.00 0 0.00 0 + 0.00000e+00 3.85451e+02 7.70902e+02 1.54180e+02 1.44544e+02 1.34908e+02 + 1.25272e+02 1.15635e+02 1.05999e+02 9.63628e+01 8.67265e+01 7.70902e+01 + 6.74540e+01 5.78177e+01 4.81814e+01 3.85451e+01 2.89088e+01 1.92726e+01 + 9.63628e+00 0.00000e+00 + -117.5885 33.2980 10.4987 -38 89 1.00000e+10 37.3756 1.00000e-01 + 180 95.91 20 0.00 0 0.00 0 + 0.00000e+00 1.49855e+02 2.99709e+02 5.99418e+01 5.61955e+01 5.24491e+01 + 4.87027e+01 4.49564e+01 4.12100e+01 3.74636e+01 3.37173e+01 2.99709e+01 + 2.62246e+01 2.24782e+01 1.87318e+01 1.49855e+01 1.12391e+01 7.49273e+00 + 3.74636e+00 0.00000e+00 + -117.5951 33.3051 10.4987 -38 89 1.00000e+10 37.1119 1.00000e-01 + 180 12.44 20 0.00 0 0.00 0 + 0.00000e+00 1.94315e+01 3.88630e+01 7.77259e+00 7.28680e+00 6.80102e+00 + 6.31523e+00 5.82944e+00 5.34366e+00 4.85787e+00 4.37208e+00 3.88630e+00 + 3.40051e+00 2.91472e+00 2.42893e+00 1.94315e+00 1.45736e+00 9.71574e-01 + 4.85787e-01 0.00000e+00 + -117.6017 33.3122 10.4987 -38 89 1.00000e+10 36.7757 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6083 33.3193 10.4987 -38 89 1.00000e+10 36.4314 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6150 33.3264 10.4987 -38 89 1.00000e+10 36.0803 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6216 33.3335 10.4987 -38 89 1.00000e+10 35.6333 1.00000e-01 + 180 101.59 20 0.00 0 0.00 0 + 0.00000e+00 1.58734e+02 3.17467e+02 6.34934e+01 5.95251e+01 5.55567e+01 + 5.15884e+01 4.76201e+01 4.36517e+01 3.96834e+01 3.57150e+01 3.17467e+01 + 2.77784e+01 2.38100e+01 1.98417e+01 1.58734e+01 1.19050e+01 7.93668e+00 + 3.96834e+00 0.00000e+00 + -117.6282 33.3406 10.4987 -38 89 1.00000e+10 35.2040 1.00000e-01 + 180 184.90 20 0.00 0 0.00 0 + 0.00000e+00 2.88912e+02 5.77824e+02 1.15565e+02 1.08342e+02 1.01119e+02 + 9.38964e+01 8.66736e+01 7.94508e+01 7.22280e+01 6.50052e+01 5.77824e+01 + 5.05596e+01 4.33368e+01 3.61140e+01 2.88912e+01 2.16684e+01 1.44456e+01 + 7.22280e+00 0.00000e+00 + -117.6348 33.3477 10.4987 -38 89 1.00000e+10 34.8399 1.00000e-01 + 180 202.57 20 0.00 0 0.00 0 + 0.00000e+00 3.16509e+02 6.33018e+02 1.26604e+02 1.18691e+02 1.10778e+02 + 1.02865e+02 9.49527e+01 8.70400e+01 7.91273e+01 7.12146e+01 6.33018e+01 + 5.53891e+01 4.74764e+01 3.95636e+01 3.16509e+01 2.37382e+01 1.58255e+01 + 7.91273e+00 0.00000e+00 + -117.6415 33.3548 10.4987 -38 89 1.00000e+10 34.5391 1.00000e-01 + 180 156.74 20 0.00 0 0.00 0 + 0.00000e+00 2.44911e+02 4.89821e+02 9.79642e+01 9.18415e+01 8.57187e+01 + 7.95959e+01 7.34732e+01 6.73504e+01 6.12276e+01 5.51049e+01 4.89821e+01 + 4.28593e+01 3.67366e+01 3.06138e+01 2.44911e+01 1.83683e+01 1.22455e+01 + 6.12276e+00 0.00000e+00 + -117.6481 33.3619 10.4987 -38 89 1.00000e+10 34.1993 1.00000e-01 + 180 151.09 20 0.00 0 0.00 0 + 0.00000e+00 2.36078e+02 4.72157e+02 9.44313e+01 8.85294e+01 8.26274e+01 + 7.67255e+01 7.08235e+01 6.49215e+01 5.90196e+01 5.31176e+01 4.72157e+01 + 4.13137e+01 3.54118e+01 2.95098e+01 2.36078e+01 1.77059e+01 1.18039e+01 + 5.90196e+00 0.00000e+00 + -117.6547 33.3690 10.4987 -38 89 1.00000e+10 33.8164 1.00000e-01 + 180 185.44 20 0.00 0 0.00 0 + 0.00000e+00 2.89753e+02 5.79506e+02 1.15901e+02 1.08657e+02 1.01413e+02 + 9.41697e+01 8.69258e+01 7.96820e+01 7.24382e+01 6.51944e+01 5.79506e+01 + 5.07067e+01 4.34629e+01 3.62191e+01 2.89753e+01 2.17315e+01 1.44876e+01 + 7.24382e+00 0.00000e+00 + -117.6614 33.3761 10.4987 -38 89 1.00000e+10 33.5309 1.00000e-01 + 180 123.31 20 0.00 0 0.00 0 + 0.00000e+00 1.92667e+02 3.85334e+02 7.70668e+01 7.22501e+01 6.74334e+01 + 6.26167e+01 5.78001e+01 5.29834e+01 4.81667e+01 4.33501e+01 3.85334e+01 + 3.37167e+01 2.89000e+01 2.40834e+01 1.92667e+01 1.44500e+01 9.63334e+00 + 4.81667e+00 0.00000e+00 + -117.6680 33.3832 10.4987 -38 89 1.00000e+10 33.1710 1.00000e-01 + 180 133.94 20 0.00 0 0.00 0 + 0.00000e+00 2.09280e+02 4.18560e+02 8.37121e+01 7.84801e+01 7.32481e+01 + 6.80161e+01 6.27841e+01 5.75521e+01 5.23201e+01 4.70881e+01 4.18560e+01 + 3.66240e+01 3.13920e+01 2.61600e+01 2.09280e+01 1.56960e+01 1.04640e+01 + 5.23201e+00 0.00000e+00 + -117.6746 33.3903 10.4987 -38 89 1.00000e+10 32.8000 1.00000e-01 + 180 158.35 20 0.00 0 0.00 0 + 0.00000e+00 2.47424e+02 4.94847e+02 9.89694e+01 9.27839e+01 8.65983e+01 + 8.04127e+01 7.42271e+01 6.80415e+01 6.18559e+01 5.56703e+01 4.94847e+01 + 4.32991e+01 3.71135e+01 3.09279e+01 2.47424e+01 1.85568e+01 1.23712e+01 + 6.18559e+00 0.00000e+00 + -117.6813 33.3974 10.4987 -38 89 1.00000e+10 32.4834 1.00000e-01 + 180 130.72 20 0.00 0 0.00 0 + 0.00000e+00 2.04245e+02 4.08489e+02 8.16979e+01 7.65918e+01 7.14856e+01 + 6.63795e+01 6.12734e+01 5.61673e+01 5.10612e+01 4.59551e+01 4.08489e+01 + 3.57428e+01 3.06367e+01 2.55306e+01 2.04245e+01 1.53184e+01 1.02122e+01 + 5.10612e+00 0.00000e+00 + -117.6880 33.4044 10.4987 -40 89 1.00000e+10 32.1419 1.00000e-01 + 180 123.26 20 0.00 0 0.00 0 + 0.00000e+00 1.92591e+02 3.85182e+02 7.70364e+01 7.22216e+01 6.74069e+01 + 6.25921e+01 5.77773e+01 5.29625e+01 4.81478e+01 4.33330e+01 3.85182e+01 + 3.37034e+01 2.88887e+01 2.40739e+01 1.92591e+01 1.44443e+01 9.62955e+00 + 4.81478e+00 0.00000e+00 + -117.6951 33.4112 10.4987 -41 89 1.00000e+10 31.8072 1.00000e-01 + 180 112.68 20 0.00 0 0.00 0 + 0.00000e+00 1.76070e+02 3.52139e+02 7.04279e+01 6.60261e+01 6.16244e+01 + 5.72226e+01 5.28209e+01 4.84192e+01 4.40174e+01 3.96157e+01 3.52139e+01 + 3.08122e+01 2.64105e+01 2.20087e+01 1.76070e+01 1.32052e+01 8.80348e+00 + 4.40174e+00 0.00000e+00 + -117.7022 33.4180 10.4987 -41 89 1.00000e+10 31.4647 1.00000e-01 + 180 106.36 20 0.00 0 0.00 0 + 0.00000e+00 1.66195e+02 3.32390e+02 6.64780e+01 6.23231e+01 5.81683e+01 + 5.40134e+01 4.98585e+01 4.57036e+01 4.15488e+01 3.73939e+01 3.32390e+01 + 2.90841e+01 2.49293e+01 2.07744e+01 1.66195e+01 1.24646e+01 8.30975e+00 + 4.15488e+00 0.00000e+00 + -117.7092 33.4248 10.4987 -41 89 1.00000e+10 31.1249 1.00000e-01 + 180 101.70 20 0.00 0 0.00 0 + 0.00000e+00 1.58900e+02 3.17799e+02 6.35598e+01 5.95873e+01 5.56148e+01 + 5.16423e+01 4.76699e+01 4.36974e+01 3.97249e+01 3.57524e+01 3.17799e+01 + 2.78074e+01 2.38349e+01 1.98624e+01 1.58900e+01 1.19175e+01 7.94498e+00 + 3.97249e+00 0.00000e+00 + -117.7163 33.4315 10.4987 -41 89 1.00000e+10 30.6949 1.00000e-01 + 180 178.86 20 0.00 0 0.00 0 + 0.00000e+00 2.79469e+02 5.58938e+02 1.11788e+02 1.04801e+02 9.78142e+01 + 9.08275e+01 8.38408e+01 7.68540e+01 6.98673e+01 6.28806e+01 5.58938e+01 + 4.89071e+01 4.19204e+01 3.49337e+01 2.79469e+01 2.09602e+01 1.39735e+01 + 6.98673e+00 0.00000e+00 + -117.7234 33.4383 10.4987 -41 89 1.00000e+10 30.1583 1.00000e-01 + 180 375.68 20 0.00 0 0.00 0 + 0.00000e+00 5.86994e+02 1.17399e+03 2.34798e+02 2.20123e+02 2.05448e+02 + 1.90773e+02 1.76098e+02 1.61423e+02 1.46748e+02 1.32074e+02 1.17399e+02 + 1.02724e+02 8.80491e+01 7.33742e+01 5.86994e+01 4.40245e+01 2.93497e+01 + 1.46748e+01 0.00000e+00 + -117.7305 33.4451 10.4987 -41 89 1.00000e+10 29.7695 1.00000e-01 + 180 415.55 20 0.00 0 0.00 0 + 0.00000e+00 6.49296e+02 1.29859e+03 2.59718e+02 2.43486e+02 2.27253e+02 + 2.11021e+02 1.94789e+02 1.78556e+02 1.62324e+02 1.46091e+02 1.29859e+02 + 1.13627e+02 9.73943e+01 8.11619e+01 6.49296e+01 4.86972e+01 3.24648e+01 + 1.62324e+01 0.00000e+00 + -117.7376 33.4519 10.4987 -41 89 1.00000e+10 29.3361 1.00000e-01 + 180 500.09 20 0.00 0 0.00 0 + 0.00000e+00 7.81397e+02 1.56279e+03 3.12559e+02 2.93024e+02 2.73489e+02 + 2.53954e+02 2.34419e+02 2.14884e+02 1.95349e+02 1.75814e+02 1.56279e+02 + 1.36744e+02 1.17210e+02 9.76746e+01 7.81397e+01 5.86048e+01 3.90698e+01 + 1.95349e+01 0.00000e+00 + -117.7447 33.4586 10.4987 -41 89 1.00000e+10 28.9691 1.00000e-01 + 180 523.88 20 0.00 0 0.00 0 + 0.00000e+00 8.18556e+02 1.63711e+03 3.27422e+02 3.06958e+02 2.86495e+02 + 2.66031e+02 2.45567e+02 2.25103e+02 2.04639e+02 1.84175e+02 1.63711e+02 + 1.43247e+02 1.22783e+02 1.02319e+02 8.18556e+01 6.13917e+01 4.09278e+01 + 2.04639e+01 0.00000e+00 + -117.7518 33.4654 10.4987 -41 89 1.00000e+10 28.6492 1.00000e-01 + 180 494.91 20 0.00 0 0.00 0 + 0.00000e+00 7.73294e+02 1.54659e+03 3.09317e+02 2.89985e+02 2.70653e+02 + 2.51320e+02 2.31988e+02 2.12656e+02 1.93323e+02 1.73991e+02 1.54659e+02 + 1.35326e+02 1.15994e+02 9.66617e+01 7.73294e+01 5.79970e+01 3.86647e+01 + 1.93323e+01 0.00000e+00 + -117.7589 33.4722 10.4987 -41 89 1.00000e+10 28.3325 1.00000e-01 + 180 464.07 20 0.00 0 0.00 0 + 0.00000e+00 7.25116e+02 1.45023e+03 2.90046e+02 2.71918e+02 2.53790e+02 + 2.35663e+02 2.17535e+02 1.99407e+02 1.81279e+02 1.63151e+02 1.45023e+02 + 1.26895e+02 1.08767e+02 9.06395e+01 7.25116e+01 5.43837e+01 3.62558e+01 + 1.81279e+01 0.00000e+00 + -117.7660 33.4790 10.4987 -41 89 1.00000e+10 27.9479 1.00000e-01 + 180 498.25 20 0.00 0 0.00 0 + 0.00000e+00 7.78513e+02 1.55703e+03 3.11405e+02 2.91942e+02 2.72480e+02 + 2.53017e+02 2.33554e+02 2.14091e+02 1.94628e+02 1.75165e+02 1.55703e+02 + 1.36240e+02 1.16777e+02 9.73142e+01 7.78513e+01 5.83885e+01 3.89257e+01 + 1.94628e+01 0.00000e+00 + -117.7731 33.4857 10.4987 -41 89 1.00000e+10 27.5545 1.00000e-01 + 180 549.03 20 0.00 0 0.00 0 + 0.00000e+00 8.57860e+02 1.71572e+03 3.43144e+02 3.21697e+02 3.00251e+02 + 2.78804e+02 2.57358e+02 2.35911e+02 2.14465e+02 1.93018e+02 1.71572e+02 + 1.50125e+02 1.28679e+02 1.07232e+02 8.57860e+01 6.43395e+01 4.28930e+01 + 2.14465e+01 0.00000e+00 + -117.7802 33.4925 10.4987 -41 89 1.00000e+10 27.1624 1.00000e-01 + 180 591.23 20 0.00 0 0.00 0 + 0.00000e+00 9.23802e+02 1.84760e+03 3.69521e+02 3.46426e+02 3.23331e+02 + 3.00236e+02 2.77141e+02 2.54046e+02 2.30950e+02 2.07855e+02 1.84760e+02 + 1.61665e+02 1.38570e+02 1.15475e+02 9.23802e+01 6.92851e+01 4.61901e+01 + 2.30950e+01 0.00000e+00 + -117.7874 33.4993 10.4987 -41 89 1.00000e+10 26.8985 1.00000e-01 + 180 507.69 20 0.00 0 0.00 0 + 0.00000e+00 7.93267e+02 1.58653e+03 3.17307e+02 2.97475e+02 2.77643e+02 + 2.57812e+02 2.37980e+02 2.18148e+02 1.98317e+02 1.78485e+02 1.58653e+02 + 1.38822e+02 1.18990e+02 9.91583e+01 7.93267e+01 5.94950e+01 3.96633e+01 + 1.98317e+01 0.00000e+00 + -117.7945 33.5060 10.4987 -42 89 1.00000e+10 26.6739 1.00000e-01 + 180 388.49 20 0.00 0 0.00 0 + 0.00000e+00 6.07020e+02 1.21404e+03 2.42808e+02 2.27632e+02 2.12457e+02 + 1.97281e+02 1.82106e+02 1.66930e+02 1.51755e+02 1.36579e+02 1.21404e+02 + 1.06228e+02 9.10530e+01 7.58775e+01 6.07020e+01 4.55265e+01 3.03510e+01 + 1.51755e+01 0.00000e+00 + -117.8022 33.5123 10.4987 -49 89 1.00000e+10 26.4340 1.00000e-01 + 180 280.06 20 0.00 0 0.00 0 + 0.00000e+00 4.37600e+02 8.75200e+02 1.75040e+02 1.64100e+02 1.53160e+02 + 1.42220e+02 1.31280e+02 1.20340e+02 1.09400e+02 9.84600e+01 8.75200e+01 + 7.65800e+01 6.56400e+01 5.47000e+01 4.37600e+01 3.28200e+01 2.18800e+01 + 1.09400e+01 0.00000e+00 + -117.8104 33.5182 10.4987 -49 89 1.00000e+10 26.0724 1.00000e-01 + 180 290.93 20 0.00 0 0.00 0 + 0.00000e+00 4.54583e+02 9.09165e+02 1.81833e+02 1.70469e+02 1.59104e+02 + 1.47739e+02 1.36375e+02 1.25010e+02 1.13646e+02 1.02281e+02 9.09165e+01 + 7.95520e+01 6.81874e+01 5.68228e+01 4.54583e+01 3.40937e+01 2.27291e+01 + 1.13646e+01 0.00000e+00 + -117.8186 33.5241 10.4987 -49 89 1.00000e+10 25.7458 1.00000e-01 + 180 272.41 20 0.00 0 0.00 0 + 0.00000e+00 4.25636e+02 8.51272e+02 1.70254e+02 1.59613e+02 1.48973e+02 + 1.38332e+02 1.27691e+02 1.17050e+02 1.06409e+02 9.57681e+01 8.51272e+01 + 7.44863e+01 6.38454e+01 5.32045e+01 4.25636e+01 3.19227e+01 2.12818e+01 + 1.06409e+01 0.00000e+00 + -117.8267 33.5299 10.4987 -49 89 1.00000e+10 25.4941 1.00000e-01 + 180 176.32 20 0.00 0 0.00 0 + 0.00000e+00 2.75507e+02 5.51014e+02 1.10203e+02 1.03315e+02 9.64275e+01 + 8.95398e+01 8.26521e+01 7.57645e+01 6.88768e+01 6.19891e+01 5.51014e+01 + 4.82137e+01 4.13261e+01 3.44384e+01 2.75507e+01 2.06630e+01 1.37754e+01 + 6.88768e+00 0.00000e+00 + -117.8349 33.5358 10.4987 -49 89 1.00000e+10 25.1420 1.00000e-01 + 180 180.60 20 0.00 0 0.00 0 + 0.00000e+00 2.82183e+02 5.64365e+02 1.12873e+02 1.05818e+02 9.87639e+01 + 9.17094e+01 8.46548e+01 7.76002e+01 7.05457e+01 6.34911e+01 5.64365e+01 + 4.93820e+01 4.23274e+01 3.52728e+01 2.82183e+01 2.11637e+01 1.41091e+01 + 7.05457e+00 0.00000e+00 + -117.8431 33.5417 10.4987 -49 89 1.00000e+10 24.8396 1.00000e-01 + 180 134.58 20 0.00 0 0.00 0 + 0.00000e+00 2.10288e+02 4.20576e+02 8.41153e+01 7.88581e+01 7.36009e+01 + 6.83437e+01 6.30865e+01 5.78293e+01 5.25721e+01 4.73148e+01 4.20576e+01 + 3.68004e+01 3.15432e+01 2.62860e+01 2.10288e+01 1.57716e+01 1.05144e+01 + 5.25721e+00 0.00000e+00 + -117.8513 33.5476 10.4987 -49 89 1.00000e+10 24.6141 1.00000e-01 + 180 11.83 20 0.00 0 0.00 0 + 0.00000e+00 1.84839e+01 3.69678e+01 7.39355e+00 6.93145e+00 6.46936e+00 + 6.00726e+00 5.54516e+00 5.08307e+00 4.62097e+00 4.15887e+00 3.69678e+00 + 3.23468e+00 2.77258e+00 2.31048e+00 1.84839e+00 1.38629e+00 9.24194e-01 + 4.62097e-01 0.00000e+00 + -117.8595 33.5534 10.4987 -49 89 1.00000e+10 24.2460 1.00000e-01 + 180 34.38 20 0.00 0 0.00 0 + 0.00000e+00 5.37219e+01 1.07444e+02 2.14888e+01 2.01457e+01 1.88027e+01 + 1.74596e+01 1.61166e+01 1.47735e+01 1.34305e+01 1.20874e+01 1.07444e+01 + 9.40134e+00 8.05829e+00 6.71524e+00 5.37219e+00 4.02915e+00 2.68610e+00 + 1.34305e+00 0.00000e+00 + -117.8676 33.5593 10.4987 -49 89 1.00000e+10 23.8267 1.00000e-01 + 180 104.47 20 0.00 0 0.00 0 + 0.00000e+00 1.63228e+02 3.26456e+02 6.52913e+01 6.12106e+01 5.71299e+01 + 5.30492e+01 4.89685e+01 4.48878e+01 4.08070e+01 3.67263e+01 3.26456e+01 + 2.85649e+01 2.44842e+01 2.04035e+01 1.63228e+01 1.22421e+01 8.16141e+00 + 4.08071e+00 0.00000e+00 + -117.8758 33.5652 10.4987 -49 89 1.00000e+10 23.4628 1.00000e-01 + 180 121.85 20 0.00 0 0.00 0 + 0.00000e+00 1.90394e+02 3.80789e+02 7.61577e+01 7.13979e+01 6.66380e+01 + 6.18782e+01 5.71183e+01 5.23584e+01 4.75986e+01 4.28387e+01 3.80789e+01 + 3.33190e+01 2.85592e+01 2.37993e+01 1.90394e+01 1.42796e+01 9.51972e+00 + 4.75986e+00 0.00000e+00 + -117.8840 33.5710 10.4987 -49 89 1.00000e+10 23.0831 1.00000e-01 + 180 158.88 20 0.00 0 0.00 0 + 0.00000e+00 2.48255e+02 4.96510e+02 9.93021e+01 9.30957e+01 8.68893e+01 + 8.06830e+01 7.44766e+01 6.82702e+01 6.20638e+01 5.58574e+01 4.96511e+01 + 4.34447e+01 3.72383e+01 3.10319e+01 2.48255e+01 1.86191e+01 1.24128e+01 + 6.20638e+00 0.00000e+00 + -117.8922 33.5769 10.4987 -49 89 1.00000e+10 22.7420 1.00000e-01 + 180 150.24 20 0.00 0 0.00 0 + 0.00000e+00 2.34755e+02 4.69509e+02 9.39019e+01 8.80330e+01 8.21642e+01 + 7.62953e+01 7.04264e+01 6.45576e+01 5.86887e+01 5.28198e+01 4.69510e+01 + 4.10821e+01 3.52132e+01 2.93443e+01 2.34755e+01 1.76066e+01 1.17377e+01 + 5.86887e+00 0.00000e+00 + -117.9004 33.5828 10.4987 -49 89 1.00000e+10 22.3601 1.00000e-01 + 180 182.95 20 0.00 0 0.00 0 + 0.00000e+00 2.85856e+02 5.71711e+02 1.14342e+02 1.07196e+02 1.00050e+02 + 9.29031e+01 8.57567e+01 7.86103e+01 7.14639e+01 6.43175e+01 5.71712e+01 + 5.00248e+01 4.28784e+01 3.57320e+01 2.85856e+01 2.14392e+01 1.42928e+01 + 7.14639e+00 0.00000e+00 + -117.9086 33.5886 10.4987 -49 89 1.00000e+10 22.0073 1.00000e-01 + 180 187.45 20 0.00 0 0.00 0 + 0.00000e+00 2.92894e+02 5.85788e+02 1.17158e+02 1.09835e+02 1.02513e+02 + 9.51906e+01 8.78682e+01 8.05459e+01 7.32235e+01 6.59012e+01 5.85788e+01 + 5.12565e+01 4.39341e+01 3.66118e+01 2.92894e+01 2.19671e+01 1.46447e+01 + 7.32235e+00 0.00000e+00 + -117.9160 33.5952 10.4987 -37 89 1.00000e+10 21.5808 1.00000e-01 + 180 268.47 20 0.00 0 0.00 0 + 0.00000e+00 4.19488e+02 8.38976e+02 1.67795e+02 1.57308e+02 1.46821e+02 + 1.36334e+02 1.25846e+02 1.15359e+02 1.04872e+02 9.43848e+01 8.38976e+01 + 7.34104e+01 6.29232e+01 5.24360e+01 4.19488e+01 3.14616e+01 2.09744e+01 + 1.04872e+01 0.00000e+00 + -117.9225 33.6023 10.4987 -37 89 1.00000e+10 21.1823 1.00000e-01 + 180 319.58 20 0.00 0 0.00 0 + 0.00000e+00 4.99340e+02 9.98680e+02 1.99736e+02 1.87253e+02 1.74769e+02 + 1.62286e+02 1.49802e+02 1.37319e+02 1.24835e+02 1.12352e+02 9.98680e+01 + 8.73845e+01 7.49010e+01 6.24175e+01 4.99340e+01 3.74505e+01 2.49670e+01 + 1.24835e+01 0.00000e+00 + -117.9289 33.6095 10.4987 -37 89 1.00000e+10 20.7505 1.00000e-01 + 180 408.08 20 0.00 0 0.00 0 + 0.00000e+00 6.37620e+02 1.27524e+03 2.55048e+02 2.39108e+02 2.23167e+02 + 2.07227e+02 1.91286e+02 1.75346e+02 1.59405e+02 1.43465e+02 1.27524e+02 + 1.11584e+02 9.56430e+01 7.97025e+01 6.37620e+01 4.78215e+01 3.18810e+01 + 1.59405e+01 0.00000e+00 + -117.9355 33.6167 10.4987 -38 89 1.00000e+10 20.4699 1.00000e-01 + 180 340.28 20 0.00 0 0.00 0 + 0.00000e+00 5.31695e+02 1.06339e+03 2.12678e+02 1.99386e+02 1.86093e+02 + 1.72801e+02 1.59508e+02 1.46216e+02 1.32924e+02 1.19631e+02 1.06339e+02 + 9.30466e+01 7.97542e+01 6.64618e+01 5.31695e+01 3.98771e+01 2.65847e+01 + 1.32924e+01 0.00000e+00 + -117.9422 33.6237 10.4987 -39 89 1.00000e+10 20.1936 1.00000e-01 + 180 266.21 20 0.00 0 0.00 0 + 0.00000e+00 4.15952e+02 8.31904e+02 1.66381e+02 1.55982e+02 1.45583e+02 + 1.35184e+02 1.24786e+02 1.14387e+02 1.03988e+02 9.35892e+01 8.31904e+01 + 7.27916e+01 6.23928e+01 5.19940e+01 4.15952e+01 3.11964e+01 2.07976e+01 + 1.03988e+01 0.00000e+00 + -117.9490 33.6308 10.4987 -39 89 1.00000e+10 19.8869 1.00000e-01 + 180 229.54 20 0.00 0 0.00 0 + 0.00000e+00 3.58653e+02 7.17306e+02 1.43461e+02 1.34495e+02 1.25529e+02 + 1.16562e+02 1.07596e+02 9.86295e+01 8.96632e+01 8.06969e+01 7.17306e+01 + 6.27643e+01 5.37979e+01 4.48316e+01 3.58653e+01 2.68990e+01 1.79326e+01 + 8.96632e+00 0.00000e+00 + -117.9557 33.6378 10.4987 -39 89 1.00000e+10 19.6198 1.00000e-01 + 180 149.46 20 0.00 0 0.00 0 + 0.00000e+00 2.33531e+02 4.67061e+02 9.34123e+01 8.75740e+01 8.17357e+01 + 7.58975e+01 7.00592e+01 6.42209e+01 5.83827e+01 5.25444e+01 4.67061e+01 + 4.08679e+01 3.50296e+01 2.91913e+01 2.33531e+01 1.75148e+01 1.16765e+01 + 5.83827e+00 0.00000e+00 + -117.9624 33.6448 10.4987 -39 89 1.00000e+10 19.3038 1.00000e-01 + 180 117.05 20 0.00 0 0.00 0 + 0.00000e+00 1.82898e+02 3.65796e+02 7.31592e+01 6.85867e+01 6.40143e+01 + 5.94418e+01 5.48694e+01 5.02969e+01 4.57245e+01 4.11520e+01 3.65796e+01 + 3.20071e+01 2.74347e+01 2.28622e+01 1.82898e+01 1.37173e+01 9.14490e+00 + 4.57245e+00 0.00000e+00 + -117.9692 33.6519 10.4987 -39 89 1.00000e+10 19.0715 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9759 33.6589 10.4987 -39 89 1.00000e+10 18.7245 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9826 33.6660 10.4987 -39 89 1.00000e+10 18.3800 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9896 33.6729 10.4987 -41 89 1.00000e+10 17.9975 1.00000e-01 + 180 31.28 20 0.00 0 0.00 0 + 0.00000e+00 4.88740e+01 9.77479e+01 1.95496e+01 1.83277e+01 1.71059e+01 + 1.58840e+01 1.46622e+01 1.34403e+01 1.22185e+01 1.09966e+01 9.77479e+00 + 8.55294e+00 7.33110e+00 6.10925e+00 4.88740e+00 3.66555e+00 2.44370e+00 + 1.22185e+00 0.00000e+00 + -117.9975 33.6788 10.4987 -54 89 1.00000e+10 17.5729 1.00000e-01 + 180 110.74 20 0.00 0 0.00 0 + 0.00000e+00 1.73035e+02 3.46070e+02 6.92140e+01 6.48881e+01 6.05623e+01 + 5.62364e+01 5.19105e+01 4.75846e+01 4.32588e+01 3.89329e+01 3.46070e+01 + 3.02811e+01 2.59553e+01 2.16294e+01 1.73035e+01 1.29776e+01 8.65175e+00 + 4.32588e+00 0.00000e+00 + -118.0063 33.6841 10.4987 -54 89 1.00000e+10 17.1323 1.00000e-01 + 180 207.88 20 0.00 0 0.00 0 + 0.00000e+00 3.24805e+02 6.49610e+02 1.29922e+02 1.21802e+02 1.13682e+02 + 1.05562e+02 9.74414e+01 8.93213e+01 8.12012e+01 7.30811e+01 6.49610e+01 + 5.68408e+01 4.87207e+01 4.06006e+01 3.24805e+01 2.43604e+01 1.62402e+01 + 8.12012e+00 0.00000e+00 + -118.0151 33.6893 10.4987 -54 89 1.00000e+10 16.7768 1.00000e-01 + 180 213.36 20 0.00 0 0.00 0 + 0.00000e+00 3.33382e+02 6.66764e+02 1.33353e+02 1.25018e+02 1.16684e+02 + 1.08349e+02 1.00015e+02 9.16801e+01 8.33456e+01 7.50110e+01 6.66764e+01 + 5.83419e+01 5.00073e+01 4.16728e+01 3.33382e+01 2.50037e+01 1.66691e+01 + 8.33455e+00 0.00000e+00 + -118.0239 33.6945 10.4987 -54 89 1.00000e+10 16.4616 1.00000e-01 + 180 183.35 20 0.00 0 0.00 0 + 0.00000e+00 2.86481e+02 5.72962e+02 1.14592e+02 1.07430e+02 1.00268e+02 + 9.31064e+01 8.59443e+01 7.87823e+01 7.16203e+01 6.44583e+01 5.72962e+01 + 5.01342e+01 4.29722e+01 3.58101e+01 2.86481e+01 2.14861e+01 1.43241e+01 + 7.16203e+00 0.00000e+00 + -118.0327 33.6998 10.4987 -54 89 1.00000e+10 16.0739 1.00000e-01 + 180 220.98 20 0.00 0 0.00 0 + 0.00000e+00 3.45288e+02 6.90576e+02 1.38115e+02 1.29483e+02 1.20851e+02 + 1.12219e+02 1.03586e+02 9.49542e+01 8.63220e+01 7.76898e+01 6.90576e+01 + 6.04254e+01 5.17932e+01 4.31610e+01 3.45288e+01 2.58966e+01 1.72644e+01 + 8.63220e+00 0.00000e+00 + -118.0414 33.7051 10.4987 -53 89 1.00000e+10 15.7387 1.00000e-01 + 180 206.55 20 0.00 0 0.00 0 + 0.00000e+00 3.22741e+02 6.45483e+02 1.29097e+02 1.21028e+02 1.12960e+02 + 1.04891e+02 9.68225e+01 8.87539e+01 8.06854e+01 7.26168e+01 6.45483e+01 + 5.64798e+01 4.84112e+01 4.03427e+01 3.22742e+01 2.42056e+01 1.61371e+01 + 8.06854e+00 0.00000e+00 + -118.0499 33.7107 10.4987 -50 89 1.00000e+10 15.3567 1.00000e-01 + 180 242.16 20 0.00 0 0.00 0 + 0.00000e+00 3.78375e+02 7.56750e+02 1.51350e+02 1.41891e+02 1.32431e+02 + 1.22972e+02 1.13512e+02 1.04053e+02 9.45937e+01 8.51344e+01 7.56750e+01 + 6.62156e+01 5.67562e+01 4.72969e+01 3.78375e+01 2.83781e+01 1.89187e+01 + 9.45937e+00 0.00000e+00 + -118.0581 33.7166 10.4987 -48 89 1.00000e+10 14.9878 1.00000e-01 + 180 268.68 20 0.00 0 0.00 0 + 0.00000e+00 4.19808e+02 8.39616e+02 1.67923e+02 1.57428e+02 1.46933e+02 + 1.36438e+02 1.25942e+02 1.15447e+02 1.04952e+02 9.44568e+01 8.39616e+01 + 7.34664e+01 6.29712e+01 5.24760e+01 4.19808e+01 3.14856e+01 2.09904e+01 + 1.04952e+01 0.00000e+00 + -118.0649 33.7234 10.4987 -31 89 1.00000e+10 14.6798 1.00000e-01 + 180 227.76 20 0.00 0 0.00 0 + 0.00000e+00 3.55871e+02 7.11742e+02 1.42348e+02 1.33452e+02 1.24555e+02 + 1.15658e+02 1.06761e+02 9.78646e+01 8.89678e+01 8.00710e+01 7.11742e+01 + 6.22775e+01 5.33807e+01 4.44839e+01 3.55871e+01 2.66903e+01 1.77936e+01 + 8.89678e+00 0.00000e+00 + -118.0704 33.7311 10.4987 -31 89 1.00000e+10 14.3587 1.00000e-01 + 180 202.74 20 0.00 0 0.00 0 + 0.00000e+00 3.16784e+02 6.33568e+02 1.26714e+02 1.18794e+02 1.10874e+02 + 1.02955e+02 9.50351e+01 8.71155e+01 7.91960e+01 7.12764e+01 6.33568e+01 + 5.54372e+01 4.75176e+01 3.95980e+01 3.16784e+01 2.37588e+01 1.58392e+01 + 7.91960e+00 0.00000e+00 + -118.0770 33.7382 10.4987 -44 89 1.00000e+10 13.9966 1.00000e-01 + 180 213.61 20 0.00 0 0.00 0 + 0.00000e+00 3.33771e+02 6.67542e+02 1.33508e+02 1.25164e+02 1.16820e+02 + 1.08476e+02 1.00131e+02 9.17870e+01 8.34427e+01 7.50985e+01 6.67542e+01 + 5.84099e+01 5.00656e+01 4.17214e+01 3.33771e+01 2.50328e+01 1.66885e+01 + 8.34427e+00 0.00000e+00 + -118.0847 33.7444 10.4987 -47 89 1.00000e+10 13.6167 1.00000e-01 + 180 249.65 20 0.00 0 0.00 0 + 0.00000e+00 3.90075e+02 7.80151e+02 1.56030e+02 1.46278e+02 1.36526e+02 + 1.26774e+02 1.17023e+02 1.07271e+02 9.75188e+01 8.77669e+01 7.80151e+01 + 6.82632e+01 5.85113e+01 4.87594e+01 3.90075e+01 2.92556e+01 1.95038e+01 + 9.75188e+00 0.00000e+00 + -118.0927 33.7505 10.4987 -47 89 1.00000e+10 13.3001 1.00000e-01 + 180 221.69 20 0.00 0 0.00 0 + 0.00000e+00 3.46383e+02 6.92766e+02 1.38553e+02 1.29894e+02 1.21234e+02 + 1.12574e+02 1.03915e+02 9.52553e+01 8.65958e+01 7.79362e+01 6.92766e+01 + 6.06170e+01 5.19575e+01 4.32979e+01 3.46383e+01 2.59787e+01 1.73192e+01 + 8.65958e+00 0.00000e+00 + -118.1006 33.7567 10.4987 -47 89 1.00000e+10 13.0018 1.00000e-01 + 180 169.79 20 0.00 0 0.00 0 + 0.00000e+00 2.65292e+02 5.30584e+02 1.06117e+02 9.94844e+01 9.28521e+01 + 8.62198e+01 7.95875e+01 7.29552e+01 6.63229e+01 5.96907e+01 5.30584e+01 + 4.64261e+01 3.97938e+01 3.31615e+01 2.65292e+01 1.98969e+01 1.32646e+01 + 6.63229e+00 0.00000e+00 + -118.1085 33.7628 10.4987 -47 89 1.00000e+10 12.6637 1.00000e-01 + 180 163.91 20 0.00 0 0.00 0 + 0.00000e+00 2.56106e+02 5.12211e+02 1.02442e+02 9.60396e+01 8.96370e+01 + 8.32344e+01 7.68317e+01 7.04291e+01 6.40264e+01 5.76238e+01 5.12211e+01 + 4.48185e+01 3.84159e+01 3.20132e+01 2.56106e+01 1.92079e+01 1.28053e+01 + 6.40264e+00 0.00000e+00 + -118.1168 33.7686 10.4987 -52 89 1.00000e+10 12.3178 1.00000e-01 + 180 156.77 20 0.00 0 0.00 0 + 0.00000e+00 2.44948e+02 4.89897e+02 9.79793e+01 9.18556e+01 8.57319e+01 + 7.96082e+01 7.34845e+01 6.73608e+01 6.12371e+01 5.51134e+01 4.89897e+01 + 4.28659e+01 3.67422e+01 3.06185e+01 2.44948e+01 1.83711e+01 1.22474e+01 + 6.12371e+00 0.00000e+00 + -118.1253 33.7741 10.4987 -52 89 1.00000e+10 11.8444 1.00000e-01 + 180 283.64 20 0.00 0 0.00 0 + 0.00000e+00 4.43195e+02 8.86390e+02 1.77278e+02 1.66198e+02 1.55118e+02 + 1.44038e+02 1.32958e+02 1.21879e+02 1.10799e+02 9.97188e+01 8.86390e+01 + 7.75591e+01 6.64792e+01 5.53993e+01 4.43195e+01 3.32396e+01 2.21597e+01 + 1.10799e+01 0.00000e+00 + -118.1338 33.7797 10.4987 -52 89 1.00000e+10 11.4301 1.00000e-01 + 180 358.12 20 0.00 0 0.00 0 + 0.00000e+00 5.59566e+02 1.11913e+03 2.23826e+02 2.09837e+02 1.95848e+02 + 1.81859e+02 1.67870e+02 1.53881e+02 1.39892e+02 1.25902e+02 1.11913e+02 + 9.79241e+01 8.39349e+01 6.99458e+01 5.59566e+01 4.19675e+01 2.79783e+01 + 1.39892e+01 0.00000e+00 + -118.1424 33.7852 10.4987 -52 89 1.00000e+10 11.0901 1.00000e-01 + 180 346.65 20 0.00 0 0.00 0 + 0.00000e+00 5.41648e+02 1.08330e+03 2.16659e+02 2.03118e+02 1.89577e+02 + 1.76036e+02 1.62495e+02 1.48953e+02 1.35412e+02 1.21871e+02 1.08330e+02 + 9.47885e+01 8.12473e+01 6.77060e+01 5.41648e+01 4.06236e+01 2.70824e+01 + 1.35412e+01 0.00000e+00 + -118.1508 33.7909 10.4987 -51 89 1.00000e+10 10.7141 1.00000e-01 + 180 375.91 20 0.00 0 0.00 0 + 0.00000e+00 5.87359e+02 1.17472e+03 2.34944e+02 2.20260e+02 2.05576e+02 + 1.90892e+02 1.76208e+02 1.61524e+02 1.46840e+02 1.32156e+02 1.17472e+02 + 1.02788e+02 8.81038e+01 7.34198e+01 5.87359e+01 4.40519e+01 2.93679e+01 + 1.46840e+01 0.00000e+00 + -118.1592 33.7966 10.4987 -50 89 1.00000e+10 10.2289 1.00000e-01 + 180 514.52 20 0.00 0 0.00 0 + 0.00000e+00 8.03934e+02 1.60787e+03 3.21573e+02 3.01475e+02 2.81377e+02 + 2.61278e+02 2.41180e+02 2.21082e+02 2.00983e+02 1.80885e+02 1.60787e+02 + 1.40688e+02 1.20590e+02 1.00492e+02 8.03933e+01 6.02950e+01 4.01967e+01 + 2.00983e+01 0.00000e+00 + -118.1675 33.8023 10.4987 -50 89 1.00000e+10 9.7773 1.00000e-01 + 180 622.65 20 0.00 0 0.00 0 + 0.00000e+00 9.72893e+02 1.94579e+03 3.89157e+02 3.64835e+02 3.40513e+02 + 3.16190e+02 2.91868e+02 2.67546e+02 2.43223e+02 2.18901e+02 1.94579e+02 + 1.70256e+02 1.45934e+02 1.21612e+02 9.72893e+01 7.29670e+01 4.86447e+01 + 2.43223e+01 0.00000e+00 + -118.1759 33.8080 10.4987 -50 89 1.00000e+10 9.4995 1.00000e-01 + 180 549.14 20 0.00 0 0.00 0 + 0.00000e+00 8.58024e+02 1.71605e+03 3.43210e+02 3.21759e+02 3.00308e+02 + 2.78858e+02 2.57407e+02 2.35957e+02 2.14506e+02 1.93055e+02 1.71605e+02 + 1.50154e+02 1.28704e+02 1.07253e+02 8.58024e+01 6.43518e+01 4.29012e+01 + 2.14506e+01 0.00000e+00 + -118.1842 33.8138 10.4987 -50 89 1.00000e+10 9.2710 1.00000e-01 + 180 431.99 20 0.00 0 0.00 0 + 0.00000e+00 6.74977e+02 1.34995e+03 2.69991e+02 2.53116e+02 2.36242e+02 + 2.19368e+02 2.02493e+02 1.85619e+02 1.68744e+02 1.51870e+02 1.34995e+02 + 1.18121e+02 1.01247e+02 8.43721e+01 6.74977e+01 5.06233e+01 3.37489e+01 + 1.68744e+01 0.00000e+00 + -118.1926 33.8195 10.4987 -50 89 1.00000e+10 9.0893 1.00000e-01 + 180 266.48 20 0.00 0 0.00 0 + 0.00000e+00 4.16377e+02 8.32754e+02 1.66551e+02 1.56141e+02 1.45732e+02 + 1.35322e+02 1.24913e+02 1.14504e+02 1.04094e+02 9.36848e+01 8.32754e+01 + 7.28659e+01 6.24565e+01 5.20471e+01 4.16377e+01 3.12283e+01 2.08188e+01 + 1.04094e+01 0.00000e+00 + -118.2009 33.8253 10.4987 -50 89 1.00000e+10 8.7252 1.00000e-01 + 180 284.92 20 0.00 0 0.00 0 + 0.00000e+00 4.45191e+02 8.90383e+02 1.78077e+02 1.66947e+02 1.55817e+02 + 1.44687e+02 1.33557e+02 1.22428e+02 1.11298e+02 1.00168e+02 8.90383e+01 + 7.79085e+01 6.67787e+01 5.56489e+01 4.45191e+01 3.33894e+01 2.22596e+01 + 1.11298e+01 0.00000e+00 + -118.2091 33.8311 10.4987 -49 89 1.00000e+10 8.4075 1.00000e-01 + 180 254.03 20 0.00 0 0.00 0 + 0.00000e+00 3.96921e+02 7.93842e+02 1.58768e+02 1.48845e+02 1.38922e+02 + 1.28999e+02 1.19076e+02 1.09153e+02 9.92302e+01 8.93072e+01 7.93842e+01 + 6.94612e+01 5.95381e+01 4.96151e+01 3.96921e+01 2.97691e+01 1.98460e+01 + 9.92302e+00 0.00000e+00 + -118.2176 33.8367 10.4987 -54 89 1.00000e+10 8.1580 1.00000e-01 + 180 151.79 20 0.00 0 0.00 0 + 0.00000e+00 2.37177e+02 4.74354e+02 9.48708e+01 8.89414e+01 8.30119e+01 + 7.70825e+01 7.11531e+01 6.52237e+01 5.92942e+01 5.33648e+01 4.74354e+01 + 4.15060e+01 3.55765e+01 2.96471e+01 2.37177e+01 1.77883e+01 1.18588e+01 + 5.92942e+00 0.00000e+00 + -118.2263 33.8420 10.4987 -54 89 1.00000e+10 7.8705 1.00000e-01 + 180 96.26 20 0.00 0 0.00 0 + 0.00000e+00 1.50404e+02 3.00807e+02 6.01615e+01 5.64014e+01 5.26413e+01 + 4.88812e+01 4.51211e+01 4.13610e+01 3.76009e+01 3.38408e+01 3.00807e+01 + 2.63207e+01 2.25606e+01 1.88005e+01 1.50404e+01 1.12803e+01 7.52019e+00 + 3.76009e+00 0.00000e+00 + -118.2337 33.8484 10.4987 -33 89 1.00000e+10 7.5725 1.00000e-01 + 180 44.96 20 0.00 0 0.00 0 + 0.00000e+00 7.02462e+01 1.40492e+02 2.80985e+01 2.63423e+01 2.45862e+01 + 2.28300e+01 2.10739e+01 1.93177e+01 1.75616e+01 1.58054e+01 1.40492e+01 + 1.22931e+01 1.05369e+01 8.78078e+00 7.02462e+00 5.26847e+00 3.51231e+00 + 1.75616e+00 0.00000e+00 + -118.2396 33.8560 10.4987 -33 89 1.00000e+10 7.1864 1.00000e-01 + 180 86.53 20 0.00 0 0.00 0 + 0.00000e+00 1.35195e+02 2.70391e+02 5.40782e+01 5.06983e+01 4.73184e+01 + 4.39385e+01 4.05586e+01 3.71787e+01 3.37989e+01 3.04190e+01 2.70391e+01 + 2.36592e+01 2.02793e+01 1.68994e+01 1.35195e+01 1.01397e+01 6.75977e+00 + 3.37989e+00 0.00000e+00 + -118.2455 33.8635 10.4987 -33 89 1.00000e+10 6.7264 1.00000e-01 + 180 197.85 20 0.00 0 0.00 0 + 0.00000e+00 3.09143e+02 6.18286e+02 1.23657e+02 1.15929e+02 1.08200e+02 + 1.00471e+02 9.27429e+01 8.50143e+01 7.72857e+01 6.95572e+01 6.18286e+01 + 5.41000e+01 4.63714e+01 3.86429e+01 3.09143e+01 2.31857e+01 1.54571e+01 + 7.72857e+00 0.00000e+00 + -118.2514 33.8711 10.4987 -33 89 1.00000e+10 6.3586 1.00000e-01 + 180 222.86 20 0.00 0 0.00 0 + 0.00000e+00 3.48220e+02 6.96439e+02 1.39288e+02 1.30582e+02 1.21877e+02 + 1.13171e+02 1.04466e+02 9.57604e+01 8.70549e+01 7.83494e+01 6.96439e+01 + 6.09384e+01 5.22330e+01 4.35275e+01 3.48220e+01 2.61165e+01 1.74110e+01 + 8.70549e+00 0.00000e+00 + -118.2573 33.8786 10.4987 -33 89 1.00000e+10 5.9858 1.00000e-01 + 180 247.49 20 0.00 0 0.00 0 + 0.00000e+00 3.86706e+02 7.73411e+02 1.54682e+02 1.45015e+02 1.35347e+02 + 1.25679e+02 1.16012e+02 1.06344e+02 9.66764e+01 8.70088e+01 7.73411e+01 + 6.76735e+01 5.80058e+01 4.83382e+01 3.86706e+01 2.90029e+01 1.93353e+01 + 9.66764e+00 0.00000e+00 + -118.2634 33.8861 10.4987 -35 89 1.00000e+10 5.6001 1.00000e-01 + 180 284.21 20 0.00 0 0.00 0 + 0.00000e+00 4.44077e+02 8.88154e+02 1.77631e+02 1.66529e+02 1.55427e+02 + 1.44325e+02 1.33223e+02 1.22121e+02 1.11019e+02 9.99174e+01 8.88154e+01 + 7.77135e+01 6.66116e+01 5.55097e+01 4.44077e+01 3.33058e+01 2.22039e+01 + 1.11019e+01 0.00000e+00 + -118.2697 33.8934 10.4987 -36 89 1.00000e+10 5.3608 1.00000e-01 + 180 178.14 20 0.00 0 0.00 0 + 0.00000e+00 2.78341e+02 5.56683e+02 1.11337e+02 1.04378e+02 9.74195e+01 + 9.04609e+01 8.35024e+01 7.65439e+01 6.95853e+01 6.26268e+01 5.56683e+01 + 4.87097e+01 4.17512e+01 3.47927e+01 2.78341e+01 2.08756e+01 1.39171e+01 + 6.95853e+00 0.00000e+00 + -118.2761 33.9006 10.4987 -36 89 1.00000e+10 5.0544 1.00000e-01 + 180 138.02 20 0.00 0 0.00 0 + 0.00000e+00 2.15657e+02 4.31315e+02 8.62630e+01 8.08715e+01 7.54801e+01 + 7.00887e+01 6.46972e+01 5.93058e+01 5.39144e+01 4.85229e+01 4.31315e+01 + 3.77400e+01 3.23486e+01 2.69572e+01 2.15657e+01 1.61743e+01 1.07829e+01 + 5.39144e+00 0.00000e+00 + -118.2826 33.9078 10.4987 -36 89 1.00000e+10 4.6916 1.00000e-01 + 180 155.01 20 0.00 0 0.00 0 + 0.00000e+00 2.42198e+02 4.84396e+02 9.68793e+01 9.08243e+01 8.47694e+01 + 7.87144e+01 7.26595e+01 6.66045e+01 6.05495e+01 5.44946e+01 4.84396e+01 + 4.23847e+01 3.63297e+01 3.02748e+01 2.42198e+01 1.81649e+01 1.21099e+01 + 6.05495e+00 0.00000e+00 + -118.2889 33.9152 10.4987 -35 89 1.00000e+10 4.2985 1.00000e-01 + 180 201.19 20 0.00 0 0.00 0 + 0.00000e+00 3.14364e+02 6.28729e+02 1.25746e+02 1.17887e+02 1.10028e+02 + 1.02168e+02 9.43093e+01 8.64502e+01 7.85911e+01 7.07320e+01 6.28729e+01 + 5.50138e+01 4.71547e+01 3.92956e+01 3.14364e+01 2.35773e+01 1.57182e+01 + 7.85911e+00 0.00000e+00 + -118.2950 33.9226 10.4987 -34 89 1.00000e+10 3.9783 1.00000e-01 + 180 178.75 20 0.00 0 0.00 0 + 0.00000e+00 2.79293e+02 5.58586e+02 1.11717e+02 1.04735e+02 9.77525e+01 + 9.07702e+01 8.37879e+01 7.68056e+01 6.98232e+01 6.28409e+01 5.58586e+01 + 4.88763e+01 4.18939e+01 3.49116e+01 2.79293e+01 2.09470e+01 1.39646e+01 + 6.98232e+00 0.00000e+00 + -118.3018 33.9292 10.4987 -47 89 1.00000e+10 3.6372 1.00000e-01 + 180 173.28 20 0.00 0 0.00 0 + 0.00000e+00 2.70750e+02 5.41500e+02 1.08300e+02 1.01531e+02 9.47625e+01 + 8.79937e+01 8.12250e+01 7.44562e+01 6.76875e+01 6.09187e+01 5.41500e+01 + 4.73812e+01 4.06125e+01 3.38437e+01 2.70750e+01 2.03062e+01 1.35375e+01 + 6.76875e+00 0.00000e+00 + -118.3109 33.9330 10.4987 -78 89 1.00000e+10 3.2905 1.00000e-01 + 180 175.31 20 0.00 0 0.00 0 + 0.00000e+00 2.73922e+02 5.47845e+02 1.09569e+02 1.02721e+02 9.58728e+01 + 8.90248e+01 8.21767e+01 7.53287e+01 6.84806e+01 6.16325e+01 5.47845e+01 + 4.79364e+01 4.10884e+01 3.42403e+01 2.73922e+01 2.05442e+01 1.36961e+01 + 6.84806e+00 0.00000e+00 + -118.3191 33.9377 10.4987 -33 89 1.00000e+10 2.9664 1.00000e-01 + 180 155.20 20 0.00 0 0.00 0 + 0.00000e+00 2.42507e+02 4.85015e+02 9.70030e+01 9.09403e+01 8.48776e+01 + 7.88149e+01 7.27522e+01 6.66896e+01 6.06269e+01 5.45642e+01 4.85015e+01 + 4.24388e+01 3.63761e+01 3.03134e+01 2.42507e+01 1.81881e+01 1.21254e+01 + 6.06269e+00 0.00000e+00 + -118.3249 33.9452 10.4987 -32 89 1.00000e+10 2.6014 1.00000e-01 + 180 173.58 20 0.00 0 0.00 0 + 0.00000e+00 2.71226e+02 5.42452e+02 1.08490e+02 1.01710e+02 9.49292e+01 + 8.81485e+01 8.13679e+01 7.45872e+01 6.78065e+01 6.10259e+01 5.42452e+01 + 4.74646e+01 4.06839e+01 3.39033e+01 2.71226e+01 2.03420e+01 1.35613e+01 + 6.78066e+00 0.00000e+00 + -118.3322 33.9515 10.4987 -56 89 1.00000e+10 2.2933 1.00000e-01 + 180 143.23 20 0.00 0 0.00 0 + 0.00000e+00 2.23793e+02 4.47587e+02 8.95174e+01 8.39225e+01 7.83277e+01 + 7.27329e+01 6.71380e+01 6.15432e+01 5.59484e+01 5.03535e+01 4.47587e+01 + 3.91638e+01 3.35690e+01 2.79742e+01 2.23793e+01 1.67845e+01 1.11897e+01 + 5.59484e+00 0.00000e+00 + -118.3412 33.9566 10.4987 -56 89 1.00000e+10 1.9453 1.00000e-01 + 180 147.28 20 0.00 0 0.00 0 + 0.00000e+00 2.30129e+02 4.60257e+02 9.20514e+01 8.62982e+01 8.05450e+01 + 7.47918e+01 6.90386e+01 6.32854e+01 5.75321e+01 5.17789e+01 4.60257e+01 + 4.02725e+01 3.45193e+01 2.87661e+01 2.30129e+01 1.72596e+01 1.15064e+01 + 5.75321e+00 0.00000e+00 + -118.3491 33.9622 10.4987 -42 89 1.00000e+10 1.6088 1.00000e-01 + 180 146.57 20 0.00 0 0.00 0 + 0.00000e+00 2.29008e+02 4.58016e+02 9.16033e+01 8.58781e+01 8.01529e+01 + 7.44277e+01 6.87025e+01 6.29773e+01 5.72521e+01 5.15269e+01 4.58016e+01 + 4.00764e+01 3.43512e+01 2.86260e+01 2.29008e+01 1.71756e+01 1.14504e+01 + 5.72521e+00 0.00000e+00 + -118.3536 33.9698 10.4987 -12 89 1.00000e+10 1.3010 1.00000e-01 + 180 123.32 20 0.00 0 0.00 0 + 0.00000e+00 1.92685e+02 3.85370e+02 7.70741e+01 7.22570e+01 6.74398e+01 + 6.26227e+01 5.78056e+01 5.29884e+01 4.81713e+01 4.33542e+01 3.85370e+01 + 3.37199e+01 2.89028e+01 2.40857e+01 1.92685e+01 1.44514e+01 9.63426e+00 + 4.81713e+00 0.00000e+00 + -118.3559 33.9786 10.4987 -12 89 1.00000e+10 0.9625 1.00000e-01 + 180 145.13 20 0.00 0 0.00 0 + 0.00000e+00 2.26770e+02 4.53540e+02 9.07079e+01 8.50387e+01 7.93694e+01 + 7.37002e+01 6.80310e+01 6.23617e+01 5.66925e+01 5.10232e+01 4.53540e+01 + 3.96847e+01 3.40155e+01 2.83462e+01 2.26770e+01 1.70077e+01 1.13385e+01 + 5.66925e+00 0.00000e+00 + -118.3585 33.9873 10.4987 -15 89 1.00000e+10 0.6985 1.00000e-01 + 180 106.50 20 0.00 0 0.00 0 + 0.00000e+00 1.66400e+02 3.32800e+02 6.65599e+01 6.23999e+01 5.82399e+01 + 5.40799e+01 4.99199e+01 4.57599e+01 4.15999e+01 3.74400e+01 3.32800e+01 + 2.91200e+01 2.49600e+01 2.08000e+01 1.66400e+01 1.24800e+01 8.31999e+00 + 4.15999e+00 0.00000e+00 + -118.3620 33.9958 10.4987 -23 89 1.00000e+10 0.4984 1.00000e-01 + 180 64.24 20 0.00 0 0.00 0 + 0.00000e+00 1.00374e+02 2.00748e+02 4.01496e+01 3.76403e+01 3.51309e+01 + 3.26216e+01 3.01122e+01 2.76029e+01 2.50935e+01 2.25842e+01 2.00748e+01 + 1.75655e+01 1.50561e+01 1.25468e+01 1.00374e+01 7.52805e+00 5.01870e+00 + 2.50935e+00 0.00000e+00 + -118.3663 34.0040 10.4987 -24 89 1.00000e+10 0.3973 1.00000e-01 + 180 57.82 20 0.00 0 0.00 0 + 0.00000e+00 9.03489e+01 1.80698e+02 3.61396e+01 3.38808e+01 3.16221e+01 + 2.93634e+01 2.71047e+01 2.48459e+01 2.25872e+01 2.03285e+01 1.80698e+01 + 1.58111e+01 1.35523e+01 1.12936e+01 9.03489e+00 6.77617e+00 4.51744e+00 + 2.25872e+00 0.00000e+00 + -118.3707 34.0123 10.4987 -24 89 1.00000e+10 0.5140 1.00000e-01 + 180 48.50 20 0.00 0 0.00 0 + 0.00000e+00 7.57764e+01 1.51553e+02 3.03106e+01 2.84161e+01 2.65217e+01 + 2.46273e+01 2.27329e+01 2.08385e+01 1.89441e+01 1.70497e+01 1.51553e+01 + 1.32609e+01 1.13665e+01 9.47205e+00 7.57764e+00 5.68323e+00 3.78882e+00 + 1.89441e+00 0.00000e+00 + -118.3752 34.0205 10.4987 -24 89 1.00000e+10 0.7587 1.00000e-01 + 180 45.78 20 0.00 0 0.00 0 + 0.00000e+00 7.15373e+01 1.43075e+02 2.86149e+01 2.68265e+01 2.50381e+01 + 2.32496e+01 2.14612e+01 1.96728e+01 1.78843e+01 1.60959e+01 1.43075e+01 + 1.25190e+01 1.07306e+01 8.94216e+00 7.15373e+00 5.36530e+00 3.57687e+00 + 1.78843e+00 0.00000e+00 + -118.3796 34.0287 10.4987 -24 89 1.00000e+10 1.0822 1.00000e-01 + 180 24.35 20 0.00 0 0.00 0 + 0.00000e+00 3.80525e+01 7.61049e+01 1.52210e+01 1.42697e+01 1.33184e+01 + 1.23671e+01 1.14157e+01 1.04644e+01 9.51312e+00 8.56180e+00 7.61049e+00 + 6.65918e+00 5.70787e+00 4.75656e+00 3.80525e+00 2.85393e+00 1.90262e+00 + 9.51312e-01 0.00000e+00 + -117.3556 33.0612 11.4986 -33 89 1.00000e+10 49.5607 1.00000e-01 + 180 21.40 20 0.00 0 0.00 0 + 0.00000e+00 3.34349e+01 6.68697e+01 1.33739e+01 1.25381e+01 1.17022e+01 + 1.08663e+01 1.00305e+01 9.19459e+00 8.35871e+00 7.52284e+00 6.68697e+00 + 5.85110e+00 5.01523e+00 4.17936e+00 3.34349e+00 2.50761e+00 1.67174e+00 + 8.35871e-01 0.00000e+00 + -117.3615 33.0688 11.4986 -33 89 1.00000e+10 49.1951 1.00000e-01 + 180 39.94 20 0.00 0 0.00 0 + 0.00000e+00 6.24067e+01 1.24813e+02 2.49627e+01 2.34025e+01 2.18424e+01 + 2.02822e+01 1.87220e+01 1.71619e+01 1.56017e+01 1.40415e+01 1.24813e+01 + 1.09212e+01 9.36101e+00 7.80084e+00 6.24067e+00 4.68051e+00 3.12034e+00 + 1.56017e+00 0.00000e+00 + -117.3673 33.0763 11.4986 -33 89 1.00000e+10 48.8394 1.00000e-01 + 180 48.44 20 0.00 0 0.00 0 + 0.00000e+00 7.56906e+01 1.51381e+02 3.02762e+01 2.83840e+01 2.64917e+01 + 2.45994e+01 2.27072e+01 2.08149e+01 1.89227e+01 1.70304e+01 1.51381e+01 + 1.32459e+01 1.13536e+01 9.46133e+00 7.56906e+00 5.67680e+00 3.78453e+00 + 1.89227e+00 0.00000e+00 + -117.3733 33.0837 11.4986 -36 89 1.00000e+10 48.4560 1.00000e-01 + 180 84.96 20 0.00 0 0.00 0 + 0.00000e+00 1.32744e+02 2.65488e+02 5.30977e+01 4.97791e+01 4.64605e+01 + 4.31419e+01 3.98233e+01 3.65047e+01 3.31860e+01 2.98674e+01 2.65488e+01 + 2.32302e+01 1.99116e+01 1.65930e+01 1.32744e+01 9.95581e+00 6.63721e+00 + 3.31860e+00 0.00000e+00 + -117.3808 33.0899 11.4986 -55 89 1.00000e+10 48.0648 1.00000e-01 + 180 129.36 20 0.00 0 0.00 0 + 0.00000e+00 2.02118e+02 4.04236e+02 8.08473e+01 7.57943e+01 7.07413e+01 + 6.56884e+01 6.06354e+01 5.55825e+01 5.05295e+01 4.54766e+01 4.04236e+01 + 3.53707e+01 3.03177e+01 2.52648e+01 2.02118e+01 1.51589e+01 1.01059e+01 + 5.05295e+00 0.00000e+00 + -117.3896 33.0951 11.4986 -55 89 1.00000e+10 47.7778 1.00000e-01 + 180 68.59 20 0.00 0 0.00 0 + 0.00000e+00 1.07176e+02 2.14351e+02 4.28703e+01 4.01909e+01 3.75115e+01 + 3.48321e+01 3.21527e+01 2.94733e+01 2.67939e+01 2.41145e+01 2.14351e+01 + 1.87557e+01 1.60763e+01 1.33970e+01 1.07176e+01 8.03817e+00 5.35878e+00 + 2.67939e+00 0.00000e+00 + -117.3980 33.1007 11.4986 -48 89 1.00000e+10 47.4754 1.00000e-01 + 180 23.30 20 0.00 0 0.00 0 + 0.00000e+00 3.64120e+01 7.28239e+01 1.45648e+01 1.36545e+01 1.27442e+01 + 1.18339e+01 1.09236e+01 1.00133e+01 9.10299e+00 8.19269e+00 7.28239e+00 + 6.37209e+00 5.46179e+00 4.55149e+00 3.64120e+00 2.73090e+00 1.82060e+00 + 9.10299e-01 0.00000e+00 + -117.4060 33.1067 11.4986 -47 89 1.00000e+10 47.1303 1.00000e-01 + 180 21.17 20 0.00 0 0.00 0 + 0.00000e+00 3.30818e+01 6.61635e+01 1.32327e+01 1.24057e+01 1.15786e+01 + 1.07516e+01 9.92453e+00 9.09749e+00 8.27044e+00 7.44340e+00 6.61635e+00 + 5.78931e+00 4.96226e+00 4.13522e+00 3.30818e+00 2.48113e+00 1.65409e+00 + 8.27044e-01 0.00000e+00 + -117.4131 33.1134 11.4986 -36 89 1.00000e+10 46.8041 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4191 33.1208 11.4986 -33 89 1.00000e+10 46.4569 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4227 33.1290 11.4986 -8 89 1.00000e+10 46.1097 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4243 33.1379 11.4986 -8 89 1.00000e+10 45.7624 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4258 33.1468 11.4986 -8 89 1.00000e+10 45.4152 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4283 33.1554 11.4986 -20 89 1.00000e+10 45.0680 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4334 33.1630 11.4986 -39 89 1.00000e+10 44.7208 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4401 33.1700 11.4986 -39 89 1.00000e+10 44.3569 1.00000e-01 + 180 16.86 20 0.00 0 0.00 0 + 0.00000e+00 2.63363e+01 5.26727e+01 1.05345e+01 9.87613e+00 9.21772e+00 + 8.55931e+00 7.90090e+00 7.24249e+00 6.58408e+00 5.92568e+00 5.26727e+00 + 4.60886e+00 3.95045e+00 3.29204e+00 2.63363e+00 1.97523e+00 1.31682e+00 + 6.58408e-01 0.00000e+00 + -117.4469 33.1770 11.4986 -39 89 1.00000e+10 43.9012 1.00000e-01 + 180 126.28 20 0.00 0 0.00 0 + 0.00000e+00 1.97310e+02 3.94621e+02 7.89242e+01 7.39914e+01 6.90587e+01 + 6.41259e+01 5.91931e+01 5.42604e+01 4.93276e+01 4.43949e+01 3.94621e+01 + 3.45293e+01 2.95966e+01 2.46638e+01 1.97310e+01 1.47983e+01 9.86552e+00 + 4.93276e+00 0.00000e+00 + -117.4536 33.1840 11.4986 -39 89 1.00000e+10 43.4424 1.00000e-01 + 180 238.84 20 0.00 0 0.00 0 + 0.00000e+00 3.73193e+02 7.46386e+02 1.49277e+02 1.39947e+02 1.30618e+02 + 1.21288e+02 1.11958e+02 1.02628e+02 9.32982e+01 8.39684e+01 7.46386e+01 + 6.53088e+01 5.59789e+01 4.66491e+01 3.73193e+01 2.79895e+01 1.86596e+01 + 9.32982e+00 0.00000e+00 + -117.4603 33.1911 11.4986 -39 89 1.00000e+10 43.0593 1.00000e-01 + 180 275.09 20 0.00 0 0.00 0 + 0.00000e+00 4.29829e+02 8.59658e+02 1.71932e+02 1.61186e+02 1.50440e+02 + 1.39695e+02 1.28949e+02 1.18203e+02 1.07457e+02 9.67116e+01 8.59658e+01 + 7.52201e+01 6.44744e+01 5.37286e+01 4.29829e+01 3.22372e+01 2.14915e+01 + 1.07457e+01 0.00000e+00 + -117.4671 33.1981 11.4986 -39 89 1.00000e+10 42.6418 1.00000e-01 + 180 346.02 20 0.00 0 0.00 0 + 0.00000e+00 5.40653e+02 1.08131e+03 2.16261e+02 2.02745e+02 1.89229e+02 + 1.75712e+02 1.62196e+02 1.48680e+02 1.35163e+02 1.21647e+02 1.08131e+02 + 9.46143e+01 8.10980e+01 6.75816e+01 5.40653e+01 4.05490e+01 2.70327e+01 + 1.35163e+01 0.00000e+00 + -117.4738 33.2051 11.4986 -39 89 1.00000e+10 42.2842 1.00000e-01 + 180 356.49 20 0.00 0 0.00 0 + 0.00000e+00 5.57012e+02 1.11402e+03 2.22805e+02 2.08879e+02 1.94954e+02 + 1.81029e+02 1.67104e+02 1.53178e+02 1.39253e+02 1.25328e+02 1.11402e+02 + 9.74771e+01 8.35518e+01 6.96265e+01 5.57012e+01 4.17759e+01 2.78506e+01 + 1.39253e+01 0.00000e+00 + -117.4805 33.2121 11.4986 -39 89 1.00000e+10 41.9488 1.00000e-01 + 180 344.55 20 0.00 0 0.00 0 + 0.00000e+00 5.38357e+02 1.07671e+03 2.15343e+02 2.01884e+02 1.88425e+02 + 1.74966e+02 1.61507e+02 1.48048e+02 1.34589e+02 1.21130e+02 1.07671e+02 + 9.42125e+01 8.07536e+01 6.72946e+01 5.38357e+01 4.03768e+01 2.69179e+01 + 1.34589e+01 0.00000e+00 + -117.4881 33.2184 11.4986 -51 89 1.00000e+10 41.6046 1.00000e-01 + 180 341.46 20 0.00 0 0.00 0 + 0.00000e+00 5.33536e+02 1.06707e+03 2.13414e+02 2.00076e+02 1.86738e+02 + 1.73399e+02 1.60061e+02 1.46722e+02 1.33384e+02 1.20046e+02 1.06707e+02 + 9.33688e+01 8.00304e+01 6.66920e+01 5.33536e+01 4.00152e+01 2.66768e+01 + 1.33384e+01 0.00000e+00 + -117.4967 33.2238 11.4986 -55 89 1.00000e+10 41.2260 1.00000e-01 + 180 373.18 20 0.00 0 0.00 0 + 0.00000e+00 5.83099e+02 1.16620e+03 2.33240e+02 2.18662e+02 2.04085e+02 + 1.89507e+02 1.74930e+02 1.60352e+02 1.45775e+02 1.31197e+02 1.16620e+02 + 1.02042e+02 8.74649e+01 7.28874e+01 5.83099e+01 4.37325e+01 2.91550e+01 + 1.45775e+01 0.00000e+00 + -117.5055 33.2289 11.4986 -55 89 1.00000e+10 40.8027 1.00000e-01 + 180 449.94 20 0.00 0 0.00 0 + 0.00000e+00 7.03030e+02 1.40606e+03 2.81212e+02 2.63636e+02 2.46060e+02 + 2.28485e+02 2.10909e+02 1.93333e+02 1.75757e+02 1.58182e+02 1.40606e+02 + 1.23030e+02 1.05454e+02 8.78787e+01 7.03030e+01 5.27272e+01 3.51515e+01 + 1.75757e+01 0.00000e+00 + -117.5143 33.2341 11.4986 -55 89 1.00000e+10 40.3952 1.00000e-01 + 180 510.72 20 0.00 0 0.00 0 + 0.00000e+00 7.97998e+02 1.59600e+03 3.19199e+02 2.99249e+02 2.79299e+02 + 2.59349e+02 2.39399e+02 2.19449e+02 1.99499e+02 1.79550e+02 1.59600e+02 + 1.39650e+02 1.19700e+02 9.97497e+01 7.97998e+01 5.98498e+01 3.98999e+01 + 1.99499e+01 0.00000e+00 + -117.5231 33.2392 11.4986 -55 89 1.00000e+10 40.0683 1.00000e-01 + 180 490.20 20 0.00 0 0.00 0 + 0.00000e+00 7.65940e+02 1.53188e+03 3.06376e+02 2.87228e+02 2.68079e+02 + 2.48931e+02 2.29782e+02 2.10634e+02 1.91485e+02 1.72337e+02 1.53188e+02 + 1.34040e+02 1.14891e+02 9.57425e+01 7.65940e+01 5.74455e+01 3.82970e+01 + 1.91485e+01 0.00000e+00 + -117.5320 33.2444 11.4986 -55 89 1.00000e+10 39.7869 1.00000e-01 + 180 423.77 20 0.00 0 0.00 0 + 0.00000e+00 6.62143e+02 1.32429e+03 2.64857e+02 2.48304e+02 2.31750e+02 + 2.15196e+02 1.98643e+02 1.82089e+02 1.65536e+02 1.48982e+02 1.32429e+02 + 1.15875e+02 9.93214e+01 8.27679e+01 6.62143e+01 4.96607e+01 3.31072e+01 + 1.65536e+01 0.00000e+00 + -117.5408 33.2495 11.4986 -55 89 1.00000e+10 39.4944 1.00000e-01 + 180 368.57 20 0.00 0 0.00 0 + 0.00000e+00 5.75884e+02 1.15177e+03 2.30353e+02 2.15956e+02 2.01559e+02 + 1.87162e+02 1.72765e+02 1.58368e+02 1.43971e+02 1.29574e+02 1.15177e+02 + 1.00780e+02 8.63826e+01 7.19855e+01 5.75884e+01 4.31913e+01 2.87942e+01 + 1.43971e+01 0.00000e+00 + -117.5486 33.2556 11.4986 -39 89 1.00000e+10 39.0316 1.00000e-01 + 180 485.27 20 0.00 0 0.00 0 + 0.00000e+00 7.58232e+02 1.51646e+03 3.03293e+02 2.84337e+02 2.65381e+02 + 2.46425e+02 2.27470e+02 2.08514e+02 1.89558e+02 1.70602e+02 1.51646e+02 + 1.32691e+02 1.13735e+02 9.47790e+01 7.58232e+01 5.68674e+01 3.79116e+01 + 1.89558e+01 0.00000e+00 + -117.5553 33.2626 11.4986 -38 89 1.00000e+10 38.6098 1.00000e-01 + 180 560.54 20 0.00 0 0.00 0 + 0.00000e+00 8.75836e+02 1.75167e+03 3.50334e+02 3.28439e+02 3.06543e+02 + 2.84647e+02 2.62751e+02 2.40855e+02 2.18959e+02 1.97063e+02 1.75167e+02 + 1.53271e+02 1.31375e+02 1.09480e+02 8.75836e+01 6.56877e+01 4.37918e+01 + 2.18959e+01 0.00000e+00 + -117.5619 33.2697 11.4986 -38 89 1.00000e+10 38.2604 1.00000e-01 + 180 562.69 20 0.00 0 0.00 0 + 0.00000e+00 8.79201e+02 1.75840e+03 3.51681e+02 3.29701e+02 3.07720e+02 + 2.85740e+02 2.63760e+02 2.41780e+02 2.19800e+02 1.97820e+02 1.75840e+02 + 1.53860e+02 1.31880e+02 1.09900e+02 8.79201e+01 6.59401e+01 4.39601e+01 + 2.19800e+01 0.00000e+00 + -117.5685 33.2768 11.4986 -38 89 1.00000e+10 37.9419 1.00000e-01 + 180 533.68 20 0.00 0 0.00 0 + 0.00000e+00 8.33869e+02 1.66774e+03 3.33548e+02 3.12701e+02 2.91854e+02 + 2.71008e+02 2.50161e+02 2.29314e+02 2.08467e+02 1.87621e+02 1.66774e+02 + 1.45927e+02 1.25080e+02 1.04234e+02 8.33869e+01 6.25402e+01 4.16935e+01 + 2.08467e+01 0.00000e+00 + -117.5751 33.2839 11.4986 -38 89 1.00000e+10 37.6545 1.00000e-01 + 180 473.39 20 0.00 0 0.00 0 + 0.00000e+00 7.39675e+02 1.47935e+03 2.95870e+02 2.77378e+02 2.58886e+02 + 2.40394e+02 2.21903e+02 2.03411e+02 1.84919e+02 1.66427e+02 1.47935e+02 + 1.29443e+02 1.10951e+02 9.24594e+01 7.39675e+01 5.54756e+01 3.69838e+01 + 1.84919e+01 0.00000e+00 + -117.5817 33.2910 11.4986 -38 89 1.00000e+10 37.4133 1.00000e-01 + 180 366.40 20 0.00 0 0.00 0 + 0.00000e+00 5.72504e+02 1.14501e+03 2.29002e+02 2.14689e+02 2.00376e+02 + 1.86064e+02 1.71751e+02 1.57439e+02 1.43126e+02 1.28813e+02 1.14501e+02 + 1.00188e+02 8.58756e+01 7.15630e+01 5.72504e+01 4.29378e+01 2.86252e+01 + 1.43126e+01 0.00000e+00 + -117.5883 33.2981 11.4986 -38 89 1.00000e+10 37.2155 1.00000e-01 + 180 215.66 20 0.00 0 0.00 0 + 0.00000e+00 3.36969e+02 6.73938e+02 1.34788e+02 1.26363e+02 1.17939e+02 + 1.09515e+02 1.01091e+02 9.26664e+01 8.42422e+01 7.58180e+01 6.73938e+01 + 5.89695e+01 5.05453e+01 4.21211e+01 3.36969e+01 2.52727e+01 1.68484e+01 + 8.42422e+00 0.00000e+00 + -117.5950 33.3052 11.4986 -38 89 1.00000e+10 36.9528 1.00000e-01 + 180 130.34 20 0.00 0 0.00 0 + 0.00000e+00 2.03663e+02 4.07326e+02 8.14653e+01 7.63737e+01 7.12821e+01 + 6.61905e+01 6.10990e+01 5.60074e+01 5.09158e+01 4.58242e+01 4.07326e+01 + 3.56411e+01 3.05495e+01 2.54579e+01 2.03663e+01 1.52747e+01 1.01832e+01 + 5.09158e+00 0.00000e+00 + -117.6016 33.3123 11.4986 -38 89 1.00000e+10 36.7086 1.00000e-01 + 180 26.42 20 0.00 0 0.00 0 + 0.00000e+00 4.12815e+01 8.25630e+01 1.65126e+01 1.54806e+01 1.44485e+01 + 1.34165e+01 1.23845e+01 1.13524e+01 1.03204e+01 9.28834e+00 8.25630e+00 + 7.22427e+00 6.19223e+00 5.16019e+00 4.12815e+00 3.09611e+00 2.06408e+00 + 1.03204e+00 0.00000e+00 + -117.6082 33.3194 11.4986 -38 89 1.00000e+10 36.3829 1.00000e-01 + 180 4.69 20 0.00 0 0.00 0 + 0.00000e+00 7.32675e+00 1.46535e+01 2.93070e+00 2.74753e+00 2.56436e+00 + 2.38119e+00 2.19803e+00 2.01486e+00 1.83169e+00 1.64852e+00 1.46535e+00 + 1.28218e+00 1.09901e+00 9.15844e-01 7.32675e-01 5.49506e-01 3.66338e-01 + 1.83169e-01 0.00000e+00 + -117.6148 33.3265 11.4986 -38 89 1.00000e+10 35.9885 1.00000e-01 + 180 52.24 20 0.00 0 0.00 0 + 0.00000e+00 8.16302e+01 1.63260e+02 3.26521e+01 3.06113e+01 2.85706e+01 + 2.65298e+01 2.44891e+01 2.24483e+01 2.04076e+01 1.83668e+01 1.63260e+01 + 1.42853e+01 1.22445e+01 1.02038e+01 8.16302e+00 6.12227e+00 4.08151e+00 + 2.04076e+00 0.00000e+00 + -117.6215 33.3336 11.4986 -38 89 1.00000e+10 35.5388 1.00000e-01 + 180 155.68 20 0.00 0 0.00 0 + 0.00000e+00 2.43251e+02 4.86502e+02 9.73004e+01 9.12191e+01 8.51379e+01 + 7.90566e+01 7.29753e+01 6.68940e+01 6.08128e+01 5.47315e+01 4.86502e+01 + 4.25689e+01 3.64877e+01 3.04064e+01 2.43251e+01 1.82438e+01 1.21626e+01 + 6.08128e+00 0.00000e+00 + -117.6281 33.3407 11.4986 -38 89 1.00000e+10 35.0602 1.00000e-01 + 180 288.20 20 0.00 0 0.00 0 + 0.00000e+00 4.50318e+02 9.00635e+02 1.80127e+02 1.68869e+02 1.57611e+02 + 1.46353e+02 1.35095e+02 1.23837e+02 1.12579e+02 1.01321e+02 9.00635e+01 + 7.88056e+01 6.75476e+01 5.62897e+01 4.50318e+01 3.37738e+01 2.25159e+01 + 1.12579e+01 0.00000e+00 + -117.6347 33.3478 11.4986 -38 89 1.00000e+10 34.6401 1.00000e-01 + 180 361.75 20 0.00 0 0.00 0 + 0.00000e+00 5.65227e+02 1.13045e+03 2.26091e+02 2.11960e+02 1.97830e+02 + 1.83699e+02 1.69568e+02 1.55437e+02 1.41307e+02 1.27176e+02 1.13045e+02 + 9.89148e+01 8.47841e+01 7.06534e+01 5.65227e+01 4.23920e+01 2.82614e+01 + 1.41307e+01 0.00000e+00 + -117.6413 33.3549 11.4986 -38 89 1.00000e+10 34.4040 1.00000e-01 + 180 249.66 20 0.00 0 0.00 0 + 0.00000e+00 3.90097e+02 7.80195e+02 1.56039e+02 1.46286e+02 1.36534e+02 + 1.26782e+02 1.17029e+02 1.07277e+02 9.75243e+01 8.77719e+01 7.80195e+01 + 6.82670e+01 5.85146e+01 4.87622e+01 3.90097e+01 2.92573e+01 1.95049e+01 + 9.75243e+00 0.00000e+00 + -117.6480 33.3620 11.4986 -38 89 1.00000e+10 34.1174 1.00000e-01 + 180 188.54 20 0.00 0 0.00 0 + 0.00000e+00 2.94590e+02 5.89179e+02 1.17836e+02 1.10471e+02 1.03106e+02 + 9.57416e+01 8.83769e+01 8.10121e+01 7.36474e+01 6.62826e+01 5.89179e+01 + 5.15532e+01 4.41884e+01 3.68237e+01 2.94590e+01 2.20942e+01 1.47295e+01 + 7.36474e+00 0.00000e+00 + -117.6546 33.3691 11.4986 -38 89 1.00000e+10 33.7814 1.00000e-01 + 180 177.21 20 0.00 0 0.00 0 + 0.00000e+00 2.76893e+02 5.53785e+02 1.10757e+02 1.03835e+02 9.69125e+01 + 8.99901e+01 8.30678e+01 7.61455e+01 6.92232e+01 6.23009e+01 5.53785e+01 + 4.84562e+01 4.15339e+01 3.46116e+01 2.76893e+01 2.07670e+01 1.38446e+01 + 6.92232e+00 0.00000e+00 + -117.6612 33.3762 11.4986 -38 89 1.00000e+10 33.5243 1.00000e-01 + 180 86.26 20 0.00 0 0.00 0 + 0.00000e+00 1.34785e+02 2.69571e+02 5.39141e+01 5.05445e+01 4.71749e+01 + 4.38052e+01 4.04356e+01 3.70660e+01 3.36963e+01 3.03267e+01 2.69571e+01 + 2.35874e+01 2.02178e+01 1.68482e+01 1.34785e+01 1.01089e+01 6.73927e+00 + 3.36963e+00 0.00000e+00 + -117.6679 33.3833 11.4986 -38 89 1.00000e+10 33.2384 1.00000e-01 + 180 24.41 20 0.00 0 0.00 0 + 0.00000e+00 3.81433e+01 7.62865e+01 1.52573e+01 1.43037e+01 1.33501e+01 + 1.23966e+01 1.14430e+01 1.04894e+01 9.53581e+00 8.58223e+00 7.62865e+00 + 6.67507e+00 5.72149e+00 4.76791e+00 3.81433e+00 2.86074e+00 1.90716e+00 + 9.53581e-01 0.00000e+00 + -117.6745 33.3904 11.4986 -38 89 1.00000e+10 32.8660 1.00000e-01 + 180 49.82 20 0.00 0 0.00 0 + 0.00000e+00 7.78449e+01 1.55690e+02 3.11380e+01 2.91918e+01 2.72457e+01 + 2.52996e+01 2.33535e+01 2.14073e+01 1.94612e+01 1.75151e+01 1.55690e+01 + 1.36229e+01 1.16767e+01 9.73061e+00 7.78449e+00 5.83837e+00 3.89224e+00 + 1.94612e+00 0.00000e+00 + -117.6811 33.3975 11.4986 -38 89 1.00000e+10 32.5214 1.00000e-01 + 180 47.18 20 0.00 0 0.00 0 + 0.00000e+00 7.37233e+01 1.47447e+02 2.94893e+01 2.76462e+01 2.58032e+01 + 2.39601e+01 2.21170e+01 2.02739e+01 1.84308e+01 1.65877e+01 1.47447e+01 + 1.29016e+01 1.10585e+01 9.21541e+00 7.37233e+00 5.52925e+00 3.68616e+00 + 1.84308e+00 0.00000e+00 + -117.6879 33.4045 11.4986 -40 89 1.00000e+10 32.1691 1.00000e-01 + 180 52.28 20 0.00 0 0.00 0 + 0.00000e+00 8.16941e+01 1.63388e+02 3.26776e+01 3.06353e+01 2.85929e+01 + 2.65506e+01 2.45082e+01 2.24659e+01 2.04235e+01 1.83812e+01 1.63388e+01 + 1.42965e+01 1.22541e+01 1.02118e+01 8.16941e+00 6.12706e+00 4.08471e+00 + 2.04235e+00 0.00000e+00 + -117.6949 33.4113 11.4986 -41 89 1.00000e+10 31.7888 1.00000e-01 + 180 85.70 20 0.00 0 0.00 0 + 0.00000e+00 1.33909e+02 2.67819e+02 5.35637e+01 5.02160e+01 4.68682e+01 + 4.35205e+01 4.01728e+01 3.68250e+01 3.34773e+01 3.01296e+01 2.67819e+01 + 2.34341e+01 2.00864e+01 1.67387e+01 1.33909e+01 1.00432e+01 6.69546e+00 + 3.34773e+00 0.00000e+00 + -117.7020 33.4181 11.4986 -41 89 1.00000e+10 31.4449 1.00000e-01 + 180 82.32 20 0.00 0 0.00 0 + 0.00000e+00 1.28633e+02 2.57265e+02 5.14531e+01 4.82373e+01 4.50215e+01 + 4.18056e+01 3.85898e+01 3.53740e+01 3.21582e+01 2.89424e+01 2.57265e+01 + 2.25107e+01 1.92949e+01 1.60791e+01 1.28633e+01 9.64746e+00 6.43164e+00 + 3.21582e+00 0.00000e+00 + -117.7091 33.4248 11.4986 -41 89 1.00000e+10 31.0603 1.00000e-01 + 180 120.04 20 0.00 0 0.00 0 + 0.00000e+00 1.87558e+02 3.75116e+02 7.50232e+01 7.03343e+01 6.56453e+01 + 6.09564e+01 5.62674e+01 5.15785e+01 4.68895e+01 4.22006e+01 3.75116e+01 + 3.28227e+01 2.81337e+01 2.34448e+01 1.87558e+01 1.40669e+01 9.37790e+00 + 4.68895e+00 0.00000e+00 + -117.7162 33.4316 11.4986 -41 89 1.00000e+10 30.6271 1.00000e-01 + 180 206.78 20 0.00 0 0.00 0 + 0.00000e+00 3.23098e+02 6.46197e+02 1.29239e+02 1.21162e+02 1.13084e+02 + 1.05007e+02 9.69295e+01 8.88520e+01 8.07746e+01 7.26971e+01 6.46197e+01 + 5.65422e+01 4.84647e+01 4.03873e+01 3.23098e+01 2.42324e+01 1.61549e+01 + 8.07746e+00 0.00000e+00 + -117.7233 33.4384 11.4986 -41 89 1.00000e+10 30.1483 1.00000e-01 + 180 339.54 20 0.00 0 0.00 0 + 0.00000e+00 5.30526e+02 1.06105e+03 2.12210e+02 1.98947e+02 1.85684e+02 + 1.72421e+02 1.59158e+02 1.45895e+02 1.32631e+02 1.19368e+02 1.06105e+02 + 9.28420e+01 7.95789e+01 6.63157e+01 5.30526e+01 3.97894e+01 2.65263e+01 + 1.32631e+01 0.00000e+00 + -117.7304 33.4452 11.4986 -41 89 1.00000e+10 29.7501 1.00000e-01 + 180 391.01 20 0.00 0 0.00 0 + 0.00000e+00 6.10947e+02 1.22189e+03 2.44379e+02 2.29105e+02 2.13831e+02 + 1.98558e+02 1.83284e+02 1.68010e+02 1.52737e+02 1.37463e+02 1.22189e+02 + 1.06916e+02 9.16420e+01 7.63684e+01 6.10947e+01 4.58210e+01 3.05473e+01 + 1.52737e+01 0.00000e+00 + -117.7375 33.4520 11.4986 -41 89 1.00000e+10 29.3398 1.00000e-01 + 180 454.69 20 0.00 0 0.00 0 + 0.00000e+00 7.10451e+02 1.42090e+03 2.84180e+02 2.66419e+02 2.48658e+02 + 2.30897e+02 2.13135e+02 1.95374e+02 1.77613e+02 1.59851e+02 1.42090e+02 + 1.24329e+02 1.06568e+02 8.88064e+01 7.10451e+01 5.32838e+01 3.55225e+01 + 1.77613e+01 0.00000e+00 + -117.7446 33.4587 11.4986 -41 89 1.00000e+10 29.0284 1.00000e-01 + 180 418.51 20 0.00 0 0.00 0 + 0.00000e+00 6.53924e+02 1.30785e+03 2.61570e+02 2.45221e+02 2.28873e+02 + 2.12525e+02 1.96177e+02 1.79829e+02 1.63481e+02 1.47133e+02 1.30785e+02 + 1.14437e+02 9.80886e+01 8.17405e+01 6.53924e+01 4.90443e+01 3.26962e+01 + 1.63481e+01 0.00000e+00 + -117.7517 33.4655 11.4986 -41 89 1.00000e+10 28.6695 1.00000e-01 + 180 430.26 20 0.00 0 0.00 0 + 0.00000e+00 6.72280e+02 1.34456e+03 2.68912e+02 2.52105e+02 2.35298e+02 + 2.18491e+02 2.01684e+02 1.84877e+02 1.68070e+02 1.51263e+02 1.34456e+02 + 1.17649e+02 1.00842e+02 8.40350e+01 6.72280e+01 5.04210e+01 3.36140e+01 + 1.68070e+01 0.00000e+00 + -117.7588 33.4723 11.4986 -41 89 1.00000e+10 28.2903 1.00000e-01 + 180 462.60 20 0.00 0 0.00 0 + 0.00000e+00 7.22806e+02 1.44561e+03 2.89122e+02 2.71052e+02 2.52982e+02 + 2.34912e+02 2.16842e+02 1.98772e+02 1.80701e+02 1.62631e+02 1.44561e+02 + 1.26491e+02 1.08421e+02 9.03507e+01 7.22806e+01 5.42104e+01 3.61403e+01 + 1.80701e+01 0.00000e+00 + -117.7659 33.4790 11.4986 -41 89 1.00000e+10 27.9059 1.00000e-01 + 180 500.14 20 0.00 0 0.00 0 + 0.00000e+00 7.81476e+02 1.56295e+03 3.12590e+02 2.93053e+02 2.73516e+02 + 2.53980e+02 2.34443e+02 2.14906e+02 1.95369e+02 1.75832e+02 1.56295e+02 + 1.36758e+02 1.17221e+02 9.76845e+01 7.81476e+01 5.86107e+01 3.90738e+01 + 1.95369e+01 0.00000e+00 + -117.7730 33.4858 11.4986 -41 89 1.00000e+10 27.4583 1.00000e-01 + 180 601.42 20 0.00 0 0.00 0 + 0.00000e+00 9.39723e+02 1.87945e+03 3.75889e+02 3.52396e+02 3.28903e+02 + 3.05410e+02 2.81917e+02 2.58424e+02 2.34931e+02 2.11438e+02 1.87945e+02 + 1.64452e+02 1.40959e+02 1.17465e+02 9.39724e+01 7.04793e+01 4.69862e+01 + 2.34931e+01 0.00000e+00 + -117.7801 33.4926 11.4986 -41 89 1.00000e+10 27.0783 1.00000e-01 + 180 634.45 20 0.00 0 0.00 0 + 0.00000e+00 9.91326e+02 1.98265e+03 3.96530e+02 3.71747e+02 3.46964e+02 + 3.22181e+02 2.97398e+02 2.72615e+02 2.47831e+02 2.23048e+02 1.98265e+02 + 1.73482e+02 1.48699e+02 1.23916e+02 9.91326e+01 7.43494e+01 4.95663e+01 + 2.47831e+01 0.00000e+00 + -117.7872 33.4994 11.4986 -41 89 1.00000e+10 26.8653 1.00000e-01 + 180 499.00 20 0.00 0 0.00 0 + 0.00000e+00 7.79688e+02 1.55938e+03 3.11875e+02 2.92383e+02 2.72891e+02 + 2.53399e+02 2.33906e+02 2.14414e+02 1.94922e+02 1.75430e+02 1.55938e+02 + 1.36445e+02 1.16953e+02 9.74610e+01 7.79688e+01 5.84766e+01 3.89844e+01 + 1.94922e+01 0.00000e+00 + -117.7944 33.5061 11.4986 -42 89 1.00000e+10 26.6901 1.00000e-01 + 180 325.51 20 0.00 0 0.00 0 + 0.00000e+00 5.08614e+02 1.01723e+03 2.03446e+02 1.90730e+02 1.78015e+02 + 1.65300e+02 1.52584e+02 1.39869e+02 1.27154e+02 1.14438e+02 1.01723e+02 + 8.90075e+01 7.62922e+01 6.35768e+01 5.08614e+01 3.81461e+01 2.54307e+01 + 1.27154e+01 0.00000e+00 + -117.8021 33.5124 11.4986 -49 89 1.00000e+10 26.4664 1.00000e-01 + 180 200.89 20 0.00 0 0.00 0 + 0.00000e+00 3.13883e+02 6.27767e+02 1.25553e+02 1.17706e+02 1.09859e+02 + 1.02012e+02 9.41650e+01 8.63179e+01 7.84709e+01 7.06238e+01 6.27767e+01 + 5.49296e+01 4.70825e+01 3.92354e+01 3.13883e+01 2.35413e+01 1.56942e+01 + 7.84709e+00 0.00000e+00 + -117.8102 33.5183 11.4986 -49 89 1.00000e+10 26.1019 1.00000e-01 + 180 218.24 20 0.00 0 0.00 0 + 0.00000e+00 3.41006e+02 6.82011e+02 1.36402e+02 1.27877e+02 1.19352e+02 + 1.10827e+02 1.02302e+02 9.37766e+01 8.52514e+01 7.67263e+01 6.82011e+01 + 5.96760e+01 5.11509e+01 4.26257e+01 3.41006e+01 2.55754e+01 1.70503e+01 + 8.52514e+00 0.00000e+00 + -117.8184 33.5241 11.4986 -49 89 1.00000e+10 25.7281 1.00000e-01 + 180 245.10 20 0.00 0 0.00 0 + 0.00000e+00 3.82966e+02 7.65932e+02 1.53186e+02 1.43612e+02 1.34038e+02 + 1.24464e+02 1.14890e+02 1.05316e+02 9.57415e+01 8.61674e+01 7.65932e+01 + 6.70191e+01 5.74449e+01 4.78708e+01 3.82966e+01 2.87225e+01 1.91483e+01 + 9.57415e+00 0.00000e+00 + -117.8266 33.5300 11.4986 -49 89 1.00000e+10 25.4427 1.00000e-01 + 180 182.70 20 0.00 0 0.00 0 + 0.00000e+00 2.85470e+02 5.70939e+02 1.14188e+02 1.07051e+02 9.99144e+01 + 9.27776e+01 8.56409e+01 7.85042e+01 7.13674e+01 6.42307e+01 5.70939e+01 + 4.99572e+01 4.28205e+01 3.56837e+01 2.85470e+01 2.14102e+01 1.42735e+01 + 7.13674e+00 0.00000e+00 + -117.8348 33.5359 11.4986 -49 89 1.00000e+10 25.1343 1.00000e-01 + 180 143.59 20 0.00 0 0.00 0 + 0.00000e+00 2.24358e+02 4.48715e+02 8.97431e+01 8.41341e+01 7.85252e+01 + 7.29163e+01 6.73073e+01 6.16984e+01 5.60894e+01 5.04805e+01 4.48715e+01 + 3.92626e+01 3.36537e+01 2.80447e+01 2.24358e+01 1.68268e+01 1.12179e+01 + 5.60894e+00 0.00000e+00 + -117.8429 33.5418 11.4986 -49 89 1.00000e+10 24.8402 1.00000e-01 + 180 89.99 20 0.00 0 0.00 0 + 0.00000e+00 1.40616e+02 2.81232e+02 5.62464e+01 5.27310e+01 4.92156e+01 + 4.57002e+01 4.21848e+01 3.86694e+01 3.51540e+01 3.16386e+01 2.81232e+01 + 2.46078e+01 2.10924e+01 1.75770e+01 1.40616e+01 1.05462e+01 7.03080e+00 + 3.51540e+00 0.00000e+00 + -117.8511 33.5476 11.4986 -49 89 1.00000e+10 24.5631 1.00000e-01 + 180 19.21 20 0.00 0 0.00 0 + 0.00000e+00 3.00210e+01 6.00419e+01 1.20084e+01 1.12579e+01 1.05073e+01 + 9.75682e+00 9.00629e+00 8.25577e+00 7.50524e+00 6.75472e+00 6.00419e+00 + 5.25367e+00 4.50315e+00 3.75262e+00 3.00210e+00 2.25157e+00 1.50105e+00 + 7.50524e-01 0.00000e+00 + -117.8593 33.5535 11.4986 -49 89 1.00000e+10 24.2027 1.00000e-01 + 180 32.53 20 0.00 0 0.00 0 + 0.00000e+00 5.08214e+01 1.01643e+02 2.03286e+01 1.90580e+01 1.77875e+01 + 1.65169e+01 1.52464e+01 1.39759e+01 1.27053e+01 1.14348e+01 1.01643e+01 + 8.89374e+00 7.62321e+00 6.35267e+00 5.08214e+00 3.81160e+00 2.54107e+00 + 1.27053e+00 0.00000e+00 + -117.8675 33.5594 11.4986 -49 89 1.00000e+10 23.7604 1.00000e-01 + 180 128.49 20 0.00 0 0.00 0 + 0.00000e+00 2.00762e+02 4.01525e+02 8.03049e+01 7.52859e+01 7.02668e+01 + 6.52478e+01 6.02287e+01 5.52097e+01 5.01906e+01 4.51715e+01 4.01525e+01 + 3.51334e+01 3.01144e+01 2.50953e+01 2.00762e+01 1.50572e+01 1.00381e+01 + 5.01906e+00 0.00000e+00 + -117.8757 33.5653 11.4986 -49 89 1.00000e+10 23.4415 1.00000e-01 + 180 99.93 20 0.00 0 0.00 0 + 0.00000e+00 1.56144e+02 3.12289e+02 6.24578e+01 5.85541e+01 5.46505e+01 + 5.07469e+01 4.68433e+01 4.29397e+01 3.90361e+01 3.51325e+01 3.12289e+01 + 2.73253e+01 2.34217e+01 1.95180e+01 1.56144e+01 1.17108e+01 7.80722e+00 + 3.90361e+00 0.00000e+00 + -117.8839 33.5711 11.4986 -49 89 1.00000e+10 23.0624 1.00000e-01 + 180 132.07 20 0.00 0 0.00 0 + 0.00000e+00 2.06367e+02 4.12734e+02 8.25468e+01 7.73876e+01 7.22284e+01 + 6.70692e+01 6.19101e+01 5.67509e+01 5.15917e+01 4.64326e+01 4.12734e+01 + 3.61142e+01 3.09550e+01 2.57959e+01 2.06367e+01 1.54775e+01 1.03183e+01 + 5.15917e+00 0.00000e+00 + -117.8921 33.5770 11.4986 -49 89 1.00000e+10 22.7618 1.00000e-01 + 180 85.07 20 0.00 0 0.00 0 + 0.00000e+00 1.32919e+02 2.65838e+02 5.31676e+01 4.98446e+01 4.65216e+01 + 4.31987e+01 3.98757e+01 3.65527e+01 3.32297e+01 2.99068e+01 2.65838e+01 + 2.32608e+01 1.99378e+01 1.66149e+01 1.32919e+01 9.96892e+00 6.64595e+00 + 3.32297e+00 0.00000e+00 + -117.9003 33.5829 11.4986 -49 89 1.00000e+10 22.3013 1.00000e-01 + 180 199.38 20 0.00 0 0.00 0 + 0.00000e+00 3.11535e+02 6.23071e+02 1.24614e+02 1.16826e+02 1.09037e+02 + 1.01249e+02 9.34606e+01 8.56722e+01 7.78839e+01 7.00955e+01 6.23071e+01 + 5.45187e+01 4.67303e+01 3.89419e+01 3.11535e+01 2.33652e+01 1.55768e+01 + 7.78838e+00 0.00000e+00 + -117.9084 33.5887 11.4986 -49 89 1.00000e+10 21.8188 1.00000e-01 + 180 335.85 20 0.00 0 0.00 0 + 0.00000e+00 5.24761e+02 1.04952e+03 2.09904e+02 1.96785e+02 1.83666e+02 + 1.70547e+02 1.57428e+02 1.44309e+02 1.31190e+02 1.18071e+02 1.04952e+02 + 9.18331e+01 7.87141e+01 6.55951e+01 5.24761e+01 3.93571e+01 2.62380e+01 + 1.31190e+01 0.00000e+00 + -117.9158 33.5952 11.4986 -37 89 1.00000e+10 21.4333 1.00000e-01 + 180 374.50 20 0.00 0 0.00 0 + 0.00000e+00 5.85149e+02 1.17030e+03 2.34060e+02 2.19431e+02 2.04802e+02 + 1.90174e+02 1.75545e+02 1.60916e+02 1.46287e+02 1.31659e+02 1.17030e+02 + 1.02401e+02 8.77724e+01 7.31437e+01 5.85149e+01 4.38862e+01 2.92575e+01 + 1.46287e+01 0.00000e+00 + -117.9223 33.6024 11.4986 -37 89 1.00000e+10 21.0308 1.00000e-01 + 180 430.27 20 0.00 0 0.00 0 + 0.00000e+00 6.72291e+02 1.34458e+03 2.68916e+02 2.52109e+02 2.35302e+02 + 2.18495e+02 2.01687e+02 1.84880e+02 1.68073e+02 1.51266e+02 1.34458e+02 + 1.17651e+02 1.00844e+02 8.40364e+01 6.72291e+01 5.04218e+01 3.36146e+01 + 1.68073e+01 0.00000e+00 + -117.9288 33.6096 11.4986 -37 89 1.00000e+10 20.6916 1.00000e-01 + 180 422.23 20 0.00 0 0.00 0 + 0.00000e+00 6.59735e+02 1.31947e+03 2.63894e+02 2.47400e+02 2.30907e+02 + 2.14414e+02 1.97920e+02 1.81427e+02 1.64934e+02 1.48440e+02 1.31947e+02 + 1.15454e+02 9.89602e+01 8.24668e+01 6.59735e+01 4.94801e+01 3.29867e+01 + 1.64934e+01 0.00000e+00 + -117.9354 33.6167 11.4986 -38 89 1.00000e+10 20.3810 1.00000e-01 + 180 385.30 20 0.00 0 0.00 0 + 0.00000e+00 6.02024e+02 1.20405e+03 2.40810e+02 2.25759e+02 2.10709e+02 + 1.95658e+02 1.80607e+02 1.65557e+02 1.50506e+02 1.35456e+02 1.20405e+02 + 1.05354e+02 9.03037e+01 7.52531e+01 6.02024e+01 4.51518e+01 3.01012e+01 + 1.50506e+01 0.00000e+00 + -117.9421 33.6238 11.4986 -39 89 1.00000e+10 20.1239 1.00000e-01 + 180 294.31 20 0.00 0 0.00 0 + 0.00000e+00 4.59863e+02 9.19726e+02 1.83945e+02 1.72449e+02 1.60952e+02 + 1.49456e+02 1.37959e+02 1.26462e+02 1.14966e+02 1.03469e+02 9.19726e+01 + 8.04761e+01 6.89795e+01 5.74829e+01 4.59863e+01 3.44897e+01 2.29932e+01 + 1.14966e+01 0.00000e+00 + -117.9488 33.6308 11.4986 -39 89 1.00000e+10 19.8719 1.00000e-01 + 180 198.33 20 0.00 0 0.00 0 + 0.00000e+00 3.09890e+02 6.19779e+02 1.23956e+02 1.16209e+02 1.08461e+02 + 1.00714e+02 9.29669e+01 8.52197e+01 7.74724e+01 6.97252e+01 6.19779e+01 + 5.42307e+01 4.64835e+01 3.87362e+01 3.09890e+01 2.32417e+01 1.54945e+01 + 7.74724e+00 0.00000e+00 + -117.9556 33.6379 11.4986 -39 89 1.00000e+10 19.5745 1.00000e-01 + 180 148.02 20 0.00 0 0.00 0 + 0.00000e+00 2.31274e+02 4.62547e+02 9.25095e+01 8.67276e+01 8.09458e+01 + 7.51640e+01 6.93821e+01 6.36003e+01 5.78184e+01 5.20366e+01 4.62547e+01 + 4.04729e+01 3.46911e+01 2.89092e+01 2.31274e+01 1.73455e+01 1.15637e+01 + 5.78184e+00 0.00000e+00 + -117.9623 33.6449 11.4986 -39 89 1.00000e+10 19.3516 1.00000e-01 + 180 22.64 20 0.00 0 0.00 0 + 0.00000e+00 3.53731e+01 7.07461e+01 1.41492e+01 1.32649e+01 1.23806e+01 + 1.14962e+01 1.06119e+01 9.72759e+00 8.84327e+00 7.95894e+00 7.07461e+00 + 6.19029e+00 5.30596e+00 4.42163e+00 3.53731e+00 2.65298e+00 1.76865e+00 + 8.84327e-01 0.00000e+00 + -117.9690 33.6520 11.4986 -39 89 1.00000e+10 19.0268 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9758 33.6590 11.4986 -39 89 1.00000e+10 18.6796 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9825 33.6660 11.4986 -39 89 1.00000e+10 18.3324 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9894 33.6729 11.4986 -41 89 1.00000e+10 17.8871 1.00000e-01 + 180 98.93 20 0.00 0 0.00 0 + 0.00000e+00 1.54575e+02 3.09150e+02 6.18300e+01 5.79656e+01 5.41013e+01 + 5.02369e+01 4.63725e+01 4.25081e+01 3.86438e+01 3.47794e+01 3.09150e+01 + 2.70506e+01 2.31863e+01 1.93219e+01 1.54575e+01 1.15931e+01 7.72875e+00 + 3.86438e+00 0.00000e+00 + -117.9974 33.6789 11.4986 -54 89 1.00000e+10 17.4963 1.00000e-01 + 180 142.98 20 0.00 0 0.00 0 + 0.00000e+00 2.23413e+02 4.46825e+02 8.93651e+01 8.37798e+01 7.81945e+01 + 7.26091e+01 6.70238e+01 6.14385e+01 5.58532e+01 5.02679e+01 4.46825e+01 + 3.90972e+01 3.35119e+01 2.79266e+01 2.23413e+01 1.67560e+01 1.11706e+01 + 5.58532e+00 0.00000e+00 + -118.0062 33.6841 11.4986 -54 89 1.00000e+10 17.0921 1.00000e-01 + 180 200.41 20 0.00 0 0.00 0 + 0.00000e+00 3.13144e+02 6.26288e+02 1.25258e+02 1.17429e+02 1.09600e+02 + 1.01772e+02 9.39431e+01 8.61145e+01 7.82859e+01 7.04574e+01 6.26288e+01 + 5.48002e+01 4.69716e+01 3.91430e+01 3.13144e+01 2.34858e+01 1.56572e+01 + 7.82860e+00 0.00000e+00 + -118.0150 33.6894 11.4986 -54 89 1.00000e+10 16.7471 1.00000e-01 + 180 198.21 20 0.00 0 0.00 0 + 0.00000e+00 3.09697e+02 6.19395e+02 1.23879e+02 1.16136e+02 1.08394e+02 + 1.00652e+02 9.29092e+01 8.51668e+01 7.74243e+01 6.96819e+01 6.19395e+01 + 5.41970e+01 4.64546e+01 3.87122e+01 3.09697e+01 2.32273e+01 1.54849e+01 + 7.74243e+00 0.00000e+00 + -118.0238 33.6946 11.4986 -54 89 1.00000e+10 16.3939 1.00000e-01 + 180 204.31 20 0.00 0 0.00 0 + 0.00000e+00 3.19228e+02 6.38456e+02 1.27691e+02 1.19711e+02 1.11730e+02 + 1.03749e+02 9.57684e+01 8.77877e+01 7.98070e+01 7.18263e+01 6.38456e+01 + 5.58649e+01 4.78842e+01 3.99035e+01 3.19228e+01 2.39421e+01 1.59614e+01 + 7.98070e+00 0.00000e+00 + -118.0326 33.6998 11.4986 -54 89 1.00000e+10 16.0260 1.00000e-01 + 180 225.20 20 0.00 0 0.00 0 + 0.00000e+00 3.51870e+02 7.03739e+02 1.40748e+02 1.31951e+02 1.23154e+02 + 1.14358e+02 1.05561e+02 9.67642e+01 8.79674e+01 7.91707e+01 7.03739e+01 + 6.15772e+01 5.27804e+01 4.39837e+01 3.51870e+01 2.63902e+01 1.75935e+01 + 8.79674e+00 0.00000e+00 + -118.0413 33.7052 11.4986 -53 89 1.00000e+10 15.6636 1.00000e-01 + 180 240.52 20 0.00 0 0.00 0 + 0.00000e+00 3.75815e+02 7.51631e+02 1.50326e+02 1.40931e+02 1.31535e+02 + 1.22140e+02 1.12745e+02 1.03349e+02 9.39538e+01 8.45585e+01 7.51631e+01 + 6.57677e+01 5.63723e+01 4.69769e+01 3.75815e+01 2.81862e+01 1.87908e+01 + 9.39538e+00 0.00000e+00 + -118.0497 33.7108 11.4986 -50 89 1.00000e+10 15.3150 1.00000e-01 + 180 241.96 20 0.00 0 0.00 0 + 0.00000e+00 3.78059e+02 7.56118e+02 1.51224e+02 1.41772e+02 1.32321e+02 + 1.22869e+02 1.13418e+02 1.03966e+02 9.45148e+01 8.50633e+01 7.56118e+01 + 6.61604e+01 5.67089e+01 4.72574e+01 3.78059e+01 2.83544e+01 1.89030e+01 + 9.45148e+00 0.00000e+00 + -118.0579 33.7166 11.4986 -48 89 1.00000e+10 14.9596 1.00000e-01 + 180 250.15 20 0.00 0 0.00 0 + 0.00000e+00 3.90856e+02 7.81711e+02 1.56342e+02 1.46571e+02 1.36799e+02 + 1.27028e+02 1.17257e+02 1.07485e+02 9.77139e+01 8.79425e+01 7.81711e+01 + 6.83997e+01 5.86284e+01 4.88570e+01 3.90856e+01 2.93142e+01 1.95428e+01 + 9.77139e+00 0.00000e+00 + -118.0647 33.7235 11.4986 -31 89 1.00000e+10 14.6293 1.00000e-01 + 180 233.13 20 0.00 0 0.00 0 + 0.00000e+00 3.64273e+02 7.28546e+02 1.45709e+02 1.36602e+02 1.27495e+02 + 1.18389e+02 1.09282e+02 1.00175e+02 9.10682e+01 8.19614e+01 7.28546e+01 + 6.37477e+01 5.46409e+01 4.55341e+01 3.64273e+01 2.73205e+01 1.82136e+01 + 9.10682e+00 0.00000e+00 + -118.0703 33.7312 11.4986 -31 89 1.00000e+10 14.3065 1.00000e-01 + 180 208.54 20 0.00 0 0.00 0 + 0.00000e+00 3.25841e+02 6.51682e+02 1.30336e+02 1.22190e+02 1.14044e+02 + 1.05898e+02 9.77523e+01 8.96063e+01 8.14603e+01 7.33142e+01 6.51682e+01 + 5.70222e+01 4.88762e+01 4.07301e+01 3.25841e+01 2.44381e+01 1.62920e+01 + 8.14602e+00 0.00000e+00 + -118.0769 33.7382 11.4986 -44 89 1.00000e+10 13.9539 1.00000e-01 + 180 213.95 20 0.00 0 0.00 0 + 0.00000e+00 3.34295e+02 6.68589e+02 1.33718e+02 1.25361e+02 1.17003e+02 + 1.08646e+02 1.00288e+02 9.19310e+01 8.35737e+01 7.52163e+01 6.68589e+01 + 5.85016e+01 5.01442e+01 4.17868e+01 3.34295e+01 2.50721e+01 1.67147e+01 + 8.35737e+00 0.00000e+00 + -118.0846 33.7445 11.4986 -47 89 1.00000e+10 13.5982 1.00000e-01 + 180 222.52 20 0.00 0 0.00 0 + 0.00000e+00 3.47690e+02 6.95380e+02 1.39076e+02 1.30384e+02 1.21691e+02 + 1.12999e+02 1.04307e+02 9.56148e+01 8.69225e+01 7.82303e+01 6.95380e+01 + 6.08457e+01 5.21535e+01 4.34613e+01 3.47690e+01 2.60768e+01 1.73845e+01 + 8.69225e+00 0.00000e+00 + -118.0925 33.7506 11.4986 -47 89 1.00000e+10 13.3035 1.00000e-01 + 180 169.54 20 0.00 0 0.00 0 + 0.00000e+00 2.64911e+02 5.29823e+02 1.05965e+02 9.93418e+01 9.27190e+01 + 8.60962e+01 7.94734e+01 7.28507e+01 6.62279e+01 5.96051e+01 5.29823e+01 + 4.63595e+01 3.97367e+01 3.31139e+01 2.64911e+01 1.98684e+01 1.32456e+01 + 6.62279e+00 0.00000e+00 + -118.1005 33.7567 11.4986 -47 89 1.00000e+10 12.9644 1.00000e-01 + 180 161.42 20 0.00 0 0.00 0 + 0.00000e+00 2.52224e+02 5.04449e+02 1.00890e+02 9.45841e+01 8.82785e+01 + 8.19729e+01 7.56673e+01 6.93617e+01 6.30561e+01 5.67505e+01 5.04449e+01 + 4.41393e+01 3.78337e+01 3.15280e+01 2.52224e+01 1.89168e+01 1.26112e+01 + 6.30561e+00 0.00000e+00 + -118.1084 33.7628 11.4986 -47 89 1.00000e+10 12.6228 1.00000e-01 + 180 155.74 20 0.00 0 0.00 0 + 0.00000e+00 2.43343e+02 4.86686e+02 9.73372e+01 9.12536e+01 8.51701e+01 + 7.90865e+01 7.30029e+01 6.69193e+01 6.08358e+01 5.47522e+01 4.86686e+01 + 4.25850e+01 3.65015e+01 3.04179e+01 2.43343e+01 1.82507e+01 1.21672e+01 + 6.08358e+00 0.00000e+00 + -118.1166 33.7687 11.4986 -52 89 1.00000e+10 12.2231 1.00000e-01 + 180 208.77 20 0.00 0 0.00 0 + 0.00000e+00 3.26208e+02 6.52416e+02 1.30483e+02 1.22328e+02 1.14173e+02 + 1.06018e+02 9.78625e+01 8.97073e+01 8.15520e+01 7.33969e+01 6.52416e+01 + 5.70864e+01 4.89312e+01 4.07760e+01 3.26208e+01 2.44656e+01 1.63104e+01 + 8.15520e+00 0.00000e+00 + -118.1252 33.7742 11.4986 -52 89 1.00000e+10 11.7443 1.00000e-01 + 180 341.57 20 0.00 0 0.00 0 + 0.00000e+00 5.33701e+02 1.06740e+03 2.13480e+02 2.00138e+02 1.86795e+02 + 1.73453e+02 1.60110e+02 1.46768e+02 1.33425e+02 1.20083e+02 1.06740e+02 + 9.33977e+01 8.00552e+01 6.67126e+01 5.33701e+01 4.00276e+01 2.66851e+01 + 1.33425e+01 0.00000e+00 + -118.1337 33.7798 11.4986 -52 89 1.00000e+10 11.3610 1.00000e-01 + 180 377.94 20 0.00 0 0.00 0 + 0.00000e+00 5.90535e+02 1.18107e+03 2.36214e+02 2.21451e+02 2.06687e+02 + 1.91924e+02 1.77161e+02 1.62397e+02 1.47634e+02 1.32870e+02 1.18107e+02 + 1.03344e+02 8.85803e+01 7.38169e+01 5.90535e+01 4.42902e+01 2.95268e+01 + 1.47634e+01 0.00000e+00 + -118.1422 33.7853 11.4986 -52 89 1.00000e+10 11.0188 1.00000e-01 + 180 373.00 20 0.00 0 0.00 0 + 0.00000e+00 5.82816e+02 1.16563e+03 2.33127e+02 2.18556e+02 2.03986e+02 + 1.89415e+02 1.74845e+02 1.60275e+02 1.45704e+02 1.31134e+02 1.16563e+02 + 1.01993e+02 8.74225e+01 7.28521e+01 5.82817e+01 4.37112e+01 2.91408e+01 + 1.45704e+01 0.00000e+00 + -118.1507 33.7909 11.4986 -51 89 1.00000e+10 10.6318 1.00000e-01 + 180 413.18 20 0.00 0 0.00 0 + 0.00000e+00 6.45599e+02 1.29120e+03 2.58240e+02 2.42100e+02 2.25960e+02 + 2.09820e+02 1.93680e+02 1.77540e+02 1.61400e+02 1.45260e+02 1.29120e+02 + 1.12980e+02 9.68399e+01 8.06999e+01 6.45599e+01 4.84200e+01 3.22800e+01 + 1.61400e+01 0.00000e+00 + -118.1590 33.7966 11.4986 -50 89 1.00000e+10 10.2473 1.00000e-01 + 180 450.85 20 0.00 0 0.00 0 + 0.00000e+00 7.04451e+02 1.40890e+03 2.81780e+02 2.64169e+02 2.46558e+02 + 2.28947e+02 2.11335e+02 1.93724e+02 1.76113e+02 1.58501e+02 1.40890e+02 + 1.23279e+02 1.05668e+02 8.80564e+01 7.04451e+01 5.28338e+01 3.52226e+01 + 1.76113e+01 0.00000e+00 + -118.1674 33.8024 11.4986 -50 89 1.00000e+10 9.8900 1.00000e-01 + 180 461.04 20 0.00 0 0.00 0 + 0.00000e+00 7.20369e+02 1.44074e+03 2.88148e+02 2.70138e+02 2.52129e+02 + 2.34120e+02 2.16111e+02 1.98101e+02 1.80092e+02 1.62083e+02 1.44074e+02 + 1.26065e+02 1.08055e+02 9.00461e+01 7.20369e+01 5.40277e+01 3.60184e+01 + 1.80092e+01 0.00000e+00 + -118.1757 33.8081 11.4986 -50 89 1.00000e+10 9.6674 1.00000e-01 + 180 335.32 20 0.00 0 0.00 0 + 0.00000e+00 5.23938e+02 1.04788e+03 2.09575e+02 1.96477e+02 1.83378e+02 + 1.70280e+02 1.57181e+02 1.44083e+02 1.30984e+02 1.17886e+02 1.04788e+02 + 9.16891e+01 7.85906e+01 6.54922e+01 5.23938e+01 3.92953e+01 2.61969e+01 + 1.30984e+01 0.00000e+00 + -118.1841 33.8138 11.4986 -50 89 1.00000e+10 9.4054 1.00000e-01 + 180 249.43 20 0.00 0 0.00 0 + 0.00000e+00 3.89737e+02 7.79475e+02 1.55895e+02 1.46151e+02 1.36408e+02 + 1.26665e+02 1.16921e+02 1.07178e+02 9.74343e+01 8.76909e+01 7.79475e+01 + 6.82040e+01 5.84606e+01 4.87172e+01 3.89737e+01 2.92303e+01 1.94869e+01 + 9.74343e+00 0.00000e+00 + -118.1924 33.8196 11.4986 -50 89 1.00000e+10 9.0984 1.00000e-01 + 180 208.90 20 0.00 0 0.00 0 + 0.00000e+00 3.26406e+02 6.52812e+02 1.30562e+02 1.22402e+02 1.14242e+02 + 1.06082e+02 9.79218e+01 8.97617e+01 8.16015e+01 7.34414e+01 6.52812e+01 + 5.71211e+01 4.89609e+01 4.08008e+01 3.26406e+01 2.44805e+01 1.63203e+01 + 8.16015e+00 0.00000e+00 + -118.2008 33.8253 11.4986 -50 89 1.00000e+10 8.7675 1.00000e-01 + 180 192.46 20 0.00 0 0.00 0 + 0.00000e+00 3.00721e+02 6.01443e+02 1.20289e+02 1.12771e+02 1.05252e+02 + 9.77345e+01 9.02164e+01 8.26984e+01 7.51804e+01 6.76623e+01 6.01443e+01 + 5.26262e+01 4.51082e+01 3.75902e+01 3.00721e+01 2.25541e+01 1.50361e+01 + 7.51803e+00 0.00000e+00 + -118.2090 33.8312 11.4986 -49 89 1.00000e+10 8.4275 1.00000e-01 + 180 185.20 20 0.00 0 0.00 0 + 0.00000e+00 2.89376e+02 5.78751e+02 1.15750e+02 1.08516e+02 1.01281e+02 + 9.40471e+01 8.68127e+01 7.95783e+01 7.23439e+01 6.51095e+01 5.78751e+01 + 5.06407e+01 4.34064e+01 3.61720e+01 2.89376e+01 2.17032e+01 1.44688e+01 + 7.23439e+00 0.00000e+00 + -118.2174 33.8368 11.4986 -54 89 1.00000e+10 8.1470 1.00000e-01 + 180 117.95 20 0.00 0 0.00 0 + 0.00000e+00 1.84303e+02 3.68605e+02 7.37210e+01 6.91135e+01 6.45059e+01 + 5.98983e+01 5.52908e+01 5.06832e+01 4.60756e+01 4.14681e+01 3.68605e+01 + 3.22529e+01 2.76454e+01 2.30378e+01 1.84303e+01 1.38227e+01 9.21513e+00 + 4.60756e+00 0.00000e+00 + -118.2262 33.8421 11.4986 -54 89 1.00000e+10 7.8973 1.00000e-01 + 180 19.66 20 0.00 0 0.00 0 + 0.00000e+00 3.07192e+01 6.14384e+01 1.22877e+01 1.15197e+01 1.07517e+01 + 9.98374e+00 9.21576e+00 8.44778e+00 7.67980e+00 6.91182e+00 6.14384e+00 + 5.37586e+00 4.60788e+00 3.83990e+00 3.07192e+00 2.30394e+00 1.53596e+00 + 7.67980e-01 0.00000e+00 + -118.2335 33.8485 11.4986 -33 89 1.00000e+10 7.5404 1.00000e-01 + 180 29.48 20 0.00 0 0.00 0 + 0.00000e+00 4.60702e+01 9.21403e+01 1.84281e+01 1.72763e+01 1.61246e+01 + 1.49728e+01 1.38211e+01 1.26693e+01 1.15175e+01 1.03658e+01 9.21403e+00 + 8.06228e+00 6.91053e+00 5.75877e+00 4.60702e+00 3.45526e+00 2.30351e+00 + 1.15175e+00 0.00000e+00 + -118.2395 33.8560 11.4986 -33 89 1.00000e+10 7.0909 1.00000e-01 + 180 132.77 20 0.00 0 0.00 0 + 0.00000e+00 2.07449e+02 4.14898e+02 8.29795e+01 7.77933e+01 7.26071e+01 + 6.74209e+01 6.22347e+01 5.70484e+01 5.18622e+01 4.66760e+01 4.14898e+01 + 3.63035e+01 3.11173e+01 2.59311e+01 2.07449e+01 1.55587e+01 1.03724e+01 + 5.18622e+00 0.00000e+00 + -118.2454 33.8636 11.4986 -33 89 1.00000e+10 6.6247 1.00000e-01 + 180 252.91 20 0.00 0 0.00 0 + 0.00000e+00 3.95178e+02 7.90357e+02 1.58071e+02 1.48192e+02 1.38312e+02 + 1.28433e+02 1.18553e+02 1.08674e+02 9.87946e+01 8.89151e+01 7.90357e+01 + 6.91562e+01 5.92767e+01 4.93973e+01 3.95178e+01 2.96384e+01 1.97589e+01 + 9.87946e+00 0.00000e+00 + -118.2513 33.8711 11.4986 -33 89 1.00000e+10 6.2505 1.00000e-01 + 180 280.25 20 0.00 0 0.00 0 + 0.00000e+00 4.37895e+02 8.75791e+02 1.75158e+02 1.64211e+02 1.53263e+02 + 1.42316e+02 1.31369e+02 1.20421e+02 1.09474e+02 9.85265e+01 8.75791e+01 + 7.66317e+01 6.56843e+01 5.47369e+01 4.37895e+01 3.28422e+01 2.18948e+01 + 1.09474e+01 0.00000e+00 + -118.2572 33.8787 11.4986 -33 89 1.00000e+10 5.9157 1.00000e-01 + 180 267.90 20 0.00 0 0.00 0 + 0.00000e+00 4.18598e+02 8.37197e+02 1.67439e+02 1.56974e+02 1.46509e+02 + 1.36045e+02 1.25580e+02 1.15115e+02 1.04650e+02 9.41847e+01 8.37197e+01 + 7.32547e+01 6.27898e+01 5.23248e+01 4.18598e+01 3.13949e+01 2.09299e+01 + 1.04650e+01 0.00000e+00 + -118.2633 33.8861 11.4986 -35 89 1.00000e+10 5.5496 1.00000e-01 + 180 287.05 20 0.00 0 0.00 0 + 0.00000e+00 4.48509e+02 8.97019e+02 1.79404e+02 1.68191e+02 1.56978e+02 + 1.45766e+02 1.34553e+02 1.23340e+02 1.12127e+02 1.00915e+02 8.97019e+01 + 7.84891e+01 6.72764e+01 5.60637e+01 4.48509e+01 3.36382e+01 2.24255e+01 + 1.12127e+01 0.00000e+00 + -118.2696 33.8934 11.4986 -36 89 1.00000e+10 5.2342 1.00000e-01 + 180 255.09 20 0.00 0 0.00 0 + 0.00000e+00 3.98571e+02 7.97143e+02 1.59429e+02 1.49464e+02 1.39500e+02 + 1.29536e+02 1.19571e+02 1.09607e+02 9.96428e+01 8.96785e+01 7.97143e+01 + 6.97500e+01 5.97857e+01 4.98214e+01 3.98571e+01 2.98928e+01 1.99286e+01 + 9.96428e+00 0.00000e+00 + -118.2760 33.9007 11.4986 -36 89 1.00000e+10 4.8532 1.00000e-01 + 180 289.35 20 0.00 0 0.00 0 + 0.00000e+00 4.52112e+02 9.04225e+02 1.80845e+02 1.69542e+02 1.58239e+02 + 1.46937e+02 1.35634e+02 1.24331e+02 1.13028e+02 1.01725e+02 9.04225e+01 + 7.91197e+01 6.78169e+01 5.65141e+01 4.52112e+01 3.39084e+01 2.26056e+01 + 1.13028e+01 0.00000e+00 + -118.2824 33.9079 11.4986 -36 89 1.00000e+10 4.5996 1.00000e-01 + 180 195.15 20 0.00 0 0.00 0 + 0.00000e+00 3.04929e+02 6.09858e+02 1.21972e+02 1.14348e+02 1.06725e+02 + 9.91019e+01 9.14786e+01 8.38554e+01 7.62322e+01 6.86090e+01 6.09858e+01 + 5.33625e+01 4.57393e+01 3.81161e+01 3.04929e+01 2.28697e+01 1.52464e+01 + 7.62322e+00 0.00000e+00 + -118.2887 33.9153 11.4986 -35 89 1.00000e+10 4.2281 1.00000e-01 + 180 219.83 20 0.00 0 0.00 0 + 0.00000e+00 3.43483e+02 6.86966e+02 1.37393e+02 1.28806e+02 1.20219e+02 + 1.11632e+02 1.03045e+02 9.44578e+01 8.58708e+01 7.72837e+01 6.86966e+01 + 6.01095e+01 5.15225e+01 4.29354e+01 3.43483e+01 2.57612e+01 1.71742e+01 + 8.58708e+00 0.00000e+00 + -118.2949 33.9227 11.4986 -34 89 1.00000e+10 3.8558 1.00000e-01 + 180 245.46 20 0.00 0 0.00 0 + 0.00000e+00 3.83532e+02 7.67064e+02 1.53413e+02 1.43825e+02 1.34236e+02 + 1.24648e+02 1.15060e+02 1.05471e+02 9.58830e+01 8.62947e+01 7.67064e+01 + 6.71181e+01 5.75298e+01 4.79415e+01 3.83532e+01 2.87649e+01 1.91766e+01 + 9.58830e+00 0.00000e+00 + -118.3017 33.9293 11.4986 -47 89 1.00000e+10 3.4759 1.00000e-01 + 180 278.75 20 0.00 0 0.00 0 + 0.00000e+00 4.35541e+02 8.71082e+02 1.74216e+02 1.63328e+02 1.52439e+02 + 1.41551e+02 1.30662e+02 1.19774e+02 1.08885e+02 9.79968e+01 8.71082e+01 + 7.62197e+01 6.53312e+01 5.44427e+01 4.35541e+01 3.26656e+01 2.17771e+01 + 1.08885e+01 0.00000e+00 + -118.3107 33.9331 11.4986 -78 89 1.00000e+10 3.0992 1.00000e-01 + 180 308.86 20 0.00 0 0.00 0 + 0.00000e+00 4.82586e+02 9.65172e+02 1.93034e+02 1.80970e+02 1.68905e+02 + 1.56841e+02 1.44776e+02 1.32711e+02 1.20647e+02 1.08582e+02 9.65172e+01 + 8.44526e+01 7.23879e+01 6.03233e+01 4.82586e+01 3.61940e+01 2.41293e+01 + 1.20647e+01 0.00000e+00 + -118.3190 33.9378 11.4986 -33 89 1.00000e+10 2.8055 1.00000e-01 + 180 255.39 20 0.00 0 0.00 0 + 0.00000e+00 3.99041e+02 7.98081e+02 1.59616e+02 1.49640e+02 1.39664e+02 + 1.29688e+02 1.19712e+02 1.09736e+02 9.97601e+01 8.97841e+01 7.98081e+01 + 6.98321e+01 5.98561e+01 4.98801e+01 3.99041e+01 2.99280e+01 1.99520e+01 + 9.97601e+00 0.00000e+00 + -118.3247 33.9453 11.4986 -32 89 1.00000e+10 2.5115 1.00000e-01 + 180 202.29 20 0.00 0 0.00 0 + 0.00000e+00 3.16086e+02 6.32172e+02 1.26434e+02 1.18532e+02 1.10630e+02 + 1.02728e+02 9.48258e+01 8.69236e+01 7.90215e+01 7.11193e+01 6.32172e+01 + 5.53150e+01 4.74129e+01 3.95107e+01 3.16086e+01 2.37064e+01 1.58043e+01 + 7.90215e+00 0.00000e+00 + -118.3321 33.9516 11.4986 -56 89 1.00000e+10 2.2083 1.00000e-01 + 180 158.63 20 0.00 0 0.00 0 + 0.00000e+00 2.47867e+02 4.95733e+02 9.91467e+01 9.29500e+01 8.67533e+01 + 8.05567e+01 7.43600e+01 6.81633e+01 6.19667e+01 5.57700e+01 4.95733e+01 + 4.33767e+01 3.71800e+01 3.09833e+01 2.47867e+01 1.85900e+01 1.23933e+01 + 6.19667e+00 0.00000e+00 + -118.3411 33.9566 11.4986 -56 89 1.00000e+10 1.8547 1.00000e-01 + 180 166.10 20 0.00 0 0.00 0 + 0.00000e+00 2.59529e+02 5.19058e+02 1.03812e+02 9.73234e+01 9.08351e+01 + 8.43469e+01 7.78587e+01 7.13705e+01 6.48822e+01 5.83940e+01 5.19058e+01 + 4.54176e+01 3.89293e+01 3.24411e+01 2.59529e+01 1.94647e+01 1.29764e+01 + 6.48822e+00 0.00000e+00 + -118.3489 33.9623 11.4986 -42 89 1.00000e+10 1.5046 1.00000e-01 + 180 170.44 20 0.00 0 0.00 0 + 0.00000e+00 2.66306e+02 5.32612e+02 1.06522e+02 9.98648e+01 9.32072e+01 + 8.65495e+01 7.98919e+01 7.32342e+01 6.65765e+01 5.99189e+01 5.32612e+01 + 4.66036e+01 3.99459e+01 3.32883e+01 2.66306e+01 1.99730e+01 1.33153e+01 + 6.65765e+00 0.00000e+00 + -118.3535 33.9699 11.4986 -12 89 1.00000e+10 1.1337 1.00000e-01 + 180 196.58 20 0.00 0 0.00 0 + 0.00000e+00 3.07154e+02 6.14308e+02 1.22862e+02 1.15183e+02 1.07504e+02 + 9.98251e+01 9.21462e+01 8.44674e+01 7.67885e+01 6.91097e+01 6.14308e+01 + 5.37520e+01 4.60731e+01 3.83943e+01 3.07154e+01 2.30366e+01 1.53577e+01 + 7.67885e+00 0.00000e+00 + -118.3558 33.9786 11.4986 -12 89 1.00000e+10 0.7953 1.00000e-01 + 180 191.23 20 0.00 0 0.00 0 + 0.00000e+00 2.98799e+02 5.97597e+02 1.19519e+02 1.12050e+02 1.04580e+02 + 9.71096e+01 8.96396e+01 8.21696e+01 7.46997e+01 6.72297e+01 5.97597e+01 + 5.22898e+01 4.48198e+01 3.73498e+01 2.98799e+01 2.24099e+01 1.49399e+01 + 7.46997e+00 0.00000e+00 + -118.3583 33.9874 11.4986 -15 89 1.00000e+10 0.5126 1.00000e-01 + 180 133.23 20 0.00 0 0.00 0 + 0.00000e+00 2.08170e+02 4.16340e+02 8.32679e+01 7.80637e+01 7.28594e+01 + 6.76552e+01 6.24509e+01 5.72467e+01 5.20425e+01 4.68382e+01 4.16340e+01 + 3.64297e+01 3.12255e+01 2.60212e+01 2.08170e+01 1.56127e+01 1.04085e+01 + 5.20425e+00 0.00000e+00 + -118.3619 33.9959 11.4986 -23 89 1.00000e+10 0.2209 1.00000e-01 + 180 96.92 20 0.00 0 0.00 0 + 0.00000e+00 1.51431e+02 3.02863e+02 6.05726e+01 5.67868e+01 5.30010e+01 + 4.92152e+01 4.54294e+01 4.16437e+01 3.78579e+01 3.40721e+01 3.02863e+01 + 2.65005e+01 2.27147e+01 1.89289e+01 1.51431e+01 1.13574e+01 7.57157e+00 + 3.78579e+00 0.00000e+00 + -118.3661 34.0041 11.4986 -24 89 1.00000e+10 0.0288 1.00000e-01 + 180 74.27 20 0.00 0 0.00 0 + 0.00000e+00 1.16040e+02 2.32080e+02 4.64159e+01 4.35149e+01 4.06139e+01 + 3.77129e+01 3.48119e+01 3.19109e+01 2.90099e+01 2.61090e+01 2.32080e+01 + 2.03070e+01 1.74060e+01 1.45050e+01 1.16040e+01 8.70298e+00 5.80199e+00 + 2.90100e+00 0.00000e+00 + -118.3706 34.0123 11.4986 -24 89 1.00000e+10 0.2680 1.00000e-01 + 180 49.38 20 0.00 0 0.00 0 + 0.00000e+00 7.71596e+01 1.54319e+02 3.08639e+01 2.89349e+01 2.70059e+01 + 2.50769e+01 2.31479e+01 2.12189e+01 1.92899e+01 1.73609e+01 1.54319e+01 + 1.35029e+01 1.15739e+01 9.64496e+00 7.71596e+00 5.78697e+00 3.85798e+00 + 1.92899e+00 0.00000e+00 + -118.3750 34.0205 11.4986 -24 89 1.00000e+10 0.6156 1.00000e-01 + 180 29.25 20 0.00 0 0.00 0 + 0.00000e+00 4.57018e+01 9.14037e+01 1.82807e+01 1.71382e+01 1.59956e+01 + 1.48531e+01 1.37105e+01 1.25680e+01 1.14255e+01 1.02829e+01 9.14037e+00 + 7.99782e+00 6.85527e+00 5.71273e+00 4.57018e+00 3.42764e+00 2.28509e+00 + 1.14255e+00 0.00000e+00 + -118.3795 34.0287 11.4986 -24 89 1.00000e+10 0.9661 1.00000e-01 + 180 18.90 20 0.00 0 0.00 0 + 0.00000e+00 2.95272e+01 5.90545e+01 1.18109e+01 1.10727e+01 1.03345e+01 + 9.59635e+00 8.85817e+00 8.11999e+00 7.38181e+00 6.64363e+00 5.90545e+00 + 5.16727e+00 4.42909e+00 3.69090e+00 2.95272e+00 2.21454e+00 1.47636e+00 + 7.38181e-01 0.00000e+00 + -117.3555 33.0613 12.4985 -33 89 1.00000e+10 49.5619 1.00000e-01 + 180 20.11 20 0.00 0 0.00 0 + 0.00000e+00 3.14252e+01 6.28504e+01 1.25701e+01 1.17845e+01 1.09988e+01 + 1.02132e+01 9.42756e+00 8.64193e+00 7.85630e+00 7.07067e+00 6.28504e+00 + 5.49941e+00 4.71378e+00 3.92815e+00 3.14252e+00 2.35689e+00 1.57126e+00 + 7.85630e-01 0.00000e+00 + -117.3613 33.0689 12.4985 -33 89 1.00000e+10 49.1872 1.00000e-01 + 180 47.83 20 0.00 0 0.00 0 + 0.00000e+00 7.47351e+01 1.49470e+02 2.98940e+01 2.80257e+01 2.61573e+01 + 2.42889e+01 2.24205e+01 2.05522e+01 1.86838e+01 1.68154e+01 1.49470e+01 + 1.30786e+01 1.12103e+01 9.34189e+00 7.47351e+00 5.60513e+00 3.73676e+00 + 1.86838e+00 0.00000e+00 + -117.3672 33.0764 12.4985 -33 89 1.00000e+10 48.8119 1.00000e-01 + 180 76.25 20 0.00 0 0.00 0 + 0.00000e+00 1.19147e+02 2.38295e+02 4.76590e+01 4.46803e+01 4.17016e+01 + 3.87229e+01 3.57442e+01 3.27655e+01 2.97869e+01 2.68082e+01 2.38295e+01 + 2.08508e+01 1.78721e+01 1.48934e+01 1.19147e+01 8.93606e+00 5.95737e+00 + 2.97869e+00 0.00000e+00 + -117.3732 33.0838 12.4985 -36 89 1.00000e+10 48.4431 1.00000e-01 + 180 98.01 20 0.00 0 0.00 0 + 0.00000e+00 1.53144e+02 3.06288e+02 6.12576e+01 5.74290e+01 5.36004e+01 + 4.97718e+01 4.59432e+01 4.21146e+01 3.82860e+01 3.44574e+01 3.06288e+01 + 2.68002e+01 2.29716e+01 1.91430e+01 1.53144e+01 1.14858e+01 7.65720e+00 + 3.82860e+00 0.00000e+00 + -117.3807 33.0900 12.4985 -55 89 1.00000e+10 48.0679 1.00000e-01 + 180 126.18 20 0.00 0 0.00 0 + 0.00000e+00 1.97149e+02 3.94299e+02 7.88598e+01 7.39310e+01 6.90023e+01 + 6.40736e+01 5.91448e+01 5.42161e+01 4.92873e+01 4.43586e+01 3.94299e+01 + 3.45011e+01 2.95724e+01 2.46437e+01 1.97149e+01 1.47862e+01 9.85747e+00 + 4.92873e+00 0.00000e+00 + -117.3895 33.0952 12.4985 -55 89 1.00000e+10 47.7617 1.00000e-01 + 180 84.87 20 0.00 0 0.00 0 + 0.00000e+00 1.32604e+02 2.65208e+02 5.30417e+01 4.97266e+01 4.64115e+01 + 4.30964e+01 3.97813e+01 3.64662e+01 3.31511e+01 2.98360e+01 2.65209e+01 + 2.32057e+01 1.98906e+01 1.65755e+01 1.32604e+01 9.94532e+00 6.63021e+00 + 3.31511e+00 0.00000e+00 + -117.3979 33.1008 12.4985 -48 89 1.00000e+10 47.4598 1.00000e-01 + 180 39.09 20 0.00 0 0.00 0 + 0.00000e+00 6.10836e+01 1.22167e+02 2.44334e+01 2.29064e+01 2.13793e+01 + 1.98522e+01 1.83251e+01 1.67980e+01 1.52709e+01 1.37438e+01 1.22167e+01 + 1.06896e+01 9.16254e+00 7.63545e+00 6.10836e+00 4.58127e+00 3.05418e+00 + 1.52709e+00 0.00000e+00 + -117.4059 33.1068 12.4985 -47 89 1.00000e+10 47.1434 1.00000e-01 + 180 8.03 20 0.00 0 0.00 0 + 0.00000e+00 1.25402e+01 2.50804e+01 5.01608e+00 4.70258e+00 4.38907e+00 + 4.07557e+00 3.76206e+00 3.44856e+00 3.13505e+00 2.82155e+00 2.50804e+00 + 2.19454e+00 1.88103e+00 1.56753e+00 1.25402e+00 9.40516e-01 6.27010e-01 + 3.13505e-01 0.00000e+00 + -117.4129 33.1135 12.4985 -36 89 1.00000e+10 46.8041 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4190 33.1209 12.4985 -33 89 1.00000e+10 46.4569 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4226 33.1291 12.4985 -8 89 1.00000e+10 46.1097 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4241 33.1380 12.4985 -8 89 1.00000e+10 45.7624 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4257 33.1469 12.4985 -8 89 1.00000e+10 45.4152 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4282 33.1554 12.4985 -20 89 1.00000e+10 45.0680 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4333 33.1631 12.4985 -39 89 1.00000e+10 44.7208 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4400 33.1701 12.4985 -39 89 1.00000e+10 44.3736 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4467 33.1771 12.4985 -39 89 1.00000e+10 43.9200 1.00000e-01 + 180 107.30 20 0.00 0 0.00 0 + 0.00000e+00 1.67657e+02 3.35314e+02 6.70629e+01 6.28714e+01 5.86800e+01 + 5.44886e+01 5.02971e+01 4.61057e+01 4.19143e+01 3.77229e+01 3.35314e+01 + 2.93400e+01 2.51486e+01 2.09571e+01 1.67657e+01 1.25743e+01 8.38286e+00 + 4.19143e+00 0.00000e+00 + -117.4535 33.1841 12.4985 -39 89 1.00000e+10 43.4493 1.00000e-01 + 180 231.87 20 0.00 0 0.00 0 + 0.00000e+00 3.62300e+02 7.24600e+02 1.44920e+02 1.35862e+02 1.26805e+02 + 1.17747e+02 1.08690e+02 9.96324e+01 9.05750e+01 8.15175e+01 7.24600e+01 + 6.34025e+01 5.43450e+01 4.52875e+01 3.62300e+01 2.71725e+01 1.81150e+01 + 9.05750e+00 0.00000e+00 + -117.4602 33.1911 12.4985 -39 89 1.00000e+10 43.0251 1.00000e-01 + 180 309.60 20 0.00 0 0.00 0 + 0.00000e+00 4.83745e+02 9.67491e+02 1.93498e+02 1.81404e+02 1.69311e+02 + 1.57217e+02 1.45124e+02 1.33030e+02 1.20936e+02 1.08843e+02 9.67491e+01 + 8.46554e+01 7.25618e+01 6.04682e+01 4.83745e+01 3.62809e+01 2.41873e+01 + 1.20936e+01 0.00000e+00 + -117.4669 33.1982 12.4985 -39 89 1.00000e+10 42.6125 1.00000e-01 + 180 375.53 20 0.00 0 0.00 0 + 0.00000e+00 5.86766e+02 1.17353e+03 2.34707e+02 2.20037e+02 2.05368e+02 + 1.90699e+02 1.76030e+02 1.61361e+02 1.46692e+02 1.32022e+02 1.17353e+02 + 1.02684e+02 8.80150e+01 7.33458e+01 5.86766e+01 4.40075e+01 2.93383e+01 + 1.46692e+01 0.00000e+00 + -117.4737 33.2052 12.4985 -39 89 1.00000e+10 42.2440 1.00000e-01 + 180 397.01 20 0.00 0 0.00 0 + 0.00000e+00 6.20324e+02 1.24065e+03 2.48130e+02 2.32621e+02 2.17113e+02 + 2.01605e+02 1.86097e+02 1.70589e+02 1.55081e+02 1.39573e+02 1.24065e+02 + 1.08557e+02 9.30486e+01 7.75405e+01 6.20324e+01 4.65243e+01 3.10162e+01 + 1.55081e+01 0.00000e+00 + -117.4804 33.2122 12.4985 -39 89 1.00000e+10 41.9380 1.00000e-01 + 180 355.47 20 0.00 0 0.00 0 + 0.00000e+00 5.55422e+02 1.11084e+03 2.22169e+02 2.08283e+02 1.94398e+02 + 1.80512e+02 1.66626e+02 1.52741e+02 1.38855e+02 1.24970e+02 1.11084e+02 + 9.71988e+01 8.33132e+01 6.94277e+01 5.55422e+01 4.16566e+01 2.77711e+01 + 1.38855e+01 0.00000e+00 + -117.4879 33.2185 12.4985 -51 89 1.00000e+10 41.5768 1.00000e-01 + 180 369.53 20 0.00 0 0.00 0 + 0.00000e+00 5.77384e+02 1.15477e+03 2.30953e+02 2.16519e+02 2.02084e+02 + 1.87650e+02 1.73215e+02 1.58780e+02 1.44346e+02 1.29911e+02 1.15477e+02 + 1.01042e+02 8.66075e+01 7.21730e+01 5.77384e+01 4.33038e+01 2.88692e+01 + 1.44346e+01 0.00000e+00 + -117.4965 33.2239 12.4985 -55 89 1.00000e+10 41.1981 1.00000e-01 + 180 401.27 20 0.00 0 0.00 0 + 0.00000e+00 6.26978e+02 1.25396e+03 2.50791e+02 2.35117e+02 2.19442e+02 + 2.03768e+02 1.88093e+02 1.72419e+02 1.56744e+02 1.41070e+02 1.25396e+02 + 1.09721e+02 9.40467e+01 7.83722e+01 6.26978e+01 4.70233e+01 3.13489e+01 + 1.56744e+01 0.00000e+00 + -117.5053 33.2290 12.4985 -55 89 1.00000e+10 40.8200 1.00000e-01 + 180 432.42 20 0.00 0 0.00 0 + 0.00000e+00 6.75655e+02 1.35131e+03 2.70262e+02 2.53371e+02 2.36479e+02 + 2.19588e+02 2.02696e+02 1.85805e+02 1.68914e+02 1.52022e+02 1.35131e+02 + 1.18240e+02 1.01348e+02 8.44569e+01 6.75655e+01 5.06741e+01 3.37827e+01 + 1.68914e+01 0.00000e+00 + -117.5142 33.2342 12.4985 -55 89 1.00000e+10 40.3651 1.00000e-01 + 180 541.09 20 0.00 0 0.00 0 + 0.00000e+00 8.45454e+02 1.69091e+03 3.38182e+02 3.17045e+02 2.95909e+02 + 2.74772e+02 2.53636e+02 2.32500e+02 2.11363e+02 1.90227e+02 1.69091e+02 + 1.47954e+02 1.26818e+02 1.05682e+02 8.45454e+01 6.34090e+01 4.22727e+01 + 2.11363e+01 0.00000e+00 + -117.5230 33.2393 12.4985 -55 89 1.00000e+10 39.9936 1.00000e-01 + 180 565.60 20 0.00 0 0.00 0 + 0.00000e+00 8.83747e+02 1.76749e+03 3.53499e+02 3.31405e+02 3.09311e+02 + 2.87218e+02 2.65124e+02 2.43030e+02 2.20937e+02 1.98843e+02 1.76749e+02 + 1.54656e+02 1.32562e+02 1.10468e+02 8.83747e+01 6.62810e+01 4.41874e+01 + 2.20937e+01 0.00000e+00 + -117.5318 33.2444 12.4985 -55 89 1.00000e+10 39.6450 1.00000e-01 + 180 566.97 20 0.00 0 0.00 0 + 0.00000e+00 8.85890e+02 1.77178e+03 3.54356e+02 3.32209e+02 3.10061e+02 + 2.87914e+02 2.65767e+02 2.43620e+02 2.21472e+02 1.99325e+02 1.77178e+02 + 1.55031e+02 1.32883e+02 1.10736e+02 8.85890e+01 6.64417e+01 4.42945e+01 + 2.21472e+01 0.00000e+00 + -117.5406 33.2496 12.4985 -55 89 1.00000e+10 39.2873 1.00000e-01 + 180 577.61 20 0.00 0 0.00 0 + 0.00000e+00 9.02515e+02 1.80503e+03 3.61006e+02 3.38443e+02 3.15880e+02 + 2.93317e+02 2.70755e+02 2.48192e+02 2.25629e+02 2.03066e+02 1.80503e+02 + 1.57940e+02 1.35377e+02 1.12814e+02 9.02515e+01 6.76887e+01 4.51258e+01 + 2.25629e+01 0.00000e+00 + -117.5484 33.2557 12.4985 -39 89 1.00000e+10 38.9367 1.00000e-01 + 180 580.97 20 0.00 0 0.00 0 + 0.00000e+00 9.07773e+02 1.81555e+03 3.63109e+02 3.40415e+02 3.17720e+02 + 2.95026e+02 2.72332e+02 2.49638e+02 2.26943e+02 2.04249e+02 1.81555e+02 + 1.58860e+02 1.36166e+02 1.13472e+02 9.07773e+01 6.80830e+01 4.53886e+01 + 2.26943e+01 0.00000e+00 + -117.5551 33.2627 12.4985 -38 89 1.00000e+10 38.5875 1.00000e-01 + 180 582.98 20 0.00 0 0.00 0 + 0.00000e+00 9.10904e+02 1.82181e+03 3.64362e+02 3.41589e+02 3.18816e+02 + 2.96044e+02 2.73271e+02 2.50499e+02 2.27726e+02 2.04953e+02 1.82181e+02 + 1.59408e+02 1.36636e+02 1.13863e+02 9.10904e+01 6.83178e+01 4.55452e+01 + 2.27726e+01 0.00000e+00 + -117.5617 33.2698 12.4985 -38 89 1.00000e+10 38.3090 1.00000e-01 + 180 513.68 20 0.00 0 0.00 0 + 0.00000e+00 8.02623e+02 1.60525e+03 3.21049e+02 3.00984e+02 2.80918e+02 + 2.60853e+02 2.40787e+02 2.20721e+02 2.00656e+02 1.80590e+02 1.60525e+02 + 1.40459e+02 1.20394e+02 1.00328e+02 8.02623e+01 6.01968e+01 4.01312e+01 + 2.00656e+01 0.00000e+00 + -117.5684 33.2769 12.4985 -38 89 1.00000e+10 38.0196 1.00000e-01 + 180 455.32 20 0.00 0 0.00 0 + 0.00000e+00 7.11442e+02 1.42288e+03 2.84577e+02 2.66791e+02 2.49005e+02 + 2.31219e+02 2.13433e+02 1.95647e+02 1.77860e+02 1.60074e+02 1.42288e+02 + 1.24502e+02 1.06716e+02 8.89302e+01 7.11442e+01 5.33581e+01 3.55721e+01 + 1.77860e+01 0.00000e+00 + -117.5750 33.2840 12.4985 -38 89 1.00000e+10 37.7369 1.00000e-01 + 180 390.25 20 0.00 0 0.00 0 + 0.00000e+00 6.09764e+02 1.21953e+03 2.43906e+02 2.28662e+02 2.13418e+02 + 1.98173e+02 1.82929e+02 1.67685e+02 1.52441e+02 1.37197e+02 1.21953e+02 + 1.06709e+02 9.14647e+01 7.62206e+01 6.09764e+01 4.57323e+01 3.04882e+01 + 1.52441e+01 0.00000e+00 + -117.5816 33.2911 12.4985 -38 89 1.00000e+10 37.4941 1.00000e-01 + 180 284.85 20 0.00 0 0.00 0 + 0.00000e+00 4.45078e+02 8.90155e+02 1.78031e+02 1.66904e+02 1.55777e+02 + 1.44650e+02 1.33523e+02 1.22396e+02 1.11269e+02 1.00142e+02 8.90155e+01 + 7.78886e+01 6.67617e+01 5.56347e+01 4.45078e+01 3.33808e+01 2.22539e+01 + 1.11269e+01 0.00000e+00 + -117.5882 33.2982 12.4985 -38 89 1.00000e+10 37.1712 1.00000e-01 + 180 260.29 20 0.00 0 0.00 0 + 0.00000e+00 4.06701e+02 8.13402e+02 1.62680e+02 1.52513e+02 1.42345e+02 + 1.32178e+02 1.22010e+02 1.11843e+02 1.01675e+02 9.15078e+01 8.13402e+01 + 7.11727e+01 6.10052e+01 5.08377e+01 4.06701e+01 3.05026e+01 2.03351e+01 + 1.01675e+01 0.00000e+00 + -117.5948 33.3053 12.4985 -38 89 1.00000e+10 36.8235 1.00000e-01 + 180 260.82 20 0.00 0 0.00 0 + 0.00000e+00 4.07528e+02 8.15057e+02 1.63011e+02 1.52823e+02 1.42635e+02 + 1.32447e+02 1.22259e+02 1.12070e+02 1.01882e+02 9.16939e+01 8.15057e+01 + 7.13175e+01 6.11293e+01 5.09410e+01 4.07528e+01 3.05646e+01 2.03764e+01 + 1.01882e+01 0.00000e+00 + -117.6014 33.3124 12.4985 -38 89 1.00000e+10 36.5791 1.00000e-01 + 180 157.05 20 0.00 0 0.00 0 + 0.00000e+00 2.45387e+02 4.90775e+02 9.81549e+01 9.20202e+01 8.58855e+01 + 7.97509e+01 7.36162e+01 6.74815e+01 6.13468e+01 5.52121e+01 4.90775e+01 + 4.29428e+01 3.68081e+01 3.06734e+01 2.45387e+01 1.84040e+01 1.22694e+01 + 6.13468e+00 0.00000e+00 + -117.6081 33.3195 12.4985 -38 89 1.00000e+10 36.3127 1.00000e-01 + 180 75.47 20 0.00 0 0.00 0 + 0.00000e+00 1.17923e+02 2.35847e+02 4.71693e+01 4.42213e+01 4.12732e+01 + 3.83251e+01 3.53770e+01 3.24289e+01 2.94808e+01 2.65328e+01 2.35847e+01 + 2.06366e+01 1.76885e+01 1.47404e+01 1.17923e+01 8.84425e+00 5.89617e+00 + 2.94808e+00 0.00000e+00 + -117.6147 33.3266 12.4985 -38 89 1.00000e+10 35.9097 1.00000e-01 + 180 131.80 20 0.00 0 0.00 0 + 0.00000e+00 2.05941e+02 4.11882e+02 8.23764e+01 7.72279e+01 7.20793e+01 + 6.69308e+01 6.17823e+01 5.66338e+01 5.14852e+01 4.63367e+01 4.11882e+01 + 3.60397e+01 3.08911e+01 2.57426e+01 2.05941e+01 1.54456e+01 1.02970e+01 + 5.14852e+00 0.00000e+00 + -117.6213 33.3337 12.4985 -38 89 1.00000e+10 35.4682 1.00000e-01 + 180 226.89 20 0.00 0 0.00 0 + 0.00000e+00 3.54512e+02 7.09025e+02 1.41805e+02 1.32942e+02 1.24079e+02 + 1.15217e+02 1.06354e+02 9.74909e+01 8.86281e+01 7.97653e+01 7.09025e+01 + 6.20397e+01 5.31769e+01 4.43140e+01 3.54512e+01 2.65884e+01 1.77256e+01 + 8.86281e+00 0.00000e+00 + -117.6279 33.3408 12.4985 -38 89 1.00000e+10 35.0306 1.00000e-01 + 180 318.16 20 0.00 0 0.00 0 + 0.00000e+00 4.97122e+02 9.94245e+02 1.98849e+02 1.86421e+02 1.73993e+02 + 1.61565e+02 1.49137e+02 1.36709e+02 1.24281e+02 1.11853e+02 9.94245e+01 + 8.69964e+01 7.45684e+01 6.21403e+01 4.97122e+01 3.72842e+01 2.48561e+01 + 1.24281e+01 0.00000e+00 + -117.6346 33.3479 12.4985 -38 89 1.00000e+10 34.6212 1.00000e-01 + 180 380.90 20 0.00 0 0.00 0 + 0.00000e+00 5.95162e+02 1.19032e+03 2.38065e+02 2.23186e+02 2.08307e+02 + 1.93428e+02 1.78549e+02 1.63669e+02 1.48790e+02 1.33911e+02 1.19032e+02 + 1.04153e+02 8.92743e+01 7.43952e+01 5.95162e+01 4.46371e+01 2.97581e+01 + 1.48790e+01 0.00000e+00 + -117.6412 33.3550 12.4985 -38 89 1.00000e+10 34.3482 1.00000e-01 + 180 305.94 20 0.00 0 0.00 0 + 0.00000e+00 4.78035e+02 9.56070e+02 1.91214e+02 1.79263e+02 1.67312e+02 + 1.55361e+02 1.43411e+02 1.31460e+02 1.19509e+02 1.07558e+02 9.56070e+01 + 8.36561e+01 7.17053e+01 5.97544e+01 4.78035e+01 3.58526e+01 2.39018e+01 + 1.19509e+01 0.00000e+00 + -117.6478 33.3621 12.4985 -38 89 1.00000e+10 34.1051 1.00000e-01 + 180 200.92 20 0.00 0 0.00 0 + 0.00000e+00 3.13934e+02 6.27868e+02 1.25574e+02 1.17725e+02 1.09877e+02 + 1.02028e+02 9.41801e+01 8.63318e+01 7.84835e+01 7.06351e+01 6.27868e+01 + 5.49384e+01 4.70901e+01 3.92417e+01 3.13934e+01 2.35450e+01 1.56967e+01 + 7.84834e+00 0.00000e+00 + -117.6544 33.3692 12.4985 -38 89 1.00000e+10 33.8159 1.00000e-01 + 180 142.38 20 0.00 0 0.00 0 + 0.00000e+00 2.22462e+02 4.44924e+02 8.89847e+01 8.34232e+01 7.78616e+01 + 7.23001e+01 6.67386e+01 6.11770e+01 5.56155e+01 5.00539e+01 4.44924e+01 + 3.89308e+01 3.33693e+01 2.78077e+01 2.22462e+01 1.66846e+01 1.11231e+01 + 5.56155e+00 0.00000e+00 + -117.6611 33.3763 12.4985 -38 89 1.00000e+10 33.5319 1.00000e-01 + 180 78.58 20 0.00 0 0.00 0 + 0.00000e+00 1.22782e+02 2.45565e+02 4.91130e+01 4.60434e+01 4.29739e+01 + 3.99043e+01 3.68347e+01 3.37652e+01 3.06956e+01 2.76260e+01 2.45565e+01 + 2.14869e+01 1.84174e+01 1.53478e+01 1.22782e+01 9.20868e+00 6.13912e+00 + 3.06956e+00 0.00000e+00 + -117.6677 33.3834 12.4985 -38 89 1.00000e+10 33.2534 1.00000e-01 + 180 9.28 20 0.00 0 0.00 0 + 0.00000e+00 1.45001e+01 2.90002e+01 5.80005e+00 5.43755e+00 5.07504e+00 + 4.71254e+00 4.35004e+00 3.98753e+00 3.62503e+00 3.26253e+00 2.90002e+00 + 2.53752e+00 2.17502e+00 1.81252e+00 1.45001e+00 1.08751e+00 7.25006e-01 + 3.62503e-01 0.00000e+00 + -117.6743 33.3904 12.4985 -38 89 1.00000e+10 32.9154 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6810 33.3975 12.4985 -38 89 1.00000e+10 32.5681 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6878 33.4045 12.4985 -40 89 1.00000e+10 32.2171 1.00000e-01 + 180 3.86 20 0.00 0 0.00 0 + 0.00000e+00 6.02428e+00 1.20486e+01 2.40971e+00 2.25910e+00 2.10850e+00 + 1.95789e+00 1.80728e+00 1.65668e+00 1.50607e+00 1.35546e+00 1.20486e+00 + 1.05425e+00 9.03641e-01 7.53034e-01 6.02428e-01 4.51821e-01 3.01214e-01 + 1.50607e-01 0.00000e+00 + -117.6948 33.4114 12.4985 -41 89 1.00000e+10 31.7951 1.00000e-01 + 180 79.27 20 0.00 0 0.00 0 + 0.00000e+00 1.23866e+02 2.47732e+02 4.95464e+01 4.64497e+01 4.33531e+01 + 4.02564e+01 3.71598e+01 3.40631e+01 3.09665e+01 2.78698e+01 2.47732e+01 + 2.16765e+01 1.85799e+01 1.54832e+01 1.23866e+01 9.28995e+00 6.19330e+00 + 3.09665e+00 0.00000e+00 + -117.7019 33.4181 12.4985 -41 89 1.00000e+10 31.4180 1.00000e-01 + 180 109.43 20 0.00 0 0.00 0 + 0.00000e+00 1.70991e+02 3.41981e+02 6.83962e+01 6.41215e+01 5.98467e+01 + 5.55719e+01 5.12972e+01 4.70224e+01 4.27476e+01 3.84729e+01 3.41981e+01 + 2.99233e+01 2.56486e+01 2.13738e+01 1.70991e+01 1.28243e+01 8.54953e+00 + 4.27476e+00 0.00000e+00 + -117.7090 33.4249 12.4985 -41 89 1.00000e+10 31.0567 1.00000e-01 + 180 123.65 20 0.00 0 0.00 0 + 0.00000e+00 1.93204e+02 3.86409e+02 7.72817e+01 7.24516e+01 6.76215e+01 + 6.27914e+01 5.79613e+01 5.31312e+01 4.83011e+01 4.34710e+01 3.86409e+01 + 3.38107e+01 2.89806e+01 2.41505e+01 1.93204e+01 1.44903e+01 9.66021e+00 + 4.83011e+00 0.00000e+00 + -117.7161 33.4317 12.4985 -41 89 1.00000e+10 30.6269 1.00000e-01 + 180 207.04 20 0.00 0 0.00 0 + 0.00000e+00 3.23495e+02 6.46990e+02 1.29398e+02 1.21311e+02 1.13223e+02 + 1.05136e+02 9.70485e+01 8.89611e+01 8.08737e+01 7.27863e+01 6.46990e+01 + 5.66116e+01 4.85242e+01 4.04369e+01 3.23495e+01 2.42621e+01 1.61747e+01 + 8.08737e+00 0.00000e+00 + -117.7232 33.4385 12.4985 -41 89 1.00000e+10 30.1551 1.00000e-01 + 180 332.68 20 0.00 0 0.00 0 + 0.00000e+00 5.19809e+02 1.03962e+03 2.07924e+02 1.94928e+02 1.81933e+02 + 1.68938e+02 1.55943e+02 1.42947e+02 1.29952e+02 1.16957e+02 1.03962e+02 + 9.09666e+01 7.79714e+01 6.49761e+01 5.19809e+01 3.89857e+01 2.59905e+01 + 1.29952e+01 0.00000e+00 + -117.7303 33.4453 12.4985 -41 89 1.00000e+10 29.7657 1.00000e-01 + 180 375.31 20 0.00 0 0.00 0 + 0.00000e+00 5.86415e+02 1.17283e+03 2.34566e+02 2.19906e+02 2.05245e+02 + 1.90585e+02 1.75925e+02 1.61264e+02 1.46604e+02 1.31943e+02 1.17283e+02 + 1.02623e+02 8.79623e+01 7.33019e+01 5.86415e+01 4.39812e+01 2.93208e+01 + 1.46604e+01 0.00000e+00 + -117.7374 33.4520 12.4985 -41 89 1.00000e+10 29.3705 1.00000e-01 + 180 423.70 20 0.00 0 0.00 0 + 0.00000e+00 6.62028e+02 1.32406e+03 2.64811e+02 2.48260e+02 2.31710e+02 + 2.15159e+02 1.98608e+02 1.82058e+02 1.65507e+02 1.48956e+02 1.32406e+02 + 1.15855e+02 9.93042e+01 8.27535e+01 6.62028e+01 4.96521e+01 3.31014e+01 + 1.65507e+01 0.00000e+00 + -117.7445 33.4588 12.4985 -41 89 1.00000e+10 29.0991 1.00000e-01 + 180 347.21 20 0.00 0 0.00 0 + 0.00000e+00 5.42518e+02 1.08504e+03 2.17007e+02 2.03444e+02 1.89881e+02 + 1.76318e+02 1.62755e+02 1.49193e+02 1.35630e+02 1.22067e+02 1.08504e+02 + 9.49407e+01 8.13777e+01 6.78148e+01 5.42518e+01 4.06889e+01 2.71259e+01 + 1.35630e+01 0.00000e+00 + -117.7516 33.4656 12.4985 -41 89 1.00000e+10 28.6895 1.00000e-01 + 180 410.17 20 0.00 0 0.00 0 + 0.00000e+00 6.40894e+02 1.28179e+03 2.56358e+02 2.40335e+02 2.24313e+02 + 2.08291e+02 1.92268e+02 1.76246e+02 1.60224e+02 1.44201e+02 1.28179e+02 + 1.12156e+02 9.61341e+01 8.01118e+01 6.40894e+01 4.80671e+01 3.20447e+01 + 1.60224e+01 0.00000e+00 + -117.7587 33.4724 12.4985 -41 89 1.00000e+10 28.3003 1.00000e-01 + 180 452.50 20 0.00 0 0.00 0 + 0.00000e+00 7.07025e+02 1.41405e+03 2.82810e+02 2.65134e+02 2.47459e+02 + 2.29783e+02 2.12107e+02 1.94432e+02 1.76756e+02 1.59081e+02 1.41405e+02 + 1.23729e+02 1.06054e+02 8.83781e+01 7.07025e+01 5.30269e+01 3.53512e+01 + 1.76756e+01 0.00000e+00 + -117.7658 33.4791 12.4985 -41 89 1.00000e+10 27.9010 1.00000e-01 + 180 505.05 20 0.00 0 0.00 0 + 0.00000e+00 7.89140e+02 1.57828e+03 3.15656e+02 2.95927e+02 2.76199e+02 + 2.56470e+02 2.36742e+02 2.17013e+02 1.97285e+02 1.77556e+02 1.57828e+02 + 1.38099e+02 1.18371e+02 9.86425e+01 7.89140e+01 5.91855e+01 3.94570e+01 + 1.97285e+01 0.00000e+00 + -117.7729 33.4859 12.4985 -41 89 1.00000e+10 27.5456 1.00000e-01 + 180 513.34 20 0.00 0 0.00 0 + 0.00000e+00 8.02095e+02 1.60419e+03 3.20838e+02 3.00786e+02 2.80733e+02 + 2.60681e+02 2.40628e+02 2.20576e+02 2.00524e+02 1.80471e+02 1.60419e+02 + 1.40367e+02 1.20314e+02 1.00262e+02 8.02095e+01 6.01571e+01 4.01047e+01 + 2.00524e+01 0.00000e+00 + -117.7800 33.4927 12.4985 -41 89 1.00000e+10 27.2261 1.00000e-01 + 180 485.33 20 0.00 0 0.00 0 + 0.00000e+00 7.58333e+02 1.51667e+03 3.03333e+02 2.84375e+02 2.65416e+02 + 2.46458e+02 2.27500e+02 2.08541e+02 1.89583e+02 1.70625e+02 1.51667e+02 + 1.32708e+02 1.13750e+02 9.47916e+01 7.58333e+01 5.68749e+01 3.79166e+01 + 1.89583e+01 0.00000e+00 + -117.7871 33.4995 12.4985 -41 89 1.00000e+10 26.9303 1.00000e-01 + 180 433.41 20 0.00 0 0.00 0 + 0.00000e+00 6.77204e+02 1.35441e+03 2.70882e+02 2.53951e+02 2.37021e+02 + 2.20091e+02 2.03161e+02 1.86231e+02 1.69301e+02 1.52371e+02 1.35441e+02 + 1.18511e+02 1.01581e+02 8.46505e+01 6.77204e+01 5.07903e+01 3.38602e+01 + 1.69301e+01 0.00000e+00 + -117.7942 33.5062 12.4985 -42 89 1.00000e+10 26.6452 1.00000e-01 + 180 370.80 20 0.00 0 0.00 0 + 0.00000e+00 5.79379e+02 1.15876e+03 2.31752e+02 2.17267e+02 2.02783e+02 + 1.88298e+02 1.73814e+02 1.59329e+02 1.44845e+02 1.30360e+02 1.15876e+02 + 1.01391e+02 8.69068e+01 7.24224e+01 5.79379e+01 4.34534e+01 2.89689e+01 + 1.44845e+01 0.00000e+00 + -117.8019 33.5125 12.4985 -49 89 1.00000e+10 26.4314 1.00000e-01 + 180 236.16 20 0.00 0 0.00 0 + 0.00000e+00 3.68997e+02 7.37994e+02 1.47599e+02 1.38374e+02 1.29149e+02 + 1.19924e+02 1.10699e+02 1.01474e+02 9.22492e+01 8.30243e+01 7.37994e+01 + 6.45744e+01 5.53495e+01 4.61246e+01 3.68997e+01 2.76748e+01 1.84498e+01 + 9.22492e+00 0.00000e+00 + -117.8101 33.5183 12.4985 -49 89 1.00000e+10 26.1161 1.00000e-01 + 180 203.96 20 0.00 0 0.00 0 + 0.00000e+00 3.18694e+02 6.37388e+02 1.27478e+02 1.19510e+02 1.11543e+02 + 1.03575e+02 9.56081e+01 8.76408e+01 7.96734e+01 7.17061e+01 6.37388e+01 + 5.57714e+01 4.78041e+01 3.98367e+01 3.18694e+01 2.39020e+01 1.59347e+01 + 7.96734e+00 0.00000e+00 + -117.8183 33.5242 12.4985 -49 89 1.00000e+10 25.7837 1.00000e-01 + 180 189.05 20 0.00 0 0.00 0 + 0.00000e+00 2.95395e+02 5.90790e+02 1.18158e+02 1.10773e+02 1.03388e+02 + 9.60033e+01 8.86184e+01 8.12336e+01 7.38487e+01 6.64638e+01 5.90790e+01 + 5.16941e+01 4.43092e+01 3.69243e+01 2.95395e+01 2.21546e+01 1.47697e+01 + 7.38487e+00 0.00000e+00 + -117.8265 33.5301 12.4985 -49 89 1.00000e+10 25.4337 1.00000e-01 + 180 191.79 20 0.00 0 0.00 0 + 0.00000e+00 2.99679e+02 5.99357e+02 1.19871e+02 1.12379e+02 1.04888e+02 + 9.73956e+01 8.99036e+01 8.24116e+01 7.49197e+01 6.74277e+01 5.99357e+01 + 5.24438e+01 4.49518e+01 3.74598e+01 2.99679e+01 2.24759e+01 1.49839e+01 + 7.49197e+00 0.00000e+00 + -117.8346 33.5360 12.4985 -49 89 1.00000e+10 25.1648 1.00000e-01 + 180 112.82 20 0.00 0 0.00 0 + 0.00000e+00 1.76286e+02 3.52572e+02 7.05145e+01 6.61073e+01 6.17001e+01 + 5.72930e+01 5.28858e+01 4.84787e+01 4.40715e+01 3.96644e+01 3.52572e+01 + 3.08501e+01 2.64429e+01 2.20358e+01 1.76286e+01 1.32215e+01 8.81431e+00 + 4.40715e+00 0.00000e+00 + -117.8428 33.5418 12.4985 -49 89 1.00000e+10 24.8739 1.00000e-01 + 180 55.94 20 0.00 0 0.00 0 + 0.00000e+00 8.74085e+01 1.74817e+02 3.49634e+01 3.27782e+01 3.05930e+01 + 2.84078e+01 2.62225e+01 2.40373e+01 2.18521e+01 1.96669e+01 1.74817e+01 + 1.52965e+01 1.31113e+01 1.09261e+01 8.74085e+00 6.55564e+00 4.37042e+00 + 2.18521e+00 0.00000e+00 + -117.8510 33.5477 12.4985 -49 89 1.00000e+10 24.5584 1.00000e-01 + 180 23.99 20 0.00 0 0.00 0 + 0.00000e+00 3.74817e+01 7.49633e+01 1.49927e+01 1.40556e+01 1.31186e+01 + 1.21815e+01 1.12445e+01 1.03075e+01 9.37041e+00 8.43337e+00 7.49633e+00 + 6.55929e+00 5.62225e+00 4.68521e+00 3.74817e+00 2.81112e+00 1.87408e+00 + 9.37041e-01 0.00000e+00 + -117.8592 33.5536 12.4985 -49 89 1.00000e+10 24.2350 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8674 33.5595 12.4985 -49 89 1.00000e+10 23.8369 1.00000e-01 + 180 51.26 20 0.00 0 0.00 0 + 0.00000e+00 8.00911e+01 1.60182e+02 3.20365e+01 3.00342e+01 2.80319e+01 + 2.60296e+01 2.40273e+01 2.20251e+01 2.00228e+01 1.80205e+01 1.60182e+01 + 1.40160e+01 1.20137e+01 1.00114e+01 8.00912e+00 6.00684e+00 4.00456e+00 + 2.00228e+00 0.00000e+00 + -117.8755 33.5653 12.4985 -49 89 1.00000e+10 23.4856 1.00000e-01 + 180 55.39 20 0.00 0 0.00 0 + 0.00000e+00 8.65414e+01 1.73083e+02 3.46165e+01 3.24530e+01 3.02895e+01 + 2.81259e+01 2.59624e+01 2.37989e+01 2.16353e+01 1.94718e+01 1.73083e+01 + 1.51447e+01 1.29812e+01 1.08177e+01 8.65414e+00 6.49060e+00 4.32707e+00 + 2.16353e+00 0.00000e+00 + -117.8837 33.5712 12.4985 -49 89 1.00000e+10 23.0845 1.00000e-01 + 180 109.81 20 0.00 0 0.00 0 + 0.00000e+00 1.71576e+02 3.43151e+02 6.86303e+01 6.43409e+01 6.00515e+01 + 5.57621e+01 5.14727e+01 4.71833e+01 4.28939e+01 3.86045e+01 3.43152e+01 + 3.00258e+01 2.57364e+01 2.14470e+01 1.71576e+01 1.28682e+01 8.57879e+00 + 4.28939e+00 0.00000e+00 + -117.8919 33.5771 12.4985 -49 89 1.00000e+10 22.7354 1.00000e-01 + 180 111.67 20 0.00 0 0.00 0 + 0.00000e+00 1.74490e+02 3.48980e+02 6.97959e+01 6.54337e+01 6.10714e+01 + 5.67092e+01 5.23469e+01 4.79847e+01 4.36224e+01 3.92602e+01 3.48980e+01 + 3.05357e+01 2.61735e+01 2.18112e+01 1.74490e+01 1.30867e+01 8.72449e+00 + 4.36224e+00 0.00000e+00 + -117.9001 33.5829 12.4985 -49 89 1.00000e+10 22.3180 1.00000e-01 + 180 182.51 20 0.00 0 0.00 0 + 0.00000e+00 2.85171e+02 5.70342e+02 1.14068e+02 1.06939e+02 9.98098e+01 + 9.26805e+01 8.55512e+01 7.84220e+01 7.12927e+01 6.41634e+01 5.70342e+01 + 4.99049e+01 4.27756e+01 3.56463e+01 2.85171e+01 2.13878e+01 1.42585e+01 + 7.12927e+00 0.00000e+00 + -117.9083 33.5888 12.4985 -49 89 1.00000e+10 21.8136 1.00000e-01 + 180 341.17 20 0.00 0 0.00 0 + 0.00000e+00 5.33079e+02 1.06616e+03 2.13232e+02 1.99905e+02 1.86578e+02 + 1.73251e+02 1.59924e+02 1.46597e+02 1.33270e+02 1.19943e+02 1.06616e+02 + 9.32888e+01 7.99618e+01 6.66348e+01 5.33079e+01 3.99809e+01 2.66539e+01 + 1.33270e+01 0.00000e+00 + -117.9157 33.5953 12.4985 -37 89 1.00000e+10 21.4262 1.00000e-01 + 180 381.70 20 0.00 0 0.00 0 + 0.00000e+00 5.96401e+02 1.19280e+03 2.38560e+02 2.23650e+02 2.08740e+02 + 1.93830e+02 1.78920e+02 1.64010e+02 1.49100e+02 1.34190e+02 1.19280e+02 + 1.04370e+02 8.94601e+01 7.45501e+01 5.96401e+01 4.47301e+01 2.98200e+01 + 1.49100e+01 0.00000e+00 + -117.9222 33.6025 12.4985 -37 89 1.00000e+10 21.1054 1.00000e-01 + 180 355.07 20 0.00 0 0.00 0 + 0.00000e+00 5.54796e+02 1.10959e+03 2.21918e+02 2.08048e+02 1.94179e+02 + 1.80309e+02 1.66439e+02 1.52569e+02 1.38699e+02 1.24829e+02 1.10959e+02 + 9.70893e+01 8.32194e+01 6.93495e+01 5.54796e+01 4.16097e+01 2.77398e+01 + 1.38699e+01 0.00000e+00 + -117.9287 33.6097 12.4985 -37 89 1.00000e+10 20.8222 1.00000e-01 + 180 290.47 20 0.00 0 0.00 0 + 0.00000e+00 4.53864e+02 9.07728e+02 1.81546e+02 1.70199e+02 1.58852e+02 + 1.47506e+02 1.36159e+02 1.24813e+02 1.13466e+02 1.02119e+02 9.07728e+01 + 7.94262e+01 6.80796e+01 5.67330e+01 4.53864e+01 3.40398e+01 2.26932e+01 + 1.13466e+01 0.00000e+00 + -117.9352 33.6168 12.4985 -38 89 1.00000e+10 20.4861 1.00000e-01 + 180 279.26 20 0.00 0 0.00 0 + 0.00000e+00 4.36336e+02 8.72672e+02 1.74534e+02 1.63626e+02 1.52718e+02 + 1.41809e+02 1.30901e+02 1.19992e+02 1.09084e+02 9.81756e+01 8.72672e+01 + 7.63588e+01 6.54504e+01 5.45420e+01 4.36336e+01 3.27252e+01 2.18168e+01 + 1.09084e+01 0.00000e+00 + -117.9420 33.6239 12.4985 -39 89 1.00000e+10 20.1616 1.00000e-01 + 180 256.29 20 0.00 0 0.00 0 + 0.00000e+00 4.00449e+02 8.00898e+02 1.60180e+02 1.50168e+02 1.40157e+02 + 1.30146e+02 1.20135e+02 1.10123e+02 1.00112e+02 9.01010e+01 8.00898e+01 + 7.00786e+01 6.00673e+01 5.00561e+01 4.00449e+01 3.00337e+01 2.00224e+01 + 1.00112e+01 0.00000e+00 + -117.9487 33.6309 12.4985 -39 89 1.00000e+10 19.8812 1.00000e-01 + 180 188.88 20 0.00 0 0.00 0 + 0.00000e+00 2.95118e+02 5.90237e+02 1.18047e+02 1.10669e+02 1.03291e+02 + 9.59135e+01 8.85355e+01 8.11576e+01 7.37796e+01 6.64016e+01 5.90237e+01 + 5.16457e+01 4.42678e+01 3.68898e+01 2.95118e+01 2.21339e+01 1.47559e+01 + 7.37796e+00 0.00000e+00 + -117.9554 33.6380 12.4985 -39 89 1.00000e+10 19.5978 1.00000e-01 + 180 124.52 20 0.00 0 0.00 0 + 0.00000e+00 1.94562e+02 3.89124e+02 7.78248e+01 7.29607e+01 6.80967e+01 + 6.32326e+01 5.83686e+01 5.35045e+01 4.86405e+01 4.37764e+01 3.89124e+01 + 3.40483e+01 2.91843e+01 2.43202e+01 1.94562e+01 1.45921e+01 9.72810e+00 + 4.86405e+00 0.00000e+00 + -117.9622 33.6450 12.4985 -39 89 1.00000e+10 19.3726 1.00000e-01 + 180 1.44 20 0.00 0 0.00 0 + 0.00000e+00 2.25717e+00 4.51434e+00 9.02869e-01 8.46440e-01 7.90010e-01 + 7.33581e-01 6.77152e-01 6.20722e-01 5.64293e-01 5.07864e-01 4.51434e-01 + 3.95005e-01 3.38576e-01 2.82147e-01 2.25717e-01 1.69288e-01 1.12859e-01 + 5.64293e-02 0.00000e+00 + -117.9689 33.6520 12.4985 -39 89 1.00000e+10 19.0268 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9756 33.6591 12.4985 -39 89 1.00000e+10 18.6796 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9824 33.6661 12.4985 -39 89 1.00000e+10 18.2903 1.00000e-01 + 180 42.50 20 0.00 0 0.00 0 + 0.00000e+00 6.64014e+01 1.32803e+02 2.65606e+01 2.49005e+01 2.32405e+01 + 2.15805e+01 1.99204e+01 1.82604e+01 1.66004e+01 1.49403e+01 1.32803e+01 + 1.16202e+01 9.96021e+00 8.30018e+00 6.64014e+00 4.98011e+00 3.32007e+00 + 1.66004e+00 0.00000e+00 + -117.9893 33.6730 12.4985 -41 89 1.00000e+10 17.8661 1.00000e-01 + 180 120.16 20 0.00 0 0.00 0 + 0.00000e+00 1.87747e+02 3.75493e+02 7.50987e+01 7.04050e+01 6.57113e+01 + 6.10177e+01 5.63240e+01 5.16303e+01 4.69367e+01 4.22430e+01 3.75493e+01 + 3.28557e+01 2.81620e+01 2.34683e+01 1.87747e+01 1.40810e+01 9.38733e+00 + 4.69367e+00 0.00000e+00 + -117.9972 33.6790 12.4985 -54 89 1.00000e+10 17.4381 1.00000e-01 + 180 201.71 20 0.00 0 0.00 0 + 0.00000e+00 3.15175e+02 6.30351e+02 1.26070e+02 1.18191e+02 1.10311e+02 + 1.02432e+02 9.45526e+01 8.66732e+01 7.87938e+01 7.09145e+01 6.30351e+01 + 5.51557e+01 4.72763e+01 3.93969e+01 3.15175e+01 2.36382e+01 1.57588e+01 + 7.87938e+00 0.00000e+00 + -118.0060 33.6842 12.4985 -54 89 1.00000e+10 17.0743 1.00000e-01 + 180 218.41 20 0.00 0 0.00 0 + 0.00000e+00 3.41271e+02 6.82541e+02 1.36508e+02 1.27976e+02 1.19445e+02 + 1.10913e+02 1.02381e+02 9.38494e+01 8.53176e+01 7.67859e+01 6.82541e+01 + 5.97223e+01 5.11906e+01 4.26588e+01 3.41271e+01 2.55953e+01 1.70635e+01 + 8.53176e+00 0.00000e+00 + -118.0148 33.6895 12.4985 -54 89 1.00000e+10 16.7665 1.00000e-01 + 180 178.63 20 0.00 0 0.00 0 + 0.00000e+00 2.79110e+02 5.58221e+02 1.11644e+02 1.04666e+02 9.76886e+01 + 9.07109e+01 8.37331e+01 7.67554e+01 6.97776e+01 6.27998e+01 5.58221e+01 + 4.88443e+01 4.18666e+01 3.48888e+01 2.79110e+01 2.09333e+01 1.39555e+01 + 6.97776e+00 0.00000e+00 + -118.0236 33.6947 12.4985 -54 89 1.00000e+10 16.3996 1.00000e-01 + 180 198.51 20 0.00 0 0.00 0 + 0.00000e+00 3.10176e+02 6.20352e+02 1.24070e+02 1.16316e+02 1.08562e+02 + 1.00807e+02 9.30528e+01 8.52984e+01 7.75440e+01 6.97896e+01 6.20352e+01 + 5.42808e+01 4.65264e+01 3.87720e+01 3.10176e+01 2.32632e+01 1.55088e+01 + 7.75440e+00 0.00000e+00 + -118.0324 33.6999 12.4985 -54 89 1.00000e+10 15.9938 1.00000e-01 + 180 257.67 20 0.00 0 0.00 0 + 0.00000e+00 4.02603e+02 8.05206e+02 1.61041e+02 1.50976e+02 1.40911e+02 + 1.30846e+02 1.20781e+02 1.10716e+02 1.00651e+02 9.05857e+01 8.05206e+01 + 7.04556e+01 6.03905e+01 5.03254e+01 4.02603e+01 3.01952e+01 2.01302e+01 + 1.00651e+01 0.00000e+00 + -118.0411 33.7052 12.4985 -53 89 1.00000e+10 15.6407 1.00000e-01 + 180 263.58 20 0.00 0 0.00 0 + 0.00000e+00 4.11848e+02 8.23696e+02 1.64739e+02 1.54443e+02 1.44147e+02 + 1.33851e+02 1.23554e+02 1.13258e+02 1.02962e+02 9.26658e+01 8.23696e+01 + 7.20734e+01 6.17772e+01 5.14810e+01 4.11848e+01 3.08886e+01 2.05924e+01 + 1.02962e+01 0.00000e+00 + -118.0496 33.7109 12.4985 -50 89 1.00000e+10 15.2570 1.00000e-01 + 180 300.39 20 0.00 0 0.00 0 + 0.00000e+00 4.69354e+02 9.38708e+02 1.87742e+02 1.76008e+02 1.64274e+02 + 1.52540e+02 1.40806e+02 1.29072e+02 1.17338e+02 1.05605e+02 9.38708e+01 + 8.21369e+01 7.04031e+01 5.86692e+01 4.69354e+01 3.52015e+01 2.34677e+01 + 1.17338e+01 0.00000e+00 + -118.0578 33.7167 12.4985 -48 89 1.00000e+10 14.9019 1.00000e-01 + 180 308.42 20 0.00 0 0.00 0 + 0.00000e+00 4.81914e+02 9.63827e+02 1.92765e+02 1.80718e+02 1.68670e+02 + 1.56622e+02 1.44574e+02 1.32526e+02 1.20478e+02 1.08431e+02 9.63827e+01 + 8.43349e+01 7.22870e+01 6.02392e+01 4.81914e+01 3.61435e+01 2.40957e+01 + 1.20478e+01 0.00000e+00 + -118.0646 33.7235 12.4985 -31 89 1.00000e+10 14.6247 1.00000e-01 + 180 237.81 20 0.00 0 0.00 0 + 0.00000e+00 3.71581e+02 7.43161e+02 1.48632e+02 1.39343e+02 1.30053e+02 + 1.20764e+02 1.11474e+02 1.02185e+02 9.28951e+01 8.36056e+01 7.43161e+01 + 6.50266e+01 5.57371e+01 4.64476e+01 3.71581e+01 2.78685e+01 1.85790e+01 + 9.28951e+00 0.00000e+00 + -118.0702 33.7313 12.4985 -31 89 1.00000e+10 14.2463 1.00000e-01 + 180 269.26 20 0.00 0 0.00 0 + 0.00000e+00 4.20726e+02 8.41453e+02 1.68291e+02 1.57772e+02 1.47254e+02 + 1.36736e+02 1.26218e+02 1.15700e+02 1.05182e+02 9.46634e+01 8.41453e+01 + 7.36271e+01 6.31090e+01 5.25908e+01 4.20726e+01 3.15545e+01 2.10363e+01 + 1.05182e+01 0.00000e+00 + -118.0767 33.7383 12.4985 -44 89 1.00000e+10 13.9341 1.00000e-01 + 180 233.99 20 0.00 0 0.00 0 + 0.00000e+00 3.65602e+02 7.31203e+02 1.46241e+02 1.37101e+02 1.27961e+02 + 1.18821e+02 1.09681e+02 1.00540e+02 9.14004e+01 8.22604e+01 7.31204e+01 + 6.39803e+01 5.48403e+01 4.57002e+01 3.65602e+01 2.74201e+01 1.82801e+01 + 9.14004e+00 0.00000e+00 + -118.0844 33.7446 12.4985 -47 89 1.00000e+10 13.6577 1.00000e-01 + 180 162.53 20 0.00 0 0.00 0 + 0.00000e+00 2.53956e+02 5.07912e+02 1.01582e+02 9.52334e+01 8.88845e+01 + 8.25356e+01 7.61867e+01 6.98378e+01 6.34889e+01 5.71400e+01 5.07912e+01 + 4.44423e+01 3.80934e+01 3.17445e+01 2.53956e+01 1.90467e+01 1.26978e+01 + 6.34889e+00 0.00000e+00 + -118.0924 33.7507 12.4985 -47 89 1.00000e+10 13.3478 1.00000e-01 + 180 124.86 20 0.00 0 0.00 0 + 0.00000e+00 1.95091e+02 3.90183e+02 7.80366e+01 7.31593e+01 6.82820e+01 + 6.34047e+01 5.85274e+01 5.36502e+01 4.87729e+01 4.38956e+01 3.90183e+01 + 3.41410e+01 2.92637e+01 2.43864e+01 1.95091e+01 1.46319e+01 9.75457e+00 + 4.87729e+00 0.00000e+00 + -118.1003 33.7568 12.4985 -47 89 1.00000e+10 12.9869 1.00000e-01 + 180 138.70 20 0.00 0 0.00 0 + 0.00000e+00 2.16717e+02 4.33433e+02 8.66867e+01 8.12688e+01 7.58508e+01 + 7.04329e+01 6.50150e+01 5.95971e+01 5.41792e+01 4.87613e+01 4.33433e+01 + 3.79254e+01 3.25075e+01 2.70896e+01 2.16717e+01 1.62537e+01 1.08358e+01 + 5.41792e+00 0.00000e+00 + -118.1083 33.7629 12.4985 -47 89 1.00000e+10 12.5866 1.00000e-01 + 180 192.30 20 0.00 0 0.00 0 + 0.00000e+00 3.00475e+02 6.00951e+02 1.20190e+02 1.12678e+02 1.05166e+02 + 9.76545e+01 9.01426e+01 8.26308e+01 7.51189e+01 6.76070e+01 6.00951e+01 + 5.25832e+01 4.50713e+01 3.75594e+01 3.00475e+01 2.25357e+01 1.50238e+01 + 7.51189e+00 0.00000e+00 + -118.1165 33.7688 12.4985 -52 89 1.00000e+10 12.1592 1.00000e-01 + 180 273.22 20 0.00 0 0.00 0 + 0.00000e+00 4.26910e+02 8.53820e+02 1.70764e+02 1.60091e+02 1.49418e+02 + 1.38746e+02 1.28073e+02 1.17400e+02 1.06727e+02 9.60547e+01 8.53820e+01 + 7.47092e+01 6.40365e+01 5.33637e+01 4.26910e+01 3.20182e+01 2.13455e+01 + 1.06727e+01 0.00000e+00 + -118.1250 33.7743 12.4985 -52 89 1.00000e+10 11.6990 1.00000e-01 + 180 387.29 20 0.00 0 0.00 0 + 0.00000e+00 6.05135e+02 1.21027e+03 2.42054e+02 2.26926e+02 2.11797e+02 + 1.96669e+02 1.81541e+02 1.66412e+02 1.51284e+02 1.36155e+02 1.21027e+02 + 1.05899e+02 9.07703e+01 7.56419e+01 6.05135e+01 4.53851e+01 3.02568e+01 + 1.51284e+01 0.00000e+00 + -118.1336 33.7799 12.4985 -52 89 1.00000e+10 11.3227 1.00000e-01 + 180 416.65 20 0.00 0 0.00 0 + 0.00000e+00 6.51020e+02 1.30204e+03 2.60408e+02 2.44133e+02 2.27857e+02 + 2.11582e+02 1.95306e+02 1.79031e+02 1.62755e+02 1.46480e+02 1.30204e+02 + 1.13929e+02 9.76531e+01 8.13776e+01 6.51021e+01 4.88265e+01 3.25510e+01 + 1.62755e+01 0.00000e+00 + -118.1421 33.7854 12.4985 -52 89 1.00000e+10 10.9692 1.00000e-01 + 180 423.04 20 0.00 0 0.00 0 + 0.00000e+00 6.61006e+02 1.32201e+03 2.64402e+02 2.47877e+02 2.31352e+02 + 2.14827e+02 1.98302e+02 1.81777e+02 1.65252e+02 1.48726e+02 1.32201e+02 + 1.15676e+02 9.91509e+01 8.26258e+01 6.61006e+01 4.95755e+01 3.30503e+01 + 1.65252e+01 0.00000e+00 + -118.1505 33.7910 12.4985 -51 89 1.00000e+10 10.6762 1.00000e-01 + 180 368.35 20 0.00 0 0.00 0 + 0.00000e+00 5.75548e+02 1.15110e+03 2.30219e+02 2.15830e+02 2.01442e+02 + 1.87053e+02 1.72664e+02 1.58276e+02 1.43887e+02 1.29498e+02 1.15110e+02 + 1.00721e+02 8.63322e+01 7.19435e+01 5.75548e+01 4.31661e+01 2.87774e+01 + 1.43887e+01 0.00000e+00 + -118.1589 33.7967 12.4985 -50 89 1.00000e+10 10.3435 1.00000e-01 + 180 353.74 20 0.00 0 0.00 0 + 0.00000e+00 5.52720e+02 1.10544e+03 2.21088e+02 2.07270e+02 1.93452e+02 + 1.79634e+02 1.65816e+02 1.51998e+02 1.38180e+02 1.24362e+02 1.10544e+02 + 9.67261e+01 8.29081e+01 6.90900e+01 5.52720e+01 4.14540e+01 2.76360e+01 + 1.38180e+01 0.00000e+00 + -118.1673 33.8025 12.4985 -50 89 1.00000e+10 10.0494 1.00000e-01 + 180 300.21 20 0.00 0 0.00 0 + 0.00000e+00 4.69076e+02 9.38151e+02 1.87630e+02 1.75903e+02 1.64176e+02 + 1.52450e+02 1.40723e+02 1.28996e+02 1.17269e+02 1.05542e+02 9.38151e+01 + 8.20882e+01 7.03613e+01 5.86345e+01 4.69076e+01 3.51807e+01 2.34538e+01 + 1.17269e+01 0.00000e+00 + -118.1756 33.8082 12.4985 -50 89 1.00000e+10 9.7762 1.00000e-01 + 180 225.59 20 0.00 0 0.00 0 + 0.00000e+00 3.52483e+02 7.04965e+02 1.40993e+02 1.32181e+02 1.23369e+02 + 1.14557e+02 1.05745e+02 9.69327e+01 8.81206e+01 7.93086e+01 7.04965e+01 + 6.16844e+01 5.28724e+01 4.40603e+01 3.52483e+01 2.64362e+01 1.76241e+01 + 8.81206e+00 0.00000e+00 + -118.1840 33.8139 12.4985 -50 89 1.00000e+10 9.4338 1.00000e-01 + 180 220.74 20 0.00 0 0.00 0 + 0.00000e+00 3.44906e+02 6.89812e+02 1.37962e+02 1.29340e+02 1.20717e+02 + 1.12094e+02 1.03472e+02 9.48491e+01 8.62265e+01 7.76038e+01 6.89812e+01 + 6.03585e+01 5.17359e+01 4.31132e+01 3.44906e+01 2.58679e+01 1.72453e+01 + 8.62265e+00 0.00000e+00 + -118.1923 33.8197 12.4985 -50 89 1.00000e+10 9.0766 1.00000e-01 + 180 230.87 20 0.00 0 0.00 0 + 0.00000e+00 3.60732e+02 7.21464e+02 1.44293e+02 1.35274e+02 1.26256e+02 + 1.17238e+02 1.08220e+02 9.92012e+01 9.01829e+01 8.11647e+01 7.21464e+01 + 6.31281e+01 5.41098e+01 4.50915e+01 3.60732e+01 2.70549e+01 1.80366e+01 + 9.01829e+00 0.00000e+00 + -118.2006 33.8254 12.4985 -50 89 1.00000e+10 8.7825 1.00000e-01 + 180 177.32 20 0.00 0 0.00 0 + 0.00000e+00 2.77055e+02 5.54110e+02 1.10822e+02 1.03896e+02 9.69692e+01 + 9.00428e+01 8.31165e+01 7.61901e+01 6.92637e+01 6.23374e+01 5.54110e+01 + 4.84846e+01 4.15582e+01 3.46319e+01 2.77055e+01 2.07791e+01 1.38527e+01 + 6.92637e+00 0.00000e+00 + -118.2089 33.8313 12.4985 -49 89 1.00000e+10 8.5007 1.00000e-01 + 180 111.37 20 0.00 0 0.00 0 + 0.00000e+00 1.74019e+02 3.48039e+02 6.96078e+01 6.52573e+01 6.09068e+01 + 5.65563e+01 5.22058e+01 4.78554e+01 4.35049e+01 3.91544e+01 3.48039e+01 + 3.04534e+01 2.61029e+01 2.17524e+01 1.74019e+01 1.30515e+01 8.70097e+00 + 4.35049e+00 0.00000e+00 + -118.2173 33.8369 12.4985 -54 89 1.00000e+10 8.1721 1.00000e-01 + 180 92.68 20 0.00 0 0.00 0 + 0.00000e+00 1.44817e+02 2.89635e+02 5.79269e+01 5.43065e+01 5.06861e+01 + 4.70656e+01 4.34452e+01 3.98248e+01 3.62043e+01 3.25839e+01 2.89635e+01 + 2.53430e+01 2.17226e+01 1.81022e+01 1.44817e+01 1.08613e+01 7.24086e+00 + 3.62043e+00 0.00000e+00 + -118.2261 33.8422 12.4985 -54 89 1.00000e+10 7.9168 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2334 33.8486 12.4985 -33 89 1.00000e+10 7.5055 1.00000e-01 + 180 64.68 20 0.00 0 0.00 0 + 0.00000e+00 1.01069e+02 2.02138e+02 4.04275e+01 3.79008e+01 3.53741e+01 + 3.28473e+01 3.03206e+01 2.77939e+01 2.52672e+01 2.27405e+01 2.02138e+01 + 1.76870e+01 1.51603e+01 1.26336e+01 1.01069e+01 7.58016e+00 5.05344e+00 + 2.52672e+00 0.00000e+00 + -118.2393 33.8561 12.4985 -33 89 1.00000e+10 7.0728 1.00000e-01 + 180 151.10 20 0.00 0 0.00 0 + 0.00000e+00 2.36088e+02 4.72177e+02 9.44353e+01 8.85331e+01 8.26309e+01 + 7.67287e+01 7.08265e+01 6.49243e+01 5.90221e+01 5.31199e+01 4.72177e+01 + 4.13154e+01 3.54132e+01 2.95110e+01 2.36088e+01 1.77066e+01 1.18044e+01 + 5.90221e+00 0.00000e+00 + -118.2452 33.8637 12.4985 -33 89 1.00000e+10 6.6031 1.00000e-01 + 180 274.78 20 0.00 0 0.00 0 + 0.00000e+00 4.29345e+02 8.58690e+02 1.71738e+02 1.61004e+02 1.50271e+02 + 1.39537e+02 1.28804e+02 1.18070e+02 1.07336e+02 9.66026e+01 8.58690e+01 + 7.51354e+01 6.44018e+01 5.36681e+01 4.29345e+01 3.22009e+01 2.14673e+01 + 1.07336e+01 0.00000e+00 + -118.2511 33.8712 12.4985 -33 89 1.00000e+10 6.2096 1.00000e-01 + 180 321.61 20 0.00 0 0.00 0 + 0.00000e+00 5.02510e+02 1.00502e+03 2.01004e+02 1.88441e+02 1.75879e+02 + 1.63316e+02 1.50753e+02 1.38190e+02 1.25628e+02 1.13065e+02 1.00502e+02 + 8.79393e+01 7.53765e+01 6.28138e+01 5.02510e+01 3.76883e+01 2.51255e+01 + 1.25628e+01 0.00000e+00 + -118.2570 33.8788 12.4985 -33 89 1.00000e+10 5.9098 1.00000e-01 + 180 273.87 20 0.00 0 0.00 0 + 0.00000e+00 4.27922e+02 8.55844e+02 1.71169e+02 1.60471e+02 1.49773e+02 + 1.39075e+02 1.28377e+02 1.17679e+02 1.06981e+02 9.62825e+01 8.55844e+01 + 7.48864e+01 6.41883e+01 5.34903e+01 4.27922e+01 3.20942e+01 2.13961e+01 + 1.06981e+01 0.00000e+00 + -118.2631 33.8862 12.4985 -35 89 1.00000e+10 5.6298 1.00000e-01 + 180 206.11 20 0.00 0 0.00 0 + 0.00000e+00 3.22043e+02 6.44086e+02 1.28817e+02 1.20766e+02 1.12715e+02 + 1.04664e+02 9.66129e+01 8.85619e+01 8.05108e+01 7.24597e+01 6.44086e+01 + 5.63575e+01 4.83065e+01 4.02554e+01 3.22043e+01 2.41532e+01 1.61022e+01 + 8.05108e+00 0.00000e+00 + -118.2694 33.8935 12.4985 -36 89 1.00000e+10 5.2987 1.00000e-01 + 180 190.00 20 0.00 0 0.00 0 + 0.00000e+00 2.96882e+02 5.93765e+02 1.18753e+02 1.11331e+02 1.03909e+02 + 9.64867e+01 8.90647e+01 8.16426e+01 7.42206e+01 6.67985e+01 5.93765e+01 + 5.19544e+01 4.45323e+01 3.71103e+01 2.96882e+01 2.22662e+01 1.48441e+01 + 7.42206e+00 0.00000e+00 + -118.2759 33.9008 12.4985 -36 89 1.00000e+10 4.9652 1.00000e-01 + 180 176.39 20 0.00 0 0.00 0 + 0.00000e+00 2.75615e+02 5.51229e+02 1.10246e+02 1.03355e+02 9.64651e+01 + 8.95747e+01 8.26844e+01 7.57940e+01 6.89036e+01 6.20133e+01 5.51229e+01 + 4.82325e+01 4.13422e+01 3.44518e+01 2.75615e+01 2.06711e+01 1.37807e+01 + 6.89036e+00 0.00000e+00 + -118.2823 33.9080 12.4985 -36 89 1.00000e+10 4.5979 1.00000e-01 + 180 196.87 20 0.00 0 0.00 0 + 0.00000e+00 3.07604e+02 6.15209e+02 1.23042e+02 1.15352e+02 1.07662e+02 + 9.99715e+01 9.22813e+01 8.45912e+01 7.69011e+01 6.92110e+01 6.15209e+01 + 5.38308e+01 4.61407e+01 3.84506e+01 3.07604e+01 2.30703e+01 1.53802e+01 + 7.69011e+00 0.00000e+00 + -118.2886 33.9153 12.4985 -35 89 1.00000e+10 4.2418 1.00000e-01 + 180 206.07 20 0.00 0 0.00 0 + 0.00000e+00 3.21987e+02 6.43974e+02 1.28795e+02 1.20745e+02 1.12695e+02 + 1.04646e+02 9.65961e+01 8.85464e+01 8.04967e+01 7.24470e+01 6.43974e+01 + 5.63477e+01 4.82980e+01 4.02484e+01 3.21987e+01 2.41490e+01 1.60993e+01 + 8.04967e+00 0.00000e+00 + -118.2948 33.9227 12.4985 -34 89 1.00000e+10 3.8346 1.00000e-01 + 180 266.88 20 0.00 0 0.00 0 + 0.00000e+00 4.16998e+02 8.33995e+02 1.66799e+02 1.56374e+02 1.45949e+02 + 1.35524e+02 1.25099e+02 1.14674e+02 1.04249e+02 9.38245e+01 8.33995e+01 + 7.29746e+01 6.25496e+01 5.21247e+01 4.16998e+01 3.12748e+01 2.08499e+01 + 1.04249e+01 0.00000e+00 + -118.3016 33.9293 12.4985 -47 89 1.00000e+10 3.3926 1.00000e-01 + 180 362.80 20 0.00 0 0.00 0 + 0.00000e+00 5.66870e+02 1.13374e+03 2.26748e+02 2.12576e+02 1.98405e+02 + 1.84233e+02 1.70061e+02 1.55889e+02 1.41718e+02 1.27546e+02 1.13374e+02 + 9.92023e+01 8.50306e+01 7.08588e+01 5.66870e+01 4.25153e+01 2.83435e+01 + 1.41718e+01 0.00000e+00 + -118.3106 33.9332 12.4985 -78 89 1.00000e+10 3.0204 1.00000e-01 + 180 388.40 20 0.00 0 0.00 0 + 0.00000e+00 6.06879e+02 1.21376e+03 2.42752e+02 2.27580e+02 2.12408e+02 + 1.97236e+02 1.82064e+02 1.66892e+02 1.51720e+02 1.36548e+02 1.21376e+02 + 1.06204e+02 9.10319e+01 7.58599e+01 6.06879e+01 4.55159e+01 3.03440e+01 + 1.51720e+01 0.00000e+00 + -118.3188 33.9378 12.4985 -33 89 1.00000e+10 2.7877 1.00000e-01 + 180 273.30 20 0.00 0 0.00 0 + 0.00000e+00 4.27031e+02 8.54062e+02 1.70812e+02 1.60137e+02 1.49461e+02 + 1.38785e+02 1.28109e+02 1.17434e+02 1.06758e+02 9.60820e+01 8.54062e+01 + 7.47304e+01 6.40546e+01 5.33789e+01 4.27031e+01 3.20273e+01 2.13515e+01 + 1.06758e+01 0.00000e+00 + -118.3246 33.9454 12.4985 -32 89 1.00000e+10 2.5206 1.00000e-01 + 180 193.14 20 0.00 0 0.00 0 + 0.00000e+00 3.01783e+02 6.03566e+02 1.20713e+02 1.13169e+02 1.05624e+02 + 9.80795e+01 9.05349e+01 8.29903e+01 7.54457e+01 6.79012e+01 6.03566e+01 + 5.28120e+01 4.52674e+01 3.77229e+01 3.01783e+01 2.26337e+01 1.50891e+01 + 7.54457e+00 0.00000e+00 + -118.3319 33.9517 12.4985 -56 89 1.00000e+10 2.1952 1.00000e-01 + 180 171.87 20 0.00 0 0.00 0 + 0.00000e+00 2.68554e+02 5.37107e+02 1.07421e+02 1.00708e+02 9.39938e+01 + 8.72800e+01 8.05661e+01 7.38523e+01 6.71384e+01 6.04246e+01 5.37107e+01 + 4.69969e+01 4.02831e+01 3.35692e+01 2.68554e+01 2.01415e+01 1.34277e+01 + 6.71384e+00 0.00000e+00 + -118.3409 33.9567 12.4985 -56 89 1.00000e+10 1.8171 1.00000e-01 + 180 204.02 20 0.00 0 0.00 0 + 0.00000e+00 3.18780e+02 6.37561e+02 1.27512e+02 1.19543e+02 1.11573e+02 + 1.03604e+02 9.56341e+01 8.76646e+01 7.96951e+01 7.17256e+01 6.37561e+01 + 5.57866e+01 4.78171e+01 3.98476e+01 3.18780e+01 2.39085e+01 1.59390e+01 + 7.96951e+00 0.00000e+00 + -118.3488 33.9624 12.4985 -42 89 1.00000e+10 1.4957 1.00000e-01 + 180 179.42 20 0.00 0 0.00 0 + 0.00000e+00 2.80344e+02 5.60688e+02 1.12138e+02 1.05129e+02 9.81203e+01 + 9.11118e+01 8.41032e+01 7.70946e+01 7.00860e+01 6.30774e+01 5.60688e+01 + 4.90602e+01 4.20516e+01 3.50430e+01 2.80344e+01 2.10258e+01 1.40172e+01 + 7.00860e+00 0.00000e+00 + -118.3533 33.9699 12.4985 -12 89 1.00000e+10 1.1390 1.00000e-01 + 180 191.22 20 0.00 0 0.00 0 + 0.00000e+00 2.98787e+02 5.97574e+02 1.19515e+02 1.12045e+02 1.04575e+02 + 9.71058e+01 8.96361e+01 8.21665e+01 7.46968e+01 6.72271e+01 5.97574e+01 + 5.22877e+01 4.48181e+01 3.73484e+01 2.98787e+01 2.24090e+01 1.49394e+01 + 7.46968e+00 0.00000e+00 + -118.3557 33.9787 12.4985 -12 89 1.00000e+10 0.8183 1.00000e-01 + 180 167.99 20 0.00 0 0.00 0 + 0.00000e+00 2.62488e+02 5.24975e+02 1.04995e+02 9.84329e+01 9.18707e+01 + 8.53085e+01 7.87463e+01 7.21841e+01 6.56219e+01 5.90597e+01 5.24975e+01 + 4.59353e+01 3.93731e+01 3.28110e+01 2.62488e+01 1.96866e+01 1.31244e+01 + 6.56219e+00 0.00000e+00 + -118.3582 33.9875 12.4985 -15 89 1.00000e+10 0.4900 1.00000e-01 + 180 156.00 20 0.00 0 0.00 0 + 0.00000e+00 2.43748e+02 4.87497e+02 9.74993e+01 9.14056e+01 8.53119e+01 + 7.92182e+01 7.31245e+01 6.70308e+01 6.09371e+01 5.48434e+01 4.87497e+01 + 4.26560e+01 3.65623e+01 3.04685e+01 2.43748e+01 1.82811e+01 1.21874e+01 + 6.09371e+00 0.00000e+00 + -118.3617 33.9959 12.4985 -23 89 1.00000e+10 0.1831 1.00000e-01 + 180 135.10 20 0.00 0 0.00 0 + 0.00000e+00 2.11088e+02 4.22177e+02 8.44353e+01 7.91581e+01 7.38809e+01 + 6.86037e+01 6.33265e+01 5.80493e+01 5.27721e+01 4.74949e+01 4.22177e+01 + 3.69405e+01 3.16632e+01 2.63860e+01 2.11088e+01 1.58316e+01 1.05544e+01 + 5.27721e+00 0.00000e+00 + -118.3660 34.0042 12.4985 -24 89 1.00000e+10 0.0000 1.00000e-01 + 180 103.32 20 0.00 0 0.00 0 + 0.00000e+00 1.61433e+02 3.22866e+02 6.45732e+01 6.05373e+01 5.65015e+01 + 5.24657e+01 4.84299e+01 4.43941e+01 4.03582e+01 3.63224e+01 3.22866e+01 + 2.82508e+01 2.42149e+01 2.01791e+01 1.61433e+01 1.21075e+01 8.07165e+00 + 4.03582e+00 0.00000e+00 + -118.3704 34.0124 12.4985 -24 89 1.00000e+10 0.2654 1.00000e-01 + 180 52.03 20 0.00 0 0.00 0 + 0.00000e+00 8.12942e+01 1.62588e+02 3.25177e+01 3.04853e+01 2.84530e+01 + 2.64206e+01 2.43883e+01 2.23559e+01 2.03236e+01 1.82912e+01 1.62588e+01 + 1.42265e+01 1.21941e+01 1.01618e+01 8.12942e+00 6.09707e+00 4.06471e+00 + 2.03236e+00 0.00000e+00 + -118.3749 34.0206 12.4985 -24 89 1.00000e+10 0.6156 1.00000e-01 + 180 29.23 20 0.00 0 0.00 0 + 0.00000e+00 4.56667e+01 9.13334e+01 1.82667e+01 1.71250e+01 1.59833e+01 + 1.48417e+01 1.37000e+01 1.25583e+01 1.14167e+01 1.02750e+01 9.13334e+00 + 7.99167e+00 6.85001e+00 5.70834e+00 4.56667e+00 3.42500e+00 2.28334e+00 + 1.14167e+00 0.00000e+00 + -118.3794 34.0288 12.4985 -24 89 1.00000e+10 0.9693 1.00000e-01 + 180 15.61 20 0.00 0 0.00 0 + 0.00000e+00 2.43884e+01 4.87768e+01 9.75537e+00 9.14566e+00 8.53595e+00 + 7.92624e+00 7.31653e+00 6.70682e+00 6.09711e+00 5.48740e+00 4.87769e+00 + 4.26797e+00 3.65826e+00 3.04855e+00 2.43884e+00 1.82913e+00 1.21942e+00 + 6.09711e-01 0.00000e+00 + -117.3553 33.0614 13.4984 -33 89 1.00000e+10 49.5613 1.00000e-01 + 180 23.23 20 0.00 0 0.00 0 + 0.00000e+00 3.62952e+01 7.25903e+01 1.45181e+01 1.36107e+01 1.27033e+01 + 1.17959e+01 1.08886e+01 9.98117e+00 9.07379e+00 8.16641e+00 7.25903e+00 + 6.35165e+00 5.44428e+00 4.53690e+00 3.62952e+00 2.72214e+00 1.81476e+00 + 9.07379e-01 0.00000e+00 + -117.3612 33.0689 13.4984 -33 89 1.00000e+10 49.1762 1.00000e-01 + 180 61.42 20 0.00 0 0.00 0 + 0.00000e+00 9.59734e+01 1.91947e+02 3.83894e+01 3.59900e+01 3.35907e+01 + 3.11914e+01 2.87920e+01 2.63927e+01 2.39933e+01 2.15940e+01 1.91947e+01 + 1.67953e+01 1.43960e+01 1.19967e+01 9.59734e+00 7.19800e+00 4.79867e+00 + 2.39933e+00 0.00000e+00 + -117.3670 33.0765 13.4984 -33 89 1.00000e+10 48.7965 1.00000e-01 + 180 94.18 20 0.00 0 0.00 0 + 0.00000e+00 1.47159e+02 2.94318e+02 5.88636e+01 5.51846e+01 5.15056e+01 + 4.78267e+01 4.41477e+01 4.04687e+01 3.67897e+01 3.31108e+01 2.94318e+01 + 2.57528e+01 2.20738e+01 1.83949e+01 1.47159e+01 1.10369e+01 7.35795e+00 + 3.67897e+00 0.00000e+00 + -117.3731 33.0839 13.4984 -36 89 1.00000e+10 48.4337 1.00000e-01 + 180 109.97 20 0.00 0 0.00 0 + 0.00000e+00 1.71830e+02 3.43660e+02 6.87320e+01 6.44363e+01 6.01405e+01 + 5.58448e+01 5.15490e+01 4.72533e+01 4.29575e+01 3.86618e+01 3.43660e+01 + 3.00703e+01 2.57745e+01 2.14788e+01 1.71830e+01 1.28873e+01 8.59150e+00 + 4.29575e+00 0.00000e+00 + -117.3806 33.0901 13.4984 -55 89 1.00000e+10 48.1094 1.00000e-01 + 180 86.81 20 0.00 0 0.00 0 + 0.00000e+00 1.35644e+02 2.71289e+02 5.42578e+01 5.08667e+01 4.74755e+01 + 4.40844e+01 4.06933e+01 3.73022e+01 3.39111e+01 3.05200e+01 2.71289e+01 + 2.37378e+01 2.03467e+01 1.69556e+01 1.35644e+01 1.01733e+01 6.78222e+00 + 3.39111e+00 0.00000e+00 + -117.3894 33.0953 13.4984 -55 89 1.00000e+10 47.7993 1.00000e-01 + 180 49.38 20 0.00 0 0.00 0 + 0.00000e+00 7.71582e+01 1.54316e+02 3.08633e+01 2.89343e+01 2.70054e+01 + 2.50764e+01 2.31475e+01 2.12185e+01 1.92896e+01 1.73606e+01 1.54316e+01 + 1.35027e+01 1.15737e+01 9.64478e+00 7.71582e+00 5.78687e+00 3.85791e+00 + 1.92896e+00 0.00000e+00 + -117.3978 33.1008 13.4984 -48 89 1.00000e+10 47.4730 1.00000e-01 + 180 28.33 20 0.00 0 0.00 0 + 0.00000e+00 4.42672e+01 8.85344e+01 1.77069e+01 1.66002e+01 1.54935e+01 + 1.43868e+01 1.32802e+01 1.21735e+01 1.10668e+01 9.96012e+00 8.85344e+00 + 7.74676e+00 6.64008e+00 5.53340e+00 4.42672e+00 3.32004e+00 2.21336e+00 + 1.10668e+00 0.00000e+00 + -117.4057 33.1069 13.4984 -47 89 1.00000e+10 47.1293 1.00000e-01 + 180 24.82 20 0.00 0 0.00 0 + 0.00000e+00 3.87822e+01 7.75643e+01 1.55129e+01 1.45433e+01 1.35738e+01 + 1.26042e+01 1.16346e+01 1.06651e+01 9.69554e+00 8.72599e+00 7.75643e+00 + 6.78688e+00 5.81732e+00 4.84777e+00 3.87822e+00 2.90866e+00 1.93911e+00 + 9.69554e-01 0.00000e+00 + -117.4128 33.1136 13.4984 -36 89 1.00000e+10 46.8067 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4188 33.1210 13.4984 -33 89 1.00000e+10 46.4595 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4225 33.1292 13.4984 -8 89 1.00000e+10 46.1123 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4240 33.1381 13.4984 -8 89 1.00000e+10 45.7651 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4255 33.1470 13.4984 -8 89 1.00000e+10 45.4179 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4281 33.1555 13.4984 -20 89 1.00000e+10 45.0707 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4332 33.1631 13.4984 -39 89 1.00000e+10 44.7235 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4399 33.1702 13.4984 -39 89 1.00000e+10 44.3763 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4466 33.1772 13.4984 -39 89 1.00000e+10 43.9896 1.00000e-01 + 180 39.82 20 0.00 0 0.00 0 + 0.00000e+00 6.22147e+01 1.24429e+02 2.48859e+01 2.33305e+01 2.17751e+01 + 2.02198e+01 1.86644e+01 1.71090e+01 1.55537e+01 1.39983e+01 1.24429e+01 + 1.08876e+01 9.33220e+00 7.77684e+00 6.22147e+00 4.66610e+00 3.11073e+00 + 1.55537e+00 0.00000e+00 + -117.4533 33.1842 13.4984 -39 89 1.00000e+10 43.5034 1.00000e-01 + 180 180.11 20 0.00 0 0.00 0 + 0.00000e+00 2.81425e+02 5.62851e+02 1.12570e+02 1.05535e+02 9.84989e+01 + 9.14633e+01 8.44276e+01 7.73920e+01 7.03564e+01 6.33207e+01 5.62851e+01 + 4.92495e+01 4.22138e+01 3.51782e+01 2.81425e+01 2.11069e+01 1.40713e+01 + 7.03564e+00 0.00000e+00 + -117.4601 33.1912 13.4984 -39 89 1.00000e+10 43.0830 1.00000e-01 + 180 253.91 20 0.00 0 0.00 0 + 0.00000e+00 3.96732e+02 7.93465e+02 1.58693e+02 1.48775e+02 1.38856e+02 + 1.28938e+02 1.19020e+02 1.09101e+02 9.91831e+01 8.92648e+01 7.93465e+01 + 6.94282e+01 5.95099e+01 4.95915e+01 3.96732e+01 2.97549e+01 1.98366e+01 + 9.91831e+00 0.00000e+00 + -117.4668 33.1982 13.4984 -39 89 1.00000e+10 42.6451 1.00000e-01 + 180 345.43 20 0.00 0 0.00 0 + 0.00000e+00 5.39736e+02 1.07947e+03 2.15894e+02 2.02401e+02 1.88907e+02 + 1.75414e+02 1.61921e+02 1.48427e+02 1.34934e+02 1.21440e+02 1.07947e+02 + 9.44537e+01 8.09603e+01 6.74669e+01 5.39736e+01 4.04802e+01 2.69868e+01 + 1.34934e+01 0.00000e+00 + -117.4735 33.2053 13.4984 -39 89 1.00000e+10 42.2075 1.00000e-01 + 180 436.74 20 0.00 0 0.00 0 + 0.00000e+00 6.82408e+02 1.36482e+03 2.72963e+02 2.55903e+02 2.38843e+02 + 2.21783e+02 2.04722e+02 1.87662e+02 1.70602e+02 1.53542e+02 1.36482e+02 + 1.19421e+02 1.02361e+02 8.53010e+01 6.82408e+01 5.11806e+01 3.41204e+01 + 1.70602e+01 0.00000e+00 + -117.4802 33.2123 13.4984 -39 89 1.00000e+10 41.8513 1.00000e-01 + 180 445.75 20 0.00 0 0.00 0 + 0.00000e+00 6.96490e+02 1.39298e+03 2.78596e+02 2.61184e+02 2.43771e+02 + 2.26359e+02 2.08947e+02 1.91535e+02 1.74122e+02 1.56710e+02 1.39298e+02 + 1.21886e+02 1.04473e+02 8.70612e+01 6.96490e+01 5.22367e+01 3.48245e+01 + 1.74122e+01 0.00000e+00 + -117.4878 33.2186 13.4984 -51 89 1.00000e+10 41.5540 1.00000e-01 + 180 395.44 20 0.00 0 0.00 0 + 0.00000e+00 6.17882e+02 1.23576e+03 2.47153e+02 2.31706e+02 2.16259e+02 + 2.00812e+02 1.85365e+02 1.69917e+02 1.54470e+02 1.39023e+02 1.23576e+02 + 1.08129e+02 9.26823e+01 7.72352e+01 6.17882e+01 4.63411e+01 3.08941e+01 + 1.54470e+01 0.00000e+00 + -117.4964 33.2239 13.4984 -55 89 1.00000e+10 41.1985 1.00000e-01 + 180 403.77 20 0.00 0 0.00 0 + 0.00000e+00 6.30886e+02 1.26177e+03 2.52355e+02 2.36582e+02 2.20810e+02 + 2.05038e+02 1.89266e+02 1.73494e+02 1.57722e+02 1.41949e+02 1.26177e+02 + 1.10405e+02 9.46330e+01 7.88608e+01 6.30886e+01 4.73165e+01 3.15443e+01 + 1.57722e+01 0.00000e+00 + -117.5052 33.2291 13.4984 -55 89 1.00000e+10 40.8855 1.00000e-01 + 180 369.34 20 0.00 0 0.00 0 + 0.00000e+00 5.77094e+02 1.15419e+03 2.30838e+02 2.16410e+02 2.01983e+02 + 1.87556e+02 1.73128e+02 1.58701e+02 1.44274e+02 1.29846e+02 1.15419e+02 + 1.00992e+02 8.65642e+01 7.21368e+01 5.77094e+01 4.32821e+01 2.88547e+01 + 1.44274e+01 0.00000e+00 + -117.5140 33.2342 13.4984 -55 89 1.00000e+10 40.4216 1.00000e-01 + 180 487.06 20 0.00 0 0.00 0 + 0.00000e+00 7.61037e+02 1.52207e+03 3.04415e+02 2.85389e+02 2.66363e+02 + 2.47337e+02 2.28311e+02 2.09285e+02 1.90259e+02 1.71233e+02 1.52207e+02 + 1.33182e+02 1.14156e+02 9.51296e+01 7.61037e+01 5.70778e+01 3.80519e+01 + 1.90259e+01 0.00000e+00 + -117.5229 33.2394 13.4984 -55 89 1.00000e+10 39.9851 1.00000e-01 + 180 577.16 20 0.00 0 0.00 0 + 0.00000e+00 9.01812e+02 1.80362e+03 3.60725e+02 3.38179e+02 3.15634e+02 + 2.93089e+02 2.70544e+02 2.47998e+02 2.25453e+02 2.02908e+02 1.80362e+02 + 1.57817e+02 1.35272e+02 1.12726e+02 9.01812e+01 6.76359e+01 4.50906e+01 + 2.25453e+01 0.00000e+00 + -117.5317 33.2445 13.4984 -55 89 1.00000e+10 39.6491 1.00000e-01 + 180 565.89 20 0.00 0 0.00 0 + 0.00000e+00 8.84204e+02 1.76841e+03 3.53681e+02 3.31576e+02 3.09471e+02 + 2.87366e+02 2.65261e+02 2.43156e+02 2.21051e+02 1.98946e+02 1.76841e+02 + 1.54736e+02 1.32631e+02 1.10525e+02 8.84204e+01 6.63153e+01 4.42102e+01 + 2.21051e+01 0.00000e+00 + -117.5405 33.2497 13.4984 -55 89 1.00000e+10 39.3007 1.00000e-01 + 180 567.14 20 0.00 0 0.00 0 + 0.00000e+00 8.86154e+02 1.77231e+03 3.54462e+02 3.32308e+02 3.10154e+02 + 2.88000e+02 2.65846e+02 2.43692e+02 2.21539e+02 1.99385e+02 1.77231e+02 + 1.55077e+02 1.32923e+02 1.10769e+02 8.86154e+01 6.64616e+01 4.43077e+01 + 2.21539e+01 0.00000e+00 + -117.5483 33.2557 13.4984 -39 89 1.00000e+10 38.9734 1.00000e-01 + 180 547.02 20 0.00 0 0.00 0 + 0.00000e+00 8.54725e+02 1.70945e+03 3.41890e+02 3.20522e+02 2.99154e+02 + 2.77786e+02 2.56417e+02 2.35049e+02 2.13681e+02 1.92313e+02 1.70945e+02 + 1.49577e+02 1.28209e+02 1.06841e+02 8.54725e+01 6.41044e+01 4.27362e+01 + 2.13681e+01 0.00000e+00 + -117.5550 33.2628 13.4984 -38 89 1.00000e+10 38.6310 1.00000e-01 + 180 542.15 20 0.00 0 0.00 0 + 0.00000e+00 8.47104e+02 1.69421e+03 3.38842e+02 3.17664e+02 2.96486e+02 + 2.75309e+02 2.54131e+02 2.32954e+02 2.11776e+02 1.90598e+02 1.69421e+02 + 1.48243e+02 1.27066e+02 1.05888e+02 8.47104e+01 6.35328e+01 4.23552e+01 + 2.11776e+01 0.00000e+00 + -117.5616 33.2699 13.4984 -38 89 1.00000e+10 38.3559 1.00000e-01 + 180 469.42 20 0.00 0 0.00 0 + 0.00000e+00 7.33463e+02 1.46693e+03 2.93385e+02 2.75049e+02 2.56712e+02 + 2.38375e+02 2.20039e+02 2.01702e+02 1.83366e+02 1.65029e+02 1.46693e+02 + 1.28356e+02 1.10019e+02 9.16828e+01 7.33463e+01 5.50097e+01 3.66731e+01 + 1.83366e+01 0.00000e+00 + -117.5682 33.2770 13.4984 -38 89 1.00000e+10 38.0819 1.00000e-01 + 180 395.64 20 0.00 0 0.00 0 + 0.00000e+00 6.18192e+02 1.23638e+03 2.47277e+02 2.31822e+02 2.16367e+02 + 2.00912e+02 1.85458e+02 1.70003e+02 1.54548e+02 1.39093e+02 1.23638e+02 + 1.08184e+02 9.27288e+01 7.72740e+01 6.18192e+01 4.63644e+01 3.09096e+01 + 1.54548e+01 0.00000e+00 + -117.5748 33.2841 13.4984 -38 89 1.00000e+10 37.8208 1.00000e-01 + 180 308.72 20 0.00 0 0.00 0 + 0.00000e+00 4.82371e+02 9.64742e+02 1.92948e+02 1.80889e+02 1.68830e+02 + 1.56771e+02 1.44711e+02 1.32652e+02 1.20593e+02 1.08533e+02 9.64742e+01 + 8.44149e+01 7.23556e+01 6.02964e+01 4.82371e+01 3.61778e+01 2.41185e+01 + 1.20593e+01 0.00000e+00 + -117.5815 33.2912 13.4984 -38 89 1.00000e+10 37.5320 1.00000e-01 + 180 249.84 20 0.00 0 0.00 0 + 0.00000e+00 3.90381e+02 7.80762e+02 1.56152e+02 1.46393e+02 1.36633e+02 + 1.26874e+02 1.17114e+02 1.07355e+02 9.75953e+01 8.78358e+01 7.80762e+01 + 6.83167e+01 5.85572e+01 4.87976e+01 3.90381e+01 2.92786e+01 1.95191e+01 + 9.75953e+00 0.00000e+00 + -117.5881 33.2983 13.4984 -38 89 1.00000e+10 37.2101 1.00000e-01 + 180 224.31 20 0.00 0 0.00 0 + 0.00000e+00 3.50482e+02 7.00964e+02 1.40193e+02 1.31431e+02 1.22669e+02 + 1.13907e+02 1.05145e+02 9.63825e+01 8.76205e+01 7.88584e+01 7.00964e+01 + 6.13343e+01 5.25723e+01 4.38102e+01 3.50482e+01 2.62861e+01 1.75241e+01 + 8.76205e+00 0.00000e+00 + -117.5947 33.3054 13.4984 -38 89 1.00000e+10 36.9320 1.00000e-01 + 180 154.63 20 0.00 0 0.00 0 + 0.00000e+00 2.41605e+02 4.83211e+02 9.66421e+01 9.06020e+01 8.45619e+01 + 7.85217e+01 7.24816e+01 6.64415e+01 6.04013e+01 5.43612e+01 4.83211e+01 + 4.22809e+01 3.62408e+01 3.02007e+01 2.41605e+01 1.81204e+01 1.20803e+01 + 6.04013e+00 0.00000e+00 + -117.6013 33.3125 13.4984 -38 89 1.00000e+10 36.6248 1.00000e-01 + 180 114.26 20 0.00 0 0.00 0 + 0.00000e+00 1.78532e+02 3.57064e+02 7.14127e+01 6.69494e+01 6.24861e+01 + 5.80228e+01 5.35595e+01 4.90962e+01 4.46329e+01 4.01697e+01 3.57064e+01 + 3.12431e+01 2.67798e+01 2.23165e+01 1.78532e+01 1.33899e+01 8.92659e+00 + 4.46329e+00 0.00000e+00 + -117.6079 33.3196 13.4984 -38 89 1.00000e+10 36.2832 1.00000e-01 + 180 108.58 20 0.00 0 0.00 0 + 0.00000e+00 1.69663e+02 3.39327e+02 6.78653e+01 6.36237e+01 5.93822e+01 + 5.51406e+01 5.08990e+01 4.66574e+01 4.24158e+01 3.81742e+01 3.39327e+01 + 2.96911e+01 2.54495e+01 2.12079e+01 1.69663e+01 1.27247e+01 8.48317e+00 + 4.24158e+00 0.00000e+00 + -117.6146 33.3267 13.4984 -38 89 1.00000e+10 35.8605 1.00000e-01 + 180 184.77 20 0.00 0 0.00 0 + 0.00000e+00 2.88707e+02 5.77414e+02 1.15483e+02 1.08265e+02 1.01048e+02 + 9.38298e+01 8.66122e+01 7.93945e+01 7.21768e+01 6.49591e+01 5.77414e+01 + 5.05238e+01 4.33061e+01 3.60884e+01 2.88707e+01 2.16530e+01 1.44354e+01 + 7.21768e+00 0.00000e+00 + -117.6212 33.3338 13.4984 -38 89 1.00000e+10 35.3887 1.00000e-01 + 180 310.54 20 0.00 0 0.00 0 + 0.00000e+00 4.85217e+02 9.70434e+02 1.94087e+02 1.81956e+02 1.69826e+02 + 1.57696e+02 1.45565e+02 1.33435e+02 1.21304e+02 1.09174e+02 9.70434e+01 + 8.49130e+01 7.27826e+01 6.06521e+01 4.85217e+01 3.63913e+01 2.42608e+01 + 1.21304e+01 0.00000e+00 + -117.6278 33.3409 13.4984 -38 89 1.00000e+10 34.9955 1.00000e-01 + 180 356.93 20 0.00 0 0.00 0 + 0.00000e+00 5.57707e+02 1.11541e+03 2.23083e+02 2.09140e+02 1.95198e+02 + 1.81255e+02 1.67312e+02 1.53369e+02 1.39427e+02 1.25484e+02 1.11541e+02 + 9.75988e+01 8.36561e+01 6.97134e+01 5.57707e+01 4.18280e+01 2.78854e+01 + 1.39427e+01 0.00000e+00 + -117.6344 33.3480 13.4984 -38 89 1.00000e+10 34.6329 1.00000e-01 + 180 372.54 20 0.00 0 0.00 0 + 0.00000e+00 5.82095e+02 1.16419e+03 2.32838e+02 2.18286e+02 2.03733e+02 + 1.89181e+02 1.74629e+02 1.60076e+02 1.45524e+02 1.30971e+02 1.16419e+02 + 1.01867e+02 8.73143e+01 7.27619e+01 5.82095e+01 4.36571e+01 2.91048e+01 + 1.45524e+01 0.00000e+00 + -117.6411 33.3551 13.4984 -38 89 1.00000e+10 34.3350 1.00000e-01 + 180 322.76 20 0.00 0 0.00 0 + 0.00000e+00 5.04320e+02 1.00864e+03 2.01728e+02 1.89120e+02 1.76512e+02 + 1.63904e+02 1.51296e+02 1.38688e+02 1.26080e+02 1.13472e+02 1.00864e+02 + 8.82560e+01 7.56480e+01 6.30400e+01 5.04320e+01 3.78240e+01 2.52160e+01 + 1.26080e+01 0.00000e+00 + -117.6477 33.3621 13.4984 -38 89 1.00000e+10 34.0307 1.00000e-01 + 180 279.49 20 0.00 0 0.00 0 + 0.00000e+00 4.36703e+02 8.73407e+02 1.74681e+02 1.63764e+02 1.52846e+02 + 1.41929e+02 1.31011e+02 1.20093e+02 1.09176e+02 9.82582e+01 8.73407e+01 + 7.64231e+01 6.55055e+01 5.45879e+01 4.36703e+01 3.27527e+01 2.18352e+01 + 1.09176e+01 0.00000e+00 + -117.6543 33.3692 13.4984 -38 89 1.00000e+10 33.7674 1.00000e-01 + 180 194.85 20 0.00 0 0.00 0 + 0.00000e+00 3.04456e+02 6.08912e+02 1.21782e+02 1.14171e+02 1.06560e+02 + 9.89483e+01 9.13369e+01 8.37255e+01 7.61141e+01 6.85026e+01 6.08912e+01 + 5.32798e+01 4.56684e+01 3.80570e+01 3.04456e+01 2.28342e+01 1.52228e+01 + 7.61141e+00 0.00000e+00 + -117.6609 33.3763 13.4984 -38 89 1.00000e+10 33.5504 1.00000e-01 + 180 63.50 20 0.00 0 0.00 0 + 0.00000e+00 9.92249e+01 1.98450e+02 3.96900e+01 3.72093e+01 3.47287e+01 + 3.22481e+01 2.97675e+01 2.72868e+01 2.48062e+01 2.23256e+01 1.98450e+01 + 1.73644e+01 1.48837e+01 1.24031e+01 9.92249e+00 7.44187e+00 4.96125e+00 + 2.48062e+00 0.00000e+00 + -117.6676 33.3834 13.4984 -38 89 1.00000e+10 33.2496 1.00000e-01 + 180 16.69 20 0.00 0 0.00 0 + 0.00000e+00 2.60804e+01 5.21609e+01 1.04322e+01 9.78017e+00 9.12815e+00 + 8.47614e+00 7.82413e+00 7.17212e+00 6.52011e+00 5.86810e+00 5.21609e+00 + 4.56408e+00 3.91207e+00 3.26006e+00 2.60804e+00 1.95603e+00 1.30402e+00 + 6.52011e-01 0.00000e+00 + -117.6742 33.3905 13.4984 -38 89 1.00000e+10 32.9190 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6808 33.3976 13.4984 -38 89 1.00000e+10 32.5718 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6876 33.4046 13.4984 -40 89 1.00000e+10 32.2129 1.00000e-01 + 180 11.85 20 0.00 0 0.00 0 + 0.00000e+00 1.85087e+01 3.70175e+01 7.40349e+00 6.94077e+00 6.47806e+00 + 6.01534e+00 5.55262e+00 5.08990e+00 4.62718e+00 4.16446e+00 3.70175e+00 + 3.23903e+00 2.77631e+00 2.31359e+00 1.85087e+00 1.38815e+00 9.25437e-01 + 4.62718e-01 0.00000e+00 + -117.6946 33.4114 13.4984 -41 89 1.00000e+10 31.8130 1.00000e-01 + 180 65.00 20 0.00 0 0.00 0 + 0.00000e+00 1.01570e+02 2.03140e+02 4.06279e+01 3.80887e+01 3.55494e+01 + 3.30102e+01 3.04709e+01 2.79317e+01 2.53925e+01 2.28532e+01 2.03140e+01 + 1.77747e+01 1.52355e+01 1.26962e+01 1.01570e+01 7.61774e+00 5.07849e+00 + 2.53925e+00 0.00000e+00 + -117.7017 33.4182 13.4984 -41 89 1.00000e+10 31.4556 1.00000e-01 + 180 75.41 20 0.00 0 0.00 0 + 0.00000e+00 1.17832e+02 2.35665e+02 4.71329e+01 4.41871e+01 4.12413e+01 + 3.82955e+01 3.53497e+01 3.24039e+01 2.94581e+01 2.65123e+01 2.35665e+01 + 2.06206e+01 1.76748e+01 1.47290e+01 1.17832e+01 8.83742e+00 5.89161e+00 + 2.94581e+00 0.00000e+00 + -117.7088 33.4250 13.4984 -41 89 1.00000e+10 31.0814 1.00000e-01 + 180 102.62 20 0.00 0 0.00 0 + 0.00000e+00 1.60346e+02 3.20692e+02 6.41385e+01 6.01298e+01 5.61212e+01 + 5.21125e+01 4.81039e+01 4.40952e+01 4.00866e+01 3.60779e+01 3.20692e+01 + 2.80606e+01 2.40519e+01 2.00433e+01 1.60346e+01 1.20260e+01 8.01731e+00 + 4.00866e+00 0.00000e+00 + -117.7159 33.4318 13.4984 -41 89 1.00000e+10 30.6471 1.00000e-01 + 180 190.55 20 0.00 0 0.00 0 + 0.00000e+00 2.97730e+02 5.95461e+02 1.19092e+02 1.11649e+02 1.04206e+02 + 9.67624e+01 8.93191e+01 8.18759e+01 7.44326e+01 6.69894e+01 5.95461e+01 + 5.21028e+01 4.46596e+01 3.72163e+01 2.97730e+01 2.23298e+01 1.48865e+01 + 7.44326e+00 0.00000e+00 + -117.7230 33.4386 13.4984 -41 89 1.00000e+10 30.1594 1.00000e-01 + 180 332.38 20 0.00 0 0.00 0 + 0.00000e+00 5.19346e+02 1.03869e+03 2.07739e+02 1.94755e+02 1.81771e+02 + 1.68788e+02 1.55804e+02 1.42820e+02 1.29837e+02 1.16853e+02 1.03869e+02 + 9.08856e+01 7.79020e+01 6.49183e+01 5.19346e+01 3.89510e+01 2.59673e+01 + 1.29837e+01 0.00000e+00 + -117.7301 33.4453 13.4984 -41 89 1.00000e+10 29.7285 1.00000e-01 + 180 416.86 20 0.00 0 0.00 0 + 0.00000e+00 6.51351e+02 1.30270e+03 2.60540e+02 2.44257e+02 2.27973e+02 + 2.11689e+02 1.95405e+02 1.79121e+02 1.62838e+02 1.46554e+02 1.30270e+02 + 1.13986e+02 9.77026e+01 8.14189e+01 6.51351e+01 4.88513e+01 3.25675e+01 + 1.62838e+01 0.00000e+00 + -117.7372 33.4521 13.4984 -41 89 1.00000e+10 29.2738 1.00000e-01 + 180 525.32 20 0.00 0 0.00 0 + 0.00000e+00 8.20805e+02 1.64161e+03 3.28322e+02 3.07802e+02 2.87282e+02 + 2.66762e+02 2.46242e+02 2.25721e+02 2.05201e+02 1.84681e+02 1.64161e+02 + 1.43641e+02 1.23121e+02 1.02601e+02 8.20805e+01 6.15604e+01 4.10402e+01 + 2.05201e+01 0.00000e+00 + -117.7443 33.4589 13.4984 -41 89 1.00000e+10 28.9803 1.00000e-01 + 180 471.21 20 0.00 0 0.00 0 + 0.00000e+00 7.36270e+02 1.47254e+03 2.94508e+02 2.76101e+02 2.57694e+02 + 2.39288e+02 2.20881e+02 2.02474e+02 1.84067e+02 1.65661e+02 1.47254e+02 + 1.28847e+02 1.10440e+02 9.20337e+01 7.36270e+01 5.52202e+01 3.68135e+01 + 1.84067e+01 0.00000e+00 + -117.7514 33.4657 13.4984 -41 89 1.00000e+10 28.6537 1.00000e-01 + 180 450.46 20 0.00 0 0.00 0 + 0.00000e+00 7.03850e+02 1.40770e+03 2.81540e+02 2.63944e+02 2.46348e+02 + 2.28751e+02 2.11155e+02 1.93559e+02 1.75963e+02 1.58366e+02 1.40770e+02 + 1.23174e+02 1.05578e+02 8.79813e+01 7.03850e+01 5.27888e+01 3.51925e+01 + 1.75963e+01 0.00000e+00 + -117.7585 33.4724 13.4984 -41 89 1.00000e+10 28.3209 1.00000e-01 + 180 435.89 20 0.00 0 0.00 0 + 0.00000e+00 6.81073e+02 1.36215e+03 2.72429e+02 2.55403e+02 2.38376e+02 + 2.21349e+02 2.04322e+02 1.87295e+02 1.70268e+02 1.53242e+02 1.36215e+02 + 1.19188e+02 1.02161e+02 8.51342e+01 6.81073e+01 5.10805e+01 3.40537e+01 + 1.70268e+01 0.00000e+00 + -117.7656 33.4792 13.4984 -41 89 1.00000e+10 27.9581 1.00000e-01 + 180 451.71 20 0.00 0 0.00 0 + 0.00000e+00 7.05791e+02 1.41158e+03 2.82317e+02 2.64672e+02 2.47027e+02 + 2.29382e+02 2.11737e+02 1.94093e+02 1.76448e+02 1.58803e+02 1.41158e+02 + 1.23513e+02 1.05869e+02 8.82239e+01 7.05791e+01 5.29344e+01 3.52896e+01 + 1.76448e+01 0.00000e+00 + -117.7727 33.4860 13.4984 -41 89 1.00000e+10 27.5975 1.00000e-01 + 180 465.26 20 0.00 0 0.00 0 + 0.00000e+00 7.26970e+02 1.45394e+03 2.90788e+02 2.72614e+02 2.54439e+02 + 2.36265e+02 2.18091e+02 1.99917e+02 1.81742e+02 1.63568e+02 1.45394e+02 + 1.27220e+02 1.09045e+02 9.08712e+01 7.26970e+01 5.45227e+01 3.63485e+01 + 1.81742e+01 0.00000e+00 + -117.7798 33.4928 13.4984 -41 89 1.00000e+10 27.1869 1.00000e-01 + 180 529.24 20 0.00 0 0.00 0 + 0.00000e+00 8.26931e+02 1.65386e+03 3.30772e+02 3.10099e+02 2.89426e+02 + 2.68753e+02 2.48079e+02 2.27406e+02 2.06733e+02 1.86059e+02 1.65386e+02 + 1.44713e+02 1.24040e+02 1.03366e+02 8.26931e+01 6.20198e+01 4.13465e+01 + 2.06733e+01 0.00000e+00 + -117.7869 33.4995 13.4984 -41 89 1.00000e+10 26.8915 1.00000e-01 + 180 477.02 20 0.00 0 0.00 0 + 0.00000e+00 7.45345e+02 1.49069e+03 2.98138e+02 2.79504e+02 2.60871e+02 + 2.42237e+02 2.23604e+02 2.04970e+02 1.86336e+02 1.67703e+02 1.49069e+02 + 1.30435e+02 1.11802e+02 9.31682e+01 7.45345e+01 5.59009e+01 3.72673e+01 + 1.86336e+01 0.00000e+00 + -117.7941 33.5063 13.4984 -42 89 1.00000e+10 26.5401 1.00000e-01 + 180 481.32 20 0.00 0 0.00 0 + 0.00000e+00 7.52068e+02 1.50414e+03 3.00827e+02 2.82025e+02 2.63224e+02 + 2.44422e+02 2.25620e+02 2.06819e+02 1.88017e+02 1.69215e+02 1.50414e+02 + 1.31612e+02 1.12810e+02 9.40085e+01 7.52068e+01 5.64051e+01 3.76034e+01 + 1.88017e+01 0.00000e+00 + -117.8018 33.5126 13.4984 -49 89 1.00000e+10 26.3386 1.00000e-01 + 180 334.32 20 0.00 0 0.00 0 + 0.00000e+00 5.22369e+02 1.04474e+03 2.08948e+02 1.95888e+02 1.82829e+02 + 1.69770e+02 1.56711e+02 1.43652e+02 1.30592e+02 1.17533e+02 1.04474e+02 + 9.14146e+01 7.83554e+01 6.52961e+01 5.22369e+01 3.91777e+01 2.61185e+01 + 1.30592e+01 0.00000e+00 + -117.8100 33.5184 13.4984 -49 89 1.00000e+10 26.1103 1.00000e-01 + 180 214.41 20 0.00 0 0.00 0 + 0.00000e+00 3.35014e+02 6.70028e+02 1.34006e+02 1.25630e+02 1.17255e+02 + 1.08880e+02 1.00504e+02 9.21289e+01 8.37535e+01 7.53782e+01 6.70028e+01 + 5.86275e+01 5.02521e+01 4.18768e+01 3.35014e+01 2.51261e+01 1.67507e+01 + 8.37535e+00 0.00000e+00 + -117.8181 33.5243 13.4984 -49 89 1.00000e+10 25.7857 1.00000e-01 + 180 191.69 20 0.00 0 0.00 0 + 0.00000e+00 2.99518e+02 5.99036e+02 1.19807e+02 1.12319e+02 1.04831e+02 + 9.73434e+01 8.98554e+01 8.23675e+01 7.48795e+01 6.73916e+01 5.99036e+01 + 5.24157e+01 4.49277e+01 3.74398e+01 2.99518e+01 2.24639e+01 1.49759e+01 + 7.48795e+00 0.00000e+00 + -117.8263 33.5302 13.4984 -49 89 1.00000e+10 25.5448 1.00000e-01 + 180 84.49 20 0.00 0 0.00 0 + 0.00000e+00 1.32019e+02 2.64039e+02 5.28077e+01 4.95072e+01 4.62067e+01 + 4.29063e+01 3.96058e+01 3.63053e+01 3.30048e+01 2.97043e+01 2.64039e+01 + 2.31034e+01 1.98029e+01 1.65024e+01 1.32019e+01 9.90144e+00 6.60096e+00 + 3.30048e+00 0.00000e+00 + -117.8345 33.5360 13.4984 -49 89 1.00000e+10 25.2653 1.00000e-01 + 180 16.21 20 0.00 0 0.00 0 + 0.00000e+00 2.53234e+01 5.06469e+01 1.01294e+01 9.49628e+00 8.86320e+00 + 8.23011e+00 7.59703e+00 6.96394e+00 6.33086e+00 5.69777e+00 5.06469e+00 + 4.43160e+00 3.79851e+00 3.16543e+00 2.53234e+00 1.89926e+00 1.26617e+00 + 6.33086e-01 0.00000e+00 + -117.8427 33.5419 13.4984 -49 89 1.00000e+10 24.9342 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8509 33.5478 13.4984 -49 89 1.00000e+10 24.5871 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8590 33.5537 13.4984 -49 89 1.00000e+10 24.2399 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8672 33.5595 13.4984 -49 89 1.00000e+10 23.8928 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8754 33.5654 13.4984 -49 89 1.00000e+10 23.5456 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8836 33.5713 13.4984 -49 89 1.00000e+10 23.1856 1.00000e-01 + 180 13.06 20 0.00 0 0.00 0 + 0.00000e+00 2.04034e+01 4.08069e+01 8.16137e+00 7.65129e+00 7.14120e+00 + 6.63112e+00 6.12103e+00 5.61094e+00 5.10086e+00 4.59077e+00 4.08069e+00 + 3.57060e+00 3.06052e+00 2.55043e+00 2.04034e+00 1.53026e+00 1.02017e+00 + 5.10086e-01 0.00000e+00 + -117.8918 33.5771 13.4984 -49 89 1.00000e+10 22.8295 1.00000e-01 + 180 22.11 20 0.00 0 0.00 0 + 0.00000e+00 3.45545e+01 6.91089e+01 1.38218e+01 1.29579e+01 1.20941e+01 + 1.12302e+01 1.03663e+01 9.50248e+00 8.63861e+00 7.77475e+00 6.91089e+00 + 6.04703e+00 5.18317e+00 4.31931e+00 3.45545e+00 2.59158e+00 1.72772e+00 + 8.63861e-01 0.00000e+00 + -117.9000 33.5830 13.4984 -49 89 1.00000e+10 22.3590 1.00000e-01 + 180 146.51 20 0.00 0 0.00 0 + 0.00000e+00 2.28925e+02 4.57850e+02 9.15700e+01 8.58469e+01 8.01237e+01 + 7.44006e+01 6.86775e+01 6.29544e+01 5.72312e+01 5.15081e+01 4.57850e+01 + 4.00619e+01 3.43387e+01 2.86156e+01 2.28925e+01 1.71694e+01 1.14462e+01 + 5.72312e+00 0.00000e+00 + -117.9082 33.5889 13.4984 -49 89 1.00000e+10 21.9123 1.00000e-01 + 180 247.00 20 0.00 0 0.00 0 + 0.00000e+00 3.85930e+02 7.71860e+02 1.54372e+02 1.44724e+02 1.35076e+02 + 1.25427e+02 1.15779e+02 1.06131e+02 9.64825e+01 8.68343e+01 7.71860e+01 + 6.75378e+01 5.78895e+01 4.82413e+01 3.85930e+01 2.89448e+01 1.92965e+01 + 9.64825e+00 0.00000e+00 + -117.9155 33.5954 13.4984 -37 89 1.00000e+10 21.4935 1.00000e-01 + 180 319.34 20 0.00 0 0.00 0 + 0.00000e+00 4.98976e+02 9.97953e+02 1.99591e+02 1.87116e+02 1.74642e+02 + 1.62167e+02 1.49693e+02 1.37219e+02 1.24744e+02 1.12270e+02 9.97953e+01 + 8.73209e+01 7.48465e+01 6.23721e+01 4.98976e+01 3.74232e+01 2.49488e+01 + 1.24744e+01 0.00000e+00 + -117.9221 33.6026 13.4984 -37 89 1.00000e+10 21.1540 1.00000e-01 + 180 311.63 20 0.00 0 0.00 0 + 0.00000e+00 4.86921e+02 9.73842e+02 1.94768e+02 1.82595e+02 1.70422e+02 + 1.58249e+02 1.46076e+02 1.33903e+02 1.21730e+02 1.09557e+02 9.73842e+01 + 8.52112e+01 7.30382e+01 6.08651e+01 4.86921e+01 3.65191e+01 2.43461e+01 + 1.21730e+01 0.00000e+00 + -117.9285 33.6098 13.4984 -37 89 1.00000e+10 20.8630 1.00000e-01 + 180 254.99 20 0.00 0 0.00 0 + 0.00000e+00 3.98414e+02 7.96829e+02 1.59366e+02 1.49405e+02 1.39445e+02 + 1.29485e+02 1.19524e+02 1.09564e+02 9.96036e+01 8.96432e+01 7.96829e+01 + 6.97225e+01 5.97622e+01 4.98018e+01 3.98414e+01 2.98811e+01 1.99207e+01 + 9.96036e+00 0.00000e+00 + -117.9351 33.6169 13.4984 -38 89 1.00000e+10 20.5661 1.00000e-01 + 180 204.34 20 0.00 0 0.00 0 + 0.00000e+00 3.19278e+02 6.38557e+02 1.27711e+02 1.19729e+02 1.11747e+02 + 1.03765e+02 9.57835e+01 8.78016e+01 7.98196e+01 7.18376e+01 6.38557e+01 + 5.58737e+01 4.78918e+01 3.99098e+01 3.19278e+01 2.39459e+01 1.59639e+01 + 7.98196e+00 0.00000e+00 + -117.9418 33.6240 13.4984 -39 89 1.00000e+10 20.2230 1.00000e-01 + 180 200.28 20 0.00 0 0.00 0 + 0.00000e+00 3.12930e+02 6.25860e+02 1.25172e+02 1.17349e+02 1.09525e+02 + 1.01702e+02 9.38790e+01 8.60557e+01 7.82325e+01 7.04092e+01 6.25860e+01 + 5.47627e+01 4.69395e+01 3.91162e+01 3.12930e+01 2.34697e+01 1.56465e+01 + 7.82325e+00 0.00000e+00 + -117.9486 33.6310 13.4984 -39 89 1.00000e+10 19.9061 1.00000e-01 + 180 169.80 20 0.00 0 0.00 0 + 0.00000e+00 2.65305e+02 5.30611e+02 1.06122e+02 9.94895e+01 9.28569e+01 + 8.62243e+01 7.95916e+01 7.29590e+01 6.63263e+01 5.96937e+01 5.30611e+01 + 4.64284e+01 3.97958e+01 3.31632e+01 2.65305e+01 1.98979e+01 1.32653e+01 + 6.63263e+00 0.00000e+00 + -117.9553 33.6380 13.4984 -39 89 1.00000e+10 19.5984 1.00000e-01 + 180 130.11 20 0.00 0 0.00 0 + 0.00000e+00 2.03289e+02 4.06579e+02 8.13158e+01 7.62335e+01 7.11513e+01 + 6.60691e+01 6.09868e+01 5.59046e+01 5.08224e+01 4.57401e+01 4.06579e+01 + 3.55757e+01 3.04934e+01 2.54112e+01 2.03289e+01 1.52467e+01 1.01645e+01 + 5.08224e+00 0.00000e+00 + -117.9620 33.6451 13.4984 -39 89 1.00000e+10 19.3201 1.00000e-01 + 180 60.67 20 0.00 0 0.00 0 + 0.00000e+00 9.47911e+01 1.89582e+02 3.79164e+01 3.55467e+01 3.31769e+01 + 3.08071e+01 2.84373e+01 2.60676e+01 2.36978e+01 2.13280e+01 1.89582e+01 + 1.65884e+01 1.42187e+01 1.18489e+01 9.47911e+00 7.10933e+00 4.73955e+00 + 2.36978e+00 0.00000e+00 + -117.9688 33.6521 13.4984 -39 89 1.00000e+10 19.0331 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9755 33.6592 13.4984 -39 89 1.00000e+10 18.6860 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.9822 33.6662 13.4984 -39 89 1.00000e+10 18.3059 1.00000e-01 + 180 33.34 20 0.00 0 0.00 0 + 0.00000e+00 5.20861e+01 1.04172e+02 2.08344e+01 1.95323e+01 1.82301e+01 + 1.69280e+01 1.56258e+01 1.43237e+01 1.30215e+01 1.17194e+01 1.04172e+01 + 9.11506e+00 7.81291e+00 6.51076e+00 5.20861e+00 3.90645e+00 2.60430e+00 + 1.30215e+00 0.00000e+00 + -117.9891 33.6731 13.4984 -41 89 1.00000e+10 17.8222 1.00000e-01 + 180 171.20 20 0.00 0 0.00 0 + 0.00000e+00 2.67502e+02 5.35003e+02 1.07001e+02 1.00313e+02 9.36256e+01 + 8.69380e+01 8.02505e+01 7.35630e+01 6.68754e+01 6.01879e+01 5.35003e+01 + 4.68128e+01 4.01252e+01 3.34377e+01 2.67502e+01 2.00626e+01 1.33751e+01 + 6.68754e+00 0.00000e+00 + -117.9971 33.6791 13.4984 -54 89 1.00000e+10 17.4133 1.00000e-01 + 180 233.60 20 0.00 0 0.00 0 + 0.00000e+00 3.64995e+02 7.29990e+02 1.45998e+02 1.36873e+02 1.27748e+02 + 1.18623e+02 1.09499e+02 1.00374e+02 9.12488e+01 8.21239e+01 7.29990e+01 + 6.38741e+01 5.47493e+01 4.56244e+01 3.64995e+01 2.73746e+01 1.82498e+01 + 9.12488e+00 0.00000e+00 + -118.0059 33.6843 13.4984 -54 89 1.00000e+10 17.0507 1.00000e-01 + 180 249.20 20 0.00 0 0.00 0 + 0.00000e+00 3.89377e+02 7.78754e+02 1.55751e+02 1.46016e+02 1.36282e+02 + 1.26548e+02 1.16813e+02 1.07079e+02 9.73443e+01 8.76098e+01 7.78754e+01 + 6.81410e+01 5.84066e+01 4.86721e+01 3.89377e+01 2.92033e+01 1.94689e+01 + 9.73443e+00 0.00000e+00 + -118.0147 33.6895 13.4984 -54 89 1.00000e+10 16.7748 1.00000e-01 + 180 177.43 20 0.00 0 0.00 0 + 0.00000e+00 2.77229e+02 5.54459e+02 1.10892e+02 1.03961e+02 9.70303e+01 + 9.00996e+01 8.31689e+01 7.62381e+01 6.93074e+01 6.23766e+01 5.54459e+01 + 4.85152e+01 4.15844e+01 3.46537e+01 2.77229e+01 2.07922e+01 1.38615e+01 + 6.93074e+00 0.00000e+00 + -118.0235 33.6948 13.4984 -54 89 1.00000e+10 16.4665 1.00000e-01 + 180 138.36 20 0.00 0 0.00 0 + 0.00000e+00 2.16183e+02 4.32367e+02 8.64733e+01 8.10687e+01 7.56641e+01 + 7.02596e+01 6.48550e+01 5.94504e+01 5.40458e+01 4.86412e+01 4.32367e+01 + 3.78321e+01 3.24275e+01 2.70229e+01 2.16183e+01 1.62137e+01 1.08092e+01 + 5.40458e+00 0.00000e+00 + -118.0323 33.7000 13.4984 -54 89 1.00000e+10 16.0808 1.00000e-01 + 180 177.35 20 0.00 0 0.00 0 + 0.00000e+00 2.77104e+02 5.54208e+02 1.10842e+02 1.03914e+02 9.69865e+01 + 9.00589e+01 8.31313e+01 7.62037e+01 6.92761e+01 6.23485e+01 5.54208e+01 + 4.84932e+01 4.15656e+01 3.46380e+01 2.77104e+01 2.07828e+01 1.38552e+01 + 6.92761e+00 0.00000e+00 + -118.0410 33.7053 13.4984 -53 89 1.00000e+10 15.6694 1.00000e-01 + 180 242.27 20 0.00 0 0.00 0 + 0.00000e+00 3.78548e+02 7.57096e+02 1.51419e+02 1.41955e+02 1.32492e+02 + 1.23028e+02 1.13564e+02 1.04101e+02 9.46369e+01 8.51732e+01 7.57095e+01 + 6.62459e+01 5.67822e+01 4.73185e+01 3.78548e+01 2.83911e+01 1.89274e+01 + 9.46369e+00 0.00000e+00 + -118.0495 33.7109 13.4984 -50 89 1.00000e+10 15.2227 1.00000e-01 + 180 342.82 20 0.00 0 0.00 0 + 0.00000e+00 5.35654e+02 1.07131e+03 2.14262e+02 2.00870e+02 1.87479e+02 + 1.74088e+02 1.60696e+02 1.47305e+02 1.33914e+02 1.20522e+02 1.07131e+02 + 9.37395e+01 8.03481e+01 6.69568e+01 5.35654e+01 4.01741e+01 2.67827e+01 + 1.33914e+01 0.00000e+00 + -118.0576 33.7168 13.4984 -48 89 1.00000e+10 14.9278 1.00000e-01 + 180 290.28 20 0.00 0 0.00 0 + 0.00000e+00 4.53555e+02 9.07110e+02 1.81422e+02 1.70083e+02 1.58744e+02 + 1.47405e+02 1.36067e+02 1.24728e+02 1.13389e+02 1.02050e+02 9.07110e+01 + 7.93721e+01 6.80333e+01 5.66944e+01 4.53555e+01 3.40166e+01 2.26778e+01 + 1.13389e+01 0.00000e+00 + -118.0644 33.7236 13.4984 -31 89 1.00000e+10 14.6488 1.00000e-01 + 180 221.61 20 0.00 0 0.00 0 + 0.00000e+00 3.46264e+02 6.92528e+02 1.38506e+02 1.29849e+02 1.21192e+02 + 1.12536e+02 1.03879e+02 9.52225e+01 8.65659e+01 7.79094e+01 6.92528e+01 + 6.05962e+01 5.19396e+01 4.32830e+01 3.46264e+01 2.59698e+01 1.73132e+01 + 8.65660e+00 0.00000e+00 + -118.0700 33.7313 13.4984 -31 89 1.00000e+10 14.3073 1.00000e-01 + 180 216.02 20 0.00 0 0.00 0 + 0.00000e+00 3.37527e+02 6.75054e+02 1.35011e+02 1.26573e+02 1.18135e+02 + 1.09696e+02 1.01258e+02 9.28200e+01 8.43818e+01 7.59436e+01 6.75054e+01 + 5.90673e+01 5.06291e+01 4.21909e+01 3.37527e+01 2.53145e+01 1.68764e+01 + 8.43818e+00 0.00000e+00 + -118.0766 33.7384 13.4984 -44 89 1.00000e+10 13.9377 1.00000e-01 + 180 238.87 20 0.00 0 0.00 0 + 0.00000e+00 3.73242e+02 7.46484e+02 1.49297e+02 1.39966e+02 1.30635e+02 + 1.21304e+02 1.11973e+02 1.02642e+02 9.33105e+01 8.39795e+01 7.46484e+01 + 6.53174e+01 5.59863e+01 4.66553e+01 3.73242e+01 2.79932e+01 1.86621e+01 + 9.33105e+00 0.00000e+00 + -118.0843 33.7447 13.4984 -47 89 1.00000e+10 13.5904 1.00000e-01 + 180 239.13 20 0.00 0 0.00 0 + 0.00000e+00 3.73635e+02 7.47270e+02 1.49454e+02 1.40113e+02 1.30772e+02 + 1.21431e+02 1.12091e+02 1.02750e+02 9.34088e+01 8.40679e+01 7.47270e+01 + 6.53861e+01 5.60453e+01 4.67044e+01 3.73635e+01 2.80226e+01 1.86818e+01 + 9.34088e+00 0.00000e+00 + -118.0922 33.7508 13.4984 -47 89 1.00000e+10 13.2561 1.00000e-01 + 180 226.41 20 0.00 0 0.00 0 + 0.00000e+00 3.53758e+02 7.07516e+02 1.41503e+02 1.32659e+02 1.23815e+02 + 1.14971e+02 1.06127e+02 9.72835e+01 8.84395e+01 7.95956e+01 7.07516e+01 + 6.19077e+01 5.30637e+01 4.42198e+01 3.53758e+01 2.65319e+01 1.76879e+01 + 8.84395e+00 0.00000e+00 + -118.1002 33.7569 13.4984 -47 89 1.00000e+10 12.8934 1.00000e-01 + 180 242.26 20 0.00 0 0.00 0 + 0.00000e+00 3.78537e+02 7.57075e+02 1.51415e+02 1.41951e+02 1.32488e+02 + 1.23025e+02 1.13561e+02 1.04098e+02 9.46343e+01 8.51709e+01 7.57075e+01 + 6.62440e+01 5.67806e+01 4.73172e+01 3.78537e+01 2.83903e+01 1.89269e+01 + 9.46343e+00 0.00000e+00 + -118.1081 33.7630 13.4984 -47 89 1.00000e+10 12.5041 1.00000e-01 + 180 284.99 20 0.00 0 0.00 0 + 0.00000e+00 4.45300e+02 8.90601e+02 1.78120e+02 1.66988e+02 1.55855e+02 + 1.44723e+02 1.33590e+02 1.22458e+02 1.11325e+02 1.00193e+02 8.90601e+01 + 7.79276e+01 6.67951e+01 5.56625e+01 4.45300e+01 3.33975e+01 2.22650e+01 + 1.11325e+01 0.00000e+00 + -118.1164 33.7688 13.4984 -52 89 1.00000e+10 12.1040 1.00000e-01 + 180 338.70 20 0.00 0 0.00 0 + 0.00000e+00 5.29224e+02 1.05845e+03 2.11690e+02 1.98459e+02 1.85229e+02 + 1.71998e+02 1.58767e+02 1.45537e+02 1.32306e+02 1.19075e+02 1.05845e+02 + 9.26143e+01 7.93837e+01 6.61530e+01 5.29224e+01 3.96918e+01 2.64612e+01 + 1.32306e+01 0.00000e+00 + -118.1249 33.7744 13.4984 -52 89 1.00000e+10 11.7046 1.00000e-01 + 180 391.65 20 0.00 0 0.00 0 + 0.00000e+00 6.11950e+02 1.22390e+03 2.44780e+02 2.29481e+02 2.14182e+02 + 1.98884e+02 1.83585e+02 1.68286e+02 1.52987e+02 1.37689e+02 1.22390e+02 + 1.07091e+02 9.17924e+01 7.64937e+01 6.11950e+01 4.58962e+01 3.05975e+01 + 1.52987e+01 0.00000e+00 + -118.1334 33.7799 13.4984 -52 89 1.00000e+10 11.2678 1.00000e-01 + 180 482.38 20 0.00 0 0.00 0 + 0.00000e+00 7.53716e+02 1.50743e+03 3.01486e+02 2.82643e+02 2.63801e+02 + 2.44958e+02 2.26115e+02 2.07272e+02 1.88429e+02 1.69586e+02 1.50743e+02 + 1.31900e+02 1.13057e+02 9.42145e+01 7.53716e+01 5.65287e+01 3.76858e+01 + 1.88429e+01 0.00000e+00 + -118.1419 33.7855 13.4984 -52 89 1.00000e+10 10.8906 1.00000e-01 + 180 512.95 20 0.00 0 0.00 0 + 0.00000e+00 8.01484e+02 1.60297e+03 3.20593e+02 3.00556e+02 2.80519e+02 + 2.60482e+02 2.40445e+02 2.20408e+02 2.00371e+02 1.80334e+02 1.60297e+02 + 1.40260e+02 1.20223e+02 1.00185e+02 8.01484e+01 6.01113e+01 4.00742e+01 + 2.00371e+01 0.00000e+00 + -118.1504 33.7911 13.4984 -51 89 1.00000e+10 10.5503 1.00000e-01 + 180 506.35 20 0.00 0 0.00 0 + 0.00000e+00 7.91164e+02 1.58233e+03 3.16466e+02 2.96687e+02 2.76907e+02 + 2.57128e+02 2.37349e+02 2.17570e+02 1.97791e+02 1.78012e+02 1.58233e+02 + 1.38454e+02 1.18675e+02 9.88955e+01 7.91164e+01 5.93373e+01 3.95582e+01 + 1.97791e+01 0.00000e+00 + -118.1588 33.7968 13.4984 -50 89 1.00000e+10 10.2722 1.00000e-01 + 180 437.01 20 0.00 0 0.00 0 + 0.00000e+00 6.82827e+02 1.36565e+03 2.73131e+02 2.56060e+02 2.38989e+02 + 2.21919e+02 2.04848e+02 1.87777e+02 1.70707e+02 1.53636e+02 1.36565e+02 + 1.19495e+02 1.02424e+02 8.53534e+01 6.82827e+01 5.12120e+01 3.41413e+01 + 1.70707e+01 0.00000e+00 + -118.1671 33.8025 13.4984 -50 89 1.00000e+10 10.0472 1.00000e-01 + 180 314.06 20 0.00 0 0.00 0 + 0.00000e+00 4.90717e+02 9.81435e+02 1.96287e+02 1.84019e+02 1.71751e+02 + 1.59483e+02 1.47215e+02 1.34947e+02 1.22679e+02 1.10411e+02 9.81435e+01 + 8.58755e+01 7.36076e+01 6.13397e+01 4.90717e+01 3.68038e+01 2.45359e+01 + 1.22679e+01 0.00000e+00 + -118.1755 33.8083 13.4984 -50 89 1.00000e+10 9.7304 1.00000e-01 + 180 283.86 20 0.00 0 0.00 0 + 0.00000e+00 4.43536e+02 8.87072e+02 1.77414e+02 1.66326e+02 1.55238e+02 + 1.44149e+02 1.33061e+02 1.21972e+02 1.10884e+02 9.97956e+01 8.87072e+01 + 7.76188e+01 6.65304e+01 5.54420e+01 4.43536e+01 3.32652e+01 2.21768e+01 + 1.10884e+01 0.00000e+00 + -118.1838 33.8140 13.4984 -50 89 1.00000e+10 9.3887 1.00000e-01 + 180 278.74 20 0.00 0 0.00 0 + 0.00000e+00 4.35530e+02 8.71059e+02 1.74212e+02 1.63324e+02 1.52435e+02 + 1.41547e+02 1.30659e+02 1.19771e+02 1.08882e+02 9.79941e+01 8.71059e+01 + 7.62177e+01 6.53294e+01 5.44412e+01 4.35530e+01 3.26647e+01 2.17765e+01 + 1.08882e+01 0.00000e+00 + -118.1922 33.8197 13.4984 -50 89 1.00000e+10 9.0262 1.00000e-01 + 180 294.65 20 0.00 0 0.00 0 + 0.00000e+00 4.60386e+02 9.20772e+02 1.84154e+02 1.72645e+02 1.61135e+02 + 1.49625e+02 1.38116e+02 1.26606e+02 1.15096e+02 1.03587e+02 9.20772e+01 + 8.05675e+01 6.90579e+01 5.75482e+01 4.60386e+01 3.45289e+01 2.30193e+01 + 1.15096e+01 0.00000e+00 + -118.2005 33.8255 13.4984 -50 89 1.00000e+10 8.7609 1.00000e-01 + 180 212.57 20 0.00 0 0.00 0 + 0.00000e+00 3.32134e+02 6.64268e+02 1.32854e+02 1.24550e+02 1.16247e+02 + 1.07944e+02 9.96402e+01 9.13369e+01 8.30335e+01 7.47302e+01 6.64268e+01 + 5.81235e+01 4.98201e+01 4.15168e+01 3.32134e+01 2.49101e+01 1.66067e+01 + 8.30335e+00 0.00000e+00 + -118.2087 33.8313 13.4984 -49 89 1.00000e+10 8.4891 1.00000e-01 + 180 137.03 20 0.00 0 0.00 0 + 0.00000e+00 2.14113e+02 4.28227e+02 8.56454e+01 8.02925e+01 7.49397e+01 + 6.95869e+01 6.42340e+01 5.88812e+01 5.35284e+01 4.81755e+01 4.28227e+01 + 3.74699e+01 3.21170e+01 2.67642e+01 2.14113e+01 1.60585e+01 1.07057e+01 + 5.35284e+00 0.00000e+00 + -118.2172 33.8370 13.4984 -54 89 1.00000e+10 8.2416 1.00000e-01 + 180 37.13 20 0.00 0 0.00 0 + 0.00000e+00 5.80196e+01 1.16039e+02 2.32078e+01 2.17573e+01 2.03069e+01 + 1.88564e+01 1.74059e+01 1.59554e+01 1.45049e+01 1.30544e+01 1.16039e+01 + 1.01534e+01 8.70294e+00 7.25245e+00 5.80196e+00 4.35147e+00 2.90098e+00 + 1.45049e+00 0.00000e+00 + -118.2259 33.8422 13.4984 -54 89 1.00000e+10 7.9319 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2333 33.8487 13.4984 -33 89 1.00000e+10 7.4449 1.00000e-01 + 180 141.81 20 0.00 0 0.00 0 + 0.00000e+00 2.21572e+02 4.43144e+02 8.86287e+01 8.30894e+01 7.75501e+01 + 7.20108e+01 6.64715e+01 6.09323e+01 5.53930e+01 4.98537e+01 4.43144e+01 + 3.87751e+01 3.32358e+01 2.76965e+01 2.21572e+01 1.66179e+01 1.10786e+01 + 5.53930e+00 0.00000e+00 + -118.2392 33.8562 13.4984 -33 89 1.00000e+10 7.0412 1.00000e-01 + 180 199.63 20 0.00 0 0.00 0 + 0.00000e+00 3.11921e+02 6.23843e+02 1.24769e+02 1.16970e+02 1.09172e+02 + 1.01374e+02 9.35764e+01 8.57784e+01 7.79803e+01 7.01823e+01 6.23843e+01 + 5.45862e+01 4.67882e+01 3.89902e+01 3.11921e+01 2.33941e+01 1.55961e+01 + 7.79803e+00 0.00000e+00 + -118.2451 33.8638 13.4984 -33 89 1.00000e+10 6.6053 1.00000e-01 + 180 290.02 20 0.00 0 0.00 0 + 0.00000e+00 4.53160e+02 9.06320e+02 1.81264e+02 1.69935e+02 1.58606e+02 + 1.47277e+02 1.35948e+02 1.24619e+02 1.13290e+02 1.01961e+02 9.06320e+01 + 7.93030e+01 6.79740e+01 5.66450e+01 4.53160e+01 3.39870e+01 2.26580e+01 + 1.13290e+01 0.00000e+00 + -118.2510 33.8713 13.4984 -33 89 1.00000e+10 6.2560 1.00000e-01 + 180 293.14 20 0.00 0 0.00 0 + 0.00000e+00 4.58032e+02 9.16063e+02 1.83213e+02 1.71762e+02 1.60311e+02 + 1.48860e+02 1.37409e+02 1.25959e+02 1.14508e+02 1.03057e+02 9.16063e+01 + 8.01555e+01 6.87047e+01 5.72539e+01 4.58032e+01 3.43524e+01 2.29016e+01 + 1.14508e+01 0.00000e+00 + -118.2569 33.8788 13.4984 -33 89 1.00000e+10 5.9716 1.00000e-01 + 180 230.91 20 0.00 0 0.00 0 + 0.00000e+00 3.60794e+02 7.21589e+02 1.44318e+02 1.35298e+02 1.26278e+02 + 1.17258e+02 1.08238e+02 9.92185e+01 9.01986e+01 8.11787e+01 7.21589e+01 + 6.31390e+01 5.41192e+01 4.50993e+01 3.60794e+01 2.70596e+01 1.80397e+01 + 9.01986e+00 0.00000e+00 + -118.2630 33.8863 13.4984 -35 89 1.00000e+10 5.6883 1.00000e-01 + 180 167.64 20 0.00 0 0.00 0 + 0.00000e+00 2.61943e+02 5.23885e+02 1.04777e+02 9.82284e+01 9.16799e+01 + 8.51313e+01 7.85828e+01 7.20342e+01 6.54856e+01 5.89371e+01 5.23885e+01 + 4.58399e+01 3.92914e+01 3.27428e+01 2.61943e+01 1.96457e+01 1.30971e+01 + 6.54856e+00 0.00000e+00 + -118.2693 33.8936 13.4984 -36 89 1.00000e+10 5.4189 1.00000e-01 + 180 90.65 20 0.00 0 0.00 0 + 0.00000e+00 1.41646e+02 2.83291e+02 5.66582e+01 5.31171e+01 4.95759e+01 + 4.60348e+01 4.24937e+01 3.89525e+01 3.54114e+01 3.18702e+01 2.83291e+01 + 2.47880e+01 2.12468e+01 1.77057e+01 1.41646e+01 1.06234e+01 7.08228e+00 + 3.54114e+00 0.00000e+00 + -118.2757 33.9008 13.4984 -36 89 1.00000e+10 5.1259 1.00000e-01 + 180 37.54 20 0.00 0 0.00 0 + 0.00000e+00 5.86589e+01 1.17318e+02 2.34636e+01 2.19971e+01 2.05306e+01 + 1.90641e+01 1.75977e+01 1.61312e+01 1.46647e+01 1.31983e+01 1.17318e+01 + 1.02653e+01 8.79883e+00 7.33236e+00 5.86589e+00 4.39942e+00 2.93294e+00 + 1.46647e+00 0.00000e+00 + -118.2822 33.9081 13.4984 -36 89 1.00000e+10 4.6782 1.00000e-01 + 180 140.82 20 0.00 0 0.00 0 + 0.00000e+00 2.20027e+02 4.40055e+02 8.80109e+01 8.25102e+01 7.70096e+01 + 7.15089e+01 6.60082e+01 6.05075e+01 5.50068e+01 4.95061e+01 4.40055e+01 + 3.85048e+01 3.30041e+01 2.75034e+01 2.20027e+01 1.65020e+01 1.10014e+01 + 5.50068e+00 0.00000e+00 + -118.2885 33.9154 13.4984 -35 89 1.00000e+10 4.2358 1.00000e-01 + 180 239.00 20 0.00 0 0.00 0 + 0.00000e+00 3.73432e+02 7.46863e+02 1.49373e+02 1.40037e+02 1.30701e+02 + 1.21365e+02 1.12030e+02 1.02694e+02 9.33579e+01 8.40221e+01 7.46863e+01 + 6.53505e+01 5.60148e+01 4.66790e+01 3.73432e+01 2.80074e+01 1.86716e+01 + 9.33579e+00 0.00000e+00 + -118.2946 33.9228 13.4984 -34 89 1.00000e+10 3.8275 1.00000e-01 + 180 303.07 20 0.00 0 0.00 0 + 0.00000e+00 4.73549e+02 9.47098e+02 1.89420e+02 1.77581e+02 1.65742e+02 + 1.53903e+02 1.42065e+02 1.30226e+02 1.18387e+02 1.06549e+02 9.47098e+01 + 8.28711e+01 7.10324e+01 5.91936e+01 4.73549e+01 3.55162e+01 2.36775e+01 + 1.18387e+01 0.00000e+00 + -118.3014 33.9294 13.4984 -47 89 1.00000e+10 3.4021 1.00000e-01 + 180 384.92 20 0.00 0 0.00 0 + 0.00000e+00 6.01444e+02 1.20289e+03 2.40578e+02 2.25541e+02 2.10505e+02 + 1.95469e+02 1.80433e+02 1.65397e+02 1.50361e+02 1.35325e+02 1.20289e+02 + 1.05253e+02 9.02166e+01 7.51805e+01 6.01444e+01 4.51083e+01 3.00722e+01 + 1.50361e+01 0.00000e+00 + -118.3105 33.9333 13.4984 -78 89 1.00000e+10 3.1332 1.00000e-01 + 180 309.39 20 0.00 0 0.00 0 + 0.00000e+00 4.83415e+02 9.66831e+02 1.93366e+02 1.81281e+02 1.69195e+02 + 1.57110e+02 1.45025e+02 1.32939e+02 1.20854e+02 1.08768e+02 9.66831e+01 + 8.45977e+01 7.25123e+01 6.04269e+01 4.83415e+01 3.62561e+01 2.41708e+01 + 1.20854e+01 0.00000e+00 + -118.3187 33.9379 13.4984 -33 89 1.00000e+10 2.8830 1.00000e-01 + 180 215.83 20 0.00 0 0.00 0 + 0.00000e+00 3.37233e+02 6.74465e+02 1.34893e+02 1.26462e+02 1.18031e+02 + 1.09601e+02 1.01170e+02 9.27390e+01 8.43081e+01 7.58773e+01 6.74465e+01 + 5.90157e+01 5.05849e+01 4.21541e+01 3.37233e+01 2.52924e+01 1.68616e+01 + 8.43081e+00 0.00000e+00 + -118.3244 33.9454 13.4984 -32 89 1.00000e+10 2.5436 1.00000e-01 + 180 213.32 20 0.00 0 0.00 0 + 0.00000e+00 3.33315e+02 6.66629e+02 1.33326e+02 1.24993e+02 1.16660e+02 + 1.08327e+02 9.99944e+01 9.16615e+01 8.33287e+01 7.49958e+01 6.66629e+01 + 5.83301e+01 4.99972e+01 4.16643e+01 3.33315e+01 2.49986e+01 1.66657e+01 + 8.33287e+00 0.00000e+00 + -118.3318 33.9518 13.4984 -56 89 1.00000e+10 2.1879 1.00000e-01 + 180 228.66 20 0.00 0 0.00 0 + 0.00000e+00 3.57279e+02 7.14559e+02 1.42912e+02 1.33980e+02 1.25048e+02 + 1.16116e+02 1.07184e+02 9.82518e+01 8.93198e+01 8.03878e+01 7.14559e+01 + 6.25239e+01 5.35919e+01 4.46599e+01 3.57279e+01 2.67959e+01 1.78640e+01 + 8.93198e+00 0.00000e+00 + -118.3408 33.9568 13.4984 -56 89 1.00000e+10 1.8517 1.00000e-01 + 180 226.56 20 0.00 0 0.00 0 + 0.00000e+00 3.54001e+02 7.08003e+02 1.41601e+02 1.32751e+02 1.23901e+02 + 1.15050e+02 1.06200e+02 9.73504e+01 8.85004e+01 7.96503e+01 7.08003e+01 + 6.19503e+01 5.31002e+01 4.42502e+01 3.54001e+01 2.65501e+01 1.77001e+01 + 8.85004e+00 0.00000e+00 + -118.3486 33.9625 13.4984 -42 89 1.00000e+10 1.5186 1.00000e-01 + 180 224.78 20 0.00 0 0.00 0 + 0.00000e+00 3.51220e+02 7.02441e+02 1.40488e+02 1.31708e+02 1.22927e+02 + 1.14147e+02 1.05366e+02 9.65856e+01 8.78051e+01 7.90246e+01 7.02441e+01 + 6.14636e+01 5.26831e+01 4.39025e+01 3.51220e+01 2.63415e+01 1.75610e+01 + 8.78051e+00 0.00000e+00 + -118.3532 33.9700 13.4984 -12 89 1.00000e+10 1.2271 1.00000e-01 + 180 186.69 20 0.00 0 0.00 0 + 0.00000e+00 2.91697e+02 5.83394e+02 1.16679e+02 1.09386e+02 1.02094e+02 + 9.48015e+01 8.75090e+01 8.02166e+01 7.29242e+01 6.56318e+01 5.83394e+01 + 5.10469e+01 4.37545e+01 3.64621e+01 2.91697e+01 2.18773e+01 1.45848e+01 + 7.29242e+00 0.00000e+00 + -118.3555 33.9788 13.4984 -12 89 1.00000e+10 0.9385 1.00000e-01 + 180 156.27 20 0.00 0 0.00 0 + 0.00000e+00 2.44175e+02 4.88351e+02 9.76702e+01 9.15658e+01 8.54614e+01 + 7.93570e+01 7.32526e+01 6.71482e+01 6.10438e+01 5.49395e+01 4.88351e+01 + 4.27307e+01 3.66263e+01 3.05219e+01 2.44175e+01 1.83132e+01 1.22088e+01 + 6.10438e+00 0.00000e+00 + -118.3581 33.9875 13.4984 -15 89 1.00000e+10 0.6351 1.00000e-01 + 180 163.24 20 0.00 0 0.00 0 + 0.00000e+00 2.55068e+02 5.10136e+02 1.02027e+02 9.56504e+01 8.92737e+01 + 8.28971e+01 7.65204e+01 7.01437e+01 6.37670e+01 5.73903e+01 5.10136e+01 + 4.46369e+01 3.82602e+01 3.18835e+01 2.55068e+01 1.91301e+01 1.27534e+01 + 6.37670e+00 0.00000e+00 + -118.3616 33.9960 13.4984 -23 89 1.00000e+10 0.3815 1.00000e-01 + 180 174.84 20 0.00 0 0.00 0 + 0.00000e+00 2.73183e+02 5.46365e+02 1.09273e+02 1.02443e+02 9.56139e+01 + 8.87843e+01 8.19548e+01 7.51252e+01 6.82956e+01 6.14661e+01 5.46365e+01 + 4.78069e+01 4.09774e+01 3.41478e+01 2.73183e+01 2.04887e+01 1.36591e+01 + 6.82956e+00 0.00000e+00 + -118.3659 34.0043 13.4984 -24 89 1.00000e+10 0.3265 1.00000e-01 + 180 124.27 20 0.00 0 0.00 0 + 0.00000e+00 1.94170e+02 3.88341e+02 7.76681e+01 7.28139e+01 6.79596e+01 + 6.31053e+01 5.82511e+01 5.33968e+01 4.85426e+01 4.36883e+01 3.88341e+01 + 3.39798e+01 2.91255e+01 2.42713e+01 1.94170e+01 1.45628e+01 9.70851e+00 + 4.85426e+00 0.00000e+00 + -118.3703 34.0125 13.4984 -24 89 1.00000e+10 0.4888 1.00000e-01 + 180 66.59 20 0.00 0 0.00 0 + 0.00000e+00 1.04046e+02 2.08093e+02 4.16186e+01 3.90174e+01 3.64163e+01 + 3.38151e+01 3.12140e+01 2.86128e+01 2.60116e+01 2.34105e+01 2.08093e+01 + 1.82081e+01 1.56070e+01 1.30058e+01 1.04046e+01 7.80349e+00 5.20232e+00 + 2.60116e+00 0.00000e+00 + -118.3748 34.0207 13.4984 -24 89 1.00000e+10 0.7519 1.00000e-01 + 180 45.39 20 0.00 0 0.00 0 + 0.00000e+00 7.09178e+01 1.41836e+02 2.83671e+01 2.65942e+01 2.48212e+01 + 2.30483e+01 2.12754e+01 1.95024e+01 1.77295e+01 1.59565e+01 1.41836e+01 + 1.24106e+01 1.06377e+01 8.86473e+00 7.09178e+00 5.31884e+00 3.54589e+00 + 1.77295e+00 0.00000e+00 + -118.3792 34.0289 13.4984 -24 89 1.00000e+10 1.0729 1.00000e-01 + 180 20.65 20 0.00 0 0.00 0 + 0.00000e+00 3.22620e+01 6.45241e+01 1.29048e+01 1.20983e+01 1.12917e+01 + 1.04852e+01 9.67861e+00 8.87206e+00 8.06551e+00 7.25896e+00 6.45241e+00 + 5.64586e+00 4.83931e+00 4.03275e+00 3.22620e+00 2.41965e+00 1.61310e+00 + 8.06551e-01 0.00000e+00 + -117.3552 33.0615 14.4982 -33 89 1.00000e+10 49.5728 1.00000e-01 + 180 16.52 20 0.00 0 0.00 0 + 0.00000e+00 2.58073e+01 5.16146e+01 1.03229e+01 9.67773e+00 9.03255e+00 + 8.38737e+00 7.74218e+00 7.09700e+00 6.45182e+00 5.80664e+00 5.16146e+00 + 4.51627e+00 3.87109e+00 3.22591e+00 2.58073e+00 1.93555e+00 1.29036e+00 + 6.45182e-01 0.00000e+00 + -117.3610 33.0690 14.4982 -33 89 1.00000e+10 49.2027 1.00000e-01 + 180 39.66 20 0.00 0 0.00 0 + 0.00000e+00 6.19747e+01 1.23949e+02 2.47899e+01 2.32405e+01 2.16911e+01 + 2.01418e+01 1.85924e+01 1.70430e+01 1.54937e+01 1.39443e+01 1.23949e+01 + 1.08456e+01 9.29621e+00 7.74684e+00 6.19747e+00 4.64810e+00 3.09874e+00 + 1.54937e+00 0.00000e+00 + -117.3669 33.0766 14.4982 -33 89 1.00000e+10 48.8301 1.00000e-01 + 180 65.28 20 0.00 0 0.00 0 + 0.00000e+00 1.02003e+02 2.04006e+02 4.08012e+01 3.82511e+01 3.57010e+01 + 3.31510e+01 3.06009e+01 2.80508e+01 2.55007e+01 2.29507e+01 2.04006e+01 + 1.78505e+01 1.53004e+01 1.27504e+01 1.02003e+01 7.65022e+00 5.10015e+00 + 2.55007e+00 0.00000e+00 + -117.3729 33.0840 14.4982 -36 89 1.00000e+10 48.4769 1.00000e-01 + 180 71.36 20 0.00 0 0.00 0 + 0.00000e+00 1.11493e+02 2.22985e+02 4.45970e+01 4.18097e+01 3.90224e+01 + 3.62351e+01 3.34478e+01 3.06605e+01 2.78731e+01 2.50858e+01 2.22985e+01 + 1.95112e+01 1.67239e+01 1.39366e+01 1.11493e+01 8.36194e+00 5.57463e+00 + 2.78731e+00 0.00000e+00 + -117.3804 33.0902 14.4982 -55 89 1.00000e+10 48.1530 1.00000e-01 + 180 47.92 20 0.00 0 0.00 0 + 0.00000e+00 7.48757e+01 1.49751e+02 2.99503e+01 2.80784e+01 2.62065e+01 + 2.43346e+01 2.24627e+01 2.05908e+01 1.87189e+01 1.68470e+01 1.49751e+01 + 1.31032e+01 1.12313e+01 9.35946e+00 7.48757e+00 5.61567e+00 3.74378e+00 + 1.87189e+00 0.00000e+00 + -117.3892 33.0954 14.4982 -55 89 1.00000e+10 47.8211 1.00000e-01 + 180 32.55 20 0.00 0 0.00 0 + 0.00000e+00 5.08629e+01 1.01726e+02 2.03451e+01 1.90736e+01 1.78020e+01 + 1.65304e+01 1.52589e+01 1.39873e+01 1.27157e+01 1.14441e+01 1.01726e+01 + 8.90100e+00 7.62943e+00 6.35786e+00 5.08629e+00 3.81472e+00 2.54314e+00 + 1.27157e+00 0.00000e+00 + -117.3976 33.1009 14.4982 -48 89 1.00000e+10 47.4925 1.00000e-01 + 180 13.82 20 0.00 0 0.00 0 + 0.00000e+00 2.15905e+01 4.31811e+01 8.63621e+00 8.09645e+00 7.55669e+00 + 7.01692e+00 6.47716e+00 5.93740e+00 5.39763e+00 4.85787e+00 4.31811e+00 + 3.77834e+00 3.23858e+00 2.69882e+00 2.15905e+00 1.61929e+00 1.07953e+00 + 5.39763e-01 0.00000e+00 + -117.4056 33.1070 14.4982 -47 89 1.00000e+10 47.1228 1.00000e-01 + 180 36.53 20 0.00 0 0.00 0 + 0.00000e+00 5.70807e+01 1.14161e+02 2.28323e+01 2.14052e+01 1.99782e+01 + 1.85512e+01 1.71242e+01 1.56972e+01 1.42702e+01 1.28431e+01 1.14161e+01 + 9.98911e+00 8.56210e+00 7.13508e+00 5.70807e+00 4.28105e+00 2.85403e+00 + 1.42702e+00 0.00000e+00 + -117.4127 33.1137 14.4982 -36 89 1.00000e+10 46.7943 1.00000e-01 + 180 17.68 20 0.00 0 0.00 0 + 0.00000e+00 2.76283e+01 5.52567e+01 1.10513e+01 1.03606e+01 9.66991e+00 + 8.97921e+00 8.28850e+00 7.59779e+00 6.90708e+00 6.21637e+00 5.52567e+00 + 4.83496e+00 4.14425e+00 3.45354e+00 2.76283e+00 2.07212e+00 1.38142e+00 + 6.90708e-01 0.00000e+00 + -117.4187 33.1210 14.4982 -33 89 1.00000e+10 46.4647 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4223 33.1292 14.4982 -8 89 1.00000e+10 46.1175 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4239 33.1381 14.4982 -8 89 1.00000e+10 45.7703 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4254 33.1470 14.4982 -8 89 1.00000e+10 45.4232 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4279 33.1556 14.4982 -20 89 1.00000e+10 45.0760 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4330 33.1632 14.4982 -39 89 1.00000e+10 44.7289 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4397 33.1702 14.4982 -39 89 1.00000e+10 44.3817 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4465 33.1773 14.4982 -39 89 1.00000e+10 44.0345 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4532 33.1843 14.4982 -39 89 1.00000e+10 43.6252 1.00000e-01 + 180 62.73 20 0.00 0 0.00 0 + 0.00000e+00 9.80186e+01 1.96037e+02 3.92074e+01 3.67570e+01 3.43065e+01 + 3.18561e+01 2.94056e+01 2.69551e+01 2.45047e+01 2.20542e+01 1.96037e+01 + 1.71533e+01 1.47028e+01 1.22523e+01 9.80186e+00 7.35140e+00 4.90093e+00 + 2.45047e+00 0.00000e+00 + -117.4599 33.1913 14.4982 -39 89 1.00000e+10 43.2130 1.00000e-01 + 180 128.43 20 0.00 0 0.00 0 + 0.00000e+00 2.00677e+02 4.01354e+02 8.02708e+01 7.52538e+01 7.02369e+01 + 6.52200e+01 6.02031e+01 5.51861e+01 5.01692e+01 4.51523e+01 4.01354e+01 + 3.51185e+01 3.01015e+01 2.50846e+01 2.00677e+01 1.50508e+01 1.00338e+01 + 5.01692e+00 0.00000e+00 + -117.4666 33.1983 14.4982 -39 89 1.00000e+10 42.7678 1.00000e-01 + 180 227.31 20 0.00 0 0.00 0 + 0.00000e+00 3.55173e+02 7.10346e+02 1.42069e+02 1.33190e+02 1.24311e+02 + 1.15431e+02 1.06552e+02 9.76726e+01 8.87933e+01 7.99139e+01 7.10346e+01 + 6.21553e+01 5.32760e+01 4.43966e+01 3.55173e+01 2.66380e+01 1.77587e+01 + 8.87933e+00 0.00000e+00 + -117.4734 33.2053 14.4982 -39 89 1.00000e+10 42.3841 1.00000e-01 + 180 264.15 20 0.00 0 0.00 0 + 0.00000e+00 4.12727e+02 8.25455e+02 1.65091e+02 1.54773e+02 1.44455e+02 + 1.34136e+02 1.23818e+02 1.13500e+02 1.03182e+02 9.28637e+01 8.25455e+01 + 7.22273e+01 6.19091e+01 5.15909e+01 4.12727e+01 3.09546e+01 2.06364e+01 + 1.03182e+01 0.00000e+00 + -117.4801 33.2124 14.4982 -39 89 1.00000e+10 42.0562 1.00000e-01 + 180 244.80 20 0.00 0 0.00 0 + 0.00000e+00 3.82495e+02 7.64990e+02 1.52998e+02 1.43436e+02 1.33873e+02 + 1.24311e+02 1.14748e+02 1.05186e+02 9.56237e+01 8.60614e+01 7.64990e+01 + 6.69366e+01 5.73742e+01 4.78119e+01 3.82495e+01 2.86871e+01 1.91247e+01 + 9.56237e+00 0.00000e+00 + -117.4877 33.2187 14.4982 -51 89 1.00000e+10 41.7070 1.00000e-01 + 180 246.86 20 0.00 0 0.00 0 + 0.00000e+00 3.85717e+02 7.71433e+02 1.54287e+02 1.44644e+02 1.35001e+02 + 1.25358e+02 1.15715e+02 1.06072e+02 9.64291e+01 8.67862e+01 7.71433e+01 + 6.75004e+01 5.78575e+01 4.82146e+01 3.85717e+01 2.89287e+01 1.92858e+01 + 9.64291e+00 0.00000e+00 + -117.4962 33.2240 14.4982 -55 89 1.00000e+10 41.3443 1.00000e-01 + 180 262.53 20 0.00 0 0.00 0 + 0.00000e+00 4.10205e+02 8.20409e+02 1.64082e+02 1.53827e+02 1.43572e+02 + 1.33317e+02 1.23061e+02 1.12806e+02 1.02551e+02 9.22961e+01 8.20409e+01 + 7.17858e+01 6.15307e+01 5.12756e+01 4.10205e+01 3.07654e+01 2.05102e+01 + 1.02551e+01 0.00000e+00 + -117.5051 33.2292 14.4982 -55 89 1.00000e+10 40.9808 1.00000e-01 + 180 279.07 20 0.00 0 0.00 0 + 0.00000e+00 4.36053e+02 8.72107e+02 1.74421e+02 1.63520e+02 1.52619e+02 + 1.41717e+02 1.30816e+02 1.19915e+02 1.09013e+02 9.81120e+01 8.72107e+01 + 7.63093e+01 6.54080e+01 5.45067e+01 4.36053e+01 3.27040e+01 2.18027e+01 + 1.09013e+01 0.00000e+00 + -117.5139 33.2343 14.4982 -55 89 1.00000e+10 40.5979 1.00000e-01 + 180 315.06 20 0.00 0 0.00 0 + 0.00000e+00 4.92284e+02 9.84568e+02 1.96914e+02 1.84606e+02 1.72299e+02 + 1.59992e+02 1.47685e+02 1.35378e+02 1.23071e+02 1.10764e+02 9.84568e+01 + 8.61497e+01 7.38426e+01 6.15355e+01 4.92284e+01 3.69213e+01 2.46142e+01 + 1.23071e+01 0.00000e+00 + -117.5227 33.2395 14.4982 -55 89 1.00000e+10 40.2230 1.00000e-01 + 180 343.13 20 0.00 0 0.00 0 + 0.00000e+00 5.36147e+02 1.07229e+03 2.14459e+02 2.01055e+02 1.87651e+02 + 1.74248e+02 1.60844e+02 1.47440e+02 1.34037e+02 1.20633e+02 1.07229e+02 + 9.38257e+01 8.04220e+01 6.70183e+01 5.36147e+01 4.02110e+01 2.68073e+01 + 1.34037e+01 0.00000e+00 + -117.5315 33.2446 14.4982 -55 89 1.00000e+10 39.8916 1.00000e-01 + 180 327.22 20 0.00 0 0.00 0 + 0.00000e+00 5.11280e+02 1.02256e+03 2.04512e+02 1.91730e+02 1.78948e+02 + 1.66166e+02 1.53384e+02 1.40602e+02 1.27820e+02 1.15038e+02 1.02256e+02 + 8.94740e+01 7.66920e+01 6.39100e+01 5.11280e+01 3.83460e+01 2.55640e+01 + 1.27820e+01 0.00000e+00 + -117.5404 33.2498 14.4982 -55 89 1.00000e+10 39.5130 1.00000e-01 + 180 359.02 20 0.00 0 0.00 0 + 0.00000e+00 5.60968e+02 1.12194e+03 2.24387e+02 2.10363e+02 1.96339e+02 + 1.82315e+02 1.68290e+02 1.54266e+02 1.40242e+02 1.26218e+02 1.12194e+02 + 9.81694e+01 8.41452e+01 7.01210e+01 5.60968e+01 4.20726e+01 2.80484e+01 + 1.40242e+01 0.00000e+00 + -117.5482 33.2558 14.4982 -39 89 1.00000e+10 39.1647 1.00000e-01 + 180 360.16 20 0.00 0 0.00 0 + 0.00000e+00 5.62747e+02 1.12549e+03 2.25099e+02 2.11030e+02 1.96961e+02 + 1.82893e+02 1.68824e+02 1.54755e+02 1.40687e+02 1.26618e+02 1.12549e+02 + 9.84806e+01 8.44120e+01 7.03433e+01 5.62747e+01 4.22060e+01 2.81373e+01 + 1.40687e+01 0.00000e+00 + -117.5548 33.2629 14.4982 -38 89 1.00000e+10 38.8629 1.00000e-01 + 180 314.44 20 0.00 0 0.00 0 + 0.00000e+00 4.91320e+02 9.82639e+02 1.96528e+02 1.84245e+02 1.71962e+02 + 1.59679e+02 1.47396e+02 1.35113e+02 1.22830e+02 1.10547e+02 9.82639e+01 + 8.59809e+01 7.36979e+01 6.14150e+01 4.91320e+01 3.68490e+01 2.45660e+01 + 1.22830e+01 0.00000e+00 + -117.5615 33.2700 14.4982 -38 89 1.00000e+10 38.5326 1.00000e-01 + 180 297.46 20 0.00 0 0.00 0 + 0.00000e+00 4.64778e+02 9.29555e+02 1.85911e+02 1.74292e+02 1.62672e+02 + 1.51053e+02 1.39433e+02 1.27814e+02 1.16194e+02 1.04575e+02 9.29555e+01 + 8.13361e+01 6.97167e+01 5.80972e+01 4.64778e+01 3.48583e+01 2.32389e+01 + 1.16194e+01 0.00000e+00 + -117.5681 33.2771 14.4982 -38 89 1.00000e+10 38.2267 1.00000e-01 + 180 255.80 20 0.00 0 0.00 0 + 0.00000e+00 3.99695e+02 7.99390e+02 1.59878e+02 1.49886e+02 1.39893e+02 + 1.29901e+02 1.19908e+02 1.09916e+02 9.99237e+01 8.99313e+01 7.99390e+01 + 6.99466e+01 5.99542e+01 4.99618e+01 3.99695e+01 2.99771e+01 1.99847e+01 + 9.99237e+00 0.00000e+00 + -117.5747 33.2842 14.4982 -38 89 1.00000e+10 37.9325 1.00000e-01 + 180 202.36 20 0.00 0 0.00 0 + 0.00000e+00 3.16182e+02 6.32363e+02 1.26473e+02 1.18568e+02 1.10664e+02 + 1.02759e+02 9.48545e+01 8.69500e+01 7.90454e+01 7.11409e+01 6.32363e+01 + 5.53318e+01 4.74273e+01 3.95227e+01 3.16182e+01 2.37136e+01 1.58091e+01 + 7.90454e+00 0.00000e+00 + -117.5813 33.2913 14.4982 -38 89 1.00000e+10 37.6642 1.00000e-01 + 180 122.90 20 0.00 0 0.00 0 + 0.00000e+00 1.92032e+02 3.84063e+02 7.68127e+01 7.20119e+01 6.72111e+01 + 6.24103e+01 5.76095e+01 5.28087e+01 4.80079e+01 4.32071e+01 3.84063e+01 + 3.36055e+01 2.88047e+01 2.40040e+01 1.92032e+01 1.44024e+01 9.60158e+00 + 4.80079e+00 0.00000e+00 + -117.5879 33.2984 14.4982 -38 89 1.00000e+10 37.3528 1.00000e-01 + 180 86.82 20 0.00 0 0.00 0 + 0.00000e+00 1.35664e+02 2.71327e+02 5.42655e+01 5.08739e+01 4.74823e+01 + 4.40907e+01 4.06991e+01 3.73075e+01 3.39159e+01 3.05243e+01 2.71327e+01 + 2.37411e+01 2.03496e+01 1.69580e+01 1.35664e+01 1.01748e+01 6.78318e+00 + 3.39159e+00 0.00000e+00 + -117.5946 33.3055 14.4982 -38 89 1.00000e+10 37.0223 1.00000e-01 + 180 69.99 20 0.00 0 0.00 0 + 0.00000e+00 1.09363e+02 2.18726e+02 4.37451e+01 4.10111e+01 3.82770e+01 + 3.55429e+01 3.28089e+01 3.00748e+01 2.73407e+01 2.46066e+01 2.18726e+01 + 1.91385e+01 1.64044e+01 1.36704e+01 1.09363e+01 8.20222e+00 5.46814e+00 + 2.73407e+00 0.00000e+00 + -117.6012 33.3126 14.4982 -38 89 1.00000e+10 36.6694 1.00000e-01 + 180 75.82 20 0.00 0 0.00 0 + 0.00000e+00 1.18464e+02 2.36928e+02 4.73856e+01 4.44240e+01 4.14624e+01 + 3.85008e+01 3.55392e+01 3.25776e+01 2.96160e+01 2.66544e+01 2.36928e+01 + 2.07312e+01 1.77696e+01 1.48080e+01 1.18464e+01 8.88480e+00 5.92320e+00 + 2.96160e+00 0.00000e+00 + -117.6078 33.3196 14.4982 -38 89 1.00000e+10 36.3027 1.00000e-01 + 180 95.56 20 0.00 0 0.00 0 + 0.00000e+00 1.49315e+02 2.98630e+02 5.97260e+01 5.59931e+01 5.22602e+01 + 4.85274e+01 4.47945e+01 4.10616e+01 3.73287e+01 3.35959e+01 2.98630e+01 + 2.61301e+01 2.23972e+01 1.86644e+01 1.49315e+01 1.11986e+01 7.46575e+00 + 3.73287e+00 0.00000e+00 + -117.6144 33.3267 14.4982 -38 89 1.00000e+10 35.9311 1.00000e-01 + 180 120.27 20 0.00 0 0.00 0 + 0.00000e+00 1.87923e+02 3.75846e+02 7.51692e+01 7.04712e+01 6.57731e+01 + 6.10750e+01 5.63769e+01 5.16789e+01 4.69808e+01 4.22827e+01 3.75846e+01 + 3.28865e+01 2.81885e+01 2.34904e+01 1.87923e+01 1.40942e+01 9.39615e+00 + 4.69808e+00 0.00000e+00 + -117.6210 33.3338 14.4982 -38 89 1.00000e+10 35.5294 1.00000e-01 + 180 175.32 20 0.00 0 0.00 0 + 0.00000e+00 2.73938e+02 5.47877e+02 1.09575e+02 1.02727e+02 9.58784e+01 + 8.90300e+01 8.21815e+01 7.53330e+01 6.84846e+01 6.16361e+01 5.47877e+01 + 4.79392e+01 4.10908e+01 3.42423e+01 2.73938e+01 2.05454e+01 1.36969e+01 + 6.84846e+00 0.00000e+00 + -117.6277 33.3409 14.4982 -38 89 1.00000e+10 35.1451 1.00000e-01 + 180 212.88 20 0.00 0 0.00 0 + 0.00000e+00 3.32630e+02 6.65260e+02 1.33052e+02 1.24736e+02 1.16421e+02 + 1.08105e+02 9.97891e+01 9.14733e+01 8.31576e+01 7.48418e+01 6.65260e+01 + 5.82103e+01 4.98945e+01 4.15788e+01 3.32630e+01 2.49473e+01 1.66315e+01 + 8.31576e+00 0.00000e+00 + -117.6343 33.3480 14.4982 -38 89 1.00000e+10 34.7518 1.00000e-01 + 180 259.46 20 0.00 0 0.00 0 + 0.00000e+00 4.05411e+02 8.10821e+02 1.62164e+02 1.52029e+02 1.41894e+02 + 1.31758e+02 1.21623e+02 1.11488e+02 1.01353e+02 9.12174e+01 8.10821e+01 + 7.09469e+01 6.08116e+01 5.06763e+01 4.05411e+01 3.04058e+01 2.02705e+01 + 1.01353e+01 0.00000e+00 + -117.6409 33.3551 14.4982 -38 89 1.00000e+10 34.3936 1.00000e-01 + 180 270.71 20 0.00 0 0.00 0 + 0.00000e+00 4.22977e+02 8.45953e+02 1.69191e+02 1.58616e+02 1.48042e+02 + 1.37467e+02 1.26893e+02 1.16319e+02 1.05744e+02 9.51697e+01 8.45953e+01 + 7.40209e+01 6.34465e+01 5.28721e+01 4.22977e+01 3.17232e+01 2.11488e+01 + 1.05744e+01 0.00000e+00 + -117.6475 33.3622 14.4982 -38 89 1.00000e+10 34.0756 1.00000e-01 + 180 241.33 20 0.00 0 0.00 0 + 0.00000e+00 3.77077e+02 7.54154e+02 1.50831e+02 1.41404e+02 1.31977e+02 + 1.22550e+02 1.13123e+02 1.03696e+02 9.42692e+01 8.48423e+01 7.54154e+01 + 6.59884e+01 5.65615e+01 4.71346e+01 3.77077e+01 2.82808e+01 1.88538e+01 + 9.42692e+00 0.00000e+00 + -117.6542 33.3693 14.4982 -38 89 1.00000e+10 33.7972 1.00000e-01 + 180 171.94 20 0.00 0 0.00 0 + 0.00000e+00 2.68661e+02 5.37321e+02 1.07464e+02 1.00748e+02 9.40312e+01 + 8.73147e+01 8.05982e+01 7.38817e+01 6.71651e+01 6.04486e+01 5.37321e+01 + 4.70156e+01 4.02991e+01 3.35826e+01 2.68661e+01 2.01495e+01 1.34330e+01 + 6.71651e+00 0.00000e+00 + -117.6608 33.3764 14.4982 -38 89 1.00000e+10 33.5575 1.00000e-01 + 180 63.62 20 0.00 0 0.00 0 + 0.00000e+00 9.94001e+01 1.98800e+02 3.97600e+01 3.72750e+01 3.47900e+01 + 3.23050e+01 2.98200e+01 2.73350e+01 2.48500e+01 2.23650e+01 1.98800e+01 + 1.73950e+01 1.49100e+01 1.24250e+01 9.94001e+00 7.45501e+00 4.97000e+00 + 2.48500e+00 0.00000e+00 + -117.6674 33.3835 14.4982 -38 89 1.00000e+10 33.2295 1.00000e-01 + 180 44.30 20 0.00 0 0.00 0 + 0.00000e+00 6.92172e+01 1.38434e+02 2.76869e+01 2.59565e+01 2.42260e+01 + 2.24956e+01 2.07652e+01 1.90347e+01 1.73043e+01 1.55739e+01 1.38434e+01 + 1.21130e+01 1.03826e+01 8.65215e+00 6.92172e+00 5.19129e+00 3.46086e+00 + 1.73043e+00 0.00000e+00 + -117.6741 33.3906 14.4982 -38 89 1.00000e+10 32.9218 1.00000e-01 + 180 4.57 20 0.00 0 0.00 0 + 0.00000e+00 7.14415e+00 1.42883e+01 2.85766e+00 2.67906e+00 2.50045e+00 + 2.32185e+00 2.14324e+00 1.96464e+00 1.78604e+00 1.60743e+00 1.42883e+00 + 1.25023e+00 1.07162e+00 8.93019e-01 7.14415e-01 5.35811e-01 3.57207e-01 + 1.78604e-01 0.00000e+00 + -117.6807 33.3977 14.4982 -38 89 1.00000e+10 32.5792 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6875 33.4047 14.4982 -40 89 1.00000e+10 32.2321 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6945 33.4115 14.4982 -41 89 1.00000e+10 31.8742 1.00000e-01 + 180 10.91 20 0.00 0 0.00 0 + 0.00000e+00 1.70416e+01 3.40831e+01 6.81663e+00 6.39059e+00 5.96455e+00 + 5.53851e+00 5.11247e+00 4.68643e+00 4.26039e+00 3.83435e+00 3.40831e+00 + 2.98227e+00 2.55624e+00 2.13020e+00 1.70416e+00 1.27812e+00 8.52078e-01 + 4.26039e-01 0.00000e+00 + -117.7016 33.4183 14.4982 -41 89 1.00000e+10 31.5353 1.00000e-01 + 180 2.68 20 0.00 0 0.00 0 + 0.00000e+00 4.19336e+00 8.38671e+00 1.67734e+00 1.57251e+00 1.46767e+00 + 1.36284e+00 1.25801e+00 1.15317e+00 1.04834e+00 9.43505e-01 8.38671e-01 + 7.33837e-01 6.29003e-01 5.24169e-01 4.19336e-01 3.14502e-01 2.09668e-01 + 1.04834e-01 0.00000e+00 + -117.7087 33.4251 14.4982 -41 89 1.00000e+10 31.1572 1.00000e-01 + 180 33.94 20 0.00 0 0.00 0 + 0.00000e+00 5.30291e+01 1.06058e+02 2.12116e+01 1.98859e+01 1.85602e+01 + 1.72344e+01 1.59087e+01 1.45830e+01 1.32573e+01 1.19315e+01 1.06058e+01 + 9.28009e+00 7.95436e+00 6.62863e+00 5.30291e+00 3.97718e+00 2.65145e+00 + 1.32573e+00 0.00000e+00 + -117.7158 33.4319 14.4982 -41 89 1.00000e+10 30.7473 1.00000e-01 + 180 97.36 20 0.00 0 0.00 0 + 0.00000e+00 1.52121e+02 3.04242e+02 6.08483e+01 5.70453e+01 5.32423e+01 + 4.94393e+01 4.56362e+01 4.18332e+01 3.80302e+01 3.42272e+01 3.04242e+01 + 2.66211e+01 2.28181e+01 1.90151e+01 1.52121e+01 1.14091e+01 7.60604e+00 + 3.80302e+00 0.00000e+00 + -117.7229 33.4386 14.4982 -41 89 1.00000e+10 30.3096 1.00000e-01 + 180 188.79 20 0.00 0 0.00 0 + 0.00000e+00 2.94992e+02 5.89984e+02 1.17997e+02 1.10622e+02 1.03247e+02 + 9.58724e+01 8.84976e+01 8.11228e+01 7.37480e+01 6.63732e+01 5.89984e+01 + 5.16236e+01 4.42488e+01 3.68740e+01 2.94992e+01 2.21244e+01 1.47496e+01 + 7.37480e+00 0.00000e+00 + -117.7300 33.4454 14.4982 -41 89 1.00000e+10 29.8677 1.00000e-01 + 180 284.40 20 0.00 0 0.00 0 + 0.00000e+00 4.44377e+02 8.88754e+02 1.77751e+02 1.66641e+02 1.55532e+02 + 1.44423e+02 1.33313e+02 1.22204e+02 1.11094e+02 9.99848e+01 8.88754e+01 + 7.77660e+01 6.66566e+01 5.55471e+01 4.44377e+01 3.33283e+01 2.22189e+01 + 1.11094e+01 0.00000e+00 + -117.7371 33.4522 14.4982 -41 89 1.00000e+10 29.4585 1.00000e-01 + 180 347.06 20 0.00 0 0.00 0 + 0.00000e+00 5.42289e+02 1.08458e+03 2.16916e+02 2.03358e+02 1.89801e+02 + 1.76244e+02 1.62687e+02 1.49129e+02 1.35572e+02 1.22015e+02 1.08458e+02 + 9.49005e+01 8.13433e+01 6.77861e+01 5.42289e+01 4.06717e+01 2.71144e+01 + 1.35572e+01 0.00000e+00 + -117.7442 33.4590 14.4982 -41 89 1.00000e+10 29.1512 1.00000e-01 + 180 306.94 20 0.00 0 0.00 0 + 0.00000e+00 4.79598e+02 9.59196e+02 1.91839e+02 1.79849e+02 1.67859e+02 + 1.55869e+02 1.43879e+02 1.31889e+02 1.19899e+02 1.07910e+02 9.59196e+01 + 8.39296e+01 7.19397e+01 5.99497e+01 4.79598e+01 3.59698e+01 2.39799e+01 + 1.19899e+01 0.00000e+00 + -117.7513 33.4657 14.4982 -41 89 1.00000e+10 28.8276 1.00000e-01 + 180 283.26 20 0.00 0 0.00 0 + 0.00000e+00 4.42592e+02 8.85184e+02 1.77037e+02 1.65972e+02 1.54907e+02 + 1.43842e+02 1.32778e+02 1.21713e+02 1.10648e+02 9.95832e+01 8.85184e+01 + 7.74536e+01 6.63888e+01 5.53240e+01 4.42592e+01 3.31944e+01 2.21296e+01 + 1.10648e+01 0.00000e+00 + -117.7584 33.4725 14.4982 -41 89 1.00000e+10 28.4768 1.00000e-01 + 180 287.06 20 0.00 0 0.00 0 + 0.00000e+00 4.48534e+02 8.97069e+02 1.79414e+02 1.68200e+02 1.56987e+02 + 1.45774e+02 1.34560e+02 1.23347e+02 1.12134e+02 1.00920e+02 8.97069e+01 + 7.84935e+01 6.72802e+01 5.60668e+01 4.48534e+01 3.36401e+01 2.24267e+01 + 1.12134e+01 0.00000e+00 + -117.7655 33.4793 14.4982 -41 89 1.00000e+10 28.1263 1.00000e-01 + 180 290.49 20 0.00 0 0.00 0 + 0.00000e+00 4.53898e+02 9.07795e+02 1.81559e+02 1.70212e+02 1.58864e+02 + 1.47517e+02 1.36169e+02 1.24822e+02 1.13474e+02 1.02127e+02 9.07795e+01 + 7.94321e+01 6.80847e+01 5.67372e+01 4.53898e+01 3.40423e+01 2.26949e+01 + 1.13474e+01 0.00000e+00 + -117.7726 33.4861 14.4982 -41 89 1.00000e+10 27.7428 1.00000e-01 + 180 327.28 20 0.00 0 0.00 0 + 0.00000e+00 5.11380e+02 1.02276e+03 2.04552e+02 1.91768e+02 1.78983e+02 + 1.66199e+02 1.53414e+02 1.40630e+02 1.27845e+02 1.15061e+02 1.02276e+02 + 8.94916e+01 7.67071e+01 6.39226e+01 5.11380e+01 3.83535e+01 2.55690e+01 + 1.27845e+01 0.00000e+00 + -117.7797 33.4928 14.4982 -41 89 1.00000e+10 27.3823 1.00000e-01 + 180 340.88 20 0.00 0 0.00 0 + 0.00000e+00 5.32624e+02 1.06525e+03 2.13050e+02 1.99734e+02 1.86418e+02 + 1.73103e+02 1.59787e+02 1.46472e+02 1.33156e+02 1.19840e+02 1.06525e+02 + 9.32092e+01 7.98936e+01 6.65780e+01 5.32624e+01 3.99468e+01 2.66312e+01 + 1.33156e+01 0.00000e+00 + -117.7868 33.4996 14.4982 -41 89 1.00000e+10 27.0596 1.00000e-01 + 180 316.26 20 0.00 0 0.00 0 + 0.00000e+00 4.94150e+02 9.88299e+02 1.97660e+02 1.85306e+02 1.72952e+02 + 1.60599e+02 1.48245e+02 1.35891e+02 1.23537e+02 1.11184e+02 9.88299e+01 + 8.64762e+01 7.41225e+01 6.17687e+01 4.94150e+01 3.70612e+01 2.47075e+01 + 1.23537e+01 0.00000e+00 + -117.7940 33.5063 14.4982 -42 89 1.00000e+10 26.6804 1.00000e-01 + 180 348.78 20 0.00 0 0.00 0 + 0.00000e+00 5.44975e+02 1.08995e+03 2.17990e+02 2.04366e+02 1.90741e+02 + 1.77117e+02 1.63493e+02 1.49868e+02 1.36244e+02 1.22619e+02 1.08995e+02 + 9.53707e+01 8.17463e+01 6.81219e+01 5.44975e+01 4.08731e+01 2.72488e+01 + 1.36244e+01 0.00000e+00 + -117.8016 33.5126 14.4982 -49 89 1.00000e+10 26.4123 1.00000e-01 + 180 269.06 20 0.00 0 0.00 0 + 0.00000e+00 4.20399e+02 8.40799e+02 1.68160e+02 1.57650e+02 1.47140e+02 + 1.36630e+02 1.26120e+02 1.15610e+02 1.05100e+02 9.45899e+01 8.40799e+01 + 7.35699e+01 6.30599e+01 5.25499e+01 4.20399e+01 3.15300e+01 2.10200e+01 + 1.05100e+01 0.00000e+00 + -117.8098 33.5185 14.4982 -49 89 1.00000e+10 26.1434 1.00000e-01 + 180 190.20 20 0.00 0 0.00 0 + 0.00000e+00 2.97182e+02 5.94363e+02 1.18873e+02 1.11443e+02 1.04014e+02 + 9.65840e+01 8.91545e+01 8.17249e+01 7.42954e+01 6.68659e+01 5.94363e+01 + 5.20068e+01 4.45772e+01 3.71477e+01 2.97182e+01 2.22886e+01 1.48591e+01 + 7.42954e+00 0.00000e+00 + -117.8180 33.5244 14.4982 -49 89 1.00000e+10 25.8373 1.00000e-01 + 180 148.97 20 0.00 0 0.00 0 + 0.00000e+00 2.32773e+02 4.65546e+02 9.31091e+01 8.72898e+01 8.14705e+01 + 7.56512e+01 6.98318e+01 6.40125e+01 5.81932e+01 5.23739e+01 4.65546e+01 + 4.07352e+01 3.49159e+01 2.90966e+01 2.32773e+01 1.74580e+01 1.16386e+01 + 5.81932e+00 0.00000e+00 + -117.8262 33.5303 14.4982 -49 89 1.00000e+10 25.5783 1.00000e-01 + 180 60.14 20 0.00 0 0.00 0 + 0.00000e+00 9.39622e+01 1.87924e+02 3.75849e+01 3.52358e+01 3.28868e+01 + 3.05377e+01 2.81886e+01 2.58396e+01 2.34905e+01 2.11415e+01 1.87924e+01 + 1.64434e+01 1.40943e+01 1.17453e+01 9.39622e+00 7.04716e+00 4.69811e+00 + 2.34905e+00 0.00000e+00 + -117.8344 33.5361 14.4982 -49 89 1.00000e+10 25.2651 1.00000e-01 + 180 25.99 20 0.00 0 0.00 0 + 0.00000e+00 4.06103e+01 8.12206e+01 1.62441e+01 1.52289e+01 1.42136e+01 + 1.31984e+01 1.21831e+01 1.11678e+01 1.01526e+01 9.13732e+00 8.12206e+00 + 7.10681e+00 6.09155e+00 5.07629e+00 4.06103e+00 3.04577e+00 2.03052e+00 + 1.01526e+00 0.00000e+00 + -117.8425 33.5420 14.4982 -49 89 1.00000e+10 24.9438 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8507 33.5479 14.4982 -49 89 1.00000e+10 24.5968 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8589 33.5537 14.4982 -49 89 1.00000e+10 24.2498 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8671 33.5596 14.4982 -49 89 1.00000e+10 23.9028 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8753 33.5655 14.4982 -49 89 1.00000e+10 23.5558 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8835 33.5714 14.4982 -49 89 1.00000e+10 23.2068 1.00000e-01 + 180 2.12 20 0.00 0 0.00 0 + 0.00000e+00 3.31713e+00 6.63426e+00 1.32685e+00 1.24392e+00 1.16100e+00 + 1.07807e+00 9.95139e-01 9.12211e-01 8.29282e-01 7.46354e-01 6.63426e-01 + 5.80498e-01 4.97569e-01 4.14641e-01 3.31713e-01 2.48785e-01 1.65856e-01 + 8.29282e-02 0.00000e+00 + -117.8917 33.5772 14.4982 -49 89 1.00000e+10 22.8343 1.00000e-01 + 180 27.80 20 0.00 0 0.00 0 + 0.00000e+00 4.34445e+01 8.68889e+01 1.73778e+01 1.62917e+01 1.52056e+01 + 1.41194e+01 1.30333e+01 1.19472e+01 1.08611e+01 9.77500e+00 8.68889e+00 + 7.60278e+00 6.51667e+00 5.43056e+00 4.34445e+00 3.25833e+00 2.17222e+00 + 1.08611e+00 0.00000e+00 + -117.8998 33.5831 14.4982 -49 89 1.00000e+10 22.4595 1.00000e-01 + 180 55.96 20 0.00 0 0.00 0 + 0.00000e+00 8.74356e+01 1.74871e+02 3.49742e+01 3.27884e+01 3.06025e+01 + 2.84166e+01 2.62307e+01 2.40448e+01 2.18589e+01 1.96730e+01 1.74871e+01 + 1.53012e+01 1.31153e+01 1.09295e+01 8.74356e+00 6.55767e+00 4.37178e+00 + 2.18589e+00 0.00000e+00 + -117.9080 33.5890 14.4982 -49 89 1.00000e+10 22.0601 1.00000e-01 + 180 108.83 20 0.00 0 0.00 0 + 0.00000e+00 1.70046e+02 3.40091e+02 6.80182e+01 6.37671e+01 5.95159e+01 + 5.52648e+01 5.10137e+01 4.67625e+01 4.25114e+01 3.82602e+01 3.40091e+01 + 2.97580e+01 2.55068e+01 2.12557e+01 1.70046e+01 1.27534e+01 8.50228e+00 + 4.25114e+00 0.00000e+00 + -117.9154 33.5955 14.4982 -37 89 1.00000e+10 21.6152 1.00000e-01 + 180 207.69 20 0.00 0 0.00 0 + 0.00000e+00 3.24514e+02 6.49028e+02 1.29806e+02 1.21693e+02 1.13580e+02 + 1.05467e+02 9.73543e+01 8.92414e+01 8.11285e+01 7.30157e+01 6.49028e+01 + 5.67900e+01 4.86771e+01 4.05643e+01 3.24514e+01 2.43386e+01 1.62257e+01 + 8.11285e+00 0.00000e+00 + -117.9219 33.6026 14.4982 -37 89 1.00000e+10 21.2653 1.00000e-01 + 180 210.64 20 0.00 0 0.00 0 + 0.00000e+00 3.29125e+02 6.58251e+02 1.31650e+02 1.23422e+02 1.15194e+02 + 1.06966e+02 9.87376e+01 9.05095e+01 8.22814e+01 7.40532e+01 6.58251e+01 + 5.75970e+01 4.93688e+01 4.11407e+01 3.29125e+01 2.46844e+01 1.64563e+01 + 8.22814e+00 0.00000e+00 + -117.9284 33.6099 14.4982 -37 89 1.00000e+10 20.9620 1.00000e-01 + 180 166.65 20 0.00 0 0.00 0 + 0.00000e+00 2.60395e+02 5.20790e+02 1.04158e+02 9.76482e+01 9.11383e+01 + 8.46285e+01 7.81186e+01 7.16087e+01 6.50988e+01 5.85889e+01 5.20790e+01 + 4.55692e+01 3.90593e+01 3.25494e+01 2.60395e+01 1.95296e+01 1.30198e+01 + 6.50988e+00 0.00000e+00 + -117.9350 33.6170 14.4982 -38 89 1.00000e+10 20.6533 1.00000e-01 + 180 127.99 20 0.00 0 0.00 0 + 0.00000e+00 1.99987e+02 3.99974e+02 7.99947e+01 7.49950e+01 6.99954e+01 + 6.49957e+01 5.99960e+01 5.49964e+01 4.99967e+01 4.49970e+01 3.99974e+01 + 3.49977e+01 2.99980e+01 2.49983e+01 1.99987e+01 1.49990e+01 9.99934e+00 + 4.99967e+00 0.00000e+00 + -117.9417 33.6240 14.4982 -39 89 1.00000e+10 20.3480 1.00000e-01 + 180 86.07 20 0.00 0 0.00 0 + 0.00000e+00 1.34485e+02 2.68971e+02 5.37942e+01 5.04320e+01 4.70699e+01 + 4.37078e+01 4.03456e+01 3.69835e+01 3.36213e+01 3.02592e+01 2.68971e+01 + 2.35349e+01 2.01728e+01 1.68107e+01 1.34485e+01 1.00864e+01 6.72427e+00 + 3.36213e+00 0.00000e+00 + -117.9484 33.6311 14.4982 -39 89 1.00000e+10 20.0203 1.00000e-01 + 180 66.67 20 0.00 0 0.00 0 + 0.00000e+00 1.04178e+02 2.08357e+02 4.16714e+01 3.90669e+01 3.64625e+01 + 3.38580e+01 3.12536e+01 2.86491e+01 2.60446e+01 2.34402e+01 2.08357e+01 + 1.82312e+01 1.56268e+01 1.30223e+01 1.04178e+01 7.81339e+00 5.20892e+00 + 2.60446e+00 0.00000e+00 + -117.9552 33.6381 14.4982 -39 89 1.00000e+10 19.7075 1.00000e-01 + 180 32.28 20 0.00 0 0.00 0 + 0.00000e+00 5.04345e+01 1.00869e+02 2.01738e+01 1.89129e+01 1.76521e+01 + 1.63912e+01 1.51304e+01 1.38695e+01 1.26086e+01 1.13478e+01 1.00869e+01 + 8.82604e+00 7.56518e+00 6.30431e+00 5.04345e+00 3.78259e+00 2.52173e+00 + 1.26086e+00 0.00000e+00 + -117.9619 33.6452 14.4982 -39 89 1.00000e+10 19.3865 1.00000e-01 + 180 6.19 20 0.00 0 0.00 0 + 0.00000e+00 9.66534e+00 1.93307e+01 3.86614e+00 3.62450e+00 3.38287e+00 + 3.14124e+00 2.89960e+00 2.65797e+00 2.41634e+00 2.17470e+00 1.93307e+00 + 1.69143e+00 1.44980e+00 1.20817e+00 9.66534e-01 7.24901e-01 4.83267e-01 + 2.41634e-01 0.00000e+00 + -117.9686 33.6522 14.4982 -39 89 1.00000e+10 19.0326 1.00000e-01 + 180 13.22 20 0.00 0 0.00 0 + 0.00000e+00 2.06548e+01 4.13097e+01 8.26193e+00 7.74556e+00 7.22919e+00 + 6.71282e+00 6.19645e+00 5.68008e+00 5.16371e+00 4.64734e+00 4.13097e+00 + 3.61459e+00 3.09822e+00 2.58185e+00 2.06548e+00 1.54911e+00 1.03274e+00 + 5.16371e-01 0.00000e+00 + -117.9753 33.6592 14.4982 -39 89 1.00000e+10 18.6744 1.00000e-01 + 180 24.64 20 0.00 0 0.00 0 + 0.00000e+00 3.85005e+01 7.70010e+01 1.54002e+01 1.44377e+01 1.34752e+01 + 1.25127e+01 1.15501e+01 1.05876e+01 9.62512e+00 8.66261e+00 7.70010e+00 + 6.73759e+00 5.77507e+00 4.81256e+00 3.85005e+00 2.88754e+00 1.92502e+00 + 9.62512e-01 0.00000e+00 + -117.9821 33.6663 14.4982 -39 89 1.00000e+10 18.3160 1.00000e-01 + 180 36.30 20 0.00 0 0.00 0 + 0.00000e+00 5.67160e+01 1.13432e+02 2.26864e+01 2.12685e+01 1.98506e+01 + 1.84327e+01 1.70148e+01 1.55969e+01 1.41790e+01 1.27611e+01 1.13432e+01 + 9.92529e+00 8.50740e+00 7.08950e+00 5.67160e+00 4.25370e+00 2.83580e+00 + 1.41790e+00 0.00000e+00 + -117.9890 33.6732 14.4982 -41 89 1.00000e+10 17.8651 1.00000e-01 + 180 141.35 20 0.00 0 0.00 0 + 0.00000e+00 2.20862e+02 4.41724e+02 8.83448e+01 8.28233e+01 7.73017e+01 + 7.17802e+01 6.62586e+01 6.07371e+01 5.52155e+01 4.96940e+01 4.41724e+01 + 3.86509e+01 3.31293e+01 2.76078e+01 2.20862e+01 1.65647e+01 1.10431e+01 + 5.52155e+00 0.00000e+00 + -117.9969 33.6791 14.4982 -54 89 1.00000e+10 17.4876 1.00000e-01 + 180 172.37 20 0.00 0 0.00 0 + 0.00000e+00 2.69323e+02 5.38647e+02 1.07729e+02 1.00996e+02 9.42632e+01 + 8.75301e+01 8.07970e+01 7.40639e+01 6.73308e+01 6.05978e+01 5.38647e+01 + 4.71316e+01 4.03985e+01 3.36654e+01 2.69323e+01 2.01993e+01 1.34662e+01 + 6.73308e+00 0.00000e+00 + -118.0058 33.6844 14.4982 -54 89 1.00000e+10 17.1919 1.00000e-01 + 180 120.71 20 0.00 0 0.00 0 + 0.00000e+00 1.88613e+02 3.77225e+02 7.54451e+01 7.07298e+01 6.60145e+01 + 6.12991e+01 5.65838e+01 5.18685e+01 4.71532e+01 4.24379e+01 3.77225e+01 + 3.30072e+01 2.82919e+01 2.35766e+01 1.88613e+01 1.41460e+01 9.43064e+00 + 4.71532e+00 0.00000e+00 + -118.0146 33.6896 14.4982 -54 89 1.00000e+10 16.8956 1.00000e-01 + 180 69.81 20 0.00 0 0.00 0 + 0.00000e+00 1.09077e+02 2.18155e+02 4.36309e+01 4.09040e+01 3.81771e+01 + 3.54501e+01 3.27232e+01 2.99963e+01 2.72693e+01 2.45424e+01 2.18155e+01 + 1.90885e+01 1.63616e+01 1.36347e+01 1.09077e+01 8.18080e+00 5.45387e+00 + 2.72693e+00 0.00000e+00 + -118.0234 33.6948 14.4982 -54 89 1.00000e+10 16.5807 1.00000e-01 + 180 37.64 20 0.00 0 0.00 0 + 0.00000e+00 5.88195e+01 1.17639e+02 2.35278e+01 2.20573e+01 2.05868e+01 + 1.91163e+01 1.76458e+01 1.61754e+01 1.47049e+01 1.32344e+01 1.17639e+01 + 1.02934e+01 8.82292e+00 7.35243e+00 5.88195e+00 4.41146e+00 2.94097e+00 + 1.47049e+00 0.00000e+00 + -118.0322 33.7001 14.4982 -54 89 1.00000e+10 16.1921 1.00000e-01 + 180 79.95 20 0.00 0 0.00 0 + 0.00000e+00 1.24916e+02 2.49832e+02 4.99665e+01 4.68436e+01 4.37207e+01 + 4.05978e+01 3.74749e+01 3.43520e+01 3.12291e+01 2.81061e+01 2.49832e+01 + 2.18603e+01 1.87374e+01 1.56145e+01 1.24916e+01 9.36872e+00 6.24581e+00 + 3.12291e+00 0.00000e+00 + -118.0409 33.7054 14.4982 -53 89 1.00000e+10 15.7983 1.00000e-01 + 180 127.38 20 0.00 0 0.00 0 + 0.00000e+00 1.99032e+02 3.98065e+02 7.96130e+01 7.46372e+01 6.96614e+01 + 6.46855e+01 5.97097e+01 5.47339e+01 4.97581e+01 4.47823e+01 3.98065e+01 + 3.48307e+01 2.98549e+01 2.48791e+01 1.99032e+01 1.49274e+01 9.95162e+00 + 4.97581e+00 0.00000e+00 + -118.0493 33.7110 14.4982 -50 89 1.00000e+10 15.4178 1.00000e-01 + 180 161.50 20 0.00 0 0.00 0 + 0.00000e+00 2.52345e+02 5.04690e+02 1.00938e+02 9.46294e+01 8.83208e+01 + 8.20122e+01 7.57036e+01 6.93949e+01 6.30863e+01 5.67777e+01 5.04690e+01 + 4.41604e+01 3.78518e+01 3.15431e+01 2.52345e+01 1.89259e+01 1.26173e+01 + 6.30863e+00 0.00000e+00 + -118.0575 33.7169 14.4982 -48 89 1.00000e+10 15.0881 1.00000e-01 + 180 144.44 20 0.00 0 0.00 0 + 0.00000e+00 2.25688e+02 4.51376e+02 9.02752e+01 8.46330e+01 7.89908e+01 + 7.33486e+01 6.77064e+01 6.20642e+01 5.64220e+01 5.07798e+01 4.51376e+01 + 3.94954e+01 3.38532e+01 2.82110e+01 2.25688e+01 1.69266e+01 1.12844e+01 + 5.64220e+00 0.00000e+00 + -118.0643 33.7237 14.4982 -31 89 1.00000e+10 14.7538 1.00000e-01 + 180 131.90 20 0.00 0 0.00 0 + 0.00000e+00 2.06092e+02 4.12185e+02 8.24369e+01 7.72846e+01 7.21323e+01 + 6.69800e+01 6.18277e+01 5.66754e+01 5.15231e+01 4.63708e+01 4.12185e+01 + 3.60662e+01 3.09138e+01 2.57615e+01 2.06092e+01 1.54569e+01 1.03046e+01 + 5.15231e+00 0.00000e+00 + -118.0699 33.7314 14.4982 -31 89 1.00000e+10 14.3798 1.00000e-01 + 180 159.57 20 0.00 0 0.00 0 + 0.00000e+00 2.49324e+02 4.98647e+02 9.97295e+01 9.34964e+01 8.72633e+01 + 8.10302e+01 7.47971e+01 6.85640e+01 6.23309e+01 5.60978e+01 4.98647e+01 + 4.36316e+01 3.73985e+01 3.11655e+01 2.49324e+01 1.86993e+01 1.24662e+01 + 6.23309e+00 0.00000e+00 + -118.0764 33.7385 14.4982 -44 89 1.00000e+10 13.9960 1.00000e-01 + 180 197.09 20 0.00 0 0.00 0 + 0.00000e+00 3.07950e+02 6.15901e+02 1.23180e+02 1.15481e+02 1.07783e+02 + 1.00084e+02 9.23851e+01 8.46864e+01 7.69876e+01 6.92888e+01 6.15901e+01 + 5.38913e+01 4.61926e+01 3.84938e+01 3.07950e+01 2.30963e+01 1.53975e+01 + 7.69876e+00 0.00000e+00 + -118.0842 33.7447 14.4982 -47 89 1.00000e+10 13.6154 1.00000e-01 + 180 231.44 20 0.00 0 0.00 0 + 0.00000e+00 3.61627e+02 7.23254e+02 1.44651e+02 1.35610e+02 1.26569e+02 + 1.17529e+02 1.08488e+02 9.94474e+01 9.04067e+01 8.13660e+01 7.23254e+01 + 6.32847e+01 5.42440e+01 4.52033e+01 3.61627e+01 2.71220e+01 1.80813e+01 + 9.04067e+00 0.00000e+00 + -118.0921 33.7509 14.4982 -47 89 1.00000e+10 13.2515 1.00000e-01 + 180 248.94 20 0.00 0 0.00 0 + 0.00000e+00 3.88976e+02 7.77952e+02 1.55590e+02 1.45866e+02 1.36142e+02 + 1.26417e+02 1.16693e+02 1.06968e+02 9.72439e+01 8.75195e+01 7.77952e+01 + 6.80708e+01 5.83464e+01 4.86220e+01 3.88976e+01 2.91732e+01 1.94488e+01 + 9.72439e+00 0.00000e+00 + -118.1000 33.7570 14.4982 -47 89 1.00000e+10 12.9398 1.00000e-01 + 180 213.81 20 0.00 0 0.00 0 + 0.00000e+00 3.34081e+02 6.68162e+02 1.33632e+02 1.25280e+02 1.16928e+02 + 1.08576e+02 1.00224e+02 9.18723e+01 8.35203e+01 7.51683e+01 6.68162e+01 + 5.84642e+01 5.01122e+01 4.17601e+01 3.34081e+01 2.50561e+01 1.67041e+01 + 8.35203e+00 0.00000e+00 + -118.1080 33.7631 14.4982 -47 89 1.00000e+10 12.5944 1.00000e-01 + 180 212.85 20 0.00 0 0.00 0 + 0.00000e+00 3.32573e+02 6.65147e+02 1.33029e+02 1.24715e+02 1.16401e+02 + 1.08086e+02 9.97720e+01 9.14577e+01 8.31434e+01 7.48290e+01 6.65147e+01 + 5.82004e+01 4.98860e+01 4.15717e+01 3.32573e+01 2.49430e+01 1.66287e+01 + 8.31434e+00 0.00000e+00 + -118.1162 33.7689 14.4982 -52 89 1.00000e+10 12.1829 1.00000e-01 + 180 278.50 20 0.00 0 0.00 0 + 0.00000e+00 4.35149e+02 8.70298e+02 1.74060e+02 1.63181e+02 1.52302e+02 + 1.41423e+02 1.30545e+02 1.19666e+02 1.08787e+02 9.79085e+01 8.70298e+01 + 7.61510e+01 6.52723e+01 5.43936e+01 4.35149e+01 3.26362e+01 2.17574e+01 + 1.08787e+01 0.00000e+00 + -118.1247 33.7745 14.4982 -52 89 1.00000e+10 11.8272 1.00000e-01 + 180 287.88 20 0.00 0 0.00 0 + 0.00000e+00 4.49820e+02 8.99641e+02 1.79928e+02 1.68683e+02 1.57437e+02 + 1.46192e+02 1.34946e+02 1.23701e+02 1.12455e+02 1.01210e+02 8.99641e+01 + 7.87185e+01 6.74730e+01 5.62275e+01 4.49820e+01 3.37365e+01 2.24910e+01 + 1.12455e+01 0.00000e+00 + -118.1333 33.7800 14.4982 -52 89 1.00000e+10 11.4656 1.00000e-01 + 180 303.33 20 0.00 0 0.00 0 + 0.00000e+00 4.73946e+02 9.47893e+02 1.89579e+02 1.77730e+02 1.65881e+02 + 1.54033e+02 1.42184e+02 1.30335e+02 1.18487e+02 1.06638e+02 9.47893e+01 + 8.29406e+01 7.10919e+01 5.92433e+01 4.73946e+01 3.55460e+01 2.36973e+01 + 1.18487e+01 0.00000e+00 + -118.1418 33.7856 14.4982 -52 89 1.00000e+10 11.0716 1.00000e-01 + 180 351.51 20 0.00 0 0.00 0 + 0.00000e+00 5.49231e+02 1.09846e+03 2.19692e+02 2.05961e+02 1.92231e+02 + 1.78500e+02 1.64769e+02 1.51038e+02 1.37308e+02 1.23577e+02 1.09846e+02 + 9.61153e+01 8.23846e+01 6.86538e+01 5.49231e+01 4.11923e+01 2.74615e+01 + 1.37308e+01 0.00000e+00 + -118.1503 33.7912 14.4982 -51 89 1.00000e+10 10.7074 1.00000e-01 + 180 369.70 20 0.00 0 0.00 0 + 0.00000e+00 5.77649e+02 1.15530e+03 2.31060e+02 2.16618e+02 2.02177e+02 + 1.87736e+02 1.73295e+02 1.58853e+02 1.44412e+02 1.29971e+02 1.15530e+02 + 1.01089e+02 8.66473e+01 7.22061e+01 5.77649e+01 4.33237e+01 2.88824e+01 + 1.44412e+01 0.00000e+00 + -118.1586 33.7969 14.4982 -50 89 1.00000e+10 10.3963 1.00000e-01 + 180 334.29 20 0.00 0 0.00 0 + 0.00000e+00 5.22333e+02 1.04467e+03 2.08933e+02 1.95875e+02 1.82817e+02 + 1.69758e+02 1.56700e+02 1.43642e+02 1.30583e+02 1.17525e+02 1.04467e+02 + 9.14083e+01 7.83500e+01 6.52917e+01 5.22333e+01 3.91750e+01 2.61167e+01 + 1.30583e+01 0.00000e+00 + -118.1670 33.8026 14.4982 -50 89 1.00000e+10 10.0640 1.00000e-01 + 180 320.45 20 0.00 0 0.00 0 + 0.00000e+00 5.00707e+02 1.00141e+03 2.00283e+02 1.87765e+02 1.75247e+02 + 1.62730e+02 1.50212e+02 1.37694e+02 1.25177e+02 1.12659e+02 1.00141e+02 + 8.76236e+01 7.51060e+01 6.25883e+01 5.00707e+01 3.75530e+01 2.50353e+01 + 1.25177e+01 0.00000e+00 + -118.1753 33.8084 14.4982 -50 89 1.00000e+10 9.7526 1.00000e-01 + 180 285.55 20 0.00 0 0.00 0 + 0.00000e+00 4.46167e+02 8.92334e+02 1.78467e+02 1.67313e+02 1.56158e+02 + 1.45004e+02 1.33850e+02 1.22696e+02 1.11542e+02 1.00388e+02 8.92334e+01 + 7.80792e+01 6.69250e+01 5.57708e+01 4.46167e+01 3.34625e+01 2.23083e+01 + 1.11542e+01 0.00000e+00 + -118.1837 33.8141 14.4982 -50 89 1.00000e+10 9.4895 1.00000e-01 + 180 202.02 20 0.00 0 0.00 0 + 0.00000e+00 3.15654e+02 6.31308e+02 1.26262e+02 1.18370e+02 1.10479e+02 + 1.02588e+02 9.46963e+01 8.68049e+01 7.89136e+01 7.10222e+01 6.31308e+01 + 5.52395e+01 4.73481e+01 3.94568e+01 3.15654e+01 2.36741e+01 1.57827e+01 + 7.89136e+00 0.00000e+00 + -118.1920 33.8198 14.4982 -50 89 1.00000e+10 9.1929 1.00000e-01 + 180 152.39 20 0.00 0 0.00 0 + 0.00000e+00 2.38106e+02 4.76212e+02 9.52424e+01 8.92897e+01 8.33371e+01 + 7.73844e+01 7.14318e+01 6.54791e+01 5.95265e+01 5.35738e+01 4.76212e+01 + 4.16685e+01 3.57159e+01 2.97632e+01 2.38106e+01 1.78579e+01 1.19053e+01 + 5.95265e+00 0.00000e+00 + -118.2004 33.8256 14.4982 -50 89 1.00000e+10 8.8691 1.00000e-01 + 180 130.28 20 0.00 0 0.00 0 + 0.00000e+00 2.03561e+02 4.07123e+02 8.14246e+01 7.63355e+01 7.12465e+01 + 6.61574e+01 6.10684e+01 5.59794e+01 5.08903e+01 4.58013e+01 4.07123e+01 + 3.56232e+01 3.05342e+01 2.54452e+01 2.03561e+01 1.52671e+01 1.01781e+01 + 5.08903e+00 0.00000e+00 + -118.2086 33.8314 14.4982 -49 89 1.00000e+10 8.5304 1.00000e-01 + 180 123.33 20 0.00 0 0.00 0 + 0.00000e+00 1.92698e+02 3.85397e+02 7.70794e+01 7.22619e+01 6.74445e+01 + 6.26270e+01 5.78095e+01 5.29921e+01 4.81746e+01 4.33572e+01 3.85397e+01 + 3.37222e+01 2.89048e+01 2.40873e+01 1.92698e+01 1.44524e+01 9.63492e+00 + 4.81746e+00 0.00000e+00 + -118.2170 33.8370 14.4982 -54 89 1.00000e+10 8.2731 1.00000e-01 + 180 34.37 20 0.00 0 0.00 0 + 0.00000e+00 5.37054e+01 1.07411e+02 2.14822e+01 2.01395e+01 1.87969e+01 + 1.74543e+01 1.61116e+01 1.47690e+01 1.34263e+01 1.20837e+01 1.07411e+01 + 9.39844e+00 8.05581e+00 6.71317e+00 5.37054e+00 4.02790e+00 2.68527e+00 + 1.34263e+00 0.00000e+00 + -118.2258 33.8423 14.4982 -54 89 1.00000e+10 7.9124 1.00000e-01 + 180 49.98 20 0.00 0 0.00 0 + 0.00000e+00 7.80866e+01 1.56173e+02 3.12346e+01 2.92825e+01 2.73303e+01 + 2.53781e+01 2.34260e+01 2.14738e+01 1.95216e+01 1.75695e+01 1.56173e+01 + 1.36651e+01 1.17130e+01 9.76082e+00 7.80866e+00 5.85649e+00 3.90433e+00 + 1.95216e+00 0.00000e+00 + -118.2331 33.8487 14.4982 -33 89 1.00000e+10 7.5015 1.00000e-01 + 180 116.34 20 0.00 0 0.00 0 + 0.00000e+00 1.81777e+02 3.63553e+02 7.27106e+01 6.81662e+01 6.36218e+01 + 5.90774e+01 5.45330e+01 4.99885e+01 4.54441e+01 4.08997e+01 3.63553e+01 + 3.18109e+01 2.72665e+01 2.27221e+01 1.81777e+01 1.36332e+01 9.08883e+00 + 4.54441e+00 0.00000e+00 + -118.2390 33.8563 14.4982 -33 89 1.00000e+10 7.0632 1.00000e-01 + 180 210.66 20 0.00 0 0.00 0 + 0.00000e+00 3.29162e+02 6.58325e+02 1.31665e+02 1.23436e+02 1.15207e+02 + 1.06978e+02 9.87487e+01 9.05197e+01 8.22906e+01 7.40615e+01 6.58325e+01 + 5.76034e+01 4.93744e+01 4.11453e+01 3.29162e+01 2.46872e+01 1.64581e+01 + 8.22906e+00 0.00000e+00 + -118.2449 33.8638 14.4982 -33 89 1.00000e+10 6.6795 1.00000e-01 + 180 250.03 20 0.00 0 0.00 0 + 0.00000e+00 3.90678e+02 7.81355e+02 1.56271e+02 1.46504e+02 1.36737e+02 + 1.26970e+02 1.17203e+02 1.07436e+02 9.76694e+01 8.79025e+01 7.81355e+01 + 6.83686e+01 5.86017e+01 4.88347e+01 3.90678e+01 2.93008e+01 1.95339e+01 + 9.76694e+00 0.00000e+00 + -118.2509 33.8714 14.4982 -33 89 1.00000e+10 6.3649 1.00000e-01 + 180 219.96 20 0.00 0 0.00 0 + 0.00000e+00 3.43682e+02 6.87363e+02 1.37473e+02 1.28881e+02 1.20289e+02 + 1.11697e+02 1.03104e+02 9.45124e+01 8.59204e+01 7.73283e+01 6.87363e+01 + 6.01443e+01 5.15522e+01 4.29602e+01 3.43682e+01 2.57761e+01 1.71841e+01 + 8.59204e+00 0.00000e+00 + -118.2568 33.8789 14.4982 -33 89 1.00000e+10 6.0195 1.00000e-01 + 180 221.22 20 0.00 0 0.00 0 + 0.00000e+00 3.45657e+02 6.91314e+02 1.38263e+02 1.29621e+02 1.20980e+02 + 1.12339e+02 1.03697e+02 9.50557e+01 8.64143e+01 7.77729e+01 6.91314e+01 + 6.04900e+01 5.18486e+01 4.32071e+01 3.45657e+01 2.59243e+01 1.72829e+01 + 8.64143e+00 0.00000e+00 + -118.2628 33.8864 14.4982 -35 89 1.00000e+10 5.7455 1.00000e-01 + 180 150.89 20 0.00 0 0.00 0 + 0.00000e+00 2.35768e+02 4.71535e+02 9.43071e+01 8.84129e+01 8.25187e+01 + 7.66245e+01 7.07303e+01 6.48361e+01 5.89419e+01 5.30477e+01 4.71535e+01 + 4.12593e+01 3.53651e+01 2.94710e+01 2.35768e+01 1.76826e+01 1.17884e+01 + 5.89419e+00 0.00000e+00 + -118.2692 33.8937 14.4982 -36 89 1.00000e+10 5.5108 1.00000e-01 + 180 41.31 20 0.00 0 0.00 0 + 0.00000e+00 6.45492e+01 1.29098e+02 2.58197e+01 2.42060e+01 2.25922e+01 + 2.09785e+01 1.93648e+01 1.77510e+01 1.61373e+01 1.45236e+01 1.29098e+01 + 1.12961e+01 9.68238e+00 8.06865e+00 6.45492e+00 4.84119e+00 3.22746e+00 + 1.61373e+00 0.00000e+00 + -118.2756 33.9009 14.4982 -36 89 1.00000e+10 5.2090 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2820 33.9082 14.4982 -36 89 1.00000e+10 4.8313 1.00000e-01 + 180 35.80 20 0.00 0 0.00 0 + 0.00000e+00 5.59373e+01 1.11875e+02 2.23749e+01 2.09765e+01 1.95781e+01 + 1.81796e+01 1.67812e+01 1.53828e+01 1.39843e+01 1.25859e+01 1.11875e+01 + 9.78903e+00 8.39060e+00 6.99216e+00 5.59373e+00 4.19530e+00 2.79687e+00 + 1.39843e+00 0.00000e+00 + -118.2883 33.9155 14.4982 -35 89 1.00000e+10 4.4146 1.00000e-01 + 180 111.79 20 0.00 0 0.00 0 + 0.00000e+00 1.74671e+02 3.49342e+02 6.98685e+01 6.55017e+01 6.11349e+01 + 5.67682e+01 5.24014e+01 4.80346e+01 4.36678e+01 3.93010e+01 3.49342e+01 + 3.05675e+01 2.62007e+01 2.18339e+01 1.74671e+01 1.31003e+01 8.73356e+00 + 4.36678e+00 0.00000e+00 + -118.2945 33.9229 14.4982 -34 89 1.00000e+10 4.0118 1.00000e-01 + 180 174.71 20 0.00 0 0.00 0 + 0.00000e+00 2.72991e+02 5.45981e+02 1.09196e+02 1.02371e+02 9.55467e+01 + 8.87220e+01 8.18972e+01 7.50724e+01 6.82477e+01 6.14229e+01 5.45981e+01 + 4.77734e+01 4.09486e+01 3.41238e+01 2.72991e+01 2.04743e+01 1.36495e+01 + 6.82477e+00 0.00000e+00 + -118.3013 33.9295 14.4982 -47 89 1.00000e+10 3.6594 1.00000e-01 + 180 187.91 20 0.00 0 0.00 0 + 0.00000e+00 2.93602e+02 5.87204e+02 1.17441e+02 1.10101e+02 1.02761e+02 + 9.54207e+01 8.80807e+01 8.07406e+01 7.34005e+01 6.60605e+01 5.87204e+01 + 5.13804e+01 4.40403e+01 3.67003e+01 2.93602e+01 2.20202e+01 1.46801e+01 + 7.34005e+00 0.00000e+00 + -118.3103 33.9333 14.4982 -78 89 1.00000e+10 3.3161 1.00000e-01 + 180 193.46 20 0.00 0 0.00 0 + 0.00000e+00 3.02277e+02 6.04553e+02 1.20911e+02 1.13354e+02 1.05797e+02 + 9.82399e+01 9.06830e+01 8.31260e+01 7.55691e+01 6.80122e+01 6.04553e+01 + 5.28984e+01 4.53415e+01 3.77846e+01 3.02277e+01 2.26707e+01 1.51138e+01 + 7.55691e+00 0.00000e+00 + -118.3185 33.9380 14.4982 -33 89 1.00000e+10 3.0096 1.00000e-01 + 180 163.96 20 0.00 0 0.00 0 + 0.00000e+00 2.56195e+02 5.12390e+02 1.02478e+02 9.60730e+01 8.96682e+01 + 8.32633e+01 7.68584e+01 7.04536e+01 6.40487e+01 5.76438e+01 5.12390e+01 + 4.48341e+01 3.84292e+01 3.20243e+01 2.56195e+01 1.92146e+01 1.28097e+01 + 6.40487e+00 0.00000e+00 + -118.3243 33.9455 14.4982 -32 89 1.00000e+10 2.6851 1.00000e-01 + 180 155.32 20 0.00 0 0.00 0 + 0.00000e+00 2.42689e+02 4.85378e+02 9.70757e+01 9.10084e+01 8.49412e+01 + 7.88740e+01 7.28067e+01 6.67395e+01 6.06723e+01 5.46051e+01 4.85378e+01 + 4.24706e+01 3.64034e+01 3.03361e+01 2.42689e+01 1.82017e+01 1.21345e+01 + 6.06723e+00 0.00000e+00 + -118.3316 33.9518 14.4982 -56 89 1.00000e+10 2.3629 1.00000e-01 + 180 148.11 20 0.00 0 0.00 0 + 0.00000e+00 2.31419e+02 4.62838e+02 9.25676e+01 8.67821e+01 8.09966e+01 + 7.52111e+01 6.94257e+01 6.36402e+01 5.78547e+01 5.20693e+01 4.62838e+01 + 4.04983e+01 3.47128e+01 2.89274e+01 2.31419e+01 1.73564e+01 1.15709e+01 + 5.78547e+00 0.00000e+00 + -118.3406 33.9569 14.4982 -56 89 1.00000e+10 2.0283 1.00000e-01 + 180 158.80 20 0.00 0 0.00 0 + 0.00000e+00 2.48125e+02 4.96250e+02 9.92499e+01 9.30468e+01 8.68437e+01 + 8.06406e+01 7.44375e+01 6.82343e+01 6.20312e+01 5.58281e+01 4.96250e+01 + 4.34218e+01 3.72187e+01 3.10156e+01 2.48125e+01 1.86094e+01 1.24062e+01 + 6.20312e+00 0.00000e+00 + -118.3485 33.9626 14.4982 -42 89 1.00000e+10 1.7176 1.00000e-01 + 180 153.55 20 0.00 0 0.00 0 + 0.00000e+00 2.39924e+02 4.79849e+02 9.59697e+01 8.99716e+01 8.39735e+01 + 7.79754e+01 7.19773e+01 6.59792e+01 5.99811e+01 5.39830e+01 4.79849e+01 + 4.19868e+01 3.59887e+01 2.99905e+01 2.39924e+01 1.79943e+01 1.19962e+01 + 5.99811e+00 0.00000e+00 + -118.3530 33.9701 14.4982 -12 89 1.00000e+10 1.4196 1.00000e-01 + 180 148.31 20 0.00 0 0.00 0 + 0.00000e+00 2.31732e+02 4.63463e+02 9.26927e+01 8.68994e+01 8.11061e+01 + 7.53128e+01 6.95195e+01 6.37262e+01 5.79329e+01 5.21396e+01 4.63463e+01 + 4.05531e+01 3.47598e+01 2.89665e+01 2.31732e+01 1.73799e+01 1.15866e+01 + 5.79329e+00 0.00000e+00 + -118.3554 33.9789 14.4982 -12 89 1.00000e+10 1.1546 1.00000e-01 + 180 131.28 20 0.00 0 0.00 0 + 0.00000e+00 2.05129e+02 4.10258e+02 8.20517e+01 7.69234e+01 7.17952e+01 + 6.66670e+01 6.15387e+01 5.64105e+01 5.12823e+01 4.61541e+01 4.10258e+01 + 3.58976e+01 3.07694e+01 2.56411e+01 2.05129e+01 1.53847e+01 1.02565e+01 + 5.12823e+00 0.00000e+00 + -118.3579 33.9876 14.4982 -15 89 1.00000e+10 0.9209 1.00000e-01 + 180 120.63 20 0.00 0 0.00 0 + 0.00000e+00 1.88481e+02 3.76961e+02 7.53923e+01 7.06802e+01 6.59682e+01 + 6.12562e+01 5.65442e+01 5.18322e+01 4.71202e+01 4.24081e+01 3.76961e+01 + 3.29841e+01 2.82721e+01 2.35601e+01 1.88481e+01 1.41360e+01 9.42403e+00 + 4.71202e+00 0.00000e+00 + -118.3614 33.9961 14.4982 -23 89 1.00000e+10 0.7249 1.00000e-01 + 180 140.09 20 0.00 0 0.00 0 + 0.00000e+00 2.18894e+02 4.37788e+02 8.75576e+01 8.20853e+01 7.66129e+01 + 7.11406e+01 6.56682e+01 6.01959e+01 5.47235e+01 4.92512e+01 4.37788e+01 + 3.83064e+01 3.28341e+01 2.73617e+01 2.18894e+01 1.64171e+01 1.09447e+01 + 5.47235e+00 0.00000e+00 + -118.3657 34.0044 14.4982 -24 89 1.00000e+10 0.7003 1.00000e-01 + 180 97.41 20 0.00 0 0.00 0 + 0.00000e+00 1.52206e+02 3.04411e+02 6.08822e+01 5.70771e+01 5.32719e+01 + 4.94668e+01 4.56617e+01 4.18565e+01 3.80514e+01 3.42463e+01 3.04411e+01 + 2.66360e+01 2.28308e+01 1.90257e+01 1.52206e+01 1.14154e+01 7.61028e+00 + 3.80514e+00 0.00000e+00 + -118.3702 34.0126 14.4982 -24 89 1.00000e+10 0.8096 1.00000e-01 + 180 54.63 20 0.00 0 0.00 0 + 0.00000e+00 8.53571e+01 1.70714e+02 3.41429e+01 3.20089e+01 2.98750e+01 + 2.77411e+01 2.56071e+01 2.34732e+01 2.13393e+01 1.92054e+01 1.70714e+01 + 1.49375e+01 1.28036e+01 1.06696e+01 8.53572e+00 6.40179e+00 4.26786e+00 + 2.13393e+00 0.00000e+00 + -118.3746 34.0208 14.4982 -24 89 1.00000e+10 0.9997 1.00000e-01 + 180 41.10 20 0.00 0 0.00 0 + 0.00000e+00 6.42137e+01 1.28427e+02 2.56855e+01 2.40801e+01 2.24748e+01 + 2.08694e+01 1.92641e+01 1.76588e+01 1.60534e+01 1.44481e+01 1.28427e+01 + 1.12374e+01 9.63205e+00 8.02671e+00 6.42137e+00 4.81603e+00 3.21068e+00 + 1.60534e+00 0.00000e+00 + -118.3791 34.0290 14.4982 -24 89 1.00000e+10 1.2660 1.00000e-01 + 180 18.88 20 0.00 0 0.00 0 + 0.00000e+00 2.95062e+01 5.90124e+01 1.18025e+01 1.10648e+01 1.03272e+01 + 9.58952e+00 8.85186e+00 8.11421e+00 7.37655e+00 6.63890e+00 5.90124e+00 + 5.16359e+00 4.42593e+00 3.68828e+00 2.95062e+00 2.21297e+00 1.47531e+00 + 7.37655e-01 0.00000e+00 + -117.3551 33.0615 15.4981 -33 89 1.00000e+10 49.5900 1.00000e-01 + 180 6.54 20 0.00 0 0.00 0 + 0.00000e+00 1.02150e+01 2.04301e+01 4.08601e+00 3.83064e+00 3.57526e+00 + 3.31989e+00 3.06451e+00 2.80913e+00 2.55376e+00 2.29838e+00 2.04301e+00 + 1.78763e+00 1.53225e+00 1.27688e+00 1.02150e+00 7.66127e-01 5.10752e-01 + 2.55376e-01 0.00000e+00 + -117.3609 33.0691 15.4981 -33 89 1.00000e+10 49.2323 1.00000e-01 + 180 17.18 20 0.00 0 0.00 0 + 0.00000e+00 2.68400e+01 5.36800e+01 1.07360e+01 1.00650e+01 9.39400e+00 + 8.72300e+00 8.05200e+00 7.38100e+00 6.71000e+00 6.03900e+00 5.36800e+00 + 4.69700e+00 4.02600e+00 3.35500e+00 2.68400e+00 2.01300e+00 1.34200e+00 + 6.71000e-01 0.00000e+00 + -117.3668 33.0766 15.4981 -33 89 1.00000e+10 48.8741 1.00000e-01 + 180 28.40 20 0.00 0 0.00 0 + 0.00000e+00 4.43708e+01 8.87417e+01 1.77483e+01 1.66391e+01 1.55298e+01 + 1.44205e+01 1.33113e+01 1.22020e+01 1.10927e+01 9.98344e+00 8.87417e+00 + 7.76490e+00 6.65563e+00 5.54636e+00 4.43709e+00 3.32781e+00 2.21854e+00 + 1.10927e+00 0.00000e+00 + -117.3728 33.0840 15.4981 -36 89 1.00000e+10 48.5220 1.00000e-01 + 180 33.35 20 0.00 0 0.00 0 + 0.00000e+00 5.21145e+01 1.04229e+02 2.08458e+01 1.95429e+01 1.82401e+01 + 1.69372e+01 1.56343e+01 1.43315e+01 1.30286e+01 1.17258e+01 1.04229e+01 + 9.12003e+00 7.81717e+00 6.51431e+00 5.21145e+00 3.90859e+00 2.60572e+00 + 1.30286e+00 0.00000e+00 + -117.3803 33.0903 15.4981 -55 89 1.00000e+10 48.1782 1.00000e-01 + 180 30.04 20 0.00 0 0.00 0 + 0.00000e+00 4.69352e+01 9.38704e+01 1.87741e+01 1.76007e+01 1.64273e+01 + 1.52539e+01 1.40806e+01 1.29072e+01 1.17338e+01 1.05604e+01 9.38704e+00 + 8.21366e+00 7.04028e+00 5.86690e+00 4.69352e+00 3.52014e+00 2.34676e+00 + 1.17338e+00 0.00000e+00 + -117.3891 33.0954 15.4981 -55 89 1.00000e+10 47.8354 1.00000e-01 + 180 25.68 20 0.00 0 0.00 0 + 0.00000e+00 4.01300e+01 8.02599e+01 1.60520e+01 1.50487e+01 1.40455e+01 + 1.30422e+01 1.20390e+01 1.10357e+01 1.00325e+01 9.02924e+00 8.02599e+00 + 7.02274e+00 6.01949e+00 5.01624e+00 4.01300e+00 3.00975e+00 2.00650e+00 + 1.00325e+00 0.00000e+00 + -117.3975 33.1010 15.4981 -48 89 1.00000e+10 47.4910 1.00000e-01 + 180 23.00 20 0.00 0 0.00 0 + 0.00000e+00 3.59412e+01 7.18824e+01 1.43765e+01 1.34780e+01 1.25794e+01 + 1.16809e+01 1.07824e+01 9.88383e+00 8.98530e+00 8.08677e+00 7.18824e+00 + 6.28971e+00 5.39118e+00 4.49265e+00 3.59412e+00 2.69559e+00 1.79706e+00 + 8.98530e-01 0.00000e+00 + -117.4054 33.1070 15.4981 -47 89 1.00000e+10 47.1281 1.00000e-01 + 180 38.89 20 0.00 0 0.00 0 + 0.00000e+00 6.07626e+01 1.21525e+02 2.43050e+01 2.27860e+01 2.12669e+01 + 1.97478e+01 1.82288e+01 1.67097e+01 1.51906e+01 1.36716e+01 1.21525e+01 + 1.06334e+01 9.11439e+00 7.59532e+00 6.07626e+00 4.55719e+00 3.03813e+00 + 1.51906e+00 0.00000e+00 + -117.4125 33.1137 15.4981 -36 89 1.00000e+10 46.7859 1.00000e-01 + 180 33.98 20 0.00 0 0.00 0 + 0.00000e+00 5.30887e+01 1.06177e+02 2.12355e+01 1.99083e+01 1.85811e+01 + 1.72538e+01 1.59266e+01 1.45994e+01 1.32722e+01 1.19450e+01 1.06177e+01 + 9.29053e+00 7.96331e+00 6.63609e+00 5.30887e+00 3.98166e+00 2.65444e+00 + 1.32722e+00 0.00000e+00 + -117.4186 33.1211 15.4981 -33 89 1.00000e+10 46.4521 1.00000e-01 + 180 20.54 20 0.00 0 0.00 0 + 0.00000e+00 3.20883e+01 6.41767e+01 1.28353e+01 1.20331e+01 1.12309e+01 + 1.04287e+01 9.62650e+00 8.82430e+00 8.02209e+00 7.21988e+00 6.41767e+00 + 5.61546e+00 4.81325e+00 4.01104e+00 3.20883e+00 2.40663e+00 1.60442e+00 + 8.02209e-01 0.00000e+00 + -117.4222 33.1293 15.4981 -8 89 1.00000e+10 46.1243 1.00000e-01 + 180 1.05 20 0.00 0 0.00 0 + 0.00000e+00 1.64396e+00 3.28792e+00 6.57584e-01 6.16485e-01 5.75386e-01 + 5.34287e-01 4.93188e-01 4.52089e-01 4.10990e-01 3.69891e-01 3.28792e-01 + 2.87693e-01 2.46594e-01 2.05495e-01 1.64396e-01 1.23297e-01 8.21980e-02 + 4.10990e-02 0.00000e+00 + -117.4237 33.1382 15.4981 -8 89 1.00000e+10 45.7782 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4253 33.1471 15.4981 -8 89 1.00000e+10 45.4311 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4278 33.1557 15.4981 -20 89 1.00000e+10 45.0840 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4329 33.1633 15.4981 -39 89 1.00000e+10 44.7369 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4396 33.1703 15.4981 -39 89 1.00000e+10 44.3898 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4463 33.1773 15.4981 -39 89 1.00000e+10 44.0427 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.4530 33.1844 15.4981 -39 89 1.00000e+10 43.6778 1.00000e-01 + 180 18.00 20 0.00 0 0.00 0 + 0.00000e+00 2.81302e+01 5.62604e+01 1.12521e+01 1.05488e+01 9.84556e+00 + 9.14231e+00 8.43905e+00 7.73580e+00 7.03254e+00 6.32929e+00 5.62604e+00 + 4.92278e+00 4.21953e+00 3.51627e+00 2.81302e+00 2.10976e+00 1.40651e+00 + 7.03254e-01 0.00000e+00 + -117.4598 33.1914 15.4981 -39 89 1.00000e+10 43.2711 1.00000e-01 + 180 78.21 20 0.00 0 0.00 0 + 0.00000e+00 1.22210e+02 2.44420e+02 4.88840e+01 4.58287e+01 4.27735e+01 + 3.97182e+01 3.66630e+01 3.36077e+01 3.05525e+01 2.74972e+01 2.44420e+01 + 2.13867e+01 1.83315e+01 1.52762e+01 1.22210e+01 9.16574e+00 6.11050e+00 + 3.05525e+00 0.00000e+00 + -117.4665 33.1984 15.4981 -39 89 1.00000e+10 42.9003 1.00000e-01 + 180 102.05 20 0.00 0 0.00 0 + 0.00000e+00 1.59454e+02 3.18908e+02 6.37816e+01 5.97952e+01 5.58089e+01 + 5.18225e+01 4.78362e+01 4.38498e+01 3.98635e+01 3.58771e+01 3.18908e+01 + 2.79044e+01 2.39181e+01 1.99317e+01 1.59454e+01 1.19590e+01 7.97270e+00 + 3.98635e+00 0.00000e+00 + -117.4732 33.2054 15.4981 -39 89 1.00000e+10 42.5551 1.00000e-01 + 180 100.21 20 0.00 0 0.00 0 + 0.00000e+00 1.56582e+02 3.13163e+02 6.26326e+01 5.87181e+01 5.48035e+01 + 5.08890e+01 4.69745e+01 4.30599e+01 3.91454e+01 3.52308e+01 3.13163e+01 + 2.74018e+01 2.34872e+01 1.95727e+01 1.56582e+01 1.17436e+01 7.82908e+00 + 3.91454e+00 0.00000e+00 + -117.4800 33.2124 15.4981 -39 89 1.00000e+10 42.2005 1.00000e-01 + 180 107.79 20 0.00 0 0.00 0 + 0.00000e+00 1.68427e+02 3.36854e+02 6.73708e+01 6.31602e+01 5.89495e+01 + 5.47388e+01 5.05281e+01 4.63175e+01 4.21068e+01 3.78961e+01 3.36854e+01 + 2.94747e+01 2.52641e+01 2.10534e+01 1.68427e+01 1.26320e+01 8.42136e+00 + 4.21068e+00 0.00000e+00 + -117.4875 33.2187 15.4981 -51 89 1.00000e+10 41.8837 1.00000e-01 + 180 77.18 20 0.00 0 0.00 0 + 0.00000e+00 1.20601e+02 2.41203e+02 4.82406e+01 4.52255e+01 4.22105e+01 + 3.91955e+01 3.61804e+01 3.31654e+01 3.01504e+01 2.71353e+01 2.41203e+01 + 2.11053e+01 1.80902e+01 1.50752e+01 1.20601e+01 9.04511e+00 6.03007e+00 + 3.01504e+00 0.00000e+00 + -117.4961 33.2241 15.4981 -55 89 1.00000e+10 41.5137 1.00000e-01 + 180 100.33 20 0.00 0 0.00 0 + 0.00000e+00 1.56759e+02 3.13517e+02 6.27035e+01 5.87845e+01 5.48655e+01 + 5.09466e+01 4.70276e+01 4.31086e+01 3.91897e+01 3.52707e+01 3.13517e+01 + 2.74328e+01 2.35138e+01 1.95948e+01 1.56759e+01 1.17569e+01 7.83793e+00 + 3.91897e+00 0.00000e+00 + -117.5049 33.2292 15.4981 -55 89 1.00000e+10 41.1228 1.00000e-01 + 180 144.55 20 0.00 0 0.00 0 + 0.00000e+00 2.25865e+02 4.51729e+02 9.03458e+01 8.46992e+01 7.90526e+01 + 7.34060e+01 6.77594e+01 6.21128e+01 5.64661e+01 5.08195e+01 4.51729e+01 + 3.95263e+01 3.38797e+01 2.82331e+01 2.25865e+01 1.69398e+01 1.12932e+01 + 5.64662e+00 0.00000e+00 + -117.5138 33.2344 15.4981 -55 89 1.00000e+10 40.7642 1.00000e-01 + 180 156.21 20 0.00 0 0.00 0 + 0.00000e+00 2.44072e+02 4.88145e+02 9.76290e+01 9.15272e+01 8.54253e+01 + 7.93235e+01 7.32217e+01 6.71199e+01 6.10181e+01 5.49163e+01 4.88145e+01 + 4.27127e+01 3.66109e+01 3.05091e+01 2.44072e+01 1.83054e+01 1.22036e+01 + 6.10181e+00 0.00000e+00 + -117.5226 33.2395 15.4981 -55 89 1.00000e+10 40.4322 1.00000e-01 + 180 140.99 20 0.00 0 0.00 0 + 0.00000e+00 2.20302e+02 4.40604e+02 8.81208e+01 8.26133e+01 7.71057e+01 + 7.15982e+01 6.60906e+01 6.05831e+01 5.50755e+01 4.95680e+01 4.40604e+01 + 3.85529e+01 3.30453e+01 2.75378e+01 2.20302e+01 1.65227e+01 1.10151e+01 + 5.50755e+00 0.00000e+00 + -117.5314 33.2447 15.4981 -55 89 1.00000e+10 40.0941 1.00000e-01 + 180 131.95 20 0.00 0 0.00 0 + 0.00000e+00 2.06167e+02 4.12334e+02 8.24669e+01 7.73127e+01 7.21585e+01 + 6.70043e+01 6.18502e+01 5.66960e+01 5.15418e+01 4.63876e+01 4.12334e+01 + 3.60793e+01 3.09251e+01 2.57709e+01 2.06167e+01 1.54625e+01 1.03084e+01 + 5.15418e+00 0.00000e+00 + -117.5402 33.2498 15.4981 -55 89 1.00000e+10 39.7247 1.00000e-01 + 180 154.54 20 0.00 0 0.00 0 + 0.00000e+00 2.41466e+02 4.82931e+02 9.65863e+01 9.05497e+01 8.45130e+01 + 7.84764e+01 7.24397e+01 6.64031e+01 6.03664e+01 5.43298e+01 4.82931e+01 + 4.22565e+01 3.62199e+01 3.01832e+01 2.41466e+01 1.81099e+01 1.20733e+01 + 6.03664e+00 0.00000e+00 + -117.5480 33.2559 15.4981 -39 89 1.00000e+10 39.3721 1.00000e-01 + 180 160.07 20 0.00 0 0.00 0 + 0.00000e+00 2.50112e+02 5.00224e+02 1.00045e+02 9.37921e+01 8.75393e+01 + 8.12865e+01 7.50336e+01 6.87808e+01 6.25280e+01 5.62752e+01 5.00224e+01 + 4.37696e+01 3.75168e+01 3.12640e+01 2.50112e+01 1.87584e+01 1.25056e+01 + 6.25280e+00 0.00000e+00 + -117.5547 33.2629 15.4981 -38 89 1.00000e+10 39.0285 1.00000e-01 + 180 156.64 20 0.00 0 0.00 0 + 0.00000e+00 2.44747e+02 4.89493e+02 9.78986e+01 9.17800e+01 8.56613e+01 + 7.95426e+01 7.34240e+01 6.73053e+01 6.11866e+01 5.50680e+01 4.89493e+01 + 4.28306e+01 3.67120e+01 3.05933e+01 2.44747e+01 1.83560e+01 1.22373e+01 + 6.11866e+00 0.00000e+00 + -117.5613 33.2700 15.4981 -38 89 1.00000e+10 38.7167 1.00000e-01 + 180 121.00 20 0.00 0 0.00 0 + 0.00000e+00 1.89069e+02 3.78138e+02 7.56276e+01 7.09009e+01 6.61742e+01 + 6.14474e+01 5.67207e+01 5.19940e+01 4.72673e+01 4.25405e+01 3.78138e+01 + 3.30871e+01 2.83604e+01 2.36336e+01 1.89069e+01 1.41802e+01 9.45345e+00 + 4.72673e+00 0.00000e+00 + -117.5679 33.2771 15.4981 -38 89 1.00000e+10 38.3787 1.00000e-01 + 180 111.91 20 0.00 0 0.00 0 + 0.00000e+00 1.74858e+02 3.49717e+02 6.99433e+01 6.55719e+01 6.12004e+01 + 5.68289e+01 5.24575e+01 4.80860e+01 4.37146e+01 3.93431e+01 3.49717e+01 + 3.06002e+01 2.62287e+01 2.18573e+01 1.74858e+01 1.31144e+01 8.74292e+00 + 4.37146e+00 0.00000e+00 + -117.5746 33.2842 15.4981 -38 89 1.00000e+10 38.0527 1.00000e-01 + 180 90.69 20 0.00 0 0.00 0 + 0.00000e+00 1.41702e+02 2.83404e+02 5.66807e+01 5.31382e+01 4.95956e+01 + 4.60531e+01 4.25106e+01 3.89680e+01 3.54255e+01 3.18829e+01 2.83404e+01 + 2.47978e+01 2.12553e+01 1.77127e+01 1.41702e+01 1.06276e+01 7.08509e+00 + 3.54255e+00 0.00000e+00 + -117.5812 33.2913 15.4981 -38 89 1.00000e+10 37.7325 1.00000e-01 + 180 63.55 20 0.00 0 0.00 0 + 0.00000e+00 9.93031e+01 1.98606e+02 3.97212e+01 3.72387e+01 3.47561e+01 + 3.22735e+01 2.97909e+01 2.73083e+01 2.48258e+01 2.23432e+01 1.98606e+01 + 1.73780e+01 1.48955e+01 1.24129e+01 9.93031e+00 7.44773e+00 4.96515e+00 + 2.48258e+00 0.00000e+00 + -117.5878 33.2984 15.4981 -38 89 1.00000e+10 37.4251 1.00000e-01 + 180 23.58 20 0.00 0 0.00 0 + 0.00000e+00 3.68512e+01 7.37025e+01 1.47405e+01 1.38192e+01 1.28979e+01 + 1.19767e+01 1.10554e+01 1.01341e+01 9.21281e+00 8.29153e+00 7.37025e+00 + 6.44897e+00 5.52768e+00 4.60640e+00 3.68512e+00 2.76384e+00 1.84256e+00 + 9.21281e-01 0.00000e+00 + -117.5944 33.3055 15.4981 -38 89 1.00000e+10 37.0803 1.00000e-01 + 180 21.31 20 0.00 0 0.00 0 + 0.00000e+00 3.32993e+01 6.65986e+01 1.33197e+01 1.24872e+01 1.16548e+01 + 1.08223e+01 9.98980e+00 9.15731e+00 8.32483e+00 7.49235e+00 6.65986e+00 + 5.82738e+00 4.99490e+00 4.16241e+00 3.32993e+00 2.49745e+00 1.66497e+00 + 8.32483e-01 0.00000e+00 + -117.6010 33.3126 15.4981 -38 89 1.00000e+10 36.7272 1.00000e-01 + 180 27.46 20 0.00 0 0.00 0 + 0.00000e+00 4.29093e+01 8.58186e+01 1.71637e+01 1.60910e+01 1.50183e+01 + 1.39455e+01 1.28728e+01 1.18001e+01 1.07273e+01 9.65459e+00 8.58186e+00 + 7.50913e+00 6.43639e+00 5.36366e+00 4.29093e+00 3.21820e+00 2.14546e+00 + 1.07273e+00 0.00000e+00 + -117.6077 33.3197 15.4981 -38 89 1.00000e+10 36.3735 1.00000e-01 + 180 34.17 20 0.00 0 0.00 0 + 0.00000e+00 5.33892e+01 1.06778e+02 2.13557e+01 2.00209e+01 1.86862e+01 + 1.73515e+01 1.60168e+01 1.46820e+01 1.33473e+01 1.20126e+01 1.06778e+01 + 9.34311e+00 8.00838e+00 6.67365e+00 5.33892e+00 4.00419e+00 2.66946e+00 + 1.33473e+00 0.00000e+00 + -117.6143 33.3268 15.4981 -38 89 1.00000e+10 36.0240 1.00000e-01 + 180 36.68 20 0.00 0 0.00 0 + 0.00000e+00 5.73056e+01 1.14611e+02 2.29222e+01 2.14896e+01 2.00570e+01 + 1.86243e+01 1.71917e+01 1.57590e+01 1.43264e+01 1.28938e+01 1.14611e+01 + 1.00285e+01 8.59584e+00 7.16320e+00 5.73056e+00 4.29792e+00 2.86528e+00 + 1.43264e+00 0.00000e+00 + -117.6209 33.3339 15.4981 -38 89 1.00000e+10 35.6537 1.00000e-01 + 180 60.19 20 0.00 0 0.00 0 + 0.00000e+00 9.40404e+01 1.88081e+02 3.76162e+01 3.52651e+01 3.29141e+01 + 3.05631e+01 2.82121e+01 2.58611e+01 2.35101e+01 2.11591e+01 1.88081e+01 + 1.64571e+01 1.41061e+01 1.17550e+01 9.40404e+00 7.05303e+00 4.70202e+00 + 2.35101e+00 0.00000e+00 + -117.6275 33.3410 15.4981 -38 89 1.00000e+10 35.2985 1.00000e-01 + 180 68.45 20 0.00 0 0.00 0 + 0.00000e+00 1.06960e+02 2.13919e+02 4.27838e+01 4.01098e+01 3.74359e+01 + 3.47619e+01 3.20879e+01 2.94139e+01 2.67399e+01 2.40659e+01 2.13919e+01 + 1.87179e+01 1.60439e+01 1.33699e+01 1.06960e+01 8.02197e+00 5.34798e+00 + 2.67399e+00 0.00000e+00 + -117.6342 33.3481 15.4981 -38 89 1.00000e+10 34.9064 1.00000e-01 + 180 113.88 20 0.00 0 0.00 0 + 0.00000e+00 1.77935e+02 3.55871e+02 7.11742e+01 6.67258e+01 6.22774e+01 + 5.78290e+01 5.33806e+01 4.89322e+01 4.44839e+01 4.00355e+01 3.55871e+01 + 3.11387e+01 2.66903e+01 2.22419e+01 1.77935e+01 1.33452e+01 8.89677e+00 + 4.44839e+00 0.00000e+00 + -117.6408 33.3552 15.4981 -38 89 1.00000e+10 34.5489 1.00000e-01 + 180 124.52 20 0.00 0 0.00 0 + 0.00000e+00 1.94557e+02 3.89114e+02 7.78228e+01 7.29589e+01 6.80950e+01 + 6.32310e+01 5.83671e+01 5.35032e+01 4.86393e+01 4.37753e+01 3.89114e+01 + 3.40475e+01 2.91836e+01 2.43196e+01 1.94557e+01 1.45918e+01 9.72785e+00 + 4.86393e+00 0.00000e+00 + -117.6474 33.3623 15.4981 -38 89 1.00000e+10 34.1920 1.00000e-01 + 180 134.43 20 0.00 0 0.00 0 + 0.00000e+00 2.10041e+02 4.20081e+02 8.40162e+01 7.87652e+01 7.35142e+01 + 6.82632e+01 6.30122e+01 5.77612e+01 5.25101e+01 4.72591e+01 4.20081e+01 + 3.67571e+01 3.15061e+01 2.62551e+01 2.10041e+01 1.57530e+01 1.05020e+01 + 5.25101e+00 0.00000e+00 + -117.6540 33.3694 15.4981 -38 89 1.00000e+10 33.8614 1.00000e-01 + 180 117.92 20 0.00 0 0.00 0 + 0.00000e+00 1.84248e+02 3.68496e+02 7.36993e+01 6.90931e+01 6.44869e+01 + 5.98807e+01 5.52745e+01 5.06683e+01 4.60620e+01 4.14558e+01 3.68496e+01 + 3.22434e+01 2.76372e+01 2.30310e+01 1.84248e+01 1.38186e+01 9.21241e+00 + 4.60620e+00 0.00000e+00 + -117.6607 33.3765 15.4981 -38 89 1.00000e+10 33.5448 1.00000e-01 + 180 87.19 20 0.00 0 0.00 0 + 0.00000e+00 1.36228e+02 2.72457e+02 5.44913e+01 5.10856e+01 4.76799e+01 + 4.42742e+01 4.08685e+01 3.74628e+01 3.40571e+01 3.06514e+01 2.72457e+01 + 2.38399e+01 2.04342e+01 1.70285e+01 1.36228e+01 1.02171e+01 6.81141e+00 + 3.40571e+00 0.00000e+00 + -117.6673 33.3836 15.4981 -38 89 1.00000e+10 33.2073 1.00000e-01 + 180 77.69 20 0.00 0 0.00 0 + 0.00000e+00 1.21387e+02 2.42774e+02 4.85548e+01 4.55201e+01 4.24855e+01 + 3.94508e+01 3.64161e+01 3.33814e+01 3.03468e+01 2.73121e+01 2.42774e+01 + 2.12427e+01 1.82081e+01 1.51734e+01 1.21387e+01 9.10403e+00 6.06935e+00 + 3.03468e+00 0.00000e+00 + -117.6739 33.3907 15.4981 -38 89 1.00000e+10 32.8894 1.00000e-01 + 180 48.28 20 0.00 0 0.00 0 + 0.00000e+00 7.54328e+01 1.50866e+02 3.01731e+01 2.82873e+01 2.64015e+01 + 2.45156e+01 2.26298e+01 2.07440e+01 1.88582e+01 1.69724e+01 1.50866e+01 + 1.32007e+01 1.13149e+01 9.42909e+00 7.54328e+00 5.65746e+00 3.77164e+00 + 1.88582e+00 0.00000e+00 + -117.6806 33.3978 15.4981 -38 89 1.00000e+10 32.5821 1.00000e-01 + 180 8.21 20 0.00 0 0.00 0 + 0.00000e+00 1.28341e+01 2.56683e+01 5.13365e+00 4.81280e+00 4.49195e+00 + 4.17109e+00 3.85024e+00 3.52939e+00 3.20853e+00 2.88768e+00 2.56683e+00 + 2.24597e+00 1.92512e+00 1.60427e+00 1.28341e+00 9.62560e-01 6.41707e-01 + 3.20853e-01 0.00000e+00 + -117.6874 33.4048 15.4981 -40 89 1.00000e+10 32.2433 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.6944 33.4116 15.4981 -41 89 1.00000e+10 31.8963 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.7015 33.4184 15.4981 -41 89 1.00000e+10 31.5494 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.7086 33.4252 15.4981 -41 89 1.00000e+10 31.2024 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.7157 33.4319 15.4981 -41 89 1.00000e+10 30.8531 1.00000e-01 + 180 2.35 20 0.00 0 0.00 0 + 0.00000e+00 3.66917e+00 7.33835e+00 1.46767e+00 1.37594e+00 1.28421e+00 + 1.19248e+00 1.10075e+00 1.00902e+00 9.17294e-01 8.25564e-01 7.33835e-01 + 6.42106e-01 5.50376e-01 4.58647e-01 3.66917e-01 2.75188e-01 1.83459e-01 + 9.17294e-02 0.00000e+00 + -117.7227 33.4387 15.4981 -41 89 1.00000e+10 30.4602 1.00000e-01 + 180 48.76 20 0.00 0 0.00 0 + 0.00000e+00 7.61939e+01 1.52388e+02 3.04776e+01 2.85727e+01 2.66679e+01 + 2.47630e+01 2.28582e+01 2.09533e+01 1.90485e+01 1.71436e+01 1.52388e+01 + 1.33339e+01 1.14291e+01 9.52423e+00 7.61939e+00 5.71454e+00 3.80969e+00 + 1.90485e+00 0.00000e+00 + -117.7298 33.4455 15.4981 -41 89 1.00000e+10 30.0582 1.00000e-01 + 180 104.28 20 0.00 0 0.00 0 + 0.00000e+00 1.62931e+02 3.25862e+02 6.51723e+01 6.10991e+01 5.70258e+01 + 5.29525e+01 4.88792e+01 4.48060e+01 4.07327e+01 3.66594e+01 3.25862e+01 + 2.85129e+01 2.44396e+01 2.03664e+01 1.62931e+01 1.22198e+01 8.14654e+00 + 4.07327e+00 0.00000e+00 + -117.7369 33.4523 15.4981 -41 89 1.00000e+10 29.6654 1.00000e-01 + 180 150.58 20 0.00 0 0.00 0 + 0.00000e+00 2.35280e+02 4.70560e+02 9.41120e+01 8.82300e+01 8.23480e+01 + 7.64660e+01 7.05840e+01 6.47020e+01 5.88200e+01 5.29380e+01 4.70560e+01 + 4.11740e+01 3.52920e+01 2.94100e+01 2.35280e+01 1.76460e+01 1.17640e+01 + 5.88200e+00 0.00000e+00 + -117.7440 33.4590 15.4981 -41 89 1.00000e+10 29.3426 1.00000e-01 + 180 126.19 20 0.00 0 0.00 0 + 0.00000e+00 1.97168e+02 3.94335e+02 7.88671e+01 7.39379e+01 6.90087e+01 + 6.40795e+01 5.91503e+01 5.42211e+01 4.92919e+01 4.43627e+01 3.94335e+01 + 3.45043e+01 2.95751e+01 2.46460e+01 1.97168e+01 1.47876e+01 9.85838e+00 + 4.92919e+00 0.00000e+00 + -117.7511 33.4658 15.4981 -41 89 1.00000e+10 29.0151 1.00000e-01 + 180 106.61 20 0.00 0 0.00 0 + 0.00000e+00 1.66584e+02 3.33169e+02 6.66338e+01 6.24692e+01 5.83046e+01 + 5.41399e+01 4.99753e+01 4.58107e+01 4.16461e+01 3.74815e+01 3.33169e+01 + 2.91523e+01 2.49877e+01 2.08231e+01 1.66584e+01 1.24938e+01 8.32922e+00 + 4.16461e+00 0.00000e+00 + -117.7582 33.4726 15.4981 -41 89 1.00000e+10 28.6565 1.00000e-01 + 180 118.45 20 0.00 0 0.00 0 + 0.00000e+00 1.85075e+02 3.70150e+02 7.40299e+01 6.94030e+01 6.47762e+01 + 6.01493e+01 5.55224e+01 5.08956e+01 4.62687e+01 4.16418e+01 3.70150e+01 + 3.23881e+01 2.77612e+01 2.31343e+01 1.85075e+01 1.38806e+01 9.25374e+00 + 4.62687e+00 0.00000e+00 + -117.7653 33.4794 15.4981 -41 89 1.00000e+10 28.2983 1.00000e-01 + 180 129.80 20 0.00 0 0.00 0 + 0.00000e+00 2.02812e+02 4.05623e+02 8.11246e+01 7.60543e+01 7.09840e+01 + 6.59137e+01 6.08435e+01 5.57732e+01 5.07029e+01 4.56326e+01 4.05623e+01 + 3.54920e+01 3.04217e+01 2.53514e+01 2.02812e+01 1.52109e+01 1.01406e+01 + 5.07029e+00 0.00000e+00 + -117.7724 33.4861 15.4981 -41 89 1.00000e+10 27.9257 1.00000e-01 + 180 155.76 20 0.00 0 0.00 0 + 0.00000e+00 2.43374e+02 4.86748e+02 9.73497e+01 9.12653e+01 8.51809e+01 + 7.90966e+01 7.30122e+01 6.69279e+01 6.08435e+01 5.47592e+01 4.86748e+01 + 4.25905e+01 3.65061e+01 3.04218e+01 2.43374e+01 1.82531e+01 1.21687e+01 + 6.08435e+00 0.00000e+00 + -117.7796 33.4929 15.4981 -41 89 1.00000e+10 27.5850 1.00000e-01 + 180 149.48 20 0.00 0 0.00 0 + 0.00000e+00 2.33561e+02 4.67122e+02 9.34243e+01 8.75853e+01 8.17463e+01 + 7.59073e+01 7.00682e+01 6.42292e+01 5.83902e+01 5.25512e+01 4.67122e+01 + 4.08731e+01 3.50341e+01 2.91951e+01 2.33561e+01 1.75171e+01 1.16780e+01 + 5.83902e+00 0.00000e+00 + -117.7867 33.4997 15.4981 -41 89 1.00000e+10 27.2502 1.00000e-01 + 180 137.30 20 0.00 0 0.00 0 + 0.00000e+00 2.14529e+02 4.29058e+02 8.58115e+01 8.04483e+01 7.50851e+01 + 6.97219e+01 6.43587e+01 5.89954e+01 5.36322e+01 4.82690e+01 4.29058e+01 + 3.75425e+01 3.21793e+01 2.68161e+01 2.14529e+01 1.60897e+01 1.07264e+01 + 5.36322e+00 0.00000e+00 + -117.7938 33.5064 15.4981 -42 89 1.00000e+10 26.8829 1.00000e-01 + 180 157.92 20 0.00 0 0.00 0 + 0.00000e+00 2.46749e+02 4.93498e+02 9.86996e+01 9.25308e+01 8.63621e+01 + 8.01934e+01 7.40247e+01 6.78559e+01 6.16872e+01 5.55185e+01 4.93498e+01 + 4.31811e+01 3.70123e+01 3.08436e+01 2.46749e+01 1.85062e+01 1.23374e+01 + 6.16872e+00 0.00000e+00 + -117.8015 33.5127 15.4981 -49 89 1.00000e+10 26.5457 1.00000e-01 + 180 148.16 20 0.00 0 0.00 0 + 0.00000e+00 2.31499e+02 4.62998e+02 9.25996e+01 8.68121e+01 8.10246e+01 + 7.52371e+01 6.94497e+01 6.36622e+01 5.78747e+01 5.20873e+01 4.62998e+01 + 4.05123e+01 3.47248e+01 2.89374e+01 2.31499e+01 1.73624e+01 1.15749e+01 + 5.78747e+00 0.00000e+00 + -117.8097 33.5186 15.4981 -49 89 1.00000e+10 26.2402 1.00000e-01 + 180 106.40 20 0.00 0 0.00 0 + 0.00000e+00 1.66250e+02 3.32499e+02 6.64999e+01 6.23436e+01 5.81874e+01 + 5.40311e+01 4.98749e+01 4.57187e+01 4.15624e+01 3.74062e+01 3.32499e+01 + 2.90937e+01 2.49374e+01 2.07812e+01 1.66250e+01 1.24687e+01 8.31248e+00 + 4.15624e+00 0.00000e+00 + -117.8179 33.5245 15.4981 -49 89 1.00000e+10 25.9183 1.00000e-01 + 180 81.21 20 0.00 0 0.00 0 + 0.00000e+00 1.26896e+02 2.53791e+02 5.07582e+01 4.75858e+01 4.44135e+01 + 4.12411e+01 3.80687e+01 3.48963e+01 3.17239e+01 2.85515e+01 2.53791e+01 + 2.22067e+01 1.90343e+01 1.58619e+01 1.26896e+01 9.51717e+00 6.34478e+00 + 3.17239e+00 0.00000e+00 + -117.8260 33.5303 15.4981 -49 89 1.00000e+10 25.6095 1.00000e-01 + 180 42.84 20 0.00 0 0.00 0 + 0.00000e+00 6.69304e+01 1.33861e+02 2.67721e+01 2.50989e+01 2.34256e+01 + 2.17524e+01 2.00791e+01 1.84059e+01 1.67326e+01 1.50593e+01 1.33861e+01 + 1.17128e+01 1.00396e+01 8.36630e+00 6.69304e+00 5.01978e+00 3.34652e+00 + 1.67326e+00 0.00000e+00 + -117.8342 33.5362 15.4981 -49 89 1.00000e+10 25.2950 1.00000e-01 + 180 10.21 20 0.00 0 0.00 0 + 0.00000e+00 1.59572e+01 3.19145e+01 6.38289e+00 5.98396e+00 5.58503e+00 + 5.18610e+00 4.78717e+00 4.38824e+00 3.98931e+00 3.59038e+00 3.19145e+00 + 2.79251e+00 2.39358e+00 1.99465e+00 1.59572e+00 1.19679e+00 7.97861e-01 + 3.98931e-01 0.00000e+00 + -117.8424 33.5421 15.4981 -49 89 1.00000e+10 24.9583 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8506 33.5480 15.4981 -49 89 1.00000e+10 24.6115 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8588 33.5538 15.4981 -49 89 1.00000e+10 24.2647 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8670 33.5597 15.4981 -49 89 1.00000e+10 23.9179 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8751 33.5656 15.4981 -49 89 1.00000e+10 23.5711 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8833 33.5714 15.4981 -49 89 1.00000e+10 23.2244 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -117.8915 33.5773 15.4981 -49 89 1.00000e+10 22.8694 1.00000e-01 + 180 8.28 20 0.00 0 0.00 0 + 0.00000e+00 1.29330e+01 2.58659e+01 5.17318e+00 4.84986e+00 4.52654e+00 + 4.20321e+00 3.87989e+00 3.55656e+00 3.23324e+00 2.90992e+00 2.58659e+00 + 2.26327e+00 1.93994e+00 1.61662e+00 1.29330e+00 9.69972e-01 6.46648e-01 + 3.23324e-01 0.00000e+00 + -117.8997 33.5832 15.4981 -49 89 1.00000e+10 22.5121 1.00000e-01 + 180 18.94 20 0.00 0 0.00 0 + 0.00000e+00 2.96003e+01 5.92005e+01 1.18401e+01 1.11001e+01 1.03601e+01 + 9.62009e+00 8.88008e+00 8.14007e+00 7.40007e+00 6.66006e+00 5.92005e+00 + 5.18005e+00 4.44004e+00 3.70003e+00 2.96003e+00 2.22002e+00 1.48001e+00 + 7.40007e-01 0.00000e+00 + -117.9079 33.5890 15.4981 -49 89 1.00000e+10 22.1287 1.00000e-01 + 180 56.01 20 0.00 0 0.00 0 + 0.00000e+00 8.75140e+01 1.75028e+02 3.50056e+01 3.28177e+01 3.06299e+01 + 2.84420e+01 2.62542e+01 2.40663e+01 2.18785e+01 1.96906e+01 1.75028e+01 + 1.53149e+01 1.31271e+01 1.09392e+01 8.75140e+00 6.56355e+00 4.37570e+00 + 2.18785e+00 0.00000e+00 + -117.9153 33.5956 15.4981 -37 89 1.00000e+10 21.7319 1.00000e-01 + 180 106.57 20 0.00 0 0.00 0 + 0.00000e+00 1.66517e+02 3.33035e+02 6.66070e+01 6.24440e+01 5.82811e+01 + 5.41182e+01 4.99552e+01 4.57923e+01 4.16293e+01 3.74664e+01 3.33035e+01 + 2.91405e+01 2.49776e+01 2.08147e+01 1.66517e+01 1.24888e+01 8.32587e+00 + 4.16293e+00 0.00000e+00 + -117.9218 33.6027 15.4981 -37 89 1.00000e+10 21.3804 1.00000e-01 + 180 111.45 20 0.00 0 0.00 0 + 0.00000e+00 1.74135e+02 3.48271e+02 6.96541e+01 6.53007e+01 6.09474e+01 + 5.65940e+01 5.22406e+01 4.78872e+01 4.35338e+01 3.91804e+01 3.48271e+01 + 3.04737e+01 2.61203e+01 2.17669e+01 1.74135e+01 1.30601e+01 8.70677e+00 + 4.35338e+00 0.00000e+00 + -117.9282 33.6099 15.4981 -37 89 1.00000e+10 21.0628 1.00000e-01 + 180 82.08 20 0.00 0 0.00 0 + 0.00000e+00 1.28254e+02 2.56507e+02 5.13014e+01 4.80951e+01 4.48888e+01 + 4.16824e+01 3.84761e+01 3.52697e+01 3.20634e+01 2.88571e+01 2.56507e+01 + 2.24444e+01 1.92380e+01 1.60317e+01 1.28254e+01 9.61902e+00 6.41268e+00 + 3.20634e+00 0.00000e+00 + -117.9348 33.6171 15.4981 -38 89 1.00000e+10 20.7512 1.00000e-01 + 180 46.78 20 0.00 0 0.00 0 + 0.00000e+00 7.30970e+01 1.46194e+02 2.92388e+01 2.74114e+01 2.55840e+01 + 2.37565e+01 2.19291e+01 2.01017e+01 1.82743e+01 1.64468e+01 1.46194e+01 + 1.27920e+01 1.09646e+01 9.13713e+00 7.30970e+00 5.48228e+00 3.65485e+00 + 1.82743e+00 0.00000e+00 + -117.9416 33.6241 15.4981 -39 89 1.00000e+10 20.4373 1.00000e-01 + 180 13.75 20 0.00 0 0.00 0 + 0.00000e+00 2.14869e+01 4.29739e+01 8.59478e+00 8.05760e+00 7.52043e+00 + 6.98326e+00 6.44608e+00 5.90891e+00 5.37174e+00 4.83456e+00 4.29739e+00 + 3.76022e+00 3.22304e+00 2.68587e+00 2.14869e+00 1.61152e+00 1.07435e+00 + 5.37174e-01 0.00000e+00 + -117.9483 33.6312 15.4981 -39 89 1.00000e+10 20.0914 1.00000e-01 + 180 13.00 20 0.00 0 0.00 0 + 0.00000e+00 2.03063e+01 4.06126e+01 8.12251e+00 7.61485e+00 7.10720e+00 + 6.59954e+00 6.09188e+00 5.58423e+00 5.07657e+00 4.56891e+00 4.06126e+00 + 3.55360e+00 3.04594e+00 2.53828e+00 2.03063e+00 1.52297e+00 1.01531e+00 + 5.07657e-01 0.00000e+00 + -117.9550 33.6382 15.4981 -39 89 1.00000e+10 19.7438 1.00000e-01 + 180 14.09 20 0.00 0 0.00 0 + 0.00000e+00 2.20149e+01 4.40297e+01 8.80594e+00 8.25557e+00 7.70520e+00 + 7.15483e+00 6.60446e+00 6.05408e+00 5.50371e+00 4.95334e+00 4.40297e+00 + 3.85260e+00 3.30223e+00 2.75186e+00 2.20149e+00 1.65111e+00 1.10074e+00 + 5.50371e-01 0.00000e+00 + -117.9617 33.6452 15.4981 -39 89 1.00000e+10 19.3817 1.00000e-01 + 180 29.74 20 0.00 0 0.00 0 + 0.00000e+00 4.64750e+01 9.29500e+01 1.85900e+01 1.74281e+01 1.62662e+01 + 1.51044e+01 1.39425e+01 1.27806e+01 1.16187e+01 1.04569e+01 9.29500e+00 + 8.13312e+00 6.97125e+00 5.80937e+00 4.64750e+00 3.48562e+00 2.32375e+00 + 1.16187e+00 0.00000e+00 + -117.9685 33.6523 15.4981 -39 89 1.00000e+10 19.0271 1.00000e-01 + 180 37.91 20 0.00 0 0.00 0 + 0.00000e+00 5.92294e+01 1.18459e+02 2.36918e+01 2.22110e+01 2.07303e+01 + 1.92496e+01 1.77688e+01 1.62881e+01 1.48074e+01 1.33266e+01 1.18459e+01 + 1.03651e+01 8.88441e+00 7.40368e+00 5.92294e+00 4.44221e+00 2.96147e+00 + 1.48074e+00 0.00000e+00 + -117.9752 33.6593 15.4981 -39 89 1.00000e+10 18.7145 1.00000e-01 + 180 3.69 20 0.00 0 0.00 0 + 0.00000e+00 5.76548e+00 1.15310e+01 2.30619e+00 2.16206e+00 2.01792e+00 + 1.87378e+00 1.72964e+00 1.58551e+00 1.44137e+00 1.29723e+00 1.15310e+00 + 1.00896e+00 8.64822e-01 7.20685e-01 5.76548e-01 4.32411e-01 2.88274e-01 + 1.44137e-01 0.00000e+00 + -117.9819 33.6664 15.4981 -39 89 1.00000e+10 18.3485 1.00000e-01 + 180 23.34 20 0.00 0 0.00 0 + 0.00000e+00 3.64638e+01 7.29276e+01 1.45855e+01 1.36739e+01 1.27623e+01 + 1.18507e+01 1.09391e+01 1.00275e+01 9.11594e+00 8.20435e+00 7.29276e+00 + 6.38116e+00 5.46957e+00 4.55797e+00 3.64638e+00 2.73478e+00 1.82319e+00 + 9.11595e-01 0.00000e+00 + -117.9889 33.6733 15.4981 -41 89 1.00000e+10 17.9634 1.00000e-01 + 180 62.33 20 0.00 0 0.00 0 + 0.00000e+00 9.73937e+01 1.94787e+02 3.89575e+01 3.65227e+01 3.40878e+01 + 3.16530e+01 2.92181e+01 2.67833e+01 2.43484e+01 2.19136e+01 1.94787e+01 + 1.70439e+01 1.46091e+01 1.21742e+01 9.73937e+00 7.30453e+00 4.86969e+00 + 2.43484e+00 0.00000e+00 + -117.9968 33.6792 15.4981 -54 89 1.00000e+10 17.5935 1.00000e-01 + 180 86.09 20 0.00 0 0.00 0 + 0.00000e+00 1.34508e+02 2.69016e+02 5.38031e+01 5.04404e+01 4.70777e+01 + 4.37150e+01 4.03524e+01 3.69897e+01 3.36270e+01 3.02643e+01 2.69016e+01 + 2.35389e+01 2.01762e+01 1.68135e+01 1.34508e+01 1.00881e+01 6.72539e+00 + 3.36270e+00 0.00000e+00 + -118.0056 33.6845 15.4981 -54 89 1.00000e+10 17.2706 1.00000e-01 + 180 62.29 20 0.00 0 0.00 0 + 0.00000e+00 9.73234e+01 1.94647e+02 3.89294e+01 3.64963e+01 3.40632e+01 + 3.16301e+01 2.91970e+01 2.67639e+01 2.43309e+01 2.18978e+01 1.94647e+01 + 1.70316e+01 1.45985e+01 1.21654e+01 9.73234e+00 7.29926e+00 4.86617e+00 + 2.43309e+00 0.00000e+00 + -118.0144 33.6897 15.4981 -54 89 1.00000e+10 16.9515 1.00000e-01 + 180 34.78 20 0.00 0 0.00 0 + 0.00000e+00 5.43498e+01 1.08700e+02 2.17399e+01 2.03812e+01 1.90224e+01 + 1.76637e+01 1.63049e+01 1.49462e+01 1.35875e+01 1.22287e+01 1.08700e+01 + 9.51122e+00 8.15247e+00 6.79373e+00 5.43498e+00 4.07624e+00 2.71749e+00 + 1.35875e+00 0.00000e+00 + -118.0232 33.6949 15.4981 -54 89 1.00000e+10 16.6253 1.00000e-01 + 180 14.50 20 0.00 0 0.00 0 + 0.00000e+00 2.26511e+01 4.53021e+01 9.06042e+00 8.49415e+00 7.92787e+00 + 7.36159e+00 6.79532e+00 6.22904e+00 5.66276e+00 5.09649e+00 4.53021e+00 + 3.96393e+00 3.39766e+00 2.83138e+00 2.26511e+00 1.69883e+00 1.13255e+00 + 5.66276e-01 0.00000e+00 + -118.0320 33.7001 15.4981 -54 89 1.00000e+10 16.2550 1.00000e-01 + 180 38.79 20 0.00 0 0.00 0 + 0.00000e+00 6.06090e+01 1.21218e+02 2.42436e+01 2.27284e+01 2.12132e+01 + 1.96979e+01 1.81827e+01 1.66675e+01 1.51523e+01 1.36370e+01 1.21218e+01 + 1.06066e+01 9.09135e+00 7.57613e+00 6.06090e+00 4.54568e+00 3.03045e+00 + 1.51523e+00 0.00000e+00 + -118.0407 33.7055 15.4981 -53 89 1.00000e+10 15.8845 1.00000e-01 + 180 63.25 20 0.00 0 0.00 0 + 0.00000e+00 9.88227e+01 1.97645e+02 3.95291e+01 3.70585e+01 3.45879e+01 + 3.21174e+01 2.96468e+01 2.71762e+01 2.47057e+01 2.22351e+01 1.97645e+01 + 1.72940e+01 1.48234e+01 1.23528e+01 9.88227e+00 7.41170e+00 4.94113e+00 + 2.47057e+00 0.00000e+00 + -118.0492 33.7111 15.4981 -50 89 1.00000e+10 15.5457 1.00000e-01 + 180 55.76 20 0.00 0 0.00 0 + 0.00000e+00 8.71286e+01 1.74257e+02 3.48515e+01 3.26732e+01 3.04950e+01 + 2.83168e+01 2.61386e+01 2.39604e+01 2.17822e+01 1.96039e+01 1.74257e+01 + 1.52475e+01 1.30693e+01 1.08911e+01 8.71286e+00 6.53465e+00 4.35643e+00 + 2.17822e+00 0.00000e+00 + -118.0574 33.7170 15.4981 -48 89 1.00000e+10 15.2143 1.00000e-01 + 180 40.93 20 0.00 0 0.00 0 + 0.00000e+00 6.39454e+01 1.27891e+02 2.55782e+01 2.39795e+01 2.23809e+01 + 2.07823e+01 1.91836e+01 1.75850e+01 1.59863e+01 1.43877e+01 1.27891e+01 + 1.11904e+01 9.59181e+00 7.99317e+00 6.39454e+00 4.79590e+00 3.19727e+00 + 1.59863e+00 0.00000e+00 + -118.0642 33.7238 15.4981 -31 89 1.00000e+10 14.8804 1.00000e-01 + 180 28.57 20 0.00 0 0.00 0 + 0.00000e+00 4.46329e+01 8.92658e+01 1.78532e+01 1.67373e+01 1.56215e+01 + 1.45057e+01 1.33899e+01 1.22740e+01 1.11582e+01 1.00424e+01 8.92658e+00 + 7.81076e+00 6.69493e+00 5.57911e+00 4.46329e+00 3.34747e+00 2.23164e+00 + 1.11582e+00 0.00000e+00 + -118.0697 33.7315 15.4981 -31 89 1.00000e+10 14.5166 1.00000e-01 + 180 46.45 20 0.00 0 0.00 0 + 0.00000e+00 7.25834e+01 1.45167e+02 2.90333e+01 2.72188e+01 2.54042e+01 + 2.35896e+01 2.17750e+01 1.99604e+01 1.81458e+01 1.63313e+01 1.45167e+01 + 1.27021e+01 1.08875e+01 9.07292e+00 7.25834e+00 5.44375e+00 3.62917e+00 + 1.81458e+00 0.00000e+00 + -118.0763 33.7386 15.4981 -44 89 1.00000e+10 14.1313 1.00000e-01 + 180 86.17 20 0.00 0 0.00 0 + 0.00000e+00 1.34638e+02 2.69276e+02 5.38551e+01 5.04892e+01 4.71232e+01 + 4.37573e+01 4.03913e+01 3.70254e+01 3.36595e+01 3.02935e+01 2.69276e+01 + 2.35616e+01 2.01957e+01 1.68297e+01 1.34638e+01 1.00978e+01 6.73189e+00 + 3.36595e+00 0.00000e+00 + -118.0840 33.7448 15.4981 -47 89 1.00000e+10 13.7613 1.00000e-01 + 180 110.45 20 0.00 0 0.00 0 + 0.00000e+00 1.72574e+02 3.45148e+02 6.90295e+01 6.47152e+01 6.04009e+01 + 5.60865e+01 5.17722e+01 4.74578e+01 4.31435e+01 3.88291e+01 3.45148e+01 + 3.02004e+01 2.58861e+01 2.15717e+01 1.72574e+01 1.29430e+01 8.62869e+00 + 4.31435e+00 0.00000e+00 + -118.0920 33.7509 15.4981 -47 89 1.00000e+10 13.4064 1.00000e-01 + 180 119.53 20 0.00 0 0.00 0 + 0.00000e+00 1.86762e+02 3.73525e+02 7.47049e+01 7.00358e+01 6.53668e+01 + 6.06977e+01 5.60287e+01 5.13596e+01 4.66906e+01 4.20215e+01 3.73525e+01 + 3.26834e+01 2.80143e+01 2.33453e+01 1.86762e+01 1.40072e+01 9.33811e+00 + 4.66906e+00 0.00000e+00 + -118.0999 33.7571 15.4981 -47 89 1.00000e+10 13.0602 1.00000e-01 + 180 119.97 20 0.00 0 0.00 0 + 0.00000e+00 1.87460e+02 3.74920e+02 7.49840e+01 7.02975e+01 6.56110e+01 + 6.09245e+01 5.62380e+01 5.15515e+01 4.68650e+01 4.21785e+01 3.74920e+01 + 3.28055e+01 2.81190e+01 2.34325e+01 1.87460e+01 1.40595e+01 9.37300e+00 + 4.68650e+00 0.00000e+00 + -118.1078 33.7632 15.4981 -47 89 1.00000e+10 12.7175 1.00000e-01 + 180 116.92 20 0.00 0 0.00 0 + 0.00000e+00 1.82692e+02 3.65384e+02 7.30767e+01 6.85094e+01 6.39421e+01 + 5.93748e+01 5.48075e+01 5.02402e+01 4.56729e+01 4.11057e+01 3.65384e+01 + 3.19711e+01 2.74038e+01 2.28365e+01 1.82692e+01 1.37019e+01 9.13459e+00 + 4.56729e+00 0.00000e+00 + -118.1161 33.7690 15.4981 -52 89 1.00000e+10 12.3412 1.00000e-01 + 180 147.84 20 0.00 0 0.00 0 + 0.00000e+00 2.31004e+02 4.62009e+02 9.24018e+01 8.66267e+01 8.08516e+01 + 7.50764e+01 6.93013e+01 6.35262e+01 5.77511e+01 5.19760e+01 4.62009e+01 + 4.04258e+01 3.46507e+01 2.88756e+01 2.31004e+01 1.73253e+01 1.15502e+01 + 5.77511e+00 0.00000e+00 + -118.1246 33.7745 15.4981 -52 89 1.00000e+10 11.9822 1.00000e-01 + 180 161.44 20 0.00 0 0.00 0 + 0.00000e+00 2.52243e+02 5.04485e+02 1.00897e+02 9.45910e+01 8.82849e+01 + 8.19788e+01 7.56728e+01 6.93667e+01 6.30606e+01 5.67546e+01 5.04485e+01 + 4.41425e+01 3.78364e+01 3.15303e+01 2.52243e+01 1.89182e+01 1.26121e+01 + 6.30606e+00 0.00000e+00 + -118.1331 33.7801 15.4981 -52 89 1.00000e+10 11.6424 1.00000e-01 + 180 155.72 20 0.00 0 0.00 0 + 0.00000e+00 2.43311e+02 4.86622e+02 9.73244e+01 9.12416e+01 8.51589e+01 + 7.90761e+01 7.29933e+01 6.69105e+01 6.08278e+01 5.47450e+01 4.86622e+01 + 4.25794e+01 3.64967e+01 3.04139e+01 2.43311e+01 1.82483e+01 1.21656e+01 + 6.08278e+00 0.00000e+00 + -118.1417 33.7856 15.4981 -52 89 1.00000e+10 11.2811 1.00000e-01 + 180 171.83 20 0.00 0 0.00 0 + 0.00000e+00 2.68483e+02 5.36965e+02 1.07393e+02 1.00681e+02 9.39689e+01 + 8.72569e+01 8.05448e+01 7.38327e+01 6.71207e+01 6.04086e+01 5.36965e+01 + 4.69845e+01 4.02724e+01 3.35603e+01 2.68483e+01 2.01362e+01 1.34241e+01 + 6.71207e+00 0.00000e+00 + -118.1501 33.7913 15.4981 -51 89 1.00000e+10 10.9409 1.00000e-01 + 180 166.78 20 0.00 0 0.00 0 + 0.00000e+00 2.60586e+02 5.21172e+02 1.04234e+02 9.77198e+01 9.12052e+01 + 8.46905e+01 7.81758e+01 7.16612e+01 6.51465e+01 5.86319e+01 5.21172e+01 + 4.56026e+01 3.90879e+01 3.25733e+01 2.60586e+01 1.95440e+01 1.30293e+01 + 6.51465e+00 0.00000e+00 + -118.1585 33.7970 15.4981 -50 89 1.00000e+10 10.5780 1.00000e-01 + 180 184.66 20 0.00 0 0.00 0 + 0.00000e+00 2.88533e+02 5.77066e+02 1.15413e+02 1.08200e+02 1.00986e+02 + 9.37732e+01 8.65599e+01 7.93465e+01 7.21332e+01 6.49199e+01 5.77066e+01 + 5.04932e+01 4.32799e+01 3.60666e+01 2.88533e+01 2.16400e+01 1.44266e+01 + 7.21332e+00 0.00000e+00 + -118.1668 33.8027 15.4981 -50 89 1.00000e+10 10.2396 1.00000e-01 + 180 178.07 20 0.00 0 0.00 0 + 0.00000e+00 2.78241e+02 5.56481e+02 1.11296e+02 1.04340e+02 9.73842e+01 + 9.04282e+01 8.34722e+01 7.65162e+01 6.95601e+01 6.26041e+01 5.56481e+01 + 4.86921e+01 4.17361e+01 3.47801e+01 2.78241e+01 2.08680e+01 1.39120e+01 + 6.95601e+00 0.00000e+00 + -118.1752 33.8084 15.4981 -50 89 1.00000e+10 9.9117 1.00000e-01 + 180 161.02 20 0.00 0 0.00 0 + 0.00000e+00 2.51587e+02 5.03175e+02 1.00635e+02 9.43453e+01 8.80556e+01 + 8.17659e+01 7.54762e+01 6.91865e+01 6.28968e+01 5.66072e+01 5.03175e+01 + 4.40278e+01 3.77381e+01 3.14484e+01 2.51587e+01 1.88691e+01 1.25794e+01 + 6.28968e+00 0.00000e+00 + -118.1835 33.8142 15.4981 -50 89 1.00000e+10 9.6100 1.00000e-01 + 180 117.72 20 0.00 0 0.00 0 + 0.00000e+00 1.83937e+02 3.67875e+02 7.35749e+01 6.89765e+01 6.43781e+01 + 5.97796e+01 5.51812e+01 5.05828e+01 4.59843e+01 4.13859e+01 3.67875e+01 + 3.21890e+01 2.75906e+01 2.29922e+01 1.83937e+01 1.37953e+01 9.19687e+00 + 4.59843e+00 0.00000e+00 + -118.1919 33.8199 15.4981 -50 89 1.00000e+10 9.3171 1.00000e-01 + 180 65.69 20 0.00 0 0.00 0 + 0.00000e+00 1.02646e+02 2.05292e+02 4.10585e+01 3.84923e+01 3.59262e+01 + 3.33600e+01 3.07938e+01 2.82277e+01 2.56615e+01 2.30954e+01 2.05292e+01 + 1.79631e+01 1.53969e+01 1.28308e+01 1.02646e+01 7.69846e+00 5.13231e+00 + 2.56615e+00 0.00000e+00 + -118.2002 33.8256 15.4981 -50 89 1.00000e+10 8.9745 1.00000e-01 + 180 64.10 20 0.00 0 0.00 0 + 0.00000e+00 1.00156e+02 2.00312e+02 4.00624e+01 3.75585e+01 3.50546e+01 + 3.25507e+01 3.00468e+01 2.75429e+01 2.50390e+01 2.25351e+01 2.00312e+01 + 1.75273e+01 1.50234e+01 1.25195e+01 1.00156e+01 7.51170e+00 5.00780e+00 + 2.50390e+00 0.00000e+00 + -118.2084 33.8315 15.4981 -49 89 1.00000e+10 8.6333 1.00000e-01 + 180 61.22 20 0.00 0 0.00 0 + 0.00000e+00 9.56543e+01 1.91309e+02 3.82617e+01 3.58704e+01 3.34790e+01 + 3.10876e+01 2.86963e+01 2.63049e+01 2.39136e+01 2.15222e+01 1.91309e+01 + 1.67395e+01 1.43481e+01 1.19568e+01 9.56543e+00 7.17407e+00 4.78271e+00 + 2.39136e+00 0.00000e+00 + -118.2169 33.8371 15.4981 -54 89 1.00000e+10 8.2952 1.00000e-01 + 180 55.52 20 0.00 0 0.00 0 + 0.00000e+00 8.67482e+01 1.73496e+02 3.46993e+01 3.25306e+01 3.03619e+01 + 2.81932e+01 2.60244e+01 2.38557e+01 2.16870e+01 1.95183e+01 1.73496e+01 + 1.51809e+01 1.30122e+01 1.08435e+01 8.67482e+00 6.50611e+00 4.33741e+00 + 2.16870e+00 0.00000e+00 + -118.2257 33.8424 15.4981 -54 89 1.00000e+10 7.9443 1.00000e-01 + 180 63.14 20 0.00 0 0.00 0 + 0.00000e+00 9.86568e+01 1.97314e+02 3.94627e+01 3.69963e+01 3.45299e+01 + 3.20634e+01 2.95970e+01 2.71306e+01 2.46642e+01 2.21978e+01 1.97314e+01 + 1.72649e+01 1.47985e+01 1.23321e+01 9.86568e+00 7.39926e+00 4.93284e+00 + 2.46642e+00 0.00000e+00 + -118.2330 33.8488 15.4981 -33 89 1.00000e+10 7.5773 1.00000e-01 + 180 87.17 20 0.00 0 0.00 0 + 0.00000e+00 1.36208e+02 2.72417e+02 5.44833e+01 5.10781e+01 4.76729e+01 + 4.42677e+01 4.08625e+01 3.74573e+01 3.40521e+01 3.06469e+01 2.72417e+01 + 2.38365e+01 2.04312e+01 1.70260e+01 1.36208e+01 1.02156e+01 6.81042e+00 + 3.40521e+00 0.00000e+00 + -118.2389 33.8564 15.4981 -33 89 1.00000e+10 7.1836 1.00000e-01 + 180 138.67 20 0.00 0 0.00 0 + 0.00000e+00 2.16674e+02 4.33348e+02 8.66697e+01 8.12528e+01 7.58360e+01 + 7.04191e+01 6.50023e+01 5.95854e+01 5.41686e+01 4.87517e+01 4.33348e+01 + 3.79180e+01 3.25011e+01 2.70843e+01 2.16674e+01 1.62506e+01 1.08337e+01 + 5.41686e+00 0.00000e+00 + -118.2448 33.8639 15.4981 -33 89 1.00000e+10 6.8331 1.00000e-01 + 180 146.99 20 0.00 0 0.00 0 + 0.00000e+00 2.29674e+02 4.59348e+02 9.18696e+01 8.61277e+01 8.03859e+01 + 7.46440e+01 6.89022e+01 6.31603e+01 5.74185e+01 5.16766e+01 4.59348e+01 + 4.01929e+01 3.44511e+01 2.87092e+01 2.29674e+01 1.72255e+01 1.14837e+01 + 5.74185e+00 0.00000e+00 + -118.2507 33.8715 15.4981 -33 89 1.00000e+10 6.5037 1.00000e-01 + 180 134.54 20 0.00 0 0.00 0 + 0.00000e+00 2.10221e+02 4.20442e+02 8.40883e+01 7.88328e+01 7.35773e+01 + 6.83218e+01 6.30662e+01 5.78107e+01 5.25552e+01 4.72997e+01 4.20442e+01 + 3.67886e+01 3.15331e+01 2.62776e+01 2.10221e+01 1.57666e+01 1.05110e+01 + 5.25552e+00 0.00000e+00 + -118.2566 33.8790 15.4981 -33 89 1.00000e+10 6.1651 1.00000e-01 + 180 131.91 20 0.00 0 0.00 0 + 0.00000e+00 2.06115e+02 4.12231e+02 8.24461e+01 7.72933e+01 7.21404e+01 + 6.69875e+01 6.18346e+01 5.66817e+01 5.15288e+01 4.63760e+01 4.12231e+01 + 3.60702e+01 3.09173e+01 2.57644e+01 2.06115e+01 1.54587e+01 1.03058e+01 + 5.15288e+00 0.00000e+00 + -118.2627 33.8865 15.4981 -35 89 1.00000e+10 5.8657 1.00000e-01 + 180 90.47 20 0.00 0 0.00 0 + 0.00000e+00 1.41354e+02 2.82707e+02 5.65414e+01 5.30076e+01 4.94738e+01 + 4.59399e+01 4.24061e+01 3.88722e+01 3.53384e+01 3.18046e+01 2.82707e+01 + 2.47369e+01 2.12030e+01 1.76692e+01 1.41354e+01 1.06015e+01 7.06768e+00 + 3.53384e+00 0.00000e+00 + -118.2690 33.8938 15.4981 -36 89 1.00000e+10 5.5746 1.00000e-01 + 180 41.50 20 0.00 0 0.00 0 + 0.00000e+00 6.48376e+01 1.29675e+02 2.59350e+01 2.43141e+01 2.26931e+01 + 2.10722e+01 1.94513e+01 1.78303e+01 1.62094e+01 1.45885e+01 1.29675e+01 + 1.13466e+01 9.72564e+00 8.10470e+00 6.48376e+00 4.86282e+00 3.24188e+00 + 1.62094e+00 0.00000e+00 + -118.2755 33.9010 15.4981 -36 89 1.00000e+10 5.2723 1.00000e-01 + 180 4.75 20 0.00 0 0.00 0 + 0.00000e+00 7.41940e+00 1.48388e+01 2.96776e+00 2.78228e+00 2.59679e+00 + 2.41131e+00 2.22582e+00 2.04034e+00 1.85485e+00 1.66937e+00 1.48388e+00 + 1.29840e+00 1.11291e+00 9.27426e-01 7.41940e-01 5.56455e-01 3.70970e-01 + 1.85485e-01 0.00000e+00 + -118.2819 33.9082 15.4981 -36 89 1.00000e+10 4.9395 1.00000e-01 + 180 0.00 20 0.00 0 0.00 0 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 + -118.2882 33.9156 15.4981 -35 89 1.00000e+10 4.5882 1.00000e-01 + 180 15.33 20 0.00 0 0.00 0 + 0.00000e+00 2.39606e+01 4.79212e+01 9.58424e+00 8.98522e+00 8.38621e+00 + 7.78719e+00 7.18818e+00 6.58916e+00 5.99015e+00 5.39113e+00 4.79212e+00 + 4.19310e+00 3.59409e+00 2.99507e+00 2.39606e+00 1.79704e+00 1.19803e+00 + 5.99015e-01 0.00000e+00 + -118.2943 33.9230 15.4981 -34 89 1.00000e+10 4.2406 1.00000e-01 + 180 28.67 20 0.00 0 0.00 0 + 0.00000e+00 4.47956e+01 8.95913e+01 1.79183e+01 1.67984e+01 1.56785e+01 + 1.45586e+01 1.34387e+01 1.23188e+01 1.11989e+01 1.00790e+01 8.95913e+00 + 7.83924e+00 6.71935e+00 5.59946e+00 4.47956e+00 3.35967e+00 2.23978e+00 + 1.11989e+00 0.00000e+00 + -118.3011 33.9296 15.4981 -47 89 1.00000e+10 3.8776 1.00000e-01 + 180 59.80 20 0.00 0 0.00 0 + 0.00000e+00 9.34390e+01 1.86878e+02 3.73756e+01 3.50396e+01 3.27036e+01 + 3.03677e+01 2.80317e+01 2.56957e+01 2.33597e+01 2.10238e+01 1.86878e+01 + 1.63518e+01 1.40158e+01 1.16799e+01 9.34390e+00 7.00792e+00 4.67195e+00 + 2.33597e+00 0.00000e+00 + -118.3102 33.9334 15.4981 -78 89 1.00000e+10 3.5234 1.00000e-01 + 180 84.90 20 0.00 0 0.00 0 + 0.00000e+00 1.32664e+02 2.65328e+02 5.30655e+01 4.97489e+01 4.64323e+01 + 4.31157e+01 3.97991e+01 3.64825e+01 3.31659e+01 2.98494e+01 2.65328e+01 + 2.32162e+01 1.98996e+01 1.65830e+01 1.32664e+01 9.94979e+00 6.63319e+00 + 3.31659e+00 0.00000e+00 + -118.3184 33.9381 15.4981 -33 89 1.00000e+10 3.1971 1.00000e-01 + 180 85.45 20 0.00 0 0.00 0 + 0.00000e+00 1.33518e+02 2.67036e+02 5.34073e+01 5.00693e+01 4.67314e+01 + 4.33934e+01 4.00555e+01 3.67175e+01 3.33796e+01 3.00416e+01 2.67036e+01 + 2.33657e+01 2.00277e+01 1.66898e+01 1.33518e+01 1.00139e+01 6.67591e+00 + 3.33796e+00 0.00000e+00 + -118.3242 33.9456 15.4981 -32 89 1.00000e+10 2.9006 1.00000e-01 + 180 60.68 20 0.00 0 0.00 0 + 0.00000e+00 9.48183e+01 1.89637e+02 3.79273e+01 3.55569e+01 3.31864e+01 + 3.08159e+01 2.84455e+01 2.60750e+01 2.37046e+01 2.13341e+01 1.89637e+01 + 1.65932e+01 1.42227e+01 1.18523e+01 9.48183e+00 7.11137e+00 4.74091e+00 + 2.37046e+00 0.00000e+00 + -118.3315 33.9519 15.4981 -56 89 1.00000e+10 2.5739 1.00000e-01 + 180 72.99 20 0.00 0 0.00 0 + 0.00000e+00 1.14042e+02 2.28084e+02 4.56169e+01 4.27658e+01 3.99148e+01 + 3.70637e+01 3.42127e+01 3.13616e+01 2.85106e+01 2.56595e+01 2.28084e+01 + 1.99574e+01 1.71063e+01 1.42553e+01 1.14042e+01 8.55317e+00 5.70211e+00 + 2.85106e+00 0.00000e+00 + -118.3405 33.9570 15.4981 -56 89 1.00000e+10 2.2599 1.00000e-01 + 180 81.45 20 0.00 0 0.00 0 + 0.00000e+00 1.27271e+02 2.54541e+02 5.09082e+01 4.77264e+01 4.45447e+01 + 4.13629e+01 3.81812e+01 3.49994e+01 3.18176e+01 2.86359e+01 2.54541e+01 + 2.22723e+01 1.90906e+01 1.59088e+01 1.27271e+01 9.54529e+00 6.36353e+00 + 3.18176e+00 0.00000e+00 + -118.3484 33.9626 15.4981 -42 89 1.00000e+10 1.9779 1.00000e-01 + 180 70.70 20 0.00 0 0.00 0 + 0.00000e+00 1.10466e+02 2.20932e+02 4.41865e+01 4.14248e+01 3.86632e+01 + 3.59015e+01 3.31399e+01 3.03782e+01 2.76165e+01 2.48549e+01 2.20932e+01 + 1.93316e+01 1.65699e+01 1.38083e+01 1.10466e+01 8.28496e+00 5.52331e+00 + 2.76165e+00 0.00000e+00 + -118.3529 33.9702 15.4981 -12 89 1.00000e+10 1.7012 1.00000e-01 + 180 73.73 20 0.00 0 0.00 0 + 0.00000e+00 1.15198e+02 2.30397e+02 4.60794e+01 4.31994e+01 4.03195e+01 + 3.74395e+01 3.45595e+01 3.16796e+01 2.87996e+01 2.59197e+01 2.30397e+01 + 2.01597e+01 1.72798e+01 1.43998e+01 1.15198e+01 8.63989e+00 5.75992e+00 + 2.87996e+00 0.00000e+00 + -118.3552 33.9790 15.4981 -12 89 1.00000e+10 1.4625 1.00000e-01 + 180 67.47 20 0.00 0 0.00 0 + 0.00000e+00 1.05426e+02 2.10852e+02 4.21704e+01 3.95347e+01 3.68991e+01 + 3.42634e+01 3.16278e+01 2.89921e+01 2.63565e+01 2.37208e+01 2.10852e+01 + 1.84495e+01 1.58139e+01 1.31782e+01 1.05426e+01 7.90694e+00 5.27130e+00 + 2.63565e+00 0.00000e+00 + -118.3578 33.9877 15.4981 -15 89 1.00000e+10 1.2572 1.00000e-01 + 180 71.94 20 0.00 0 0.00 0 + 0.00000e+00 1.12400e+02 2.24800e+02 4.49599e+01 4.21499e+01 3.93399e+01 + 3.65299e+01 3.37199e+01 3.09099e+01 2.80999e+01 2.52899e+01 2.24800e+01 + 1.96700e+01 1.68600e+01 1.40500e+01 1.12400e+01 8.42998e+00 5.61999e+00 + 2.80999e+00 0.00000e+00 + -118.3613 33.9962 15.4981 -23 89 1.00000e+10 1.1206 1.00000e-01 + 180 72.74 20 0.00 0 0.00 0 + 0.00000e+00 1.13650e+02 2.27300e+02 4.54600e+01 4.26188e+01 3.97775e+01 + 3.69363e+01 3.40950e+01 3.12538e+01 2.84125e+01 2.55713e+01 2.27300e+01 + 1.98888e+01 1.70475e+01 1.42063e+01 1.13650e+01 8.52375e+00 5.68250e+00 + 2.84125e+00 0.00000e+00 + -118.3656 34.0044 15.4981 -24 89 1.00000e+10 1.0905 1.00000e-01 + 180 54.02 20 0.00 0 0.00 0 + 0.00000e+00 8.43988e+01 1.68798e+02 3.37595e+01 3.16496e+01 2.95396e+01 + 2.74296e+01 2.53196e+01 2.32097e+01 2.10997e+01 1.89897e+01 1.68798e+01 + 1.47698e+01 1.26598e+01 1.05499e+01 8.43988e+00 6.32991e+00 4.21994e+00 + 2.10997e+00 0.00000e+00 + -118.3700 34.0127 15.4981 -24 89 1.00000e+10 1.1616 1.00000e-01 + 180 31.35 20 0.00 0 0.00 0 + 0.00000e+00 4.89843e+01 9.79687e+01 1.95937e+01 1.83691e+01 1.71445e+01 + 1.59199e+01 1.46953e+01 1.34707e+01 1.22461e+01 1.10215e+01 9.79687e+00 + 8.57226e+00 7.34765e+00 6.12304e+00 4.89843e+00 3.67383e+00 2.44922e+00 + 1.22461e+00 0.00000e+00 + -118.3745 34.0209 15.4981 -24 89 1.00000e+10 1.3086 1.00000e-01 + 180 20.05 20 0.00 0 0.00 0 + 0.00000e+00 3.13315e+01 6.26629e+01 1.25326e+01 1.17493e+01 1.09660e+01 + 1.01827e+01 9.39944e+00 8.61615e+00 7.83287e+00 7.04958e+00 6.26629e+00 + 5.48301e+00 4.69972e+00 3.91643e+00 3.13315e+00 2.34986e+00 1.56657e+00 + 7.83287e-01 0.00000e+00 + -118.3790 34.0291 15.4981 -24 89 1.00000e+10 1.5202 1.00000e-01 + 180 9.32 20 0.00 0 0.00 0 + 0.00000e+00 1.45650e+01 2.91301e+01 5.82602e+00 5.46189e+00 5.09776e+00 + 4.73364e+00 4.36951e+00 4.00539e+00 3.64126e+00 3.27713e+00 2.91301e+00 + 2.54888e+00 2.18476e+00 1.82063e+00 1.45650e+00 1.09238e+00 7.28252e-01 + 3.64126e-01 0.00000e+00 Added: SwiftApps/Cybershake/app/post/testing/peak.sh =================================================================== --- SwiftApps/Cybershake/app/post/testing/peak.sh (rev 0) +++ SwiftApps/Cybershake/app/post/testing/peak.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,8 @@ +/home/ketan/cybershake/post/SpectralAcceleration/p2utils/surfseis_rspectra \ + simulation_out_pointsX=2 simulation_out_pointsY=1 \ + simulation_out_timesamples=3000 simulation_out_timeskip=0.1 \ + surfseis_rspectra_seismogram_units=cmpersec \ + surfseis_rspectra_output_units=cmpersec2 surfseis_rspectra_output_type=aa \ + surfseis_rspectra_period=all surfseis_rspectra_apply_filter_highHZ=5.0 \ + surfseis_rspectra_apply_byteswap=no \ + in=Seismogram_TEST_218_256_127.grm out=PeakVals_TEST_218_256_127.bsa Property changes on: SwiftApps/Cybershake/app/post/testing/peak.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/testing/seis.sh =================================================================== --- SwiftApps/Cybershake/app/post/testing/seis.sh (rev 0) +++ SwiftApps/Cybershake/app/post/testing/seis.sh 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,6 @@ +/home/ketan/cybershake/post/JBSim3d/bin/jbsim3d \ + stat=TEST slon=-118.286 slat=34.0192 extract_sgt=0 \ + outputBinary=1 mergeOutput=1 ntout=3000 \ + rupmodfile=links/218_256.txt.variation-s0015-h0007 \ + sgt_xfile=TEST_218_256_subfx.sgt sgt_yfile=TEST_218_256_subfy.sgt \ + seis_file=Seismogram_TEST_218_256_127.grm Property changes on: SwiftApps/Cybershake/app/post/testing/seis.sh ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/Cybershake/app/post/trusted.caches =================================================================== --- SwiftApps/Cybershake/app/post/trusted.caches (rev 0) +++ SwiftApps/Cybershake/app/post/trusted.caches 2012-02-21 00:26:50 UTC (rev 5660) @@ -0,0 +1,5 @@ +# +# - List of trusted Pacman Caches - +# +# Pacman will modify this file, but you can also edit it by hand at any time. +#