diff options
author | Ben Lippmeier <benl@ouroborus.net> | 2011-12-12 15:08:12 +1100 |
---|---|---|
committer | Ben Lippmeier <benl@ouroborus.net> | 2011-12-12 15:08:12 +1100 |
commit | 5e3f60e72ad386f654da32b66b2b5cf3e250931f (patch) | |
tree | 3d7ee10a5c47c8efdde647dd1786c20529782279 /testsuite/tests/dph | |
parent | db2d096693f75ae019012cb05949a5749e0a8dc0 (diff) | |
download | haskell-5e3f60e72ad386f654da32b66b2b5cf3e250931f.tar.gz |
dph: duplicate copy tests as vseg tests
Diffstat (limited to 'testsuite/tests/dph')
30 files changed, 2169 insertions, 15 deletions
diff --git a/testsuite/tests/dph/classes/dph-classes.T b/testsuite/tests/dph/classes/dph-classes.T index 566c64a0e8..f8b26978ee 100644 --- a/testsuite/tests/dph/classes/dph-classes.T +++ b/testsuite/tests/dph/classes/dph-classes.T @@ -1,4 +1,4 @@ -test ('dph-classes-fast' +test ('dph-classes-copy-fast' , [ extra_clean(['Main.o', 'Main.hi', 'DefsVect.hi', 'DefsVect.o']) , reqlib('dph-lifted-copy') , reqlib('dph-prim-par') diff --git a/testsuite/tests/dph/diophantine/dph-diophantine-fast.stdout b/testsuite/tests/dph/diophantine/dph-diophantine-copy-fast.stdout index 3fe0f66bd1..3fe0f66bd1 100644 --- a/testsuite/tests/dph/diophantine/dph-diophantine-fast.stdout +++ b/testsuite/tests/dph/diophantine/dph-diophantine-copy-fast.stdout diff --git a/testsuite/tests/dph/diophantine/dph-diophantine-opt.stdout b/testsuite/tests/dph/diophantine/dph-diophantine-copy-opt.stdout index 3fe0f66bd1..3fe0f66bd1 100644 --- a/testsuite/tests/dph/diophantine/dph-diophantine-opt.stdout +++ b/testsuite/tests/dph/diophantine/dph-diophantine-copy-opt.stdout diff --git a/testsuite/tests/dph/diophantine/dph-diophantine.T b/testsuite/tests/dph/diophantine/dph-diophantine.T index b926181d15..86f149ad75 100644 --- a/testsuite/tests/dph/diophantine/dph-diophantine.T +++ b/testsuite/tests/dph/diophantine/dph-diophantine.T @@ -1,5 +1,5 @@ -test ('dph-diophantine-opt' +test ('dph-diophantine-copy-opt' , [ alone , skip_if_fast , reqlib('dph-lifted-copy') @@ -10,7 +10,7 @@ test ('dph-diophantine-opt' , [ 'Main' , '-Odph -package dph-lifted-copy']) -test ('dph-diophantine-fast' +test ('dph-diophantine-copy-fast' , [ reqlib('dph-lifted-copy') , reqlib('dph-prim-par') , extra_clean(['DiophantineVect.hi', 'DiophantineVect.o', diff --git a/testsuite/tests/dph/dotp/dph-dotp-fast.stdout b/testsuite/tests/dph/dotp/dph-dotp-copy-fast.stdout index e8f012cbc6..e8f012cbc6 100644 --- a/testsuite/tests/dph/dotp/dph-dotp-fast.stdout +++ b/testsuite/tests/dph/dotp/dph-dotp-copy-fast.stdout diff --git a/testsuite/tests/dph/dotp/dph-dotp-opt.stdout b/testsuite/tests/dph/dotp/dph-dotp-copy-opt.stdout index e8f012cbc6..e8f012cbc6 100644 --- a/testsuite/tests/dph/dotp/dph-dotp-opt.stdout +++ b/testsuite/tests/dph/dotp/dph-dotp-copy-opt.stdout diff --git a/testsuite/tests/dph/dotp/dph-dotp-vseg-fast.stdout b/testsuite/tests/dph/dotp/dph-dotp-vseg-fast.stdout new file mode 100644 index 0000000000..e8f012cbc6 --- /dev/null +++ b/testsuite/tests/dph/dotp/dph-dotp-vseg-fast.stdout @@ -0,0 +1,2 @@ +3.3659625259 +3.3659625259 diff --git a/testsuite/tests/dph/dotp/dph-dotp-vseg-opt.stdout b/testsuite/tests/dph/dotp/dph-dotp-vseg-opt.stdout new file mode 100644 index 0000000000..e8f012cbc6 --- /dev/null +++ b/testsuite/tests/dph/dotp/dph-dotp-vseg-opt.stdout @@ -0,0 +1,2 @@ +3.3659625259 +3.3659625259 diff --git a/testsuite/tests/dph/dotp/dph-dotp.T b/testsuite/tests/dph/dotp/dph-dotp.T index 57c9e72ce1..511ef7cc70 100644 --- a/testsuite/tests/dph/dotp/dph-dotp.T +++ b/testsuite/tests/dph/dotp/dph-dotp.T @@ -1,5 +1,5 @@ -test ('dph-dotp-opt' +test ('dph-dotp-copy-opt' , [ alone , skip_if_fast , extra_clean(['Main.o', 'Main.hi', 'DotPVect.hi', 'DotPVect.o']) @@ -10,7 +10,18 @@ test ('dph-dotp-opt' , [ 'Main' , '-Odph -package dph-lifted-copy -package dph-prim-par']) -test ('dph-dotp-fast' +test ('dph-dotp-vseg-opt' + , [ alone + , skip_if_fast + , extra_clean(['Main.o', 'Main.hi', 'DotPVect.hi', 'DotPVect.o']) + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal', 'threaded1', 'threaded2']) ] + , multimod_compile_and_run + , [ 'Main' + , '-Odph -package dph-lifted-vseg -package dph-prim-par']) + +test ('dph-dotp-copy-fast' , [ extra_clean(['Main.o', 'Main.hi', 'DotPVect.hi', 'DotPVect.o']) , reqlib('dph-lifted-copy') , reqlib('dph-prim-par') @@ -19,3 +30,12 @@ test ('dph-dotp-fast' , [ 'Main' , '-O -fno-enable-rewrite-rules -package dph-lifted-copy -package dph-prim-par']) +test ('dph-dotp-vseg-fast' + , [ extra_clean(['Main.o', 'Main.hi', 'DotPVect.hi', 'DotPVect.o']) + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal', 'threaded1', 'threaded2']) ] + , multimod_compile_and_run + , [ 'Main' + , '-O -fno-enable-rewrite-rules -package dph-lifted-vseg -package dph-prim-par']) + diff --git a/testsuite/tests/dph/primespj/dph-primespj-fast.stdout b/testsuite/tests/dph/primespj/dph-primespj-copy-fast.stdout index d935f68b11..d935f68b11 100644 --- a/testsuite/tests/dph/primespj/dph-primespj-fast.stdout +++ b/testsuite/tests/dph/primespj/dph-primespj-copy-fast.stdout diff --git a/testsuite/tests/dph/primespj/dph-primespj-opt.stdout b/testsuite/tests/dph/primespj/dph-primespj-copy-opt.stdout index d935f68b11..d935f68b11 100644 --- a/testsuite/tests/dph/primespj/dph-primespj-opt.stdout +++ b/testsuite/tests/dph/primespj/dph-primespj-copy-opt.stdout diff --git a/testsuite/tests/dph/primespj/dph-primespj-vseg-fast.stdout b/testsuite/tests/dph/primespj/dph-primespj-vseg-fast.stdout new file mode 100644 index 0000000000..d935f68b11 --- /dev/null +++ b/testsuite/tests/dph/primespj/dph-primespj-vseg-fast.stdout @@ -0,0 +1,3 @@ +[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997] +[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997] +True diff --git a/testsuite/tests/dph/primespj/dph-primespj-vseg-opt.stdout b/testsuite/tests/dph/primespj/dph-primespj-vseg-opt.stdout new file mode 100644 index 0000000000..d935f68b11 --- /dev/null +++ b/testsuite/tests/dph/primespj/dph-primespj-vseg-opt.stdout @@ -0,0 +1,3 @@ +[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997] +[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997] +True diff --git a/testsuite/tests/dph/primespj/dph-primespj.T b/testsuite/tests/dph/primespj/dph-primespj.T index 4d24861118..7c95149449 100644 --- a/testsuite/tests/dph/primespj/dph-primespj.T +++ b/testsuite/tests/dph/primespj/dph-primespj.T @@ -1,5 +1,5 @@ -test ('dph-primespj-opt' +test ('dph-primespj-copy-opt' , [ alone , skip_if_fast , extra_clean(['Main.hi', 'Main.o', 'PrimesVect.hi', 'PrimesVect.o']) @@ -10,7 +10,7 @@ test ('dph-primespj-opt' , [ 'Main' , '-Odph -package dph-lifted-copy']) -test ('dph-primespj-fast' +test ('dph-primespj-copy-fast' , [ extra_clean(['Main.hi', 'Main.o', 'PrimesVect.hi', 'PrimesVect.o']) , reqlib('dph-lifted-copy') , reqlib('dph-prim-par') @@ -19,3 +19,4 @@ test ('dph-primespj-fast' , [ 'Main' , '-O -fno-enable-rewrite-rules -package dph-lifted-copy']) + diff --git a/testsuite/tests/dph/quickhull/dph-quickhull-fast.stdout b/testsuite/tests/dph/quickhull/dph-quickhull-copy-fast.stdout index f6b2d92e9a..f6b2d92e9a 100644 --- a/testsuite/tests/dph/quickhull/dph-quickhull-fast.stdout +++ b/testsuite/tests/dph/quickhull/dph-quickhull-copy-fast.stdout diff --git a/testsuite/tests/dph/quickhull/dph-quickhull-opt.stdout b/testsuite/tests/dph/quickhull/dph-quickhull-copy-opt.stdout index f6b2d92e9a..f6b2d92e9a 100644 --- a/testsuite/tests/dph/quickhull/dph-quickhull-opt.stdout +++ b/testsuite/tests/dph/quickhull/dph-quickhull-copy-opt.stdout diff --git a/testsuite/tests/dph/quickhull/dph-quickhull-vseg-fast.stdout b/testsuite/tests/dph/quickhull/dph-quickhull-vseg-fast.stdout new file mode 100644 index 0000000000..f6b2d92e9a --- /dev/null +++ b/testsuite/tests/dph/quickhull/dph-quickhull-vseg-fast.stdout @@ -0,0 +1,1019 @@ +<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg"> +<polygon points="20,98 50,246 83,354 164,416 236,434 343,427 366,412 379,402 519,143 528,126 529,115 510,96 506,95 117,33 85,28 40,64 " style="fill:#d0d0ff;stroke:#000000;stroke-width:1"/> +<circle cx="217" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="266" r="0.5" style="stroke:#000000"/> +<circle cx="191" cy="353" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="416" r="0.5" style="stroke:#000000"/> +<circle cx="232" cy="257" r="0.5" style="stroke:#000000"/> +<circle cx="266" cy="398" r="0.5" style="stroke:#000000"/> +<circle cx="350" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="334" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="189" cy="151" r="0.5" style="stroke:#000000"/> +<circle cx="308" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="347" cy="160" r="0.5" style="stroke:#000000"/> +<circle cx="251" cy="251" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="398" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="351" cy="397" r="0.5" style="stroke:#000000"/> +<circle cx="257" cy="254" r="0.5" style="stroke:#000000"/> +<circle cx="248" cy="220" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="252" r="0.5" style="stroke:#000000"/> +<circle cx="191" cy="222" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="84" r="0.5" style="stroke:#000000"/> +<circle cx="90" cy="198" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="391" cy="360" r="0.5" style="stroke:#000000"/> +<circle cx="277" cy="310" r="0.5" style="stroke:#000000"/> +<circle cx="341" cy="421" r="0.5" style="stroke:#000000"/> +<circle cx="274" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="187" cy="278" r="0.5" style="stroke:#000000"/> +<circle cx="343" cy="427" r="0.5" style="stroke:#000000"/> +<circle cx="255" cy="170" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="329" r="0.5" style="stroke:#000000"/> +<circle cx="306" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="315" cy="261" r="0.5" style="stroke:#000000"/> +<circle cx="214" cy="361" r="0.5" style="stroke:#000000"/> +<circle cx="306" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="229" cy="219" r="0.5" style="stroke:#000000"/> +<circle cx="227" cy="351" r="0.5" style="stroke:#000000"/> +<circle cx="228" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="314" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="209" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="367" cy="217" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="117" cy="194" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="251" r="0.5" style="stroke:#000000"/> +<circle cx="355" cy="406" r="0.5" style="stroke:#000000"/> +<circle cx="252" cy="246" r="0.5" style="stroke:#000000"/> +<circle cx="219" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="217" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="283" cy="220" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="207" r="0.5" style="stroke:#000000"/> +<circle cx="266" cy="255" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="200" cy="248" r="0.5" style="stroke:#000000"/> +<circle cx="387" cy="360" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="257" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="255" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="50" cy="246" r="0.5" style="stroke:#000000"/> +<circle cx="231" cy="340" r="0.5" style="stroke:#000000"/> +<circle cx="189" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="188" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="366" cy="412" r="0.5" style="stroke:#000000"/> +<circle cx="183" cy="139" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="399" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="289" cy="404" r="0.5" style="stroke:#000000"/> +<circle cx="346" cy="157" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="223" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="181" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="249" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="274" r="0.5" style="stroke:#000000"/> +<circle cx="246" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="201" cy="395" r="0.5" style="stroke:#000000"/> +<circle cx="192" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="260" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="399" r="0.5" style="stroke:#000000"/> +<circle cx="256" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="202" cy="221" r="0.5" style="stroke:#000000"/> +<circle cx="361" cy="406" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="235" r="0.5" style="stroke:#000000"/> +<circle cx="180" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="258" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="253" cy="237" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="408" r="0.5" style="stroke:#000000"/> +<circle cx="247" cy="254" r="0.5" style="stroke:#000000"/> +<circle cx="223" cy="265" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="174" cy="346" r="0.5" style="stroke:#000000"/> +<circle cx="373" cy="334" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="82" r="0.5" style="stroke:#000000"/> +<circle cx="240" cy="388" r="0.5" style="stroke:#000000"/> +<circle cx="263" cy="225" r="0.5" style="stroke:#000000"/> +<circle cx="252" cy="207" r="0.5" style="stroke:#000000"/> +<circle cx="233" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="234" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="285" cy="264" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="259" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="256" r="0.5" style="stroke:#000000"/> +<circle cx="233" cy="258" r="0.5" style="stroke:#000000"/> +<circle cx="108" cy="336" r="0.5" style="stroke:#000000"/> +<circle cx="379" cy="402" r="0.5" style="stroke:#000000"/> +<circle cx="260" cy="256" r="0.5" style="stroke:#000000"/> +<circle cx="232" cy="265" r="0.5" style="stroke:#000000"/> +<circle cx="432" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="347" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="248" cy="249" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="213" r="0.5" style="stroke:#000000"/> +<circle cx="330" cy="370" r="0.5" style="stroke:#000000"/> +<circle cx="249" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="249" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="119" cy="320" r="0.5" style="stroke:#000000"/> +<circle cx="280" cy="263" r="0.5" style="stroke:#000000"/> +<circle cx="317" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="304" cy="209" r="0.5" style="stroke:#000000"/> +<circle cx="315" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="304" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="119" cy="179" r="0.5" style="stroke:#000000"/> +<circle cx="188" cy="215" r="0.5" style="stroke:#000000"/> +<circle cx="263" cy="218" r="0.5" style="stroke:#000000"/> +<circle cx="196" cy="228" r="0.5" style="stroke:#000000"/> +<circle cx="371" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="285" cy="263" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="217" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="335" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="211" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="182" r="0.5" style="stroke:#000000"/> +<circle cx="221" cy="256" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="398" r="0.5" style="stroke:#000000"/> +<circle cx="333" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="199" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="153" r="0.5" style="stroke:#000000"/> +<circle cx="273" cy="419" r="0.5" style="stroke:#000000"/> +<circle cx="227" cy="173" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="242" r="0.5" style="stroke:#000000"/> +<circle cx="294" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="211" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="253" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="246" r="0.5" style="stroke:#000000"/> +<circle cx="377" cy="388" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="285" r="0.5" style="stroke:#000000"/> +<circle cx="273" cy="215" r="0.5" style="stroke:#000000"/> +<circle cx="438" cy="229" r="0.5" style="stroke:#000000"/> +<circle cx="446" cy="216" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="238" r="0.5" style="stroke:#000000"/> +<circle cx="224" cy="229" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="181" r="0.5" style="stroke:#000000"/> +<circle cx="270" cy="222" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="237" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="416" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="366" cy="244" r="0.5" style="stroke:#000000"/> +<circle cx="279" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="353" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="198" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="298" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="213" cy="70" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="92" r="0.5" style="stroke:#000000"/> +<circle cx="196" cy="362" r="0.5" style="stroke:#000000"/> +<circle cx="234" cy="235" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="321" cy="367" r="0.5" style="stroke:#000000"/> +<circle cx="251" cy="249" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="154" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="178" r="0.5" style="stroke:#000000"/> +<circle cx="229" cy="216" r="0.5" style="stroke:#000000"/> +<circle cx="421" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="215" cy="269" r="0.5" style="stroke:#000000"/> +<circle cx="131" cy="157" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="264" cy="224" r="0.5" style="stroke:#000000"/> +<circle cx="79" cy="327" r="0.5" style="stroke:#000000"/> +<circle cx="424" cy="266" r="0.5" style="stroke:#000000"/> +<circle cx="237" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="355" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="239" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="396" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="83" cy="354" r="0.5" style="stroke:#000000"/> +<circle cx="236" cy="434" r="0.5" style="stroke:#000000"/> +<circle cx="439" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="181" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="404" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="177" r="0.5" style="stroke:#000000"/> +<circle cx="362" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="87" cy="81" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="76" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="65" cy="166" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="107" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="80" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="81" r="0.5" style="stroke:#000000"/> +<circle cx="76" cy="60" r="0.5" style="stroke:#000000"/> +<circle cx="123" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="96" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="67" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="103" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="76" cy="89" r="0.5" style="stroke:#000000"/> +<circle cx="37" cy="80" r="0.5" style="stroke:#000000"/> +<circle cx="62" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="115" cy="34" r="0.5" style="stroke:#000000"/> +<circle cx="36" cy="79" r="0.5" style="stroke:#000000"/> +<circle cx="60" cy="70" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="111" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="55" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="111" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="171" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="68" r="0.5" style="stroke:#000000"/> +<circle cx="63" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="86" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="123" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="92" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="91" cy="140" r="0.5" style="stroke:#000000"/> +<circle cx="91" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="84" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="85" r="0.5" style="stroke:#000000"/> +<circle cx="47" cy="77" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="46" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="88" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="87" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="113" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="96" cy="83" r="0.5" style="stroke:#000000"/> +<circle cx="106" cy="102" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="130" r="0.5" style="stroke:#000000"/> +<circle cx="80" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="59" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="50" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="103" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="20" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="92" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="165" r="0.5" style="stroke:#000000"/> +<circle cx="73" cy="56" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="45" r="0.5" style="stroke:#000000"/> +<circle cx="115" cy="59" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="116" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="63" r="0.5" style="stroke:#000000"/> +<circle cx="115" cy="57" r="0.5" style="stroke:#000000"/> +<circle cx="89" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="72" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="53" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="81" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="77" cy="46" r="0.5" style="stroke:#000000"/> +<circle cx="104" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="98" cy="160" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="81" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="72" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="103" cy="96" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="89" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="98" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="138" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="134" r="0.5" style="stroke:#000000"/> +<circle cx="117" cy="33" r="0.5" style="stroke:#000000"/> +<circle cx="96" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="105" cy="90" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="83" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="94" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="114" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="114" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="43" cy="135" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="104" cy="102" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="79" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="85" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="148" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="47" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="112" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="84" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="77" r="0.5" style="stroke:#000000"/> +<circle cx="121" cy="44" r="0.5" style="stroke:#000000"/> +<circle cx="48" cy="72" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="86" r="0.5" style="stroke:#000000"/> +<circle cx="105" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="79" cy="91" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="114" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="52" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="80" r="0.5" style="stroke:#000000"/> +<circle cx="84" cy="58" r="0.5" style="stroke:#000000"/> +<circle cx="97" cy="73" r="0.5" style="stroke:#000000"/> +<circle cx="88" cy="102" r="0.5" style="stroke:#000000"/> +<circle cx="71" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="63" r="0.5" style="stroke:#000000"/> +<circle cx="80" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="61" r="0.5" style="stroke:#000000"/> +<circle cx="109" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="91" cy="69" r="0.5" style="stroke:#000000"/> +<circle cx="68" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="117" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="121" cy="62" r="0.5" style="stroke:#000000"/> +<circle cx="84" cy="50" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="46" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="52" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="109" cy="86" r="0.5" style="stroke:#000000"/> +<circle cx="175" cy="91" r="0.5" style="stroke:#000000"/> +<circle cx="178" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="97" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="90" cy="92" r="0.5" style="stroke:#000000"/> +<circle cx="53" cy="72" r="0.5" style="stroke:#000000"/> +<circle cx="108" cy="89" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="64" cy="81" r="0.5" style="stroke:#000000"/> +<circle cx="166" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="112" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="54" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="40" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="71" cy="79" r="0.5" style="stroke:#000000"/> +<circle cx="96" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="119" cy="76" r="0.5" style="stroke:#000000"/> +<circle cx="85" cy="28" r="0.5" style="stroke:#000000"/> +<circle cx="49" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="37" r="0.5" style="stroke:#000000"/> +<circle cx="78" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="94" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="128" cy="147" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="56" cy="62" r="0.5" style="stroke:#000000"/> +<circle cx="61" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="44" cy="71" r="0.5" style="stroke:#000000"/> +<circle cx="92" cy="86" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="86" cy="107" r="0.5" style="stroke:#000000"/> +<circle cx="52" cy="63" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="106" cy="89" r="0.5" style="stroke:#000000"/> +<circle cx="32" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="170" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="57" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="62" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="71" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="61" r="0.5" style="stroke:#000000"/> +<circle cx="33" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="94" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="69" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="73" cy="57" r="0.5" style="stroke:#000000"/> +<circle cx="162" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="69" cy="71" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="315" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="325" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="165" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="163" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="285" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="165" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="275" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="135" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="171" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="326" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="326" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="288" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="312" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="315" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="168" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="166" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="171" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="135" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="131" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="120" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="314" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="279" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="172" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="143" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="143" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="314" r="0.5" style="stroke:#000000"/> +<circle cx="168" cy="313" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="275" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="321" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="129" cy="313" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="165" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="162" cy="318" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="310" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="291" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="279" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="168" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="163" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="163" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="153" cy="325" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="157" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="281" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="321" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="153" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="178" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="179" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="153" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="175" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="157" cy="291" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="273" r="0.5" style="stroke:#000000"/> +<circle cx="131" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="276" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="161" cy="318" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="135" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="129" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="285" r="0.5" style="stroke:#000000"/> +<circle cx="125" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="328" r="0.5" style="stroke:#000000"/> +<circle cx="178" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="135" r="0.5" style="stroke:#000000"/> +<circle cx="487" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="515" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="513" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="107" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="515" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="476" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="476" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="485" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="521" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="108" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="132" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="137" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="135" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="518" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="480" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="516" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="521" cy="137" r="0.5" style="stroke:#000000"/> +<circle cx="485" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="481" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="470" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="134" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="490" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="522" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="490" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="483" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="493" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="493" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="134" r="0.5" style="stroke:#000000"/> +<circle cx="518" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="479" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="519" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="527" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="515" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="512" cy="138" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="480" cy="130" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="111" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="480" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="518" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="513" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="513" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="503" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="507" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="519" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="503" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="528" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="529" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="503" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="525" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="483" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="477" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="507" cy="111" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="481" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="96" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="137" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="511" cy="138" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="484" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="485" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="479" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="526" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="474" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="526" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="484" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="475" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="148" r="0.5" style="stroke:#000000"/> +<circle cx="528" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="490" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="523" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="107" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="345" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="256" cy="277" r="0.5" style="stroke:#000000"/> +<circle cx="235" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="206" r="0.5" style="stroke:#000000"/> +<circle cx="312" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="375" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="363" cy="164" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="343" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="372" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="301" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="319" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="319" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="376" cy="310" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="203" r="0.5" style="stroke:#000000"/> +<circle cx="299" cy="177" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="256" cy="179" r="0.5" style="stroke:#000000"/> +<circle cx="182" cy="162" r="0.5" style="stroke:#000000"/> +<circle cx="229" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="328" cy="75" r="0.5" style="stroke:#000000"/> +<circle cx="180" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="225" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="406" cy="282" r="0.5" style="stroke:#000000"/> +<circle cx="320" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="328" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="253" cy="221" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="332" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="140" r="0.5" style="stroke:#000000"/> +<circle cx="231" cy="259" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="348" cy="208" r="0.5" style="stroke:#000000"/> +<circle cx="273" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="177" r="0.5" style="stroke:#000000"/> +<circle cx="283" cy="276" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="348" cy="222" r="0.5" style="stroke:#000000"/> +<circle cx="269" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="388" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="172" r="0.5" style="stroke:#000000"/> +<circle cx="200" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="351" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="379" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="301" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="277" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="187" r="0.5" style="stroke:#000000"/> +<circle cx="324" cy="178" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="312" cy="204" r="0.5" style="stroke:#000000"/> +<circle cx="345" cy="255" r="0.5" style="stroke:#000000"/> +<circle cx="262" cy="198" r="0.5" style="stroke:#000000"/> +<circle cx="403" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="223" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="207" cy="189" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="237" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="268" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="387" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="341" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="327" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="412" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="329" cy="315" r="0.5" style="stroke:#000000"/> +<circle cx="372" cy="130" r="0.5" style="stroke:#000000"/> +<circle cx="328" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="279" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="248" cy="132" r="0.5" style="stroke:#000000"/> +<circle cx="213" cy="199" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="218" r="0.5" style="stroke:#000000"/> +<circle cx="297" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="264" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="257" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="308" cy="235" r="0.5" style="stroke:#000000"/> +<circle cx="296" cy="312" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="240" r="0.5" style="stroke:#000000"/> +<circle cx="264" cy="178" r="0.5" style="stroke:#000000"/> +<circle cx="383" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="319" cy="189" r="0.5" style="stroke:#000000"/> +<circle cx="247" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="306" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="302" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="319" r="0.5" style="stroke:#000000"/> +<circle cx="298" cy="203" r="0.5" style="stroke:#000000"/> +<circle cx="280" cy="211" r="0.5" style="stroke:#000000"/> +<circle cx="296" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="243" cy="272" r="0.5" style="stroke:#000000"/> +<circle cx="392" cy="263" r="0.5" style="stroke:#000000"/> +<circle cx="331" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="181" r="0.5" style="stroke:#000000"/> +<circle cx="302" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="288" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="326" cy="210" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="206" r="0.5" style="stroke:#000000"/> +<circle cx="325" cy="205" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="206" r="0.5" style="stroke:#000000"/> +<circle cx="194" cy="265" r="0.5" style="stroke:#000000"/> +<circle cx="397" cy="314" r="0.5" style="stroke:#000000"/> +<circle cx="307" cy="204" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="436" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="373" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="298" cy="199" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="172" r="0.5" style="stroke:#000000"/> +<circle cx="360" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="299" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="201" cy="252" r="0.5" style="stroke:#000000"/> +<circle cx="323" cy="210" r="0.5" style="stroke:#000000"/> +<circle cx="350" cy="228" r="0.5" style="stroke:#000000"/> +<circle cx="341" cy="170" r="0.5" style="stroke:#000000"/> +<circle cx="349" cy="157" r="0.5" style="stroke:#000000"/> +<circle cx="340" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="202" cy="147" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="309" cy="176" r="0.5" style="stroke:#000000"/> +<circle cx="260" cy="183" r="0.5" style="stroke:#000000"/> +<circle cx="391" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="326" cy="210" r="0.5" style="stroke:#000000"/> +<circle cx="210" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="364" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="271" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="294" cy="149" r="0.5" style="stroke:#000000"/> +<circle cx="278" cy="205" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="363" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="262" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="317" cy="327" r="0.5" style="stroke:#000000"/> +<circle cx="283" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="194" r="0.5" style="stroke:#000000"/> +<circle cx="333" cy="231" r="0.5" style="stroke:#000000"/> +<circle cx="340" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="271" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="302" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="395" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="210" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="317" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="441" cy="184" r="0.5" style="stroke:#000000"/> +<circle cx="447" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="294" cy="191" r="0.5" style="stroke:#000000"/> +<circle cx="281" cy="184" r="0.5" style="stroke:#000000"/> +<circle cx="212" cy="148" r="0.5" style="stroke:#000000"/> +<circle cx="315" cy="179" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="232" cy="164" r="0.5" style="stroke:#000000"/> +<circle cx="425" cy="239" r="0.5" style="stroke:#000000"/> +<circle cx="387" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="322" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="213" cy="278" r="0.5" style="stroke:#000000"/> +<circle cx="187" cy="132" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="336" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="272" cy="65" r="0.5" style="stroke:#000000"/> +<circle cx="204" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="351" cy="82" r="0.5" style="stroke:#000000"/> +<circle cx="259" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="288" cy="189" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="353" cy="288" r="0.5" style="stroke:#000000"/> +<circle cx="301" cy="199" r="0.5" style="stroke:#000000"/> +<circle cx="218" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="226" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="195" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="428" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="274" cy="214" r="0.5" style="stroke:#000000"/> +<circle cx="211" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="180" r="0.5" style="stroke:#000000"/> +<circle cx="172" cy="257" r="0.5" style="stroke:#000000"/> +<circle cx="431" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="290" cy="187" r="0.5" style="stroke:#000000"/> +<circle cx="219" cy="203" r="0.5" style="stroke:#000000"/> +<circle cx="230" cy="279" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="192" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="254" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="345" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="175" cy="278" r="0.5" style="stroke:#000000"/> +<circle cx="289" cy="338" r="0.5" style="stroke:#000000"/> +<circle cx="442" cy="228" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="249" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="415" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="384" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="20" cy="98" r="1" style="stroke:#ff0000"/> +<circle cx="50" cy="246" r="1" style="stroke:#ff0000"/> +<circle cx="83" cy="354" r="1" style="stroke:#ff0000"/> +<circle cx="164" cy="416" r="1" style="stroke:#ff0000"/> +<circle cx="236" cy="434" r="1" style="stroke:#ff0000"/> +<circle cx="343" cy="427" r="1" style="stroke:#ff0000"/> +<circle cx="366" cy="412" r="1" style="stroke:#ff0000"/> +<circle cx="379" cy="402" r="1" style="stroke:#ff0000"/> +<circle cx="519" cy="143" r="1" style="stroke:#ff0000"/> +<circle cx="528" cy="126" r="1" style="stroke:#ff0000"/> +<circle cx="529" cy="115" r="1" style="stroke:#ff0000"/> +<circle cx="510" cy="96" r="1" style="stroke:#ff0000"/> +<circle cx="506" cy="95" r="1" style="stroke:#ff0000"/> +<circle cx="117" cy="33" r="1" style="stroke:#ff0000"/> +<circle cx="85" cy="28" r="1" style="stroke:#ff0000"/> +<circle cx="40" cy="64" r="1" style="stroke:#ff0000"/> +</svg> diff --git a/testsuite/tests/dph/quickhull/dph-quickhull-vseg-opt.stdout b/testsuite/tests/dph/quickhull/dph-quickhull-vseg-opt.stdout new file mode 100644 index 0000000000..f6b2d92e9a --- /dev/null +++ b/testsuite/tests/dph/quickhull/dph-quickhull-vseg-opt.stdout @@ -0,0 +1,1019 @@ +<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg"> +<polygon points="20,98 50,246 83,354 164,416 236,434 343,427 366,412 379,402 519,143 528,126 529,115 510,96 506,95 117,33 85,28 40,64 " style="fill:#d0d0ff;stroke:#000000;stroke-width:1"/> +<circle cx="217" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="266" r="0.5" style="stroke:#000000"/> +<circle cx="191" cy="353" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="416" r="0.5" style="stroke:#000000"/> +<circle cx="232" cy="257" r="0.5" style="stroke:#000000"/> +<circle cx="266" cy="398" r="0.5" style="stroke:#000000"/> +<circle cx="350" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="334" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="189" cy="151" r="0.5" style="stroke:#000000"/> +<circle cx="308" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="347" cy="160" r="0.5" style="stroke:#000000"/> +<circle cx="251" cy="251" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="398" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="351" cy="397" r="0.5" style="stroke:#000000"/> +<circle cx="257" cy="254" r="0.5" style="stroke:#000000"/> +<circle cx="248" cy="220" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="252" r="0.5" style="stroke:#000000"/> +<circle cx="191" cy="222" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="84" r="0.5" style="stroke:#000000"/> +<circle cx="90" cy="198" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="391" cy="360" r="0.5" style="stroke:#000000"/> +<circle cx="277" cy="310" r="0.5" style="stroke:#000000"/> +<circle cx="341" cy="421" r="0.5" style="stroke:#000000"/> +<circle cx="274" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="187" cy="278" r="0.5" style="stroke:#000000"/> +<circle cx="343" cy="427" r="0.5" style="stroke:#000000"/> +<circle cx="255" cy="170" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="329" r="0.5" style="stroke:#000000"/> +<circle cx="306" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="315" cy="261" r="0.5" style="stroke:#000000"/> +<circle cx="214" cy="361" r="0.5" style="stroke:#000000"/> +<circle cx="306" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="229" cy="219" r="0.5" style="stroke:#000000"/> +<circle cx="227" cy="351" r="0.5" style="stroke:#000000"/> +<circle cx="228" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="314" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="209" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="367" cy="217" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="117" cy="194" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="251" r="0.5" style="stroke:#000000"/> +<circle cx="355" cy="406" r="0.5" style="stroke:#000000"/> +<circle cx="252" cy="246" r="0.5" style="stroke:#000000"/> +<circle cx="219" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="217" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="283" cy="220" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="207" r="0.5" style="stroke:#000000"/> +<circle cx="266" cy="255" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="200" cy="248" r="0.5" style="stroke:#000000"/> +<circle cx="387" cy="360" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="257" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="255" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="50" cy="246" r="0.5" style="stroke:#000000"/> +<circle cx="231" cy="340" r="0.5" style="stroke:#000000"/> +<circle cx="189" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="188" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="366" cy="412" r="0.5" style="stroke:#000000"/> +<circle cx="183" cy="139" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="399" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="289" cy="404" r="0.5" style="stroke:#000000"/> +<circle cx="346" cy="157" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="223" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="181" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="249" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="274" r="0.5" style="stroke:#000000"/> +<circle cx="246" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="201" cy="395" r="0.5" style="stroke:#000000"/> +<circle cx="192" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="260" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="399" r="0.5" style="stroke:#000000"/> +<circle cx="256" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="202" cy="221" r="0.5" style="stroke:#000000"/> +<circle cx="361" cy="406" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="235" r="0.5" style="stroke:#000000"/> +<circle cx="180" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="258" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="253" cy="237" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="408" r="0.5" style="stroke:#000000"/> +<circle cx="247" cy="254" r="0.5" style="stroke:#000000"/> +<circle cx="223" cy="265" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="174" cy="346" r="0.5" style="stroke:#000000"/> +<circle cx="373" cy="334" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="82" r="0.5" style="stroke:#000000"/> +<circle cx="240" cy="388" r="0.5" style="stroke:#000000"/> +<circle cx="263" cy="225" r="0.5" style="stroke:#000000"/> +<circle cx="252" cy="207" r="0.5" style="stroke:#000000"/> +<circle cx="233" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="234" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="285" cy="264" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="259" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="256" r="0.5" style="stroke:#000000"/> +<circle cx="233" cy="258" r="0.5" style="stroke:#000000"/> +<circle cx="108" cy="336" r="0.5" style="stroke:#000000"/> +<circle cx="379" cy="402" r="0.5" style="stroke:#000000"/> +<circle cx="260" cy="256" r="0.5" style="stroke:#000000"/> +<circle cx="232" cy="265" r="0.5" style="stroke:#000000"/> +<circle cx="432" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="347" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="248" cy="249" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="213" r="0.5" style="stroke:#000000"/> +<circle cx="330" cy="370" r="0.5" style="stroke:#000000"/> +<circle cx="249" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="249" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="119" cy="320" r="0.5" style="stroke:#000000"/> +<circle cx="280" cy="263" r="0.5" style="stroke:#000000"/> +<circle cx="317" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="304" cy="209" r="0.5" style="stroke:#000000"/> +<circle cx="315" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="304" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="119" cy="179" r="0.5" style="stroke:#000000"/> +<circle cx="188" cy="215" r="0.5" style="stroke:#000000"/> +<circle cx="263" cy="218" r="0.5" style="stroke:#000000"/> +<circle cx="196" cy="228" r="0.5" style="stroke:#000000"/> +<circle cx="371" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="285" cy="263" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="217" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="335" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="211" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="182" r="0.5" style="stroke:#000000"/> +<circle cx="221" cy="256" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="398" r="0.5" style="stroke:#000000"/> +<circle cx="333" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="199" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="153" r="0.5" style="stroke:#000000"/> +<circle cx="273" cy="419" r="0.5" style="stroke:#000000"/> +<circle cx="227" cy="173" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="242" r="0.5" style="stroke:#000000"/> +<circle cx="294" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="211" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="253" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="246" r="0.5" style="stroke:#000000"/> +<circle cx="377" cy="388" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="285" r="0.5" style="stroke:#000000"/> +<circle cx="273" cy="215" r="0.5" style="stroke:#000000"/> +<circle cx="438" cy="229" r="0.5" style="stroke:#000000"/> +<circle cx="446" cy="216" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="238" r="0.5" style="stroke:#000000"/> +<circle cx="224" cy="229" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="181" r="0.5" style="stroke:#000000"/> +<circle cx="270" cy="222" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="237" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="416" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="366" cy="244" r="0.5" style="stroke:#000000"/> +<circle cx="279" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="353" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="198" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="298" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="213" cy="70" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="92" r="0.5" style="stroke:#000000"/> +<circle cx="196" cy="362" r="0.5" style="stroke:#000000"/> +<circle cx="234" cy="235" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="321" cy="367" r="0.5" style="stroke:#000000"/> +<circle cx="251" cy="249" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="154" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="178" r="0.5" style="stroke:#000000"/> +<circle cx="229" cy="216" r="0.5" style="stroke:#000000"/> +<circle cx="421" cy="250" r="0.5" style="stroke:#000000"/> +<circle cx="215" cy="269" r="0.5" style="stroke:#000000"/> +<circle cx="131" cy="157" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="264" cy="224" r="0.5" style="stroke:#000000"/> +<circle cx="79" cy="327" r="0.5" style="stroke:#000000"/> +<circle cx="424" cy="266" r="0.5" style="stroke:#000000"/> +<circle cx="237" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="253" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="355" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="239" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="396" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="83" cy="354" r="0.5" style="stroke:#000000"/> +<circle cx="236" cy="434" r="0.5" style="stroke:#000000"/> +<circle cx="439" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="181" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="404" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="177" r="0.5" style="stroke:#000000"/> +<circle cx="362" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="87" cy="81" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="76" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="65" cy="166" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="107" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="80" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="81" r="0.5" style="stroke:#000000"/> +<circle cx="76" cy="60" r="0.5" style="stroke:#000000"/> +<circle cx="123" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="96" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="67" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="103" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="76" cy="89" r="0.5" style="stroke:#000000"/> +<circle cx="37" cy="80" r="0.5" style="stroke:#000000"/> +<circle cx="62" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="115" cy="34" r="0.5" style="stroke:#000000"/> +<circle cx="36" cy="79" r="0.5" style="stroke:#000000"/> +<circle cx="60" cy="70" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="111" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="55" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="111" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="171" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="68" r="0.5" style="stroke:#000000"/> +<circle cx="63" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="86" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="123" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="92" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="91" cy="140" r="0.5" style="stroke:#000000"/> +<circle cx="91" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="84" cy="78" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="85" r="0.5" style="stroke:#000000"/> +<circle cx="47" cy="77" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="46" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="88" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="87" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="113" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="96" cy="83" r="0.5" style="stroke:#000000"/> +<circle cx="106" cy="102" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="130" r="0.5" style="stroke:#000000"/> +<circle cx="80" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="59" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="50" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="103" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="20" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="92" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="165" r="0.5" style="stroke:#000000"/> +<circle cx="73" cy="56" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="45" r="0.5" style="stroke:#000000"/> +<circle cx="115" cy="59" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="116" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="63" r="0.5" style="stroke:#000000"/> +<circle cx="115" cy="57" r="0.5" style="stroke:#000000"/> +<circle cx="89" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="72" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="53" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="81" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="77" cy="46" r="0.5" style="stroke:#000000"/> +<circle cx="104" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="98" cy="160" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="81" cy="88" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="72" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="103" cy="96" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="89" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="98" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="138" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="134" r="0.5" style="stroke:#000000"/> +<circle cx="117" cy="33" r="0.5" style="stroke:#000000"/> +<circle cx="96" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="105" cy="90" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="83" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="94" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="114" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="114" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="43" cy="135" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="104" cy="102" r="0.5" style="stroke:#000000"/> +<circle cx="93" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="79" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="70" cy="85" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="148" r="0.5" style="stroke:#000000"/> +<circle cx="99" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="47" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="112" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="122" cy="84" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="77" r="0.5" style="stroke:#000000"/> +<circle cx="121" cy="44" r="0.5" style="stroke:#000000"/> +<circle cx="48" cy="72" r="0.5" style="stroke:#000000"/> +<circle cx="75" cy="86" r="0.5" style="stroke:#000000"/> +<circle cx="105" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="79" cy="91" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="114" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="52" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="80" r="0.5" style="stroke:#000000"/> +<circle cx="84" cy="58" r="0.5" style="stroke:#000000"/> +<circle cx="97" cy="73" r="0.5" style="stroke:#000000"/> +<circle cx="88" cy="102" r="0.5" style="stroke:#000000"/> +<circle cx="71" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="63" r="0.5" style="stroke:#000000"/> +<circle cx="80" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="61" r="0.5" style="stroke:#000000"/> +<circle cx="109" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="91" cy="69" r="0.5" style="stroke:#000000"/> +<circle cx="68" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="117" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="121" cy="62" r="0.5" style="stroke:#000000"/> +<circle cx="84" cy="50" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="46" r="0.5" style="stroke:#000000"/> +<circle cx="102" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="52" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="109" cy="86" r="0.5" style="stroke:#000000"/> +<circle cx="175" cy="91" r="0.5" style="stroke:#000000"/> +<circle cx="178" cy="87" r="0.5" style="stroke:#000000"/> +<circle cx="97" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="90" cy="92" r="0.5" style="stroke:#000000"/> +<circle cx="53" cy="72" r="0.5" style="stroke:#000000"/> +<circle cx="108" cy="89" r="0.5" style="stroke:#000000"/> +<circle cx="110" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="64" cy="81" r="0.5" style="stroke:#000000"/> +<circle cx="166" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="112" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="54" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="40" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="71" cy="79" r="0.5" style="stroke:#000000"/> +<circle cx="96" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="119" cy="76" r="0.5" style="stroke:#000000"/> +<circle cx="85" cy="28" r="0.5" style="stroke:#000000"/> +<circle cx="49" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="37" r="0.5" style="stroke:#000000"/> +<circle cx="78" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="94" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="100" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="128" cy="147" r="0.5" style="stroke:#000000"/> +<circle cx="101" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="56" cy="62" r="0.5" style="stroke:#000000"/> +<circle cx="61" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="44" cy="71" r="0.5" style="stroke:#000000"/> +<circle cx="92" cy="86" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="86" cy="107" r="0.5" style="stroke:#000000"/> +<circle cx="52" cy="63" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="98" r="0.5" style="stroke:#000000"/> +<circle cx="106" cy="89" r="0.5" style="stroke:#000000"/> +<circle cx="32" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="170" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="57" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="62" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="95" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="71" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="61" r="0.5" style="stroke:#000000"/> +<circle cx="33" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="94" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="69" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="73" cy="57" r="0.5" style="stroke:#000000"/> +<circle cx="162" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="69" cy="71" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="64" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="315" r="0.5" style="stroke:#000000"/> +<circle cx="137" cy="325" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="165" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="163" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="285" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="165" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="275" r="0.5" style="stroke:#000000"/> +<circle cx="126" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="135" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="171" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="326" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="326" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="288" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="312" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="315" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="168" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="166" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="171" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="135" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="131" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="120" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="314" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="279" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="172" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="304" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="143" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="143" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="314" r="0.5" style="stroke:#000000"/> +<circle cx="168" cy="313" r="0.5" style="stroke:#000000"/> +<circle cx="156" cy="275" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="321" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="129" cy="313" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="323" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="177" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="165" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="162" cy="318" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="310" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="294" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="291" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="279" r="0.5" style="stroke:#000000"/> +<circle cx="130" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="141" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="168" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="155" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="163" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="163" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="307" r="0.5" style="stroke:#000000"/> +<circle cx="164" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="153" cy="325" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="157" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="158" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="281" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="280" r="0.5" style="stroke:#000000"/> +<circle cx="151" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="169" cy="321" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="305" r="0.5" style="stroke:#000000"/> +<circle cx="153" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="178" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="179" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="149" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="146" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="153" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="293" r="0.5" style="stroke:#000000"/> +<circle cx="175" cy="308" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="154" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="133" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="127" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="292" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="157" cy="291" r="0.5" style="stroke:#000000"/> +<circle cx="144" cy="273" r="0.5" style="stroke:#000000"/> +<circle cx="131" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="160" cy="276" r="0.5" style="stroke:#000000"/> +<circle cx="142" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="161" cy="318" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="135" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="129" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="147" cy="295" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="300" r="0.5" style="stroke:#000000"/> +<circle cx="145" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="132" cy="286" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="299" r="0.5" style="stroke:#000000"/> +<circle cx="152" cy="296" r="0.5" style="stroke:#000000"/> +<circle cx="124" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="176" cy="302" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="134" cy="301" r="0.5" style="stroke:#000000"/> +<circle cx="136" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="298" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="139" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="159" cy="285" r="0.5" style="stroke:#000000"/> +<circle cx="125" cy="316" r="0.5" style="stroke:#000000"/> +<circle cx="148" cy="328" r="0.5" style="stroke:#000000"/> +<circle cx="178" cy="306" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="140" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="173" cy="297" r="0.5" style="stroke:#000000"/> +<circle cx="138" cy="289" r="0.5" style="stroke:#000000"/> +<circle cx="167" cy="287" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="135" r="0.5" style="stroke:#000000"/> +<circle cx="487" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="515" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="513" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="107" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="515" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="476" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="476" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="485" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="521" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="108" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="132" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="137" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="135" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="518" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="480" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="516" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="521" cy="137" r="0.5" style="stroke:#000000"/> +<circle cx="485" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="481" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="470" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="134" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="490" cy="103" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="522" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="490" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="483" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="124" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="493" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="493" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="134" r="0.5" style="stroke:#000000"/> +<circle cx="518" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="506" cy="95" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="479" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="519" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="527" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="515" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="512" cy="138" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="480" cy="130" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="114" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="111" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="480" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="491" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="518" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="505" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="513" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="513" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="127" r="0.5" style="stroke:#000000"/> +<circle cx="514" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="503" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="507" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="508" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="101" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="501" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="519" cy="141" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="125" r="0.5" style="stroke:#000000"/> +<circle cx="503" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="528" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="529" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="499" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="496" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="503" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="113" r="0.5" style="stroke:#000000"/> +<circle cx="525" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="504" cy="110" r="0.5" style="stroke:#000000"/> +<circle cx="483" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="477" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="112" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="507" cy="111" r="0.5" style="stroke:#000000"/> +<circle cx="494" cy="93" r="0.5" style="stroke:#000000"/> +<circle cx="481" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="510" cy="96" r="0.5" style="stroke:#000000"/> +<circle cx="492" cy="137" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="511" cy="138" r="0.5" style="stroke:#000000"/> +<circle cx="500" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="484" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="485" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="479" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="497" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="526" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="495" cy="123" r="0.5" style="stroke:#000000"/> +<circle cx="482" cy="106" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="119" r="0.5" style="stroke:#000000"/> +<circle cx="502" cy="116" r="0.5" style="stroke:#000000"/> +<circle cx="474" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="526" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="484" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="486" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="118" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="489" cy="142" r="0.5" style="stroke:#000000"/> +<circle cx="509" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="475" cy="136" r="0.5" style="stroke:#000000"/> +<circle cx="498" cy="148" r="0.5" style="stroke:#000000"/> +<circle cx="528" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="490" cy="104" r="0.5" style="stroke:#000000"/> +<circle cx="523" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="488" cy="109" r="0.5" style="stroke:#000000"/> +<circle cx="517" cy="107" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="345" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="256" cy="277" r="0.5" style="stroke:#000000"/> +<circle cx="235" cy="324" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="206" r="0.5" style="stroke:#000000"/> +<circle cx="312" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="375" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="363" cy="164" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="343" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="372" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="301" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="319" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="319" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="238" cy="232" r="0.5" style="stroke:#000000"/> +<circle cx="376" cy="310" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="203" r="0.5" style="stroke:#000000"/> +<circle cx="299" cy="177" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="256" cy="179" r="0.5" style="stroke:#000000"/> +<circle cx="182" cy="162" r="0.5" style="stroke:#000000"/> +<circle cx="229" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="328" cy="75" r="0.5" style="stroke:#000000"/> +<circle cx="180" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="225" cy="144" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="406" cy="282" r="0.5" style="stroke:#000000"/> +<circle cx="320" cy="245" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="328" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="115" r="0.5" style="stroke:#000000"/> +<circle cx="253" cy="221" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="332" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="140" r="0.5" style="stroke:#000000"/> +<circle cx="231" cy="259" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="348" cy="208" r="0.5" style="stroke:#000000"/> +<circle cx="273" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="342" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="177" r="0.5" style="stroke:#000000"/> +<circle cx="283" cy="276" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="348" cy="222" r="0.5" style="stroke:#000000"/> +<circle cx="269" cy="159" r="0.5" style="stroke:#000000"/> +<circle cx="388" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="172" r="0.5" style="stroke:#000000"/> +<circle cx="200" cy="158" r="0.5" style="stroke:#000000"/> +<circle cx="351" cy="99" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="201" r="0.5" style="stroke:#000000"/> +<circle cx="379" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="301" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="277" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="275" cy="187" r="0.5" style="stroke:#000000"/> +<circle cx="324" cy="178" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="312" cy="204" r="0.5" style="stroke:#000000"/> +<circle cx="345" cy="255" r="0.5" style="stroke:#000000"/> +<circle cx="262" cy="198" r="0.5" style="stroke:#000000"/> +<circle cx="403" cy="283" r="0.5" style="stroke:#000000"/> +<circle cx="223" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="207" cy="189" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="237" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="150" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="268" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="387" cy="322" r="0.5" style="stroke:#000000"/> +<circle cx="250" cy="117" r="0.5" style="stroke:#000000"/> +<circle cx="341" cy="97" r="0.5" style="stroke:#000000"/> +<circle cx="327" cy="122" r="0.5" style="stroke:#000000"/> +<circle cx="412" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="329" cy="315" r="0.5" style="stroke:#000000"/> +<circle cx="372" cy="130" r="0.5" style="stroke:#000000"/> +<circle cx="328" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="279" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="248" cy="132" r="0.5" style="stroke:#000000"/> +<circle cx="213" cy="199" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="218" r="0.5" style="stroke:#000000"/> +<circle cx="297" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="264" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="257" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="308" cy="235" r="0.5" style="stroke:#000000"/> +<circle cx="296" cy="312" r="0.5" style="stroke:#000000"/> +<circle cx="305" cy="240" r="0.5" style="stroke:#000000"/> +<circle cx="264" cy="178" r="0.5" style="stroke:#000000"/> +<circle cx="383" cy="317" r="0.5" style="stroke:#000000"/> +<circle cx="319" cy="189" r="0.5" style="stroke:#000000"/> +<circle cx="247" cy="241" r="0.5" style="stroke:#000000"/> +<circle cx="306" cy="193" r="0.5" style="stroke:#000000"/> +<circle cx="302" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="319" r="0.5" style="stroke:#000000"/> +<circle cx="298" cy="203" r="0.5" style="stroke:#000000"/> +<circle cx="280" cy="211" r="0.5" style="stroke:#000000"/> +<circle cx="296" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="243" cy="272" r="0.5" style="stroke:#000000"/> +<circle cx="392" cy="263" r="0.5" style="stroke:#000000"/> +<circle cx="331" cy="74" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="181" r="0.5" style="stroke:#000000"/> +<circle cx="302" cy="168" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="288" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="326" cy="210" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="206" r="0.5" style="stroke:#000000"/> +<circle cx="325" cy="205" r="0.5" style="stroke:#000000"/> +<circle cx="287" cy="206" r="0.5" style="stroke:#000000"/> +<circle cx="194" cy="265" r="0.5" style="stroke:#000000"/> +<circle cx="397" cy="314" r="0.5" style="stroke:#000000"/> +<circle cx="307" cy="204" r="0.5" style="stroke:#000000"/> +<circle cx="286" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="436" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="373" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="298" cy="199" r="0.5" style="stroke:#000000"/> +<circle cx="244" cy="172" r="0.5" style="stroke:#000000"/> +<circle cx="360" cy="290" r="0.5" style="stroke:#000000"/> +<circle cx="299" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="201" cy="252" r="0.5" style="stroke:#000000"/> +<circle cx="323" cy="210" r="0.5" style="stroke:#000000"/> +<circle cx="350" cy="228" r="0.5" style="stroke:#000000"/> +<circle cx="341" cy="170" r="0.5" style="stroke:#000000"/> +<circle cx="349" cy="157" r="0.5" style="stroke:#000000"/> +<circle cx="340" cy="94" r="0.5" style="stroke:#000000"/> +<circle cx="202" cy="147" r="0.5" style="stroke:#000000"/> +<circle cx="254" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="309" cy="176" r="0.5" style="stroke:#000000"/> +<circle cx="260" cy="183" r="0.5" style="stroke:#000000"/> +<circle cx="391" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="326" cy="210" r="0.5" style="stroke:#000000"/> +<circle cx="210" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="364" cy="163" r="0.5" style="stroke:#000000"/> +<circle cx="271" cy="121" r="0.5" style="stroke:#000000"/> +<circle cx="294" cy="149" r="0.5" style="stroke:#000000"/> +<circle cx="278" cy="205" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="311" r="0.5" style="stroke:#000000"/> +<circle cx="363" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="262" cy="236" r="0.5" style="stroke:#000000"/> +<circle cx="369" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="317" cy="327" r="0.5" style="stroke:#000000"/> +<circle cx="283" cy="143" r="0.5" style="stroke:#000000"/> +<circle cx="239" cy="194" r="0.5" style="stroke:#000000"/> +<circle cx="333" cy="231" r="0.5" style="stroke:#000000"/> +<circle cx="340" cy="129" r="0.5" style="stroke:#000000"/> +<circle cx="271" cy="105" r="0.5" style="stroke:#000000"/> +<circle cx="302" cy="100" r="0.5" style="stroke:#000000"/> +<circle cx="303" cy="197" r="0.5" style="stroke:#000000"/> +<circle cx="395" cy="303" r="0.5" style="stroke:#000000"/> +<circle cx="210" cy="227" r="0.5" style="stroke:#000000"/> +<circle cx="317" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="441" cy="184" r="0.5" style="stroke:#000000"/> +<circle cx="447" cy="175" r="0.5" style="stroke:#000000"/> +<circle cx="294" cy="191" r="0.5" style="stroke:#000000"/> +<circle cx="281" cy="184" r="0.5" style="stroke:#000000"/> +<circle cx="212" cy="148" r="0.5" style="stroke:#000000"/> +<circle cx="315" cy="179" r="0.5" style="stroke:#000000"/> +<circle cx="318" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="232" cy="164" r="0.5" style="stroke:#000000"/> +<circle cx="425" cy="239" r="0.5" style="stroke:#000000"/> +<circle cx="387" cy="195" r="0.5" style="stroke:#000000"/> +<circle cx="322" cy="152" r="0.5" style="stroke:#000000"/> +<circle cx="213" cy="278" r="0.5" style="stroke:#000000"/> +<circle cx="187" cy="132" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="161" r="0.5" style="stroke:#000000"/> +<circle cx="292" cy="202" r="0.5" style="stroke:#000000"/> +<circle cx="336" cy="155" r="0.5" style="stroke:#000000"/> +<circle cx="272" cy="65" r="0.5" style="stroke:#000000"/> +<circle cx="204" cy="190" r="0.5" style="stroke:#000000"/> +<circle cx="351" cy="82" r="0.5" style="stroke:#000000"/> +<circle cx="259" cy="284" r="0.5" style="stroke:#000000"/> +<circle cx="288" cy="189" r="0.5" style="stroke:#000000"/> +<circle cx="300" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="353" cy="288" r="0.5" style="stroke:#000000"/> +<circle cx="301" cy="199" r="0.5" style="stroke:#000000"/> +<circle cx="218" cy="128" r="0.5" style="stroke:#000000"/> +<circle cx="226" cy="243" r="0.5" style="stroke:#000000"/> +<circle cx="195" cy="146" r="0.5" style="stroke:#000000"/> +<circle cx="284" cy="174" r="0.5" style="stroke:#000000"/> +<circle cx="428" cy="200" r="0.5" style="stroke:#000000"/> +<circle cx="274" cy="214" r="0.5" style="stroke:#000000"/> +<circle cx="211" cy="131" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="196" r="0.5" style="stroke:#000000"/> +<circle cx="310" cy="180" r="0.5" style="stroke:#000000"/> +<circle cx="172" cy="257" r="0.5" style="stroke:#000000"/> +<circle cx="431" cy="212" r="0.5" style="stroke:#000000"/> +<circle cx="290" cy="187" r="0.5" style="stroke:#000000"/> +<circle cx="219" cy="203" r="0.5" style="stroke:#000000"/> +<circle cx="230" cy="279" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="192" r="0.5" style="stroke:#000000"/> +<circle cx="291" cy="254" r="0.5" style="stroke:#000000"/> +<circle cx="245" cy="309" r="0.5" style="stroke:#000000"/> +<circle cx="345" cy="126" r="0.5" style="stroke:#000000"/> +<circle cx="175" cy="278" r="0.5" style="stroke:#000000"/> +<circle cx="289" cy="338" r="0.5" style="stroke:#000000"/> +<circle cx="442" cy="228" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="249" cy="120" r="0.5" style="stroke:#000000"/> +<circle cx="415" cy="186" r="0.5" style="stroke:#000000"/> +<circle cx="242" cy="145" r="0.5" style="stroke:#000000"/> +<circle cx="384" cy="133" r="0.5" style="stroke:#000000"/> +<circle cx="20" cy="98" r="1" style="stroke:#ff0000"/> +<circle cx="50" cy="246" r="1" style="stroke:#ff0000"/> +<circle cx="83" cy="354" r="1" style="stroke:#ff0000"/> +<circle cx="164" cy="416" r="1" style="stroke:#ff0000"/> +<circle cx="236" cy="434" r="1" style="stroke:#ff0000"/> +<circle cx="343" cy="427" r="1" style="stroke:#ff0000"/> +<circle cx="366" cy="412" r="1" style="stroke:#ff0000"/> +<circle cx="379" cy="402" r="1" style="stroke:#ff0000"/> +<circle cx="519" cy="143" r="1" style="stroke:#ff0000"/> +<circle cx="528" cy="126" r="1" style="stroke:#ff0000"/> +<circle cx="529" cy="115" r="1" style="stroke:#ff0000"/> +<circle cx="510" cy="96" r="1" style="stroke:#ff0000"/> +<circle cx="506" cy="95" r="1" style="stroke:#ff0000"/> +<circle cx="117" cy="33" r="1" style="stroke:#ff0000"/> +<circle cx="85" cy="28" r="1" style="stroke:#ff0000"/> +<circle cx="40" cy="64" r="1" style="stroke:#ff0000"/> +</svg> diff --git a/testsuite/tests/dph/quickhull/dph-quickhull.T b/testsuite/tests/dph/quickhull/dph-quickhull.T index 2decdefc3b..62d44a6f84 100644 --- a/testsuite/tests/dph/quickhull/dph-quickhull.T +++ b/testsuite/tests/dph/quickhull/dph-quickhull.T @@ -1,5 +1,5 @@ -test ('dph-quickhull-opt' +test ('dph-quickhull-copy-opt' , [ alone , skip_if_fast , extra_clean(['Main.hi', 'Main.o', @@ -14,7 +14,24 @@ test ('dph-quickhull-opt' , [ 'Main' , '-Odph -funfolding-use-threshold30 -package dph-lifted-copy -package dph-prim-par']) -test ('dph-quickhull-fast' + +test ('dph-quickhull-vseg-opt' + , [ alone + , skip_if_fast + , extra_clean(['Main.hi', 'Main.o', + 'QuickHullVect.hi', 'QuickHullVect.o', + 'SVG.hi', 'SVG.o', + 'TestData.hi', 'TestData.o', + 'Types.hi', 'Types.o']) + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal', 'threaded1', 'threaded2']) ] + , multimod_compile_and_run + , [ 'Main' + , '-Odph -package dph-lifted-vseg -package dph-prim-par']) + + +test ('dph-quickhull-copy-fast' , [ extra_clean(['Main.hi', 'Main.o', 'QuickHullVect.hi', 'QuickHullVect.o', 'SVG.hi', 'SVG.o', @@ -27,3 +44,17 @@ test ('dph-quickhull-fast' , [ 'Main' , '-O -fno-enable-rewrite-rules -package dph-lifted-copy -package dph-prim-par']) + +test ('dph-quickhull-vseg-fast' + , [ extra_clean(['Main.hi', 'Main.o', + 'QuickHullVect.hi', 'QuickHullVect.o', + 'SVG.hi', 'SVG.o', + 'TestData.hi', 'TestData.o', + 'Types.hi', 'Types.o']) + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal', 'threaded1', 'threaded2']) ] + , multimod_compile_and_run + , [ 'Main' + , '-O -fno-enable-rewrite-rules -package dph-lifted-vseg -package dph-prim-par']) + diff --git a/testsuite/tests/dph/smvm/dph-smvm.stdout b/testsuite/tests/dph/smvm/dph-smvm-copy.stdout index 0ca95142bb..0ca95142bb 100644 --- a/testsuite/tests/dph/smvm/dph-smvm.stdout +++ b/testsuite/tests/dph/smvm/dph-smvm-copy.stdout diff --git a/testsuite/tests/dph/smvm/dph-smvm-vseg.stdout b/testsuite/tests/dph/smvm/dph-smvm-vseg.stdout new file mode 100644 index 0000000000..0ca95142bb --- /dev/null +++ b/testsuite/tests/dph/smvm/dph-smvm-vseg.stdout @@ -0,0 +1 @@ +True diff --git a/testsuite/tests/dph/smvm/dph-smvm.T b/testsuite/tests/dph/smvm/dph-smvm.T index 7f7e390e5c..9bb9c97ef2 100644 --- a/testsuite/tests/dph/smvm/dph-smvm.T +++ b/testsuite/tests/dph/smvm/dph-smvm.T @@ -15,7 +15,7 @@ elif config.platform.startswith('sparc-'): if testFile != 'nothing': - test ('dph-smvm' + test ('dph-smvm-copy' , [ alone , skip_if_fast , reqlib('dph-lifted-copy') @@ -27,3 +27,15 @@ if testFile != 'nothing': , [ 'Main' , '-Odph -package dph-lifted-copy -package dph-prim-par']) + test ('dph-smvm-vseg' + , [ alone + , skip_if_fast + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal', 'threaded1', 'threaded2']) + , extra_run_opts(testFile + " " + outFile) + ] + , multimod_compile_and_run + , [ 'Main' + , '-Odph -package dph-lifted-vseg -package dph-prim-par']) + diff --git a/testsuite/tests/dph/sumnats/dph-sumnats.stdout b/testsuite/tests/dph/sumnats/dph-sumnats-copy.stdout index 8858be2164..8858be2164 100644 --- a/testsuite/tests/dph/sumnats/dph-sumnats.stdout +++ b/testsuite/tests/dph/sumnats/dph-sumnats-copy.stdout diff --git a/testsuite/tests/dph/sumnats/dph-sumnats-vseg.stdout b/testsuite/tests/dph/sumnats/dph-sumnats-vseg.stdout new file mode 100644 index 0000000000..8858be2164 --- /dev/null +++ b/testsuite/tests/dph/sumnats/dph-sumnats-vseg.stdout @@ -0,0 +1,3 @@ +233168 +233168 +233168 diff --git a/testsuite/tests/dph/sumnats/dph-sumnats.T b/testsuite/tests/dph/sumnats/dph-sumnats.T index 182b85d796..afc9d7d240 100644 --- a/testsuite/tests/dph/sumnats/dph-sumnats.T +++ b/testsuite/tests/dph/sumnats/dph-sumnats.T @@ -1,5 +1,5 @@ -test ('dph-sumnats' +test ('dph-sumnats-copy' , [ extra_clean(['Main.hi', 'Main.o', 'SumNatsVect.hi', 'SumNatsVect.o']) , reqlib('dph-lifted-copy') @@ -9,3 +9,13 @@ test ('dph-sumnats' , [ 'Main' , '-Odph -package dph-lifted-copy']) +test ('dph-sumnats-vseg' + , [ extra_clean(['Main.hi', 'Main.o', + 'SumNatsVect.hi', 'SumNatsVect.o']) + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal', 'threaded1', 'threaded2']) ] + , multimod_compile_and_run + , [ 'Main' + , '-Odph -package dph-lifted-vseg']) + diff --git a/testsuite/tests/dph/words/dph-words-fast.stdout b/testsuite/tests/dph/words/dph-words-copy-fast.stdout index a7ad9be6b6..a7ad9be6b6 100644 --- a/testsuite/tests/dph/words/dph-words-fast.stdout +++ b/testsuite/tests/dph/words/dph-words-copy-fast.stdout diff --git a/testsuite/tests/dph/words/dph-words-opt.stdout b/testsuite/tests/dph/words/dph-words-copy-opt.stdout index a7ad9be6b6..a7ad9be6b6 100644 --- a/testsuite/tests/dph/words/dph-words-opt.stdout +++ b/testsuite/tests/dph/words/dph-words-copy-opt.stdout diff --git a/testsuite/tests/dph/words/dph-words-vseg-fast.stdout b/testsuite/tests/dph/words/dph-words-vseg-fast.stdout new file mode 100644 index 0000000000..a7ad9be6b6 --- /dev/null +++ b/testsuite/tests/dph/words/dph-words-vseg-fast.stdout @@ -0,0 +1,3 @@ +"When I look into the looking glass I'm always sure to see no matter how I dodge about, me looking back at me." +word count vect = 23 +word count lists = 23 diff --git a/testsuite/tests/dph/words/dph-words-vseg-opt.stdout b/testsuite/tests/dph/words/dph-words-vseg-opt.stdout new file mode 100644 index 0000000000..a7ad9be6b6 --- /dev/null +++ b/testsuite/tests/dph/words/dph-words-vseg-opt.stdout @@ -0,0 +1,3 @@ +"When I look into the looking glass I'm always sure to see no matter how I dodge about, me looking back at me." +word count vect = 23 +word count lists = 23 diff --git a/testsuite/tests/dph/words/dph-words.T b/testsuite/tests/dph/words/dph-words.T index cd30f3d7a8..be1d414696 100644 --- a/testsuite/tests/dph/words/dph-words.T +++ b/testsuite/tests/dph/words/dph-words.T @@ -1,5 +1,5 @@ -test ('dph-words-opt' +test ('dph-words-copy-opt' , [ alone , skip_if_fast , extra_clean(['Main.hi', 'Main.o', 'WordsVect.hi', 'WordsVect.o']) @@ -8,15 +8,37 @@ test ('dph-words-opt' , only_ways(['normal']) ] , multimod_compile_and_run , [ 'Main' - , '-Odph -package dph-lifted-copy -package dph-prim-par -fno-liberate-case']) + , '-Odph -package dph-lifted-copy -package dph-prim-par -fno-liberate-case -fno-spec-constr']) -test ('dph-words-fast' +test ('dph-words-vseg-opt' + , [ alone + , skip_if_fast + , extra_clean(['Main.hi', 'Main.o', 'WordsVect.hi', 'WordsVect.o']) + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal']) ] + , multimod_compile_and_run + , [ 'Main' + , '-Odph -package dph-lifted-vseg -package dph-prim-par -fno-liberate-case -fno-spec-constr']) + + +test ('dph-words-copy-fast' , [ extra_clean(['Main.hi', 'Main.o', 'WordsVect.hi', 'WordsVect.o']) , reqlib('dph-lifted-copy') , reqlib('dph-prim-par') , only_ways(['normal']) ] , multimod_compile_and_run , [ 'Main' - , '-O -fno-enable-rewrite-rules -package dph-lifted-copy -package dph-prim-par']) + , '-O -fno-enable-rewrite-rules -fno-spec-constr -package dph-lifted-copy -package dph-prim-par']) + + +test ('dph-words-vseg-fast' + , [ extra_clean(['Main.hi', 'Main.o', 'WordsVect.hi', 'WordsVect.o']) + , reqlib('dph-lifted-vseg') + , reqlib('dph-prim-par') + , only_ways(['normal']) ] + , multimod_compile_and_run + , [ 'Main' + , '-O -fno-enable-rewrite-rules -fno-spec-constr -package dph-lifted-vseg -package dph-prim-par']) |