Add FaceLandmarksConnections to Web API

PiperOrigin-RevId: 522713874
This commit is contained in:
Sebastian Schmidt 2023-04-07 16:51:32 -07:00 committed by Copybara-Service
parent 938b501d15
commit 2efcf30eea
4 changed files with 978 additions and 1 deletions

View File

@ -16,6 +16,7 @@ mediapipe_ts_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
":face_landmarker_types", ":face_landmarker_types",
":face_landmarks_connections",
"//mediapipe/framework:calculator_jspb_proto", "//mediapipe/framework:calculator_jspb_proto",
"//mediapipe/framework:calculator_options_jspb_proto", "//mediapipe/framework:calculator_options_jspb_proto",
"//mediapipe/framework/formats:classification_jspb_proto", "//mediapipe/framework/formats:classification_jspb_proto",
@ -37,6 +38,14 @@ mediapipe_ts_library(
], ],
) )
mediapipe_ts_library(
name = "face_landmarks_connections",
srcs = [
"face_landmarks_connections.ts",
],
visibility = ["//visibility:public"],
)
mediapipe_ts_declaration( mediapipe_ts_declaration(
name = "face_landmarker_types", name = "face_landmarker_types",
srcs = [ srcs = [

View File

@ -36,6 +36,7 @@ import {FaceLandmarkerResult} from './face_landmarker_result';
export * from './face_landmarker_options'; export * from './face_landmarker_options';
export * from './face_landmarker_result'; export * from './face_landmarker_result';
export * from './face_landmarks_connections';
export {ImageSource}; export {ImageSource};
// The OSS JS API does not support the builder pattern. // The OSS JS API does not support the builder pattern.

View File

@ -0,0 +1,965 @@
/**
* CopyRIGHT 2023 The MediaPipe Authors. All RIGHTs Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/** A face landmark connection. */
export interface Connection {
start: number;
end: number;
}
// tslint:disable:class-as-namespace Using for easier import by 3P users
/**
* A class containing the Pairs of landmark indices to be rendered with
* connections.
*/
export class FaceLandmarksConnections {
static FACE_LANDMARKS_LIPS = [
{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}
];
static FACE_LANDMARKS_LEFT_EYE = [
{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}
];
static FACE_LANDMARKS_LEFT_EYEBROW = [
{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}
];
static FACE_LANDMARKS_LEFT_IRIS = [
{start: 474, end: 475}, {start: 475, end: 476}, {start: 476, end: 477},
{start: 477, end: 474}
];
static FACE_LANDMARKS_RIGHT_EYE = [
{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}
];
static FACE_LANDMARKS_RIGHT_EYEBROW = [
{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}
];
static FACE_LANDMARKS_RIGHT_IRIS = [
{start: 469, end: 470}, {start: 470, end: 471}, {start: 471, end: 472},
{start: 472, end: 469}
];
static FACE_LANDMARKS_FACE_OVAL = [
{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}
];
static FACE_LANDMARKS_CONTOURS = [
...FaceLandmarksConnections.FACE_LANDMARKS_LIPS,
...FaceLandmarksConnections.FACE_LANDMARKS_LEFT_EYE,
...FaceLandmarksConnections.FACE_LANDMARKS_LEFT_EYEBROW,
...FaceLandmarksConnections.FACE_LANDMARKS_RIGHT_EYE,
...FaceLandmarksConnections.FACE_LANDMARKS_RIGHT_EYEBROW,
...FaceLandmarksConnections.FACE_LANDMARKS_FACE_OVAL
];
static FACE_LANDMARKS_TESSELATION = [
{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}
];
}

View File

@ -16,7 +16,7 @@
import {FilesetResolver as FilesetResolverImpl} from '../../../tasks/web/core/fileset_resolver'; import {FilesetResolver as FilesetResolverImpl} from '../../../tasks/web/core/fileset_resolver';
import {FaceDetector as FaceDetectorImpl} from '../../../tasks/web/vision/face_detector/face_detector'; import {FaceDetector as FaceDetectorImpl} from '../../../tasks/web/vision/face_detector/face_detector';
import {FaceLandmarker as FaceLandmarkerImpl} from '../../../tasks/web/vision/face_landmarker/face_landmarker'; import {FaceLandmarker as FaceLandmarkerImpl, FaceLandmarksConnections as FaceLandmarksConnectionsImpl} from '../../../tasks/web/vision/face_landmarker/face_landmarker';
import {FaceStylizer as FaceStylizerImpl} from '../../../tasks/web/vision/face_stylizer/face_stylizer'; import {FaceStylizer as FaceStylizerImpl} from '../../../tasks/web/vision/face_stylizer/face_stylizer';
import {GestureRecognizer as GestureRecognizerImpl} from '../../../tasks/web/vision/gesture_recognizer/gesture_recognizer'; import {GestureRecognizer as GestureRecognizerImpl} from '../../../tasks/web/vision/gesture_recognizer/gesture_recognizer';
import {HandLandmarker as HandLandmarkerImpl} from '../../../tasks/web/vision/hand_landmarker/hand_landmarker'; import {HandLandmarker as HandLandmarkerImpl} from '../../../tasks/web/vision/hand_landmarker/hand_landmarker';
@ -31,6 +31,7 @@ import {ObjectDetector as ObjectDetectorImpl} from '../../../tasks/web/vision/ob
const FilesetResolver = FilesetResolverImpl; const FilesetResolver = FilesetResolverImpl;
const FaceDetector = FaceDetectorImpl; const FaceDetector = FaceDetectorImpl;
const FaceLandmarker = FaceLandmarkerImpl; const FaceLandmarker = FaceLandmarkerImpl;
const FaceLandmarksConnections = FaceLandmarksConnectionsImpl;
const FaceStylizer = FaceStylizerImpl; const FaceStylizer = FaceStylizerImpl;
const GestureRecognizer = GestureRecognizerImpl; const GestureRecognizer = GestureRecognizerImpl;
const HandLandmarker = HandLandmarkerImpl; const HandLandmarker = HandLandmarkerImpl;
@ -44,6 +45,7 @@ export {
FilesetResolver, FilesetResolver,
FaceDetector, FaceDetector,
FaceLandmarker, FaceLandmarker,
FaceLandmarksConnections,
FaceStylizer, FaceStylizer,
GestureRecognizer, GestureRecognizer,
HandLandmarker, HandLandmarker,