From 30590fe8d3fdc57e63a0e9c5b2c0ececffb37301 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Fri, 15 Sep 2023 09:57:50 -0700 Subject: [PATCH] Add helper to create Connection array PiperOrigin-RevId: 565706612 --- mediapipe/tasks/web/vision/core/BUILD | 6 +- .../web/vision/core/{types.d.ts => types.ts} | 6 + .../face_landmarks_connections.ts | 1369 ++++++----------- .../hand_landmarks_connections.ts | 15 +- .../vision/pose_landmarker/pose_landmarker.ts | 22 +- 5 files changed, 470 insertions(+), 948 deletions(-) rename mediapipe/tasks/web/vision/core/{types.d.ts => types.ts} (82%) diff --git a/mediapipe/tasks/web/vision/core/BUILD b/mediapipe/tasks/web/vision/core/BUILD index fa28e04a58..dfbbb9f919 100644 --- a/mediapipe/tasks/web/vision/core/BUILD +++ b/mediapipe/tasks/web/vision/core/BUILD @@ -1,7 +1,7 @@ # This package contains options shared by all MediaPipe Vision Tasks for Web. -load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//mediapipe/framework/port:build_config.bzl", "mediapipe_ts_declaration", "mediapipe_ts_library") +load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") package(default_visibility = ["//mediapipe/tasks:internal"]) @@ -21,9 +21,9 @@ mediapipe_ts_declaration( ], ) -mediapipe_ts_declaration( +mediapipe_ts_library( name = "types", - srcs = ["types.d.ts"], + srcs = ["types.ts"], deps = [ "//mediapipe/tasks/web/components/containers:keypoint", ], diff --git a/mediapipe/tasks/web/vision/core/types.d.ts b/mediapipe/tasks/web/vision/core/types.ts similarity index 82% rename from mediapipe/tasks/web/vision/core/types.d.ts rename to mediapipe/tasks/web/vision/core/types.ts index 64d67bc30a..3046f4652b 100644 --- a/mediapipe/tasks/web/vision/core/types.d.ts +++ b/mediapipe/tasks/web/vision/core/types.ts @@ -30,3 +30,9 @@ export declare interface Connection { start: number; end: number; } + +/** Converts a list of connection in array notation to a list of Connections. */ +export function convertToConnections(...connections: Array<[number, number]>): + Connection[] { + return connections.map(([start, end]) => ({start, end})); +} diff --git a/mediapipe/tasks/web/vision/face_landmarker/face_landmarks_connections.ts b/mediapipe/tasks/web/vision/face_landmarker/face_landmarks_connections.ts index 72c010cb47..644de9d8c7 100644 --- a/mediapipe/tasks/web/vision/face_landmarker/face_landmarks_connections.ts +++ b/mediapipe/tasks/web/vision/face_landmarker/face_landmarks_connections.ts @@ -14,947 +14,476 @@ * limitations under the License. */ -import {Connection} from '../../../../tasks/web/vision/core/types'; +import {convertToConnections} from '../../../../tasks/web/vision/core/types'; /** Landmarks for lips */ -export const FACE_LANDMARKS_LIPS: Connection[] = [ - {start: 61, end: 146}, {start: 146, end: 91}, {start: 91, end: 181}, - {start: 181, end: 84}, {start: 84, end: 17}, {start: 17, end: 314}, - {start: 314, end: 405}, {start: 405, end: 321}, {start: 321, end: 375}, - {start: 375, end: 291}, {start: 61, end: 185}, {start: 185, end: 40}, - {start: 40, end: 39}, {start: 39, end: 37}, {start: 37, end: 0}, - {start: 0, end: 267}, {start: 267, end: 269}, {start: 269, end: 270}, - {start: 270, end: 409}, {start: 409, end: 291}, {start: 78, end: 95}, - {start: 95, end: 88}, {start: 88, end: 178}, {start: 178, end: 87}, - {start: 87, end: 14}, {start: 14, end: 317}, {start: 317, end: 402}, - {start: 402, end: 318}, {start: 318, end: 324}, {start: 324, end: 308}, - {start: 78, end: 191}, {start: 191, end: 80}, {start: 80, end: 81}, - {start: 81, end: 82}, {start: 82, end: 13}, {start: 13, end: 312}, - {start: 312, end: 311}, {start: 311, end: 310}, {start: 310, end: 415}, - {start: 415, end: 308} -]; +export const FACE_LANDMARKS_LIPS = convertToConnections( + [61, 146], [146, 91], [91, 181], [181, 84], [84, 17], [17, 314], [314, 405], + [405, 321], [321, 375], [375, 291], [61, 185], [185, 40], [40, 39], + [39, 37], [37, 0], [0, 267], [267, 269], [269, 270], [270, 409], [409, 291], + [78, 95], [95, 88], [88, 178], [178, 87], [87, 14], [14, 317], [317, 402], + [402, 318], [318, 324], [324, 308], [78, 191], [191, 80], [80, 81], + [81, 82], [82, 13], [13, 312], [312, 311], [311, 310], [310, 415], + [415, 308]); /** Landmarks for left eye */ -export const FACE_LANDMARKS_LEFT_EYE: Connection[] = [ - {start: 263, end: 249}, {start: 249, end: 390}, {start: 390, end: 373}, - {start: 373, end: 374}, {start: 374, end: 380}, {start: 380, end: 381}, - {start: 381, end: 382}, {start: 382, end: 362}, {start: 263, end: 466}, - {start: 466, end: 388}, {start: 388, end: 387}, {start: 387, end: 386}, - {start: 386, end: 385}, {start: 385, end: 384}, {start: 384, end: 398}, - {start: 398, end: 362} -]; +export const FACE_LANDMARKS_LEFT_EYE = convertToConnections( + [263, 249], [249, 390], [390, 373], [373, 374], [374, 380], [380, 381], + [381, 382], [382, 362], [263, 466], [466, 388], [388, 387], [387, 386], + [386, 385], [385, 384], [384, 398], [398, 362]); /** Landmarks for left eyebrow */ -export const FACE_LANDMARKS_LEFT_EYEBROW: Connection[] = [ - {start: 276, end: 283}, {start: 283, end: 282}, {start: 282, end: 295}, - {start: 295, end: 285}, {start: 300, end: 293}, {start: 293, end: 334}, - {start: 334, end: 296}, {start: 296, end: 336} -]; +export const FACE_LANDMARKS_LEFT_EYEBROW = convertToConnections( + [276, 283], [283, 282], [282, 295], [295, 285], [300, 293], [293, 334], + [334, 296], [296, 336]); /** Landmarks for left iris */ -export const FACE_LANDMARKS_LEFT_IRIS: Connection[] = [ - {start: 474, end: 475}, {start: 475, end: 476}, {start: 476, end: 477}, - {start: 477, end: 474} -]; +export const FACE_LANDMARKS_LEFT_IRIS = + convertToConnections([474, 475], [475, 476], [476, 477], [477, 474]); /** Landmarks for right eye */ -export const FACE_LANDMARKS_RIGHT_EYE: Connection[] = [ - {start: 33, end: 7}, {start: 7, end: 163}, {start: 163, end: 144}, - {start: 144, end: 145}, {start: 145, end: 153}, {start: 153, end: 154}, - {start: 154, end: 155}, {start: 155, end: 133}, {start: 33, end: 246}, - {start: 246, end: 161}, {start: 161, end: 160}, {start: 160, end: 159}, - {start: 159, end: 158}, {start: 158, end: 157}, {start: 157, end: 173}, - {start: 173, end: 133} -]; +export const FACE_LANDMARKS_RIGHT_EYE = convertToConnections( + [33, 7], [7, 163], [163, 144], [144, 145], [145, 153], [153, 154], + [154, 155], [155, 133], [33, 246], [246, 161], [161, 160], [160, 159], + [159, 158], [158, 157], [157, 173], [173, 133]); /** Landmarks for right eeyebrow */ -export const FACE_LANDMARKS_RIGHT_EYEBROW: Connection[] = [ - {start: 46, end: 53}, {start: 53, end: 52}, {start: 52, end: 65}, - {start: 65, end: 55}, {start: 70, end: 63}, {start: 63, end: 105}, - {start: 105, end: 66}, {start: 66, end: 107} -]; +export const FACE_LANDMARKS_RIGHT_EYEBROW = convertToConnections( + [46, 53], [53, 52], [52, 65], [65, 55], [70, 63], [63, 105], [105, 66], + [66, 107]); /** Landmarks for right iris */ -export const FACE_LANDMARKS_RIGHT_IRIS: Connection[] = [ - {start: 469, end: 470}, {start: 470, end: 471}, {start: 471, end: 472}, - {start: 472, end: 469} -]; +export const FACE_LANDMARKS_RIGHT_IRIS = + convertToConnections([469, 470], [470, 471], [471, 472], [472, 469]); /** Landmarks for face oval */ -export const FACE_LANDMARKS_FACE_OVAL: Connection[] = [ - {start: 10, end: 338}, {start: 338, end: 297}, {start: 297, end: 332}, - {start: 332, end: 284}, {start: 284, end: 251}, {start: 251, end: 389}, - {start: 389, end: 356}, {start: 356, end: 454}, {start: 454, end: 323}, - {start: 323, end: 361}, {start: 361, end: 288}, {start: 288, end: 397}, - {start: 397, end: 365}, {start: 365, end: 379}, {start: 379, end: 378}, - {start: 378, end: 400}, {start: 400, end: 377}, {start: 377, end: 152}, - {start: 152, end: 148}, {start: 148, end: 176}, {start: 176, end: 149}, - {start: 149, end: 150}, {start: 150, end: 136}, {start: 136, end: 172}, - {start: 172, end: 58}, {start: 58, end: 132}, {start: 132, end: 93}, - {start: 93, end: 234}, {start: 234, end: 127}, {start: 127, end: 162}, - {start: 162, end: 21}, {start: 21, end: 54}, {start: 54, end: 103}, - {start: 103, end: 67}, {start: 67, end: 109}, {start: 109, end: 10} -]; +export const FACE_LANDMARKS_FACE_OVAL = convertToConnections( + [10, 338], [338, 297], [297, 332], [332, 284], [284, 251], [251, 389], + [389, 356], [356, 454], [454, 323], [323, 361], [361, 288], [288, 397], + [397, 365], [365, 379], [379, 378], [378, 400], [400, 377], [377, 152], + [152, 148], [148, 176], [176, 149], [149, 150], [150, 136], [136, 172], + [172, 58], [58, 132], [132, 93], [93, 234], [234, 127], [127, 162], + [162, 21], [21, 54], [54, 103], [103, 67], [67, 109], [109, 10]); /** Landmarks for contours */ -export const FACE_LANDMARKS_CONTOURS: Connection[] = [ +export const FACE_LANDMARKS_CONTOURS = [ ...FACE_LANDMARKS_LIPS, ...FACE_LANDMARKS_LEFT_EYE, ...FACE_LANDMARKS_LEFT_EYEBROW, ...FACE_LANDMARKS_RIGHT_EYE, ...FACE_LANDMARKS_RIGHT_EYEBROW, ...FACE_LANDMARKS_FACE_OVAL ]; /** Landmarks for face tesselation */ -export const FACE_LANDMARKS_TESSELATION: Connection[] = [ - {start: 127, end: 34}, {start: 34, end: 139}, {start: 139, end: 127}, - {start: 11, end: 0}, {start: 0, end: 37}, {start: 37, end: 11}, - {start: 232, end: 231}, {start: 231, end: 120}, {start: 120, end: 232}, - {start: 72, end: 37}, {start: 37, end: 39}, {start: 39, end: 72}, - {start: 128, end: 121}, {start: 121, end: 47}, {start: 47, end: 128}, - {start: 232, end: 121}, {start: 121, end: 128}, {start: 128, end: 232}, - {start: 104, end: 69}, {start: 69, end: 67}, {start: 67, end: 104}, - {start: 175, end: 171}, {start: 171, end: 148}, {start: 148, end: 175}, - {start: 118, end: 50}, {start: 50, end: 101}, {start: 101, end: 118}, - {start: 73, end: 39}, {start: 39, end: 40}, {start: 40, end: 73}, - {start: 9, end: 151}, {start: 151, end: 108}, {start: 108, end: 9}, - {start: 48, end: 115}, {start: 115, end: 131}, {start: 131, end: 48}, - {start: 194, end: 204}, {start: 204, end: 211}, {start: 211, end: 194}, - {start: 74, end: 40}, {start: 40, end: 185}, {start: 185, end: 74}, - {start: 80, end: 42}, {start: 42, end: 183}, {start: 183, end: 80}, - {start: 40, end: 92}, {start: 92, end: 186}, {start: 186, end: 40}, - {start: 230, end: 229}, {start: 229, end: 118}, {start: 118, end: 230}, - {start: 202, end: 212}, {start: 212, end: 214}, {start: 214, end: 202}, - {start: 83, end: 18}, {start: 18, end: 17}, {start: 17, end: 83}, - {start: 76, end: 61}, {start: 61, end: 146}, {start: 146, end: 76}, - {start: 160, end: 29}, {start: 29, end: 30}, {start: 30, end: 160}, - {start: 56, end: 157}, {start: 157, end: 173}, {start: 173, end: 56}, - {start: 106, end: 204}, {start: 204, end: 194}, {start: 194, end: 106}, - {start: 135, end: 214}, {start: 214, end: 192}, {start: 192, end: 135}, - {start: 203, end: 165}, {start: 165, end: 98}, {start: 98, end: 203}, - {start: 21, end: 71}, {start: 71, end: 68}, {start: 68, end: 21}, - {start: 51, end: 45}, {start: 45, end: 4}, {start: 4, end: 51}, - {start: 144, end: 24}, {start: 24, end: 23}, {start: 23, end: 144}, - {start: 77, end: 146}, {start: 146, end: 91}, {start: 91, end: 77}, - {start: 205, end: 50}, {start: 50, end: 187}, {start: 187, end: 205}, - {start: 201, end: 200}, {start: 200, end: 18}, {start: 18, end: 201}, - {start: 91, end: 106}, {start: 106, end: 182}, {start: 182, end: 91}, - {start: 90, end: 91}, {start: 91, end: 181}, {start: 181, end: 90}, - {start: 85, end: 84}, {start: 84, end: 17}, {start: 17, end: 85}, - {start: 206, end: 203}, {start: 203, end: 36}, {start: 36, end: 206}, - {start: 148, end: 171}, {start: 171, end: 140}, {start: 140, end: 148}, - {start: 92, end: 40}, {start: 40, end: 39}, {start: 39, end: 92}, - {start: 193, end: 189}, {start: 189, end: 244}, {start: 244, end: 193}, - {start: 159, end: 158}, {start: 158, end: 28}, {start: 28, end: 159}, - {start: 247, end: 246}, {start: 246, end: 161}, {start: 161, end: 247}, - {start: 236, end: 3}, {start: 3, end: 196}, {start: 196, end: 236}, - {start: 54, end: 68}, {start: 68, end: 104}, {start: 104, end: 54}, - {start: 193, end: 168}, {start: 168, end: 8}, {start: 8, end: 193}, - {start: 117, end: 228}, {start: 228, end: 31}, {start: 31, end: 117}, - {start: 189, end: 193}, {start: 193, end: 55}, {start: 55, end: 189}, - {start: 98, end: 97}, {start: 97, end: 99}, {start: 99, end: 98}, - {start: 126, end: 47}, {start: 47, end: 100}, {start: 100, end: 126}, - {start: 166, end: 79}, {start: 79, end: 218}, {start: 218, end: 166}, - {start: 155, end: 154}, {start: 154, end: 26}, {start: 26, end: 155}, - {start: 209, end: 49}, {start: 49, end: 131}, {start: 131, end: 209}, - {start: 135, end: 136}, {start: 136, end: 150}, {start: 150, end: 135}, - {start: 47, end: 126}, {start: 126, end: 217}, {start: 217, end: 47}, - {start: 223, end: 52}, {start: 52, end: 53}, {start: 53, end: 223}, - {start: 45, end: 51}, {start: 51, end: 134}, {start: 134, end: 45}, - {start: 211, end: 170}, {start: 170, end: 140}, {start: 140, end: 211}, - {start: 67, end: 69}, {start: 69, end: 108}, {start: 108, end: 67}, - {start: 43, end: 106}, {start: 106, end: 91}, {start: 91, end: 43}, - {start: 230, end: 119}, {start: 119, end: 120}, {start: 120, end: 230}, - {start: 226, end: 130}, {start: 130, end: 247}, {start: 247, end: 226}, - {start: 63, end: 53}, {start: 53, end: 52}, {start: 52, end: 63}, - {start: 238, end: 20}, {start: 20, end: 242}, {start: 242, end: 238}, - {start: 46, end: 70}, {start: 70, end: 156}, {start: 156, end: 46}, - {start: 78, end: 62}, {start: 62, end: 96}, {start: 96, end: 78}, - {start: 46, end: 53}, {start: 53, end: 63}, {start: 63, end: 46}, - {start: 143, end: 34}, {start: 34, end: 227}, {start: 227, end: 143}, - {start: 123, end: 117}, {start: 117, end: 111}, {start: 111, end: 123}, - {start: 44, end: 125}, {start: 125, end: 19}, {start: 19, end: 44}, - {start: 236, end: 134}, {start: 134, end: 51}, {start: 51, end: 236}, - {start: 216, end: 206}, {start: 206, end: 205}, {start: 205, end: 216}, - {start: 154, end: 153}, {start: 153, end: 22}, {start: 22, end: 154}, - {start: 39, end: 37}, {start: 37, end: 167}, {start: 167, end: 39}, - {start: 200, end: 201}, {start: 201, end: 208}, {start: 208, end: 200}, - {start: 36, end: 142}, {start: 142, end: 100}, {start: 100, end: 36}, - {start: 57, end: 212}, {start: 212, end: 202}, {start: 202, end: 57}, - {start: 20, end: 60}, {start: 60, end: 99}, {start: 99, end: 20}, - {start: 28, end: 158}, {start: 158, end: 157}, {start: 157, end: 28}, - {start: 35, end: 226}, {start: 226, end: 113}, {start: 113, end: 35}, - {start: 160, end: 159}, {start: 159, end: 27}, {start: 27, end: 160}, - {start: 204, end: 202}, {start: 202, end: 210}, {start: 210, end: 204}, - {start: 113, end: 225}, {start: 225, end: 46}, {start: 46, end: 113}, - {start: 43, end: 202}, {start: 202, end: 204}, {start: 204, end: 43}, - {start: 62, end: 76}, {start: 76, end: 77}, {start: 77, end: 62}, - {start: 137, end: 123}, {start: 123, end: 116}, {start: 116, end: 137}, - {start: 41, end: 38}, {start: 38, end: 72}, {start: 72, end: 41}, - {start: 203, end: 129}, {start: 129, end: 142}, {start: 142, end: 203}, - {start: 64, end: 98}, {start: 98, end: 240}, {start: 240, end: 64}, - {start: 49, end: 102}, {start: 102, end: 64}, {start: 64, end: 49}, - {start: 41, end: 73}, {start: 73, end: 74}, {start: 74, end: 41}, - {start: 212, end: 216}, {start: 216, end: 207}, {start: 207, end: 212}, - {start: 42, end: 74}, {start: 74, end: 184}, {start: 184, end: 42}, - {start: 169, end: 170}, {start: 170, end: 211}, {start: 211, end: 169}, - {start: 170, end: 149}, {start: 149, end: 176}, {start: 176, end: 170}, - {start: 105, end: 66}, {start: 66, end: 69}, {start: 69, end: 105}, - {start: 122, end: 6}, {start: 6, end: 168}, {start: 168, end: 122}, - {start: 123, end: 147}, {start: 147, end: 187}, {start: 187, end: 123}, - {start: 96, end: 77}, {start: 77, end: 90}, {start: 90, end: 96}, - {start: 65, end: 55}, {start: 55, end: 107}, {start: 107, end: 65}, - {start: 89, end: 90}, {start: 90, end: 180}, {start: 180, end: 89}, - {start: 101, end: 100}, {start: 100, end: 120}, {start: 120, end: 101}, - {start: 63, end: 105}, {start: 105, end: 104}, {start: 104, end: 63}, - {start: 93, end: 137}, {start: 137, end: 227}, {start: 227, end: 93}, - {start: 15, end: 86}, {start: 86, end: 85}, {start: 85, end: 15}, - {start: 129, end: 102}, {start: 102, end: 49}, {start: 49, end: 129}, - {start: 14, end: 87}, {start: 87, end: 86}, {start: 86, end: 14}, - {start: 55, end: 8}, {start: 8, end: 9}, {start: 9, end: 55}, - {start: 100, end: 47}, {start: 47, end: 121}, {start: 121, end: 100}, - {start: 145, end: 23}, {start: 23, end: 22}, {start: 22, end: 145}, - {start: 88, end: 89}, {start: 89, end: 179}, {start: 179, end: 88}, - {start: 6, end: 122}, {start: 122, end: 196}, {start: 196, end: 6}, - {start: 88, end: 95}, {start: 95, end: 96}, {start: 96, end: 88}, - {start: 138, end: 172}, {start: 172, end: 136}, {start: 136, end: 138}, - {start: 215, end: 58}, {start: 58, end: 172}, {start: 172, end: 215}, - {start: 115, end: 48}, {start: 48, end: 219}, {start: 219, end: 115}, - {start: 42, end: 80}, {start: 80, end: 81}, {start: 81, end: 42}, - {start: 195, end: 3}, {start: 3, end: 51}, {start: 51, end: 195}, - {start: 43, end: 146}, {start: 146, end: 61}, {start: 61, end: 43}, - {start: 171, end: 175}, {start: 175, end: 199}, {start: 199, end: 171}, - {start: 81, end: 82}, {start: 82, end: 38}, {start: 38, end: 81}, - {start: 53, end: 46}, {start: 46, end: 225}, {start: 225, end: 53}, - {start: 144, end: 163}, {start: 163, end: 110}, {start: 110, end: 144}, - {start: 52, end: 65}, {start: 65, end: 66}, {start: 66, end: 52}, - {start: 229, end: 228}, {start: 228, end: 117}, {start: 117, end: 229}, - {start: 34, end: 127}, {start: 127, end: 234}, {start: 234, end: 34}, - {start: 107, end: 108}, {start: 108, end: 69}, {start: 69, end: 107}, - {start: 109, end: 108}, {start: 108, end: 151}, {start: 151, end: 109}, - {start: 48, end: 64}, {start: 64, end: 235}, {start: 235, end: 48}, - {start: 62, end: 78}, {start: 78, end: 191}, {start: 191, end: 62}, - {start: 129, end: 209}, {start: 209, end: 126}, {start: 126, end: 129}, - {start: 111, end: 35}, {start: 35, end: 143}, {start: 143, end: 111}, - {start: 117, end: 123}, {start: 123, end: 50}, {start: 50, end: 117}, - {start: 222, end: 65}, {start: 65, end: 52}, {start: 52, end: 222}, - {start: 19, end: 125}, {start: 125, end: 141}, {start: 141, end: 19}, - {start: 221, end: 55}, {start: 55, end: 65}, {start: 65, end: 221}, - {start: 3, end: 195}, {start: 195, end: 197}, {start: 197, end: 3}, - {start: 25, end: 7}, {start: 7, end: 33}, {start: 33, end: 25}, - {start: 220, end: 237}, {start: 237, end: 44}, {start: 44, end: 220}, - {start: 70, end: 71}, {start: 71, end: 139}, {start: 139, end: 70}, - {start: 122, end: 193}, {start: 193, end: 245}, {start: 245, end: 122}, - {start: 247, end: 130}, {start: 130, end: 33}, {start: 33, end: 247}, - {start: 71, end: 21}, {start: 21, end: 162}, {start: 162, end: 71}, - {start: 170, end: 169}, {start: 169, end: 150}, {start: 150, end: 170}, - {start: 188, end: 174}, {start: 174, end: 196}, {start: 196, end: 188}, - {start: 216, end: 186}, {start: 186, end: 92}, {start: 92, end: 216}, - {start: 2, end: 97}, {start: 97, end: 167}, {start: 167, end: 2}, - {start: 141, end: 125}, {start: 125, end: 241}, {start: 241, end: 141}, - {start: 164, end: 167}, {start: 167, end: 37}, {start: 37, end: 164}, - {start: 72, end: 38}, {start: 38, end: 12}, {start: 12, end: 72}, - {start: 38, end: 82}, {start: 82, end: 13}, {start: 13, end: 38}, - {start: 63, end: 68}, {start: 68, end: 71}, {start: 71, end: 63}, - {start: 226, end: 35}, {start: 35, end: 111}, {start: 111, end: 226}, - {start: 101, end: 50}, {start: 50, end: 205}, {start: 205, end: 101}, - {start: 206, end: 92}, {start: 92, end: 165}, {start: 165, end: 206}, - {start: 209, end: 198}, {start: 198, end: 217}, {start: 217, end: 209}, - {start: 165, end: 167}, {start: 167, end: 97}, {start: 97, end: 165}, - {start: 220, end: 115}, {start: 115, end: 218}, {start: 218, end: 220}, - {start: 133, end: 112}, {start: 112, end: 243}, {start: 243, end: 133}, - {start: 239, end: 238}, {start: 238, end: 241}, {start: 241, end: 239}, - {start: 214, end: 135}, {start: 135, end: 169}, {start: 169, end: 214}, - {start: 190, end: 173}, {start: 173, end: 133}, {start: 133, end: 190}, - {start: 171, end: 208}, {start: 208, end: 32}, {start: 32, end: 171}, - {start: 125, end: 44}, {start: 44, end: 237}, {start: 237, end: 125}, - {start: 86, end: 87}, {start: 87, end: 178}, {start: 178, end: 86}, - {start: 85, end: 86}, {start: 86, end: 179}, {start: 179, end: 85}, - {start: 84, end: 85}, {start: 85, end: 180}, {start: 180, end: 84}, - {start: 83, end: 84}, {start: 84, end: 181}, {start: 181, end: 83}, - {start: 201, end: 83}, {start: 83, end: 182}, {start: 182, end: 201}, - {start: 137, end: 93}, {start: 93, end: 132}, {start: 132, end: 137}, - {start: 76, end: 62}, {start: 62, end: 183}, {start: 183, end: 76}, - {start: 61, end: 76}, {start: 76, end: 184}, {start: 184, end: 61}, - {start: 57, end: 61}, {start: 61, end: 185}, {start: 185, end: 57}, - {start: 212, end: 57}, {start: 57, end: 186}, {start: 186, end: 212}, - {start: 214, end: 207}, {start: 207, end: 187}, {start: 187, end: 214}, - {start: 34, end: 143}, {start: 143, end: 156}, {start: 156, end: 34}, - {start: 79, end: 239}, {start: 239, end: 237}, {start: 237, end: 79}, - {start: 123, end: 137}, {start: 137, end: 177}, {start: 177, end: 123}, - {start: 44, end: 1}, {start: 1, end: 4}, {start: 4, end: 44}, - {start: 201, end: 194}, {start: 194, end: 32}, {start: 32, end: 201}, - {start: 64, end: 102}, {start: 102, end: 129}, {start: 129, end: 64}, - {start: 213, end: 215}, {start: 215, end: 138}, {start: 138, end: 213}, - {start: 59, end: 166}, {start: 166, end: 219}, {start: 219, end: 59}, - {start: 242, end: 99}, {start: 99, end: 97}, {start: 97, end: 242}, - {start: 2, end: 94}, {start: 94, end: 141}, {start: 141, end: 2}, - {start: 75, end: 59}, {start: 59, end: 235}, {start: 235, end: 75}, - {start: 24, end: 110}, {start: 110, end: 228}, {start: 228, end: 24}, - {start: 25, end: 130}, {start: 130, end: 226}, {start: 226, end: 25}, - {start: 23, end: 24}, {start: 24, end: 229}, {start: 229, end: 23}, - {start: 22, end: 23}, {start: 23, end: 230}, {start: 230, end: 22}, - {start: 26, end: 22}, {start: 22, end: 231}, {start: 231, end: 26}, - {start: 112, end: 26}, {start: 26, end: 232}, {start: 232, end: 112}, - {start: 189, end: 190}, {start: 190, end: 243}, {start: 243, end: 189}, - {start: 221, end: 56}, {start: 56, end: 190}, {start: 190, end: 221}, - {start: 28, end: 56}, {start: 56, end: 221}, {start: 221, end: 28}, - {start: 27, end: 28}, {start: 28, end: 222}, {start: 222, end: 27}, - {start: 29, end: 27}, {start: 27, end: 223}, {start: 223, end: 29}, - {start: 30, end: 29}, {start: 29, end: 224}, {start: 224, end: 30}, - {start: 247, end: 30}, {start: 30, end: 225}, {start: 225, end: 247}, - {start: 238, end: 79}, {start: 79, end: 20}, {start: 20, end: 238}, - {start: 166, end: 59}, {start: 59, end: 75}, {start: 75, end: 166}, - {start: 60, end: 75}, {start: 75, end: 240}, {start: 240, end: 60}, - {start: 147, end: 177}, {start: 177, end: 215}, {start: 215, end: 147}, - {start: 20, end: 79}, {start: 79, end: 166}, {start: 166, end: 20}, - {start: 187, end: 147}, {start: 147, end: 213}, {start: 213, end: 187}, - {start: 112, end: 233}, {start: 233, end: 244}, {start: 244, end: 112}, - {start: 233, end: 128}, {start: 128, end: 245}, {start: 245, end: 233}, - {start: 128, end: 114}, {start: 114, end: 188}, {start: 188, end: 128}, - {start: 114, end: 217}, {start: 217, end: 174}, {start: 174, end: 114}, - {start: 131, end: 115}, {start: 115, end: 220}, {start: 220, end: 131}, - {start: 217, end: 198}, {start: 198, end: 236}, {start: 236, end: 217}, - {start: 198, end: 131}, {start: 131, end: 134}, {start: 134, end: 198}, - {start: 177, end: 132}, {start: 132, end: 58}, {start: 58, end: 177}, - {start: 143, end: 35}, {start: 35, end: 124}, {start: 124, end: 143}, - {start: 110, end: 163}, {start: 163, end: 7}, {start: 7, end: 110}, - {start: 228, end: 110}, {start: 110, end: 25}, {start: 25, end: 228}, - {start: 356, end: 389}, {start: 389, end: 368}, {start: 368, end: 356}, - {start: 11, end: 302}, {start: 302, end: 267}, {start: 267, end: 11}, - {start: 452, end: 350}, {start: 350, end: 349}, {start: 349, end: 452}, - {start: 302, end: 303}, {start: 303, end: 269}, {start: 269, end: 302}, - {start: 357, end: 343}, {start: 343, end: 277}, {start: 277, end: 357}, - {start: 452, end: 453}, {start: 453, end: 357}, {start: 357, end: 452}, - {start: 333, end: 332}, {start: 332, end: 297}, {start: 297, end: 333}, - {start: 175, end: 152}, {start: 152, end: 377}, {start: 377, end: 175}, - {start: 347, end: 348}, {start: 348, end: 330}, {start: 330, end: 347}, - {start: 303, end: 304}, {start: 304, end: 270}, {start: 270, end: 303}, - {start: 9, end: 336}, {start: 336, end: 337}, {start: 337, end: 9}, - {start: 278, end: 279}, {start: 279, end: 360}, {start: 360, end: 278}, - {start: 418, end: 262}, {start: 262, end: 431}, {start: 431, end: 418}, - {start: 304, end: 408}, {start: 408, end: 409}, {start: 409, end: 304}, - {start: 310, end: 415}, {start: 415, end: 407}, {start: 407, end: 310}, - {start: 270, end: 409}, {start: 409, end: 410}, {start: 410, end: 270}, - {start: 450, end: 348}, {start: 348, end: 347}, {start: 347, end: 450}, - {start: 422, end: 430}, {start: 430, end: 434}, {start: 434, end: 422}, - {start: 313, end: 314}, {start: 314, end: 17}, {start: 17, end: 313}, - {start: 306, end: 307}, {start: 307, end: 375}, {start: 375, end: 306}, - {start: 387, end: 388}, {start: 388, end: 260}, {start: 260, end: 387}, - {start: 286, end: 414}, {start: 414, end: 398}, {start: 398, end: 286}, - {start: 335, end: 406}, {start: 406, end: 418}, {start: 418, end: 335}, - {start: 364, end: 367}, {start: 367, end: 416}, {start: 416, end: 364}, - {start: 423, end: 358}, {start: 358, end: 327}, {start: 327, end: 423}, - {start: 251, end: 284}, {start: 284, end: 298}, {start: 298, end: 251}, - {start: 281, end: 5}, {start: 5, end: 4}, {start: 4, end: 281}, - {start: 373, end: 374}, {start: 374, end: 253}, {start: 253, end: 373}, - {start: 307, end: 320}, {start: 320, end: 321}, {start: 321, end: 307}, - {start: 425, end: 427}, {start: 427, end: 411}, {start: 411, end: 425}, - {start: 421, end: 313}, {start: 313, end: 18}, {start: 18, end: 421}, - {start: 321, end: 405}, {start: 405, end: 406}, {start: 406, end: 321}, - {start: 320, end: 404}, {start: 404, end: 405}, {start: 405, end: 320}, - {start: 315, end: 16}, {start: 16, end: 17}, {start: 17, end: 315}, - {start: 426, end: 425}, {start: 425, end: 266}, {start: 266, end: 426}, - {start: 377, end: 400}, {start: 400, end: 369}, {start: 369, end: 377}, - {start: 322, end: 391}, {start: 391, end: 269}, {start: 269, end: 322}, - {start: 417, end: 465}, {start: 465, end: 464}, {start: 464, end: 417}, - {start: 386, end: 257}, {start: 257, end: 258}, {start: 258, end: 386}, - {start: 466, end: 260}, {start: 260, end: 388}, {start: 388, end: 466}, - {start: 456, end: 399}, {start: 399, end: 419}, {start: 419, end: 456}, - {start: 284, end: 332}, {start: 332, end: 333}, {start: 333, end: 284}, - {start: 417, end: 285}, {start: 285, end: 8}, {start: 8, end: 417}, - {start: 346, end: 340}, {start: 340, end: 261}, {start: 261, end: 346}, - {start: 413, end: 441}, {start: 441, end: 285}, {start: 285, end: 413}, - {start: 327, end: 460}, {start: 460, end: 328}, {start: 328, end: 327}, - {start: 355, end: 371}, {start: 371, end: 329}, {start: 329, end: 355}, - {start: 392, end: 439}, {start: 439, end: 438}, {start: 438, end: 392}, - {start: 382, end: 341}, {start: 341, end: 256}, {start: 256, end: 382}, - {start: 429, end: 420}, {start: 420, end: 360}, {start: 360, end: 429}, - {start: 364, end: 394}, {start: 394, end: 379}, {start: 379, end: 364}, - {start: 277, end: 343}, {start: 343, end: 437}, {start: 437, end: 277}, - {start: 443, end: 444}, {start: 444, end: 283}, {start: 283, end: 443}, - {start: 275, end: 440}, {start: 440, end: 363}, {start: 363, end: 275}, - {start: 431, end: 262}, {start: 262, end: 369}, {start: 369, end: 431}, - {start: 297, end: 338}, {start: 338, end: 337}, {start: 337, end: 297}, - {start: 273, end: 375}, {start: 375, end: 321}, {start: 321, end: 273}, - {start: 450, end: 451}, {start: 451, end: 349}, {start: 349, end: 450}, - {start: 446, end: 342}, {start: 342, end: 467}, {start: 467, end: 446}, - {start: 293, end: 334}, {start: 334, end: 282}, {start: 282, end: 293}, - {start: 458, end: 461}, {start: 461, end: 462}, {start: 462, end: 458}, - {start: 276, end: 353}, {start: 353, end: 383}, {start: 383, end: 276}, - {start: 308, end: 324}, {start: 324, end: 325}, {start: 325, end: 308}, - {start: 276, end: 300}, {start: 300, end: 293}, {start: 293, end: 276}, - {start: 372, end: 345}, {start: 345, end: 447}, {start: 447, end: 372}, - {start: 352, end: 345}, {start: 345, end: 340}, {start: 340, end: 352}, - {start: 274, end: 1}, {start: 1, end: 19}, {start: 19, end: 274}, - {start: 456, end: 248}, {start: 248, end: 281}, {start: 281, end: 456}, - {start: 436, end: 427}, {start: 427, end: 425}, {start: 425, end: 436}, - {start: 381, end: 256}, {start: 256, end: 252}, {start: 252, end: 381}, - {start: 269, end: 391}, {start: 391, end: 393}, {start: 393, end: 269}, - {start: 200, end: 199}, {start: 199, end: 428}, {start: 428, end: 200}, - {start: 266, end: 330}, {start: 330, end: 329}, {start: 329, end: 266}, - {start: 287, end: 273}, {start: 273, end: 422}, {start: 422, end: 287}, - {start: 250, end: 462}, {start: 462, end: 328}, {start: 328, end: 250}, - {start: 258, end: 286}, {start: 286, end: 384}, {start: 384, end: 258}, - {start: 265, end: 353}, {start: 353, end: 342}, {start: 342, end: 265}, - {start: 387, end: 259}, {start: 259, end: 257}, {start: 257, end: 387}, - {start: 424, end: 431}, {start: 431, end: 430}, {start: 430, end: 424}, - {start: 342, end: 353}, {start: 353, end: 276}, {start: 276, end: 342}, - {start: 273, end: 335}, {start: 335, end: 424}, {start: 424, end: 273}, - {start: 292, end: 325}, {start: 325, end: 307}, {start: 307, end: 292}, - {start: 366, end: 447}, {start: 447, end: 345}, {start: 345, end: 366}, - {start: 271, end: 303}, {start: 303, end: 302}, {start: 302, end: 271}, - {start: 423, end: 266}, {start: 266, end: 371}, {start: 371, end: 423}, - {start: 294, end: 455}, {start: 455, end: 460}, {start: 460, end: 294}, - {start: 279, end: 278}, {start: 278, end: 294}, {start: 294, end: 279}, - {start: 271, end: 272}, {start: 272, end: 304}, {start: 304, end: 271}, - {start: 432, end: 434}, {start: 434, end: 427}, {start: 427, end: 432}, - {start: 272, end: 407}, {start: 407, end: 408}, {start: 408, end: 272}, - {start: 394, end: 430}, {start: 430, end: 431}, {start: 431, end: 394}, - {start: 395, end: 369}, {start: 369, end: 400}, {start: 400, end: 395}, - {start: 334, end: 333}, {start: 333, end: 299}, {start: 299, end: 334}, - {start: 351, end: 417}, {start: 417, end: 168}, {start: 168, end: 351}, - {start: 352, end: 280}, {start: 280, end: 411}, {start: 411, end: 352}, - {start: 325, end: 319}, {start: 319, end: 320}, {start: 320, end: 325}, - {start: 295, end: 296}, {start: 296, end: 336}, {start: 336, end: 295}, - {start: 319, end: 403}, {start: 403, end: 404}, {start: 404, end: 319}, - {start: 330, end: 348}, {start: 348, end: 349}, {start: 349, end: 330}, - {start: 293, end: 298}, {start: 298, end: 333}, {start: 333, end: 293}, - {start: 323, end: 454}, {start: 454, end: 447}, {start: 447, end: 323}, - {start: 15, end: 16}, {start: 16, end: 315}, {start: 315, end: 15}, - {start: 358, end: 429}, {start: 429, end: 279}, {start: 279, end: 358}, - {start: 14, end: 15}, {start: 15, end: 316}, {start: 316, end: 14}, - {start: 285, end: 336}, {start: 336, end: 9}, {start: 9, end: 285}, - {start: 329, end: 349}, {start: 349, end: 350}, {start: 350, end: 329}, - {start: 374, end: 380}, {start: 380, end: 252}, {start: 252, end: 374}, - {start: 318, end: 402}, {start: 402, end: 403}, {start: 403, end: 318}, - {start: 6, end: 197}, {start: 197, end: 419}, {start: 419, end: 6}, - {start: 318, end: 319}, {start: 319, end: 325}, {start: 325, end: 318}, - {start: 367, end: 364}, {start: 364, end: 365}, {start: 365, end: 367}, - {start: 435, end: 367}, {start: 367, end: 397}, {start: 397, end: 435}, - {start: 344, end: 438}, {start: 438, end: 439}, {start: 439, end: 344}, - {start: 272, end: 271}, {start: 271, end: 311}, {start: 311, end: 272}, - {start: 195, end: 5}, {start: 5, end: 281}, {start: 281, end: 195}, - {start: 273, end: 287}, {start: 287, end: 291}, {start: 291, end: 273}, - {start: 396, end: 428}, {start: 428, end: 199}, {start: 199, end: 396}, - {start: 311, end: 271}, {start: 271, end: 268}, {start: 268, end: 311}, - {start: 283, end: 444}, {start: 444, end: 445}, {start: 445, end: 283}, - {start: 373, end: 254}, {start: 254, end: 339}, {start: 339, end: 373}, - {start: 282, end: 334}, {start: 334, end: 296}, {start: 296, end: 282}, - {start: 449, end: 347}, {start: 347, end: 346}, {start: 346, end: 449}, - {start: 264, end: 447}, {start: 447, end: 454}, {start: 454, end: 264}, - {start: 336, end: 296}, {start: 296, end: 299}, {start: 299, end: 336}, - {start: 338, end: 10}, {start: 10, end: 151}, {start: 151, end: 338}, - {start: 278, end: 439}, {start: 439, end: 455}, {start: 455, end: 278}, - {start: 292, end: 407}, {start: 407, end: 415}, {start: 415, end: 292}, - {start: 358, end: 371}, {start: 371, end: 355}, {start: 355, end: 358}, - {start: 340, end: 345}, {start: 345, end: 372}, {start: 372, end: 340}, - {start: 346, end: 347}, {start: 347, end: 280}, {start: 280, end: 346}, - {start: 442, end: 443}, {start: 443, end: 282}, {start: 282, end: 442}, - {start: 19, end: 94}, {start: 94, end: 370}, {start: 370, end: 19}, - {start: 441, end: 442}, {start: 442, end: 295}, {start: 295, end: 441}, - {start: 248, end: 419}, {start: 419, end: 197}, {start: 197, end: 248}, - {start: 263, end: 255}, {start: 255, end: 359}, {start: 359, end: 263}, - {start: 440, end: 275}, {start: 275, end: 274}, {start: 274, end: 440}, - {start: 300, end: 383}, {start: 383, end: 368}, {start: 368, end: 300}, - {start: 351, end: 412}, {start: 412, end: 465}, {start: 465, end: 351}, - {start: 263, end: 467}, {start: 467, end: 466}, {start: 466, end: 263}, - {start: 301, end: 368}, {start: 368, end: 389}, {start: 389, end: 301}, - {start: 395, end: 378}, {start: 378, end: 379}, {start: 379, end: 395}, - {start: 412, end: 351}, {start: 351, end: 419}, {start: 419, end: 412}, - {start: 436, end: 426}, {start: 426, end: 322}, {start: 322, end: 436}, - {start: 2, end: 164}, {start: 164, end: 393}, {start: 393, end: 2}, - {start: 370, end: 462}, {start: 462, end: 461}, {start: 461, end: 370}, - {start: 164, end: 0}, {start: 0, end: 267}, {start: 267, end: 164}, - {start: 302, end: 11}, {start: 11, end: 12}, {start: 12, end: 302}, - {start: 268, end: 12}, {start: 12, end: 13}, {start: 13, end: 268}, - {start: 293, end: 300}, {start: 300, end: 301}, {start: 301, end: 293}, - {start: 446, end: 261}, {start: 261, end: 340}, {start: 340, end: 446}, - {start: 330, end: 266}, {start: 266, end: 425}, {start: 425, end: 330}, - {start: 426, end: 423}, {start: 423, end: 391}, {start: 391, end: 426}, - {start: 429, end: 355}, {start: 355, end: 437}, {start: 437, end: 429}, - {start: 391, end: 327}, {start: 327, end: 326}, {start: 326, end: 391}, - {start: 440, end: 457}, {start: 457, end: 438}, {start: 438, end: 440}, - {start: 341, end: 382}, {start: 382, end: 362}, {start: 362, end: 341}, - {start: 459, end: 457}, {start: 457, end: 461}, {start: 461, end: 459}, - {start: 434, end: 430}, {start: 430, end: 394}, {start: 394, end: 434}, - {start: 414, end: 463}, {start: 463, end: 362}, {start: 362, end: 414}, - {start: 396, end: 369}, {start: 369, end: 262}, {start: 262, end: 396}, - {start: 354, end: 461}, {start: 461, end: 457}, {start: 457, end: 354}, - {start: 316, end: 403}, {start: 403, end: 402}, {start: 402, end: 316}, - {start: 315, end: 404}, {start: 404, end: 403}, {start: 403, end: 315}, - {start: 314, end: 405}, {start: 405, end: 404}, {start: 404, end: 314}, - {start: 313, end: 406}, {start: 406, end: 405}, {start: 405, end: 313}, - {start: 421, end: 418}, {start: 418, end: 406}, {start: 406, end: 421}, - {start: 366, end: 401}, {start: 401, end: 361}, {start: 361, end: 366}, - {start: 306, end: 408}, {start: 408, end: 407}, {start: 407, end: 306}, - {start: 291, end: 409}, {start: 409, end: 408}, {start: 408, end: 291}, - {start: 287, end: 410}, {start: 410, end: 409}, {start: 409, end: 287}, - {start: 432, end: 436}, {start: 436, end: 410}, {start: 410, end: 432}, - {start: 434, end: 416}, {start: 416, end: 411}, {start: 411, end: 434}, - {start: 264, end: 368}, {start: 368, end: 383}, {start: 383, end: 264}, - {start: 309, end: 438}, {start: 438, end: 457}, {start: 457, end: 309}, - {start: 352, end: 376}, {start: 376, end: 401}, {start: 401, end: 352}, - {start: 274, end: 275}, {start: 275, end: 4}, {start: 4, end: 274}, - {start: 421, end: 428}, {start: 428, end: 262}, {start: 262, end: 421}, - {start: 294, end: 327}, {start: 327, end: 358}, {start: 358, end: 294}, - {start: 433, end: 416}, {start: 416, end: 367}, {start: 367, end: 433}, - {start: 289, end: 455}, {start: 455, end: 439}, {start: 439, end: 289}, - {start: 462, end: 370}, {start: 370, end: 326}, {start: 326, end: 462}, - {start: 2, end: 326}, {start: 326, end: 370}, {start: 370, end: 2}, - {start: 305, end: 460}, {start: 460, end: 455}, {start: 455, end: 305}, - {start: 254, end: 449}, {start: 449, end: 448}, {start: 448, end: 254}, - {start: 255, end: 261}, {start: 261, end: 446}, {start: 446, end: 255}, - {start: 253, end: 450}, {start: 450, end: 449}, {start: 449, end: 253}, - {start: 252, end: 451}, {start: 451, end: 450}, {start: 450, end: 252}, - {start: 256, end: 452}, {start: 452, end: 451}, {start: 451, end: 256}, - {start: 341, end: 453}, {start: 453, end: 452}, {start: 452, end: 341}, - {start: 413, end: 464}, {start: 464, end: 463}, {start: 463, end: 413}, - {start: 441, end: 413}, {start: 413, end: 414}, {start: 414, end: 441}, - {start: 258, end: 442}, {start: 442, end: 441}, {start: 441, end: 258}, - {start: 257, end: 443}, {start: 443, end: 442}, {start: 442, end: 257}, - {start: 259, end: 444}, {start: 444, end: 443}, {start: 443, end: 259}, - {start: 260, end: 445}, {start: 445, end: 444}, {start: 444, end: 260}, - {start: 467, end: 342}, {start: 342, end: 445}, {start: 445, end: 467}, - {start: 459, end: 458}, {start: 458, end: 250}, {start: 250, end: 459}, - {start: 289, end: 392}, {start: 392, end: 290}, {start: 290, end: 289}, - {start: 290, end: 328}, {start: 328, end: 460}, {start: 460, end: 290}, - {start: 376, end: 433}, {start: 433, end: 435}, {start: 435, end: 376}, - {start: 250, end: 290}, {start: 290, end: 392}, {start: 392, end: 250}, - {start: 411, end: 416}, {start: 416, end: 433}, {start: 433, end: 411}, - {start: 341, end: 463}, {start: 463, end: 464}, {start: 464, end: 341}, - {start: 453, end: 464}, {start: 464, end: 465}, {start: 465, end: 453}, - {start: 357, end: 465}, {start: 465, end: 412}, {start: 412, end: 357}, - {start: 343, end: 412}, {start: 412, end: 399}, {start: 399, end: 343}, - {start: 360, end: 363}, {start: 363, end: 440}, {start: 440, end: 360}, - {start: 437, end: 399}, {start: 399, end: 456}, {start: 456, end: 437}, - {start: 420, end: 456}, {start: 456, end: 363}, {start: 363, end: 420}, - {start: 401, end: 435}, {start: 435, end: 288}, {start: 288, end: 401}, - {start: 372, end: 383}, {start: 383, end: 353}, {start: 353, end: 372}, - {start: 339, end: 255}, {start: 255, end: 249}, {start: 249, end: 339}, - {start: 448, end: 261}, {start: 261, end: 255}, {start: 255, end: 448}, - {start: 133, end: 243}, {start: 243, end: 190}, {start: 190, end: 133}, - {start: 133, end: 155}, {start: 155, end: 112}, {start: 112, end: 133}, - {start: 33, end: 246}, {start: 246, end: 247}, {start: 247, end: 33}, - {start: 33, end: 130}, {start: 130, end: 25}, {start: 25, end: 33}, - {start: 398, end: 384}, {start: 384, end: 286}, {start: 286, end: 398}, - {start: 362, end: 398}, {start: 398, end: 414}, {start: 414, end: 362}, - {start: 362, end: 463}, {start: 463, end: 341}, {start: 341, end: 362}, - {start: 263, end: 359}, {start: 359, end: 467}, {start: 467, end: 263}, - {start: 263, end: 249}, {start: 249, end: 255}, {start: 255, end: 263}, - {start: 466, end: 467}, {start: 467, end: 260}, {start: 260, end: 466}, - {start: 75, end: 60}, {start: 60, end: 166}, {start: 166, end: 75}, - {start: 238, end: 239}, {start: 239, end: 79}, {start: 79, end: 238}, - {start: 162, end: 127}, {start: 127, end: 139}, {start: 139, end: 162}, - {start: 72, end: 11}, {start: 11, end: 37}, {start: 37, end: 72}, - {start: 121, end: 232}, {start: 232, end: 120}, {start: 120, end: 121}, - {start: 73, end: 72}, {start: 72, end: 39}, {start: 39, end: 73}, - {start: 114, end: 128}, {start: 128, end: 47}, {start: 47, end: 114}, - {start: 233, end: 232}, {start: 232, end: 128}, {start: 128, end: 233}, - {start: 103, end: 104}, {start: 104, end: 67}, {start: 67, end: 103}, - {start: 152, end: 175}, {start: 175, end: 148}, {start: 148, end: 152}, - {start: 119, end: 118}, {start: 118, end: 101}, {start: 101, end: 119}, - {start: 74, end: 73}, {start: 73, end: 40}, {start: 40, end: 74}, - {start: 107, end: 9}, {start: 9, end: 108}, {start: 108, end: 107}, - {start: 49, end: 48}, {start: 48, end: 131}, {start: 131, end: 49}, - {start: 32, end: 194}, {start: 194, end: 211}, {start: 211, end: 32}, - {start: 184, end: 74}, {start: 74, end: 185}, {start: 185, end: 184}, - {start: 191, end: 80}, {start: 80, end: 183}, {start: 183, end: 191}, - {start: 185, end: 40}, {start: 40, end: 186}, {start: 186, end: 185}, - {start: 119, end: 230}, {start: 230, end: 118}, {start: 118, end: 119}, - {start: 210, end: 202}, {start: 202, end: 214}, {start: 214, end: 210}, - {start: 84, end: 83}, {start: 83, end: 17}, {start: 17, end: 84}, - {start: 77, end: 76}, {start: 76, end: 146}, {start: 146, end: 77}, - {start: 161, end: 160}, {start: 160, end: 30}, {start: 30, end: 161}, - {start: 190, end: 56}, {start: 56, end: 173}, {start: 173, end: 190}, - {start: 182, end: 106}, {start: 106, end: 194}, {start: 194, end: 182}, - {start: 138, end: 135}, {start: 135, end: 192}, {start: 192, end: 138}, - {start: 129, end: 203}, {start: 203, end: 98}, {start: 98, end: 129}, - {start: 54, end: 21}, {start: 21, end: 68}, {start: 68, end: 54}, - {start: 5, end: 51}, {start: 51, end: 4}, {start: 4, end: 5}, - {start: 145, end: 144}, {start: 144, end: 23}, {start: 23, end: 145}, - {start: 90, end: 77}, {start: 77, end: 91}, {start: 91, end: 90}, - {start: 207, end: 205}, {start: 205, end: 187}, {start: 187, end: 207}, - {start: 83, end: 201}, {start: 201, end: 18}, {start: 18, end: 83}, - {start: 181, end: 91}, {start: 91, end: 182}, {start: 182, end: 181}, - {start: 180, end: 90}, {start: 90, end: 181}, {start: 181, end: 180}, - {start: 16, end: 85}, {start: 85, end: 17}, {start: 17, end: 16}, - {start: 205, end: 206}, {start: 206, end: 36}, {start: 36, end: 205}, - {start: 176, end: 148}, {start: 148, end: 140}, {start: 140, end: 176}, - {start: 165, end: 92}, {start: 92, end: 39}, {start: 39, end: 165}, - {start: 245, end: 193}, {start: 193, end: 244}, {start: 244, end: 245}, - {start: 27, end: 159}, {start: 159, end: 28}, {start: 28, end: 27}, - {start: 30, end: 247}, {start: 247, end: 161}, {start: 161, end: 30}, - {start: 174, end: 236}, {start: 236, end: 196}, {start: 196, end: 174}, - {start: 103, end: 54}, {start: 54, end: 104}, {start: 104, end: 103}, - {start: 55, end: 193}, {start: 193, end: 8}, {start: 8, end: 55}, - {start: 111, end: 117}, {start: 117, end: 31}, {start: 31, end: 111}, - {start: 221, end: 189}, {start: 189, end: 55}, {start: 55, end: 221}, - {start: 240, end: 98}, {start: 98, end: 99}, {start: 99, end: 240}, - {start: 142, end: 126}, {start: 126, end: 100}, {start: 100, end: 142}, - {start: 219, end: 166}, {start: 166, end: 218}, {start: 218, end: 219}, - {start: 112, end: 155}, {start: 155, end: 26}, {start: 26, end: 112}, - {start: 198, end: 209}, {start: 209, end: 131}, {start: 131, end: 198}, - {start: 169, end: 135}, {start: 135, end: 150}, {start: 150, end: 169}, - {start: 114, end: 47}, {start: 47, end: 217}, {start: 217, end: 114}, - {start: 224, end: 223}, {start: 223, end: 53}, {start: 53, end: 224}, - {start: 220, end: 45}, {start: 45, end: 134}, {start: 134, end: 220}, - {start: 32, end: 211}, {start: 211, end: 140}, {start: 140, end: 32}, - {start: 109, end: 67}, {start: 67, end: 108}, {start: 108, end: 109}, - {start: 146, end: 43}, {start: 43, end: 91}, {start: 91, end: 146}, - {start: 231, end: 230}, {start: 230, end: 120}, {start: 120, end: 231}, - {start: 113, end: 226}, {start: 226, end: 247}, {start: 247, end: 113}, - {start: 105, end: 63}, {start: 63, end: 52}, {start: 52, end: 105}, - {start: 241, end: 238}, {start: 238, end: 242}, {start: 242, end: 241}, - {start: 124, end: 46}, {start: 46, end: 156}, {start: 156, end: 124}, - {start: 95, end: 78}, {start: 78, end: 96}, {start: 96, end: 95}, - {start: 70, end: 46}, {start: 46, end: 63}, {start: 63, end: 70}, - {start: 116, end: 143}, {start: 143, end: 227}, {start: 227, end: 116}, - {start: 116, end: 123}, {start: 123, end: 111}, {start: 111, end: 116}, - {start: 1, end: 44}, {start: 44, end: 19}, {start: 19, end: 1}, - {start: 3, end: 236}, {start: 236, end: 51}, {start: 51, end: 3}, - {start: 207, end: 216}, {start: 216, end: 205}, {start: 205, end: 207}, - {start: 26, end: 154}, {start: 154, end: 22}, {start: 22, end: 26}, - {start: 165, end: 39}, {start: 39, end: 167}, {start: 167, end: 165}, - {start: 199, end: 200}, {start: 200, end: 208}, {start: 208, end: 199}, - {start: 101, end: 36}, {start: 36, end: 100}, {start: 100, end: 101}, - {start: 43, end: 57}, {start: 57, end: 202}, {start: 202, end: 43}, - {start: 242, end: 20}, {start: 20, end: 99}, {start: 99, end: 242}, - {start: 56, end: 28}, {start: 28, end: 157}, {start: 157, end: 56}, - {start: 124, end: 35}, {start: 35, end: 113}, {start: 113, end: 124}, - {start: 29, end: 160}, {start: 160, end: 27}, {start: 27, end: 29}, - {start: 211, end: 204}, {start: 204, end: 210}, {start: 210, end: 211}, - {start: 124, end: 113}, {start: 113, end: 46}, {start: 46, end: 124}, - {start: 106, end: 43}, {start: 43, end: 204}, {start: 204, end: 106}, - {start: 96, end: 62}, {start: 62, end: 77}, {start: 77, end: 96}, - {start: 227, end: 137}, {start: 137, end: 116}, {start: 116, end: 227}, - {start: 73, end: 41}, {start: 41, end: 72}, {start: 72, end: 73}, - {start: 36, end: 203}, {start: 203, end: 142}, {start: 142, end: 36}, - {start: 235, end: 64}, {start: 64, end: 240}, {start: 240, end: 235}, - {start: 48, end: 49}, {start: 49, end: 64}, {start: 64, end: 48}, - {start: 42, end: 41}, {start: 41, end: 74}, {start: 74, end: 42}, - {start: 214, end: 212}, {start: 212, end: 207}, {start: 207, end: 214}, - {start: 183, end: 42}, {start: 42, end: 184}, {start: 184, end: 183}, - {start: 210, end: 169}, {start: 169, end: 211}, {start: 211, end: 210}, - {start: 140, end: 170}, {start: 170, end: 176}, {start: 176, end: 140}, - {start: 104, end: 105}, {start: 105, end: 69}, {start: 69, end: 104}, - {start: 193, end: 122}, {start: 122, end: 168}, {start: 168, end: 193}, - {start: 50, end: 123}, {start: 123, end: 187}, {start: 187, end: 50}, - {start: 89, end: 96}, {start: 96, end: 90}, {start: 90, end: 89}, - {start: 66, end: 65}, {start: 65, end: 107}, {start: 107, end: 66}, - {start: 179, end: 89}, {start: 89, end: 180}, {start: 180, end: 179}, - {start: 119, end: 101}, {start: 101, end: 120}, {start: 120, end: 119}, - {start: 68, end: 63}, {start: 63, end: 104}, {start: 104, end: 68}, - {start: 234, end: 93}, {start: 93, end: 227}, {start: 227, end: 234}, - {start: 16, end: 15}, {start: 15, end: 85}, {start: 85, end: 16}, - {start: 209, end: 129}, {start: 129, end: 49}, {start: 49, end: 209}, - {start: 15, end: 14}, {start: 14, end: 86}, {start: 86, end: 15}, - {start: 107, end: 55}, {start: 55, end: 9}, {start: 9, end: 107}, - {start: 120, end: 100}, {start: 100, end: 121}, {start: 121, end: 120}, - {start: 153, end: 145}, {start: 145, end: 22}, {start: 22, end: 153}, - {start: 178, end: 88}, {start: 88, end: 179}, {start: 179, end: 178}, - {start: 197, end: 6}, {start: 6, end: 196}, {start: 196, end: 197}, - {start: 89, end: 88}, {start: 88, end: 96}, {start: 96, end: 89}, - {start: 135, end: 138}, {start: 138, end: 136}, {start: 136, end: 135}, - {start: 138, end: 215}, {start: 215, end: 172}, {start: 172, end: 138}, - {start: 218, end: 115}, {start: 115, end: 219}, {start: 219, end: 218}, - {start: 41, end: 42}, {start: 42, end: 81}, {start: 81, end: 41}, - {start: 5, end: 195}, {start: 195, end: 51}, {start: 51, end: 5}, - {start: 57, end: 43}, {start: 43, end: 61}, {start: 61, end: 57}, - {start: 208, end: 171}, {start: 171, end: 199}, {start: 199, end: 208}, - {start: 41, end: 81}, {start: 81, end: 38}, {start: 38, end: 41}, - {start: 224, end: 53}, {start: 53, end: 225}, {start: 225, end: 224}, - {start: 24, end: 144}, {start: 144, end: 110}, {start: 110, end: 24}, - {start: 105, end: 52}, {start: 52, end: 66}, {start: 66, end: 105}, - {start: 118, end: 229}, {start: 229, end: 117}, {start: 117, end: 118}, - {start: 227, end: 34}, {start: 34, end: 234}, {start: 234, end: 227}, - {start: 66, end: 107}, {start: 107, end: 69}, {start: 69, end: 66}, - {start: 10, end: 109}, {start: 109, end: 151}, {start: 151, end: 10}, - {start: 219, end: 48}, {start: 48, end: 235}, {start: 235, end: 219}, - {start: 183, end: 62}, {start: 62, end: 191}, {start: 191, end: 183}, - {start: 142, end: 129}, {start: 129, end: 126}, {start: 126, end: 142}, - {start: 116, end: 111}, {start: 111, end: 143}, {start: 143, end: 116}, - {start: 118, end: 117}, {start: 117, end: 50}, {start: 50, end: 118}, - {start: 223, end: 222}, {start: 222, end: 52}, {start: 52, end: 223}, - {start: 94, end: 19}, {start: 19, end: 141}, {start: 141, end: 94}, - {start: 222, end: 221}, {start: 221, end: 65}, {start: 65, end: 222}, - {start: 196, end: 3}, {start: 3, end: 197}, {start: 197, end: 196}, - {start: 45, end: 220}, {start: 220, end: 44}, {start: 44, end: 45}, - {start: 156, end: 70}, {start: 70, end: 139}, {start: 139, end: 156}, - {start: 188, end: 122}, {start: 122, end: 245}, {start: 245, end: 188}, - {start: 139, end: 71}, {start: 71, end: 162}, {start: 162, end: 139}, - {start: 149, end: 170}, {start: 170, end: 150}, {start: 150, end: 149}, - {start: 122, end: 188}, {start: 188, end: 196}, {start: 196, end: 122}, - {start: 206, end: 216}, {start: 216, end: 92}, {start: 92, end: 206}, - {start: 164, end: 2}, {start: 2, end: 167}, {start: 167, end: 164}, - {start: 242, end: 141}, {start: 141, end: 241}, {start: 241, end: 242}, - {start: 0, end: 164}, {start: 164, end: 37}, {start: 37, end: 0}, - {start: 11, end: 72}, {start: 72, end: 12}, {start: 12, end: 11}, - {start: 12, end: 38}, {start: 38, end: 13}, {start: 13, end: 12}, - {start: 70, end: 63}, {start: 63, end: 71}, {start: 71, end: 70}, - {start: 31, end: 226}, {start: 226, end: 111}, {start: 111, end: 31}, - {start: 36, end: 101}, {start: 101, end: 205}, {start: 205, end: 36}, - {start: 203, end: 206}, {start: 206, end: 165}, {start: 165, end: 203}, - {start: 126, end: 209}, {start: 209, end: 217}, {start: 217, end: 126}, - {start: 98, end: 165}, {start: 165, end: 97}, {start: 97, end: 98}, - {start: 237, end: 220}, {start: 220, end: 218}, {start: 218, end: 237}, - {start: 237, end: 239}, {start: 239, end: 241}, {start: 241, end: 237}, - {start: 210, end: 214}, {start: 214, end: 169}, {start: 169, end: 210}, - {start: 140, end: 171}, {start: 171, end: 32}, {start: 32, end: 140}, - {start: 241, end: 125}, {start: 125, end: 237}, {start: 237, end: 241}, - {start: 179, end: 86}, {start: 86, end: 178}, {start: 178, end: 179}, - {start: 180, end: 85}, {start: 85, end: 179}, {start: 179, end: 180}, - {start: 181, end: 84}, {start: 84, end: 180}, {start: 180, end: 181}, - {start: 182, end: 83}, {start: 83, end: 181}, {start: 181, end: 182}, - {start: 194, end: 201}, {start: 201, end: 182}, {start: 182, end: 194}, - {start: 177, end: 137}, {start: 137, end: 132}, {start: 132, end: 177}, - {start: 184, end: 76}, {start: 76, end: 183}, {start: 183, end: 184}, - {start: 185, end: 61}, {start: 61, end: 184}, {start: 184, end: 185}, - {start: 186, end: 57}, {start: 57, end: 185}, {start: 185, end: 186}, - {start: 216, end: 212}, {start: 212, end: 186}, {start: 186, end: 216}, - {start: 192, end: 214}, {start: 214, end: 187}, {start: 187, end: 192}, - {start: 139, end: 34}, {start: 34, end: 156}, {start: 156, end: 139}, - {start: 218, end: 79}, {start: 79, end: 237}, {start: 237, end: 218}, - {start: 147, end: 123}, {start: 123, end: 177}, {start: 177, end: 147}, - {start: 45, end: 44}, {start: 44, end: 4}, {start: 4, end: 45}, - {start: 208, end: 201}, {start: 201, end: 32}, {start: 32, end: 208}, - {start: 98, end: 64}, {start: 64, end: 129}, {start: 129, end: 98}, - {start: 192, end: 213}, {start: 213, end: 138}, {start: 138, end: 192}, - {start: 235, end: 59}, {start: 59, end: 219}, {start: 219, end: 235}, - {start: 141, end: 242}, {start: 242, end: 97}, {start: 97, end: 141}, - {start: 97, end: 2}, {start: 2, end: 141}, {start: 141, end: 97}, - {start: 240, end: 75}, {start: 75, end: 235}, {start: 235, end: 240}, - {start: 229, end: 24}, {start: 24, end: 228}, {start: 228, end: 229}, - {start: 31, end: 25}, {start: 25, end: 226}, {start: 226, end: 31}, - {start: 230, end: 23}, {start: 23, end: 229}, {start: 229, end: 230}, - {start: 231, end: 22}, {start: 22, end: 230}, {start: 230, end: 231}, - {start: 232, end: 26}, {start: 26, end: 231}, {start: 231, end: 232}, - {start: 233, end: 112}, {start: 112, end: 232}, {start: 232, end: 233}, - {start: 244, end: 189}, {start: 189, end: 243}, {start: 243, end: 244}, - {start: 189, end: 221}, {start: 221, end: 190}, {start: 190, end: 189}, - {start: 222, end: 28}, {start: 28, end: 221}, {start: 221, end: 222}, - {start: 223, end: 27}, {start: 27, end: 222}, {start: 222, end: 223}, - {start: 224, end: 29}, {start: 29, end: 223}, {start: 223, end: 224}, - {start: 225, end: 30}, {start: 30, end: 224}, {start: 224, end: 225}, - {start: 113, end: 247}, {start: 247, end: 225}, {start: 225, end: 113}, - {start: 99, end: 60}, {start: 60, end: 240}, {start: 240, end: 99}, - {start: 213, end: 147}, {start: 147, end: 215}, {start: 215, end: 213}, - {start: 60, end: 20}, {start: 20, end: 166}, {start: 166, end: 60}, - {start: 192, end: 187}, {start: 187, end: 213}, {start: 213, end: 192}, - {start: 243, end: 112}, {start: 112, end: 244}, {start: 244, end: 243}, - {start: 244, end: 233}, {start: 233, end: 245}, {start: 245, end: 244}, - {start: 245, end: 128}, {start: 128, end: 188}, {start: 188, end: 245}, - {start: 188, end: 114}, {start: 114, end: 174}, {start: 174, end: 188}, - {start: 134, end: 131}, {start: 131, end: 220}, {start: 220, end: 134}, - {start: 174, end: 217}, {start: 217, end: 236}, {start: 236, end: 174}, - {start: 236, end: 198}, {start: 198, end: 134}, {start: 134, end: 236}, - {start: 215, end: 177}, {start: 177, end: 58}, {start: 58, end: 215}, - {start: 156, end: 143}, {start: 143, end: 124}, {start: 124, end: 156}, - {start: 25, end: 110}, {start: 110, end: 7}, {start: 7, end: 25}, - {start: 31, end: 228}, {start: 228, end: 25}, {start: 25, end: 31}, - {start: 264, end: 356}, {start: 356, end: 368}, {start: 368, end: 264}, - {start: 0, end: 11}, {start: 11, end: 267}, {start: 267, end: 0}, - {start: 451, end: 452}, {start: 452, end: 349}, {start: 349, end: 451}, - {start: 267, end: 302}, {start: 302, end: 269}, {start: 269, end: 267}, - {start: 350, end: 357}, {start: 357, end: 277}, {start: 277, end: 350}, - {start: 350, end: 452}, {start: 452, end: 357}, {start: 357, end: 350}, - {start: 299, end: 333}, {start: 333, end: 297}, {start: 297, end: 299}, - {start: 396, end: 175}, {start: 175, end: 377}, {start: 377, end: 396}, - {start: 280, end: 347}, {start: 347, end: 330}, {start: 330, end: 280}, - {start: 269, end: 303}, {start: 303, end: 270}, {start: 270, end: 269}, - {start: 151, end: 9}, {start: 9, end: 337}, {start: 337, end: 151}, - {start: 344, end: 278}, {start: 278, end: 360}, {start: 360, end: 344}, - {start: 424, end: 418}, {start: 418, end: 431}, {start: 431, end: 424}, - {start: 270, end: 304}, {start: 304, end: 409}, {start: 409, end: 270}, - {start: 272, end: 310}, {start: 310, end: 407}, {start: 407, end: 272}, - {start: 322, end: 270}, {start: 270, end: 410}, {start: 410, end: 322}, - {start: 449, end: 450}, {start: 450, end: 347}, {start: 347, end: 449}, - {start: 432, end: 422}, {start: 422, end: 434}, {start: 434, end: 432}, - {start: 18, end: 313}, {start: 313, end: 17}, {start: 17, end: 18}, - {start: 291, end: 306}, {start: 306, end: 375}, {start: 375, end: 291}, - {start: 259, end: 387}, {start: 387, end: 260}, {start: 260, end: 259}, - {start: 424, end: 335}, {start: 335, end: 418}, {start: 418, end: 424}, - {start: 434, end: 364}, {start: 364, end: 416}, {start: 416, end: 434}, - {start: 391, end: 423}, {start: 423, end: 327}, {start: 327, end: 391}, - {start: 301, end: 251}, {start: 251, end: 298}, {start: 298, end: 301}, - {start: 275, end: 281}, {start: 281, end: 4}, {start: 4, end: 275}, - {start: 254, end: 373}, {start: 373, end: 253}, {start: 253, end: 254}, - {start: 375, end: 307}, {start: 307, end: 321}, {start: 321, end: 375}, - {start: 280, end: 425}, {start: 425, end: 411}, {start: 411, end: 280}, - {start: 200, end: 421}, {start: 421, end: 18}, {start: 18, end: 200}, - {start: 335, end: 321}, {start: 321, end: 406}, {start: 406, end: 335}, - {start: 321, end: 320}, {start: 320, end: 405}, {start: 405, end: 321}, - {start: 314, end: 315}, {start: 315, end: 17}, {start: 17, end: 314}, - {start: 423, end: 426}, {start: 426, end: 266}, {start: 266, end: 423}, - {start: 396, end: 377}, {start: 377, end: 369}, {start: 369, end: 396}, - {start: 270, end: 322}, {start: 322, end: 269}, {start: 269, end: 270}, - {start: 413, end: 417}, {start: 417, end: 464}, {start: 464, end: 413}, - {start: 385, end: 386}, {start: 386, end: 258}, {start: 258, end: 385}, - {start: 248, end: 456}, {start: 456, end: 419}, {start: 419, end: 248}, - {start: 298, end: 284}, {start: 284, end: 333}, {start: 333, end: 298}, - {start: 168, end: 417}, {start: 417, end: 8}, {start: 8, end: 168}, - {start: 448, end: 346}, {start: 346, end: 261}, {start: 261, end: 448}, - {start: 417, end: 413}, {start: 413, end: 285}, {start: 285, end: 417}, - {start: 326, end: 327}, {start: 327, end: 328}, {start: 328, end: 326}, - {start: 277, end: 355}, {start: 355, end: 329}, {start: 329, end: 277}, - {start: 309, end: 392}, {start: 392, end: 438}, {start: 438, end: 309}, - {start: 381, end: 382}, {start: 382, end: 256}, {start: 256, end: 381}, - {start: 279, end: 429}, {start: 429, end: 360}, {start: 360, end: 279}, - {start: 365, end: 364}, {start: 364, end: 379}, {start: 379, end: 365}, - {start: 355, end: 277}, {start: 277, end: 437}, {start: 437, end: 355}, - {start: 282, end: 443}, {start: 443, end: 283}, {start: 283, end: 282}, - {start: 281, end: 275}, {start: 275, end: 363}, {start: 363, end: 281}, - {start: 395, end: 431}, {start: 431, end: 369}, {start: 369, end: 395}, - {start: 299, end: 297}, {start: 297, end: 337}, {start: 337, end: 299}, - {start: 335, end: 273}, {start: 273, end: 321}, {start: 321, end: 335}, - {start: 348, end: 450}, {start: 450, end: 349}, {start: 349, end: 348}, - {start: 359, end: 446}, {start: 446, end: 467}, {start: 467, end: 359}, - {start: 283, end: 293}, {start: 293, end: 282}, {start: 282, end: 283}, - {start: 250, end: 458}, {start: 458, end: 462}, {start: 462, end: 250}, - {start: 300, end: 276}, {start: 276, end: 383}, {start: 383, end: 300}, - {start: 292, end: 308}, {start: 308, end: 325}, {start: 325, end: 292}, - {start: 283, end: 276}, {start: 276, end: 293}, {start: 293, end: 283}, - {start: 264, end: 372}, {start: 372, end: 447}, {start: 447, end: 264}, - {start: 346, end: 352}, {start: 352, end: 340}, {start: 340, end: 346}, - {start: 354, end: 274}, {start: 274, end: 19}, {start: 19, end: 354}, - {start: 363, end: 456}, {start: 456, end: 281}, {start: 281, end: 363}, - {start: 426, end: 436}, {start: 436, end: 425}, {start: 425, end: 426}, - {start: 380, end: 381}, {start: 381, end: 252}, {start: 252, end: 380}, - {start: 267, end: 269}, {start: 269, end: 393}, {start: 393, end: 267}, - {start: 421, end: 200}, {start: 200, end: 428}, {start: 428, end: 421}, - {start: 371, end: 266}, {start: 266, end: 329}, {start: 329, end: 371}, - {start: 432, end: 287}, {start: 287, end: 422}, {start: 422, end: 432}, - {start: 290, end: 250}, {start: 250, end: 328}, {start: 328, end: 290}, - {start: 385, end: 258}, {start: 258, end: 384}, {start: 384, end: 385}, - {start: 446, end: 265}, {start: 265, end: 342}, {start: 342, end: 446}, - {start: 386, end: 387}, {start: 387, end: 257}, {start: 257, end: 386}, - {start: 422, end: 424}, {start: 424, end: 430}, {start: 430, end: 422}, - {start: 445, end: 342}, {start: 342, end: 276}, {start: 276, end: 445}, - {start: 422, end: 273}, {start: 273, end: 424}, {start: 424, end: 422}, - {start: 306, end: 292}, {start: 292, end: 307}, {start: 307, end: 306}, - {start: 352, end: 366}, {start: 366, end: 345}, {start: 345, end: 352}, - {start: 268, end: 271}, {start: 271, end: 302}, {start: 302, end: 268}, - {start: 358, end: 423}, {start: 423, end: 371}, {start: 371, end: 358}, - {start: 327, end: 294}, {start: 294, end: 460}, {start: 460, end: 327}, - {start: 331, end: 279}, {start: 279, end: 294}, {start: 294, end: 331}, - {start: 303, end: 271}, {start: 271, end: 304}, {start: 304, end: 303}, - {start: 436, end: 432}, {start: 432, end: 427}, {start: 427, end: 436}, - {start: 304, end: 272}, {start: 272, end: 408}, {start: 408, end: 304}, - {start: 395, end: 394}, {start: 394, end: 431}, {start: 431, end: 395}, - {start: 378, end: 395}, {start: 395, end: 400}, {start: 400, end: 378}, - {start: 296, end: 334}, {start: 334, end: 299}, {start: 299, end: 296}, - {start: 6, end: 351}, {start: 351, end: 168}, {start: 168, end: 6}, - {start: 376, end: 352}, {start: 352, end: 411}, {start: 411, end: 376}, - {start: 307, end: 325}, {start: 325, end: 320}, {start: 320, end: 307}, - {start: 285, end: 295}, {start: 295, end: 336}, {start: 336, end: 285}, - {start: 320, end: 319}, {start: 319, end: 404}, {start: 404, end: 320}, - {start: 329, end: 330}, {start: 330, end: 349}, {start: 349, end: 329}, - {start: 334, end: 293}, {start: 293, end: 333}, {start: 333, end: 334}, - {start: 366, end: 323}, {start: 323, end: 447}, {start: 447, end: 366}, - {start: 316, end: 15}, {start: 15, end: 315}, {start: 315, end: 316}, - {start: 331, end: 358}, {start: 358, end: 279}, {start: 279, end: 331}, - {start: 317, end: 14}, {start: 14, end: 316}, {start: 316, end: 317}, - {start: 8, end: 285}, {start: 285, end: 9}, {start: 9, end: 8}, - {start: 277, end: 329}, {start: 329, end: 350}, {start: 350, end: 277}, - {start: 253, end: 374}, {start: 374, end: 252}, {start: 252, end: 253}, - {start: 319, end: 318}, {start: 318, end: 403}, {start: 403, end: 319}, - {start: 351, end: 6}, {start: 6, end: 419}, {start: 419, end: 351}, - {start: 324, end: 318}, {start: 318, end: 325}, {start: 325, end: 324}, - {start: 397, end: 367}, {start: 367, end: 365}, {start: 365, end: 397}, - {start: 288, end: 435}, {start: 435, end: 397}, {start: 397, end: 288}, - {start: 278, end: 344}, {start: 344, end: 439}, {start: 439, end: 278}, - {start: 310, end: 272}, {start: 272, end: 311}, {start: 311, end: 310}, - {start: 248, end: 195}, {start: 195, end: 281}, {start: 281, end: 248}, - {start: 375, end: 273}, {start: 273, end: 291}, {start: 291, end: 375}, - {start: 175, end: 396}, {start: 396, end: 199}, {start: 199, end: 175}, - {start: 312, end: 311}, {start: 311, end: 268}, {start: 268, end: 312}, - {start: 276, end: 283}, {start: 283, end: 445}, {start: 445, end: 276}, - {start: 390, end: 373}, {start: 373, end: 339}, {start: 339, end: 390}, - {start: 295, end: 282}, {start: 282, end: 296}, {start: 296, end: 295}, - {start: 448, end: 449}, {start: 449, end: 346}, {start: 346, end: 448}, - {start: 356, end: 264}, {start: 264, end: 454}, {start: 454, end: 356}, - {start: 337, end: 336}, {start: 336, end: 299}, {start: 299, end: 337}, - {start: 337, end: 338}, {start: 338, end: 151}, {start: 151, end: 337}, - {start: 294, end: 278}, {start: 278, end: 455}, {start: 455, end: 294}, - {start: 308, end: 292}, {start: 292, end: 415}, {start: 415, end: 308}, - {start: 429, end: 358}, {start: 358, end: 355}, {start: 355, end: 429}, - {start: 265, end: 340}, {start: 340, end: 372}, {start: 372, end: 265}, - {start: 352, end: 346}, {start: 346, end: 280}, {start: 280, end: 352}, - {start: 295, end: 442}, {start: 442, end: 282}, {start: 282, end: 295}, - {start: 354, end: 19}, {start: 19, end: 370}, {start: 370, end: 354}, - {start: 285, end: 441}, {start: 441, end: 295}, {start: 295, end: 285}, - {start: 195, end: 248}, {start: 248, end: 197}, {start: 197, end: 195}, - {start: 457, end: 440}, {start: 440, end: 274}, {start: 274, end: 457}, - {start: 301, end: 300}, {start: 300, end: 368}, {start: 368, end: 301}, - {start: 417, end: 351}, {start: 351, end: 465}, {start: 465, end: 417}, - {start: 251, end: 301}, {start: 301, end: 389}, {start: 389, end: 251}, - {start: 394, end: 395}, {start: 395, end: 379}, {start: 379, end: 394}, - {start: 399, end: 412}, {start: 412, end: 419}, {start: 419, end: 399}, - {start: 410, end: 436}, {start: 436, end: 322}, {start: 322, end: 410}, - {start: 326, end: 2}, {start: 2, end: 393}, {start: 393, end: 326}, - {start: 354, end: 370}, {start: 370, end: 461}, {start: 461, end: 354}, - {start: 393, end: 164}, {start: 164, end: 267}, {start: 267, end: 393}, - {start: 268, end: 302}, {start: 302, end: 12}, {start: 12, end: 268}, - {start: 312, end: 268}, {start: 268, end: 13}, {start: 13, end: 312}, - {start: 298, end: 293}, {start: 293, end: 301}, {start: 301, end: 298}, - {start: 265, end: 446}, {start: 446, end: 340}, {start: 340, end: 265}, - {start: 280, end: 330}, {start: 330, end: 425}, {start: 425, end: 280}, - {start: 322, end: 426}, {start: 426, end: 391}, {start: 391, end: 322}, - {start: 420, end: 429}, {start: 429, end: 437}, {start: 437, end: 420}, - {start: 393, end: 391}, {start: 391, end: 326}, {start: 326, end: 393}, - {start: 344, end: 440}, {start: 440, end: 438}, {start: 438, end: 344}, - {start: 458, end: 459}, {start: 459, end: 461}, {start: 461, end: 458}, - {start: 364, end: 434}, {start: 434, end: 394}, {start: 394, end: 364}, - {start: 428, end: 396}, {start: 396, end: 262}, {start: 262, end: 428}, - {start: 274, end: 354}, {start: 354, end: 457}, {start: 457, end: 274}, - {start: 317, end: 316}, {start: 316, end: 402}, {start: 402, end: 317}, - {start: 316, end: 315}, {start: 315, end: 403}, {start: 403, end: 316}, - {start: 315, end: 314}, {start: 314, end: 404}, {start: 404, end: 315}, - {start: 314, end: 313}, {start: 313, end: 405}, {start: 405, end: 314}, - {start: 313, end: 421}, {start: 421, end: 406}, {start: 406, end: 313}, - {start: 323, end: 366}, {start: 366, end: 361}, {start: 361, end: 323}, - {start: 292, end: 306}, {start: 306, end: 407}, {start: 407, end: 292}, - {start: 306, end: 291}, {start: 291, end: 408}, {start: 408, end: 306}, - {start: 291, end: 287}, {start: 287, end: 409}, {start: 409, end: 291}, - {start: 287, end: 432}, {start: 432, end: 410}, {start: 410, end: 287}, - {start: 427, end: 434}, {start: 434, end: 411}, {start: 411, end: 427}, - {start: 372, end: 264}, {start: 264, end: 383}, {start: 383, end: 372}, - {start: 459, end: 309}, {start: 309, end: 457}, {start: 457, end: 459}, - {start: 366, end: 352}, {start: 352, end: 401}, {start: 401, end: 366}, - {start: 1, end: 274}, {start: 274, end: 4}, {start: 4, end: 1}, - {start: 418, end: 421}, {start: 421, end: 262}, {start: 262, end: 418}, - {start: 331, end: 294}, {start: 294, end: 358}, {start: 358, end: 331}, - {start: 435, end: 433}, {start: 433, end: 367}, {start: 367, end: 435}, - {start: 392, end: 289}, {start: 289, end: 439}, {start: 439, end: 392}, - {start: 328, end: 462}, {start: 462, end: 326}, {start: 326, end: 328}, - {start: 94, end: 2}, {start: 2, end: 370}, {start: 370, end: 94}, - {start: 289, end: 305}, {start: 305, end: 455}, {start: 455, end: 289}, - {start: 339, end: 254}, {start: 254, end: 448}, {start: 448, end: 339}, - {start: 359, end: 255}, {start: 255, end: 446}, {start: 446, end: 359}, - {start: 254, end: 253}, {start: 253, end: 449}, {start: 449, end: 254}, - {start: 253, end: 252}, {start: 252, end: 450}, {start: 450, end: 253}, - {start: 252, end: 256}, {start: 256, end: 451}, {start: 451, end: 252}, - {start: 256, end: 341}, {start: 341, end: 452}, {start: 452, end: 256}, - {start: 414, end: 413}, {start: 413, end: 463}, {start: 463, end: 414}, - {start: 286, end: 441}, {start: 441, end: 414}, {start: 414, end: 286}, - {start: 286, end: 258}, {start: 258, end: 441}, {start: 441, end: 286}, - {start: 258, end: 257}, {start: 257, end: 442}, {start: 442, end: 258}, - {start: 257, end: 259}, {start: 259, end: 443}, {start: 443, end: 257}, - {start: 259, end: 260}, {start: 260, end: 444}, {start: 444, end: 259}, - {start: 260, end: 467}, {start: 467, end: 445}, {start: 445, end: 260}, - {start: 309, end: 459}, {start: 459, end: 250}, {start: 250, end: 309}, - {start: 305, end: 289}, {start: 289, end: 290}, {start: 290, end: 305}, - {start: 305, end: 290}, {start: 290, end: 460}, {start: 460, end: 305}, - {start: 401, end: 376}, {start: 376, end: 435}, {start: 435, end: 401}, - {start: 309, end: 250}, {start: 250, end: 392}, {start: 392, end: 309}, - {start: 376, end: 411}, {start: 411, end: 433}, {start: 433, end: 376}, - {start: 453, end: 341}, {start: 341, end: 464}, {start: 464, end: 453}, - {start: 357, end: 453}, {start: 453, end: 465}, {start: 465, end: 357}, - {start: 343, end: 357}, {start: 357, end: 412}, {start: 412, end: 343}, - {start: 437, end: 343}, {start: 343, end: 399}, {start: 399, end: 437}, - {start: 344, end: 360}, {start: 360, end: 440}, {start: 440, end: 344}, - {start: 420, end: 437}, {start: 437, end: 456}, {start: 456, end: 420}, - {start: 360, end: 420}, {start: 420, end: 363}, {start: 363, end: 360}, - {start: 361, end: 401}, {start: 401, end: 288}, {start: 288, end: 361}, - {start: 265, end: 372}, {start: 372, end: 353}, {start: 353, end: 265}, - {start: 390, end: 339}, {start: 339, end: 249}, {start: 249, end: 390}, - {start: 339, end: 448}, {start: 448, end: 255}, {start: 255, end: 339} -]; +export const FACE_LANDMARKS_TESSELATION = convertToConnections( + [127, 34], [34, 139], [139, 127], [11, 0], [0, 37], [37, 11], [232, 231], + [231, 120], [120, 232], [72, 37], [37, 39], [39, 72], [128, 121], [121, 47], + [47, 128], [232, 121], [121, 128], [128, 232], [104, 69], [69, 67], + [67, 104], [175, 171], [171, 148], [148, 175], [118, 50], [50, 101], + [101, 118], [73, 39], [39, 40], [40, 73], [9, 151], [151, 108], [108, 9], + [48, 115], [115, 131], [131, 48], [194, 204], [204, 211], [211, 194], + [74, 40], [40, 185], [185, 74], [80, 42], [42, 183], [183, 80], [40, 92], + [92, 186], [186, 40], [230, 229], [229, 118], [118, 230], [202, 212], + [212, 214], [214, 202], [83, 18], [18, 17], [17, 83], [76, 61], [61, 146], + [146, 76], [160, 29], [29, 30], [30, 160], [56, 157], [157, 173], [173, 56], + [106, 204], [204, 194], [194, 106], [135, 214], [214, 192], [192, 135], + [203, 165], [165, 98], [98, 203], [21, 71], [71, 68], [68, 21], [51, 45], + [45, 4], [4, 51], [144, 24], [24, 23], [23, 144], [77, 146], [146, 91], + [91, 77], [205, 50], [50, 187], [187, 205], [201, 200], [200, 18], + [18, 201], [91, 106], [106, 182], [182, 91], [90, 91], [91, 181], [181, 90], + [85, 84], [84, 17], [17, 85], [206, 203], [203, 36], [36, 206], [148, 171], + [171, 140], [140, 148], [92, 40], [40, 39], [39, 92], [193, 189], + [189, 244], [244, 193], [159, 158], [158, 28], [28, 159], [247, 246], + [246, 161], [161, 247], [236, 3], [3, 196], [196, 236], [54, 68], [68, 104], + [104, 54], [193, 168], [168, 8], [8, 193], [117, 228], [228, 31], [31, 117], + [189, 193], [193, 55], [55, 189], [98, 97], [97, 99], [99, 98], [126, 47], + [47, 100], [100, 126], [166, 79], [79, 218], [218, 166], [155, 154], + [154, 26], [26, 155], [209, 49], [49, 131], [131, 209], [135, 136], + [136, 150], [150, 135], [47, 126], [126, 217], [217, 47], [223, 52], + [52, 53], [53, 223], [45, 51], [51, 134], [134, 45], [211, 170], [170, 140], + [140, 211], [67, 69], [69, 108], [108, 67], [43, 106], [106, 91], [91, 43], + [230, 119], [119, 120], [120, 230], [226, 130], [130, 247], [247, 226], + [63, 53], [53, 52], [52, 63], [238, 20], [20, 242], [242, 238], [46, 70], + [70, 156], [156, 46], [78, 62], [62, 96], [96, 78], [46, 53], [53, 63], + [63, 46], [143, 34], [34, 227], [227, 143], [123, 117], [117, 111], + [111, 123], [44, 125], [125, 19], [19, 44], [236, 134], [134, 51], + [51, 236], [216, 206], [206, 205], [205, 216], [154, 153], [153, 22], + [22, 154], [39, 37], [37, 167], [167, 39], [200, 201], [201, 208], + [208, 200], [36, 142], [142, 100], [100, 36], [57, 212], [212, 202], + [202, 57], [20, 60], [60, 99], [99, 20], [28, 158], [158, 157], [157, 28], + [35, 226], [226, 113], [113, 35], [160, 159], [159, 27], [27, 160], + [204, 202], [202, 210], [210, 204], [113, 225], [225, 46], [46, 113], + [43, 202], [202, 204], [204, 43], [62, 76], [76, 77], [77, 62], [137, 123], + [123, 116], [116, 137], [41, 38], [38, 72], [72, 41], [203, 129], + [129, 142], [142, 203], [64, 98], [98, 240], [240, 64], [49, 102], + [102, 64], [64, 49], [41, 73], [73, 74], [74, 41], [212, 216], [216, 207], + [207, 212], [42, 74], [74, 184], [184, 42], [169, 170], [170, 211], + [211, 169], [170, 149], [149, 176], [176, 170], [105, 66], [66, 69], + [69, 105], [122, 6], [6, 168], [168, 122], [123, 147], [147, 187], + [187, 123], [96, 77], [77, 90], [90, 96], [65, 55], [55, 107], [107, 65], + [89, 90], [90, 180], [180, 89], [101, 100], [100, 120], [120, 101], + [63, 105], [105, 104], [104, 63], [93, 137], [137, 227], [227, 93], + [15, 86], [86, 85], [85, 15], [129, 102], [102, 49], [49, 129], [14, 87], + [87, 86], [86, 14], [55, 8], [8, 9], [9, 55], [100, 47], [47, 121], + [121, 100], [145, 23], [23, 22], [22, 145], [88, 89], [89, 179], [179, 88], + [6, 122], [122, 196], [196, 6], [88, 95], [95, 96], [96, 88], [138, 172], + [172, 136], [136, 138], [215, 58], [58, 172], [172, 215], [115, 48], + [48, 219], [219, 115], [42, 80], [80, 81], [81, 42], [195, 3], [3, 51], + [51, 195], [43, 146], [146, 61], [61, 43], [171, 175], [175, 199], + [199, 171], [81, 82], [82, 38], [38, 81], [53, 46], [46, 225], [225, 53], + [144, 163], [163, 110], [110, 144], [52, 65], [65, 66], [66, 52], + [229, 228], [228, 117], [117, 229], [34, 127], [127, 234], [234, 34], + [107, 108], [108, 69], [69, 107], [109, 108], [108, 151], [151, 109], + [48, 64], [64, 235], [235, 48], [62, 78], [78, 191], [191, 62], [129, 209], + [209, 126], [126, 129], [111, 35], [35, 143], [143, 111], [117, 123], + [123, 50], [50, 117], [222, 65], [65, 52], [52, 222], [19, 125], [125, 141], + [141, 19], [221, 55], [55, 65], [65, 221], [3, 195], [195, 197], [197, 3], + [25, 7], [7, 33], [33, 25], [220, 237], [237, 44], [44, 220], [70, 71], + [71, 139], [139, 70], [122, 193], [193, 245], [245, 122], [247, 130], + [130, 33], [33, 247], [71, 21], [21, 162], [162, 71], [170, 169], + [169, 150], [150, 170], [188, 174], [174, 196], [196, 188], [216, 186], + [186, 92], [92, 216], [2, 97], [97, 167], [167, 2], [141, 125], [125, 241], + [241, 141], [164, 167], [167, 37], [37, 164], [72, 38], [38, 12], [12, 72], + [38, 82], [82, 13], [13, 38], [63, 68], [68, 71], [71, 63], [226, 35], + [35, 111], [111, 226], [101, 50], [50, 205], [205, 101], [206, 92], + [92, 165], [165, 206], [209, 198], [198, 217], [217, 209], [165, 167], + [167, 97], [97, 165], [220, 115], [115, 218], [218, 220], [133, 112], + [112, 243], [243, 133], [239, 238], [238, 241], [241, 239], [214, 135], + [135, 169], [169, 214], [190, 173], [173, 133], [133, 190], [171, 208], + [208, 32], [32, 171], [125, 44], [44, 237], [237, 125], [86, 87], [87, 178], + [178, 86], [85, 86], [86, 179], [179, 85], [84, 85], [85, 180], [180, 84], + [83, 84], [84, 181], [181, 83], [201, 83], [83, 182], [182, 201], [137, 93], + [93, 132], [132, 137], [76, 62], [62, 183], [183, 76], [61, 76], [76, 184], + [184, 61], [57, 61], [61, 185], [185, 57], [212, 57], [57, 186], [186, 212], + [214, 207], [207, 187], [187, 214], [34, 143], [143, 156], [156, 34], + [79, 239], [239, 237], [237, 79], [123, 137], [137, 177], [177, 123], + [44, 1], [1, 4], [4, 44], [201, 194], [194, 32], [32, 201], [64, 102], + [102, 129], [129, 64], [213, 215], [215, 138], [138, 213], [59, 166], + [166, 219], [219, 59], [242, 99], [99, 97], [97, 242], [2, 94], [94, 141], + [141, 2], [75, 59], [59, 235], [235, 75], [24, 110], [110, 228], [228, 24], + [25, 130], [130, 226], [226, 25], [23, 24], [24, 229], [229, 23], [22, 23], + [23, 230], [230, 22], [26, 22], [22, 231], [231, 26], [112, 26], [26, 232], + [232, 112], [189, 190], [190, 243], [243, 189], [221, 56], [56, 190], + [190, 221], [28, 56], [56, 221], [221, 28], [27, 28], [28, 222], [222, 27], + [29, 27], [27, 223], [223, 29], [30, 29], [29, 224], [224, 30], [247, 30], + [30, 225], [225, 247], [238, 79], [79, 20], [20, 238], [166, 59], [59, 75], + [75, 166], [60, 75], [75, 240], [240, 60], [147, 177], [177, 215], + [215, 147], [20, 79], [79, 166], [166, 20], [187, 147], [147, 213], + [213, 187], [112, 233], [233, 244], [244, 112], [233, 128], [128, 245], + [245, 233], [128, 114], [114, 188], [188, 128], [114, 217], [217, 174], + [174, 114], [131, 115], [115, 220], [220, 131], [217, 198], [198, 236], + [236, 217], [198, 131], [131, 134], [134, 198], [177, 132], [132, 58], + [58, 177], [143, 35], [35, 124], [124, 143], [110, 163], [163, 7], [7, 110], + [228, 110], [110, 25], [25, 228], [356, 389], [389, 368], [368, 356], + [11, 302], [302, 267], [267, 11], [452, 350], [350, 349], [349, 452], + [302, 303], [303, 269], [269, 302], [357, 343], [343, 277], [277, 357], + [452, 453], [453, 357], [357, 452], [333, 332], [332, 297], [297, 333], + [175, 152], [152, 377], [377, 175], [347, 348], [348, 330], [330, 347], + [303, 304], [304, 270], [270, 303], [9, 336], [336, 337], [337, 9], + [278, 279], [279, 360], [360, 278], [418, 262], [262, 431], [431, 418], + [304, 408], [408, 409], [409, 304], [310, 415], [415, 407], [407, 310], + [270, 409], [409, 410], [410, 270], [450, 348], [348, 347], [347, 450], + [422, 430], [430, 434], [434, 422], [313, 314], [314, 17], [17, 313], + [306, 307], [307, 375], [375, 306], [387, 388], [388, 260], [260, 387], + [286, 414], [414, 398], [398, 286], [335, 406], [406, 418], [418, 335], + [364, 367], [367, 416], [416, 364], [423, 358], [358, 327], [327, 423], + [251, 284], [284, 298], [298, 251], [281, 5], [5, 4], [4, 281], [373, 374], + [374, 253], [253, 373], [307, 320], [320, 321], [321, 307], [425, 427], + [427, 411], [411, 425], [421, 313], [313, 18], [18, 421], [321, 405], + [405, 406], [406, 321], [320, 404], [404, 405], [405, 320], [315, 16], + [16, 17], [17, 315], [426, 425], [425, 266], [266, 426], [377, 400], + [400, 369], [369, 377], [322, 391], [391, 269], [269, 322], [417, 465], + [465, 464], [464, 417], [386, 257], [257, 258], [258, 386], [466, 260], + [260, 388], [388, 466], [456, 399], [399, 419], [419, 456], [284, 332], + [332, 333], [333, 284], [417, 285], [285, 8], [8, 417], [346, 340], + [340, 261], [261, 346], [413, 441], [441, 285], [285, 413], [327, 460], + [460, 328], [328, 327], [355, 371], [371, 329], [329, 355], [392, 439], + [439, 438], [438, 392], [382, 341], [341, 256], [256, 382], [429, 420], + [420, 360], [360, 429], [364, 394], [394, 379], [379, 364], [277, 343], + [343, 437], [437, 277], [443, 444], [444, 283], [283, 443], [275, 440], + [440, 363], [363, 275], [431, 262], [262, 369], [369, 431], [297, 338], + [338, 337], [337, 297], [273, 375], [375, 321], [321, 273], [450, 451], + [451, 349], [349, 450], [446, 342], [342, 467], [467, 446], [293, 334], + [334, 282], [282, 293], [458, 461], [461, 462], [462, 458], [276, 353], + [353, 383], [383, 276], [308, 324], [324, 325], [325, 308], [276, 300], + [300, 293], [293, 276], [372, 345], [345, 447], [447, 372], [352, 345], + [345, 340], [340, 352], [274, 1], [1, 19], [19, 274], [456, 248], + [248, 281], [281, 456], [436, 427], [427, 425], [425, 436], [381, 256], + [256, 252], [252, 381], [269, 391], [391, 393], [393, 269], [200, 199], + [199, 428], [428, 200], [266, 330], [330, 329], [329, 266], [287, 273], + [273, 422], [422, 287], [250, 462], [462, 328], [328, 250], [258, 286], + [286, 384], [384, 258], [265, 353], [353, 342], [342, 265], [387, 259], + [259, 257], [257, 387], [424, 431], [431, 430], [430, 424], [342, 353], + [353, 276], [276, 342], [273, 335], [335, 424], [424, 273], [292, 325], + [325, 307], [307, 292], [366, 447], [447, 345], [345, 366], [271, 303], + [303, 302], [302, 271], [423, 266], [266, 371], [371, 423], [294, 455], + [455, 460], [460, 294], [279, 278], [278, 294], [294, 279], [271, 272], + [272, 304], [304, 271], [432, 434], [434, 427], [427, 432], [272, 407], + [407, 408], [408, 272], [394, 430], [430, 431], [431, 394], [395, 369], + [369, 400], [400, 395], [334, 333], [333, 299], [299, 334], [351, 417], + [417, 168], [168, 351], [352, 280], [280, 411], [411, 352], [325, 319], + [319, 320], [320, 325], [295, 296], [296, 336], [336, 295], [319, 403], + [403, 404], [404, 319], [330, 348], [348, 349], [349, 330], [293, 298], + [298, 333], [333, 293], [323, 454], [454, 447], [447, 323], [15, 16], + [16, 315], [315, 15], [358, 429], [429, 279], [279, 358], [14, 15], + [15, 316], [316, 14], [285, 336], [336, 9], [9, 285], [329, 349], + [349, 350], [350, 329], [374, 380], [380, 252], [252, 374], [318, 402], + [402, 403], [403, 318], [6, 197], [197, 419], [419, 6], [318, 319], + [319, 325], [325, 318], [367, 364], [364, 365], [365, 367], [435, 367], + [367, 397], [397, 435], [344, 438], [438, 439], [439, 344], [272, 271], + [271, 311], [311, 272], [195, 5], [5, 281], [281, 195], [273, 287], + [287, 291], [291, 273], [396, 428], [428, 199], [199, 396], [311, 271], + [271, 268], [268, 311], [283, 444], [444, 445], [445, 283], [373, 254], + [254, 339], [339, 373], [282, 334], [334, 296], [296, 282], [449, 347], + [347, 346], [346, 449], [264, 447], [447, 454], [454, 264], [336, 296], + [296, 299], [299, 336], [338, 10], [10, 151], [151, 338], [278, 439], + [439, 455], [455, 278], [292, 407], [407, 415], [415, 292], [358, 371], + [371, 355], [355, 358], [340, 345], [345, 372], [372, 340], [346, 347], + [347, 280], [280, 346], [442, 443], [443, 282], [282, 442], [19, 94], + [94, 370], [370, 19], [441, 442], [442, 295], [295, 441], [248, 419], + [419, 197], [197, 248], [263, 255], [255, 359], [359, 263], [440, 275], + [275, 274], [274, 440], [300, 383], [383, 368], [368, 300], [351, 412], + [412, 465], [465, 351], [263, 467], [467, 466], [466, 263], [301, 368], + [368, 389], [389, 301], [395, 378], [378, 379], [379, 395], [412, 351], + [351, 419], [419, 412], [436, 426], [426, 322], [322, 436], [2, 164], + [164, 393], [393, 2], [370, 462], [462, 461], [461, 370], [164, 0], + [0, 267], [267, 164], [302, 11], [11, 12], [12, 302], [268, 12], [12, 13], + [13, 268], [293, 300], [300, 301], [301, 293], [446, 261], [261, 340], + [340, 446], [330, 266], [266, 425], [425, 330], [426, 423], [423, 391], + [391, 426], [429, 355], [355, 437], [437, 429], [391, 327], [327, 326], + [326, 391], [440, 457], [457, 438], [438, 440], [341, 382], [382, 362], + [362, 341], [459, 457], [457, 461], [461, 459], [434, 430], [430, 394], + [394, 434], [414, 463], [463, 362], [362, 414], [396, 369], [369, 262], + [262, 396], [354, 461], [461, 457], [457, 354], [316, 403], [403, 402], + [402, 316], [315, 404], [404, 403], [403, 315], [314, 405], [405, 404], + [404, 314], [313, 406], [406, 405], [405, 313], [421, 418], [418, 406], + [406, 421], [366, 401], [401, 361], [361, 366], [306, 408], [408, 407], + [407, 306], [291, 409], [409, 408], [408, 291], [287, 410], [410, 409], + [409, 287], [432, 436], [436, 410], [410, 432], [434, 416], [416, 411], + [411, 434], [264, 368], [368, 383], [383, 264], [309, 438], [438, 457], + [457, 309], [352, 376], [376, 401], [401, 352], [274, 275], [275, 4], + [4, 274], [421, 428], [428, 262], [262, 421], [294, 327], [327, 358], + [358, 294], [433, 416], [416, 367], [367, 433], [289, 455], [455, 439], + [439, 289], [462, 370], [370, 326], [326, 462], [2, 326], [326, 370], + [370, 2], [305, 460], [460, 455], [455, 305], [254, 449], [449, 448], + [448, 254], [255, 261], [261, 446], [446, 255], [253, 450], [450, 449], + [449, 253], [252, 451], [451, 450], [450, 252], [256, 452], [452, 451], + [451, 256], [341, 453], [453, 452], [452, 341], [413, 464], [464, 463], + [463, 413], [441, 413], [413, 414], [414, 441], [258, 442], [442, 441], + [441, 258], [257, 443], [443, 442], [442, 257], [259, 444], [444, 443], + [443, 259], [260, 445], [445, 444], [444, 260], [467, 342], [342, 445], + [445, 467], [459, 458], [458, 250], [250, 459], [289, 392], [392, 290], + [290, 289], [290, 328], [328, 460], [460, 290], [376, 433], [433, 435], + [435, 376], [250, 290], [290, 392], [392, 250], [411, 416], [416, 433], + [433, 411], [341, 463], [463, 464], [464, 341], [453, 464], [464, 465], + [465, 453], [357, 465], [465, 412], [412, 357], [343, 412], [412, 399], + [399, 343], [360, 363], [363, 440], [440, 360], [437, 399], [399, 456], + [456, 437], [420, 456], [456, 363], [363, 420], [401, 435], [435, 288], + [288, 401], [372, 383], [383, 353], [353, 372], [339, 255], [255, 249], + [249, 339], [448, 261], [261, 255], [255, 448], [133, 243], [243, 190], + [190, 133], [133, 155], [155, 112], [112, 133], [33, 246], [246, 247], + [247, 33], [33, 130], [130, 25], [25, 33], [398, 384], [384, 286], + [286, 398], [362, 398], [398, 414], [414, 362], [362, 463], [463, 341], + [341, 362], [263, 359], [359, 467], [467, 263], [263, 249], [249, 255], + [255, 263], [466, 467], [467, 260], [260, 466], [75, 60], [60, 166], + [166, 75], [238, 239], [239, 79], [79, 238], [162, 127], [127, 139], + [139, 162], [72, 11], [11, 37], [37, 72], [121, 232], [232, 120], + [120, 121], [73, 72], [72, 39], [39, 73], [114, 128], [128, 47], [47, 114], + [233, 232], [232, 128], [128, 233], [103, 104], [104, 67], [67, 103], + [152, 175], [175, 148], [148, 152], [119, 118], [118, 101], [101, 119], + [74, 73], [73, 40], [40, 74], [107, 9], [9, 108], [108, 107], [49, 48], + [48, 131], [131, 49], [32, 194], [194, 211], [211, 32], [184, 74], + [74, 185], [185, 184], [191, 80], [80, 183], [183, 191], [185, 40], + [40, 186], [186, 185], [119, 230], [230, 118], [118, 119], [210, 202], + [202, 214], [214, 210], [84, 83], [83, 17], [17, 84], [77, 76], [76, 146], + [146, 77], [161, 160], [160, 30], [30, 161], [190, 56], [56, 173], + [173, 190], [182, 106], [106, 194], [194, 182], [138, 135], [135, 192], + [192, 138], [129, 203], [203, 98], [98, 129], [54, 21], [21, 68], [68, 54], + [5, 51], [51, 4], [4, 5], [145, 144], [144, 23], [23, 145], [90, 77], + [77, 91], [91, 90], [207, 205], [205, 187], [187, 207], [83, 201], + [201, 18], [18, 83], [181, 91], [91, 182], [182, 181], [180, 90], [90, 181], + [181, 180], [16, 85], [85, 17], [17, 16], [205, 206], [206, 36], [36, 205], + [176, 148], [148, 140], [140, 176], [165, 92], [92, 39], [39, 165], + [245, 193], [193, 244], [244, 245], [27, 159], [159, 28], [28, 27], + [30, 247], [247, 161], [161, 30], [174, 236], [236, 196], [196, 174], + [103, 54], [54, 104], [104, 103], [55, 193], [193, 8], [8, 55], [111, 117], + [117, 31], [31, 111], [221, 189], [189, 55], [55, 221], [240, 98], [98, 99], + [99, 240], [142, 126], [126, 100], [100, 142], [219, 166], [166, 218], + [218, 219], [112, 155], [155, 26], [26, 112], [198, 209], [209, 131], + [131, 198], [169, 135], [135, 150], [150, 169], [114, 47], [47, 217], + [217, 114], [224, 223], [223, 53], [53, 224], [220, 45], [45, 134], + [134, 220], [32, 211], [211, 140], [140, 32], [109, 67], [67, 108], + [108, 109], [146, 43], [43, 91], [91, 146], [231, 230], [230, 120], + [120, 231], [113, 226], [226, 247], [247, 113], [105, 63], [63, 52], + [52, 105], [241, 238], [238, 242], [242, 241], [124, 46], [46, 156], + [156, 124], [95, 78], [78, 96], [96, 95], [70, 46], [46, 63], [63, 70], + [116, 143], [143, 227], [227, 116], [116, 123], [123, 111], [111, 116], + [1, 44], [44, 19], [19, 1], [3, 236], [236, 51], [51, 3], [207, 216], + [216, 205], [205, 207], [26, 154], [154, 22], [22, 26], [165, 39], + [39, 167], [167, 165], [199, 200], [200, 208], [208, 199], [101, 36], + [36, 100], [100, 101], [43, 57], [57, 202], [202, 43], [242, 20], [20, 99], + [99, 242], [56, 28], [28, 157], [157, 56], [124, 35], [35, 113], [113, 124], + [29, 160], [160, 27], [27, 29], [211, 204], [204, 210], [210, 211], + [124, 113], [113, 46], [46, 124], [106, 43], [43, 204], [204, 106], + [96, 62], [62, 77], [77, 96], [227, 137], [137, 116], [116, 227], [73, 41], + [41, 72], [72, 73], [36, 203], [203, 142], [142, 36], [235, 64], [64, 240], + [240, 235], [48, 49], [49, 64], [64, 48], [42, 41], [41, 74], [74, 42], + [214, 212], [212, 207], [207, 214], [183, 42], [42, 184], [184, 183], + [210, 169], [169, 211], [211, 210], [140, 170], [170, 176], [176, 140], + [104, 105], [105, 69], [69, 104], [193, 122], [122, 168], [168, 193], + [50, 123], [123, 187], [187, 50], [89, 96], [96, 90], [90, 89], [66, 65], + [65, 107], [107, 66], [179, 89], [89, 180], [180, 179], [119, 101], + [101, 120], [120, 119], [68, 63], [63, 104], [104, 68], [234, 93], + [93, 227], [227, 234], [16, 15], [15, 85], [85, 16], [209, 129], [129, 49], + [49, 209], [15, 14], [14, 86], [86, 15], [107, 55], [55, 9], [9, 107], + [120, 100], [100, 121], [121, 120], [153, 145], [145, 22], [22, 153], + [178, 88], [88, 179], [179, 178], [197, 6], [6, 196], [196, 197], [89, 88], + [88, 96], [96, 89], [135, 138], [138, 136], [136, 135], [138, 215], + [215, 172], [172, 138], [218, 115], [115, 219], [219, 218], [41, 42], + [42, 81], [81, 41], [5, 195], [195, 51], [51, 5], [57, 43], [43, 61], + [61, 57], [208, 171], [171, 199], [199, 208], [41, 81], [81, 38], [38, 41], + [224, 53], [53, 225], [225, 224], [24, 144], [144, 110], [110, 24], + [105, 52], [52, 66], [66, 105], [118, 229], [229, 117], [117, 118], + [227, 34], [34, 234], [234, 227], [66, 107], [107, 69], [69, 66], [10, 109], + [109, 151], [151, 10], [219, 48], [48, 235], [235, 219], [183, 62], + [62, 191], [191, 183], [142, 129], [129, 126], [126, 142], [116, 111], + [111, 143], [143, 116], [118, 117], [117, 50], [50, 118], [223, 222], + [222, 52], [52, 223], [94, 19], [19, 141], [141, 94], [222, 221], [221, 65], + [65, 222], [196, 3], [3, 197], [197, 196], [45, 220], [220, 44], [44, 45], + [156, 70], [70, 139], [139, 156], [188, 122], [122, 245], [245, 188], + [139, 71], [71, 162], [162, 139], [149, 170], [170, 150], [150, 149], + [122, 188], [188, 196], [196, 122], [206, 216], [216, 92], [92, 206], + [164, 2], [2, 167], [167, 164], [242, 141], [141, 241], [241, 242], + [0, 164], [164, 37], [37, 0], [11, 72], [72, 12], [12, 11], [12, 38], + [38, 13], [13, 12], [70, 63], [63, 71], [71, 70], [31, 226], [226, 111], + [111, 31], [36, 101], [101, 205], [205, 36], [203, 206], [206, 165], + [165, 203], [126, 209], [209, 217], [217, 126], [98, 165], [165, 97], + [97, 98], [237, 220], [220, 218], [218, 237], [237, 239], [239, 241], + [241, 237], [210, 214], [214, 169], [169, 210], [140, 171], [171, 32], + [32, 140], [241, 125], [125, 237], [237, 241], [179, 86], [86, 178], + [178, 179], [180, 85], [85, 179], [179, 180], [181, 84], [84, 180], + [180, 181], [182, 83], [83, 181], [181, 182], [194, 201], [201, 182], + [182, 194], [177, 137], [137, 132], [132, 177], [184, 76], [76, 183], + [183, 184], [185, 61], [61, 184], [184, 185], [186, 57], [57, 185], + [185, 186], [216, 212], [212, 186], [186, 216], [192, 214], [214, 187], + [187, 192], [139, 34], [34, 156], [156, 139], [218, 79], [79, 237], + [237, 218], [147, 123], [123, 177], [177, 147], [45, 44], [44, 4], [4, 45], + [208, 201], [201, 32], [32, 208], [98, 64], [64, 129], [129, 98], + [192, 213], [213, 138], [138, 192], [235, 59], [59, 219], [219, 235], + [141, 242], [242, 97], [97, 141], [97, 2], [2, 141], [141, 97], [240, 75], + [75, 235], [235, 240], [229, 24], [24, 228], [228, 229], [31, 25], + [25, 226], [226, 31], [230, 23], [23, 229], [229, 230], [231, 22], + [22, 230], [230, 231], [232, 26], [26, 231], [231, 232], [233, 112], + [112, 232], [232, 233], [244, 189], [189, 243], [243, 244], [189, 221], + [221, 190], [190, 189], [222, 28], [28, 221], [221, 222], [223, 27], + [27, 222], [222, 223], [224, 29], [29, 223], [223, 224], [225, 30], + [30, 224], [224, 225], [113, 247], [247, 225], [225, 113], [99, 60], + [60, 240], [240, 99], [213, 147], [147, 215], [215, 213], [60, 20], + [20, 166], [166, 60], [192, 187], [187, 213], [213, 192], [243, 112], + [112, 244], [244, 243], [244, 233], [233, 245], [245, 244], [245, 128], + [128, 188], [188, 245], [188, 114], [114, 174], [174, 188], [134, 131], + [131, 220], [220, 134], [174, 217], [217, 236], [236, 174], [236, 198], + [198, 134], [134, 236], [215, 177], [177, 58], [58, 215], [156, 143], + [143, 124], [124, 156], [25, 110], [110, 7], [7, 25], [31, 228], [228, 25], + [25, 31], [264, 356], [356, 368], [368, 264], [0, 11], [11, 267], [267, 0], + [451, 452], [452, 349], [349, 451], [267, 302], [302, 269], [269, 267], + [350, 357], [357, 277], [277, 350], [350, 452], [452, 357], [357, 350], + [299, 333], [333, 297], [297, 299], [396, 175], [175, 377], [377, 396], + [280, 347], [347, 330], [330, 280], [269, 303], [303, 270], [270, 269], + [151, 9], [9, 337], [337, 151], [344, 278], [278, 360], [360, 344], + [424, 418], [418, 431], [431, 424], [270, 304], [304, 409], [409, 270], + [272, 310], [310, 407], [407, 272], [322, 270], [270, 410], [410, 322], + [449, 450], [450, 347], [347, 449], [432, 422], [422, 434], [434, 432], + [18, 313], [313, 17], [17, 18], [291, 306], [306, 375], [375, 291], + [259, 387], [387, 260], [260, 259], [424, 335], [335, 418], [418, 424], + [434, 364], [364, 416], [416, 434], [391, 423], [423, 327], [327, 391], + [301, 251], [251, 298], [298, 301], [275, 281], [281, 4], [4, 275], + [254, 373], [373, 253], [253, 254], [375, 307], [307, 321], [321, 375], + [280, 425], [425, 411], [411, 280], [200, 421], [421, 18], [18, 200], + [335, 321], [321, 406], [406, 335], [321, 320], [320, 405], [405, 321], + [314, 315], [315, 17], [17, 314], [423, 426], [426, 266], [266, 423], + [396, 377], [377, 369], [369, 396], [270, 322], [322, 269], [269, 270], + [413, 417], [417, 464], [464, 413], [385, 386], [386, 258], [258, 385], + [248, 456], [456, 419], [419, 248], [298, 284], [284, 333], [333, 298], + [168, 417], [417, 8], [8, 168], [448, 346], [346, 261], [261, 448], + [417, 413], [413, 285], [285, 417], [326, 327], [327, 328], [328, 326], + [277, 355], [355, 329], [329, 277], [309, 392], [392, 438], [438, 309], + [381, 382], [382, 256], [256, 381], [279, 429], [429, 360], [360, 279], + [365, 364], [364, 379], [379, 365], [355, 277], [277, 437], [437, 355], + [282, 443], [443, 283], [283, 282], [281, 275], [275, 363], [363, 281], + [395, 431], [431, 369], [369, 395], [299, 297], [297, 337], [337, 299], + [335, 273], [273, 321], [321, 335], [348, 450], [450, 349], [349, 348], + [359, 446], [446, 467], [467, 359], [283, 293], [293, 282], [282, 283], + [250, 458], [458, 462], [462, 250], [300, 276], [276, 383], [383, 300], + [292, 308], [308, 325], [325, 292], [283, 276], [276, 293], [293, 283], + [264, 372], [372, 447], [447, 264], [346, 352], [352, 340], [340, 346], + [354, 274], [274, 19], [19, 354], [363, 456], [456, 281], [281, 363], + [426, 436], [436, 425], [425, 426], [380, 381], [381, 252], [252, 380], + [267, 269], [269, 393], [393, 267], [421, 200], [200, 428], [428, 421], + [371, 266], [266, 329], [329, 371], [432, 287], [287, 422], [422, 432], + [290, 250], [250, 328], [328, 290], [385, 258], [258, 384], [384, 385], + [446, 265], [265, 342], [342, 446], [386, 387], [387, 257], [257, 386], + [422, 424], [424, 430], [430, 422], [445, 342], [342, 276], [276, 445], + [422, 273], [273, 424], [424, 422], [306, 292], [292, 307], [307, 306], + [352, 366], [366, 345], [345, 352], [268, 271], [271, 302], [302, 268], + [358, 423], [423, 371], [371, 358], [327, 294], [294, 460], [460, 327], + [331, 279], [279, 294], [294, 331], [303, 271], [271, 304], [304, 303], + [436, 432], [432, 427], [427, 436], [304, 272], [272, 408], [408, 304], + [395, 394], [394, 431], [431, 395], [378, 395], [395, 400], [400, 378], + [296, 334], [334, 299], [299, 296], [6, 351], [351, 168], [168, 6], + [376, 352], [352, 411], [411, 376], [307, 325], [325, 320], [320, 307], + [285, 295], [295, 336], [336, 285], [320, 319], [319, 404], [404, 320], + [329, 330], [330, 349], [349, 329], [334, 293], [293, 333], [333, 334], + [366, 323], [323, 447], [447, 366], [316, 15], [15, 315], [315, 316], + [331, 358], [358, 279], [279, 331], [317, 14], [14, 316], [316, 317], + [8, 285], [285, 9], [9, 8], [277, 329], [329, 350], [350, 277], [253, 374], + [374, 252], [252, 253], [319, 318], [318, 403], [403, 319], [351, 6], + [6, 419], [419, 351], [324, 318], [318, 325], [325, 324], [397, 367], + [367, 365], [365, 397], [288, 435], [435, 397], [397, 288], [278, 344], + [344, 439], [439, 278], [310, 272], [272, 311], [311, 310], [248, 195], + [195, 281], [281, 248], [375, 273], [273, 291], [291, 375], [175, 396], + [396, 199], [199, 175], [312, 311], [311, 268], [268, 312], [276, 283], + [283, 445], [445, 276], [390, 373], [373, 339], [339, 390], [295, 282], + [282, 296], [296, 295], [448, 449], [449, 346], [346, 448], [356, 264], + [264, 454], [454, 356], [337, 336], [336, 299], [299, 337], [337, 338], + [338, 151], [151, 337], [294, 278], [278, 455], [455, 294], [308, 292], + [292, 415], [415, 308], [429, 358], [358, 355], [355, 429], [265, 340], + [340, 372], [372, 265], [352, 346], [346, 280], [280, 352], [295, 442], + [442, 282], [282, 295], [354, 19], [19, 370], [370, 354], [285, 441], + [441, 295], [295, 285], [195, 248], [248, 197], [197, 195], [457, 440], + [440, 274], [274, 457], [301, 300], [300, 368], [368, 301], [417, 351], + [351, 465], [465, 417], [251, 301], [301, 389], [389, 251], [394, 395], + [395, 379], [379, 394], [399, 412], [412, 419], [419, 399], [410, 436], + [436, 322], [322, 410], [326, 2], [2, 393], [393, 326], [354, 370], + [370, 461], [461, 354], [393, 164], [164, 267], [267, 393], [268, 302], + [302, 12], [12, 268], [312, 268], [268, 13], [13, 312], [298, 293], + [293, 301], [301, 298], [265, 446], [446, 340], [340, 265], [280, 330], + [330, 425], [425, 280], [322, 426], [426, 391], [391, 322], [420, 429], + [429, 437], [437, 420], [393, 391], [391, 326], [326, 393], [344, 440], + [440, 438], [438, 344], [458, 459], [459, 461], [461, 458], [364, 434], + [434, 394], [394, 364], [428, 396], [396, 262], [262, 428], [274, 354], + [354, 457], [457, 274], [317, 316], [316, 402], [402, 317], [316, 315], + [315, 403], [403, 316], [315, 314], [314, 404], [404, 315], [314, 313], + [313, 405], [405, 314], [313, 421], [421, 406], [406, 313], [323, 366], + [366, 361], [361, 323], [292, 306], [306, 407], [407, 292], [306, 291], + [291, 408], [408, 306], [291, 287], [287, 409], [409, 291], [287, 432], + [432, 410], [410, 287], [427, 434], [434, 411], [411, 427], [372, 264], + [264, 383], [383, 372], [459, 309], [309, 457], [457, 459], [366, 352], + [352, 401], [401, 366], [1, 274], [274, 4], [4, 1], [418, 421], [421, 262], + [262, 418], [331, 294], [294, 358], [358, 331], [435, 433], [433, 367], + [367, 435], [392, 289], [289, 439], [439, 392], [328, 462], [462, 326], + [326, 328], [94, 2], [2, 370], [370, 94], [289, 305], [305, 455], + [455, 289], [339, 254], [254, 448], [448, 339], [359, 255], [255, 446], + [446, 359], [254, 253], [253, 449], [449, 254], [253, 252], [252, 450], + [450, 253], [252, 256], [256, 451], [451, 252], [256, 341], [341, 452], + [452, 256], [414, 413], [413, 463], [463, 414], [286, 441], [441, 414], + [414, 286], [286, 258], [258, 441], [441, 286], [258, 257], [257, 442], + [442, 258], [257, 259], [259, 443], [443, 257], [259, 260], [260, 444], + [444, 259], [260, 467], [467, 445], [445, 260], [309, 459], [459, 250], + [250, 309], [305, 289], [289, 290], [290, 305], [305, 290], [290, 460], + [460, 305], [401, 376], [376, 435], [435, 401], [309, 250], [250, 392], + [392, 309], [376, 411], [411, 433], [433, 376], [453, 341], [341, 464], + [464, 453], [357, 453], [453, 465], [465, 357], [343, 357], [357, 412], + [412, 343], [437, 343], [343, 399], [399, 437], [344, 360], [360, 440], + [440, 344], [420, 437], [437, 456], [456, 420], [360, 420], [420, 363], + [363, 360], [361, 401], [401, 288], [288, 361], [265, 372], [372, 353], + [353, 265], [390, 339], [339, 249], [249, 390], [339, 448], [448, 255], + [255, 339]); diff --git a/mediapipe/tasks/web/vision/hand_landmarker/hand_landmarks_connections.ts b/mediapipe/tasks/web/vision/hand_landmarker/hand_landmarks_connections.ts index c5195ef3a8..8ffd9b7b46 100644 --- a/mediapipe/tasks/web/vision/hand_landmarker/hand_landmarks_connections.ts +++ b/mediapipe/tasks/web/vision/hand_landmarker/hand_landmarks_connections.ts @@ -14,18 +14,13 @@ * limitations under the License. */ -import {Connection} from '../../../../tasks/web/vision/core/types'; +import {convertToConnections} from '../../../../tasks/web/vision/core/types'; /** * An array containing the pairs of hand landmark indices to be rendered with * connections. */ -export const HAND_CONNECTIONS: Connection[] = [ - {start: 0, end: 1}, {start: 1, end: 2}, {start: 2, end: 3}, - {start: 3, end: 4}, {start: 0, end: 5}, {start: 5, end: 6}, - {start: 6, end: 7}, {start: 7, end: 8}, {start: 5, end: 9}, - {start: 9, end: 10}, {start: 10, end: 11}, {start: 11, end: 12}, - {start: 9, end: 13}, {start: 13, end: 14}, {start: 14, end: 15}, - {start: 15, end: 16}, {start: 13, end: 17}, {start: 0, end: 17}, - {start: 17, end: 18}, {start: 18, end: 19}, {start: 19, end: 20} -]; +export const HAND_CONNECTIONS = convertToConnections( + [0, 1], [1, 2], [2, 3], [3, 4], [0, 5], [5, 6], [6, 7], [7, 8], [5, 9], + [9, 10], [10, 11], [11, 12], [9, 13], [13, 14], [14, 15], [15, 16], + [13, 17], [0, 17], [17, 18], [18, 19], [19, 20]); diff --git a/mediapipe/tasks/web/vision/pose_landmarker/pose_landmarker.ts b/mediapipe/tasks/web/vision/pose_landmarker/pose_landmarker.ts index 8bca6bc6dd..5df91a3d41 100644 --- a/mediapipe/tasks/web/vision/pose_landmarker/pose_landmarker.ts +++ b/mediapipe/tasks/web/vision/pose_landmarker/pose_landmarker.ts @@ -26,7 +26,7 @@ import {convertToLandmarks, convertToWorldLandmarks} from '../../../../tasks/web import {WasmFileset} from '../../../../tasks/web/core/wasm_fileset'; import {ImageProcessingOptions} from '../../../../tasks/web/vision/core/image_processing_options'; import {MPMask} from '../../../../tasks/web/vision/core/mask'; -import {Connection} from '../../../../tasks/web/vision/core/types'; +import {convertToConnections} from '../../../../tasks/web/vision/core/types'; import {VisionGraphRunner, VisionTaskRunner} from '../../../../tasks/web/vision/core/vision_task_runner'; import {ImageSource, WasmModule} from '../../../../web/graph_runner/graph_runner'; // Placeholder for internal dependency on trusted resource url @@ -79,20 +79,12 @@ export class PoseLandmarker extends VisionTaskRunner { * @export * @nocollapse */ - static POSE_CONNECTIONS: Connection[] = [ - {start: 0, end: 1}, {start: 1, end: 2}, {start: 2, end: 3}, - {start: 3, end: 7}, {start: 0, end: 4}, {start: 4, end: 5}, - {start: 5, end: 6}, {start: 6, end: 8}, {start: 9, end: 10}, - {start: 11, end: 12}, {start: 11, end: 13}, {start: 13, end: 15}, - {start: 15, end: 17}, {start: 15, end: 19}, {start: 15, end: 21}, - {start: 17, end: 19}, {start: 12, end: 14}, {start: 14, end: 16}, - {start: 16, end: 18}, {start: 16, end: 20}, {start: 16, end: 22}, - {start: 18, end: 20}, {start: 11, end: 23}, {start: 12, end: 24}, - {start: 23, end: 24}, {start: 23, end: 25}, {start: 24, end: 26}, - {start: 25, end: 27}, {start: 26, end: 28}, {start: 27, end: 29}, - {start: 28, end: 30}, {start: 29, end: 31}, {start: 30, end: 32}, - {start: 27, end: 31}, {start: 28, end: 32} - ]; + static POSE_CONNECTIONS = convertToConnections( + [0, 1], [1, 2], [2, 3], [3, 7], [0, 4], [4, 5], [5, 6], [6, 8], [9, 10], + [11, 12], [11, 13], [13, 15], [15, 17], [15, 19], [15, 21], [17, 19], + [12, 14], [14, 16], [16, 18], [16, 20], [16, 22], [18, 20], [11, 23], + [12, 24], [23, 24], [23, 25], [24, 26], [25, 27], [26, 28], [27, 29], + [28, 30], [29, 31], [30, 32], [27, 31], [28, 32]); /** * Initializes the Wasm runtime and creates a new `PoseLandmarker` from the