";default:return"";}}
-var processEnabled=function(data){switch(data.type){case UI_SWITCHER:case UPDATE_SWITCHER:if(data.enabled){$("#sl"+data.id).removeClass('disabled');$("#s"+data.id).prop("disabled",false);}else{$("#sl"+data.id).addClass('disabled');$("#s"+data.id).prop("disabled",true);}
-break;case UI_SLIDER:case UPDATE_SLIDER:$("#sl"+data.id).prop("disabled",!data.enabled);break;case UI_NUMBER:case UPDATE_NUMBER:$("#num"+data.id).prop("disabled",!data.enabled);break;case UI_TEXT_INPUT:case UPDATE_TEXT_INPUT:$("#text"+data.id).prop("disabled",!data.enabled);break;case UI_SELECT:case UPDATE_SELECT:$("#select"+data.id).prop("disabled",!data.enabled);break;case UI_BUTTON:case UPDATE_BUTTON:$("#btn"+data.id).prop("disabled",!data.enabled);break;case UI_PAD:case UI_CPAD:case UPDATE_PAD:case UPDATE_CPAD:if(data.enabled){$("#id"+data.id+" nav").removeClass('disabled');}else{$("#id"+data.id+" nav").addClass('disabled');}
-break;}}
-)=====";
-
-const uint8_t JS_CONTROLS_GZIP[4312] PROGMEM = { 31,139,8,0,210,8,51,99,2,255,197,27,105,119,219,56,238,123,126,133,162,246,213,242,198,241,209,107,58,118,148,62,215,113,91,239,228,218,196,153,206,219,78,55,79,182,233,88,47,178,164,145,228,164,153,212,255,125,65,240,16,169,195,118,146,153,221,47,141,5,130,32,136,131,0,1,118,28,248,113,98,92,12,46,7,199,131,225,160,123,120,249,233,98,96,191,108,54,59,99,49,112,214,63,60,233,30,0,172,37,96,167,7,221,97,255,242,228,227,199,243,254,208,110,169,184,253,223,134,253,227,3,70,163,165,192,135,131,97,255,208,86,0,167,64,49,67,15,65,233,34,131,203,30,133,188,212,145,122,12,235,101,138,245,225,98,56,60,57,182,95,233,120,28,218,106,190,74,49,15,187,31,128,137,215,58,34,3,182,154,175,83,188,243,47,131,97,239,115,255,204,126,163,163,74,120,171,249,70,193,62,28,28,0,236,109,6,151,65,91,205,183,41,230,241,197,209,7,128,253,164,99,114,104,171,249,147,34,46,144,35,40,228,244,98,104,191,211,177,149,145,86,243,93,58,227,211,89,247,244,179,253,51,7,116,15,14,24,228,242,244,100,112,76,81,249,64,239,176,223,61,227,200,173,230,207,202,138,221,15,118,43,163,16,6,83,20,114,222,63,236,247,128,90,70,39,2,220,82,180,114,114,58,28,80,249,103,212,34,192,45,69,45,71,3,0,100,180,130,176,150,162,147,163,238,111,118,43,163,15,132,181,84,85,12,251,167,118,43,171,9,4,182,20,61,124,234,94,124,234,219,173,140,30,56,180,165,168,161,219,235,81,219,200,168,128,67,91,239,84,193,156,118,207,186,195,19,80,227,207,89,217,200,145,150,42,238,193,81,31,60,42,35,111,10,108,41,80,233,48,7,39,95,142,165,187,28,246,63,14,165,91,156,13,62,125,30,74,227,239,245,143,135,96,75,66,110,189,203,225,197,217,191,46,78,6,231,125,73,170,119,217,63,234,159,117,15,83,247,235,93,158,246,97,214,217,224,87,152,250,82,2,191,244,135,221,243,211,207,221,67,133,252,229,249,197,241,199,195,147,47,218,26,189,238,217,217,201,80,58,75,239,178,123,56,248,119,247,12,52,248,86,130,14,186,103,191,72,195,239,93,30,159,28,195,246,223,188,233,220,56,145,113,21,57,225,236,192,73,28,219,39,183,70,55,138,156,59,171,138,35,51,39,238,142,199,196,179,167,142,23,19,4,197,158,59,33,81,47,240,19,215,95,4,139,152,15,77,23,254,56,113,3,223,24,7,94,16,245,60,39,142,45,252,57,152,84,239,249,15,251,120,49,31,145,72,194,59,241,173,155,140,103,10,158,19,19,85,102,237,136,36,139,200,55,225,159,63,22,129,27,19,179,195,81,184,8,5,2,153,147,200,241,38,114,56,149,167,192,8,73,66,162,200,189,33,145,68,74,229,43,144,110,73,226,196,225,204,241,18,137,36,229,45,112,226,133,63,245,130,91,133,14,19,191,24,31,59,81,20,164,243,133,42,196,176,227,185,127,58,145,235,75,4,170,152,54,255,77,181,34,16,39,78,116,109,118,38,100,234,44,188,68,0,205,206,114,185,69,181,112,75,70,113,48,190,238,40,191,65,37,62,25,39,100,162,40,235,11,25,157,195,16,73,134,46,72,200,246,23,158,151,106,42,34,127,44,72,156,156,68,46,241,19,135,130,78,73,52,119,227,24,126,89,213,251,229,150,196,140,157,27,242,73,24,9,12,121,193,216,241,206,147,32,114,174,72,61,38,201,32,33,115,203,36,113,184,112,209,150,98,179,246,207,243,147,227,122,156,192,78,175,220,233,157,37,77,172,90,237,40,132,35,88,63,136,20,218,46,88,1,90,25,172,56,65,147,212,214,186,42,92,43,37,222,113,167,150,156,186,141,251,173,222,167,180,144,169,208,137,98,146,98,85,59,76,182,233,146,95,221,201,55,96,146,129,191,126,203,242,235,68,9,136,224,185,53,9,198,139,57,72,174,90,119,38,19,203,252,135,89,173,7,211,41,56,206,115,203,124,22,5,183,240,61,75,230,158,101,154,85,234,118,231,32,226,69,220,7,227,136,0,135,147,81,105,103,113,238,97,47,73,180,32,182,109,103,53,92,189,47,209,57,7,215,199,94,0,123,100,172,72,186,192,80,68,230,193,13,97,222,105,162,219,237,94,69,132,248,102,30,21,54,165,225,69,100,82,128,197,118,136,28,27,13,227,56,48,56,71,116,67,47,158,189,123,251,234,77,167,96,86,42,39,13,234,91,247,99,207,29,95,183,185,152,107,203,42,181,119,41,161,153,227,79,60,242,171,27,187,35,215,115,147,187,30,0,174,8,147,212,118,86,34,47,94,108,11,13,213,103,238,100,66,252,234,189,84,159,70,86,168,84,162,195,214,251,55,240,227,208,141,19,226,195,129,101,222,200,53,199,184,166,89,43,230,165,134,106,64,51,188,117,253,73,112,91,167,230,75,87,169,135,65,148,108,219,166,249,227,71,241,200,187,102,217,200,235,215,175,164,194,241,132,150,94,109,153,183,113,187,209,48,119,178,19,103,65,156,248,206,156,236,152,237,252,32,165,186,99,54,110,65,230,157,37,1,126,31,77,156,211,216,130,237,82,87,3,75,213,15,156,234,125,230,0,162,103,133,15,7,241,141,227,89,66,254,76,127,194,114,35,226,76,238,168,73,80,187,127,165,171,172,246,166,217,108,210,245,4,114,224,7,33,241,109,73,137,220,36,52,216,248,113,224,17,224,247,10,182,192,48,13,138,183,129,145,151,57,67,66,190,131,60,164,109,1,70,206,1,169,171,118,150,157,148,53,244,193,77,120,67,196,162,67,66,165,70,40,108,19,106,56,153,81,147,131,20,187,163,72,146,199,118,106,193,104,232,43,232,226,212,36,186,195,83,121,146,57,68,97,176,62,193,51,116,185,5,198,1,161,28,201,165,20,144,107,14,148,155,137,137,15,231,229,194,13,174,193,56,155,226,252,237,176,192,70,108,233,134,163,96,114,135,156,142,9,181,25,240,29,145,48,208,53,235,201,93,72,120,202,160,95,158,218,5,7,48,5,37,206,40,246,157,155,34,48,240,11,158,158,168,67,96,147,184,76,54,223,129,120,146,205,128,10,241,96,63,8,167,164,163,192,139,235,211,32,234,59,192,60,241,8,221,158,189,143,34,133,240,254,157,233,224,158,162,183,51,113,147,35,87,107,203,142,162,47,75,206,2,201,167,172,38,65,226,120,98,189,125,75,95,222,35,254,85,50,219,109,85,229,89,162,43,162,20,29,54,50,2,175,188,238,8,81,167,87,204,246,255,119,135,76,238,212,168,225,132,34,223,119,30,181,227,77,230,231,101,192,174,228,237,236,209,24,17,47,112,38,224,98,58,54,94,190,219,210,176,19,55,241,8,179,26,207,25,17,15,205,112,238,184,254,103,56,252,32,177,228,86,152,34,100,233,225,149,185,45,190,216,253,85,126,166,23,84,9,98,247,67,249,137,23,45,101,144,95,144,218,66,202,24,237,60,82,133,211,113,24,124,30,30,29,90,204,201,117,38,216,5,63,55,233,62,59,139,110,110,148,248,230,14,162,65,130,135,129,62,9,22,227,25,202,190,157,30,62,213,123,82,15,35,66,213,126,192,18,95,42,202,69,146,208,211,20,18,3,139,147,168,209,195,22,148,82,67,42,160,211,199,208,224,161,122,137,89,70,70,189,162,208,176,126,119,236,68,130,28,65,144,101,232,142,135,12,102,200,210,218,137,148,59,253,189,145,240,194,233,163,101,23,58,19,182,233,139,211,218,99,101,87,68,67,149,29,178,232,61,157,69,122,171,126,58,147,26,149,28,155,209,211,217,196,251,254,211,249,212,201,228,24,29,61,157,81,90,178,120,58,159,26,149,28,155,227,167,179,201,42,38,79,103,52,67,103,165,119,99,105,112,189,243,69,52,165,63,199,184,110,109,231,242,128,28,217,97,247,67,158,166,158,120,56,97,136,17,104,207,115,247,247,28,35,240,231,64,137,44,66,187,2,56,108,31,82,162,59,102,181,98,204,34,50,181,43,148,130,2,175,236,243,15,60,102,118,204,189,134,179,191,215,0,146,133,25,141,92,115,226,222,24,238,4,151,210,136,237,53,96,132,206,165,243,108,32,80,215,9,192,215,136,76,122,236,219,130,203,127,16,182,169,154,150,85,76,254,44,211,9,93,182,178,3,216,83,215,131,100,77,205,238,249,253,250,185,149,204,220,24,248,73,18,184,81,209,141,153,85,200,241,33,209,166,251,222,77,130,93,118,150,154,16,240,169,49,153,8,55,107,170,1,208,124,2,216,177,195,40,152,135,144,145,15,157,145,145,4,6,155,72,127,193,61,132,150,152,12,184,142,130,77,190,103,121,220,54,221,79,157,33,193,12,11,62,33,39,112,60,18,81,18,51,39,161,52,141,73,64,98,195,15,18,131,124,135,123,159,209,254,253,119,188,219,20,216,92,129,73,177,178,170,84,63,164,199,48,163,199,50,9,198,54,3,81,241,62,139,33,231,25,39,92,7,58,106,135,125,166,74,11,66,188,163,82,189,177,159,230,206,150,208,221,150,89,49,208,4,236,138,128,50,139,160,3,2,194,22,35,20,123,95,192,48,169,0,192,94,131,209,220,55,243,59,58,26,148,110,7,192,207,173,202,179,216,171,20,109,129,231,77,212,244,203,113,152,17,204,93,223,212,3,38,189,142,26,156,62,168,114,253,2,165,72,101,43,228,246,217,253,237,239,223,167,243,125,197,62,233,229,114,253,10,229,88,114,13,134,254,119,75,52,183,151,220,241,58,236,159,110,232,9,238,164,200,11,118,76,195,245,195,69,194,188,151,123,68,236,254,73,44,112,91,225,32,200,76,156,144,112,13,55,216,106,89,127,214,203,26,226,87,238,93,223,236,92,113,82,132,58,184,177,194,125,33,194,129,243,155,43,43,63,183,102,34,44,141,142,186,123,101,186,67,109,60,214,98,251,200,73,102,245,40,88,128,227,211,74,12,80,132,29,211,154,39,45,158,88,213,70,11,203,31,249,213,234,225,34,158,89,247,223,219,73,92,187,107,167,210,128,115,42,83,185,125,12,231,10,223,74,243,170,93,32,176,175,223,254,226,245,68,7,136,170,79,180,34,170,108,92,118,38,176,238,178,62,148,175,172,117,103,14,63,165,47,137,181,4,53,185,77,111,102,220,224,196,210,192,208,201,173,127,26,5,33,132,149,59,171,194,239,181,231,201,157,71,42,85,150,8,168,132,132,1,195,48,183,96,117,70,49,75,242,90,178,226,214,1,17,181,105,190,111,182,91,15,99,45,126,50,111,44,169,42,161,133,172,105,158,186,197,18,170,75,90,144,182,114,179,152,151,91,233,15,101,106,205,4,71,48,149,82,235,255,110,147,252,170,77,105,193,49,169,16,163,5,205,199,90,133,78,233,49,108,41,87,126,204,255,32,84,252,69,188,101,72,173,103,174,140,56,30,232,195,187,112,53,101,90,211,227,132,229,132,18,115,99,37,141,92,58,245,212,13,231,136,61,70,31,188,52,146,175,124,100,57,203,99,96,165,249,177,204,235,164,30,195,121,90,160,72,95,123,180,243,104,172,130,68,151,188,114,22,87,228,47,146,125,150,214,99,54,192,226,69,129,139,12,142,250,24,103,163,27,91,9,174,73,48,56,63,57,199,98,164,149,173,80,39,16,117,219,230,78,116,131,93,148,76,124,18,141,89,189,210,109,94,248,215,126,112,235,27,212,144,233,37,4,111,14,166,152,148,186,7,29,223,183,69,105,240,197,11,9,220,211,222,246,64,186,19,5,99,18,199,125,223,129,184,54,177,68,181,61,67,71,157,163,17,211,10,227,44,253,18,213,89,45,255,162,27,43,83,85,232,248,196,211,20,165,78,43,208,82,58,97,213,137,192,99,53,165,201,81,190,74,216,183,234,86,110,157,120,22,220,130,142,104,62,155,31,156,65,44,177,178,130,177,109,45,54,85,239,249,214,245,54,40,139,67,187,242,141,1,127,225,176,203,223,20,136,207,244,1,129,128,164,175,5,4,68,190,13,16,0,246,24,64,124,201,222,63,221,5,17,173,70,157,13,115,71,121,64,193,235,209,240,93,21,173,186,194,45,164,188,11,166,21,110,85,54,37,127,156,177,85,28,149,242,177,85,98,147,180,114,128,37,147,93,30,218,47,241,203,172,214,9,237,10,40,21,1,94,10,248,218,252,198,115,22,189,54,192,146,5,122,58,50,168,79,207,68,158,122,21,98,178,43,185,210,45,155,3,123,206,21,177,149,142,130,218,106,103,252,177,86,46,175,24,48,223,0,122,182,72,20,56,28,79,180,236,209,16,123,184,50,28,11,240,23,143,7,142,221,121,176,16,244,4,41,43,25,94,108,144,156,179,101,86,112,142,201,196,42,214,253,50,206,149,85,104,16,90,177,6,11,221,171,22,73,54,89,68,84,188,10,151,160,53,170,149,43,56,163,13,214,96,209,124,149,162,121,184,95,169,236,13,22,82,27,12,108,184,230,198,19,136,4,120,184,241,159,58,217,17,133,41,212,240,162,158,65,89,132,197,203,201,170,39,61,230,106,249,5,197,249,200,70,224,62,205,251,158,78,204,79,140,137,27,163,243,130,239,220,203,254,43,239,174,42,141,85,86,84,109,151,109,33,28,175,223,67,56,214,54,161,69,230,114,194,211,13,8,79,203,8,211,154,117,57,233,13,228,30,142,202,72,211,246,66,57,105,111,3,210,94,25,105,236,8,148,211,142,54,160,29,21,208,214,94,186,136,107,35,183,152,152,190,179,64,131,137,217,139,11,246,96,138,150,76,179,167,96,106,58,64,96,124,205,44,39,227,39,14,172,114,67,244,195,80,35,162,60,183,16,68,244,23,40,130,146,235,175,165,165,63,101,74,201,201,130,23,223,82,43,189,250,173,98,35,139,3,49,46,76,199,69,91,34,67,187,153,167,93,194,214,26,242,162,91,193,222,64,40,125,135,244,101,134,27,31,184,241,24,124,149,151,193,17,201,46,13,55,202,91,205,241,200,86,194,142,22,251,244,24,4,39,6,221,64,232,57,99,98,53,254,243,251,193,78,227,170,102,98,120,101,189,16,236,241,224,197,172,93,16,200,212,48,77,33,60,130,45,151,188,147,82,26,1,75,38,118,240,32,83,25,28,59,158,55,114,198,215,231,4,114,234,109,219,164,90,49,153,189,170,226,17,147,82,110,133,32,150,194,222,84,20,38,11,13,103,171,124,221,26,95,181,179,92,138,151,52,178,216,148,202,25,115,162,251,52,17,182,215,102,214,239,77,3,115,104,90,203,207,100,209,59,180,156,223,54,205,14,130,110,129,205,98,114,116,132,18,162,127,17,159,10,166,100,97,165,220,90,169,254,248,33,99,110,121,117,120,191,169,149,111,55,161,251,126,21,217,244,153,14,123,142,4,218,95,253,196,71,127,245,192,239,216,185,142,125,105,175,61,211,253,123,252,235,9,44,127,22,191,165,96,183,79,182,21,217,111,83,46,42,168,201,29,85,179,198,152,30,21,118,37,185,13,232,211,233,197,220,143,5,6,85,35,69,112,162,137,145,176,55,80,180,171,83,156,151,99,35,111,246,70,116,6,89,135,199,220,107,0,104,111,22,53,104,235,135,103,248,105,85,20,59,64,216,251,203,20,93,211,39,33,143,217,74,204,222,127,34,73,177,39,218,178,132,213,86,48,88,204,9,94,219,197,229,89,239,141,81,214,132,59,111,212,86,200,54,215,114,242,144,7,176,50,146,117,105,58,12,146,224,66,80,177,87,248,185,94,236,200,121,186,58,44,125,29,23,18,53,48,123,93,77,13,104,226,141,87,144,148,67,146,222,58,191,226,47,204,247,98,80,41,234,26,162,149,208,178,198,224,150,84,52,234,208,192,127,119,111,35,39,204,247,165,41,177,125,51,251,100,72,44,197,146,102,92,12,43,87,101,203,241,54,57,77,128,0,83,201,180,217,148,154,129,209,153,246,64,77,181,165,94,132,201,2,109,101,95,239,151,2,167,12,89,225,85,30,40,130,91,182,91,202,108,188,94,52,188,35,45,30,153,137,202,124,203,124,47,131,62,40,5,60,176,164,54,2,127,92,136,58,168,88,250,177,43,82,55,131,207,51,185,71,81,207,228,107,186,62,135,161,242,185,61,224,106,163,224,123,133,113,46,24,15,252,30,149,139,96,148,190,113,102,18,194,12,16,187,199,107,56,55,133,203,238,53,80,50,138,232,114,71,175,16,33,220,66,4,179,252,149,29,28,90,11,143,113,173,61,137,96,186,86,159,30,25,186,178,41,135,166,162,236,66,84,174,109,220,58,125,69,197,222,59,188,120,246,243,219,55,205,78,250,106,98,221,234,236,173,206,166,12,100,176,53,30,162,71,243,128,239,154,54,101,65,71,214,56,240,30,205,1,190,4,218,148,3,29,89,227,96,180,146,131,6,51,7,173,136,199,44,234,189,9,172,165,214,51,117,163,121,165,132,85,254,22,104,67,94,57,118,49,183,99,193,237,201,47,148,81,225,125,123,13,176,101,245,180,96,73,133,48,116,197,43,213,236,60,117,171,13,28,158,207,208,221,157,185,182,126,8,49,71,199,117,42,198,220,5,65,52,225,175,243,221,174,180,154,77,229,133,136,122,224,161,52,244,184,83,196,48,191,78,128,151,98,88,40,196,64,138,5,39,42,158,253,34,170,103,178,45,33,39,182,29,30,13,49,145,105,143,224,246,113,221,49,74,66,35,221,57,150,184,248,243,23,182,119,118,171,42,221,42,4,1,76,241,5,34,191,252,48,249,129,162,27,10,131,74,254,167,51,9,216,105,76,125,32,199,172,96,150,125,177,83,198,164,82,125,43,100,145,231,163,50,96,99,9,235,161,66,20,133,47,206,84,186,186,86,50,43,92,159,37,192,98,249,169,123,181,136,8,210,228,157,124,254,170,12,6,198,14,127,94,148,201,249,148,33,252,0,2,42,125,76,169,57,253,47,131,195,67,227,67,223,232,26,8,54,202,77,134,237,139,247,144,254,46,243,96,9,62,231,13,63,140,6,253,127,79,224,147,243,144,137,153,76,140,41,4,209,187,109,245,20,112,232,91,5,18,5,115,90,151,103,156,34,72,114,186,175,98,143,224,190,41,229,200,130,108,8,50,46,162,21,44,18,250,82,70,34,135,40,202,178,255,54,168,87,238,179,185,109,121,138,152,185,93,101,94,35,136,158,11,97,100,11,122,237,106,85,164,34,106,143,21,94,22,81,219,254,88,22,145,197,73,89,23,225,119,246,108,7,95,212,113,30,66,146,87,114,138,159,132,110,242,160,33,75,112,91,219,123,230,254,162,221,46,215,188,33,120,16,225,220,61,117,147,151,0,15,90,65,187,246,174,111,186,63,136,182,118,121,95,211,51,127,16,97,53,243,236,101,155,217,133,205,237,66,227,213,238,185,188,120,94,102,195,169,113,22,205,42,180,81,97,125,203,229,127,1,88,119,76,11,253,65,0,0 };
+const char JS_CONTROLS[] PROGMEM = R"=====(
+const UI_INITIAL_GUI=200;const UI_RELOAD=201;const UPDATE_OFFSET=100;const UI_EXTEND_GUI=210;const UI_TITEL=0;const UI_PAD=1;const UPDATE_PAD=101;const UI_CPAD=2;const UPDATE_CPAD=102;const UI_BUTTON=3;const UPDATE_BUTTON=103;const UI_LABEL=4;const UPDATE_LABEL=104;const UI_SWITCHER=5;const UPDATE_SWITCHER=105;const UI_SLIDER=6;const UPDATE_SLIDER=106;const UI_NUMBER=7;const UPDATE_NUMBER=107;const UI_TEXT_INPUT=8;const UPDATE_TEXT_INPUT=108;const UI_GRAPH=9;const ADD_GRAPH_POINT=10;const CLEAR_GRAPH=109;const UI_TAB=11;const UPDATE_TAB=111;const UI_SELECT=12;const UPDATE_SELECT=112;const UI_OPTION=13;const UPDATE_OPTION=113;const UI_MIN=14;const UPDATE_MIN=114;const UI_MAX=15;const UPDATE_MAX=115;const UI_STEP=16;const UPDATE_STEP=116;const UI_GAUGE=17;const UPDATE_GAUGE=117;const UI_ACCEL=18;const UPDATE_ACCEL=118;const UI_SEPARATOR=19;const UPDATE_SEPARATOR=119;const UI_TIME=20;const UPDATE_TIME=120;const UP=0;const DOWN=1;const LEFT=2;const RIGHT=3;const CENTER=4;const C_TURQUOISE=0;const C_EMERALD=1;const C_PETERRIVER=2;const C_WETASPHALT=3;const C_SUNFLOWER=4;const C_CARROT=5;const C_ALIZARIN=6;const C_DARK=7;const C_NONE=255;var graphData=new Array();var hasAccel=false;var sliderContinuous=false;function colorClass(colorId){colorId=Number(colorId);switch(colorId){case C_TURQUOISE:return"turquoise";case C_EMERALD:return"emerald";case C_PETERRIVER:return"peterriver";case C_WETASPHALT:return"wetasphalt";case C_SUNFLOWER:return"sunflower";case C_CARROT:return"carrot";case C_ALIZARIN:return"alizarin";case C_DARK:case C_NONE:return"dark";default:return"";}}
+var websock;var websockConnected=false;var WebSocketTimer=null;function requestOrientationPermission(){}
+function saveGraphData(){localStorage.setItem("espuigraphs",JSON.stringify(graphData));}
+function restoreGraphData(id){var savedData=localStorage.getItem("espuigraphs",graphData);if(savedData!=null){savedData=JSON.parse(savedData);let idData=savedData[id];return Array.isArray(idData)?idData:[];}
+return[];}
+function restart(){$(document).add("*").off();$("#row").html("");conStatusError();start();}
+function conStatusError(){if(true===websockConnected){websockConnected=false;websock.close();$("#conStatus").removeClass("color-green");$("#conStatus").addClass("color-red");$("#conStatus").html("Error / No Connection ↻");$("#conStatus").off();$("#conStatus").on({click:restart,});}}
+function handleVisibilityChange(){if(!websockConnected&&!document.hidden){restart();}}
+function start(){document.addEventListener("visibilitychange",handleVisibilityChange,false);if(window.location.port!=""||window.location.port!=80||window.location.port!=443){websock=new WebSocket("ws://"+window.location.hostname+":"+window.location.port+"/ws");}else{websock=new WebSocket("ws://"+window.location.hostname+"/ws");}
+if(null===WebSocketTimer){WebSocketTimer=setInterval(function(){if(websock.readyState===3){restart();}},5000);}
+websock.onopen=function(evt){console.log("websock open");$("#conStatus").addClass("color-green");$("#conStatus").text("Connected");websockConnected=true;};websock.onclose=function(evt){console.log("websock close");conStatusError();};websock.onerror=function(evt){console.log("websock Error");console.log(evt);restart();};var handleEvent=function(evt){console.log(evt);try{var data=JSON.parse(evt.data);}
+catch(Event){console.error(Event);websock.send("uiok:"+0);return;}
+var e=document.body;var center="";switch(data.type){case UI_INITIAL_GUI:$("#row").html("");$("#tabsnav").html("");$("#tabscontent").html("");if(data.sliderContinuous){sliderContinuous=data.sliderContinuous;}
+data.controls.forEach(element=>{var fauxEvent={data:JSON.stringify(element),};handleEvent(fauxEvent);});if(data.totalcontrols>(data.controls.length-1)){websock.send("uiok:"+(data.controls.length-1));}
+break;case UI_EXTEND_GUI:data.controls.forEach(element=>{var fauxEvent={data:JSON.stringify(element),};handleEvent(fauxEvent);});if(data.totalcontrols>data.startindex+(data.controls.length-1)){websock.send("uiok:"+(data.startindex+(data.controls.length-1)));}
+break;case UI_RELOAD:window.location.reload();break;case UI_TITEL:document.title=data.label;$("#mainHeader").html(data.label);break;case UI_LABEL:case UI_NUMBER:case UI_TEXT_INPUT:case UI_SELECT:case UI_GAUGE:case UI_SEPARATOR:if(data.visible)addToHTML(data);break;case UI_BUTTON:if(data.visible){addToHTML(data);$("#btn"+data.id).on({touchstart:function(e){e.preventDefault();buttonclick(data.id,true);},touchend:function(e){e.preventDefault();buttonclick(data.id,false);},});}
+break;case UI_SWITCHER:if(data.visible){addToHTML(data);switcher(data.id,data.value);}
+break;case UI_CPAD:case UI_PAD:if(data.visible){addToHTML(data);$("#pf"+data.id).on({touchstart:function(e){e.preventDefault();padclick(UP,data.id,true);},touchend:function(e){e.preventDefault();padclick(UP,data.id,false);},});$("#pl"+data.id).on({touchstart:function(e){e.preventDefault();padclick(LEFT,data.id,true);},touchend:function(e){e.preventDefault();padclick(LEFT,data.id,false);},});$("#pr"+data.id).on({touchstart:function(e){e.preventDefault();padclick(RIGHT,data.id,true);},touchend:function(e){e.preventDefault();padclick(RIGHT,data.id,false);},});$("#pb"+data.id).on({touchstart:function(e){e.preventDefault();padclick(DOWN,data.id,true);},touchend:function(e){e.preventDefault();padclick(DOWN,data.id,false);},});$("#pc"+data.id).on({touchstart:function(e){e.preventDefault();padclick(CENTER,data.id,true);},touchend:function(e){e.preventDefault();padclick(CENTER,data.id,false);},});}
+break;case UI_SLIDER:if(data.visible){addToHTML(data);rangeSlider(!sliderContinuous);}
+break;case UI_TAB:if(data.visible){$("#tabsnav").append("
"+data.value+" ");$("#tabscontent").append("
");tabs=$(".tabscontent").tabbedContent({loop:true}).data("api");$("a").filter(function(){return $(this).attr("href")==="#click-to-switch";}).on("click",function(e){var tab=prompt("Tab to switch to (number or id)?");if(!tabs.switchTab(tab)){alert("That tab does not exist :\\");}
+e.preventDefault();});}
+break;case UI_OPTION:if(data.parentControl){var parent=$("#select"+data.parentControl);parent.append("
"+
+data.label+
+" ");}
+break;case UI_MIN:if(data.parentControl){if($('#sl'+data.parentControl).length){$('#sl'+data.parentControl).attr("min",data.value);}else if($('#num'+data.parentControl).length){$('#num'+data.parentControl).attr("min",data.value);}}
+break;case UI_MAX:if(data.parentControl){if($('#sl'+data.parentControl).length){$('#sl'+data.parentControl).attr("max",data.value);}else if($('#text'+data.parentControl).length){$('#text'+data.parentControl).attr("maxlength",data.value);}else if($('#num'+data.parentControl).length){$('#num'+data.parentControl).attr("max",data.value);}}
+break;case UI_STEP:if(data.parentControl){var parent=$("#id"+data.parentControl+" input");if(parent.size()){parent.attr("step",data.value);}}
+break;case UI_GRAPH:if(data.visible){addToHTML(data);graphData[data.id]=restoreGraphData(data.id);renderGraphSvg(graphData[data.id],"graph"+data.id);}
+break;case ADD_GRAPH_POINT:var ts=Math.round(new Date().getTime()/1000);graphData[data.id].push({x:ts,y:data.value});saveGraphData();renderGraphSvg(graphData[data.id],"graph"+data.id);break;case CLEAR_GRAPH:graphData[data.id]=[];saveGraphData();renderGraphSvg(graphData[data.id],"graph"+data.id);break;case UI_ACCEL:if(hasAccel)break;hasAccel=true;if(data.visible){addToHTML(data);requestOrientationPermission();}
+break;case UPDATE_LABEL:$("#l"+data.id).html(data.value);if(data.hasOwnProperty('elementStyle')){$("#l"+data.id).attr("style",data.elementStyle);}
+break;case UPDATE_SWITCHER:switcher(data.id,data.value=="0"?0:1);if(data.hasOwnProperty('elementStyle')){$("#sl"+data.id).attr("style",data.elementStyle);}
+break;case UPDATE_SLIDER:$("#sl"+data.id).attr("value",data.value)
+slider_move($("#sl"+data.id).parent().parent(),data.value,"100",false);if(data.hasOwnProperty('elementStyle')){$("#sl"+data.id).attr("style",data.elementStyle);}
+break;case UPDATE_NUMBER:$("#num"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#num"+data.id).attr("style",data.elementStyle);}
+break;case UPDATE_TEXT_INPUT:$("#text"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#text"+data.id).attr("style",data.elementStyle);}
+if(data.hasOwnProperty('inputType')){$("#text"+data.id).attr("type",data.inputType);}
+break;case UPDATE_SELECT:$("#select"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#select"+data.id).attr("style",data.elementStyle);}
+break;case UPDATE_BUTTON:$("#btn"+data.id).val(data.value);$("#btn"+data.id).text(data.value);if(data.hasOwnProperty('elementStyle')){$("#btn"+data.id).attr("style",data.elementStyle);}
+break;case UPDATE_PAD:case UPDATE_CPAD:break;case UPDATE_GAUGE:$("#gauge"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#gauge"+data.id).attr("style",data.elementStyle);}
+break;case UPDATE_ACCEL:break;case UPDATE_TIME:var rv=new Date().toISOString();websock.send("time:"+rv+":"+data.id);break;default:console.error("Unknown type or event");break;}
+if(data.type>=UI_TITEL&&data.type
=UPDATE_OFFSET&&data.type0){var parent=data.hasOwnProperty('parentControl')?$("#tab"+data.parentControl):$("#row");var html="";switch(data.type){case UI_LABEL:case UI_BUTTON:case UI_SWITCHER:case UI_CPAD:case UI_PAD:case UI_SLIDER:case UI_NUMBER:case UI_TEXT_INPUT:case UI_SELECT:case UI_GRAPH:case UI_GAUGE:case UI_ACCEL:html="
"+data.label+" "+
+elementHTML(data)+
+"";break;case UI_SEPARATOR:html=""+
+"
"+data.label+" ";break;case UI_TIME:break;}
+parent.append(html);}else{var parent=$("#id"+data.parentControl);parent.append(elementHTML(data));}}
+var elementHTML=function(data){var id=data.id
+var elementStyle=data.hasOwnProperty('elementStyle')?" style='"+data.elementStyle+"' ":"";var inputType=data.hasOwnProperty('inputType')?" type='"+data.inputType+"' ":"";switch(data.type){case UI_LABEL:return""+data.value+" ";case UI_BUTTON:return""+
+data.value+" ";case UI_SWITCHER:return""+
+""+
+"
";case UI_CPAD:case UI_PAD:return""+
+"▲ "+
+"▲ "+
+"▲ "+
+"▲ "+
+" "+
+(data.type==UI_CPAD?"OK ":"")+
+" ";case UI_SLIDER:return""+
+""+
+data.value+"
";case UI_NUMBER:return" ";case UI_TEXT_INPUT:return" ";case UI_SELECT:return" ";case UI_GRAPH:return""+data.label+" ";case UI_GAUGE:return"WILL BE A GAUGE ";case UI_ACCEL:return"ACCEL // Not implemented fully!
";default:return"";}}
+var processEnabled=function(data){switch(data.type){case UI_SWITCHER:case UPDATE_SWITCHER:if(data.enabled){$("#sl"+data.id).removeClass('disabled');$("#s"+data.id).prop("disabled",false);}else{$("#sl"+data.id).addClass('disabled');$("#s"+data.id).prop("disabled",true);}
+break;case UI_SLIDER:case UPDATE_SLIDER:$("#sl"+data.id).prop("disabled",!data.enabled);break;case UI_NUMBER:case UPDATE_NUMBER:$("#num"+data.id).prop("disabled",!data.enabled);break;case UI_TEXT_INPUT:case UPDATE_TEXT_INPUT:$("#text"+data.id).prop("disabled",!data.enabled);break;case UI_SELECT:case UPDATE_SELECT:$("#select"+data.id).prop("disabled",!data.enabled);break;case UI_BUTTON:case UPDATE_BUTTON:$("#btn"+data.id).prop("disabled",!data.enabled);break;case UI_PAD:case UI_CPAD:case UPDATE_PAD:case UPDATE_CPAD:if(data.enabled){$("#id"+data.id+" nav").removeClass('disabled');}else{$("#id"+data.id+" nav").addClass('disabled');}
+break;}}
+)=====";
+
+const uint8_t JS_CONTROLS_GZIP[4334] PROGMEM = { 31,139,8,0,167,12,99,99,2,255,197,27,105,119,219,56,238,123,126,133,162,246,213,242,198,241,209,107,58,118,148,62,215,113,91,239,228,218,196,153,206,219,78,55,79,182,233,88,47,178,164,145,228,164,153,212,255,125,65,240,16,169,195,118,146,153,221,47,141,5,130,32,136,131,0,1,118,28,248,113,98,92,12,46,7,199,131,225,160,123,120,249,233,98,96,191,108,54,59,99,49,112,214,63,60,233,30,0,172,37,96,167,7,221,97,255,242,228,227,199,243,254,208,110,169,184,253,223,134,253,227,3,70,163,165,192,135,131,97,255,208,86,0,167,64,49,67,15,65,233,34,131,203,30,133,188,212,145,122,12,235,101,138,245,225,98,56,60,57,182,95,233,120,28,218,106,190,74,49,15,187,31,128,137,215,58,34,3,182,154,175,83,188,243,47,131,97,239,115,255,204,126,163,163,74,120,171,249,70,193,62,28,28,0,236,109,6,151,65,91,205,183,41,230,241,197,209,7,128,253,164,99,114,104,171,249,147,34,46,144,35,40,228,244,98,104,191,211,177,149,145,86,243,93,58,227,211,89,247,244,179,253,51,7,116,15,14,24,228,242,244,100,112,76,81,249,64,239,176,223,61,227,200,173,230,207,202,138,221,15,118,43,163,16,6,83,20,114,222,63,236,247,128,90,70,39,2,220,82,180,114,114,58,28,80,249,103,212,34,192,45,69,45,71,3,0,100,180,130,176,150,162,147,163,238,111,118,43,163,15,132,181,84,85,12,251,167,118,43,171,9,4,182,20,61,124,234,94,124,234,219,173,140,30,56,180,165,168,161,219,235,81,219,200,168,128,67,91,239,84,193,156,118,207,186,195,19,80,227,207,89,217,200,145,150,42,238,193,81,31,60,42,35,111,10,108,41,80,233,48,7,39,95,142,165,187,28,246,63,14,165,91,156,13,62,125,30,74,227,239,245,143,135,96,75,66,110,189,203,225,197,217,191,46,78,6,231,125,73,170,119,217,63,234,159,117,15,83,247,235,93,158,246,97,214,217,224,87,152,250,82,2,191,244,135,221,243,211,207,221,67,133,252,229,249,197,241,199,195,147,47,218,26,189,238,217,217,201,80,58,75,239,178,123,56,248,119,247,12,52,248,86,130,14,186,103,191,72,195,239,93,30,159,28,195,246,223,188,233,220,56,145,113,21,57,225,236,192,73,28,219,39,183,70,55,138,156,59,171,138,35,51,39,238,142,199,196,179,167,142,23,19,4,197,158,59,33,81,47,240,19,215,95,4,139,152,15,77,23,254,56,113,3,223,24,7,94,16,245,60,39,142,45,252,57,152,84,239,249,15,251,120,49,31,145,72,194,59,241,173,155,140,103,10,158,19,19,85,102,237,136,36,139,200,55,225,159,63,22,129,27,19,179,195,81,184,8,5,2,153,147,200,241,38,114,56,149,167,192,8,73,66,162,200,189,33,145,68,74,229,43,144,110,73,226,196,225,204,241,18,137,36,229,45,112,226,133,63,245,130,91,133,14,19,191,24,31,59,81,20,164,243,133,42,196,176,227,185,127,58,145,235,75,4,170,152,54,255,77,181,34,16,39,78,116,109,118,38,100,234,44,188,68,0,205,206,114,185,69,181,112,75,70,113,48,190,238,40,191,65,37,62,25,39,100,162,40,235,11,25,157,195,16,73,134,46,72,200,246,23,158,151,106,42,34,127,44,72,156,156,68,46,241,19,135,130,78,73,52,119,227,24,126,89,213,251,229,150,196,140,157,27,242,73,24,9,12,121,193,216,241,206,147,32,114,174,72,61,38,201,32,33,115,203,36,113,184,112,209,150,98,179,246,207,243,147,227,122,156,192,78,175,220,233,157,37,77,172,90,237,40,132,35,88,63,136,20,218,46,88,1,90,25,172,56,65,147,212,214,186,42,92,43,37,222,113,167,150,156,186,141,251,173,222,167,180,144,169,208,137,98,146,98,85,59,30,73,12,151,33,72,232,87,119,242,173,195,132,206,28,162,238,198,204,49,24,102,245,61,251,219,254,250,13,246,195,16,241,167,182,53,39,74,64,90,207,173,73,48,94,204,65,200,213,186,51,153,88,230,63,204,106,61,152,78,193,199,158,91,230,179,40,184,133,239,89,50,247,44,211,172,82,15,61,7,109,44,226,62,216,81,4,56,156,140,74,59,139,115,15,219,78,162,5,177,109,59,107,12,213,251,18,243,224,224,250,216,11,64,28,140,21,73,23,24,138,200,60,184,33,204,145,77,244,208,221,171,136,16,223,204,163,194,166,52,188,136,76,10,176,216,14,145,99,163,97,28,7,6,231,136,110,232,197,179,119,111,95,189,233,20,204,74,229,164,65,125,235,126,236,185,227,235,54,23,115,109,89,165,174,33,37,52,115,252,137,71,126,117,99,119,228,122,110,114,215,3,192,21,97,146,218,206,74,228,197,139,109,161,161,250,204,157,76,136,95,189,151,234,211,200,10,149,74,116,216,122,255,6,126,28,186,113,66,124,56,219,204,27,185,230,24,215,52,107,197,188,212,80,13,104,177,183,174,63,9,110,235,212,210,233,42,245,48,136,146,109,219,52,127,252,40,30,121,215,44,27,121,253,250,149,84,56,30,230,242,0,176,204,219,184,221,104,152,59,217,137,179,32,78,124,103,78,118,204,118,126,144,82,221,49,27,183,32,243,206,146,0,191,143,38,206,105,108,193,118,169,87,130,165,234,103,83,245,62,115,86,209,99,197,135,51,251,198,241,44,33,127,166,63,97,185,17,113,38,119,212,36,168,221,191,210,85,86,123,211,108,54,233,122,2,57,240,131,144,248,182,164,68,110,18,26,151,252,56,240,8,240,123,5,91,96,152,6,197,219,192,200,203,156,33,33,223,65,30,210,182,0,35,231,128,212,85,59,203,78,202,26,250,224,38,188,33,98,209,33,161,82,35,20,182,9,53,156,204,168,201,65,138,221,81,36,201,211,0,106,193,104,232,43,232,226,212,36,186,195,3,124,146,57,111,97,176,62,193,227,118,185,5,198,1,81,31,201,165,20,144,107,14,148,155,137,137,15,231,229,194,13,174,193,56,155,85,126,34,119,88,12,36,182,116,195,81,48,185,67,78,199,132,218,12,248,142,200,45,232,154,245,228,46,36,60,187,208,239,89,237,130,3,152,130,18,103,20,251,206,77,17,24,248,5,79,79,212,33,176,73,92,38,155,26,65,232,201,38,75,133,120,176,31,132,83,210,81,224,197,245,105,16,245,29,96,158,120,132,110,207,222,71,145,66,38,240,157,233,224,158,162,183,51,33,150,35,87,107,203,142,162,47,75,206,2,201,167,172,38,65,226,120,98,189,125,75,95,222,35,254,85,50,219,109,85,229,89,162,43,162,20,29,54,50,2,175,188,238,8,81,167,183,209,246,255,119,135,76,238,212,168,225,132,34,223,119,30,181,227,77,230,231,101,192,110,239,237,236,209,24,17,47,112,38,224,98,58,54,222,211,219,210,176,19,55,241,8,179,26,207,25,17,15,205,112,238,184,254,103,56,252,32,7,229,86,152,34,100,233,225,237,186,45,190,216,85,87,126,166,119,89,9,98,87,73,249,137,119,50,101,144,223,165,218,66,202,24,237,60,82,133,211,113,24,124,30,30,29,90,204,201,117,38,88,45,32,55,233,62,59,139,110,110,148,248,230,14,162,65,46,136,129,62,9,22,227,25,202,190,157,30,62,213,123,82,15,35,66,213,126,192,114,100,42,202,69,146,208,211,20,18,3,139,147,168,209,195,22,148,82,67,42,160,211,199,208,224,161,122,137,89,70,70,189,162,38,177,126,119,236,68,130,28,65,144,101,232,142,135,12,102,200,210,50,139,148,59,253,189,145,240,194,233,163,101,23,58,19,182,233,139,211,218,99,101,87,68,67,149,29,178,232,61,157,69,122,1,127,58,147,26,149,28,155,209,211,217,196,210,192,211,249,212,201,228,24,29,61,157,81,90,221,120,58,159,26,149,28,155,227,167,179,201,138,43,79,103,52,67,103,165,119,99,21,113,189,243,69,52,165,63,199,184,110,109,231,242,128,28,217,97,247,67,158,166,158,120,56,97,136,17,104,207,115,247,247,28,35,240,231,64,137,44,66,187,2,56,108,31,82,162,59,102,181,98,204,34,50,181,43,148,130,2,175,236,243,15,60,102,118,204,189,134,179,191,215,0,146,133,25,141,92,115,226,222,192,149,24,151,210,136,237,53,96,132,206,165,243,108,32,80,215,9,192,215,136,76,122,236,219,186,247,130,32,108,83,53,45,171,152,252,89,166,19,186,108,101,7,176,167,174,7,201,154,154,221,243,27,247,115,43,153,185,49,240,147,36,112,163,162,27,51,171,144,227,67,162,77,247,189,155,4,187,236,44,53,33,224,83,99,50,17,110,214,84,3,160,249,4,176,99,135,81,48,15,33,35,31,58,35,35,9,12,54,145,254,130,123,8,173,70,25,112,29,5,155,124,207,242,184,109,186,159,58,67,130,25,22,124,66,78,224,120,36,162,36,102,78,66,105,26,147,128,196,134,31,36,6,249,14,247,62,163,253,251,239,120,183,41,176,185,2,147,98,21,88,169,126,72,143,97,70,143,101,18,140,109,6,162,226,125,22,67,206,51,78,184,14,116,212,14,251,76,149,22,132,120,71,165,122,99,63,205,157,45,161,187,45,179,98,160,9,216,21,1,101,22,65,7,4,132,45,70,40,246,190,128,97,82,1,128,189,6,163,185,111,230,119,116,52,40,221,14,128,159,91,149,103,177,87,41,218,2,207,155,168,233,151,227,48,35,152,187,190,169,7,76,122,29,53,56,125,80,229,250,5,74,145,202,86,200,237,179,251,219,223,191,79,231,251,138,125,210,203,229,250,21,202,177,228,26,12,253,239,150,104,110,47,185,227,117,216,63,221,208,19,220,73,145,23,236,152,134,235,135,139,132,121,47,247,136,216,253,147,88,224,182,194,65,144,153,56,33,225,26,110,176,43,179,254,172,151,229,198,175,220,187,190,217,185,58,166,8,117,112,99,133,251,66,132,3,231,55,87,86,126,110,205,68,88,26,29,117,247,202,52,146,218,120,172,197,246,145,147,204,234,81,176,0,199,167,149,24,160,8,59,166,229,81,90,60,177,170,141,22,150,63,242,171,213,195,69,60,179,238,191,183,147,184,118,215,78,165,1,231,84,166,200,251,24,206,21,190,149,62,87,187,64,96,95,191,253,197,235,137,102,17,85,159,232,90,84,217,184,108,98,96,221,101,125,40,95,89,22,207,28,126,74,11,19,107,9,106,114,155,222,204,184,193,137,165,129,161,147,91,255,52,10,66,8,43,119,86,133,223,107,207,147,59,143,84,170,44,17,80,9,9,3,134,97,110,193,234,140,98,150,228,181,100,197,173,3,34,106,211,124,223,108,183,30,198,90,252,100,222,88,82,85,66,11,89,211,60,117,139,37,84,151,180,32,109,229,102,49,47,183,210,31,202,212,154,9,142,96,42,165,214,255,221,38,249,85,155,210,130,99,82,33,70,11,154,143,181,10,157,210,99,216,82,174,252,152,255,65,168,248,139,120,203,144,90,207,92,25,113,60,208,135,119,225,106,202,180,166,199,9,203,9,37,230,198,74,26,185,116,234,169,27,206,17,123,140,62,120,105,36,95,249,200,114,150,199,192,74,243,99,153,215,73,61,134,243,180,64,145,62,12,105,231,209,88,5,137,46,121,229,44,174,200,95,36,251,44,173,199,108,128,197,139,2,23,25,28,245,49,206,70,55,182,18,92,147,96,112,126,114,142,197,72,43,91,161,78,32,234,182,205,157,232,6,187,40,153,248,36,122,184,122,165,219,188,240,175,253,224,214,55,168,33,211,75,8,222,28,76,49,41,117,15,58,190,111,139,210,224,139,23,18,184,167,61,3,130,116,39,10,198,36,142,251,190,3,113,109,98,137,106,123,134,142,58,71,35,166,21,198,89,250,37,170,179,90,254,69,55,86,166,170,208,241,137,167,41,74,157,86,160,165,116,194,170,19,129,199,106,74,147,163,124,149,176,111,213,173,220,58,241,44,184,5,29,209,124,54,63,56,131,88,98,101,5,99,219,90,108,170,222,243,173,235,109,80,22,135,118,229,115,4,254,24,98,151,63,63,16,159,233,91,3,1,73,31,22,8,136,124,70,32,0,236,221,128,248,146,207,4,232,46,136,104,53,234,108,152,59,202,91,11,94,143,134,239,170,104,213,21,110,33,229,93,48,173,112,171,178,41,249,227,140,173,226,168,148,143,173,18,155,164,149,3,44,153,236,242,208,126,137,95,102,181,78,104,87,64,169,8,240,82,192,215,230,55,158,179,232,181,1,150,44,208,211,145,65,125,122,38,242,212,171,16,147,93,201,149,110,217,28,216,115,174,136,173,116,20,212,86,59,227,143,181,114,121,197,128,249,6,208,179,69,162,192,225,120,162,101,143,134,216,195,149,225,88,128,191,120,60,112,236,206,131,133,160,39,72,89,201,240,98,131,228,156,45,179,130,115,76,38,86,177,238,151,113,174,172,66,131,208,138,53,88,232,94,181,72,178,201,34,162,226,85,184,4,173,81,173,92,193,25,109,176,6,139,230,171,20,205,195,253,74,101,111,176,144,218,96,96,195,53,55,158,64,36,192,195,141,255,212,201,142,40,76,161,134,23,245,12,202,34,44,94,78,86,61,233,49,87,203,47,40,206,71,54,2,247,105,222,247,116,98,126,98,76,220,24,157,23,124,231,94,246,95,121,119,85,105,172,178,162,106,187,108,11,225,120,253,30,194,177,182,9,45,50,151,19,158,110,64,120,90,70,152,214,172,203,73,111,32,247,112,84,70,154,182,23,202,73,123,27,144,246,202,72,99,71,160,156,118,180,1,237,168,128,182,246,210,69,92,27,185,197,196,244,157,5,26,76,204,94,92,176,183,85,180,100,154,61,5,83,211,1,2,227,107,102,57,25,63,113,96,149,27,162,31,134,26,17,229,185,133,32,162,191,64,17,148,92,127,45,45,253,41,83,74,78,22,188,248,150,90,233,213,111,21,27,89,28,136,113,97,58,46,218,18,25,218,205,60,237,18,182,214,144,23,221,10,246,6,66,233,59,164,47,51,220,248,192,141,199,224,171,188,12,142,72,118,105,184,81,158,117,142,71,182,18,118,180,216,167,199,32,56,49,232,6,66,207,25,19,171,241,159,223,15,118,26,87,53,19,195,43,235,133,96,143,7,47,102,237,130,64,166,134,105,10,225,17,108,185,228,157,148,210,8,88,50,177,131,7,153,202,224,216,241,188,145,51,190,62,39,144,83,111,219,38,213,138,201,236,85,21,143,152,148,114,43,4,177,20,246,166,162,48,89,104,56,91,229,235,214,248,170,157,229,82,188,164,145,197,166,84,206,152,19,221,167,137,176,189,54,179,126,111,26,152,67,211,90,126,38,139,222,161,229,252,182,105,118,16,116,11,108,22,147,163,35,148,16,253,139,248,84,48,37,11,43,229,214,74,245,199,15,25,115,203,171,195,251,77,173,124,187,9,221,247,171,200,166,207,116,216,115,36,208,254,234,39,62,250,171,7,126,199,206,117,236,75,123,237,153,238,223,227,95,79,96,249,179,248,45,5,187,125,178,173,200,126,155,114,81,65,77,238,168,154,53,198,244,168,176,43,201,109,64,95,89,47,230,126,44,48,168,26,41,130,19,77,140,132,189,129,162,93,157,226,188,28,27,121,179,55,162,51,200,58,60,230,94,3,64,123,179,168,65,91,63,60,195,79,171,162,216,1,194,222,95,166,232,154,62,9,121,204,86,98,246,254,19,73,138,61,209,150,37,172,182,130,193,98,78,240,218,46,46,207,122,111,140,178,38,220,121,163,182,66,182,185,150,147,135,60,128,149,145,172,75,211,97,144,4,23,130,138,189,194,207,245,98,71,206,211,213,97,233,235,184,144,168,129,217,235,106,106,64,19,111,188,130,164,28,146,244,214,249,21,127,140,190,23,131,74,81,215,16,173,132,150,53,6,183,164,162,81,135,6,254,187,123,27,57,97,190,47,77,137,237,155,217,39,67,98,41,150,52,227,98,88,185,42,91,142,183,201,105,2,4,152,74,166,205,166,212,12,140,206,180,7,106,170,45,245,34,76,22,104,43,251,122,191,20,56,101,200,10,175,242,64,17,220,178,221,82,102,227,245,162,225,29,105,241,200,76,84,230,91,230,123,25,244,65,41,224,129,37,181,17,248,227,66,212,65,197,210,143,93,145,186,25,124,158,201,61,138,122,38,95,211,245,57,12,149,207,237,1,87,27,5,223,43,140,115,193,120,224,247,168,92,4,163,244,141,51,147,16,102,128,216,61,94,195,185,41,92,118,175,129,146,81,68,151,59,122,133,8,225,22,34,152,229,175,236,224,208,90,120,140,107,237,73,4,211,181,250,244,200,208,149,77,57,52,21,101,23,162,114,109,227,214,233,43,42,246,222,225,197,179,159,223,190,105,118,210,87,19,235,86,103,111,117,54,101,32,131,173,241,16,61,154,7,124,215,180,41,11,58,178,198,129,247,104,14,240,37,208,166,28,232,200,26,7,163,149,28,52,152,57,104,69,60,102,81,239,77,96,45,181,158,169,27,205,43,37,172,242,183,64,27,242,202,177,139,185,29,11,110,79,126,161,140,10,239,219,107,128,45,171,167,5,75,42,132,161,43,94,169,102,231,169,91,109,224,240,124,134,238,238,204,181,245,67,136,57,58,174,83,49,230,46,8,162,9,127,157,239,118,165,213,108,42,47,68,212,3,15,165,161,199,157,34,134,249,117,2,188,20,195,66,33,6,82,44,56,81,241,236,23,81,61,147,109,9,57,177,237,240,104,136,137,76,123,4,183,143,235,142,81,18,26,233,206,177,196,197,159,191,176,189,179,91,85,233,86,33,8,96,138,47,16,249,229,135,201,15,20,221,80,24,84,242,63,157,73,192,78,99,234,3,57,102,5,179,236,139,157,50,38,149,234,91,33,139,60,31,149,1,27,75,88,15,21,162,40,124,113,166,210,213,181,146,89,225,250,44,1,22,203,79,221,171,69,68,144,38,239,228,243,87,101,48,48,118,248,243,162,76,206,167,12,225,7,16,80,233,99,74,205,233,127,25,28,30,26,31,250,70,215,64,176,81,110,50,108,95,188,135,244,119,153,7,75,240,57,111,248,97,52,232,255,123,2,159,156,135,76,204,100,98,76,33,136,222,109,171,167,128,67,223,42,144,40,152,211,186,60,227,20,65,146,211,125,21,123,4,247,77,41,71,22,100,67,144,113,17,173,96,145,208,151,50,18,57,68,81,150,253,15,67,189,114,159,205,109,203,83,196,204,237,42,243,26,65,244,92,8,35,91,208,107,87,171,34,21,81,123,172,240,178,136,218,246,199,178,136,44,78,202,186,8,191,179,103,59,248,162,142,243,16,146,188,146,83,252,36,116,147,7,13,89,130,219,218,222,51,247,23,237,118,185,230,13,193,131,8,231,238,169,155,188,4,120,208,10,218,181,119,125,211,253,65,180,181,203,251,154,158,249,131,8,171,153,103,47,219,204,46,108,110,23,26,175,118,207,229,197,243,50,27,78,141,179,104,86,161,141,10,235,91,46,255,11,224,15,156,118,40,66,0,0 };