Last active
April 20, 2017 15:47
-
-
Save zelinskiy/16f242aa07d30ca42de63f539911085c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| module Match where | |
| import Data.List | |
| data Direction = Horiz | Vert deriving (Eq, Show) | |
| data LinePointType = Begin | End deriving (Eq, Show) | |
| data LinePoint = LinePoint LinePointType Direction (Int, Int) deriving (Eq) | |
| data Line = Line LinePoint LinePoint deriving (Eq) | |
| instance Show LinePoint where | |
| show (LinePoint Begin Horiz cs) = " ⊢ " ++ show cs | |
| show (LinePoint End Horiz cs) = " ⊣ " ++ show cs | |
| show (LinePoint Begin Vert cs) = " ⊤ " ++ show cs | |
| show (LinePoint End Vert cs) = " ⊥ " ++ show cs | |
| instance Show Line where | |
| show (Line b e) = "{ " ++ show b ++ " # " ++ show e ++ " }" | |
| instance Ord Line where | |
| compare (Line b1 e1) (Line b2 e2) = compare (mag b1 e1) (mag b2 e2) | |
| mag p1 p2 = sqrt $ fromIntegral $ dx^2 + dy^2 | |
| where dx = xCoord p1 - xCoord p2 | |
| dy = yCoord p1 - yCoord p2 | |
| xCoord (LinePoint _ _ (x,y)) = x | |
| yCoord (LinePoint _ _ (x,y)) = y | |
| flipType Begin = End | |
| flipType End = Begin | |
| points0 = [LinePoint End Vert (786,998),LinePoint End Vert (776,996),LinePoint Begin Vert (786,992),LinePoint End Vert (558,992),LinePoint End Vert (24,990),LinePoint End Vert (964,988),LinePoint Begin Vert (776,986),LinePoint End Vert (48,986),LinePoint End Horiz (770,984),LinePoint Begin Horiz (622,984),LinePoint End Vert (394,984),LinePoint End Vert (154,982),LinePoint End Vert (550,978),LinePoint End Horiz (944,976),LinePoint Begin Horiz (908,976),LinePoint End Horiz (850,976),LinePoint Begin Horiz (774,976),LinePoint End Vert (106,976),LinePoint Begin Vert (106,972),LinePoint End Vert (72,972),LinePoint End Vert (926,970),LinePoint End Vert (552,970),LinePoint Begin Vert (550,968),LinePoint End Vert (424,968),LinePoint End Vert (226,968),LinePoint Begin Vert (394,966),LinePoint End Horiz (418,964),LinePoint Begin Horiz (242,964),LinePoint Begin Vert (154,964),LinePoint End Vert (288,962),LinePoint End Horiz (872,960),LinePoint Begin Horiz (692,960),LinePoint Begin Vert (288,958),LinePoint End Vert (194,958),LinePoint End Horiz (820,954),LinePoint Begin Horiz (714,954),LinePoint End Vert (656,954),LinePoint Begin Vert (424,954),LinePoint End Horiz (422,954),LinePoint Begin Horiz (314,954),LinePoint Begin Vert (72,954),LinePoint End Vert (526,952),LinePoint Begin Vert (656,950),LinePoint End Vert (932,948),LinePoint Begin Vert (926,948),LinePoint End Vert (468,944),LinePoint End Vert (196,940),LinePoint End Horiz (458,938),LinePoint Begin Horiz (416,938),LinePoint End Vert (538,932),LinePoint End Vert (586,930),LinePoint Begin Vert (526,928),LinePoint Begin Vert (964,924),LinePoint End Vert (564,924),LinePoint End Vert (678,920),LinePoint Begin Vert (932,918),LinePoint End Vert (716,918),LinePoint Begin Vert (552,918),LinePoint Begin Vert (586,916),LinePoint Begin Vert (468,916),LinePoint Begin Vert (196,916),LinePoint End Horiz (960,914),LinePoint Begin Horiz (850,914),LinePoint End Vert (2,914),LinePoint End Vert (406,912),LinePoint Begin Vert (226,910),LinePoint End Vert (334,908),LinePoint Begin Vert (48,908),LinePoint Begin Vert (564,906),LinePoint End Vert (384,902),LinePoint End Horiz (850,898),LinePoint Begin Horiz (720,898),LinePoint End Vert (386,898),LinePoint End Vert (492,894),LinePoint Begin Vert (386,894),LinePoint Begin Vert (716,890),LinePoint Begin Vert (678,886),LinePoint End Vert (394,886),LinePoint End Vert (990,882),LinePoint End Vert (452,880),LinePoint End Horiz (58,880),LinePoint Begin Horiz (50,880),LinePoint Begin Vert (24,876),LinePoint Begin Vert (538,874),LinePoint End Horiz (274,874),LinePoint Begin Horiz (222,874),LinePoint End Horiz (660,872),LinePoint Begin Horiz (642,872),LinePoint End Vert (516,872),LinePoint Begin Vert (492,872),LinePoint End Horiz (886,866),LinePoint Begin Horiz (562,866),LinePoint Begin Vert (452,866),LinePoint Begin Vert (516,862),LinePoint Begin Vert (334,862),LinePoint Begin Vert (558,860),LinePoint End Horiz (954,856),LinePoint Begin Horiz (774,856),LinePoint End Horiz (236,854),LinePoint Begin Horiz (224,854),LinePoint End Horiz (606,848),LinePoint Begin Horiz (430,848),LinePoint Begin Vert (394,848),LinePoint End Horiz (926,844),LinePoint Begin Horiz (870,844),LinePoint Begin Vert (384,844),LinePoint End Horiz (948,840),LinePoint Begin Horiz (768,840),LinePoint Begin Vert (194,840),LinePoint End Horiz (708,838),LinePoint Begin Horiz (414,838),LinePoint End Horiz (618,836),LinePoint Begin Horiz (614,836),LinePoint End Horiz (984,828),LinePoint Begin Horiz (914,828),LinePoint End Vert (976,826),LinePoint Begin Vert (406,824),LinePoint End Horiz (660,822),LinePoint Begin Horiz (584,822),LinePoint End Vert (978,820),LinePoint Begin Vert (976,816),LinePoint End Vert (730,816),LinePoint End Horiz (918,814),LinePoint Begin Horiz (744,814),LinePoint Begin Vert (730,812),LinePoint End Horiz (952,808),LinePoint Begin Horiz (668,808),LinePoint End Horiz (606,806),LinePoint Begin Horiz (418,806),LinePoint End Horiz (336,806),LinePoint Begin Horiz (232,806),LinePoint End Horiz (834,804),LinePoint Begin Horiz (260,804),LinePoint End Horiz (230,804),LinePoint Begin Horiz (64,804),LinePoint End Vert (762,802),LinePoint End Horiz (920,800),LinePoint Begin Horiz (892,800),LinePoint End Vert (986,798),LinePoint End Horiz (944,798),LinePoint Begin Horiz (896,798),LinePoint End Horiz (968,796),LinePoint Begin Horiz (772,796),LinePoint End Horiz (234,796),LinePoint Begin Horiz (76,796),LinePoint Begin Vert (762,792),LinePoint Begin Vert (978,784),LinePoint End Horiz (712,784),LinePoint Begin Horiz (160,784),LinePoint End Horiz (950,780),LinePoint Begin Horiz (908,780),LinePoint End Horiz (682,778),LinePoint Begin Horiz (662,778),LinePoint End Horiz (800,776),LinePoint Begin Horiz (278,776),LinePoint End Horiz (188,776),LinePoint Begin Horiz (150,776),LinePoint End Horiz (788,764),LinePoint Begin Horiz (324,764),LinePoint End Horiz (894,762),LinePoint Begin Horiz (446,762),LinePoint End Horiz (282,752),LinePoint Begin Horiz (180,752),LinePoint End Horiz (280,750),LinePoint Begin Horiz (4,750),LinePoint End Horiz (334,746),LinePoint Begin Horiz (134,746),LinePoint End Horiz (8,746),LinePoint Begin Horiz (4,746),LinePoint End Horiz (770,740),LinePoint Begin Horiz (250,740),LinePoint End Horiz (468,738),LinePoint Begin Horiz (278,738),LinePoint End Horiz (948,734),LinePoint Begin Horiz (806,734),LinePoint End Horiz (890,732),LinePoint Begin Horiz (492,732),LinePoint End Horiz (162,732),LinePoint Begin Horiz (4,732),LinePoint End Horiz (976,726),LinePoint Begin Horiz (922,726),LinePoint End Horiz (56,726),LinePoint Begin Horiz (22,726),LinePoint End Horiz (916,720),LinePoint Begin Horiz (404,720),LinePoint End Horiz (956,716),LinePoint Begin Horiz (824,716),LinePoint End Horiz (644,716),LinePoint Begin Horiz (512,716),LinePoint End Horiz (980,710),LinePoint Begin Horiz (924,710),LinePoint End Horiz (248,710),LinePoint Begin Horiz (152,710),LinePoint End Horiz (978,708),LinePoint Begin Horiz (836,708),LinePoint End Horiz (768,708),LinePoint Begin Horiz (748,708),LinePoint End Horiz (526,708),LinePoint Begin Horiz (438,708),LinePoint End Horiz (312,708),LinePoint Begin Horiz (8,708),LinePoint End Horiz (972,706),LinePoint Begin Horiz (120,706),LinePoint End Horiz (372,704),LinePoint Begin Horiz (138,704),LinePoint End Horiz (802,700),LinePoint Begin Horiz (284,700),LinePoint End Horiz (964,698),LinePoint Begin Horiz (952,698),LinePoint End Vert (882,698),LinePoint End Horiz (864,696),LinePoint Begin Horiz (810,696),LinePoint End Horiz (664,696),LinePoint Begin Horiz (486,696),LinePoint End Horiz (404,696),LinePoint Begin Horiz (348,696),LinePoint End Vert (856,692),LinePoint End Horiz (730,692),LinePoint Begin Horiz (498,692),LinePoint End Horiz (446,686),LinePoint Begin Horiz (246,686),LinePoint End Vert (908,684),LinePoint End Horiz (16,680),LinePoint Begin Horiz (10,680),LinePoint End Horiz (484,678),LinePoint Begin Horiz (182,678),LinePoint Begin Vert (908,672),LinePoint End Horiz (746,672),LinePoint Begin Horiz (620,672),LinePoint End Horiz (402,672),LinePoint Begin Horiz (60,672),LinePoint End Horiz (632,670),LinePoint Begin Horiz (574,670),LinePoint End Horiz (780,668),LinePoint Begin Horiz (94,668),LinePoint End Horiz (632,666),LinePoint Begin Horiz (532,666),LinePoint End Horiz (464,666),LinePoint Begin Horiz (318,666),LinePoint End Horiz (588,662),LinePoint Begin Horiz (550,662),LinePoint End Horiz (742,658),LinePoint Begin Horiz (674,658),LinePoint End Horiz (252,656),LinePoint Begin Horiz (100,656),LinePoint End Vert (776,652),LinePoint End Horiz (450,650),LinePoint Begin Horiz (42,650),LinePoint Begin Vert (776,644),LinePoint End Horiz (720,644),LinePoint Begin Horiz (674,644),LinePoint End Horiz (110,644),LinePoint Begin Horiz (26,644),LinePoint End Horiz (972,642),LinePoint Begin Horiz (950,642),LinePoint End Horiz (746,642),LinePoint Begin Horiz (602,642),LinePoint End Horiz (186,642),LinePoint Begin Horiz (108,642),LinePoint End Horiz (970,640),LinePoint Begin Horiz (894,640),LinePoint End Horiz (784,638),LinePoint Begin Horiz (138,638),LinePoint End Horiz (730,636),LinePoint Begin Horiz (440,636),LinePoint End Horiz (830,632),LinePoint Begin Horiz (412,632),LinePoint End Horiz (832,630),LinePoint Begin Horiz (760,630),LinePoint End Horiz (380,630),LinePoint Begin Horiz (200,630),LinePoint End Horiz (648,628),LinePoint Begin Horiz (250,628),LinePoint End Horiz (438,626),LinePoint Begin Horiz (228,626),LinePoint End Horiz (270,614),LinePoint Begin Horiz (42,614),LinePoint End Horiz (606,610),LinePoint Begin Horiz (186,610),LinePoint End Horiz (430,606),LinePoint Begin Horiz (292,606),LinePoint End Horiz (744,602),LinePoint Begin Horiz (420,602),LinePoint End Horiz (848,590),LinePoint Begin Horiz (566,590),LinePoint End Horiz (984,586),LinePoint Begin Horiz (920,586),LinePoint End Horiz (476,586),LinePoint Begin Horiz (182,586),LinePoint End Vert (908,584),LinePoint End Vert (850,582),LinePoint End Horiz (838,580),LinePoint Begin Horiz (112,580),LinePoint End Horiz (826,578),LinePoint Begin Horiz (642,578),LinePoint End Vert (992,576),LinePoint End Vert (876,570),LinePoint End Horiz (942,568),LinePoint Begin Horiz (912,568),LinePoint Begin Vert (908,568),LinePoint Begin Vert (2,568),LinePoint End Horiz (710,564),LinePoint Begin Horiz (578,564),LinePoint End Horiz (360,556),LinePoint Begin Horiz (86,556),LinePoint End Horiz (574,554),LinePoint Begin Horiz (100,554),LinePoint Begin Vert (856,552),LinePoint End Horiz (394,552),LinePoint Begin Horiz (234,552),LinePoint End Horiz (722,550),LinePoint Begin Horiz (124,550),LinePoint End Horiz (450,546),LinePoint Begin Horiz (438,546),LinePoint End Horiz (342,544),LinePoint Begin Horiz (26,544),LinePoint Begin Vert (850,542),LinePoint Begin Vert (992,540),LinePoint End Horiz (684,540),LinePoint Begin Horiz (76,540),LinePoint End Horiz (166,538),LinePoint Begin Horiz (66,538),LinePoint End Vert (982,532),LinePoint End Horiz (210,532),LinePoint Begin Horiz (32,532),LinePoint End Horiz (968,514),LinePoint Begin Horiz (928,514),LinePoint Begin Vert (882,514),LinePoint End Horiz (422,506),LinePoint Begin Horiz (24,506),LinePoint End Horiz (286,504),LinePoint Begin Horiz (170,504),LinePoint End Horiz (866,494),LinePoint Begin Horiz (174,494),LinePoint End Horiz (60,488),LinePoint Begin Horiz (22,488),LinePoint Begin Vert (876,484),LinePoint End Horiz (632,482),LinePoint Begin Horiz (440,482),LinePoint End Horiz (966,480),LinePoint Begin Horiz (854,480),LinePoint End Horiz (814,476),LinePoint Begin Horiz (670,476),LinePoint End Horiz (934,470),LinePoint Begin Horiz (352,470),LinePoint End Horiz (690,468),LinePoint Begin Horiz (376,468),LinePoint End Horiz (806,462),LinePoint Begin Horiz (718,462),LinePoint End Horiz (490,462),LinePoint Begin Horiz (288,462),LinePoint End Horiz (188,462),LinePoint Begin Horiz (122,462),LinePoint End Horiz (860,458),LinePoint Begin Horiz (570,458),LinePoint End Horiz (966,456),LinePoint Begin Horiz (894,456),LinePoint End Horiz (774,454),LinePoint Begin Horiz (344,454),LinePoint End Horiz (264,454),LinePoint Begin Horiz (50,454),LinePoint End Horiz (302,452),LinePoint Begin Horiz (138,452),LinePoint End Horiz (20,450),LinePoint Begin Horiz (6,450),LinePoint End Horiz (872,448),LinePoint Begin Horiz (442,448),LinePoint End Horiz (704,446),LinePoint Begin Horiz (128,446),LinePoint End Horiz (976,444),LinePoint Begin Horiz (98,444),LinePoint Begin Vert (990,442),LinePoint End Horiz (318,442),LinePoint Begin Horiz (58,442),LinePoint End Horiz (966,434),LinePoint Begin Horiz (912,434),LinePoint End Horiz (670,434),LinePoint Begin Horiz (350,434),LinePoint End Horiz (616,432),LinePoint Begin Horiz (430,432),LinePoint End Horiz (784,430),LinePoint Begin Horiz (308,430),LinePoint End Horiz (278,430),LinePoint Begin Horiz (194,430),LinePoint End Horiz (648,418),LinePoint Begin Horiz (554,418),LinePoint End Vert (964,404),LinePoint End Horiz (630,404),LinePoint Begin Horiz (516,404),LinePoint End Horiz (858,402),LinePoint Begin Horiz (42,402),LinePoint End Horiz (388,398),LinePoint Begin Horiz (204,398),LinePoint End Horiz (772,392),LinePoint Begin Horiz (430,392),LinePoint End Horiz (528,388),LinePoint Begin Horiz (134,388),LinePoint End Horiz (614,380),LinePoint Begin Horiz (318,380),LinePoint End Horiz (304,380),LinePoint Begin Horiz (274,380),LinePoint End Horiz (260,380),LinePoint Begin Horiz (208,380),LinePoint End Horiz (938,376),LinePoint Begin Horiz (526,376),LinePoint End Horiz (514,376),LinePoint Begin Horiz (262,376),LinePoint End Horiz (154,376),LinePoint Begin Horiz (116,376),LinePoint End Vert (134,372),LinePoint End Vert (84,372),LinePoint End Vert (628,370),LinePoint End Horiz (272,368),LinePoint Begin Horiz (176,368),LinePoint End Horiz (914,366),LinePoint Begin Horiz (822,366),LinePoint End Horiz (816,366),LinePoint Begin Horiz (800,366),LinePoint End Horiz (666,364),LinePoint Begin Horiz (638,364),LinePoint End Horiz (36,364),LinePoint Begin Horiz (14,364),LinePoint End Horiz (890,360),LinePoint Begin Horiz (660,360),LinePoint End Horiz (306,358),LinePoint Begin Horiz (210,358),LinePoint End Horiz (882,356),LinePoint Begin Horiz (848,356),LinePoint End Vert (798,354),LinePoint End Horiz (582,354),LinePoint Begin Horiz (216,354),LinePoint End Vert (958,352),LinePoint End Horiz (672,348),LinePoint Begin Horiz (658,348),LinePoint End Vert (144,348),LinePoint End Vert (128,342),LinePoint End Vert (120,342),LinePoint End Horiz (238,334),LinePoint Begin Horiz (162,334),LinePoint End Vert (978,330),LinePoint End Vert (650,328),LinePoint End Vert (646,328),LinePoint End Vert (100,326),LinePoint End Horiz (382,324),LinePoint Begin Horiz (242,324),LinePoint End Vert (908,322),LinePoint End Horiz (804,322),LinePoint Begin Horiz (802,322),LinePoint End Horiz (510,322),LinePoint Begin Horiz (320,322),LinePoint End Vert (952,320),LinePoint End Horiz (898,316),LinePoint Begin Horiz (878,316),LinePoint End Horiz (498,314),LinePoint Begin Horiz (346,314),LinePoint Begin Vert (120,310),LinePoint End Horiz (46,310),LinePoint Begin Horiz (38,310),LinePoint End Horiz (46,308),LinePoint Begin Horiz (34,308),LinePoint End Vert (878,304),LinePoint End Vert (626,302),LinePoint End Horiz (618,302),LinePoint Begin Horiz (258,302),LinePoint Begin Vert (986,298),LinePoint Begin Vert (958,298),LinePoint End Horiz (758,298),LinePoint Begin Horiz (698,298),LinePoint End Horiz (66,298),LinePoint Begin Horiz (38,298),LinePoint End Vert (94,292),LinePoint End Vert (874,290),LinePoint End Horiz (414,290),LinePoint Begin Horiz (156,290),LinePoint End Vert (162,284),LinePoint End Vert (506,282),LinePoint End Horiz (476,278),LinePoint Begin Horiz (290,278),LinePoint End Vert (572,274),LinePoint End Vert (734,270),LinePoint Begin Vert (144,268),LinePoint End Horiz (16,268),LinePoint Begin Horiz (6,268),LinePoint Begin Vert (572,262),LinePoint End Vert (400,262),LinePoint End Horiz (558,254),LinePoint Begin Horiz (538,254),LinePoint Begin Vert (506,254),LinePoint Begin Vert (952,252),LinePoint End Horiz (366,252),LinePoint Begin Horiz (310,252),LinePoint End Horiz (360,248),LinePoint Begin Horiz (304,248),LinePoint End Vert (486,246),LinePoint End Horiz (74,246),LinePoint Begin Horiz (10,246),LinePoint Begin Vert (798,242),LinePoint End Vert (570,242),LinePoint Begin Vert (964,240),LinePoint End Vert (702,240),LinePoint End Vert (350,240),LinePoint Begin Vert (486,238),LinePoint End Vert (258,236),LinePoint Begin Vert (94,232),LinePoint End Vert (896,228),LinePoint Begin Vert (84,226),LinePoint End Vert (920,224),LinePoint End Vert (448,222),LinePoint End Vert (682,218),LinePoint End Vert (220,214),LinePoint End Vert (888,210),LinePoint Begin Vert (448,210),LinePoint End Horiz (482,206),LinePoint Begin Horiz (462,206),LinePoint End Horiz (496,204),LinePoint Begin Horiz (442,204),LinePoint End Horiz (454,200),LinePoint Begin Horiz (428,200),LinePoint End Vert (218,200),LinePoint End Vert (292,198),LinePoint End Vert (358,196),LinePoint End Horiz (998,190),LinePoint Begin Horiz (992,190),LinePoint Begin Vert (220,190),LinePoint Begin Vert (570,188),LinePoint End Horiz (588,184),LinePoint Begin Horiz (416,184),LinePoint Begin Vert (292,184),LinePoint Begin Vert (100,184),LinePoint End Horiz (106,182),LinePoint Begin Horiz (86,182),LinePoint Begin Vert (650,180),LinePoint Begin Vert (128,178),LinePoint Begin Vert (702,170),LinePoint End Horiz (582,170),LinePoint Begin Horiz (546,170),LinePoint End Vert (246,168),LinePoint End Vert (214,168),LinePoint End Horiz (572,166),LinePoint Begin Horiz (466,166),LinePoint End Vert (232,166),LinePoint Begin Vert (134,164),LinePoint Begin Vert (874,162),LinePoint End Horiz (838,162),LinePoint Begin Horiz (804,162),LinePoint End Vert (408,160),LinePoint End Horiz (846,158),LinePoint Begin Horiz (822,158),LinePoint End Horiz (140,158),LinePoint Begin Horiz (28,158),LinePoint Begin Vert (920,156),LinePoint Begin Vert (408,146),LinePoint Begin Vert (358,146),LinePoint End Vert (980,144),LinePoint End Vert (712,144),LinePoint End Horiz (870,142),LinePoint Begin Horiz (774,142),LinePoint End Vert (678,138),LinePoint Begin Vert (400,138),LinePoint Begin Vert (214,138),LinePoint End Horiz (596,134),LinePoint Begin Horiz (354,134),LinePoint End Horiz (576,128),LinePoint Begin Horiz (538,128),LinePoint Begin Vert (980,126),LinePoint Begin Vert (678,126),LinePoint End Horiz (42,126),LinePoint Begin Horiz (16,126),LinePoint End Vert (862,124),LinePoint End Horiz (160,124),LinePoint Begin Horiz (88,124),LinePoint Begin Vert (712,122),LinePoint Begin Vert (734,120),LinePoint End Horiz (518,118),LinePoint Begin Horiz (464,118),LinePoint Begin Vert (982,116),LinePoint End Horiz (26,116),LinePoint Begin Horiz (6,116),LinePoint End Horiz (580,114),LinePoint Begin Horiz (558,114),LinePoint End Horiz (126,110),LinePoint Begin Horiz (46,110),LinePoint End Horiz (148,106),LinePoint Begin Horiz (32,106),LinePoint End Vert (884,104),LinePoint Begin Vert (646,104),LinePoint Begin Vert (350,102),LinePoint End Horiz (474,100),LinePoint Begin Horiz (306,100),LinePoint End Horiz (284,100),LinePoint Begin Horiz (274,100),LinePoint End Horiz (994,98),LinePoint Begin Horiz (986,98),LinePoint End Vert (256,94),LinePoint End Vert (176,94),LinePoint Begin Vert (862,90),LinePoint Begin Vert (878,88),LinePoint End Horiz (868,88),LinePoint Begin Horiz (846,88),LinePoint End Horiz (570,88),LinePoint Begin Horiz (260,88),LinePoint Begin Vert (908,82),LinePoint Begin Vert (978,78),LinePoint End Vert (858,78),LinePoint Begin Vert (626,78),LinePoint Begin Vert (162,76),LinePoint Begin Vert (888,74),LinePoint Begin Vert (896,72),LinePoint End Horiz (592,72),LinePoint Begin Horiz (334,72),LinePoint End Horiz (44,72),LinePoint Begin Horiz (4,72),LinePoint End Vert (548,68),LinePoint End Horiz (430,68),LinePoint Begin Horiz (304,68),LinePoint Begin Vert (858,66),LinePoint End Vert (542,62),LinePoint Begin Vert (246,62),LinePoint Begin Vert (176,62),LinePoint Begin Vert (682,60),LinePoint End Horiz (502,60),LinePoint Begin Horiz (458,60),LinePoint End Horiz (458,58),LinePoint Begin Horiz (302,58),LinePoint End Vert (76,58),LinePoint End Horiz (862,56),LinePoint Begin Horiz (844,56),LinePoint End Horiz (854,54),LinePoint Begin Horiz (738,54),LinePoint Begin Vert (232,54),LinePoint Begin Vert (884,52),LinePoint Begin Vert (548,52),LinePoint Begin Vert (628,50),LinePoint Begin Vert (218,50),LinePoint Begin Vert (542,48),LinePoint End Horiz (956,44),LinePoint Begin Horiz (650,44),LinePoint End Vert (46,42),LinePoint End Vert (82,40),LinePoint Begin Vert (82,34),LinePoint Begin Vert (258,32),LinePoint End Vert (936,30),LinePoint End Vert (108,30),LinePoint End Vert (972,28),LinePoint Begin Vert (256,28),LinePoint Begin Vert (46,28),LinePoint Begin Vert (972,24),LinePoint Begin Vert (936,24),LinePoint End Horiz (378,24),LinePoint Begin Horiz (172,24),LinePoint Begin Vert (108,24),LinePoint Begin Vert (76,24),LinePoint End Horiz (734,16),LinePoint Begin Horiz (404,16),LinePoint End Horiz (522,14),LinePoint Begin Horiz (284,14),LinePoint End Horiz (968,8),LinePoint Begin Horiz (142,8),LinePoint End Horiz (726,6),LinePoint Begin Horiz (724,6)] | |
| points1 = [ LinePoint Begin Horiz (10,10), LinePoint End Horiz (20,10), LinePoint Begin Horiz (30,10), LinePoint End Horiz (40,10)] | |
| points2 = [LinePoint Begin Horiz (0,38),LinePoint Begin Horiz (0,778),LinePoint Begin Vert (870,0),LinePoint End Vert (868,998),LinePoint End Vert (662,996),LinePoint End Vert (332,996),LinePoint End Vert (500,994),LinePoint End Vert (380,994),LinePoint Begin Vert (662,992),LinePoint Begin Vert (500,990),LinePoint Begin Vert (868,988),LinePoint End Horiz (944,986),LinePoint Begin Horiz (812,986),LinePoint End Vert (436,986),LinePoint End Horiz (802,982),LinePoint Begin Horiz (718,982),LinePoint End Vert (830,980),LinePoint Begin Vert (830,976),LinePoint End Horiz (786,976),LinePoint Begin Horiz (492,976),LinePoint End Vert (222,972),LinePoint End Horiz (948,970),LinePoint Begin Horiz (488,970),LinePoint Begin Vert (222,968),LinePoint Begin Vert (436,966),LinePoint End Vert (428,966),LinePoint Begin Vert (332,966),LinePoint End Vert (470,964),LinePoint End Horiz (374,964),LinePoint Begin Horiz (266,964),LinePoint End Horiz (896,962),LinePoint Begin Horiz (724,962),LinePoint End Vert (524,960),LinePoint End Horiz (792,958),LinePoint Begin Horiz (780,958),LinePoint End Horiz (468,958),LinePoint Begin Horiz (462,958),LinePoint Begin Vert (428,956),LinePoint End Horiz (292,952),LinePoint Begin Horiz (280,952),LinePoint End Vert (620,948),LinePoint End Horiz (350,948),LinePoint Begin Horiz (122,948),LinePoint End Horiz (82,948),LinePoint Begin Horiz (40,948),LinePoint Begin Vert (620,946),LinePoint End Horiz (960,942),LinePoint Begin Horiz (866,942),LinePoint End Vert (436,942),LinePoint End Horiz (248,942),LinePoint Begin Horiz (76,942),LinePoint End Horiz (980,940),LinePoint Begin Horiz (930,940),LinePoint End Vert (844,938),LinePoint End Horiz (82,938),LinePoint Begin Horiz (56,938),LinePoint Begin Vert (470,936),LinePoint End Horiz (720,934),LinePoint Begin Horiz (624,934),LinePoint Begin Vert (436,934),LinePoint End Vert (914,932),LinePoint End Horiz (206,932),LinePoint Begin Horiz (32,932),LinePoint End Horiz (766,930),LinePoint Begin Horiz (666,930),LinePoint End Horiz (664,926),LinePoint Begin Horiz (534,926),LinePoint End Horiz (452,926),LinePoint Begin Horiz (436,926),LinePoint End Horiz (90,926),LinePoint Begin Horiz (46,926),LinePoint Begin Vert (914,924),LinePoint End Horiz (518,922),LinePoint Begin Horiz (422,922),LinePoint End Vert (88,922),LinePoint End Vert (968,920),LinePoint End Vert (118,920),LinePoint End Vert (14,918),LinePoint Begin Vert (844,914),LinePoint End Horiz (766,914),LinePoint Begin Horiz (576,914),LinePoint Begin Vert (88,912),LinePoint Begin Vert (524,910),LinePoint Begin Vert (380,910),LinePoint Begin Vert (118,910),LinePoint End Horiz (658,906),LinePoint Begin Horiz (524,906),LinePoint End Horiz (590,904),LinePoint Begin Horiz (16,904),LinePoint End Horiz (536,902),LinePoint Begin Horiz (274,902),LinePoint End Horiz (112,902),LinePoint Begin Horiz (18,902),LinePoint End Horiz (376,898),LinePoint Begin Horiz (60,898),LinePoint End Vert (908,894),LinePoint End Horiz (820,888),LinePoint Begin Horiz (176,888),LinePoint End Horiz (836,886),LinePoint Begin Horiz (734,886),LinePoint End Horiz (366,886),LinePoint Begin Horiz (92,886),LinePoint End Horiz (44,882),LinePoint Begin Horiz (22,882),LinePoint End Horiz (468,878),LinePoint Begin Horiz (446,878),LinePoint End Horiz (732,876),LinePoint Begin Horiz (110,876),LinePoint End Vert (870,874),LinePoint End Horiz (482,868),LinePoint Begin Horiz (414,868),LinePoint End Horiz (512,864),LinePoint Begin Horiz (216,864),LinePoint End Vert (18,864),LinePoint Begin Vert (14,860),LinePoint End Horiz (560,858),LinePoint Begin Horiz (434,858),LinePoint Begin Vert (870,856),LinePoint End Horiz (696,854),LinePoint Begin Horiz (156,854),LinePoint End Horiz (460,850),LinePoint Begin Horiz (130,850),LinePoint End Horiz (60,848),LinePoint Begin Horiz (52,848),LinePoint End Horiz (852,838),LinePoint Begin Horiz (510,838),LinePoint End Horiz (988,836),LinePoint Begin Horiz (974,836),LinePoint End Horiz (338,836),LinePoint Begin Horiz (72,836),LinePoint End Vert (134,830),LinePoint Begin Vert (18,830),LinePoint End Horiz (662,824),LinePoint Begin Horiz (576,824),LinePoint End Horiz (536,824),LinePoint Begin Horiz (212,824),LinePoint Begin Vert (908,820),LinePoint End Horiz (816,818),LinePoint Begin Horiz (610,818),LinePoint End Horiz (120,818),LinePoint Begin Horiz (90,818),LinePoint End Horiz (930,806),LinePoint Begin Horiz (152,806),LinePoint End Horiz (702,804),LinePoint Begin Horiz (638,804),LinePoint End Horiz (702,800),LinePoint Begin Horiz (700,800),LinePoint End Horiz (936,798),LinePoint Begin Horiz (878,798),LinePoint End Horiz (16,798),LinePoint Begin Horiz (8,798),LinePoint End Vert (410,796),LinePoint End Vert (654,794),LinePoint End Vert (552,794),LinePoint End Vert (546,794),LinePoint Begin Vert (134,794),LinePoint End Vert (374,788),LinePoint End Vert (402,786),LinePoint End Horiz (272,786),LinePoint Begin Horiz (48,786),LinePoint End Vert (468,784),LinePoint End Horiz (392,782),LinePoint Begin Horiz (380,782),LinePoint End Horiz (194,782),LinePoint Begin Horiz (108,782),LinePoint End Horiz (958,780),LinePoint Begin Horiz (678,780),LinePoint End Horiz (318,780),LinePoint Begin Horiz (2,780),LinePoint End Horiz (962,778),LinePoint Begin Horiz (856,778),LinePoint End Horiz (288,778),LinePoint Begin Horiz (134,778),LinePoint End Horiz (20,778),LinePoint End Vert (482,776),LinePoint End Horiz (988,774),LinePoint Begin Horiz (980,774),LinePoint End Horiz (930,774),LinePoint Begin Horiz (834,774),LinePoint End Horiz (242,774),LinePoint Begin Horiz (120,774),LinePoint End Vert (584,772),LinePoint End Horiz (936,770),LinePoint Begin Horiz (806,770),LinePoint End Horiz (202,770),LinePoint Begin Horiz (156,770),LinePoint End Vert (362,766),LinePoint End Vert (244,766),LinePoint End Horiz (718,764),LinePoint Begin Horiz (676,764),LinePoint Begin Vert (584,764),LinePoint End Horiz (950,762),LinePoint Begin Horiz (904,762),LinePoint End Vert (610,760),LinePoint End Vert (144,760),LinePoint Begin Vert (244,756),LinePoint End Horiz (636,750),LinePoint Begin Horiz (628,750),LinePoint End Horiz (94,750),LinePoint Begin Horiz (22,750),LinePoint Begin Vert (482,748),LinePoint End Horiz (112,748),LinePoint Begin Horiz (46,748),LinePoint End Horiz (712,746),LinePoint Begin Horiz (702,746),LinePoint Begin Vert (610,742),LinePoint End Horiz (306,738),LinePoint Begin Horiz (234,738),LinePoint End Horiz (240,736),LinePoint Begin Horiz (172,736),LinePoint Begin Vert (402,732),LinePoint End Vert (276,730),LinePoint End Horiz (960,728),LinePoint Begin Horiz (842,728),LinePoint End Vert (436,718),LinePoint End Horiz (920,712),LinePoint Begin Horiz (844,712),LinePoint End Vert (418,710),LinePoint End Vert (396,710),LinePoint End Vert (616,708),LinePoint Begin Vert (276,708),LinePoint End Vert (234,708),LinePoint End Vert (212,706),LinePoint End Vert (350,702),LinePoint End Horiz (206,702),LinePoint Begin Horiz (148,702),LinePoint End Vert (116,700),LinePoint End Vert (6,698),LinePoint End Horiz (954,696),LinePoint Begin Horiz (806,696),LinePoint End Vert (618,694),LinePoint End Vert (442,692),LinePoint Begin Vert (396,692),LinePoint End Vert (522,690),LinePoint End Horiz (390,690),LinePoint Begin Horiz (384,690),LinePoint End Horiz (18,690),LinePoint Begin Horiz (10,690),LinePoint End Horiz (954,686),LinePoint Begin Horiz (870,686),LinePoint End Vert (390,686),LinePoint End Vert (334,684),LinePoint End Horiz (184,684),LinePoint Begin Horiz (172,684),LinePoint Begin Vert (968,682),LinePoint End Horiz (88,682),LinePoint Begin Horiz (30,682),LinePoint End Vert (22,680),LinePoint End Vert (300,678),LinePoint End Vert (218,678),LinePoint Begin Vert (144,674),LinePoint End Horiz (976,672),LinePoint Begin Horiz (682,672),LinePoint End Horiz (996,670),LinePoint Begin Horiz (882,670),LinePoint End Horiz (104,670),LinePoint Begin Horiz (50,670),LinePoint End Vert (384,666),LinePoint End Vert (990,664),LinePoint Begin Vert (234,662),LinePoint End Horiz (870,660),LinePoint Begin Horiz (662,660),LinePoint End Vert (878,656),LinePoint End Horiz (234,656),LinePoint Begin Horiz (226,656),LinePoint End Vert (66,656),LinePoint End Vert (126,654),LinePoint End Vert (288,652),LinePoint Begin Vert (218,652),LinePoint End Vert (464,650),LinePoint End Vert (508,648),LinePoint End Horiz (778,646),LinePoint Begin Horiz (714,646),LinePoint Begin Vert (212,646),LinePoint End Vert (976,642),LinePoint End Vert (496,642),LinePoint End Vert (50,642),LinePoint End Vert (782,640),LinePoint End Vert (466,638),LinePoint End Vert (222,638),LinePoint Begin Vert (126,634),LinePoint End Horiz (712,632),LinePoint Begin Horiz (706,632),LinePoint Begin Vert (222,632),LinePoint End Horiz (754,630),LinePoint Begin Horiz (746,630),LinePoint Begin Vert (782,628),LinePoint Begin Vert (878,626),LinePoint Begin Vert (466,626),LinePoint End Vert (580,624),LinePoint End Vert (164,622),LinePoint End Vert (562,616),LinePoint Begin Vert (164,612),LinePoint Begin Vert (384,610),LinePoint End Horiz (198,610),LinePoint Begin Horiz (144,610),LinePoint Begin Vert (654,608),LinePoint End Horiz (188,608),LinePoint Begin Horiz (126,608),LinePoint End Horiz (114,608),LinePoint Begin Horiz (110,608),LinePoint Begin Vert (562,606),LinePoint End Horiz (266,606),LinePoint Begin Horiz (172,606),LinePoint Begin Vert (522,602),LinePoint End Vert (400,596),LinePoint End Vert (608,590),LinePoint Begin Vert (410,586),LinePoint Begin Vert (288,578),LinePoint Begin Vert (22,578),LinePoint End Vert (78,572),LinePoint End Horiz (838,566),LinePoint Begin Horiz (648,566),LinePoint End Vert (286,564),LinePoint End Horiz (256,562),LinePoint Begin Horiz (238,562),LinePoint End Vert (196,562),LinePoint End Vert (152,560),LinePoint End Horiz (892,558),LinePoint Begin Horiz (852,558),LinePoint End Horiz (816,558),LinePoint Begin Horiz (756,558),LinePoint End Horiz (110,554),LinePoint Begin Horiz (100,554),LinePoint End Horiz (864,552),LinePoint Begin Horiz (782,552),LinePoint End Vert (610,550),LinePoint End Vert (874,548),LinePoint Begin Vert (508,548),LinePoint End Vert (160,548),LinePoint Begin Vert (874,544),LinePoint End Vert (672,542),LinePoint End Vert (406,542),LinePoint Begin Vert (374,542),LinePoint End Vert (272,542),LinePoint End Horiz (492,540),LinePoint Begin Horiz (470,540),LinePoint Begin Vert (976,538),LinePoint End Horiz (836,538),LinePoint Begin Horiz (764,538),LinePoint End Horiz (976,536),LinePoint Begin Horiz (768,536),LinePoint End Horiz (930,532),LinePoint Begin Horiz (882,532),LinePoint Begin Vert (350,530),LinePoint Begin Vert (552,524),LinePoint Begin Vert (50,524),LinePoint End Vert (98,522),LinePoint Begin Vert (400,520),LinePoint Begin Vert (160,520),LinePoint End Vert (214,518),LinePoint End Horiz (942,514),LinePoint Begin Horiz (932,514),LinePoint End Vert (336,514),LinePoint End Horiz (964,510),LinePoint Begin Horiz (788,510),LinePoint End Horiz (758,508),LinePoint Begin Horiz (678,508),LinePoint End Vert (128,504),LinePoint End Horiz (848,502),LinePoint Begin Horiz (798,502),LinePoint End Vert (586,498),LinePoint Begin Vert (286,496),LinePoint End Vert (218,496),LinePoint End Horiz (912,488),LinePoint Begin Horiz (900,488),LinePoint End Vert (736,488),LinePoint Begin Vert (406,480),LinePoint End Vert (522,478),LinePoint End Vert (706,476),LinePoint End Horiz (18,474),LinePoint Begin Horiz (12,474),LinePoint Begin Vert (6,470),LinePoint End Vert (974,466),LinePoint End Vert (690,466),LinePoint End Horiz (96,464),LinePoint Begin Horiz (84,464),LinePoint End Vert (386,460),LinePoint End Vert (220,460),LinePoint End Horiz (944,458),LinePoint Begin Horiz (776,458),LinePoint Begin Vert (580,458),LinePoint Begin Vert (618,456),LinePoint Begin Vert (390,452),LinePoint End Horiz (936,450),LinePoint Begin Horiz (810,450),LinePoint Begin Vert (672,448),LinePoint Begin Vert (362,444),LinePoint End Horiz (896,442),LinePoint Begin Horiz (798,442),LinePoint Begin Vert (386,442),LinePoint End Vert (992,438),LinePoint End Horiz (914,438),LinePoint Begin Horiz (904,438),LinePoint Begin Vert (690,436),LinePoint Begin Vert (464,436),LinePoint End Vert (72,436),LinePoint End Vert (158,424),LinePoint Begin Vert (66,424),LinePoint Begin Vert (272,422),LinePoint End Vert (110,422),LinePoint End Horiz (892,418),LinePoint Begin Horiz (878,418),LinePoint Begin Vert (522,418),LinePoint Begin Vert (436,416),LinePoint Begin Vert (546,412),LinePoint Begin Vert (496,412),LinePoint Begin Vert (608,410),LinePoint End Vert (52,410),LinePoint Begin Vert (214,408),LinePoint Begin Vert (442,406),LinePoint End Horiz (32,406),LinePoint Begin Horiz (24,406),LinePoint Begin Vert (610,402),LinePoint End Vert (144,402),LinePoint Begin Vert (334,400),LinePoint End Vert (842,398),LinePoint End Horiz (400,396),LinePoint Begin Horiz (388,396),LinePoint Begin Vert (336,394),LinePoint Begin Vert (842,392),LinePoint Begin Vert (418,392),LinePoint End Horiz (830,388),LinePoint Begin Horiz (828,388),LinePoint Begin Vert (616,388),LinePoint Begin Vert (468,384),LinePoint End Vert (90,384),LinePoint Begin Vert (974,382),LinePoint Begin Vert (90,382),LinePoint End Horiz (496,380),LinePoint Begin Horiz (468,380),LinePoint Begin Vert (706,378),LinePoint End Vert (574,378),LinePoint Begin Vert (116,378),LinePoint End Vert (582,376),LinePoint Begin Vert (110,374),LinePoint End Horiz (942,372),LinePoint Begin Horiz (826,372),LinePoint End Vert (798,370),LinePoint End Horiz (548,370),LinePoint Begin Horiz (522,370),LinePoint End Vert (252,370),LinePoint End Vert (12,370),LinePoint End Horiz (716,368),LinePoint Begin Horiz (656,368),LinePoint Begin Vert (736,366),LinePoint End Horiz (706,366),LinePoint Begin Horiz (664,366),LinePoint Begin Vert (252,362),LinePoint End Horiz (950,354),LinePoint Begin Horiz (916,354),LinePoint End Vert (86,352),LinePoint Begin Vert (300,350),LinePoint Begin Vert (52,350),LinePoint End Horiz (562,348),LinePoint Begin Horiz (222,348),LinePoint Begin Vert (128,348),LinePoint End Horiz (942,346),LinePoint Begin Horiz (808,346),LinePoint Begin Vert (220,346),LinePoint Begin Vert (12,346),LinePoint End Horiz (988,344),LinePoint Begin Horiz (960,344),LinePoint End Horiz (70,340),LinePoint Begin Horiz (2,340),LinePoint End Horiz (968,336),LinePoint Begin Horiz (934,336),LinePoint End Vert (380,330),LinePoint End Horiz (766,328),LinePoint Begin Horiz (722,328),LinePoint End Vert (290,328),LinePoint End Vert (108,326),LinePoint End Vert (524,324),LinePoint Begin Vert (380,324),LinePoint End Vert (120,320),LinePoint Begin Vert (798,318),LinePoint End Horiz (750,318),LinePoint Begin Horiz (714,318),LinePoint End Vert (156,316),LinePoint End Horiz (694,312),LinePoint Begin Horiz (680,312),LinePoint End Horiz (458,312),LinePoint Begin Horiz (388,312),LinePoint End Horiz (346,312),LinePoint Begin Horiz (330,312),LinePoint End Vert (282,308),LinePoint End Horiz (894,306),LinePoint Begin Horiz (704,306),LinePoint End Horiz (976,304),LinePoint Begin Horiz (598,304),LinePoint End Horiz (900,300),LinePoint Begin Horiz (650,300),LinePoint End Vert (420,300),LinePoint Begin Vert (72,300),LinePoint End Horiz (810,296),LinePoint Begin Horiz (780,296),LinePoint Begin Vert (196,296),LinePoint End Horiz (968,294),LinePoint Begin Horiz (638,294),LinePoint End Vert (952,292),LinePoint End Horiz (488,290),LinePoint Begin Horiz (436,290),LinePoint Begin Vert (282,290),LinePoint End Horiz (62,290),LinePoint Begin Horiz (52,290),LinePoint End Horiz (974,288),LinePoint Begin Horiz (970,288),LinePoint End Vert (458,282),LinePoint End Horiz (872,280),LinePoint Begin Horiz (674,280),LinePoint End Vert (162,278),LinePoint End Horiz (908,274),LinePoint Begin Horiz (634,274),LinePoint Begin Vert (162,274),LinePoint Begin Vert (574,272),LinePoint End Vert (170,272),LinePoint Begin Vert (108,270),LinePoint End Vert (600,268),LinePoint End Horiz (416,268),LinePoint Begin Horiz (306,268),LinePoint End Vert (916,266),LinePoint End Vert (562,266),LinePoint End Horiz (710,260),LinePoint Begin Horiz (666,260),LinePoint End Vert (452,258),LinePoint End Vert (382,258),LinePoint Begin Vert (218,258),LinePoint End Vert (976,256),LinePoint End Vert (450,256),LinePoint End Vert (394,254),LinePoint End Vert (402,252),LinePoint End Vert (490,244),LinePoint End Vert (168,244),LinePoint End Vert (316,242),LinePoint Begin Vert (152,240),LinePoint End Horiz (710,238),LinePoint Begin Horiz (620,238),LinePoint Begin Vert (490,238),LinePoint End Vert (308,238),LinePoint Begin Vert (156,238),LinePoint End Vert (708,236),LinePoint End Vert (588,236),LinePoint End Vert (284,232),LinePoint End Vert (268,232),LinePoint End Horiz (896,230),LinePoint Begin Horiz (858,230),LinePoint End Vert (282,230),LinePoint End Vert (262,228),LinePoint Begin Vert (708,226),LinePoint End Vert (682,226),LinePoint Begin Vert (268,226),LinePoint End Vert (626,224),LinePoint End Vert (376,222),LinePoint End Horiz (856,220),LinePoint Begin Horiz (818,220),LinePoint Begin Vert (524,220),LinePoint End Vert (272,220),LinePoint Begin Vert (992,218),LinePoint Begin Vert (952,216),LinePoint Begin Vert (562,216),LinePoint Begin Vert (170,214),LinePoint End Horiz (484,212),LinePoint Begin Horiz (462,212),LinePoint Begin Vert (458,210),LinePoint End Vert (64,206),LinePoint End Horiz (816,204),LinePoint Begin Horiz (806,204),LinePoint End Horiz (548,202),LinePoint Begin Horiz (460,202),LinePoint End Vert (604,198),LinePoint End Horiz (826,196),LinePoint Begin Horiz (774,196),LinePoint End Horiz (222,196),LinePoint Begin Horiz (182,196),LinePoint Begin Vert (64,194),LinePoint End Vert (572,192),LinePoint Begin Vert (420,192),LinePoint End Vert (228,192),LinePoint Begin Vert (604,190),LinePoint End Vert (448,190),LinePoint End Vert (368,188),LinePoint End Vert (700,186),LinePoint Begin Vert (272,184),LinePoint End Vert (240,184),LinePoint End Vert (346,182),LinePoint End Vert (156,182),LinePoint Begin Vert (376,180),LinePoint Begin Vert (682,178),LinePoint Begin Vert (452,178),LinePoint Begin Vert (282,178),LinePoint Begin Vert (700,176),LinePoint End Vert (758,174),LinePoint Begin Vert (144,174),LinePoint End Horiz (914,172),LinePoint Begin Horiz (854,172),LinePoint End Vert (172,172),LinePoint End Vert (956,170),LinePoint End Vert (204,170),LinePoint End Vert (694,166),LinePoint End Vert (490,164),LinePoint End Vert (280,164),LinePoint Begin Vert (240,162),LinePoint Begin Vert (168,162),LinePoint Begin Vert (98,162),LinePoint Begin Vert (290,160),LinePoint End Vert (130,158),LinePoint End Vert (142,156),LinePoint End Vert (466,152),LinePoint Begin Vert (466,148),LinePoint End Horiz (506,146),LinePoint Begin Horiz (498,146),LinePoint End Vert (360,146),LinePoint Begin Vert (142,146),LinePoint End Vert (506,142),LinePoint End Vert (374,142),LinePoint Begin Vert (694,140),LinePoint End Vert (592,140),LinePoint End Vert (90,138),LinePoint Begin Vert (374,136),LinePoint Begin Vert (262,134),LinePoint Begin Vert (86,128),LinePoint End Horiz (886,126),LinePoint Begin Horiz (882,126),LinePoint Begin Vert (158,126),LinePoint Begin Vert (758,124),LinePoint Begin Vert (228,122),LinePoint End Vert (212,122),LinePoint End Horiz (972,120),LinePoint Begin Horiz (970,120),LinePoint End Vert (126,120),LinePoint End Vert (650,116),LinePoint End Vert (444,116),LinePoint End Horiz (804,114),LinePoint Begin Horiz (688,114),LinePoint End Vert (926,112),LinePoint Begin Vert (572,112),LinePoint Begin Vert (316,112),LinePoint End Horiz (866,110),LinePoint Begin Horiz (656,110),LinePoint End Vert (520,110),LinePoint Begin Vert (444,110),LinePoint End Vert (310,110),LinePoint Begin Vert (588,104),LinePoint Begin Vert (212,104),LinePoint End Vert (146,104),LinePoint End Vert (4,104),LinePoint Begin Vert (926,102),LinePoint End Vert (874,98),LinePoint Begin Vert (120,96),LinePoint Begin Vert (368,94),LinePoint End Horiz (904,92),LinePoint Begin Horiz (896,92),LinePoint Begin Vert (394,92),LinePoint End Horiz (942,90),LinePoint Begin Horiz (930,90),LinePoint Begin Vert (626,90),LinePoint End Vert (206,90),LinePoint Begin Vert (90,90),LinePoint Begin Vert (874,88),LinePoint Begin Vert (206,88),LinePoint Begin Vert (916,86),LinePoint Begin Vert (156,86),LinePoint End Vert (966,84),LinePoint Begin Vert (520,84),LinePoint Begin Vert (346,82),LinePoint Begin Vert (146,82),LinePoint Begin Vert (586,80),LinePoint Begin Vert (78,80),LinePoint Begin Vert (600,78),LinePoint End Horiz (248,78),LinePoint Begin Horiz (210,78),LinePoint Begin Vert (966,76),LinePoint End Horiz (804,74),LinePoint Begin Horiz (700,74),LinePoint Begin Vert (582,72),LinePoint Begin Vert (402,70),LinePoint Begin Vert (308,70),LinePoint End Vert (92,70),LinePoint End Horiz (906,68),LinePoint Begin Horiz (752,68),LinePoint Begin Vert (450,68),LinePoint Begin Vert (448,68),LinePoint Begin Vert (172,68),LinePoint End Horiz (954,66),LinePoint Begin Horiz (832,66),LinePoint Begin Vert (650,66),LinePoint Begin Vert (284,66),LinePoint Begin Vert (280,66),LinePoint Begin Vert (490,64),LinePoint Begin Vert (360,64),LinePoint Begin Vert (506,62),LinePoint End Horiz (354,62),LinePoint Begin Horiz (330,62),LinePoint End Horiz (744,60),LinePoint Begin Horiz (700,60),LinePoint Begin Vert (310,60),LinePoint Begin Vert (976,58),LinePoint Begin Vert (592,58),LinePoint Begin Vert (4,58),LinePoint End Vert (716,56),LinePoint End Vert (156,54),LinePoint Begin Vert (126,54),LinePoint Begin Vert (382,52),LinePoint Begin Vert (92,52),LinePoint Begin Vert (990,50),LinePoint End Horiz (96,50),LinePoint Begin Horiz (94,50),LinePoint End Horiz (648,48),LinePoint Begin Horiz (276,48),LinePoint End Vert (110,46),LinePoint End Horiz (622,42),LinePoint Begin Horiz (470,42),LinePoint End Horiz (536,38),LinePoint Begin Horiz (286,38),LinePoint End Horiz (22,38),LinePoint End Vert (344,36),LinePoint Begin Vert (110,36),LinePoint End Horiz (472,34),LinePoint Begin Horiz (382,34),LinePoint Begin Vert (344,30),LinePoint End Vert (948,28),LinePoint End Horiz (692,28),LinePoint Begin Horiz (606,28),LinePoint End Horiz (706,26),LinePoint Begin Horiz (696,26),LinePoint End Horiz (506,26),LinePoint Begin Horiz (296,26),LinePoint End Horiz (120,26),LinePoint Begin Horiz (60,26),LinePoint End Horiz (476,24),LinePoint Begin Horiz (344,24),LinePoint Begin Vert (130,24),LinePoint End Vert (104,22),LinePoint Begin Vert (204,18),LinePoint End Horiz (832,16),LinePoint Begin Horiz (780,16),LinePoint End Vert (334,14),LinePoint Begin Vert (104,12),LinePoint Begin Vert (948,10),LinePoint Begin Vert (716,10),LinePoint Begin Vert (334,10),LinePoint Begin Vert (156,10),LinePoint End Horiz (836,6),LinePoint Begin Horiz (42,6),LinePoint End Horiz (732,4),LinePoint Begin Horiz (574,4),LinePoint Begin Vert (956,2),LinePoint End Vert (870,2)] | |
| correct (Line a@(LinePoint End _ _) b@(LinePoint Begin _ _)) = Line b a | |
| correct l = l | |
| pred1 (LinePoint t Horiz (_,y)) (LinePoint t' Horiz (_,y')) = y == y' && flipType t == t' | |
| pred1 (LinePoint t Vert (x,_)) (LinePoint t' Vert (x',_)) = x == x' && flipType t == t' | |
| pred1 _ _ = False | |
| match acc (p:ps) = case find (pred1 p) ps of | |
| Just p' -> match ((Line p p'):acc) (delete p' ps) | |
| Nothing -> error $ "Cannot match " ++ show p | |
| match acc [] = map correct acc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment