/ Hex Artifact Content
Login

Artifact e9c2564083bcd30ec51b07f881bffbf0e12b50a3f6fced0c222c5c1d2f94ac66:


0000: 23 21 73 71 6c 69 74 65 33 0a 23 0a 23 20 54 68  #!sqlite3.#.# Th
0010: 69 73 20 69 73 20 61 20 76 69 73 75 61 6c 20 74  is is a visual t
0020: 65 73 74 20 63 61 73 65 20 66 6f 72 20 74 68 65  est case for the
0030: 20 67 65 6f 70 6f 6c 79 20 76 69 72 74 75 61 6c   geopoly virtual
0040: 20 74 61 62 6c 65 2e 0a 23 0a 23 20 52 75 6e 20   table..#.# Run 
0050: 74 68 69 73 20 73 63 72 69 70 74 20 69 6e 20 74  this script in t
0060: 68 65 20 73 71 6c 69 74 65 33 20 43 4c 49 2c 20  he sqlite3 CLI, 
0070: 61 6e 64 20 72 65 64 69 72 65 63 74 20 6f 75 74  and redirect out
0080: 70 75 74 20 69 6e 74 6f 20 61 6e 0a 23 20 48 54  put into an.# HT
0090: 4d 4c 20 66 69 6c 65 2e 20 20 54 68 69 73 20 64  ML file.  This d
00a0: 69 73 70 6c 61 79 20 74 68 65 20 48 54 4d 4c 20  isplay the HTML 
00b0: 69 6e 20 61 20 77 65 62 62 72 6f 77 73 65 72 2e  in a webbrowser.
00c0: 0a 23 0a 0a 2f 2a 20 54 65 73 74 20 64 61 74 61  .#../* Test data
00d0: 2e 0a 2a 2a 20 4c 6f 74 73 20 6f 66 20 73 68 61  ..** Lots of sha
00e0: 70 65 73 20 74 6f 20 62 65 20 64 69 73 70 6c 61  pes to be displa
00f0: 79 65 64 20 6f 76 65 72 20 61 20 31 30 30 30 78  yed over a 1000x
0100: 38 30 30 20 63 61 6e 76 61 73 2e 0a 2a 2f 0a 43  800 canvas..*/.C
0110: 52 45 41 54 45 20 54 45 4d 50 20 54 41 42 4c 45  REATE TEMP TABLE
0120: 20 62 61 73 69 73 28 6e 61 6d 65 20 54 45 58 54   basis(name TEXT
0130: 2c 20 6a 73 68 61 70 65 20 54 45 58 54 29 3b 0a  , jshape TEXT);.
0140: 49 4e 53 45 52 54 20 49 4e 54 4f 20 62 61 73 69  INSERT INTO basi
0150: 73 28 6e 61 6d 65 2c 6a 73 68 61 70 65 29 20 56  s(name,jshape) V
0160: 41 4c 55 45 53 0a 20 20 28 27 62 6f 78 2d 32 30  ALUES.  ('box-20
0170: 27 2c 27 5b 5b 30 2c 30 5d 2c 5b 32 30 2c 30 5d  ','[[0,0],[20,0]
0180: 2c 5b 32 30 2c 32 30 5d 2c 5b 30 2c 32 30 5d 2c  ,[20,20],[0,20],
0190: 5b 30 2c 30 5d 5d 27 29 2c 0a 20 20 28 27 68 6f  [0,0]]'),.  ('ho
01a0: 75 73 65 2d 37 30 27 2c 27 5b 5b 30 2c 30 5d 2c  use-70','[[0,0],
01b0: 5b 35 30 2c 30 5d 2c 5b 35 30 2c 35 30 5d 2c 5b  [50,0],[50,50],[
01c0: 32 35 2c 37 30 5d 2c 5b 30 2c 35 30 5d 2c 5b 30  25,70],[0,50],[0
01d0: 2c 30 5d 5d 27 29 2c 0a 20 20 28 27 6c 69 6e 65  ,0]]'),.  ('line
01e0: 2d 34 30 27 2c 27 5b 5b 30 2c 30 5d 2c 5b 34 30  -40','[[0,0],[40
01f0: 2c 30 5d 2c 5b 34 30 2c 35 5d 2c 5b 30 2c 35 5d  ,0],[40,5],[0,5]
0200: 2c 5b 30 2c 30 5d 5d 27 29 2c 0a 20 20 28 27 6c  ,[0,0]]'),.  ('l
0210: 69 6e 65 2d 38 30 27 2c 27 5b 5b 30 2c 30 5d 2c  ine-80','[[0,0],
0220: 5b 38 30 2c 30 5d 2c 5b 38 30 2c 37 5d 2c 5b 30  [80,0],[80,7],[0
0230: 2c 37 5d 2c 5b 30 2c 30 5d 5d 27 29 2c 0a 20 20  ,7],[0,0]]'),.  
0240: 28 27 61 72 72 6f 77 2d 35 30 27 2c 27 5b 5b 30  ('arrow-50','[[0
0250: 2c 30 5d 2c 5b 32 35 2c 32 35 5d 2c 5b 30 2c 35  ,0],[25,25],[0,5
0260: 30 5d 2c 5b 31 35 2c 32 35 5d 2c 5b 30 2c 30 5d  0],[15,25],[0,0]
0270: 5d 27 29 2c 0a 20 20 28 27 74 72 69 61 6e 67 6c  ]'),.  ('triangl
0280: 65 2d 33 30 27 2c 27 5b 5b 30 2c 30 5d 2c 5b 33  e-30','[[0,0],[3
0290: 30 2c 30 5d 2c 5b 31 35 2c 33 30 5d 2c 5b 30 2c  0,0],[15,30],[0,
02a0: 30 5d 5d 27 29 2c 0a 20 20 28 27 61 6e 67 6c 65  0]]'),.  ('angle
02b0: 2d 33 30 27 2c 27 5b 5b 30 2c 30 5d 2c 5b 33 30  -30','[[0,0],[30
02c0: 2c 30 5d 2c 5b 33 30 2c 33 30 5d 2c 5b 32 36 2c  ,0],[30,30],[26,
02d0: 33 30 5d 2c 5b 32 36 2c 34 5d 2c 5b 30 2c 34 5d  30],[26,4],[0,4]
02e0: 2c 5b 30 2c 30 5d 5d 27 29 2c 0a 20 20 28 27 73  ,[0,0]]'),.  ('s
02f0: 74 61 72 2d 31 30 27 2c 27 5b 5b 31 2c 30 5d 2c  tar-10','[[1,0],
0300: 5b 35 2c 32 5d 2c 5b 39 2c 30 5d 2c 5b 37 2c 34  [5,2],[9,0],[7,4
0310: 5d 2c 5b 31 30 2c 38 5d 2c 5b 37 2c 37 5d 2c 5b  ],[10,8],[7,7],[
0320: 35 2c 31 30 5d 2c 5b 33 2c 37 5d 2c 5b 30 2c 38  5,10],[3,7],[0,8
0330: 5d 2c 5b 33 2c 34 5d 2c 5b 31 2c 30 5d 5d 27 29  ],[3,4],[1,0]]')
0340: 3b 0a 43 52 45 41 54 45 20 54 45 4d 50 20 54 41  ;.CREATE TEMP TA
0350: 42 4c 45 20 78 66 6f 72 6d 28 41 2c 42 2c 43 2c  BLE xform(A,B,C,
0360: 44 2c 63 6c 72 29 3b 0a 49 4e 53 45 52 54 20 49  D,clr);.INSERT I
0370: 4e 54 4f 20 78 66 6f 72 6d 28 41 2c 42 2c 63 6c  NTO xform(A,B,cl
0380: 72 29 20 56 41 4c 55 45 53 0a 20 20 28 31 2c 30  r) VALUES.  (1,0
0390: 2c 27 62 6c 61 63 6b 27 29 2c 0a 20 20 28 30 2e  ,'black'),.  (0.
03a0: 37 30 37 2c 30 2e 37 30 37 2c 27 62 6c 75 65 27  707,0.707,'blue'
03b0: 29 2c 0a 20 20 28 30 2e 35 2c 30 2e 38 36 36 2c  ),.  (0.5,0.866,
03c0: 27 72 65 64 27 29 2c 0a 20 20 28 2d 30 2e 38 36  'red'),.  (-0.86
03d0: 36 2c 30 2e 35 2c 27 67 72 65 65 6e 27 29 3b 0a  6,0.5,'green');.
03e0: 43 52 45 41 54 45 20 54 45 4d 50 20 54 41 42 4c  CREATE TEMP TABL
03f0: 45 20 78 79 6f 66 66 28 69 64 31 2c 69 64 32 2c  E xyoff(id1,id2,
0400: 78 6f 66 66 2c 79 6f 66 66 2c 50 52 49 4d 41 52  xoff,yoff,PRIMAR
0410: 59 20 4b 45 59 28 69 64 31 2c 69 64 32 2c 78 6f  Y KEY(id1,id2,xo
0420: 66 66 2c 79 6f 66 66 29 29 0a 20 20 57 49 54 48  ff,yoff)).  WITH
0430: 4f 55 54 20 52 4f 57 49 44 3b 0a 49 4e 53 45 52  OUT ROWID;.INSER
0440: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
0450: 55 45 53 28 31 2c 31 2c 38 31 31 2c 36 35 39 29  UES(1,1,811,659)
0460: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
0470: 6f 66 66 20 56 41 4c 55 45 53 28 31 2c 31 2c 32  off VALUES(1,1,2
0480: 33 35 2c 35 35 30 29 3b 0a 49 4e 53 45 52 54 20  35,550);.INSERT 
0490: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
04a0: 53 28 31 2c 31 2c 34 38 31 2c 36 32 30 29 3b 0a  S(1,1,481,620);.
04b0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
04c0: 66 20 56 41 4c 55 45 53 28 31 2c 31 2c 31 30 36  f VALUES(1,1,106
04d0: 2c 34 39 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,494);.INSERT IN
04e0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
04f0: 31 2c 31 2c 34 38 37 2c 31 30 36 29 3b 0a 49 4e  1,1,487,106);.IN
0500: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
0510: 56 41 4c 55 45 53 28 31 2c 31 2c 38 31 37 2c 35  VALUES(1,1,817,5
0520: 39 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  95);.INSERT INTO
0530: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 31 2c   xyoff VALUES(1,
0540: 31 2c 32 34 30 2c 35 30 34 29 3b 0a 49 4e 53 45  1,240,504);.INSE
0550: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
0560: 4c 55 45 53 28 31 2c 31 2c 38 30 36 2c 34 35 37  LUES(1,1,806,457
0570: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
0580: 79 6f 66 66 20 56 41 4c 55 45 53 28 31 2c 31 2c  yoff VALUES(1,1,
0590: 36 30 38 2c 31 30 37 29 3b 0a 49 4e 53 45 52 54  608,107);.INSERT
05a0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
05b0: 45 53 28 31 2c 31 2c 37 36 38 2c 36 36 32 29 3b  ES(1,1,768,662);
05c0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
05d0: 66 66 20 56 41 4c 55 45 53 28 31 2c 32 2c 38 30  ff VALUES(1,2,80
05e0: 38 2c 35 32 38 29 3b 0a 49 4e 53 45 52 54 20 49  8,528);.INSERT I
05f0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
0600: 28 31 2c 32 2c 37 36 38 2c 35 32 38 29 3b 0a 49  (1,2,768,528);.I
0610: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
0620: 20 56 41 4c 55 45 53 28 31 2c 32 2c 37 37 31 2c   VALUES(1,2,771,
0630: 31 37 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  171);.INSERT INT
0640: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 31  O xyoff VALUES(1
0650: 2c 32 2c 32 37 35 2c 36 37 31 29 3b 0a 49 4e 53  ,2,275,671);.INS
0660: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
0670: 41 4c 55 45 53 28 31 2c 32 2c 33 32 36 2c 33 33  ALUES(1,2,326,33
0680: 36 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  6);.INSERT INTO 
0690: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 31 2c 32  xyoff VALUES(1,2
06a0: 2c 36 39 30 2c 36 38 38 29 3b 0a 49 4e 53 45 52  ,690,688);.INSER
06b0: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
06c0: 55 45 53 28 31 2c 32 2c 35 39 37 2c 32 33 39 29  UES(1,2,597,239)
06d0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
06e0: 6f 66 66 20 56 41 4c 55 45 53 28 31 2c 32 2c 33  off VALUES(1,2,3
06f0: 31 37 2c 35 32 38 29 3b 0a 49 4e 53 45 52 54 20  17,528);.INSERT 
0700: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
0710: 53 28 31 2c 32 2c 33 36 36 2c 32 32 33 29 3b 0a  S(1,2,366,223);.
0720: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
0730: 66 20 56 41 4c 55 45 53 28 31 2c 32 2c 36 32 31  f VALUES(1,2,621
0740: 2c 31 35 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,154);.INSERT IN
0750: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
0760: 31 2c 33 2c 38 32 39 2c 34 36 39 29 3b 0a 49 4e  1,3,829,469);.IN
0770: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
0780: 56 41 4c 55 45 53 28 31 2c 33 2c 37 39 34 2c 33  VALUES(1,3,794,3
0790: 32 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  22);.INSERT INTO
07a0: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 31 2c   xyoff VALUES(1,
07b0: 33 2c 33 35 38 2c 33 38 37 29 3b 0a 49 4e 53 45  3,358,387);.INSE
07c0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
07d0: 4c 55 45 53 28 31 2c 33 2c 31 38 34 2c 34 34 34  LUES(1,3,184,444
07e0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
07f0: 79 6f 66 66 20 56 41 4c 55 45 53 28 31 2c 33 2c  yoff VALUES(1,3,
0800: 37 32 39 2c 35 30 30 29 3b 0a 49 4e 53 45 52 54  729,500);.INSERT
0810: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
0820: 45 53 28 31 2c 33 2c 33 33 33 2c 35 32 33 29 3b  ES(1,3,333,523);
0830: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
0840: 66 66 20 56 41 4c 55 45 53 28 31 2c 33 2c 31 31  ff VALUES(1,3,11
0850: 37 2c 35 39 35 29 3b 0a 49 4e 53 45 52 54 20 49  7,595);.INSERT I
0860: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
0870: 28 31 2c 33 2c 34 39 36 2c 32 30 31 29 3b 0a 49  (1,3,496,201);.I
0880: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
0890: 20 56 41 4c 55 45 53 28 31 2c 33 2c 38 31 38 2c   VALUES(1,3,818,
08a0: 36 30 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  601);.INSERT INT
08b0: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 31  O xyoff VALUES(1
08c0: 2c 33 2c 35 34 31 2c 33 34 33 29 3b 0a 49 4e 53  ,3,541,343);.INS
08d0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
08e0: 41 4c 55 45 53 28 31 2c 34 2c 36 30 33 2c 32 34  ALUES(1,4,603,24
08f0: 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  8);.INSERT INTO 
0900: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 31 2c 34  xyoff VALUES(1,4
0910: 2c 37 36 31 2c 36 34 39 29 3b 0a 49 4e 53 45 52  ,761,649);.INSER
0920: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
0930: 55 45 53 28 31 2c 34 2c 36 31 31 2c 31 38 31 29  UES(1,4,611,181)
0940: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
0950: 6f 66 66 20 56 41 4c 55 45 53 28 31 2c 34 2c 36  off VALUES(1,4,6
0960: 30 37 2c 32 33 33 29 3b 0a 49 4e 53 45 52 54 20  07,233);.INSERT 
0970: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
0980: 53 28 31 2c 34 2c 38 36 30 2c 32 30 36 29 3b 0a  S(1,4,860,206);.
0990: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
09a0: 66 20 56 41 4c 55 45 53 28 31 2c 34 2c 33 31 30  f VALUES(1,4,310
09b0: 2c 32 33 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,231);.INSERT IN
09c0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
09d0: 31 2c 34 2c 37 32 37 2c 35 33 39 29 3b 0a 49 4e  1,4,727,539);.IN
09e0: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
09f0: 56 41 4c 55 45 53 28 31 2c 34 2c 36 36 30 2c 36  VALUES(1,4,660,6
0a00: 36 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  61);.INSERT INTO
0a10: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 31 2c   xyoff VALUES(1,
0a20: 34 2c 34 30 33 2c 31 33 33 29 3b 0a 49 4e 53 45  4,403,133);.INSE
0a30: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
0a40: 4c 55 45 53 28 31 2c 34 2c 36 31 39 2c 33 33 31  LUES(1,4,619,331
0a50: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
0a60: 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 31 2c  yoff VALUES(2,1,
0a70: 37 31 32 2c 35 37 38 29 3b 0a 49 4e 53 45 52 54  712,578);.INSERT
0a80: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
0a90: 45 53 28 32 2c 31 2c 35 36 37 2c 33 31 33 29 3b  ES(2,1,567,313);
0aa0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
0ab0: 66 66 20 56 41 4c 55 45 53 28 32 2c 31 2c 32 33  ff VALUES(2,1,23
0ac0: 31 2c 34 32 33 29 3b 0a 49 4e 53 45 52 54 20 49  1,423);.INSERT I
0ad0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
0ae0: 28 32 2c 31 2c 34 39 30 2c 31 37 35 29 3b 0a 49  (2,1,490,175);.I
0af0: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
0b00: 20 56 41 4c 55 45 53 28 32 2c 31 2c 38 39 38 2c   VALUES(2,1,898,
0b10: 33 35 33 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  353);.INSERT INT
0b20: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32  O xyoff VALUES(2
0b30: 2c 31 2c 35 38 39 2c 34 38 33 29 3b 0a 49 4e 53  ,1,589,483);.INS
0b40: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
0b50: 41 4c 55 45 53 28 32 2c 31 2c 31 38 38 2c 34 36  ALUES(2,1,188,46
0b60: 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  2);.INSERT INTO 
0b70: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 31  xyoff VALUES(2,1
0b80: 2c 37 32 30 2c 31 30 36 29 3b 0a 49 4e 53 45 52  ,720,106);.INSER
0b90: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
0ba0: 55 45 53 28 32 2c 31 2c 37 39 33 2c 33 38 30 29  UES(2,1,793,380)
0bb0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
0bc0: 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 31 2c 31  off VALUES(2,1,1
0bd0: 35 34 2c 33 39 36 29 3b 0a 49 4e 53 45 52 54 20  54,396);.INSERT 
0be0: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
0bf0: 53 28 32 2c 32 2c 33 32 34 2c 32 31 38 29 3b 0a  S(2,2,324,218);.
0c00: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
0c10: 66 20 56 41 4c 55 45 53 28 32 2c 32 2c 31 32 30  f VALUES(2,2,120
0c20: 2c 33 32 37 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,327);.INSERT IN
0c30: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
0c40: 32 2c 32 2c 36 35 35 2c 31 33 33 29 3b 0a 49 4e  2,2,655,133);.IN
0c50: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
0c60: 56 41 4c 55 45 53 28 32 2c 32 2c 35 31 36 2c 36  VALUES(2,2,516,6
0c70: 30 33 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  03);.INSERT INTO
0c80: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c   xyoff VALUES(2,
0c90: 32 2c 35 32 39 2c 35 37 32 29 3b 0a 49 4e 53 45  2,529,572);.INSE
0ca0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
0cb0: 4c 55 45 53 28 32 2c 32 2c 34 38 31 2c 32 31 32  LUES(2,2,481,212
0cc0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
0cd0: 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 32 2c  yoff VALUES(2,2,
0ce0: 38 30 32 2c 31 30 37 29 3b 0a 49 4e 53 45 52 54  802,107);.INSERT
0cf0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
0d00: 45 53 28 32 2c 32 2c 32 33 34 2c 35 30 39 29 3b  ES(2,2,234,509);
0d10: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
0d20: 66 66 20 56 41 4c 55 45 53 28 32 2c 32 2c 35 30  ff VALUES(2,2,50
0d30: 31 2c 32 36 39 29 3b 0a 49 4e 53 45 52 54 20 49  1,269);.INSERT I
0d40: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
0d50: 28 32 2c 32 2c 33 34 39 2c 35 35 33 29 3b 0a 49  (2,2,349,553);.I
0d60: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
0d70: 20 56 41 4c 55 45 53 28 32 2c 33 2c 34 39 35 2c   VALUES(2,3,495,
0d80: 36 38 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  685);.INSERT INT
0d90: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32  O xyoff VALUES(2
0da0: 2c 33 2c 38 39 37 2c 33 37 32 29 3b 0a 49 4e 53  ,3,897,372);.INS
0db0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
0dc0: 41 4c 55 45 53 28 32 2c 33 2c 33 35 30 2c 36 38  ALUES(2,3,350,68
0dd0: 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  1);.INSERT INTO 
0de0: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 33  xyoff VALUES(2,3
0df0: 2c 38 33 32 2c 32 35 37 29 3b 0a 49 4e 53 45 52  ,832,257);.INSER
0e00: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
0e10: 55 45 53 28 32 2c 33 2c 37 37 38 2c 31 34 39 29  UES(2,3,778,149)
0e20: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
0e30: 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 33 2c 36  off VALUES(2,3,6
0e40: 38 33 2c 34 32 36 29 3b 0a 49 4e 53 45 52 54 20  83,426);.INSERT 
0e50: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
0e60: 53 28 32 2c 33 2c 36 39 33 2c 32 31 37 29 3b 0a  S(2,3,693,217);.
0e70: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
0e80: 66 20 56 41 4c 55 45 53 28 32 2c 33 2c 37 34 36  f VALUES(2,3,746
0e90: 2c 33 31 37 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,317);.INSERT IN
0ea0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
0eb0: 32 2c 33 2c 38 30 35 2c 33 36 39 29 3b 0a 49 4e  2,3,805,369);.IN
0ec0: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
0ed0: 56 41 4c 55 45 53 28 32 2c 33 2c 33 33 36 2c 35  VALUES(2,3,336,5
0ee0: 38 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  85);.INSERT INTO
0ef0: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c   xyoff VALUES(2,
0f00: 34 2c 38 39 30 2c 32 35 35 29 3b 0a 49 4e 53 45  4,890,255);.INSE
0f10: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
0f20: 4c 55 45 53 28 32 2c 34 2c 35 35 36 2c 35 36 35  LUES(2,4,556,565
0f30: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
0f40: 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 34 2c  yoff VALUES(2,4,
0f50: 38 36 35 2c 35 35 35 29 3b 0a 49 4e 53 45 52 54  865,555);.INSERT
0f60: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
0f70: 45 53 28 32 2c 34 2c 32 33 30 2c 32 39 33 29 3b  ES(2,4,230,293);
0f80: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
0f90: 66 66 20 56 41 4c 55 45 53 28 32 2c 34 2c 32 34  ff VALUES(2,4,24
0fa0: 37 2c 32 35 31 29 3b 0a 49 4e 53 45 52 54 20 49  7,251);.INSERT I
0fb0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
0fc0: 28 32 2c 34 2c 37 33 30 2c 35 36 33 29 3b 0a 49  (2,4,730,563);.I
0fd0: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
0fe0: 20 56 41 4c 55 45 53 28 32 2c 34 2c 33 31 38 2c   VALUES(2,4,318,
0ff0: 32 38 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  282);.INSERT INT
1000: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32  O xyoff VALUES(2
1010: 2c 34 2c 32 32 30 2c 34 33 31 29 3b 0a 49 4e 53  ,4,220,431);.INS
1020: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
1030: 41 4c 55 45 53 28 32 2c 34 2c 38 32 38 2c 33 33  ALUES(2,4,828,33
1040: 36 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  6);.INSERT INTO 
1050: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 32 2c 34  xyoff VALUES(2,4
1060: 2c 32 37 38 2c 35 32 35 29 3b 0a 49 4e 53 45 52  ,278,525);.INSER
1070: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
1080: 55 45 53 28 33 2c 31 2c 33 32 34 2c 36 35 36 29  UES(3,1,324,656)
1090: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
10a0: 6f 66 66 20 56 41 4c 55 45 53 28 33 2c 31 2c 36  off VALUES(3,1,6
10b0: 32 35 2c 33 36 32 29 3b 0a 49 4e 53 45 52 54 20  25,362);.INSERT 
10c0: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
10d0: 53 28 33 2c 31 2c 31 35 35 2c 35 37 30 29 3b 0a  S(3,1,155,570);.
10e0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
10f0: 66 20 56 41 4c 55 45 53 28 33 2c 31 2c 32 36 37  f VALUES(3,1,267
1100: 2c 34 33 33 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,433);.INSERT IN
1110: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
1120: 33 2c 31 2c 35 39 39 2c 31 32 31 29 3b 0a 49 4e  3,1,599,121);.IN
1130: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
1140: 56 41 4c 55 45 53 28 33 2c 31 2c 38 37 33 2c 34  VALUES(3,1,873,4
1150: 39 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  98);.INSERT INTO
1160: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 33 2c   xyoff VALUES(3,
1170: 31 2c 37 38 39 2c 35 32 30 29 3b 0a 49 4e 53 45  1,789,520);.INSE
1180: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
1190: 4c 55 45 53 28 33 2c 31 2c 36 35 36 2c 33 37 38  LUES(3,1,656,378
11a0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
11b0: 79 6f 66 66 20 56 41 4c 55 45 53 28 33 2c 31 2c  yoff VALUES(3,1,
11c0: 38 33 31 2c 36 30 31 29 3b 0a 49 4e 53 45 52 54  831,601);.INSERT
11d0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
11e0: 45 53 28 33 2c 31 2c 32 35 36 2c 34 37 31 29 3b  ES(3,1,256,471);
11f0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
1200: 66 66 20 56 41 4c 55 45 53 28 33 2c 32 2c 33 33  ff VALUES(3,2,33
1210: 32 2c 32 35 38 29 3b 0a 49 4e 53 45 52 54 20 49  2,258);.INSERT I
1220: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
1230: 28 33 2c 32 2c 33 30 35 2c 34 36 33 29 3b 0a 49  (3,2,305,463);.I
1240: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
1250: 20 56 41 4c 55 45 53 28 33 2c 32 2c 37 39 36 2c   VALUES(3,2,796,
1260: 33 34 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  341);.INSERT INT
1270: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 33  O xyoff VALUES(3
1280: 2c 32 2c 38 33 30 2c 32 32 39 29 3b 0a 49 4e 53  ,2,830,229);.INS
1290: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
12a0: 41 4c 55 45 53 28 33 2c 32 2c 34 31 33 2c 32 37  ALUES(3,2,413,27
12b0: 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  1);.INSERT INTO 
12c0: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 33 2c 32  xyoff VALUES(3,2
12d0: 2c 32 36 39 2c 31 34 30 29 3b 0a 49 4e 53 45 52  ,269,140);.INSER
12e0: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
12f0: 55 45 53 28 33 2c 32 2c 36 32 38 2c 34 34 31 29  UES(3,2,628,441)
1300: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
1310: 6f 66 66 20 56 41 4c 55 45 53 28 33 2c 32 2c 37  off VALUES(3,2,7
1320: 34 37 2c 36 34 33 29 3b 0a 49 4e 53 45 52 54 20  47,643);.INSERT 
1330: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
1340: 53 28 33 2c 32 2c 35 38 34 2c 34 33 35 29 3b 0a  S(3,2,584,435);.
1350: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
1360: 66 20 56 41 4c 55 45 53 28 33 2c 32 2c 37 38 34  f VALUES(3,2,784
1370: 2c 33 31 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,314);.INSERT IN
1380: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
1390: 33 2c 33 2c 37 32 32 2c 32 33 33 29 3b 0a 49 4e  3,3,722,233);.IN
13a0: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
13b0: 56 41 4c 55 45 53 28 33 2c 33 2c 38 31 35 2c 34  VALUES(3,3,815,4
13c0: 32 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  21);.INSERT INTO
13d0: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 33 2c   xyoff VALUES(3,
13e0: 33 2c 34 30 31 2c 32 36 37 29 3b 0a 49 4e 53 45  3,401,267);.INSE
13f0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
1400: 4c 55 45 53 28 33 2c 33 2c 34 35 31 2c 36 35 30  LUES(3,3,451,650
1410: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
1420: 79 6f 66 66 20 56 41 4c 55 45 53 28 33 2c 33 2c  yoff VALUES(3,3,
1430: 33 32 39 2c 34 38 35 29 3b 0a 49 4e 53 45 52 54  329,485);.INSERT
1440: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
1450: 45 53 28 33 2c 33 2c 38 37 38 2c 33 37 30 29 3b  ES(3,3,878,370);
1460: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
1470: 66 66 20 56 41 4c 55 45 53 28 33 2c 33 2c 31 36  ff VALUES(3,3,16
1480: 32 2c 36 31 36 29 3b 0a 49 4e 53 45 52 54 20 49  2,616);.INSERT I
1490: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
14a0: 28 33 2c 33 2c 38 34 34 2c 31 38 33 29 3b 0a 49  (3,3,844,183);.I
14b0: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
14c0: 20 56 41 4c 55 45 53 28 33 2c 33 2c 31 36 31 2c   VALUES(3,3,161,
14d0: 32 31 36 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  216);.INSERT INT
14e0: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 33  O xyoff VALUES(3
14f0: 2c 33 2c 31 37 36 2c 36 37 36 29 3b 0a 49 4e 53  ,3,176,676);.INS
1500: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
1510: 41 4c 55 45 53 28 33 2c 34 2c 37 38 30 2c 31 32  ALUES(3,4,780,12
1520: 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  8);.INSERT INTO 
1530: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 33 2c 34  xyoff VALUES(3,4
1540: 2c 35 36 36 2c 31 32 31 29 3b 0a 49 4e 53 45 52  ,566,121);.INSER
1550: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
1560: 55 45 53 28 33 2c 34 2c 36 34 36 2c 31 32 30 29  UES(3,4,646,120)
1570: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
1580: 6f 66 66 20 56 41 4c 55 45 53 28 33 2c 34 2c 32  off VALUES(3,4,2
1590: 32 33 2c 35 35 37 29 3b 0a 49 4e 53 45 52 54 20  23,557);.INSERT 
15a0: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
15b0: 53 28 33 2c 34 2c 32 35 31 2c 31 31 37 29 3b 0a  S(3,4,251,117);.
15c0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
15d0: 66 20 56 41 4c 55 45 53 28 33 2c 34 2c 31 33 39  f VALUES(3,4,139
15e0: 2c 32 30 39 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,209);.INSERT IN
15f0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
1600: 33 2c 34 2c 38 31 33 2c 35 39 37 29 3b 0a 49 4e  3,4,813,597);.IN
1610: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
1620: 56 41 4c 55 45 53 28 33 2c 34 2c 34 35 34 2c 35  VALUES(3,4,454,5
1630: 33 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  38);.INSERT INTO
1640: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 33 2c   xyoff VALUES(3,
1650: 34 2c 36 31 36 2c 31 39 38 29 3b 0a 49 4e 53 45  4,616,198);.INSE
1660: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
1670: 4c 55 45 53 28 33 2c 34 2c 32 31 30 2c 31 35 39  LUES(3,4,210,159
1680: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
1690: 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 31 2c  yoff VALUES(4,1,
16a0: 32 30 38 2c 34 31 35 29 3b 0a 49 4e 53 45 52 54  208,415);.INSERT
16b0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
16c0: 45 53 28 34 2c 31 2c 33 32 36 2c 36 36 35 29 3b  ES(4,1,326,665);
16d0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
16e0: 66 66 20 56 41 4c 55 45 53 28 34 2c 31 2c 36 31  ff VALUES(4,1,61
16f0: 32 2c 31 33 33 29 3b 0a 49 4e 53 45 52 54 20 49  2,133);.INSERT I
1700: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
1710: 28 34 2c 31 2c 35 33 37 2c 35 31 33 29 3b 0a 49  (4,1,537,513);.I
1720: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
1730: 20 56 41 4c 55 45 53 28 34 2c 31 2c 36 33 38 2c   VALUES(4,1,638,
1740: 34 33 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  438);.INSERT INT
1750: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34  O xyoff VALUES(4
1760: 2c 31 2c 38 30 38 2c 32 36 39 29 3b 0a 49 4e 53  ,1,808,269);.INS
1770: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
1780: 41 4c 55 45 53 28 34 2c 31 2c 35 35 32 2c 31 32  ALUES(4,1,552,12
1790: 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  1);.INSERT INTO 
17a0: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 31  xyoff VALUES(4,1
17b0: 2c 31 30 30 2c 31 38 39 29 3b 0a 49 4e 53 45 52  ,100,189);.INSER
17c0: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
17d0: 55 45 53 28 34 2c 31 2c 36 34 33 2c 36 36 34 29  UES(4,1,643,664)
17e0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
17f0: 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 31 2c 37  off VALUES(4,1,7
1800: 32 36 2c 33 37 38 29 3b 0a 49 4e 53 45 52 54 20  26,378);.INSERT 
1810: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
1820: 53 28 34 2c 32 2c 34 37 38 2c 34 30 39 29 3b 0a  S(4,2,478,409);.
1830: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
1840: 66 20 56 41 4c 55 45 53 28 34 2c 32 2c 34 39 37  f VALUES(4,2,497
1850: 2c 35 30 37 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,507);.INSERT IN
1860: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
1870: 34 2c 32 2c 32 33 33 2c 31 34 38 29 3b 0a 49 4e  4,2,233,148);.IN
1880: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
1890: 56 41 4c 55 45 53 28 34 2c 32 2c 35 38 37 2c 32  VALUES(4,2,587,2
18a0: 33 37 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  37);.INSERT INTO
18b0: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c   xyoff VALUES(4,
18c0: 32 2c 36 30 34 2c 31 36 36 29 3b 0a 49 4e 53 45  2,604,166);.INSE
18d0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
18e0: 4c 55 45 53 28 34 2c 32 2c 31 36 35 2c 34 35 35  LUES(4,2,165,455
18f0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
1900: 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 32 2c  yoff VALUES(4,2,
1910: 33 32 30 2c 32 35 38 29 3b 0a 49 4e 53 45 52 54  320,258);.INSERT
1920: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
1930: 45 53 28 34 2c 32 2c 33 35 33 2c 34 39 36 29 3b  ES(4,2,353,496);
1940: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
1950: 66 66 20 56 41 4c 55 45 53 28 34 2c 32 2c 33 34  ff VALUES(4,2,34
1960: 37 2c 34 39 35 29 3b 0a 49 4e 53 45 52 54 20 49  7,495);.INSERT I
1970: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
1980: 28 34 2c 32 2c 31 36 36 2c 36 32 32 29 3b 0a 49  (4,2,166,622);.I
1990: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
19a0: 20 56 41 4c 55 45 53 28 34 2c 33 2c 34 36 31 2c   VALUES(4,3,461,
19b0: 33 33 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  332);.INSERT INT
19c0: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34  O xyoff VALUES(4
19d0: 2c 33 2c 36 38 35 2c 32 37 38 29 3b 0a 49 4e 53  ,3,685,278);.INS
19e0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
19f0: 41 4c 55 45 53 28 34 2c 33 2c 34 32 37 2c 35 39  ALUES(4,3,427,59
1a00: 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  4);.INSERT INTO 
1a10: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 33  xyoff VALUES(4,3
1a20: 2c 34 36 37 2c 33 34 36 29 3b 0a 49 4e 53 45 52  ,467,346);.INSER
1a30: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
1a40: 55 45 53 28 34 2c 33 2c 31 32 35 2c 35 34 38 29  UES(4,3,125,548)
1a50: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
1a60: 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 33 2c 35  off VALUES(4,3,5
1a70: 39 37 2c 36 38 30 29 3b 0a 49 4e 53 45 52 54 20  97,680);.INSERT 
1a80: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
1a90: 53 28 34 2c 33 2c 38 32 30 2c 34 34 35 29 3b 0a  S(4,3,820,445);.
1aa0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
1ab0: 66 20 56 41 4c 55 45 53 28 34 2c 33 2c 31 34 34  f VALUES(4,3,144
1ac0: 2c 33 33 30 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,330);.INSERT IN
1ad0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
1ae0: 34 2c 33 2c 35 35 37 2c 34 33 34 29 3b 0a 49 4e  4,3,557,434);.IN
1af0: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
1b00: 56 41 4c 55 45 53 28 34 2c 33 2c 32 35 34 2c 33  VALUES(4,3,254,3
1b10: 31 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  15);.INSERT INTO
1b20: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c   xyoff VALUES(4,
1b30: 34 2c 31 35 37 2c 33 33 39 29 3b 0a 49 4e 53 45  4,157,339);.INSE
1b40: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
1b50: 4c 55 45 53 28 34 2c 34 2c 32 34 39 2c 32 32 30  LUES(4,4,249,220
1b60: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
1b70: 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 34 2c  yoff VALUES(4,4,
1b80: 33 39 31 2c 33 32 33 29 3b 0a 49 4e 53 45 52 54  391,323);.INSERT
1b90: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
1ba0: 45 53 28 34 2c 34 2c 35 38 39 2c 34 32 39 29 3b  ES(4,4,589,429);
1bb0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
1bc0: 66 66 20 56 41 4c 55 45 53 28 34 2c 34 2c 38 35  ff VALUES(4,4,85
1bd0: 39 2c 35 39 32 29 3b 0a 49 4e 53 45 52 54 20 49  9,592);.INSERT I
1be0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
1bf0: 28 34 2c 34 2c 33 33 37 2c 36 38 30 29 3b 0a 49  (4,4,337,680);.I
1c00: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
1c10: 20 56 41 4c 55 45 53 28 34 2c 34 2c 34 31 30 2c   VALUES(4,4,410,
1c20: 32 38 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  288);.INSERT INT
1c30: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34  O xyoff VALUES(4
1c40: 2c 34 2c 36 33 36 2c 35 39 36 29 3b 0a 49 4e 53  ,4,636,596);.INS
1c50: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
1c60: 41 4c 55 45 53 28 34 2c 34 2c 37 33 34 2c 34 33  ALUES(4,4,734,43
1c70: 33 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  3);.INSERT INTO 
1c80: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 34 2c 34  xyoff VALUES(4,4
1c90: 2c 35 35 39 2c 35 34 39 29 3b 0a 49 4e 53 45 52  ,559,549);.INSER
1ca0: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
1cb0: 55 45 53 28 35 2c 31 2c 35 34 39 2c 36 30 37 29  UES(5,1,549,607)
1cc0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
1cd0: 6f 66 66 20 56 41 4c 55 45 53 28 35 2c 31 2c 35  off VALUES(5,1,5
1ce0: 38 34 2c 34 39 38 29 3b 0a 49 4e 53 45 52 54 20  84,498);.INSERT 
1cf0: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
1d00: 53 28 35 2c 31 2c 36 39 39 2c 31 31 36 29 3b 0a  S(5,1,699,116);.
1d10: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
1d20: 66 20 56 41 4c 55 45 53 28 35 2c 31 2c 35 32 35  f VALUES(5,1,525
1d30: 2c 35 32 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,524);.INSERT IN
1d40: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
1d50: 35 2c 31 2c 33 30 34 2c 36 36 37 29 3b 0a 49 4e  5,1,304,667);.IN
1d60: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
1d70: 56 41 4c 55 45 53 28 35 2c 31 2c 33 30 32 2c 32  VALUES(5,1,302,2
1d80: 33 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  32);.INSERT INTO
1d90: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 35 2c   xyoff VALUES(5,
1da0: 31 2c 34 30 33 2c 31 34 39 29 3b 0a 49 4e 53 45  1,403,149);.INSE
1db0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
1dc0: 4c 55 45 53 28 35 2c 31 2c 38 32 34 2c 34 30 33  LUES(5,1,824,403
1dd0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
1de0: 79 6f 66 66 20 56 41 4c 55 45 53 28 35 2c 31 2c  yoff VALUES(5,1,
1df0: 36 39 37 2c 32 30 33 29 3b 0a 49 4e 53 45 52 54  697,203);.INSERT
1e00: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
1e10: 45 53 28 35 2c 31 2c 32 39 33 2c 36 38 39 29 3b  ES(5,1,293,689);
1e20: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
1e30: 66 66 20 56 41 4c 55 45 53 28 35 2c 32 2c 31 39  ff VALUES(5,2,19
1e40: 39 2c 32 37 35 29 3b 0a 49 4e 53 45 52 54 20 49  9,275);.INSERT I
1e50: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
1e60: 28 35 2c 32 2c 33 39 35 2c 33 39 33 29 3b 0a 49  (5,2,395,393);.I
1e70: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
1e80: 20 56 41 4c 55 45 53 28 35 2c 32 2c 36 35 37 2c   VALUES(5,2,657,
1e90: 36 34 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  642);.INSERT INT
1ea0: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 35  O xyoff VALUES(5
1eb0: 2c 32 2c 32 30 30 2c 36 35 35 29 3b 0a 49 4e 53  ,2,200,655);.INS
1ec0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
1ed0: 41 4c 55 45 53 28 35 2c 32 2c 38 38 32 2c 32 33  ALUES(5,2,882,23
1ee0: 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  4);.INSERT INTO 
1ef0: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 35 2c 32  xyoff VALUES(5,2
1f00: 2c 34 38 33 2c 35 36 35 29 3b 0a 49 4e 53 45 52  ,483,565);.INSER
1f10: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
1f20: 55 45 53 28 35 2c 32 2c 37 35 35 2c 36 34 30 29  UES(5,2,755,640)
1f30: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
1f40: 6f 66 66 20 56 41 4c 55 45 53 28 35 2c 32 2c 38  off VALUES(5,2,8
1f50: 31 30 2c 33 30 35 29 3b 0a 49 4e 53 45 52 54 20  10,305);.INSERT 
1f60: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
1f70: 53 28 35 2c 32 2c 37 33 31 2c 36 35 35 29 3b 0a  S(5,2,731,655);.
1f80: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
1f90: 66 20 56 41 4c 55 45 53 28 35 2c 32 2c 34 36 36  f VALUES(5,2,466
1fa0: 2c 36 39 30 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,690);.INSERT IN
1fb0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
1fc0: 35 2c 33 2c 35 36 33 2c 35 38 34 29 3b 0a 49 4e  5,3,563,584);.IN
1fd0: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
1fe0: 56 41 4c 55 45 53 28 35 2c 33 2c 34 39 31 2c 31  VALUES(5,3,491,1
1ff0: 31 37 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  17);.INSERT INTO
2000: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 35 2c   xyoff VALUES(5,
2010: 33 2c 37 37 39 2c 32 39 32 29 3b 0a 49 4e 53 45  3,779,292);.INSE
2020: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
2030: 4c 55 45 53 28 35 2c 33 2c 33 37 35 2c 36 33 37  LUES(5,3,375,637
2040: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
2050: 79 6f 66 66 20 56 41 4c 55 45 53 28 35 2c 33 2c  yoff VALUES(5,3,
2060: 32 35 33 2c 35 35 33 29 3b 0a 49 4e 53 45 52 54  253,553);.INSERT
2070: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
2080: 45 53 28 35 2c 33 2c 37 39 37 2c 35 31 34 29 3b  ES(5,3,797,514);
2090: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
20a0: 66 66 20 56 41 4c 55 45 53 28 35 2c 33 2c 32 32  ff VALUES(5,3,22
20b0: 39 2c 34 38 30 29 3b 0a 49 4e 53 45 52 54 20 49  9,480);.INSERT I
20c0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
20d0: 28 35 2c 33 2c 32 35 37 2c 31 39 34 29 3b 0a 49  (5,3,257,194);.I
20e0: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
20f0: 20 56 41 4c 55 45 53 28 35 2c 33 2c 34 34 39 2c   VALUES(5,3,449,
2100: 35 35 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  555);.INSERT INT
2110: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 35  O xyoff VALUES(5
2120: 2c 33 2c 38 34 39 2c 36 33 30 29 3b 0a 49 4e 53  ,3,849,630);.INS
2130: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
2140: 41 4c 55 45 53 28 35 2c 34 2c 33 32 39 2c 32 38  ALUES(5,4,329,28
2150: 36 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  6);.INSERT INTO 
2160: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 35 2c 34  xyoff VALUES(5,4
2170: 2c 36 34 30 2c 31 39 37 29 3b 0a 49 4e 53 45 52  ,640,197);.INSER
2180: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
2190: 55 45 53 28 35 2c 34 2c 31 30 34 2c 31 35 30 29  UES(5,4,104,150)
21a0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
21b0: 6f 66 66 20 56 41 4c 55 45 53 28 35 2c 34 2c 34  off VALUES(5,4,4
21c0: 33 38 2c 32 37 32 29 3b 0a 49 4e 53 45 52 54 20  38,272);.INSERT 
21d0: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
21e0: 53 28 35 2c 34 2c 37 37 33 2c 32 32 36 29 3b 0a  S(5,4,773,226);.
21f0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
2200: 66 20 56 41 4c 55 45 53 28 35 2c 34 2c 34 34 31  f VALUES(5,4,441
2210: 2c 36 35 30 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,650);.INSERT IN
2220: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
2230: 35 2c 34 2c 32 34 32 2c 33 34 30 29 3b 0a 49 4e  5,4,242,340);.IN
2240: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
2250: 56 41 4c 55 45 53 28 35 2c 34 2c 33 30 31 2c 34  VALUES(5,4,301,4
2260: 33 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  35);.INSERT INTO
2270: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 35 2c   xyoff VALUES(5,
2280: 34 2c 31 37 31 2c 33 39 37 29 3b 0a 49 4e 53 45  4,171,397);.INSE
2290: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
22a0: 4c 55 45 53 28 35 2c 34 2c 35 34 31 2c 36 31 39  LUES(5,4,541,619
22b0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
22c0: 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 31 2c  yoff VALUES(6,1,
22d0: 36 35 31 2c 33 30 31 29 3b 0a 49 4e 53 45 52 54  651,301);.INSERT
22e0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
22f0: 45 53 28 36 2c 31 2c 36 33 37 2c 31 33 37 29 3b  ES(6,1,637,137);
2300: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
2310: 66 66 20 56 41 4c 55 45 53 28 36 2c 31 2c 37 36  ff VALUES(6,1,76
2320: 35 2c 36 34 33 29 3b 0a 49 4e 53 45 52 54 20 49  5,643);.INSERT I
2330: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
2340: 28 36 2c 31 2c 31 37 33 2c 32 39 36 29 3b 0a 49  (6,1,173,296);.I
2350: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
2360: 20 56 41 4c 55 45 53 28 36 2c 31 2c 32 36 33 2c   VALUES(6,1,263,
2370: 31 39 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  192);.INSERT INT
2380: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36  O xyoff VALUES(6
2390: 2c 31 2c 37 39 31 2c 33 30 32 29 3b 0a 49 4e 53  ,1,791,302);.INS
23a0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
23b0: 41 4c 55 45 53 28 36 2c 31 2c 38 36 30 2c 36 30  ALUES(6,1,860,60
23c0: 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  1);.INSERT INTO 
23d0: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 31  xyoff VALUES(6,1
23e0: 2c 37 38 30 2c 34 34 35 29 3b 0a 49 4e 53 45 52  ,780,445);.INSER
23f0: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
2400: 55 45 53 28 36 2c 31 2c 34 36 32 2c 32 31 34 29  UES(6,1,462,214)
2410: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
2420: 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 31 2c 38  off VALUES(6,1,8
2430: 30 32 2c 32 30 37 29 3b 0a 49 4e 53 45 52 54 20  02,207);.INSERT 
2440: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
2450: 53 28 36 2c 32 2c 38 31 31 2c 36 38 35 29 3b 0a  S(6,2,811,685);.
2460: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
2470: 66 20 56 41 4c 55 45 53 28 36 2c 32 2c 35 33 33  f VALUES(6,2,533
2480: 2c 35 33 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,531);.INSERT IN
2490: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
24a0: 36 2c 32 2c 33 39 30 2c 36 31 34 29 3b 0a 49 4e  6,2,390,614);.IN
24b0: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
24c0: 56 41 4c 55 45 53 28 36 2c 32 2c 32 36 30 2c 35  VALUES(6,2,260,5
24d0: 38 30 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  80);.INSERT INTO
24e0: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c   xyoff VALUES(6,
24f0: 32 2c 31 31 36 2c 33 37 37 29 3b 0a 49 4e 53 45  2,116,377);.INSE
2500: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
2510: 4c 55 45 53 28 36 2c 32 2c 38 36 30 2c 34 35 38  LUES(6,2,860,458
2520: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
2530: 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 32 2c  yoff VALUES(6,2,
2540: 34 33 38 2c 35 39 30 29 3b 0a 49 4e 53 45 52 54  438,590);.INSERT
2550: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
2560: 45 53 28 36 2c 32 2c 36 30 34 2c 35 36 32 29 3b  ES(6,2,604,562);
2570: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
2580: 66 66 20 56 41 4c 55 45 53 28 36 2c 32 2c 32 34  ff VALUES(6,2,24
2590: 31 2c 32 34 32 29 3b 0a 49 4e 53 45 52 54 20 49  1,242);.INSERT I
25a0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
25b0: 28 36 2c 32 2c 36 36 37 2c 32 39 38 29 3b 0a 49  (6,2,667,298);.I
25c0: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
25d0: 20 56 41 4c 55 45 53 28 36 2c 33 2c 37 38 37 2c   VALUES(6,3,787,
25e0: 36 39 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  698);.INSERT INT
25f0: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36  O xyoff VALUES(6
2600: 2c 33 2c 38 36 38 2c 35 32 31 29 3b 0a 49 4e 53  ,3,868,521);.INS
2610: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
2620: 41 4c 55 45 53 28 36 2c 33 2c 34 31 32 2c 35 38  ALUES(6,3,412,58
2630: 37 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  7);.INSERT INTO 
2640: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 33  xyoff VALUES(6,3
2650: 2c 36 34 30 2c 31 33 31 29 3b 0a 49 4e 53 45 52  ,640,131);.INSER
2660: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
2670: 55 45 53 28 36 2c 33 2c 37 34 38 2c 34 31 30 29  UES(6,3,748,410)
2680: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
2690: 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 33 2c 32  off VALUES(6,3,2
26a0: 35 37 2c 32 34 34 29 3b 0a 49 4e 53 45 52 54 20  57,244);.INSERT 
26b0: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
26c0: 53 28 36 2c 33 2c 34 31 31 2c 31 39 35 29 3b 0a  S(6,3,411,195);.
26d0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
26e0: 66 20 56 41 4c 55 45 53 28 36 2c 33 2c 34 36 34  f VALUES(6,3,464
26f0: 2c 33 35 36 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,356);.INSERT IN
2700: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
2710: 36 2c 33 2c 31 35 37 2c 33 33 39 29 3b 0a 49 4e  6,3,157,339);.IN
2720: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
2730: 56 41 4c 55 45 53 28 36 2c 33 2c 34 33 34 2c 35  VALUES(6,3,434,5
2740: 30 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  05);.INSERT INTO
2750: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c   xyoff VALUES(6,
2760: 34 2c 34 38 30 2c 36 37 31 29 3b 0a 49 4e 53 45  4,480,671);.INSE
2770: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
2780: 4c 55 45 53 28 36 2c 34 2c 35 31 39 2c 32 32 38  LUES(6,4,519,228
2790: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
27a0: 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 34 2c  yoff VALUES(6,4,
27b0: 34 30 34 2c 35 31 33 29 3b 0a 49 4e 53 45 52 54  404,513);.INSERT
27c0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
27d0: 45 53 28 36 2c 34 2c 31 32 30 2c 35 33 38 29 3b  ES(6,4,120,538);
27e0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
27f0: 66 66 20 56 41 4c 55 45 53 28 36 2c 34 2c 34 30  ff VALUES(6,4,40
2800: 33 2c 36 36 33 29 3b 0a 49 4e 53 45 52 54 20 49  3,663);.INSERT I
2810: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
2820: 28 36 2c 34 2c 34 37 37 2c 36 37 37 29 3b 0a 49  (6,4,477,677);.I
2830: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
2840: 20 56 41 4c 55 45 53 28 36 2c 34 2c 36 39 30 2c   VALUES(6,4,690,
2850: 31 35 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  154);.INSERT INT
2860: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36  O xyoff VALUES(6
2870: 2c 34 2c 36 30 36 2c 34 39 38 29 3b 0a 49 4e 53  ,4,606,498);.INS
2880: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
2890: 41 4c 55 45 53 28 36 2c 34 2c 34 33 30 2c 36 36  ALUES(6,4,430,66
28a0: 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  5);.INSERT INTO 
28b0: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 36 2c 34  xyoff VALUES(6,4
28c0: 2c 34 39 39 2c 32 37 33 29 3b 0a 49 4e 53 45 52  ,499,273);.INSER
28d0: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
28e0: 55 45 53 28 37 2c 31 2c 31 31 38 2c 35 32 36 29  UES(7,1,118,526)
28f0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
2900: 6f 66 66 20 56 41 4c 55 45 53 28 37 2c 31 2c 38  off VALUES(7,1,8
2910: 31 37 2c 35 32 32 29 3b 0a 49 4e 53 45 52 54 20  17,522);.INSERT 
2920: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
2930: 53 28 37 2c 31 2c 33 38 38 2c 36 33 38 29 3b 0a  S(7,1,388,638);.
2940: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
2950: 66 20 56 41 4c 55 45 53 28 37 2c 31 2c 31 38 31  f VALUES(7,1,181
2960: 2c 32 36 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,265);.INSERT IN
2970: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
2980: 37 2c 31 2c 34 34 32 2c 33 33 32 29 3b 0a 49 4e  7,1,442,332);.IN
2990: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
29a0: 56 41 4c 55 45 53 28 37 2c 31 2c 34 37 35 2c 32  VALUES(7,1,475,2
29b0: 38 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  82);.INSERT INTO
29c0: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 37 2c   xyoff VALUES(7,
29d0: 31 2c 37 32 32 2c 36 33 33 29 3b 0a 49 4e 53 45  1,722,633);.INSE
29e0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
29f0: 4c 55 45 53 28 37 2c 31 2c 31 30 34 2c 33 39 34  LUES(7,1,104,394
2a00: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
2a10: 79 6f 66 66 20 56 41 4c 55 45 53 28 37 2c 31 2c  yoff VALUES(7,1,
2a20: 36 33 31 2c 32 36 32 29 3b 0a 49 4e 53 45 52 54  631,262);.INSERT
2a30: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
2a40: 45 53 28 37 2c 31 2c 33 37 32 2c 33 39 32 29 3b  ES(7,1,372,392);
2a50: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
2a60: 66 66 20 56 41 4c 55 45 53 28 37 2c 32 2c 36 30  ff VALUES(7,2,60
2a70: 30 2c 34 31 33 29 3b 0a 49 4e 53 45 52 54 20 49  0,413);.INSERT I
2a80: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
2a90: 28 37 2c 32 2c 33 38 36 2c 32 32 33 29 3b 0a 49  (7,2,386,223);.I
2aa0: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
2ab0: 20 56 41 4c 55 45 53 28 37 2c 32 2c 38 33 39 2c   VALUES(7,2,839,
2ac0: 31 37 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  174);.INSERT INT
2ad0: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 37  O xyoff VALUES(7
2ae0: 2c 32 2c 32 39 33 2c 34 31 30 29 3b 0a 49 4e 53  ,2,293,410);.INS
2af0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
2b00: 41 4c 55 45 53 28 37 2c 32 2c 32 38 31 2c 33 39  ALUES(7,2,281,39
2b10: 31 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  1);.INSERT INTO 
2b20: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 37 2c 32  xyoff VALUES(7,2
2b30: 2c 38 35 39 2c 33 38 37 29 3b 0a 49 4e 53 45 52  ,859,387);.INSER
2b40: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
2b50: 55 45 53 28 37 2c 32 2c 34 37 38 2c 33 34 37 29  UES(7,2,478,347)
2b60: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
2b70: 6f 66 66 20 56 41 4c 55 45 53 28 37 2c 32 2c 36  off VALUES(7,2,6
2b80: 34 36 2c 36 39 30 29 3b 0a 49 4e 53 45 52 54 20  46,690);.INSERT 
2b90: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
2ba0: 53 28 37 2c 32 2c 37 31 33 2c 32 33 34 29 3b 0a  S(7,2,713,234);.
2bb0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
2bc0: 66 20 56 41 4c 55 45 53 28 37 2c 32 2c 31 39 39  f VALUES(7,2,199
2bd0: 2c 35 38 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,588);.INSERT IN
2be0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
2bf0: 37 2c 33 2c 33 38 39 2c 32 35 36 29 3b 0a 49 4e  7,3,389,256);.IN
2c00: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
2c10: 56 41 4c 55 45 53 28 37 2c 33 2c 33 34 39 2c 35  VALUES(7,3,349,5
2c20: 34 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  42);.INSERT INTO
2c30: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 37 2c   xyoff VALUES(7,
2c40: 33 2c 33 36 33 2c 33 34 35 29 3b 0a 49 4e 53 45  3,363,345);.INSE
2c50: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
2c60: 4c 55 45 53 28 37 2c 33 2c 37 35 31 2c 33 30 32  LUES(7,3,751,302
2c70: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
2c80: 79 6f 66 66 20 56 41 4c 55 45 53 28 37 2c 33 2c  yoff VALUES(7,3,
2c90: 34 32 33 2c 33 38 36 29 3b 0a 49 4e 53 45 52 54  423,386);.INSERT
2ca0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
2cb0: 45 53 28 37 2c 33 2c 32 36 37 2c 34 34 34 29 3b  ES(7,3,267,444);
2cc0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
2cd0: 66 66 20 56 41 4c 55 45 53 28 37 2c 33 2c 32 34  ff VALUES(7,3,24
2ce0: 33 2c 31 38 32 29 3b 0a 49 4e 53 45 52 54 20 49  3,182);.INSERT I
2cf0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
2d00: 28 37 2c 33 2c 34 35 33 2c 36 35 38 29 3b 0a 49  (7,3,453,658);.I
2d10: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
2d20: 20 56 41 4c 55 45 53 28 37 2c 33 2c 31 32 36 2c   VALUES(7,3,126,
2d30: 33 34 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  345);.INSERT INT
2d40: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 37  O xyoff VALUES(7
2d50: 2c 33 2c 31 32 30 2c 34 37 32 29 3b 0a 49 4e 53  ,3,120,472);.INS
2d60: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
2d70: 41 4c 55 45 53 28 37 2c 34 2c 33 35 39 2c 36 35  ALUES(7,4,359,65
2d80: 34 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  4);.INSERT INTO 
2d90: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 37 2c 34  xyoff VALUES(7,4
2da0: 2c 33 33 39 2c 35 31 36 29 3b 0a 49 4e 53 45 52  ,339,516);.INSER
2db0: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
2dc0: 55 45 53 28 37 2c 34 2c 37 31 30 2c 34 35 32 29  UES(7,4,710,452)
2dd0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
2de0: 6f 66 66 20 56 41 4c 55 45 53 28 37 2c 34 2c 38  off VALUES(7,4,8
2df0: 31 30 2c 35 36 30 29 3b 0a 49 4e 53 45 52 54 20  10,560);.INSERT 
2e00: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
2e10: 53 28 37 2c 34 2c 36 34 34 2c 36 39 32 29 3b 0a  S(7,4,644,692);.
2e20: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
2e30: 66 20 56 41 4c 55 45 53 28 37 2c 34 2c 38 32 36  f VALUES(7,4,826
2e40: 2c 33 32 37 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,327);.INSERT IN
2e50: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
2e60: 37 2c 34 2c 34 36 35 2c 34 36 32 29 3b 0a 49 4e  7,4,465,462);.IN
2e70: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
2e80: 56 41 4c 55 45 53 28 37 2c 34 2c 33 31 30 2c 34  VALUES(7,4,310,4
2e90: 35 36 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  56);.INSERT INTO
2ea0: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 37 2c   xyoff VALUES(7,
2eb0: 34 2c 35 37 37 2c 36 31 33 29 3b 0a 49 4e 53 45  4,577,613);.INSE
2ec0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
2ed0: 4c 55 45 53 28 37 2c 34 2c 35 30 32 2c 35 35 35  LUES(7,4,502,555
2ee0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
2ef0: 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 31 2c  yoff VALUES(8,1,
2f00: 36 30 31 2c 36 32 30 29 3b 0a 49 4e 53 45 52 54  601,620);.INSERT
2f10: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
2f20: 45 53 28 38 2c 31 2c 33 37 32 2c 36 38 33 29 3b  ES(8,1,372,683);
2f30: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
2f40: 66 66 20 56 41 4c 55 45 53 28 38 2c 31 2c 37 35  ff VALUES(8,1,75
2f50: 38 2c 33 39 39 29 3b 0a 49 4e 53 45 52 54 20 49  8,399);.INSERT I
2f60: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
2f70: 28 38 2c 31 2c 34 38 35 2c 35 35 32 29 3b 0a 49  (8,1,485,552);.I
2f80: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
2f90: 20 56 41 4c 55 45 53 28 38 2c 31 2c 31 35 39 2c   VALUES(8,1,159,
2fa0: 35 36 33 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  563);.INSERT INT
2fb0: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38  O xyoff VALUES(8
2fc0: 2c 31 2c 35 33 36 2c 33 30 33 29 3b 0a 49 4e 53  ,1,536,303);.INS
2fd0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
2fe0: 41 4c 55 45 53 28 38 2c 31 2c 31 32 32 2c 32 36  ALUES(8,1,122,26
2ff0: 33 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  3);.INSERT INTO 
3000: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 31  xyoff VALUES(8,1
3010: 2c 38 33 36 2c 34 33 35 29 3b 0a 49 4e 53 45 52  ,836,435);.INSER
3020: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
3030: 55 45 53 28 38 2c 31 2c 35 34 34 2c 31 34 36 29  UES(8,1,544,146)
3040: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
3050: 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 31 2c 32  off VALUES(8,1,2
3060: 37 30 2c 32 37 37 29 3b 0a 49 4e 53 45 52 54 20  70,277);.INSERT 
3070: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
3080: 53 28 38 2c 32 2c 38 34 39 2c 32 38 31 29 3b 0a  S(8,2,849,281);.
3090: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
30a0: 66 20 56 41 4c 55 45 53 28 38 2c 32 2c 35 36 33  f VALUES(8,2,563
30b0: 2c 32 34 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,242);.INSERT IN
30c0: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
30d0: 38 2c 32 2c 37 30 34 2c 34 36 33 29 3b 0a 49 4e  8,2,704,463);.IN
30e0: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
30f0: 56 41 4c 55 45 53 28 38 2c 32 2c 31 30 32 2c 31  VALUES(8,2,102,1
3100: 36 35 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  65);.INSERT INTO
3110: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c   xyoff VALUES(8,
3120: 32 2c 37 39 37 2c 35 32 34 29 3b 0a 49 4e 53 45  2,797,524);.INSE
3130: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
3140: 4c 55 45 53 28 38 2c 32 2c 36 31 32 2c 34 32 36  LUES(8,2,612,426
3150: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
3160: 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 32 2c  yoff VALUES(8,2,
3170: 33 34 35 2c 33 37 32 29 3b 0a 49 4e 53 45 52 54  345,372);.INSERT
3180: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
3190: 45 53 28 38 2c 32 2c 38 32 30 2c 33 37 36 29 3b  ES(8,2,820,376);
31a0: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
31b0: 66 66 20 56 41 4c 55 45 53 28 38 2c 32 2c 37 38  ff VALUES(8,2,78
31c0: 39 2c 31 35 36 29 3b 0a 49 4e 53 45 52 54 20 49  9,156);.INSERT I
31d0: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
31e0: 28 38 2c 32 2c 33 32 31 2c 34 36 36 29 3b 0a 49  (8,2,321,466);.I
31f0: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
3200: 20 56 41 4c 55 45 53 28 38 2c 33 2c 31 35 30 2c   VALUES(8,3,150,
3210: 33 33 32 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  332);.INSERT INT
3220: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38  O xyoff VALUES(8
3230: 2c 33 2c 31 33 36 2c 31 35 32 29 3b 0a 49 4e 53  ,3,136,152);.INS
3240: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
3250: 41 4c 55 45 53 28 38 2c 33 2c 34 36 38 2c 35 32  ALUES(8,3,468,52
3260: 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  8);.INSERT INTO 
3270: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 33  xyoff VALUES(8,3
3280: 2c 34 30 39 2c 31 39 32 29 3b 0a 49 4e 53 45 52  ,409,192);.INSER
3290: 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c  T INTO xyoff VAL
32a0: 55 45 53 28 38 2c 33 2c 38 32 30 2c 32 31 36 29  UES(8,3,820,216)
32b0: 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79  ;.INSERT INTO xy
32c0: 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 33 2c 38  off VALUES(8,3,8
32d0: 34 37 2c 32 34 39 29 3b 0a 49 4e 53 45 52 54 20  47,249);.INSERT 
32e0: 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45  INTO xyoff VALUE
32f0: 53 28 38 2c 33 2c 38 30 31 2c 32 36 37 29 3b 0a  S(8,3,801,267);.
3300: 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66  INSERT INTO xyof
3310: 66 20 56 41 4c 55 45 53 28 38 2c 33 2c 31 38 31  f VALUES(8,3,181
3320: 2c 36 37 30 29 3b 0a 49 4e 53 45 52 54 20 49 4e  ,670);.INSERT IN
3330: 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28  TO xyoff VALUES(
3340: 38 2c 33 2c 33 39 38 2c 35 36 33 29 3b 0a 49 4e  8,3,398,563);.IN
3350: 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20  SERT INTO xyoff 
3360: 56 41 4c 55 45 53 28 38 2c 33 2c 34 33 39 2c 35  VALUES(8,3,439,5
3370: 37 36 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f  76);.INSERT INTO
3380: 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c   xyoff VALUES(8,
3390: 34 2c 31 32 33 2c 33 30 39 29 3b 0a 49 4e 53 45  4,123,309);.INSE
33a0: 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41  RT INTO xyoff VA
33b0: 4c 55 45 53 28 38 2c 34 2c 31 39 30 2c 34 39 36  LUES(8,4,190,496
33c0: 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78  );.INSERT INTO x
33d0: 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 34 2c  yoff VALUES(8,4,
33e0: 35 37 31 2c 35 33 31 29 3b 0a 49 4e 53 45 52 54  571,531);.INSERT
33f0: 20 49 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55   INTO xyoff VALU
3400: 45 53 28 38 2c 34 2c 32 39 30 2c 32 35 35 29 3b  ES(8,4,290,255);
3410: 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f  .INSERT INTO xyo
3420: 66 66 20 56 41 4c 55 45 53 28 38 2c 34 2c 32 34  ff VALUES(8,4,24
3430: 34 2c 34 31 32 29 3b 0a 49 4e 53 45 52 54 20 49  4,412);.INSERT I
3440: 4e 54 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53  NTO xyoff VALUES
3450: 28 38 2c 34 2c 32 36 34 2c 35 39 36 29 3b 0a 49  (8,4,264,596);.I
3460: 4e 53 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66  NSERT INTO xyoff
3470: 20 56 41 4c 55 45 53 28 38 2c 34 2c 32 35 33 2c   VALUES(8,4,253,
3480: 34 32 30 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54  420);.INSERT INT
3490: 4f 20 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38  O xyoff VALUES(8
34a0: 2c 34 2c 38 34 37 2c 35 33 36 29 3b 0a 49 4e 53  ,4,847,536);.INS
34b0: 45 52 54 20 49 4e 54 4f 20 78 79 6f 66 66 20 56  ERT INTO xyoff V
34c0: 41 4c 55 45 53 28 38 2c 34 2c 31 32 30 2c 32 38  ALUES(8,4,120,28
34d0: 38 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  8);.INSERT INTO 
34e0: 78 79 6f 66 66 20 56 41 4c 55 45 53 28 38 2c 34  xyoff VALUES(8,4
34f0: 2c 33 33 31 2c 36 33 39 29 3b 0a 0a 2f 2a 20 43  ,331,639);../* C
3500: 72 65 61 74 65 20 74 68 65 20 67 65 6f 70 6f 6c  reate the geopol
3510: 79 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 65  y object from te
3520: 73 74 20 64 61 74 61 20 61 62 6f 76 65 20 2a 2f  st data above */
3530: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20  .CREATE VIRTUAL 
3540: 54 41 42 4c 45 20 67 65 6f 31 20 55 53 49 4e 47  TABLE geo1 USING
3550: 20 67 65 6f 70 6f 6c 79 28 74 79 70 65 2c 63 6c   geopoly(type,cl
3560: 72 29 3b 0a 49 4e 53 45 52 54 20 49 4e 54 4f 20  r);.INSERT INTO 
3570: 67 65 6f 31 28 5f 73 68 61 70 65 2c 74 79 70 65  geo1(_shape,type
3580: 2c 63 6c 72 29 0a 20 20 53 45 4c 45 43 54 20 67  ,clr).  SELECT g
3590: 65 6f 70 6f 6c 79 5f 78 66 6f 72 6d 28 6a 73 68  eopoly_xform(jsh
35a0: 61 70 65 2c 41 2c 42 2c 2d 42 2c 41 2c 78 6f 66  ape,A,B,-B,A,xof
35b0: 66 2c 79 6f 66 66 29 2c 20 62 61 73 69 73 2e 6e  f,yoff), basis.n
35c0: 61 6d 65 2c 20 78 66 6f 72 6d 2e 63 6c 72 0a 20  ame, xform.clr. 
35d0: 20 20 20 46 52 4f 4d 20 62 61 73 69 73 2c 20 78     FROM basis, x
35e0: 66 6f 72 6d 2c 20 78 79 6f 66 66 0a 20 20 20 57  form, xyoff.   W
35f0: 48 45 52 45 20 78 79 6f 66 66 2e 69 64 31 3d 62  HERE xyoff.id1=b
3600: 61 73 69 73 2e 72 6f 77 69 64 20 41 4e 44 20 78  asis.rowid AND x
3610: 79 6f 66 66 2e 69 64 32 3d 78 66 6f 72 6d 2e 72  yoff.id2=xform.r
3620: 6f 77 69 64 3b 0a 0a 0a 2f 2a 20 51 75 65 72 79  owid;.../* Query
3630: 20 70 6f 6c 79 67 6f 6e 20 2a 2f 0a 43 52 45 41   polygon */.CREA
3640: 54 45 20 54 45 4d 50 20 54 41 42 4c 45 20 71 75  TE TEMP TABLE qu
3650: 65 72 79 70 6f 6c 79 28 70 6f 6c 79 20 4a 53 4f  erypoly(poly JSO
3660: 4e 2c 20 63 6c 72 20 54 45 58 54 29 3b 0a 49 4e  N, clr TEXT);.IN
3670: 53 45 52 54 20 49 4e 54 4f 20 71 75 65 72 79 70  SERT INTO queryp
3680: 6f 6c 79 28 63 6c 72 2c 20 70 6f 6c 79 29 20 56  oly(clr, poly) V
3690: 41 4c 55 45 53 0a 20 20 28 27 6f 72 61 6e 67 65  ALUES.  ('orange
36a0: 27 2c 20 27 5b 5b 33 30 30 2c 33 30 30 5d 2c 5b  ', '[[300,300],[
36b0: 34 30 30 2c 33 35 30 5d 2c 5b 35 30 30 2c 32 35  400,350],[500,25
36c0: 30 5d 2c 5b 34 38 30 2c 35 30 30 5d 2c 5b 34 30  0],[480,500],[40
36d0: 30 2c 34 38 30 5d 2c 5b 33 30 30 2c 35 35 30 5d  0,480],[300,550]
36e0: 2c 5b 32 38 30 2c 34 35 30 5d 2c 5b 33 32 30 2c  ,[280,450],[320,
36f0: 34 30 30 5d 2c 5b 32 38 30 2c 33 35 30 5d 2c 5b  400],[280,350],[
3700: 33 30 30 2c 33 30 30 5d 5d 27 29 3b 0a 0a 2f 2a  300,300]]');../*
3710: 20 47 65 6e 65 72 61 74 65 20 74 68 65 20 48 54   Generate the HT
3720: 4d 4c 20 2a 2f 0a 2e 70 72 69 6e 74 20 27 3c 68  ML */..print '<h
3730: 74 6d 6c 3e 27 0a 2e 70 72 69 6e 74 20 27 3c 68  tml>'..print '<h
3740: 31 3e 45 76 65 72 79 74 68 69 6e 67 3c 2f 68 31  1>Everything</h1
3750: 3e 27 0a 2e 70 72 69 6e 74 20 27 3c 73 76 67 20  >'..print '<svg 
3760: 77 69 64 74 68 3d 22 31 30 30 30 22 20 68 65 69  width="1000" hei
3770: 67 68 74 3d 22 38 30 30 22 20 73 74 79 6c 65 3d  ght="800" style=
3780: 22 62 6f 72 64 65 72 3a 31 70 78 20 73 6f 6c 69  "border:1px soli
3790: 64 20 62 6c 61 63 6b 22 3e 27 0a 53 45 4c 45 43  d black">'.SELEC
37a0: 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 5f 73  T geopoly_svg(_s
37b0: 68 61 70 65 2c 20 0a 20 20 20 20 20 20 20 20 20  hape, .         
37c0: 70 72 69 6e 74 66 28 27 73 74 79 6c 65 3d 22 66  printf('style="f
37d0: 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a  ill:none;stroke:
37e0: 25 73 3b 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a  %s;stroke-width:
37f0: 31 22 27 2c 63 6c 72 29 0a 20 20 20 20 20 20 20  1"',clr).       
3800: 29 0a 20 20 46 52 4f 4d 20 67 65 6f 31 3b 0a 53  ).  FROM geo1;.S
3810: 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76  ELECT geopoly_sv
3820: 67 28 70 6f 6c 79 2c 20 0a 20 20 20 20 20 20 20  g(poly, .       
3830: 20 20 70 72 69 6e 74 66 28 27 73 74 79 6c 65 3d    printf('style=
3840: 22 66 69 6c 6c 3a 25 73 3b 66 69 6c 6c 2d 6f 70  "fill:%s;fill-op
3850: 61 63 69 74 79 3a 30 2e 35 3b 22 27 2c 63 6c 72  acity:0.5;"',clr
3860: 29 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f  ).       ).  FRO
3870: 4d 20 71 75 65 72 79 70 6f 6c 79 3b 0a 2e 70 72  M querypoly;..pr
3880: 69 6e 74 20 27 3c 2f 73 76 67 3e 27 0a 0a 2e 70  int '</svg>'...p
3890: 72 69 6e 74 20 27 3c 68 31 3e 4f 76 65 72 6c 61  rint '<h1>Overla
38a0: 70 20 51 75 65 72 79 3c 2f 68 31 3e 27 0a 2e 70  p Query</h1>'..p
38b0: 72 69 6e 74 20 27 3c 70 72 65 3e 27 0a 2e 70 72  rint '<pre>'..pr
38c0: 69 6e 74 20 27 53 45 4c 45 43 54 20 2a 27 0a 2e  int 'SELECT *'..
38d0: 70 72 69 6e 74 20 27 20 20 46 52 4f 4d 20 67 65  print '  FROM ge
38e0: 6f 31 2c 20 71 75 65 72 79 70 6f 6c 79 27 0a 2e  o1, querypoly'..
38f0: 70 72 69 6e 74 20 27 20 57 48 45 52 45 20 67 65  print ' WHERE ge
3900: 6f 70 6f 6c 79 5f 6f 76 65 72 6c 61 70 28 5f 73  opoly_overlap(_s
3910: 68 61 70 65 2c 20 70 6f 6c 79 29 3b 27 0a 2e 70  hape, poly);'..p
3920: 72 69 6e 74 20 0a 45 58 50 4c 41 49 4e 20 51 55  rint .EXPLAIN QU
3930: 45 52 59 20 50 4c 41 4e 0a 53 45 4c 45 43 54 20  ERY PLAN.SELECT 
3940: 67 65 6f 70 6f 6c 79 5f 73 76 67 28 5f 73 68 61  geopoly_svg(_sha
3950: 70 65 2c 0a 20 20 20 20 20 20 20 20 20 70 72 69  pe,.         pri
3960: 6e 74 66 28 27 73 74 79 6c 65 3d 22 66 69 6c 6c  ntf('style="fill
3970: 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 25 73 3b  :none;stroke:%s;
3980: 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31 22 27  stroke-width:1"'
3990: 2c 67 65 6f 31 2e 63 6c 72 29 0a 20 20 20 20 20  ,geo1.clr).     
39a0: 20 20 29 0a 20 20 46 52 4f 4d 20 67 65 6f 31 2c    ).  FROM geo1,
39b0: 20 71 75 65 72 79 70 6f 6c 79 0a 20 57 48 45 52   querypoly. WHER
39c0: 45 20 67 65 6f 70 6f 6c 79 5f 6f 76 65 72 6c 61  E geopoly_overla
39d0: 70 28 5f 73 68 61 70 65 2c 20 70 6f 6c 79 29 3b  p(_shape, poly);
39e0: 0a 2e 70 72 69 6e 74 20 27 3c 2f 70 72 65 3e 27  ..print '</pre>'
39f0: 0a 2e 70 72 69 6e 74 20 27 3c 73 76 67 20 77 69  ..print '<svg wi
3a00: 64 74 68 3d 22 31 30 30 30 22 20 68 65 69 67 68  dth="1000" heigh
3a10: 74 3d 22 38 30 30 22 20 73 74 79 6c 65 3d 22 62  t="800" style="b
3a20: 6f 72 64 65 72 3a 31 70 78 20 73 6f 6c 69 64 20  order:1px solid 
3a30: 62 6c 61 63 6b 22 3e 27 0a 53 45 4c 45 43 54 20  black">'.SELECT 
3a40: 67 65 6f 70 6f 6c 79 5f 73 76 67 28 5f 73 68 61  geopoly_svg(_sha
3a50: 70 65 2c 0a 20 20 20 20 20 20 20 20 20 70 72 69  pe,.         pri
3a60: 6e 74 66 28 27 73 74 79 6c 65 3d 22 66 69 6c 6c  ntf('style="fill
3a70: 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 25 73 3b  :none;stroke:%s;
3a80: 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31 22 27  stroke-width:1"'
3a90: 2c 67 65 6f 31 2e 63 6c 72 29 0a 20 20 20 20 20  ,geo1.clr).     
3aa0: 20 20 29 0a 20 20 46 52 4f 4d 20 67 65 6f 31 2c    ).  FROM geo1,
3ab0: 20 71 75 65 72 79 70 6f 6c 79 0a 20 57 48 45 52   querypoly. WHER
3ac0: 45 20 67 65 6f 70 6f 6c 79 5f 6f 76 65 72 6c 61  E geopoly_overla
3ad0: 70 28 5f 73 68 61 70 65 2c 20 70 6f 6c 79 29 3b  p(_shape, poly);
3ae0: 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f  .SELECT geopoly_
3af0: 73 76 67 28 70 6f 6c 79 2c 20 0a 20 20 20 20 20  svg(poly, .     
3b00: 20 20 20 20 70 72 69 6e 74 66 28 27 73 74 79 6c      printf('styl
3b10: 65 3d 22 66 69 6c 6c 3a 25 73 3b 66 69 6c 6c 2d  e="fill:%s;fill-
3b20: 6f 70 61 63 69 74 79 3a 30 2e 35 3b 22 27 2c 63  opacity:0.5;"',c
3b30: 6c 72 29 0a 20 20 20 20 20 20 20 29 0a 20 20 46  lr).       ).  F
3b40: 52 4f 4d 20 71 75 65 72 79 70 6f 6c 79 3b 0a 2e  ROM querypoly;..
3b50: 70 72 69 6e 74 20 27 3c 2f 73 76 67 3e 27 0a 0a  print '</svg>'..
3b60: 2e 70 72 69 6e 74 20 27 3c 68 31 3e 4f 76 65 72  .print '<h1>Over
3b70: 6c 61 70 20 51 75 65 72 79 20 41 6e 64 20 52 65  lap Query And Re
3b80: 73 75 6c 74 20 42 6f 75 6e 64 69 6e 67 20 42 6f  sult Bounding Bo
3b90: 78 3c 2f 68 31 3e 27 0a 2e 70 72 69 6e 74 20 27  x</h1>'..print '
3ba0: 3c 73 76 67 20 77 69 64 74 68 3d 22 31 30 30 30  <svg width="1000
3bb0: 22 20 68 65 69 67 68 74 3d 22 38 30 30 22 20 73  " height="800" s
3bc0: 74 79 6c 65 3d 22 62 6f 72 64 65 72 3a 31 70 78  tyle="border:1px
3bd0: 20 73 6f 6c 69 64 20 62 6c 61 63 6b 22 3e 27 0a   solid black">'.
3be0: 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73  SELECT geopoly_s
3bf0: 76 67 28 5f 73 68 61 70 65 2c 0a 20 20 20 20 20  vg(_shape,.     
3c00: 20 20 20 20 70 72 69 6e 74 66 28 27 73 74 79 6c      printf('styl
3c10: 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72  e="fill:none;str
3c20: 6f 6b 65 3a 25 73 3b 73 74 72 6f 6b 65 2d 77 69  oke:%s;stroke-wi
3c30: 64 74 68 3a 31 22 27 2c 67 65 6f 31 2e 63 6c 72  dth:1"',geo1.clr
3c40: 29 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f  ).       ).  FRO
3c50: 4d 20 67 65 6f 31 2c 20 71 75 65 72 79 70 6f 6c  M geo1, querypol
3c60: 79 0a 20 57 48 45 52 45 20 67 65 6f 70 6f 6c 79  y. WHERE geopoly
3c70: 5f 6f 76 65 72 6c 61 70 28 5f 73 68 61 70 65 2c  _overlap(_shape,
3c80: 20 70 6f 6c 79 29 3b 0a 53 45 4c 45 43 54 20 67   poly);.SELECT g
3c90: 65 6f 70 6f 6c 79 5f 73 76 67 28 67 65 6f 70 6f  eopoly_svg(geopo
3ca0: 6c 79 5f 62 62 6f 78 28 70 6f 6c 79 29 2c 0a 20  ly_bbox(poly),. 
3cb0: 20 20 20 20 20 20 20 20 27 73 74 79 6c 65 3d 22          'style="
3cc0: 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65  fill:none;stroke
3cd0: 3a 62 6c 61 63 6b 3b 73 74 72 6f 6b 65 2d 77 69  :black;stroke-wi
3ce0: 64 74 68 3a 33 22 27 0a 20 20 20 20 20 20 20 29  dth:3"'.       )
3cf0: 0a 20 20 46 52 4f 4d 20 71 75 65 72 79 70 6f 6c  .  FROM querypol
3d00: 79 3b 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c  y;.SELECT geopol
3d10: 79 5f 73 76 67 28 70 6f 6c 79 2c 20 0a 20 20 20  y_svg(poly, .   
3d20: 20 20 20 20 20 20 70 72 69 6e 74 66 28 27 73 74        printf('st
3d30: 79 6c 65 3d 22 66 69 6c 6c 3a 25 73 3b 66 69 6c  yle="fill:%s;fil
3d40: 6c 2d 6f 70 61 63 69 74 79 3a 30 2e 35 3b 22 27  l-opacity:0.5;"'
3d50: 2c 63 6c 72 29 0a 20 20 20 20 20 20 20 29 0a 20  ,clr).       ). 
3d60: 20 46 52 4f 4d 20 71 75 65 72 79 70 6f 6c 79 3b   FROM querypoly;
3d70: 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f  .SELECT geopoly_
3d80: 73 76 67 28 67 65 6f 70 6f 6c 79 5f 67 72 6f 75  svg(geopoly_grou
3d90: 70 5f 62 62 6f 78 28 5f 73 68 61 70 65 29 2c 0a  p_bbox(_shape),.
3da0: 20 20 20 20 20 20 20 20 20 27 73 74 79 6c 65 3d           'style=
3db0: 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b  "fill:none;strok
3dc0: 65 3a 72 65 64 3b 73 74 72 6f 6b 65 2d 77 69 64  e:red;stroke-wid
3dd0: 74 68 3a 33 22 27 0a 20 20 20 20 20 20 20 29 0a  th:3"'.       ).
3de0: 20 20 46 52 4f 4d 20 67 65 6f 31 2c 20 71 75 65    FROM geo1, que
3df0: 72 79 70 6f 6c 79 0a 20 57 48 45 52 45 20 67 65  rypoly. WHERE ge
3e00: 6f 70 6f 6c 79 5f 6f 76 65 72 6c 61 70 28 5f 73  opoly_overlap(_s
3e10: 68 61 70 65 2c 20 70 6f 6c 79 29 3b 0a 2e 70 72  hape, poly);..pr
3e20: 69 6e 74 20 27 3c 2f 73 76 67 3e 27 0a 0a 2e 70  int '</svg>'...p
3e30: 72 69 6e 74 20 27 3c 68 31 3e 42 6f 75 6e 64 69  rint '<h1>Boundi
3e40: 6e 67 2d 42 6f 78 20 4f 76 65 72 6c 61 70 20 51  ng-Box Overlap Q
3e50: 75 65 72 79 3c 2f 68 31 3e 27 0a 2e 70 72 69 6e  uery</h1>'..prin
3e60: 74 20 27 3c 73 76 67 20 77 69 64 74 68 3d 22 31  t '<svg width="1
3e70: 30 30 30 22 20 68 65 69 67 68 74 3d 22 38 30 30  000" height="800
3e80: 22 20 73 74 79 6c 65 3d 22 62 6f 72 64 65 72 3a  " style="border:
3e90: 31 70 78 20 73 6f 6c 69 64 20 62 6c 61 63 6b 22  1px solid black"
3ea0: 3e 27 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c  >'.SELECT geopol
3eb0: 79 5f 73 76 67 28 5f 73 68 61 70 65 2c 0a 20 20  y_svg(_shape,.  
3ec0: 20 20 20 20 20 20 20 70 72 69 6e 74 66 28 27 73         printf('s
3ed0: 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b  tyle="fill:none;
3ee0: 73 74 72 6f 6b 65 3a 25 73 3b 73 74 72 6f 6b 65  stroke:%s;stroke
3ef0: 2d 77 69 64 74 68 3a 31 22 27 2c 67 65 6f 31 2e  -width:1"',geo1.
3f00: 63 6c 72 29 0a 20 20 20 20 20 20 20 29 2c 0a 20  clr).       ),. 
3f10: 20 20 20 20 20 20 67 65 6f 70 6f 6c 79 5f 73 76        geopoly_sv
3f20: 67 28 67 65 6f 70 6f 6c 79 5f 62 62 6f 78 28 5f  g(geopoly_bbox(_
3f30: 73 68 61 70 65 29 2c 0a 20 20 20 20 20 20 20 20  shape),.        
3f40: 20 27 73 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f   'style="fill:no
3f50: 6e 65 3b 73 74 72 6f 6b 65 3a 62 6c 61 63 6b 3b  ne;stroke:black;
3f60: 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31 22 27  stroke-width:1"'
3f70: 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f 4d  .       ).  FROM
3f80: 20 67 65 6f 31 2c 20 71 75 65 72 79 70 6f 6c 79   geo1, querypoly
3f90: 0a 20 57 48 45 52 45 20 67 65 6f 70 6f 6c 79 5f  . WHERE geopoly_
3fa0: 6f 76 65 72 6c 61 70 28 67 65 6f 70 6f 6c 79 5f  overlap(geopoly_
3fb0: 62 62 6f 78 28 5f 73 68 61 70 65 29 2c 20 67 65  bbox(_shape), ge
3fc0: 6f 70 6f 6c 79 5f 62 62 6f 78 28 70 6f 6c 79 29  opoly_bbox(poly)
3fd0: 29 3b 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c  );.SELECT geopol
3fe0: 79 5f 73 76 67 28 70 6f 6c 79 2c 20 0a 20 20 20  y_svg(poly, .   
3ff0: 20 20 20 20 20 20 70 72 69 6e 74 66 28 27 73 74        printf('st
4000: 79 6c 65 3d 22 66 69 6c 6c 3a 25 73 3b 66 69 6c  yle="fill:%s;fil
4010: 6c 2d 6f 70 61 63 69 74 79 3a 30 2e 35 3b 22 27  l-opacity:0.5;"'
4020: 2c 63 6c 72 29 0a 20 20 20 20 20 20 20 29 0a 20  ,clr).       ). 
4030: 20 46 52 4f 4d 20 71 75 65 72 79 70 6f 6c 79 3b   FROM querypoly;
4040: 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f  .SELECT geopoly_
4050: 73 76 67 28 67 65 6f 70 6f 6c 79 5f 62 62 6f 78  svg(geopoly_bbox
4060: 28 70 6f 6c 79 29 2c 0a 20 20 20 20 20 20 20 20  (poly),.        
4070: 20 27 73 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f   'style="fill:no
4080: 6e 65 3b 73 74 72 6f 6b 65 3a 62 6c 61 63 6b 3b  ne;stroke:black;
4090: 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 33 22 27  stroke-width:3"'
40a0: 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f 4d  .       ).  FROM
40b0: 20 71 75 65 72 79 70 6f 6c 79 3b 0a 2e 70 72 69   querypoly;..pri
40c0: 6e 74 20 27 3c 2f 73 76 67 3e 27 0a 0a 2e 70 72  nt '</svg>'...pr
40d0: 69 6e 74 20 27 3c 68 31 3e 57 69 74 68 69 6e 20  int '<h1>Within 
40e0: 51 75 65 72 79 3c 2f 68 31 3e 27 0a 2e 70 72 69  Query</h1>'..pri
40f0: 6e 74 20 27 3c 70 72 65 3e 27 0a 2e 70 72 69 6e  nt '<pre>'..prin
4100: 74 20 27 53 45 4c 45 43 54 20 2a 27 0a 2e 70 72  t 'SELECT *'..pr
4110: 69 6e 74 20 27 20 20 46 52 4f 4d 20 67 65 6f 31  int '  FROM geo1
4120: 2c 20 71 75 65 72 79 70 6f 6c 79 27 0a 2e 70 72  , querypoly'..pr
4130: 69 6e 74 20 27 20 57 48 45 52 45 20 67 65 6f 70  int ' WHERE geop
4140: 6f 6c 79 5f 77 69 74 68 69 6e 28 5f 73 68 61 70  oly_within(_shap
4150: 65 2c 20 70 6f 6c 79 29 3b 27 0a 2e 70 72 69 6e  e, poly);'..prin
4160: 74 20 0a 45 58 50 4c 41 49 4e 20 51 55 45 52 59  t .EXPLAIN QUERY
4170: 20 50 4c 41 4e 0a 53 45 4c 45 43 54 20 67 65 6f   PLAN.SELECT geo
4180: 70 6f 6c 79 5f 73 76 67 28 5f 73 68 61 70 65 2c  poly_svg(_shape,
4190: 0a 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 66  .         printf
41a0: 28 27 73 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f  ('style="fill:no
41b0: 6e 65 3b 73 74 72 6f 6b 65 3a 25 73 3b 73 74 72  ne;stroke:%s;str
41c0: 6f 6b 65 2d 77 69 64 74 68 3a 31 22 27 2c 67 65  oke-width:1"',ge
41d0: 6f 31 2e 63 6c 72 29 0a 20 20 20 20 20 20 20 29  o1.clr).       )
41e0: 0a 20 20 46 52 4f 4d 20 67 65 6f 31 2c 20 71 75  .  FROM geo1, qu
41f0: 65 72 79 70 6f 6c 79 0a 20 57 48 45 52 45 20 67  erypoly. WHERE g
4200: 65 6f 70 6f 6c 79 5f 77 69 74 68 69 6e 28 5f 73  eopoly_within(_s
4210: 68 61 70 65 2c 20 70 6f 6c 79 29 3b 0a 2e 70 72  hape, poly);..pr
4220: 69 6e 74 20 27 3c 2f 70 72 65 3e 27 0a 2e 70 72  int '</pre>'..pr
4230: 69 6e 74 20 27 3c 73 76 67 20 77 69 64 74 68 3d  int '<svg width=
4240: 22 31 30 30 30 22 20 68 65 69 67 68 74 3d 22 38  "1000" height="8
4250: 30 30 22 20 73 74 79 6c 65 3d 22 62 6f 72 64 65  00" style="borde
4260: 72 3a 31 70 78 20 73 6f 6c 69 64 20 62 6c 61 63  r:1px solid blac
4270: 6b 22 3e 27 0a 53 45 4c 45 43 54 20 67 65 6f 70  k">'.SELECT geop
4280: 6f 6c 79 5f 73 76 67 28 5f 73 68 61 70 65 2c 0a  oly_svg(_shape,.
4290: 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 66 28           printf(
42a0: 27 73 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e  'style="fill:non
42b0: 65 3b 73 74 72 6f 6b 65 3a 25 73 3b 73 74 72 6f  e;stroke:%s;stro
42c0: 6b 65 2d 77 69 64 74 68 3a 31 22 27 2c 67 65 6f  ke-width:1"',geo
42d0: 31 2e 63 6c 72 29 0a 20 20 20 20 20 20 20 29 0a  1.clr).       ).
42e0: 20 20 46 52 4f 4d 20 67 65 6f 31 2c 20 71 75 65    FROM geo1, que
42f0: 72 79 70 6f 6c 79 0a 20 57 48 45 52 45 20 67 65  rypoly. WHERE ge
4300: 6f 70 6f 6c 79 5f 77 69 74 68 69 6e 28 5f 73 68  opoly_within(_sh
4310: 61 70 65 2c 20 70 6f 6c 79 29 3b 0a 53 45 4c 45  ape, poly);.SELE
4320: 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 70  CT geopoly_svg(p
4330: 6f 6c 79 2c 20 0a 20 20 20 20 20 20 20 20 20 70  oly, .         p
4340: 72 69 6e 74 66 28 27 73 74 79 6c 65 3d 22 66 69  rintf('style="fi
4350: 6c 6c 3a 25 73 3b 66 69 6c 6c 2d 6f 70 61 63 69  ll:%s;fill-opaci
4360: 74 79 3a 30 2e 35 3b 22 27 2c 63 6c 72 29 0a 20  ty:0.5;"',clr). 
4370: 20 20 20 20 20 20 29 0a 20 20 46 52 4f 4d 20 71        ).  FROM q
4380: 75 65 72 79 70 6f 6c 79 3b 0a 2e 70 72 69 6e 74  uerypoly;..print
4390: 20 27 3c 2f 73 76 67 3e 27 0a 0a 2e 70 72 69 6e   '</svg>'...prin
43a0: 74 20 27 3c 68 31 3e 42 6f 75 6e 64 69 6e 67 2d  t '<h1>Bounding-
43b0: 42 6f 78 20 57 49 54 48 49 4e 20 51 75 65 72 79  Box WITHIN Query
43c0: 3c 2f 68 31 3e 27 0a 2e 70 72 69 6e 74 20 27 3c  </h1>'..print '<
43d0: 73 76 67 20 77 69 64 74 68 3d 22 31 30 30 30 22  svg width="1000"
43e0: 20 68 65 69 67 68 74 3d 22 38 30 30 22 20 73 74   height="800" st
43f0: 79 6c 65 3d 22 62 6f 72 64 65 72 3a 31 70 78 20  yle="border:1px 
4400: 73 6f 6c 69 64 20 62 6c 61 63 6b 22 3e 27 0a 53  solid black">'.S
4410: 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76  ELECT geopoly_sv
4420: 67 28 5f 73 68 61 70 65 2c 0a 20 20 20 20 20 20  g(_shape,.      
4430: 20 20 20 70 72 69 6e 74 66 28 27 73 74 79 6c 65     printf('style
4440: 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f  ="fill:none;stro
4450: 6b 65 3a 25 73 3b 73 74 72 6f 6b 65 2d 77 69 64  ke:%s;stroke-wid
4460: 74 68 3a 31 22 27 2c 67 65 6f 31 2e 63 6c 72 29  th:1"',geo1.clr)
4470: 0a 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20  .       ),.     
4480: 20 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 67 65    geopoly_svg(ge
4490: 6f 70 6f 6c 79 5f 62 62 6f 78 28 5f 73 68 61 70  opoly_bbox(_shap
44a0: 65 29 2c 0a 20 20 20 20 20 20 20 20 20 27 73 74  e),.         'st
44b0: 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73  yle="fill:none;s
44c0: 74 72 6f 6b 65 3a 62 6c 61 63 6b 3b 73 74 72 6f  troke:black;stro
44d0: 6b 65 2d 77 69 64 74 68 3a 31 22 27 0a 20 20 20  ke-width:1"'.   
44e0: 20 20 20 20 29 0a 20 20 46 52 4f 4d 20 67 65 6f      ).  FROM geo
44f0: 31 2c 20 71 75 65 72 79 70 6f 6c 79 0a 20 57 48  1, querypoly. WH
4500: 45 52 45 20 67 65 6f 70 6f 6c 79 5f 77 69 74 68  ERE geopoly_with
4510: 69 6e 28 67 65 6f 70 6f 6c 79 5f 62 62 6f 78 28  in(geopoly_bbox(
4520: 5f 73 68 61 70 65 29 2c 20 67 65 6f 70 6f 6c 79  _shape), geopoly
4530: 5f 62 62 6f 78 28 70 6f 6c 79 29 29 3b 0a 53 45  _bbox(poly));.SE
4540: 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67  LECT geopoly_svg
4550: 28 70 6f 6c 79 2c 20 0a 20 20 20 20 20 20 20 20  (poly, .        
4560: 20 70 72 69 6e 74 66 28 27 73 74 79 6c 65 3d 22   printf('style="
4570: 66 69 6c 6c 3a 25 73 3b 66 69 6c 6c 2d 6f 70 61  fill:%s;fill-opa
4580: 63 69 74 79 3a 30 2e 35 3b 22 27 2c 63 6c 72 29  city:0.5;"',clr)
4590: 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f 4d  .       ).  FROM
45a0: 20 71 75 65 72 79 70 6f 6c 79 3b 0a 53 45 4c 45   querypoly;.SELE
45b0: 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 67  CT geopoly_svg(g
45c0: 65 6f 70 6f 6c 79 5f 62 62 6f 78 28 70 6f 6c 79  eopoly_bbox(poly
45d0: 29 2c 0a 20 20 20 20 20 20 20 20 20 27 73 74 79  ),.         'sty
45e0: 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74  le="fill:none;st
45f0: 72 6f 6b 65 3a 62 6c 61 63 6b 3b 73 74 72 6f 6b  roke:black;strok
4600: 65 2d 77 69 64 74 68 3a 33 22 27 0a 20 20 20 20  e-width:3"'.    
4610: 20 20 20 29 0a 20 20 46 52 4f 4d 20 71 75 65 72     ).  FROM quer
4620: 79 70 6f 6c 79 3b 0a 2e 70 72 69 6e 74 20 27 3c  ypoly;..print '<
4630: 2f 73 76 67 3e 27 0a 0a 2e 70 72 69 6e 74 20 27  /svg>'...print '
4640: 3c 68 31 3e 4e 6f 74 20 4f 76 65 72 6c 61 70 20  <h1>Not Overlap 
4650: 51 75 65 72 79 3c 2f 68 31 3e 27 0a 2e 70 72 69  Query</h1>'..pri
4660: 6e 74 20 27 3c 70 72 65 3e 27 0a 2e 70 72 69 6e  nt '<pre>'..prin
4670: 74 20 27 53 45 4c 45 43 54 20 2a 27 0a 2e 70 72  t 'SELECT *'..pr
4680: 69 6e 74 20 27 20 20 46 52 4f 4d 20 67 65 6f 31  int '  FROM geo1
4690: 2c 20 71 75 65 72 79 70 6f 6c 79 27 0a 2e 70 72  , querypoly'..pr
46a0: 69 6e 74 20 27 20 57 48 45 52 45 20 4e 4f 54 20  int ' WHERE NOT 
46b0: 67 65 6f 70 6f 6c 79 5f 6f 76 65 72 6c 61 70 28  geopoly_overlap(
46c0: 5f 73 68 61 70 65 2c 20 70 6f 6c 79 29 3b 27 0a  _shape, poly);'.
46d0: 2e 70 72 69 6e 74 20 0a 45 58 50 4c 41 49 4e 20  .print .EXPLAIN 
46e0: 51 55 45 52 59 20 50 4c 41 4e 0a 53 45 4c 45 43  QUERY PLAN.SELEC
46f0: 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 5f 73  T geopoly_svg(_s
4700: 68 61 70 65 2c 0a 20 20 20 20 20 20 20 20 20 70  hape,.         p
4710: 72 69 6e 74 66 28 27 73 74 79 6c 65 3d 22 66 69  rintf('style="fi
4720: 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 25  ll:none;stroke:%
4730: 73 3b 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31  s;stroke-width:1
4740: 22 27 2c 67 65 6f 31 2e 63 6c 72 29 0a 20 20 20  "',geo1.clr).   
4750: 20 20 20 20 29 0a 20 20 46 52 4f 4d 20 67 65 6f      ).  FROM geo
4760: 31 2c 20 71 75 65 72 79 70 6f 6c 79 0a 20 57 48  1, querypoly. WH
4770: 45 52 45 20 4e 4f 54 20 67 65 6f 70 6f 6c 79 5f  ERE NOT geopoly_
4780: 6f 76 65 72 6c 61 70 28 5f 73 68 61 70 65 2c 20  overlap(_shape, 
4790: 70 6f 6c 79 29 3b 0a 2e 70 72 69 6e 74 20 27 3c  poly);..print '<
47a0: 2f 70 72 65 3e 27 0a 2e 70 72 69 6e 74 20 27 3c  /pre>'..print '<
47b0: 73 76 67 20 77 69 64 74 68 3d 22 31 30 30 30 22  svg width="1000"
47c0: 20 68 65 69 67 68 74 3d 22 38 30 30 22 20 73 74   height="800" st
47d0: 79 6c 65 3d 22 62 6f 72 64 65 72 3a 31 70 78 20  yle="border:1px 
47e0: 73 6f 6c 69 64 20 62 6c 61 63 6b 22 3e 27 0a 53  solid black">'.S
47f0: 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76  ELECT geopoly_sv
4800: 67 28 5f 73 68 61 70 65 2c 0a 20 20 20 20 20 20  g(_shape,.      
4810: 20 20 20 70 72 69 6e 74 66 28 27 73 74 79 6c 65     printf('style
4820: 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f  ="fill:none;stro
4830: 6b 65 3a 25 73 3b 73 74 72 6f 6b 65 2d 77 69 64  ke:%s;stroke-wid
4840: 74 68 3a 31 22 27 2c 67 65 6f 31 2e 63 6c 72 29  th:1"',geo1.clr)
4850: 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f 4d  .       ).  FROM
4860: 20 67 65 6f 31 2c 20 71 75 65 72 79 70 6f 6c 79   geo1, querypoly
4870: 0a 20 57 48 45 52 45 20 4e 4f 54 20 67 65 6f 70  . WHERE NOT geop
4880: 6f 6c 79 5f 6f 76 65 72 6c 61 70 28 5f 73 68 61  oly_overlap(_sha
4890: 70 65 2c 20 70 6f 6c 79 29 3b 0a 53 45 4c 45 43  pe, poly);.SELEC
48a0: 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 70 6f  T geopoly_svg(po
48b0: 6c 79 2c 20 0a 20 20 20 20 20 20 20 20 20 70 72  ly, .         pr
48c0: 69 6e 74 66 28 27 73 74 79 6c 65 3d 22 66 69 6c  intf('style="fil
48d0: 6c 3a 25 73 3b 66 69 6c 6c 2d 6f 70 61 63 69 74  l:%s;fill-opacit
48e0: 79 3a 30 2e 35 3b 22 27 2c 63 6c 72 29 0a 20 20  y:0.5;"',clr).  
48f0: 20 20 20 20 20 29 0a 20 20 46 52 4f 4d 20 71 75       ).  FROM qu
4900: 65 72 79 70 6f 6c 79 3b 0a 2e 70 72 69 6e 74 20  erypoly;..print 
4910: 27 3c 2f 73 76 67 3e 27 0a 0a 2e 70 72 69 6e 74  '</svg>'...print
4920: 20 27 3c 68 31 3e 4e 6f 74 20 57 69 74 68 69 6e   '<h1>Not Within
4930: 20 51 75 65 72 79 3c 2f 68 31 3e 27 0a 2e 70 72   Query</h1>'..pr
4940: 69 6e 74 20 27 3c 70 72 65 3e 27 0a 2e 70 72 69  int '<pre>'..pri
4950: 6e 74 20 27 53 45 4c 45 43 54 20 2a 27 0a 2e 70  nt 'SELECT *'..p
4960: 72 69 6e 74 20 27 20 20 46 52 4f 4d 20 67 65 6f  rint '  FROM geo
4970: 31 2c 20 71 75 65 72 79 70 6f 6c 79 27 0a 2e 70  1, querypoly'..p
4980: 72 69 6e 74 20 27 20 57 48 45 52 45 20 4e 4f 54  rint ' WHERE NOT
4990: 20 67 65 6f 70 6f 6c 79 5f 77 69 74 68 69 6e 28   geopoly_within(
49a0: 5f 73 68 61 70 65 2c 20 70 6f 6c 79 29 3b 27 0a  _shape, poly);'.
49b0: 2e 70 72 69 6e 74 20 0a 45 58 50 4c 41 49 4e 20  .print .EXPLAIN 
49c0: 51 55 45 52 59 20 50 4c 41 4e 0a 53 45 4c 45 43  QUERY PLAN.SELEC
49d0: 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 5f 73  T geopoly_svg(_s
49e0: 68 61 70 65 2c 0a 20 20 20 20 20 20 20 20 20 70  hape,.         p
49f0: 72 69 6e 74 66 28 27 73 74 79 6c 65 3d 22 66 69  rintf('style="fi
4a00: 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 25  ll:none;stroke:%
4a10: 73 3b 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31  s;stroke-width:1
4a20: 22 27 2c 67 65 6f 31 2e 63 6c 72 29 0a 20 20 20  "',geo1.clr).   
4a30: 20 20 20 20 29 0a 20 20 46 52 4f 4d 20 67 65 6f      ).  FROM geo
4a40: 31 2c 20 71 75 65 72 79 70 6f 6c 79 0a 20 57 48  1, querypoly. WH
4a50: 45 52 45 20 4e 4f 54 20 67 65 6f 70 6f 6c 79 5f  ERE NOT geopoly_
4a60: 77 69 74 68 69 6e 28 5f 73 68 61 70 65 2c 20 70  within(_shape, p
4a70: 6f 6c 79 29 3b 0a 2e 70 72 69 6e 74 20 27 3c 2f  oly);..print '</
4a80: 70 72 65 3e 27 0a 2e 70 72 69 6e 74 20 27 3c 73  pre>'..print '<s
4a90: 76 67 20 77 69 64 74 68 3d 22 31 30 30 30 22 20  vg width="1000" 
4aa0: 68 65 69 67 68 74 3d 22 38 30 30 22 20 73 74 79  height="800" sty
4ab0: 6c 65 3d 22 62 6f 72 64 65 72 3a 31 70 78 20 73  le="border:1px s
4ac0: 6f 6c 69 64 20 62 6c 61 63 6b 22 3e 27 0a 53 45  olid black">'.SE
4ad0: 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67  LECT geopoly_svg
4ae0: 28 5f 73 68 61 70 65 2c 0a 20 20 20 20 20 20 20  (_shape,.       
4af0: 20 20 70 72 69 6e 74 66 28 27 73 74 79 6c 65 3d    printf('style=
4b00: 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b  "fill:none;strok
4b10: 65 3a 25 73 3b 73 74 72 6f 6b 65 2d 77 69 64 74  e:%s;stroke-widt
4b20: 68 3a 31 22 27 2c 67 65 6f 31 2e 63 6c 72 29 0a  h:1"',geo1.clr).
4b30: 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f 4d 20         ).  FROM 
4b40: 67 65 6f 31 2c 20 71 75 65 72 79 70 6f 6c 79 0a  geo1, querypoly.
4b50: 20 57 48 45 52 45 20 4e 4f 54 20 67 65 6f 70 6f   WHERE NOT geopo
4b60: 6c 79 5f 77 69 74 68 69 6e 28 5f 73 68 61 70 65  ly_within(_shape
4b70: 2c 20 70 6f 6c 79 29 3b 0a 53 45 4c 45 43 54 20  , poly);.SELECT 
4b80: 67 65 6f 70 6f 6c 79 5f 73 76 67 28 70 6f 6c 79  geopoly_svg(poly
4b90: 2c 20 0a 20 20 20 20 20 20 20 20 20 70 72 69 6e  , .         prin
4ba0: 74 66 28 27 73 74 79 6c 65 3d 22 66 69 6c 6c 3a  tf('style="fill:
4bb0: 25 73 3b 66 69 6c 6c 2d 6f 70 61 63 69 74 79 3a  %s;fill-opacity:
4bc0: 30 2e 35 3b 22 27 2c 63 6c 72 29 0a 20 20 20 20  0.5;"',clr).    
4bd0: 20 20 20 29 0a 20 20 46 52 4f 4d 20 71 75 65 72     ).  FROM quer
4be0: 79 70 6f 6c 79 3b 0a 2e 70 72 69 6e 74 20 27 3c  ypoly;..print '<
4bf0: 2f 73 76 67 3e 27 0a 0a 2e 70 72 69 6e 74 20 27  /svg>'...print '
4c00: 3c 68 31 3e 43 6f 6c 6f 72 2d 43 68 61 6e 67 65  <h1>Color-Change
4c10: 20 46 6f 72 20 4f 76 65 72 6c 61 70 70 69 6e 67   For Overlapping
4c20: 20 45 6c 65 6d 65 6e 74 73 3c 2f 68 31 3e 27 0a   Elements</h1>'.
4c30: 42 45 47 49 4e 3b 0a 55 50 44 41 54 45 20 67 65  BEGIN;.UPDATE ge
4c40: 6f 31 0a 20 20 20 53 45 54 20 63 6c 72 3d 43 41  o1.   SET clr=CA
4c50: 53 45 20 57 48 45 4e 20 72 6f 77 69 64 20 49 4e  SE WHEN rowid IN
4c60: 20 28 53 45 4c 45 43 54 20 67 65 6f 31 2e 72 6f   (SELECT geo1.ro
4c70: 77 69 64 20 46 52 4f 4d 20 67 65 6f 31 2c 20 71  wid FROM geo1, q
4c80: 75 65 72 79 70 6f 6c 79 0a 20 20 20 20 20 20 20  uerypoly.       
4c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ca0: 20 20 20 20 20 20 20 20 20 57 48 45 52 45 20 67           WHERE g
4cb0: 65 6f 70 6f 6c 79 5f 6f 76 65 72 6c 61 70 28 5f  eopoly_overlap(_
4cc0: 73 68 61 70 65 2c 70 6f 6c 79 29 29 0a 20 20 20  shape,poly)).   
4cd0: 20 20 20 20 20 20 20 20 54 48 45 4e 20 27 72 65          THEN 're
4ce0: 64 27 20 45 4c 53 45 20 27 62 6c 75 65 27 20 45  d' ELSE 'blue' E
4cf0: 4e 44 3b 0a 2e 70 72 69 6e 74 20 27 3c 73 76 67  ND;..print '<svg
4d00: 20 77 69 64 74 68 3d 22 31 30 30 30 22 20 68 65   width="1000" he
4d10: 69 67 68 74 3d 22 38 30 30 22 20 73 74 79 6c 65  ight="800" style
4d20: 3d 22 62 6f 72 64 65 72 3a 31 70 78 20 73 6f 6c  ="border:1px sol
4d30: 69 64 20 62 6c 61 63 6b 22 3e 27 0a 53 45 4c 45  id black">'.SELE
4d40: 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 5f  CT geopoly_svg(_
4d50: 73 68 61 70 65 2c 0a 20 20 20 20 20 20 20 20 20  shape,.         
4d60: 70 72 69 6e 74 66 28 27 73 74 79 6c 65 3d 22 66  printf('style="f
4d70: 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a  ill:none;stroke:
4d80: 25 73 3b 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a  %s;stroke-width:
4d90: 31 22 27 2c 67 65 6f 31 2e 63 6c 72 29 0a 20 20  1"',geo1.clr).  
4da0: 20 20 20 20 20 29 0a 20 20 46 52 4f 4d 20 67 65       ).  FROM ge
4db0: 6f 31 3b 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f  o1;.SELECT geopo
4dc0: 6c 79 5f 73 76 67 28 70 6f 6c 79 2c 27 73 74 79  ly_svg(poly,'sty
4dd0: 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74  le="fill:none;st
4de0: 72 6f 6b 65 3a 62 6c 61 63 6b 3b 73 74 72 6f 6b  roke:black;strok
4df0: 65 2d 77 69 64 74 68 3a 32 22 27 29 0a 20 20 46  e-width:2"').  F
4e00: 52 4f 4d 20 71 75 65 72 79 70 6f 6c 79 3b 0a 52  ROM querypoly;.R
4e10: 4f 4c 4c 42 41 43 4b 3b 0a 2e 70 72 69 6e 74 20  OLLBACK;..print 
4e20: 27 3c 2f 73 76 67 3e 27 0a 0a 2e 70 72 69 6e 74  '</svg>'...print
4e30: 20 27 3c 68 31 3e 43 6f 6c 6f 72 2d 43 68 61 6e   '<h1>Color-Chan
4e40: 67 65 20 41 6e 64 20 4d 6f 76 65 20 4f 76 65 72  ge And Move Over
4e50: 6c 61 70 70 69 6e 67 20 45 6c 65 6d 65 6e 74 73  lapping Elements
4e60: 3c 2f 68 31 3e 27 0a 42 45 47 49 4e 3b 0a 55 50  </h1>'.BEGIN;.UP
4e70: 44 41 54 45 20 67 65 6f 31 0a 20 20 20 53 45 54  DATE geo1.   SET
4e80: 20 63 6c 72 3d 43 41 53 45 20 57 48 45 4e 20 72   clr=CASE WHEN r
4e90: 6f 77 69 64 20 49 4e 20 28 53 45 4c 45 43 54 20  owid IN (SELECT 
4ea0: 67 65 6f 31 2e 72 6f 77 69 64 20 46 52 4f 4d 20  geo1.rowid FROM 
4eb0: 67 65 6f 31 2c 20 71 75 65 72 79 70 6f 6c 79 0a  geo1, querypoly.
4ec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ee0: 57 48 45 52 45 20 67 65 6f 70 6f 6c 79 5f 6f 76  WHERE geopoly_ov
4ef0: 65 72 6c 61 70 28 5f 73 68 61 70 65 2c 70 6f 6c  erlap(_shape,pol
4f00: 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 54  y)).           T
4f10: 48 45 4e 20 27 72 65 64 27 20 45 4c 53 45 20 27  HEN 'red' ELSE '
4f20: 23 37 36 63 63 66 66 27 20 45 4e 44 3b 0a 55 50  #76ccff' END;.UP
4f30: 44 41 54 45 20 67 65 6f 31 0a 20 20 20 53 45 54  DATE geo1.   SET
4f40: 20 5f 73 68 61 70 65 3d 67 65 6f 70 6f 6c 79 5f   _shape=geopoly_
4f50: 78 66 6f 72 6d 28 5f 73 68 61 70 65 2c 31 2c 30  xform(_shape,1,0
4f60: 2c 30 2c 31 2c 33 30 30 2c 30 29 0a 20 57 48 45  ,0,1,300,0). WHE
4f70: 52 45 20 67 65 6f 70 6f 6c 79 5f 6f 76 65 72 6c  RE geopoly_overl
4f80: 61 70 28 5f 73 68 61 70 65 2c 28 53 45 4c 45 43  ap(_shape,(SELEC
4f90: 54 20 70 6f 6c 79 20 46 52 4f 4d 20 71 75 65 72  T poly FROM quer
4fa0: 79 70 6f 6c 79 29 29 3b 0a 2e 70 72 69 6e 74 20  ypoly));..print 
4fb0: 27 3c 73 76 67 20 77 69 64 74 68 3d 22 31 30 30  '<svg width="100
4fc0: 30 22 20 68 65 69 67 68 74 3d 22 38 30 30 22 20  0" height="800" 
4fd0: 73 74 79 6c 65 3d 22 62 6f 72 64 65 72 3a 31 70  style="border:1p
4fe0: 78 20 73 6f 6c 69 64 20 62 6c 61 63 6b 22 3e 27  x solid black">'
4ff0: 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f  .SELECT geopoly_
5000: 73 76 67 28 5f 73 68 61 70 65 2c 0a 20 20 20 20  svg(_shape,.    
5010: 20 20 20 20 20 70 72 69 6e 74 66 28 27 73 74 79       printf('sty
5020: 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74  le="fill:none;st
5030: 72 6f 6b 65 3a 25 73 3b 73 74 72 6f 6b 65 2d 77  roke:%s;stroke-w
5040: 69 64 74 68 3a 31 22 27 2c 67 65 6f 31 2e 63 6c  idth:1"',geo1.cl
5050: 72 29 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52  r).       ).  FR
5060: 4f 4d 20 67 65 6f 31 3b 0a 53 45 4c 45 43 54 20  OM geo1;.SELECT 
5070: 67 65 6f 70 6f 6c 79 5f 73 76 67 28 70 6f 6c 79  geopoly_svg(poly
5080: 2c 27 73 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f  ,'style="fill:no
5090: 6e 65 3b 73 74 72 6f 6b 65 3a 62 6c 61 63 6b 3b  ne;stroke:black;
50a0: 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 32 22 27  stroke-width:2"'
50b0: 29 0a 20 20 46 52 4f 4d 20 71 75 65 72 79 70 6f  ).  FROM querypo
50c0: 6c 79 3b 0a 2d 2d 52 4f 4c 4c 42 41 43 4b 3b 0a  ly;.--ROLLBACK;.
50d0: 2e 70 72 69 6e 74 20 27 3c 2f 73 76 67 3e 27 0a  .print '</svg>'.
50e0: 0a 0a 2e 70 72 69 6e 74 20 27 3c 68 31 3e 4f 76  ...print '<h1>Ov
50f0: 65 72 6c 61 70 20 57 69 74 68 20 54 72 61 6e 73  erlap With Trans
5100: 6c 61 74 65 64 20 51 75 65 72 79 20 50 6f 6c 79  lated Query Poly
5110: 67 6f 6e 3c 2f 68 31 3e 27 0a 55 50 44 41 54 45  gon</h1>'.UPDATE
5120: 20 71 75 65 72 79 70 6f 6c 79 20 53 45 54 20 70   querypoly SET p
5130: 6f 6c 79 3d 67 65 6f 70 6f 6c 79 5f 78 66 6f 72  oly=geopoly_xfor
5140: 6d 28 70 6f 6c 79 2c 31 2c 30 2c 30 2c 31 2c 33  m(poly,1,0,0,1,3
5150: 30 30 2c 30 29 3b 0a 2e 70 72 69 6e 74 20 27 3c  00,0);..print '<
5160: 73 76 67 20 77 69 64 74 68 3d 22 31 30 30 30 22  svg width="1000"
5170: 20 68 65 69 67 68 74 3d 22 38 30 30 22 20 73 74   height="800" st
5180: 79 6c 65 3d 22 62 6f 72 64 65 72 3a 31 70 78 20  yle="border:1px 
5190: 73 6f 6c 69 64 20 62 6c 61 63 6b 22 3e 27 0a 53  solid black">'.S
51a0: 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76  ELECT geopoly_sv
51b0: 67 28 5f 73 68 61 70 65 2c 0a 20 20 20 20 20 20  g(_shape,.      
51c0: 20 20 20 70 72 69 6e 74 66 28 27 73 74 79 6c 65     printf('style
51d0: 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f  ="fill:none;stro
51e0: 6b 65 3a 25 73 3b 73 74 72 6f 6b 65 2d 77 69 64  ke:%s;stroke-wid
51f0: 74 68 3a 31 22 27 2c 67 65 6f 31 2e 63 6c 72 29  th:1"',geo1.clr)
5200: 0a 20 20 20 20 20 20 20 29 0a 20 20 46 52 4f 4d  .       ).  FROM
5210: 20 67 65 6f 31 0a 20 57 48 45 52 45 20 67 65 6f   geo1. WHERE geo
5220: 70 6f 6c 79 5f 6f 76 65 72 6c 61 70 28 5f 73 68  poly_overlap(_sh
5230: 61 70 65 2c 28 53 45 4c 45 43 54 20 70 6f 6c 79  ape,(SELECT poly
5240: 20 46 52 4f 4d 20 71 75 65 72 79 70 6f 6c 79 29   FROM querypoly)
5250: 29 3b 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c  );.SELECT geopol
5260: 79 5f 73 76 67 28 70 6f 6c 79 2c 27 73 74 79 6c  y_svg(poly,'styl
5270: 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72  e="fill:none;str
5280: 6f 6b 65 3a 62 6c 61 63 6b 3b 73 74 72 6f 6b 65  oke:black;stroke
5290: 2d 77 69 64 74 68 3a 32 22 27 29 0a 20 20 46 52  -width:2"').  FR
52a0: 4f 4d 20 71 75 65 72 79 70 6f 6c 79 3b 0a 52 4f  OM querypoly;.RO
52b0: 4c 4c 42 41 43 4b 3b 0a 2e 70 72 69 6e 74 20 27  LLBACK;..print '
52c0: 3c 2f 73 76 67 3e 27 0a 0a 2e 70 72 69 6e 74 20  </svg>'...print 
52d0: 27 3c 68 31 3e 52 65 67 75 6c 61 72 20 50 6f 6c  '<h1>Regular Pol
52e0: 79 67 6f 6e 73 3c 2f 68 31 3e 27 0a 2e 70 72 69  ygons</h1>'..pri
52f0: 6e 74 20 27 3c 73 76 67 20 77 69 64 74 68 3d 22  nt '<svg width="
5300: 31 30 30 30 22 20 68 65 69 67 68 74 3d 22 32 30  1000" height="20
5310: 30 22 20 73 74 79 6c 65 3d 22 62 6f 72 64 65 72  0" style="border
5320: 3a 31 70 78 20 73 6f 6c 69 64 20 62 6c 61 63 6b  :1px solid black
5330: 22 3e 27 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f  ">'.SELECT geopo
5340: 6c 79 5f 73 76 67 28 67 65 6f 70 6f 6c 79 5f 72  ly_svg(geopoly_r
5350: 65 67 75 6c 61 72 28 31 30 30 2c 31 30 30 2c 34  egular(100,100,4
5360: 30 2c 33 29 2c 27 73 74 79 6c 65 3d 22 66 69 6c  0,3),'style="fil
5370: 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 72 65  l:none;stroke:re
5380: 64 3b 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31  d;stroke-width:1
5390: 22 27 29 3b 0a 53 45 4c 45 43 54 20 67 65 6f 70  "');.SELECT geop
53a0: 6f 6c 79 5f 73 76 67 28 67 65 6f 70 6f 6c 79 5f  oly_svg(geopoly_
53b0: 72 65 67 75 6c 61 72 28 32 30 30 2c 31 30 30 2c  regular(200,100,
53c0: 34 30 2c 34 29 2c 27 73 74 79 6c 65 3d 22 66 69  40,4),'style="fi
53d0: 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 6f  ll:none;stroke:o
53e0: 72 61 6e 67 65 3b 73 74 72 6f 6b 65 2d 77 69 64  range;stroke-wid
53f0: 74 68 3a 31 22 27 29 3b 0a 53 45 4c 45 43 54 20  th:1"');.SELECT 
5400: 67 65 6f 70 6f 6c 79 5f 73 76 67 28 67 65 6f 70  geopoly_svg(geop
5410: 6f 6c 79 5f 72 65 67 75 6c 61 72 28 33 30 30 2c  oly_regular(300,
5420: 31 30 30 2c 34 30 2c 35 29 2c 27 73 74 79 6c 65  100,40,5),'style
5430: 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f  ="fill:none;stro
5440: 6b 65 3a 67 72 65 65 6e 3b 73 74 72 6f 6b 65 2d  ke:green;stroke-
5450: 77 69 64 74 68 3a 31 22 27 29 3b 0a 53 45 4c 45  width:1"');.SELE
5460: 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 67  CT geopoly_svg(g
5470: 65 6f 70 6f 6c 79 5f 72 65 67 75 6c 61 72 28 34  eopoly_regular(4
5480: 30 30 2c 31 30 30 2c 34 30 2c 36 29 2c 27 73 74  00,100,40,6),'st
5490: 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73  yle="fill:none;s
54a0: 74 72 6f 6b 65 3a 62 6c 75 65 3b 73 74 72 6f 6b  troke:blue;strok
54b0: 65 2d 77 69 64 74 68 3a 31 22 27 29 3b 0a 53 45  e-width:1"');.SE
54c0: 4c 45 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67  LECT geopoly_svg
54d0: 28 67 65 6f 70 6f 6c 79 5f 72 65 67 75 6c 61 72  (geopoly_regular
54e0: 28 35 30 30 2c 31 30 30 2c 34 30 2c 37 29 2c 27  (500,100,40,7),'
54f0: 73 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65  style="fill:none
5500: 3b 73 74 72 6f 6b 65 3a 70 75 72 70 6c 65 3b 73  ;stroke:purple;s
5510: 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31 22 27 29  troke-width:1"')
5520: 3b 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c 79  ;.SELECT geopoly
5530: 5f 73 76 67 28 67 65 6f 70 6f 6c 79 5f 72 65 67  _svg(geopoly_reg
5540: 75 6c 61 72 28 36 30 30 2c 31 30 30 2c 34 30 2c  ular(600,100,40,
5550: 38 29 2c 27 73 74 79 6c 65 3d 22 66 69 6c 6c 3a  8),'style="fill:
5560: 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 72 65 64 3b  none;stroke:red;
5570: 73 74 72 6f 6b 65 2d 77 69 64 74 68 3a 31 22 27  stroke-width:1"'
5580: 29 3b 0a 53 45 4c 45 43 54 20 67 65 6f 70 6f 6c  );.SELECT geopol
5590: 79 5f 73 76 67 28 67 65 6f 70 6f 6c 79 5f 72 65  y_svg(geopoly_re
55a0: 67 75 6c 61 72 28 37 30 30 2c 31 30 30 2c 34 30  gular(700,100,40
55b0: 2c 31 30 29 2c 27 73 74 79 6c 65 3d 22 66 69 6c  ,10),'style="fil
55c0: 6c 3a 6e 6f 6e 65 3b 73 74 72 6f 6b 65 3a 6f 72  l:none;stroke:or
55d0: 61 6e 67 65 3b 73 74 72 6f 6b 65 2d 77 69 64 74  ange;stroke-widt
55e0: 68 3a 31 22 27 29 3b 0a 53 45 4c 45 43 54 20 67  h:1"');.SELECT g
55f0: 65 6f 70 6f 6c 79 5f 73 76 67 28 67 65 6f 70 6f  eopoly_svg(geopo
5600: 6c 79 5f 72 65 67 75 6c 61 72 28 38 30 30 2c 31  ly_regular(800,1
5610: 30 30 2c 34 30 2c 32 30 29 2c 27 73 74 79 6c 65  00,40,20),'style
5620: 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b 73 74 72 6f  ="fill:none;stro
5630: 6b 65 3a 67 72 65 65 6e 3b 73 74 72 6f 6b 65 2d  ke:green;stroke-
5640: 77 69 64 74 68 3a 31 22 27 29 3b 0a 53 45 4c 45  width:1"');.SELE
5650: 43 54 20 67 65 6f 70 6f 6c 79 5f 73 76 67 28 67  CT geopoly_svg(g
5660: 65 6f 70 6f 6c 79 5f 72 65 67 75 6c 61 72 28 39  eopoly_regular(9
5670: 30 30 2c 31 30 30 2c 34 30 2c 33 30 29 2c 27 73  00,100,40,30),'s
5680: 74 79 6c 65 3d 22 66 69 6c 6c 3a 6e 6f 6e 65 3b  tyle="fill:none;
5690: 73 74 72 6f 6b 65 3a 62 6c 75 65 3b 73 74 72 6f  stroke:blue;stro
56a0: 6b 65 2d 77 69 64 74 68 3a 31 22 27 29 3b 0a 2e  ke-width:1"');..
56b0: 70 72 69 6e 74 20 27 3c 2f 73 76 67 3e 27 0a 0a  print '</svg>'..
56c0: 2e 70 72 69 6e 74 20 27 3c 2f 68 74 6d 6c 3e 27  .print '</html>'
56d0: 0a                                               .