note
	description: "[
		Widget representing a {PORT}.
		]"
	author: "Jimmy J. Johnson"

class
	SINGAPORE_WIDGET

inherit

	RED_PORT_WIDGET
		redefine
			create_interface_objects,
			position_widgets,
			build_land
		end

create
	make

feature {NONE} -- Initialization

	create_interface_objects
			-- Initialize attributes
		do
			Precursor {RED_PORT_WIDGET}
			mainland := mainland_imp
			nongsa := nongsa_imp
		end

	position_widgets
			-- Move Current and contained widgets to correct
			-- location and set their their sizes
		do
			Precursor {RED_PORT_WIDGET}
			scale_widget (land, 0.06)
			rotate_widget (land, 13.0)
			translate_widget (Current, -129, -8)
--			marker.set_x_y (x + 105, y + 125)
--			text_group.set_x_y (x + 100, y + 140)
--			anchor.set_x_y (x + 115, y + 148)

			marker.set_x_y (x + 15, y - 8)
			text_group.set_x_y (x + 98, y + 143)
			anchor.set_x_y (text_group.x + 10, text_group.y + 5)

			dot.set_x_y (x, y)
			bring_to_front (dot)
		end

	build_land
			-- Add widgets to Current
		do
			Precursor {RED_PORT_WIDGET}
				-- Initialize attributes
			land.extend (mainland)
			land.extend (nongsa)
		end

feature -- Status report

	is_red: BOOLEAN = True
			-- Does Current represent a red (i.e. major) port?

feature {NONE} -- Implementation

	mainland: EV_MODEL_POLYGON
	nongsa: EV_MODEL_POLYGON

feature {NONE} -- Implementation

	mainland_imp: EV_MODEL_POLYGON
			-- Make the polygon
		do
			create Result
				-- Points generated by Grabber application
			Result.extend_point (create {EV_COORDINATE}.make_precise (0, 0))
			Result.extend_point (create {EV_COORDINATE}.make_precise (7.333333333333286, -1.3333333333333144))
			Result.extend_point (create {EV_COORDINATE}.make_precise (16, -7.3333333333333144))
			Result.extend_point (create {EV_COORDINATE}.make_precise (26.666666666666657, 2.6666666666666856))
			Result.extend_point (create {EV_COORDINATE}.make_precise (30, -2.6666666666666572))
			Result.extend_point (create {EV_COORDINATE}.make_precise (40.666666666666657, -4.6666666666666572))
			Result.extend_point (create {EV_COORDINATE}.make_precise (51.333333333333314, -8))
			Result.extend_point (create {EV_COORDINATE}.make_precise (59.333333333333314, -16))
			Result.extend_point (create {EV_COORDINATE}.make_precise (72, -16.666666666666657))
			Result.extend_point (create {EV_COORDINATE}.make_precise (79.333333333333314, -8))
			Result.extend_point (create {EV_COORDINATE}.make_precise (91.333333333333314, 10.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (98.666666666666572, 16.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (103.33333333333331, 14.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (110.66666666666657, 22.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (119.33333333333331, 26))
			Result.extend_point (create {EV_COORDINATE}.make_precise (136, 22))
			Result.extend_point (create {EV_COORDINATE}.make_precise (146, 20.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (167.33333333333331, 26))
			Result.extend_point (create {EV_COORDINATE}.make_precise (178.66666666666657, 44.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (194, 61.333333333333258))
			Result.extend_point (create {EV_COORDINATE}.make_precise (213.33333333333331, 80))
			Result.extend_point (create {EV_COORDINATE}.make_precise (226.66666666666663, 83.333333333333258))
			Result.extend_point (create {EV_COORDINATE}.make_precise (239.33333333333331, 88.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (242.66666666666663, 96.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (247.33333333333331, 105.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (252.66666666666663, 116))
			Result.extend_point (create {EV_COORDINATE}.make_precise (262.66666666666663, 122))
			Result.extend_point (create {EV_COORDINATE}.make_precise (276.66666666666663, 136))
			Result.extend_point (create {EV_COORDINATE}.make_precise (286.66666666666663, 144.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (292.66666666666663, 144.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (307.33333333333331, 155.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (314.66666666666663, 170))
			Result.extend_point (create {EV_COORDINATE}.make_precise (326, 193.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (338, 211.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (340, 227.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (342, 237.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (337.33333333333331, 240))
			Result.extend_point (create {EV_COORDINATE}.make_precise (341.33333333333331, 250.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (344, 256))
			Result.extend_point (create {EV_COORDINATE}.make_precise (336, 270))
			Result.extend_point (create {EV_COORDINATE}.make_precise (334.66666666666663, 283.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (339.33333333333331, 287.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (334, 296.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (334, 301.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (329.33333333333331, 306.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (333.33333333333331, 315.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (338.66666666666663, 321.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (343.33333333333331, 329.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (339.33333333333331, 335.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (337.33333333333331, 340.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (338, 353.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (339.33333333333331, 363.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (338, 384.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (355.33333333333314, 406.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (362, 407.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (370.66666666666663, 411.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (372.66666666666663, 421.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (380.66666666666663, 433.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (386.66666666666663, 443.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (386, 447.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (396, 465.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (402.66666666666663, 476.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (399.33333333333314, 475.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (405.33333333333314, 481.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (412, 498.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (414.66666666666663, 513.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (416, 527.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (411.33333333333314, 533.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (400.66666666666663, 532.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (390, 532))
			Result.extend_point (create {EV_COORDINATE}.make_precise (381.33333333333314, 533.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (375.33333333333314, 538.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (363.33333333333314, 540))
			Result.extend_point (create {EV_COORDINATE}.make_precise (356.66666666666663, 538))
			Result.extend_point (create {EV_COORDINATE}.make_precise (353.33333333333314, 533.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (351.33333333333314, 528.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (348.66666666666663, 530))
			Result.extend_point (create {EV_COORDINATE}.make_precise (349.33333333333331, 534))
			Result.extend_point (create {EV_COORDINATE}.make_precise (346.66666666666663, 536.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (340.66666666666663, 536.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (334.66666666666663, 532.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (332.66666666666663, 524))
			Result.extend_point (create {EV_COORDINATE}.make_precise (334, 518.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (329.33333333333331, 511.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (318, 505.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (307.33333333333331, 501.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (300, 495.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (296, 493.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (291.33333333333331, 491.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (286.66666666666663, 485.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (283.33333333333331, 482.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (271.33333333333331, 483.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (263.33333333333331, 473.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (256, 467.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (256, 464.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (248.66666666666663, 460.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (224, 451.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (221.33333333333331, 451.99999999999994))
			Result.extend_point (create {EV_COORDINATE}.make_precise (216, 444.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (212.66666666666663, 443.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (208.66666666666663, 437.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (203.33333333333331, 435.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (202.66666666666663, 433.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (198, 431.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (195.33333333333331, 433.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (192.66666666666663, 425.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (190.66666666666663, 423.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (187.33333333333331, 423.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (188.66666666666663, 419.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (185.33333333333331, 414.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (176.66666666666657, 414.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (168.66666666666657, 411.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (159.33333333333331, 413.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (156.66666666666657, 409.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (155.33333333333331, 401.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (152, 396.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (147.33333333333331, 395.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (142.66666666666657, 393.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (140.66666666666657, 389.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (136, 383.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (132, 375.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (135.33333333333331, 371.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (142.66666666666657, 370.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (144.66666666666657, 368.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (141.33333333333331, 361.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (136.66666666666657, 345.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (134, 347.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (128, 340.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (124.66666666666657, 337.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (120, 323.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (116.66666666666657, 319.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (108, 319.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (106, 311.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (99.333333333333314, 307.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (98, 302.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (108.66666666666657, 298.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (94.666666666666572, 300.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (87.333333333333314, 298.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (87.333333333333314, 286.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (94, 287.99999999999983))
			Result.extend_point (create {EV_COORDINATE}.make_precise (102, 282.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (94, 284.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (92, 278.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (85.333333333333314, 270))
			Result.extend_point (create {EV_COORDINATE}.make_precise (81.333333333333314, 272.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (76.666666666666657, 266.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (76.666666666666657, 260))
			Result.extend_point (create {EV_COORDINATE}.make_precise (74, 258.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (76, 247.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (80.666666666666657, 248.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (79.333333333333314, 239.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (85.333333333333314, 231.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (79.333333333333314, 235.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (75.333333333333314, 235.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (77.333333333333314, 229.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (86, 218.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (77.333333333333314, 224))
			Result.extend_point (create {EV_COORDINATE}.make_precise (74.666666666666657, 214.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (72.666666666666657, 204))
			Result.extend_point (create {EV_COORDINATE}.make_precise (69.333333333333314, 208.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (68, 201.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (64.666666666666657, 203.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (63.333333333333314, 196))
			Result.extend_point (create {EV_COORDINATE}.make_precise (56.666666666666657, 186))
			Result.extend_point (create {EV_COORDINATE}.make_precise (59.333333333333314, 178))
			Result.extend_point (create {EV_COORDINATE}.make_precise (61.333333333333314, 170.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (59.333333333333314, 162.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (55.333333333333314, 165.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (50, 172))
			Result.extend_point (create {EV_COORDINATE}.make_precise (46.666666666666657, 169.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (41.333333333333314, 169.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (38.666666666666657, 162.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (40, 156))
			Result.extend_point (create {EV_COORDINATE}.make_precise (39.333333333333314, 150.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (47.333333333333314, 152.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (53.333333333333314, 154.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (56, 159.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (58, 156.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (58.666666666666657, 149.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (54, 134.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (59.333333333333314, 134.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (54.666666666666657, 129.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (56, 118.66666666666669))
			Result.extend_point (create {EV_COORDINATE}.make_precise (54, 103.33333333333331))
			Result.extend_point (create {EV_COORDINATE}.make_precise (50.666666666666657, 96))
			Result.extend_point (create {EV_COORDINATE}.make_precise (45.333333333333314, 88))
			Result.extend_point (create {EV_COORDINATE}.make_precise (36.666666666666657, 82.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (33.333333333333314, 66))
			Result.extend_point (create {EV_COORDINATE}.make_precise (28, 55.333333333333258))
			Result.extend_point (create {EV_COORDINATE}.make_precise (22.666666666666657, 50))
			Result.extend_point (create {EV_COORDINATE}.make_precise (20, 51.333333333333258))
			Result.extend_point (create {EV_COORDINATE}.make_precise (21.333333333333314, 47.333333333333258))
			Result.extend_point (create {EV_COORDINATE}.make_precise (20, 43.333333333333258))
			Result.extend_point (create {EV_COORDINATE}.make_precise (12.666666666666657, 36.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (9.3333333333333144, 32))
			Result.extend_point (create {EV_COORDINATE}.make_precise (6.6666666666666572, 33.333333333333258))
			Result.extend_point (create {EV_COORDINATE}.make_precise (4.6666666666666572, 26.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (-4.666666666666714, 24))
			Result.extend_point (create {EV_COORDINATE}.make_precise (-6.666666666666714, 6))
			Result.extend_point (create {EV_COORDINATE}.make_precise (-2.666666666666714, 4))
		end

	nongsa_imp: EV_MODEL_POLYGON
			-- Make the polygon
		do
			create Result
				-- Points generated by Grabber application
			Result.extend_point (create {EV_COORDINATE}.make_precise (409.11111111111109, 556.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (407.33333333333326, 554.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (405.55555555555543, 548.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (415.77777777777771, 545.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (415.33333333333326, 542.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (422.8888888888888, 539.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (430.44444444444434, 541.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (434.8888888888888, 542.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (439.77777777777771, 537.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (442.8888888888888, 540))
			Result.extend_point (create {EV_COORDINATE}.make_precise (444.22222222222217, 544.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (447.77777777777771, 546.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (448.66666666666663, 552.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (450, 558.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (448.66666666666663, 560))
			Result.extend_point (create {EV_COORDINATE}.make_precise (450.44444444444434, 564.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (452.66666666666663, 568.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (452.22222222222217, 573.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (447.77777777777771, 576.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (454, 578.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (455.33333333333326, 584.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (448.66666666666663, 580.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (446.8888888888888, 583.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (444.22222222222217, 581.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (439.33333333333326, 581.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (434.8888888888888, 581.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (434.44444444444434, 578.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (441.11111111111109, 578.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (439.77777777777771, 576))
			Result.extend_point (create {EV_COORDINATE}.make_precise (430.8888888888888, 572.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (426.8888888888888, 571.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (430, 568.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (426.44444444444434, 566.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (428.66666666666663, 563.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (427.33333333333326, 561.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (428.66666666666663, 558.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (431.33333333333326, 557.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (426.8888888888888, 556.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (425.55555555555543, 559.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (422, 560.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (420.22222222222217, 559.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (418.8888888888888, 561.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (413.55555555555543, 562.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (411.33333333333326, 566.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (413.11111111111109, 571.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (412.66666666666663, 576.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (409.11111111111109, 577.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (413.11111111111109, 579.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (414.44444444444434, 583.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (415.77777777777771, 587.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (414.44444444444434, 594.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (410.8888888888888, 590.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (405.55555555555543, 582.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (400.22222222222217, 572))
			Result.extend_point (create {EV_COORDINATE}.make_precise (388.66666666666663, 571.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (381.55555555555543, 566.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (378, 566.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (378.44444444444434, 571.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (382, 576))
			Result.extend_point (create {EV_COORDINATE}.make_precise (382.8888888888888, 581.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (378, 580))
			Result.extend_point (create {EV_COORDINATE}.make_precise (375.33333333333326, 575.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (370.44444444444434, 570.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (366.8888888888888, 570.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (370.44444444444434, 573.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (373.55555555555543, 579.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (372.66666666666663, 582.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (369.11111111111109, 580))
			Result.extend_point (create {EV_COORDINATE}.make_precise (363.77777777777771, 577.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (359.33333333333326, 573.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (359.33333333333326, 567.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (364.22222222222217, 560.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (366, 557.33333333333326))
			Result.extend_point (create {EV_COORDINATE}.make_precise (369.11111111111109, 556))
			Result.extend_point (create {EV_COORDINATE}.make_precise (371.33333333333326, 560.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (372.66666666666663, 558.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (374.8888888888888, 558.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (373.11111111111109, 552.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (376.22222222222217, 554.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (379.33333333333326, 558.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (379.33333333333326, 554.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (378, 551.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (381.11111111111109, 552.88888888888891))
			Result.extend_point (create {EV_COORDINATE}.make_precise (381.55555555555543, 549.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (380.66666666666663, 546.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (386, 546.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (387.33333333333326, 542.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (390, 542.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (392.66666666666663, 546.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (395.33333333333326, 547.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (395.33333333333326, 544.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (394, 543.11111111111109))
			Result.extend_point (create {EV_COORDINATE}.make_precise (396.66666666666663, 541.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (401.55555555555543, 543.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (401.11111111111109, 548))
			Result.extend_point (create {EV_COORDINATE}.make_precise (402, 552))
			Result.extend_point (create {EV_COORDINATE}.make_precise (400.66666666666663, 555.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (394.8888888888888, 556))
			Result.extend_point (create {EV_COORDINATE}.make_precise (397.11111111111109, 558.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (396.66666666666663, 560.44444444444434))
			Result.extend_point (create {EV_COORDINATE}.make_precise (392.22222222222217, 561.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (388.66666666666663, 563.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (389.11111111111109, 567.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (394.44444444444434, 565.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (397.55555555555543, 562.66666666666674))
			Result.extend_point (create {EV_COORDINATE}.make_precise (401.55555555555543, 562.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (403.33333333333326, 555.55555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (404.22222222222217, 558.22222222222217))
			Result.extend_point (create {EV_COORDINATE}.make_precise (406, 561.7777777777776))
			Result.extend_point (create {EV_COORDINATE}.make_precise (408.66666666666663, 559.55555555555543))
		end

invariant

	correct_port: attached target_imp implies port = game.singapore

end
